*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--surface);color:var(--ink);font:400 16px/24px var(--font-sans)}
img,svg{max-width:100%}
a{color:var(--brand);text-underline-offset:3px}
a:hover{color:var(--brand-strong)}
a:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:var(--radius-sm)}
h1,h2,h3,h4,p,ul,ol{margin:0}
.container{max-width:1080px;margin:0 auto;padding:0 var(--space-4)}
.skip{position:absolute;left:var(--space-4);top:-100px;background:var(--surface-raised);color:var(--ink);padding:var(--space-2) var(--space-4);border:2px solid var(--ink);z-index:10}
.skip:focus{top:var(--space-2)}
a.pr-btn{text-decoration:none}
a.pr-btn--primary{color:var(--on-brand)}
a.pr-btn--secondary{color:var(--ink)}
a.pr-btn--ghost{color:var(--brand);text-decoration:underline}
.display-xl,.display-lg,.display-md{margin:0}
@media (max-width:640px){.display-xl{font-size:48px;line-height:48px}.display-lg{font-size:36px;line-height:40px}}

/* header and footer */
.site-header{border-bottom:2px solid var(--ink);background:var(--surface)}
.site-header__inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap;padding-top:var(--space-4);padding-bottom:var(--space-4)}
.wordmark{color:var(--ink);text-decoration:none;letter-spacing:.02em}
.wordmark:hover{color:var(--ink)}
.nav{list-style:none;padding:0;display:flex;align-items:center;gap:var(--space-5);flex-wrap:wrap}
.nav a:not(.pr-btn){color:var(--ink);font:500 13px/16px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;text-decoration:none;padding:var(--space-2) 0;border-bottom:2px solid transparent}
.nav a:not(.pr-btn):hover,.nav a[aria-current]{border-bottom-color:var(--brand)}
.nav__cta{padding:var(--space-2) var(--space-4);font-size:14px}
.site-footer{background:var(--navy);color:var(--on-navy);margin-top:var(--space-8);padding:var(--space-7) 0 var(--space-6)}
.site-footer__inner{display:flex;justify-content:space-between;gap:var(--space-5);flex-wrap:wrap;align-items:flex-start}
.site-footer a{color:var(--on-navy)}
.site-footer a:hover{color:var(--accent)}
.site-footer .nav a:not(.pr-btn){color:var(--on-navy)}
.site-footer__tag{margin-top:var(--space-1);opacity:1;color:var(--on-navy)}
.site-footer__fine{margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px solid var(--on-navy);max-width:70ch;color:var(--on-navy)}

/* sections */
.section{padding:var(--space-8) 0 0}
.eyebrow{display:block;color:var(--ink-muted);margin-bottom:var(--space-3)}
.hero{padding:var(--space-8) 0 0}
.hero h1{max-width:12ch}
.hero__lead{margin-top:var(--space-5);max-width:56ch}
.hero__actions{display:flex;gap:var(--space-4);flex-wrap:wrap;margin-top:var(--space-6)}
.fine{margin-top:var(--space-4);color:var(--ink-muted)}
.section__head{margin-bottom:var(--space-6);max-width:60ch}
.section__head p{margin-top:var(--space-3)}
.stepper-wrap{margin-top:var(--space-6)}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:var(--space-5)}
.pr-card__title a{color:var(--ink);text-decoration:none}
.pr-card__title a::after{content:"";position:absolute;inset:0}
.pr-card{position:relative}
.pr-card__title a:hover{text-decoration:underline;text-underline-offset:4px}
.pr-card:focus-within{outline:3px solid var(--focus);outline-offset:2px}
.pr-card__title a:focus-visible{outline:none}
.pr-step a{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);color:inherit;text-decoration:none}
.pr-step a:hover .pr-step__label{text-decoration:underline;text-underline-offset:3px}
.quotes{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:var(--space-5)}
.band{background:var(--navy);color:var(--on-navy);margin-top:var(--space-8);padding:var(--space-8) 0}
.band .display-lg{max-width:18ch}
.band p{margin-top:var(--space-3);max-width:52ch}
.band .pr-btn{margin-top:var(--space-5)}

/* tables */
.ruled{width:100%;border-collapse:collapse}
.ruled th,.ruled td{text-align:left;vertical-align:top;padding:var(--space-3) var(--space-4) var(--space-3) 0;border-bottom:1px solid var(--rule)}
.ruled thead th{border-bottom:2px solid var(--ink);color:var(--ink-muted)}
.ruled td:first-child,.ruled th:first-child{white-space:nowrap}
.ruled a{font-weight:600}
@media (max-width:640px){.ruled .col-notes{display:none}}

/* stage page */
.crumbs{margin-top:var(--space-6);color:var(--ink-muted)}
.crumbs a{color:var(--ink-muted)}
.stage-head{display:flex;align-items:flex-end;gap:var(--space-5);flex-wrap:wrap;margin-top:var(--space-4)}
.stage-head__letter{font:400 160px/140px var(--font-display);color:var(--brand)}
.stage-body{max-width:62ch;margin-top:var(--space-6);display:grid;gap:var(--space-5)}
.stage-nav{display:flex;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap;margin-top:var(--space-7)}

/* forms and prose */
.form{display:grid;gap:var(--space-5);max-width:520px;margin-top:var(--space-6)}
select.pr-field__input{appearance:auto}
.prose{max-width:62ch;display:grid;gap:var(--space-4);margin-top:var(--space-5)}
.prose ul{padding-left:var(--space-5);display:grid;gap:var(--space-2)}
