/* Unvessel AI — v1 "Paper & Brackets" additions (2026-10-12, v2: one sentence
   per section, one figure per section). Loads after styles.css. */

/* ---------- header: mono labels, red contact ---------- */
.site-head__mark span {
  font-family: var(--font-sans);
  font-size: var(--text-base);
  font-weight: 500;
  letter-spacing: var(--tracking-tight);
  text-transform: none;
}
.site-head__nav,
.nav-menu summary {
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  letter-spacing: var(--tracking-wide);
  text-transform: uppercase;
}
.site-head__cta { color: var(--accent); font-weight: 400; }
.nav-menu__panel strong { font-family: var(--font-sans); letter-spacing: var(--tracking-tight); text-transform: none; }
.nav-menu__panel span { font-family: var(--font-sans); letter-spacing: 0; text-transform: none; }

/* ---------- eyebrow / figure ---------- */
.eyebrow {
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  letter-spacing: var(--tracking-wide);
  text-transform: uppercase;
  color: var(--ink-soft);
}
.figure { margin: 0; }
.figure img { display: block; width: 100%; height: auto; }
.figure figcaption {
  margin-top: 0.6rem;
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  color: var(--ink-soft);
}

/* ---------- landing (home) ---------- */
.landing {
  min-height: min(calc(100svh - 5.5rem), 42rem);
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 42%);
  gap: var(--space-4);
  align-items: center;
}
.landing h1 {
  font-size: clamp(2rem, 3.4vw, 3rem);
  line-height: var(--leading-tight);
  letter-spacing: var(--tracking-tight);
  font-weight: 500;
  margin: var(--space-2) 0 var(--space-3);
}
.landing__lead {
  max-width: 26rem;
  font-size: var(--text-md);
  line-height: var(--leading-body);
  color: var(--ink-soft);
}
.landing__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2) var(--space-3);
  align-items: center;
  margin-top: var(--space-3);
}
.landing__actions .button { margin-top: 0; }
.landing__actions .textlink { font-family: var(--font-mono); font-size: var(--text-xs); letter-spacing: var(--tracking-wide); text-transform: uppercase; color: var(--ink-soft); text-decoration: none; }
.landing__actions .textlink:hover { color: var(--accent); }

/* ---------- home sections: one figure, one sentence ---------- */
.home-v1 .section h2 {
  font-size: clamp(1.75rem, 2.8vw, 2.5rem);
  font-weight: 500;
  max-width: 22em;
}
.sec-figure {
  width: 66%;
  margin: var(--space-2) 0 var(--space-4) auto; /* renders carry their subject on the right; sit the figure there too */
}
.sec-figure img { max-height: 70vh; object-fit: cover; }
@media (max-width: 860px) { .sec-figure { width: 100%; } }

.split {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
  gap: var(--space-5);
  align-items: center;
}
.split__figure { order: 2; }
.split__body { order: 1; }
.split .section__marker { margin-bottom: var(--space-2); }

/* ---------- plates: top rule + corner mark (cards without boxes) ---------- */
.plates {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(17rem, 1fr));
  gap: var(--space-4);
}
.plates--stack { grid-template-columns: 1fr; gap: var(--space-3); max-width: 30rem; }
.plate {
  position: relative;
  display: block;
  border-top: var(--rule) solid var(--ink);
  padding-top: var(--space-2);
  text-decoration: none;
}
.plate::after,
.module::after,
.tiers > div::after {
  content: "";
  position: absolute;
  right: 0;
  top: calc(var(--rule) * -1);
  width: 1.25rem;
  height: 1.25rem;
  border-top: var(--rule) solid var(--ink);
  border-right: var(--rule) solid var(--ink);
}
.plate .num { font-family: var(--font-mono); font-size: var(--text-xs); color: var(--accent); }
.plate h3 { margin: 0.4rem 0; font-size: var(--text-md); letter-spacing: var(--tracking-tight); line-height: var(--leading-snug); }
.plate p { color: var(--ink-soft); max-width: none; }
.plate .meta {
  margin-top: var(--space-2);
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  letter-spacing: var(--tracking-wide);
  text-transform: uppercase;
  color: var(--ink);
}
a.plate:hover h3 { color: var(--accent); }
.module { position: relative; }

/* ---------- done: outcomes with bracket glyphs ---------- */
.done {
  list-style: none;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
  gap: var(--space-3);
}
.done li { border-top: var(--hair) solid var(--ink); padding-top: var(--space-2); font-size: var(--text-sm); color: var(--ink-soft); }
.done .glyph { display: block; width: 2.4rem; height: 2.4rem; margin-bottom: 0.7rem; }
.done b { display: block; color: var(--ink); font-weight: 600; margin-bottom: 0.3rem; font-size: var(--text-base); }
.done a { text-decoration: none; display: block; }
.done a:hover b { color: var(--accent); }
.done--titles { grid-template-columns: repeat(3, 1fr); gap: var(--space-4) var(--space-3); }
.done--titles li { padding-top: var(--space-3); }
.done--titles .glyph { width: 3rem; height: 3rem; margin-bottom: var(--space-2); }
.done--titles b { font-size: var(--text-md); font-weight: 500; letter-spacing: var(--tracking-tight); margin: 0; }

