
:root{
  --navy:#0B1E3D;--slate:#0E2748;--hair:#1C3155;--blue:#1A6EFF;--sky:#7FB0FF;
  --pale:#C9D6EA;--gray:#8A9BB0;--charcoal:#1E3347;--canvas:#F4F6F9;--hairlt:#D9E0EA;
  --pad:clamp(20px,5vw,64px);--max:1240px;
  --f:Arial,"Helvetica Neue",Helvetica,"Liberation Sans",sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--navy);color:var(--pale);font-family:var(--f);
  font-size:16px;line-height:1.62;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
::selection{background:var(--blue);color:#fff}
:focus-visible{outline:2px solid var(--sky);outline-offset:3px}

.wrap{max-width:var(--max);margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}
.sec{padding:clamp(52px,7.5vw,96px) 0;border-top:1px solid var(--hair)}
.sec:first-child{border-top:none}
.sec--light{background:var(--canvas);color:var(--charcoal);border-top:none}
.sec--slate{background:var(--slate)}
.eyebrow{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--sky);margin:0 0 18px}
.sec--light .eyebrow{color:var(--blue)}
h1,h2,h3,h4{font-weight:700;color:#fff;margin:0;text-wrap:balance;letter-spacing:-.012em}
.sec--light h1,.sec--light h2,.sec--light h3,.sec--light h4{color:var(--charcoal)}
h1{font-size:clamp(32px,4.7vw,53px);line-height:1.08;letter-spacing:-.022em}
h2{font-size:clamp(25px,3.3vw,37px);line-height:1.15}
h3{font-size:17px;line-height:1.35}
p{margin:0}
.lede{font-size:clamp(16px,1.5vw,19px);line-height:1.6;color:var(--pale);max-width:62ch}
.sec--light .lede{color:var(--charcoal)}
.body{font-size:15.5px;line-height:1.68;color:var(--pale);max-width:68ch}
.sec--light .body{color:var(--charcoal)}
.small{font-size:13px;line-height:1.55;color:var(--gray)}
.src{font-size:11.5px;color:var(--gray)}
.stack{display:flex;flex-direction:column}
.g10{gap:10px}.g14{gap:14px}.g18{gap:18px}.g24{gap:24px}.g28{gap:28px}
.num{font-variant-numeric:tabular-nums}
.mt40{margin-top:40px}.mt28{margin-top:28px}

header{position:sticky;top:0;z-index:30;background:var(--navy);border-bottom:1px solid var(--hair)}
.bar{display:flex;align-items:center;gap:24px;height:74px}
.mark{color:#fff;flex:0 0 auto;line-height:0;background:none;border:0;padding:0;cursor:pointer}
.mark svg{width:162px;height:auto}
nav{margin-left:auto;display:flex;align-items:center;gap:22px;white-space:nowrap}
nav a,nav button{font-family:var(--f);font-size:13.5px;color:var(--pale);background:none;border:0;
  border-bottom:1px solid transparent;padding:6px 0;cursor:pointer}
nav a:hover,nav button:hover{color:#fff;border-bottom-color:var(--hair)}
nav a[aria-current="page"],nav button[aria-current="page"]{color:#fff;border-bottom-color:var(--blue)}
.btn{display:inline-block;font-family:var(--f);font-size:13.5px;font-weight:700;letter-spacing:.02em;
  padding:12px 20px;border:1px solid var(--blue);background:var(--blue);color:#fff;cursor:pointer;text-decoration:none}
.btn:hover{background:#155ee0;border-color:#155ee0}
.btn--ghost{background:transparent;border-color:var(--hair);color:var(--pale)}
.btn--ghost:hover{border-color:var(--gray);color:#fff}
.sec--light .btn--ghost{border-color:var(--hairlt);color:var(--charcoal)}
.hdr-cta{flex:0 0 auto}
.menu{display:none;font-family:var(--f);font-size:13px;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;background:none;border:1px solid var(--hair);color:var(--pale);padding:10px 14px;cursor:pointer}
.mobnav{display:none;border-top:1px solid var(--hair);padding-top:8px;padding-bottom:18px}
.mobnav.open{display:block}
.mobnav a:last-child{border-bottom:0}
.mobnav a,nav button{display:block;width:100%;text-align:left;font-family:var(--f);font-size:15px;
  color:var(--pale);background:none;border:0;border-bottom:1px solid var(--hair);padding:14px 0;cursor:pointer}

.page{display:block}

.hero{padding:clamp(52px,7vw,88px) 0 clamp(44px,5.5vw,72px)}
.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(32px,4.4vw,64px);align-items:start}
.rule-line{font-size:13.5px;letter-spacing:.04em;color:var(--gray);border-top:1px solid var(--hair);padding-top:16px}
.rule-line b{color:var(--pale);font-weight:400}
.actions{display:flex;flex-wrap:wrap;gap:12px}
.byline{font-size:13px;color:var(--gray)}
.byline strong{color:var(--pale);font-weight:700}
.sec--light .byline strong{color:var(--charcoal)}

.panel{background:var(--slate);border:1px solid var(--hair);padding:clamp(22px,2.6vw,30px)}
.sec--slate .panel{background:var(--navy)}
.panel-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:22px}
.tag{font-size:10.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gray)}
.stats{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--hair);border:1px solid var(--hair)}
.stat{background:var(--slate);padding:18px}
.sec--slate .stat{background:var(--navy)}
.stat .v{font-size:clamp(26px,2.9vw,34px);font-weight:700;color:#fff;line-height:1.05;letter-spacing:-.02em}
.stat .v.sig{color:var(--blue)}
.stat .k{font-size:12.5px;color:var(--gray);margin-top:7px;line-height:1.4}
.read{margin-top:22px;border-top:1px solid var(--hair);padding-top:18px}
.read .tag{color:var(--sky)}
.read p{font-size:14.5px;line-height:1.6;color:var(--pale);margin-top:10px}

.defband{background:var(--navy);border-top:1px solid var(--hair);border-bottom:6px solid var(--blue);
  padding:clamp(48px,7vw,92px) 0}
.defband .def{font-size:clamp(22px,3vw,36px);font-weight:700;color:#fff;line-height:1.24;
  letter-spacing:-.018em;max-width:24ch}
.defband .sup{margin-top:24px;max-width:64ch}

.band{background:var(--slate);border-top:1px solid var(--hair);border-bottom:6px solid var(--blue);
  padding:clamp(44px,6vw,76px) 0}
.band-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,4vw,64px);align-items:start}
.pull{font-size:clamp(24px,3.4vw,40px);font-weight:700;color:#fff;line-height:1.16;letter-spacing:-.022em;max-width:16ch}

.cols2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,4vw,64px);align-items:start}
.hgrid{display:grid;gap:1px;background:var(--hair);border:1px solid var(--hair)}
.c2{grid-template-columns:1fr 1fr}
.c3{grid-template-columns:repeat(3,1fr)}
.c4{grid-template-columns:repeat(4,1fr)}
.cell{background:var(--navy);padding:clamp(20px,2.3vw,28px);display:flex;flex-direction:column;gap:11px}
.sec--slate .cell{background:var(--slate)}
.sec--light .hgrid{background:var(--hairlt);border-color:var(--hairlt)}
.sec--light .cell{background:#fff}
.cell .n{font-size:11.5px;font-weight:700;letter-spacing:.14em;color:var(--gray)}
.cell.sig .n{color:var(--blue)}
.cell p{font-size:14px;line-height:1.58;color:var(--pale)}
.sec--light .cell p{color:var(--charcoal)}
.cell .foot{font-size:13px;color:var(--gray);border-top:1px solid var(--hair);padding-top:12px;margin-top:auto}
.sec--light .cell .foot{border-color:var(--hairlt)}
.sec--light .panel{background:#fff;border-color:var(--hairlt)}
.sec--light .tag{color:var(--blue)}
.sec--light .ticks li{color:var(--charcoal)}
.sec--light .ticks li:before{background:var(--gray)}
.sec--light .ticks.sig li:before{background:var(--blue)}
.sec--light .small{color:#5A6B80}
.cell.plain{gap:0;font-size:14.5px;line-height:1.5;padding:18px 20px;display:block}
.cell.plain span{display:block;font-size:11px;font-weight:700;letter-spacing:.14em;color:var(--gray);margin-bottom:8px}

.filter{border-top:1px solid var(--hair);margin-top:40px}
.frow{display:grid;grid-template-columns:52px minmax(0,240px) minmax(0,1fr);gap:clamp(14px,2.4vw,32px);
  align-items:baseline;padding:22px 0;border-bottom:1px solid var(--hair)}
.frow .n{font-size:12px;font-weight:700;color:var(--blue);letter-spacing:.1em}
.frow h3{font-size:18px}
.frow p{font-size:15.5px;color:var(--pale);line-height:1.5}

.rows{border-top:1px solid var(--hair);margin-top:40px}
.row{display:grid;grid-template-columns:52px minmax(0,290px) minmax(0,1fr);gap:clamp(14px,2.4vw,32px);
  align-items:baseline;padding:20px 0;border-bottom:1px solid var(--hair)}
.row .n{font-size:12px;font-weight:700;color:var(--gray);letter-spacing:.1em}
.row h3{font-size:16.5px}
.row p{font-size:14px;color:var(--pale);line-height:1.55}

.ticks{list-style:none;margin:18px 0 0;padding:0;display:flex;flex-direction:column;gap:13px}
.ticks li{font-size:14.5px;line-height:1.55;padding-left:18px;position:relative}
.ticks li:before{content:"";position:absolute;left:0;top:10px;width:8px;height:1px;background:var(--gray)}
.ticks.sig li:before{background:var(--blue)}

.quote{font-size:clamp(20px,2.5vw,28px);font-weight:700;color:#fff;line-height:1.28;letter-spacing:-.015em;
  border-left:3px solid var(--blue);padding-left:clamp(18px,2.2vw,26px);max-width:24ch}

.portrait{width:100%;max-width:390px;overflow:hidden}
.portrait img{width:100%;height:auto;display:block}
.fgrid{display:grid;grid-template-columns:minmax(0,390px) minmax(0,1fr);gap:clamp(28px,4vw,56px);align-items:start}

.faq{border-top:1px solid var(--hair);margin-top:40px}
.faq details{border-bottom:1px solid var(--hair)}
.faq summary{cursor:pointer;list-style:none;padding:19px 0;font-size:16px;font-weight:700;color:#fff;
  display:flex;justify-content:space-between;gap:20px;align-items:baseline}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:"+";color:var(--blue);font-weight:700;font-size:19px;line-height:1}
.faq details[open] summary:after{content:"\2013"}
.faq p{padding:0 0 20px;font-size:14.5px;line-height:1.62;max-width:76ch;color:var(--pale)}

.form{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field{display:flex;flex-direction:column;gap:7px}
.field.full{grid-column:1/-1}
label{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gray)}
input,select,textarea{font-family:var(--f);font-size:15px;color:#fff;background:var(--navy);
  border:1px solid var(--hair);padding:12px 14px;border-radius:0;width:100%}
textarea{min-height:110px;resize:vertical}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--sky)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.err{font-size:12.5px;color:#E8443A;display:none}
.field.bad .err{display:block}
.field.bad input,.field.bad select,.field.bad textarea{border-color:#E8443A}
.legalline{font-size:12.5px;color:var(--gray);line-height:1.5;grid-column:1/-1}
.legalline u{cursor:pointer;color:var(--pale)}
.confirm{border:1px solid var(--blue);border-left-width:3px;background:rgba(26,110,255,.08);padding:24px}
.confirm h3{margin-bottom:8px}

footer{border-top:1px solid var(--hair);padding:clamp(44px,5.5vw,64px) 0 32px;background:var(--navy)}
.foot-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:clamp(28px,4vw,56px)}
.foot-mark{color:#fff;line-height:0;display:block}
.foot-mark svg{width:190px;height:auto}
.tagline{font-size:11px;font-weight:700;letter-spacing:.19em;text-transform:uppercase;color:var(--sky);margin-top:20px}
footer h4{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gray);margin-bottom:16px}
footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}
footer li a,footer li button{font-family:var(--f);font-size:13.5px;color:var(--pale);background:none;border:0;padding:0;cursor:pointer;text-align:left}
footer li a:hover,footer li button:hover{color:#fff}
footer li span{font-size:13.5px;color:var(--gray)}
.legal{margin-top:44px;padding-top:22px;border-top:1px solid var(--hair)}
.legal p{font-size:11.5px;color:var(--gray);max-width:88ch}
.legal p + p{margin-top:10px}

@media (max-width:1000px){
  .hero-grid,.cols2,.band-grid,.form,.fgrid{grid-template-columns:1fr}
  .c3,.c4{grid-template-columns:1fr 1fr}
  .foot-grid{grid-template-columns:1fr 1fr}
  .row,.frow{grid-template-columns:44px minmax(0,1fr)}
  .row>.n,.frow>.n{grid-column:1;grid-row:1}
  .row>h3,.frow>h3{grid-column:2;grid-row:1}
  .row>p:not(.n),.frow>p:not(.n){grid-column:2;grid-row:2;margin-top:7px}
}
@media (max-width:900px){
  nav{display:none}
  .menu{display:inline-block;margin-left:auto}
  .hdr-cta{display:none}
}
@media (max-width:720px){
  .bar{height:64px;gap:14px}
  .mark svg{width:138px}
  .c2,.c3,.c4{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr}
  footer ul{gap:0}
  footer li a,footer li button{display:inline-block;padding:9px 0}
  footer li span{display:inline-block;padding:9px 0}
  input,select,textarea{font-size:16px}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* real anchors replacing the former script-driven buttons */
nav a,.mobnav a,footer li a,a.mark{text-decoration:none}
a.mark{display:inline-block}
nav a,.mobnav a{display:inline-block}
.mobnav a{display:block}
a.btn{text-decoration:none;text-align:center}
.ulink{color:inherit;text-decoration:underline}
.footlink{color:#8A9BB0;text-decoration:underline}
.row .src{display:inline-block;margin-top:6px}
.rows h3 a{color:inherit;text-decoration:none;box-shadow:inset 0 -1px 0 var(--blue)}
.rows h3 a:hover{box-shadow:inset 0 -2px 0 var(--blue)}
.eyebrow a{color:inherit;text-decoration:none;box-shadow:inset 0 -1px 0 currentColor}

/* long-form essay pages */
.prose{max-width:70ch}
.prose p{font-size:16.5px;line-height:1.72;color:var(--pale);margin:0 0 20px}
.prose p strong{color:#fff}
.prose h2{font-size:clamp(21px,2.4vw,27px);line-height:1.2;margin:44px 0 16px}
.prose h3{font-size:16px;letter-spacing:.01em;margin:32px 0 10px;color:var(--sky)}
.prose ul{margin:0 0 22px;padding-left:20px}
.prose li{font-size:16px;line-height:1.68;color:var(--pale);margin:0 0 10px}
.prose>*:first-child{margin-top:0}
.artmeta{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:baseline}
.tablewrap{overflow-x:auto;margin:0 0 24px}
.prose table{border-collapse:collapse;width:100%;font-size:14.5px}
.prose th,.prose td{border:1px solid var(--hair);padding:10px 12px;text-align:left;vertical-align:top}
.prose th{color:#fff;font-weight:700}
.artnav{display:flex;flex-wrap:wrap;gap:12px}
