:root{
      --bg:#070b14;
      --bg2:#0b1220;
      --ctaBg: rgba(8,12,20,.82);
      --ctaStroke: rgba(255,255,255,.14);

      /* YouTube portrait crop zoom */
      --ytZoom: 1.38; /* increase if you still see black; 1.32–1.55 range */

      --card:rgba(255,255,255,0.06);
      --stroke:rgba(255,255,255,0.12);

      --text:#f5f7ff;
      --muted:rgba(245,247,255,0.82);
      --muted2:rgba(245,247,255,0.55);

      --accent:#4fd1c5;
      --accent2:#60a5fa;

      --shadow:0 18px 45px rgba(0,0,0,.55);
      --shadow2:0 10px 28px rgba(0,0,0,.45);

      --r1:16px;
      --r2:24px;
      --max:1200px;

      /* Background-image tiles */
      --tileGlass:rgba(255,255,255,.78);
      --tileGlass2:rgba(255,255,255,.62);

      /* Gold hero */
      --goldGlass1:rgba(10,12,18,.78);
      --goldGlass2:rgba(10,12,18,.62);
      --goldStroke:rgba(255,215,128,.18);

      /* Blue membrane (TEXT ONLY) */
      --memLine: rgba(96,165,250,.75);
      --memGlow: rgba(96,165,250,.22);
      --memBg1: rgba(255,255,255,.78);
      --memBg2: rgba(255,255,255,.62);
      --memText: rgba(11,18,32,.92);
      --memText2: rgba(11,18,32,.78);
    }

    *{box-sizing:border-box;margin:0;padding:0}
    html{scroll-behavior:auto}

    body{
      font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
      background:
        radial-gradient(900px 520px at 12% 8%, rgba(96,165,250,.20), transparent 55%),
        radial-gradient(820px 520px at 86% 14%, rgba(79,209,197,.18), transparent 55%),
        linear-gradient(180deg, var(--bg2), var(--bg));
      color:var(--text);
      line-height:1.6;
      -webkit-font-smoothing: antialiased;
    }

    a{color:inherit;text-decoration:none}
    img, video, iframe{max-width:100%;display:block}
    button{font-family:inherit;border:none;cursor:pointer}

    .wrap{max-width:var(--max);margin:0 auto;padding:18px 16px 140px}

    /* ✅ Skip link (accessibility) */
    .skip{
      position:absolute;left:-999px;top:auto;
      width:1px;height:1px;overflow:hidden;
    }
    .skip:focus{
      left:16px;top:16px;width:auto;height:auto;
      padding:10px 12px;border-radius:12px;
      background:rgba(0,0,0,.75);
      border:1px solid rgba(255,255,255,.22);
      z-index:9999;
    }

    /* HEADER */
    header{
      position:sticky;top:10px;z-index:50;
      display:flex;align-items:center;justify-content:space-between;gap:14px;
      padding:12px;
      border-radius:var(--r2);
      background:linear-gradient(120deg, rgba(11,18,32,.88), rgba(7,11,20,.90));
      border:1px solid rgba(255,255,255,0.10);
      box-shadow:var(--shadow);
      backdrop-filter: blur(14px);
    }

    .brand{display:flex;align-items:center;gap:10px;min-width:220px}
    .logo{
      width:42px;height:42px;border-radius:14px;
      background:radial-gradient(circle at 20% 10%, var(--accent), var(--accent2));
      box-shadow:0 0 0 2px rgba(7,11,20,.85), 0 18px 30px rgba(0,0,0,.55);
      display:flex;align-items:center;justify-content:center;
      font-weight:900;letter-spacing:.06em;color:#071018;
      flex:0 0 auto;
    }
    .brandname{font-size:14px;letter-spacing:.12em;text-transform:uppercase;font-weight:900}
    .tagline{font-size:12px;color:var(--muted2)}

    nav{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
    .nav-links{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
    .nav-links a{
      font-size:13px;color:var(--muted);
      padding:7px 10px;border-radius:999px;
      border:1px solid transparent;
      transition:none;
      white-space:nowrap;
    }
     /* Facebook button */
.nav-links a.nav-fb{
  background:#0d65d9;
  color:#fff;
  border-color:rgba(255,255,255,0.18);
  font-weight:700;
}
.nav-links a.nav-fb:hover{
  background:#0b58bd;
  color:#fff;
  border-color:rgba(255,255,255,0.28);
}
    /* ✅ Header CTAs (Call/Text/Quote) */
.nav-links a.nav-cta{
  background:rgba(255,255,255,0.10);
  border-color:rgba(255,255,255,0.18);
  font-weight:950;
}
.nav-links a.nav-cta:hover{
  background:rgba(255,255,255,0.14);
  border-color:rgba(255,255,255,0.28);
}

    .nav-links a:hover{
      color:var(--text);
      border-color:rgba(255,255,255,0.18);
      background:rgba(255,255,255,0.06);
      transform:none;
    }

    /* HERO */
    .hero{
      margin-top:20px;
      display:grid;
      grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);
      gap:18px;
      align-items:stretch;
      min-height:520px;
    }
    .panel{
      border-radius:var(--r2);
      border:1px solid rgba(255,255,255,0.10);
      background:linear-gradient(180deg, rgba(255,255,255,0.08), rgba(255,255,255,0.05));
      box-shadow:var(--shadow);
    }

    .hero-left{
      padding:18px;
      display:flex;flex-direction:column;justify-content:center;align-items:center;
      text-align:center;
      position:relative;
      overflow:hidden;
      min-height:520px;

      background:
  linear-gradient(180deg, var(--goldGlass1), var(--goldGlass2)),
  image-set(
  var(--hero-img-800) type("image/webp") 1x,
  var(--hero-img-1400) type("image/webp") 2x
);
background-size:cover;
background-position:center;
border:1px solid var(--goldStroke);

    }
    .hero-left::after{
      content:"";
      position:absolute;inset:0;
      background:
        radial-gradient(900px 520px at 18% 10%, rgba(255,215,128,.10), transparent 60%),
        radial-gradient(900px 520px at 86% 18%, rgba(255,200,120,.08), transparent 60%),
        linear-gradient(180deg, rgba(0,0,0,0.20), rgba(0,0,0,0.10));
      pointer-events:none;
    }
    .hero-left > *{position:relative;z-index:1}

    .kicker{
      display:inline-flex;align-items:center;gap:8px;
      font-size:11px;letter-spacing:.18em;text-transform:uppercase;
      color:rgba(245,247,255,.82);
      margin-bottom:12px;
      justify-content:center;
    }
    .dot{width:7px;height:7px;border-radius:99px;background:rgba(255,215,128,.95);box-shadow:0 0 0 4px rgba(255,215,128,.16)}

    .title{
  font-size:clamp(26px, 3.2vw, 40px);
  line-height:1.05;
  letter-spacing:.01em;
  font-weight:950;
  margin-bottom:12px;

  /* better headline wrapping like your P4 Mail page */
  max-width:26ch;
  text-wrap: balance;
}

    .title .grad{
      background:linear-gradient(120deg, #ffffff, rgba(255,215,128,.95), rgba(96,165,250,.95));
      -webkit-background-clip:text;color:transparent;
    }

    .sub{color:rgba(245,247,255,.82);font-size:14px;max-width:62ch;margin-bottom:14px}
    .badges{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0 14px;justify-content:center}
    .badge{
      display:inline-flex;align-items:center;gap:8px;
      padding:8px 10px;border-radius:999px;
      border:1px solid rgba(255,255,255,0.14);
      background:rgba(255,255,255,0.06);
      color:rgba(245,247,255,.86);
      font-size:12px;
    }

    .hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px;justify-content:center}
    .hint{margin-top:10px;color:var(--muted2);font-size:12px}

    .btn{
      display:inline-flex;align-items:center;justify-content:center;gap:8px;
      padding:10px 14px;border-radius:999px;
      font-weight:900;font-size:13px;
      transition:none;
      white-space:nowrap;
      border:1px solid rgba(255,255,255,0.14);
    }
    .btn-primary{
      background:radial-gradient(circle at 0 0, var(--accent), var(--accent2));
      color:#071018;
      box-shadow:0 16px 34px rgba(79,209,197,.18);
      border:1px solid rgba(0,0,0,.22);
    }
    .btn-primary:hover{transform:none}
    .btn-ghost{background:rgba(255,255,255,0.06);color:var(--text)}
    .btn-ghost:hover{transform:none;background:rgba(255,255,255,0.08)}

    .hero-right{padding:14px;display:flex;flex-direction:column;gap:12px}

    /* ✅ VIDEO: portrait-friendly stage + blur fill so no black frame */
    .hero-media{
      border-radius:18px;overflow:hidden;
      border:1px solid rgba(255,255,255,0.14);
      background:#050a14;
      box-shadow:var(--shadow2);
      aspect-ratio: 9 / 16;
      min-height: 520px;
      max-height: 520px;
      width:100%;
      position:relative;
      isolation:isolate;
    }

    .video-stage{
      position:absolute; inset:0;
      overflow:hidden;
      border-radius:18px;
      background:#050a14;
    }

    /* blurred fill background from the same thumbnail */
    .video-stage::before{
      content:"";
      position:absolute; inset:-24px;
      background-image: var(--ytThumb);
      background-size:cover;
      background-position:center;
      filter: blur(18px) brightness(.55) saturate(1.05);
      transform: scale(1.15);
      z-index:0;
    }

    .video-facade{
      position:absolute; inset:0;
      display:flex;align-items:center;justify-content:center;
      background-size:cover;
      background-position:center;
      z-index:1;
    }
    .video-facade::after{
      content:"";
      position:absolute;inset:0;
      background:linear-gradient(180deg, rgba(0,0,0,.10), rgba(0,0,0,.45));
      pointer-events:none;
    }

    .video-btn{
      position:relative;z-index:2;
      display:flex;flex-direction:column;align-items:center;gap:10px;
      padding:14px 16px;border-radius:18px;
      background:rgba(0,0,0,.45);
      border:1px solid rgba(255,255,255,.22);
      color:rgba(245,247,255,.96);
      backdrop-filter: blur(10px);
    }
    .play{
      width:58px;height:58px;border-radius:999px;
      display:flex;align-items:center;justify-content:center;
      background:radial-gradient(circle at 0 0, var(--accent), var(--accent2));
      color:#071018;font-weight:950;font-size:22px;
      box-shadow:0 18px 34px rgba(79,209,197,.18);
    }

    /* ✅ remove the title under the play button */
    .video-label{display:none !important;}

    /* ✅ iframe crop to remove letterbox/black areas (zoom in a bit) */
    .yt-crop{
      position:absolute; inset:0;
      display:flex; align-items:center; justify-content:center;
      z-index:2;
      overflow:hidden;
    }
    .yt-crop iframe{
      width: calc(100% * var(--ytZoom));
      height: calc(100% * var(--ytZoom));
      border:0;
    }
     /* crawlable YouTube link (helps indexing) */
.video-crawl{
  margin-top:10px;
  font-size:12px;
  color:rgba(245,247,255,.72);
  text-align:center;
}

/* noscript YouTube fallback (for indexing / no-JS) */
.noscript-video{
  aspect-ratio: 9 / 16;
  max-height: 520px;
}

.noscript-video iframe{
  width:100%;
  height:100%;
  border:0;
}
.video-crawl a{
  color:rgba(245,247,255,.92);
  text-decoration:underline;
}

    /* SECTION */
    section{
  margin-top:26px;
  scroll-margin-top: 92px; /* ✅ offset for sticky header */
}

    .section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:12px}
    .section-head h2{font-size:16px;letter-spacing:.12em;text-transform:uppercase;color:rgba(245,247,255,.88)}

    .grid3{display:grid;grid-template-columns:repeat(3, minmax(0,1fr));gap:14px}
    .grid2{display:grid;grid-template-columns:repeat(2, minmax(0,1fr));gap:14px}

    .card{
      padding:14px;
      border-radius:var(--r1);
      border:1px solid rgba(255,255,255,0.10);
      background:rgba(255,255,255,0.06);
      box-shadow:var(--shadow2);
      transition:none;
      position:relative;
      overflow:hidden;
    }

    .card.card-bg{
      background:
        linear-gradient(180deg, var(--tileGlass), var(--tileGlass2)),
        var(--card);
      background-size:cover;
      background-position:center;
    }
    .card.card-bg::after{
      content:"";
      position:absolute;inset:0;
      background:linear-gradient(180deg, rgba(255,255,255,0.06), rgba(0,0,0,0.02));
      pointer-events:none;
    }
    .card > *{position:relative;z-index:1}

    .card, .card *{
      transform:none !important;
      transition:none !important;
      animation:none !important;
    }

    .membrane{
      border-radius:14px;
      border:1px solid var(--memLine);
      background:linear-gradient(180deg, var(--memBg1), var(--memBg2));
      box-shadow:0 0 0 6px var(--memGlow);
      padding:12px;
      color:var(--memText);
    }
    .membrane h3{
      margin:6px 0 6px;
      font-size:14px;
      font-weight:950;
      color:var(--memText);
    }
    .membrane p{
      font-size:13px;
      font-weight:800;
      color:var(--memText2);
    }

    /* ✅ make the VIP title bigger + cleaner */
    .vip-h3{
      font-size:18px !important;
      line-height:1.15 !important;
      letter-spacing:.01em !important;
      margin-top:8px !important;
    }

    .list{margin-top:10px;padding-left:18px;font-size:13px;color:var(--memText2);font-weight:800}
    .list li{margin:6px 0}

    .service-link-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}
    .service-link{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border-radius:14px;border:1px solid rgba(96,165,250,.45);background:rgba(255,255,255,.56);box-shadow:0 0 0 4px rgba(96,165,250,.12);text-decoration:none;color:var(--memText);font-weight:900}
    .service-link span{color:var(--memText);font-size:14px;line-height:1.25}
    .service-link small{color:var(--memText2);font-size:12px;font-weight:800;line-height:1.45}
    @media (max-width:760px){.service-link-grid{grid-template-columns:1fr}}

    .pill{
      display:inline-flex;align-items:center;gap:8px;
      padding:6px 10px;border-radius:999px;
      border:1px solid rgba(11,18,32,.14);
      background:rgba(255,255,255,.72);
      color:rgba(11,18,32,.90);
      font-size:12px;
      font-weight:950;
      margin-bottom:6px;
    }
    .pill b{color:rgba(11,18,32,.98)}

    .price-tag{
      margin-top:10px;
      display:flex;align-items:center;justify-content:space-between;gap:10px;
      padding:10px 12px;border-radius:14px;
      border:1px solid var(--memLine);
      background:linear-gradient(120deg, rgba(96,165,250,0.18), rgba(96,165,250,0.10));
      font-size:13px;
      color:rgba(11,18,32,.92);
      font-weight:950;
      box-shadow:0 0 0 6px rgba(96,165,250,.10);
    }

    .card.card-white .membrane{
      background:linear-gradient(180deg, rgba(0,0,0,.62), rgba(0,0,0,.40)) !important;
      color:rgba(245,247,255,.96) !important;
      border:1px solid rgba(255,255,255,.22) !important;
      box-shadow:0 0 0 6px rgba(96,165,250,.18) !important;
    }
    .card.card-white .membrane h3,
    .card.card-white .membrane p,
    .card.card-white .membrane .list{
      color:rgba(245,247,255,.92) !important;
    }
    .card.card-white .pill{
      background:rgba(255,255,255,0.10) !important;
      border-color:rgba(255,255,255,0.18) !important;
      color:rgba(245,247,255,.92) !important;
    }
    .card.card-white .pill b{color:rgba(245,247,255,.98) !important;}

    /* BEFORE/AFTER */
    .ba{
      position:relative;
      border-radius:18px;
      overflow:hidden;
      border:1px solid rgba(255,255,255,0.14);
      background:#050a14;
      box-shadow:var(--shadow2);
      min-height:260px;
    }
    .ba img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
    .ba .after{clip-path: inset(0 0 0 50%);}
    .ba .handle{position:absolute;top:0;bottom:0;left:50%;width:2px;background:rgba(255,255,255,0.75);box-shadow:0 0 0 8px rgba(79,209,197,.18)}
    .ba .knob{
      position:absolute;left:50%;top:50%;
      transform:translate(-50%,-50%) !important;
      width:44px;height:44px;border-radius:999px;
      background:rgba(0,0,0,0.55);
      border:1px solid rgba(255,255,255,0.22);
      display:flex;align-items:center;justify-content:center;
      color:#fff;font-weight:900;
      backdrop-filter: blur(8px);
    }
    .ba-range{position:absolute;inset:0;opacity:0;cursor:ew-resize;z-index:3;}
    .ba .labels{
      position:absolute;left:12px;right:12px;top:12px;
      display:flex;justify-content:space-between;gap:10px;
      font-size:12px;color:rgba(255,255,255,0.92);
      z-index:2;
    }
    .ba .labels span{
      padding:6px 10px;border-radius:999px;
      background:rgba(0,0,0,0.45);
      border:1px solid rgba(255,255,255,0.18);
    }

    /* GALLERY */
    .gallery{display:grid;grid-template-columns:repeat(5, minmax(0,1fr));gap:10px}
    .gitem{
      border-radius:14px;overflow:hidden;
      border:1px solid rgba(255,255,255,0.12);
      background:#050a14;
      aspect-ratio:1/1;
      box-shadow:var(--shadow2);
      position:relative;
    }
    .gitem img{
      width:100%;height:100%;object-fit:cover;
      transform:none !important;
      transition:none !important;
    }

    /* FORM */
    form label{display:block;font-size:12px;color:rgba(245,247,255,.82);margin:8px 0 6px}
    input, select, textarea{
      width:100%;
      background:rgba(255,255,255,0.06);
      border:1px solid rgba(255,255,255,0.14);
      color:var(--text);
      border-radius:12px;
      padding:10px;
      outline:none;
      font-size:13px;
    }
    textarea{min-height:110px;resize:vertical}
    input:focus, select:focus, textarea:focus{border-color:rgba(79,209,197,0.55)}
    .row2{display:grid;grid-template-columns:repeat(2, minmax(0,1fr));gap:10px}
    .checks{display:grid;grid-template-columns:repeat(2, minmax(0,1fr));gap:10px;margin-top:8px}
    .check{
      display:flex;gap:10px;align-items:flex-start;
      padding:10px;border-radius:12px;
      border:1px solid rgba(255,255,255,0.12);
      background:rgba(255,255,255,0.05);
    }
    .check input{width:16px;height:16px;margin-top:2px}
    .check b{display:block;font-size:13px}
    .check span{display:block;color:rgba(245,247,255,.72);font-size:12px;margin-top:2px}
    .form-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
    .note{font-size:12px;color:rgba(245,247,255,.72);margin-top:8px}

    select{background-color: rgba(255,255,255,0.06);color: var(--text);}
    select option{background-color: #ffffff;color: #000000;}

    .trustline{
      margin-top:10px;
      font-size:12px;
      color: rgba(245,247,255,0.78);
      display:flex;
      align-items:center;
      gap:8px;
      padding:10px 12px;
      border-radius:14px;
      border:1px solid rgba(255,255,255,0.12);
      background: linear-gradient(120deg, rgba(79,209,197,0.10), rgba(96,165,250,0.08));
    }
    .trustline b{color: rgba(245,247,255,0.92);}

    details.quote-dd{border-radius:var(--r2);}
    details.quote-dd > summary{
      list-style:none;
      cursor:pointer;
      user-select:none;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      padding:12px 14px;
      border-radius:var(--r2);
      border:1px solid rgba(255,255,255,0.12);
      background:linear-gradient(120deg, rgba(11,18,32,.70), rgba(7,11,20,.75));
      box-shadow:var(--shadow2);
      font-weight:950;
      letter-spacing:.12em;
      text-transform:uppercase;
      font-size:13px;
      color:rgba(245,247,255,.92);
    }
    details.quote-dd > summary::-webkit-details-marker{display:none}
    .dd-caret{
      width:34px;height:34px;border-radius:12px;
      display:flex;align-items:center;justify-content:center;
      border:1px solid rgba(255,255,255,0.14);
      background:rgba(255,255,255,0.06);
      color:rgba(245,247,255,.92);
      flex:0 0 auto;
    }
    /* ===== DM CONVERSION BOOST: sticky contact bar (mobile) ===== */

.sticky-cta{
  position:fixed;
  left:12px; right:12px; bottom:12px;
  z-index:9999;
  display:none;
  gap:10px;
  padding:10px;
  border-radius:18px;
  background:linear-gradient(120deg, var(--ctaBg), rgba(8,12,20,.62));
  border:1px solid var(--ctaStroke);
  box-shadow:0 18px 45px rgba(0,0,0,.55);
  backdrop-filter: blur(14px);
}

.sticky-cta a,
.sticky-cta button{
  flex:1;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:12px 10px;
  border-radius:14px;
  font-weight:950;
  font-size:13px;
  border:1px solid rgba(255,255,255,0.14);
  background:rgba(255,255,255,0.08);
  color:inherit;
}

/* remove default button look */
.sticky-cta button{
  appearance:none;
  -webkit-appearance:none;
}

.sticky-cta a.cta-call,
.sticky-cta button.cta-call{
  background:radial-gradient(circle at 0 0, var(--accent), var(--accent2));
  color:#071018;
  border:1px solid rgba(0,0,0,.22);
}
.sticky-cta a.cta-text{ background:rgba(255,255,255,0.10); }
.sticky-cta a.cta-wa{ background:rgba(255,255,255,0.10); }
/* Show mobile-only CTAs only on phones */
.mobile-only{display:none;}

@media (max-width: 720px){
  .mobile-only{display:inline-flex;}
}

@media (max-width: 720px){
  .sticky-cta{display:flex;}
  .wrap{padding-bottom:190px;} /* room for sticky bar */
}

    footer{
      margin-top:30px;
      padding-top:18px;
      border-top:1px solid rgba(255,255,255,0.12);
      display:flex;
      justify-content:center;
      text-align:center;
      color:var(--muted2);
      font-size:12px;
    }

    @media (max-width: 980px){
      .hero{grid-template-columns:1fr;min-height:auto;}
      .hero-left{min-height:0;}
      .brand{min-width:auto}
      .gallery{grid-template-columns:repeat(4, minmax(0,1fr))}
      .title{max-width:none}
      .hero-media{min-height:400px;max-height:none;}
    }
    @media (max-width: 720px){
      header{position:static}
      section{ scroll-margin-top:16px; }

.nav-links{
  overflow:visible;
  flex-wrap:wrap;
  justify-content:center;
  padding-bottom:0;
  gap:8px;
}
.nav-links a{
  padding:8px 10px;
}

      .grid3,.grid2{grid-template-columns:1fr}
      .row2,.checks{grid-template-columns:1fr}
      .gallery{grid-template-columns:repeat(3, minmax(0,1fr))}
        /* Hide last 2 gallery images on mobile for clean alignment */
      .gallery .gitem:nth-last-child(1),
      .gallery .gitem:nth-last-child(2){
      display:none;
     }
   }

  
/* P4 FIX: ensure service area text is readable */
.service-areas, .service-areas *,
.cities, .cities *,
.city-list, .city-list *,
.locations, .locations * {
  color: #111 !important;
}

.p4-bullets { margin: 12px 0 0; padding-left: 18px; }
.p4-bullets li { margin: 6px 0; }
.reviews p { margin: 10px 0; }

/* P4 PDF LINK */
.p4-pdf-link{
  display:inline-block;
  margin-top:10px;
  padding:10px 14px;
  border-radius:10px;
  background:#fff;
  border:1px solid rgba(0,0,0,.18);
  color:#111 !important;
  text-decoration:none;
  font-weight:700;
}
.p4-pdf-link:hover{ text-decoration:underline; }


/* DM DOMINANCE PATCH — readability + alignment */
.grid2{align-items:stretch}
.card{height:100%;display:flex;flex-direction:column}
.city-badge{background:#ffffff !important;border:1px solid rgba(0,0,0,.14) !important;color:#000000 !important}
.city-badge:hover{border-color:rgba(0,0,0,.28) !important}

/* DM DOMINANCE PATCH v2 — premium section + city readability */
a.chip.city-chip, .chip.city-chip{
  background:#ffffff !important;
  color:#000000 !important;
  border:1px solid rgba(0,0,0,.14) !important;
  text-decoration:none;
}
a.chip.city-chip:hover{border-color:rgba(0,0,0,.28) !important; transform:translateY(-1px)}
#areas .badge, #areas a.badge{
  background:#ffffff !important;
  color:#000000 !important;
  border:1px solid rgba(0,0,0,.14) !important;
}
.premium-process{
  border-radius:var(--r2);
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.06);
  box-shadow:var(--shadow2);
  padding:18px;
}
.premium-process h2{font-size:20px}
.premium-process h3{margin-top:14px}
.premium-process p{color:rgba(245,247,255,.86);line-height:1.65}
.premium-process .p4-bullets{
  list-style:none;
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:10px;
  margin-top:12px;
}
.premium-process .p4-bullets li{
  padding:10px 12px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(0,0,0,.14);
  font-weight:900;
}
.premium-process .reviews p{
  margin-top:10px;
  padding:10px 12px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.04);
}