/* ---------- proof band ---------- */
.proof-band {
  margin-top: var(--space-6);
  padding: var(--space-4) 0;
  border-top: var(--hair) solid var(--ink);
  border-bottom: var(--hair) solid var(--ink);
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
  gap: var(--space-4);
  align-items: center;
}
.proof-band blockquote {
  margin: 0;
  font-size: var(--text-md);
  line-height: 1.35;
  letter-spacing: var(--tracking-tight);
}
.proof-band cite { display: block; margin-top: var(--space-2); font-style: normal; font-family: var(--font-mono); font-size: var(--text-xs); color: var(--ink-soft); }
.proof-band .stats { margin: 0; grid-template-columns: repeat(3, 1fr); gap: var(--space-2); }
.proof-band .stats div { border-top: 0; padding-top: 0; }
.proof-band .stats b { font-family: var(--font-mono); font-weight: 400; color: var(--accent); }
.proof-band--numbers { grid-template-columns: 1fr; padding: var(--space-5) 0; }
.proof-band--numbers .stats b { font-size: clamp(2.6rem, 5vw, 4rem); }
.proof-band--numbers .stats span { font-family: var(--font-mono); font-size: var(--text-xs); letter-spacing: var(--tracking-wide); text-transform: uppercase; max-width: none; }

/* ---------- steps (how we work, how to start) ---------- */
.steps {
  list-style: none;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
  gap: var(--space-3);
  counter-reset: s;
}
.steps li { position: relative; border-top: var(--hair) solid var(--ink); padding-top: var(--space-2); counter-increment: s; }
.steps li::before { content: counter(s, decimal-leading-zero); font-family: var(--font-mono); font-size: var(--text-xs); color: var(--accent); }
.steps h3 { margin: 0.4rem 0; }
.steps p { color: var(--ink-soft); font-size: var(--text-sm); max-width: none; }
.steps__punch { margin-top: var(--space-4); font-size: var(--text-md); font-weight: 600; letter-spacing: var(--tracking-tight); }

/* ---------- tiers (pricing strip) ---------- */
.tiers {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
  gap: var(--space-3);
}
.tiers > div { position: relative; border-top: var(--rule) solid var(--ink); padding-top: var(--space-2); }
.tiers h3 { font-size: var(--text-base); margin-bottom: 0.3rem; }
.tiers b { display: block; font-family: var(--font-mono); font-weight: 400; font-size: var(--text-md); }
.tiers span { display: block; margin-top: 0.3rem; font-size: var(--text-sm); color: var(--ink-soft); }
.tiers__note { margin-top: var(--space-3); color: var(--ink-soft); }

/* ---------- case list (home teaser) ---------- */
.case-list { list-style: none; padding: 0; border-top: var(--hair) solid var(--ink); max-width: 54rem; }
.case-list li { border-bottom: var(--hair) solid var(--hairline); }
.case-list a { display: grid; grid-template-columns: 12rem 1fr; gap: var(--space-2) var(--space-3); padding: 0.9rem 0; text-decoration: none; align-items: baseline; }
.case-list .case__meta { margin: 0; }
.case-list a:hover span:last-child { color: var(--accent); }
@media (max-width: 640px) { .case-list a { grid-template-columns: 1fr; gap: 0.2rem; } }

/* ---------- product page head with a figure ---------- */
.page-head--figure {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 40%);
  gap: var(--space-4);
  align-items: center;
}
.page-head--figure > *:not(.page-head__figure) { grid-column: 1; }
.page-head__figure { grid-column: 2; grid-row: 1 / span 6; margin: 0; }
.page-head--figure h1 { margin-top: var(--space-2); }

/* ---------- stats captions, sitewide: short mono ---------- */
.stats span { font-family: var(--font-mono); font-size: var(--text-xs); letter-spacing: var(--tracking-wide); text-transform: uppercase; }

/* ---------- warm band ---------- */
.band--warm {
  background: var(--paper-warm);
  padding: var(--space-4) var(--space-3);
}

/* ---------- responsive ---------- */
@media (max-width: 860px) {
  .landing, .page-head--figure, .proof-band, .split { grid-template-columns: 1fr; min-height: 0; }
  .page-head__figure { grid-column: 1; grid-row: auto; margin-top: var(--space-3); }
  .landing .figure { order: -1; }
  .split__figure { order: 1; } .split__body { order: 2; }
  .proof-band .stats { grid-template-columns: repeat(auto-fit, minmax(8rem, 1fr)); }
  .done--titles { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 520px) { .done--titles { grid-template-columns: 1fr; } }

/* ---------- inner pages, one sentence per section (v3) ---------- */
.oneliners li { font-size: var(--text-base); color: var(--ink); }
.oneliners b { margin-bottom: 0; font-weight: 500; }
.oneliners a { display: block; margin-top: 0.3rem; font-family: var(--font-mono); font-size: var(--text-xs); letter-spacing: var(--tracking-wide); text-transform: uppercase; color: var(--ink-soft); text-decoration: none; }
.oneliners a:hover { color: var(--accent); }
.module--brief p { font-size: var(--text-sm); color: var(--ink-soft); }
.cards .card p, .method p, .reasons p, .pricing p { font-size: var(--text-sm); }
