/* ✱ The Book of Joakim — joakimisaksen.com
   Type: Book Fraktur, our recut of UnifrakturCook with legible k, K and I (display: names, chapter titles, numerals) + EB Garamond (everything else; true small caps for labels).
   Colour: ink, bone/paper, one red. Spacing scale 4/8/12/16/24/32/48/64/96/128. z-scale: 1 base · 10 raised · 40 ribbon · 50 bar · 80 dialog · 100 skip. */
@font-face{font-family:"Book Fraktur";src:url(fonts/book-fraktur-700.woff2?v=r3) format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"EB Garamond";src:url(fonts/eb-garamond-var.woff2) format("woff2");font-weight:400 700;font-style:normal;font-display:swap}
@font-face{font-family:"EB Garamond";src:url(fonts/eb-garamond-italic-var.woff2) format("woff2");font-weight:400 600;font-style:italic;font-display:swap}

:root{
  --ink:#0d0c0b;--ink-2:#161412;--ink-3:#201d19;--bone:#ece4d4;--bone-2:#cfc6b5;--mute-d:#a8a090;--line-d:rgba(236,228,212,.16);--line-d2:rgba(236,228,212,.3);
  --paper:#efe7d8;--paper-2:#e6dcc8;--paper-3:#d8ccb4;--text-l:#1a1714;--mute-l:#5c5449;--line-l:rgba(26,23,20,.16);--line-l2:rgba(26,23,20,.32);
  --red:#c8321c;--red-d:#ea5a3f;--red-l:#a82915;--wax:#9e2314;--wax-2:#c4331f;
  --f-bl:"Book Fraktur",serif;--f-tx:"EB Garamond",Garamond,"Times New Roman",serif;
  --fs-body:clamp(18px,1rem + .32vw,21px);--fs-lede:clamp(21px,1.1rem + .6vw,26px);
  --gut:clamp(20px,4.2vw,64px);--wrap:1320px;--bar-h:68px;
  --ease:cubic-bezier(.2,.8,.2,1);--ease-io:cubic-bezier(.65,0,.35,1);
  --bg:var(--ink);--fg:var(--bone);--mute:var(--mute-d);--line:var(--line-d);--line2:var(--line-d2);--acc:var(--red-d);
  color-scheme:dark
}
.theme-paper{--bg:var(--paper);--fg:var(--text-l);--mute:var(--mute-l);--line:var(--line-l);--line2:var(--line-l2);--acc:var(--red-l);color-scheme:light}
.paper{--bg:var(--paper);--fg:var(--text-l);--mute:var(--mute-l);--line:var(--line-l);--line2:var(--line-l2);--acc:var(--red-l);background:var(--bg);color:var(--fg)}
.dark{--bg:var(--ink);--fg:var(--bone);--mute:var(--mute-d);--line:var(--line-d);--line2:var(--line-d2);--acc:var(--red-d);background:var(--bg);color:var(--fg)}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;background:var(--ink);scroll-padding-top:calc(var(--bar-h) + 24px)}
html.theme-paper{background:var(--paper)}
body{margin:0;background:var(--bg);color:var(--fg);font:400 var(--fs-body)/1.55 var(--f-tx);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-kerning:normal;font-variant-ligatures:common-ligatures;overflow-x:clip}
img,picture,video,svg{display:block;max-width:100%}
img,video{height:auto}
picture img{width:100%;height:100%;object-fit:cover}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.18em}
button,input,textarea,select{font:inherit;color:inherit}
button{cursor:pointer;background:none;border:0;padding:0}
code,kbd,samp{font-family:var(--f-tx);font-variant-caps:all-small-caps;letter-spacing:.06em}
h1,h2,h3,h4{margin:0;font-weight:500;line-height:1.08;text-wrap:balance}
p{margin:0;text-wrap:pretty}
ul,ol{margin:0;padding:0;list-style:none}
figure{margin:0}
::selection{background:var(--red);color:var(--bone)}
:focus-visible{outline:2px solid var(--acc);outline-offset:3px;border-radius:2px}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip{position:fixed;left:16px;top:-80px;z-index:100;background:var(--bone);color:var(--ink);padding:12px 18px;font-weight:600;text-decoration:none;transition:transform .2s var(--ease)}
.skip:focus{transform:translateY(96px)}
main:focus{outline:none}
.wrap{max-width:calc(var(--wrap) + 2*var(--gut));margin-inline:auto;padding-inline:var(--gut)}
.tabular,time,[data-clock]{font-variant-numeric:tabular-nums lining-nums}

/* ---------- type primitives ---------- */
.bl{font-family:var(--f-bl);font-weight:700;letter-spacing:0;font-variant-ligatures:normal}
.lab{font-family:var(--f-tx);font-weight:600;font-size:17px;line-height:1.25;font-variant-caps:all-small-caps;letter-spacing:.13em;font-variant-numeric:oldstyle-nums}
.rubric{color:var(--acc)}
.mute{color:var(--mute)}
.lede{font-size:var(--fs-lede);line-height:1.42}
.it{font-style:italic}
.num{font-variant-numeric:lining-nums tabular-nums}
.h-xl{font-size:clamp(40px,2rem + 3.2vw,76px);letter-spacing:-.012em;line-height:1.02}
.h-l{font-size:clamp(32px,1.5rem + 2.1vw,56px);letter-spacing:-.01em;line-height:1.05}
.h-m{font-size:clamp(26px,1.2rem + 1.1vw,38px);line-height:1.12}
.h-s{font-size:clamp(22px,1.1rem + .5vw,27px);line-height:1.2}
.bl-xl{font-size:clamp(64px,3rem + 6.6vw,150px);line-height:.9}
.bl-l{font-size:clamp(46px,2rem + 3.6vw,96px);line-height:.95}
.bl-m{font-size:clamp(34px,1.4rem + 2vw,56px);line-height:1}
em{font-style:italic}
.h-xl em,.h-l em,.h-m em{color:var(--acc)}
.prose p+p{margin-top:1em}
.prose{max-width:66ch}
.drop::first-letter{font-family:var(--f-tx);font-weight:600;color:var(--acc);float:left;font-size:3.9em;line-height:.8;padding:.08em .12em 0 0;margin-top:.02em} /* rev4: fallback only; every drop cap is now a framed .gcap (see the rev4 block at the end) */
.manicule{color:var(--acc);font-style:normal;margin-right:.3em}
sup.fn,a.fn{font-size:.62em;font-variant-numeric:lining-nums;vertical-align:super;line-height:0;color:var(--acc);font-weight:600;text-decoration:none;padding:0 .12em}

