:root{--navy:#1B2B4B;--amber:#E39B2D;--white:#fff;--grey:#F5F6F8;--text:#222;--muted:#444}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font:400 1.0625rem/1.6 Inter,Arial,sans-serif;color:var(--text);background:var(--white);overflow-x:hidden}
h1,h2,h3{font-family:'Plus Jakarta Sans',Arial,sans-serif;font-weight:700;color:var(--navy);line-height:1.2;margin:0 0 .6em}
h1{font-size:clamp(1.9rem,7vw,3rem)}
h2{font-size:clamp(1.5rem,5vw,2.1rem)}
h3{font-size:1.2rem}
p{margin:0 0 1em}
a{color:var(--navy)}
img,svg{max-width:100%}
:focus-visible{outline:3px solid var(--navy);outline-offset:3px}
.dark :focus-visible{outline-color:var(--amber)}
.skip{position:absolute;left:-999px;top:0;background:var(--navy);color:#fff;padding:.75rem 1rem;z-index:10}
.skip:focus{left:0}
.wrap{max-width:68rem;margin:0 auto;padding:0 1rem}
section{padding:3rem 0}
.alt{background:var(--grey)}
.dark{background:var(--navy);color:#fff}
.dark h1,.dark h2,.dark h3{color:#fff}
.dark a{color:#fff}

header.top{background:#fff;border-bottom:1px solid #e1e4ea}
.top .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.25rem 1rem;padding-top:.5rem;padding-bottom:.5rem}
.logo{display:inline-flex;align-items:center;min-height:44px}
.logo img{display:block;height:44px;width:auto}
nav ul{display:flex;flex-wrap:wrap;gap:0 .25rem;list-style:none;margin:0;padding:0}
nav a{display:inline-flex;align-items:center;min-height:44px;padding:0 .6rem;font-weight:600;font-size:.95rem;text-decoration:none}
nav a:hover{text-decoration:underline}

.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.6rem 1.4rem;border-radius:.6rem;font-weight:700;text-decoration:none;border:2px solid transparent;font-family:inherit;font-size:1rem;cursor:pointer}
.btn-amber{background:var(--amber);color:var(--navy)!important}
.btn-amber:hover{filter:brightness(1.08)}
.btn-ghost{border-color:#fff;color:#fff!important}
.btn-ghost:hover{background:rgba(255,255,255,.12)}
.btn-navy{background:var(--navy);color:#fff!important}
.btns{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}

.hero{padding:3.5rem 0}
.eyebrow{font-weight:700;color:var(--amber);letter-spacing:.04em;text-transform:uppercase;font-size:.85rem;margin-bottom:.75rem}
.hero .sub{font-size:1.2rem;max-width:38rem}

.cards{display:grid;gap:1rem;grid-template-columns:1fr;padding:0;list-style:none;margin:1.5rem 0 0}
.card{background:#fff;border:1px solid #e1e4ea;border-radius:.8rem;padding:1.25rem;border-top:4px solid var(--amber)}
.card p{margin:0}
.price-box{background:#fff;border:2px solid var(--navy);border-radius:1rem;padding:1.5rem;max-width:40rem}
.price-big{font-family:'Plus Jakarta Sans',Arial,sans-serif;font-weight:700;color:var(--navy);font-size:2.4rem;line-height:1.1;margin:.25rem 0}
.tick-list{padding:0;list-style:none;margin:1rem 0 0}
.tick-list li{padding-left:1.7rem;position:relative;margin-bottom:.5rem}
.tick-list li::before{content:"";position:absolute;left:0;top:.35em;width:.9rem;height:.5rem;border-left:3px solid var(--navy);border-bottom:3px solid var(--navy);transform:rotate(-45deg)}

.steps{counter-reset:s;list-style:none;padding:0;margin:1.5rem 0 0;display:grid;gap:1rem}
.steps li{counter-increment:s;position:relative;padding-left:3.4rem;min-height:2.6rem}
.steps li::before{content:counter(s);position:absolute;left:0;top:0;width:2.5rem;height:2.5rem;border-radius:50%;background:var(--amber);color:var(--navy);font:700 1.2rem/2.5rem 'Plus Jakarta Sans',Arial,sans-serif;text-align:center}

details{background:#fff;border:1px solid #d5d9e1;border-radius:.6rem;margin-bottom:.75rem}
summary{cursor:pointer;min-height:48px;padding:.75rem 1rem;font-weight:600;color:var(--navy);display:flex;align-items:center}
details p{padding:0 1rem;margin:0 0 1rem}

form{display:grid;gap:1rem;max-width:34rem}
label{font-weight:600;display:block;margin-bottom:.25rem}
input,textarea{width:100%;min-height:48px;padding:.65rem .75rem;font:inherit;border:2px solid #8a93a6;border-radius:.5rem;color:var(--text);background:#fff}
textarea{min-height:8rem}
input:focus-visible,textarea:focus-visible{outline:3px solid var(--amber);outline-offset:1px;border-color:var(--navy)}
.small{font-size:.9rem}
footer{background:var(--navy);color:#fff;padding:2rem 0}
footer p{margin:0 0 .5rem}
footer a{color:#fff}

@media(min-width:640px){.cards{grid-template-columns:repeat(2,1fr)}.hero{padding:5rem 0}}
@media(min-width:960px){.cards.three{grid-template-columns:repeat(3,1fr)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