/* =========================
   Premium Process Cleaning — match site system
   (Card + background image + consistent spacing)
========================= */
.premium-process{margin-top:24px;}
.premium-process .premium-card{
  padding:18px;
  border-radius:var(--r2);
  border:1px solid rgba(255,255,255,0.12);
  box-shadow:var(--shadow2);
  position:relative;
  overflow:hidden;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.08), rgba(0,0,0,0.28)),
    url('gallery-12.webp');
  background-size:cover;
  background-position:center;
}
.premium-process .premium-card::after{
  content:"";
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(0,0,0,0.08), rgba(0,0,0,0.45));
  pointer-events:none;
}
.premium-process .premium-card > *{position:relative; z-index:1;}
.premium-process h2{margin:0 0 8px; font-size:1.35rem; color:var(--text);}
.premium-process h3{margin:18px 0 8px; font-size:1.05rem; color:var(--text);}
.premium-process p{color:var(--muted); margin:0 0 10px;}
.premium-process .lead{max-width:72ch;}
.premium-process .premium-grid{
  display:grid;
  grid-template-columns: 1fr;
  gap:16px;
}
@media (min-width: 860px){
  .premium-process .premium-grid{
    grid-template-columns: 1fr 1.1fr;
    align-items:start;
  }
}
.premium-process .pill-grid{
  display:grid;
  grid-template-columns: 1fr;
  gap:10px;
}
@media (min-width: 520px){
  .premium-process .pill-grid{
    grid-template-columns: 1fr 1fr;
  }
}
.premium-process .pill{
  padding:10px 12px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,0.14);
  background:rgba(255,255,255,0.08);
  color:var(--text);
  box-shadow:0 10px 20px rgba(0,0,0,0.22);
}
.premium-process .review-grid{
  display:grid;
  grid-template-columns: 1fr;
  gap:10px;
}
.premium-process .review-card{
  padding:12px 12px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,0.14);
  background:rgba(255,255,255,0.06);
  color:var(--text);
}
.premium-process .review-meta{color:var(--muted); font-size:0.92em;}



