:root{
  --ink:#0f2a3d; --ink-soft:#3c5466; --paper:#ffffff; --mist:#eef4f3;
  --brand:#036464; --sign:#0b6b4a; --sign-text:#ffffff;
  --cta:#f2b632; --cta-text:#0f2a3d; --line:#d3e0de; --hero-bg:#0f2a3d; --hero-text:#ffffff; --hero-soft:#b9cbd6;
  --field:#ffffff; --field-text:#0f2a3d;
  color-scheme: light;
}
@media (prefers-color-scheme: dark){
  :root{
    --ink:#e7eef2; --ink-soft:#a9bcc8; --paper:#0d1820; --mist:#13232d;
    --brand:#4fb3a9; --line:#26404d; --hero-bg:#081219; --field:#13232d; --field-text:#e7eef2;
    color-scheme: dark;
  }
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth; scroll-padding-top:80px}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}
body{margin:0; background:var(--paper); color:var(--ink); font:400 1.0625rem/1.6 "Source Sans 3", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}
h1,h2,h3{font-family:"Bricolage Grotesque", "Arial Narrow", system-ui, sans-serif; line-height:1.1; margin:0 0 .5em; letter-spacing:-.01em}
h2{font-size:clamp(1.75rem, 3.5vw, 2.5rem); font-weight:800}
h3{font-size:1.25rem; font-weight:600}
p{margin:0 0 1em}
a{color:var(--brand)}
:focus-visible{outline:3px solid var(--cta); outline-offset:2px}
.wrap{max-width:1120px; margin:0 auto; padding:0 1.25rem}
.skip{position:absolute; left:-999px} .skip:focus{left:1rem; top:1rem; background:var(--cta); color:var(--cta-text); padding:.5rem 1rem; z-index:50}

