/* 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;}

/* ===== ANNOUNCE ===== */
.s-announce{background:var(--ink);color:#cdd5df;font-size:12.5px;font-weight:600;letter-spacing:.4px;}
.s-announce .wrap{display:flex;align-items:center;justify-content:center;gap:14px;height:34px;text-align:center;}
.s-announce b{color:#fff;}
.s-announce .sep{opacity:.4;}

/* ===== HEADER ===== */
.s-header{position:sticky;top:0;z-index:100;background:#fff;border-bottom:3px solid var(--red);box-shadow:0 2px 14px rgba(0,0,0,.08);}
.s-hd{display:flex;align-items:center;gap:20px;height:84px;}
.s-logo img{height:120px;width:120px;border-radius:50%;margin:4px 0 -28px;filter:drop-shadow(0 6px 14px rgba(0,0,0,.22));}
.s-nav{display:none;gap:28px;align-items:center;margin-left:18px;}
.s-nav .nl{font-weight:800;font-size:16px;color:var(--navy);text-transform:uppercase;letter-spacing:.4px;display:inline-flex;align-items:center;gap:5px;cursor:pointer;}
.s-nav .nl:hover{color:var(--red);}
.s-nav .caret{font-size:11px;}
.s-right{margin-left:auto;display:flex;align-items:center;gap:16px;}
.s-call{text-align:right;line-height:1.15;}
.s-call span{display:block;font-size:10.5px;font-weight:700;color:#8895a5;text-transform:uppercase;letter-spacing:.5px;}
.s-call b{font-size:18px;color:var(--navy);}
.s-burger{display:inline-flex;flex-direction:column;justify-content:center;gap:5px;width:48px;height:42px;background:var(--navy);border:none;border-radius:8px;cursor:pointer;padding:0 11px;}
.s-burger span{height:3px;background:#fff;border-radius:2px;transition:.3s;}
body.mopen .s-burger span:nth-child(1){transform:translateY(8px) rotate(45deg);}
body.mopen .s-burger span:nth-child(2){opacity:0;}
body.mopen .s-burger span:nth-child(3){transform:translateY(-8px) rotate(-45deg);}

/* dropdowns */
.nav-item{position:relative;}
.mega,.dd{position:absolute;top:100%;left:0;background:#fff;border-radius:14px;border-top:4px solid var(--red);
  box-shadow:0 26px 70px rgba(15,23,42,.22);padding:24px;opacity:0;visibility:hidden;transform:translateY(8px);
  transition:.2s;z-index:200;}
.has-mega .mega{width:820px;left:50%;transform:translateX(-50%) translateY(8px);}
.nav-item:hover .mega{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);}
.nav-item:hover .dd{opacity:1;visibility:visible;transform:translateY(0);}
.has-dd .dd{width:430px;}
.mega-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px 26px;}
.mega-col h5{font-size:12.5px;font-weight:900;color:var(--red);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;}
.mega-col a,.dd a{display:block;padding:5px 0;color:var(--navy);font-weight:700;font-size:13.5px;}
.mega-col a small,.dd a small{display:block;color:#94a0ad;font-weight:500;font-size:11px;}
.mega-col a:hover,.dd a:hover{color:var(--red);}
.dd-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px 18px;}
.dd .tag{display:block;color:#94a0ad;font-size:12px;font-weight:600;margin-bottom:8px;}

/* mobile drawer */
.s-drawer{position:fixed;inset:0 0 0 auto;width:84%;max-width:340px;background:var(--ink);z-index:130;
  transform:translateX(105%);transition:transform .32s cubic-bezier(.4,0,.2,1);padding:26px 24px;overflow-y:auto;}
body.mopen .s-drawer{transform:none;}
.s-back{position:fixed;inset:0;background:rgba(5,9,16,.55);z-index:125;opacity:0;pointer-events:none;transition:.3s;}
body.mopen .s-back{opacity:1;pointer-events:auto;}
body.mopen{overflow:hidden;}
.s-drawer .dh{color:#7c8a9c;font-size:11px;font-weight:800;letter-spacing:1px;text-transform:uppercase;margin:18px 0 6px;}
.s-drawer a{display:block;color:#e6ebf2;font-weight:800;text-transform:uppercase;letter-spacing:.4px;font-size:17px;padding:12px 4px;border-bottom:1px solid rgba(255,255,255,.07);}
.s-drawer a.sub{font-size:14px;color:#aab6c6;text-transform:none;font-weight:600;padding-left:14px;}
.s-drawer a:hover{color:var(--red);}
.s-drawer .m-call{background:var(--red);color:#fff;text-align:center;border-radius:9px;margin-top:18px;border-bottom:none;}

/* ===== 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-left:4px solid var(--red);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);border-left:4px solid var(--red);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;border-left:3px solid var(--red);}
.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;border-top:4px solid var(--red);}
.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%;}

/* ===== FOOTER ===== */
.s-footer{background:#0a1120;color:#93a0b3;padding:50px 0 24px;font-size:13.5px;border-top:8px solid var(--navy);}
.s-footer .cols{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:34px;}
.s-footer .flogo{height:150px;width:150px;border-radius:50%;border:5px solid #fff;background:#fff;margin-bottom:16px;}
.s-footer h4{color:#fff;font-size:12.5px;letter-spacing:1px;text-transform:uppercase;margin-bottom:14px;}
.s-footer a{display:block;color:#93a0b3;margin-bottom:8px;}
.s-footer a:hover{color:#fff;}
.mca-trust{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0 0;}
.mca-trust .tb{display:inline-flex;align-items:center;gap:7px;font-weight:800;font-size:12.5px;padding:9px 14px;border-radius:9px;color:#fff;}
.mca-trust .tb i{font-style:normal;display:inline-flex;width:18px;height:18px;border-radius:50%;align-items:center;justify-content:center;font-size:11px;font-weight:900;}
.tb-bbb{background:#00447c;}.tb-bbb i{background:#fff;color:#00447c;}
.tb-yelp{background:#d32323;}.tb-yelp i{background:#fff;color:#d32323;}
.tb-google{background:#fff;color:#3c4043;border:1px solid #dadce0;}.tb-google i{background:#4285f4;color:#fff;}.tb-google b{color:#fbbc05;letter-spacing:1px;}
.foot-bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:30px;padding-top:18px;text-align:center;color:#6b7888;font-size:12px;}
/* 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 10px 26px rgba(204,26,26,.5);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;border-left:3px solid var(--red);}
}