.pricing-snapshot{margin-top:14px;padding:12px 14px;border-radius:14px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);color:rgba(245,247,255,.92);line-height:1.55}
.pricing-snapshot .tag{display:inline-block;font-size:12px;padding:4px 8px;border-radius:999px;margin-right:8px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.04);color:rgba(245,247,255,.86)}

/* P4 SURGICAL FIX: #areas badge readability (no global changes) */
#areas .badge,
#areas a.badge{
  background:#ffffff !important;
  color:#111 !important;
  border:1px solid rgba(0,0,0,.20) !important;
  text-decoration:none !important;
}
#areas .badge:hover,
#areas a.badge:hover{
  background:#f3f3f3 !important;
  color:#000 !important;
}
#areas .pill,
#areas .pill b,
#areas h3,
#areas p,
#areas .list,
#areas .list li{
  color:#111 !important;
}

#areas .service-link-grid{
  grid-template-columns:1fr 1fr;
  gap:10px;
}
#areas .service-link{
  padding:10px 12px;
}
#areas .service-link span{
  font-size:13px;
}
#areas .service-link small{
  font-size:11px;
}

/* compatibility alias */
.professional-h3{
      font-size:18px !important;
      line-height:1.15 !important;
      letter-spacing:.01em !important;
      margin-top:8px !important;
    }


