:root{--navy:#0f2547;--cobalt:#1546c9;--sky:#e8f0ff;--orange:#ff7a1a;--concrete:#8e959b;--ink:#0f2547;--white:#fff}
*{box-sizing:border-box}
body{margin:0;background:var(--white);color:var(--ink);font:400 1.0625rem/1.55 Archivo,system-ui,sans-serif;font-stretch:100%}
h1,h2,h3{margin:0;font-stretch:118%;font-weight:850;line-height:1;letter-spacing:-.02em}
h2{font-size:clamp(1.9rem,4vw,3rem)}
p{margin:0}
a{color:inherit}
:focus-visible{outline:3px solid var(--orange);outline-offset:3px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

.bar{display:flex;align-items:center;gap:24px;padding:14px clamp(16px,4vw,56px);border-bottom:3px solid var(--navy)}
.logo{display:flex;align-items:center;gap:8px;text-decoration:none;font-weight:900;font-stretch:125%;font-size:1.5rem;letter-spacing:-.03em;color:var(--cobalt)}
.logo svg{width:34px;height:34px}
.links{display:flex;gap:20px;margin-left:auto;font-weight:600}
.links a{text-decoration:none}.links a:hover{color:var(--cobalt)}
.bar-call{background:var(--navy);color:var(--white);text-decoration:none;font-weight:700;padding:10px 16px;border-radius:4px}

.hero{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(24px,4vw,56px);align-items:center;padding:clamp(40px,6vw,80px) clamp(16px,4vw,56px)}
.hero h1{font-size:clamp(2.8rem,6.6vw,5.6rem);color:var(--navy);max-width:9ch}
.lede{margin-top:22px;font-size:1.2rem;max-width:42ch;color:#33476b}
.cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 24px;border-radius:4px;font:800 1.05rem Archivo,sans-serif;font-stretch:110%;text-decoration:none;border:3px solid var(--navy);cursor:pointer}
.btn-orange{background:var(--orange);color:var(--navy)}
.btn-orange:hover{background:#ff9446}
.btn-ghost{background:var(--white);color:var(--navy)}
.btn-ghost:hover{background:var(--sky)}
.hours-inline{margin-top:22px;color:#33476b}

.ba{position:relative;aspect-ratio:8/5;border:3px solid var(--navy);border-radius:6px;overflow:hidden;background:#cdd2d8;box-shadow:12px 12px 0 var(--cobalt)}
.ba-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ba-before{position:absolute;inset:0;clip-path:inset(0 calc(100% - var(--pos)) 0 0)}
.ba-grime{position:absolute;inset:0;width:100%;height:100%;mix-blend-mode:multiply}
.ba-line{position:absolute;top:0;bottom:0;left:var(--pos);width:4px;margin-left:-2px;background:var(--white);pointer-events:none}
.ba-knob{position:absolute;top:50%;left:50%;width:44px;height:44px;margin:-22px 0 0 -22px;border-radius:50%;background:var(--orange);border:3px solid var(--navy)}
.ba-knob::before,.ba-knob::after{content:"";position:absolute;top:50%;width:0;height:0;margin-top:-6px;border:6px solid transparent}
.ba-knob::before{left:4px;border-right-color:var(--navy)}
.ba-knob::after{right:4px;border-left-color:var(--navy)}
.ba-tag{position:absolute;top:12px;padding:3px 10px;background:var(--navy);color:var(--white);font-weight:700;font-size:.85rem;border-radius:3px;pointer-events:none}
.ba-tag-l{left:12px}.ba-tag-r{right:12px;background:var(--white);color:var(--navy)}
.ba-range{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize}
.ba-range:focus-visible + *{outline:none}
.ba:focus-within{outline:3px solid var(--orange);outline-offset:4px}

.services{background:var(--sky);padding:72px clamp(16px,4vw,56px)}
.sub{margin-top:10px;color:#33476b;font-size:1.1rem}
.price-list{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:36px;border:3px solid var(--navy);background:var(--white)}
.price-list article{padding:24px 22px;border-right:3px solid var(--navy)}
.price-list article:last-child{border-right:0}
.price-list h3{font-size:1.3rem}
.from{margin:14px 0 10px;font-weight:600;color:#33476b}
.from span{font-size:2.6rem;font-weight:900;font-stretch:115%;color:var(--cobalt);letter-spacing:-.03em}
.price-list p:last-child{color:#33476b;font-size:.98rem}

.area{display:grid;grid-template-columns:.9fr 1.1fr;gap:48px;align-items:center;padding:80px clamp(16px,4vw,56px)}
.area-copy p{margin-top:14px;max-width:42ch;color:#33476b}
.hoods{list-style:none;padding:0;margin:22px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:8px 16px;font-weight:700}
.hoods li::before{content:"";display:inline-block;width:10px;height:10px;background:var(--orange);margin-right:10px;border-radius:2px}
.map{width:100%;height:auto;display:block;border-radius:6px}

.reviews{padding:72px clamp(16px,4vw,56px);background:var(--navy);color:var(--white)}
.sample-tag{margin-top:8px;font-size:.85rem;color:#9fb6dc}
.rev-row{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:32px}
.rev-row figure{margin:0;background:var(--white);color:var(--navy);padding:24px;border-radius:4px}
.stars{color:var(--orange);letter-spacing:2px}
blockquote{margin:10px 0 14px;font-size:1.2rem;font-weight:600;line-height:1.35}
figcaption{color:#5a6c8c;font-weight:600;font-size:.95rem}

.quote{padding:80px clamp(16px,4vw,56px) 96px;max-width:860px}
.qform{display:grid;gap:16px;margin-top:28px}
.row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.qform label{display:grid;gap:6px;font-weight:700}
.qform input:not([type=checkbox]){font:inherit;min-height:50px;padding:10px 12px;border:3px solid var(--navy);border-radius:4px;width:100%}
fieldset{border:3px solid var(--navy);border-radius:4px;padding:14px 16px;display:flex;flex-wrap:wrap;gap:12px 24px;margin:0}
legend{font-weight:800;padding:0 6px}
.qform .chk{display:flex;align-items:center;gap:8px;font-weight:600;min-height:32px}
.chk input{width:22px;height:22px;accent-color:var(--cobalt)}
.demo-note{background:var(--sky);border-left:6px solid var(--cobalt);padding:10px 14px;font-weight:700;font-size:.95rem}
.form-status{min-height:1.5em;font-weight:700;color:var(--cobalt)}

.foot{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:28px clamp(16px,4vw,56px) 40px;border-top:3px solid var(--navy);font-size:.95rem;color:#33476b}
.foot strong{color:var(--navy)}

.callbar{display:none}
@media (max-width:900px){
  .hero,.area{grid-template-columns:1fr}
  .price-list{grid-template-columns:1fr 1fr}
  .price-list article:nth-child(2){border-right:0}
  .price-list article:nth-child(-n+2){border-bottom:3px solid var(--navy)}
  .rev-row{grid-template-columns:1fr}
}
@media (max-width:640px){
  .links,.bar-call{display:none}
  .ba{box-shadow:8px 8px 0 var(--cobalt)}
  .price-list{grid-template-columns:1fr}
  .price-list article{border-right:0;border-bottom:3px solid var(--navy)}
  .price-list article:last-child{border-bottom:0}
  .row{grid-template-columns:1fr}
  .callbar{display:flex;align-items:center;justify-content:center;gap:10px;position:fixed;left:0;right:0;bottom:0;min-height:62px;background:var(--orange);color:var(--navy);font-weight:900;font-stretch:118%;font-size:1.3rem;text-decoration:none;border-top:3px solid var(--navy);z-index:40}
  .foot{padding-bottom:96px}
}
