
:root{--brand:#1b3a5b;--accent:#c8102e;--ink:#13202b;--muted:#5b6b78;--bg:#f6f8fa;--card:#fff;--line:#e4e9ee}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font:16px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:var(--bg)}
h1,h2,h3{line-height:1.2;color:var(--ink)}
h1{font-size:clamp(1.7rem,4vw,2.6rem);font-weight:800}
h2{font-size:clamp(1.3rem,3vw,1.9rem);margin-bottom:.6rem}
h3{font-size:1.15rem;margin:1.2rem 0 .4rem}
p{margin:.5rem 0;color:var(--ink)}
a{color:var(--brand)}
section{padding:clamp(1.4rem,4vw,3rem) clamp(1rem,5vw,4rem)}
.site-head{display:flex;justify-content:space-between;align-items:center;padding:.7rem clamp(1rem,5vw,4rem);background:var(--brand);position:sticky;top:0;z-index:50}
.brand{color:#fff;font-weight:800;text-decoration:none;font-size:1.05rem;display:flex;align-items:center;gap:.5rem}
.brand-mark{background:var(--accent);color:#fff;border-radius:8px;padding:.25rem .5rem;font-size:.85rem;letter-spacing:.5px}
.logo{height:34px;width:34px;background:#fff;border-radius:9px;padding:3px;vertical-align:middle;flex:0 0 auto}
body[data-audience="senior"] .logo{height:40px;width:40px}
.callbtn{background:var(--accent);color:#fff;text-decoration:none;font-weight:700;padding:.5rem .9rem;border-radius:8px;white-space:nowrap}
.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(1.2rem,4vw,3rem);align-items:start;background:linear-gradient(180deg,#fff,var(--bg))}
.hero-copy .sub{font-size:1.1rem;color:var(--muted);margin:1rem 0 1.4rem;max-width:38ch}
.props{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:.7rem;margin:1rem 0}
.props li{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:.7rem .8rem;display:flex;flex-direction:column}
.props b{color:var(--brand);font-size:.98rem}
.props span{color:var(--muted);font-size:.85rem}
.trust{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1rem;font-size:.82rem;color:var(--muted)}
.trust span{background:#fff;border:1px solid var(--line);border-radius:20px;padding:.25rem .7rem}
.card{background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:0 10px 30px rgba(20,40,60,.08)}
.funnel{padding:1.3rem}
.funnel .f-progress{height:6px;background:var(--line);border-radius:6px;overflow:hidden;margin-bottom:1rem}
.funnel .f-bar{height:100%;background:var(--accent);width:0;transition:width .3s}
.funnel h3{margin:.2rem 0 1rem;font-size:1.2rem}
.funnel .opt{display:block;width:100%;text-align:left;padding:.85rem 1rem;margin:.45rem 0;border:1.5px solid var(--line);border-radius:11px;background:#fff;font-size:1rem;cursor:pointer;transition:.15s}
.funnel .opt:hover{border-color:var(--brand);background:#f3f7fb}
.funnel .opt.sel{border-color:var(--accent);background:#fff5f5}
.funnel input{width:100%;padding:.8rem 1rem;border:1.5px solid var(--line);border-radius:11px;font-size:1rem;margin:.4rem 0}
.funnel .row{display:flex;gap:.6rem}
.funnel .consent{font-size:.74rem;color:var(--muted);margin:.6rem 0;display:flex;gap:.5rem;align-items:flex-start}
.btn-primary{background:var(--accent);color:#fff;border:0;border-radius:11px;padding:.9rem 1.2rem;font-size:1.05rem;font-weight:700;cursor:pointer;width:100%}
.btn-primary.big{width:auto;padding:1rem 2rem}
.f-back{background:none;border:0;color:var(--muted);cursor:pointer;font-size:.9rem;margin-top:.6rem}
.f-done{text-align:center;padding:1rem}
.f-done .check{font-size:2.4rem}
.funnel-wrap{position:relative}
.funnel.card{border:2px solid var(--accent);box-shadow:0 16px 40px rgba(200,16,46,.18)}
.f-badge{display:inline-block;background:var(--accent);color:#fff;font-weight:800;font-size:.72rem;letter-spacing:.08em;padding:.3rem .7rem;border-radius:20px;margin-bottom:.7rem}
.f-badge.sm{font-size:.66rem;margin-bottom:.6rem}
.f-title{font-size:1.45rem;font-weight:800;margin:.2rem 0 .4rem;color:var(--ink)}
.f-sub{color:var(--muted);font-size:1rem;margin-bottom:.8rem}
.f-bullets{list-style:none;margin:.6rem 0 1rem;padding:0}
.f-bullets li{padding:.35rem 0 .35rem 1.7rem;position:relative;font-size:.98rem}
.f-bullets li:before{content:"✓";position:absolute;left:0;color:#1a9c54;font-weight:800}
.btn-primary.big-cta{font-size:1.15rem;padding:1.05rem 1.2rem}
.f-micro{text-align:center;color:var(--muted);font-size:.78rem;margin-top:.7rem}
.funnel-call{display:block;text-align:center;margin-top:.7rem;font-weight:700;color:var(--brand);text-decoration:none;font-size:1rem}
.funnel-call:hover{text-decoration:underline}
.slots{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-top:.6rem}
.slot{padding:.7rem;border:1.5px solid var(--brand);background:#fff;color:var(--brand);border-radius:10px;font-weight:700;cursor:pointer;font-size:.92rem}
.slot:hover{background:var(--brand);color:#fff}
.slot.taken{border-color:var(--line);color:#aab4bd;background:#f3f5f7;cursor:not-allowed;text-decoration:line-through;font-weight:500}
.calc-section{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.calc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.2rem;margin-top:1rem}
.calc{background:var(--bg);border:1px solid var(--line);border-radius:14px;padding:1.2rem}
.calc h3{margin-top:0;color:var(--brand)}
.calc label{display:block;font-size:.85rem;color:var(--muted);margin-top:.7rem}
.calc input,.calc select{width:100%;padding:.6rem .7rem;border:1.5px solid var(--line);border-radius:9px;font-size:1rem;margin-top:.2rem}
.calc .result{margin-top:1rem;padding:1rem;background:#fff;border:1px dashed var(--brand);border-radius:11px}
.calc .result .big{font-size:1.7rem;font-weight:800;color:var(--accent)}
.content,.faq{max-width:880px;margin:0 auto}
.content ul{margin:.5rem 0 .5rem 1.2rem}
.article-hero{width:100%;height:auto;border-radius:14px;margin:0 0 1rem;display:block}
.content .lead{font-size:1.15rem;color:var(--ink);font-weight:500}
.guide-cta{background:#fff;border:1.5px solid var(--accent);border-radius:12px;padding:.9rem 1.1rem;margin:1.2rem 0}
.citygrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.5rem;margin-top:.8rem}
.citygrid a{background:#fff;border:1px solid var(--line);border-radius:9px;padding:.55rem .7rem;text-decoration:none;font-size:.92rem;color:var(--brand)}
.citygrid a:hover{border-color:var(--brand)}
.faq details{background:#fff;border:1px solid var(--line);border-radius:11px;padding:.4rem 1rem;margin:.5rem 0}
.faq summary{cursor:pointer;font-weight:600;padding:.5rem 0}
.rate-section{padding-top:1rem;padding-bottom:1rem}
.ratewidget{max-width:880px;margin:0 auto;padding:1.1rem 1.3rem}
.rate-head{font-weight:800;color:var(--brand);font-size:1.1rem;margin-bottom:.5rem}
.rate-head small{color:var(--muted);font-weight:600;font-size:.8rem}
.rate-row{display:flex;align-items:baseline;justify-content:space-between;gap:.6rem;padding:.5rem 0;border-bottom:1px solid var(--line);flex-wrap:wrap}
.rate-row .rl{flex:1 1 50%;color:var(--ink)}
.rate-row .rv{font-size:1.35rem;font-weight:800;color:var(--accent)}
.rate-row .ra{color:var(--muted);font-size:.82rem;flex-basis:100%;text-align:right}
.rate-compare{margin-top:.6rem;font-size:.9rem;color:var(--ink)}
.rate-disc{margin-top:.6rem;font-size:.72rem;color:var(--muted);line-height:1.4}
.cta-band{background:var(--brand);color:#fff;text-align:center}
.cta-band h2{color:#fff}.cta-band p{color:#dde6ee}
.cta-band .btn-primary{margin-top:1rem}
.site-foot{background:#0d1b27;color:#9fb1c0;font-size:.82rem;padding:2rem clamp(1rem,5vw,4rem)}
.site-foot a{color:#cfe0ee}.legal{color:#7d92a3;margin-top:.5rem;font-size:.76rem}
@media(max-width:820px){.hero{grid-template-columns:1fr}.props{grid-template-columns:1fr 1fr}.funnel-wrap{order:-1}}

/* ===== Senior-friendly mode (older/veteran audience): larger, higher contrast ===== */
body[data-audience="senior"]{font-size:18.5px;--muted:#41525f}
body[data-audience="senior"] h1{font-size:clamp(2rem,4.6vw,3rem)}
body[data-audience="senior"] .hero-copy .sub{font-size:1.3rem;max-width:42ch}
body[data-audience="senior"] .callbtn{font-size:1.15rem;padding:.7rem 1.15rem}
body[data-audience="senior"] .brand{font-size:1.2rem}
body[data-audience="senior"] .props b{font-size:1.08rem}
body[data-audience="senior"] .props span{font-size:.95rem;color:#41525f}
body[data-audience="senior"] .f-title{font-size:1.7rem}
body[data-audience="senior"] .f-sub{font-size:1.15rem}
body[data-audience="senior"] .f-bullets li{font-size:1.12rem;padding:.5rem 0 .5rem 1.9rem}
body[data-audience="senior"] .funnel .opt{font-size:1.15rem;padding:1.05rem 1.1rem;border-width:2px}
body[data-audience="senior"] .funnel input{font-size:1.15rem;padding:1rem}
body[data-audience="senior"] .btn-primary{font-size:1.25rem;padding:1.1rem 1.3rem}
body[data-audience="senior"] .btn-primary.big-cta{font-size:1.35rem;padding:1.2rem}
body[data-audience="senior"] .funnel-call{font-size:1.2rem;padding:.6rem;border:2px solid var(--brand);border-radius:11px;margin-top:.9rem}
body[data-audience="senior"] .f-micro{font-size:.92rem}
body[data-audience="senior"] .calc label{font-size:.98rem}
body[data-audience="senior"] .calc input,body[data-audience="senior"] .calc select{font-size:1.15rem;padding:.8rem}
body[data-audience="senior"] .faq summary{font-size:1.1rem}
body[data-audience="senior"] p,body[data-audience="senior"] .content{font-size:1.08rem;line-height:1.7}
