:root{--navy:#1F3A5F;--navy-d:#152a45;--gold:#C9A227;--gold-l:#f6efd6;--ink:#1d2430;--muted:#4a5566;--bg:#f7f8fa;--r:10px}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font:1rem/1.6 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);background:#fff}
img{max-width:100%;height:auto}a{color:var(--navy)}
.skip{position:absolute;left:-999px;top:0;background:var(--gold);color:#000;padding:.5rem 1rem;z-index:10}.skip:focus{left:0}
.wrap{max-width:1120px;margin:0 auto;padding:0 1.25rem}
header.site{background:#fff;border-bottom:3px solid var(--gold);position:sticky;top:0;z-index:5}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:.6rem;padding-bottom:.6rem}
.brand img{display:block;width:180px}
nav ul{display:none;list-style:none;margin:0;padding:0;gap:1.25rem}
nav a{text-decoration:none;font-weight:600;color:var(--navy)}nav a:hover{color:var(--gold)}
.btn{display:inline-block;background:var(--gold);color:#13233a;font-weight:700;text-decoration:none;padding:.8rem 1.3rem;border-radius:var(--r);border:2px solid var(--gold)}
.btn:hover,.btn:focus{background:#b38f1f;border-color:#b38f1f}
.btn.ghost{background:transparent;color:#fff;border-color:#fff}.btn.ghost:hover{background:#fff;color:var(--navy)}
.btn.sm{padding:.5rem .9rem;font-size:.9rem}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.hero{background:linear-gradient(135deg,var(--navy) 0%,var(--navy-d) 100%);color:#fff;padding:3.5rem 0 3rem}
.hero .eyebrow{color:var(--gold);font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:.85rem;margin:0}
.hero h1{font-size:2.2rem;font-size:clamp(1.9rem,5vw,3rem);line-height:1.15;margin:.5rem 0 1rem}
.hero p.lead{font-size:1.1rem;max-width:40rem;color:#e3e9f1}
.hero .ctas{display:flex;flex-wrap:wrap;gap:.75rem;margin:1.5rem 0}
.offer{background:var(--gold-l);border-left:5px solid var(--gold);color:var(--ink);padding:.8rem 1rem;border-radius:6px;max-width:40rem}
section{padding:3.5rem 0}section.alt{background:var(--bg)}
h2{color:var(--navy);font-size:1.9rem;font-size:clamp(1.6rem,3.5vw,2.2rem);margin:0 0 .5rem}
h2+p.sub{color:var(--muted);margin-top:0;max-width:44rem}
h3{color:var(--navy);margin:.2rem 0 .5rem}
.grid{display:grid;gap:1.25rem;grid-template-columns:1fr}
.card{background:#fff;border:1px solid #dde2ea;border-radius:var(--r);padding:1.5rem;display:flex;flex-direction:column}
.card.feat{border:2px solid var(--gold);box-shadow:0 6px 20px rgba(31,58,95,.12);position:relative}
.tag{position:absolute;top:-.8rem;left:1.5rem;background:var(--gold);color:#13233a;font-size:.8rem;font-weight:700;padding:.15rem .6rem;border-radius:20px}
.price{font-size:2.2rem;font-weight:800;color:var(--navy);margin:.2rem 0}
.best{color:var(--muted);font-size:.95rem;margin:0 0 .75rem}
.card ul{padding-left:1.2rem;margin:.25rem 0 1.25rem;flex:1}.card li{margin:.3rem 0}
.card .btn{text-align:center}
.note{font-size:.95rem;color:var(--muted)}
table{width:100%;border-collapse:collapse;background:#fff;border-radius:var(--r);overflow:hidden;border:1px solid #dde2ea}
th,td{text-align:left;padding:.7rem 1rem;border-bottom:1px solid #e7ebf0}th{background:var(--navy);color:#fff}td:last-child,th:last-child{text-align:right;white-space:nowrap}
.discounts{display:grid;gap:1rem;margin-top:1.5rem}
.pill{background:#fff;border:1px solid #dde2ea;border-left:5px solid var(--gold);border-radius:8px;padding:1rem}
ol.steps{list-style:none;padding:0;margin:1.5rem 0 0;counter-reset:s;display:grid;gap:1rem}
ol.steps li{counter-increment:s;background:#fff;border:1px solid #dde2ea;border-radius:var(--r);padding:1.25rem 1.25rem 1.25rem 4rem;position:relative}
ol.steps li::before{content:counter(s);position:absolute;left:1.1rem;top:1.1rem;width:2.1rem;height:2.1rem;border-radius:50%;background:var(--navy);color:var(--gold);font-weight:800;display:grid;place-items:center}
.placeholder{background:#fff7d6;border:1px dashed var(--gold);padding:.05rem .35rem;border-radius:4px;font-style:italic}
details{background:#fff;border:1px solid #dde2ea;border-radius:8px;margin:.6rem 0;padding:0 1rem}
summary{cursor:pointer;font-weight:700;color:var(--navy);padding:1rem 0;list-style-position:outside}
details p{margin:0 0 1rem}
.contact{background:var(--navy);color:#fff}.contact h2{color:#fff}.contact a:not(.btn){color:var(--gold)}
.contact dl{display:grid;grid-template-columns:auto 1fr;gap:.5rem 1rem;margin:1.5rem 0}.contact dt{font-weight:700;color:var(--gold)}.contact dd{margin:0}
footer{background:var(--navy-d);color:#c9d3e0;font-size:.9rem;padding:2rem 0}footer a{color:#fff}
.disclaimer{border-top:1px solid #2f4a70;margin-top:1rem;padding-top:1rem}
@media(min-width:720px){.grid.c3{grid-template-columns:repeat(3,1fr)}.grid.c2{grid-template-columns:repeat(2,1fr)}.discounts{grid-template-columns:1fr 1fr}ol.steps{grid-template-columns:1fr 1fr}.brand img{width:220px}}
@media(min-width:980px){nav ul{display:flex;align-items:center}.hero{padding:5rem 0 4.5rem}ol.steps{grid-template-columns:repeat(4,1fr)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.headshot{display:block;width:240px;max-width:60vw;height:auto;aspect-ratio:3/4;object-fit:cover;border-radius:12px;border:3px solid #C9A227;margin:0 0 1rem;box-shadow:0 4px 14px rgba(31,58,95,.18)}