/* ---------- ornaments ---------- */
.mark{width:1em;height:1em;flex:none}
.ico{width:20px;height:20px;flex:none}
.orn{display:flex;align-items:center;gap:16px;color:var(--acc)}
.orn::before,.orn::after{content:"";height:1px;flex:1;background:var(--line2)}
.orn .mark{width:14px;height:14px}
.rule{height:1px;background:var(--line);border:0;margin:0}
.dbl{border-top:1px solid var(--line2);border-bottom:1px solid var(--line2);height:5px}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:12px;min-height:48px;padding:12px 22px;background:#b02b17;color:var(--bone);font-weight:600;font-size:17px;font-variant-caps:all-small-caps;letter-spacing:.14em;text-decoration:none;border:1px solid var(--red);transition:transform .16s var(--ease),background-color .16s var(--ease),color .16s var(--ease)}
.btn .ico{width:18px;height:18px}
.btn:active{transform:scale(.97)}
.btn-ghost{background:transparent;color:var(--fg);border-color:var(--line2)}
@media (hover:hover){.btn:hover{background:#8f2210}.btn-ghost:hover{background:var(--fg);color:var(--bg)}}
.link{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:var(--fg);text-decoration:none;font-weight:600;font-size:17px;font-variant-caps:all-small-caps;letter-spacing:.13em;border-bottom:1px solid transparent}
.link .ico{width:18px;height:18px;color:var(--acc);transition:transform .18s var(--ease)}
@media (hover:hover){.link:hover .ico{transform:translateX(4px)}.link:hover{border-bottom-color:var(--line2)}}
.copy{display:inline-flex;align-items:center;gap:8px;min-height:44px;min-width:44px;padding:0 14px;border:1px solid var(--line2);color:var(--fg);font-weight:600;font-size:16px;font-variant-caps:all-small-caps;letter-spacing:.12em;transition:background-color .16s var(--ease),color .16s var(--ease),transform .16s var(--ease)}
.copy:active{transform:scale(.97)}
.copy .ico{width:18px;height:18px}
.copy.ok{border-color:var(--acc);color:var(--acc)}
@media (hover:hover){.copy:hover{background:var(--fg);color:var(--bg)}}
.copy-ok{font-style:italic;color:var(--acc);font-size:17px;min-width:1px}

/* ---------- plates (figures) ---------- */
.plate{position:relative}
.plate .frame{position:relative;overflow:hidden;background:var(--ink-3);outline:1px solid rgba(255,255,255,.1);outline-offset:-1px}
.paper .plate .frame,.theme-paper .plate .frame{outline-color:rgba(0,0,0,.1)}
.plate picture,.plate video{width:100%;height:100%}
.plate video{object-fit:cover}
.plate figcaption{display:flex;gap:10px;align-items:baseline;margin-top:10px;font-size:16px;line-height:1.35;color:var(--mute);font-style:italic}
.plate figcaption .pl{font-style:normal;font-weight:600;font-variant-caps:all-small-caps;letter-spacing:.12em;color:var(--acc);white-space:nowrap}
.plate.ornate .frame{outline:none;box-shadow:0 0 0 1px var(--line2),0 0 0 7px var(--bg),0 0 0 8px var(--line2)}
.corner{position:absolute;width:14px;height:14px;color:var(--acc);z-index:2}
.corner.tl{top:-15px;left:-15px}.corner.tr{top:-15px;right:-15px}.corner.bl2{bottom:-15px;left:-15px}.corner.br{bottom:-15px;right:-15px}

/* ---------- designed slots & placeholders ---------- */
.slot{position:relative;display:grid;place-content:center;gap:10px;text-align:center;padding:28px;border:1px dashed var(--line2);background:repeating-linear-gradient(135deg,transparent 0 11px,rgba(127,120,108,.08) 11px 12px);color:var(--mute);min-height:180px}
.slot .slot-k{font-weight:600;font-size:15px;font-variant-caps:all-small-caps;letter-spacing:.16em;color:var(--acc)}
.slot .slot-t{font-size:19px;font-style:italic;color:var(--fg);max-width:32ch;margin-inline:auto}
.slot code{font-size:17px;color:var(--mute)}
.is-placeholder{position:relative;border:1px dashed var(--line2);padding:40px 24px 24px}
.ph-tag{position:absolute;top:-1px;left:-1px;display:inline-flex;align-items:center;gap:8px;padding:4px 12px;background:var(--fg);color:var(--bg);font-weight:600;font-size:14px;font-variant-caps:all-small-caps;letter-spacing:.14em}

/* ---------- top bar ---------- */
.bar{position:fixed;inset:0 0 auto;z-index:50;height:var(--bar-h);color:var(--fg);view-transition-name:bar;transition:background-color .25s var(--ease),border-color .25s var(--ease)}
.bar::before{content:"";position:absolute;inset:0;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--line);opacity:0;transition:opacity .25s var(--ease)}
.scrolled .bar::before,.bar.solid::before{opacity:1}
.bar-in{position:relative;height:100%;max-width:calc(var(--wrap) + 2*var(--gut));margin:0 auto;padding:0 var(--gut);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px}
.brand{display:inline-flex;align-items:center;gap:12px;min-height:44px;text-decoration:none;justify-self:start}
.brand-mark{width:22px;height:22px;color:var(--red);transition:transform .5s var(--ease)}
.brand-n{font-family:var(--f-bl);font-weight:700;font-size:25px;line-height:1;white-space:nowrap}
@media (hover:hover){.brand:hover .brand-mark{transform:rotate(45deg)}}
.nav{display:flex;gap:4px;justify-self:center;transition:opacity .25s var(--ease),transform .25s var(--ease)}
.nav a{display:inline-flex;align-items:baseline;gap:7px;min-height:44px;padding:12px 12px 0;text-decoration:none;font-weight:600;font-size:17px;font-variant-caps:all-small-caps;letter-spacing:.14em;position:relative}
.nav a i{font-style:italic;font-weight:500;font-variant-caps:normal;letter-spacing:0;color:var(--acc);font-size:18px}
.nav a::after{content:"";position:absolute;left:12px;right:12px;bottom:6px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .2s var(--ease)}
.nav a[aria-current]::after{transform:scaleX(1);background:var(--acc)}
@media (hover:hover){.nav a:hover::after{transform:scaleX(1)}}
.runhead{position:absolute;left:50%;top:50%;transform:translate(-50%,-30%);opacity:0;visibility:hidden;display:flex;gap:10px;align-items:baseline;white-space:nowrap;max-width:44vw;pointer-events:none;transition:opacity .25s var(--ease),transform .25s var(--ease),visibility 0s .25s}
.runhead .rh-book{font-weight:600;font-size:17px;font-variant-caps:all-small-caps;letter-spacing:.14em;color:var(--acc)}
.runhead .rh-sep{color:var(--mute)}
.runhead .rh-sec{font-style:italic;font-size:19px;overflow:hidden;text-overflow:ellipsis}
.deep .nav{opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .2s var(--ease),transform .2s var(--ease),visibility 0s .2s}
.deep .runhead{opacity:1;visibility:visible;transform:translate(-50%,-50%);transition:opacity .25s var(--ease),transform .25s var(--ease)}
.bar-r{display:flex;align-items:center;gap:18px;justify-self:end}
.bar-clock{font-size:17px;white-space:nowrap}
.bar-clock time{font-weight:600}
.bar-fol{white-space:nowrap;color:var(--mute)}
.bar-fol b{font-style:italic;font-weight:500;font-variant-caps:normal;letter-spacing:0;color:var(--fg);font-size:18px}
.bar-write{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 16px 0 6px;background:#b02b17;color:var(--bone);text-decoration:none;font-weight:600;font-size:17px;font-variant-caps:all-small-caps;letter-spacing:.14em;border-radius:22px;transition:transform .16s var(--ease),background-color .16s var(--ease)}
.mini-seal{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#d9452c,var(--wax) 70%);box-shadow:inset 0 0 0 3px rgba(0,0,0,.14),inset 0 -2px 3px rgba(0,0,0,.25)}
.mini-seal .mark{width:14px;height:14px;color:rgba(255,236,220,.85)}
.bar-write:active{transform:scale(.97)}
@media (hover:hover){.bar-write:hover{background:#8f2210}.bar-write:hover .mini-seal{transform:rotate(-12deg)}}
.mini-seal{transition:transform .3s var(--ease)}
.bar-toc{display:inline-flex;align-items:center;gap:10px;min-height:44px;min-width:44px;padding:0 4px;font-weight:600;font-size:17px;font-variant-caps:all-small-caps;letter-spacing:.14em}
.toc-ico{display:grid;gap:4px;width:20px}
.toc-ico i{height:1.5px;background:currentColor;display:block}
.toc-ico i:nth-child(2){width:70%}
.ribbon{position:absolute;top:100%;right:max(10px,calc((100vw - var(--wrap)) / 2 - var(--gut) - 26px));width:14px;height:min(32vh,260px);overflow:hidden;pointer-events:none;z-index:40}
.ribbon span{position:absolute;inset:0;background:var(--red);clip-path:polygon(0 0,100% 0,100% 100%,50% calc(100% - 9px),0 100%);transform:translateY(calc(-100% + 30px + var(--p,0) * (100% - 30px)));box-shadow:inset -3px 0 0 rgba(0,0,0,.18)}
@media (max-width:1180px){.bar-fol{display:none}}
@media (max-width:980px){.nav,.bar-clock{display:none}.bar-in{grid-template-columns:1fr auto}.runhead{display:none}}
@media (max-width:760px){:root{--bar-h:60px}.brand-n{font-size:22px}.bar-r{gap:8px}.bw-t{display:none}.bar-write{padding:0 5px;width:44px;justify-content:center}.ribbon{display:none}.bt-t{font-size:17px}}

/* ---------- contents dialog ---------- */
.toc{border:0;padding:0;margin:0;max-width:none;max-height:none;width:100%;height:100%;background:transparent;color:var(--text-l);overflow:auto}
.toc::backdrop{background:rgba(8,7,6,.72);backdrop-filter:blur(3px)}
.toc-page{--fg:var(--text-l);--mute:var(--mute-l);--line:var(--line-l);--line2:var(--line-l2);--acc:var(--red-l);--bg:var(--paper);position:relative;width:min(720px,calc(100% - 24px));margin:clamp(12px,5vh,64px) auto;background:var(--paper);padding:clamp(24px,4vw,56px);box-shadow:0 30px 80px -20px rgba(0,0,0,.6),0 0 0 1px rgba(0,0,0,.2);transform-origin:left center}
.toc-page::before{content:"";position:absolute;inset:12px;border:1px solid var(--line2);pointer-events:none}
.toc[open] .toc-page{animation:toc-in .38s var(--ease) both}
@keyframes toc-in{from{opacity:0;transform:perspective(1400px) rotateY(-9deg) translateX(-18px)}to{opacity:1;transform:none}}
.toc-top{position:relative;display:flex;justify-content:space-between;align-items:center;gap:16px;color:var(--mute)}
.toc-x{min-height:44px;min-width:44px;padding:0 12px;font-weight:600;font-size:17px;font-variant-caps:all-small-caps;letter-spacing:.14em;color:var(--text-l);border:1px solid var(--line2)}
.toc-x span{font-size:22px;line-height:0;margin-left:4px}
.toc-h{font-size:clamp(56px,10vw,96px);line-height:1;margin:12px 0 16px;color:var(--text-l)}
.toc-list>li{border-top:1px solid var(--line)}
.toc-list a{position:relative;display:grid;grid-template-columns:44px auto 1fr auto;align-items:baseline;gap:10px;min-height:52px;padding:12px 0;text-decoration:none;color:var(--text-l)}
.toc-list .n{font-weight:500;color:var(--red-l);font-size:19px;letter-spacing:.04em;font-variant-numeric:lining-nums}
.toc-list .t{font-size:clamp(21px,2.4vw,26px);line-height:1.15}
.toc-list .t em{font-size:16px;color:var(--mute);font-style:normal;font-weight:600;font-variant-caps:all-small-caps;letter-spacing:.12em;margin-left:6px}
.dots{border-bottom:1.5px dotted var(--line2);transform:translateY(-6px);min-width:16px}
.toc-list .f{font-style:italic;color:var(--mute);font-variant-numeric:tabular-nums}
.toc-list a[aria-current] .t{color:var(--red-l)}
.toc-list .here{position:absolute;left:-30px;top:12px;color:var(--red-l);font-size:22px}
.toc-sub{padding:0 0 10px 44px}
.toc-sub a{min-height:44px;padding:8px 0;grid-template-columns:48px auto 1fr auto}
.toc-sub .t{font-size:20px}
.toc-sub .n{font-size:18px}
.toc-sub .unwritten .t{font-style:italic;color:var(--mute)}
@media (hover:hover){.toc-list a:hover .t{color:var(--red-l)}}
.toc-foot{display:flex;flex-wrap:wrap;gap:12px 24px;justify-content:space-between;align-items:center;border-top:1px solid var(--line2);margin-top:8px;padding-top:16px}
.toc-mail{display:inline-flex;align-items:center;gap:10px;min-height:44px;color:var(--text-l);font-size:19px}
.toc-soc{display:flex;gap:4px}
.toc-soc a{display:grid;place-items:center;width:44px;height:44px;color:var(--text-l)}
@media (max-width:560px){.toc-list a{grid-template-columns:32px auto 1fr auto}.toc-sub{padding-left:16px}.toc-sub a{grid-template-columns:44px auto 1fr auto}.toc-list .t em{display:none}.toc-list .here{left:-18px;font-size:18px}.toc-page{padding:28px 22px 24px}}

/* ---------- sections ---------- */
.sec{padding-block:clamp(72px,9vw,136px)}
.sec-head{display:grid;grid-template-columns:auto 1fr auto;align-items:end;gap:12px 24px;padding-bottom:20px;border-bottom:1px solid var(--line2);margin-bottom:clamp(32px,5vw,64px)}
.sec-head .sh-n{font-weight:500;font-size:clamp(40px,4vw,60px);line-height:.8;color:var(--acc)}
.sec-head .sh-n .mark{width:.62em;height:.62em;transform:translateY(-.05em)}
.sec-head h2{line-height:.95}
.sec-head .lab{color:var(--mute);text-align:right;padding-bottom:6px}
@media (max-width:640px){.sec-head{grid-template-columns:auto 1fr}.sec-head>:nth-child(3){grid-column:1/-1;text-align:left;padding:0;justify-self:start}}
.m-hide{}
@media (max-width:860px){.m-hide{display:none}}
.page-head{padding-top:calc(var(--bar-h) + clamp(40px,7vw,96px))}
.crumbs{display:flex;flex-wrap:wrap;gap:8px;align-items:center;color:var(--mute);margin-bottom:28px}
.crumbs a{display:inline-flex;align-items:center;min-height:44px;text-decoration:none;color:var(--fg)}
.crumbs a:hover{color:var(--acc)}

/* ---------- reveal ---------- */
.js .rv{opacity:0;transform:translateY(14px);transition:opacity .7s var(--ease),transform .7s var(--ease);transition-delay:calc(var(--i,0) * 90ms)}
.js .rv.in{opacity:1;transform:none}

/* ======================================================================================
   HOME
   ====================================================================================== */
.cover{position:relative;padding:calc(var(--bar-h) + 20px) 0 clamp(40px,5vw,72px);overflow:clip}
.cover-meta{display:flex;justify-content:space-between;gap:16px;padding-bottom:14px;border-bottom:1px solid var(--line);color:var(--mute)}
.cover-meta span:nth-child(2){text-align:center}
.cover-grid{display:grid;grid-template-columns:minmax(0,1fr) clamp(260px,27vw,400px) minmax(0,1fr);column-gap:clamp(24px,4vw,64px);align-items:center;margin-top:clamp(12px,2vw,28px)}
.cname{grid-column:1/-1;justify-self:center;position:relative;z-index:3;font-family:var(--f-bl);font-weight:700;font-size:clamp(92px,13.4vw,232px);line-height:.78;white-space:nowrap;color:var(--bone);pointer-events:none;user-select:none}
.cname.top{grid-row:1;margin-bottom:-.3em;transform:translateX(-.18em)}
.cname.bot{grid-row:3;margin-top:-.26em;transform:translateX(.2em)}
.cname .l{display:inline-block}
.cover-photo{grid-column:2;grid-row:2;position:relative;z-index:2}
.cover-photo .frame{aspect-ratio:3/4;position:relative;overflow:hidden;background:var(--ink-3)}
.cover-photo .frame::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,12,11,.62) 0,rgba(13,12,11,0) 24%,rgba(13,12,11,0) 76%,rgba(13,12,11,.62) 100%);pointer-events:none}
.cover-photo .cap{position:absolute;left:-12px;bottom:28%;z-index:3;display:flex;gap:8px;padding:0;transform:rotate(-90deg) translateY(-100%);transform-origin:0 0;white-space:nowrap;font-size:15px;font-weight:600;font-variant-caps:all-small-caps;letter-spacing:.13em;color:var(--bone-2)}
.cover-photo .cap b{color:var(--red-d);font-weight:600}
.seal-ring{position:absolute;right:calc(-1 * clamp(44px,4.6vw,70px));top:14%;width:clamp(96px,9.4vw,140px);aspect-ratio:1;z-index:4;color:var(--bone)}
.seal-ring svg{width:100%;height:100%;transform:rotate(calc(var(--p,0) * 540deg))}
.seal-ring text{font:600 12.5px var(--f-tx);letter-spacing:.2em;fill:currentColor;font-variant-caps:all-small-caps}
.seal-ring .c{fill:var(--red)}
.cover-l{grid-column:1;grid-row:2;align-self:center;max-width:380px}
.cover-im{font-family:var(--f-bl);font-weight:700;font-size:clamp(56px,5.6vw,92px);line-height:.9;color:var(--red);display:block;margin-bottom:16px}
.cover-lede{font-size:clamp(20px,1.1rem + .35vw,24px);line-height:1.38;color:var(--bone)}
.cover-lede b{font-weight:600}
.minitoc{margin-top:28px;border-top:1px solid var(--line)}
.minitoc a{display:grid;grid-template-columns:36px 1fr auto;align-items:baseline;min-height:46px;padding:10px 0;border-bottom:1px solid var(--line);text-decoration:none}
.minitoc .n{font-weight:500;color:var(--red-d);letter-spacing:.04em}
.minitoc .n .mark{width:13px;height:13px}
.minitoc .t{font-weight:600;font-size:17px;font-variant-caps:all-small-caps;letter-spacing:.13em}
.minitoc .y{font-style:italic;color:var(--mute);font-size:17px;font-variant-numeric:tabular-nums lining-nums}
@media (hover:hover){.minitoc a:hover .t{color:var(--red-d)}}
.cover-r{grid-column:3;grid-row:2;align-self:center;text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:24px}
.cover-quote{font-family:var(--f-bl);font-weight:700;font-size:clamp(38px,3.3vw,58px);line-height:1;color:var(--bone)}
.cover-quote em{font-style:normal;color:var(--red)}
.stamp{display:grid;gap:4px;color:var(--mute)}
.stamp .status{display:inline-flex;align-items:center;gap:8px;justify-content:flex-end;color:var(--bone)}
.dot{width:8px;height:8px;border-radius:50%;background:var(--red-d);box-shadow:0 0 0 3px rgba(234,90,63,.2);flex:none}
.js .cname .l{animation:rise .9s var(--ease) both;animation-delay:calc(var(--d) * 55ms + 120ms)}
@keyframes rise{from{opacity:0;transform:translateY(.25em)}to{opacity:1;transform:none}}
.js .cover-photo .frame picture{animation:develop 1.4s var(--ease) both}
@keyframes develop{from{opacity:0;filter:brightness(1.8) contrast(.6)}to{opacity:1;filter:none}}
@media (max-width:1100px){.seal-ring{right:-28px}}
@media (max-width:860px){
  .cover-grid{grid-template-columns:1fr;row-gap:0}
  .cname{font-size:min(30vw,190px)}
  .cname.top{transform:translateX(-.06em)}
  .cname.bot{transform:translateX(.06em)}
  .cover-photo{grid-column:1;width:min(76%,420px);justify-self:center}
  .cover-photo .frame{aspect-ratio:4/5}
  .seal-ring{right:-14%;top:auto;bottom:18%;width:92px}
  .cover-l{grid-column:1;grid-row:4;max-width:none;margin-top:36px}
  .cover-r{grid-column:1;grid-row:5;align-items:flex-start;text-align:left;margin-top:36px}
  .cover-im{font-size:64px;margin-bottom:8px}
  .stamp .status{justify-content:flex-start}
  .cover-meta span:nth-child(2){display:none}
}

.incipit{border-block:1px solid var(--line);padding-block:clamp(28px,4vw,48px)}
.incipit p{max-width:980px;margin-inline:auto;text-align:center;font-size:clamp(22px,1.1rem + .9vw,32px);line-height:1.34;font-style:italic;color:var(--bone)}
.incipit .bl{font-style:normal;color:var(--red-d);font-size:1.12em}

/* prologue (founder's note) */
.prologue{padding-block:clamp(72px,9vw,132px);position:relative}
.pro-grid{display:grid;grid-template-columns:200px minmax(0,640px) minmax(200px,280px);gap:clamp(24px,4vw,64px);justify-content:space-between}
.pro-side{display:flex;flex-direction:column;gap:14px;color:var(--mute)}
.pro-side .bl{font-size:44px;line-height:.95;color:var(--text-l)}
.pro-side .bl em{font-style:normal;color:var(--red-l)}
.pro-title{font-size:clamp(38px,1.6rem + 2.6vw,68px);line-height:1.02;letter-spacing:-.015em;margin-bottom:clamp(24px,3vw,40px)}
.pro-title em{color:var(--red-l)}
.letter-body{font-size:clamp(19px,1rem + .4vw,22px);line-height:1.6}
.letter-body p+p{margin-top:1em}
.sign{display:flex;align-items:center;gap:14px;margin-top:36px;padding-top:20px;border-top:1px solid var(--line)}
.sign .mark{width:26px;height:26px;color:var(--red-l)}
.sign .bl{font-size:44px;line-height:1}
.sign .lab{margin-left:auto;color:var(--mute)}
.marg{display:flex;flex-direction:column;gap:22px;font-size:16px;line-height:1.45;color:var(--mute);padding-top:8px}
.marg .note{display:grid;grid-template-columns:22px 1fr;gap:4px}
.marg .note b{font-family:var(--f-tx);color:var(--red-l);font-weight:600;font-variant-numeric:lining-nums}
.marg .scribe{font-style:italic;color:var(--red-l);transform:rotate(-1.5deg);padding:12px 0;border-block:1px solid var(--line)}
.marg .plate .frame{aspect-ratio:4/5}
@media (max-width:1060px){.pro-grid{grid-template-columns:minmax(0,1fr) 240px}.pro-side{grid-column:1/-1;flex-direction:row;align-items:baseline;flex-wrap:wrap;gap:8px 20px}}
@media (max-width:760px){.pro-grid{grid-template-columns:1fr}.marg{border-top:1px solid var(--line2);padding-top:24px}.marg .plate{max-width:280px}}

/* the books (home) */
.books-grid{display:grid;grid-template-columns:minmax(0,1fr) clamp(300px,30vw,440px);gap:clamp(32px,5vw,80px);align-items:start}
.book-row{position:relative;display:grid;grid-template-columns:clamp(64px,7vw,104px) minmax(0,1fr);gap:0 clamp(16px,2vw,28px);padding:clamp(24px,3vw,36px) 0;border-bottom:1px solid var(--line)}
.book-row:first-child{border-top:1px solid var(--line)}
.book-row .bn{font-weight:500;font-size:clamp(34px,3.2vw,50px);line-height:.9;letter-spacing:.02em;color:var(--mute);transition:color .2s var(--ease)}
.book-row.active .bn{color:var(--red)}
.book-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 18px;margin-bottom:10px}
.book-head h3{font-family:var(--f-bl);font-weight:700;font-size:clamp(32px,2.6vw,46px);line-height:1}
.book-head .lab{color:var(--mute)}
.book-story{max-width:60ch;color:var(--bone)}
.book-moral{margin-top:10px;font-style:italic;color:var(--mute);max-width:60ch}
.book-moral b{font-style:normal;font-weight:600;font-variant-caps:all-small-caps;letter-spacing:.12em;color:var(--red-d);margin-right:6px}
.book-row .link{margin-top:8px}
.book-row.unwritten h3{color:transparent;-webkit-text-stroke:1px var(--bone)}
.book-thumb{display:none}
.books-plate{position:sticky;top:calc(var(--bar-h) + 32px)}
.bp-stack{position:relative;aspect-ratio:4/5}
.bp-stack>*{position:absolute;inset:0;opacity:0;transition:opacity .45s var(--ease),transform .6s var(--ease);transform:scale(1.015)}
.bp-stack>.on{opacity:1;transform:none}
.bp-stack .frame{height:100%}
.bp-cap{margin-top:12px;display:flex;gap:10px;align-items:baseline;font-style:italic;color:var(--mute);font-size:16px;min-height:44px}
.bp-cap b{font-style:normal;font-weight:600;font-variant-caps:all-small-caps;letter-spacing:.12em;color:var(--red-d)}
.tplate{height:100%;display:grid;place-content:center;justify-items:center;gap:14px;text-align:center;padding:32px;border:1px solid var(--line2);background:var(--ink-2);position:relative}
.tplate::before{content:"";position:absolute;inset:8px;border:1px solid var(--line)}
.tplate .big{font-family:var(--f-bl);font-weight:700;font-size:clamp(48px,5vw,76px);line-height:.9;color:var(--bone)}
.tplate .sub{font-style:italic;color:var(--mute);max-width:26ch}
.laurel{width:150px;color:var(--red-d)}
.wax{position:relative;width:112px;height:112px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 34% 30%,#e0553a 0,var(--wax-2) 32%,var(--wax) 68%,#6e170c 100%);box-shadow:inset 0 0 0 7px rgba(0,0,0,.12),inset 0 -6px 12px rgba(0,0,0,.35),0 8px 18px -6px rgba(0,0,0,.5)}
.wax::before{content:"";position:absolute;inset:14px;border-radius:50%;border:2px solid rgba(255,220,200,.22)}
.wax .mark{width:38%;height:38%;color:rgba(255,232,214,.8)}
@media (max-width:900px){.books-grid{grid-template-columns:1fr}.books-plate{display:none}.book-thumb{display:block;grid-column:2;margin-top:16px;max-width:360px}.book-thumb .frame{aspect-ratio:16/10}.book-thumb .tplate{aspect-ratio:16/10;height:auto;padding:20px}.book-thumb .tplate .big{font-size:44px}.book-thumb .wax{width:72px;height:72px}.book-thumb .laurel{width:96px}}
@media (max-width:520px){.book-row{grid-template-columns:48px minmax(0,1fr)}.book-thumb{grid-column:1/-1}}

/* tenets teaser */
.tenets3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,3vw,48px)}
.tenet3{border-top:2px solid var(--fg);padding-top:20px}
.tenet3 .tn{font-size:48px;line-height:.9;color:var(--red-d);font-weight:500}
.tenet3 h3{margin:14px 0 10px}
.tenet3 p{color:var(--mute)}
@media (max-width:800px){.tenets3{grid-template-columns:1fr}}

