/* Homepage direction; other routes retain their existing styles. */
body.home{--bg:#f8f9f7;--ink:#232a26;--ink-soft:#59615c;--ink-faint:#68716a;--accent:#9a5836;--rule:#dce1da;--max:1160px;font-family:'Inter',Arial,sans-serif;background:var(--bg);color:var(--ink);position:relative;isolation:isolate}
.home .wrap{position:relative;z-index:1;padding:0 68px}
.home header{padding:30px 0 25px;border-bottom:1px solid var(--rule)}
.home .logo img{height:39px}
.home nav{gap:26px}
.home nav a{font-size:14px;font-weight:400;letter-spacing:-.02em}
.home nav a[aria-current=page]{font-weight:550}
.home main{padding:0}
.home section{margin:0}
.home .hero{padding:90px 0 40px}
.home .kicker{font-size:12px;letter-spacing:.13em;font-weight:500;color:var(--ink-soft);margin:0 0 25px}
.home h1{font-size:clamp(48px,6.4vw,88px);font-weight:450;line-height:1.08;letter-spacing:-.065em;margin:0}
.home h1 span{color:var(--accent);font-style:italic}
.home .stage{margin:28px -12px 5px}
.home .chip-trigger{display:block;width:100%;padding:0;border:0;background:transparent;text-align:left;cursor:default;border-radius:3px;color:inherit}
.home .chip-trigger:not(:disabled){cursor:pointer}
.home canvas{display:block;width:100%;height:355px}
.home .hero-bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:24px}
.home .hero-description{font-size:18px;font-weight:400;line-height:1.5;letter-spacing:-.025em;color:var(--ink-soft)}
.home .motion-controls{display:flex;gap:24px}
.home .motion-controls button{font:inherit;font-size:12px;min-height:44px;border:0;background:transparent;color:var(--ink-soft);cursor:pointer;padding:10px 0}
.home .motion-controls button:hover{color:var(--accent)}
.home .motion-controls button:disabled{opacity:.45;cursor:default}
.home .text-section{border-top:1px solid var(--rule);padding:86px 0 94px;display:grid;grid-template-columns:1fr 2fr;gap:50px}
.home .section-label{display:flex;align-items:baseline;gap:22px}
.home .section-label>span{font-size:12px;color:var(--ink-faint)}
.home h2{font-size:14px;font-weight:500;line-height:1.5;letter-spacing:0;text-transform:none;color:var(--ink);margin:0}
.home .section-copy{max-width:635px}
.home .section-copy p{font-size:17px;line-height:1.8;letter-spacing:-.022em;color:var(--ink-soft)}
.home .section-copy .statement{font-size:clamp(27px,3vw,39px);line-height:1.23;font-weight:450;letter-spacing:-.045em;color:var(--ink);margin-bottom:30px}
.home .section-copy p+p{margin-top:20px}
.home .text-link{display:inline-flex;gap:32px;align-items:center;min-height:44px;margin-top:33px;font-size:15px;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--ink)}
.home .text-link:hover{color:var(--accent);border-color:var(--accent)}
.home footer{margin-top:0;padding:30px 0 42px;font-size:13px}
.home .menu-toggle{display:none}
.home .page-wires{position:absolute;inset:90px 0 0;z-index:0;pointer-events:none;overflow:hidden;contain:paint}
.home .wire-rail{position:absolute;top:0;width:52px;height:100%;fill:none;stroke-width:.8}
.home .wire-left{left:max(12px,calc((100% - 1250px)/2))}
.home .wire-right{right:max(12px,calc((100% - 1250px)/2));transform:scaleX(-1)}
.home .wire-base{stroke:var(--ink);opacity:.085}
.home .wire-pulses{stroke:var(--accent);stroke-width:1.25;opacity:.44}
.home .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.home .skip-link{position:absolute;left:24px;top:12px;transform:translateY(-150%);background:var(--bg);padding:10px;z-index:100;color:var(--ink)}
.home .skip-link:focus{transform:none}
@media(min-width:1500px){.home .hero{padding-top:110px}.home canvas{height:390px}}
@media(max-width:800px){
 .home .wrap{padding:0 42px}.home nav{gap:16px}.home .logo img{height:32px}
 .home .hero{padding-top:68px}.home .stage{margin-left:-18px;margin-right:-18px}
 .home canvas{height:295px}.home .text-section{grid-template-columns:1fr;gap:30px;padding:62px 0 70px}
 .home .section-copy{max-width:none}.home .wire-rail{width:26px}.home .wire-left{left:3px}.home .wire-right{right:3px}
}
@media(max-width:600px){
 .home .wrap{padding:0 28px}.home header{padding:24px 0 20px}.home .hero{padding-top:57px}
 .home h1{font-size:clamp(43px,10vw,60px);max-width:440px}.home .kicker{font-size:12px;margin-bottom:23px}
 .home .stage{margin:24px -17px 4px}.home canvas{height:220px}
 .home .hero-description{font-size:16px}.home .hero-bottom{align-items:flex-start;gap:12px}
 .home .motion-controls{gap:14px}.home .motion-controls button{font-size:12px}
 .home .section-copy p{font-size:16px}.home .section-copy .statement{font-size:29px}
 .home .wire-rail{width:15px}.home .wire-base{opacity:.06}.home .wire-pulses{opacity:.3}
 .home .menu-toggle{display:flex;align-items:center;gap:15px;min-height:44px;background:transparent;border:0;color:var(--ink);font:inherit;font-size:14px;position:relative;z-index:30;cursor:pointer}
 .home .menu-toggle span{font-size:24px;font-weight:400}
 .home.menu-open nav{visibility:visible;opacity:1;transition:opacity .2s ease}
 .home.menu-open nav a{opacity:1;transform:none}
 .home nav{padding:112px 28px 30px;gap:0;overflow:auto}
 .home nav a{font-size:28px;padding:22px 0;flex-shrink:0}
 .home.menu-open{overflow:hidden}
 .home footer{gap:15px;font-size:12px}
}
@media(prefers-reduced-motion:reduce){.home .wire-pulses{display:none}.home *{scroll-behavior:auto!important;transition:none!important}}

