*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:64px}
body{margin:0;font-family:"IBM Plex Sans",system-ui,sans-serif;color:#1c2433;background:#f6f3ec;line-height:1.65;font-size:17px}
h1,h2,h3{font-family:Fraunces,Georgia,serif;line-height:1.15;margin:0 0 .5em}
.wrap{max-width:1040px;margin:0 auto;padding:0 20px}
section{padding:72px 0}
section.wrap{padding:72px 20px}
.band{background:#fff;border-top:1px solid #e4dfd3;border-bottom:1px solid #e4dfd3}
.topbar{position:sticky;top:0;z-index:10;background:#0f1b2d;color:#fff;display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center;justify-content:space-between;padding:12px 20px}
.topbar a{color:#d8dfe9;text-decoration:none;font-size:14px}
.topbar a:hover{color:#fff}
.topbar .brand{font-family:Fraunces,serif;font-weight:700;font-size:17px;color:#fff}
.links{display:flex;flex-wrap:wrap;gap:6px 16px}
.hero{background:#0f1b2d;color:#fff;padding:80px 0 88px}
.hero h1{font-size:clamp(40px,7vw,76px)}
.mast{text-transform:uppercase;letter-spacing:.14em;font-size:13px;color:#c9a24a;margin-bottom:16px}
.lead{font-size:clamp(18px,2.2vw,22px);max-width:760px;color:#e6ebf2}
.lead.small{font-size:17px;color:#aab6c7}
.tags{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0}
.tags span{border:1px solid #c9a24a;color:#c9a24a;border-radius:999px;padding:6px 14px;font-size:14px}
.tags.dark span,.wrap>.tags span{color:#7a5a12;border-color:#c9a24a;background:#fbf5e6}
.hero .tags span{background:transparent;color:#c9a24a}
.sec-head{margin-bottom:24px}
.sec-head .num{font-family:Fraunces,serif;color:#c9a24a;font-size:20px;margin-right:12px}
.sec-head .kicker{text-transform:uppercase;letter-spacing:.12em;font-size:13px;color:#6b7686}
.sec-head h2{font-size:clamp(28px,4vw,40px);margin-top:8px}
section .sec-head:not(:first-child){margin-top:64px}
.cols{display:grid;gap:18px;margin:24px 0}
@media(min-width:720px){.cols.two{grid-template-columns:1fr 1fr}.cols.three{grid-template-columns:repeat(3,1fr)}}
.card{background:#fff;border:1px solid #e4dfd3;border-top:3px solid #c9a24a;border-radius:8px;padding:22px}
.band .card{background:#f9f7f2}
.card p,.card ul{margin:0}
.card ul{padding-left:18px}
blockquote{margin:32px 0;padding:6px 0 6px 22px;border-left:4px solid #c9a24a;font-family:Fraunces,serif;font-size:clamp(20px,2.6vw,26px);line-height:1.4}
.note{font-size:15px;color:#5b6575;background:#efe9db;padding:14px 18px;border-radius:6px}
.steps{display:grid;gap:12px;margin:24px 0}
@media(min-width:720px){.steps{grid-template-columns:repeat(3,1fr)}}
.steps div{background:#fff;border:1px solid #e4dfd3;border-radius:8px;padding:16px;display:flex;gap:12px;align-items:center;font-weight:500}
.steps b{background:#0f1b2d;color:#c9a24a;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;flex:none}
.feature{background:#0f1b2d;color:#dfe5ee;border-radius:12px;padding:32px;margin:40px 0}
.feature .kicker{text-transform:uppercase;letter-spacing:.12em;font-size:13px;color:#9aa6b8}
.feature h3{font-size:clamp(28px,4vw,40px);margin-top:8px}
.kw{color:#c9a24a;font-weight:600;text-decoration:underline;text-underline-offset:3px}
.kw:hover{color:#e3bf68}
.sub-h{font-size:24px;margin-top:40px}
.checks{padding:0;list-style:none;counter-reset:c;display:grid;gap:10px}
.checks li{counter-increment:c;background:#fff;border:1px solid #e4dfd3;border-radius:8px;padding:14px 16px 14px 56px;position:relative}
.checks li::before{content:counter(c);position:absolute;left:16px;top:14px;font-family:Fraunces,serif;color:#c9a24a;font-weight:700}
.checks b{display:block}
.outlook{background:#0f1b2d;color:#dfe5ee}
.outlook h2{color:#fff;font-size:clamp(28px,4.5vw,46px);max-width:820px}
.foot{background:#0a1320;color:#8592a5;font-size:14px;padding:24px 0}
