/* ============================================================
   Hyertier Media — V2 design system
   Palette: "Navy Spotlight" — deep navy trust base with a single
   warm amber action color, derived from owner gradient references
   (base #040A14, glow core #9C5410, highlight to logo gold #E9B614).
   Typography unchanged per owner: Inter.
   ============================================================ */

:root {
  --bg: #F6F1E9;
  --surface: #FFFCF7;
  --ink: #10141C;
  --ink-inverse: #F4F6F9;
  --muted: #5B6472;
  --line: #DDD5C8;

  /* Navy trust base (from reference backgrounds) */
  --navy-deep: #040A14;
  --navy: #0A1424;
  --navy-soft: #12203A;

  /* Amber action color (single accent, echoes logo gold) */
  --amber: #D8A62F;
  --amber-bright: #F0C55A;
  --amber-deep: #946819;
  --burgundy: #5B1725;
  --ivory: #F6F1E9;

  --accent: var(--navy);          /* emphasis on light surfaces */
  --accent-hover: var(--navy-soft);
  --accent-active: var(--navy-deep);
  --radius: 4px;
  --maxw: 1160px;
  --font: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
  --shadow-soft: 0 1px 2px rgba(10,20,36,.05), 0 8px 24px rgba(10,20,36,.07);
}

* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  font-family: var(--font);
  font-size: 16px;
  line-height: 1.65;
  color: var(--ink);
  background: var(--bg);
  -webkit-font-smoothing: antialiased;
}

img, video { max-width: 100%; display: block; }
a { color: inherit; }
a:focus-visible, button:focus-visible { outline: 2px solid var(--amber); outline-offset: 2px; }

.wrap { max-width: var(--maxw); margin: 0 auto; padding: 0 24px; }

/* ---------- Typography ---------- */
h1, h2, h3, h4 { font-weight: 600; letter-spacing: -0.02em; line-height: 1.15; }
h1 { font-size: clamp(2.1rem, 4.5vw, 3.4rem); }
/* Interior pages use one shared, smaller h1 scale (hero keeps the large one) */
section.block h1 { font-size: clamp(1.9rem, 3.6vw, 2.7rem); }
h2 { font-size: clamp(1.6rem, 3vw, 2.2rem); }
h3 { font-size: 1.18rem; }
.lead { font-size: 1.13rem; color: var(--muted); max-width: 640px; }
.eyebrow {
  font-size: .78rem; font-weight: 700; text-transform: uppercase;
  letter-spacing: .12em; color: var(--muted); margin-bottom: 14px;
}
.muted { color: var(--muted); }

/* ---------- Buttons ----------
   Primary action = amber, everywhere, on light and dark alike.
   One action color site-wide builds a learned "this moves me forward"
   affordance; everything else stays navy/neutral so the amber is scarce. */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  background: linear-gradient(180deg, var(--amber-bright), var(--amber));
  color: #0B0E14;
  border: 1px solid #C87F08;
  border-radius: var(--radius);
  padding: 12px 24px;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
  line-height: 1.25;
  text-align: center;
  transition: transform .18s ease, filter .18s ease, box-shadow .18s ease;
}
.btn:hover { transform: translateY(-1px); filter: brightness(1.05); box-shadow: 0 8px 24px rgba(148,104,25,.24); }
.btn:active { filter: brightness(.95); box-shadow: inset 0 2px 4px rgba(80,45,0,.35); }
.btn[disabled] { opacity: .5; pointer-events: none; }

.btn.secondary {
  background: transparent;
  color: var(--ink);
  border-color: rgba(16,20,28,.35);
}
.btn.secondary:hover { background: rgba(10,20,36,.06); box-shadow: none; }

