@import url('https://fonts.googleapis.com/css2?family=Newsreader:ital,opsz,wght@0,6..72,400;0,6..72,500;0,6..72,600;0,6..72,700;1,6..72,400&family=Outfit:wght@300;400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600&display=swap');

:root{
  --ink:#0b1222;
  --ink2:#111c30;
  --paper:#f7f5f1;
  --white:#fff;
  --line:rgba(11,18,34,.10);
  --coral:#e8735a;
  --aqua:#5ba4a4;
  --gold:#c4983a;
  --serif:'Newsreader',Georgia,serif;
  --sans:'Outfit',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --mono:'IBM Plex Mono',monospace;
}
html{scroll-behavior:smooth}
body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit}
.wrap-system{max-width:1220px;padding:0 24px}
@media(max-width:600px){.wrap-system{padding:0 20px}}

/* nav */
.site-nav{position:fixed;top:0;left:0;right:0;z-index:100;border-bottom:none;background:linear-gradient(to bottom,rgba(8,15,28,.48),rgba(8,15,28,0));transition:.3s}
.site-nav.scrolled,.site-nav.open{background:rgba(247,245,241,.94);backdrop-filter:blur(16px);border-bottom:1px solid rgba(11,18,34,.08)}
.site-nav-in,.site-nav-in.wide{width:min(1220px,calc(100% - 48px));margin:auto;padding:16px 0;display:flex;align-items:center;justify-content:space-between;gap:20px;max-width:none}
.brand{gap:10px}.brand-logo{width:27px;height:27px}.brand-mark{font-family:var(--sans);font-weight:600;font-size:13px;letter-spacing:.035em;color:#fff;border-left:none;padding-left:0}
.site-nav.scrolled .brand-mark,.site-nav.open .brand-mark{color:var(--ink)}
.nav-links{gap:26px;font-family:var(--sans);font-size:13px;font-weight:500;letter-spacing:.02em}
.nav-links a{color:rgba(255,255,255,.72);text-decoration:none;border-bottom:none;padding:0}
.nav-links a:hover{color:#fff}
.site-nav.scrolled .nav-links a,.site-nav.open .nav-links a{color:#445166}
.site-nav.scrolled .nav-links a:hover,.site-nav.open .nav-links a:hover{color:var(--ink)}
.nav-links a:last-child{border:1px solid rgba(232,115,90,.5);padding:8px 13px;border-radius:999px;color:#ff9b86}
.site-nav.scrolled .nav-links a:last-child,.site-nav.open .nav-links a:last-child{color:#b94e3a}
.nav-toggle{display:none;border:0;background:none;width:38px;height:38px;color:#fff;padding:0;cursor:pointer}
.nav-toggle svg{width:22px;height:22px;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;fill:none;display:block}
.nav-toggle .x{display:none}.site-nav.open .nav-toggle .bars{display:none}.site-nav.open .nav-toggle .x{display:block}
.site-nav.scrolled .nav-toggle,.site-nav.open .nav-toggle{color:var(--ink)}
@media(max-width:900px){
  .site-nav-in,.site-nav-in.wide{width:calc(100% - 40px)}
  .nav-toggle{display:flex;align-items:center;justify-content:center}
  .nav-links{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;background:var(--paper);padding:4px 0 10px;border-bottom:1px solid rgba(11,18,34,.08)}
  .site-nav.open .nav-links{display:flex}
  .nav-links a{padding:14px 20px;color:#445166!important;border-bottom:1px solid rgba(11,18,34,.08)}
  .nav-links a:last-child{margin:10px 20px 0;width:fit-content;border-bottom:none}
}

/* hero system */
.hero,.page-hero,.archive-hero,.article-hero,.role-hero,.hero-sys,.masthead{min-height:58vh;position:relative;background:var(--ink);color:#fff;display:flex;align-items:flex-end;overflow:hidden;padding:140px 0 72px;border-top:none}
.hero::before,.page-hero::before,.archive-hero::before,.article-hero::before,.role-hero::before,.hero-sys::before,.masthead::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.026) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.026) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(to bottom,#000,transparent 96%)}
.hero::after,.page-hero::after,.archive-hero::after,.article-hero::after,.role-hero::after,.hero-sys::after,.masthead::after{content:"";position:absolute;width:760px;height:760px;border-radius:50%;right:-240px;top:-360px;background:radial-gradient(circle,rgba(91,164,164,.16),rgba(232,115,90,.07) 42%,transparent 68%)}
.hero>*,.page-hero>*,.archive-hero>*,.article-hero>*,.role-hero>*,.hero-sys>*,.masthead>*{position:relative;z-index:2;width:100%}
.hero h1,.page-hero h1,.archive-hero h1,.article-hero h1,.role-hero h1,.hero-sys h1,.masthead h1{font:600 clamp(50px,8vw,102px)/.92 var(--serif)!important;letter-spacing:-.045em!important;margin:0;max-width:12ch;color:#fff}
.hero h2,.page-hero h2,.archive-hero h2,.article-hero h2,.role-hero h2,.hero-sys h2,.masthead h2{color:#fff}
.hero .dek,.page-hero .dek,.archive-hero .dek,.article-hero .dek,.role-hero .dek,.hero-sys .dek,.masthead .dek,
.hero .sub,.page-hero .sub,.archive-hero .sub,.article-hero .sub,.role-hero .sub,.hero-sys .sub,.masthead .sub{font:300 clamp(17px,2vw,22px)/1.62 var(--sans)!important;color:#b5c0cf!important;max-width:760px;margin:22px 0 0}
.eyebrow{font:600 10px var(--mono)!important;letter-spacing:.18em!important;text-transform:uppercase!important;color:#8f9aaa!important;border-top:none!important;padding-top:0!important;min-width:0!important}
.eyebrow::before{display:none!important}

section{padding:96px 0;border-top:none}
section:nth-of-type(even){background:#fff}
section h2{font:600 clamp(34px,5vw,66px)/.98 var(--serif)!important;letter-spacing:-.035em!important;color:var(--ink);max-width:14ch}
.dek,.sub,.tile-body,.card p,.prose p,.prose li,.roster-body,.num-body,.rule-row p,.doc p,.scope p,.bio p,.step p,.role-out p,.example p,.lineage p{font-family:var(--sans)!important;color:#667384!important}

/* cards and grids */
.grid,.stats{gap:16px;background:none;border:none;margin-top:42px}
.grid-2,.grid-3{display:grid}
.tile,.card,.stat,.scope,.example{background:#fff!important;border:1px solid var(--line)!important;border-radius:18px!important;box-shadow:0 10px 30px rgba(11,18,34,.04);padding:24px!important}
.tile-title,.card-title,.roster-name,.num-title,.rule-row h3,.doc h3,.bio h3,.step h3,.role-out h3,.example h3{font-family:var(--serif)!important;color:var(--ink)!important;letter-spacing:-.02em}
.tile-title{font-size:28px!important;line-height:1.05!important;margin:10px 0 8px!important}
.tile-kicker,.card-note,.stat-label,.reg-k,.doc .dc,.role-meta>div:nth-child(odd),.r,.num-tag{font:600 9px var(--mono)!important;letter-spacing:.14em!important;text-transform:uppercase!important;color:#8792a0!important}
.stat-value{font-family:var(--serif)!important;font-size:34px!important;letter-spacing:-.04em}
.btn{border-radius:999px!important;font-family:var(--sans)!important;padding:11px 16px!important}
.btn-ghost{background:transparent!important;border-color:rgba(11,18,34,.12)!important;color:var(--ink)!important}

.regshelf,.rule-list,.docs,.role-meta,.steps,.role-out,.lineage,.role-nav,.roster,.numbered{border-top:1px solid var(--line)!important}
.reg-r,.rule-row,.doc,.roster-row,.num-row,.step,.role-meta>div,.role-out>div{border-bottom:1px solid var(--line)!important}
.scope{border-left:1px solid var(--line)!important}
.prov,.meta{font:300 13px/1.6 var(--sans)!important;color:#7a8797!important}
.pullquote{font-family:var(--serif)!important;border-left:2px solid var(--aqua)!important;color:var(--ink)!important}

/* footer */
.site-footer,footer.site-footer{background:var(--ink);color:#d4dce7;border-top:none;padding:42px 0}
.footer-in,.footer-in.wide{width:min(1220px,calc(100% - 48px));margin:auto;display:flex;justify-content:space-between;gap:24px;align-items:flex-start;max-width:none}
.footer-brand{font:600 18px/1 var(--serif);color:#fff}
.footer-motto,.footer-meta{font:300 14px/1.6 var(--sans);color:#a6b2c2;margin-top:10px}
.footer-links{display:flex;flex-wrap:wrap;gap:14px 18px;margin-top:16px}.footer-links a,.footer-social a{font:500 12px var(--sans);text-decoration:none;color:#d6dde6}.footer-links a:hover,.footer-social a:hover{color:#fff}
.footer-social{margin-top:12px}

@media(max-width:860px){
  .hero,.page-hero,.archive-hero,.article-hero,.role-hero,.hero-sys,.masthead{min-height:auto;padding:124px 0 62px}
  .grid-3{grid-template-columns:repeat(2,1fr)}
  .bio,.two-col,.role-out{grid-template-columns:1fr!important}
  .footer-in,.footer-in.wide{display:block}.footer-meta{margin-top:24px}
}
@media(max-width:680px){
  section{padding:64px 0}
  .grid-2,.grid-3,.stats{grid-template-columns:1fr!important}
  .hero h1,.page-hero h1,.archive-hero h1,.article-hero h1,.role-hero h1,.hero-sys h1,.masthead h1{font-size:clamp(42px,14vw,76px)!important}
}
