/* PRE:I — the four approved voices, one editorial identity. */
@font-face{font-family:'PREI Signal';src:url('../fonts/prei-signal/PREISignal-Bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'PREI Riot';src:url('../fonts/prei-riot/PREIRiot-Brush.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'PREI Trace';src:url('../fonts/prei-trace/PREITrace-Bold.woff2?asset=ef639e1c3df9') format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'PRE:I Ygra';src:url('../fonts/prei-ygra/PREIYgra-Black.woff2?asset=abe27a42f8c3') format('woff2');font-weight:900;font-style:normal;font-display:swap}
:root{--display:'PREI Signal',Impact,'Arial Narrow',sans-serif;--note:'PREI Riot',cursive;--signature:'PREI Trace',cursive;--corporate:'PRE:I Ygra',Arial,sans-serif;--orange:#ff5329}
h1,h2,.display{font-weight:700;font-synthesis:none;letter-spacing:0}
h1,h2,h3{text-wrap:balance}
.site-header .brand:before{display:none}
.site-header .brand{gap:16px;min-height:44px}
.site-header .brand-mark{display:block;line-height:1;font-size:0;flex-shrink:0}
.site-header .brand-logo{width:96px;height:auto}
.site-header .brand-name{font-size:.61rem;line-height:1.5;letter-spacing:.055em;padding-left:15px;border-left:1px solid currentColor}
.site-header .nav{font-family:var(--display);font-weight:700;font-size:1.2rem;line-height:1.2;letter-spacing:.025em;text-transform:uppercase;gap:clamp(15px,1.65vw,26px)}
.nav a[aria-current=location]{color:#b72c12}
.nav a[aria-current=location]:after{content:'';position:absolute;height:4px;bottom:.1rem;left:0;right:0;background:var(--orange);transform:skew(-13deg)}
.site-footer .footer-brand{width:240px;max-width:100%;line-height:1;margin-bottom:24px}
.site-footer .footer-brand img{width:100%;height:auto}
.site-footer .footer-note{max-width:26rem}
.site-footer .footer-nav a{font:700 1.1rem/1.35 var(--display);letter-spacing:.035em;text-transform:uppercase}
.home-page .cover-content{padding-top:3.5rem;padding-bottom:4.6rem}
.home-page .cover-title{width:min(44%,510px);margin:2.6rem 0 2.3rem;transform:none;line-height:1}
.cover-title img{display:block;width:100%;height:auto}
.home-page .cover-copy{margin-top:0;width:min(43%,30rem)}
.home-page .cover-copy p{font-size:1.15rem;line-height:1.55}
.home-page .cover-actions{width:50%;gap:1rem 1.6rem;margin-top:1.1rem}
.home-page .cover .hand-note{font:700 clamp(1.5rem,2.1vw,2.05rem)/1.4 var(--note);letter-spacing:0;max-width:39%;margin:2.1rem 0 .4rem;transform:rotate(-4deg);text-wrap:balance}
.home-page .cover .hand-note:after{margin-top:.45rem;height:5px}
.button{font-weight:700;letter-spacing:.035em;font-size:1.3rem}
.chapter-heading h2{line-height:1.14}
.chapter-number{font-weight:700;letter-spacing:0}
.section-head h2{line-height:1.16;letter-spacing:0}
.realm-card h3,.dossier-card h3{font-weight:700;letter-spacing:.005em}
.realm-card h3{font-size:clamp(1.9rem,2.8vw,3rem);line-height:1.17}
.realm-card .realm-top{gap:.6rem}
.realm-card .tag{text-align:right}
.dossier-card h3{font-size:clamp(2rem,3vw,2.8rem);overflow-wrap:anywhere}
.faction h2{font-weight:700;letter-spacing:0}
.corporation .dossier-ribbon{font-weight:700;letter-spacing:.03em}
.corporation-wordmark{width:100%;max-width:390px;height:auto;margin:1.6rem 0 2rem}
.corporation h2{font-size:clamp(2.4rem,4vw,4rem);line-height:1.18}
.underground h2{font:700 clamp(2.8rem,4.1vw,4.3rem)/1.25 var(--note);letter-spacing:0;transform:rotate(-2deg);transform-origin:left;overflow-wrap:normal}
.hand-note{font-weight:700;line-height:1.35;letter-spacing:0;font-synthesis:none}
.underground .hand-note{font-size:1.6rem;line-height:1.45;transform:rotate(-4deg)}
.cast-heading h2{line-height:1.18;letter-spacing:0}
.cast-copy h3{font:700 clamp(3.4rem,5.8vw,5.4rem)/1.3 var(--signature);letter-spacing:0;text-transform:none;text-wrap:balance;margin:.6rem -.12em 1.4rem;padding:.12em;font-synthesis:none}
.cast-picker button{font-weight:700;font-size:1.15rem;letter-spacing:.02em}
.cast-watermark{font-weight:700;letter-spacing:0}
.cast-callname{font-size:.68rem}
.music-track strong{font-weight:700;letter-spacing:.055em;font-size:1.2rem;line-height:1.3}
.music-track{min-width:145px}
.entrance .entrance-mark{display:block;width:min(78vw,470px);padding:0 0 20px;margin:1.4rem auto 1.2rem;font-size:0;transform:none;line-height:1}
.entrance-mark img{width:100%;height:auto}
.entrance .entrance-mark i{bottom:0;left:6%;right:6%;height:6px}
.entrance h2{font-size:clamp(1.4rem,2.4vw,2rem);line-height:1.4;letter-spacing:0}
.page-opening h1{font-weight:700;font-size:clamp(3.5rem,7.2vw,7.2rem);line-height:1.17;letter-spacing:0;overflow-wrap:break-word}
.page-opening .lead{font-size:1.2rem;line-height:1.65}
.prose h2,.prose h3{font-weight:700;line-height:1.2;letter-spacing:.005em}
.prose h2{font-size:clamp(2rem,3.4vw,3rem)}
.prose h3{font-size:1.65rem}
.prose p,.prose li{max-width:70ch}
.corporation-page .page-opening{background:#e6e8e1;border-top:5px solid var(--ink)}
.corporation-page .page-opening h1{font:900 clamp(2.25rem,6.5vw,6.5rem)/1.12 var(--corporate);letter-spacing:-.02em;padding:.3em 0;border-left:0;overflow-wrap:normal}
.corporation-page .page-opening h1::after{content:'CORPORATION';display:block;font:700 .7rem/1.5 var(--mono);letter-spacing:.55em;margin-top:1.8rem}
.corporation-page .page-opening:after{background:repeating-linear-gradient(-45deg,var(--ink) 0 22px,var(--orange) 22px 40px)}
.theme-red .page-opening h1{font-family:var(--note);font-size:clamp(3rem,6vw,6rem);letter-spacing:0;line-height:1.35}
.atelier-home-mark{font-family:var(--display);font-weight:700;letter-spacing:.01em}
.project-banner h2{font-weight:700;line-height:1.2}
@media(max-width:1200px){
 .site-header .brand-name{display:none}
 .site-header .nav{gap:17px;font-size:1.1rem}
 .home-page .cover-title{width:46%;margin-top:2rem}
 .home-page .cover .hand-note{max-width:45%;font-size:1.65rem}
 .cast-copy h3{font-size:4.2rem}
 .underground h2{font-size:3.1rem}
}
@media(max-width:940px){
 .site-header .brand-name,.home-page .brand-name{display:block}
 .site-header .nav{font-size:1.4rem;gap:.3rem}
 .home-page .cover-title{width:48%;margin-top:1.6rem}
 .home-page .cover .hand-note{max-width:49%;font-size:1.45rem}
 .cast-copy h3{font-size:3.5rem}
 .corporation-page .page-opening h1{font-size:clamp(2rem,7.5vw,4.4rem)}
}
@media(max-width:650px){
 .site-header .brand-logo{width:91px}
 .site-header .brand-name{font-size:.53rem;padding-left:12px;letter-spacing:.02em}
 .home-page .cover-content{padding:2rem var(--gutter) 2.2rem}
 .home-page .cover-title{width:min(100%,480px);margin:1.7rem 0 1.5rem}
 .home-page .cover-copy,.home-page .cover-actions{width:100%;max-width:100%}
 .home-page .cover .hand-note{max-width:100%;font-size:clamp(1.45rem,5.7vw,1.95rem);line-height:1.4;margin:1.7rem .2rem .5rem}
 .cover-topline{gap:.5rem}
 .cover-topline .kicker{font-size:.58rem}
 .print-marks{font-size:.6rem;flex-shrink:0}
 .chapter-heading h2{font-size:clamp(3.8rem,14vw,5.5rem)}
 .section-head h2{font-size:clamp(2.6rem,10.8vw,4.2rem);line-height:1.16}
 .cast-heading h2{font-size:clamp(2.3rem,9vw,3rem)}
 .cast-copy h3{font-size:clamp(3.2rem,12vw,4.5rem);margin:.4rem -.12em 1.1rem;line-height:1.35}
 .cast-picker button{font-size:1.1rem}
 .cast-step>span{font-size:1.4rem}
 .corporation-wordmark{margin:1.3rem 0 1.6rem}
 .faction h2{font-size:clamp(2.4rem,9.5vw,3.6rem)}
 .underground h2{font-size:clamp(2.3rem,9vw,3.1rem)}
 .page-opening h1{font-size:clamp(2.6rem,11vw,4.2rem)}
 .corporation-page .page-opening h1{font-size:clamp(2.3rem,12vw,3.4rem);letter-spacing:-.025em}
 .corporation-page .page-opening h1::after{margin-top:1.2rem;font-size:.6rem}
 .theme-red .page-opening h1{font-size:clamp(2.4rem,9.5vw,3.5rem)}
 .site-footer .footer-brand{width:205px}
 .music-track strong{font-size:1.12rem}
}
@media(max-width:360px){.site-header .brand-name,.home-page .brand-name{display:none}.site-header .brand-logo{width:88px}.cast-copy h3{font-size:3.1rem}}
@media print{.footer-brand img{filter:brightness(0)}.home-page .brand-logo{filter:brightness(0)}}
