@font-face{font-family:Bricolage;src:url('/assets/fonts/bricolage-grotesque.woff2') format('woff2');font-display:swap;font-weight:200 800}
@font-face{font-family:PublicSans;src:url('/assets/fonts/public-sans.woff2') format('woff2');font-display:swap;font-weight:100 900}
:root{--ink:#102a35;--ink2:#173b47;--sky:#dcecf1;--ice:#f5f9fa;--white:#fff;--coral:#c84632;--coral2:#a73527;--blue:#2d7182;--line:#a9c4cb;--muted:#49646c;--max:1180px;--radius:14px;--shadow:0 18px 46px rgba(16,42,53,.14)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--ice);font:17px/1.65 PublicSans,Arial,sans-serif}body:before{content:"";display:block;height:5px;background:linear-gradient(90deg,var(--coral) 0 18%,var(--blue) 18% 72%,var(--ink) 72%)}img{max-width:100%;display:block}a{color:inherit;text-underline-offset:4px}a:hover{color:var(--coral2)}::selection{background:var(--coral);color:#fff}:focus-visible{outline:3px solid var(--coral);outline-offset:4px}.skip{position:absolute;left:-9999px;top:8px;background:#fff;padding:10px 14px;z-index:99}.skip:focus{left:12px}.wrap{width:min(var(--max),calc(100% - 40px));margin:auto}.site-header{position:sticky;top:0;z-index:30;background:rgba(245,249,250,.97);border-bottom:1px solid var(--line)}.navrow{height:78px;display:flex;align-items:center;gap:26px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;margin-right:auto;font:750 20px/1 Bricolage,sans-serif;letter-spacing:-.02em}.brand-mark{width:34px;height:34px;border:2px solid var(--ink);display:grid;place-items:center;border-radius:50%;color:var(--coral)}.brand small{display:block;font:600 10px/1.2 PublicSans,sans-serif;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-top:4px}.nav{display:flex;align-items:center;gap:22px}.nav a,.dropbtn{font-weight:650;text-decoration:none;font-size:15px;background:none;border:0;padding:10px 0;color:var(--ink);cursor:pointer}.drop{position:relative;display:flex;align-items:center;gap:5px}.dropbtn{padding-left:2px}.menu-panel{display:none;position:absolute;top:51px;left:-20px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);padding:14px;min-width:275px}.drop:hover .menu-panel,.drop:focus-within .menu-panel,.drop.open .menu-panel{display:grid}.menu-panel a{padding:8px 10px;border-bottom:1px solid #e5eef0}.phone{font-weight:760;text-decoration:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:11px 20px;border-radius:999px;background:var(--coral);color:#fff;text-decoration:none;font-weight:750;border:2px solid var(--coral);transition:.2s}.btn:hover{background:var(--coral2);border-color:var(--coral2);color:#fff;transform:translateY(-2px)}.btn.alt{background:transparent;color:var(--ink);border-color:var(--ink)}.btn.alt:hover{background:var(--ink);color:#fff}.menu-toggle{display:none;background:transparent;border:1px solid var(--line);padding:9px 12px;border-radius:8px}.hero{min-height:660px;display:grid;grid-template-columns:minmax(330px,.8fr) minmax(520px,1.2fr);background:var(--ink);color:#fff;overflow:hidden}.hero-copy{padding:clamp(64px,8vw,120px) clamp(30px,6vw,86px);display:flex;flex-direction:column;justify-content:center}.hero h1,.page-hero h1{font:760 clamp(44px,6.4vw,88px)/.96 Bricolage,sans-serif;letter-spacing:-.04em;margin:0 0 24px;max-width:760px}.hero h1{font-size:clamp(46px,5.8vw,82px)}.hero p{font-size:20px;max-width:620px;color:#d9e8eb}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}.hero .btn.alt{color:#fff;border-color:#fff}.hero-media{position:relative;min-height:520px}.hero-media img{width:100%;height:100%;object-fit:cover}.hero-media:after{content:"";position:absolute;inset:auto 0 0;height:34%;background:linear-gradient(transparent,rgba(16,42,53,.55))}.route-strip{background:var(--sky);border-bottom:1px solid var(--line)}.route-strip .wrap{display:flex;gap:0;overflow:auto;scrollbar-width:thin}.route-strip a{flex:1;min-width:150px;padding:18px;border-right:1px solid var(--line);text-decoration:none;font:700 14px Bricolage,sans-serif}.route-strip a:hover{background:#fff;color:var(--ink)}section{padding:76px 0}.section-title{font:730 clamp(34px,4.8vw,62px)/1 Bricolage,sans-serif;letter-spacing:-.035em;margin:0 0 22px}.lead{font-size:20px;max-width:780px;color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:22px}.chapter{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.chapter-copy{grid-column:1/7;padding:34px 0}.chapter-media{grid-column:8/13}.chapter-media img{width:100%;height:100%;min-height:420px;object-fit:cover;border-radius:var(--radius)}.icon-list{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:30px}.icon-item{background:var(--ice);padding:26px}.icon-item img{width:36px;height:36px;object-fit:contain;margin-bottom:18px}.icon-item h3{font:720 23px Bricolage;margin:0 0 8px}.service-index{background:var(--ink);color:#fff}.service-list{border-top:1px solid #47626c}.service-row{display:grid;grid-template-columns:80px 1fr 1.3fr 40px;gap:20px;align-items:center;padding:23px 0;border-bottom:1px solid #47626c;text-decoration:none}.service-row span:first-child{color:#8fb4be;font-variant-numeric:tabular-nums}.service-row strong{font:700 24px Bricolage}.service-row p{margin:0;color:#bfd1d5}.service-row:hover{color:#fff;background:var(--ink2)}.process{background:var(--sky)}.steps{display:grid;grid-template-columns:1fr 1fr 1fr;gap:28px;margin-top:34px}.step{border-top:4px solid var(--coral);padding-top:20px}.step h3{font:720 24px Bricolage;margin:0 0 8px}.cta{background:var(--coral);color:#fff}.cta .wrap{display:grid;grid-template-columns:1.5fr .5fr;gap:30px;align-items:center}.cta h2{font:760 clamp(38px,5vw,68px)/1 Bricolage;margin:0}.cta .btn{background:var(--ink);border-color:var(--ink)}.page-hero{padding:84px 0 54px;background:var(--ink);color:#fff}.page-hero p{max-width:760px;font-size:20px;color:#d9e8eb}.crumbs{font-size:14px;margin-bottom:26px;color:#a9cbd3}.content{background:#fff}.content .prose{max-width:760px}.content h2,.prose h2{font:720 34px/1.08 Bricolage;margin:46px 0 16px}.content h3,.prose h3{font:700 23px Bricolage}.content li{margin:9px 0}.service-visuals{display:grid;grid-template-columns:1.35fr .65fr;gap:18px;margin:30px 0}.service-visuals img{width:100%;height:460px;object-fit:cover;border-radius:var(--radius)}.service-visuals img+img{height:460px}.fact-band{background:var(--sky);padding:24px;border-radius:var(--radius);margin:30px 0}.areas{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.area-link{background:#fff;padding:24px;text-decoration:none}.area-link strong{font:700 22px Bricolage;display:block}.blog-list{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.article-card{background:#fff;border:1px solid var(--line);padding:28px;text-decoration:none}.article-card h2{font:720 29px/1.08 Bricolage;margin:0 0 12px}.article-meta{color:var(--muted);font-size:14px}.prose{max-width:790px;margin:auto}.prose p,.prose li{font-size:18px}.prose table{width:100%;border-collapse:collapse;margin:28px 0}.prose th,.prose td{padding:13px;border:1px solid var(--line);text-align:left;vertical-align:top}.faq details{border-top:1px solid var(--line);padding:18px 0}.faq summary{font:690 19px Bricolage;cursor:pointer}.site-footer{background:#0b2028;color:#dce9ec;padding:58px 0 26px}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:40px}.site-footer h2,.site-footer h3{font-family:Bricolage}.site-footer a{color:#dce9ec}.footer-links{display:grid;gap:8px}.fine{border-top:1px solid #34505a;margin-top:36px;padding-top:20px;font-size:13px;color:#9fb5bb}.mobile-call{display:none}.notfound{min-height:70vh;display:grid;place-items:center;text-align:center;padding:40px}
@media(max-width:900px){.navrow{height:auto;min-height:72px;flex-wrap:wrap;padding:14px 0}.menu-toggle{display:block}.nav{display:none;order:3;width:100%;flex-direction:column;align-items:stretch;padding:8px 0}.nav.open{display:flex}.nav a,.dropbtn{text-align:left;padding:11px}.drop{display:block}.menu-panel{position:static;box-shadow:none;margin:0 0 8px;border:0;border-left:1px solid var(--line);padding:0 0 0 14px}.phone{display:none}.hero{grid-template-columns:1fr}.hero-copy{padding:66px 26px 44px}.hero-media{min-height:390px}.chapter-copy,.chapter-media{grid-column:1/-1}.service-row{grid-template-columns:44px 1fr 24px}.service-row p{display:none}.steps,.icon-list{grid-template-columns:1fr}.cta .wrap,.footer-grid{grid-template-columns:1fr}.service-visuals{grid-template-columns:1fr}.service-visuals img,.service-visuals img+img{height:330px}.mobile-call{display:block;position:fixed;right:14px;bottom:14px;z-index:40;background:var(--coral);color:#fff;padding:12px 18px;border-radius:999px;text-decoration:none;font-weight:800;box-shadow:var(--shadow)}}
@media(max-width:600px){.wrap{width:min(100% - 28px,var(--max))}section{padding:56px 0}.brand span{max-width:190px}.hero h1,.page-hero h1{font-size:clamp(40px,13vw,60px)}.hero-media{min-height:300px}.areas,.blog-list{grid-template-columns:1fr}.cta h2{font-size:42px}.route-strip .wrap{width:100%}.page-hero{padding:60px 0 42px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn{transition:none}.btn:hover{transform:none}}

/* Final responsive hardening: every route must remain inside a 390px viewport. */
html,body{overflow-x:hidden}body,main,.hero>*{min-width:0}
@media(max-width:900px){.menu-toggle,.dropbtn{min-width:44px;min-height:44px}.site-footer{padding-bottom:104px}}
@media(max-width:600px){.wrap{width:calc(100% - 28px)}.navrow{gap:12px}.brand{max-width:calc(100% - 64px)}.brand span{min-width:0;max-width:190px}.navrow>.btn{width:100%;margin-top:4px}.hero h1,.page-hero h1{font-size:clamp(40px,13vw,54px);overflow-wrap:anywhere}.hero p,.page-hero p{overflow-wrap:anywhere}.hero-actions{align-items:stretch;flex-direction:column}.hero-actions .btn{width:100%}.cta h2{overflow-wrap:anywhere}.mobile-call{max-width:calc(100% - 28px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}