/* System appearance on first visit; explicit choice is remembered. */
html[data-theme=light]{color-scheme:light;background:#f8f9f7}
html[data-theme=dark]{color-scheme:dark;background:#171b19}
html[data-theme=dark] body.home{--bg:#171b19;--ink:#e6eae4;--ink-soft:#b0b9b2;--ink-faint:#95a198;--accent:#dca17e;--rule:#353e37;--surface:#222923;--surface-strong:#2b342d}
.home .logo .logo-dark{display:none}
html[data-theme=dark] .home .logo .logo-dark{display:block}
html[data-theme=dark] .home .logo .logo-light{display:none}
html[data-theme=dark] .home .wire-base{opacity:.14}
html[data-theme=dark] .home .wire-pulses{opacity:.5}
.home .header-controls{display:flex;align-items:center;gap:30px}
.home .theme-toggle{order:2;min-height:44px;padding:0 0 0 22px;border:0;border-left:1px solid var(--rule);background:transparent;color:var(--ink-soft);font:inherit;font-size:12px;cursor:pointer;white-space:nowrap}
.home .theme-toggle:hover{color:var(--accent)}
.home .kicker{text-transform:none;letter-spacing:.015em;font-size:14px}
@media(max-width:900px){.home .header-controls{gap:18px}.home nav{gap:14px}.home .theme-toggle{padding-left:15px}}
@media(max-width:600px){.home .header-controls{gap:20px}.home .theme-toggle{order:0;border:0;padding:0;position:relative;z-index:30}.home .kicker{font-size:13px}}

@media(min-width:601px) and (max-width:760px){
 .home .menu-toggle{display:flex;align-items:center;gap:15px;min-height:44px;background:transparent;border:0;color:var(--ink);font:inherit;font-size:14px;position:relative;z-index:30;cursor:pointer}
 .home .logo{position:relative;z-index:30}.home .menu-toggle span{font-size:24px}
 .home .theme-toggle{order:0;border:0;padding:0;position:relative;z-index:30}
 .home nav{position:fixed;inset:0;z-index:20;background:var(--bg);display:flex;flex-direction:column;justify-content:flex-start;gap:0;padding:124px 42px 30px;visibility:hidden;opacity:0;overflow:auto}
 .home nav a{font-size:28px;line-height:1.2;padding:22px 0;border-top:1px solid var(--rule);flex-shrink:0}
 .home.menu-open nav{visibility:visible;opacity:1}.home.menu-open{overflow:hidden}
}

.home .stage{position:relative}
.home .macro-handle{position:absolute;border:0;padding:0;background:transparent;cursor:grab;touch-action:none;border-radius:2px}
.home .macro-handle[hidden]{display:none}
.home .macro-handle.dragging{cursor:grabbing}
.home nav a{font-size:15px}
.home .kicker{font-size:16px}
.home h2{font-size:17px}
.home .section-label>span{font-size:14px}
.home .section-copy p{font-size:18px}
.home .theme-toggle{font-size:14px}
.home footer{font-size:14px}
@media(max-width:760px){.home nav a{font-size:28px}.home .section-copy p{font-size:17px}.home .kicker{font-size:14px}}

.home h1{letter-spacing:-.035em;word-spacing:.035em}
.home .calculator-power{position:absolute;height:44px;padding:0 8px;display:flex;align-items:center;justify-content:center;gap:0;background:transparent;border:0;border-radius:24px;color:#293727;cursor:pointer;touch-action:manipulation;box-shadow:none}
.home .calculator-power[hidden]{display:none}
.home .calculator-power:disabled:not(.is-on){opacity:.4;cursor:default}
.home .calculator-power.is-on{cursor:default;box-shadow:none}
.home .toggle-track{display:block;position:relative;width:44px;height:25px;flex-shrink:0;background:#b6bfb0;border-radius:16px;box-shadow:inset 0 1px 3px #29372733}
.home .toggle-thumb{position:absolute;left:3px;top:3px;width:19px;height:19px;background:#e5e9df;border-radius:50%;box-shadow:0 1px 3px #29372744;transition:transform .2s ease}
.home .is-on .toggle-track{background:#567c50}
.home .is-on .toggle-thumb{transform:translateX(19px)}
.home .slack-readout{position:absolute;text-align:center;pointer-events:none;font-variant-numeric:tabular-nums}
.home .slack-readout[hidden]{display:none}
.home .slack-label{display:block;font-size:12px;line-height:1.4;color:var(--ink-soft)}
.home .slack-value{display:block;font-size:22px;line-height:1.2;letter-spacing:-.03em;color:#b23e37}
.home .slack-readout.is-met .slack-value{color:#47763e}
html[data-theme=dark] .home .slack-value{color:#f08b80}
html[data-theme=dark] .home .slack-readout.is-met .slack-value{color:#a5c991}
@media(max-width:600px){.home .slack-value{font-size:18px}}




.home .section-label .section-name{font-size:17px;font-weight:500;color:var(--ink)}

.home .hero-heading{text-align:center}
.home .hero-heading h1{max-width:none;margin:0 auto}
.home .hero-heading .kicker{margin:22px 0 0;font-size:18px;line-height:1.5;letter-spacing:-.01em}
@media(max-width:600px){.home .hero-heading .kicker{font-size:16px;margin-top:18px}}

/* A short switch demonstration; the real switch state changes only on activation. */
.home .calculator-power.show-nudge:not(:disabled):not(.is-on) .toggle-track{background:#967239;box-shadow:0 0 0 2px #e9bd6a88,0 0 14px #e4ad4f55}
.home .toggle-preview{position:absolute;left:3px;top:3px;width:19px;height:19px;border-radius:50%;background:#ffe2a4;opacity:0;pointer-events:none}
@keyframes switch-preview{0%,15%,85%,100%{transform:translateX(0);opacity:0}25%{transform:translateX(0);opacity:.8}55%,65%{transform:translateX(19px);opacity:.9}80%{transform:translateX(19px);opacity:0}}
@media(prefers-reduced-motion:no-preference){.home .calculator-power.show-nudge:not(:disabled):not(.is-on) .toggle-preview{animation:switch-preview 3.2s ease-in-out infinite}}
/* Subtle clock signals follow the section dividers. */
.home .text-section{position:relative}
.home .section-wire{position:absolute;left:0;top:-9px;width:100%;height:18px;fill:none;pointer-events:none;overflow:visible}
.home .section-wire .wire-base{opacity:.12;stroke-width:.75}
.home .section-wire .wire-pulses{opacity:.48;stroke-width:1.2}
@media(max-width:40rem){.home .section-wire .wire-pulses{opacity:.32}}
