:root{--navy:#0D1B3E;--mid:#173E6D;--gold:#C4A44B;--ink:#1F252B;--muted:#5A6472;
--panel:#F5F6F9;--rule:#D8DCE4;--card:#FFFFFF;--onnavy:#C9D2E0;--faint:#93A3BE}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--ink);
font:400 17px/1.7 Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}
.wrap{max-width:1180px;margin:0 auto;padding:0 16px}
.rd{max-width:760px;margin:0 auto;padding:0 16px}
a{color:var(--mid)}
header{position:sticky;top:0;z-index:40;background:#fff;border-bottom:1px solid var(--rule)}
header .wrap{display:flex;align-items:center;justify-content:space-between;gap:14px;
min-height:64px;padding-top:8px;padding-bottom:8px}
.logocard{display:inline-flex;background:#fff;padding:4px;flex-shrink:0}
.logocard img{height:52px;width:auto;display:block}
.backtop{display:inline-flex;align-items:center;gap:8px;background:var(--gold);color:#25200C;
text-decoration:none;font:700 13.5px/1 Helvetica,Arial,sans-serif;padding:13px 18px;white-space:nowrap}
.backtop:hover{background:#B08F32}
.hero{background:var(--navy);color:#fff;padding:52px 0 46px}
.eyebrow{display:inline-block;font:700 12.5px/1.25 Helvetica,Arial,sans-serif;letter-spacing:2.6px;
color:var(--gold);border:2px solid var(--gold);padding:10px 16px;margin-bottom:22px}
h1{font:700 clamp(28px,4.6vw,46px)/1.16 Helvetica,Arial,sans-serif;color:#fff;margin:0 0 20px;
letter-spacing:-.3px;text-wrap:balance}
.deck{font-size:clamp(16px,2vw,19px);line-height:1.6;color:var(--onnavy);margin:0 0 24px;
border-left:4px solid var(--gold);padding-left:18px;text-wrap:pretty}
.byline{font:700 12px/1.4 Helvetica,Arial,sans-serif;letter-spacing:1.8px;color:var(--faint)}
main{padding:46px 0 10px}
main h2{font:700 clamp(21px,2.8vw,28px)/1.28 Helvetica,Arial,sans-serif;color:var(--ink);
margin:44px 0 6px;letter-spacing:-.2px;text-wrap:balance}
main h2::after{content:"";display:block;width:64px;height:3px;background:var(--gold);margin-top:13px}
main h3{font:700 clamp(17px,2.1vw,20px)/1.35 Helvetica,Arial,sans-serif;color:var(--ink);margin:30px 0 8px}
main p{margin:0 0 20px;text-wrap:pretty}
main ul{margin:0 0 20px;padding-left:22px}
main ol{margin:0 0 20px;padding-left:24px}
main li{margin-bottom:9px}
main strong{color:var(--ink)}
blockquote{margin:30px 0;padding:22px 24px;background:var(--panel);border-left:5px solid var(--gold)}
blockquote p{margin:0 0 10px;font-size:17.5px;line-height:1.62}
blockquote cite{display:block;font-style:normal;font:700 13.5px/1.5 Helvetica,Arial,sans-serif;color:var(--muted)}
.callout{margin:24px 0;padding:20px 22px;background:var(--card);border:1px solid var(--rule);border-left:4px solid var(--gold)}
.callout p{margin:0}
.callout ol,.callout ul{margin:10px 0 0;padding-left:22px}
.callout li{margin-bottom:8px}
.callout li:last-child{margin-bottom:0}
.calloutlabel{font:700 13px/1.3 Helvetica,Arial,sans-serif;letter-spacing:1.6px;
text-transform:uppercase;color:var(--mid);margin-bottom:8px}
.steps{margin:24px 0}
.step{padding:16px 0 16px 20px;border-left:3px solid var(--rule);margin-bottom:12px}
.numstep{display:grid;grid-template-columns:56px 1fr;gap:16px;margin:26px 0;
padding:20px 22px;background:var(--panel);border-left:4px solid var(--gold)}
.stepnum{font:700 26px/1 Helvetica,Arial,sans-serif;color:var(--gold)}
.stepbody h3{margin-top:0}
.stepbody p:last-child{margin-bottom:0}
.phase{display:grid;grid-template-columns:64px 1fr;gap:20px;align-items:center;
background:var(--mid);border:1px solid rgba(196,164,75,.35);padding:26px 28px;margin:34px 0}
.phasenum{width:56px;height:56px;border:2px solid var(--gold);color:var(--gold);
display:flex;align-items:center;justify-content:center;
font:700 24px/1 Helvetica,Arial,sans-serif}
.phasedays{font:700 12.5px/1.3 Helvetica,Arial,sans-serif;letter-spacing:2px;
color:var(--gold);text-transform:uppercase;margin-bottom:6px}
.phasetitle{font:700 clamp(19px,2.4vw,25px)/1.2 Helvetica,Arial,sans-serif;
color:#fff;letter-spacing:.4px;text-transform:uppercase}
@media(max-width:620px){.phase{grid-template-columns:48px 1fr;gap:14px;padding:20px}
 .phasenum{width:44px;height:44px;font-size:19px}}
.backband{background:var(--navy);color:#fff;margin-top:52px;padding:44px 0}
.backband .kicker{font:700 11px/1 Helvetica,Arial,sans-serif;letter-spacing:2.2px;color:var(--gold);margin-bottom:12px}
.backband h2{font:700 clamp(20px,2.6vw,27px)/1.3 Helvetica,Arial,sans-serif;color:#fff;margin:0 0 10px}
.backband h2::after{display:none}
.backband p{color:var(--onnavy);margin:0 0 24px;max-width:640px}
.acts{display:flex;flex-wrap:wrap;gap:12px}
.btn-gold{background:var(--gold);color:#25200C;text-decoration:none;
font:700 16px/1 Helvetica,Arial,sans-serif;padding:17px 26px;display:inline-block}
.btn-gold:hover{background:#B08F32}
.btn-ghost{border:1.5px solid #7A89A6;color:#fff;text-decoration:none;
font:700 16px/1 Helvetica,Arial,sans-serif;padding:16px 26px;display:inline-block}
.btn-ghost:hover{opacity:.9}
.sig{margin:44px 0 0;padding:22px 0 0;border-top:3px solid var(--gold)}
.signame{font:700 clamp(19px,2.4vw,23px)/1.25 Helvetica,Arial,sans-serif;color:var(--ink)}
.sigrole{font:400 14.5px/1.5 Helvetica,Arial,sans-serif;color:var(--muted);margin-top:5px}
.refs{margin:40px 0 0;padding:24px 26px;background:var(--panel);border-left:4px solid var(--rule)}
.refhead{font:700 11.5px/1 Helvetica,Arial,sans-serif;letter-spacing:2.2px;
text-transform:uppercase;color:var(--muted);margin-bottom:14px}
.refs ol{margin:0;padding-left:20px}
.refs li{font-size:14.5px;line-height:1.55;color:var(--ink);margin-bottom:10px}
.refs li:last-child{margin-bottom:0}
.author{margin:40px 0 0;padding:22px 24px;background:var(--panel);border-left:4px solid var(--gold);
font-size:15px;line-height:1.65;color:var(--ink)}
footer{background:var(--navy);color:var(--faint);padding:34px 0;font-size:13.5px}
footer a{color:var(--gold);text-decoration:none}
footer .wrap{display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;align-items:center}
@media(max-width:620px){
 header .wrap{min-height:56px}
 .logocard img{height:42px}
 .backtop{padding:11px 13px;font-size:12px}
 .numstep{grid-template-columns:1fr;gap:6px}
}
