:root{
  --navy:#0c1f3f;
  --navy-deep:#071224;
  --blue:#2563eb;
  --blue-bright:#60a5fa;
  --blue-soft:#dbeafe;
  --ink:#0f172a;
  --muted:#475569;
  --line:#e2e8f0;
  --paper:#f8fafc;
  --radius:10px;
  --maxw:1060px;
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:var(--paper);line-height:1.65;font-size:1.01rem}
img{max-width:100%;height:auto;display:block}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 1.25rem}
a{color:var(--blue)}

.masthead{background:var(--navy-deep);color:#fff;padding:1rem 0}
.masthead-flex{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}
.company{font-weight:800;font-size:1.05rem}
.lic{font-size:.8rem;color:#94a3b8}
.call-btn{background:var(--blue);color:#fff;text-decoration:none;font-weight:800;padding:.65rem 1.4rem;border-radius:8px;white-space:nowrap}
.call-btn:hover{background:#1d4ed8}

.hero{background:linear-gradient(135deg,var(--navy) 0%,#14315c 100%);color:#fff;padding:3.2rem 0}
.tag{display:inline-block;background:rgba(96,165,250,.15);border:1px solid var(--blue-bright);color:var(--blue-bright);font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;padding:.35rem .9rem;border-radius:999px;margin-bottom:1rem}
.hero h1{font-size:2.1rem;line-height:1.2;margin-bottom:1.1rem;max-width:24ch}
@media(min-width:820px){.hero h1{font-size:2.7rem}}
.intro{color:#cbd5e1;font-size:1.07rem;max-width:62ch;margin-bottom:1.6rem}
.intro strong{color:#fff}
.cta-row{display:flex;gap:.8rem;flex-wrap:wrap;margin-bottom:1rem}
.btn{display:inline-block;padding:.8rem 1.6rem;border-radius:8px;font-weight:700;text-decoration:none;font-size:1rem;cursor:pointer;border:2px solid transparent}
.btn.solid{background:var(--blue);color:#fff}
.btn.solid:hover{background:#1d4ed8}
.btn.line{border-color:#94a3b8;color:#e2e8f0}
.btn.line:hover{background:rgba(148,163,184,.12)}
.hours{font-size:.85rem;color:#94a3b8}

.hero-figure{padding:2.4rem 1.25rem 0}
.hero-figure img{border-radius:var(--radius);box-shadow:0 10px 34px rgba(12,31,63,.22)}

main{padding:2.4rem 0 1rem}
.panel-sec{margin-bottom:2.8rem}
.panel-sec h2{font-size:1.55rem;margin-bottom:1rem;color:var(--navy)}
.panel-sec h2::after{content:"";display:block;width:56px;height:4px;background:var(--blue);border-radius:2px;margin-top:.5rem}
.panel-sec p{margin-bottom:1rem}

.signs{list-style:none;margin:1.2rem 0}
.signs li{background:#fff;border:1px solid var(--line);border-left:4px solid var(--blue);border-radius:0 var(--radius) var(--radius) 0;padding:.9rem 1.1rem;margin-bottom:.7rem}

.work-grid{display:grid;gap:1.1rem;margin-top:1.4rem}
@media(min-width:760px){.work-grid{grid-template-columns:1fr 1fr}}
@media(min-width:1020px){.work-grid{grid-template-columns:1fr 1fr 1fr}}
.work-item{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.3rem}
.work-item h3{font-size:1.05rem;color:var(--blue);margin-bottom:.5rem}

.local{background:var(--blue-soft);border-radius:var(--radius);padding:1.8rem}

.form{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.7rem;max-width:640px}
.form label{display:block;font-weight:600;margin-bottom:1rem;font-size:.96rem}
.form input,.form textarea{width:100%;margin-top:.35rem;padding:.7rem .85rem;border:1px solid #cbd5e1;border-radius:8px;font-size:1rem;font-family:inherit}
.form input:focus,.form textarea:focus{outline:2px solid var(--blue-bright);border-color:var(--blue)}

.faq details{background:#fff;border:1px solid var(--line);border-radius:8px;margin-bottom:.7rem;padding:1rem 1.2rem}
.faq summary{font-weight:700;cursor:pointer;color:var(--navy)}
.faq summary::marker{color:var(--blue)}
.faq details p{margin:.7rem 0 0;color:var(--muted)}

.about{background:var(--navy-deep);color:#cbd5e1;padding:2.6rem 0}
.about h2{font-size:1.4rem;margin-bottom:1rem;color:#fff}
.about-co{font-weight:800;font-size:1.15rem;color:var(--blue-bright);margin-bottom:.8rem}
.about-list{list-style:none}
.about-list li{padding:.35rem 0}
.about-list a{color:var(--blue-bright)}

.foot{background:#040a16;color:#64748b;padding:1.4rem 0;font-size:.88rem;text-align:center}
.foot a{color:#94a3b8}

.sticky-call{display:none}
@media(max-width:720px){
  .sticky-call{display:block;position:fixed;bottom:0;left:0;right:0;background:var(--blue);color:#fff;text-align:center;font-weight:800;font-size:1.15rem;padding:.95rem;text-decoration:none;z-index:100;box-shadow:0 -2px 12px rgba(0,0,0,.25)}
  body{padding-bottom:64px}
  .call-btn{display:none}
}
