.svc-page{ margin:0; background:#f3f7fb; color:#0b1f3f;
font-family:"Be Vietnam Pro","Helvetica Neue",Helvetica,Arial,system-ui,sans-serif;
font-size:clamp(16px,1.05vw,17.5px); line-height:1.65; -webkit-font-smoothing:antialiased }
.svc-page *,.svc-page *::before,.svc-page *::after{ box-sizing:border-box }
.svc-in{ max-width:1180px; margin:0 auto; padding:0 clamp(20px,5vw,48px) }
.svc-narrow{ max-width:880px }
.svc-eyebrow{ margin:0 0 .7em; font-size:.8rem; font-weight:800; letter-spacing:.18em;
text-transform:uppercase; color:var(--lane) }
.svc-page h2{ margin:0 0 1em; font-size:clamp(1.6rem,3vw,2.4rem); font-weight:800;
line-height:1.12; letter-spacing:-.01em; color:#0b1f3f }
.svc-hero{ position:relative; color:#fff; overflow:hidden;
background:radial-gradient(120% 90% at 80% 0%, rgba(255,255,255,.14), rgba(255,255,255,0) 60%),
linear-gradient(160deg,#0459bd 0%,#00287d 100%);
padding:clamp(48px,7vw,110px) 0 clamp(56px,8vw,120px) }
.svc-hero::before{ content:""; position:absolute; left:0; top:0; bottom:0; width:clamp(8px,1vw,14px);
background:var(--lane) }
.svc-hero-in{ display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); gap:clamp(24px,5vw,72px);
align-items:center }
.svc-hero .svc-eyebrow{ color:#ffc72c }
.svc-hero h1{ margin:0; font-size:clamp(2.1rem,5vw,4rem); font-weight:900; line-height:1.02;
letter-spacing:-.02em; text-wrap:balance }
.svc-tag{ margin:.45em 0 0; font-size:clamp(1.25rem,2.2vw,1.75rem); font-weight:600; line-height:1.25;
color:#ffc72c }
.svc-lead p{ margin:0 0 .8em }
.svc-lead p:last-child{ margin-bottom:0 }
.svc-lead{ margin:1.1em 0 0; max-width:40em; font-size:clamp(1.05rem,1.45vw,1.25rem); font-weight:500;
line-height:1.6; color:rgba(255,255,255,.94) }
.svc-acts{ display:flex; flex-wrap:wrap; gap:14px; margin-top:2em }
.svc-hero-sign{ justify-self:center; display:grid; place-items:center;
width:min(100%,300px); aspect-ratio:1; border-radius:28px; background:var(--lane);
border:3px solid #fff; box-shadow:0 26px 60px rgba(0,10,45,.45), 0 6px 16px rgba(0,10,45,.28);
transform:rotate(-3deg) }
.svc-hero-sign img{ width:62%; height:auto; display:block; filter:drop-shadow(0 6px 10px rgba(0,0,0,.25)) }
.svc-btn{ display:inline-grid; place-items:center; min-height:3.3em; padding:0 1.8em;
border-radius:.55em; background:#ffc72c; color:#0b2247; font-weight:800; letter-spacing:.02em;
text-decoration:none; text-transform:uppercase; font-size:.95rem;
box-shadow:0 4px 14px rgba(0,0,0,.18); transition:transform .18s ease, box-shadow .18s ease, background .18s ease }
.svc-btn:hover{ background:#ffd45a; transform:translateY(-1px); box-shadow:0 7px 22px rgba(0,0,0,.24) }
.svc-btn--ghost{ background:transparent; color:#fff; box-shadow:none; border:2px solid rgba(255,255,255,.6) }
.svc-btn--ghost:hover{ background:rgba(255,255,255,.1); border-color:#fff }
.svc-btn:focus-visible{ outline:3px solid #fff; outline-offset:3px }
.svc-block{ padding:clamp(56px,8vw,110px) 0 }
.svc-grid{ list-style:none; margin:0; padding:0; display:grid; gap:clamp(16px,2vw,24px);
grid-template-columns:repeat(auto-fit,minmax(260px,1fr)) }
.svc-grid li{ background:#fff; border-radius:14px; padding:1.5em 1.5em 1.6em;
border-top:5px solid var(--lane); box-shadow:0 10px 30px rgba(11,31,63,.08) }
.svc-grid h3{ margin:0 0 .45em; font-size:1.12rem; font-weight:800; line-height:1.3 }
.svc-grid p{ margin:0 0 .7em; color:#33445e; font-weight:400 }
.svc-grid p:last-child{ margin-bottom:0 }
.svc-grid p:first-of-type:not(:only-of-type){ color:#0b1f3f; font-weight:600 }
.svc-band{ background:#fff; border-top:1px solid rgba(11,31,63,.08); padding:clamp(52px,7vw,96px) 0 }
.svc-band .svc-in{ display:grid; grid-template-columns:auto minmax(0,1fr); gap:clamp(20px,4vw,56px); align-items:center }
.svc-band-n{ font-size:clamp(4rem,10vw,8.5rem); font-weight:900; line-height:.85; letter-spacing:-.04em; color:var(--lane) }
.svc-band h2{ margin:0 0 .35em }
.svc-band p{ margin:0; max-width:34em; font-size:clamp(1.08rem,1.5vw,1.3rem); line-height:1.55; color:#27384f }
@media (max-width:640px){ .svc-band .svc-in{ grid-template-columns:1fr } }
.svc-facts{ background:#0b1f3f; color:#fff; padding:clamp(40px,5vw,64px) 0 }
.svc-fact-row{ list-style:none; margin:0; padding:0; display:grid; gap:clamp(20px,3vw,40px);
grid-template-columns:repeat(auto-fit,minmax(220px,1fr)) }
.svc-fact-row li{ border-left:4px solid #ffc72c; padding-left:1em }
.svc-facts h2{ color:#fff; margin-bottom:1.2em }
.svc-fact-row b{ display:block; text-transform:uppercase; letter-spacing:.01em; font-size:clamp(1.5rem,2.6vw,2.1rem); font-weight:900; line-height:1.1;
color:#fff }
.svc-fact-row span{ display:block; margin-top:.35em; color:rgba(255,255,255,.82); font-size:.98rem }
.svc-steps{ list-style:none; margin:0; padding:0; display:grid; gap:clamp(16px,2vw,24px);
grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); counter-reset:step }
.svc-steps li{ counter-increment:step; position:relative; background:#fff; border-radius:14px;
padding:3.6em 1.4em 1.5em; box-shadow:0 10px 30px rgba(11,31,63,.08) }
.svc-steps li::before{ content:counter(step, decimal-leading-zero); position:absolute; left:1.4em; top:1.1em;
width:2.1em; height:2.1em; border-radius:6px; display:grid; place-items:center;
background:#009245; color:#fff; font-weight:900; border:2px solid #fff;
box-shadow:0 0 0 2px #009245 }
.svc-steps h3{ margin:0 0 .4em; font-size:1.08rem; font-weight:800 }
.svc-steps p{ margin:0 0 .7em; color:#33445e }
.svc-steps p:last-child{ margin-bottom:0 }
.svc-area{ background:#e6eef8; padding:clamp(44px,6vw,80px) 0 }
.svc-area h2{ margin-bottom:.5em }
.svc-area p{ margin:0 0 .8em; max-width:60em; font-size:1.05rem; color:#27384f }
.svc-area p:last-child{ margin-bottom:0 }
.svc-area .svc-towns{ font-weight:700; color:#0b1f3f }
.svc-faq .qa-item{ border-top:1px solid rgba(11,31,63,.16) }
.svc-faq .qa-item:last-of-type{ border-bottom:1px solid rgba(11,31,63,.16) }
.svc-faq summary{ list-style:none; cursor:pointer; display:flex; align-items:center; gap:16px; padding:1.15em 0 }
.svc-faq summary::-webkit-details-marker{ display:none }
.svc-faq summary::after{ content:"+"; margin-left:auto; flex:0 0 auto; font-size:1.5rem; font-weight:300;
line-height:1; color:var(--lane); transition:transform .2s ease }
.svc-faq details[open] summary::after{ transform:rotate(45deg) }
.svc-faq summary h3{ margin:0; font-size:clamp(1.02rem,1.6vw,1.18rem); font-weight:700; line-height:1.35 }
.svc-faq details p{ margin:0 0 .8em; }
.svc-faq details p:last-child{ margin-bottom:1.4em }
.svc-faq details p{ max-width:62ch; color:#27384f; font-weight:400 }
.svc-faq summary:focus-visible{ outline:3px solid var(--lane); outline-offset:4px }
.svc-more{ margin:1.6em 0 0 }
.svc-more a,.svc-area a{ color:#045e96; font-weight:700 }
.svc-cta{ background:linear-gradient(160deg,#0459bd 0%,#00287d 100%); color:#fff; text-align:center;
padding:clamp(56px,8vw,100px) 0 }
.svc-cta h2{ color:#fff; margin-bottom:.4em }
.svc-cta p{ margin:0 auto .8em; max-width:36em; color:rgba(255,255,255,.9) }
.svc-cta-say{ margin-bottom:1.8em }
.svc-cta-say p:last-child{ margin-bottom:0 }
.svc-next{ background:#f3f7fb; padding:clamp(36px,5vw,56px) 0 clamp(48px,6vw,72px) }
.svc-next ul{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:12px }
.svc-next a{ display:inline-block; padding:.75em 1.3em; border-radius:999px; background:#fff;
color:#0b1f3f; font-weight:700; text-decoration:none; border:2px solid var(--c,#0b1f3f);
transition:background .18s ease, color .18s ease }
.svc-next a:hover{ background:var(--c,#0b1f3f); color:#fff }
@media (max-width:800px){
.svc-hero-in{ grid-template-columns:1fr }
.svc-hero-sign{ width:150px; justify-self:start; order:-1; border-radius:20px }
}
@media (prefers-reduced-motion:reduce){
.svc-btn,.svc-faq summary::after,.svc-next a{ transition:none }
}
.svc-sr{ position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0 }
.svc-prose{ padding:clamp(56px,8vw,110px) 0 }
.svc-prose--white{ background:#fff }
.svc-prose--tint{ background:#e6eef8 }
.svc-prose--dark{ background:#0b1f3f; color:#fff }
.svc-prose--dark h2,.svc-prose--dark h3{ color:#fff }
.svc-prose-say{ max-width:40em }
.svc-prose-say p{ margin:0 0 .9em; font-size:clamp(1.05rem,1.4vw,1.18rem); line-height:1.6; color:#27384f }
.svc-prose--dark .svc-prose-say p{ color:rgba(255,255,255,.88) }
.svc-prose-say h3{ margin:1.8em 0 .5em; font-size:clamp(1.15rem,1.8vw,1.4rem); font-weight:800; color:#0b1f3f }
.svc-prose-say .svc-big{ margin-top:1.3em; font-size:clamp(1.2rem,2vw,1.5rem); font-weight:800; line-height:1.3;
color:#0b1f3f }
.svc-prose--dark .svc-prose-say .svc-big{ color:#ffc72c }
.svc-lines{ list-style:none; margin:.2em 0 1.2em; padding:0 }
.svc-lines li{ position:relative; padding:.45em 0 .45em 1.6em; font-size:clamp(1.08rem,1.5vw,1.25rem);
font-weight:700; color:#0b1f3f; border-bottom:1px solid rgba(11,31,63,.1) }
.svc-lines li:last-child{ border-bottom:0 }
.svc-lines li::before{ content:""; position:absolute; left:0; top:50%; width:.75em; height:3px;
background:var(--lane); translate:0 -50% }
.svc-prose--dark .svc-lines li{ color:#fff; border-color:rgba(255,255,255,.14) }
