/* MCA Pipeworks — shared multi-page styles (202606xx) */
:root{
  --ink:#0f172a;--navy:#1b2a6b;--red:#cc1a1a;--red-d:#a81515;
  --bg:#f1f4f8;--line:#e3e8ef;--muted:#5b6677;
}
/* No universal *{margin:0;padding:0} — it is UNLAYERED and overrides Tailwind's
   @layer utilities (.mx-auto etc.), breaking header centering. Tailwind preflight
   (loaded via the bundle) already resets margins/padding/box-sizing. */
html{scroll-behavior:smooth;box-sizing:border-box;}
*,*::before,*::after{box-sizing:inherit;}
body{font-family:"Inter",system-ui,sans-serif;color:var(--ink);background:#fff;line-height:1.6;-webkit-font-smoothing:antialiased;}
a{text-decoration:none;color:inherit;}
img{max-width:100%;display:block;}
/* match Tailwind header container exactly: max-w-7xl (80rem) + px-4 sm:px-6 lg:px-8 */
.wrap{max-width:80rem;margin:0 auto;padding:0 16px;}
@media(min-width:640px){.wrap{padding-left:24px;padding-right:24px;}}
@media(min-width:1024px){.wrap{padding-left:32px;padding-right:32px;}}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-weight:800;border-radius:9px;
  padding:14px 24px;font-size:14px;cursor:pointer;border:none;letter-spacing:.5px;text-transform:uppercase;transition:.2s;}
