/* ============================================================
   CONTINUUM — Website · section components
   ============================================================ */

/* ============ HERO ============ */
.hero{ position:relative; background:var(--d-bg); color:var(--d-text); overflow:hidden;
  min-height:100svh; display:flex; align-items:center; }
.hero__canvas{ position:absolute; inset:0; width:100%; height:100%; z-index:0; }
.hero__vignette{ position:absolute; inset:0; z-index:1; pointer-events:none;
  background:
    radial-gradient(120% 80% at 50% 0%, transparent 55%, rgba(10,8,6,.55) 100%),
    linear-gradient(180deg, rgba(21,17,13,.2) 0%, transparent 22%, transparent 70%, var(--d-bg) 100%); }
.hero__inner{ position:relative; z-index:2; width:100%; }
.hero__eyebrow{ margin-bottom:26px; color:var(--d-muted); }
.hero h1{ font-size:clamp(48px,9vw,132px); letter-spacing:-.03em; line-height:.98; color:#fff; }
.hero h1 .word{ display:inline-block; }
.hero__sub{ margin-top:30px; max-width:46ch; font-size:clamp(18px,2.1vw,23px); line-height:1.5; color:var(--d-muted); }
.hero__cta{ margin-top:42px; display:flex; flex-wrap:wrap; gap:14px; }
.hero__scroll{ position:absolute; left:50%; bottom:30px; transform:translateX(-50%); z-index:2;
  display:flex; flex-direction:column; align-items:center; gap:9px; color:var(--d-faint);
  font-size:12px; letter-spacing:.2em; text-transform:uppercase; }
@media (max-height:720px){ .hero__scroll{ display:none; } }
.hero__scroll .bar{ width:1px; height:40px; background:linear-gradient(var(--d-faint),transparent);
  transform-origin:top; animation:barPulse 2.6s var(--ease) infinite; }
@keyframes barPulse{ 0%,100%{ transform:scaleY(.5); opacity:.5; } 50%{ transform:scaleY(1); opacity:1; } }
@media (prefers-reduced-motion: reduce){ .hero__scroll .bar{ animation:none; } }

/* hero direction variants */
.hero[data-hero="hybrid"] .hero__inner{ max-width:none; }
.hero[data-hero="hybrid"] .hero__copy{ max-width:min(56ch,52%); }
.hero[data-hero="type"] .hero__inner{ text-align:center; }
.hero[data-hero="type"] .hero__copy{ margin-inline:auto; max-width:30ch; }
.hero[data-hero="type"] .hero__sub{ margin-inline:auto; }
.hero[data-hero="type"] .hero__cta{ justify-content:center; }
.hero[data-hero="type"] .hero__canvas{ opacity:.5; }
.hero[data-hero="graph"]{ align-items:flex-end; }
.hero[data-hero="graph"] .hero__inner{ padding-bottom:clamp(60px,10vh,120px); }
.hero[data-hero="graph"] .hero__copy{ max-width:42ch; }
.hero[data-hero="graph"] h1{ font-size:clamp(40px,6.5vw,92px); }
@media (max-width:860px){
  .hero[data-hero="hybrid"] .hero__copy{ max-width:none; }
  .hero[data-hero="hybrid"] .hero__canvas{ opacity:.55; }
}

/* ============ PROBLEM ============ */
.problem .h-lg{ max-width:18ch; }
.problem__grid{ margin-top:64px; display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
.fragment{ border:1px solid var(--line); border-radius:var(--r); background:var(--bg); padding:30px 30px 34px; }
.fragment__top{ display:flex; align-items:center; justify-content:space-between; margin-bottom:34px; }
.fragment__chip{ font-size:13px; font-weight:600; letter-spacing:.04em; color:var(--muted); }
.fragment__dot{ width:9px; height:9px; border-radius:50%; background:var(--line-2); }
.fragment__line{ height:1px; background:var(--line); margin:11px 0; }
.fragment__line.w88{ width:88%; } .fragment__line.w64{ width:64%; } .fragment__line.w78{ width:78%; }
.fragment__know{ margin-top:26px; font-size:15px; color:var(--ink-2); }
.fragment__know b{ color:var(--ink); font-weight:600; }
.problem__punch{ margin-top:54px; max-width:30ch; font-family:var(--serif); font-weight:300; font-style:italic;
  font-size:clamp(22px,2.8vw,32px); line-height:1.4; color:var(--ink); letter-spacing:-.01em; }
@media (max-width:760px){ .problem__grid{ grid-template-columns:1fr; } }

/* ============ CONTEXT GRAPH ============ */
.graph-sec{ background:var(--d-bg); color:var(--d-text); overflow:hidden; }
.graph-sec__layout{ display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; }
.graph-sec__copy{ max-width:48ch; }
.graph-sec__copy .lede{ color:var(--d-muted); }
.graph-sec__stage{ position:relative; aspect-ratio:1/1; }
.graph-sec__stage canvas{ position:absolute; inset:0; width:100%; height:100%; }
.legend{ display:flex; flex-wrap:wrap; gap:14px 24px; margin-top:34px; }
.legend__i{ display:flex; align-items:center; gap:10px; font-size:15px; color:var(--d-muted); }
.legend__dot{ width:14px; height:14px; border-radius:50%; }
.legend__dot--core{ background:#fff; } .legend__dot--node{ background:#7a6f62; }
.legend__dot--live{ background:linear-gradient(135deg,var(--amber),var(--ember)); }
@media (max-width:860px){ .graph-sec__layout{ grid-template-columns:1fr; gap:40px; } .graph-sec__stage{ max-width:440px; margin-inline:auto; width:100%; } }

/* ============ SIX DOMAINS ============ */
.domains__grid{ margin-top:60px; display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line); border-radius:var(--r-lg); overflow:hidden; }
.domain{ background:var(--bg); padding:40px 36px 44px; transition:background .4s var(--ease); position:relative; }
.domain:hover{ background:var(--bg-alt); }
.domain__num{ font-family:var(--serif); font-style:italic; font-weight:300; font-size:22px; color:var(--ember); }
.domain__name{ margin-top:18px; font-size:27px; letter-spacing:-.015em; color:var(--ink); }
.domain__desc{ margin-top:10px; font-size:16px; color:var(--muted); line-height:1.5; max-width:26ch; }
@media (max-width:860px){ .domains__grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:520px){ .domains__grid{ grid-template-columns:1fr; } }

/* ============ BELIEFS ============ */
.beliefs-sec{ background:var(--bg-alt); }
.beliefs__grid{ margin-top:60px; display:grid; grid-template-columns:1fr 1fr; gap:26px; }
.belief{ background:var(--bg); border:1px solid var(--line); border-radius:var(--r-lg); padding:44px 46px; }
.belief__eq{ display:flex; align-items:baseline; gap:16px; flex-wrap:wrap; margin-bottom:18px; }
.belief__a{ font-family:var(--serif); font-weight:400; font-size:clamp(30px,3.4vw,42px); letter-spacing:-.02em; color:var(--ink); white-space:nowrap; }
.belief__gt{ font-family:var(--serif); font-weight:300; font-size:30px; background:linear-gradient(135deg,var(--amber),var(--ember)); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.belief__b{ font-family:var(--serif); font-weight:300; font-style:italic; font-size:clamp(24px,2.8vw,32px); color:var(--muted); white-space:nowrap; }
.belief p{ font-size:17px; line-height:1.55; color:var(--ink-2); max-width:46ch; }
@media (max-width:760px){ .beliefs__grid{ grid-template-columns:1fr; } }

/* ============ FUTURE ============ */
.future{ background:var(--d-bg); color:var(--d-text); position:relative; overflow:hidden; }
.future__canvas{ position:absolute; inset:0; width:100%; height:100%; opacity:.5; z-index:0; }
.future .container{ position:relative; z-index:1; }
.future__head{ max-width:24ch; }
.future__head h2{ color:#fff; }
.future__list{ margin:54px 0 0; max-width:640px; display:flex; flex-direction:column; }
.future__item{ display:flex; align-items:baseline; gap:22px; padding:24px 0; border-top:1px solid var(--d-line); font-size:clamp(20px,2.4vw,27px); color:var(--d-text); font-family:var(--serif); font-weight:300; letter-spacing:-.01em; }
.future__item span{ font-family:var(--sans); font-size:14px; font-weight:600; letter-spacing:.04em; color:var(--ember); flex:none; width:2ch; }
.future__kicker{ margin-top:48px; font-family:var(--serif); font-style:italic; font-weight:300; font-size:clamp(24px,3.2vw,38px); line-height:1.35; color:#fff; max-width:24ch; letter-spacing:-.01em; }
.future__kicker b{ font-style:normal; font-weight:400; background:linear-gradient(135deg,var(--amber),var(--ember)); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }

/* ============ FOUNDER ============ */
.founder__card{ display:grid; grid-template-columns:auto 1fr; gap:40px; align-items:start; max-width:900px; }
.founder__mark{ width:64px; height:64px; }
.founder blockquote{ font-family:var(--serif); font-weight:300; font-size:clamp(24px,3.2vw,38px); line-height:1.4; letter-spacing:-.015em; color:var(--ink); }
.founder__sig{ margin-top:28px; display:flex; align-items:center; gap:14px; }
.founder__sig b{ font-size:16px; font-weight:600; color:var(--ink); }
.founder__sig span{ font-size:15px; color:var(--muted); }
.founder__sig .div{ width:1px; height:18px; background:var(--line-2); }
@media (max-width:600px){ .founder__card{ grid-template-columns:1fr; gap:24px; } .founder__mark{width:52px; height:52px;} }

/* ============ WAITLIST ============ */
.waitlist{ background:var(--d-bg); color:var(--d-text); position:relative; overflow:hidden; }
.waitlist__canvas{ position:absolute; inset:0; width:100%; height:100%; opacity:.4; z-index:0; }
.waitlist .container{ position:relative; z-index:1; }
.waitlist__inner{ max-width:680px; margin-inline:auto; text-align:center; }
.waitlist h2{ color:#fff; }
.waitlist .lede{ color:var(--d-muted); margin-top:20px; }
.form{ margin-top:48px; text-align:left; }
.form__row{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.field{ width:100%; font-family:var(--sans); font-size:16px; color:var(--d-text); background:var(--d-bg-2);
  border:1px solid var(--d-line); border-radius:14px; padding:16px 18px; transition:border-color .25s var(--ease), background .25s var(--ease); }
.field::placeholder{ color:var(--d-faint); }
.field:focus{ outline:none; border-color:var(--amber); background:#221b14; }
textarea.field{ margin-top:14px; min-height:96px; resize:vertical; line-height:1.5; }
.form__actions{ margin-top:18px; display:flex; flex-direction:column; gap:14px; align-items:center; }
.form .btn{ width:100%; }
.form__hint{ font-size:13px; color:var(--d-faint); text-align:center; }
.form__success{ display:none; text-align:center; padding:20px 0; }
.form__success.is-visible{ display:block; animation:heroUp .7s var(--ease) forwards; }
.form__success .check{ width:64px; height:64px; margin:0 auto 24px; border-radius:50%; background:linear-gradient(135deg,var(--amber),var(--ember)); display:grid; place-items:center; }
.form__success h3{ font-family:var(--serif); font-size:34px; color:#fff; font-weight:300; }
.form__success p{ margin-top:12px; color:var(--d-muted); }
@media (max-width:560px){ .form__row{ grid-template-columns:1fr; } }

/* ============ FAQ ============ */
.faq__list{ margin-top:54px; border-top:1px solid var(--line); }
.faq__item{ border-bottom:1px solid var(--line); }
.faq__q{ width:100%; text-align:left; background:none; border:none; cursor:pointer; font-family:var(--sans);
  display:flex; align-items:center; justify-content:space-between; gap:24px; padding:28px 0;
  font-size:clamp(19px,2.1vw,24px); font-weight:500; color:var(--ink); letter-spacing:-.01em; }
.faq__icon{ position:relative; width:18px; height:18px; flex:none; }
.faq__icon::before,.faq__icon::after{ content:""; position:absolute; background:var(--ember); border-radius:2px; transition:transform .35s var(--ease); }
.faq__icon::before{ top:50%; left:0; width:18px; height:2px; transform:translateY(-50%); }
.faq__icon::after{ left:50%; top:0; width:2px; height:18px; transform:translateX(-50%); }
.faq__item.open .faq__icon::after{ transform:translateX(-50%) scaleY(0); }
.faq__a{ overflow:hidden; max-height:0; transition:max-height .4s var(--ease); }
.faq__a p{ padding:0 0 30px; max-width:64ch; color:var(--ink-2); font-size:17px; line-height:1.6; }

/* ============ helpers ============ */
.center{ text-align:center; margin-inline:auto; }
.center .lede{ margin-inline:auto; }

/* ============ inner-page ============ */
.subhero{ background:var(--d-bg); color:var(--d-text); padding-block:clamp(140px,18vh,220px) clamp(60px,9vw,110px); position:relative; overflow:hidden; }
.subhero__canvas{ position:absolute; inset:0; width:100%; height:100%; opacity:.45; z-index:0; }
.subhero .container{ position:relative; z-index:1; }
.subhero h1{ color:#fff; max-width:18ch; }
.subhero .lede{ color:var(--d-muted); margin-top:26px; max-width:54ch; }
.prose{ max-width:68ch; }
.prose p{ font-size:clamp(18px,2vw,22px); line-height:1.7; color:var(--ink-2); margin-bottom:1.4em; }
.prose p.lead{ font-family:var(--serif); font-weight:300; font-size:clamp(24px,3vw,34px); line-height:1.45; color:var(--ink); letter-spacing:-.015em; }
.prose h2{ font-family:var(--serif); font-weight:300; font-size:clamp(28px,3.4vw,44px); letter-spacing:-.02em; color:var(--ink); margin:1.6em 0 .6em; }
.prose strong{ font-weight:600; color:var(--ink); }
.prose em{ font-style:italic; }

/* ============ HOW IT WORKS ============ */
.how__steps{ margin-top:60px; display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
.how__step__n{ font-family:var(--serif); font-style:italic; font-weight:300; font-size:30px; color:var(--ember); }
.how__step__t{ margin-top:14px; font-size:22px; letter-spacing:-.015em; color:var(--ink); }
.how__step__d{ margin-top:10px; font-size:16px; color:var(--muted); line-height:1.55; max-width:34ch; }
@media (max-width:760px){ .how__steps{ grid-template-columns:1fr; gap:30px; } }

.how__bridge{ margin-top:48px; background:var(--d-bg); color:var(--d-text); border-radius:var(--r-lg); padding:34px 36px; }
.how__bridge__label{ font-size:13px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--amber); }
.how__bridge__prompt{ margin-top:16px; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:14.5px; line-height:1.6; color:var(--d-text); background:var(--d-bg-2); border:1px solid var(--d-line); border-radius:14px; padding:18px 20px; }
.how__bridge__note{ margin-top:16px; font-size:14.5px; color:var(--d-muted); max-width:60ch; }

.how__trust{ margin-top:46px; padding-top:32px; border-top:1px solid var(--line); display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.how__trust__i{ display:flex; align-items:flex-start; gap:11px; font-size:15.5px; color:var(--ink-2); line-height:1.5; }
.how__trust__i::before{ content:""; width:9px; height:9px; border-radius:50%; margin-top:7px; flex:none; background:linear-gradient(135deg,var(--amber),var(--ember)); }
.how__trust__i b{ color:var(--ink); font-weight:600; }
@media (max-width:760px){ .how__trust{ grid-template-columns:1fr; gap:18px; } }

.how__more{ display:inline-flex; align-items:center; gap:8px; margin-top:42px; font-size:16px; font-weight:500; color:var(--ink); border-bottom:1px solid var(--line-2); padding-bottom:3px; transition:color .2s var(--ease), border-color .2s var(--ease); }
.how__more:hover{ color:var(--ember); border-color:var(--ember); }

.how__step__d b{ color:var(--ink); font-weight:600; }

/* ===== Context Audit ===== */
.audit__title{ margin-top:14px; font-family:"Fraunces",serif; font-weight:400; font-size:clamp(21px,2.6vw,26px); letter-spacing:-.01em; color:#fff; }
.audit__tabs{ display:flex; flex-wrap:wrap; gap:8px; margin-top:20px; }
.audit__tab{ font:600 13px/1 "Inter",sans-serif; letter-spacing:.02em; color:var(--d-muted); background:transparent; border:1px solid var(--d-line); border-radius:999px; padding:9px 16px; cursor:pointer; transition:color .2s var(--ease), border-color .2s var(--ease), background .2s var(--ease); }
.audit__tab:hover{ color:var(--d-text); border-color:var(--d-muted); }
.audit__tab.is-active{ color:#15110D; background:var(--amber); border-color:var(--amber); }
.audit__prompt{ white-space:pre-wrap; max-height:300px; overflow:auto; margin-bottom:0; scrollbar-width:thin; }
.audit__actions{ display:flex; align-items:center; flex-wrap:wrap; gap:16px; margin-top:18px; }
.audit__hint{ font-size:13.5px; color:var(--d-muted); max-width:42ch; }
.how__bridge__note a{ color:var(--amber); border-bottom:1px solid transparent; transition:border-color .2s var(--ease); }
.how__bridge__note a:hover{ border-color:var(--amber); }

/* ===== Context graph interactivity ===== */
.graph-sec__hint{ margin-top:16px; font-size:13.5px; color:var(--d-muted); }
.graph-tip{ position:absolute; z-index:5; pointer-events:none; opacity:0; width:230px; padding:13px 15px; border-radius:12px; background:rgba(26,21,15,.95); border:1px solid rgba(237,231,221,.16); color:var(--d-text); font-size:13.5px; line-height:1.5; transition:opacity .2s var(--ease); }
.graph-tip b{ display:block; font-size:14px; font-weight:600; color:#fff; margin-bottom:3px; }
.graph-tip.is-on{ opacity:1; }
.domain.is-flash{ background:var(--bg-alt); box-shadow:inset 0 0 0 2px var(--ember); }