.top{position:sticky; top:0; z-index:20; background:var(--hero-bg); color:var(--hero-text)}
.top .wrap{display:flex; align-items:center; gap:1.5rem; min-height:64px; position:relative}
.logo{display:flex; align-items:center; gap:.6rem; color:inherit; text-decoration:none; font-family:"Bricolage Grotesque", system-ui, sans-serif; font-weight:800; font-size:1.15rem}
.logo .plate{background:var(--sign); color:var(--sign-text); border:2px solid #fff; border-radius:5px; padding:.1rem .5rem; font-size:.95rem}
nav ul{display:flex; gap:1.25rem; list-style:none; margin:0; padding:0}
nav a{color:var(--hero-soft); text-decoration:none; font-weight:600; padding:.3rem 0; border-bottom:2px solid transparent}
nav a:hover{color:#fff}
nav a[aria-current="page"]{color:#fff; border-bottom-color:var(--cta)}
.call{margin-left:auto; background:var(--cta); color:var(--cta-text); text-decoration:none; font-weight:600; padding:.55rem 1rem; border-radius:6px; white-space:nowrap}
.menu-btn{display:none; background:none; border:2px solid var(--hero-soft); color:#fff; border-radius:6px; padding:.4rem .7rem; font:600 .95rem "Source Sans 3", system-ui, sans-serif; cursor:pointer}
@media (max-width:860px){
  .menu-btn{display:block}
  nav{display:none; position:absolute; top:100%; left:0; right:0; background:var(--hero-bg); padding:.5rem 1.25rem 1rem; border-top:1px solid rgba(255,255,255,.12)}
  nav.open{display:block}
  nav ul{flex-direction:column; gap:.25rem}
  nav a{display:block; padding:.6rem 0; border-bottom:0}
  nav a[aria-current="page"]{color:var(--cta)}
}
@media (max-width:420px){ .call .long{display:none} }

.hero{background:var(--hero-bg); color:var(--hero-text); padding:3rem 0 4rem}
.hero .wrap{display:grid; grid-template-columns:1.05fr .95fr; gap:3rem; align-items:start}
.sign{display:inline-block; background:var(--sign); color:var(--sign-text); border:3px solid #fff; border-radius:8px; padding:.35rem 1rem .4rem; box-shadow:0 0 0 3px var(--sign); font-family:"Bricolage Grotesque", system-ui, sans-serif; font-weight:800; font-size:1rem; margin-bottom:1.5rem}
.sign small{font-weight:600; opacity:.85; margin-left:.4rem}
.hero h1{font-size:clamp(2.3rem, 5.5vw, 4rem); font-weight:800; max-width:13ch}
.hero .lede{color:var(--hero-soft); font-size:1.2rem; max-width:34ch}
.promises{list-style:none; padding:0; margin:1.75rem 0 0; display:grid; grid-template-columns:1fr 1fr; gap:.6rem 1.5rem; max-width:30rem}
.promises li{padding-left:1.6rem; position:relative; color:#fff}
.promises li::before{content:""; position:absolute; left:0; top:.45em; width:.9rem; height:.5rem; border-left:3px solid var(--cta); border-bottom:3px solid var(--cta); transform:rotate(-45deg)}

.page-head{background:var(--hero-bg); color:var(--hero-text); padding:3rem 0 2.75rem}
.page-head h1{font-size:clamp(2rem, 4.5vw, 3.1rem); font-weight:800; max-width:20ch}
.page-head p{color:var(--hero-soft); font-size:1.15rem; max-width:40rem; margin:0}
.page-head a{color:#fff}

.offer{background:var(--paper); color:var(--ink); border-radius:12px; padding:1.75rem; box-shadow:0 24px 48px -24px rgba(0,0,0,.5)}
.offer.flat{box-shadow:none; border:1px solid var(--line)}
.offer h2{font-size:1.6rem; margin-bottom:.25rem}
.offer .sub{color:var(--ink-soft); font-size:.95rem}
.field{margin-bottom:.9rem}
.field label{display:block; font-weight:600; font-size:.95rem; margin-bottom:.3rem}
.field input,.field textarea{width:100%; font:inherit; color:var(--field-text); background:var(--field); border:1.5px solid var(--line); border-radius:6px; padding:.7rem .8rem}
.field textarea{min-height:7rem; resize:vertical}
.field input:focus,.field textarea:focus{border-color:var(--brand); outline:none; box-shadow:0 0 0 3px color-mix(in srgb, var(--brand) 25%, transparent)}
.row3{display:grid; grid-template-columns:1fr 1fr; gap:0 .75rem}
.row3 .field:first-child{grid-column:1 / -1}
.consent{display:flex; gap:.6rem; align-items:flex-start; font-size:.8rem; line-height:1.45; color:var(--ink-soft); margin-bottom:.7rem}
.consent input{margin-top:.2rem; width:1.05rem; height:1.05rem; flex:none; accent-color:var(--brand)}
.hp{position:absolute; left:-9999px}
.btn{display:inline-block; width:100%; border:0; cursor:pointer; background:var(--cta); color:var(--cta-text); font:600 1.1rem/1 "Source Sans 3", system-ui, sans-serif; padding:1rem; border-radius:8px; text-align:center; text-decoration:none}
.btn:hover{filter:brightness(1.05)}
.btn.inline{width:auto; padding:.9rem 1.5rem}

section.band{padding:4.5rem 0}
.mist{background:var(--mist)}
.intro{max-width:40rem; color:var(--ink-soft); font-size:1.1rem}
.prose{max-width:46rem}

.steps{list-style:none; padding:0; margin:2.5rem 0 0; display:grid; grid-template-columns:repeat(3,1fr); gap:2rem; counter-reset:s}
.steps li{counter-increment:s; border-top:3px solid var(--brand); padding-top:1.25rem}
.steps li::before{content:counter(s); display:block; font-family:"Bricolage Grotesque", system-ui, sans-serif; font-weight:800; font-size:2.5rem; color:var(--brand); line-height:1; margin-bottom:.5rem}
.steps p{color:var(--ink-soft)}

.adv{display:grid; grid-template-columns:repeat(3,1fr); margin-top:2.5rem; border-top:1px solid var(--line)}
.adv div{padding:1.5rem 1.5rem 1.5rem 0; border-bottom:1px solid var(--line)}
.adv p{color:var(--ink-soft); margin:0}

.table-scroll{overflow-x:auto; margin-top:2rem}
table{border-collapse:collapse; width:100%; min-width:560px; background:var(--paper)}
th,td{padding:.9rem 1rem; text-align:left; border-bottom:1px solid var(--line); vertical-align:top}
thead th{font-family:"Bricolage Grotesque", system-ui, sans-serif; font-size:1.05rem}
thead th:nth-child(3){color:var(--brand)}
tbody th{font-weight:600}
td.us{font-weight:600}
.fineprint{font-size:.9rem; color:var(--ink-soft); max-width:46rem; margin-top:1.5rem}

.split{display:grid; grid-template-columns:1fr 1fr; gap:3rem; align-items:start}
.quote{font-family:"Bricolage Grotesque", system-ui, sans-serif; font-size:clamp(1.5rem,3vw,2.1rem); font-weight:600; line-height:1.25; border-left:5px solid var(--sign); padding-left:1.25rem}
.ticks{list-style:none; padding:0; margin:0 0 1.5rem}
.ticks li{padding:.55rem 0 .55rem 1.8rem; position:relative; border-bottom:1px solid var(--line)}
.ticks li::before{content:""; position:absolute; left:.1rem; top:1.05em; width:.85rem; height:.45rem; border-left:3px solid var(--brand); border-bottom:3px solid var(--brand); transform:rotate(-45deg)}
.chips{display:flex; flex-wrap:wrap; gap:.6rem; list-style:none; padding:0; margin:1rem 0 2rem}
.chips li{border:1.5px solid var(--line); border-radius:999px; padding:.35rem .9rem; font-weight:600; background:var(--paper)}

.faq{max-width:46rem; margin-top:1rem}
details{border-bottom:1px solid var(--line)}
summary{cursor:pointer; list-style:none; padding:1.1rem 2rem 1.1rem 0; font-weight:600; font-size:1.1rem; position:relative}
summary::-webkit-details-marker{display:none}
summary::after{content:"+"; position:absolute; right:.25rem; top:.85rem; font-size:1.5rem; color:var(--brand)}
details[open] summary::after{content:"\2212"}
details .ans{color:var(--ink-soft); padding-bottom:.75rem}
details .ans ul{margin:0 0 1em; padding-left:1.25rem}

.sources{display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; margin-top:2rem}
.sources blockquote{margin:0; padding:1.25rem 1.5rem; background:var(--paper); border-left:4px solid var(--brand); border-radius:0 8px 8px 0}
.sources blockquote p{color:var(--ink-soft)}
.sources cite{font-style:normal; font-weight:600}

.areas{display:flex; flex-wrap:wrap; gap:.75rem; margin-top:1.5rem}
.areas span{background:var(--sign); color:var(--sign-text); border:2px solid #fff; box-shadow:0 0 0 2px var(--sign); border-radius:5px; padding:.35rem .9rem; font-weight:600}

.contact-list{list-style:none; padding:0; margin:0}
.contact-list li{padding:1.1rem 0; border-bottom:1px solid var(--line)}
.contact-list .k{display:block; font-size:.9rem; color:var(--ink-soft)}
.contact-list .v{font-size:1.2rem; font-weight:600; color:var(--ink); text-decoration:none}
.contact-list a.v{color:var(--brand)}

.notice{border:2px dashed #b3261e; color:#b3261e; padding:1rem 1.25rem; border-radius:8px; font-weight:600; margin-bottom:2rem}

.final{background:var(--hero-bg); color:var(--hero-text); text-align:center}
.final p{color:var(--hero-soft); max-width:34rem; margin:0 auto 1.75rem}
.final .actions{display:flex; gap:1rem; justify-content:center; flex-wrap:wrap}
.final .btn{width:auto; padding:1rem 1.75rem}
.btn-ghost{background:transparent; color:#fff; border:2px solid #fff}

footer{padding:2rem 0; font-size:.9rem; color:var(--ink-soft); border-top:1px solid var(--line)}
footer .wrap{display:flex; flex-wrap:wrap; gap:1rem; justify-content:space-between}
footer a{color:var(--ink-soft)}

@media (max-width:860px){
  .hero .wrap,.split,.sources{grid-template-columns:1fr}
  .steps,.adv{grid-template-columns:1fr}
  .adv div{padding-right:0}
}
@media (max-width:420px){ .promises{grid-template-columns:1fr} .row3{grid-template-columns:1fr} }
