:root{--ink:#14233b;--muted:#556274;--blue:#1d5d87;--teal:#238c83;--cream:#f6f2e9;--line:#dce3e8;--shadow:0 18px 50px #14233b1f}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;overflow-x:hidden;font:16px/1.65 system-ui,sans-serif;color:var(--ink)}
a{color:var(--blue)}
a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #f0a202;outline-offset:3px}
.skip-link{position:fixed;top:.5rem;left:.5rem;z-index:20;transform:translateY(-160%);background:white;padding:.7rem 1rem;border-radius:.4rem}
.skip-link:focus{transform:none}
.stage{text-align:center;padding:.6rem 1rem;background:#fff3cd;color:#664d03;font-size:.875rem;font-weight:650}
header{position:relative;max-width:1180px;margin:auto;padding:1.2rem 1.5rem;display:flex;justify-content:space-between;align-items:center;gap:1rem}
.brand{font-weight:800;font-size:1.2rem;text-decoration:none}
nav{display:flex;gap:1.25rem;align-items:center}
nav a{text-decoration:none;color:var(--muted);padding:.35rem 0}
.menu{display:none;min-height:44px;padding:.55rem .8rem;background:white;border:1px solid var(--line);border-radius:.45rem;color:var(--ink);font:inherit;font-weight:700}
.hero{max-width:1180px;margin:auto;padding:5rem 1.5rem 6rem;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(250px,.7fr);gap:4rem;align-items:center;background:radial-gradient(circle at 80% 20%,#d7f1ed 0,transparent 35%)}
h1,h2,h3{line-height:1.12;margin-top:0}
h1{font-size:clamp(2.65rem,6vw,5.25rem);letter-spacing:-.05em}
h2{font-size:clamp(2rem,4vw,3.35rem);letter-spacing:-.035em}
.lead{font-size:1.2rem;color:var(--muted)}
.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-weight:800;font-size:.8rem;color:var(--teal)}
.actions{display:flex;gap:1rem;align-items:center;margin:2rem 0}
.button{display:inline-block;background:var(--blue);color:white;text-decoration:none;padding:.9rem 1.2rem;border-radius:.55rem;font-weight:750;text-align:center}
.hero aside,.card{background:var(--ink);color:white;padding:2rem;border-radius:1.2rem;box-shadow:var(--shadow)}
.hero aside strong,.card strong{display:block;font-size:4rem;line-height:1;margin:.6rem 0}
.section{padding:5rem max(1.5rem,calc((100vw - 1180px)/2))}
.intro,.capture{background:var(--cream)}
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.grid article{border:1px solid var(--line);padding:1.5rem;border-radius:.8rem}
.process ol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;list-style-position:inside;padding:0}
.process li{padding:1.5rem;background:#f7fafb;border-left:4px solid var(--teal)}
.offer,.capture{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);gap:3rem;align-items:center}
.offer{background:#eaf4f5}
.guide-promo{display:flex;justify-content:space-between;align-items:center;gap:2rem;background:#f7fafb;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.guide-promo>div{max-width:800px}.guide-promo .button{flex:0 0 auto}
.card .button{background:var(--teal);margin:1rem 0}
.card small{display:block}
.capture form{background:white;padding:2rem;border-radius:1rem}
.capture label{display:block;font-weight:700}
.formrow{display:flex;gap:.5rem}
.formrow input{min-width:0;flex:1;padding:.9rem;border:1px solid #a9b5bf;border-radius:.5rem;font:inherit}
.formrow button{min-height:44px;padding:.9rem;border:0;cursor:pointer}
.formrow input:disabled,.formrow button:disabled{cursor:not-allowed;opacity:.62}
.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.consent{display:flex!important;align-items:flex-start;gap:.65rem;margin-top:1rem;font-weight:500!important;color:var(--muted);font-size:.92rem;line-height:1.45}
.consent input{flex:0 0 auto;width:1.1rem;height:1.1rem;margin-top:.15rem}
.form-status{min-height:1.6rem;font-weight:700}
.form-status.success{color:#16705e}.form-status.error{color:#a32a2a}
.checklist-result{margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid var(--line)}
.checklist-result ol{padding-left:1.25rem}.checklist-result li{margin:.7rem 0}
.button.secondary{border:1px solid var(--blue);background:white;color:var(--blue);cursor:pointer}
.contact{border-top:1px solid var(--line)}
.policy-links{display:flex;flex-wrap:wrap;gap:1rem}
.legal-page{max-width:860px;margin:auto;padding:4rem 1.5rem 6rem}
.legal-page h1{font-size:clamp(2.4rem,6vw,4.5rem)}
.legal-page h2{font-size:1.55rem;margin-top:2.5rem}
.legal-page .effective{color:var(--muted);font-weight:650}
.legal-page .back{display:inline-block;margin-bottom:2rem}
.legal-page address{font-style:normal}
.guide-page{max-width:920px;margin:auto;padding:2rem 1.5rem 6rem}
.guide-page header{padding:1rem 0 2.5rem}.guide-page .brand{margin-right:auto}
.guide-page article{font-size:1.08rem}.guide-page article>p,.guide-page article>ul,.guide-page article>ol{max-width:760px}
.guide-page h1{font-size:clamp(2.5rem,6vw,4.8rem);margin-top:2rem}
.guide-page h2{font-size:clamp(1.7rem,4vw,2.5rem);margin-top:3.5rem}
.guide-page h3{font-size:1.25rem;margin-top:2rem}
.guide-page li{margin:.6rem 0}.guide-meta{color:var(--muted);font-weight:650}
.example{max-width:760px;padding:1.3rem 1.5rem;border-left:4px solid var(--teal);background:#f7fafb;border-radius:0 .65rem .65rem 0}
.guide-cta{margin-top:3.5rem;padding:2rem;background:var(--ink);color:white;border-radius:1rem}.guide-cta .button{margin:.5rem .5rem .5rem 0}.guide-cta .secondary{background:white;color:var(--blue)}.guide-cta small{display:block;margin-top:.5rem;color:#dce3e8}
.final{text-align:center;background:var(--ink);color:white}
footer{padding:3rem 1.5rem;text-align:center;display:grid;color:var(--muted)}
@media(max-width:900px){nav{gap:.75rem;font-size:.92rem}}
@media(max-width:760px){.menu{display:block}nav{display:none;position:absolute;z-index:15;top:calc(100% - .25rem);left:1rem;right:1rem;background:white;padding:1rem;box-shadow:var(--shadow);border:1px solid var(--line);border-radius:.7rem;flex-direction:column;align-items:stretch}nav.open{display:flex}nav a{min-height:44px;padding:.55rem}.hero{padding-top:3.5rem}.hero,.offer,.capture{grid-template-columns:1fr;gap:2rem}.guide-promo{align-items:flex-start;flex-direction:column}.grid,.process ol{grid-template-columns:1fr}.formrow{flex-direction:column}.actions{align-items:stretch;flex-direction:column}.actions a{text-align:center}}
@media(max-width:420px){h1{font-size:2.45rem}.hero,.section{padding-left:1.1rem;padding-right:1.1rem}.hero aside,.card,.capture form{padding:1.4rem}}