.btn.on-dark { /* primary stays amber on dark — inherits base style */ }
.btn.secondary.on-dark { background: transparent; color: #fff; border-color: rgba(255,255,255,.65); }
.btn.secondary.on-dark:hover { background: rgba(255,255,255,.12); }

/* ---------- Header ---------- */
header.site {
  position: sticky; top: 0; z-index: 50;
  background: rgba(248,248,248,.92);
  backdrop-filter: blur(8px);
  border-bottom: 1px solid var(--line);
}
.nav {
  display: flex; align-items: center; justify-content: space-between;
  height: 64px;
}
.logo {
  display: inline-flex; align-items: center; min-height: 44px;
  font-weight: 700; font-size: 1.05rem; letter-spacing: -.01em; text-decoration: none;
}
.logo span { color: var(--muted); font-weight: 500; }
nav.primary { display: flex; gap: clamp(12px, 1.45vw, 22px); align-items: center; }
nav.primary a {
  display:flex; align-items:center; justify-content:center;
  min-width:44px; min-height:44px;
  text-decoration:none; font-size:.92rem; color:var(--ink); opacity:.85;
}
nav.primary a:hover { opacity: 1; }
nav.primary .btn { padding: 9px 18px; font-size: .88rem; white-space: nowrap; }
.menu-toggle {
  display: none; width: 44px; min-width: 44px; height: 44px; padding: 0;
  background: none; border: 0; font-size: 1.5rem; line-height: 1; cursor: pointer;
}

@media (max-width: 1080px) {
  nav.primary {
    display: none; position: absolute; top: 64px; left: 0; right: 0;
    background: var(--surface); border-bottom: 1px solid var(--line);
    flex-direction: column; padding: 18px 24px 24px; gap: 10px; align-items: stretch;
    max-height: calc(100vh - 64px); overflow-y: auto;
  }
  nav.primary.open { display: flex; }
  .menu-toggle { display: block; }
  nav.primary a { display: flex; min-height: 44px; align-items: center; }
  nav.primary a.btn { justify-content: center; order: -1; margin-bottom: 4px; }
}

/* ---------- Hero ----------
   Deep navy field with an off-center amber glow (matches owner
   reference gradients). Glow sits behind the headline/CTA zone so
   contrast-driven saliency lands on the action. */
.hero {
  position: relative; overflow: hidden;
  color: #fff;
  background:
    radial-gradient(110% 140% at 80% 0%, rgba(233,149,12,.30) 0%, rgba(156,84,16,.14) 38%, rgba(4,10,20,0) 66%),
    radial-gradient(80% 100% at 8% 100%, rgba(156,84,16,.10) 0%, rgba(4,10,20,0) 55%),
    linear-gradient(172deg, var(--navy) 0%, var(--navy-deep) 78%);
}
.hero video, .hero .hero-fallback, .hero .hero-image {
  position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: cover; opacity: .55;
}
.hero .hero-image { animation: heroDrift 18s ease-in-out infinite alternate; transform: scale(1.03); }
@keyframes heroDrift { from { transform: scale(1.03) translate3d(0,0,0); } to { transform: scale(1.08) translate3d(-1%,.5%,0); } }
.hero .overlay { position: absolute; inset: 0; background:
    radial-gradient(110% 140% at 80% 0%, rgba(233,149,12,.18) 0%, rgba(156,84,16,.08) 38%, rgba(4,10,20,0) 66%),
    linear-gradient(180deg, rgba(4,10,20,.55), rgba(4,10,20,.78)); }
.hero .inner {
  position: relative; z-index: 2;
  /* vertical only — never zero the .wrap side gutters (mobile edge-clip bug) */
  padding-top: clamp(90px, 14vw, 170px);
  padding-bottom: clamp(90px, 14vw, 170px);
  max-width: 760px;
}
.hero .lead { color: rgba(244,246,249,.82); }
.hero .cta-row { display: flex; gap: 14px; margin-top: 32px; flex-wrap: wrap; }

.hero .hero-kicker {
  display: inline-flex; align-items: center; gap: 10px; margin-bottom: 18px;
  color: var(--amber-bright); font-size: .76rem; font-weight: 700;
  letter-spacing: .14em; text-transform: uppercase;
}
.hero .hero-kicker::before { content: ""; width: 42px; height: 1px; background: currentColor; }
.hero-signal {
  position: absolute; right: -3%; top: 4%; width: min(48vw, 690px); height: 92%;
  z-index: 1; opacity: .52; pointer-events: none;
  filter: drop-shadow(0 0 18px rgba(216,166,47,.18));
}
.hero-signal .signal-path { fill: none; stroke: rgba(240,197,90,.62); stroke-width: 1.35; stroke-dasharray: 8 12; animation: signalFlow 13s linear infinite; }
.hero-signal .signal-ring { fill: rgba(16,20,28,.46); stroke: rgba(240,197,90,.72); stroke-width: 1.25; transform-box: fill-box; transform-origin: center; animation: signalPulse 4.8s ease-in-out infinite; }
.hero-signal .signal-ring:nth-of-type(2n) { animation-delay: -2.2s; }
@keyframes signalFlow { to { stroke-dashoffset: -240; } }
@keyframes signalPulse { 0%,100% { opacity:.52; transform:scale(.94); } 50% { opacity:1; transform:scale(1.08); } }

/* ---------- Sections ---------- */
section.block { padding: clamp(64px, 9vw, 110px) 0; }
section.block.alt { background: var(--surface); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.section-head { max-width: 640px; margin-bottom: 44px; }

.grid { display: grid; gap: 22px; }
.grid.cols-3 { grid-template-columns: repeat(3, 1fr); }
.grid.cols-2 { grid-template-columns: repeat(2, 1fr); }
@media (max-width: 880px) { .grid.cols-3, .grid.cols-2 { grid-template-columns: 1fr; } }

.card {
  background: var(--surface); border: 1px solid var(--line); border-radius: 8px;
  padding: 28px; display: flex; flex-direction: column; gap: 10px;
}
.card, .case-card, .lane-panel { transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.card:hover, .case-card:hover, .lane-panel:hover { transform: translateY(-3px); border-color: rgba(148,104,25,.42); box-shadow: 0 18px 40px rgba(10,20,36,.09); }
section.block.alt .card { background: var(--bg); }
.card h3 { margin-bottom: 2px; }
.card .price { font-weight: 600; font-size: .95rem; }
.card .price .was { color: var(--muted); text-decoration: line-through; font-weight: 400; margin-left: 6px; font-size: .85rem; }
.card .foot { margin-top: auto; padding-top: 12px; }
.card a.text-link { font-weight: 600; font-size: .92rem; text-decoration: none; }
.card a.text-link:hover { text-decoration: underline; color: var(--amber-deep); }

ul.checks { list-style: none; display: grid; gap: 8px; }
ul.checks li { padding-left: 26px; position: relative; color: var(--muted); font-size: .95rem; }
ul.checks li::before { content: "—"; position: absolute; left: 0; color: var(--amber-deep); }

/* ---------- Media figure ---------- */
figure.media { border-radius: 8px; overflow: hidden; box-shadow: var(--shadow-soft); }
figure.media img, figure.media video { width: 100%; height: 100%; object-fit: cover; }

/* ---------- Editorial conversion system ---------- */
.skip-link { position: fixed; left: 16px; top: -80px; z-index: 200; background: var(--navy-deep); color:#fff; padding:10px 14px; border-radius:4px; }
.skip-link:focus { top: 12px; }
.editorial-intro { max-width: 760px; }
.editorial-intro p { max-width: 66ch; }
.section-rule { width: 72px; height: 2px; margin: 18px 0 24px; background: linear-gradient(90deg,var(--burgundy),var(--amber)); }
.recognition { position: relative; overflow: hidden; }
.recognition::after { content:""; position:absolute; inset:auto -8% -50% auto; width:420px; height:420px; border-radius:50%; background:radial-gradient(circle,rgba(216,166,47,.12),transparent 68%); pointer-events:none; }

.outcome-track { display:grid; grid-template-columns:repeat(6,1fr); gap:0; margin-top:34px; counter-reset:visibility; }
.outcome-step { position:relative; min-height:138px; padding:22px 18px 20px; border-top:1px solid rgba(148,104,25,.42); border-bottom:1px solid var(--line); background:rgba(255,252,247,.72); }
.outcome-step + .outcome-step { border-left:1px solid var(--line); }
.outcome-step::before { counter-increment:visibility; content:"0" counter(visibility); display:block; color:var(--amber-deep); font-size:.72rem; font-weight:700; letter-spacing:.12em; margin-bottom:18px; }
.outcome-step strong { display:block; font-size:1.02rem; }
.outcome-step span { display:block; color:var(--muted); font-size:.875rem; margin-top:6px; line-height:1.45; }

.lane-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.lane-panel { position:relative; overflow:hidden; min-height:430px; border-radius:12px; color:#fff; background:var(--navy); border:1px solid rgba(216,166,47,.24); box-shadow:var(--shadow-soft); }
.lane-panel img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.38; }
.lane-panel::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(4,10,20,.15),rgba(4,10,20,.94)); }
.lane-panel .lane-copy { position:absolute; z-index:2; left:0; right:0; bottom:0; padding:clamp(24px,4vw,42px); }
.lane-panel .eyebrow { color:var(--amber-bright); }
.lane-panel p { color:rgba(255,255,255,.78); max-width:52ch; margin:12px 0 22px; }
.supporting-path { margin-top:24px; padding:22px 26px; display:flex; justify-content:space-between; align-items:center; gap:24px; border:1px solid var(--line); background:var(--surface); border-radius:8px; }

.service-story { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr); gap:clamp(32px,6vw,78px); align-items:center; }
.service-story.reverse > :first-child { order:2; }
.service-story.reverse > :last-child { order:1; }
.service-story .copy { max-width:66ch; }
.capability-list { display:grid; gap:9px; margin-top:18px; list-style:none; }
.capability-list li { color:var(--muted); padding-left:22px; position:relative; }
.capability-list li::before { content:""; position:absolute; left:0; top:.72em; width:9px; height:1px; background:var(--amber-deep); }

.proof-card, .case-card { overflow:hidden; border-radius:10px; border:1px solid var(--line); background:var(--surface); box-shadow:var(--shadow-soft); }
.case-card { display:grid; grid-template-columns:minmax(280px,.9fr) minmax(0,1.1fr); }
.case-card .case-media { min-height:360px; background:var(--navy); }
.case-card .case-media img { width:100%; height:100%; object-fit:cover; }
.case-card .case-copy { padding:clamp(26px,4vw,46px); align-self:center; }
.case-card .case-label { color:var(--amber-deep); font-size:.72rem; line-height:1.5; letter-spacing:.1em; text-transform:uppercase; font-weight:700; }
.case-card h2, .case-card h3 { margin-top:12px; }
.case-card p { margin-top:14px; color:var(--muted); }
.tag-list { display:flex; flex-wrap:wrap; gap:8px; margin:18px 0 22px; }
.tag { display:inline-flex; padding:6px 9px; border:1px solid var(--line); border-radius:999px; color:var(--muted); font-size:.72rem; line-height:1.2; background:rgba(255,255,255,.55); }

.quick-facts { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; margin-top:28px; border:1px solid var(--line); background:var(--line); }
.quick-fact { padding:18px; background:var(--surface); }
.quick-fact span { display:block; color:var(--muted); font-size:.72rem; text-transform:uppercase; letter-spacing:.09em; }
.quick-fact strong { display:block; margin-top:6px; font-size:.92rem; }
.proof-caption { padding:12px 15px; color:var(--muted); font-size:.78rem; line-height:1.45; background:var(--surface); border-top:1px solid var(--line); }

.process-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:1px; border:1px solid var(--line); background:var(--line); }
.process-step { background:var(--surface); padding:24px 20px; }
.process-step .num { color:var(--amber-deep); font-size:.72rem; font-weight:700; letter-spacing:.11em; }
.process-step h3 { margin-top:14px; }
.process-step p { margin-top:9px; color:var(--muted); font-size:.88rem; }

.founder-module { display:grid; grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr); gap:clamp(34px,7vw,84px); align-items:center; }
.founder-module img { width:100%; aspect-ratio:1/1; object-fit:cover; object-position:50% 35%; border-radius:10px; box-shadow:0 24px 60px rgba(4,10,20,.18); }
.values-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:12px; }
.value { padding:22px 18px; border-top:2px solid var(--amber-deep); background:var(--surface); }
.value p { color:var(--muted); font-size:.86rem; margin-top:8px; }