/* almanac */
.alm{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:1px;background:var(--line2);border:1px solid var(--line2)}
.mod{background:var(--bg);padding:clamp(20px,2.4vw,32px);display:flex;flex-direction:column;gap:16px;min-height:220px}
.mod-h{display:flex;justify-content:space-between;gap:12px;align-items:baseline;color:var(--mute)}
.mod-h .lab{color:var(--fg)}
.mod-h .k{font-style:italic;font-size:16px}
.m-hours{grid-column:span 5}.m-now{grid-column:span 4}.m-sky{grid-column:span 3}.m-dist{grid-column:span 4}.m-read{grid-column:span 4}.m-disp{grid-column:span 4}
.hours{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.hours .city{font-family:var(--f-bl);font-weight:700;font-size:28px;line-height:1}
.hours .t{font-size:clamp(40px,3.6vw,58px);line-height:1;font-weight:500;letter-spacing:-.01em;margin-top:8px;font-variant-numeric:tabular-nums lining-nums}
.hours .t .s{font-size:.42em;color:var(--mute);margin-left:4px;vertical-align:.9em}
.hours .d{font-style:italic;color:var(--mute);font-size:16px;margin-top:6px}
.m-hours .foot{margin-top:auto;border-top:1px solid var(--line);padding-top:12px;font-size:17px}
.now-list{display:grid;gap:12px}
.now-list li{display:grid;grid-template-columns:28px 1fr;gap:6px;align-items:baseline}
.now-list .rn{font-style:italic;color:var(--acc)}
.status{display:inline-flex;align-items:center;gap:10px;font-weight:600}
.chapters{display:flex;gap:5px;align-items:flex-end;height:44px;margin-top:auto}
.chapters i{display:block;width:12px;background:var(--fg);height:var(--h)}
.chapters i.u{background:transparent;border:1px dashed var(--line2)}
.chapters span{margin-left:10px;font-style:italic;color:var(--mute);font-size:16px;align-self:center}
.sky-arc{width:100%;max-width:220px;height:auto;color:var(--fg);align-self:center}
.sky-arc .sun{fill:var(--red)}
.sky-v{font-size:clamp(30px,2.6vw,40px);line-height:1;font-variant-numeric:tabular-nums lining-nums}
.sky-s{font-style:italic;color:var(--mute);font-size:16px}
.dist-v{font-size:clamp(46px,4.2vw,66px);line-height:1;font-variant-numeric:tabular-nums lining-nums;letter-spacing:-.01em}
.dist-v small{font-size:.36em;margin-left:6px;color:var(--mute);font-variant-caps:all-small-caps;letter-spacing:.12em}
.route{width:100%;height:auto;color:var(--fg);margin-top:auto}
.route text{font:italic 15px var(--f-tx);fill:var(--mute)}
.libcard{border:1px solid var(--line2);padding:16px;display:grid;gap:10px;background:repeating-linear-gradient(transparent 0 31px,var(--line) 31px 32px)}
.libcard .row{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:baseline}
.libcard .row b{font-weight:600;font-variant-caps:all-small-caps;letter-spacing:.12em;font-size:15px;color:var(--mute)}
.libcard .row span{font-style:italic;color:var(--acc)}
.disp-list{display:grid;gap:0;margin-top:auto}
.disp-list a{display:grid;grid-template-columns:24px 1fr auto;gap:12px;align-items:center;min-height:48px;border-top:1px solid var(--line);text-decoration:none}
.disp-list a small{color:var(--mute);font-style:italic;font-size:15px}
.disp-list .ico{color:var(--fg)}
@media (hover:hover){.disp-list a:hover span{color:var(--acc)}}
.disp-slot{border:1px dashed var(--line2);padding:12px 14px;font-style:italic;color:var(--mute);font-size:16px}
.disp-slot b{font-style:normal;font-weight:600;font-variant-caps:all-small-caps;letter-spacing:.14em;color:var(--acc);display:block;font-size:14px}
@media (max-width:1080px){.m-hours{grid-column:span 7}.m-now{grid-column:span 5}.m-sky,.m-dist,.m-read{grid-column:span 4}.m-disp{grid-column:span 12}}
@media (max-width:720px){.alm>.mod{grid-column:1/-1}.hours .t{font-size:44px}}

/* ======================================================================================
   FOOTER / COLOPHON
   ====================================================================================== */
.colophon{--bg:var(--ink);--fg:var(--bone);--mute:var(--mute-d);--line:var(--line-d);--line2:var(--line-d2);--acc:var(--red-d);background:var(--ink);color:var(--bone);position:relative;overflow:hidden;padding-top:clamp(72px,9vw,128px);border-top:1px solid var(--line)}
.finis{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:40px;align-items:end;padding-bottom:clamp(48px,6vw,80px)}
.finis-h{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 24px;margin:12px 0 18px}
.finis-h .bl{font-size:clamp(76px,10vw,160px);line-height:.85}
.finis-sub{font-style:italic;font-size:clamp(28px,3vw,44px);color:var(--mute)}
.finis-p{max-width:46ch;font-size:var(--fs-lede);line-height:1.4;color:var(--bone-2)}
.finis-mail{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;margin-top:28px}
.big-mail{font-size:clamp(24px,1.2rem + 1.4vw,40px);text-decoration:none;border-bottom:1px solid var(--red-d);line-height:1.2;padding-bottom:2px;overflow-wrap:anywhere}
@media (hover:hover){.big-mail:hover{color:var(--red-d)}}
.finis-seal{display:grid;justify-items:center;gap:10px;text-decoration:none;color:var(--mute);min-width:44px}
.seal-disc{display:grid;place-items:center;width:128px;height:128px;border-radius:50%;background:radial-gradient(circle at 34% 30%,#e0553a 0,var(--wax-2) 32%,var(--wax) 68%,#6e170c 100%);box-shadow:inset 0 0 0 8px rgba(0,0,0,.12),inset 0 -6px 12px rgba(0,0,0,.35),0 14px 30px -10px rgba(0,0,0,.7);transition:transform .35s var(--ease)}
.seal-disc .mark{width:44px;height:44px;color:rgba(255,232,214,.8)}
@media (hover:hover){.finis-seal:hover .seal-disc{transform:rotate(-14deg) scale(1.03)}.finis-seal:hover{color:var(--bone)}}
.ruler{border-block:1px solid var(--line2);padding:20px 0 16px;margin-bottom:clamp(40px,5vw,64px);overflow-x:auto;scrollbar-width:none}
.ruler ol{position:relative;height:72px;min-width:640px;margin-inline:8px 100px;background:linear-gradient(var(--line2),var(--line2)) 0 22px/100% 1px no-repeat}
.ruler li{position:absolute;left:calc(var(--x) * 100%);top:0;display:grid;gap:2px;white-space:nowrap}
.ruler li::before{content:"";position:absolute;left:0;top:15px;width:1px;height:15px;background:var(--fg)}
.ruler li b{font-weight:600;font-size:16px;font-variant-numeric:lining-nums;transform:translateY(-4px)}
.ruler li span{margin-top:18px;font-style:italic;color:var(--mute);font-size:16px}
.ruler li.next b{color:var(--red-d)}
.ruler li.next::before{background:var(--red-d);height:20px;top:12px;width:2px}
.fgrid{display:grid;grid-template-columns:1.1fr 1.1fr .8fr 1.1fr;gap:clamp(24px,3vw,48px);padding-bottom:40px}
.fcol h3{color:var(--mute);margin-bottom:14px}
.leaders a{display:grid;grid-template-columns:22px auto 1fr auto;align-items:baseline;gap:8px;min-height:40px;padding:6px 0;text-decoration:none;font-size:18px}
.leaders.books a{grid-template-columns:40px auto 1fr auto}
.leaders .n{font-weight:500;color:var(--red-d);font-size:16px;letter-spacing:.04em}
.leaders .n .mark,.toc-list .n .mark{width:12px;height:12px}
.leaders .f{font-style:italic;color:var(--mute);font-size:16px;font-variant-numeric:tabular-nums lining-nums}
.leaders a[aria-current] .t{color:var(--red-d)}
@media (hover:hover){.leaders a:hover .t{color:var(--red-d)}}
.elsewhere a{display:flex;align-items:center;gap:12px;min-height:44px;text-decoration:none;font-size:18px}
@media (hover:hover){.elsewhere a:hover span{color:var(--red-d)}}
.colo-text p{font-size:17px;line-height:1.5;color:var(--bone-2)}
.colo-text p+p{margin-top:.8em}
.colo-text .bl{font-size:18px}
.fbase{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;border-top:1px solid var(--line);padding:16px 0;color:var(--mute);font-size:16px;position:relative;z-index:2}
.fb-mark{display:inline-flex;gap:8px;align-items:center}
.fb-mark .mark{width:14px;height:14px;color:var(--red-d)}
.to-top{display:inline-flex;align-items:center;gap:8px;min-height:44px;text-decoration:none;color:var(--bone)}
.to-top .ico{width:18px;height:18px;color:var(--red-d)}
.giant{position:relative;height:clamp(90px,15vw,250px);overflow:hidden;pointer-events:none}
.giant span{position:absolute;left:50%;top:0;transform:translateX(-50%);font-family:var(--f-bl);font-weight:700;font-size:clamp(150px,27vw,470px);line-height:.8;color:var(--ink-3);white-space:nowrap}
@media (max-width:1000px){.fgrid{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.ruler{overflow:visible}.ruler ol{min-width:0;height:auto;margin:0;background:linear-gradient(var(--line2),var(--line2)) 4px 0/1px 100% no-repeat;display:grid;gap:14px}.ruler li{position:relative;left:auto;padding-left:24px;grid-template-columns:110px 1fr;align-items:baseline}.ruler li::before{left:0;top:.55em;width:9px;height:1px}.ruler li.next::before{height:2px;width:12px;top:.5em}.ruler li b{transform:none}.ruler li span{margin:0}
.finis{grid-template-columns:1fr}.finis-seal{justify-items:start;grid-auto-flow:column;align-items:center;justify-content:start;gap:16px}.seal-disc{width:84px;height:84px}.seal-disc .mark{width:30px;height:30px}.fgrid{grid-template-columns:1fr}}

/* ---------- page-turn transition (cross-document view transitions) ---------- */
@media (prefers-reduced-motion:no-preference){
  @view-transition{navigation:auto}
  ::view-transition-old(root){animation:turn-out .42s var(--ease-io) both;transform-origin:0 50%}
  ::view-transition-new(root){animation:turn-in .46s var(--ease) both}
  @keyframes turn-out{to{opacity:0;transform:perspective(1800px) rotateY(12deg) translateX(-3%)}}
  @keyframes turn-in{from{opacity:0;transform:translateX(2.5%)}}
  html{scroll-behavior:smooth}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  .js .rv{opacity:1;transform:none}
  .seal-ring svg{transform:none}
}

/* ======================================================================================
   ABOUT · The Book of Drive (a manuscript on paper)
   ====================================================================================== */
.theme-paper body{background:var(--paper) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .35 0 0 0 0 .28 0 0 0 0 .2 0 0 0 .07 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.ms-title{padding-top:calc(var(--bar-h) + clamp(28px,5vw,64px));text-align:center}
.ms-meta{display:flex;justify-content:space-between;gap:16px;color:var(--mute);padding-bottom:14px;border-bottom:1px solid var(--line2)}
.ms-h1{margin:clamp(28px,4vw,56px) 0 0;display:grid;justify-items:center;line-height:.86}
.ms-h1 .t1{font-family:var(--f-tx);font-weight:500;font-style:italic;font-size:clamp(28px,1.2rem + 2vw,52px);letter-spacing:-.01em;line-height:1}
.ms-h1 .t2{font-family:var(--f-bl);font-weight:700;font-size:clamp(120px,5rem + 13vw,300px);color:var(--red-l);line-height:.82;margin-top:.06em}
.ms-sub{max-width:40ch;margin:24px auto 0;font-style:italic;font-size:clamp(21px,1.1rem + .6vw,27px);line-height:1.38;color:var(--text-l)}
.ms-sub b{font-style:normal;font-weight:600;font-variant-caps:all-small-caps;letter-spacing:.1em}
.ms-front{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,420px) minmax(0,1fr);gap:clamp(24px,4vw,64px);align-items:center;margin-top:clamp(40px,6vw,88px);text-align:left}
.ms-front .plate .frame{aspect-ratio:3/4}
.ms-front figcaption{justify-content:center}
.ms-mnote{font-style:italic;color:var(--red-l);font-size:18px;line-height:1.45;max-width:26ch;justify-self:end;transform:rotate(-2deg)}
.ms-mnote .manicule{font-size:22px}
.in-book{justify-self:start;min-width:220px}
.in-book h2{margin-bottom:10px;color:var(--mute)}
.in-book a{display:grid;grid-template-columns:40px 1fr;align-items:baseline;min-height:40px;padding:6px 0;border-top:1px solid var(--line);text-decoration:none}
.in-book a .n{color:var(--red-l);font-weight:500;letter-spacing:.04em}
.in-book a .t{font-size:19px}
.in-book a.u .t{font-style:italic;color:var(--mute)}
@media (hover:hover){.in-book a:hover .t{color:var(--red-l)}}
@media (max-width:900px){.ms-front{grid-template-columns:1fr;justify-items:center}.ms-front .plate{width:min(100%,380px)}.ms-mnote{justify-self:center;text-align:center;order:2}.in-book{justify-self:stretch;order:3;width:100%}.ms-meta span:nth-child(2){display:none}}

.incip{padding-block:clamp(72px,9vw,128px)}
.incip-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,700px) minmax(0,1fr);gap:clamp(24px,4vw,56px)}
.incip-body{grid-column:2;font-size:clamp(20px,1.05rem + .5vw,24px);line-height:1.58}
.incip-body p+p{margin-top:1em}
.illum{float:left;position:relative;width:clamp(116px,12vw,168px);aspect-ratio:1;margin:.3em 22px 8px 0;background:var(--red-l);color:var(--paper);display:grid;place-items:center}
.illum svg{position:absolute;inset:0;width:100%;height:100%}
.illum .fr{fill:none;stroke:var(--paper);stroke-width:1.2}
.illum .vine{fill:none;stroke:var(--paper);stroke-width:1;stroke-opacity:.7}
.illum .illum-l{position:relative;font-family:var(--f-bl);font-weight:700;font-size:clamp(88px,9vw,128px);line-height:1;transform:translateY(.04em)}
.js .illum .fr,.js .illum .vine{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.8s var(--ease-io)}
.js .illum .illum-l{opacity:0;transform:translateY(.12em) scale(.96);transition:opacity .9s var(--ease) .5s,transform .9s var(--ease) .5s}
.js .illum.in .fr,.js .illum.in .vine{stroke-dashoffset:0}
.js .illum.in .illum-l{opacity:1;transform:translateY(.04em)}
.incip-marg{grid-column:3;align-self:start;font-style:italic;color:var(--red-l);font-size:17px;line-height:1.45;max-width:24ch;padding-top:12px;border-top:1px solid var(--line2)}
.incip-marg p+p{margin-top:12px}
@media (max-width:1100px){.incip-grid{grid-template-columns:1fr}.incip-body,.incip-marg{grid-column:1}.incip-body{max-width:70ch}.incip-marg{max-width:none}}

.tenets{padding-block:clamp(72px,9vw,128px);border-top:1px solid var(--line2)}
.tenets-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:clamp(40px,6vw,112px);background:linear-gradient(var(--line2),var(--line2)) 50% 0/1px 100% no-repeat}
.tenet{display:grid;grid-template-columns:clamp(56px,5vw,76px) minmax(0,1fr);gap:0 16px;padding:26px 0;border-bottom:1px solid var(--line)}
.tenet .tn{font-size:clamp(28px,2.4vw,38px);line-height:1;color:var(--red-l);font-weight:500;letter-spacing:.02em}
.tenet h3{font-size:clamp(25px,1.1rem + 1vw,34px);line-height:1.12;font-weight:500}
.tenet p{grid-column:2;margin-top:8px;font-style:italic;color:var(--mute)}
.tenet .mn{grid-column:2;margin-top:10px;font-style:italic;color:var(--red-l);font-size:17px;transform:rotate(-1.2deg);transform-origin:left}
@media (max-width:820px){.tenets-grid{grid-template-columns:1fr;background:none}}

.arenas{padding-block:clamp(72px,9vw,128px) 0}
.arena{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(20px,3vw,48px);align-items:start;padding-block:clamp(56px,7vw,104px);border-top:1px solid var(--line2);scroll-margin-top:calc(var(--bar-h) + 8px)}
.arena-media{grid-column:1/span 5;position:relative}
.arena-text{grid-column:7/span 6;padding-top:8px}
.arena.flip .arena-media{grid-column:8/span 5;grid-row:1}
.arena.flip .arena-text{grid-column:1/span 6;grid-row:1}
.arena-k{color:var(--red-l);display:block;margin-bottom:10px}
.arena-h{font-family:var(--f-bl);font-weight:700;font-size:clamp(56px,3rem + 3.6vw,112px);line-height:.9;margin-bottom:24px}
.arena-body{font-size:clamp(19px,1rem + .4vw,22px);line-height:1.6;max-width:58ch}
.arena-body p+p{margin-top:1em}
.lesson{display:flex;gap:14px;align-items:baseline;margin-top:28px;padding-top:16px;border-top:1px solid var(--line2);font-size:clamp(22px,1.1rem + .7vw,30px);line-height:1.25}
.lesson .lab{color:var(--red-l);flex:none}
.arena-media .plate .frame{aspect-ratio:3/4}
.arena-media .plate.wide .frame{aspect-ratio:4/3}
.duo{display:grid;grid-template-columns:1.1fr .9fr;gap:12px;align-items:end}
.duo .plate:first-child .frame{aspect-ratio:1028/911}
.duo .plate:last-child .frame{aspect-ratio:1138/911}
.duo figcaption{grid-column:1/-1}
.arena .facts{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:20px;color:var(--mute)}
.arena .facts .lab{color:var(--mute)}
.card-plate{position:relative;background:var(--paper-2);padding:clamp(28px,3vw,44px);text-align:center;display:grid;gap:14px;justify-items:center;box-shadow:0 1px 0 rgba(0,0,0,.05),0 18px 40px -24px rgba(40,25,10,.45)}
.card-plate::before{content:"";position:absolute;inset:10px;border:1px solid var(--line2);pointer-events:none}
.card-plate::after{content:"";position:absolute;inset:15px;border:1px solid var(--line);pointer-events:none}
.card-plate .laurel{width:170px;color:var(--red-l)}
.card-plate .ct{font-weight:600;font-variant-caps:all-small-caps;letter-spacing:.16em;font-size:18px}
.score{width:100%;max-width:340px;border-collapse:collapse;font-variant-numeric:tabular-nums lining-nums}
.score th,.score td{padding:10px 4px;border-bottom:1px solid var(--line2);text-align:left;font-size:20px}
.score th{font-weight:500}
.score td{text-align:right;font-style:italic}
.score td b{font-style:normal;color:var(--red-l);font-weight:600;font-variant-caps:all-small-caps;letter-spacing:.12em}
.card-plate .fine{font-style:italic;color:var(--mute);font-size:16px;max-width:30ch}
.ledger{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums lining-nums;text-align:left}
.ledger caption{text-align:left;font-weight:600;font-variant-caps:all-small-caps;letter-spacing:.14em;color:var(--mute);padding-bottom:10px;font-size:17px}
.ledger th{font-weight:500;font-size:20px;padding:12px 0;border-bottom:1px solid var(--line2)}
.ledger td{padding:12px 0;border-bottom:1px solid var(--line2);text-align:right;font-style:italic;font-size:19px}
.ledger tr.sum th,.ledger tr.sum td{border-bottom:3px double var(--text-l);color:var(--red-l);font-style:normal;font-weight:600}
/* the unwritten chapter */
.unwritten-ch{padding-block:clamp(64px,8vw,112px);border-top:1px solid var(--line2);scroll-margin-top:calc(var(--bar-h) + 8px)}
.uw-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(24px,5vw,80px);align-items:center}
.arch{position:relative;border-radius:999px 999px 0 0;overflow:hidden;aspect-ratio:3/4;box-shadow:0 0 0 1px var(--line2),0 0 0 8px var(--paper),0 0 0 9px var(--line2);background:var(--ink)}
.arch video,.arch picture{width:100%;height:100%;object-fit:cover}
.uw-cap{margin-top:22px}
.ruled{margin-top:24px;background:repeating-linear-gradient(transparent 0 calc(1.6em - 1px),rgba(168,41,21,.28) calc(1.6em - 1px) 1.6em);font-size:clamp(20px,1rem + .5vw,23px);line-height:1.6em;min-height:9.6em}
.ruled p{font-style:italic;color:var(--text-l)}
.caret{display:inline-block;width:2px;height:1.1em;background:var(--red-l);vertical-align:-.15em;margin-left:4px;animation:blink 1.1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}
@media (max-width:900px){.arena .arena-media,.arena.flip .arena-media{grid-column:1/-1;grid-row:auto}.arena .arena-text,.arena.flip .arena-text{grid-column:1/-1;grid-row:auto}.uw-grid{grid-template-columns:1fr}.arch{max-width:340px}}

