/* Perpetual — an editorial frame around a physical archive. */
:root{--white:#FFFFFF;--mist:#F6F8FB;--navy:#0C1430;--ink:#0A0F1E;--slate:#4C5566;--cobalt:#3D53C6;--blue2:#1B2A5E;--line:rgba(12,20,48,.13);--line2:rgba(12,20,48,.23);--cob-t:rgba(61,83,198,.08);--cob-t2:rgba(61,83,198,.13);--ease:cubic-bezier(.16,1,.3,1)}
html{scroll-padding-top:110px}body{background:#E9E5DE}::selection{color:#fff;background:#3D53C6}
.nav{padding:23px clamp(22px,4vw,64px);gap:24px}.brand{gap:11px}.brand img{width:29px;height:29px}.brand span{font-size:14px;letter-spacing:.2em}
.nav-links{display:flex;align-items:center;gap:30px;margin-left:auto;margin-right:20px}.nav-links a{font-size:14px;text-decoration:none;color:var(--navy);position:relative}.nav-links a::after{content:"";position:absolute;bottom:-6px;left:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}.nav-links a:hover::after{transform:scaleX(1)}.nav.dark .nav-links a{color:#F6F8FB}.nav.solid .nav-links a{color:var(--navy)}
.nav.solid{background:rgba(255,255,255,.92);backdrop-filter:blur(18px)}
.btn{padding:13px 22px;border-radius:5px;gap:20px;min-height:48px;font-size:14px;transition:background .3s,box-shadow .3s,transform .4s var(--ease)}.btn:hover{transform:translateY(-2px);box-shadow:0 7px 18px -10px #0C143080}.btn:active{transform:translateY(0)}.btn.ghost{background:transparent;border-color:var(--line2)}.btn.ghost:hover{background:rgba(255,255,255,.55)}.arrow{font-size:19px;line-height:1;transition:transform .4s var(--ease)}a:hover .arrow{transform:translateX(4px)}
#story{height:1550vh}
.scrim{background:linear-gradient(90deg,rgba(246,248,251,.98) 0%,rgba(246,248,251,.93) 25%,rgba(246,248,251,.75) 39%,rgba(246,248,251,.16) 58%,transparent 74%)}
.hero{left:clamp(24px,5vw,80px);max-width:580px;top:48%;transform:translateY(-45%)}.hero.on{transform:translateY(-45%)}
.eyebrow{display:flex;align-items:center;gap:13px;font:500 11px/1.4 var(--mono);text-transform:uppercase;letter-spacing:.16em;color:var(--blue2);margin-bottom:25px}.eyebrow::before{content:"";height:1px;width:28px;background:currentColor}
.hero h1{font-size:clamp(52px,5.4vw,82px);line-height:.99;letter-spacing:-.038em;max-width:590px}.hero h1 em{font-weight:400;color:#3D53C6}.hero p{font-size:17px;line-height:1.7;max-width:420px;margin-top:25px}.hero .quote{font-size:12px;line-height:1.6;max-width:400px;margin-top:25px;color:#4C5566}.hero .quote::before{width:5px;height:5px}.hero .ctas{margin-top:28px;gap:12px}
.scene-shade{position:fixed;inset:0;z-index:1;pointer-events:none;background:radial-gradient(ellipse at 55% 42%,transparent 40%,rgba(12,20,48,.16) 100%);opacity:.65}
.scene-note{position:fixed;right:4vw;top:105px;z-index:6;font:10px/1.7 var(--mono);letter-spacing:.11em;text-transform:uppercase;color:rgba(12,20,48,.6);text-align:right;pointer-events:none;transition:opacity .5s}.scene-note span{display:block;color:rgba(12,20,48,.4)}
.story-controls{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);z-index:21;display:flex;gap:2px;padding:5px;border:1px solid rgba(255,255,255,.55);border-radius:8px;background:rgba(246,248,251,.87);box-shadow:0 6px 35px #0C143012;backdrop-filter:blur(16px);transition:opacity .4s,transform .5s var(--ease)}
.story-controls button{cursor:pointer;border:0;background:transparent;border-radius:4px;padding:10px 13px;font-size:12px;white-space:nowrap;color:#4C5566;transition:background .4s,color .4s}.story-controls button:hover{background:#E8ECF7}.story-controls button[aria-current="step"]{color:#fff;background:#3D53C6}.story-controls button span{font-family:var(--mono);font-size:10px;margin-right:6px;opacity:.6}
.scroll-cue{position:fixed;left:5vw;bottom:38px;z-index:6;display:flex;gap:15px;align-items:center;font:10px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:#4C5566;transition:opacity .5s;pointer-events:none}.scroll-cue i{width:1px;height:34px;background:#ADB5C7;overflow:hidden}.scroll-cue i::after{content:"";display:block;height:15px;background:#3D53C6;animation:scroll-line 2.5s ease-in-out infinite}@keyframes scroll-line{0%{transform:translateY(-16px)}70%,100%{transform:translateY(36px)}}
.story-exited .story-controls{opacity:0;transform:translate(-50%,20px);pointer-events:none}.story-exited .scene-note,.story-exited .scene-shade,.story-exited .scroll-cue{opacity:0}.past-intro .scene-note,.past-intro .scroll-cue{opacity:0}.chap{bottom:35px;right:4vw;font-size:11px}.chap b{color:var(--blue2);margin-bottom:5px}
.cap{left:4vw;bottom:110px;padding:28px;width:min(370px,calc(100% - 48px));border-radius:6px;background:rgba(255,255,255,.95);border-color:#ffffffc0;box-shadow:0 20px 60px -30px #0C143055;backdrop-filter:blur(12px)}.cap h2{font-size:34px;line-height:1.04;letter-spacing:-.02em}.cap p{font-size:15px;line-height:1.65}.cap .eyebrow{font-size:10px;margin-bottom:15px}.aisles{grid-template-columns:1fr;gap:4px}.aisles li{font-size:13px}.aisles li::before{font-size:10px}.aisles button{border:0;background:transparent;text-align:left;cursor:pointer;font-size:inherit;color:inherit;width:100%;padding:4px 0}.aisles li:not(.on){color:#7A8396}.aisles li.on::before{color:#3D53C6}.hoverhint{font-size:12px;margin-top:17px;padding-top:13px;border-top:1px solid var(--line)}
#c-scan{width:min(420px,calc(100% - 48px))}.doc{border-radius:4px}.doc-h{flex-wrap:wrap}.doc-b{font-size:13px}.doc-h span,.doc-f{font-size:10px}.seg{border-radius:4px}.seg button{border-radius:2px}.cap .note{font-size:10px}.bx{border-radius:8px;background:#FFFFFF}.bx-h h3{font-size:35px}.bx-x{border-radius:4px}.tag{font-size:12px;border-radius:4px}.tag.world{border-radius:4px}.tip{border-radius:5px}.rng-big{color:#0C1430}
.wrap{max-width:1280px;padding:0 clamp(24px,5vw,80px)}section.sec{padding:110px 0}.sec h2{font-size:clamp(40px,4.3vw,64px);letter-spacing:-.025em;max-width:760px}.section-label{font:11px/1.5 var(--mono);letter-spacing:.13em;text-transform:uppercase;color:var(--blue2);margin-bottom:26px;display:flex;gap:15px}.section-label span{opacity:.45}.lede{font-size:17px;line-height:1.75}
#pay{background:#0C1430;color:#E8ECF7;border-radius:18px 18px 0 0;margin-top:-18px}#pay h2{color:#FFFFFF}#pay .section-label{color:#AEB9F0}.pay{gap:0;margin-top:55px;border-top:1px solid #ffffff24;border-bottom:1px solid #ffffff24}.card{padding:36px 45px 37px 0;border:0;border-radius:0;background:transparent}.card+.card{border-left:1px solid #ffffff24;padding-left:45px}.card h3{color:#FFFFFF;font-size:37px}.card p{color:#C2C9DC;max-width:440px;font-size:16px;line-height:1.8}.card .when{color:#AEB9F0;font-size:11px;margin-top:27px;letter-spacing:.05em}.card svg{opacity:.8}.card svg [stroke]{stroke:#AEB9F0}.card svg [fill="#fff"]{fill:#0C1430}.card svg [fill="#0C1430"]{fill:#AEB9F0}.either{color:#E2E7F3;font-size:15px;margin-top:30px}#pay .quoteline{color:#AFBAD4;font-size:13px;margin-top:13px}
#privacy{background:#FFFFFF}.rules{border-top:1px solid #3D53C6;margin-top:50px}.rule{padding-top:28px}.rule h3{font-size:25px}.rule h3 i{width:8px;height:8px;border-width:2px}.rule li{font-size:15px;line-height:1.7;padding:10px 0;border-color:#E3E7F0}.contract{font-size:14px;padding-top:16px}
.cred{background:#F1F3F9}.cred h2{max-width:710px}.cred .big{font-size:clamp(23px,2.25vw,31px);line-height:1.5;max-width:820px;color:#1B2A5E}.prev{margin-top:55px;text-transform:uppercase;letter-spacing:.1em;font-size:10px}.mq span{height:70px}.mq img{filter:none;opacity:1}.val{background:#FFFFFF}.vgrid{gap:90px;margin-top:55px}.opt{border-radius:5px;background:transparent}.opt:hover{background:#F1F3FA}.chip{font-size:14px}.glyphdisc{background:radial-gradient(closest-side,#E5EAF8 0%,#F1F3FA 65%,transparent 100%)}.req input,.req textarea,.summary{border-radius:5px}.q{font-size:35px}.hint{font-size:15px;line-height:1.6}.progress{margin-bottom:20px}.progress .bars b{border-radius:0}.link{font-size:14px}.reveal{transition:opacity .85s ease,transform 1s var(--ease)}.reveal.awaiting{opacity:0;transform:translateY(24px)}footer{background:#F6F8FB;padding:32px 0;font-size:12px;line-height:1.7}footer .tm{max-width:500px}
.hero:not(.on),.cap:not(.on){visibility:hidden;transition:opacity .55s ease,transform .75s var(--ease),visibility .55s}.hero.on,.cap.on{visibility:visible}.overlay.gone{visibility:hidden}.bx:not(.on){visibility:hidden}.bx.on{visibility:visible}.skip-link{position:fixed;top:-100px;left:20px;z-index:99;padding:12px 20px;background:#fff}.skip-link:focus{top:14px}
.browse-tools{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}.browse-tools button{font-size:12px;cursor:pointer;border:1px solid var(--line2);background:transparent;padding:5px 9px;border-radius:4px}.browse-tools button:hover{background:#E8ECF7}.browse-tools:empty{display:none}
body.nogl #story{display:none}body.nogl #overlay{position:relative;display:grid;gap:30px;padding:140px 24px 80px;background:#F6F8FB;pointer-events:auto}body.nogl #overlay .hero,body.nogl #overlay .cap{position:static;opacity:1;visibility:visible;transform:none!important;width:auto;max-width:760px;margin:auto;pointer-events:auto}body.nogl #overlay .hero{margin-bottom:30px}body.nogl #overlay .scrim,body.nogl #overlay #tags,body.nogl #overlay .chap,body.nogl .story-controls,body.nogl .scene-note,body.nogl .scroll-cue,body.nogl .scene-shade{display:none}
@media(min-width:1600px){.hero{max-width:660px}.hero h1{font-size:90px}.hero p{font-size:19px;max-width:480px}}
@media(max-width:1100px){.hero{max-width:470px}.hero h1{font-size:65px}.nav-links{gap:20px;margin-right:0}.vgrid{gap:40px}.story-controls button{padding:9px 10px}.scroll-cue{display:none}.cap{left:24px;width:340px}.hero p{max-width:380px}}
@media(max-width:820px){.nav{padding:15px 20px;background:rgba(246,248,251,.92);backdrop-filter:blur(14px);gap:12px}.brand span{font-size:11px;letter-spacing:.13em}.brand img{width:26px;height:26px}.nav .btn{min-height:40px;padding:9px 12px;font-size:12px}.nav .arrow,.nav-links{display:none}#story{height:1300vh}.hero{left:24px;right:24px;max-width:none;top:auto;bottom:112px;transform:none}.hero.on{transform:none}.hero h1{font-size:clamp(40px,8.6vw,66px);max-width:530px}.hero .eyebrow{font-size:9px;margin-bottom:15px}.hero p{font-size:16px;line-height:1.6;margin-top:17px;max-width:510px}.hero .ctas{margin-top:20px}.hero .quote{font-size:11px;margin-top:17px;max-width:370px}.scrim{background:linear-gradient(0deg,#F6F8FB 4%,rgba(246,248,251,.97) 31%,rgba(246,248,251,.8) 47%,rgba(246,248,251,.05) 77%,transparent)}.scene-note{top:86px;right:24px;font-size:9px}.story-controls{bottom:16px;max-width:calc(100% - 28px);gap:0;padding:4px;overflow-x:auto}.story-controls button{font-size:11px;padding:10px 9px}.story-controls button span{display:none}.cap{left:16px;right:16px;bottom:84px;max-height:calc(100svh - 172px);overflow:auto;padding:20px;width:auto}.cap h2{font-size:29px}.cap p{font-size:15px}.cap .eyebrow{margin-bottom:12px}.aisles{grid-template-columns:1fr 1fr;gap:2px 12px}.aisles li{font-size:12px}.aisles li::before{font-size:9px}.aisles button{padding:6px 0}.hoverhint{display:block;font-size:12px}.browse-tools{margin-top:9px}.chap{display:none}#c-scan,#c-pay{width:auto}.doc-b{font-size:12px}.doc-b dl{grid-template-columns:45px 1fr;gap:4px 6px}.doc-b dt{font-size:12px}.doc-h span{font-size:9px}.doc-h{gap:5px;padding:8px}.seg button{font-size:11px}.doc .x .tk{font-size:.8em}.doc-b p{font-size:12px}.wrap{padding:0 24px}section.sec{padding:74px 0}.sec h2{font-size:43px}.section-label{font-size:10px;margin-bottom:21px}.pay{grid-template-columns:1fr;margin-top:36px}.card{padding:30px 0}.card+.card{padding:30px 0;border-left:0;border-top:1px solid #ffffff24}.card h3{font-size:33px}.card p{font-size:16px}.rules{grid-template-columns:1fr}.rule+.rule{border-left:0;padding-left:0}.vgrid{margin-top:25px;gap:20px}.glyphbox{max-width:270px}.q{font-size:29px}.opts{gap:8px}.opt{font-size:14px;padding:13px}.scene-shade{opacity:.3}.bx,.bx.left{bottom:82px;max-height:calc(100svh - 160px)}.bx-k{font-size:9px}.tag.world{font-size:11px}.rng-big{font-size:39px}}
@media(max-width:390px){.hero{left:20px;right:20px;bottom:99px}.hero h1{font-size:41px}.hero p{font-size:15px}.hero .quote{display:none}.btn{padding:12px 15px;gap:10px}.brand span{font-size:10px}.story-controls button{padding:10px 7px}.cap{padding:17px}.cap h2{font-size:26px}.doc-h{justify-content:center}.hero .eyebrow{letter-spacing:.08em}}
@media(prefers-reduced-motion:reduce){.scene-shade{display:none}.reveal.awaiting{opacity:1;transform:none}html{scroll-behavior:auto!important}}
.nav{background:rgba(246,248,251,.86);backdrop-filter:blur(16px);border-bottom:1px solid rgba(12,20,48,.08);padding-top:17px;padding-bottom:17px}.nav.dark{background:rgba(12,20,48,.85)}.nav.dark.solid{background:rgba(246,248,251,.94)}.scene-note{display:none}.aisles{gap:1px}.aisles button{padding:2px 0}.cap{max-height:calc(100svh - 215px);overflow:auto}.overlay.bxopen #c-dept{visibility:hidden}#scene{transition:opacity .65s ease}.chapter-transition #scene{opacity:.06;transition-duration:.26s}.chapter-transition #overlay{opacity:0;transition-duration:.26s}.chapter-transition .scene-shade{opacity:0}.btn:focus-visible,.story-controls button:focus-visible,.aisles button:focus-visible,.browse-tools button:focus-visible{outline:2px solid #3D53C6;outline-offset:4px}
@media(max-width:820px){.nav{padding:13px 20px}.cap{max-height:calc(100svh - 167px)}.aisles button{padding:5px 0}.hero h1{line-height:1.02}}
@media(min-width:821px){#c-scan{width:min(460px,calc(100% - 48px))}#c-scan .doc-b p{font-size:13px;line-height:1.55}}
.hoverhint::before{flex:none}body.nogl .cap{max-height:none;overflow:visible}body.nogl .hoverhint,body.nogl .browse-tools,body.nogl #tip{display:none}body.nogl .aisles li{color:var(--slate)}

html{scroll-padding-top:84px}@media(max-width:820px){html{scroll-padding-top:68px}}
.hero h1 em{white-space:nowrap}

/* Reading and navigation should stay steady while the archive moves. */
.cap,.bx{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#B3BCD2 transparent}
.cap.on,.hero.on{transition:opacity .32s ease .1s,transform .55s var(--ease) .1s,visibility 0s}
.cap:not(.on),.hero:not(.on){transition:opacity .16s ease,transform .28s var(--ease),visibility 0s .16s}
.chapter-next,.example-back{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;margin-top:18px;padding:13px 0 0;border:0;border-top:1px solid var(--line);background:none;color:var(--cobalt);font-size:13px;line-height:1.4;text-decoration:none;cursor:pointer;text-align:left}
.chapter-next span,.example-back span{transition:transform .25s var(--ease)}
.chapter-next:hover span,.example-back:hover span{transform:translateX(3px)}
.chapter-next:focus-visible,.example-back:focus-visible,.bx-x:focus-visible,.seg button:focus-visible{outline:2px solid var(--cobalt);outline-offset:4px}
.browse-tools button{min-height:34px}.aisles li:not(.on){color:#5E687C}
.bx-h{position:sticky;top:0;z-index:2;background:#fff}.bx-x{width:40px;height:40px;top:12px;right:12px}
.bx-f .example-back{font-size:13px;font-weight:400}.vis{overflow-x:auto}
.doc-f{opacity:1;color:#647087}.doc.after .doc-f{color:var(--blue2)}
.req .field-error{color:#A93439;font-size:13px;line-height:1.45}.field-error[hidden]{display:none}
.req input[aria-invalid="true"]{border-color:#A93439}.req input[aria-invalid="true"]:focus{box-shadow:0 0 0 3px #A9343918}
@media(max-width:820px){.browse-tools button{min-height:38px;padding:8px 11px}.seg button{min-height:36px}.chapter-next{min-height:44px}}
.step{transition:opacity .22s ease,transform .36s var(--ease)}.step.leave{transition:opacity .16s ease,transform .2s var(--ease)}
.doc:not(.after) .doc-f{opacity:1}.req .field{display:grid;gap:6px;align-content:start}.preview-note{padding:11px 13px;background:var(--mist);border-left:2px solid var(--cobalt);font-size:13px;line-height:1.5;color:var(--blue2)}.preview-note[hidden]{display:none}
@media(max-width:980px){.glyphbox{order:1;margin-top:18px}.vgrid{gap:32px}}
@media(prefers-reduced-motion:reduce){.cap,.hero,.step,.step.leave{transition:none!important}}
