/* Self-hosted font faces. Generated by tools/fetch-fonts.mjs - do not hand-edit.
 * Same families and weights as the previous Google Fonts <link>; only the
 * delivery origin changed. Latin subset only (the site is English-only).
 */
@font-face {
  font-family: "Archivo";
  font-style: normal;
  font-weight: 600 700;
  font-display: swap;
  src: url("/assets/fonts/archivo.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: "Inter";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("/assets/fonts/inter.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{--kelly-navy:#1B3A63;--kelly-navy-deep:#142c4b;--kelly-blue:#2E5C99;--kelly-cream:#FAF5EE;--charcoal:#23272E;--bryant-red:#D0102A;--bryant-red-dark:#b00c22;--cta-red:#AA3140;--cta-red-dark:#8F2837;--gold:#C9A24B;--gold-on-navy:#E0BC6A;--white:#ffffff;--ink:var(--charcoal);--ink-soft:#4a515c;--line:#e6e2db;--line-strong:#d4cec4;--bg:#ffffff;--bg-cream:var(--kelly-cream);--font-display:"Archivo", "Helvetica Neue", Arial, sans-serif;--font-body:"Inter", system-ui, -apple-system, Segoe UI, Roboto, sans-serif;--sp-1:0.5rem;--sp-2:1rem;--sp-3:1.5rem;--sp-4:2.5rem;--sp-5:4rem;--sp-6:6rem;--section-pad:clamp(3.5rem, 2rem + 6vw, 6rem);--container:1200px;--radius:12px;--radius-sm:8px;--radius-pill:999px;--shadow-1:0 4px 16px rgba(27, 58, 99, 0.08);--shadow-2:0 14px 34px rgba(27, 58, 99, 0.14);--header-h:76px}*,::before,::after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;font-family:var(--font-body);font-size:clamp(1rem,.95rem + .3vw,1.125rem);line-height:1.65;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,h4{font-family:var(--font-display);font-weight:700;line-height:1.12;color:var(--kelly-navy);margin:0 0 .5em;letter-spacing:-.01em}h1{font-size:clamp(2.2rem,5vw + .5rem,3.6rem)}h2{font-size:clamp(1.7rem,3vw + .5rem,2.5rem)}h3{font-size:clamp(1.25rem,1.4vw + .7rem,1.6rem)}h4{font-size:1.15rem}p{margin:0 0 1rem}p:last-child{margin-bottom:0}a{color:var(--kelly-blue);text-decoration:none}a:hover{color:var(--kelly-navy)}img{max-width:100%;height:auto;display:block}ul,ol{margin:0 0 1rem;padding-left:1.2rem}strong{font-weight:700}:focus-visible{outline:3px solid var(--kelly-blue);outline-offset:2px;border-radius:4px}.skip-link{position:absolute;left:-9999px;top:0;z-index:200;background:var(--kelly-navy);color:#fff;padding:.75rem 1.25rem;border-radius:0 0 var(--radius-sm)0}.skip-link:focus{left:0;color:#fff}.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:clamp(1.1rem,4vw,2rem)}.section{padding-block:var(--section-pad)}.section-cream{background:var(--bg-cream)}.section-navy{background:var(--kelly-navy);color:#eaf0f8}.section-navy h1,.section-navy h2,.section-navy h3{color:#fff}.section-head{max-width:62ch;margin-bottom:var(--sp-4)}.section-head.center{margin-inline:auto;text-align:center}.kicker{font-family:var(--font-body);text-transform:uppercase;letter-spacing:.14em;font-size:.8rem;font-weight:700;color:var(--kelly-blue);margin:0 0 .6rem}.section-navy .kicker{color:var(--gold)}.lead{font-size:1.15rem;color:var(--ink-soft)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;font-family:var(--font-body);font-weight:700;font-size:1rem;line-height:1;padding:.95rem 1.6rem;border-radius:var(--radius-sm);border:2px solid transparent;cursor:pointer;text-align:center;transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease,color .18s ease,border-color .18s ease}.btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-2)}.btn:active{transform:translateY(0);box-shadow:var(--shadow-1)}.btn-primary{background:var(--kelly-navy);color:#fff}.btn-primary:hover{background:var(--kelly-navy-deep);color:#fff}.btn-emergency{background:var(--cta-red);color:#fff}.btn-emergency:hover{background:var(--cta-red-dark);color:#fff}.btn-outline{background:0 0;color:var(--kelly-navy);border-color:var(--kelly-navy)}.btn-outline:hover{background:var(--kelly-navy);color:#fff}.btn-light{background:#fff;color:var(--kelly-navy)}.btn-light:hover{background:var(--kelly-cream);color:var(--kelly-navy)}.btn-outline-light{background:0 0;color:#fff;border-color:rgba(255,255,255,.7)}.btn-outline-light:hover{background:#fff;color:var(--kelly-navy);border-color:#fff}.top-bar{background:var(--kelly-navy);color:#fff;font-family:var(--font-body);font-size:.82rem}.top-bar-inner{display:flex;flex-wrap:nowrap;align-items:stretch;justify-content:space-between;gap:1rem;min-height:42px}.top-bar-left{display:flex;align-items:stretch;gap:.2rem}.top-bar-right{display:flex;align-items:center;gap:1rem}.top-bar-emergency{display:inline-flex;align-items:center;gap:.45rem;background:var(--bryant-red);color:#fff;font-weight:700;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;padding-inline:1rem;margin-left:calc(-1*clamp(1.1rem,4vw,2rem));padding-left:clamp(1.1rem,4vw,2rem);transition:background-color .18s ease}.top-bar-emergency:hover{background:var(--bryant-red-dark);color:#fff}.top-bar-emergency svg{flex:0 0 auto}.top-bar-link{display:inline-flex;align-items:center;gap:.4rem;color:#fff;font-weight:600;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;padding-inline:.5rem}.top-bar-link:hover{color:var(--gold)}.top-bar-link svg{flex:0 0 auto}.top-bar-phone{display:inline-flex;align-items:center;gap:.4rem;color:#fff;font-weight:700;white-space:nowrap;border:1.5px solid rgba(255,255,255,.6);border-radius:var(--radius-pill);padding:.28rem .95rem;transition:background-color .18s ease,color .18s ease,border-color .18s ease}.top-bar-phone svg{flex:0 0 auto}.top-bar-phone:hover{background:#fff;color:var(--kelly-navy);border-color:#fff}.site-header{position:sticky;top:0;z-index:100;background:#fff;border-bottom:1px solid var(--line);box-shadow:var(--shadow-1)}.header-inner{display:flex;align-items:center;gap:1rem;min-height:var(--header-h);padding-block:.6rem}.brand{flex:0 0 auto;margin-right:auto}.brand-logo{height:68px;width:auto}.primary-nav{margin-left:auto}.nav-list{list-style:none;display:flex;align-items:center;gap:.2rem;margin:0;padding:0}.nav-item{position:relative}.nav-item>a,.dropdown-toggle{display:inline-flex;align-items:center;gap:.3rem;font-family:var(--font-body);font-weight:600;font-size:.95rem;color:var(--kelly-navy);background:0 0;border:0;cursor:pointer;padding:.6rem .7rem;border-radius:var(--radius-sm);white-space:nowrap}.nav-item>a{position:relative}.nav-item>a::after{content:"";position:absolute;left:.7rem;right:.7rem;bottom:.35rem;height:2px;background:var(--kelly-blue);transform:scaleX(0);transform-origin:left;transition:transform .22s ease}.nav-item>a:hover::after,.nav-item>a[aria-current=page]::after{transform:scaleX(1)}.dropdown-toggle:hover{color:var(--kelly-blue)}.chevron{transition:transform .2s ease}.dropdown{list-style:none;margin:0;padding:.5rem;position:absolute;top:calc(100% + 2px);left:0;min-width:230px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-2);opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .18s ease,transform .18s ease,visibility .18s;z-index:120}.dropdown-wide{min-width:460px;display:grid;grid-template-columns:1fr 1fr;gap:.1rem .4rem}.dropdown li{margin:0}.dropdown a{display:block;padding:.55rem .7rem;border-radius:var(--radius-sm);font-size:.92rem;font-weight:500;color:var(--ink)}.dropdown a:hover{background:var(--kelly-cream);color:var(--kelly-navy)}.has-dropdown:hover>.dropdown,.no-js .has-dropdown:focus-within>.dropdown,.has-dropdown .dropdown-toggle[aria-expanded=true]+.dropdown{opacity:1;visibility:visible;transform:translateY(0)}.has-dropdown:hover>.dropdown-toggle .chevron,.dropdown-toggle[aria-expanded=true] .chevron{transform:rotate(180deg)}.nav-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;padding:0;background:0 0;border:1px solid var(--line-strong);border-radius:var(--radius-sm);cursor:pointer}.nav-toggle-bar{display:block;width:22px;height:2px;margin-inline:auto;background:var(--kelly-navy);transition:transform .2s ease,opacity .2s ease}.nav-toggle[aria-expanded=true] .nav-toggle-bar:nth-child(1){transform:translateY(7px) rotate(45deg)}.nav-toggle[aria-expanded=true] .nav-toggle-bar:nth-child(2){opacity:0}.nav-toggle[aria-expanded=true] .nav-toggle-bar:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.hero{position:relative;min-height:clamp(520px,74vh,680px);display:flex;align-items:center;overflow:hidden;color:#fff}.hero-media{position:absolute;inset:0;z-index:0}.hero-video,.hero-fallback{width:100%;height:100%;object-fit:cover}.hero-fallback{display:none;animation:kenburns 26s ease-in-out infinite alternate;transform-origin:center}@keyframes kenburns{0%{transform:scale(1)}to{transform:scale(1.08) translate(-1.5%,-1%)}}.hero-overlay{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(to right,rgba(15,26,43,.82)0,rgba(15,26,43,.55) 52%,rgba(15,26,43,.28) 100%),linear-gradient(to top,rgba(15,26,43,.6)0,transparent 42%)}.hero-content{position:relative;z-index:2;padding-block:clamp(3rem,8vh,5rem);max-width:720px}.hero h1{color:#fff;font-size:clamp(2.4rem,5.2vw + .5rem,4rem);margin-bottom:.5rem}.hero-sub{font-size:clamp(1.1rem,1.6vw + .5rem,1.4rem);color:#e8eef7;margin-bottom:2rem;max-width:44ch}.hero-actions{display:none}.google-badge{display:inline-flex;align-items:center;gap:.8rem;width:min(290px,100%);background:#fff;border-top:3px solid #34a853;border-radius:var(--radius-sm);padding:.8rem 1.05rem;box-shadow:0 10px 26px rgba(15,26,43,.3);color:var(--ink);transition:transform .18s ease,box-shadow .18s ease}.google-badge:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(15,26,43,.36);color:var(--ink)}.google-badge-logo{flex:0 0 auto}.google-badge-logo svg{width:34px;height:34px;display:block}.google-badge-body{display:flex;flex-direction:column;gap:.15rem;min-width:0}.google-badge-label{font-size:.72rem;font-weight:600;color:#5f6368}.google-badge-score{display:inline-flex;align-items:center;gap:.4rem}.google-badge-num{font-family:var(--font-display);font-size:1.2rem;font-weight:700;color:var(--kelly-blue);line-height:1}.google-badge-stars{display:inline-flex;gap:1px;color:#f29900}.google-badge-stars svg{width:15px;height:15px;display:block}.google-badge-count{font-size:.72rem;color:#5f6368}.section-head .google-badge{box-shadow:var(--shadow-1);border:1px solid var(--line);margin:.75rem auto 0}.section-head .google-badge:hover{box-shadow:var(--shadow-2)}.stars{display:inline-flex;gap:2px;color:var(--gold)}.stars svg{width:18px;height:18px;display:block}.trust-inline{display:inline-flex;align-items:center;gap:.6rem;flex-wrap:wrap;font-weight:600}.trust-inline .rating-num{font-family:var(--font-display);font-size:1.25rem;font-weight:700}.hero .trust-inline{color:#fff}.trust-strip{background:var(--kelly-navy);color:#eaf0f8}.trust-strip-inner{display:flex;flex-wrap:wrap;align-items:center;gap:1.25rem 2rem;padding-block:1.25rem}.trust-strip-badge{height:54px;width:auto;background:#fff;border-radius:var(--radius-sm);padding:6px 10px}.trust-strip ul{list-style:none;display:flex;flex-wrap:wrap;gap:.75rem 1.75rem;margin:0;padding:0;font-weight:600}.trust-strip li{display:inline-flex;align-items:center;gap:.5rem}.trust-strip li svg{color:var(--gold);flex:0 0 auto}.grid{display:grid;gap:clamp(1.1rem,2vw,1.75rem)}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-1);overflow:hidden;transition:transform .22s ease,box-shadow .22s ease}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-2)}.photo-frame{overflow:hidden}.photo-frame img{transition:transform .4s ease}a:hover .photo-frame img,.card:hover .photo-frame img{transform:scale(1.04)}.service-card{display:flex;flex-direction:column;color:var(--ink)}.service-card .photo-frame{aspect-ratio:4/3}.service-card .photo-frame img{width:100%;height:100%;object-fit:cover}.service-card .photo-frame.contain{background:var(--kelly-cream);border-bottom:1px solid var(--line)}.service-card .photo-frame.contain img{object-fit:contain;padding:1.25rem}.service-card-body{padding:1.15rem 1.25rem 1.35rem;display:flex;flex-direction:column;gap:.4rem}.service-card h3{margin:0}.service-card p{color:var(--ink-soft);font-size:.98rem}.service-card .card-link{margin-top:auto;font-weight:700;color:var(--kelly-blue);display:inline-flex;align-items:center;gap:.35rem}.service-card .card-link svg{transition:transform .2s ease}.service-card:hover .card-link svg{transform:translateX(3px)}.product-review-grid{list-style:none;margin:0;padding:0;align-items:start}.product-review-card{padding:0;overflow:clip}.product-review-image{display:grid;place-items:center;min-height:15rem;padding:1.25rem;background:var(--white);border-bottom:1px solid var(--line)}.product-review-image picture{display:contents}.product-review-image img{width:100%;height:13rem;object-fit:contain}.product-review-copy{padding:1.35rem}.product-review-card h3{margin:0 0 .55rem;font-size:clamp(1.05rem,1.6vw,1.2rem);line-height:1.35}.product-review-card .product-model{margin:0;color:var(--ink-soft);font-weight:700}.product-evidence{margin:.45rem 0 0}.product-evidence-link{display:inline-flex;align-items:center;min-height:44px;color:var(--kelly-blue);font-weight:800;text-decoration:underline;text-decoration-thickness:.1em;text-underline-offset:.18em}.product-evidence-link:hover{color:var(--bryant-red-dark)}.manufacturer-details{margin-top:1rem;border-top:1px solid var(--line)}.manufacturer-details summary{min-height:44px;padding:.8rem 0;color:var(--kelly-blue);font-weight:800;cursor:pointer}.manufacturer-details summary:hover{color:var(--bryant-red-dark)}.manufacturer-details summary:focus-visible{outline:3px solid var(--kelly-blue);outline-offset:3px;border-radius:2px}.product-review-note{margin:1rem 0 0;padding:.8rem .9rem;border-left:4px solid var(--bryant-red);border-radius:var(--radius-sm);background:#fdf1f3;color:var(--ink);font-size:.9rem;line-height:1.5}.manufacturer-details-body{padding:.1rem 0 .25rem;overflow-wrap:anywhere}.manufacturer-details-body h4{margin:1rem 0 .45rem;color:var(--kelly-navy);font-size:.95rem;letter-spacing:.02em}.manufacturer-details-body ul{margin:0;padding-left:1.2rem}.manufacturer-details-body li{margin:.4rem 0;color:var(--ink-soft)}.split{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(1.75rem,4vw,3.5rem);align-items:center}.split-media{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-2)}.split-media img{width:100%;height:100%;object-fit:cover}.split-body h2{margin-bottom:.6rem}.review-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-1);padding:1.5rem 1.5rem 1.35rem;display:flex;flex-direction:column;gap:.85rem;transition:transform .22s ease,box-shadow .22s ease}.review-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-2)}.review-quote{font-size:1.02rem;color:var(--ink);margin:0}.review-attr{margin-top:auto;font-weight:600;color:var(--kelly-navy)}.review-source{display:block;font-weight:500;font-size:.85rem;color:var(--ink-soft)}.cta-band{background:var(--kelly-navy);color:#eaf0f8;padding-block:var(--section-pad)}.cta-band h2{color:#fff}.cta-band-inner{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(1.5rem,4vw,3rem);align-items:center}.cta-band-copy p{color:#cdd8e8;margin:0}.cta-band-actions{display:flex;flex-direction:column;gap:1rem;align-items:flex-start}.cta-phones{display:flex;flex-wrap:wrap;gap:.75rem}.cta-phone{display:flex;flex-direction:column;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:var(--radius-sm);padding:.7rem 1.1rem;color:#fff;transition:background-color .18s ease,transform .18s ease}.cta-phone:hover{background:rgba(255,255,255,.16);color:#fff;transform:translateY(-2px)}.cta-phone-city{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--gold-on-navy);font-weight:700}.cta-phone-num{font-family:var(--font-display);font-size:1.4rem;font-weight:700;letter-spacing:-.01em}.page-banner{background:var(--kelly-navy);color:#eaf0f8;padding-block:clamp(2rem,4vw,3.25rem)}.page-banner-slim{padding-block:1rem}.page-banner-title{color:#fff;margin:.5rem 0 .4rem}.page-banner-subtitle{color:#cdd8e8;max-width:60ch;margin:0}.breadcrumbs{font-size:.85rem;display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.breadcrumbs a{color:#cdd8e8}.breadcrumbs a:hover{color:#fff}.breadcrumbs [aria-current=page]{color:#fff;font-weight:600}.breadcrumbs span[aria-hidden]{color:#7f93b0}.breadcrumbs-light a{color:#e8eef7}.breadcrumbs-light [aria-current=page]{color:#fff}.service-band{background:var(--kelly-navy);color:#eaf0f8;overflow:hidden}.service-band-inner{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(1.5rem,4vw,3.5rem);align-items:center;padding-block:clamp(2rem,4.5vw,3.5rem)}.service-band-title{color:#fff;margin:.7rem 0 .5rem}.service-band-subtitle{color:#cdd8e8;max-width:52ch;margin:0 0 1.5rem}.service-band-actions{display:flex;flex-wrap:wrap;gap:.75rem}.service-band-media{max-height:420px;margin-inline:auto;box-shadow:var(--shadow-2)}.service-band-media img{display:block;width:100%;height:auto;max-height:420px;object-fit:cover}.service-band-media.contain{background:var(--kelly-cream);padding:1.25rem}.service-band-media.contain img{object-fit:contain}.product-intro-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(1.5rem,4vw,3rem);align-items:center}.product-figure{margin:0;background:var(--kelly-cream);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(1.5rem,4vw,3rem);display:flex;align-items:center;justify-content:center}.product-figure picture{display:contents}.product-image{max-height:360px;width:auto}.product-figure-review{flex-direction:column;gap:1rem;min-height:25rem;background:var(--white);box-shadow:var(--shadow-1)}.product-figure-review .product-image{width:100%;height:clamp(15rem,25vw,20rem);object-fit:contain}.product-figure-caption{max-width:46ch;margin:0;padding-top:.9rem;border-top:1px solid var(--line);color:var(--ink-soft);font-size:.82rem;line-height:1.5}.product-title{margin:.2rem 0 .5rem}.product-subtitle{font-size:1.1rem;color:var(--ink-soft);margin-bottom:1.4rem}.product-actions{display:flex;flex-wrap:wrap;gap:.75rem}.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;counter-reset:step}.step{position:relative;padding-left:3.25rem}.step::before{counter-increment:step;content:counter(step);position:absolute;left:0;top:0;width:2.4rem;height:2.4rem;display:grid;place-items:center;background:var(--kelly-navy);color:#fff;font-family:var(--font-display);font-weight:700;border-radius:50%}.step h3{margin:.2rem 0 .3rem;font-size:1.15rem}.step p{margin:0;color:var(--ink-soft);font-size:.98rem}.contact-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(1.1rem,2vw,1.75rem)}.contact-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-1);padding:1.6rem 1.6rem}.contact-card.primary{border-color:var(--kelly-navy);border-width:2px}.contact-card .kicker{margin-bottom:.4rem}.contact-card .big-phone{font-family:var(--font-display);font-size:clamp(1.7rem,3vw,2.2rem);font-weight:700;color:var(--kelly-navy);letter-spacing:-.02em;display:inline-block;margin-bottom:.4rem}.contact-card address{font-style:normal;color:var(--ink-soft)}.contact-card .hours-row{display:flex;justify-content:space-between;gap:1rem;padding:.3rem 0;border-bottom:1px solid var(--line)}.contact-card .hours-row:last-child{border-bottom:0}.emergency-note{background:#fbe9ec;border:1px solid #f2c4cc;border-left:4px solid var(--bryant-red);border-radius:var(--radius-sm);padding:1rem 1.2rem;color:#6a0f1c}.emergency-note strong{color:var(--bryant-red-dark)}.map-embed{border:0;width:100%;height:380px;border-radius:var(--radius);box-shadow:var(--shadow-1);display:block}.map-placeholder{height:auto;min-height:380px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(1.4rem,4vw,2.2rem);border:1px solid var(--line);background:#fff}.map-placeholder>p:not(.kicker){max-width:34rem}.form-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-1);padding:clamp(1.5rem,3vw,2.25rem)}.form-card p a:not(.btn){text-decoration:underline;text-underline-offset:.15em}.form-card p a:not(.btn):hover,.form-card p a:not(.btn):focus-visible{text-decoration-thickness:2px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem 1.25rem}.field{display:flex;flex-direction:column;gap:.35rem}.field.full{grid-column:1/-1}.field label{font-weight:600;font-size:.92rem;color:var(--kelly-navy)}.field input,.field select,.field textarea{font-family:var(--font-body);font-size:1rem;padding:.75rem .85rem;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:#fff;color:var(--ink);width:100%}.field textarea{min-height:130px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{outline:0;border-color:var(--kelly-blue);box-shadow:0 0 0 3px rgba(46,92,153,.18)}.form-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.form-success{background:#e8f3ec;border:1px solid #bcdcc7;border-left:4px solid #2e7d46;border-radius:var(--radius-sm);padding:1.1rem 1.25rem;color:#1e5230;font-weight:600}.form-success:focus-visible{outline:3px solid var(--kelly-blue);outline-offset:2px}.field.has-error input,.field.has-error select,.field.has-error textarea{border-color:var(--bryant-red);background:snow}.field.has-error input:focus,.field.has-error select:focus,.field.has-error textarea:focus{border-color:var(--bryant-red);box-shadow:0 0 0 3px rgba(208,16,42,.16)}.field-error{margin:0;font-size:.86rem;font-weight:600;color:var(--bryant-red-dark)}.form-error-summary{background:#fdf1f3;border:1px solid #f2c6ce;border-left:4px solid var(--bryant-red);border-radius:var(--radius-sm);padding:1rem 1.15rem;margin-bottom:1.25rem}.form-error-summary:focus-visible{outline:3px solid var(--bryant-red);outline-offset:2px}.form-error-summary-title{margin:0 0 .5rem;font-weight:700;color:var(--bryant-red-dark)}.form-error-summary ul{margin:0;padding-left:1.15rem}.form-error-summary li+li{margin-top:.3rem}.form-error-summary a{color:var(--bryant-red-dark)}.form-status{margin:.75rem 0 0;font-size:.9rem;font-weight:600}.form-status:empty{display:none}.form-status-pending{color:var(--ink-soft)}.form-status-error{color:var(--bryant-red-dark)}.form-note{font-size:.85rem;color:var(--ink-soft);margin-top:.75rem}.field-required,.field-optional{font-weight:500;font-size:.82rem;color:var(--ink-soft)}.field-group{border:1px solid var(--line);border-radius:var(--radius-sm);padding:.9rem 1rem 1rem;margin:0 0 1rem;min-width:0}.field-group legend{font-weight:600;font-size:.92rem;color:var(--kelly-navy);padding-inline:.35rem}.field-group .form-grid{margin:0}.field-hint{font-size:.82rem;color:var(--ink-soft);margin:0}.form-privacy{font-size:.82rem;color:var(--ink-soft);line-height:1.5;margin:0 0 1rem}.form-nojs,.form-nojs-static{font-size:.85rem;color:var(--ink);background:var(--bg-cream);border-left:3px solid var(--gold);padding:.6rem .8rem;margin:.75rem 0 0;border-radius:var(--radius-sm)}.form-nojs[hidden]{display:none}.accordion{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff}.accordion-item+.accordion-item{border-top:1px solid var(--line)}.accordion-trigger{width:100%;text-align:left;background:#fff;border:0;cursor:pointer;padding:1.15rem 1.35rem;font-family:var(--font-display);font-weight:600;font-size:1.1rem;color:var(--kelly-navy);display:flex;justify-content:space-between;align-items:center;gap:1rem}.accordion-trigger:hover{background:var(--kelly-cream)}.accordion-icon{flex:0 0 auto;transition:transform .22s ease;color:var(--kelly-blue)}.accordion-trigger[aria-expanded=true] .accordion-icon{transform:rotate(45deg)}.accordion-panel{padding:0 1.35rem;max-height:0;overflow:hidden;transition:max-height .28s ease,padding .28s ease}.accordion-panel[hidden]{display:block}.accordion-trigger[aria-expanded=true]+.accordion-panel{padding-bottom:1.25rem}.no-js .accordion-panel{max-height:none;padding-bottom:1.25rem}.site-footer{background:var(--kelly-navy-deep);color:#c6d2e2}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:2rem;padding-block:clamp(2.5rem,5vw,4rem)}.footer-logo{height:40px;width:auto;background:#fff;border-radius:6px;padding:6px 10px;margin-bottom:.9rem}.footer-tagline{color:#aebdd4;margin-bottom:1rem;max-width:34ch}.footer-badge{background:#fff;border-radius:var(--radius-sm);padding:8px}.footer-heading{color:#fff;font-size:1.05rem;margin-bottom:.9rem}.footer-nap p{margin:0 0 .35rem}.footer-nap a,.footer-links a,.footer-hours a{color:#c6d2e2}.footer-nap a:hover,.footer-links a:hover,.footer-hours a:hover{color:#fff}.footer-hours{color:#aebdd4;font-size:.95rem;margin-top:.6rem}.footer-hours a{text-decoration:underline;text-underline-offset:.15em}.footer-links{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.footer-social{display:flex;gap:.6rem;margin-top:1.1rem}.footer-social a{width:40px;height:40px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.1);color:#fff;transition:background-color .18s ease,transform .18s ease}.footer-social a:hover{background:var(--kelly-blue);transform:translateY(-2px)}.footer-bottom{border-top:1px solid rgba(255,255,255,.12)}.footer-bottom-inner{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem 1.5rem;padding-block:1.1rem;font-size:.85rem;color:#9fb0c9}.footer-meta{color:#9fb0c9}.footer-meta a{color:inherit}.footer-meta a:hover{color:#fff;text-decoration:underline}.reveal{opacity:0;transform:translateY(18px);transition:opacity .5s ease,transform .5s ease}.reveal.is-visible{opacity:1;transform:none}[data-reveal-group]>*{opacity:0;transform:translateY(14px);transition:opacity .45s ease,transform .45s ease}[data-reveal-group].is-visible>*{opacity:1;transform:none}[data-reveal-group].is-visible>:nth-child(2){transition-delay:.08s}[data-reveal-group].is-visible>:nth-child(3){transition-delay:.16s}[data-reveal-group].is-visible>:nth-child(4){transition-delay:.24s}[data-reveal-group].is-visible>:nth-child(5){transition-delay:.32s}[data-reveal-group].is-visible>:nth-child(6){transition-delay:.4s}.no-js .reveal,.no-js [data-reveal-group]>*{opacity:1;transform:none}@media (min-width:1081px) and (max-width:1540px){.header-inner{gap:.5rem}.nav-list{gap:0}.nav-item>a,.dropdown-toggle{padding:.6rem .5rem;font-size:.86rem}.dropdown-toggle .chevron{width:10px;height:10px}}@media (min-width:1081px) and (max-width:1220px){.nav-item>a,.dropdown-toggle{font-size:.8rem;padding:.6rem .4rem}}@media (max-width:960px){.grid-4{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(2,1fr)}.split{grid-template-columns:1fr}.cta-band-inner{grid-template-columns:1fr}.product-intro-grid{grid-template-columns:1fr}.contact-cards{grid-template-columns:1fr}.steps{grid-template-columns:1fr}.service-band-inner{grid-template-columns:1fr}.service-band-media{max-width:520px}}@media (max-width:1080px){.nav-toggle{display:flex}.primary-nav{position:fixed;top:var(--header-h);left:0;right:0;bottom:0;background:#fff;border-top:1px solid var(--line);overflow-y:auto;padding:.75rem clamp(1.1rem,4vw,2rem) 6rem;transform:translateX(-100%);transition:transform .25s ease;margin:0;box-shadow:var(--shadow-2)}.primary-nav.is-open{transform:translateX(0)}.nav-list{flex-direction:column;align-items:stretch;gap:0}.nav-item{border-bottom:1px solid var(--line)}.nav-item>a,.dropdown-toggle{width:100%;justify-content:space-between;padding:1rem .5rem;font-size:1.05rem;min-height:52px}.nav-item>a::after{display:none}.dropdown{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;min-width:0;padding:0 0 0 .5rem;max-height:0;overflow:hidden;transition:max-height .28s ease,padding-bottom .28s ease}.dropdown-wide{grid-template-columns:1fr}.dropdown-toggle[aria-expanded=true]+.dropdown{max-height:720px;padding-bottom:.5rem}.dropdown a{padding:.7rem .6rem;min-height:46px;display:flex;align-items:center}.no-js .dropdown{max-height:none;padding-bottom:.5rem}.no-js .header-inner{flex-wrap:wrap}.no-js .nav-toggle{display:none}.no-js .primary-nav{position:static;transform:none;margin-left:0;width:100%;order:10;box-shadow:none;border-top:1px solid var(--line);padding:.5rem clamp(1.1rem,4vw,2rem) 1rem;overflow-y:visible}}@media (max-width:768px){.top-bar-link{display:none}.top-bar-emergency{font-size:.74rem;letter-spacing:.03em;padding-right:.85rem;padding-left:clamp(1.1rem,4vw,2rem)}.top-bar-phone{padding:.24rem .75rem}.brand-logo{height:58px}.grid-4,.grid-3,.grid-2{grid-template-columns:1fr}.cta-band-actions{align-items:stretch}.footer-grid{grid-template-columns:1fr 1fr}.hero{min-height:0;align-items:stretch}.hero h1{font-size:clamp(1.9rem,8vw,2.4rem)}.hero-content{padding-block:1.75rem 2rem;max-width:none}.hero-sub{font-size:1rem;margin-bottom:1.5rem;max-width:36ch}.hero-actions{display:block}.hero-action{width:100%;min-height:56px;font-size:1.05rem}.hero-action+.hero-action{margin-top:.65rem}.btn-outline-light.hero-action{background:rgba(255,255,255,.12);border-color:#fff;backdrop-filter:blur(2px)}.hero-trust{margin:.9rem 0 0;font-size:.78rem;color:#cbd7e6;text-align:center}}@media (max-width:520px){.footer-grid{grid-template-columns:1fr}.top-bar-emergency{font-size:.68rem}}@media (max-width:430px){.header-inner{gap:.5rem}.brand{flex:1 1 auto;min-width:0}.brand-logo{max-width:100%;height:auto}.nav-toggle{flex:0 0 44px}.top-bar-inner{gap:.35rem}.top-bar-emergency{letter-spacing:0;font-size:.66rem;padding-right:.55rem;padding-left:.75rem;margin-left:calc(-1*clamp(1.1rem,4vw,2rem))}.top-bar-emergency svg,.top-bar-phone svg{display:none}.top-bar-phone{font-size:.78rem;padding:.24rem .6rem}}.center{text-align:center}.narrow{max-width:74ch;margin-inline:auto}.narrow h2{margin-top:2rem}.narrow h2:first-child{margin-top:0}.narrow p{margin-bottom:1rem;line-height:1.7}.narrow ul{margin:0 0 1.1rem;padding-left:1.25rem;line-height:1.7}.narrow li{margin-bottom:.5rem}.narrow>:last-child{margin-bottom:0}.card-pad{padding:1.75rem}.btn-card{margin-top:.75rem}.btn-block{margin-top:1rem;width:100%}.muted-note{margin-top:1.75rem;color:var(--ink-soft)}.review-badge-frame{aspect-ratio:5/4;background:#fff;display:flex;align-items:center;justify-content:center;margin:-1.75rem -1.75rem .75rem;padding:1rem}.review-badge-img{max-height:100px;width:auto}.stack-actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;margin-top:2rem}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}.service-area-actions,.service-area-contact-actions,.service-map-actions{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center}.service-area-contact-actions{justify-content:center}.service-area-list-note{margin-top:1.75rem;color:var(--ink-soft)}.service-map-shell{margin-top:clamp(2rem,4vw,3rem);overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow-1)}.radius-map{margin:0}.radius-map img{display:block;width:100%;height:auto;border:0;border-radius:0;background:#eaf0f6}.radius-map figcaption{margin:0;padding:.75rem clamp(1rem,3vw,1.5rem);border-top:1px solid var(--line);font-size:.9rem;color:var(--ink-soft)}.service-map-controls{display:grid;grid-template-columns:minmax(15rem,1fr) auto;gap:1.25rem 2rem;align-items:center;padding:clamp(1.25rem,3vw,2rem);border-top:1px solid var(--line)}.service-map-controls p{margin-bottom:.5rem}.service-map-controls p:last-child{margin-bottom:0}.service-map-controls a:not(.btn){text-decoration:underline;text-underline-offset:.15em}.service-map-nojs{grid-column:1/-1;padding-top:1rem;border-top:1px solid var(--line)}.service-area-map .map-embed{min-height:clamp(34rem,65vw,45rem);border-radius:var(--radius)}.area-list{list-style:none;margin:0;padding:0;columns:4;column-gap:clamp(1.25rem,3vw,2.5rem)}.area-list li{break-inside:avoid;padding:.32rem 0;line-height:1.45;color:var(--ink);border-bottom:1px solid var(--line, rgba(0, 0, 0, 0.08));overflow-wrap:anywhere}.sitemap-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:2rem 2.5rem}.sitemap-group h3{font-size:1.05rem;color:var(--kelly-navy);padding-bottom:.5rem;margin-bottom:.75rem;border-bottom:2px solid var(--line)}.sitemap-list{list-style:none;margin:0;padding:0}.sitemap-list li{padding:.3rem 0;line-height:1.5}.sitemap-list a{text-decoration:underline;text-underline-offset:.15em}.sitemap-list a:hover{text-decoration-thickness:2px}.blog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(320px,100%),1fr));gap:clamp(1.25rem,3vw,2rem)}.blog-card{display:flex;flex-direction:column;overflow:hidden;padding:0}.blog-card-media{aspect-ratio:16/9;overflow:hidden}.blog-card-media img{width:100%;height:100%;object-fit:cover;display:block}.blog-card-body{display:flex;flex-direction:column;gap:.6rem;padding:1.5rem}.blog-card-date{font-size:.85rem;letter-spacing:.03em;text-transform:uppercase;color:var(--ink-soft);margin:0}.blog-card-title{margin:0;font-size:1.3rem;line-height:1.3}.blog-card-title a{color:var(--kelly-navy);text-decoration:none}.blog-card-title a:hover{text-decoration:underline}.blog-card-excerpt{margin:0;color:var(--ink-soft)}.blog-card-more{margin-top:auto;font-weight:600;text-decoration:none}.blog-card-more:hover{text-decoration:underline}.blog-post{max-width:70ch;margin-inline:auto}.blog-post-byline{font-size:.9rem;letter-spacing:.02em;color:var(--ink-soft);margin:0 0 1.75rem;padding-bottom:1.25rem;border-bottom:1px solid var(--line, #e3e6ea)}.blog-post h2{margin-top:2.5rem;margin-bottom:.75rem;line-height:1.25}.blog-post h3{margin-top:1.75rem;margin-bottom:.5rem;font-size:1.15rem;color:var(--kelly-navy)}.blog-post p{margin:0 0 1.1rem;line-height:1.7}.blog-post ul{margin:0 0 1.1rem;padding-left:1.25rem;line-height:1.7}.blog-post li{margin-bottom:.5rem}.blog-post-callout{background:var(--kelly-cream, #f6f3ee);border-left:4px solid var(--kelly-navy);border-radius:8px;padding:1.25rem 1.5rem;margin:2rem 0}.blog-post-callout p{margin:0}.blog-post-byline .blog-post-dates{display:block;margin-top:.25rem}.blog-post-author{display:flex;align-items:center;gap:.9rem;background:var(--kelly-cream);border:1px solid var(--line);border-radius:var(--radius);padding:1.1rem 1.25rem;margin-top:2.5rem}.blog-post-author img{flex:0 0 auto;width:64px;height:auto}.blog-post-author p{margin:0;font-size:.9rem;color:var(--ink-soft);line-height:1.5}.blog-post-author .blog-post-author-name{display:block;font-weight:700;color:var(--kelly-navy);font-family:var(--font-display)}@media (max-width:900px){.area-list{columns:3}.service-map-controls{grid-template-columns:1fr}}@media (max-width:600px){.area-list{columns:2;column-gap:1.25rem}.service-map-actions .btn{width:100%}}@media (max-width:350px){.area-list{columns:1}}@media (prefers-reduced-motion:reduce){*,::before,::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.reveal,[data-reveal-group]>*{opacity:1!important;transform:none!important}.hero-fallback{animation:none!important}}