@font-face{font-family:"Inter";font-style:normal;font-weight:400 700;font-display:swap;src:url("inter-400-700.woff2") format("woff2");}

html.wbh { --background:#fff; --surface:#f5f5f5; --card:#fff; --foreground:#212529; --muted-foreground:#495057; --primary:#2d4ca1; --primary-foreground:#fff; --accent-surface:#fff4e5; --accent-foreground:#b85400; --border:#dee2e6; --input:#fff; --ring:#2d4ca1; --navy:#2d4ca1; --navy-ink:#1f346e; --radius:.6rem; --shadow-card:0 6px 24px rgba(16,36,48,.12); --orange:#e47200; --orange-hi:#ffb04a; }
body { font-family:"Inter",system-ui,sans-serif; font-size:1rem; line-height:1.55; color:var(--foreground); }
h1,h2,h3,h4 { font-family:"Inter",system-ui,sans-serif; letter-spacing:-.01em; }
html.wbh .btn.primary { background:var(--orange); border-color:var(--orange); color:#fff; font-weight:800; border-radius:.6rem; }
html.wbh .btn.primary:hover { background:#c86400; border-color:#c86400; }



html.wbh .topbar { background:var(--navy); color:#fff; font-weight:700; text-transform:uppercase; letter-spacing:.02em; font-size:.92rem; }
html.wbh .topbar a { color:var(--orange-hi); font-weight:800; }
html.wbh .site-header { background:#fff; border-bottom:1px solid var(--border); }
.brand-full svg { height:56px; width:auto; display:block; }
.site-subnav { background:#fff; }


.h-hero { position:relative; overflow:hidden; color:#fff; text-align:center; padding:56px 0 64px; background:#1d2a4a; }
.h-hero::before { content:""; position:absolute; inset:-12px; background:var(--hero-img) center/cover no-repeat; filter:blur(3px); }
.h-hero::after { content:""; position:absolute; inset:0; background:rgba(14,24,48,.50); }
.h-hero .wrap { position:relative; z-index:1; }
.h-narrow { max-width:720px; margin:0 auto; }
.h-kicker { font-weight:700; font-size:.95rem; letter-spacing:.04em; text-transform:uppercase; color:var(--orange-hi); margin-bottom:10px; text-shadow:0 1px 3px rgba(0,0,0,.5); }
.h-hero-title { font-size:clamp(2rem,3.6vw,2.4rem); font-weight:800; line-height:1.15; color:#fff; text-shadow:0 2px 6px rgba(0,0,0,.55); }
.h-hero-sub { font-size:1.18rem; font-weight:700; margin:14px auto 22px; max-width:46ch; text-shadow:0 1px 4px rgba(0,0,0,.6); }
.h-formbox { background:rgba(233,236,239,.96); border-radius:.75rem; padding:16px; text-align:left; color:var(--foreground); box-shadow:0 0 30px rgba(0,0,0,.35); }
.h-formbox .lead-form-wrap { background:transparent; border:0; box-shadow:none; padding:0; }
.h-formbox .addr-row { flex-direction:column; gap:10px; }
html.wbh .h-formbox .btn.primary { width:100%; font-size:clamp(1.5rem,3.4vw,2.4rem); padding:10px 16px; text-shadow:0 2px 3px rgba(0,0,0,.25); }
.h-formbox input { border-radius:.35rem; }
.h-credit { position:absolute; right:12px; bottom:6px; z-index:1; font-size:.7rem; color:rgba(255,255,255,.7); }


.h-band { background:var(--navy); color:#fff; padding:52px 0 60px; }
.h-band h2 { color:#fff; text-align:center; font-size:clamp(1.7rem,3vw,2.3rem); font-weight:500; margin-bottom:10px; }
.h-band-sub { text-align:center; color:#e6ebf7; max-width:80ch; margin:0 auto 26px; }
.h-band a { color:var(--orange-hi); }
.h-welcome { padding:28px 0 46px; }
.h-trio { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; max-width:1080px; margin:18px auto 0; }
.h-trio figure { margin:0; }
.h-trio img { width:100%; height:auto; aspect-ratio:16/10; object-fit:cover; border-radius:.6rem; display:block; }
.h-trio figcaption { font-size:.85rem; color:#d7def0; margin-top:6px; text-align:center; }


.h-sec { padding:56px 0; }
.h-grey { background:var(--surface); }
.h-1080 { max-width:1080px; margin:0 auto; }
.h-big { text-align:center; color:var(--navy); font-size:clamp(1.9rem,3.4vw,2.8rem); font-weight:500; line-height:1.2; }
.h-big em { font-style:italic; font-weight:400; }
.h-lead-i { text-align:center; font-style:italic; font-weight:700; margin:18px auto 0; max-width:80ch; }
.h-intro hr, .h-sec hr { border:0; border-top:2px solid #333; margin:16px auto 26px; max-width:1020px; }
.h-blue { color:var(--navy); font-weight:500; font-size:clamp(1.6rem,2.8vw,2.3rem); line-height:1.2; margin-bottom:14px; }
.h-center { text-align:center; }
.h-intro-p { max-width:84ch; margin:6px auto 22px; }
.h-split { display:grid; grid-template-columns:1fr 1.4fr; gap:32px; align-items:start; }
.h-split-wide { grid-template-columns:1fr 1fr; align-items:center; }
.h-split p + p { margin-top:12px; }
.h-logo-slot { display:flex; justify-content:center; align-items:center; }
.h-logo-slot img { width:100%; max-width:340px; height:auto; }
.h-photo { width:100%; height:auto; border-radius:.75rem; display:block; box-shadow:var(--shadow-card); }
.h-ticks { margin-top:16px; }


.h-promise { padding:40px 0; text-align:center; }
.h-promise-mark { font-size:4rem; line-height:.6; color:var(--orange-hi); display:block; font-family:Georgia,serif; }
.h-promise-text { font-size:1.2rem; font-style:italic; max-width:70ch; margin:10px auto 8px; }
.h-promise-by { font-weight:700; font-size:.9rem; color:#d7def0; }

.h-again p { margin-bottom:18px; }
.h-formbox-full { padding:20px 22px; }
.h-formbox-full .lead-form-wrap h2 { color:var(--navy-ink); }


.h-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; max-width:1000px; margin:0 auto; }
.h-step { background:#fff; color:var(--foreground); text-align:center; padding-bottom:20px; }
.h-step-top { background:var(--orange); color:#fff; font-weight:800; font-size:1.35rem; padding:10px; }
.h-step h3 { font-size:1.35rem; font-weight:800; margin:16px 12px 10px; color:#222; }
.h-step img { margin:4px auto 12px; display:block; }
.h-step p { font-size:.95rem; padding:0 16px; }


.h-cards { display:grid; grid-template-columns:1fr 1fr; gap:16px 18px; max-width:1020px; margin:0 auto; }
.h-card { display:block; background:var(--surface); border:1px solid #ddd; border-radius:20px; padding:20px 22px; text-align:center; color:var(--foreground); }
.h-card:hover { border-color:var(--navy); }
.h-card h3 { display:flex; align-items:center; justify-content:center; gap:10px; font-size:1.35rem; font-weight:700; color:#222; margin-bottom:10px; }
.h-card p { font-size:.95rem; }


.h-orange-list h3 { color:var(--orange-hi); font-size:1.4rem; font-weight:700; margin:0 0 8px; }
.h-orange-list p { color:#eef1fa; margin-bottom:22px; }


.h-towns { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:26px; }
.h-town-card { background:#fff; box-shadow:var(--shadow-card); padding:16px 18px; border-radius:.3rem; text-align:center; }
.h-town-card h3 { font-size:.95rem; color:var(--navy); margin-bottom:8px; }
.h-town-card ul { list-style:disc inside; display:grid; gap:4px; font-size:.92rem; }

.h-articles h2 { font-size:1.8rem; font-weight:500; margin-bottom:14px; }
.h-articles ul { padding-left:22px; display:grid; gap:6px; }


.h-checks { display:grid; grid-template-columns:1fr 1fr; gap:14px 16px; max-width:1000px; margin:20px auto 0; }
.h-check { background:#fff; color:var(--foreground); border-radius:.5rem; padding:16px 18px; }
.h-check h3 { font-size:1.08rem; color:var(--navy-ink); margin-bottom:6px; }
.h-check p { font-size:.95rem; }

.h-compare th, .h-compare td { border:1px solid #333; padding:10px 12px; }
.h-compare thead th { font-weight:700; }


.h-tiles { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; max-width:1020px; margin:18px auto 0; }
.h-tile { background:var(--surface); border:1px solid #ddd; border-radius:20px; padding:18px 20px 22px; text-align:center; }
.h-tile h3 { font-size:1.4rem; font-weight:800; color:#222; margin-bottom:12px; }
.h-tile img { width:150px; height:150px; object-fit:cover; border-radius:16px; display:block; margin:0 auto 14px; }
.h-tile p { font-size:.95rem; }


.routes { counter-reset:route; gap:12px; margin-top:16px; }
.routes summary { padding:14px 44px 14px 62px; }
.routes summary::before { counter-increment:route; content:counter(route); position:absolute; left:16px; top:11px; width:32px; height:32px; border-radius:.4rem; background:var(--orange); color:#fff; font-weight:800; display:grid; place-items:center; }
.routes .body { padding:0 18px 16px 62px; }


.h-faq-list details { border-bottom:1px solid rgba(255,255,255,.18); padding:6px 0 14px; }
.h-faq-list summary { list-style:none; cursor:pointer; font-size:clamp(1.3rem,2.4vw,1.75rem); font-weight:500; color:#fff; margin:12px 0 8px; }
.h-faq-list summary::-webkit-details-marker { display:none; }
.h-faq-list .body p { color:#e6ebf7; }
.h-faq-list a, .h-faq-list a.src { color:var(--orange-hi); }

.h-credits-sec { padding:30px 0 10px; }
.h-credits { font-size:.8rem; color:var(--muted-foreground); }


.doc-rail .rail-box.call { background:var(--navy); border-color:var(--navy); }
.doc-rail .rail-box.call h2, .doc-rail .rail-box.call p, .doc-rail .rail-box.call .rail-phone { color:#fff; }
html.wbh .close-band { background:#212121; }
html.wbh .site-footer, html.wbh footer { background:#212121; }

@media (max-width:900px){
  .h-hero { padding:34px 0 40px; }
  .h-credit { position:static; display:block; padding:12px 16px 0; text-align:right; }
  .h-trio, .h-steps, .h-cards, .h-towns, .h-checks, .h-tiles { grid-template-columns:1fr; }
  .h-split, .h-split-wide { grid-template-columns:1fr; gap:20px; }
  .h-sec { padding:40px 0; }
  .brand-full svg { height:44px; }
  .h-card h3, .h-tile h3, .h-step h3 { font-size:1.2rem; }
}

html.wbh .h-band h2 { color:#fff; }
html.wbh .h-band .h-check h3 { color:var(--navy-ink); }
html.wbh .site-footer, html.wbh footer { color:#cfd3d8; }
html.wbh footer b, html.wbh footer .foot-brand b { color:#fff; }
html.wbh footer p, html.wbh footer small, html.wbh footer span { color:#cfd3d8; }
html.wbh footer a { color:#e9ecef; }
html.wbh footer a[href^="tel:"] { color:var(--orange-hi); }
html.wbh .site-header > .wrap { padding-top:10px; padding-bottom:12px; min-height:0; height:auto; }
.brand-full { display:block; padding:0; }