.grins{padding-block:clamp(72px,9vw,120px);border-top:1px solid var(--line2)}
.grin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,48px);align-items:start}
.grin-grid .plate .frame{aspect-ratio:3/4}
.grin-grid .plate:nth-child(1){transform:rotate(-1.4deg);margin-top:40px}
.grin-grid .plate:nth-child(2){transform:rotate(.8deg)}
.grin-grid .plate:nth-child(3){transform:rotate(-.6deg);margin-top:72px}
.grin-grid .plate .frame{box-shadow:0 0 0 8px #f7f1e5,0 0 0 9px var(--line),0 22px 36px -22px rgba(40,25,10,.55)}
.grin-grid figcaption{margin-top:20px}
@media (max-width:760px){.grin-grid{grid-template-columns:1fr 1fr}.grin-grid .plate:nth-child(3){grid-column:1/-1;max-width:62%;justify-self:center;margin-top:12px}.grin-grid .plate:nth-child(1){margin-top:24px}}
.explicit{padding-block:clamp(72px,9vw,128px);text-align:center;border-top:1px solid var(--line2)}
.explicit .bl{font-size:clamp(56px,3rem + 4vw,120px);line-height:.95;display:block}
.explicit p{margin:20px auto 0;font-style:italic;font-size:var(--fs-lede);max-width:36ch}
.explicit .acts{display:flex;justify-content:center;flex-wrap:wrap;gap:12px 24px;margin-top:32px}

/* ======================================================================================
   INNER PAGE HEAD (shared)
   ====================================================================================== */
.phead{padding-top:calc(var(--bar-h) + clamp(32px,6vw,80px));padding-bottom:clamp(40px,5vw,72px)}
.phead .kick{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:baseline;color:var(--mute);margin-bottom:18px}
.phead .kick .rubric{color:var(--acc)}
.phead h1.bl{font-size:clamp(76px,3rem + 9vw,210px);line-height:.84}
.phead h1 em{font-style:normal;color:var(--red)}
.phead .lede{max-width:44ch;margin-top:24px;color:var(--fg)}
.pnav{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line2);margin-top:clamp(56px,7vw,96px)}
.pnav a{display:grid;gap:6px;padding:28px 0;min-height:44px;text-decoration:none}
.pnav a+a{text-align:right;border-left:1px solid var(--line2);padding-left:24px}
.pnav .lab{color:var(--mute)}
.pnav .bl{font-size:clamp(30px,3vw,48px);line-height:1}
@media (hover:hover){.pnav a:hover .bl{color:var(--acc)}}
@media (max-width:560px){.pnav{grid-template-columns:1fr}.pnav a+a{text-align:left;border-left:0;border-top:1px solid var(--line2);padding-left:0}}

/* ======================================================================================
   CONTACT · the sealed envelope
   ====================================================================================== */
.post{padding-bottom:clamp(64px,8vw,120px)}
.post-grid{display:grid;justify-items:center}
.post-grid>*{grid-area:1/1}
.envelope{width:min(100%,780px);position:relative}
.env{position:relative;aspect-ratio:16/10;perspective:1800px;filter:drop-shadow(0 30px 40px rgba(0,0,0,.55))}
.env-back,.env-front,.env-flap{position:absolute;inset:0}
.env-back{background:#e3d8c3;border-radius:4px}
.env-back::before{content:"";position:absolute;inset:0;border-radius:4px;background:linear-gradient(160deg,rgba(255,255,255,.18),transparent 40%),repeating-linear-gradient(90deg,rgba(0,0,0,.018) 0 2px,transparent 2px 5px)}
.env-peek{position:absolute;left:6%;right:6%;top:8%;height:70%;background:var(--paper);box-shadow:0 0 0 1px rgba(0,0,0,.06);transition:transform .6s var(--ease) .45s;border-radius:2px}
.env-peek::before{content:"";position:absolute;left:10%;right:10%;top:18%;height:1px;background:rgba(0,0,0,.12);box-shadow:0 14px 0 rgba(0,0,0,.08),0 28px 0 rgba(0,0,0,.08),0 42px 0 rgba(0,0,0,.08)}
.env-front{background:#ebe1ce;clip-path:polygon(0 0,50% 54%,100% 0,100% 100%,0 100%);border-radius:0 0 4px 4px;z-index:2}
.env-front::before{content:"";position:absolute;inset:0;background:linear-gradient(to top right,rgba(0,0,0,.06),transparent 50%),linear-gradient(to top left,rgba(0,0,0,.06),transparent 50%)}
.env-flap{height:58%;background:#dcd0b8;clip-path:polygon(0 0,100% 0,50% 100%);transform-origin:50% 0;z-index:3;transition:transform .75s var(--ease-io) .15s}
.env-flap::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.15),rgba(0,0,0,.08))}
.env-addr{position:absolute;left:7%;bottom:9%;z-index:4;color:var(--text-l);font-size:clamp(14px,1rem + .3vw,19px);line-height:1.3;max-width:58%}
.env-addr .lab{display:block;color:var(--mute-l);font-size:14px}
.env-addr .bl{display:block;font-size:clamp(24px,1rem + 1.4vw,38px);line-height:1.05;margin:2px 0 4px}
.stamp-p{position:absolute;right:5%;top:7%;z-index:4;width:clamp(58px,9vw,84px);aspect-ratio:4/5;background:#f6f0e4;padding:6px;box-shadow:0 1px 3px rgba(0,0,0,.25);outline:2px dotted #e3d8c3;outline-offset:-1px;transition:opacity .3s var(--ease)}
.stamp-p div{height:100%;background:var(--red-l);color:var(--paper);display:grid;place-items:center;align-content:center;gap:2px;text-align:center}
.stamp-p .mark{width:40%;height:auto}
.stamp-p span{font-size:10px;font-weight:600;letter-spacing:.12em;font-variant-caps:all-small-caps}
.postmark{position:absolute;right:13%;top:10%;z-index:5;width:clamp(76px,11vw,112px);color:rgba(26,23,20,.55);transform:rotate(-14deg);pointer-events:none;transition:opacity .3s var(--ease)}
.postmark text{font:600 9.5px var(--f-tx);letter-spacing:.18em;fill:currentColor}
.seal{position:absolute;left:50%;top:58%;z-index:6;width:clamp(84px,15vw,124px);aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;cursor:pointer;-webkit-tap-highlight-color:transparent}
.seal .half{position:absolute;inset:0;transition:transform .7s var(--ease),opacity .5s var(--ease) .2s}
.seal .half.l{clip-path:polygon(0 0,52% 0,46% 22%,55% 38%,44% 55%,53% 72%,47% 100%,0 100%)}
.seal .half.r{clip-path:polygon(52% 0,100% 0,100% 100%,47% 100%,53% 72%,44% 55%,55% 38%,46% 22%)}
.seal .wax{width:100%;height:100%;border-radius:47% 53% 50% 50%/52% 48% 52% 48%}
.seal .wax .mark{width:36%;height:36%}
.seal:focus-visible{outline:3px solid var(--bone);outline-offset:6px}
@media (hover:hover){.seal:hover .half.l{transform:translate(-2px,0) rotate(-2deg)}.seal:hover .half.r{transform:translate(2px,0) rotate(2deg)}}
.seal-pulse{position:absolute;inset:-10px;border-radius:50%;border:1px solid rgba(236,228,212,.4);animation:pulse 2.4s var(--ease) infinite}
@keyframes pulse{0%{opacity:0;transform:scale(.9)}40%{opacity:1}100%{opacity:0;transform:scale(1.18)}}
.env-hint{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 20px;margin-top:28px;color:var(--mute);text-align:center}
.env-hint .k{font-style:italic;font-size:18px}
.sound{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 12px;border:1px solid var(--line2);font-weight:600;font-size:16px;font-variant-caps:all-small-caps;letter-spacing:.12em;color:var(--fg)}
.sound .on{display:none}.sound[aria-pressed="true"] .on{display:inline}.sound[aria-pressed="true"] .off{display:none}
/* opening sequence */
.envelope.opening .seal .half.l{transform:translate(-60%,40%) rotate(-38deg);opacity:0}
.envelope.opening .seal .half.r{transform:translate(60%,55%) rotate(32deg);opacity:0}
.envelope.opening .seal-pulse,.envelope.opening .postmark,.envelope.opening .stamp-p{opacity:0;animation:none}
.envelope.opening .env-flap{transform:rotateX(180deg)}
.envelope.opening .env-peek{transform:translateY(-38%)}
.envelope.flap-back .env-flap{z-index:1}
.envelope.done{visibility:hidden;opacity:0;transition:opacity .4s var(--ease),visibility 0s .4s}
/* the letter */
.letter{--fg:var(--text-l);--mute:var(--mute-l);--line:var(--line-l);--line2:var(--line-l2);--acc:var(--red-l);--bg:var(--paper);position:relative;width:min(100%,820px);background:var(--paper);color:var(--text-l);padding:clamp(28px,5vw,64px);box-shadow:0 40px 80px -30px rgba(0,0,0,.7);background-image:repeating-linear-gradient(transparent 0 43px,rgba(168,41,21,.09) 43px 44px)}
.letter::before{content:"";position:absolute;inset:12px;border:1px solid var(--line2);pointer-events:none}
.js .letter{display:none}
.js .letter.open{display:block;animation:letter-in .7s var(--ease) both}
@keyframes letter-in{from{opacity:0;transform:translateY(14%) scale(.94)}to{opacity:1;transform:none}}
.letter-top{display:flex;justify-content:space-between;gap:12px;color:var(--mute-l)}
.letter-h{font-size:clamp(48px,6vw,84px);line-height:1;margin:20px 0 8px}
.letter fieldset{border:0;padding:0;margin:20px 0 0;min-width:0}
.letter legend{padding:0;font-size:clamp(20px,1rem + .6vw,25px);margin-bottom:12px}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chip{position:relative}
.chip input{position:absolute;opacity:0;width:1px;height:1px}
.chip span{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 18px;border:1px solid var(--line2);border-radius:22px;font-size:19px;cursor:pointer;transition:background-color .16s var(--ease),color .16s var(--ease),border-color .16s var(--ease)}
.chip span::before{content:"";width:10px;height:10px;border-radius:50%;border:1px solid currentColor;transition:background-color .16s var(--ease)}
.chip input:checked+span{background:var(--red-l);border-color:var(--red-l);color:var(--paper)}
.chip input:checked+span::before{background:var(--paper);border-color:var(--paper)}
.chip input:focus-visible+span{outline:2px solid var(--red-l);outline-offset:3px}
@media (hover:hover){.chip span:hover{border-color:var(--text-l)}}
.madlib{font-size:clamp(20px,1rem + .6vw,25px);line-height:2.1;margin-top:18px}
.madlib input,.madlib select{font-size:inherit;font-style:italic;border:0;border-bottom:1.5px solid var(--text-l);background:transparent;color:var(--red-l);padding:0 4px;min-height:44px;width:auto;max-width:100%;border-radius:0}
.madlib input{width:14ch}
.madlib input.w{width:20ch}
.madlib input::placeholder{color:rgba(92,84,73,.75)}
.madlib input:focus,.madlib select:focus{outline:none;border-bottom-color:var(--red-l);background:rgba(168,41,21,.06)}
.madlib input:focus-visible,.madlib select:focus-visible{outline:2px solid var(--red-l);outline-offset:2px}
.madlib[hidden]{display:none}
.msg-l{display:block;margin-top:24px;font-weight:600;font-size:16px;font-variant-caps:all-small-caps;letter-spacing:.14em;color:var(--mute-l)}
.letter textarea{display:block;width:100%;min-height:150px;margin-top:8px;padding:12px 0;border:0;border-bottom:1.5px solid var(--text-l);background:transparent;font-size:clamp(19px,1rem + .4vw,22px);line-height:44px;resize:vertical;color:var(--text-l)}
.letter textarea:focus-visible{outline:2px solid var(--red-l);outline-offset:4px}
.signoff{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:24px}
.signoff .chip span{font-style:italic;min-height:44px}
.letter-foot{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:end;margin-top:32px;padding-top:20px;border-top:1px solid var(--line2)}
.preview{font-size:16px;color:var(--mute-l);line-height:1.5;overflow-wrap:anywhere}
.preview b{font-weight:600;font-variant-caps:all-small-caps;letter-spacing:.12em;color:var(--text-l)}
.preview i{color:var(--text-l)}
.l-acts{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;align-items:center}
.l-acts .copy{color:var(--text-l)}
.l-acts .copy-ok{flex-basis:100%;text-align:right}
@media (max-width:640px){.letter-foot{grid-template-columns:1fr}.l-acts{justify-content:flex-start}.l-acts .copy-ok{text-align:left}.madlib{line-height:1.9}.madlib input,.madlib input.w{width:100%;display:block;margin:2px 0 6px}}
.reseal{margin-top:16px;min-height:44px;font-style:italic;color:var(--mute);text-decoration:underline;text-underline-offset:.2em}
@media (max-width:640px){
  .env{aspect-ratio:5/4}
  .env-flap{height:52%}
  .env-front{clip-path:polygon(0 0,50% 48%,100% 0,100% 100%,0 100%)}
  .seal{top:52%;width:86px}
  .env-addr{left:8%;bottom:7%;max-width:84%;font-size:14px}
  .env-addr .bl{font-size:26px}
  .postmark{display:none}
  .stamp-p{width:52px;right:5%;top:6%}
}
/* ways in */
.ways{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:1px;background:var(--line2);border:1px solid var(--line2)}
.ways>*{background:var(--bg);padding:clamp(20px,2.4vw,32px)}
.w-hours{grid-column:span 5}.w-direct{grid-column:span 7}
.w-reasons{grid-column:1/-1}
.reasons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 clamp(20px,3vw,40px)}
.reasons a{display:grid;grid-template-columns:40px 1fr;gap:4px 8px;padding:18px 0;border-top:1px solid var(--line);text-decoration:none;min-height:44px}
.reasons .n{grid-row:span 2;color:var(--acc);font-style:italic;font-size:20px}
.reasons b{font-weight:500;font-size:22px}
.reasons span:last-child{color:var(--mute);font-style:italic;font-size:17px}
@media (hover:hover){.reasons a:hover b{color:var(--acc)}}
.direct{display:grid;gap:0}
.direct a,.direct .row{display:grid;grid-template-columns:24px 1fr auto;gap:14px;align-items:center;min-height:56px;border-top:1px solid var(--line);text-decoration:none}
.direct small{color:var(--mute);font-style:italic;font-size:16px}
@media (hover:hover){.direct a:hover span{color:var(--acc)}}
@media (max-width:900px){.w-hours,.w-direct{grid-column:1/-1}.reasons{grid-template-columns:1fr}}

.letter:focus,.letter:focus-visible{outline:none}
.letter{scroll-margin-top:calc(var(--bar-h) + 16px)}
@media (max-width:640px){.madlib .end{display:none}}

/* ======================================================================================
   WORK HUB · the shelf
   ====================================================================================== */
