:root{--ink:#153d70;--muted:#526b87;--paper:#fff;font-family:'Space Grotesk',sans-serif;color:var(--ink);color-scheme:light}*{box-sizing:border-box}html,body{margin:0;background:var(--paper)}a{color:inherit;text-decoration:none}a:hover{color:#4176b5}a:focus-visible,button:focus-visible,main:focus-visible{outline:2px solid #7394bd;outline-offset:4px}header{position:fixed;inset:0 0 auto;z-index:8;display:flex;justify-content:space-between;align-items:center;padding:22px 5.5%;background:linear-gradient(#fff 65%,#ffffff00)}.wordmark{font-size:28px;font-weight:500;letter-spacing:-1.1px;display:flex;gap:12px;align-items:center;min-height:44px}.wordmark span{font-size:23px;font-weight:400}.contact{font-size:14px;min-height:44px;display:flex;align-items:center;gap:24px}.skip{position:fixed;top:-90px;left:10px;padding:14px;background:var(--ink);color:#fff;z-index:20}.skip:focus{top:10px}#experience{height:100svh;width:100%;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scrollbar-width:none;position:relative;scroll-snap-type:x proximity}#experience::-webkit-scrollbar{display:none}.track{display:flex;height:100%;width:300%}.chapter{width:33.333333%;height:100%;position:relative;scroll-snap-align:start;flex-shrink:0;display:flex;align-items:center;padding:120px 5.5vw}.copy{max-width:390px;width:31vw;position:relative;z-index:3}.eyebrow{font-size:12px;color:var(--muted);margin:0 0 22px}.copy h1,.copy h2{font-weight:400;font-size:clamp(27px,2.65vw,40px);line-height:1.16;letter-spacing:-1.2px;margin:0 0 20px;text-wrap:balance}.copy>p:not(.eyebrow){font-size:16px;line-height:1.75;color:var(--muted);margin:0}.next,.email{display:inline-flex;align-items:center;min-height:44px;font-size:14px;gap:24px;margin-top:25px}.next,.email{border-bottom:1px solid #bbcadc}.email{gap:16px}.art{position:fixed;top:9svh;right:2%;height:82svh;width:65%;pointer-events:none}.art-image,#particles{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.art-image{opacity:0}.art-image:first-child{opacity:1}#particles{opacity:0}.enhanced .copy{position:fixed;left:5.5vw;top:50%;transform:translateY(-50%);pointer-events:none;opacity:0}.enhanced .copy.is-current{pointer-events:auto}footer{position:fixed;bottom:20px;left:5.5%;right:5.5%;display:flex;align-items:center;justify-content:space-between;z-index:8;gap:12px;background:linear-gradient(#ffffff00,#fff 45%);font-size:12px;color:var(--muted)}.scroll-hint{display:flex;gap:18px;align-items:center}footer nav{display:flex;align-items:center;gap:4px}footer nav a,footer button{height:44px;min-width:44px;display:grid;place-items:center;font:12px 'IBM Plex Mono',monospace;border:0;background:none;color:var(--muted);cursor:pointer}footer nav a[aria-current]{color:var(--ink);text-decoration:underline;text-underline-offset:7px}footer button{font-size:19px;color:var(--ink)}footer button:disabled{opacity:.25;cursor:default}.footer-note{font-size:11px}.enhanced #experience{scroll-snap-type:none}.next span,.contact span,.email span{transition:transform .2s}.next:hover span{transform:translateX(4px)}.contact:hover span,.email:hover span{transform:translate(2px,-2px)}
@media(max-width:900px){.copy{width:37vw}.art{right:-3%;width:65%}.copy h1,.copy h2{font-size:29px}.copy>p:not(.eyebrow){font-size:15px}.footer-note{display:none}}
@media(max-width:600px){header{padding:16px 6%}.wordmark{font-size:24px;gap:9px}.contact{font-size:13px;gap:12px}.chapter{padding:108px 7vw 80px;align-items:flex-start}.copy{width:86vw;max-width:400px}.enhanced .copy{top:115px;left:7vw;transform:none}.eyebrow{margin-bottom:14px;font-size:12px}.copy h1,.copy h2{font-size:clamp(22px,7vw,28px);letter-spacing:-.8px;margin-bottom:14px}.copy>p:not(.eyebrow){font-size:16px;line-height:1.6}.next,.email{margin-top:14px;font-size:14px;min-height:44px}.art{top:auto;bottom:76px;right:0;width:100%;height:46svh}footer{bottom:12px;left:5%;right:5%;gap:4px}.scroll-hint{font-size:11px;gap:8px}footer nav{gap:0}footer nav a,footer button{min-width:44px}.footer-note{display:none}}
@media(max-width:600px) and (max-height:700px){.enhanced .copy{top:88px}.chapter{padding-top:88px}.eyebrow{margin-bottom:10px}.copy h1,.copy h2{font-size:clamp(22px,7vw,25px);margin-bottom:9px}.copy>p:not(.eyebrow){font-size:16px}.next,.email{margin-top:3px}.art{height:38svh;bottom:64px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}
@media print{header,footer{position:static}#experience{height:auto;overflow:visible}.track{display:block;width:auto}.chapter{width:auto;height:auto;padding:25px}.enhanced .copy{position:static;transform:none!important;opacity:1!important;width:auto}.art{display:none}}
/* Continuous, draggable scene position below the numbered navigation. */
.scene-selector{display:flex;flex-direction:column;align-items:stretch}
.scene-labels{display:flex;gap:4px}
footer nav a[aria-current]{text-decoration:none}
.scene-scrubber{display:block;appearance:none;-webkit-appearance:none;width:100%;min-width:0;height:24px;margin:-7px 0 0;padding:0;border:0;background:transparent;cursor:ew-resize;touch-action:none;border-radius:0}
.scene-scrubber::-webkit-slider-runnable-track{height:1px;background:#c3d1e1}
.scene-scrubber::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:44px;height:3px;margin-top:-1px;border:0;border-radius:0;background:var(--ink)}
.scene-scrubber::-moz-range-track{height:1px;background:#c3d1e1}
.scene-scrubber::-moz-range-thumb{width:44px;height:3px;border:0;border-radius:0;background:var(--ink)}
.scene-scrubber:hover::-webkit-slider-thumb,.scene-scrubber:active::-webkit-slider-thumb{height:5px;margin-top:-2px}
.scene-scrubber:hover::-moz-range-thumb,.scene-scrubber:active::-moz-range-thumb{height:5px}
.scene-scrubber:focus-visible{outline:2px solid #7394bd;outline-offset:3px}
@media(max-width:600px){.scene-labels{gap:4px}footer{bottom:env(safe-area-inset-bottom,0px)}.scene-scrubber{height:44px;margin-top:0}}

footer{display:grid;grid-template-columns:1fr auto 1fr}footer nav{grid-column:2}.footer-note{grid-column:3;justify-self:end}

.wordmark .brand-mark{width:32px;height:32px;flex-shrink:0}@media(max-width:600px){.wordmark .brand-mark{width:27px;height:27px}.wordmark{gap:10px}}

#people-title,#sensors-title{white-space:nowrap;text-wrap:nowrap}
