/* Rexship theme (PAGE): tokens, fonts, base type and shared components · DESIGN-SPEC §3.
   Fallback faces are metric-matched with the capsize method (latin xWidthAvg): Newsreader 895/2000 vs Georgia
   913/2048, Instrument Sans 458/1000 vs Arial 913/2048, IBM Plex Mono 600/1000 vs Courier New 1229/2048. */
@font-face{font-family:"Newsreader Display";src:url(/assets/fonts/newsreader-display-380.woff2) format("woff2");font-weight:380;font-display:swap}
@font-face{font-family:"Instrument Sans";src:url(/assets/fonts/instrument-sans-400-600.woff2) format("woff2");font-weight:400 600;font-display:swap}
@font-face{font-family:"IBM Plex Mono";src:url(/assets/fonts/ibm-plex-mono-medium.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Newsreader Fallback";src:local("Georgia"),local("Gelasio");size-adjust:100.38%;ascent-override:73.22%;descent-override:26.4%;line-gap-override:0%}
@font-face{font-family:"Instrument Sans Fallback";src:local("Arial"),local("ArialMT"),local("Liberation Sans"),local("Arimo");size-adjust:102.74%;ascent-override:94.42%;descent-override:24.33%;line-gap-override:0%}
@font-face{font-family:"Plex Mono Fallback";src:local("Courier New"),local("CourierNewPSMT"),local("Liberation Mono"),local("Cousine");size-adjust:99.98%;ascent-override:102.52%;descent-override:27.5%;line-gap-override:0%}
:root{color-scheme:light;
--paper:#f5f4f0;--band:#ecebe6;--ink:#141414;--ink-2:#34342f;--text-2:#51514c;--text-3:#66655f;--field:#86857f;--tex:#6f6f69;--far:#8f8e88;--rule-strong:#a9a8a1;--construct:#b9b8b1;--rule:#d5d4ce;--accent:#936027;--l1-ink:#3a3a35;--ink-hover:#2b2b28;
--serif:"Newsreader Display","Newsreader Fallback",Georgia,serif;--sans:"Instrument Sans","Instrument Sans Fallback",Arial,sans-serif;--mono:"IBM Plex Mono","Plex Mono Fallback","Courier New",monospace;
--fs-h1:clamp(36px,min(4vw,6.6vh),64px);--fs-story:clamp(30px,min(3vw,5.2vh),46px);--fs-inter:clamp(30px,2.8vw,42px);--fs-h2:clamp(32px,3.2vw,48px);--fs-band:clamp(36px,3.6vw,56px);--fs-h3:20px;--fs-lede:19px;--fs-sbody:17px;--fs-body:16.5px;--fs-wm:19px;
--m:clamp(16px,3.3334vw,48px);--max:1320px;--cw:clamp(340px,35vw,504px);--g:48px;--wrap:max(var(--m),calc((100% - var(--max)) / 2));--ox:max(0px,calc((100% - 1600px) / 2));--pad:128px;--nav-h:72px;
--ease-out:cubic-bezier(.22,1,.36,1);--ease-in:cubic-bezier(.55,0,1,.45);--ease-io:cubic-bezier(.65,0,.35,1);--dur-in:760ms;--dur-out:320ms;--rise:16px;--drift:-8px;--stagger:70ms}
@media (max-width:1279px){:root{--pad:96px}}
@media (max-width:959px),(orientation:portrait),(max-height:599px){:root{--nav-h:56px}}
@media (max-width:959px){:root{--pad:72px;--fs-h1:32px;--fs-story:28px;--fs-inter:26px;--fs-h2:30px;--fs-band:32px;--fs-h3:18px;--fs-lede:16.5px;--fs-sbody:15.5px;--fs-body:16px;--fs-wm:16px}}
@media (max-width:379px){:root{--fs-h1:30px}}
@media (prefers-contrast:more){:root{--text-3:#51514c}}

*,*::before,*::after{box-sizing:border-box}
html{background:var(--paper);overflow-x:clip;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:400 var(--fs-body)/1.6 var(--sans);overflow-x:clip;font-kerning:normal;font-synthesis:none;text-rendering:optimizeLegibility}
h1,h2,h3,p,dl,dd,figure{margin:0}
ol,ul{margin:0;padding:0;list-style:none}
img,svg{display:block;max-width:100%}
img{height:auto}
a{color:inherit;text-decoration:none;text-decoration-thickness:1px;text-underline-offset:5px;transition:color .2s}
a:hover{color:var(--accent)}
button,summary{font:inherit;color:inherit}
button{background:none;border:0;padding:0;cursor:pointer}
strong{font-weight:500;color:var(--ink)}
[hidden]{display:none!important}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
[tabindex="-1"]:focus{outline:none}
::selection{background:#e4dccf;color:var(--ink)}
h1,h2,.display{font-family:var(--serif);font-weight:380;text-wrap:balance}
.eyebrow{font:500 11px/1.6 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--text-2)}
.lede{font-size:var(--fs-lede);line-height:1.55;color:var(--text-2);text-wrap:pretty}
.fine{font:500 12px/1.6 var(--mono);letter-spacing:.02em;color:var(--text-3)}


.nw{white-space:nowrap}
.vh{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.skip{position:absolute;left:var(--m);top:-80px;z-index:100;padding:14px 18px;background:var(--ink);color:var(--paper);font:500 14px/1 var(--sans);border-radius:2px}
.skip:focus{top:12px}
.sprite{position:absolute;width:0;height:0;overflow:hidden}
.ico{width:24px;height:24px;flex:none;color:var(--ink);fill:none;stroke:currentColor}


.arr{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;transition:transform .2s var(--ease-out)}
.arr--down{transform:rotate(90deg)}
.arr--ext{width:14px;height:14px;transform:rotate(-45deg)}
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;height:48px;padding:0 22px;border:1px solid transparent;border-radius:2px;font:500 14.5px/1 var(--sans);letter-spacing:.005em;white-space:nowrap;cursor:pointer;transition:background-color .2s,border-color .2s}
.btn--primary,.btn--primary:hover{background:var(--ink);color:var(--paper)}
.btn--primary:hover{background:var(--ink-hover)}
.btn--outline,.btn--outline:hover{color:var(--ink);border-color:var(--field)}
.btn--outline:hover{border-color:var(--ink)}
.btn:hover .arr,.link:hover .arr{transform:translateX(3px)}
.link:hover .arr--down{transform:rotate(90deg) translateX(3px)}
.btn:active{transform:translateY(1px)}
.link{display:inline-flex;align-items:center;gap:8px;text-decoration:underline}
.link .arr{width:16px;height:16px}
.addr{position:relative;display:inline-flex;align-items:stretch;height:48px;border:1px solid var(--field);border-radius:2px;font:500 13px/1 var(--mono);letter-spacing:.02em;vertical-align:top}
.addr__mail{display:flex;align-items:center;padding:0 18px}
.addr__copy{display:inline-flex;align-items:center;gap:8px;padding:0 16px;border-left:1px solid var(--field);font:500 12px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-2);transition:color .2s}
.addr__copy:hover{color:var(--ink)}
.addr__copy .ico{width:16px;height:16px}
.addr__status{position:absolute;left:0;top:100%;margin-top:8px;font:500 12px/1 var(--mono);letter-spacing:.02em;color:var(--text-3);white-space:nowrap}
.ledger{border-top:1px solid var(--rule);font:500 12px/1.5 var(--mono);letter-spacing:.02em;color:var(--text-2)}
.ledger>div{display:grid;grid-template-columns:64px minmax(0,1fr);gap:14px;padding-top:10px}
.ledger dt{color:var(--text-3);letter-spacing:.14em;text-transform:uppercase}
@media (forced-colors:active){
.btn,.addr,.addr__copy{border-color:ButtonText}
.btn--primary{background:ButtonText;color:ButtonFace;forced-color-adjust:none}
.ico,.arr{stroke:CanvasText}
}