.shelf-wrap{position:relative;padding-top:24px;display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:clamp(32px,4vw,64px);align-items:start}
.shelf{display:flex;align-items:flex-end;gap:6px;min-height:460px;padding:0 clamp(8px,2vw,24px);border-bottom:10px solid var(--bone-2);box-shadow:0 18px 30px -12px rgba(0,0,0,.8);position:relative}
.shelf::after{content:"";position:absolute;left:0;right:0;bottom:-26px;height:16px;background:linear-gradient(rgba(0,0,0,.45),transparent)}
.shelf li{display:flex}.shelf li:not(.bookend){align-self:stretch;align-items:flex-end}
.spine{--h:400px;--w:88px;flex:none;will-change:transform;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:space-between;width:var(--w);height:var(--h);padding:18px 0 16px;text-decoration:none;background:var(--c,#1d1a17);color:var(--t,var(--bone));border-radius:3px 3px 0 0;box-shadow:inset 3px 0 0 rgba(255,255,255,.06),inset -5px 0 0 rgba(0,0,0,.28);transition:transform .28s var(--ease),box-shadow .28s var(--ease)}
.spine::before,.spine::after{content:"";position:absolute;left:8px;right:8px;height:1px;background:currentColor;opacity:.35}
.spine::before{top:54px;box-shadow:0 4px 0 currentColor}.spine::after{bottom:52px;box-shadow:0 -4px 0 currentColor}
.spine .sn{font-weight:500;font-size:20px;letter-spacing:.04em;color:var(--r,var(--red-d))}
.spine .st{font-family:var(--f-bl);font-weight:700;font-size:clamp(28px,2.4vw,38px);line-height:1;writing-mode:vertical-rl;transform:rotate(180deg);white-space:nowrap;flex:1;display:flex;align-items:center}
.spine .sy{font-size:14px;font-weight:600;font-variant-caps:all-small-caps;letter-spacing:.1em;opacity:.8;white-space:nowrap}
.spine .sd{display:none}
.spine.active,.spine:focus-visible{transform:translateY(-22px)}
.spine:focus-visible{outline-offset:4px}
.spine.paper{--c:#e3d8c3;--t:var(--text-l);--r:var(--red-l)}
.spine.red{--c:#9e2314;--t:#f3e6d6;--r:#f3e6d6}
.spine.leather{--c:#3a2a1e;--r:#f2876f}
.spine.ghost{--c:transparent;border:1.5px dashed var(--line2);box-shadow:none;color:var(--mute)}
.spine.ghost .st{color:transparent;-webkit-text-stroke:1px var(--bone)}
.bookend{align-self:flex-end;width:40px;height:150px;background:var(--ink-3);display:grid;place-items:center;color:var(--red);border-radius:2px 2px 0 0}
.bookend .mark{width:18px;height:18px}
.desk{contain:layout}.desk-stack{display:grid}.desk-entry{grid-area:1/1;visibility:hidden;opacity:0;transition:opacity .3s var(--ease),visibility 0s linear .3s}.desk-entry.on{visibility:visible;opacity:1;transition:opacity .3s var(--ease),visibility 0s}
.desk-media{width:min(100%,300px);aspect-ratio:4/5;margin-bottom:22px}.desk-media .eplate{height:100%}
.desk .lab{color:var(--acc)}
.desk h3{font-family:var(--f-bl);font-weight:700;font-size:clamp(44px,4vw,68px);line-height:.95;margin:8px 0 14px}
.desk p{max-width:40ch;font-size:20px;line-height:1.45}
@media (hover:hover){.shelf li:hover>.spine{transform:translateY(-22px)}}
@media (max-width:900px){
  .shelf-wrap{display:block}
  .shelf{flex-direction:column;align-items:stretch;min-height:0;gap:6px;border-bottom:0;box-shadow:none;padding:0}
  .shelf::after,.shelf .bookend{display:none}
  .spine{width:auto;height:auto;min-height:76px;flex-direction:row;justify-content:flex-start;gap:16px;padding:14px 18px;border-radius:3px;margin-left:var(--o,0);margin-right:calc(var(--o,0) * -1)}
  .spine::before,.spine::after{display:none}
  .spine .st{writing-mode:horizontal-tb;transform:none;flex:none;font-size:30px}
  .spine .sy{margin-left:auto}
  .spine .sd{display:block;flex-basis:100%;font-size:17px;opacity:.85;font-style:italic;order:5}
  .spine{flex-wrap:wrap}
  .spine.active,.spine:focus-visible{transform:translateX(8px)}
  .desk{display:none}
}
.catalogue{margin-top:clamp(64px,8vw,112px)}
.cat-row{display:grid;grid-template-columns:70px minmax(0,1.3fr) minmax(0,1fr) minmax(0,1fr) auto;gap:16px;align-items:baseline;padding:16px 0;border-bottom:1px solid var(--line);text-decoration:none}
.cat-row.head{color:var(--mute);border-bottom:1px solid var(--line2)}
.cat-row .n{color:var(--acc);font-weight:500}
.cat-row .t{font-size:23px}
.cat-row .m{font-style:italic;color:var(--mute)}
.cat-row .s{font-weight:600;font-size:15px;font-variant-caps:all-small-caps;letter-spacing:.13em}
@media (hover:hover){a.cat-row:hover .t{color:var(--acc)}}
@media (max-width:760px){.cat-row{grid-template-columns:44px 1fr auto}.cat-row .m{display:none}.cat-row.head{display:none}}
.exlibris{margin:clamp(56px,7vw,96px) auto 0;max-width:420px;text-align:center;padding:36px 28px;border:1px solid var(--line2);position:relative}
.exlibris::before{content:"";position:absolute;inset:6px;border:1px solid var(--line)}
.exlibris .mark{width:30px;height:30px;color:var(--red);margin:0 auto 12px}
.exlibris .bl{font-size:44px;line-height:1;display:block}
.exlibris p{font-style:italic;color:var(--mute);margin-top:10px}

/* ======================================================================================
   BOOK PAGES (FAIM, Delta, Design, Events, Esports)
   ====================================================================================== */
.meta-rail{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border-top:1px solid var(--line2);border-bottom:1px solid var(--line2);margin-top:clamp(32px,4vw,56px)}
.meta-rail div{padding:16px 16px 16px 0;border-right:1px solid var(--line)}
.meta-rail div:last-child{border-right:0}
.meta-rail div+div{padding-left:16px}
.meta-rail dt{color:var(--mute)}
.meta-rail dd{margin:4px 0 0;font-size:clamp(20px,1rem + .6vw,26px);line-height:1.15;font-variant-numeric:lining-nums}
@media (max-width:900px){.meta-rail{grid-template-columns:repeat(3,minmax(0,1fr))}.meta-rail div:nth-child(3n){border-right:0}.meta-rail div:nth-child(3n+1){padding-left:0}.meta-rail div:nth-child(n+4){border-top:1px solid var(--line)}}
@media (max-width:520px){.meta-rail{grid-template-columns:1fr 1fr}.meta-rail div{border-right:0!important;padding-left:0!important}.meta-rail div:nth-child(even){padding-left:16px!important;border-left:1px solid var(--line)}.meta-rail div:nth-child(n+3){border-top:1px solid var(--line)}}
.hero-plate{margin-top:clamp(40px,5vw,72px)}
.hero-plate .frame{aspect-ratio:1440/556}
@media (max-width:640px){.hero-plate .frame{aspect-ratio:4/3}.hero-plate img{object-position:22% 50%}}
.chapter{display:grid;grid-template-columns:clamp(120px,14vw,200px) minmax(0,1fr);gap:clamp(20px,4vw,64px);padding-block:clamp(64px,8vw,120px);border-top:1px solid var(--line2)}
.chapter:first-child{border-top:0}
.ch-rail{position:relative}
.ch-rail .cn{display:block;font-weight:500;font-size:clamp(44px,5vw,80px);line-height:.9;color:var(--acc);letter-spacing:.02em}
.ch-rail .lab{display:block;color:var(--mute);margin-top:10px}
.ch-body h2{margin-bottom:clamp(20px,2.4vw,32px)}
.ch-body .h-l em{color:var(--acc)}
.ch-cols{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(24px,4vw,64px);align-items:start}
.ch-text{font-size:clamp(19px,1rem + .4vw,22px);line-height:1.62;max-width:62ch}
.ch-text p+p{margin-top:1em}
@media (max-width:900px){.chapter{grid-template-columns:1fr;gap:12px}.ch-rail{display:flex;gap:16px;align-items:baseline}.ch-rail .lab{margin:0}.ch-cols{grid-template-columns:1fr}}
.twolist{display:grid;gap:10px;margin:8px 0}
.twolist li{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:baseline;padding:14px 0;border-bottom:1px solid var(--line)}
.twolist .n{font-size:clamp(56px,6vw,96px);line-height:.85;color:var(--acc);font-weight:500}
.twolist b{font-family:var(--f-bl);font-weight:700;font-size:clamp(40px,4vw,64px);line-height:1}
.bignum{display:grid;gap:4px;padding:20px 0;border-top:2px solid var(--fg)}
.bignum .v{font-size:clamp(72px,3rem + 6vw,160px);line-height:.9;font-weight:500;letter-spacing:-.02em;font-variant-numeric:lining-nums}
.bignum .k{font-style:italic;color:var(--mute);font-size:19px;max-width:28ch}
.stack-plates{display:grid;gap:14px}
.stack-plates .plate .frame{aspect-ratio:auto}
.pull{font-size:clamp(28px,1.2rem + 1.8vw,46px);line-height:1.15;font-style:italic;border-left:3px solid var(--acc);padding-left:24px;margin:32px 0;max-width:30ch}
/* the deal: ledger + stamp (FAIM signature) */
.deal{position:relative;max-width:760px}
.deal .card-plate{text-align:left;justify-items:stretch;background:var(--paper-2)}
.deal .ledger th,.deal .ledger td{font-size:clamp(18px,1rem + .4vw,22px)}
.stamp-acq{position:absolute;left:calc(100% + 40px);top:40px;width:clamp(160px,14vw,200px);aspect-ratio:1;display:grid;place-items:center;color:var(--red-d);transform:rotate(-14deg);pointer-events:none}
.stamp-acq svg{position:absolute;inset:0;width:100%;height:100%}
.stamp-acq text{fill:currentColor}
.stamp-acq .c{display:grid;justify-items:center;line-height:1;text-align:center}
.stamp-acq .c b{font-weight:700;font-size:clamp(16px,1.45vw,20px);letter-spacing:.06em}
.stamp-acq .c span{font-size:12px;font-weight:600;letter-spacing:.14em;margin-top:6px}
.js .stamp-acq{opacity:0;transform:rotate(-24deg) scale(1.6)}
.js .stamp-acq.in{animation:thud .5s cubic-bezier(.2,1.4,.4,1) forwards}
@keyframes thud{0%{opacity:0;transform:rotate(-24deg) scale(1.6)}60%{opacity:1}100%{opacity:.92;transform:rotate(-14deg) scale(1)}}
@media (max-width:1180px){.stamp-acq{position:relative;left:auto;top:auto;margin:-48px 12px 0 auto;width:170px}}
.lessons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(24px,4vw,56px)}
.lessons li{padding:22px 0;border-top:1px solid var(--line2);display:grid;grid-template-columns:48px 1fr;gap:8px}
.lessons .n{color:var(--acc);font-style:italic;font-size:22px}
.lessons h3{font-size:clamp(23px,1.1rem + .6vw,30px);font-weight:500}
.lessons p{grid-column:2;color:var(--mute);margin-top:6px}
@media (max-width:760px){.lessons{grid-template-columns:1fr}}
.ph-list{display:flex;flex-wrap:wrap;gap:10px 28px;font-size:clamp(20px,1rem + .6vw,26px);font-variant-caps:all-small-caps;letter-spacing:.1em;font-weight:500;color:var(--fg)}
.ph-list+.ph-list{margin-top:16px}
.ph-quotes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:28px}
.ph-quotes blockquote{margin:0;font-style:italic;font-size:19px;line-height:1.4;color:var(--mute)}
.ph-quotes cite{display:block;font-style:normal;margin-top:8px;font-weight:600;font-size:15px;font-variant-caps:all-small-caps;letter-spacing:.12em;color:var(--fg)}
@media (max-width:760px){.ph-quotes{grid-template-columns:1fr}}
.gallery{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(12px,2vw,24px)}
.gallery .g-a{grid-column:span 7}.gallery .g-b{grid-column:span 5}
@media (max-width:760px){.gallery .g-a,.gallery .g-b{grid-column:1/-1}}

/* delta: the vault */
.vault{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,28px)}
.dossier{position:relative;background:var(--paper-2);color:var(--text-l);padding:26px 24px 22px;min-height:300px;display:flex;flex-direction:column;gap:14px;box-shadow:0 20px 40px -24px rgba(0,0,0,.8);--acc:var(--red-l);--line:var(--line-l);--line2:var(--line-l2);--mute:var(--mute-l)}
.dossier::before{content:"";position:absolute;top:-14px;left:18px;width:40%;height:16px;background:var(--paper-3);border-radius:4px 4px 0 0}
.dossier .code{display:flex;justify-content:space-between;align-items:baseline;color:var(--mute-l)}
.dossier .code b{color:var(--red-l);font-weight:600}
.redact{display:grid;gap:8px}
.redact i{display:block;height:20px;background:var(--text-l);border-radius:1px;width:var(--w,80%)}
.redact i:nth-child(2){--w:58%;height:14px;opacity:.85}
.dossier dl{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;margin:0;font-size:17px}
.dossier dt{font-weight:600;font-variant-caps:all-small-caps;letter-spacing:.12em;color:var(--mute-l)}
.dossier dd{margin:0;font-style:italic}
.dossier .wax{position:absolute;right:18px;bottom:18px;width:64px;height:64px}
.dossier .foot{margin-top:auto;font-style:italic;font-size:16px;color:var(--mute-l);max-width:60%}
.stamp-line{position:absolute;right:18px;bottom:22px;transform:rotate(-8deg);border:2px solid var(--red-l);color:var(--red-l);padding:4px 10px;font-weight:700;font-size:14px;letter-spacing:.16em;font-variant-caps:all-small-caps;opacity:.85}
@media (max-width:1000px){.vault{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.vault{grid-template-columns:1fr}}
.method{counter-reset:m;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-top:1px solid var(--line2)}
.method li{padding:24px 20px 24px 0;border-right:1px solid var(--line)}
.method li+li{padding-left:20px}
.method li:last-child{border-right:0}
.method .n{font-size:40px;color:var(--acc);font-weight:500;line-height:1}
.method h3{margin:14px 0 8px;font-size:26px}
.method p{color:var(--mute);font-size:18px}
@media (max-width:900px){.method{grid-template-columns:1fr 1fr}.method li:nth-child(2){border-right:0}.method li:nth-child(3){padding-left:0}.method li:nth-child(n+3){border-top:1px solid var(--line)}}
@media (max-width:520px){.method{grid-template-columns:1fr}.method li{border-right:0;padding-left:0!important;border-top:1px solid var(--line)}}

/* design: illuminated plates + reading glass */
.plates{display:grid;gap:clamp(72px,9vw,128px)}
.iplate{display:grid;grid-template-columns:clamp(120px,14vw,200px) minmax(0,1fr);gap:clamp(20px,4vw,56px)}
.iplate .ch-rail .cn{font-size:clamp(40px,4vw,64px)}
.illum-frame{position:relative;padding:clamp(10px,1.4vw,18px);border:1px solid var(--line2);background:var(--ink-2)}
.illum-frame::before{content:"";position:absolute;inset:5px;border:1px solid var(--line);pointer-events:none}
.illum-frame .corner{width:16px;height:16px}
.illum-frame .corner.tl{top:-8px;left:-8px}.illum-frame .corner.tr{top:-8px;right:-8px}.illum-frame .corner.bl2{bottom:-8px;left:-8px}.illum-frame .corner.br{bottom:-8px;right:-8px}
.lens-host{position:relative;overflow:hidden;cursor:zoom-in}
.lens{position:absolute;width:220px;height:220px;border-radius:50%;pointer-events:none;box-shadow:0 0 0 2px var(--bone),0 0 0 6px rgba(13,12,11,.6),0 20px 40px rgba(0,0,0,.6);background-repeat:no-repeat;opacity:0;transform:scale(.9);transition:opacity .18s var(--ease),transform .18s var(--ease);z-index:3}
.lens-host.lensing .lens{opacity:1;transform:none}
@media (hover:none) and (pointer:coarse){.lens{display:none}.lens-host{cursor:default}}
.iplate .body{display:grid;gap:20px}
.iplate h2{font-family:var(--f-bl);font-weight:700;font-size:clamp(46px,4.4vw,80px);line-height:.95}
.iplate .meta{display:flex;flex-wrap:wrap;gap:6px 18px;color:var(--mute)}
.iplate .meta .lab{color:var(--mute)}
.iplate-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:clamp(16px,2vw,28px);align-items:start}
.view-btn{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 14px;border:1px solid var(--line2);font-weight:600;font-size:15px;font-variant-caps:all-small-caps;letter-spacing:.12em;margin-top:10px}
@media (hover:hover){.view-btn:hover{background:var(--fg);color:var(--bg)}}
.brands{display:flex;flex-wrap:wrap;gap:8px}
.brands li{padding:6px 14px;border:1px solid var(--line2);border-radius:20px;font-size:17px}
@media (max-width:900px){.iplate{grid-template-columns:1fr}.iplate-grid{grid-template-columns:1fr}}
.viewer{border:0;padding:0;background:transparent;max-width:min(1400px,96vw);max-height:94vh;color:var(--bone)}
.viewer::backdrop{background:rgba(8,7,6,.9)}
.viewer img{max-height:84vh;width:auto;margin:0 auto}
.viewer .vx{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:10px}
.viewer .vx button{min-height:44px;padding:0 14px;border:1px solid var(--line-d2);font-weight:600;font-variant-caps:all-small-caps;letter-spacing:.12em}
.viewer .vx span{font-style:italic;color:var(--mute-d)}
.pivot{border:1px solid var(--line2);padding:clamp(24px,3vw,40px);display:grid;grid-template-columns:auto 1fr;gap:24px;align-items:center}
.pivot .bl{font-size:clamp(48px,5vw,80px);color:var(--acc);line-height:.9}
@media (max-width:640px){.pivot{grid-template-columns:1fr}}

/* events: the invitation */
.invite-wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,360px);gap:clamp(24px,4vw,64px);align-items:center}
.invite{position:relative;background:var(--paper);color:var(--text-l);padding:clamp(32px,5vw,64px);text-align:center;box-shadow:0 40px 70px -30px rgba(0,0,0,.8);transform:rotate(-1.2deg);--mute:var(--mute-l);--line:var(--line-l);--line2:var(--line-l2);--acc:var(--red-l)}
.invite::before{content:"";position:absolute;inset:12px;border:1px solid var(--line2)}
.invite::after{content:"";position:absolute;inset:17px;border:1px solid var(--line)}
.invite>*{position:relative;z-index:1}
.invite .lab{color:var(--mute-l)}
.invite .bl{display:block;font-size:clamp(60px,8vw,128px);line-height:.95;margin:14px 0}
.invite .when{font-size:clamp(22px,1rem + 1vw,30px);font-style:italic}
.invite .host{margin-top:18px;font-size:19px}
.invite .orn{margin:22px auto;max-width:280px}
.stub{position:relative;background:var(--red-l);color:var(--paper);padding:28px 24px;transform:rotate(2deg);box-shadow:0 30px 50px -24px rgba(0,0,0,.8);display:grid;gap:10px;text-align:center}
.stub::before{content:"";position:absolute;left:0;right:0;top:-6px;height:12px;background:radial-gradient(circle 6px at 6px 6px,var(--bg) 98%,transparent) -6px 0/18px 12px repeat-x}
.stub .bl{font-size:40px;line-height:1}
.stub .lab{color:var(--paper)}
.stub .no{font-size:34px;font-variant-numeric:lining-nums;letter-spacing:.08em}
@media (max-width:860px){.invite-wrap{grid-template-columns:1fr}.stub{max-width:320px}}
.guestbook{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,28px)}
.gcard{border:1px dashed var(--line2);padding:24px;display:grid;gap:12px;min-height:220px;align-content:start}
.gcard .n{color:var(--acc);font-style:italic;font-size:22px}
.gcard .fill{display:grid;grid-template-columns:auto 1fr;gap:10px 12px;align-items:end}
.gcard .fill b{font-weight:600;font-size:15px;font-variant-caps:all-small-caps;letter-spacing:.12em;color:var(--mute)}
.gcard .fill i{display:block;border-bottom:1px dotted var(--line2);height:24px}
@media (max-width:900px){.guestbook{grid-template-columns:1fr}}
.rules{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 clamp(24px,4vw,56px)}
.rules li{padding:22px 0;border-top:2px solid var(--fg)}
.rules .n{color:var(--acc);font-weight:500;font-size:34px}
.rules h3{font-size:26px;margin:8px 0}
.rules p{color:var(--mute)}
@media (max-width:760px){.rules{grid-template-columns:1fr}}

/* esports: the record book */
.dossier-card{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:center}
.dossier-card .plate .frame{aspect-ratio:4/3}
.player{border:1px solid var(--line2);padding:clamp(20px,3vw,32px)}
.player dl{display:grid;grid-template-columns:auto 1fr;gap:12px 20px;margin:16px 0 0}
.player dt{font-weight:600;font-variant-caps:all-small-caps;letter-spacing:.13em;color:var(--mute);font-size:16px}
.player dd{margin:0;font-size:20px}
.player dd.slotv{font-style:italic;color:var(--acc)}
@media (max-width:860px){.dossier-card{grid-template-columns:1fr}}
.register{width:100%;border-collapse:collapse;background:var(--paper);color:var(--text-l);box-shadow:0 30px 60px -30px rgba(0,0,0,.8)}
.register caption{caption-side:top;text-align:left;padding:0 0 14px;color:var(--mute)}
.register th,.register td{padding:16px 18px;border-bottom:1px solid var(--line-l);text-align:left;vertical-align:bottom}
.register thead th{font-weight:600;font-size:15px;font-variant-caps:all-small-caps;letter-spacing:.14em;color:var(--mute-l);border-bottom:2px solid var(--text-l)}
.register td{height:58px}
.register td .ink{display:block;border-bottom:1px dotted rgba(26,23,20,.4);height:1.3em}
.register td.no{font-style:italic;color:var(--red-l);width:64px}
.register tfoot td{font-style:italic;color:var(--mute-l);font-size:16px;height:auto}
.reg-scroll{overflow-x:auto}
@media (max-width:700px){.register th:nth-child(4),.register td:nth-child(4){display:none}.register th,.register td{padding:12px 10px}.register td.no{width:40px}}

