@font-face{font-family:'Oswald';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/oswald-400.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Oswald';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/oswald-500.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Oswald';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/oswald-600.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Source Sans 3';font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/source-sans-3-400-italic.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/source-sans-3-400.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/source-sans-3-600.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}

:root{--navy:#102538;--deep:#0b1a2c;--blue:#2f6fb8;--blue2:#1d4a7c;--sky:#8fb6e0;--ink:#1a1f26;--muted:#515866;--line:#e2e0d9;--paper:#fff;--ground:#f6f5f1;--tile:#2a4661;--tile2:#355775}
*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--ground);color:var(--ink);font:17px/1.55 "Source Sans 3","Segoe UI",system-ui,sans-serif}
img{max-width:100%;display:block}
h1,h2,h3{font-family:"Oswald","Arial Narrow",sans-serif;text-transform:uppercase;letter-spacing:.02em;line-height:1.08;margin:0;font-weight:500;overflow-wrap:anywhere}
h1{font-size:clamp(30px,5.2vw,58px)}h2{font-size:clamp(26px,3.6vw,38px)}h3{font-size:20px;letter-spacing:.05em}
.head h1{font-size:clamp(28px,4vw,42px)}
p{margin:0}.wrap{max-width:1180px;margin:0 auto;padding-inline:24px}
a{color:inherit}
.skip{position:absolute;left:-999px;top:8px;background:#fff;color:var(--navy);padding:10px 14px;z-index:100;font-weight:600}.skip:focus{left:8px}
:focus-visible{outline:3px solid var(--sky);outline-offset:3px}
.eyebrow{font-family:"Oswald",sans-serif;font-size:13px;letter-spacing:.22em;text-transform:uppercase;color:var(--blue2)}
.rule{width:56px;height:3px;background:var(--blue);margin:8px 0 14px}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 26px;min-height:48px;font-family:"Oswald",sans-serif;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;font-size:15px;border:2px solid var(--blue);color:#fff;cursor:pointer;background:transparent}
.btn.fill{background:var(--blue);border-color:var(--blue);color:#fff}.btn.fill:hover{background:var(--blue2);border-color:var(--blue2)}
.btn.line{border-color:#fff}.btn.dark{background:var(--navy);border-color:var(--navy)}.btn.dark:hover{background:var(--deep)}
.ph{position:relative;background:repeating-linear-gradient(135deg,var(--tile) 0 16px,var(--tile2) 16px 32px);color:#fff;display:grid;place-items:center;text-align:center;overflow:hidden}
.ph span{background:rgba(0,0,0,.5);padding:8px 12px;font-size:13px;max-width:85%}.ph span b{display:block;font-family:"Oswald",sans-serif;letter-spacing:.08em;text-transform:uppercase;font-size:14px}
.ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
/* placeholder copy, shown until the wording is approved */
.tbd{display:inline;background:rgba(47,111,184,.07);box-shadow:inset 0 0 0 1px rgba(47,111,184,.35);padding:1px 6px;color:#3f5a78;font-style:italic;border-radius:2px;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.dark .tbd,.band .tbd{background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px rgba(255,255,255,.35);color:#dbe6f3}
.hero .tbd{background:rgba(255,255,255,.12);box-shadow:inset 0 0 0 1px rgba(255,255,255,.45);color:#fff}
/* header */
.nav{background:var(--navy);color:#fff;position:sticky;top:0;z-index:5;box-shadow:0 2px 8px rgba(0,0,0,.25)}
.nav .wrap{display:flex;align-items:center;gap:28px;min-height:112px}
.logo{display:flex;align-items:center;text-decoration:none;padding-right:24px;border-right:1px solid rgba(255,255,255,.18)}
.logo svg{height:92px;width:auto;display:block}
.links{display:flex;gap:26px;margin-left:auto;font-family:"Oswald",sans-serif;font-size:16px;letter-spacing:.08em;text-transform:uppercase;align-items:center}
.links>a,.links .dd>.top{color:#fff;text-decoration:none;opacity:.92;padding:10px 0;border-bottom:2px solid transparent;display:inline-flex;gap:6px;align-items:center}
.links>a:hover,.links>a.on,.links .dd>.top:hover,.links .dd>.top.on,.links .dd:focus-within>.top{color:var(--sky)}.links>a.on,.links .dd>.top.on{border-bottom-color:var(--sky)}
.links .dd{position:relative;padding-bottom:0}
.links .menu{position:absolute;top:100%;left:-18px;background:var(--blue);min-width:270px;display:none;flex-direction:column;z-index:6;box-shadow:0 10px 24px rgba(0,0,0,.25);padding-bottom:6px}
.links .dd:hover .menu,.links .dd:focus-within .menu{display:flex}
.links .menu .grp{font-size:11px;letter-spacing:.2em;padding:14px 20px 4px}
.links .menu a.grp-link{font-family:"Oswald",sans-serif;font-size:11px;letter-spacing:.2em;text-transform:uppercase;padding:14px 20px;margin-top:4px;border-top:1px solid rgba(255,255,255,.2)}
.links .menu a{color:#fff;padding:11px 20px;text-decoration:none;font-family:"Source Sans 3",sans-serif;font-size:16px;letter-spacing:0;text-transform:none;font-weight:500}
.links .menu a:hover,.links .menu a:focus{background:var(--blue2)}
.links .menu a.all{margin-top:6px;border-top:1px solid rgba(255,255,255,.2);font-size:14px;opacity:.9}
.nav .btn{padding:12px 22px}
.mobwrap{display:none;position:relative;background:var(--deep)}
.mobnav{display:flex;padding:0 16px;overflow-x:auto;gap:20px;font-family:"Oswald",sans-serif;font-size:14px;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.mobnav::-webkit-scrollbar{display:none}
.mobnav a{color:#fff;text-decoration:none;opacity:.9;padding:13px 0;border-bottom:3px solid transparent;min-height:46px;display:inline-flex;align-items:center}.mobnav a.on{color:var(--sky);border-bottom-color:var(--sky)}
.mobwrap::after{content:"";position:absolute;top:0;right:0;bottom:0;width:40px;background:linear-gradient(90deg,rgba(11,26,44,0),var(--deep));pointer-events:none}
@media (max-width:900px){.nav{position:static}.links{display:none}.mobwrap{display:block}.nav .wrap{min-height:76px;gap:12px}.logo{border:0;padding:0}.logo svg{height:60px}.nav .btn{margin-left:auto;padding:10px 14px;font-size:13px;min-height:44px}}
@media (max-width:360px){.nav .btn{font-size:12px;padding:10px 10px}}
/* hero */
.hero{position:relative;min-height:min(78vh,760px);display:flex;align-items:flex-end;color:#fff;overflow:hidden}
.hero.short{min-height:360px}
.hero .bg{position:absolute;inset:0}.hero .bg span{position:absolute;top:22px;right:22px;max-width:280px}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,26,44,.45),rgba(11,26,44,.25) 35%,rgba(11,26,44,.93))}
.hero .wrap{position:relative;z-index:1;padding-block:48px;width:100%;text-shadow:0 1px 2px rgba(0,0,0,.35)}.hero .eyebrow{color:#fff;opacity:.9}.hero .crumbs{opacity:.95}
.hero h1{max-width:none;text-wrap:balance}.hero p.lead{font-size:20px;max-width:34em;margin-top:14px}.hero p.lead strong{font-weight:600;font-size:22px}.hero .cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}
.crumbs{font-size:14px;opacity:.85;margin-bottom:10px}.crumbs a{text-decoration:none}
@media (max-width:900px){.hero{min-height:540px}.hero.short{min-height:300px}.hero .wrap{padding-block:32px}.hero h1 br{display:none}.hero p.lead{font-size:18px}.hero .eyebrow{font-size:12px;letter-spacing:.16em}}
.trust{background:var(--deep);color:#fff}.trust .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding-block:24px}
.trust .wrap>div{border-left:2px solid var(--blue);padding-left:14px;min-width:0}.trust .big{font-family:"Oswald",sans-serif;font-size:30px;text-transform:uppercase;line-height:1;display:block}.trust .lbl{font-size:14px;opacity:.85}
@media (max-width:900px){.trust .wrap{grid-template-columns:repeat(2,1fr)}.trust .big{font-size:26px}}
/* sections */
section{padding-block:72px}section.alt{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}section.dark{background:var(--navy);color:#fff}
section.tight{padding-block:40px}
.head{max-width:44em;margin-bottom:32px}.head p{color:var(--muted);font-size:18px}.dark .head p{color:rgba(255,255,255,.8)}.dark .eyebrow{color:var(--sky)}
.more{margin-top:28px;display:flex;gap:12px;flex-wrap:wrap}.prose{max-width:40em;display:flex;flex-direction:column;gap:14px;color:var(--muted);font-size:18px}.prose strong{color:var(--ink)}
@media (max-width:900px){section{padding-block:48px}.head{margin-bottom:24px}}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.svc{background:var(--paper);border:1px solid var(--line);position:relative;text-decoration:none;color:inherit;display:block}.svc:hover{border-color:var(--blue)}
.svc .ph{aspect-ratio:3/2}.svc .txt{padding:20px 22px}.svc p{color:var(--muted);font-size:16px;margin-top:6px}.svc .go{color:var(--blue2);font-family:"Oswald",sans-serif;letter-spacing:.1em;text-transform:uppercase;font-size:13px;margin-top:8px;display:inline-block}
.svc .tag{position:absolute;top:12px;left:12px;background:var(--blue);color:#fff;font-family:"Oswald",sans-serif;font-size:12px;letter-spacing:.14em;text-transform:uppercase;padding:5px 9px;z-index:1}
.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.gallery .ph{aspect-ratio:1}.gallery .wide{grid-column:span 2;aspect-ratio:2/1}
.gallery.even{grid-template-columns:repeat(3,1fr);gap:18px 14px}.gallery.even .ph{aspect-ratio:4/3}.gallery.even figure{display:flex;flex-direction:column}
.gallery figure{margin:0}.gallery figcaption{font-size:13px;color:var(--muted);padding-top:6px}
.ba{display:grid;grid-template-columns:1fr 1fr;gap:28px 24px}.ba figure{margin:0}.ba figcaption{font-size:14px;color:var(--muted);padding-top:8px}
.pair{display:grid;grid-template-columns:1fr 1fr;gap:4px}.pair .ph{aspect-ratio:4/3}
.pair .ph::before{position:absolute;z-index:1;top:10px;left:10px;font-family:"Oswald",sans-serif;font-size:11px;letter-spacing:.16em;text-transform:uppercase;padding:4px 8px;background:rgba(11,26,44,.72);color:#fff}
.pair .ph:first-child::before{content:"Before"}.pair .ph:last-child::before{content:"After";background:var(--blue)}
.ba.one{grid-template-columns:minmax(0,760px)}
.rv{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);padding:26px}.stars{color:var(--sky);letter-spacing:3px}.rv p{margin:10px 0}.rv .who{font-size:14px;opacity:.9}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.steps.long{grid-template-columns:1fr 1fr;gap:28px}.steps.three{grid-template-columns:repeat(3,1fr)}
.step{border-top:3px solid var(--blue);padding-top:14px}.step .n{font-family:"Oswald",sans-serif;font-size:34px;color:var(--blue2);line-height:1;display:block}.step p{color:var(--muted);font-size:16px;margin-top:6px}
.split .wrap{display:grid;grid-template-columns:.85fr 1.15fr;gap:48px;align-items:center}.split .ph{aspect-ratio:4/5}.split.flip .wrap{grid-template-columns:1.15fr .85fr}.split.flip .ph{order:2;aspect-ratio:4/3}
.checks{display:grid;grid-template-columns:1fr 1fr;gap:10px 28px;max-width:52em;margin:0;padding:0;list-style:none}.checks li{display:flex;gap:10px;align-items:flex-start;font-size:17px}.checks li::before{content:"";width:9px;height:9px;background:var(--blue);flex:none;margin-top:9px}
.faq{display:grid;gap:10px;max-width:46em}.faq details{background:var(--paper);border:1px solid var(--line);padding:0 22px}.faq summary{cursor:pointer;padding:16px 0;list-style:none;display:flex;justify-content:space-between;gap:12px;align-items:center}
.faq summary h3{font:600 17px/1.4 "Source Sans 3","Segoe UI",system-ui,sans-serif;text-transform:none;letter-spacing:0}
.faq summary::-webkit-details-marker{display:none}.faq summary::after{content:"+";font-family:"Oswald",sans-serif;font-size:24px;color:var(--blue2);line-height:1;flex:none}.faq details[open] summary::after{content:"–"}.faq details p{color:var(--muted);padding-bottom:16px;max-width:40em}
.towns{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}.towns li{font-size:14px;padding:4px 11px;border:1px solid var(--line);background:var(--paper)}
.band{background:var(--navy);color:#fff}.band .wrap{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;padding-block:40px}.band p{opacity:.85;margin-top:4px}
.contact .wrap{display:grid;grid-template-columns:1fr 1fr;gap:48px}.info{display:flex;flex-direction:column;gap:18px;margin-top:22px}.info .row b{display:block;font-family:"Oswald",sans-serif;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--blue2);font-weight:500}.info .row span,.info .row a{font-size:19px}
form{background:var(--paper);border:1px solid var(--line);border-top:4px solid var(--blue);padding:24px;display:grid;gap:14px}
form h2{font-size:24px;margin-bottom:4px}
form .field{display:grid;gap:4px}form label{font-size:13px;font-weight:600;color:var(--muted);letter-spacing:.04em;text-transform:uppercase}
form input,form select,form textarea{font:inherit;font-size:16px;padding:12px;border:1px solid var(--line);background:var(--ground);color:var(--ink);width:100%;text-transform:none;letter-spacing:0;min-height:48px}
form textarea{min-height:110px;resize:vertical}form .two{display:grid;grid-template-columns:1fr 1fr;gap:14px}.hp{position:absolute;left:-9999px}
form button{justify-self:start}form .note{font-size:13px;color:var(--muted);text-transform:none;letter-spacing:0;font-weight:400}form .note a{color:var(--blue2)}
footer{background:var(--deep);color:#c9ced6;font-size:14px;padding-block:36px 100px}footer .wrap{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:28px}
footer .flogo svg{height:80px;width:auto;display:block;margin-bottom:12px}footer b{color:#fff;font-family:"Oswald",sans-serif;letter-spacing:.08em;text-transform:uppercase;font-weight:500;display:block;margin-bottom:8px}
footer a{color:#c9ced6;text-decoration:none;display:block;padding:4px 0}footer a:hover{color:var(--sky)}footer .fine{margin-top:18px;font-size:12px;opacity:.7}
.callbar{position:fixed;left:0;right:0;bottom:0;display:none;padding:10px 16px;background:var(--navy);z-index:5;padding-bottom:max(10px,env(safe-area-inset-bottom))}.callbar .btn{width:100%}
@media (max-width:900px){.ba{grid-template-columns:1fr}.cards,.steps,.steps.long,.steps.three{grid-template-columns:1fr 1fr}.gallery,.gallery.even{grid-template-columns:1fr 1fr}.split .wrap,.split.flip .wrap{grid-template-columns:1fr}.split.flip .ph{order:0}.contact .wrap{grid-template-columns:1fr}form .two{grid-template-columns:1fr}footer .wrap{grid-template-columns:1fr}.callbar{display:block}}
@media (max-width:560px){.cards,.steps,.steps.long,.steps.three{grid-template-columns:1fr}.checks{grid-template-columns:1fr}.gallery .wide{grid-column:span 2}}
@media (min-width:901px){.callbar{display:none}}
