
:root{color-scheme:dark;--ink:#080a09;--paper:#e9e6de;--text:#eeede5;--muted:#a0a39a;--accent:#dcccaf;--line:#ded2bd30;--sans:Arial,Helvetica,sans-serif;--serif:Georgia,'Times New Roman',serif;--mono:'Courier New',monospace;scroll-behavior:smooth;scroll-padding-top:24px}*{box-sizing:border-box}body{margin:0;background:var(--ink);color:var(--text);font-family:var(--sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}body:has(dialog[open]){overflow:hidden}h1,h2,h3,p{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;border:0}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:6px}.paper button:focus-visible,.paper a:focus-visible{outline-color:var(--ink)}img{max-width:100%;display:block}::selection{color:var(--ink);background:var(--accent)}[hidden]{display:none!important}.shell{width:calc(100% - 112px);max-width:1500px;margin-inline:auto}.eyebrow{text-transform:uppercase;font-size:.75rem;letter-spacing:.13em;line-height:1.7;color:var(--accent)}.sr-only{position:absolute;clip:rect(0,0,0,0);width:1px;height:1px;overflow:hidden;white-space:nowrap}.skip-link{position:fixed;z-index:100;top:15px;left:20px;padding:12px 20px;background:var(--paper);color:var(--ink);transform:translateY(-160%)}.skip-link:focus{transform:none}.paper{background:var(--paper);color:var(--ink);color-scheme:light}.chapter-line{border-top:1px solid var(--line);padding-top:22px;display:flex;justify-content:space-between;gap:24px;font-size:.75rem;text-transform:uppercase;letter-spacing:.07em}.paper .chapter-line{border-color:#080a092f}.chapter-line>span:last-child{color:var(--muted)}.paper .chapter-line>span:last-child{color:#63675e}h2 em{font-family:var(--serif);font-weight:400;letter-spacing:-.055em}.round-link{display:inline-flex;align-items:center;gap:17px;font-size:14px}.round-arrow{display:grid;place-items:center;width:52px;height:52px;border:1px solid #ded2bd69;border-radius:50%;font-size:25px;line-height:1;transition:background .3s,color .3s,transform .3s}.round-link:hover .round-arrow{background:var(--accent);color:var(--ink);transform:rotate(7deg)}
.site-header{height:89px;padding-inline:56px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);position:relative;z-index:10}.brand{display:flex;gap:13px;align-items:center}.brand img{height:36px;width:auto}.brand>span{font-weight:800;font-size:19px;letter-spacing:.025em}.nav-left{display:flex;gap:38px}.nav-left a,.header-cta{font-size:14px;color:#cbcec3}.nav-left a:hover,.header-cta:hover{color:var(--accent)}.header-cta{display:flex;align-items:center;gap:35px}.header-cta span{font-size:20px;color:var(--accent)}.menu-toggle,.mobile-nav{display:none}
.hero{position:relative;height:min(1020px,calc(100svh - 89px));min-height:770px;isolation:isolate;overflow:hidden;background:#080a09}.hero-labels{position:absolute;top:25px;left:0;right:0;display:flex;justify-content:space-between;text-transform:uppercase;font-size:.75rem;letter-spacing:.08em;color:#a6aa9e;z-index:3}.hero-wordmark{position:absolute;top:72px;left:0;right:0;font-family:var(--sans);font-weight:900;font-size:clamp(150px,23.2vw,420px);line-height:.83;letter-spacing:-.055em;text-align:center;transform:scaleX(1.13);margin-left:-.055em;z-index:-2;color:#eceee5;white-space:nowrap}.hero-figure{position:absolute;left:22%;top:7%;width:56%;height:94%;z-index:-1;pointer-events:none;mask-image:radial-gradient(ellipse 63% 63% at 50% 49%,#000 30%,#000 62%,transparent 86%);-webkit-mask-image:radial-gradient(ellipse 63% 63% at 50% 49%,#000 30%,#000 62%,transparent 86%)}.hero-figure img{width:100%;height:100%;object-fit:contain;object-position:center;filter:contrast(1.07);transition:opacity .25s;transform:scale(1.02)}.hero-figure:after{content:'';position:absolute;inset:75% 0 0;background:linear-gradient(transparent,var(--ink))}.hero-front{position:absolute;bottom:145px;left:0;right:0;display:flex;align-items:flex-end;justify-content:space-between;pointer-events:none;gap:30px}.hero-front>*{pointer-events:auto}.hero-statement{width:300px}.hero-statement h2{font-size:clamp(36px,3.4vw,57px);font-weight:500;line-height:1.08;letter-spacing:-.05em;margin:15px 0 20px}.hero-description{max-width:255px;font-size:16px;color:#b2b8ab;line-height:1.8;margin-bottom:27px}.hero-statement .round-link{color:var(--accent);gap:15px}.entity-selector{width:205px;margin-bottom:18px}.entity-selector .eyebrow{color:var(--muted);margin-bottom:17px}.entity-buttons{border-top:1px solid var(--line)}.entity-button{display:flex;align-items:center;gap:18px;min-height:50px;width:100%;padding:0;background:transparent;border-bottom:1px solid var(--line);font-size:14px;color:#90978a;text-align:left;transition:color .3s}.entity-number{font-family:var(--mono);font-size:.75rem}.entity-plus{margin-left:auto;font-size:20px;opacity:0}.entity-button.active,.entity-button:hover{color:var(--accent)}.entity-button.active .entity-plus{opacity:1}.entity-caption{margin-top:20px;color:#90978a;font-size:.75rem;line-height:1.7}.hero-bottom{position:absolute;bottom:29px;left:0;right:0;display:flex;justify-content:space-between;align-items:center;gap:25px;padding-top:23px;border-top:1px solid var(--line);font-size:.75rem;color:var(--muted)}.scroll-cue{display:flex;gap:13px;align-items:center}.scroll-cue>span{color:var(--accent);font-size:20px}.hero-specimen{letter-spacing:.08em;text-transform:uppercase}.hero-edition{font-family:var(--mono)}
/* The galactic plane dissolving into the page: the same belt of stars, now
   textless, carrying the dark hero into the light archive. It is a seam,
   not a slogan. */
.seam{height:168px;background:var(--ink) url('assets/belt.webp') center/cover no-repeat}
.seam:after{content:'';display:block;height:100%;background:linear-gradient(180deg,#080a09 0%,#080a0900 34%,#e9e6de00 58%,#e9e6de 100%)}
.archive-section{padding:63px 0 56px}.archive-intro{display:grid;grid-template-columns:1.3fr 1fr;align-items:center;gap:100px;padding:67px 0 69px}.archive-intro h2{font-size:clamp(55px,7.3vw,120px);font-weight:500;letter-spacing:-.065em;line-height:.99}.archive-intro h2 em{font-size:1.1em}.archive-intro>div{max-width:390px;padding-top:15px}.archive-intro>div>p:first-child{font-size:24px;line-height:1.45;letter-spacing:-.03em}.archive-intro .muted{font-size:16px;color:#676c62;line-height:1.75;margin-top:21px}.underlined-link{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #080a0970;padding:15px 0;margin-top:16px;font-size:14px}.underlined-link>span{font-size:23px}.record-list{border-top:1px solid #080a0938;scroll-margin-top:25px}.record-row{display:grid;grid-template-columns:50px 160px 1fr 165px 55px;gap:28px;align-items:center;width:100%;text-align:left;background:transparent;color:var(--ink);padding:26px 0;border-bottom:1px solid #080a0938;transition:background .3s,padding .3s}.record-row:hover{background:#deddd1;padding-left:15px;padding-right:15px}.record-order{font-family:var(--mono);font-size:.75rem;color:#74776c;align-self:start;padding-top:7px}.record-thumbnail{width:160px;height:112px;overflow:hidden;background:#090b0b}.record-thumbnail img{width:100%;height:100%;object-fit:cover;filter:grayscale(.3);transition:transform .7s}.record-row:hover img{transform:scale(1.06)}.record-main{min-width:0;display:flex;flex-direction:column}.record-meta{font-size:.75rem;text-transform:uppercase;color:#6d6860;letter-spacing:.08em}.record-title{font-size:clamp(27px,3.1vw,48px);letter-spacing:-.05em;font-weight:500;line-height:1.2;margin:7px 0}.record-kind{font-size:14px;color:#706c64}.record-year{font-family:var(--serif);font-style:italic;font-size:54px;letter-spacing:-.05em;text-align:right;line-height:1}.range-year{font-size:32px}.range-year>span{font-size:27px}.record-open{font-size:30px;justify-self:end;width:50px;height:50px;border:1px solid #080a0940;border-radius:50%;display:grid;place-items:center;line-height:1;transition:background .3s,color .3s}.record-row:hover .record-open{background:var(--ink);color:var(--paper)}.archive-footnote{display:flex;justify-content:space-between;align-items:flex-start;gap:60px;font-size:.75rem;color:#68645d;padding-top:24px}.archive-footnote>span{white-space:nowrap}.archive-footnote>p{max-width:595px;text-align:right}
.forms-section{padding:65px 0 45px;background:#080a09}.forms-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:50px;padding:62px 0 47px}.forms-heading h2{font-size:clamp(48px,5.8vw,95px);font-weight:500;line-height:1.08;letter-spacing:-.055em}.forms-heading h2 em{color:var(--accent)}.forms-aside{display:flex;align-items:center;gap:25px;padding-bottom:5px}.large-asterisk{font-size:73px;line-height:1;color:var(--accent)}.forms-aside p{font-size:16px;line-height:1.7;color:var(--muted)}.form-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-block:1px solid var(--line);padding:0 24px;gap:1px;background:#080a09}.form-card{position:relative;height:510px;background:#070908;overflow:hidden;border-right:1px solid #ded2bd20;padding:0;text-align:left;isolation:isolate}.form-card:last-child{border-right:0}.form-card:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#080a09,transparent 34%),linear-gradient(180deg,#080a09 0%,transparent 15%)}.form-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 18%;z-index:-2;filter:brightness(.85) saturate(.72);transition:filter .6s,transform .8s}.form-card:hover img{filter:brightness(1.04) saturate(1);transform:scale(1.035)}.form-index{position:absolute;left:26px;top:27px;font-family:var(--mono);font-size:.75rem;color:var(--muted);letter-spacing:.06em}.form-bottom{position:absolute;bottom:28px;left:26px;right:26px;display:flex;justify-content:space-between;align-items:center;font-size:31px;font-weight:400;letter-spacing:-.035em}.form-inspect{border:1px solid #ded2bd70;border-radius:50%;width:40px;height:40px;display:grid;place-items:center;font-size:21px;color:var(--accent);transition:background .3s,color .3s}.form-card:hover .form-inspect{background:var(--accent);color:var(--ink)}.forms-caption{display:flex;justify-content:space-between;gap:25px;font-size:.75rem;color:var(--muted);padding-top:22px}
.field-section{position:relative;min-height:780px;isolation:isolate;overflow:hidden;margin-top:45px}.field-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 49%;z-index:-3}.field-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#070a0ab8 0%,#070a0a66 50%,transparent 80%),linear-gradient(0deg,#080a09 0%,transparent 30%,transparent 70%,#080a09 100%)}.field-top,.field-bottom{display:flex;justify-content:space-between;gap:25px;font-size:.75rem;position:absolute;left:0;right:0;color:#a8afa4}.field-top{top:37px;text-transform:uppercase;letter-spacing:.07em}.field-copy{position:absolute;top:30%;left:0;right:0}.field-copy h2{font-size:clamp(55px,7vw,108px);font-weight:500;letter-spacing:-.06em;line-height:1.04;margin:17px 0 37px}.field-copy h2 em{font-size:1.03em;color:#daddcc}.field-bottom{bottom:40px}.field-copy .round-link{color:#dcccaf}
.collection-section{padding:65px 0 48px}.collection-heading{display:flex;justify-content:space-between;align-items:center;gap:60px;padding-top:66px}.collection-heading h2{font-size:clamp(48px,5.6vw,93px);font-weight:500;letter-spacing:-.055em;line-height:1.05}.collection-heading h2 em{font-size:1.03em}.supply{text-align:right}.supply>span{font-size:clamp(80px,10.7vw,170px);font-weight:400;letter-spacing:-.085em;line-height:.95}.supply>p{font-size:14px;margin-top:17px;color:#6d6961;line-height:1.5}.collection-intro{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin:35px 0 36px}.collection-intro>p{font-size:16px;color:#6b665e;line-height:1.75}.collection-small-label{font-size:.75rem;display:flex;align-items:center;gap:38px;white-space:nowrap}.collection-small-label>span{font-size:23px}.portrait-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.portrait-card{padding:0;background:none;color:var(--ink);text-align:left}.portrait-image{position:relative;display:block;overflow:hidden;aspect-ratio:1}.portrait-image img{width:100%;height:100%;object-fit:cover;transition:transform .8s}.portrait-card:hover img{transform:scale(1.035)}.portrait-plus{position:absolute;right:20px;bottom:20px;width:43px;height:43px;display:grid;place-items:center;border-radius:50%;background:var(--paper);color:var(--ink);font-size:24px;line-height:1;opacity:0;transform:translateY(6px);transition:opacity .3s,transform .3s}.portrait-card:hover .portrait-plus,.portrait-card:focus-visible .portrait-plus{opacity:1;transform:none}.portrait-info{display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid #080a0930;padding:18px 0}.portrait-info>span:first-child{font-size:24px;letter-spacing:-.045em}.portrait-info>span:last-child{font-family:var(--mono);font-size:.75rem;color:#6b665c;text-transform:uppercase}.collection-footer{display:flex;gap:20px;align-items:center;margin-top:42px}.collection-footer img{height:40px;width:auto;filter:brightness(0)}.collection-footer p{font-size:14px;line-height:1.6;color:#6b665e}.collection-footer>span{margin-left:auto;font-family:var(--mono);font-size:.75rem;letter-spacing:.09em}
.world-section{padding:65px 0 70px;overflow:hidden}.world-heading{display:flex;justify-content:space-between;align-items:center;gap:50px;padding:60px 0 10px}.world-heading h2{font-size:clamp(51px,6.4vw,105px);font-weight:500;line-height:1.1;letter-spacing:-.06em}.world-heading em{color:var(--accent)}.world-heading p{font-size:16px;color:var(--muted);line-height:1.7}.world-panel{position:relative;width:calc(100% - 70px);max-width:1600px;aspect-ratio:2.65;margin:25px auto 0;isolation:isolate;overflow:hidden}.world-panel>img{width:100%;height:100%;object-fit:contain;opacity:.8;mask-image:radial-gradient(ellipse at center,#000 37%,transparent 77%)}.world-center-mark{position:absolute;left:49%;top:42%;font-size:42px;font-weight:200;color:#b8a6862b}.map-marker{position:absolute;display:flex;gap:14px;align-items:center;opacity:.45;transition:opacity .3s}.map-marker>span:first-child{width:5px;height:5px;border-radius:50%;background:var(--accent);outline:1px solid #dcccaf66;outline-offset:8px;box-shadow:0 0 18px #dcccaf99}.map-marker>span:last-child{font-size:.75rem;font-family:var(--mono);color:var(--accent)}.marker-us{left:24%;top:42%}.marker-fr{left:49.5%;top:36%}.marker-uk{left:48.5%;top:26%}.world-panel[data-selected="us"] .marker-us,.world-panel[data-selected="fr"] .marker-fr,.world-panel[data-selected="uk"] .marker-uk{opacity:1}.world-panel[data-selected="us"] .marker-us>span:first-child,.world-panel[data-selected="fr"] .marker-fr>span:first-child,.world-panel[data-selected="uk"] .marker-uk>span:first-child{outline-offset:12px}.map-caption{position:absolute;bottom:10px;right:15px;color:var(--muted);font-size:.75rem}.world-toolbar{display:flex;justify-content:space-between;gap:30px;align-items:center;border-block:1px solid var(--line)}.world-tabs{display:flex;align-items:center;gap:30px}.world-tabs button{position:relative;padding:23px 0;font-size:14px;color:var(--muted);background:none;min-height:65px}.world-tabs button:after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:1px;background:var(--accent);transform:scaleX(0);transition:transform .3s}.world-tabs button.active{color:var(--accent)}.world-tabs button.active:after{transform:scaleX(1)}.world-toolbar>a{display:flex;gap:28px;align-items:center;font-size:.75rem;color:var(--muted)}.world-toolbar>a>span[aria-hidden]{color:var(--accent);font-size:24px}
.research-section{padding-top:5px;padding-bottom:90px}.research-heading{display:flex;align-items:center;gap:75px;margin:68px 0 66px}.research-heading img{height:80px;width:auto}.research-heading h2{font-size:clamp(40px,4.4vw,74px);font-weight:500;line-height:1.16;letter-spacing:-.05em}.research-heading h2 em{color:var(--accent)}.method-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:46px}.method-grid>div{border-top:1px solid var(--line);padding-top:25px}.method-grid>div>span{font-size:.75rem;font-family:var(--mono);color:var(--accent)}.method-grid h3{font-size:21px;font-weight:400;letter-spacing:-.03em;line-height:1.3;margin:18px 0 14px}.method-grid p{color:var(--muted);font-size:16px;line-height:1.75;max-width:350px}.site-footer{background:var(--accent);color:var(--ink);padding-top:45px;overflow:hidden}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:30px}.footer-top>p{font-size:43px;letter-spacing:-.055em;line-height:1.2}.footer-top .round-arrow{border-color:#080a0955}.footer-top .round-link:hover .round-arrow{background:var(--ink);color:var(--accent)}.footer-wordmark{font-weight:900;font-size:23.2vw;line-height:1;letter-spacing:-.055em;text-align:center;transform:scaleX(1.13);margin:22px -.055em 0 0;white-space:nowrap}.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:25px;border-top:1px solid #080a0938;font-size:.75rem;padding:24px 0 29px}.footer-bottom>span:nth-child(2){font-family:var(--serif);font-style:italic;font-size:16px}.footer-bottom a>span{margin-left:15px}
 dialog{background:#14120f;color:var(--text);border:1px solid #8a7f6b;padding:0;max-width:960px;width:calc(100% - 48px);max-height:calc(100svh - 64px);overflow:auto}dialog[open]{display:grid;grid-template-columns:1fr 1fr}dialog::backdrop{background:#000c;backdrop-filter:blur(12px)}.dialog-close{position:absolute;right:14px;top:14px;z-index:2;background:#080a09dd;border:1px solid var(--line);width:44px;height:44px;font-size:18px}.dialog-close:hover{color:var(--accent)}.dialog-image{background:#050706;display:flex;flex-direction:column;justify-content:center;position:relative;min-height:440px}.dialog-image img{width:100%;max-height:560px;object-fit:contain}.dialog-image>p{font-size:.75rem;line-height:1.65;color:var(--muted);padding:18px 25px;background:#050706}.dialog-body{padding:64px 40px 40px;display:flex;flex-direction:column;align-items:flex-start}.dialog-body h2{font-size:40px;line-height:1.1;letter-spacing:-.045em;font-weight:500;margin:17px 0 23px}.dialog-body>p:not(.eyebrow){font-size:16px;color:#cbd1c0;line-height:1.8}.dialog-body .dialog-note{border-top:1px solid var(--line);padding-top:22px;margin:22px 0;font-size:14px!important;color:var(--muted)!important}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;background:var(--accent);color:var(--ink);padding:16px 22px;min-height:52px;font-size:14px;border:1px solid transparent}.button:hover{background:var(--paper)}.button>span[aria-hidden]{font-size:20px}.text-link{background:none;border:0;padding:12px 0;min-height:44px;color:var(--accent);font-size:14px;display:flex;gap:18px;align-items:center}.dialog-return{margin-top:12px}
@media(min-width:1800px){.hero-wordmark{font-size:420px;transform:scaleX(1.18)}.hero-front{bottom:175px}.hero-figure{top:10%}.form-card{height:650px}.footer-wordmark{font-size:420px;transform:scaleX(1.18)}}
@media(max-width:1190px){.shell{width:calc(100% - 72px)}.site-header{padding-inline:36px}.nav-left{gap:26px}.header-cta{gap:20px}.hero{min-height:735px}.hero-front{bottom:125px}.hero-statement{width:255px}.hero-statement h2{font-size:43px}.hero-description{max-width:225px;font-size:16px}.hero-figure{left:20%;width:60%;top:9%}.entity-selector{width:175px}.hero-wordmark{top:85px}.hero-labels{font-size:.75rem}.hero-specimen{letter-spacing:.025em}.archive-intro{gap:65px}.archive-intro>div>p:first-child{font-size:23px}.record-row{grid-template-columns:30px 130px 1fr 120px 50px;gap:24px}.record-thumbnail{width:130px;height:100px}.record-year{font-size:47px}.range-year{font-size:31px}.record-title{font-size:35px}.form-card{height:420px}.form-index{left:20px;top:22px;font-size:.75rem}.form-bottom{left:20px;right:20px;font-size:26px}.form-inspect{width:34px;height:34px;font-size:19px}.forms-aside{gap:18px}.large-asterisk{font-size:60px}.field-section{min-height:720px}.collection-heading{gap:35px}.portrait-gallery{gap:20px}.world-tabs{gap:24px}.world-toolbar>a{max-width:300px;line-height:1.5}.research-heading{gap:55px}.method-grid{gap:32px}}
@media(max-width:900px){.site-header{height:80px;padding-inline:28px}.shell{width:calc(100% - 56px)}.nav-left{gap:23px}.nav-left a{font-size:14px}.header-cta{display:none}.hero{min-height:760px;height:calc(100svh - 80px)}.hero-wordmark{top:90px;font-size:23.8vw}.hero-figure{top:5%;left:15%;width:70%;height:91%}.hero-front{bottom:103px}.hero-statement{width:250px}.hero-statement h2{font-size:39px}.hero-description{max-width:220px}.entity-selector{width:158px}.entity-button{gap:13px;font-size:14px;min-height:53px}.entity-caption{font-size:.75rem}.hero-bottom{font-size:.75rem;gap:20px}.hero-edition{display:none}.hero-labels{font-size:.75rem;letter-spacing:.02em}.archive-intro{gap:50px;grid-template-columns:1.1fr 1fr;padding-block:55px}.archive-intro h2{font-size:67px}.archive-intro>div>p:first-child{font-size:21px}.record-row{grid-template-columns:25px 100px 1fr 100px 40px;gap:17px;padding-block:23px}.record-thumbnail{width:100px;height:86px}.record-title{font-size:31px}.record-meta{font-size:.75rem;letter-spacing:.015em}.record-kind{font-size:14px}.record-year{font-size:40px}.range-year{font-size:27px}.range-year>span{font-size:23px}.record-open{width:38px;height:38px;font-size:23px}.forms-heading{gap:35px;padding-top:50px}.forms-heading h2{font-size:52px}.forms-aside p{font-size:16px}.large-asterisk{font-size:48px}.form-gallery{grid-template-columns:repeat(4,270px);overflow-x:auto;scroll-snap-type:x mandatory;padding:0 28px;scrollbar-width:thin;scrollbar-color:#8b7e66 #17130c}.form-card{height:390px;scroll-snap-align:start}.forms-caption{font-size:.75rem}.field-section{min-height:660px}.field-copy h2{font-size:67px}.collection-heading h2{font-size:53px}.supply>span{font-size:101px}.supply>p{font-size:14px}.collection-intro{gap:25px}.collection-intro>p{font-size:16px}.collection-small-label{font-size:.75rem;gap:19px}.portrait-gallery{gap:17px}.portrait-info>span:first-child{font-size:22px}.portrait-info{gap:10px}.portrait-info>span:last-child{font-size:.75rem}.world-heading{gap:30px}.world-heading h2{font-size:60px}.world-heading p{font-size:16px}.world-toolbar{display:block}.world-tabs{gap:35px}.world-tabs button{padding-block:20px}.world-toolbar>a{max-width:none;justify-content:space-between;padding:16px 0;border-top:1px solid var(--line)}.world-panel{width:calc(100% - 20px);aspect-ratio:2.4}.research-heading{gap:35px;margin-block:50px}.research-heading h2{font-size:44px}.research-heading img{height:70px}.method-grid{gap:28px}.method-grid h3{font-size:20px}.method-grid p{font-size:16px}.footer-top>p{font-size:37px}.footer-bottom{gap:20px;flex-wrap:wrap}}
@media(max-width:650px){.shell{width:calc(100% - 40px)}.site-header{height:75px;padding-inline:20px}.brand img{height:32px}.brand>span{font-size:18px}.nav-left{display:none}.menu-toggle{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:7px;width:48px;height:48px;background:none}.menu-toggle>span{height:1px;width:24px;background:var(--text);transition:transform .25s}.menu-toggle[aria-expanded="true"]>span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded="true"]>span:last-child{transform:translateY(-4px) rotate(-45deg)}.mobile-nav:not([hidden]){position:absolute;display:flex;flex-direction:column;top:74px;left:0;right:0;background:#080a09f5;backdrop-filter:blur(14px);padding:15px 25px 25px;border-bottom:1px solid var(--line)}.mobile-nav a{display:flex;justify-content:space-between;align-items:center;min-height:59px;font-size:24px;letter-spacing:-.03em;border-bottom:1px solid var(--line)}.mobile-nav a>span{font-family:var(--mono);font-size:.75rem;color:var(--muted)}.hero{min-height:0;height:930px;max-height:none}.hero-labels{top:20px;font-size:.75rem;line-height:1.5}.hero-labels>span:first-child{max-width:150px}.hero-labels>span:last-child{max-width:145px;text-align:right}.hero-wordmark{top:92px;font-size:24vw;transform:scaleX(1.1);letter-spacing:-.055em}.hero-figure{left:-11%;width:122%;height:540px;top:118px;mask-image:radial-gradient(ellipse 60% 62% at 50% 45%,#000 27%,#000 60%,transparent 85%);-webkit-mask-image:radial-gradient(ellipse 60% 62% at 50% 45%,#000 27%,#000 60%,transparent 85%)}.hero-figure img{object-fit:contain}.hero-front{bottom:77px;display:block}.hero-statement{width:auto;max-width:none;position:relative}.hero-statement .eyebrow{font-size:.75rem}.hero-statement h2{font-size:43px;line-height:1.02;letter-spacing:-.045em;margin:11px 0 17px;max-width:235px}.hero-description{font-size:16px;max-width:295px;line-height:1.7;margin-bottom:23px}.hero-statement .round-link{font-size:14px;gap:13px}.round-arrow{width:47px;height:47px;font-size:24px}.entity-selector{width:auto;margin:27px 0 0}.entity-selector>.eyebrow,.entity-caption{display:none}.entity-buttons{display:flex;border-top:1px solid var(--line);border-bottom:1px solid var(--line);gap:18px}.entity-button{border:0;min-height:54px;font-size:.875rem;gap:8px;justify-content:center;white-space:nowrap}.entity-number{font-size:.75rem}.entity-plus{display:none}.hero-bottom{bottom:19px;border:0;padding:0;gap:20px;font-size:.75rem}.hero-specimen{font-size:.75rem;max-width:170px;text-align:right;line-height:1.5;letter-spacing:0}.scroll-cue{gap:8px;font-size:.75rem}.scroll-cue>span{font-size:18px}.seam{height:104px}.chapter-line{padding-top:17px;font-size:.75rem;line-height:1.6;gap:20px;letter-spacing:.025em}.chapter-line>span:last-child{max-width:143px;text-align:right}.archive-section{padding:37px 0}.archive-intro{display:block;padding:38px 0}.archive-intro h2{font-size:clamp(64px,15vw,94px);letter-spacing:-.06em}.archive-intro>div{padding:0;max-width:none;margin-top:30px}.archive-intro>div>p:first-child{font-size:24px;line-height:1.4}.archive-intro .muted{font-size:16px;margin-top:17px}.underlined-link{margin-top:11px;min-height:50px;font-size:14px}.record-row{grid-template-columns:83px minmax(0,1fr) 34px;gap:15px;padding:25px 0;position:relative}.record-row:hover{padding-left:0;padding-right:0}.record-order{display:none}.record-thumbnail{width:83px;height:112px;grid-row:1 / 3}.record-main{grid-column:2;grid-row:1;align-self:end}.record-title{font-size:30px;line-height:1.12;letter-spacing:-.05em;margin:8px 0 5px}.record-meta{font-size:.75rem;line-height:1.5;letter-spacing:0}.record-kind{display:none}.record-year{grid-column:2;grid-row:2;text-align:left;font-family:var(--mono);font-style:normal;font-size:14px;letter-spacing:0;align-self:start}.range-year br{display:none}.range-year>span{font-size:14px}.record-open{grid-column:3;grid-row:1 / 3;font-size:22px;width:34px;height:34px}.archive-footnote{display:block;padding-top:21px;font-size:.75rem}.archive-footnote>p{text-align:left;margin-top:10px;line-height:1.7}.forms-section{padding:37px 0 25px}.forms-heading{display:block;padding:37px 0 32px}.forms-heading h2{font-size:clamp(42px,10vw,58px);line-height:1.12}.forms-aside{display:none}.form-gallery{grid-template-columns:repeat(4,76vw);padding-inline:20px}.form-card{height:445px;border-right:1px solid var(--line)}.form-index{font-size:.75rem;left:22px;top:24px}.form-bottom{font-size:31px;left:22px;right:22px;bottom:26px}.form-inspect{width:40px;height:40px;font-size:22px}.forms-caption{flex-direction:column;gap:5px;font-size:.75rem;padding-top:17px}.field-section{margin-top:10px;min-height:660px}.field-image{object-position:62% center}.field-shade{background:linear-gradient(90deg,#070a0a9a,#070a0a33),linear-gradient(0deg,#080a09,transparent 30%,transparent 70%,#080a09)}.field-top{top:30px;font-size:.75rem;line-height:1.7;letter-spacing:0}.field-top>span{max-width:170px}.field-top>span:last-child{max-width:120px;text-align:right}.field-copy{top:36%}.field-copy>.eyebrow{font-size:.75rem}.field-copy h2{font-size:clamp(47px,11.5vw,72px);line-height:1.08;margin:17px 0 26px}.field-copy .round-link{font-size:14px;gap:14px}.field-bottom{bottom:29px;gap:20px;font-size:.75rem;line-height:1.7}.field-bottom>span:first-child{max-width:190px}.field-bottom>span:last-child{text-align:right;max-width:100px}.collection-section{padding:37px 0}.collection-heading{display:block;padding-top:38px}.collection-heading h2{font-size:clamp(47px,11vw,70px);line-height:1.1}.supply{display:flex;align-items:center;gap:35px;text-align:left;margin-top:34px}.supply>span{font-size:91px}.supply>p{font-size:14px;margin-top:0;line-height:1.6}.collection-intro{display:block;margin:25px 0 24px}.collection-intro>p{font-size:16px;line-height:1.7}.collection-small-label{display:none}.portrait-gallery{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:17px;scrollbar-width:thin;scrollbar-color:#888175 #d1d0c6;padding-bottom:15px}.portrait-card{flex:0 0 86%;scroll-snap-align:start;min-width:0}.portrait-plus{opacity:1;transform:none;width:39px;height:39px;font-size:22px;right:16px;bottom:16px}.portrait-info{padding:17px 0}.portrait-info>span:first-child{font-size:27px}.portrait-info>span:last-child{font-size:.75rem}.collection-footer{gap:15px;margin-top:25px}.collection-footer img{height:37px}.collection-footer p{font-size:14px}.collection-footer>span{display:none}.world-section{padding:38px 0 48px}.world-heading{display:block;padding:37px 0 0}.world-heading h2{font-size:clamp(43px,10.9vw,68px);line-height:1.15}.world-heading>p{font-size:16px;margin-top:20px}.world-panel{width:100%;aspect-ratio:1.7;margin-top:18px}.world-panel>img{object-fit:cover;mask-image:radial-gradient(ellipse at center,#000 37%,transparent 80%)}.map-marker{display:none}.map-caption{font-size:.75rem;right:20px;left:20px;bottom:3px;text-align:right}.world-center-mark{font-size:32px}.world-toolbar{margin-top:17px}.world-tabs{justify-content:space-between;gap:15px}.world-tabs button{font-size:.875rem;min-height:60px;padding-block:18px}.world-toolbar>a{font-size:.75rem;line-height:1.6;min-height:64px;gap:20px}.research-section{padding:0 0 54px}.research-heading{display:block;margin:35px 0}.research-heading img{height:50px;margin-bottom:27px}.research-heading h2{font-size:clamp(34px,8vw,48px);line-height:1.16;letter-spacing:-.045em}.method-grid{grid-template-columns:1fr;gap:27px}.method-grid>div{padding-top:21px}.method-grid h3{font-size:23px;margin:12px 0}.method-grid p{font-size:16px;max-width:none;line-height:1.8}.site-footer{padding-top:30px}.footer-top{align-items:center;gap:15px}.footer-top>p{font-size:31px}.footer-top .round-link{font-size:.75rem;gap:10px}.footer-top .round-arrow{width:42px;height:42px;font-size:21px}.footer-wordmark{margin-top:30px;font-size:24vw;transform:scaleX(1.1);line-height:1.05}.footer-bottom{padding:20px 0 23px;gap:14px;flex-wrap:wrap;font-size:.75rem}.footer-bottom>span:nth-child(2){font-size:15px;margin-left:auto}.footer-bottom a{width:100%;font-size:.75rem;display:flex;justify-content:space-between}dialog{width:calc(100% - 28px);max-height:calc(100svh - 30px)}dialog[open]{grid-template-columns:1fr}.dialog-image{min-height:0;grid-column:1;grid-row:1}.dialog-image img{max-height:44svh;object-fit:contain}.dialog-image>p{padding:14px 24px;font-size:.75rem}.dialog-body{padding:30px 24px;grid-column:1;grid-row:2}.dialog-body h2{font-size:34px}.dialog-close{position:sticky;top:12px;right:12px;grid-column:1;grid-row:1;justify-self:end;align-self:start;margin:12px 12px -56px 0}.dialog-body>p:not(.eyebrow){font-size:16px}}
@media(max-width:370px){.shell{width:calc(100% - 32px)}.hero{height:920px}.hero-figure{left:-17%;width:134%;top:113px}.hero-front{bottom:78px}.entity-buttons{gap:7px}.entity-button{gap:6px;font-size:.75rem}.hero-statement h2{font-size:40px}.record-row{grid-template-columns:70px minmax(0,1fr) 30px;gap:12px}.record-thumbnail{width:70px;height:100px}.record-title{font-size:26px}.record-open{width:30px;height:30px;font-size:21px}.record-meta{font-size:.75rem}.supply{gap:25px}.supply>span{font-size:83px}.form-card{height:405px}.hero-labels{font-size:.75rem}.hero-labels>span{max-width:130px!important}.footer-top>p{font-size:28px}.footer-top .round-link>span:first-child{max-width:92px;line-height:1.4}.world-heading h2{font-size:38px}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
@media(prefers-reduced-motion:no-preference){.hero-wordmark{animation:type-arrive .9s cubic-bezier(.2,.65,.2,1) both}.hero-figure{animation:face-arrive 1.3s ease-out both}.hero-statement,.entity-selector{animation:copy-arrive 1.3s ease-out both}@keyframes type-arrive{from{opacity:0;translate:0 30px}to{opacity:1;translate:0 0}}@keyframes face-arrive{from{opacity:0;translate:0 25px}to{opacity:1;translate:0 0}}@keyframes copy-arrive{from{opacity:0}to{opacity:1}}}

/* Hero repair: reserve a real text row below the wordmark. */
.hero{--hero-wordmark-top:72px;--hero-wordmark-size:clamp(150px,23.2vw,420px);display:flex;flex-direction:column;height:auto;min-height:max(770px,calc(100svh - 89px))}
.hero-wordmark{top:var(--hero-wordmark-top);font-size:var(--hero-wordmark-size);z-index:0}
.hero-front{position:relative;inset:auto;z-index:2;flex:1;margin-top:calc(var(--hero-wordmark-top) + var(--hero-wordmark-size) * .83 + 1.25rem);padding-bottom:28px}
.hero-statement{position:relative;isolation:isolate}
.hero-statement:before{content:'';position:absolute;inset:-24px -35px -24px -24px;z-index:-1;background:radial-gradient(ellipse at 25% 50%,#080a09ed 25%,#080a0999 57%,transparent 80%);filter:blur(16px);pointer-events:none}
.hero-bottom{position:relative;inset:auto;z-index:2;flex:none;margin-top:0;margin-bottom:29px}
/* Transparent silhouette preserves the artwork and reveals the wordmark. */
.hero-figure{position:absolute;inset:115px auto 85px 50%;width:clamp(420px,57vw,1000px);height:auto;transform:translateX(-50%);z-index:1;mask-image:none;-webkit-mask-image:none;overflow:visible}
.hero-figure img{width:100%;height:100%;object-fit:contain;transform:none;filter:drop-shadow(0 0 20px #000e) drop-shadow(0 0 48px #000b)}
.hero-figure:before,.hero-figure:after{display:none}
@media(max-width:1190px){.hero{--hero-wordmark-top:85px;min-height:max(735px,calc(100svh - 89px))}.hero-figure{width:62vw;min-width:420px}}
@media(max-width:900px){.hero{--hero-wordmark-top:90px;--hero-wordmark-size:23.8vw;min-height:max(760px,calc(100svh - 80px))}.hero-figure{width:70vw}.hero-front{padding-bottom:52px}}
@media(max-width:650px){.hero{--hero-wordmark-top:92px;--hero-wordmark-size:24vw;height:auto;min-height:0;max-height:none}.hero-front{margin-top:clamp(510px,125vw,680px);padding-bottom:28px;flex:none}.hero-figure{inset:130px auto auto 50%;width:min(100%,560px);min-width:0;height:clamp(420px,120vw,580px)}.hero-figure img{filter:drop-shadow(0 0 14px #000d) drop-shadow(0 0 30px #000a)}.hero-bottom{margin-bottom:19px}.hero-statement:before{inset:-20px -10px -15px -15px}}

/* Galaxy field behind the wordmark, and the crossfade layer for study switching. */
.hero-galaxy{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none;opacity:0;animation:galaxy-arrive 2.2s ease-out .15s forwards;mask-image:radial-gradient(ellipse 44% 62% at 50% 40%,#000 32%,#000 55%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 44% 62% at 50% 40%,#000 32%,#000 55%,transparent 100%)}
@keyframes galaxy-arrive{to{opacity:1}}
.hero-figure img{position:absolute;inset:0}
#hero-entity-fade{opacity:0;pointer-events:none;transition:opacity .28s linear}
#hero-entity-fade.is-visible{opacity:1;transition:none}

@media(prefers-reduced-motion:reduce){.hero-galaxy{opacity:1;animation:none}#hero-entity-fade{transition:none}}

/* Origin readout. Instrument panel in the existing type system, not a game HUD. */
/* Fixed height on purpose: the readout's text length varies per study, and
   without a reservation it reflows the column, which resizes the hero and
   rescales the artwork. The figure must not move when switching study. */
.origin-readout{display:flex;flex-direction:column;gap:3px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line);font-size:.75rem;line-height:1.45;min-height:180px}
/* The readout now carries this slot, and says something concrete. */
.entity-selector .entity-caption{display:none}
.origin-label{font-family:var(--mono);letter-spacing:.11em;text-transform:uppercase;color:#918b80}
.origin-region{font-size:14px;letter-spacing:-.01em;color:var(--accent);line-height:1.2;margin-bottom:1px}
.origin-readout.is-unattested .origin-region{color:#a09a8e}
.origin-data,.origin-claim{font-family:var(--mono);color:#918b80;letter-spacing:.02em}
.origin-status{color:#837e74;line-height:1.55}
.origin-source{display:inline-flex;align-items:center;gap:8px;margin-top:6px;color:var(--accent);border-bottom:1px solid #dcccaf40;padding-bottom:3px;align-self:flex-start}
.origin-source:hover{border-bottom-color:var(--accent)}
.origin-readout.is-unattested .origin-source{display:none}
.origin-readout>*{opacity:0;animation:origin-in .45s ease forwards}
.origin-readout>*:nth-child(2){animation-delay:.05s}
.origin-readout>*:nth-child(3){animation-delay:.09s}
.origin-readout>*:nth-child(4){animation-delay:.13s}
.origin-readout>*:nth-child(5){animation-delay:.17s}
.origin-readout>*:nth-child(6){animation-delay:.21s}
@keyframes origin-in{from{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}
@media(max-width:650px){.origin-readout{margin-top:18px;padding-top:14px;min-height:150px}.origin-region{font-size:14px}}
@media(prefers-reduced-motion:reduce){.origin-readout>*{opacity:1;animation:none}}

/* Whitelist entry point, sitting at the end of the collection chapter where
   the supply number has just been stated. */
.collection-whitelist{margin-top:64px;border-top:1px solid #080a092f;padding-top:38px;display:grid;grid-template-columns:1fr auto;gap:32px 48px;align-items:start}
.collection-whitelist h3{font-size:clamp(28px,3.4vw,46px);font-weight:500;letter-spacing:-.045em;line-height:1.05;margin:14px 0 0}
.collection-whitelist .eyebrow{color:#7a6f56}
.cw-copy>p:last-child{margin:16px 0 0;font-size:16px;line-height:1.75;color:#5d6158;max-width:52ch}
.cw-link{border:1px solid #080a0940;padding:16px 26px;white-space:nowrap;transition:background .2s ease,color .2s ease}
.cw-link:hover{background:var(--ink);color:var(--paper)}
.cw-link .round-arrow{border-color:currentColor}
@media(max-width:900px){
.collection-whitelist{grid-template-columns:1fr;gap:26px;align-items:start;margin-top:44px}
}


/* ---- Whitelist -----------------------------------------------------------
   Deliberately NOT the landing hero. The landing is photographic: nebula,
   huge display wordmark, faces. This is the other half of the same brand, the
   paperwork behind the archive. Mono type, hairline rules, a form that stamps
   itself as each check passes, and a ledger of slots for the count. Same
   palette and the same seam, a different instrument. */
.registry{background:var(--ink);padding:44px 0 0;position:relative;overflow:hidden}
.registry:before{content:'';position:absolute;inset:0;background-image:linear-gradient(#ded2bd08 1px,transparent 1px),linear-gradient(90deg,#ded2bd08 1px,transparent 1px);background-size:64px 64px;mask-image:radial-gradient(ellipse 70% 60% at 50% 30%,#000,transparent 78%);-webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 30%,#000,transparent 78%);pointer-events:none}
.registry>*{position:relative}
.reg-head{display:flex;justify-content:space-between;gap:20px;font-family:var(--mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:#8d9386;border-bottom:1px solid #ded2bd26;padding-bottom:16px}
.reg-head span:nth-child(2){color:var(--accent)}
/* Text keeps the left; the portrait gets the right margin to itself, so
   nothing is ever read through a face. */
.reg-title{max-width:60%;margin:52px 0 46px}
.reg-title h1{margin:0;font-size:clamp(42px,5.6vw,86px);font-weight:500;letter-spacing:-.05em;line-height:1}
.reg-title h1 em{font-style:italic;font-family:var(--serif)}
.reg-title p{margin:24px 0 0;font-size:16px;line-height:1.75;color:#a6aa9e;max-width:46ch}

/* The count, as an odometer rather than a headline. */
.reg-count{display:grid;grid-template-columns:auto 1fr;gap:0 34px;align-items:center;border-block:1px solid #ded2bd26;padding:30px 0}
.reg-count-num{font-family:var(--mono);font-size:clamp(58px,9vw,132px);line-height:.9;letter-spacing:-.04em;color:#eceee5;font-variant-numeric:tabular-nums}
.reg-count-side{display:flex;flex-direction:column;gap:12px}
.reg-count-label{font-family:var(--mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:#8d9386}
/* 50 ticks, one per 100 spots. The ledger fills as the list does. */
.reg-ledger{display:flex;gap:3px;height:26px;align-items:stretch}
.reg-ledger i{flex:1;background:#ded2bd1f;transition:background .5s ease}
.reg-ledger i.on{background:var(--accent)}
.reg-count-meta{display:flex;justify-content:space-between;font-family:var(--mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:#8d9386}

/* The form. Three fields, stamped as each check passes. */
.reg-body{display:grid;grid-template-columns:1.2fr 1fr;gap:44px;margin:50px 0 0;align-items:start}
.reg-fields{display:grid;gap:0;border-top:1px solid #ded2bd26}
.reg-field{display:grid;grid-template-columns:52px 1fr auto;gap:18px;align-items:center;padding:22px 0;border-bottom:1px solid #ded2bd26}
.reg-field-no{font-family:var(--mono);font-size:.72rem;letter-spacing:.1em;color:#6f7568}
.reg-field-name{font-size:17px;color:#7e8479;transition:color .3s ease}
.reg-field-name small{display:block;font-size:13px;line-height:1.6;color:#61665c;margin-top:4px}
.reg-stamp{font-family:var(--mono);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:#61665c;border:1px solid #ded2bd1f;padding:6px 10px;white-space:nowrap}
.reg-field[data-state=active] .reg-field-name{color:#d7dacf}
.reg-field[data-state=active] .reg-stamp{color:var(--accent);border-color:#ded2bd66}
.reg-field[data-state=done] .reg-field-name{color:#eceee5}
.reg-field[data-state=done] .reg-stamp{color:var(--ink);background:var(--accent);border-color:var(--accent)}
.reg-field[data-state=failed] .reg-stamp{color:#e0a48c;border-color:#e0a48c66}
.reg-action{border:1px solid #ded2bd33;background:#0c0f0db8;padding:30px}
.reg-action .eyebrow{margin:0}
.reg-action-copy{margin:12px 0 24px;font-size:14px;line-height:1.7;color:#a6aa9e}
.wl-button{width:100%;border:1px solid var(--accent);background:var(--accent);color:var(--ink);font-family:var(--mono);font-size:13px;letter-spacing:.14em;text-transform:uppercase;padding:18px 22px;cursor:pointer;transition:background .25s ease,color .25s ease}
.wl-button:hover:not(:disabled){background:transparent;color:var(--accent)}
.wl-button:disabled{opacity:.4;cursor:default}
.wl-status{margin:16px 0 0;font-size:13px;line-height:1.65;color:#9aa093;min-height:3.3em}
.wl-status[data-tone=warn]{color:#e0a48c}
.wl-status[data-tone=good]{color:var(--accent)}
.wl-result{margin-top:20px;border-top:1px solid #ded2bd33;padding-top:18px}
.wl-result .eyebrow{color:var(--accent)}
.wl-spot{font-family:var(--mono);font-size:42px;letter-spacing:-.02em;margin:6px 0 0;color:#eceee5;font-variant-numeric:tabular-nums}
.wl-result-note{margin:8px 0 0;font-size:13px;line-height:1.65;color:#9aa093}
.reg-foot{margin:54px 0 0;padding:18px 0 40px;border-top:1px solid #ded2bd26;display:flex;justify-content:space-between;gap:20px;font-family:var(--mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:#6f7568}

/* Terms on paper, the rhythm the archive already uses. */
.wl-terms{padding:60px 0 88px}
.wl-terms .chapter-line{margin-bottom:44px}
.wl-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:44px}
.wl-grid>div>span{font-family:var(--mono);font-size:.72rem;letter-spacing:.1em;color:#8a8f84}
.wl-grid h3{font-size:21px;font-weight:500;letter-spacing:-.02em;margin:12px 0 0}
.wl-grid p{margin:10px 0 0;font-size:15px;line-height:1.75;color:#5d6158}
.wl-terms-strip{margin-top:56px;border-top:1px solid #080a092f;padding-top:26px;display:grid;grid-template-columns:1fr 1fr;gap:44px}
.wl-terms-strip p{margin:0;font-size:14px;line-height:1.75;color:#5d6158;max-width:62ch}
.wl-terms-strip strong{color:var(--ink);font-weight:500}
@media(max-width:1000px){
.reg-body{grid-template-columns:1fr;gap:26px}
.reg-title{margin:34px 0 32px;max-width:none}
.reg-count{grid-template-columns:1fr;gap:18px}
.reg-ledger{height:20px}
}
@media(max-width:650px){
.wl-grid,.wl-terms-strip{grid-template-columns:1fr;gap:26px}
.wl-terms{padding:40px 0 60px}
.reg-action{padding:22px}
.reg-field{grid-template-columns:38px 1fr;gap:12px}
.reg-stamp{grid-column:2;justify-self:start}
.reg-head{flex-wrap:wrap;gap:8px}
.reg-foot{flex-direction:column;gap:8px}
}

/* The Genesis art itself, in the registry's margin. Mirrored so it looks into
   the page rather than off the edge, and masked rather than cut out: the
   portrait's own ground is already near-black, so a soft ellipse melts it into
   the ink without a background-removal pass. */
.registry>.reg-figure{--fig-opacity:.92;position:absolute;top:96px;right:-1%;width:min(440px,33%);height:auto;z-index:0;pointer-events:none;transform:scaleX(-1);opacity:0;transition:opacity .9s ease;mask-image:radial-gradient(ellipse 60% 60% at 50% 46%,#000 40%,#000 56%,transparent 80%);-webkit-mask-image:radial-gradient(ellipse 60% 60% at 50% 46%,#000 40%,#000 56%,transparent 80%)}
.registry>.reg-figure.is-in{opacity:var(--fig-opacity)}
@media(max-width:1000px){
.registry>.reg-figure{--fig-opacity:.8;width:min(380px,58%);right:-14%;top:40px}
}
@media(max-width:650px){
/* Belongs to the heading, not the copy: smaller, lifted, and faded hard at
   the bottom so the chin and collar dissolve before the paragraph starts. */
.registry>.reg-figure{--fig-opacity:.72;width:50%;right:-7%;top:92px;mask-image:radial-gradient(ellipse 56% 50% at 54% 38%,#000 30%,#000 46%,transparent 74%);-webkit-mask-image:radial-gradient(ellipse 56% 50% at 54% 38%,#000 30%,#000 46%,transparent 74%)}
}
@media(prefers-reduced-motion:reduce){
.registry>.reg-figure{transition:none}
}

/* ---- Journal -------------------------------------------------------------
   The list borrows the archive's record rows, because that is what these are:
   filed entries with a source attached. Nothing here is a card grid. */
.journal-list{padding:60px 0 88px}
.journal-head{display:grid;grid-template-columns:1.15fr 1fr;gap:48px;align-items:end;margin:40px 0 54px}
.journal-head h1{font-size:clamp(44px,6vw,104px);font-weight:500;letter-spacing:-.065em;line-height:.99;margin:0}
.journal-head h1 em{font-style:italic;font-family:var(--serif)}
.journal-head p{margin:0;font-size:17px;line-height:1.7;color:#5d6158;max-width:46ch}
.entry-list{display:grid;border-top:1px solid #080a092f}
.entry{display:grid;grid-template-columns:56px 132px 1fr 40px;gap:26px;align-items:center;padding:24px 0;border-bottom:1px solid #080a092f;text-decoration:none;color:inherit;transition:background .25s ease}
.entry:hover{background:#080a0908}
.entry-order,.entry-open{font-family:var(--mono);font-size:.75rem;letter-spacing:.08em;color:#8a8f84}
.entry-thumb{aspect-ratio:1;overflow:hidden;background:#080a0910}
.entry-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.entry-meta{display:block;font-family:var(--mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:#8a8f84}
.entry-title{display:block;font-size:26px;letter-spacing:-.03em;margin-top:8px}
.entry-summary{display:block;font-size:15px;line-height:1.7;color:#5d6158;margin-top:8px;max-width:72ch}
.journal-empty{font-size:17px;color:#5d6158;padding:40px 0}
.pager{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:44px;font-family:var(--mono);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase}
.pager a{color:var(--ink)}
.pager-count{color:#8a8f84}

/* A post. One column, generous measure, sources at the end where a reader
   who wants to check the claim will look for them. */
.post{padding:60px 0 88px}
.post-head{margin:40px 0 40px;max-width:24ch}
.post-head h1{font-size:clamp(38px,5vw,78px);font-weight:500;letter-spacing:-.055em;line-height:1.02;margin:14px 0 0}
.post-summary{margin:22px 0 0;font-size:19px;line-height:1.65;color:#4c5148;max-width:52ch}
.post-hero{margin:0 0 42px}
.post-hero img{width:100%;height:auto;display:block}
.post-body{max-width:68ch}
.post-body p{font-size:17px;line-height:1.8;color:#33372f;margin:0 0 22px}
.post-body a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.post-sources{margin:54px 0 0;border-top:1px solid #080a092f;padding-top:26px;max-width:68ch}
.post-sources h2{font-size:.75rem;font-weight:400;text-transform:uppercase;letter-spacing:.13em;color:#7a6f56;margin:0}
.post-sources .muted{margin:12px 0 20px;font-size:14px}
.post-sources ul{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.post-sources li{display:grid;grid-template-columns:190px 1fr;gap:18px;padding-bottom:14px;border-bottom:1px solid #080a0916;font-size:15px}
.src-holder{font-family:var(--mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:#8a8f84;padding-top:3px}
.post-sources a{color:var(--ink)}
.post-foot{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:56px;border-top:1px solid #080a092f;padding-top:26px}

/* TikTok, deferred. The poster frame is ours; their script only arrives if
   someone actually presses play. */
.tt-embed{margin:0 0 42px;max-width:420px}
.tt-play{display:block;width:100%;padding:0;border:1px solid #080a0926;background:#080a09;position:relative;cursor:pointer;overflow:hidden}
.tt-play img{width:100%;height:auto;display:block;opacity:.86;transition:opacity .3s ease}
.tt-play:hover img{opacity:1}
.tt-play-mark{position:absolute;inset:0;display:grid;place-items:center;font-size:44px;color:var(--paper);text-shadow:0 2px 24px #000}
.tt-play-note{display:block;padding:12px 14px;font-size:12px;line-height:1.5;color:#9aa093;text-align:left;background:#080a09}
.tt-embed iframe,.tt-embed blockquote{width:100%;min-height:740px;border:0}

/* Latest three on the landing page. */
.latest{border-top:1px solid #080a092f;margin-top:64px;padding-top:38px}
.latest-head{display:flex;justify-content:space-between;align-items:baseline;gap:24px;margin-bottom:28px}
.latest-head h3{font-size:clamp(26px,3.2vw,42px);font-weight:500;letter-spacing:-.045em;margin:0}
.latest-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.latest-item{text-decoration:none;color:inherit;display:block}
.latest-item img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;background:#080a0910}
.latest-item .entry-meta{margin-top:14px}
.latest-item strong{display:block;font-weight:500;font-size:19px;letter-spacing:-.02em;margin-top:8px}
.latest-item p{margin:8px 0 0;font-size:14px;line-height:1.7;color:#5d6158}
@media(max-width:900px){
.journal-head{grid-template-columns:1fr;gap:24px;margin:28px 0 36px}
.entry{grid-template-columns:40px 88px 1fr;gap:16px}
.entry-open{display:none}
.entry-title{font-size:21px}
.post-sources li{grid-template-columns:1fr;gap:4px}
.latest-grid{grid-template-columns:1fr;gap:26px}
.post-foot{flex-direction:column;align-items:flex-start;gap:16px}
}

/* Invitation code entry and the invitations panel. Same registry vocabulary
   as the rest of the page: mono figures, hairline rules, brass for anything
   the reader can act on. */
.wl-code-label{display:block;font-family:var(--mono);font-size:.75rem;letter-spacing:.11em;text-transform:uppercase;color:#8a9180;margin:22px 0 8px}
.wl-code{width:100%;background:#0d100e;color:var(--paper);border:1px solid var(--line);border-radius:0;padding:16px 18px;font-family:var(--mono);font-size:20px;letter-spacing:.18em;text-transform:uppercase}
.wl-code::placeholder{color:#4d5348;letter-spacing:.18em}
.wl-code:focus{outline:none;border-color:var(--accent);background:#101410}
.wl-code:disabled{opacity:.55}
.wl-code-hint{font-size:.75rem;color:#7c8374;margin:8px 0 18px;line-height:1.6}

/* The two pools promise different things, so they are listed, not merged. */
.reg-pools{display:grid;gap:10px;margin:18px 0 0;padding-top:14px;border-top:1px solid var(--line)}
.reg-pools>div{display:grid;grid-template-columns:auto auto;column-gap:14px;align-items:baseline}
.reg-pools dt{font-family:var(--mono);font-size:.75rem;letter-spacing:.09em;text-transform:uppercase;color:#8a9180}
.reg-pools dd{margin:0;font-family:var(--mono);font-size:14px;color:var(--accent);justify-self:end}
.reg-pools .reg-pool-note{grid-column:1 / -1;justify-self:start;font-family:var(--sans);font-size:.75rem;color:#6d6860;letter-spacing:0}

.wl-invites{border-top:1px solid var(--line);margin-top:52px;padding-top:38px}
.wl-invites-head h2{font-size:clamp(28px,3.4vw,42px);font-weight:500;letter-spacing:-.04em;line-height:1.1}
.wl-invites-head p{max-width:56ch;color:var(--muted);font-size:16px;line-height:1.75;margin-top:14px}
.wl-invite-row{border-top:1px solid var(--line);margin-top:26px;padding-top:22px}
.wl-invite-meta{display:flex;justify-content:space-between;align-items:baseline;gap:20px}
.wl-invite-kind{font-size:20px;letter-spacing:-.02em}
.wl-invite-left{font-family:var(--mono);font-size:.75rem;letter-spacing:.09em;text-transform:uppercase;color:#8a9180}
.wl-invite-note{color:#7c8374;font-size:14px;line-height:1.7;margin:8px 0 16px;max-width:56ch}
.wl-button-quiet{background:transparent;color:var(--accent);border:1px solid #dcccaf55}
.wl-button-quiet:hover:not(:disabled){background:var(--accent);color:var(--ink)}
.wl-button-quiet:disabled{color:#6d6860;border-color:var(--line)}

.wl-codes{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:8px}
.wl-codes li{display:flex;align-items:center;gap:14px;flex-wrap:wrap;border:1px solid var(--line);padding:12px 14px;background:#0d100e}
.wl-code-value{font-family:var(--mono);font-size:17px;letter-spacing:.14em;color:var(--accent)}
.wl-codes small{font-family:var(--mono);font-size:.75rem;color:#6d6860;margin-left:auto}
.wl-copy{background:none;border:1px solid #dcccaf55;color:var(--accent);font-family:var(--mono);font-size:.75rem;letter-spacing:.09em;text-transform:uppercase;padding:7px 12px;min-height:34px}
.wl-copy:hover{background:var(--accent);color:var(--ink)}
.wl-code-past{font-family:var(--mono);font-size:.75rem;letter-spacing:.06em;color:#6d6860;background:none;border-color:#ded2bd18}
@media(max-width:650px){
  .wl-code{font-size:17px;letter-spacing:.12em;padding:14px 15px}
  .wl-invites{margin-top:38px;padding-top:28px}
  .wl-codes li{gap:10px}
  .wl-code-value{font-size:15px}
}

/* Test-environment banner. Deliberately loud: the whole failure mode it guards against is
   someone believing a dev page is the real one. */
.wl-testnet {
  margin: 0 0 1.25rem;
  padding: .7rem .95rem;
  border: 1px solid #B4762E;
  background: rgba(180, 118, 46, .1);
  color: #E8D9C4;
  font-size: .8rem;
  letter-spacing: .01em;
}
.wl-testnet strong { color: #F0C078; margin-right: .4rem; }

/* The one call to action in the header. The previous CTA pointed at a content section, which
   meant the site had no visible route to the thing it is asking people to do. Filled rather
   than outlined so it does not read as a fourth nav link. */
.header-cta-primary {
  padding: .45rem .9rem;
  border: 1px solid var(--brass, #B4762E);
  background: rgba(180, 118, 46, .14);
  color: #F0C078;
  border-radius: 2px;
  transition: background .18s ease, color .18s ease;
}
.header-cta-primary:hover,
.header-cta-primary:focus-visible {
  background: rgba(180, 118, 46, .26);
  color: #FBE7C6;
}

/* ── The three tranches ──────────────────────────────────────────────────────
   A LIST, not prose. Three paragraphs each opening with a number read as a wall
   and aligned to nothing; as rows with the figure in its own column, the numbers
   line up and the eye can compare them, which is the only reason they are here.

   Note this block sits on PAPER, not on ink. An earlier pass set the emphasis to
   a light token borrowed from the dark sections, which rendered it near-invisible
   against the background. */
.cw-tranches {
  list-style: none;
  margin: 22px 0 0;
  padding: 0;
  max-width: 62ch;
  border-top: 1px solid #080a091f;
}
.cw-tranches li {
  display: grid;
  grid-template-columns: 5.5rem 1fr;
  gap: 0 24px;
  padding: 16px 0;
  border-bottom: 1px solid #080a091f;
}
.cw-n {
  font-size: 1.35rem;
  font-weight: 500;
  letter-spacing: -.03em;
  color: var(--ink);
  line-height: 1.2;
  font-variant-numeric: tabular-nums; /* so 1,000 / 2,222 / 111 align on the comma */
}
.cw-tranches h4 {
  margin: 0 0 4px;
  font-size: .72rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: .09em;
  color: #7a6f56;
}
.cw-tranches p {
  margin: 0;
  font-size: 15px;
  line-height: 1.65;
  color: #5d6158;
}

/* The base rule below is scoped to :last-child, written when this block held a
   single paragraph. Keep the note matching it rather than relying on that. */
.cw-note {
  margin: 18px 0 0;
  font-size: 15px;
  line-height: 1.75;
  color: #5d6158;
  max-width: 52ch;
}

@media (max-width: 640px) {
  .cw-tranches li { grid-template-columns: 1fr; gap: 6px; }
  .cw-n { font-size: 1.15rem; }
}

/* ── Form-change glitch ──────────────────────────────────────────────────────
   Rebuilt. The first version animated ONE element's clip-path, so only a single
   band could be displaced at a time and it read as a slideshow of slices rather
   than a tear. Two extra layers carry their own bands, so three parts of the
   frame are wrong simultaneously, which is what actually looks like a glitch.

   Also faster: 300ms, not 520. A glitch is an event, not a transition, and at
   half a second the eye has time to follow it and it stops being one.

   `transform` is untouched throughout (the images carry scale(1.02) and
   overwriting it pops the scale). `::after` is untouched too, it is the bottom
   fade into the ink. */

.hero-shard {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  opacity: 0;
  pointer-events: none;
  z-index: 3;
}

/* Each shard owns a different horizontal band and throws it the other way. */
@keyframes shard-a {
  0%, 100% { opacity: 0; clip-path: inset(20% 0 66% 0); translate: 0 0; }
  8%   { opacity: 1; clip-path: inset(20% 0 66% 0); translate: -6% 0; filter: hue-rotate(75deg) saturate(2.2); }
  22%  { opacity: 1; clip-path: inset(52% 0 33% 0); translate: 7% 0;  filter: hue-rotate(-60deg) saturate(2); }
  40%  { opacity: 1; clip-path: inset(8% 0 79% 0);  translate: -4% 0; filter: none; }
  58%  { opacity: .8; clip-path: inset(64% 0 21% 0); translate: 5% 0; filter: hue-rotate(120deg); }
  75%  { opacity: 0; }
}
@keyframes shard-b {
  0%, 100% { opacity: 0; clip-path: inset(70% 0 14% 0); translate: 0 0; }
  10%  { opacity: 1; clip-path: inset(70% 0 14% 0); translate: 8% 0;  filter: invert(1) hue-rotate(90deg); }
  26%  { opacity: 1; clip-path: inset(34% 0 52% 0); translate: -9% 0; filter: none; }
  44%  { opacity: .9; clip-path: inset(80% 0 4% 0);  translate: 6% 0; filter: invert(1); }
  62%  { opacity: 1; clip-path: inset(44% 0 41% 0);  translate: -3% 0; filter: hue-rotate(-100deg) saturate(3); }
  80%  { opacity: 0; }
}

/* The incoming frame tears in short, hard jumps. */
@keyframes hero-tear {
  0%   { clip-path: inset(0 0 0 0);      translate: 0 0; }
  9%   { clip-path: inset(0 0 0 0);      translate: -3.5% 0; }
  18%  { clip-path: inset(26% 0 40% 0);  translate: 4.2% 0; }
  30%  { clip-path: inset(0 0 0 0);      translate: -2% 0; }
  42%  { clip-path: inset(58% 0 18% 0);  translate: 5% 0; }
  55%  { clip-path: inset(0 0 0 0);      translate: -1.5% 0; }
  70%  { clip-path: inset(12% 0 72% 0);  translate: 2.5% 0; }
  85%  { clip-path: inset(0 0 0 0);      translate: -.6% 0; }
  100% { clip-path: inset(0 0 0 0);      translate: 0 0; }
}

/* The outgoing frame carries the channel split and shears away. */
@keyframes hero-shear {
  0%   { opacity: 1;   translate: 0 0; filter: none; }
  12%  { opacity: .9;  translate: 4% 0;
         filter: drop-shadow(-10px 0 0 rgba(120,255,220,.7)) drop-shadow(10px 0 0 rgba(255,70,120,.65)); }
  28%  { opacity: .55; translate: -5.5% 0;
         filter: drop-shadow(13px 0 0 rgba(120,255,220,.6)) drop-shadow(-13px 0 0 rgba(255,70,120,.55)); }
  46%  { opacity: .7;  translate: 3% 0;
         filter: drop-shadow(-7px 0 0 rgba(120,255,220,.5)); }
  68%  { opacity: .2;  translate: -1.5% 0; filter: none; }
  100% { opacity: 0;   translate: 0 0; filter: none; }
}

@keyframes hero-scan {
  0%   { opacity: 0; }
  8%   { opacity: 1; }
  50%  { opacity: .5; }
  100% { opacity: 0; }
}

/* Scanlines on ::before; ::after is the bottom fade and must survive. */
.hero-figure.is-glitching::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 4;
  pointer-events: none;
  background:
    repeating-linear-gradient(to bottom, rgba(140,255,225,.07) 0 1px, transparent 1px 3px),
    linear-gradient(105deg, transparent 42%, rgba(140,255,225,.09) 50%, transparent 58%);
  mix-blend-mode: screen;
  animation: hero-scan .3s steps(4, end) 1;
}

.hero-figure.is-glitching #hero-entity      { animation: hero-tear  .3s steps(1, end) 1; }
.hero-figure.is-glitching #hero-entity-fade { animation: hero-shear .3s steps(1, end) 1; }
.hero-figure.is-glitching #hero-shard-a     { animation: shard-a    .3s steps(1, end) 1; }
.hero-figure.is-glitching #hero-shard-b     { animation: shard-b    .3s steps(1, end) 1; }

@media (prefers-reduced-motion: reduce) {
  .hero-figure.is-glitching::before,
  .hero-figure.is-glitching #hero-entity,
  .hero-figure.is-glitching #hero-entity-fade,
  .hero-figure.is-glitching #hero-shard-a,
  .hero-figure.is-glitching #hero-shard-b { animation: none; }
}

/* ── Scrollable study list ───────────────────────────────────────────────────
   Four studies fit; more will not, and the list should not push the hero copy
   around as forms are added. Caps at roughly four rows and scrolls, with the
   bottom row fading so it is visible that there is more. */
.entity-buttons {
  max-height: 13.5rem;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  scrollbar-color: var(--accent) transparent;
  -webkit-mask-image: linear-gradient(to bottom, #000 0, #000 86%, transparent 100%);
  mask-image: linear-gradient(to bottom, #000 0, #000 86%, transparent 100%);
}
/* No mask once everything is in view, or the last row is dimmed for no reason. */
.entity-buttons:not([data-overflowing]) {
  -webkit-mask-image: none;
  mask-image: none;
}
.entity-buttons::-webkit-scrollbar { width: 3px; }
.entity-buttons::-webkit-scrollbar-track { background: transparent; }
.entity-buttons::-webkit-scrollbar-thumb { background: var(--accent); opacity: .5; }

/* The auto-advance timer, drawn as a hairline under the active row. */
.entity-button.active { position: relative; }
.entity-button.active::after {
  content: "";
  position: absolute;
  left: 0; bottom: -1px; height: 1px;
  background: var(--accent);
  width: 0;
}
.entity-selector[data-cycling] .entity-button.active::after {
  animation: entity-progress var(--cycle-ms, 5200ms) linear 1;
}
@keyframes entity-progress { from { width: 0; } to { width: 100%; } }

@media (prefers-reduced-motion: reduce) {
  .entity-selector[data-cycling] .entity-button.active::after { animation: none; }
}