/* press */
.bio{position:relative;border:1px solid var(--line2);padding:clamp(24px,3vw,40px)}
.bio-h{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.bio p{font-size:clamp(19px,1rem + .4vw,22px);line-height:1.6;max-width:66ch}
.bio p+p{margin-top:1em}
.bio-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:clamp(16px,2vw,28px);align-items:start}
@media (max-width:900px){.bio-grid{grid-template-columns:1fr}}
.facts-sheet{display:grid;grid-template-columns:auto 1fr;gap:0;border-top:1px solid var(--line2)}
.facts-sheet dt,.facts-sheet dd{padding:12px 0;border-bottom:1px solid var(--line);margin:0}
.facts-sheet dt{font-weight:600;font-size:16px;font-variant-caps:all-small-caps;letter-spacing:.12em;color:var(--mute);padding-right:24px}
.kit{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,28px)}
.kit .plate .frame{aspect-ratio:3/4}
.kit-dl{display:inline-flex;align-items:center;gap:8px;min-height:44px;margin-top:10px;font-weight:600;font-size:15px;font-variant-caps:all-small-caps;letter-spacing:.12em}
@media (max-width:760px){.kit{grid-template-columns:1fr 1fr}.kit>:last-child{grid-column:1/-1}}
.press-reg{border-top:2px solid var(--fg)}
.press-reg li{display:grid;grid-template-columns:140px minmax(0,1fr) minmax(0,2fr);gap:16px;align-items:baseline;padding:18px 0;border-bottom:1px solid var(--line)}
.press-reg .d{font-style:italic;color:var(--mute)}
.press-reg .o{font-weight:600;font-variant-caps:all-small-caps;letter-spacing:.12em}
.press-reg .h{font-style:italic;color:var(--acc)}
@media (max-width:640px){.press-reg li{grid-template-columns:1fr}}