/* ===============================
   Shared consistency layer
   Keep future pages aligned by reusing these classes
   =============================== */

.section-shell,
.local-shell,
.service-shell,
.county-shell,
.city-shell{
  border-radius:var(--r2);
  border:1px solid rgba(255,255,255,.10);
  background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.04));
  box-shadow:var(--shadow2);
}

.section-stack > * + *,
.stack > * + *{margin-top:14px;}

.eyebrow,
.section-kicker,
.local-kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:11px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--muted2);
}

.service-area-grid,
.county-grid,
.city-grid,
.local-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}

.county-card,
.city-card,
.local-card,
.service-card{
  border-radius:18px;
  padding:14px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.06);
  box-shadow:var(--shadow2);
}

.service-link-grid,
.service-pages-grid,
.related-links-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}

.service-link,
.service-page-link,
.related-link,
.county-link,
.area-link{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:64px;
  padding:12px 14px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.05);
  color:var(--text);
}

.service-link span,
.service-page-link span,
.related-link span,
.county-link span,
.area-link span{
  font-weight:800;
  line-height:1.25;
}

.service-link small,
.service-page-link small,
.related-link small,
.county-link small,
.area-link small{
  color:var(--muted2);
  line-height:1.35;
}

.city-badge,
.local-badge,
.area-badge,
.main-city-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:40px;
  padding:9px 14px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.15);
  background:rgba(255,255,255,.07);
  color:var(--text);
  font-size:13px;
  font-weight:800;
}

