@font-face {
  font-family: Montserrat;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/montserrat-latin-500-normal.woff2") format("woff2");
}

@font-face {
  font-family: Montserrat;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/montserrat-latin-700-normal.woff2") format("woff2");
}

@font-face {
  font-family: Montserrat;
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("../fonts/montserrat-latin-800-normal.woff2") format("woff2");
}

@font-face {
  font-family: Montserrat;
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url("../fonts/montserrat-latin-900-normal.woff2") format("woff2");
}

:root{--blue:#1E8AD8;--link:#5cb9fa;--bg:#0a0d12;--panel:#121820;--line:#303b49;--muted:#b9c4d1;--max:1120px;color-scheme:dark}
* ,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{margin:0;background:var(--bg);color:#f8fafc;font:400 17px/1.65 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;overflow-wrap:break-word}
img{max-width:100%;height:auto}p,ul,ol,dl,blockquote{margin:0 0 1.15rem}p:last-child,ul:last-child{margin-bottom:0}
h1,h2,h3,.person,.phone,.button,.nav,.caption,.eyebrow,.registration-title{font-family:Montserrat,system-ui,sans-serif}
h1,h2,h3{margin:0 0 1rem;font-weight:800;letter-spacing:-.035em;line-height:1.16}
h1{font-size:clamp(2.5rem,4.6vw,3.75rem)}h2{font-size:clamp(1.8rem,3vw,2.4rem)}h3{font-size:1.05rem;line-height:1.4;letter-spacing:-.015em}
a{color:var(--link);text-underline-offset:4px}a:hover{text-decoration-thickness:2px;color:#b4e1ff}
:focus-visible{outline:3px solid #63c3ff;outline-offset:5px}::selection{background:#1E8AD8;color:#050c12}
.wrap{width:min(var(--max),calc(100% - 3rem));margin-inline:auto;min-width:0}
.skip-link{position:absolute;left:1rem;top:1rem;transform:translateY(-200%);z-index:100;background:#fff;color:#111;padding:.7rem 1rem}.skip-link:focus{transform:none}
.site-header{position:sticky;top:0;z-index:20;background:#000;border-bottom:1px solid #202a35}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:.6rem 0}
.wordmark{display:block;line-height:0;flex-shrink:0}.wordmark img{display:block;width:155px;height:auto}
.nav-menu{min-width:0}.nav-menu summary{display:none}.nav-menu:not([open])>.nav{display:block}
.nav ul{display:flex;gap:1.5rem;list-style:none;margin:0;padding:0}.nav a{display:flex;align-items:center;min-height:44px;color:#d8e0e9;text-decoration:none;font-size:.8rem;font-weight:700}.nav a:hover{color:var(--link)}
.hero{background:radial-gradient(ellipse at 75% 20%,#12335288,transparent 60%),linear-gradient(135deg,#0a0d12,#0c1520);padding:4.5rem 0 4rem;border-bottom:1px solid #243341}
.hero-grid{display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:5rem}.hero-copy{min-width:0}
.caption,.eyebrow{color:var(--link);font-size:.7rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;margin-bottom:.9rem}.hero-copy>.caption{margin-bottom:1.3rem}
.lede{color:#c4cedb;font-size:1.08rem;max-width:35rem}.phone-block{margin-top:1.8rem}.phone-block .caption{color:var(--muted);margin-bottom:.4rem}
.phone{display:inline-block;font-size:clamp(1.8rem,3vw,2.55rem);color:#fff;font-weight:800;letter-spacing:-.04em;line-height:1.2;text-decoration:none}
.phone-actions,.actions{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1.1rem}.actions{margin-bottom:0;margin-top:1.1rem}.text-link{font-weight:600;font-size:.92rem}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;gap:.5rem;padding:.75rem 1.3rem;border:1px solid var(--blue);border-radius:7px;background:var(--blue);color:#07131c;font-weight:800;font-size:.83rem;line-height:1.35;text-decoration:none;cursor:pointer}
.button:hover{background:#5ab8fa;color:#06121b;border-color:#5ab8fa}.button-secondary{color:#f5f7fa;background:transparent;border-color:#7f91a6}.button-secondary:hover{background:#fff;color:#0a0d12;border-color:#fff}
.trust{list-style:none;padding:1.35rem 0 0;margin:1.8rem 0 0;border-top:1px solid #354455;display:flex;flex-wrap:wrap;gap:1.3rem;font-size:.8rem;color:#c4cedb}.trust li{display:flex;align-items:center;gap:.5rem}.trust img{height:21px;width:auto}
.hero-visual{min-width:0}.trust-panel{padding:2rem;background:linear-gradient(145deg,#172331,#10171f);border:1px solid #33485c;border-radius:16px;box-shadow:0 20px 60px #0004}
.hero-registration{display:flex;align-items:center;gap:1.25rem;padding-bottom:1.8rem;border-bottom:1px solid #354658}.hero-registration img{width:100px;height:100px;object-fit:contain;flex-shrink:0}.hero-registration .caption{margin-bottom:.45rem;font-size:.63rem}.registration-title{font-size:1rem;font-weight:700;line-height:1.5}.registration-title span{display:block;font-size:1.4rem;color:#fff;letter-spacing:.04em}
.recommendation{display:block;margin:1.6rem 0;font-size:1.2rem;font-weight:700;line-height:1.5;text-decoration:none}.recommendation span{font-weight:400}
blockquote{margin:0;padding-top:1.7rem;border-top:1px solid #354658;position:relative}blockquote::before{content:'“';position:absolute;top:-.1rem;left:0;color:var(--link);font:3.5rem Georgia,serif}blockquote p{font-size:.96rem;color:#dae2ec;line-height:1.75}blockquote footer{font-weight:700;font-size:.85rem}blockquote footer span{display:block;font-size:.75rem;color:var(--muted);font-weight:400;margin-top:.15rem}
.band{padding:5rem 0;scroll-margin-top:1rem}.band-panel{background:#10151d}.section-bar{font-size:clamp(1.7rem,3vw,2.25rem);margin:0 0 1.8rem}.section-bar::after{content:"";display:block;width:48px;height:3px;background:var(--blue);margin-top:1.2rem}.eyebrow{margin-bottom:.75rem}
.service-list{list-style:none;margin:2rem 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.service-list li{padding:1.6rem;display:flex;gap:1rem;align-items:start;background:#161e28;border:1px solid #303b49;border-radius:12px}.service-list img{width:21px;height:auto;margin-top:4px;flex-shrink:0}.service-list h3{margin-bottom:.65rem;color:#f5f7fa}.service-list p{font-size:.9rem;line-height:1.7;color:#bbc7d5}
.reminder-layout,.contact-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:4rem;align-items:start}.reminder-layout>div>p,.contact-grid>div>p{color:#c1cbd8}.benefit-list{list-style:none;padding:0;margin-top:2.5rem}.benefit-list li{display:flex;gap:1.2rem;padding:1.4rem 0;border-top:1px solid #303b49}.benefit-list li>span{font:700 .8rem Montserrat,sans-serif;color:var(--link);padding-top:.3rem}.benefit-list h3{margin-bottom:.4rem}.benefit-list p{font-size:.95rem;color:#bbc7d5}
.area-chips{display:flex;flex-wrap:wrap;gap:.7rem;list-style:none;margin:1.6rem 0;padding:0}.area-chips li{display:flex;align-items:center;gap:.6rem;padding:.55rem 1rem;border:1px solid #405068;border-radius:30px;background:#151f2c;font-size:.9rem}.area-chips img{height:18px;width:auto}
.band-light{background:#F5F7FA;color:#182330;color-scheme:light;--link:#11639d;--muted:#536171}.band-light+.band-light{border-top:1px solid #dbe1e8}.band-light a{color:#11639d}.band-light a:hover{color:#084675}.band-light .eyebrow{color:#11639d}.band-light .section-bar{color:#182330}.band-light .button-secondary{border-color:#496076;color:#182330}.band-light .button-secondary:hover{background:#182330;color:#fff}.band-light :focus-visible{outline-color:#075a96}
#about .wrap{display:grid;grid-template-columns:.8fr 1.2fr;column-gap:4rem}#about .eyebrow,#about h2{grid-column:1}#about .person{grid-column:2;grid-row:1 / span 2;align-self:center;margin-bottom:1.2rem;font-size:1.2rem;font-weight:800}#about .rule{display:none}#about .wrap>p:not(.eyebrow):not(.person){grid-column:2}#about .signoff{font-weight:700;font-size:.9rem}.person{font-weight:800}
.review-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;align-items:start}.review{min-width:0;border:1px solid #dae1e8;background:#fff;padding:1.6rem;border-radius:12px;box-shadow:0 4px 20px #16324c05}.review::before{content:'“';display:block;color:#116ba9;font:3.5rem/.7 Georgia,serif;margin:.6rem 0 .9rem}.review-top{display:flex;flex-direction:column;gap:.3rem;margin-bottom:1rem}.review-name{font-weight:700}.review time{font-size:.75rem;color:#536171}.review p{font-size:.95rem;line-height:1.8}.reviews-more{margin-top:2rem}
.form-card{min-width:0;margin:0;padding:2rem;border:1px solid #3b4b5c;background:#161e28;border-radius:14px;box-shadow:0 14px 40px #0002}.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.field{min-width:0;margin-bottom:1.1rem}.field label{display:block;margin-bottom:.45rem;font-size:.85rem;font-weight:600}input,textarea,select,button{font:inherit}input,textarea,select{width:100%;display:block;border:1px solid #8393a5;border-radius:6px;background:#0b111a;color:#fff;padding:.7rem .8rem;min-height:46px}textarea{min-height:150px;resize:vertical}.honeypot{display:none}.due-fieldset{padding:0;border:0;margin:0 0 .2rem;min-width:0}.due-fieldset legend{font-size:.85rem;font-weight:600;margin-bottom:.7rem}.field .consent{display:flex;align-items:flex-start;gap:.8rem;font-size:.82rem;line-height:1.7;font-weight:400}.consent input{min-height:0;width:20px;height:20px;flex-shrink:0;margin:3px 0;accent-color:var(--blue)}.quiet{font-size:.85rem;color:#c1ccda}.form-card .button{margin-top:.4rem}
.contact-dl{margin:2rem 0 0}.contact-dl>div{border-top:1px solid #3c4b5b;padding:1rem 0}.contact-dl dt{color:#b9c4d1;font-size:.7rem;letter-spacing:.13em;text-transform:uppercase;margin-bottom:.5rem}.contact-dl dd{margin:0}.contact-dl .phone{font-size:2rem}.contact-dl .phone-actions{font-size:.85rem;margin-bottom:0;margin-top:.6rem;gap:1.3rem}.mail-link{font-weight:600}
.site-footer{background:#080b10;border-top:1px solid #303b49;padding:3.2rem 0;color:#abb8c9;font-size:.8rem}.footer-grid{display:grid;grid-template-columns:1.4fr .6fr;gap:5rem}.site-footer a{color:#dce6f3}.footer-name{font:700 1.1rem Montserrat,sans-serif;color:#fff}.gas-safe{display:flex;align-items:center;gap:1rem;margin-top:1.5rem}.gas-safe img{width:60px;height:auto}.gas-safe p{margin:0;font-weight:600;color:#dce6f3}.mobile-contact{display:none}
.page{padding-top:4rem;padding-bottom:5rem;min-height:55vh}.page .narrow{max-width:760px}.page h2{margin-top:2.5rem}.page h1{margin-bottom:1.5rem}.plain-list{padding-left:1.2rem}.page .actions{margin-top:1.8rem}
@media(min-width:721px) and (max-width:950px){.nav ul{gap:.8rem}.hero-grid{gap:2rem}.hero-registration{flex-direction:column;align-items:flex-start}.service-list{grid-template-columns:repeat(2,minmax(0,1fr))}.reminder-layout,.contact-grid{gap:2rem}.form-card{padding:1.3rem}.form-row{grid-template-columns:1fr;gap:0}.review-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){html{scroll-padding-top:88px}.wrap{width:calc(100% - 2.5rem)}body{font-size:16px;padding-bottom:calc(78px + env(safe-area-inset-bottom))}.header-inner{padding:.45rem 0;gap:1rem}.wordmark img{width:122px}.nav-menu summary{display:flex;align-items:center;gap:.8rem;min-height:44px;font:700 .8rem Montserrat,sans-serif;cursor:pointer;list-style:none;padding:.4rem .6rem;border:1px solid #4e6276;border-radius:6px}.nav-menu summary::-webkit-details-marker{display:none}.nav-menu:not([open])>.nav{display:none}.nav-menu[open] .nav{position:absolute;top:100%;left:0;right:0;background:#101822;padding:.8rem 1.25rem 1.3rem;border-bottom:1px solid #4e6276;box-shadow:0 16px 24px #0005}.nav ul{display:grid;grid-template-columns:1fr 1fr;gap:.2rem 1rem}.nav a{font-size:.85rem;border-bottom:1px solid #303b49}.hero{padding:2.6rem 0 3rem}.hero-grid{grid-template-columns:1fr;gap:2.5rem}.hero h1{font-size:2.55rem;line-height:1.13}.hero-copy>.caption{font-size:.6rem;letter-spacing:.14em}.lede{font-size:1rem}.phone{font-size:2.15rem}.phone-block{margin-top:1.5rem}.trust{gap:.8rem;font-size:.72rem}.trust img{height:18px}.hero-registration{gap:1rem;padding-bottom:1.4rem}.hero-registration img{width:80px;height:80px}.trust-panel{padding:1.5rem}.recommendation{font-size:1.1rem}.band{padding:3rem 0}.service-list{grid-template-columns:1fr;gap:.8rem}.service-list li{padding:1.4rem}.service-list h3{font-size:1rem}.reminder-layout,.contact-grid{grid-template-columns:1fr;gap:2rem}.benefit-list{margin-top:1.6rem}.benefit-list li{padding:1rem 0}.benefit-list h3{font-size:.95rem}.benefit-list p{font-size:.9rem}.form-card{padding:1.3rem}.form-row{grid-template-columns:1fr;gap:0}.field{margin-bottom:1rem}.reminder-form .button{width:100%}.area-chips{gap:.6rem}.area-chips li{font-size:.8rem;padding:.45rem .8rem}#about .wrap{display:block}#about .person{margin:0 0 1rem}.review-list{grid-template-columns:1fr}.review{padding:1.4rem}.footer-grid{grid-template-columns:1fr;gap:1.8rem}.site-footer{padding:2.5rem 0}.mobile-contact{position:fixed;z-index:30;bottom:0;left:0;right:0;display:grid;grid-template-columns:1fr 1fr;gap:.7rem;background:#080d15f7;border-top:1px solid #4e6276;padding:.65rem 1.25rem calc(.65rem + env(safe-area-inset-bottom))}.mobile-contact .button{min-height:48px}.page{padding-top:2.5rem;padding-bottom:3rem}}
@media(min-width:540px) and (max-width:720px){.service-list{grid-template-columns:repeat(2,minmax(0,1fr))}.form-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media(forced-colors:active){.button,.trust-panel,.review,.service-list li{border:1px solid CanvasText}}
.reminder-layout>div>.eyebrow,.contact-grid>div>.eyebrow{color:var(--link)}

/* Desktop navigation is outside the native closed details content. */
.desktop-nav{display:block}.nav-menu{display:none}
#about .wrap{display:block}
#about .person{margin:0 0 .8rem;font-size:1.2rem}
#about .wrap>p:not(.eyebrow){max-width:760px}
#about .signoff{margin-top:1.4rem}
@media(max-width:720px){.desktop-nav{display:none}.nav-menu{display:block}}

/* v3: service and area links, dropdown nav, inner pages, footer columns, FAQ */
.service-list a{display:flex;gap:1rem;align-items:start;text-decoration:none;color:inherit;margin:-1.6rem;padding:1.6rem;border-radius:12px}
.service-list a:hover{color:inherit}
.service-list li:hover{border-color:var(--blue)}
.area-chips a{display:flex;align-items:center;gap:.6rem;text-decoration:none;color:inherit;margin:-.55rem -1rem;padding:.55rem 1rem}
.area-chips a:hover{color:var(--link)}
.nav .has-sub{position:relative}
.nav .has-sub summary{display:flex;align-items:center;min-height:44px;color:#d8e0e9;font:700 .8rem Montserrat,sans-serif;cursor:pointer;list-style:none}
.nav .has-sub summary::-webkit-details-marker{display:none}
.nav .has-sub summary::after{content:"▾";margin-left:.35rem;font-size:.7em;opacity:.8}
.nav .has-sub summary:hover,.nav .has-sub[open] summary{color:var(--link)}
.nav .subnav{display:grid;gap:.1rem;list-style:none;margin:0;padding:.4rem 0;min-width:17rem}
@media(min-width:721px){
  .desktop-nav .has-sub .subnav{position:absolute;top:100%;left:0;background:#101822;border:1px solid #4e6276;border-radius:8px;padding:.55rem .75rem;box-shadow:0 16px 24px #0005;z-index:30}
}
@media(max-width:720px){
  .nav li.has-sub{grid-column:1 / -1}
  .nav .has-sub summary{border-bottom:1px solid #303b49}
  .nav .subnav{padding:.15rem 0 .5rem .2rem}
  .nav .subnav a{font-size:.82rem}
}
.page-intro{padding:3.2rem 0 2.6rem;border-bottom:1px solid #243341;background:linear-gradient(135deg,#0a0d12,#0c1520)}
.page-intro .lede{margin-bottom:1.3rem}
.page-intro .phone{font-size:clamp(1.55rem,2.5vw,2.1rem)}
.crumb{font-size:.85rem;color:var(--muted);margin-bottom:1rem}
.crumb ol{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none;margin:0;padding:0}
.crumb li+li::before{content:"/";margin-right:.4rem;color:#6e7d8d}
.hours{margin:.35rem 0 0;color:#c4cedb}
.faq-list{margin:0;padding:0;list-style:none}
.faq-list li{border-top:1px solid #303b49;padding:1.5rem 0}
.faq-list h2{font-size:1.15rem;margin:0 0 .7rem}
.related{list-style:none;margin:1.6rem 0 0;padding:0;display:grid;gap:.55rem}
.related a{font-weight:600}
.footer-grid{grid-template-columns:1.15fr .85fr .85fr .7fr;gap:2.4rem}
.footer-heading{font:700 .72rem Montserrat,sans-serif;color:#fff;letter-spacing:.12em;text-transform:uppercase;margin:0 0 .85rem}
.footer-links{list-style:none;margin:0;padding:0}
.footer-links li{margin:0 0 .45rem}
.footer-brand .footer-name{margin-bottom:.7rem}
@media(max-width:720px){
  .page-intro{padding:2.3rem 0 2rem}
  .footer-grid{grid-template-columns:1fr 1fr;gap:1.8rem}
  .footer-brand{grid-column:1 / -1}
}
