:root{--grain:url("assets/grain.svg");--ink:#21171b;--ivory:#fbf2dd;--brass:#dfbb77;--light:#f4eddd;--gold:#ac8750;--wine:#713740;--mono:"Courier New",Courier,monospace;--serif:Georgia,"Times New Roman",serif}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:20px}
body{margin:0;color:var(--ivory);background:var(--ink);font:16px/1.5 Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}
button,a{touch-action:manipulation}
button{font:inherit;color:inherit}
a{color:inherit;text-decoration:none}
button{cursor:pointer}
a:focus-visible,button:focus-visible{outline:3px solid #bb7940;outline-offset:5px}
.skip{position:fixed;left:12px;top:8px;transform:translateY(-160%);z-index:15;background:#f9ecd2;color:var(--ink);padding:9px 15px}
.skip:focus{transform:none}
.definitions{position:absolute;width:0;height:0;overflow:hidden}
.wrap{width:min(1200px,88%);margin-inline:auto}
.masthead{background:#1d1618;border-bottom:1px solid #52403c}
.mast-inner,.identity,nav,.token-nav,.hero-actions,.browse,.sue,.session,.court-motto,.section-kicker,.section-head,.case-top,.case-bottom,.footer-inner,.footer-inner>span,.records dt,.plate,.frieze>div{display:flex;align-items:center}
.mast-inner{height:83px;justify-content:space-between;gap:30px}
.identity{gap:12px;flex-shrink:0}
.identity img{border-radius:50%;width:49px;height:49px}
.identity span{display:grid;gap:4px}
.identity b{font:700 25px/1 var(--serif);letter-spacing:-1px}
.identity small,.eyebrow,.token-nav,.sue,.bench figcaption,.frieze,.section-kicker,.case-number,.stamp,.records dd,footer a{font-family:var(--mono);font-weight:700;text-transform:uppercase;letter-spacing:.11em}
.identity small{font-size:8px;color:#d5ba92}
nav{gap:31px;font:14px var(--serif)}
.nav-link{color:#dfd2bf;padding:9px 0;position:relative}
.nav-link::after{content:"";position:absolute;left:0;right:0;bottom:3px;height:1px;background:#b89b62;transform:scaleX(0);transform-origin:left;transition:transform .2s}
.nav-link[aria-current]::after,.nav-link:hover::after{transform:scaleX(1)}
.token-nav{border:1px solid #8a6b48;color:#eed298;padding:8px 13px;gap:7px;font-size:11px;border-radius:2px}
.token-nav svg{width:17px;height:17px}
.token-nav:hover{background:#3c2b2c}
.hero{position:relative;overflow:hidden;background:radial-gradient(ellipse at 69% 53%,#49282b 0,#2c1b20 46%,#201719 87%)}
.hero::before,.registry::before,.archive::before,.masthead::before{content:"";position:absolute;inset:0;pointer-events:none;background:var(--grain);opacity:.065}
.masthead,.archive,.registry{position:relative}
.hero-inner{position:relative;display:grid;grid-template-columns:.96fr 1fr;align-items:center;gap:clamp(34px,5vw,77px);padding-block:clamp(42px,4.8vw,72px) clamp(37px,4.2vw,66px)}
.hero-copy{padding-bottom:13px}
.session{gap:11px;font-size:10px;color:#e9ce96;letter-spacing:.17em}
.session-dot{width:8px;height:8px;background:#cb7769;border-radius:50%;box-shadow:0 0 0 4px #9d584a29,0 0 14px #9d584a70}
h1,h2,p,figure,dl,dd{margin:0}
h1{font:normal clamp(72px,7.65vw,117px)/.91 var(--serif);letter-spacing:-.075em;margin:26px 0}
h1 em,.reg-intro em{font-weight:normal;color:var(--brass)}
h1 em{letter-spacing:-.08em;display:inline-block;padding-right:.1em}
.hero-copy p{font:clamp(17px,1.42vw,21px)/1.48 var(--serif);max-width:370px;color:#e1d2bf}
.hero-actions{gap:25px;flex-wrap:wrap;margin-top:31px}
.sue{justify-content:center;gap:10px;border:1px solid #f5d79d;border-radius:2px;background:linear-gradient(135deg,#ebcc8b,#dcb271);color:#2b1e1c;padding:15px 21px;box-shadow:0 3px 0 #110b0e45;letter-spacing:.08em;font-size:12px;transition:background .18s,transform .18s}
.sue svg{width:21px;height:21px;transform-origin:75% 80%}
.sue:hover{background:#f3d89c;transform:translateY(-1px)}
.sue:is(:hover,:focus-visible) svg{animation:bang .55s ease-in-out}
@keyframes bang{0%,100%{transform:rotate(0)}40%{transform:rotate(-24deg)}75%{transform:rotate(9deg)}}
.browse{gap:10px;font:15px var(--serif);color:var(--ivory)}
.browse span{color:var(--brass);font:17px Arial,sans-serif;transition:transform .18s}
.browse:hover span{transform:translateY(3px)}
.court-motto{gap:10px;color:#ad8b62;margin-top:37px;opacity:.85}
.court-motto span{width:25px;height:1px;background:#86694a}
.court-motto svg{width:18px;height:18px}
.bench{min-width:0;align-self:center;position:relative;margin:0 6px 0 0}
.art-frame{padding:8px;position:relative;background:#211718;border:1px solid #ab8653;box-shadow:inset 0 0 0 3px #211718,inset 0 0 0 4px #6d5138,0 12px 35px #140c0f66}
.portrait{display:block;width:100%;height:auto;aspect-ratio:1.235;object-fit:cover;object-position:50% 46%;border:1px solid #775638}
.ornament{position:absolute;width:31px;height:31px;color:#d7ae69;filter:drop-shadow(0 1px 2px #20121b);pointer-events:none}
.tl{left:0;top:0}.tr{right:0;top:0;transform:rotate(90deg)}.bl{left:0;bottom:0;transform:rotate(-90deg)}.br{right:0;bottom:0;transform:rotate(180deg)}
.plate{position:absolute;left:50%;bottom:-11px;transform:translateX(-50%);gap:11px;white-space:nowrap;color:#36251e;background:linear-gradient(110deg,#a37b49,#dec391 45%,#c7a36d 86%,#937046);border:1px solid #e1bf85;box-shadow:inset 0 0 0 2px #a48760,0 2px 5px #170d10aa;font:small-caps 700 12px/1.4 var(--serif);letter-spacing:.09em;padding:3px 9px}
.plate i{width:3px;height:3px;border-radius:50%;background:#5e492f}
.bench figcaption{text-align:center;font-size:8px;color:#c8b29e;margin-top:20px;letter-spacing:.1em}
.bench figcaption span{color:#e2c185}
.frieze{overflow:hidden;border-block:1px solid #a67b55;background:#622f38;color:#f1d59a;letter-spacing:.18em;font-size:10px}
.frieze>div{height:38px;justify-content:space-around;gap:26px;width:max(100%,1050px);padding-inline:26px}
.frieze i{font:12px var(--serif);color:#c8996f}
.archive{background:#f1eadb;color:#2c2325;border-bottom:1px solid #c6b89e}
.archive .wrap{position:relative;padding-block:clamp(43px,4.8vw,70px) clamp(50px,5vw,72px)}
.section-kicker{gap:10px;font-size:10px;letter-spacing:.16em;color:#795040}
.section-kicker>span{width:22px;height:1px;background:currentColor}
.section-head{justify-content:space-between;gap:22px;align-items:flex-end;margin:9px 0 27px}
h2{font:normal clamp(45px,4.45vw,69px)/1.04 var(--serif);letter-spacing:-.062em}
h2 span{color:#8f4147}
.section-head p{font:italic 16px/1.4 var(--serif);color:#6c584d;margin-bottom:5px}
.cases{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.case{position:relative;width:100%;text-align:left;display:flex;flex-direction:column;align-items:stretch;border:1px solid #b9a88a;background:#f8f2e4;color:#2d2124;padding:17px 23px 20px;box-shadow:2px 3px 0 #c9bba047;border-radius:1px;transition:background .2s,transform .2s,border-color .2s}
.case:hover{background:#fff8e9;transform:translateY(-3px);border-color:#86664a}
.case-top,.case-bottom{justify-content:space-between;gap:12px}
.case-top{border-bottom:1px solid #d3c6ad;padding-bottom:8px;margin-bottom:17px;min-height:44px}
.case-number{font-size:10px;color:#765d4a;letter-spacing:.12em}
.case-top svg{width:40px;height:40px;color:#735948}
.plaintiff{font:italic 15px var(--serif);color:#675147}
.case strong{font:normal clamp(29px,2.6vw,42px)/1.12 var(--serif);letter-spacing:-.045em;margin:1px 0 8px}
.charge{display:block;font:15px/1.42 var(--serif);color:#67594c;max-width:260px}
.case-bottom{margin-top:auto;padding-top:22px}
.stamp{display:inline-flex;align-items:center;line-height:1;letter-spacing:.11em;font-size:11px;border:2px solid currentColor;border-radius:2px;padding:5px 8px 4px;transform:rotate(-3deg);box-shadow:inset 0 0 0 1px #fff6}
.stamp-guilty{color:#903a46}.stamp-suspicious{color:#846024;transform:rotate(-2deg)}.stamp-dismissed{color:#476956;transform:rotate(-4deg)}
.case-arrow{display:grid;place-items:center;width:27px;height:27px;border:1px solid #c7b99d;border-radius:50%;color:#624839;transition:transform .2s}
.case-arrow svg{width:15px;height:15px}
.case:hover .case-arrow{transform:translateX(2px)}
.registry{background:radial-gradient(ellipse at 18% 70%,#382228,#271c20 62%);color:var(--ivory)}
.registry-inner{position:relative;display:grid;grid-template-columns:.9fr 1.1fr;gap:8%;padding-block:clamp(54px,6vw,87px);align-items:center}
.reg-intro .section-kicker{color:#d8b879}
.reg-intro h2{margin:14px 0 16px;font-size:clamp(41px,4.3vw,65px)}
.reg-intro p{max-width:355px;color:#d4c2af;font:17px/1.47 var(--serif)}
.records{border-top:1px solid #775d4d}
.records>div{display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid #634c43;min-height:66px;padding:12px 0}
.records dt{gap:12px;font:18px var(--serif)}
.records dt svg,.x-icon{width:21px;height:21px;color:#d5ad73}
.x-icon{display:inline-grid;place-items:center;font:19px/1 Arial,sans-serif}
.records dd{font-size:9px;color:#d5bba1;padding:4px 7px;border:1px solid #70564a;letter-spacing:.09em;text-align:right;overflow-wrap:anywhere}
.records dd.active{border:0;text-transform:none;letter-spacing:0;font-size:13px;max-width:57%;font-weight:normal}
.records dd.active a{text-decoration:underline;text-underline-offset:4px;color:#efd195}
footer{background:#1e171a;border-top:1px solid #55413a;color:#c8b69f}
.footer-inner{justify-content:space-between;gap:20px;min-height:70px}
.footer-inner>span{font:17px var(--serif);gap:9px;color:#e6d1af}
.footer-inner>span svg{width:23px;height:23px;color:#c5a06d}
footer p{font:13px var(--serif)}
footer a{font-size:9px;letter-spacing:.08em}
@media(min-width:1650px){.hero-inner{gap:80px}}
@media(max-width:900px){.wrap{width:89%}.mast-inner{height:72px}.hero-inner{gap:27px}.hero-actions{gap:18px}.hero-copy{padding-bottom:0}h1{font-size:clamp(63px,8.7vw,86px)}.hero-copy p{font-size:17px}.court-motto{margin-top:25px}.sue{padding:13px 15px}.cases{gap:12px}.case{padding:15px 15px 17px}.records dt{font-size:16px}}
@media(max-width:700px){.mast-inner{height:66px;gap:10px}.identity{gap:8px}.identity img{width:40px;height:40px}.identity b{font-size:22px}.identity small{font-size:6.8px}.token-nav{font-size:10px;padding:7px 8px}.token-nav svg{width:14px}.nav-link{display:none}.hero-inner{grid-template-columns:1fr;gap:27px;padding-block:38px 26px}.hero-copy{max-width:490px}.session{font-size:9px}h1{font-size:clamp(67px,14vw,91px);margin:18px 0}.hero-copy p{font-size:17px;max-width:360px}.hero-actions{margin-top:22px;gap:25px}.sue{min-height:48px}.court-motto{display:none}.bench{width:100%;max-width:490px;justify-self:center;margin:0}.portrait{aspect-ratio:1.5;object-position:50% 39%}.bench figcaption{font-size:7.5px}.frieze>div{height:33px}.section-head{display:block;margin-bottom:21px}.section-head p{margin-top:10px}.cases{grid-template-columns:1fr;gap:13px}.case{padding:15px 20px 18px}.case-top{min-height:34px;margin-bottom:12px;padding-bottom:6px}.case-top svg{height:34px;width:34px}.case strong{font-size:32px}.charge{max-width:none}.case-bottom{padding-top:15px}.registry-inner{grid-template-columns:1fr;gap:26px}.reg-intro h2 br{display:none}.reg-intro h2 br::after{content:" "}.reg-intro h2 em{margin-right:.12em}.records>div{min-height:61px}.footer-inner{padding-block:22px;display:grid;grid-template-columns:1fr auto;gap:7px 15px}.footer-inner p{grid-column:1}.footer-inner a{grid-column:2;grid-row:1 / 3}.records dd.active{max-width:51%}}
@media(max-width:350px){.wrap{width:91%}.hero-actions{gap:16px}.identity b{font-size:19px}.browse{font-size:14px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Midnight session */
.masthead{background:#17161a}
.hero{background:radial-gradient(ellipse at 76% 43%,#40272c 0%,transparent 57%),linear-gradient(112deg,#14161b,#201b21 57%,#2e2026)}
.hero .hero-copy p.hearing-note{position:relative;padding-left:30px;margin-top:20px;font:italic 14px/1.45 var(--serif);color:#c9b8a6}
.hearing-note::before{content:"";position:absolute;left:0;top:.73em;width:20px;height:1px;background:#9a7757}
.night-archive{position:relative;background:#e6decd;color:#2c2325;border-bottom:1px solid #baaa8d}
.night-archive::before{content:"";position:absolute;inset:0;background:var(--grain);opacity:.12;pointer-events:none}
.folio-layout{position:relative;display:grid;grid-template-columns:.9fr 1fr;align-items:start;gap:clamp(30px,8vw,120px);padding-block:clamp(42px,5.5vw,78px)}
.folio-copy{align-self:center}
.folio-copy h2{margin:12px 0 16px}
.folio-copy h2 em{color:#78454a;font-weight:400}
.folio-copy>p:not(.catalogue-line){max-width:350px;color:#5f4f43;font:17px/1.5 var(--serif)}
.catalogue-line,.file-mark,.envelope-action,.letter-id{font:700 10px/1.4 var(--mono);letter-spacing:.12em;text-transform:uppercase}
.catalogue-line{margin-top:20px;color:#735d46}
.catalogue-line span{font:16px var(--serif);margin-right:6px}
.sealed-folio{position:relative;width:100%;max-width:540px;justify-self:end;min-width:0;box-shadow:2px 6px 12px #4934231c;background:#f6efdf;border:1px solid #b39f7c}
.sealed-folio summary{display:block;list-style:none;cursor:pointer}
.sealed-folio summary:focus-visible{outline:3px solid #843e49;outline-offset:4px}
.sealed-folio summary::-webkit-details-marker{display:none}
.envelope{isolation:isolate;position:relative;overflow:hidden;display:block;height:190px;color:#4f3a2e;background:var(--grain),linear-gradient(165deg,#e8dac0,#d8c39e);background-blend-mode:soft-light,normal}
.envelope::before{content:"";position:absolute;z-index:-1;inset:0;clip-path:polygon(0 0,100% 0,50% 66%);background:linear-gradient(165deg,#e9dcc0,#cab592);filter:contrast(.99)}
.envelope::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(to top right,transparent 49.45%,#765a384f 49.8%,transparent 50.5%) left bottom/50% 36% no-repeat,linear-gradient(to top left,transparent 49.45%,#765a384f 49.8%,transparent 50.5%) right bottom/50% 36% no-repeat;box-shadow:inset 0 0 25px #81614012}
.file-mark{position:absolute;top:14px;left:16px;font-size:9px;color:#776047}
.address{position:absolute;top:24%;left:0;width:100%;text-align:center;font:italic clamp(23px,2.8vw,37px)/1.2 var(--serif);color:#594434;transform:rotate(-3deg)}
.wax{position:absolute;top:53%;left:50%;transform:translate(-50%,-10%);width:55px;height:53px;display:grid;place-items:center;color:#e2a383;border-radius:47% 51% 44% 49% / 51% 43% 52% 45%;background:radial-gradient(ellipse at 34% 23%,#9d5050,#762e38 50%,#54222a 83%);box-shadow:inset 1px 2px 2px #ce8172,inset -2px -3px 2px #481e29,1px 3px 3px #55342677;transition:transform .2s}
.wax::before{content:"";position:absolute;inset:6px;border:1px solid #c1786b;border-radius:50%;box-shadow:inset 1px 1px 2px #401c24,1px 1px 1px #a74d4a}
.wax svg{width:27px;height:27px;filter:drop-shadow(0 1px 0 #42141b)}
.sealed-folio summary:hover .wax{transform:translate(-50%,-13%) rotate(-6deg)}
.classification{position:absolute;right:17px;top:18px;transform:rotate(7deg);color:#843b40;opacity:.9;border:2px solid currentColor;outline:1px solid currentColor;outline-offset:-4px;border-radius:2px;padding:4px 9px 2px;font:700 clamp(13px,1.7vw,20px)/1 var(--mono);text-transform:uppercase;letter-spacing:.11em}
.former-project{position:absolute;left:16px;bottom:13px;display:grid;gap:3px;font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em}
.former-project small{font-weight:700;font-size:8px;color:#705a44}
.former-project strong{font-size:11px;font-weight:700;color:#594634}
.paw-trace{position:absolute;right:25px;bottom:14px;width:17px;height:17px;color:#624a3e;opacity:.66;transform:rotate(-23deg)}
.envelope-action{display:flex;align-items:center;justify-content:space-between;background:#30252a;color:#edd2a0;padding:12px 17px;font-size:11px;min-height:44px}
.sealed-folio .seal-open,.sealed-folio[open] .seal-closed{display:none}
.sealed-folio[open] .seal-open{display:inline}
.folio-letter{padding:22px clamp(20px,3vw,37px) 26px}
.letter-id{color:#73513b;font-size:9px}
.folio-letter blockquote{margin:13px 0 16px;font:italic clamp(20px,2.1vw,27px)/1.34 var(--serif);color:#432c2e}
.folio-letter p{border-top:1px solid #d2c2a3;padding-top:12px;font:14px/1.5 var(--serif);color:#645244}
@media(max-width:700px){.folio-layout{grid-template-columns:1fr;gap:22px}.sealed-folio{max-width:none}.folio-copy h2 br{display:none}.folio-copy h2 em{margin-left:.15em}.folio-copy h2{font-size:clamp(37px,9.2vw,51px)}.catalogue-line{margin-top:12px}.envelope{height:166px}.hero .hero-copy p.hearing-note{margin-top:13px}}

@media(max-width:700px){.classification{top:13px;right:12px}.envelope .address{top:27%}.paw-trace{width:15px;height:15px;right:17px;bottom:12px}}
