/* [codex 2026-09-24] V4 builds on the accepted forest composition. */
@import url('v3.css');
@import url('v4-method.css');
@import url('v4-products.css');
@import url('v4-refine.css?v=20260927d');

.supporting-copy{font-size:clamp(14px,1.25vw,17px);line-height:1.6;color:var(--muted);max-width:37ch;margin-top:15px;text-shadow:0 2px 15px var(--ink)}
.intro-beat .lead{max-width:31ch}
.care-beat .ecosystem-map h3{line-height:1.35}
.clinical-note span{max-width:41ch;margin-left:auto;margin-right:auto;line-height:1.5}
#whole .method-beat{--aspect-mental:var(--paper)}
.product-map-beat .product-box .product-icon,.product-map-beat .product-companion .product-icon{stroke:var(--sol-lime)}
body.cinematic .beat[aria-hidden="true"] .method-scan-line,body.cinematic .beat[aria-hidden="true"] .product-link-pulses{animation-play-state:paused}

/* Three promises and three clear next actions. */
.reclaim-lines{display:flex;flex-direction:column;gap:5px;margin-top:22px;font:400 clamp(15px,1.35vw,20px)/1.4 Sora,sans-serif;color:var(--paper)}
.reclaim-lines em{font-style:normal;color:var(--sol-lime)}
.reclaim-lines span:nth-child(2) em{color:var(--sol-cyan)}
.reclaim-lines span:nth-child(3) em{color:var(--sol-sky)}
.arrival-actions{margin-top:23px}
.journey-steps{margin-top:17px;max-width:360px;text-align:left}
.journey-steps>p{font-size:12px;line-height:1.5;color:var(--paper);max-width:29ch}
.journey-steps ol{list-style:none;display:grid;gap:7px;padding:0;margin:12px 0 0}
.journey-steps li{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:11px;line-height:1.45}
.journey-steps li b{display:grid;place-items:center;flex:none;width:20px;height:20px;border:1px solid #6fd9ee55;border-radius:50%;font-size:10px;font-weight:400;color:var(--sol-sky)}
.arrival-beat .learn-link{margin-top:13px}

/* Holding is a deliberate local visual preview, for pointer or keyboard. */
.scanner{--hold-progress:0;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
.scanner>.hold-ring{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg);overflow:visible;fill:none;stroke-width:2}
.hold-track{stroke:#6fd9ee40}
.hold-progress{stroke:var(--sol-lime);stroke-dasharray:100;stroke-dashoffset:calc(100 - var(--hold-progress)*100);filter:drop-shadow(0 0 3px var(--sol-cyan));transition:none}
.is-scanning .scanner{box-shadow:0 0 52px #00b8e066,inset 0 0 26px #30b07833}
.scanner-instruction{white-space:nowrap;font-size:11px;left:50%;right:auto;transform:translateX(-50%);letter-spacing:.03em}

/* A living signal revealed along the journey; the wave never rescales sideways. */
.trail-track{height:28px;margin:0 3px;background:none;overflow:hidden}
.trail-track svg{display:block;width:100%;height:100%;overflow:visible;fill:none}
.trail-track path{vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round}
.vitals-base{position:absolute;inset:0;stroke:#6fd9ee35;stroke-width:1}
#trail-fill{position:absolute;inset:0;width:100%;height:100%;transform:none!important;clip-path:inset(0 100% 0 0);background:none;box-shadow:none}
#trail-fill::after{display:none}
.vitals-line{stroke:var(--sol-cyan);stroke-width:1.5;filter:drop-shadow(0 0 2px #00b8e088)}
.vitals-flow{stroke:var(--sol-lime);stroke-width:2;stroke-dasharray:26 770;animation:vital-flow 4s linear infinite;filter:drop-shadow(0 0 3px #30b078aa)}
@keyframes vital-flow{to{stroke-dashoffset:-796}}
.journey-hud{padding-top:6px;bottom:17px}
.trail-top{margin-bottom:2px}
.trail-controls{margin-top:0}
body.read-mode .motes i{animation-play-state:paused}

@media(max-width:760px){.supporting-copy{font-size:13px;margin-top:11px;max-width:36ch}.reclaim-lines{font-size:14px;gap:3px;margin-top:15px}.journey-steps>p{font-size:11px}.journey-steps{margin-top:12px}.journey-steps ol{gap:5px;margin-top:8px}}
@media(max-width:600px){
  .luca-beat .supporting-copy,.ownership-beat .supporting-copy{max-width:43ch;font-size:13px;line-height:1.45;margin-top:10px}
  .reclaim-lines{font-size:14px;line-height:1.45;gap:2px;margin-top:12px}
  .arrival-actions{display:flex;align-items:center;flex-direction:column}
  .journey-steps{margin-top:11px;max-width:360px;width:100%;text-align:center}
  .journey-steps>p{max-width:none;font-size:11px}
  .journey-steps ol{grid-template-columns:1fr 1fr 1.3fr;gap:9px;margin-top:9px}
  .journey-steps li{flex-direction:column;gap:5px;text-align:center;font-size:10px;line-height:1.35}
  .journey-steps li b{width:17px;height:17px;font-size:9px}
  .arrival-beat .learn-link{margin-top:8px;min-height:27px}
  .journey-hud{bottom:12px;padding-top:5px}
  .trail-track{height:25px}
}
@media(max-height:760px) and (min-width:601px){
  .arrival-beat h2{font-size:clamp(30px,3.2vw,43px)}
  .reclaim-lines{font-size:14px;gap:1px;margin-top:11px}
  .arrival-actions{margin-top:15px}.journey-steps{margin-top:10px}.journey-steps>p{font-size:11px}.journey-steps ol{margin-top:7px;gap:4px}.journey-steps li{font-size:10px}.journey-steps li b{height:17px;width:17px}.arrival-beat .learn-link{margin-top:6px;min-height:28px}
}
@media(max-height:700px) and (max-width:600px){
  .luca-beat .pi-orbit{width:170px}.luca-beat .intelligence-art{gap:0}.supporting-copy{font-size:12px}
  .reclaim-lines{font-size:12px;gap:1px;margin-top:9px}
}
/* Short phones retain all of the expanded arrival copy in a scrollable final screen. */
@media(max-height:650px) and (max-width:600px){
  body.cinematic .arrival-beat{display:flex;flex-direction:column;align-items:center;gap:8px;overflow-y:auto;overflow-x:hidden;padding:0 4px 16px;scrollbar-width:thin;scrollbar-color:var(--sol-teal) transparent}
  body.cinematic .arrival-beat .chapter-copy{display:contents}
  body.cinematic .arrival-beat .eyebrow{order:0;margin:0}
  body.cinematic .arrival-beat h2{order:1;font-size:27px;flex:none}
  body.cinematic .arrival-beat .reclaim-lines{order:2;margin:0;flex:none}
  body.cinematic .arrival-beat .vault-terminal{order:3;position:relative;inset:auto;left:auto;top:auto;transform:none;flex:none;width:170px;height:144px;aspect-ratio:auto;margin:1px 0 8px}
  body.cinematic .arrival-beat .vault-rings{inset:0 4%}
  body.cinematic .arrival-beat .scanner{top:42%}
  body.cinematic .arrival-beat .scanner-instruction{top:calc(42% + 37px)}
  body.cinematic .arrival-beat .vault-terminal>small{top:calc(42% + 57px)}
  body.cinematic .arrival-beat .arrival-actions{order:4;position:static;flex:none;bottom:auto;width:100%;margin:0}
  .journey-steps>p{font-size:11px}.journey-steps li{font-size:10px}
}
@media(prefers-reduced-motion:reduce){.vitals-flow{animation:none}.hold-progress{transition:none}}

/* The full reading page keeps the expanded final screen in document order. */
@media(max-width:600px){
  body:not(.cinematic) .arrival-beat{display:flex;flex-direction:column;align-items:center;gap:12px;min-height:0;padding-top:60px;padding-bottom:70px}
  body:not(.cinematic) .arrival-beat .chapter-copy{display:contents}
  body:not(.cinematic) .arrival-beat .eyebrow{order:0;margin:0}
  body:not(.cinematic) .arrival-beat h2{order:1}
  body:not(.cinematic) .arrival-beat .reclaim-lines{order:2;margin:0}
  body:not(.cinematic) .arrival-beat .vault-terminal{order:3;position:relative;inset:auto;transform:none;width:220px;height:200px;aspect-ratio:auto;margin:12px 0 20px}
  body:not(.cinematic) .arrival-beat .scanner{top:42%}
  body:not(.cinematic) .arrival-beat .scanner-instruction{top:calc(42% + 43px)}
  body:not(.cinematic) .arrival-beat .vault-terminal>small{top:calc(42% + 65px)}
  body:not(.cinematic) .arrival-beat .arrival-actions{order:4;position:static;width:100%;margin:0}
}