.route-chooser { background:linear-gradient(135deg,var(--burgundy),var(--navy-deep)); color:#fff; border-radius:12px; padding:clamp(30px,6vw,64px); }
.route-chooser p { color:rgba(255,255,255,.78); max-width:65ch; margin:14px 0 24px; }

.form-shell { max-width:880px; margin:0 auto; background:var(--surface); border:1px solid var(--line); border-radius:12px; box-shadow:var(--shadow-soft); overflow:hidden; }
.form-progress { display:grid; grid-template-columns:repeat(3,1fr); background:var(--navy); color:rgba(255,255,255,.68); }
.form-progress span { padding:14px 16px; border-right:1px solid rgba(255,255,255,.12); font-size:.78rem; text-align:center; }
.form-progress span.active { color:#fff; box-shadow:inset 0 -3px 0 var(--amber); }
.form-body { padding:clamp(24px,5vw,48px); }
.form-step[hidden] { display:none; }
.field-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.field { display:grid; gap:7px; }
.field.full { grid-column:1/-1; }
.field label, .field legend { font-size:.88rem; font-weight:600; }
.field input, .field select, .field textarea { width:100%; min-height:48px; padding:11px 12px; border:1px solid #BEB8AE; border-radius:4px; background:#fff; color:var(--ink); font:inherit; }
.field textarea { min-height:120px; resize:vertical; }
.field input:focus, .field select:focus, .field textarea:focus { outline:2px solid rgba(216,166,47,.55); border-color:var(--amber-deep); }
.form-actions { display:flex; justify-content:space-between; gap:12px; margin-top:26px; }
.form-note { color:var(--muted); font-size:.82rem; margin-top:16px; }
.error-summary { display:none; padding:13px 15px; margin-bottom:20px; border:1px solid #D6A69F; background:#FFF2F0; color:#7D2117; border-radius:4px; }
.error-summary.show { display:block; }

.signal-article { max-width:760px; }
.signal-article .answer { font-size:1.15rem; color:var(--ink); padding:20px 24px; border-left:3px solid var(--amber); background:var(--surface); }
.signal-article h2 { margin-top:44px; }
.signal-article p, .signal-article ul { margin-top:14px; max-width:68ch; }
.signal-article ul { padding-left:22px; color:var(--muted); }
.byline { display:flex; flex-wrap:wrap; gap:8px 18px; color:var(--muted); font-size:.82rem; margin:16px 0 28px; }

[data-reveal] { opacity:0; transform:translateY(18px); transition:opacity .65s ease, transform .65s ease; }
[data-reveal].is-visible { opacity:1; transform:none; }

/* ---------- Dark band (final CTA) ----------
   Glow rises from beneath the CTA button: the brightest point on the
   page is the point of action. */
.band {
  background:
    radial-gradient(85% 130% at 50% 118%, rgba(233,149,12,.26) 0%, rgba(156,84,16,.12) 40%, rgba(4,10,20,0) 66%),
    linear-gradient(180deg, var(--navy), var(--navy-deep));
  color: var(--ink-inverse);
  padding: clamp(64px, 9vw, 100px) 0; text-align: center;
}
.band h2 { margin-bottom: 12px; }
.band p { color: rgba(244,246,249,.75); max-width: 560px; margin: 0 auto 30px; }

/* ---------- Footer ---------- */
footer.site {
  border-top: 1px solid var(--line);
  padding: 48px 0 40px; font-size: .88rem; color: var(--muted);
}
footer.site .cols { display: flex; justify-content: space-between; gap: 32px; flex-wrap: wrap; }
footer.site a { color: var(--muted); text-decoration: none; }
footer.site .cols > div a { display:inline-flex; align-items:center; min-height:44px; }
footer.site a:hover { color: var(--ink); }
footer.site nav { display:flex; gap:12px 20px; flex-wrap:wrap; }
footer.site nav a { display:flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; }
footer.site .legal { margin-top: 20px; font-size: .8rem; }
.motion-toggle {
  min-width: 44px; min-height: 44px; margin-top: 16px; padding: 8px 12px;
  color: var(--muted); background: transparent; border: 1px solid var(--line);
  border-radius: var(--radius); font: inherit; font-size: .875rem; cursor: pointer;
}
.motion-toggle:hover { color: var(--ink); border-color: rgba(16,20,28,.4); }

/* Concierge is a guided fallback, not another service card. */
.concierge-panel {
  position: relative; overflow: hidden; border: 1px solid rgba(233,149,12,.42);
  border-radius: 12px; padding: clamp(28px,5vw,52px);
  color: var(--ink-inverse); background:
    radial-gradient(80% 160% at 100% 0%, rgba(233,149,12,.2), transparent 58%),
    linear-gradient(135deg, var(--navy), var(--navy-deep));
  box-shadow: 0 18px 50px rgba(4,10,20,.16);
}
.concierge-panel .eyebrow { color: var(--amber-bright); }
.concierge-panel p { max-width: 680px; color: rgba(244,246,249,.78); margin: 14px 0 24px; }

/* ---------- Utility ---------- */
.split { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; }
@media (max-width: 880px) { .split { grid-template-columns: 1fr; } }
.spacer-sm { height: 16px; }

/* ---------- Consent banner ---------- */
#hyConsent{position:fixed;bottom:0;left:0;right:0;z-index:90;background:var(--navy-deep);color:#E8EBF2;font-size:.85rem;padding:14px 20px;border-top:1px solid rgba(233,149,12,.25)}
#hyConsent .hyc-inner{max-width:1160px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap}
#hyConsent a{color:#fff}
#hyConsent .hyc-btns{display:flex;gap:10px}
#hyConsent button{min-height:44px;border-radius:4px;padding:10px 20px;font-size:.875rem;font-weight:600;cursor:pointer;border:1px solid var(--amber);background:linear-gradient(180deg,#F2A61B,#E9950C);color:#0B0E14}
#hyConsent button#hycDecline{background:transparent;color:#fff;border-color:rgba(255,255,255,.6)}
/* Prevent two simultaneous lower-screen overlays on first visit. The SMS/chat
   path appears immediately after the analytics choice is made. */
body:has(#hyConsent) chat-widget, #hyConsent ~ chat-widget { visibility:hidden !important; }
body.focused-form chat-widget { visibility:hidden !important; }
body.footer-in-view chat-widget { visibility:hidden !important; pointer-events:none !important; }

/* Nav CTA button: amber with dark text (overrides nav link color) */
nav.primary a.btn { color: #0B0E14; opacity: 1; }
nav.primary a.btn:hover { color: #0B0E14; }

/* ---------- Mobile polish: more breathing room on small screens ---------- */
@media (max-width: 480px) {
  .wrap { padding: 0 20px; }
  /* Hero CTAs: equal full-width buttons; price suffix hidden (price still
     shown in the promo bar and body copy) so the primary never wraps. */
  .cta-suffix { display: none; }
  .hero .cta-row { flex-direction: column; align-items: stretch; }
  .hero .cta-row .btn { width: 100%; text-align: center; }
  #hyConsent { padding: 16px 26px; }
  .hero .inner { padding-top: 72px; padding-bottom: 72px; }
}

@media (max-width: 1080px) {
  .outcome-track { grid-template-columns:repeat(3,1fr); }
  .outcome-step:nth-child(3n+1) { border-left:0; }
  .lane-grid, .service-story, .founder-module, .case-card { grid-template-columns:1fr; }
  .service-story.reverse > :first-child, .service-story.reverse > :last-child { order:initial; }
  .case-card .case-media { min-height:280px; max-height:520px; }
  .quick-facts { grid-template-columns:repeat(2,1fr); }
  .process-grid { grid-template-columns:1fr 1fr; }
  .values-grid { grid-template-columns:1fr 1fr; }
  .hero-signal { width:72vw; right:-24%; opacity:.34; }
}

@media (max-width: 640px) {
  .outcome-track { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .outcome-step { padding:20px 16px 18px; }
  .outcome-step:nth-child(3n+1) { border-left:1px solid var(--line); }
  .outcome-step:nth-child(odd) { border-left:0; }
  .outcome-step span { font-size:.875rem; }
  .process-grid, .values-grid, .field-grid { grid-template-columns:1fr; }
  .quick-facts { grid-template-columns:1fr; }
  .supporting-path { align-items:flex-start; flex-direction:column; }
  .form-actions { flex-direction:column-reverse; }
  .form-actions .btn { width:100%; }
  .hero-signal { display:none; }
}

@media (max-width: 359px) {
  .outcome-track { grid-template-columns:1fr; }
  .outcome-step + .outcome-step { border-left:0; }
}

html[data-motion="reduced"] { scroll-behavior: auto; }
html[data-motion="reduced"] *,
html[data-motion="reduced"] *::before,
html[data-motion="reduced"] *::after {
  animation-duration: .001ms !important;
  animation-iteration-count: 1 !important;
  transition-duration: .001ms !important;
}
html[data-motion="reduced"] [data-reveal] { opacity:1 !important; transform:none !important; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .hero .hero-image { animation: none; transform: none; }
}

/* ---------- V2 launch composition ---------- */
.promo-bar {
  position: relative; z-index: 60; min-height: 38px; padding: 8px 18px;
  display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 8px;
  background: var(--navy-deep); color: rgba(255,255,255,.84);
  border-bottom: 1px solid rgba(216,166,47,.32); font-size: .76rem; line-height: 1.35;
  letter-spacing: .01em; text-align: center;
}
.promo-bar .promo-lead, .promo-bar strong { color: var(--amber-bright); }
.promo-bar s { opacity: .58; margin-left: 3px; }
.promo-bar .sep { opacity: .42; margin: 0 4px; }
.promo-bar a {
  display:inline-flex; align-items:center; min-height:24px;
  color: #fff; text-underline-offset: 3px;
}
.promo-bar #cd { white-space: nowrap; }

.logo img { height: 42px; width: auto; }
.body-spaced { margin-top: 18px; }
.cta-row { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 26px; }
.cta-row.center { justify-content: center; }
.text-link { color: inherit; font-weight: 600; text-underline-offset: 4px; }
.visual-disclosure, .pre-form-notice {
  color: var(--muted); font-size: .82rem; line-height: 1.55;
}
.visual-disclosure { margin-top: 22px; }
.pre-form-notice {
  max-width: 880px; margin: 0 auto 18px; padding: 14px 16px;
  border: 1px solid rgba(148,104,25,.36); border-radius: 5px; background: #FFF9EA;
}
.form-status {
  position: relative; z-index: 4; max-width: 1180px; margin: 18px auto 0; padding: 15px 18px;
  border: 1px solid var(--line); border-left-width: 4px; border-radius: 5px;
  background: var(--surface); color: var(--ink); box-shadow: var(--shadow-soft);
}
.form-status.success { border-left-color: #2f7350; background: #f3faf6; }
.form-status.error { border-left-color: var(--burgundy); background: #fff5f5; }
.honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }

.case-stack { display: grid; gap: 28px; }
.case-stack .case-card + .case-card { margin-top: 0; }
.case-card .btn { margin-top: 6px; align-self: flex-start; }
.case-card .case-media img { min-height: 100%; }

.decision-grid, .decision-compare { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 20px; }
.decision-card {
  position: relative; display: flex; flex-direction: column; gap: 13px;
  min-width: 0; padding: clamp(24px,4vw,38px); border: 1px solid var(--line);
  border-radius: 10px; background: var(--surface); box-shadow: var(--shadow-soft);
}
.decision-card::before { content: ""; position: absolute; inset: 0 0 auto; height: 3px; border-radius: 10px 10px 0 0; background: var(--amber); }
.decision-card p { color: var(--muted); }
.decision-card .btn { align-self: flex-start; margin-top: auto; }
.decision-card .decision-price { color: var(--ink); font-size: clamp(1.45rem,3vw,2.15rem); font-weight: 700; letter-spacing: -.04em; line-height: 1.1; }
.decision-card .decision-price s { display: block; margin-top: 7px; color: var(--muted); font-size: .72rem; font-weight: 500; letter-spacing: 0; }
.decision-card.call { border-color: rgba(148,104,25,.48); background: linear-gradient(160deg,#FFFDF7,#F5EBD6); }
.decision-card.sprint { color: #fff; border-color: rgba(216,166,47,.45); background: linear-gradient(145deg,var(--navy-soft),var(--navy-deep)); }
.decision-card.sprint p { color: rgba(255,255,255,.76); }
.decision-card.sprint .decision-price { color: #fff; }
.decision-card.sprint .decision-price s { color: rgba(255,255,255,.58); }
.decision-card.sprint .case-label { color: var(--amber-bright); }
.decision-card.compact { min-height: 300px; }

.numbered-list { list-style: none; counter-reset: path; display: grid; gap: 14px; margin-top: 24px; }
.numbered-list li { counter-increment: path; position: relative; padding: 14px 16px 14px 52px; border-top: 1px solid var(--line); color: var(--muted); }
.numbered-list li::before { content: "0" counter(path); position: absolute; left: 8px; top: 14px; color: var(--amber-deep); font-size: .72rem; font-weight: 700; letter-spacing: .1em; }

.operating-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1px; border: 1px solid var(--line); background: var(--line); }
.operating-card { min-width: 0; padding: clamp(22px,3vw,32px); background: var(--surface); }
.operating-card > span { display: block; color: var(--amber-deep); font-size: .72rem; font-weight: 700; letter-spacing: .12em; }
.operating-card h3 { margin-top: 28px; }
.operating-card p { margin-top: 10px; color: var(--muted); font-size: .9rem; }
.service-contracts { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.service-contract {
  position: relative; min-width: 0; padding: 26px; border: 1px solid var(--line);
  border-radius: 8px; background: var(--surface); box-shadow: var(--shadow-soft);
}
.service-contract h3 { margin: 12px 0 18px; }
.service-contract p { color: var(--muted); font-size: .88rem; margin-top: 11px; }
.service-contract p strong { color: var(--ink); }
.service-contract .text-link { display: inline-flex; min-height:44px; align-items:center; margin-top:20px; }
.service-contract.call { border-top: 3px solid var(--amber); background: linear-gradient(160deg,#FFFDF7,#F5EBD6); }
.service-contract.sprint { color: #fff; border-color: rgba(216,166,47,.45); background: linear-gradient(145deg,var(--navy-soft),var(--navy-deep)); }
.service-contract.sprint p { color: rgba(255,255,255,.72); }
.service-contract.sprint p strong, .service-contract.sprint .text-link { color: #fff; }
.service-contract.sprint .case-label { color: var(--amber-bright); }
.boundary-note { margin-top: 22px; padding: 18px 20px; border-left: 3px solid var(--burgundy); background: rgba(91,23,37,.06); color: var(--muted); }
.boundary-note strong { color: var(--ink); }

.proof-gallery { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; align-items: start; }
.proof-gallery .proof-card img { width: 100%; aspect-ratio: 16/10; object-fit: cover; }
.proof-gallery .proof-card:nth-child(3):last-child { grid-column: 1/-1; max-width: 680px; justify-self: center; }

.article-hero { padding-top: clamp(70px,10vw,120px); }
.article-hero h1, .legal-page h1 { font-size: clamp(2.25rem,5vw,4.1rem); max-width: 15ch; }
.legal-page h2 { font-size: clamp(1.3rem,2.2vw,1.7rem); }
.legal-page p, .legal-page ul { color: var(--muted); }
.legal-page a { text-underline-offset: 3px; }

@media (max-width: 820px) {
  .promo-bar .dash, .promo-bar .mid, .promo-bar #cd { display: none; }
  .promo-bar { padding-left: 12px; padding-right: 12px; }
  .decision-grid, .decision-compare, .proof-gallery { grid-template-columns: 1fr; }
  .operating-grid, .service-contracts { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .proof-gallery .proof-card:nth-child(3):last-child { grid-column: auto; max-width: none; }
  .decision-card.compact { min-height: 0; }
}

@media (max-width: 480px) {
  .promo-bar { align-items: flex-start; gap: 4px 7px; font-size: .7rem; }
  .promo-bar .promo-lead { width: 100%; }
  .promo-bar .promo-cta { display: none; }
  .promo-bar .offer { white-space: nowrap; }
  .cta-row .btn { width: 100%; }
  .article-hero h1, .legal-page h1 { max-width: none; }
  .operating-grid, .service-contracts { grid-template-columns: 1fr; }
}

/* ---- V2.0 (2026-08-13): library figures, captions, FAQ accordions, testimonials ---- */
figure.media.lib { position: relative; }
figure.media.lib img { height: auto; }
figure.media.lib .img-label {
  position: absolute; top: 10px; left: 10px; z-index: 2;
  font-size: .66rem; letter-spacing: .09em; text-transform: uppercase; font-weight: 600;
  background: rgba(10,20,36,.72); color: #fff; padding: 4px 10px; border-radius: 3px;
}
figure.media.lib figcaption.fig-note {
  font-size: .78rem; color: var(--muted); padding: 10px 14px;
  background: var(--surface); border-top: 1px solid var(--line); line-height: 1.5;
}
section.block.alt figure.media.lib figcaption.fig-note { background: var(--bg); }
figure.contained-vertical { margin: 0 auto; }

.faq .faq-list details { border: 1px solid var(--line); border-radius: 6px; background: var(--surface); margin-bottom: 10px; }
section.block.alt .faq .faq-list details, section.block.alt.faq .faq-list details { background: var(--bg); }
.faq .faq-list summary { cursor: pointer; font-weight: 600; padding: 16px 44px 16px 18px; list-style: none; position: relative; }
.faq .faq-list summary::-webkit-details-marker { display: none; }
.faq .faq-list summary::after { content: "+"; position: absolute; right: 18px; top: 50%; transform: translateY(-50%); color: var(--amber-deep); font-weight: 700; font-size: 1.15rem; }
.faq .faq-list details[open] summary::after { content: "\2013"; }
.faq .faq-list details p { padding: 0 18px 16px; color: var(--muted); font-size: .95rem; line-height: 1.65; }

blockquote.testimonial { border-left: 3px solid var(--amber-deep); padding: 6px 0 6px 18px; margin: 18px 0; }
blockquote.testimonial p { font-size: 1.02rem; line-height: 1.6; }
blockquote.testimonial footer { margin-top: 10px; font-size: .9rem; color: var(--muted); }

/* ---- V2.3 cinematic flagship layer ---- */
.hero .hero-image { object-position: var(--hero-focus, 50% 50%); }
.hero .hero-image.motion-art { animation: none; transform: scale(1.012); }
.hero-chroma { position: absolute; inset: 0; z-index: 1; pointer-events: none; overflow: hidden; mix-blend-mode: screen; opacity: .44; }
.hero-chroma span { position: absolute; display: block; background: linear-gradient(180deg, transparent, rgba(240,197,90,.52), transparent); filter: blur(.2px); }
.hero-chroma span:nth-child(1) { width: 1px; height: 48%; right: 18%; top: -12%; animation: chromaDrop 8s ease-in-out infinite; }
.hero-chroma span:nth-child(2) { width: 34%; height: 1px; right: -8%; top: 31%; animation: chromaSweep 11s ease-in-out infinite -3s; }
.hero-chroma span:nth-child(3) { width: 1px; height: 34%; right: 38%; bottom: -8%; animation: chromaDrop 10s ease-in-out infinite reverse -2s; opacity: .52; }
@keyframes chromaDrop { 0%,100% { transform: translateY(-10%); opacity:.18; } 50% { transform: translateY(72%); opacity:.76; } }
@keyframes chromaSweep { 0%,100% { transform: translateX(12%); opacity:.12; } 50% { transform: translateX(-58%); opacity:.72; } }

/* A connected outcome map replaces the repeated numbered-box pattern. */
.visibility-map {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(250px,.82fr) minmax(0,1fr);
  grid-template-areas: "found core understood" "trusted core chosen" "remembered core measured";
  gap: 14px 22px; margin-top: 48px; align-items: stretch;
}
.signal-core {
  grid-area: core; position: relative; min-height: 410px; display: grid; place-items: center;
  overflow: hidden; color: #fff; border: 1px solid rgba(216,166,47,.44); border-radius: 999px;
  background: radial-gradient(circle at 50% 44%, rgba(216,166,47,.30), transparent 24%), linear-gradient(160deg,var(--navy-soft),var(--navy-deep));
  box-shadow: 0 22px 60px rgba(4,10,20,.18);
}
.signal-core strong { position: relative; z-index: 3; text-align: center; font-size: .78rem; line-height: 1.55; letter-spacing: .16em; }
.signal-core .orbit { position: absolute; border: 1px solid rgba(240,197,90,.30); border-radius: 50%; animation: orbitBreath 6s ease-in-out infinite; }
.signal-core .orbit-one { width: 42%; aspect-ratio: 1; }
.signal-core .orbit-two { width: 68%; aspect-ratio: 1; animation-delay: -2s; }
.signal-core .orbit-three { width: 92%; aspect-ratio: 1; animation-delay: -4s; }
.signal-core i { position: absolute; width: 8px; height: 8px; border-radius: 50%; background: var(--amber-bright); box-shadow: 0 0 24px rgba(240,197,90,.9); animation: corePulse 3s ease-in-out infinite; }
@keyframes orbitBreath { 0%,100% { transform: scale(.94); opacity:.35; } 50% { transform: scale(1.03); opacity:.9; } }
@keyframes corePulse { 0%,100% { transform:scale(.72); opacity:.45; } 50% { transform:scale(1.25); opacity:1; } }
.signal-point { position: relative; padding: 20px 20px 20px 62px; border-top: 1px solid rgba(148,104,25,.35); background: rgba(255,252,247,.58); }
.signal-point::before { content:""; position:absolute; left:26px; top:26px; width:14px; height:14px; border:1px solid var(--amber-deep); border-radius:50%; box-shadow:0 0 0 6px rgba(216,166,47,.08); }
.signal-point::after { content:""; position:absolute; left:40px; top:33px; width:22px; height:1px; background:linear-gradient(90deg,var(--amber-deep),transparent); }
.signal-point h3 { font-size:1rem; margin-top:4px; }
.signal-point p { margin-top:7px; color:var(--muted); font-size:.84rem; line-height:1.48; }
.signal-glyph { color:var(--amber-deep); font-size:.64rem; font-weight:700; letter-spacing:.13em; }
.point-found { grid-area: found; } .point-understood { grid-area: understood; }
.point-trusted { grid-area: trusted; } .point-chosen { grid-area: chosen; }
.point-remembered { grid-area: remembered; } .point-measured { grid-area: measured; }

.compound-stage { display:grid; grid-template-columns:minmax(280px,.78fr) minmax(0,1.22fr); overflow:hidden; border:1px solid rgba(216,166,47,.34); border-radius:14px; color:#fff; background:var(--navy-deep); box-shadow:0 26px 70px rgba(4,10,20,.18); }
.compound-visual { position:relative; min-height:520px; display:grid; place-items:center; overflow:hidden; background:radial-gradient(circle at center,rgba(216,166,47,.25),transparent 24%),linear-gradient(145deg,var(--burgundy),var(--navy-deep) 68%); }
.system-grid { position:absolute; inset:0; opacity:.2; background-image:linear-gradient(rgba(240,197,90,.25) 1px,transparent 1px),linear-gradient(90deg,rgba(240,197,90,.25) 1px,transparent 1px); background-size:54px 54px; transform:perspective(500px) rotateX(58deg) scale(1.45); transform-origin:50% 78%; }
.system-beam { position:absolute; width:62%; aspect-ratio:1; border:1px solid rgba(240,197,90,.42); border-radius:50%; animation:systemBeam 7s ease-in-out infinite; }
.system-beam::before,.system-beam::after { content:""; position:absolute; inset:14%; border:1px solid rgba(240,197,90,.22); border-radius:50%; }
.system-beam::after { inset:31%; background:radial-gradient(circle,rgba(240,197,90,.28),transparent 65%); }
@keyframes systemBeam { 0%,100% { transform:rotate(-8deg) scale(.94); opacity:.45; } 50% { transform:rotate(8deg) scale(1.06); opacity:1; } }
.system-core { position:relative; z-index:2; display:grid; gap:8px; text-align:center; }
.system-core span { font-size:clamp(.72rem,1.2vw,.9rem); font-weight:700; letter-spacing:.17em; color:rgba(255,255,255,.88); }
.system-core span:nth-child(2),.system-core span:nth-child(3) { color:var(--amber-bright); }
.compound-pillars { display:grid; grid-template-columns:1fr 1fr; align-content:stretch; background:rgba(255,255,255,.06); }
.compound-pillar { padding:clamp(26px,4vw,42px); border-left:1px solid rgba(255,255,255,.10); border-bottom:1px solid rgba(255,255,255,.10); }
.compound-pillar h3 { margin-top:12px; }
.compound-pillar p { margin-top:12px; color:rgba(255,255,255,.68); font-size:.88rem; }
.pillar-kicker,.access-label,.stage-label { color:var(--amber-bright); font-size:.65rem; font-weight:700; letter-spacing:.14em; }

.system-path { position:relative; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; padding-top:28px; }
.system-path::before { content:""; position:absolute; left:7%; right:7%; top:38px; height:1px; background:linear-gradient(90deg,transparent,var(--amber-deep) 12%,var(--amber-deep) 88%,transparent); }
.path-node { position:relative; z-index:1; min-height:260px; padding:54px 20px 24px; border:1px solid var(--line); border-radius:10px; background:rgba(255,252,247,.76); }
.path-node::before { content:""; position:absolute; left:20px; top:2px; width:18px; height:18px; transform:translateY(-50%); border-radius:50%; border:2px solid var(--amber-deep); background:var(--surface); box-shadow:0 0 0 7px rgba(216,166,47,.10); }
.path-node span { color:var(--amber-deep); font-size:.64rem; font-weight:700; letter-spacing:.14em; }
.path-node h3 { margin-top:14px; }
.path-node p { margin-top:10px; color:var(--muted); font-size:.84rem; }
.path-node.feature { color:#fff; border-color:rgba(216,166,47,.5); background:linear-gradient(155deg,var(--navy-soft),var(--navy-deep)); transform:translateY(-14px); box-shadow:0 18px 40px rgba(4,10,20,.15); }
.path-node.feature p { color:rgba(255,255,255,.7); }
.path-node.feature span { color:var(--amber-bright); }

.delivery-matrix { display:grid; grid-template-columns:1fr 1fr; border:1px solid var(--line); border-radius:12px; overflow:hidden; background:var(--line); gap:1px; }
.delivery-matrix article { display:grid; grid-template-columns:58px 1fr; gap:20px; padding:clamp(24px,4vw,38px); background:var(--surface); }
.delivery-matrix p { margin-top:9px; color:var(--muted); font-size:.88rem; }
.matrix-signal { position:relative; width:52px; height:52px; border:1px solid rgba(148,104,25,.45); border-radius:12px; background:linear-gradient(145deg,#FFF9EA,#F2E3BF); }
.matrix-signal::before,.matrix-signal::after { content:""; position:absolute; }
.matrix-signal::before { inset:12px; border:1px solid var(--amber-deep); border-radius:50%; }
.matrix-signal::after { left:25px; top:7px; bottom:7px; width:1px; background:var(--burgundy); transform:rotate(45deg); }
.matrix-signal.architecture::before { border-radius:3px; transform:rotate(45deg); }
.matrix-signal.implementation::after { left:9px; right:9px; top:25px; bottom:auto; width:auto; height:1px; transform:none; }
.matrix-signal.handoff::before { border-style:dashed; }

.access-stage { display:grid; grid-template-columns:minmax(0,1fr) 120px minmax(0,1fr); border:1px solid var(--line); border-radius:14px; overflow:hidden; background:var(--surface); box-shadow:var(--shadow-soft); }
.access-lane { padding:clamp(28px,4vw,46px); }
.access-lane h3 { margin:14px 0 24px; }
.access-lane.qualified { color:#fff; background:linear-gradient(150deg,var(--navy-soft),var(--navy-deep)); }
.access-lane.qualified .access-label { color:var(--amber-bright); }
.access-options { display:grid; gap:12px; }
.access-options p { padding:14px 0; border-top:1px solid var(--line); color:var(--muted); font-size:.87rem; }
.access-lane.qualified .access-options p { border-color:rgba(255,255,255,.13); color:rgba(255,255,255,.7); }
.access-options strong { color:inherit; }
.access-axis { display:flex; flex-direction:column; justify-content:center; align-items:center; gap:14px; background:linear-gradient(180deg,#F8E9C8,#E0B44D); color:var(--navy-deep); }
.access-axis span { writing-mode:vertical-rl; font-size:.57rem; font-weight:700; letter-spacing:.12em; }
.access-axis i { position:relative; width:1px; height:78px; background:var(--navy-deep); }
.access-axis i::after { content:""; position:absolute; bottom:-1px; left:-4px; width:8px; height:8px; border-right:1px solid var(--navy-deep); border-bottom:1px solid var(--navy-deep); transform:rotate(45deg); }
.concierge-bridge { grid-column:1/-1; display:grid; grid-template-columns:auto auto minmax(0,1fr); gap:22px; align-items:center; padding:22px 26px; color:#fff; background:linear-gradient(90deg,var(--burgundy),var(--navy-deep)); }
.concierge-bridge > span { color:var(--amber-bright); font-size:.64rem; font-weight:700; letter-spacing:.14em; }
.concierge-bridge .btn { grid-column:2; grid-row:1; }
.concierge-bridge p { grid-column:3; grid-row:1; color:rgba(255,255,255,.72); font-size:.86rem; }

.production-reel { position:relative; display:grid; grid-template-columns:.9fr .9fr 1.18fr .9fr .9fr; gap:10px; align-items:stretch; }
.production-reel::before { content:""; position:absolute; left:5%; right:5%; top:64px; height:1px; background:linear-gradient(90deg,transparent,var(--amber-deep),transparent); }
.reel-stage { position:relative; z-index:1; min-width:0; padding:24px 19px 28px; border:1px solid var(--line); border-radius:10px; background:var(--surface); }
.reel-stage:nth-child(3) { color:#fff; border-color:rgba(216,166,47,.46); background:linear-gradient(150deg,var(--burgundy),var(--navy-deep)); transform:translateY(-10px); box-shadow:0 18px 40px rgba(4,10,20,.16); }
.reel-stage:nth-child(3) p { color:rgba(255,255,255,.7); }
.reel-mark { display:block; width:18px; height:18px; margin:20px 0 24px; border:2px solid var(--amber-deep); border-radius:50%; background:var(--surface); box-shadow:0 0 0 7px rgba(216,166,47,.1); }
.reel-stage:nth-child(3) .reel-mark { background:var(--amber-bright); box-shadow:0 0 22px rgba(240,197,90,.5); }
.reel-stage p { margin-top:10px; color:var(--muted); font-size:.82rem; }

.routing-lens { display:grid; grid-template-columns:minmax(280px,.78fr) minmax(0,1.22fr); overflow:hidden; border:1px solid var(--line); border-radius:14px; box-shadow:var(--shadow-soft); }
.routing-statement { position:relative; padding:clamp(34px,5vw,58px); color:#fff; background:radial-gradient(circle at 80% 12%,rgba(216,166,47,.24),transparent 28%),linear-gradient(150deg,var(--burgundy),var(--navy-deep)); }
.routing-statement h3 { margin-top:22px; font-size:clamp(1.65rem,3vw,2.55rem); }
.routing-statement p { margin-top:22px; color:rgba(255,255,255,.7); }
.routing-signals { background:var(--surface); }
.routing-signals article { display:grid; grid-template-columns:92px 1fr; gap:22px; padding:24px 28px; border-bottom:1px solid var(--line); }
.routing-signals article:last-child { border-bottom:0; }
.routing-signals article > span { padding-top:4px; color:var(--amber-deep); font-size:.61rem; font-weight:700; letter-spacing:.12em; }
.routing-signals p { margin-top:7px; color:var(--muted); font-size:.85rem; }

.proof-wall { overflow:hidden; padding:clamp(58px,8vw,96px) 0; color:#fff; background:radial-gradient(circle at 78% 0%,rgba(216,166,47,.17),transparent 27%),linear-gradient(150deg,var(--navy),var(--navy-deep)); }
.proof-wall-head { display:flex; justify-content:space-between; gap:40px; align-items:end; margin-bottom:34px; }
.proof-wall-head .eyebrow { color:var(--amber-bright); }
.proof-wall-head p { max-width:390px; color:rgba(255,255,255,.68); }
.proof-ticker { display:flex; gap:16px; width:100%; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; padding:0 max(24px,calc((100vw - var(--maxw))/2 + 24px)) 10px; }
.proof-ticker::-webkit-scrollbar { display:none; }
.proof-frame { position:relative; flex:0 0 clamp(340px,44vw,620px); aspect-ratio:16/10; overflow:hidden; border:1px solid rgba(240,197,90,.24); border-radius:10px; scroll-snap-align:center; background:#090E18; }
.proof-frame.portrait { flex-basis:clamp(230px,28vw,360px); aspect-ratio:4/5; }
.proof-frame img { width:100%; height:100%; object-fit:cover; object-position:50% 14%; transition:transform .6s cubic-bezier(.2,.8,.2,1),filter .4s ease; }
.proof-frame.system-proof img { object-fit:contain; object-position:center; background:#fff; }
.proof-frame::after { content:""; position:absolute; inset:48% 0 0; background:linear-gradient(transparent,rgba(4,10,20,.9)); }
.proof-frame > span { position:absolute; z-index:2; left:20px; right:20px; bottom:18px; color:#fff; font-size:.67rem; font-weight:700; letter-spacing:.12em; }
.proof-frame:hover img { transform:scale(1.035); filter:saturate(1.08); }
.case-card#studio .case-media img { object-position:50% 16%; }

@media (max-width: 980px) {
  .visibility-map { grid-template-columns:1fr 1fr; grid-template-areas:"core core" "found understood" "trusted chosen" "remembered measured"; }
  .signal-core { min-height:300px; border-radius:150px; }
  .compound-stage,.routing-lens { grid-template-columns:1fr; }
  .compound-visual { min-height:360px; }
  .system-path,.production-reel { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .system-path::before,.production-reel::before { display:none; }
  .path-node.feature,.reel-stage:nth-child(3) { transform:none; }
  .access-stage { grid-template-columns:1fr; }
  .access-axis { min-height:72px; flex-direction:row; }
  .access-axis span { writing-mode:horizontal-tb; }
  .access-axis i { width:80px; height:1px; }
  .access-axis i::after { right:-1px; left:auto; bottom:-4px; }
  .concierge-bridge { grid-template-columns:1fr; }
  .concierge-bridge .btn,.concierge-bridge p { grid-column:auto; grid-row:auto; }
}

@media (max-width: 640px) {
  body[data-route="/studio"] .hero-image { object-position:70% 8%; }
  body[data-route="/work"] .hero-image { object-position:54% 10%; }
  .visibility-map { grid-template-columns:1fr; grid-template-areas:"core" "found" "understood" "trusted" "chosen" "remembered" "measured"; }
  .signal-core { min-height:250px; }
  .signal-point { padding-left:58px; }
  .compound-pillars,.delivery-matrix,.system-path,.production-reel { grid-template-columns:1fr; }
  .compound-visual { min-height:300px; }
  .delivery-matrix article { grid-template-columns:48px 1fr; gap:15px; }
  .matrix-signal { width:44px; height:44px; }
  .routing-signals article { grid-template-columns:1fr; gap:6px; }
  .proof-wall-head { display:block; }
  .proof-wall-head p { margin-top:14px; }
  .proof-frame { flex-basis:82vw; }
  .proof-frame.portrait { flex-basis:68vw; }
}

html[data-motion="reduced"] .hero-chroma,
html[data-motion="reduced"] .signal-core .orbit,
html[data-motion="reduced"] .signal-core i,
html[data-motion="reduced"] .system-beam { animation:none !important; }
html[data-motion="reduced"] .hero-chroma { opacity:.16; }
@media (prefers-reduced-motion: reduce) {
  .hero-chroma,.signal-core .orbit,.signal-core i,.system-beam { animation:none !important; }
  .proof-frame img { transition:none; }
}

/* ============================================================
   Signature experience layer — cinematic chapters, outcome routing,
   Studio aperture, and evidence dossiers.
   ============================================================ */

/* The chapter rail gives the six-second home film narrative structure without
   adding visible controls or inaccessible autoplay audio. */
.hero-chapters {
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;
  width:min(760px,calc(100vw - 48px));
  margin-top:42px;
}
.hero-chapters span {
  border-top:1px solid rgba(255,255,255,.28);
  padding-top:10px;
  color:rgba(255,255,255,.52);
  font-size:.66rem;
  font-weight:700;
  letter-spacing:.13em;
  text-transform:uppercase;
  animation:chapterSignal 6s linear infinite;
}
.hero-chapters span:nth-child(1) { animation-delay:0s; }
.hero-chapters span:nth-child(2) { animation-delay:-4.8s; }
.hero-chapters span:nth-child(3) { animation-delay:-3.6s; }
.hero-chapters span:nth-child(4) { animation-delay:-2.4s; }
.hero-chapters span:nth-child(5) { animation-delay:-1.2s; }
@keyframes chapterSignal {
  0%,18% { color:var(--amber-bright); border-color:var(--amber-bright); text-shadow:0 0 18px rgba(240,197,90,.34); }
  21%,100% { color:rgba(255,255,255,.52); border-color:rgba(255,255,255,.28); text-shadow:none; }
}

/* Outcome-first routing. The generated artwork is decorative; every decision
   and destination remains explicit in the static HTML. */
.decision-director-section {
  background:
    radial-gradient(circle at 85% 0,rgba(216,166,47,.13),transparent 34%),
    linear-gradient(145deg,#F6F1E9,#EEE4D6);
}
.decision-director {
  overflow:hidden;
  color:var(--ink-inverse);
  border:1px solid rgba(216,166,47,.42);
  border-radius:12px;
  background:var(--navy-deep);
  box-shadow:0 34px 90px rgba(4,10,20,.22);
}
.director-heading {
  max-width:880px;
  padding:clamp(34px,5vw,58px) clamp(26px,5vw,58px) 36px;
}
.director-heading .eyebrow { color:var(--amber-bright); }
.director-heading p { max-width:720px; margin-top:16px; color:rgba(244,246,249,.7); }
.director-interface {
  display:grid;
  grid-template-columns:minmax(280px,34%) 1fr;
  min-height:540px;
  border-top:1px solid rgba(255,255,255,.12);
}
.director-tabs {
  display:flex;
  flex-direction:column;
  background:rgba(4,10,20,.92);
  border-right:1px solid rgba(255,255,255,.12);
}
.director-tabs button {
  position:relative;
  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  gap:16px;
  min-height:86px;
  padding:18px 24px;
  border:0;
  border-bottom:1px solid rgba(255,255,255,.09);
  background:transparent;
  color:rgba(255,255,255,.7);
  font:inherit;
  text-align:left;
  cursor:pointer;
  transition:background .2s ease,color .2s ease,padding .2s ease;
}
.director-tabs button::before {
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:3px;
  background:var(--amber-bright);
  transform:scaleY(0);
  transition:transform .2s ease;
}
.director-tabs button span { font-size:.94rem; font-weight:600; line-height:1.35; }
.director-tabs button i { color:rgba(240,197,90,.55); font-size:.58rem; font-style:normal; font-weight:700; letter-spacing:.12em; }
.director-tabs button:hover { background:rgba(255,255,255,.045); color:#fff; }
.director-tabs button[aria-selected="true"] { padding-left:31px; background:linear-gradient(90deg,rgba(216,166,47,.13),rgba(255,255,255,.025)); color:#fff; }
.director-tabs button[aria-selected="true"]::before { transform:scaleY(1); }
.director-tabs button[aria-selected="true"] i { color:var(--amber-bright); }
.director-panels {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:
    linear-gradient(90deg,rgba(4,10,20,.97) 0%,rgba(4,10,20,.88) 53%,rgba(4,10,20,.48) 100%),
    url('/assets/img/hyertier-signal-architecture-v1.webp') center/cover no-repeat;
}
.director-panels::after {
  content:"";
  position:absolute;
  z-index:-1;
  inset:auto -8% -45% auto;
  width:360px;
  height:360px;
  border:1px solid rgba(240,197,90,.15);
  border-radius:50%;
  box-shadow:0 0 0 58px rgba(240,197,90,.025),0 0 0 116px rgba(240,197,90,.018);
}
[data-switcher-panel][hidden] { display:none !important; }
.director-panels article {
  position:relative;
  z-index:1;
  max-width:760px;
  padding:clamp(36px,5vw,64px);
}
.route-signal {
  margin-bottom:18px;
  color:var(--amber-bright);
  font-size:.69rem;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.director-panels h3 { max-width:680px; font-size:clamp(1.55rem,3vw,2.45rem); }
.director-panels p { max-width:650px; margin-top:18px; color:rgba(244,246,249,.78); }
.director-panels ul { display:grid; gap:9px; max-width:660px; margin:24px 0 30px; padding:0; list-style:none; }
.director-panels li { position:relative; padding-left:22px; color:rgba(244,246,249,.7); }
.director-panels li::before { content:""; position:absolute; left:0; top:.72em; width:9px; height:1px; background:var(--amber-bright); }

/* Studio aperture: a horizontal visual rhythm replaces five repetitive,
   full-page image/text bands while the manifest keeps the scope searchable. */
.studio-showreel {
  overflow:hidden;
  padding:clamp(68px,9vw,112px) 0;
  color:var(--ink-inverse);
  background:
    radial-gradient(circle at 12% 0,rgba(91,23,37,.45),transparent 36%),
    linear-gradient(135deg,var(--navy-deep),#071322 68%,#11101A);
}
.showreel-heading { display:flex; align-items:end; justify-content:space-between; gap:28px; margin-bottom:34px; }
.showreel-heading .eyebrow { color:var(--amber-bright); }
.showreel-heading h2 { max-width:680px; }
.showreel-controls { display:flex; gap:10px; }
.showreel-controls button {
  width:50px;
  height:50px;
  border:1px solid rgba(255,255,255,.32);
  border-radius:50%;
  background:rgba(255,255,255,.04);
  color:#fff;
  font-size:1.25rem;
  cursor:pointer;
  transition:background .2s ease,border-color .2s ease,transform .2s ease;
}
.showreel-controls button:hover { transform:translateY(-2px); border-color:var(--amber-bright); background:rgba(216,166,47,.12); }
.studio-gallery {
  display:flex;
  gap:18px;
  overflow-x:auto;
  overscroll-behavior-inline:contain;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
  padding:0 max(24px,calc((100vw - var(--maxw))/2 + 24px)) 14px;
}
.studio-gallery::-webkit-scrollbar { display:none; }
.studio-frame {
  position:relative;
  flex:0 0 clamp(370px,67vw,840px);
  aspect-ratio:16/9;
  overflow:hidden;
  border:1px solid rgba(240,197,90,.22);
  border-radius:10px;
  scroll-snap-align:center;
  background:#080D16;
}
.studio-frame img { width:100%; height:100%; object-fit:cover; object-position:50% 38%; transition:transform .7s cubic-bezier(.2,.8,.2,1),filter .5s ease; }
.studio-frame[data-reel-frame="executive"] img { object-position:50% 42%; }
.studio-frame[data-reel-frame="product"] img { object-position:50% 50%; }
.studio-frame[data-reel-frame="events"] img { object-position:50% 44%; }
.studio-frame::after { content:""; position:absolute; inset:25% 0 0; background:linear-gradient(transparent,rgba(4,10,20,.94)); }
.studio-frame:hover img { transform:scale(1.035); filter:saturate(1.08); }
.studio-frame-copy { position:absolute; z-index:2; left:clamp(22px,4vw,42px); right:clamp(22px,4vw,42px); bottom:clamp(22px,4vw,38px); }
.studio-frame-copy span { color:var(--amber-bright); font-size:.67rem; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.studio-frame-copy h3 { max-width:690px; margin-top:8px; font-size:clamp(1.25rem,2.8vw,2.15rem); }
.studio-showreel .visual-disclosure { color:rgba(244,246,249,.58); }
.studio-manifest-section { background:linear-gradient(150deg,#F7F2EA,#EEE5D8); }
.studio-manifest { display:grid; grid-template-columns:minmax(260px,.78fr) minmax(0,1.22fr); gap:clamp(36px,7vw,86px); align-items:start; }
.manifest-intro { position:sticky; top:110px; }
.manifest-intro .btn { margin-top:28px; }
.capability-ledger { border-top:1px solid var(--line); }
.capability-ledger details { border-bottom:1px solid var(--line); }
.capability-ledger summary { display:grid; gap:8px; min-height:98px; padding:24px 42px 24px 0; cursor:pointer; list-style:none; position:relative; }
.capability-ledger summary::-webkit-details-marker { display:none; }
.capability-ledger summary::after { content:"+"; position:absolute; right:4px; top:28px; color:var(--amber-deep); font-size:1.6rem; font-weight:400; }
.capability-ledger details[open] summary::after { content:"−"; }
.capability-ledger summary span { color:var(--amber-deep); font-size:.66rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.capability-ledger summary strong { font-size:1.15rem; line-height:1.35; }
.ledger-detail { padding:0 42px 30px 0; }
.ledger-detail p + p { margin-top:14px; }
.ledger-detail .text-link { display:inline-block; margin-top:20px; color:var(--amber-deep); font-weight:700; text-decoration:none; }
.ledger-detail .text-link:hover { text-decoration:underline; }

/* Proof dossiers separate the visual evidence from the precise claim. */
.dossier-heading { display:flex; justify-content:space-between; align-items:end; gap:40px; margin-bottom:36px; }
.dossier-heading > div { max-width:720px; }
.dossier-heading > p { max-width:360px; color:var(--muted); }
.case-dossier { overflow:hidden; border:1px solid var(--line); border-radius:12px; background:var(--surface); box-shadow:var(--shadow-soft); }
.dossier-tabs { display:flex; background:var(--navy-deep); }
.dossier-tabs button {
  position:relative;
  flex:1;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  min-height:78px;
  padding:18px 28px;
  border:0;
  border-right:1px solid rgba(255,255,255,.12);
  background:transparent;
  color:rgba(255,255,255,.68);
  font:inherit;
  cursor:pointer;
  text-align:left;
}
.dossier-tabs button:last-child { border-right:0; }
.dossier-tabs button::after { content:""; position:absolute; inset:auto 0 0; height:3px; background:var(--amber-bright); transform:scaleX(0); transition:transform .2s ease; }
.dossier-tabs button[aria-selected="true"] { color:#fff; background:rgba(216,166,47,.09); }
.dossier-tabs button[aria-selected="true"]::after { transform:scaleX(1); }
.dossier-tabs button span { font-weight:700; }
.dossier-tabs button i { color:var(--amber-bright); font-size:.62rem; font-style:normal; font-weight:700; letter-spacing:.12em; }
.dossier-panel { display:grid; grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr); min-height:590px; }
.dossier-panel figure { position:relative; overflow:hidden; min-height:100%; background:#fff; }
.dossier-panel figure img { width:100%; height:100%; object-fit:cover; object-position:50% 35%; }
#case-panel-pt figure img { object-fit:contain; object-position:center; padding:22px; }
.dossier-panel figcaption { position:absolute; z-index:2; inset:auto 18px 18px; padding:10px 13px; border:1px solid rgba(255,255,255,.22); background:rgba(4,10,20,.86); color:#fff; font-size:.7rem; font-weight:700; letter-spacing:.05em; backdrop-filter:blur(8px); }
.dossier-copy { padding:clamp(32px,5vw,58px); }
.dossier-copy h3 { font-size:clamp(1.45rem,2.7vw,2.1rem); }
.dossier-copy dl { display:grid; gap:0; margin:28px 0 32px; border-top:1px solid var(--line); }
.dossier-copy dl > div { display:grid; grid-template-columns:120px 1fr; gap:20px; padding:17px 0; border-bottom:1px solid var(--line); }
.dossier-copy dt { color:var(--amber-deep); font-size:.68rem; font-weight:700; letter-spacing:.09em; text-transform:uppercase; }
.dossier-copy dd { color:var(--muted); }

@media (max-width:980px) {
  .hero .cta-row .btn:first-child:nth-last-child(2),
  .hero .cta-row .btn:first-child:nth-last-child(2) ~ .btn { flex:1 1 0; min-width:0; }
  .director-interface { grid-template-columns:1fr; }
  .director-tabs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-right:0; }
  .director-tabs button { min-height:92px; border-right:1px solid rgba(255,255,255,.09); }
  .studio-manifest { grid-template-columns:1fr; }
  .manifest-intro { position:static; }
  .dossier-panel { grid-template-columns:1fr; }
  .dossier-panel figure { min-height:420px; aspect-ratio:16/10; }
}

@media (max-width:640px) {
  .hero-chapters { display:flex; overflow:hidden; gap:14px; margin-top:32px; }
  .hero-chapters span { flex:1 1 0; min-width:0; overflow:hidden; color:transparent; font-size:0; }
  .hero-chapters span::after { content:""; display:block; height:3px; background:currentColor; }
  .director-heading { padding-bottom:28px; }
  .director-tabs { display:flex; flex-direction:row; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; }
  .director-tabs::-webkit-scrollbar { display:none; }
  .director-tabs button { flex:0 0 78vw; min-height:82px; scroll-snap-align:start; border-right:1px solid rgba(255,255,255,.09); }
  .director-tabs button[aria-selected="true"] { padding-left:24px; }
  .director-tabs button::before { inset:auto 0 0; width:auto; height:3px; transform:scaleX(0); }
  .director-tabs button[aria-selected="true"]::before { transform:scaleX(1); }
  .director-panels article { padding:34px 24px 40px; }
  .showreel-heading { align-items:start; }
  .showreel-controls button { width:48px; min-width:48px; height:48px; }
  .studio-frame { flex-basis:84vw; }
  .studio-frame-copy h3 { font-size:1.2rem; }
  .capability-ledger summary { min-height:90px; padding-right:34px; }
  .ledger-detail { padding-right:0; }
  .dossier-heading { display:block; }
  .dossier-heading > p { margin-top:14px; }
  .dossier-tabs { overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; }
  .dossier-tabs::-webkit-scrollbar { display:none; }
  .dossier-tabs button { flex:0 0 82%; min-height:72px; padding:16px 20px; scroll-snap-align:start; }
  .dossier-tabs button i { display:none; }
  .dossier-panel { min-height:0; }
  .dossier-panel figure { min-height:260px; }
  #case-panel-pt figure img { padding:12px; }
  .dossier-copy { padding:30px 22px 36px; }
  .dossier-copy dl > div { grid-template-columns:1fr; gap:6px; }
}

html[data-motion="reduced"] .hero-chapters span,
html[data-motion="reduced"] .studio-frame img { animation:none !important; transition:none !important; }
html[data-motion="reduced"] .hero-chapters span { color:rgba(255,255,255,.62); border-color:rgba(255,255,255,.36); text-shadow:none; }
html[data-motion="reduced"] .hero-chapters span:first-child { color:var(--amber-bright); border-color:var(--amber-bright); }
@media (prefers-reduced-motion:reduce) {
  .hero-chapters span,.studio-frame img { animation:none !important; transition:none !important; }
}