/* social: dispatches as letters */
.letters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,40px);align-items:start}
.dispatch{position:relative;display:grid;gap:14px;background:var(--paper);color:var(--text-l);padding:32px 28px 28px;text-decoration:none;box-shadow:0 30px 50px -28px rgba(0,0,0,.85);transition:transform .25s var(--ease);--mute:var(--mute-l);--acc:var(--red-l);--line:var(--line-l);--line2:var(--line-l2)}
.dispatch:nth-child(1){transform:rotate(-1.5deg)}.dispatch:nth-child(2){transform:rotate(1deg);margin-top:28px}.dispatch:nth-child(3){transform:rotate(-.6deg);margin-top:8px}
.dispatch::before{content:"";position:absolute;inset:10px;border:1px solid var(--line)}
.dispatch>*{position:relative}
.dispatch .top{display:flex;justify-content:space-between;align-items:flex-start}
.dispatch .ico{width:28px;height:28px}
.dispatch .pm{width:74px;color:rgba(26,23,20,.5);transform:rotate(-12deg)}
.dispatch .pm text{font:600 9px var(--f-tx);letter-spacing:.16em;fill:currentColor}
.dispatch .bl{font-size:clamp(34px,3vw,46px);line-height:1}
.dispatch p{font-style:italic;color:var(--mute-l)}
.dispatch .go{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:16px;font-variant-caps:all-small-caps;letter-spacing:.13em;color:var(--red-l);min-height:44px}
@media (hover:hover){.dispatch:hover{transform:rotate(0) translateY(-6px)}}
@media (max-width:900px){.letters{grid-template-columns:1fr}.dispatch:nth-child(n){margin-top:0}}
.postcards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,28px)}
.postcard{border:1px dashed var(--line2);padding:24px;min-height:220px;display:grid;grid-template-columns:1fr 1px 1fr;gap:18px}
.postcard .rule-v{background:var(--line2)}
.postcard .l{display:grid;gap:8px;align-content:start}
.postcard .l .slot-k{font-weight:600;font-size:14px;font-variant-caps:all-small-caps;letter-spacing:.15em;color:var(--acc)}
.postcard .l p{font-style:italic;color:var(--mute);font-size:17px}
.postcard .r{display:grid;gap:14px;align-content:end}
.postcard .r i{display:block;border-bottom:1px solid var(--line2);height:22px}
@media (max-width:900px){.postcards{grid-template-columns:1fr}}
.contact-sheet{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
.contact-sheet a{display:block;position:relative;overflow:hidden}
.contact-sheet .frame{aspect-ratio:1}
.contact-sheet img{transition:transform .5s var(--ease)}
@media (hover:hover){.contact-sheet a:hover img{transform:scale(1.04)}}
@media (max-width:760px){.contact-sheet{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* 404: torn page */
.torn{padding-top:calc(var(--bar-h) + clamp(40px,7vw,96px));padding-bottom:clamp(64px,8vw,120px)}
.torn-page{position:relative;max-width:820px;margin:0 auto;background:var(--paper);color:var(--text-l);padding:clamp(40px,6vw,80px) clamp(24px,5vw,72px) clamp(56px,7vw,96px);clip-path:polygon(0 0,100% 0,100% 88%,96% 91%,92% 87%,87% 93%,82% 89%,76% 95%,71% 90%,65% 96%,59% 91%,53% 97%,47% 92%,41% 98%,35% 92%,29% 97%,23% 91%,17% 96%,11% 90%,6% 95%,0 90%);--mute:var(--mute-l);--acc:var(--red-l);--line:var(--line-l);--line2:var(--line-l2);--fg:var(--text-l);--bg:var(--paper)}
.torn-page .lab{color:var(--mute-l)}
.torn-page h1{font-family:var(--f-bl);font-weight:700;font-size:clamp(52px,3rem + 4vw,110px);line-height:.95;margin:14px 0 20px}
.torn-page p{font-size:var(--fs-lede);max-width:40ch}
.torn-page .acts{display:flex;flex-wrap:wrap;gap:12px 20px;margin-top:28px}
.torn-page .code{position:absolute;right:clamp(20px,4vw,56px);top:clamp(20px,4vw,48px);font-size:clamp(56px,8vw,110px);color:rgba(168,41,21,.16);font-weight:500;line-height:1;font-variant-numeric:lining-nums}
@media (prefers-reduced-motion:reduce){.js .stamp-acq{opacity:.92;transform:rotate(-14deg)}.spine,.dispatch{transition:none}}

.dossier{transition:transform .3s var(--ease),box-shadow .3s var(--ease)}
.dossier .wax{transition:transform .4s var(--ease)}
@media (hover:hover){.dossier:hover{transform:translateY(-6px) rotate(-.6deg);box-shadow:0 30px 50px -24px rgba(0,0,0,.9)}.dossier:hover .wax{transform:rotate(-18deg) scale(1.06)}}
.redact i{position:relative;overflow:hidden}
@media (prefers-reduced-motion:no-preference){.redact i::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(239,231,216,.18),transparent);transform:translateX(-100%);animation:scan 5.5s var(--ease-io) infinite}.redact i:nth-child(2)::after{animation-delay:.4s}}
@keyframes scan{0%,70%{transform:translateX(-100%)}100%{transform:translateX(100%)}}
.ch-rail .cn{white-space:nowrap}
.plate figcaption .view-btn{margin:0 0 0 auto;white-space:nowrap;flex:none;font-style:normal;color:var(--fg)}
.plate figcaption{align-items:center}
.dispatch .ico-w{display:grid;place-items:center;width:48px;height:48px;border:1px solid var(--line2);border-radius:50%}
.dispatch .ico-w .ico{width:22px;height:22px}

.chapter{overflow-x:clip;overflow-y:visible}
@media (max-width:900px){.shelf li{display:block}.spine{width:100%}}
.giant span{display:none}
.giant::before{content:attr(data-t);position:absolute;left:50%;top:0;transform:translateX(-50%);font-family:var(--f-bl);font-weight:700;font-size:clamp(150px,27vw,470px);line-height:.8;color:var(--ink-3);white-space:nowrap}
.torn-page .code::before{content:attr(data-t)}
@media (max-width:640px){.letter-top{font-size:14px;gap:8px}.letter-top>span{white-space:nowrap}}

/* ===== rev1 · engraved book plates ===== */
.eplate{display:block;width:100%;height:auto;aspect-ratio:4/5;box-shadow:0 1px 0 rgba(255,255,255,.04),0 24px 50px -24px rgba(0,0,0,.8),0 0 0 1px rgba(0,0,0,.35)}
.bp-pl{display:block}
.bp-pl .eplate{height:100%}
.eplate-thumb{max-width:300px}
@media (max-width:900px){.book-thumb.eplate-thumb{max-width:280px}}
@media (max-width:520px){.book-thumb.eplate-thumb{max-width:min(300px,100%);margin-inline:auto 0}}
.disp-card{display:grid;grid-template-columns:96px 1fr;gap:14px;align-items:center;text-decoration:none;border:1px solid var(--line2);padding:10px;min-height:44px}
.disp-card .dc-img{display:block;aspect-ratio:1;overflow:hidden}
.disp-card .dc-img img{width:100%;height:100%;object-fit:cover}
.disp-card .dc-t{font-style:italic;font-size:17px;line-height:1.35}
.disp-card small{display:block;font-style:normal;font-weight:600;font-variant-caps:all-small-caps;letter-spacing:.14em;color:var(--acc);font-size:14px;margin-bottom:4px}
@media (hover:hover){.disp-card:hover{border-color:var(--acc)}}
picture.eplate{background:#e9e0cc}
picture.eplate img{display:block;width:100%;height:100%;object-fit:cover}

/* ===== rev1 · FAIM ===== */
.hero-plate.matted .frame{position:relative;padding:clamp(10px,1.4vw,18px);background:#15120f;box-shadow:inset 0 0 0 1px rgba(236,228,212,.14),0 30px 60px -30px rgba(0,0,0,.9)}
.hero-plate.matted .frame::before{content:"";position:absolute;inset:clamp(5px,.7vw,9px);border:1px solid rgba(236,228,212,.22);pointer-events:none;z-index:2}
.hero-plate.matted .frame::after{content:"";position:absolute;inset:clamp(10px,1.4vw,18px);background:radial-gradient(ellipse at 50% 45%,transparent 38%,rgba(13,12,11,.7) 100%),linear-gradient(rgba(60,30,10,.12),rgba(60,30,10,.12));mix-blend-mode:multiply;pointer-events:none;z-index:1}
.hero-plate.matted picture,.hero-plate.matted img{display:block;width:100%;height:100%;object-fit:cover}
.hero-plate.matted img{filter:brightness(.66) sepia(.42) saturate(.78) contrast(1.08)}
.partner-feature{display:grid;grid-template-columns:minmax(260px,.9fr) 1.1fr;gap:clamp(28px,5vw,80px);align-items:center;margin:8px 0 44px}
.pf-num{position:relative;display:flex;flex-direction:column;align-items:center;max-width:440px;width:100%;margin:0 auto;color:var(--fg);padding-top:6%}
.pf-num .pf-laurel{position:absolute;left:0;top:0;width:100%;height:auto;color:var(--acc);opacity:.85}
.pf-v{position:relative;font-size:clamp(84px,3rem + 6.2vw,168px);line-height:1;font-weight:500;letter-spacing:-.03em;font-variant-numeric:lining-nums;margin-top:6%}
.pf-v sup{font-size:.4em;vertical-align:1em;color:var(--acc);margin-left:.02em}
.pf-k{position:relative;margin-top:clamp(40px,5vw,72px);font-weight:600;font-variant-caps:all-small-caps;letter-spacing:.34em;font-size:clamp(16px,1.3vw,20px);color:var(--acc)}
.pf-text p{font-size:clamp(19px,1rem + .3vw,22px);line-height:1.5;margin-bottom:16px;max-width:52ch}
.pf-kinds{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.pf-kinds li{border:1px solid var(--line2);padding:6px 14px;border-radius:999px;font-variant-caps:all-small-caps;letter-spacing:.14em;font-weight:600;font-size:16px}
@media (max-width:800px){.partner-feature{grid-template-columns:1fr}.pf-num{max-width:300px;margin:0 auto}}


/* ===== rev1 · Marginalia ===== */
.marg-list{display:grid;gap:clamp(48px,7vw,96px)}
.mg{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(24px,5vw,72px);align-items:center}
.mg.flip .mg-plate{order:2}
.mg-plate{max-width:420px;width:100%;justify-self:center}
.mg-plate.plate .frame{aspect-ratio:3/4;box-shadow:0 0 0 8px #f7f1e5,0 0 0 9px var(--line),0 22px 36px -22px rgba(40,25,10,.55)}
.mg:nth-child(odd) .mg-plate{transform:rotate(-1.2deg)}.mg:nth-child(even) .mg-plate{transform:rotate(1deg)}
.mg-plate figcaption{margin-top:18px}
.mg-text .pl{display:block;margin-bottom:6px}
.mg-text h3{font-family:var(--f-bl);font-weight:700;font-size:clamp(40px,2rem + 2.4vw,72px);line-height:.95;margin-bottom:18px}
.mg-text p{font-size:clamp(19px,1rem + .35vw,22px);line-height:1.55;max-width:56ch}
.mg-text p+p{margin-top:.9em}
.mg-add{border:1px dashed var(--line2);padding:10px 14px;font-style:italic;color:var(--mute);font-size:17px!important}
.mg-add b{font-style:normal;font-weight:600;font-variant-caps:all-small-caps;letter-spacing:.14em;color:var(--acc);margin-right:8px}
.mg-label{display:grid;place-items:center;aspect-ratio:3/4;background:radial-gradient(circle at 30% 20%,#f3ead8,#e4d6bb);box-shadow:0 0 0 8px #f7f1e5,0 0 0 9px var(--line),0 22px 36px -22px rgba(40,25,10,.55)}
.tag{position:relative;display:grid;justify-items:center;gap:6px;width:72%;padding:48px 18px 26px;background:#c8321c;color:#f7ecd9;text-align:center;clip-path:polygon(18% 0,82% 0,100% 12%,100% 100%,0 100%,0 12%);box-shadow:inset 0 0 0 6px rgba(0,0,0,.08);transform:rotate(-5deg)}
.tag-hole{position:absolute;top:16px;width:18px;height:18px;border-radius:50%;background:#e9dcc2;box-shadow:inset 0 2px 3px rgba(0,0,0,.4)}
.tag-k{font-variant-caps:all-small-caps;letter-spacing:.3em;font-weight:600;font-size:15px}
.tag-t{font-family:var(--f-bl);font-size:clamp(40px,4vw,58px);line-height:1}
.tag-d{font-style:italic;font-size:17px;border-top:1px solid rgba(247,236,217,.5);padding-top:8px}
.tag-stamp{margin-top:10px;border:2px solid #f7ecd9;border-radius:6px;padding:2px 10px;font-weight:700;letter-spacing:.2em;font-size:13px;transform:rotate(-8deg);opacity:.9}
.mg-coda{display:flex;gap:18px;align-items:center;margin-top:clamp(40px,6vw,72px);padding-top:24px;border-top:1px solid var(--line)}
.mg-coda .plate{width:96px;flex:none}.mg-coda .frame{aspect-ratio:3/4}
.mg-coda figcaption{font-style:italic;color:var(--mute);font-size:18px}
@media (max-width:760px){.mg{grid-template-columns:1fr}.mg.flip .mg-plate{order:0}.mg-plate{max-width:300px}}

/* ===== rev1 · X post cards (esports, social, home) ===== */
.xpost{background:#f3ecdf;color:var(--text-l);padding:18px 18px 14px;box-shadow:0 30px 60px -30px rgba(0,0,0,.85),0 0 0 1px rgba(0,0,0,.08);display:grid;gap:12px;align-content:start}
.xp-h{display:grid;grid-template-columns:40px 1fr auto;gap:10px;align-items:center}
.xp-av{width:40px;height:40px;border-radius:50%;background:var(--ink);color:var(--red-d);display:grid;place-items:center}
.xp-av .mark{width:18px;height:18px}
.xp-n b{display:block;font-weight:600;font-size:17px;line-height:1.1}
.xp-n small{color:var(--mute-l);font-size:15px}
.xp-h time{font-variant-caps:all-small-caps;letter-spacing:.12em;font-weight:600;font-size:14px;color:var(--mute-l)}
.xp-t p{font-size:19px;line-height:1.45}
.xp-t p+p{margin-top:.5em}
.xp-at{color:var(--red-l)}
.xp-media{overflow:hidden;border-radius:4px;background:#000}
.xp-media picture,.xp-media img,.xp-media video{display:block;width:100%;height:auto}
.xp-l{justify-self:start;min-height:44px;display:inline-flex;align-items:center;gap:8px;color:var(--text-l)}
.xpost.xp-small .xp-t p{font-size:17px}
/* ===== rev1 · The Arena ===== */
.boast{position:relative;margin:clamp(20px,3vw,32px) 0 clamp(20px,3vw,28px);padding:clamp(18px,2.4vw,28px) clamp(20px,3vw,36px);border:1px solid var(--line2);max-width:980px;background:linear-gradient(135deg,rgba(200,50,28,.12),transparent 60%)}
.boast::before{content:"";position:absolute;inset:5px;border:1px solid var(--line);pointer-events:none}
.boast-k{display:block;font-variant-caps:all-small-caps;letter-spacing:.2em;font-weight:600;font-size:15px;color:var(--acc)}
.boast-t{font-family:var(--f-bl);font-weight:700;font-size:clamp(34px,2rem + 2.6vw,64px);line-height:1;margin-top:8px}
.boast-t span,.boast-s span{font-family:var(--f-tx);font-style:italic;font-weight:400;font-size:.46em;color:var(--mute);white-space:nowrap}
.boast-s{font-size:clamp(26px,1.2rem + 1.4vw,40px);margin-top:6px;line-height:1.1}
.boast-s b{font-weight:600;color:var(--acc)}
.boast-f{display:block;margin-top:12px;font-style:italic;color:var(--mute);font-size:16px}
.hero-nums{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(20px,4vw,56px);margin-top:clamp(28px,4vw,48px)}
.hn{border-top:2px solid var(--fg);padding-top:14px;display:grid;gap:6px}
.hn-v{font-size:clamp(60px,2rem + 6vw,144px);line-height:.9;font-weight:500;letter-spacing:-.02em;font-variant-numeric:lining-nums}
.hn-v sup{font-size:.4em;vertical-align:.9em;color:var(--acc)}
.hn-k{font-style:italic;color:var(--mute);font-size:19px;max-width:34ch}
.paris{position:relative;padding-block:clamp(64px,8vw,120px);margin-top:clamp(40px,5vw,72px);background:radial-gradient(ellipse at 80% 0%,rgba(200,50,28,.22),transparent 60%),var(--ink-2);border-block:1px solid var(--line)}
.paris-grid{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:clamp(28px,5vw,72px);align-items:center}
.paris-k{color:var(--mute);margin-bottom:14px}
.paris-h{font-size:clamp(40px,1.6rem + 3vw,76px);line-height:1;font-weight:500;margin-bottom:22px}
.paris-h em{color:var(--acc)}
.paris-text p{font-size:clamp(19px,1rem + .35vw,22px);line-height:1.55;max-width:56ch}
.paris-text p+p{margin-top:.9em}
.paris-pull{font-size:clamp(24px,1.1rem + 1vw,32px)!important;line-height:1.25!important;font-style:italic;border-left:3px solid var(--acc);padding-left:18px;margin-top:22px!important}
.paris-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:28px}
.paris-facts li{border-top:1px solid var(--line2);padding-top:10px;display:grid;gap:2px}
.paris-facts b{font-size:clamp(32px,2.6vw,44px);font-weight:500;line-height:1}
.paris-facts span{font-style:italic;color:var(--mute);font-size:16px;line-height:1.3}
.xp-feature{transform:rotate(1deg)}
.paris-more{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(28px,5vw,72px);align-items:start;margin-top:clamp(40px,6vw,72px)}
.paris-more .xpost{transform:rotate(-1.2deg);max-width:460px}
.seals{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}
.seals li{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line2);border-radius:999px;padding:6px 16px 6px 8px;font-size:18px}
.seals li::before{content:"";width:18px;height:18px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#e0553c,#8e1d10 70%);box-shadow:inset 0 -1px 2px rgba(0,0,0,.4)}
.prod-grid{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:clamp(28px,5vw,72px);align-items:start}
.prod-text>p{font-size:clamp(19px,1rem + .35vw,22px);line-height:1.55;max-width:56ch}
.majors{margin-top:24px;display:grid}
.majors li{display:grid;grid-template-columns:90px 1fr;gap:16px;padding:16px 0;border-top:1px solid var(--line2);align-items:baseline}
.mj-y{font-size:34px;font-weight:500;color:var(--acc);line-height:1}
.majors b{display:block;font-size:24px;font-weight:500}
.majors span{font-style:italic;color:var(--mute)}
.prod-posts{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}
.prod-cap{grid-column:1/-1;color:var(--mute)}
.prod-posts .xpost:nth-of-type(1){transform:rotate(-1.5deg)}.prod-posts .xpost:nth-of-type(2){transform:rotate(1.2deg);margin-top:28px}
.register.filled td,.register.filled th[scope=row]{height:auto;vertical-align:baseline;font-size:clamp(17px,1rem + .2vw,20px)}
.register.filled th[scope=row]{font-weight:600;padding:16px 18px;border-bottom:1px solid var(--line-l);text-align:left}
.register.filled td b{font-weight:600}
.register.filled .r2{color:var(--mute-l);font-style:italic}
.register.filled tr.sum td,.register.filled tr.sum th{border-top:2px solid var(--text-l);color:var(--red-l)}
.register.filled tr.sum b{font-size:1.25em}
@media (max-width:900px){.paris-grid,.paris-more,.prod-grid{grid-template-columns:1fr}.hero-nums{grid-template-columns:1fr}.xp-feature,.paris-more .xpost{transform:none}}
@media (max-width:560px){.prod-posts{grid-template-columns:1fr}.prod-posts .xpost:nth-of-type(2){margin-top:0}.paris-facts{grid-template-columns:1fr 1fr 1fr;gap:8px}.paris-facts b{font-size:28px}.paris-facts span{font-size:14px}}
@media (max-width:700px){.register.filled th:nth-child(4),.register.filled td:nth-child(4){display:table-cell}.register.filled th:nth-child(3),.register.filled td:nth-child(3){display:none}.register.filled th[scope=row]{padding:12px 10px}}

/* ===== rev1 · The Host ===== */
.playbill{position:relative;max-width:980px;margin:0 auto;background:var(--paper);color:var(--text-l);padding:clamp(28px,4vw,64px) clamp(20px,4vw,64px);box-shadow:0 40px 80px -40px rgba(0,0,0,.9);--mute:var(--mute-l);--line:var(--line-l);--line2:var(--line-l2);--acc:var(--red-l)}
.playbill::before{content:"";position:absolute;inset:10px;border:1px solid var(--line-l2);pointer-events:none}
.playbill::after{content:"";position:absolute;inset:16px;border:1px solid var(--line-l);pointer-events:none}
.pb-head{text-align:center;display:grid;justify-items:center;gap:8px;padding-bottom:22px;border-bottom:2px solid var(--text-l);margin-bottom:8px}
.pb-head .lab{color:var(--red-l)}
.pb-head h2{font-size:clamp(52px,3rem + 4vw,112px);line-height:.9;font-weight:700}
.acts li{display:grid;grid-template-columns:96px 1fr auto;gap:8px 22px;align-items:baseline;padding:18px 0;border-bottom:1px solid var(--line-l)}
.acts .an{font-variant-caps:all-small-caps;letter-spacing:.16em;font-weight:600;color:var(--red-l);font-size:17px}
.acts h3{font-size:clamp(24px,1.1rem + 1vw,34px);font-weight:500;line-height:1.1}
.acts p{color:var(--mute-l);font-style:italic;font-size:18px;margin-top:4px;max-width:52ch}
.acts .aw{font-variant-caps:all-small-caps;letter-spacing:.14em;font-weight:600;font-size:15px;color:var(--mute-l);text-align:right}
.acts .encore h3{font-family:var(--f-bl);font-weight:700}
@media (max-width:640px){.acts li{grid-template-columns:1fr;gap:4px}.acts .aw{text-align:left}}
.clip-grid{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(28px,5vw,72px);align-items:start}
.clipping{background:#e9e4d8;color:#1d1b18;padding:clamp(18px,2.4vw,28px);transform:rotate(-1.2deg);box-shadow:0 30px 60px -30px rgba(0,0,0,.85);font-family:var(--f-tx);clip-path:polygon(0 1%,4% 0,12% 1.2%,22% .2%,35% 1%,48% 0,61% .9%,74% .1%,86% 1%,100% 0,99.4% 20%,100% 42%,99.2% 63%,100% 85%,99.5% 100%,86% 99%,70% 100%,55% 99.2%,40% 100%,24% 99.1%,10% 100%,0 99.3%,.6% 78%,0 55%,.8% 30%)}
.np-mast{display:flex;justify-content:space-between;align-items:baseline;border-bottom:3px double #1d1b18;padding-bottom:6px;margin-bottom:12px}
.np-name{font-family:var(--f-bl);font-size:32px;line-height:1}
.np-date{font-size:13px;text-transform:uppercase;letter-spacing:.1em}
.np-h{font-size:clamp(24px,1.1rem + 1.1vw,34px);line-height:1.12;font-weight:700;margin-bottom:14px}
.np-fig{float:left;width:min(52%,310px);margin:4px 16px 8px 0}
.np-fig img{display:block;width:100%;height:auto;filter:grayscale(1) contrast(1.05)}
.np-fig figcaption{font-size:13px;line-height:1.35;margin-top:6px}
.np-cr{display:block;font-style:italic;opacity:.75;margin-top:2px}
.np-lede{font-size:18px;line-height:1.5;font-weight:600}
.clipping::after{content:"";display:block;clear:both}
.clip-tr .lab{color:var(--acc);margin-bottom:8px}
.tr-h{font-size:clamp(24px,1.1rem + .9vw,32px);line-height:1.2;margin-bottom:16px}
.tr-q{font-style:italic;font-size:20px;border-left:3px solid var(--acc);padding-left:16px;margin-bottom:16px}
.clip-tr p{margin-bottom:12px;max-width:52ch}
@media (max-width:860px){.clip-grid{grid-template-columns:1fr}.clipping{transform:none}}
@media (max-width:480px){.np-fig{float:none;width:100%;margin:0 0 12px}}

/* ===== rev1 · Social: The Dispatch (gazette) ===== */
.gazette{padding-top:clamp(20px,3vw,40px);padding-bottom:clamp(64px,8vw,112px)}
.gz-mast{margin-top:clamp(16px,2vw,28px);border-top:3px solid var(--fg);border-bottom:3px double var(--fg);padding:10px 0 12px}
.gz-top,.gz-sub{display:flex;justify-content:space-between;gap:12px;color:var(--mute)}
.gz-top{border-bottom:1px solid var(--line2);padding-bottom:8px}
.gz-sub{border-top:1px solid var(--line2);padding-top:8px}
.gz-row{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;padding:clamp(8px,1.4vw,18px) 0}
.gz-title{font-size:clamp(56px,2rem + 8vw,168px);line-height:.95;text-align:center;font-weight:700;white-space:nowrap}
.gz-ear{display:grid;gap:2px;color:var(--mute);border:1px solid var(--line2);padding:8px 12px;justify-self:start;min-width:110px}
.gz-ear.r{justify-self:end;text-align:right}
.gz-ear time{font-size:22px;color:var(--fg);font-variant-caps:normal;letter-spacing:.02em;font-weight:500}
.gz-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);grid-template-areas:"lead side" "lead subs";gap:clamp(24px,3.4vw,48px) clamp(28px,4vw,56px);margin-top:clamp(28px,4vw,48px);align-items:start}
.gz-lead{grid-area:lead;padding-right:clamp(0px,2vw,28px);border-right:1px solid var(--line2)}
.gz-side{grid-area:side}.gz-subs{grid-area:subs}
.gz-kick{color:var(--acc);margin-bottom:10px;display:block}
.gz-h{font-size:clamp(36px,1.4rem + 3vw,72px);line-height:1;font-weight:500;margin-bottom:14px}
.gz-h em,.gz-h2 em{color:var(--acc)}
.gz-dek{font-style:italic;color:var(--mute);font-size:clamp(18px,1rem + .3vw,21px);max-width:56ch;margin-bottom:22px}
.xp-lead .xp-t p{font-size:21px}
.gz-note{margin-top:16px}
.chans{display:grid;border-top:2px solid var(--fg)}
.chan{display:grid;grid-template-columns:96px 1fr;gap:18px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line2);text-decoration:none;min-height:44px}
.chan-pm{position:relative;width:96px;height:96px;display:grid;place-items:center;color:var(--acc)}
.chan-pm .pm{position:absolute;inset:0;width:100%;height:100%}
.chan-pm .pm text{font-size:9px!important;letter-spacing:.14em}
.chan-ico{position:relative;color:var(--fg)}
.chan-ico .ico{width:26px;height:26px}
.chan-t{display:grid;gap:2px}
.chan-t .lab{color:var(--mute)}
.chan-t b{font-family:var(--f-bl);font-size:30px;line-height:1.05;font-weight:700}
.chan-t small{color:var(--mute);font-style:italic;font-size:17px;line-height:1.35}
.chan .go{font-variant-caps:all-small-caps;letter-spacing:.14em;font-weight:600;font-size:15px;margin-top:4px;color:var(--acc)}
@media (hover:hover){.chan:hover b{color:var(--acc)}}
.gz-arch{margin-top:clamp(48px,7vw,96px);padding-top:clamp(28px,4vw,48px);border-top:3px double var(--fg);display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(28px,4vw,56px);align-items:start}
.gz-h2{font-size:clamp(30px,1.2rem + 2vw,52px);line-height:1.05;font-weight:500;margin-bottom:12px}
.gz-arch-posts{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,2.4vw,32px);align-items:start}
.gz-arch-posts .xpost:nth-child(1){transform:rotate(-1deg)}.gz-arch-posts .xpost:nth-child(2){transform:rotate(1deg);margin-top:32px}
@media (max-width:980px){.gz-grid{grid-template-columns:1fr;grid-template-areas:"lead" "side" "subs"}.gz-lead{border-right:0;padding-right:0}.gz-arch{grid-template-columns:1fr}}
@media (max-width:600px){.gz-row{grid-template-columns:1fr 1fr;gap:10px}.gz-title{grid-column:1/-1;grid-row:1;font-size:clamp(52px,17vw,80px)}.gz-ear{justify-self:stretch}.gz-arch-posts{grid-template-columns:1fr}.gz-arch-posts .xpost:nth-child(2){margin-top:0}.gz-top span:nth-child(1){display:none}}

/* ===== rev1 · The Chronicles ===== */
.chrons{display:grid;gap:0;border-top:2px solid var(--fg)}
.chron{display:grid;grid-template-columns:minmax(0,300px) 1fr;gap:clamp(20px,4vw,48px);padding:clamp(22px,3vw,36px) 0;border-bottom:1px solid var(--line2);align-items:start}
.ch-photo{margin:0}
.ch-photo.np{background:#e9e4d8;padding:10px;transform:rotate(-1.5deg);box-shadow:0 24px 40px -24px rgba(0,0,0,.85)}
.ch-photo.np img{display:block;width:100%;height:auto;filter:grayscale(1) contrast(1.05)}
.ch-photo.np figcaption{font-size:13px;font-style:italic;color:#3a3630;margin-top:6px}
.ch-photo.slot{aspect-ratio:4/3;height:auto}
.ch-k{color:var(--acc);display:block;margin-bottom:8px}
.chron h3{font-size:clamp(22px,1.1rem + .9vw,32px);line-height:1.15;font-weight:500;max-width:36ch}
.ch-tr{font-style:italic;color:var(--mute);margin-top:8px;font-size:19px;max-width:60ch}
.chron blockquote{margin-top:16px;border-left:3px solid var(--acc);padding-left:16px;max-width:60ch}
.chron blockquote p{font-size:20px;font-style:italic}
.chron cite{display:block;font-style:normal;font-variant-caps:all-small-caps;letter-spacing:.12em;font-weight:600;font-size:14px;color:var(--mute);margin-top:6px}
.ch-links{display:flex;flex-wrap:wrap;gap:8px 24px;margin-top:16px}
.ch-add{margin-top:10px;border:1px dashed var(--line2);padding:10px 14px;font-style:italic;color:var(--mute);font-size:17px;max-width:60ch}
.ch-add b{font-style:normal;font-weight:600;font-variant-caps:all-small-caps;letter-spacing:.14em;color:var(--acc);margin-right:8px}
.chron-slot h3{color:var(--fg)}
.chron-slot .ch-photo{max-width:300px}
@media (max-width:760px){.chron{grid-template-columns:1fr}.chron-slot{grid-template-columns:120px 1fr;gap:16px}.chron-slot .ch-photo{aspect-ratio:1}.chron-slot .ch-photo .slot-k{font-size:12px}.chron-slot code{display:none}}

/* ===== rev1 · the wax seal (rendered: _build/seal/wax.py) ===== */
.seal{width:clamp(108px,16vw,150px)!important;transition:transform .16s var(--ease)}
.seal .half{clip-path:none}
.seal .half.l{clip-path:polygon(-30% -30%,52% -30%,52% 2%,46% 22%,55% 38%,44% 55%,53% 72%,47% 98%,47% 130%,-30% 130%)}
.seal .half.r{clip-path:polygon(52% -30%,130% -30%,130% 130%,47% 130%,47% 98%,53% 72%,44% 55%,55% 38%,46% 22%,52% 2%)}
.seal .wax-i{position:absolute;inset:-4%;background:image-set(url("img/wax-seal-256.webp") 1x,url("img/wax-seal-512.webp") 2x) center/contain no-repeat;filter:drop-shadow(0 1px 1px rgba(40,0,0,.55)) drop-shadow(0 8px 10px rgba(0,0,0,.4))}
.seal .crack{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.seal .whole{position:absolute;inset:0}
.seal .half{opacity:0}
.envelope.opening .seal .whole{opacity:0}
.envelope.opening .seal .half{opacity:1}
.seal .crack path{fill:none;stroke:#2a0302;stroke-width:1.5;stroke-linejoin:round;stroke-dasharray:1 1;stroke-dashoffset:1}
.seal .crack path.hl{stroke:rgba(255,190,170,.55);stroke-width:.7}
.seal .crumbs{position:absolute;inset:0;pointer-events:none}
.seal .crumb{position:absolute;top:var(--t);left:var(--l);width:var(--s);height:var(--s);background:radial-gradient(circle at 35% 30%,#d4442c,#7a0d08 75%);clip-path:polygon(20% 0,90% 15%,100% 70%,55% 100%,0 75%);opacity:0}
.envelope.cracking .seal{transform:translate(-50%,-50%) scale(.94)}
.envelope.cracking .seal .crack path{transition:stroke-dashoffset .24s cubic-bezier(.3,0,.2,1);stroke-dashoffset:0}
.envelope.opening .seal .crack{opacity:0;transition:opacity .2s .1s}
.envelope.opening .seal .crumb{animation:crumb .75s cubic-bezier(.2,.7,.3,1) forwards}
@keyframes crumb{0%{opacity:1;transform:translate(0,0) rotate(0)}70%{opacity:1}100%{opacity:0;transform:translate(var(--x),calc(var(--y) + 40px)) rotate(var(--r))}}
.envelope.opening .seal .half.l{animation:halfL .85s cubic-bezier(.2,.7,.2,1) forwards}
.envelope.opening .seal .half.r{animation:halfR .85s cubic-bezier(.2,.7,.2,1) forwards}
@keyframes halfL{0%{opacity:1;transform:none}55%{opacity:1}100%{opacity:0;transform:translate(-70%,35%) rotate(-42deg)}}
@keyframes halfR{0%{opacity:1;transform:none}55%{opacity:1}100%{opacity:0;transform:translate(70%,50%) rotate(36deg)}}
@media (max-width:760px){.seal{width:112px!important}}
@media (prefers-reduced-motion:reduce){.seal,.seal .half,.seal .crack path{transition:none!important}.envelope.opening .seal .crumb,.envelope.opening .seal .half{animation:none}.envelope.opening .seal .half{opacity:0}}
/* the same wax everywhere else */
.seal-disc{background:image-set(url("img/wax-seal-256.webp") 1x,url("img/wax-seal-512.webp") 2x) center/contain no-repeat!important;box-shadow:none!important;filter:drop-shadow(0 12px 14px rgba(0,0,0,.5))}
.seal-disc .mark{display:none}
.mini-seal{background:url("img/wax-blank-128.webp") center/contain no-repeat;box-shadow:none;filter:drop-shadow(0 2px 2px rgba(0,0,0,.4))}
.mini-seal .mark{color:rgba(255,226,210,.85)}
/* ===== rev1 · other ways in: new modules ===== */
.w-card{grid-column:span 7}.w-call{grid-column:span 5}.w-guest{grid-column:span 5}.w-seals{grid-column:span 7}
.ccard{position:relative;background:#efe7d8;color:var(--text-l);padding:clamp(22px,3vw,34px);display:grid;gap:4px;box-shadow:0 26px 50px -28px rgba(0,0,0,.9);--acc:var(--red-l);--mute:var(--mute-l);--line2:var(--line-l2);--fg:var(--text-l)}
.ccard::before{content:"";position:absolute;inset:8px;border:1px solid rgba(26,23,20,.22);pointer-events:none}
.cc-seal{position:absolute;right:18px;top:16px;width:74px;height:74px;background:url("img/wax-seal-256.webp") center/contain no-repeat;transform:rotate(12deg);filter:drop-shadow(0 6px 6px rgba(0,0,0,.35))}
.cc-name{font-size:clamp(34px,3vw,46px);line-height:1;padding-right:80px}
.cc-role{font-variant-caps:all-small-caps;letter-spacing:.16em;font-weight:600;color:var(--red-l);font-size:15px}
.cc-mail{font-size:clamp(22px,1rem + 1vw,30px);margin-top:14px;word-break:break-all}
.cc-where{font-style:italic;color:var(--mute-l);font-size:17px}
.cc-acts{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:16px}
.cc-acts .btn{min-height:44px}
.ccard .btn-ghost{color:var(--text-l);border-color:rgba(26,23,20,.4)}
.callslot{display:grid;grid-template-columns:60px 1fr;gap:18px;align-items:start;border:1px dashed var(--line2);padding:18px}
.hourglass{width:52px;color:var(--fg)}
.cs-t{font-size:22px;line-height:1.2}
.cs-s{font-style:italic;color:var(--mute);font-size:17px;margin:6px 0 10px}
.callslot .ph-tag{position:static;display:inline-block}
.gnote{display:grid;gap:8px;text-decoration:none;padding:20px 22px;background:repeating-linear-gradient(transparent 0 31px,var(--line) 31px 32px);border:1px solid var(--line2);min-height:44px}
.gn-k{font-family:var(--f-bl);font-size:30px;line-height:1}
.gn-t{font-style:italic;color:var(--mute);font-size:18px;line-height:1.55}
.gn-sig{justify-self:end;font-style:italic;color:var(--acc);border-bottom:1px solid var(--acc);font-size:18px}
@media (hover:hover){.gnote:hover{border-color:var(--acc)}}
.sseals{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.sseals a{display:grid;justify-items:center;text-align:center;gap:4px;text-decoration:none;padding:8px 4px;min-height:44px}
.ss-wax{width:84px;height:84px;display:grid;place-items:center;background:url("img/wax-blank-256.webp") center/contain no-repeat;color:rgba(255,228,212,.92);filter:drop-shadow(0 8px 8px rgba(0,0,0,.45));transition:transform .3s var(--ease)}
.ss-wax .ico,.ss-wax .mark{width:26px;height:26px;filter:drop-shadow(0 -1px 0 rgba(0,0,0,.45)) drop-shadow(0 1px 0 rgba(255,200,180,.25))}
.sseals span:not(.ss-wax){font-weight:600;margin-top:6px}
.sseals small{font-style:italic;color:var(--mute);font-size:15px}
@media (hover:hover){.sseals a:hover .ss-wax{transform:rotate(-10deg) scale(1.04)}}
@media (max-width:900px){.w-card,.w-call,.w-guest,.w-seals{grid-column:1/-1}.sseals{grid-template-columns:repeat(2,minmax(0,1fr))}}
.seal .whole{transition:transform .35s var(--ease)}@media (hover:hover){.seal:hover .whole{transform:rotate(-5deg) scale(1.03)}}
.tag{background:#a82915}

/* ===== rev2 · Book chapters on paper: The Herd & New York as engraved plates (About) ===== */
section.bk{padding-block:clamp(72px,9vw,128px);border-top:1px solid var(--line2);scroll-margin-top:var(--bar-h)} /* rev3: scoped to section.bk (About chapters); the Contents dialog's li.bk rows no longer inherit it */
.bk-head{text-align:center;max-width:860px;margin:0 auto clamp(28px,4vw,48px)}
.bk-k{display:block;color:var(--acc);margin-bottom:12px}
.bk-t{font-family:var(--f-bl);font-weight:700;font-size:clamp(56px,3rem + 3.6vw,112px);line-height:.92;letter-spacing:.005em}
.bk-sub{margin-top:14px;font-style:italic;color:var(--mute);font-size:clamp(20px,1rem + .5vw,24px)}
.bk-head::after{content:"";display:block;width:132px;height:12px;margin:18px auto 0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 132 12'%3E%3Cg fill='none' stroke='%23a82915' stroke-width='1'%3E%3Cpath d='M0 6h52M80 6h52'/%3E%3Cpath d='M66 1l5 5-5 5-5-5z'/%3E%3C/g%3E%3Ccircle cx='56' cy='6' r='1.4' fill='%23a82915'/%3E%3Ccircle cx='76' cy='6' r='1.4' fill='%23a82915'/%3E%3C/svg%3E") center/contain no-repeat}
/* the plate: thin double rule on cream, one engraved picture, italic caption beneath */
.eng-plate{max-width:1040px;margin:0 auto clamp(40px,5vw,72px)}
.eng-frame{position:relative;padding:clamp(8px,1.2vw,16px);background:#f3ecdf;border:1px solid rgba(58,36,20,.55);box-shadow:0 26px 50px -34px rgba(58,36,20,.55)}
.eng-frame::before{content:"";position:absolute;inset:clamp(4px,.6vw,8px);border:1px solid rgba(58,36,20,.28);pointer-events:none}
.eng-frame svg{width:100%;height:auto;aspect-ratio:800/520}
.art-frieze{aspect-ratio:1200/250!important}.art-head{aspect-ratio:800/220!important}.art-spec{aspect-ratio:640/520!important}
.eng-plate figcaption{margin-top:14px;text-align:center;font-size:clamp(17px,1rem + .2vw,19px);line-height:1.4;color:var(--mute)}
.eng-plate figcaption .pl,.eng-photo figcaption .pl{font-weight:600;font-variant-caps:all-small-caps;letter-spacing:.12em;color:var(--acc);font-style:normal}
.eng-wide{max-width:1240px}.eng-head{max-width:980px;margin-bottom:clamp(24px,3vw,40px)}
/* photos engraved from his own pictures, in proper frames with ink captions below (no labels on top of the image) */
.eng-photo .ep-frame{padding:8px;background:#f3ecdf;border:1px solid rgba(58,36,20,.5);box-shadow:0 20px 36px -26px rgba(58,36,20,.6)}
.eng-photo picture{display:block}
.eng-photo figcaption{margin-top:10px;font-size:16px;line-height:1.35;color:var(--mute)}
.bk .bk-cols{display:grid;align-items:start;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(28px,5vw,80px)}
.bk .bk-text{font-size:var(--fs-body);max-width:62ch}
.bk .bk-text p+p{margin-top:1em}
.bk-narrow{max-width:68ch;margin:0 auto}.bk-narrow p+p{margin-top:1em}
.bk .facts{margin-top:28px}
.ep-pair{display:grid;grid-template-columns:minmax(0,1fr);gap:28px;max-width:440px;justify-self:end;width:100%}
.ep-pair .eng-photo:last-child{width:62%;justify-self:end}
.ep-row{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr) minmax(0,3fr);gap:clamp(16px,2.4vw,32px);align-items:end;max-width:1180px;margin:0 auto clamp(40px,5vw,64px)}
/* the notebook, as a manuscript card */
.goals-ms{position:relative;padding:clamp(24px,3vw,40px) clamp(22px,3vw,40px) clamp(22px,2.6vw,32px);background:#f4eddf;border:1px solid rgba(58,36,20,.45);box-shadow:inset 0 0 0 6px #f4eddf,inset 0 0 0 7px rgba(168,41,21,.35),0 26px 50px -34px rgba(58,36,20,.55);background-image:repeating-linear-gradient(transparent 0 37px,rgba(58,36,20,.12) 37px 38px)}
.goals-ms>.lab{display:block;color:var(--acc);margin-bottom:6px}
.gm-h{font-family:var(--f-bl);font-weight:700;font-size:clamp(44px,3.6vw,60px);line-height:1;color:var(--text-l);margin-bottom:12px}
.gl-list{display:grid;gap:6px;font-size:clamp(23px,1.1rem + .8vw,30px);line-height:1.22;font-weight:500}
.gl-list b{color:var(--acc);font-weight:600;margin-right:.3em}
.gl-list .crown{color:var(--acc)}
.gl-quote{margin-top:18px;font-style:italic;font-size:clamp(19px,1rem + .3vw,22px);line-height:1.45}
.gl-note{margin-top:16px;padding-top:12px;border-top:1px solid var(--line2);font-variant-caps:all-small-caps;letter-spacing:.14em;font-weight:600;font-size:16px;color:var(--mute)}
.bk-ruled{max-width:760px;margin:clamp(40px,5vw,64px) auto 0}
@media (max-width:900px){.bk .bk-cols{grid-template-columns:1fr}.ep-pair{justify-self:stretch;max-width:none;grid-template-columns:minmax(0,3fr) minmax(0,2fr);align-items:end}.ep-pair .eng-photo:last-child{width:auto}.ep-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.ep-row .ep-wide{grid-column:1/-1}}
@media (max-width:520px){.eng-frame{padding:6px}.eng-frame::before{inset:3px}.bk-t{font-size:clamp(52px,15vw,72px)}}
/* lab-only variant layouts (lab/about-variants/) */
.ill-head{margin-top:0}
.ms-cols{display:grid;grid-template-columns:minmax(0,8fr) minmax(0,3fr);gap:clamp(24px,4vw,56px);max-width:1060px;margin:0 auto}
.ms-main p+p{margin-top:1em}
.ill-p::after{content:"";display:table;clear:both}
.illum-box{float:left;width:clamp(96px,10vw,132px);aspect-ratio:1;margin:.25em 20px 6px 0}
.illum-box svg{width:100%;height:100%}
.ms-marg{border-left:1px solid var(--line2);padding-left:18px;font-style:italic;color:var(--mute);font-size:17px;line-height:1.45;display:grid;gap:18px;align-content:start}
.ms-goals{max-width:620px;margin:clamp(40px,5vw,64px) auto 0}
.nb-spread{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(24px,4vw,56px);align-items:center;max-width:1080px;margin:0 auto clamp(40px,5vw,64px)}
.nb-page{padding:clamp(24px,3vw,44px);background:#f4eddf;border:1px solid rgba(58,36,20,.45);box-shadow:inset 0 0 0 6px #f4eddf,inset 0 0 0 7px rgba(168,41,21,.3)}
.nb-k{display:block;color:var(--acc);margin-bottom:6px}
.bs-spread{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:clamp(24px,4vw,56px);align-items:center;max-width:1160px;margin:0 auto clamp(40px,5vw,64px)}
.bs-plate{margin:0}
.bs-key{display:grid;gap:14px}
.bs-key>div{display:grid;grid-template-columns:34px 1fr;gap:8px;align-items:baseline}
.bs-key dt{font-family:var(--f-bl);font-weight:700;font-size:30px;color:var(--acc);line-height:1}
.bs-key dd{margin:0;font-size:18px;line-height:1.45}
.bs-where{margin-top:22px;padding-top:12px;border-top:1px solid var(--line2);font-style:italic}
.bs-where .lab{font-style:normal;color:var(--acc);margin-right:8px}
@media (max-width:900px){.ms-cols,.nb-spread,.bs-spread{grid-template-columns:1fr}.ms-marg{border-left:0;border-top:1px solid var(--line2);padding:16px 0 0}}
.bk p.drop{display:flow-root}
/* rev2b · the herd plate crops in on phones (the SVG uses preserveAspectRatio slice; height is fixed by aspect-ratio, so no layout shift) */
@media (max-width:600px){.eng-frame .art-herd{aspect-ratio:540/520}}
/* ===== rev3 · quick wins (29 Sep 2026) ===== */
/* header fits at 390: tighter gaps and tracking keep the "Contents" word inside the 20px gutter; under 375px the word becomes screen-reader-only (the icon stays) */
@media (max-width:420px){.bar-in{column-gap:12px}.brand{gap:8px}.bar-r{gap:6px}.bar-toc{gap:7px;padding-right:0}.bt-t{letter-spacing:.1em}}
@media (max-width:374px){.bt-t{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}}
/* contact 1px overflow at 390: the "Directly" rows used a bare 1fr track, so the long email address pushed the grid 0.7px past the viewport */
.direct a,.direct .row{grid-template-columns:24px minmax(0,1fr) auto}
.direct .row>a,.direct a>span{min-width:0;overflow-wrap:anywhere}
/* 404: on phones the big numeral sat on top of the "Errata" kicker; below 640px it becomes a line of its own above the text block */
@media (max-width:640px){.torn-page .code{position:static;display:block;text-align:right;font-size:64px;margin:-12px 0 6px}}
/* Social: handles are read letter by letter, so they are set in Garamond, not blackletter */
.chan-t b{font-family:var(--f-tx);font-weight:600;font-size:28px;line-height:1.1;letter-spacing:.005em}
/* Social: the breadcrumb sat inside the fixed header under the logo; the gazette now clears the bar like every other page head */
.gazette{padding-top:calc(var(--bar-h) + clamp(20px,3vw,40px))}
/* Drop caps that start with I or A: the blackletter I read as J and the Cook A as a blot, so these open with an
   illuminated EB Garamond capital in red inside a double-ruled, hatched frame (lab concept 06 "Gilded Capitals", in red, not gold) */
.gcap-p{display:flow-root}
.gcap{float:left;position:relative;display:grid;place-items:center;box-sizing:border-box;font-size:3.8em;width:1.04em;aspect-ratio:1;margin:.06em .2em .02em 0;padding-top:.06em;border:4px double rgba(42,30,21,.78);background:repeating-linear-gradient(45deg,rgba(42,30,21,.09) 0 1px,transparent 1px 5px),var(--paper,#efe7d8);font-family:var(--f-tx);font-weight:600;font-style:normal;line-height:1;color:var(--acc);letter-spacing:0;text-shadow:.03em .03em 0 rgba(42,30,21,.25)}
.gcap::before{content:"";position:absolute;inset:3px;border:1px solid rgba(168,41,21,.45);pointer-events:none}
/* FAIM's title is an acronym: set in Garamond capitals (as lab concept 07 did) so it can only read FAIM; the red M accent stays */
.phead h1.faim-h{font-family:var(--f-tx);font-weight:500;font-size:clamp(84px,2rem + 9vw,200px);line-height:.84;letter-spacing:.06em;font-variant-numeric:lining-nums}
/* Contents dialog: "Close ×" no longer wraps onto two lines at 390 */
.toc-x{white-space:nowrap;flex:none}
/* ===== rev4 · one clear capital style (29 Sep 2026) ===== */
/* Every drop cap on every page is the framed Garamond capital from rev3 (.gcap). The tile is always paper, so the
   letter is always the paper red, also on the dark pages (Home prologue, FAIM, Arena, Host). */
.gcap{color:var(--red-l)}
html:not(.theme-paper) .gcap{box-shadow:0 0 0 1px rgba(236,228,212,.18)}
/* About's incipit O (was the blackletter O on a red illuminated square): same frame, incipit size */
.gcap.gcap-lg{font-size:clamp(100px,9.6vw,140px);margin:.04em .17em .02em 0;border-width:5px}
.gcap.gcap-lg::before{inset:4px}
@media (max-width:560px){.gcap.gcap-lg{font-size:92px}}
/* FAIM is an acronym: wherever it is a wordmark it is set like the FAIM page title (Garamond capitals, .06em tracking,
   red M), never blackletter. Markup: <span class="fm">FAI<span class="fm-m">M</span></span> (build.py wm() for TOC/footer). */
.fm{font-family:var(--f-tx);font-weight:500;font-style:normal;letter-spacing:.06em;font-variant-numeric:lining-nums}
.fm-m{color:var(--red)}
.book-head h3.fm,.desk h3.fm{font-family:var(--f-tx);font-weight:500;letter-spacing:.06em}
.book-head h3.fm{font-size:clamp(31px,2.5vw,44px)}
.pnav .pn-t{font-size:clamp(30px,3vw,48px);line-height:1}
@media (hover:hover){.pnav a:hover .pn-t{color:var(--acc)}}
/* small rows need the AA red for their background: paper TOC, dark footer/mini-TOC/catalogue */
.toc-list .fm-m{color:var(--red-l)}
.leaders .fm-m,.minitoc .fm-m,.cat-row .fm-m{color:var(--red-d)}
.minitoc .t .fm{font-weight:inherit;letter-spacing:inherit}
/* the FAIM spine is red leather: a red M would vanish, so the whole word is bone there (the spine itself is the red) */
.spine.red .fm-m{color:inherit}
/* launch (1 Oct 2026): with the "Book a call" slot stripped, the seals row takes the full width instead of leaving an empty cell */
html[data-launch] .w-seals,.ways:not(:has(.w-call)) .w-seals{grid-column:1/-1}
/* launch: with "On the nightstand" stripped, the Almanac's second row closes up (no empty cell) */
.alm:not(:has(.m-read)) .m-dist,.alm:not(:has(.m-read)) .m-disp{grid-column:span 6}
@media (max-width:1080px){.alm:not(:has(.m-read)) .m-sky,.alm:not(:has(.m-read)) .m-dist{grid-column:span 6}.alm:not(:has(.m-read)) .m-disp{grid-column:span 12}}
@media (max-width:720px){.alm:not(:has(.m-read))>.mod{grid-column:1/-1}}
