/* Home story. Night sections keep their own palette in every theme; the morning sections follow the theme. */
.night{color-scheme:dark;--bg:#121211;--card:#1e1e1b;--card-2:#232320;--well:#262623;--well-2:#30302c;--text:#f6f3ed;--text-2:#d3cfc6;--text-3:#aaa79f;--text-4:#7f7c75;--border:rgb(246 243 237 / .1);--border-2:rgb(246 243 237 / .16);--brand-ink:#f3af8d;--focus-ring:#f5c49c;--shadow-1:0 0 0 transparent;background:var(--bg);color:var(--text)}
.site-header.night{background:var(--bg);border-bottom-color:var(--border)}
.site-header.night .theme-select,.site-header.night .mobile-menu summary{background:var(--well)}
.story-eyebrow{font-size:14px;font-weight:600;letter-spacing:.01em;color:var(--brand-ink);margin-bottom:20px}
.story-lead{font-size:20px;line-height:1.6;color:var(--text-3);max-width:44ch;margin-top:28px}
[class^=story-] h2{font-size:clamp(44px,5.4vw,80px);font-weight:600;letter-spacing:-.055em;line-height:1.04;max-width:16ch}
.glow,.hero-display,.cadence dt,.closing-stack h2 span{background:linear-gradient(180deg,#ffe2cf 0%,#f6b08a 50%,#e27a4e 100%);-webkit-background-clip:text;background-clip:text;color:transparent}

.story-hero{padding:96px 0 0;text-align:center;overflow:hidden}
.hero-stack{display:flex;flex-direction:column;align-items:center}
.hero-eyebrow{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:600;color:var(--text-3)}
.pulse{width:8px;height:8px;border-radius:50%;background:var(--brand-ink);box-shadow:0 0 0 5px rgb(243 175 141 / .16)}
.story-hero h1{max-width:none;margin-top:26px;display:flex;flex-direction:column;align-items:center;font-weight:600}
.hero-kicker{font-size:clamp(28px,3vw,42px);letter-spacing:-.04em;line-height:1.1}
.hero-display{font-size:clamp(64px,9.4vw,144px);letter-spacing:-.07em;line-height:1;padding:0 .04em .08em}
.hero-lead{font-size:20px;line-height:1.6;color:var(--text-3);max-width:42ch;margin-top:22px}
.hero-actions{justify-content:center;margin-top:36px}
.hero-object{position:relative;width:min(720px,88vw);aspect-ratio:1;margin:56px auto 0}
.hero-object img{display:block;width:100%;height:100%;-webkit-mask-image:radial-gradient(closest-side,#000 64%,transparent 98%);mask-image:radial-gradient(closest-side,#000 64%,transparent 98%)}
.hero-ring{position:absolute;inset:3%;border-radius:50%;border:1px solid var(--border-2);z-index:1}
.hero-ring:before{content:'';position:absolute;inset:-2px;border-radius:50%;background:conic-gradient(from -40deg,var(--brand-ink) 0 22.2%,transparent 22.2%);-webkit-mask-image:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 2.5px));mask-image:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 2.5px))}
.hero-ring span,.dial-label{position:absolute;transform:translate(-50%,-50%);padding:5px 13px;border-radius:100px;background:var(--bg);font-size:13px;font-weight:600;color:var(--text-3);white-space:nowrap}
.hero-ring span:nth-child(1){left:50%;top:0;color:var(--text)}.hero-ring span:nth-child(2){left:100%;top:50%}.hero-ring span:nth-child(3){left:50%;top:100%}.hero-ring span:nth-child(4){left:0;top:50%}

.story-statement{padding:150px 0 130px}
.statement{font-size:clamp(32px,4.1vw,60px);font-weight:600;letter-spacing:-.045em;line-height:1.15;max-width:25ch}
.statement em{font-style:normal}.statement em span{color:var(--brand-ink)}

.story-loop{padding:40px 0 150px}
.loop-intro h2{font-size:clamp(48px,6.6vw,100px);letter-spacing:-.06em;line-height:1}
.loop-stage{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;margin-top:40px}
.loop-dial{grid-column:2;grid-row:1;align-self:start;position:sticky;top:max(24px,calc(50vh - 250px))}
.loop-steps{grid-column:1;grid-row:1;list-style:none;margin:0;padding:0}
.loop-step{min-height:76vh;display:flex;flex-direction:column;justify-content:center;transition:opacity .3s ease}
.loop-stage.is-live .loop-step:not(.is-current){opacity:.3}
.step-name{display:flex;gap:14px;font-size:15px;font-weight:600;color:var(--brand-ink)}.step-name span{color:var(--text-3);font-variant-numeric:tabular-nums}
.loop-step h3{font-size:clamp(30px,3vw,44px);font-weight:600;letter-spacing:-.045em;line-height:1.12;max-width:15ch;margin-top:18px}
.loop-step p:last-child{font-size:18px;color:var(--text-3);max-width:40ch;margin-top:22px}
.dial{position:relative;width:min(500px,100%);aspect-ratio:1;margin:0 auto}
.dial svg{display:block;width:100%;height:100%;overflow:visible}
.dial-track{fill:none;stroke:var(--border-2);stroke-width:1.5}
.dial-arc{fill:none;stroke:var(--brand-ink);stroke-width:4;stroke-linecap:round;transition:stroke .3s ease}
.dial[data-active] .dial-arc{stroke:rgb(246 243 237 / .2)}
.dial[data-active=orient] .dial-observe,.dial[data-active=decide] :is(.dial-observe,.dial-orient),.dial[data-active=act] :is(.dial-observe,.dial-orient,.dial-decide){stroke:rgb(243 175 141 / .42)}
.dial[data-active=observe] .dial-observe,.dial[data-active=orient] .dial-orient,.dial[data-active=decide] .dial-decide,.dial[data-active=act] .dial-act{stroke:var(--brand-ink)}
.dial-marker{transform-box:view-box;transform-origin:200px 200px;transform:rotate(calc(var(--turn,0) * 360deg - 45deg))}
.dial-marker circle{fill:var(--text);stroke:var(--bg);stroke-width:5}
.dial-label-observe{left:50%;top:7.5%}.dial-label-orient{left:92.5%;top:50%}.dial-label-decide{left:50%;top:92.5%}.dial-label-act{left:7.5%;top:50%}
.dial[data-active=observe] .dial-label-observe,.dial[data-active=orient] .dial-label-orient,.dial[data-active=decide] .dial-label-decide,.dial[data-active=act] .dial-label-act{color:var(--text)}
.dial-mark{position:absolute;inset:33%;color:var(--brand-ink)}.dial-mark svg{width:100%;height:100%;fill:currentColor}
.loop-return{font-size:clamp(26px,2.6vw,36px);font-weight:600;letter-spacing:-.04em;line-height:1.2;max-width:26ch;margin-top:72px}

.story-cadence{padding:110px 0 150px;background:linear-gradient(180deg,var(--bg) 55%,#211b17)}
.cadence{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px;margin:72px 0 0}
.cadence>div{border-top:1px solid var(--border-2);padding-top:30px}
.cadence dt{font-size:clamp(34px,3.6vw,52px);font-weight:600;letter-spacing:-.05em;line-height:1.1;width:fit-content;padding-bottom:.06em}
.cadence dd{margin:18px 0 0;font-size:17px;color:var(--text-3);max-width:34ch}.cadence strong{color:var(--text);font-weight:600}

.story-morning{padding:150px 0 130px;background:linear-gradient(180deg,#f5d9c7,var(--bg) 460px)}
.morning-grid,.agents-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:88px;align-items:start}
.morning-heading .text-link{margin-top:24px}
.morning-list{margin:8px 0 0}
.morning-list>div{padding:28px 0;border-top:1px solid var(--border-2)}.morning-list>div:first-child{border:0;padding-top:0}
.morning-list dt{font-size:22px;font-weight:600;letter-spacing:-.035em}
.morning-list dd{margin:10px 0 0;color:var(--text-3);font-size:16px;max-width:44ch}
.story-agents{padding:40px 0 150px}
.agents-grid{align-items:center}
.agents-detail{margin-top:20px;color:var(--text-3);font-size:16px;max-width:46ch}
.agents-copy .text-link{margin-top:22px}
.agents-ask{background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow-2);border-radius:var(--r-xl);padding:56px 52px}
.agents-ask blockquote{margin:0}
.agents-ask blockquote p{font-size:clamp(26px,2.6vw,36px);font-weight:600;letter-spacing:-.04em;line-height:1.22;max-width:20ch}
.agents-ask figcaption{margin-top:28px;font-size:14px;color:var(--text-3)}

.story-closing{padding:170px 0}
.closing-stack{display:flex;flex-direction:column;align-items:center;text-align:center}
.closing-stack h2{font-size:clamp(48px,7vw,104px);letter-spacing:-.065em;line-height:1.02;max-width:none}
.closing-stack h2 span{display:inline-block;padding-bottom:.08em}
.closing-stack p{color:var(--text-3);font-size:20px;margin-top:24px}
.closing-stack .actions{justify-content:center;margin-top:34px}

:root[data-theme=dark] .story-morning{background:linear-gradient(180deg,#2c221c,var(--bg) 460px)}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .story-morning{background:linear-gradient(180deg,#2c221c,var(--bg) 460px)}}

@supports (animation-timeline:view()){@media(prefers-reduced-motion:no-preference){
.rise{animation:rise linear both;animation-timeline:view();animation-range:entry 0% entry 55%}
.statement span{animation:lit linear both;animation-timeline:view();animation-range:entry 100% cover 42%}
}}
@keyframes rise{from{opacity:0;transform:translateY(56px)}}
@keyframes lit{from{color:rgb(246 243 237 / .16)}}

@media(max-width:1050px){.loop-stage{gap:40px}.morning-grid,.agents-grid{gap:48px}.cadence{gap:32px}.agents-ask{padding:40px}}
@media(max-width:760px){
.story-hero{padding-top:56px}.hero-eyebrow{font-size:14px}.story-hero h1{margin-top:20px}.hero-lead{font-size:17px;max-width:34ch}.hero-actions{margin-top:28px}
.hero-object{width:min(560px,calc(100vw - 104px));margin-top:48px}.hero-ring span{font-size:12px;padding:4px 10px}
.story-statement{padding:96px 0 80px}.story-lead{font-size:18px}
.story-loop{padding:24px 0 100px}
.loop-stage{display:block;margin-top:32px}
.loop-dial{position:sticky;top:0;z-index:1;background:var(--bg);padding:16px 0 12px}.loop-dial:after{content:'';position:absolute;left:0;right:0;top:100%;height:48px;background:linear-gradient(var(--bg),transparent)}
.dial{width:min(232px,64vw)}.dial-label{font-size:11px;padding:3px 8px}
.loop-step{min-height:calc(100svh - 280px);padding:32px 0}.loop-stage.is-live .loop-step:not(.is-current){opacity:1}
.loop-step p:last-child{font-size:17px}.loop-return{margin-top:40px}
.story-cadence{padding:80px 0 100px}.cadence{grid-template-columns:1fr;gap:36px;margin-top:48px}
.story-morning{padding:100px 0 80px}.morning-grid,.agents-grid{grid-template-columns:1fr;gap:40px}
.story-agents{padding:20px 0 100px}.agents-ask{padding:32px 28px}
.story-closing{padding:110px 0}.closing-stack p{font-size:18px}
}