.main-city-badge,
.city-badge.is-featured,
.local-badge.is-featured{
  background:linear-gradient(135deg, rgba(79,209,197,.18), rgba(96,165,250,.18));
  border-color:rgba(96,165,250,.30);
  box-shadow:0 14px 30px rgba(0,0,0,.24);
}

.service-area-grid > *,
.county-grid > *,
.city-grid > *{
  min-width:0;
}

@media (max-width: 900px){
  .service-area-grid,
  .county-grid,
  .city-grid,
  .local-grid,
  .service-link-grid,
  .service-pages-grid,
  .related-links-grid{
    grid-template-columns:1fr;
  }
}

/* === ACCESSIBILITY FIXES === */
.nav-fb {
  color: #ffffff !important;
}

#why-us h2,
#why-us p,
#why-us strong {
  color: #0b1220 !important;
}

/* Homepage-only owner section */
body.home-page .about-owner-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.15fr);gap:18px;align-items:stretch}
body.home-page .about-owner-photo{position:relative;min-height:380px;border-radius:24px;overflow:hidden;border:1px solid rgba(255,255,255,.10);background:linear-gradient(180deg, rgba(11,18,32,.50), rgba(7,11,20,.66)), url('images/about-owner-team.webp') center/cover no-repeat;box-shadow:var(--shadow)}
body.home-page .about-owner-photo::before{content:"Operated Locally • Built on Detail • Trusted Service";position:absolute;left:16px;bottom:16px;padding:8px 12px;border-radius:999px;background:rgba(7,11,20,.74);border:1px solid rgba(255,255,255,.14);font-size:12px;font-weight:800;letter-spacing:.03em;color:rgba(245,247,255,.92)}
body.home-page .about-owner-card{padding:22px}
body.home-page .about-owner-kicker{display:inline-flex;align-items:center;gap:8px;padding:8px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);font-size:11px;font-weight:900;letter-spacing:.16em;text-transform:uppercase;color:rgba(245,247,255,.82);margin-bottom:12px}
body.home-page .about-owner-card h2{font-size:clamp(24px,2.4vw,34px);line-height:1.08;margin-bottom:10px}
body.home-page .about-owner-card p{color:var(--muted);margin:10px 0}
body.home-page .about-owner-points{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0}
body.home-page .about-owner-point{padding:12px 13px;border-radius:16px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.10);font-size:13px;color:rgba(245,247,255,.9)}
body.home-page .about-owner-note{margin-top:14px;padding:14px 15px;border-radius:18px;background:linear-gradient(180deg, rgba(79,209,197,.09), rgba(96,165,250,.08));border:1px solid rgba(255,255,255,.10);color:rgba(245,247,255,.9)}
@media (max-width: 900px){body.home-page .about-owner-grid{grid-template-columns:1fr}body.home-page .about-owner-photo{min-height:300px}body.home-page .about-owner-points{grid-template-columns:1fr}}
 