/* The page shares one blue palette; transitions happen inside content, without empty spacer sections. */
html{scroll-behavior:auto}
.signal-strip{position:relative;z-index:2;border:0}
.signal-strip:after{content:'';position:absolute;top:100%;left:0;right:0;height:94px;background:linear-gradient(180deg,#071629 0%,#466b89 40%,#eef2f6 100%);pointer-events:none}
.intro{padding-top:125px;padding-bottom:78px}
.explore{padding-top:90px;padding-bottom:120px}
.lookup{padding-top:125px;padding-bottom:130px}
.journey{padding-top:135px;padding-bottom:35px;background:linear-gradient(180deg,#e0edf5 0%,#244665 105px,#0a192b 190px,#0a192b calc(100% - 105px),#e4edf4 100%)}
.journey .story-stack{padding-bottom:90px}
.network{padding-top:105px;padding-bottom:120px}
.field-notes{padding-top:110px;padding-bottom:125px}
.method{padding-top:115px;padding-bottom:115px}
.final-cta{background:linear-gradient(180deg,#dfeaf3 0%,#315b7e 95px,#06162a 175px,#06162a 100%);padding-top:130px}

/* GooeyNav: a compact sliding selection with a short particle bloom on choice. */
.desktop-nav{isolation:isolate}
.nav-indicator{box-shadow:0 0 18px #a5d6ff4a;transition:transform .42s cubic-bezier(.22,1,.36,1),width .34s cubic-bezier(.22,1,.36,1)}
.gooey-particles{position:absolute;inset:0;pointer-events:none;overflow:visible;z-index:2}
.gooey-particle{position:absolute;width:9px;height:9px;border-radius:50%;background:var(--particle,#b9ddff);box-shadow:0 0 14px var(--particle,#b9ddff);pointer-events:none}

/* Dock: section-specific glyphs stay out of the hero, then offer quick navigation. */
.signal-dock{position:fixed;left:50%;bottom:20px;z-index:45;display:flex;gap:5px;padding:7px 9px;border:1px solid #9ec6e475;border-radius:20px;background:#09233bdc;box-shadow:0 18px 45px #03142555,inset 0 1px #ffffff1e;backdrop-filter:blur(24px);transform:translate(-50%,calc(100% + 32px));opacity:0;pointer-events:none;transition:transform .46s cubic-bezier(.2,.8,.2,1),opacity .35s}
.signal-dock.visible{transform:translate(-50%,calc(100% - 13px));opacity:.92;pointer-events:auto}
.signal-dock.visible:hover,.signal-dock.visible:focus-within{transform:translate(-50%,0);opacity:1}
.signal-dock a{--mag:1;position:relative;width:46px;height:46px;display:grid;place-items:center;flex:none;border-radius:13px;color:#b8d7ec;background:#ffffff0a;transform:translateY(calc((var(--mag) - 1)*-14px)) scale(var(--mag));transform-origin:bottom center;transition:transform .15s ease,background .22s,color .22s;outline-offset:4px}
.signal-dock a:hover,.signal-dock a:focus-visible,.signal-dock a.active{background:#cdeaff;color:#102b44}
.signal-dock svg{width:22px;height:22px;display:block}
.signal-dock a>span{position:absolute;bottom:calc(100% + 11px);left:50%;transform:translate(-50%,8px);opacity:0;pointer-events:none;white-space:nowrap;border:1px solid #82acd0;background:#082038ed;color:#ebf8ff;padding:7px 10px;border-radius:7px;font:10px var(--mono);transition:opacity .18s,transform .18s}
.signal-dock a:hover>span,.signal-dock a:focus-visible>span{opacity:1;transform:translate(-50%,0)}
.signal-dock a.active:after{content:'';position:absolute;width:4px;height:4px;bottom:3px;border-radius:50%;background:#408aca}

/* Stack: physical registry cards with a clear drag/click affordance. */
.record-stack-area{margin-top:38px}
.stack-instruction{display:flex;justify-content:space-between;gap:10px;font:500 10px var(--mono);letter-spacing:.1em;color:#4d7390;margin-bottom:16px}
.stack-instruction b{font-weight:500;color:#1d5e93}
.record-stack{height:218px;position:relative;perspective:900px;cursor:grab;touch-action:pan-y;outline-offset:7px}
.record-stack:active{cursor:grabbing}
.record-stack-card{position:absolute;inset:0 12px 10px 0;display:flex;flex-direction:column;justify-content:space-between;padding:26px 30px;border:1px solid #78aad0;border-radius:13px;background:radial-gradient(circle at 80% 25%,#2f648a,#0d3152 70%);box-shadow:0 18px 32px #123d5a30;color:#eff9ff;user-select:none;transition:transform .55s cubic-bezier(.2,.8,.2,1),opacity .4s,filter .4s;will-change:transform;pointer-events:none}
.record-stack-card[data-top="true"]{pointer-events:auto}
.record-stack-card span,.record-stack-card small{font:500 10px var(--mono);letter-spacing:.12em;color:#b1d8f2}
.record-stack-card strong{font:600 clamp(27px,3vw,40px)/1.05 var(--sans);letter-spacing:-.06em}
.record-stack-card:nth-child(2){background:radial-gradient(circle at 78% 20%,#386f96,#143c5e 70%)}
.record-stack-card:nth-child(3){background:radial-gradient(circle at 78% 20%,#4d7da0,#1e4866 70%)}

/* ScrollStack: cards pin, then recede gently as the next verified step arrives. */
.journey .story-card,.journey .story-card:nth-child(2),.journey .story-card:nth-child(3){transform:none;transform-origin:top center;transition:filter .25s ease;will-change:transform,filter}
.journey .story-card:nth-child(1){top:90px}
.journey .story-card:nth-child(2){top:115px}
.journey .story-card:nth-child(3){top:140px}
@media(max-width:800px){.signal-dock{display:none}.intro,.explore,.lookup,.network,.field-notes,.method{padding-top:95px;padding-bottom:95px}.journey{padding-top:110px}.journey .story-card:nth-child(n){top:76px}}
@media(max-width:550px){.signal-strip:after{height:60px}.intro{padding-top:90px}.record-stack{height:205px}.record-stack-card{padding:22px}.journey .story-card:nth-child(n){position:relative;top:auto;transform:none!important;filter:none!important}.journey .story-stack{padding-bottom:35px}}
@media(prefers-reduced-motion:reduce){.signal-dock,.signal-dock a,.record-stack-card,.nav-indicator{transition:none!important}.journey .story-card{transform:none!important;filter:none!important}}