.btn-red{background:var(--red);color:#fff;box-shadow:0 4px 0 #7d0f0f;}
.btn-red:hover{background:var(--red-d);}
.btn-red:active{box-shadow:none;transform:translateY(3px);}
.btn-ghost{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.55);}
.btn-navy{background:var(--navy);color:#fff;}
.eyebrow{color:var(--red);font-weight:800;letter-spacing:2px;font-size:13px;text-transform:uppercase;}

/* header/nav/footer moved to chrome.css (single source) */

/* ===== HERO (subpage) ===== */
.p-hero{position:relative;min-height:380px;display:flex;align-items:center;background-size:cover;background-position:center;}
.p-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(95deg,rgba(7,12,22,.92),rgba(7,12,22,.62));}
.p-hero .wrap{position:relative;z-index:2;color:#fff;padding:54px 24px;}
.crumb{font-size:13px;color:#c7d0db;font-weight:600;margin-bottom:12px;}
.crumb a:hover{color:#fff;} .crumb .red{color:#ff6b6b;}
.p-hero h1{font-size:50px;font-weight:900;text-transform:uppercase;letter-spacing:-.5px;line-height:1.04;margin-bottom:16px;}
.p-hero p{font-size:18px;color:#d7dee6;max-width:640px;margin-bottom:22px;}
.p-hero .cta{display:flex;gap:12px;flex-wrap:wrap;}
/* home hero */
.p-hero-home{min-height:520px;}
.hpill{display:inline-block;background:var(--red);color:#fff;font-weight:800;font-size:12px;letter-spacing:1.5px;padding:7px 15px;border-radius:6px;text-transform:uppercase;margin-bottom:14px;}
.p-hero h1 .hl{color:#ff6b6b;}
.hero-badges{display:flex;gap:22px;flex-wrap:wrap;margin-top:22px;color:#cfd8e4;font-weight:800;font-size:13px;text-transform:uppercase;letter-spacing:.5px;}
a.svc{display:block;transition:.2s;}
a.svc:hover{border-left-color:var(--ink);box-shadow:0 14px 36px rgba(15,23,42,.10);transform:translateY(-3px);}

/* ===== CONTENT ===== */
.sec{padding:74px 0;}
.sec.alt{background:var(--bg);}
.sec h2{font-size:34px;font-weight:900;text-transform:uppercase;letter-spacing:-.5px;margin-bottom:14px;}
.lead{color:var(--muted);font-size:17px;max-width:760px;margin-bottom:8px;}
.svc-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:34px;}
.svc{background:#fff;border:1px solid var(--line);border-radius:12px;padding:24px 26px;}
.svc h3{font-size:18px;font-weight:800;margin-bottom:6px;color:#0a0a0a;}
.svc p{color:var(--muted);font-size:14.5px;}
.info{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:30px;}
.info .it{background:#fff;border:1px solid var(--line);border-radius:12px;padding:24px;}
.info .it .ic{width:46px;height:46px;border-radius:10px;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;font-size:22px;margin-bottom:12px;}
.info .it b{display:block;font-size:15.5px;margin-bottom:6px;}
.info .it p{color:var(--muted);font-size:13.5px;}

/* signs */
.signs{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:28px;list-style:none;}
.signs li{display:flex;gap:12px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:15px 18px;}
.signs li::before{content:"!";flex:0 0 24px;height:24px;border-radius:50%;background:var(--red);color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center;font-size:14px;}
.signs li b{display:block;color:#0a0a0a;font-size:15px;}
.signs li span{color:var(--muted);font-size:13.5px;}
/* process steps */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:30px;}
.steps .st{background:#fff;border:1px solid var(--line);border-radius:12px;padding:24px;}
.steps .st .n{width:40px;height:40px;border-radius:50%;background:var(--navy);color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center;margin-bottom:12px;font-size:17px;}
.steps .st b{display:block;margin-bottom:6px;color:#0a0a0a;font-size:15.5px;}
.steps .st p{color:var(--muted);font-size:13.5px;}
/* faq accordion */
.faq{max-width:840px;margin-top:24px;}
.faq details{background:#fff;border:1px solid var(--line);border-radius:10px;margin-bottom:12px;}
.faq summary{cursor:pointer;padding:16px 20px;font-weight:800;color:#0a0a0a;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:14px;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:"+";color:var(--red);font-size:24px;line-height:1;font-weight:700;}
.faq details[open] summary::after{content:"\2013";}
.faq details>p{padding:0 20px 18px;color:var(--muted);margin:0;line-height:1.65;}
/* local band + related */
.local-band{background:#fff;border:1px solid var(--line);padding:20px 24px;border-radius:10px;margin-top:30px;color:#33404f;font-size:15px;line-height:1.65;}
.related{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px;}
.related a{background:#fff;border:1px solid var(--line);border-radius:30px;padding:9px 18px;font-weight:700;color:var(--navy);font-size:13.5px;}
.related a:hover{border-color:var(--red);color:var(--red);}

/* CTA band */
.cta-band{background:var(--navy);color:#fff;text-align:center;padding:64px 0;border-top:6px solid var(--red);}
.cta-band h2{font-size:38px;font-weight:900;text-transform:uppercase;margin-bottom:12px;}
.cta-band p{max-width:620px;margin:0 auto 24px;color:#c7d0db;}
.cta-band .row{display:flex;gap:16px;justify-content:center;align-items:center;flex-wrap:wrap;}
.cta-band .disp{font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase;}
.cta-band .disp b{display:block;font-size:30px;letter-spacing:0;}

/* AREAS chips */
.area-chips{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px;}
.achip{padding:9px 2px 9px 14px;min-width:210px;}
.achip b{display:block;color:var(--ink);font-weight:800;font-size:14.5px;}
.achip span{color:#7a8794;font-size:12px;}

/* REVIEWS */
.rev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:30px;}
.rev{background:#fff;border:1px solid var(--line);border-radius:12px;padding:26px;}
.rev .stars{color:#f5a623;letter-spacing:2px;display:block;margin-bottom:12px;}
.rev p{color:#2a3340;font-size:14.5px;margin-bottom:14px;}
.rev b{font-weight:800;} .rev span{color:var(--muted);font-size:12.5px;}

/* CONTACT */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start;margin-top:20px;}
.cline{display:flex;gap:12px;align-items:center;margin-bottom:16px;}
.cline .ic{width:48px;height:48px;border-radius:50%;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;}
.cform{background:var(--navy);border-radius:16px;padding:30px;}
.cform input,.cform select,.cform textarea{width:100%;padding:13px 15px;border-radius:9px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.06);color:#fff;margin-bottom:13px;font-family:inherit;font-size:14px;}
.cform .btn{width:100%;}

/* header/nav/footer moved to chrome.css (single source) */

/* floating call button (mobile) */
.fab-call{display:none;position:fixed;right:18px;bottom:18px;width:62px;height:62px;border-radius:50%;
  background:var(--red);color:#fff;align-items:center;justify-content:center;font-size:26px;z-index:300;
  box-shadow:0 6px 16px rgba(0,0,0,.26);text-decoration:none;}
.fab-call:active{transform:scale(.94);}

/* ===== DESKTOP ===== */
@media(min-width:880px){
  .s-nav{display:flex;}
  .s-burger{display:none;}
  .svc-grid{grid-template-columns:repeat(2,1fr);}
}
/* ===== MOBILE (designer pass) ===== */
@media(max-width:879px){
  .p-hero h1{font-size:33px;}
  .p-hero p{font-size:16px;}
  .sec{padding:52px 0;}
  .sec h2{font-size:26px;}
  .svc-grid,.info,.rev-grid,.contact-grid,.signs,.steps{grid-template-columns:1fr;gap:14px;}
  .s-footer .cols{grid-template-columns:1fr;gap:26px;}
  .cta-band h2{font-size:28px;}
  .s-logo img{height:84px;width:84px;margin:2px 0 -18px;}
  .s-call{display:none;}
  .p-hero .cta .btn{flex:1;}
  /* mobile header: no announce, logo LEFT (fully visible, no clip), hamburger right */
  .s-announce{display:none;}
  .s-hd{justify-content:space-between;align-items:center;min-height:88px;height:auto;}
  .s-logo{margin:0;}
  .s-logo img{height:88px;width:88px;margin:0;}
  .s-right{position:static;transform:none;margin-left:0;}
  .fab-call{display:flex;}
}
@media(max-width:420px){
  .achip{padding:9px 2px 9px 14px;min-width:210px;}
}

/* subpage hero call button: number on desktop, "Call Us" on mobile */
.btn-red .cta-short{display:none;}
@media(max-width:879px){.btn-red .cta-num{display:none;}.btn-red .cta-short{display:inline;}}
