*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{-webkit-text-size-adjust:100%;}
body{font-family:var(--sans);font-size:16px;line-height:1.65;color:var(--ink);background:var(--paper);}
img,svg{display:block;max-inline-size:100%;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;}
button{font:inherit;border:0;background:none;cursor:pointer;}

/* type roles */
.h-hero{font-family:var(--serif);font-weight:600;font-size:48px;line-height:1.12;letter-spacing:-.01em;color:var(--charcoal);}
.h-hero--split{font-size:46px;line-height:1.14;}
.h-sec{font-family:var(--serif);font-weight:600;font-size:31px;line-height:1.2;color:var(--charcoal);}
.h-ed{font-family:var(--serif);font-weight:500;font-size:26px;line-height:1.28;color:var(--charcoal);}
.h-card{font-family:var(--serif);font-weight:600;font-size:20px;line-height:1.28;color:var(--charcoal);}
.eyebrow{font-family:var(--sans);font-weight:500;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-700);}
.mono{font-family:var(--mono);}
.micro{font-family:var(--mono);font-size:10.5px;letter-spacing:.02em;line-height:1.4;}
.micro--wide{letter-spacing:.04em;}
.intro{font-size:19px;line-height:1.65;max-inline-size:800px;}
.body-copy{font-size:14.5px;line-height:1.68;max-inline-size:var(--measure);}
.num{font-family:var(--mono);font-weight:500;line-height:1.1;color:var(--navy);}

/* layout primitives */
/* Alignment is handled by --gutter on each band; .wrap is kept for markup
   compatibility but must not add a second, competing centring context. */
.wrap{max-inline-size:none;margin-inline:0;}
.section{padding-block:72px;padding-inline:var(--gutter);}
.section--tight{padding-block:56px;}
.section--paper{background:var(--paper);}
.section--white{background:var(--white);}
.section--navy{background:var(--navy);color:var(--hero-sub);}
.hairline{border:0;border-block-start:1px solid var(--rule);}
.gold-tick{inline-size:28px;block-size:2px;background:var(--gold);}
.editorial{display:grid;grid-template-columns:var(--ed-left) 1fr;gap:var(--ed-gap);padding-inline:var(--gutter);padding-block:72px;}
@media(max-width:1024px){.editorial{grid-template-columns:1fr;} .h-hero{font-size:34px;} }
@media(max-width:640px){ .h-hero{font-size:30px;} .h-sec{font-size:24px;} .intro{font-size:16px;} .section{padding-block:36px;} }

/* a11y */
:focus-visible{outline:2px solid var(--gold);outline-offset:2px;}
.skip-link{position:absolute;inset-inline-start:-9999px;}
.skip-link:focus{inset-inline-start:16px;inset-block-start:16px;background:var(--navy);color:#fff;padding:8px 16px;z-index:99;}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;}}
