  :root{
    --logo-navy:#001A57;
    --logo-blue:#00A0E5;
    --navy:#001A57;
    --navy-soft:#0B2B6B;
    --white:#FFFFFF;
    --grey-100:#F4F7F9;
    --grey-200:#E4EAEE;
    --grey-700:#4A5560;
    --grey-500:#5A6976;
    --blue:#00A0E5;
    --blue-light:#4FC3F7;
    --blue-text:#0075B0;
    --lime:#5C8AB8;
    --lime-deep:#3E6389;
    --gold:#C9A227;
    --line:rgba(14,27,42,0.10);
    --radius:20px;
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{ font-family:'Source Sans Pro',sans-serif; font-weight:400; color:var(--navy); background:var(--white); line-height:1.55; -webkit-font-smoothing:antialiased; }
  h1,h2,h3,.display{ font-family:'Source Sans Pro',sans-serif; font-weight:900; letter-spacing:0.005em; line-height:1.02; text-transform:uppercase; color:var(--navy); }
  .mono{ font-family:'Source Sans Pro',sans-serif; }
  a{ color:inherit; text-decoration:none; }
  img,svg{ display:block; max-width:100%; }
  /* keep aspect ratio when width/height attrs are present and CSS caps the width */
  img{ height:auto; }
  .wrap{ max-width:1180px; margin:0 auto; padding:0 24px; }
  section{ padding:64px 0; }
  @media (max-width:640px){ section{ padding:44px 0; } }

  .btn{ display:inline-flex; align-items:center; gap:8px; padding:16px 30px; border-radius:999px; font-weight:700; font-size:15px; border:2px solid transparent; cursor:pointer; transition:transform .15s ease, box-shadow .15s ease; }
  .btn:focus-visible{ outline:3px solid var(--blue); outline-offset:3px; }
  .btn-primary{ background:linear-gradient(135deg,var(--blue),var(--blue-light)); color:var(--white); box-shadow:0 10px 24px rgba(46,134,216,0.3); }
  .btn-primary:hover{ transform:translateY(-2px); box-shadow:0 14px 30px rgba(46,134,216,0.4); }
  .btn-lime{ background:var(--lime); color:var(--navy); }
  .btn-lime:hover{ transform:translateY(-2px); box-shadow:0 10px 24px rgba(92,138,184,0.45); }
  .btn-ghost{ border-color:var(--navy); color:var(--navy); }
  .btn-ghost:hover{ background:rgba(14,27,42,0.06); }
  .btn-ghost.light{ border-color:var(--white); color:var(--white); }
  .btn-ghost.light:hover{ background:rgba(255,255,255,0.12); }
  .btn-sm{ padding:11px 20px; font-size:14.5px; }

  /* Utility bar */
  .util-bar{ background:var(--navy); color:var(--grey-200); font-family:'Source Sans Pro',sans-serif; font-weight:700; font-size:16px; }
  .util-bar .wrap{ display:flex; flex-wrap:wrap; gap:16px; justify-content:space-between; padding:10px 24px; align-items:center; }
  .util-left{ display:flex; gap:20px; flex-wrap:wrap; }
  .util-right{ display:flex; gap:18px; align-items:center; }
  .util-right a:hover{ color:var(--lime); }

  header{ position:sticky; top:0; z-index:50; background:rgba(255,255,255,0.97); backdrop-filter:blur(8px); border-bottom:1px solid var(--line); }
  .nav{ display:flex; align-items:center; justify-content:space-between; padding:4px 0; }
  .logo-block{ display:flex; flex-direction:column; gap:2px; }
  .logo-mark{ display:flex; align-items:center; gap:10px; }
  .logo-mark img{ height:76px; width:auto; }
  .logo-mark .word{ font-weight:900; font-size:27px; letter-spacing:0.01em; text-transform:uppercase; color:var(--navy); }
  .logo-mark .word span{ color:var(--blue); }
  .nav-links{ display:none; gap:22px; align-items:center; }
  @media (min-width:1100px){ .nav-links{ display:flex; } }
  .nav-links a{ font-weight:700; font-size:15px; text-transform:uppercase; letter-spacing:0.02em; white-space:nowrap; }
  .nav-links a:hover{ color:var(--blue); }
  .nav-cta{ display:none; }
  @media (min-width:1100px){ .nav-cta{ display:inline-flex; } }

  /* Mobile nav */
  .nav-toggle{ display:flex; flex-direction:column; justify-content:center; width:40px; height:40px; border:none; background:none; cursor:pointer; padding:0; }
  @media (min-width:1100px){ .nav-toggle{ display:none; } }
  .nav-toggle span{ display:block; height:2.5px; width:24px; background:var(--navy); border-radius:2px; margin:2.5px 0; transition:transform .25s ease, opacity .25s ease; }
  .nav-toggle[aria-expanded="true"] span:nth-child(1){ transform:translateY(7.5px) rotate(45deg); }
  .nav-toggle[aria-expanded="true"] span:nth-child(2){ opacity:0; }
  .nav-toggle[aria-expanded="true"] span:nth-child(3){ transform:translateY(-7.5px) rotate(-45deg); }
  .mobile-menu{
    display:none; flex-direction:column; gap:4px;
    background:var(--white); border-top:1px solid var(--line);
    padding:14px 24px 22px;
  }
  .mobile-menu.open{ display:flex; }
  @media (min-width:1100px){ .mobile-menu{ display:none !important; } }
  .mobile-menu a{ padding:12px 4px; font-weight:700; font-size:15px; color:var(--navy); border-bottom:1px solid var(--line); }
  .mobile-menu .btn{ margin-top:14px; justify-content:center; }
  .mobile-menu .mobile-phone{ margin-top:14px; font-family:'Source Sans Pro',sans-serif; font-weight:600; font-size:16px; color:var(--grey-500); text-align:center; }

  /* Hero */
  .hero{ background:linear-gradient(180deg,var(--navy) 0%, var(--navy-soft) 100%); color:var(--white); padding:80px 0 0; overflow:hidden; position:relative; }
  .hero::after{
    content:''; position:absolute; inset:0; pointer-events:none;
    background: radial-gradient(circle at 85% 10%, rgba(255,201,77,0.18), transparent 40%),
                radial-gradient(circle at 10% 90%, rgba(46,134,216,0.25), transparent 45%);
  }
  .hero-inner{ max-width:760px; margin:0 auto; text-align:center; position:relative; z-index:1; }
  .eyebrow{ font-family:'Source Sans Pro',sans-serif; font-weight:700; text-transform:uppercase; font-size:14px; letter-spacing:0.12em; color:var(--blue-text); display:inline-flex; align-items:center; gap:10px; margin-bottom:18px; }
  .eyebrow::before{ content:''; width:8px; height:8px; border-radius:50%; background:var(--gold); }
  .hero h1, .hero h2{ font-size:clamp(38px,7vw,64px); margin-bottom:20px; color:var(--white); }
  .hero-tag-row{ display:flex; align-items:center; justify-content:center; gap:10px; margin-bottom:20px; }
  .hero-tag-line{ height:2px; width:24px; background:var(--gold); flex:none; }
  @media (min-width:480px){ .hero-tag-row{ gap:18px; } .hero-tag-line{ width:60px; } }
  @media (min-width:640px){ .hero-tag-line{ width:100px; } }

  /* Location banner with photo background */
  .location-banner{
    position:relative; padding:110px 0; overflow:hidden;
    background:var(--navy);
  }
  .location-banner-img{
    position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
    z-index:0;
  }
  .location-banner-overlay{
    position:absolute; inset:0; z-index:1;
    background:linear-gradient(180deg, rgba(0,26,87,0.85) 0%, rgba(0,26,87,0.68) 45%, rgba(0,26,87,0.90) 100%);
  }
  .location-banner-inner{ position:relative; z-index:2; text-align:center; }
  .location-title-small{
    font-family:'Source Sans Pro',sans-serif; font-weight:700; text-transform:uppercase;
    color:var(--white); font-size:clamp(16px,2.4vw,22px); letter-spacing:0.04em;
    margin-bottom:6px;
  }
  .location-title-big{
    font-family:'Source Sans Pro',sans-serif; font-weight:900; text-transform:uppercase;
    color:var(--white); font-size:clamp(26px,4.6vw,46px); line-height:1.15;
    letter-spacing:normal; max-width:820px;
  }
  .location-banner-inner .hero-tag-row{ margin-bottom:34px; }
  @media (max-width:640px){ .location-banner{ padding:80px 0; } }
  .hero-tag{
    font-family:'Source Sans Pro',sans-serif; font-weight:900; text-transform:uppercase;
    color:var(--white); font-size:clamp(15px,4.2vw,38px); letter-spacing:0.04em;
    white-space:nowrap;
  }
  @media (min-width:480px){ .hero-tag{ letter-spacing:0.06em; } }
  .hero h1 em, .hero h2 em{ font-style:normal; background:linear-gradient(135deg,var(--blue-light),var(--lime)); -webkit-background-clip:text; background-clip:text; color:transparent; }
  .hero p.lede{ font-size:18px; color:rgba(255,255,255,0.78); max-width:560px; margin:0 auto 32px; font-weight:400; }
  .hero-actions{ display:flex; gap:14px; justify-content:center; flex-wrap:wrap; margin-bottom:8px; }

  /* Stats bar */
  .stats-bar{ position:relative; z-index:1; margin-top:64px; border-top:1px solid rgba(255,255,255,0.14); }
  .stats-grid{ display:grid; grid-template-columns:repeat(3,1fr); }
  .stat{ text-align:center; padding:28px 12px; border-right:1px solid rgba(255,255,255,0.14); }
  .stat:last-child{ border-right:none; }
  .stat .num{ font-family:'Source Sans Pro'; font-weight:900; font-size:clamp(26px,4vw,40px); color:var(--gold); }
  .stat .label{ font-family:'Source Sans Pro',sans-serif; font-weight:600; font-size:14px; letter-spacing:0.06em; text-transform:uppercase; color:rgba(255,255,255,0.7); margin-top:6px; }

  /* Mini steps with arrows */
  .mini-steps{ display:grid; grid-template-columns:1fr; gap:8px; align-items:center; }
  @media (min-width:820px){ .mini-steps{ grid-template-columns:1fr auto 1fr auto 1fr; } }
  .mini-step{ text-align:center; padding:20px; }
  .mini-step .num-badge{ width:58px; height:70px; display:flex; align-items:center; justify-content:center; margin:0 auto 14px; }
  .mini-step h3{ font-family:'Source Sans Pro'; font-weight:900; font-size:16px; margin-bottom:6px; }
  .mini-step p{ font-size:13.5px; color:var(--grey-500); }
  .mini-arrow{ display:none; color:var(--grey-500); font-size:22px; }
  @media (min-width:820px){ .mini-arrow{ display:block; } }

  /* Feature icon row */
  .features{ background:var(--grey-100); }
  .feat-grid{ display:grid; grid-template-columns:1fr; gap:20px; margin-top:20px; }
  @media (min-width:700px){ .feat-grid{ grid-template-columns:repeat(2,1fr); } }
  @media (min-width:1000px){ .feat-grid{ grid-template-columns:repeat(4,1fr); } }
  .feat-card{ background:var(--white); border-radius:var(--radius); padding:28px 22px; text-align:center; border:1px solid var(--line); }

  /* DIY vs Wash My Can comparison */
  .diy-compare{ background:var(--grey-100); padding-top:40px; }
  .compare-grid{ display:grid; grid-template-columns:1fr; gap:24px; }
  @media (min-width:860px){ .compare-grid{ grid-template-columns:1fr 1fr; align-items:stretch; } }
  .compare-card{ border-radius:var(--radius); padding:32px; display:flex; flex-direction:column; gap:16px; }
  .compare-card.diy{ background:var(--white); border:1px solid var(--line); }
  .compare-card.wmc{ background:var(--navy); color:var(--white); box-shadow:0 24px 48px rgba(14,27,42,0.22); }
  .compare-tag{ font-family:'Source Sans Pro',sans-serif; font-size:13px; letter-spacing:0.08em; text-transform:uppercase; font-weight:700; }
  .compare-card.diy .compare-tag{ color:#B23B3B; }
  .compare-card.wmc .compare-tag{ color:var(--lime); }
  .compare-card h3{ font-family:'Source Sans Pro'; font-weight:900; font-size:16px; text-transform:uppercase; margin-top:6px; }
  .compare-card.wmc h3{ color:var(--white); }
  .compare-list{ list-style:none; display:flex; flex-direction:column; gap:10px; }
  .compare-list li{ font-size:14.5px; padding-left:20px; position:relative; color:var(--grey-500); }
  .compare-list li::before{ content:'✕'; position:absolute; left:0; top:1px; color:#B23B3B; font-weight:700; font-size:12px; }
  .compare-list.check li{ color:rgba(255,255,255,0.82); }
  .compare-list.check li::before{ content:'✓'; color:var(--lime); }
  .compare-note{ font-size:14.5px; color:var(--grey-500); }
  .compare-card.wmc .btn{ align-self:flex-start; margin-top:8px; }

  /* Instagram follow tiles */
  .ig-tile-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; max-width:720px; margin:0 auto; }
  .ig-tile{
    aspect-ratio:1/1; border-radius:16px;
    background:linear-gradient(135deg,var(--blue),var(--navy));
    display:flex; align-items:center; justify-content:center; text-align:center; padding:16px;
  }
  .ig-tile span{ color:rgba(255,255,255,0.92); font-weight:800; font-size:14px; text-transform:uppercase; letter-spacing:0.02em; }
  @media (max-width:560px){
    .ig-tile-grid{ grid-template-columns:1fr; gap:12px; }
    .ig-tile{ aspect-ratio:auto; min-height:84px; padding:16px; }
    .ig-tile span{ font-size:16px; }
  }
  .feat-card .icon{ width:56px; height:56px; border-radius:50%; margin:0 auto 16px; display:flex; align-items:center; justify-content:center; font-size:24px; background:linear-gradient(135deg,var(--lime),var(--blue-light)); color:var(--white); }
  .feat-card h3{ font-family:'Source Sans Pro'; font-weight:900; font-size:15.5px; text-transform:uppercase; margin-bottom:8px; }
  .feat-card p{ font-size:15px; color:var(--grey-500); }

  /* Pricing */
  .promo-banner{ background:var(--navy); color:var(--white); text-align:center; padding:12px 20px; border-radius:999px; font-family:'Source Sans Pro',sans-serif; font-size:15px; font-weight:700; max-width:560px; margin:0 auto 40px; }
  .promo-banner code{ background:var(--gold); color:var(--navy); padding:2px 8px; border-radius:5px; margin-left:6px; }
  .plans{ display:grid; grid-template-columns:1fr; gap:20px; align-items:start; }
  @media (min-width:820px){ .plans{ grid-template-columns:repeat(4,1fr); max-width:1080px; margin:0 auto; } }
  .plan{ border-radius:var(--radius); padding:26px; background:var(--white); border:2.5px solid var(--navy); display:flex; flex-direction:column; align-items:center; text-align:center; gap:11px; position:relative; cursor:pointer; transition:transform .18s ease, box-shadow .18s ease; }
  .plan:hover{ transform:translateY(-4px); box-shadow:0 20px 34px rgba(14,27,42,0.14); }
  .plan.featured{ background:var(--white); color:inherit; border:2.5px solid var(--navy); transform:translateY(-10px); box-shadow:0 26px 50px rgba(14,27,42,0.18); }
  .plan.featured:hover{ transform:translateY(-14px); }
  .plan-badge{ position:absolute; top:-16px; left:-14px; z-index:2; transform:rotate(-7deg); background:linear-gradient(135deg,#E3BE45,var(--gold)); color:var(--navy); font-family:'Source Sans Pro',sans-serif; font-size:13px; font-weight:900; text-transform:uppercase; letter-spacing:0.08em; white-space:nowrap; padding:7px 14px 7px 11px; border-radius:8px; box-shadow:0 8px 16px rgba(14,27,42,0.28); }
  .plan-badge::before{ content:'\2605'; margin-right:6px; }
  .plan-tag{ font-family:'Source Sans Pro',sans-serif; font-weight:900; font-size:19px; text-transform:uppercase; letter-spacing:0.01em; color:var(--blue-text); }
  .plan.featured .plan-tag{ color:var(--blue-text); }
  .plan .plan-name{ font-family:'Source Sans Pro'; font-weight:900; font-size:19px; text-transform:uppercase; color:inherit; }
  .plan .price{ font-family:'Source Sans Pro'; font-weight:900; font-size:40px; color:inherit; }
  .plan .price sup{ font-family:'Source Sans Pro',sans-serif; font-size:13px; font-weight:400; margin-left:4px; }
  .plan .addl{ font-size:15px; font-weight:600; color:var(--grey-700); font-family:'Source Sans Pro',sans-serif; line-height:1.5; }
  .plan-desc{ margin-top:2px; padding-top:11px; border-top:1px solid var(--line); text-align:center; }
  .plan.featured .plan-desc{ border-top-color:var(--line); }
  .plan-desc-head{ font-weight:800; font-size:13px; letter-spacing:0.02em; line-height:1.4; margin-bottom:10px; color:inherit; }
  .plan-desc ul{ list-style:none; display:flex; flex-direction:column; align-items:center; gap:6px; }
  .plan-desc li{ font-size:15px; color:var(--grey-700); }
  .plan.featured .plan-desc li{ color:var(--grey-700); }
  .plan-desc li::before{ content:'\2022  '; color:var(--blue); font-weight:900; }
  .plan.featured .plan-desc li::before{ color:var(--blue); }
  .plan.featured .addl{ color:var(--grey-700); }
  .plan .btn{ margin-top:18px; align-self:center; }

  /* Section head */
  .section-head{ max-width:660px; margin-bottom:48px; }
  .section-head.center{ margin-left:auto; margin-right:auto; text-align:center; }
  .section-head h2{ font-size:clamp(28px,5vw,44px); }
  .section-head p{ color:var(--grey-500); font-size:16px; margin-top:14px; }

  /* About */
  .about-grid{ display:grid; grid-template-columns:1fr; gap:48px; align-items:start; }
  @media (min-width:900px){ .about-grid{ grid-template-columns:0.9fr 1.1fr; } }
  .about-photo{ aspect-ratio:950/349; border-radius:var(--radius); background:linear-gradient(135deg,var(--blue),var(--lime)); display:flex; align-items:center; justify-content:center; color:rgba(255,255,255,0.9); font-family:'Source Sans Pro',sans-serif; font-size:13px; text-align:center; padding:20px; overflow:hidden; }
  .about-copy p{ color:var(--grey-500); margin-bottom:16px; font-size:15.5px; }
  .about-copy strong{ color:var(--navy); }
  .about-copy .pull-quote{
    font-family:'Source Sans Pro',sans-serif; font-weight:900; text-transform:uppercase;
    font-size:26px; color:var(--navy); letter-spacing:0.01em; line-height:1.15;
    margin:8px 0 22px; padding-left:16px; border-left:4px solid var(--blue);
  }

  /* Checklist / transform section */
  .transform{ background:var(--grey-100); }
  .transform-grid{ display:grid; grid-template-columns:1fr; gap:48px; align-items:center; }
  @media (min-width:900px){ .transform-grid{ grid-template-columns:1fr 1fr; } }
  .check-list{ display:flex; flex-direction:column; gap:20px; margin-top:28px; }
  .check-item{ display:flex; gap:14px; align-items:flex-start; }
  .check-item .mark{ flex:none; width:28px; height:28px; border-radius:50%; background:var(--lime); color:var(--navy); display:flex; align-items:center; justify-content:center; font-weight:800; font-size:14px; }
  .check-item p{ font-size:14.5px; color:var(--grey-500); }

  .slider-card{ position:relative; border-radius:var(--radius); overflow:hidden; aspect-ratio:4/5; max-width:420px; margin:0 auto; box-shadow:0 30px 60px rgba(14,27,42,0.25); user-select:none; touch-action:pan-y; }
  .slide-layer{ position:absolute; inset:0; }
  .slide-before{ background:linear-gradient(180deg,#4A4E52,#26292B); }
  .slide-after{ background:linear-gradient(180deg,var(--blue),var(--lime-deep)); }
  .slide-label{ position:absolute; top:14px; font-family:'Source Sans Pro',sans-serif; font-weight:700; font-size:13px; letter-spacing:0.1em; padding:6px 10px; border-radius:6px; text-transform:uppercase; font-weight:700; }
  .slide-before .slide-label{ left:14px; background:rgba(0,0,0,0.35); color:#fff; }
  .slide-after .slide-label{ right:14px; background:rgba(0,0,0,0.25); color:#fff; }
  .slider-handle{ position:absolute; top:0; bottom:0; width:3px; background:var(--gold); left:50%; transform:translateX(-50%); cursor:ew-resize; }
  .slider-handle::after{ content:'⇔'; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:44px; height:44px; border-radius:50%; background:var(--gold); color:var(--navy); display:flex; align-items:center; justify-content:center; font-size:18px; font-weight:800; box-shadow:0 6px 16px rgba(0,0,0,0.3); }
  input[type="range"].slider-input{ position:absolute; inset:0; width:100%; height:100%; opacity:0; cursor:ew-resize; margin:0; z-index:5; }

  /* How it works detailed */
  .how{ background:var(--navy); color:var(--white); }
  .how .section-head p{ color:rgba(255,255,255,0.65); }
  .how .section-head h2{ color:var(--white); }
  .how .eyebrow{ color:var(--blue-light); }
  .how .eyebrow::before{ background:var(--gold); }
  .how-list{ display:flex; flex-direction:column; gap:0; border-top:1px solid rgba(255,255,255,0.12); }
  .how-row{ display:grid; grid-template-columns:60px 1fr; gap:20px; padding:26px 0; border-bottom:1px solid rgba(255,255,255,0.12); }
  .how-row .num{ font-family:'Source Sans Pro'; font-weight:900; font-size:32px; color:var(--gold); }
  .how-row h3{ font-family:'Source Sans Pro'; font-weight:900; font-size:17px; text-transform:uppercase; color:var(--white); margin-bottom:6px; }
  .how-row p{ font-size:14.5px; color:rgba(255,255,255,0.65); }

  /* Service area */
  .area-chips{ display:flex; flex-wrap:wrap; gap:10px; margin-top:8px; }
  .chip{ padding:10px 18px; border-radius:999px; background:var(--grey-100); border:1px solid var(--line); font-size:13.5px; font-weight:600; }
  .chip:hover{ background:var(--blue); color:var(--white); border-color:var(--blue); }

  /* Service area map */
  .area-map-grid{ display:grid; grid-template-columns:1fr; gap:36px; align-items:center; margin-bottom:36px; }
  @media (min-width:820px){ .area-map-grid{ grid-template-columns:0.85fr 1.15fr; } }
  .area-map-wrap{ max-width:340px; margin:0 auto; }
  .fl-map{ width:100%; height:auto; display:block; }
  .fl-label{ font-family:'Source Sans Pro',sans-serif; font-weight:700; font-size:13px; letter-spacing:0.12em; fill:#9AA6AE; }
  .fl-inset-label{ font-family:'Source Sans Pro',sans-serif; font-weight:800; font-size:19px; fill:var(--navy); }

  .area-featured-label{ font-family:'Source Sans Pro',sans-serif; font-weight:700; font-size:14px; letter-spacing:0.08em; text-transform:uppercase; color:var(--grey-500); margin-bottom:14px; }
  .area-featured-list{ list-style:none; display:grid; grid-template-columns:1fr 1fr; gap:12px 20px; margin-bottom:16px; }
  .area-featured-list li{ font-weight:800; font-size:15.5px; color:var(--navy); padding-left:18px; position:relative; }
  .area-featured-list li::before{ content:''; position:absolute; left:0; top:7px; width:8px; height:8px; border-radius:50%; background:var(--blue); }
  .area-featured-list li a:hover{ color:var(--blue); text-decoration:underline; }
  .area-featured-note{ font-size:13.5px; color:var(--grey-500); }

  /* Breadcrumb (city / location pages, shown in the dark hero) */
  .crumbs{ font-size:12.5px; color:rgba(255,255,255,0.6); margin-bottom:16px; letter-spacing:0.01em; }
  .crumbs span{ color:rgba(255,255,255,0.88); }
  .crumbs a:hover{ color:#fff; text-decoration:underline; }

  /* FAQ */
  .faq-list{ display:flex; flex-direction:column; gap:2px; max-width:820px; }

  /* Contact form */
  .contact-form{ max-width:640px; margin:0 auto; display:flex; flex-direction:column; gap:18px; }
  .form-grid{ display:grid; grid-template-columns:1fr; gap:18px; }
  @media (min-width:640px){ .form-grid{ grid-template-columns:1fr 1fr; } }
  .form-field{ display:flex; flex-direction:column; gap:6px; }
  .form-field label{ font-size:13px; font-weight:700; color:var(--navy); }
  .form-field input, .form-field textarea{
    font-family:'Source Sans Pro',sans-serif; font-size:15px; padding:12px 14px;
    border:1px solid var(--line); border-radius:10px; background:var(--grey-100); color:var(--navy);
  }
  .form-field input:focus, .form-field textarea:focus{ outline:2px solid var(--blue); outline-offset:1px; background:var(--white); }
  .contact-form .btn{ align-self:center; margin-top:6px; }
  .selected-plan-badge{
    background:var(--grey-100); border:1px solid var(--line); border-radius:12px;
    padding:12px 16px; font-weight:800; color:var(--navy); font-size:14.5px;
    display:flex; align-items:center; gap:8px;
  }
  .selected-plan-badge::before{ content:'✓'; color:var(--blue); font-weight:900; }
  /* Honeypot: kept in the DOM for bots, moved off-screen for people */
  .contact-form .hp{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
  .form-status{ align-self:stretch; text-align:center; font-size:14.5px; font-weight:700; padding:12px 16px; border-radius:12px; }
  .form-status.is-info{ background:var(--grey-100); color:var(--grey-700); }
  .form-status.is-success{ background:rgba(0,160,229,0.12); color:var(--navy); }
  .form-status.is-error{ background:#FDECEC; color:#B23B3B; }
  details{ border-bottom:1px solid var(--line); padding:18px 0; }
  summary{ min-height:44px; padding:4px 0; cursor:pointer; font-weight:700; font-size:16px; list-style:none; display:flex; justify-content:space-between; align-items:center; gap:16px; }
  summary::-webkit-details-marker{ display:none; }
  summary::after{ content:'+'; font-family:'Source Sans Pro',sans-serif; font-size:20px; color:var(--blue); flex:none; }
  details[open] summary::after{ content:'–'; }
  details p{ margin-top:14px; color:var(--grey-500); font-size:14.5px; max-width:640px; }
  .faq-bullets{ list-style:none; margin-top:10px; display:flex; flex-direction:column; gap:8px; max-width:640px; }
  .faq-bullets li{ font-size:14.5px; color:var(--grey-500); padding-left:18px; position:relative; }
  .faq-bullets li::before{ content:''; position:absolute; left:0; top:7px; width:7px; height:7px; border-radius:50%; background:var(--blue); }

  /* Testimonials */
  .testi-grid{ display:grid; grid-template-columns:1fr; gap:24px; }
  @media (min-width:760px){ .testi-grid{ grid-template-columns:repeat(3,1fr); } }
  .testi{ background:var(--grey-100); border-radius:var(--radius); padding:26px; font-size:15px; }
  .testi p.quote{ margin-bottom:16px; }
  .testi .who{ font-family:'Source Sans Pro',sans-serif; font-size:15px; color:var(--grey-500); }

  /* Final CTA */
  .cta-banner{ background:linear-gradient(135deg,var(--blue),var(--lime-deep)); color:var(--white); text-align:center; }
  .cta-banner h2{ font-size:clamp(28px,6vw,48px); color:var(--white); }
  .cta-banner p{ max-width:480px; margin:16px auto 32px; color:rgba(255,255,255,0.85); font-size:16px; }

  footer{ background:var(--navy); color:rgba(255,255,255,0.65); padding:56px 0 28px; }

  /* Sticky mobile call/book bar */
  .mobile-cta-bar{
    display:none; position:fixed; left:0; right:0; bottom:0; z-index:80;
    background:var(--white); border-top:1px solid var(--line);
    box-shadow:0 -8px 24px rgba(14,27,42,0.12);
    padding:10px 14px calc(10px + env(safe-area-inset-bottom));
    gap:10px;
  }
  @media (max-width:820px){ .mobile-cta-bar{ display:flex; } }
  .mobile-cta-bar a{
    flex:1; display:flex; align-items:center; justify-content:center; gap:8px;
    padding:13px 10px; border-radius:12px; font-weight:800; font-size:14.5px;
  }
  .mobile-cta-bar .call{ background:var(--grey-100); color:var(--navy); border:1px solid var(--line); }
  .mobile-cta-bar .book{ background:var(--blue); color:var(--white); }
  body{ padding-bottom:0; }
  @media (max-width:820px){ body{ padding-bottom:70px; } }
  .footer-grid{ display:grid; grid-template-columns:1fr; gap:32px; margin-bottom:36px; }
  @media (min-width:760px){ .footer-grid{ grid-template-columns:2fr 1fr 1fr; } }
  footer .logo-mark .word{ color:var(--white); }
  footer p{ font-size:14px; margin-top:12px; max-width:320px; }
  footer h4{ font-family:'Source Sans Pro',sans-serif; font-weight:700; font-size:14px; text-transform:uppercase; letter-spacing:0.08em; color:var(--lime); margin-bottom:14px; }
  footer ul{ list-style:none; display:flex; flex-direction:column; gap:2px; font-size:14px; }
  footer ul a:hover{ color:#fff; }
  .social-row{ display:flex; gap:12px; margin-top:16px; }
  .social-row a{ width:44px; height:44px; border-radius:50%; background:rgba(255,255,255,0.1); display:flex; align-items:center; justify-content:center; font-size:14px; }
  .social-row a:hover{ background:var(--blue); }
  .footer-bottom{ border-top:1px solid rgba(255,255,255,0.12); padding-top:22px; font-size:14px; font-family:'Source Sans Pro',sans-serif; display:flex; flex-wrap:wrap; gap:12px; justify-content:space-between; }
  .footer-bottom a:hover{ text-decoration:underline; }

  @media (prefers-reduced-motion: reduce){ html{ scroll-behavior:auto; } .btn{ transition:none; } .reveal{ opacity:1 !important; transform:none !important; transition:none !important; } }

  /* Subtle scroll-in reveal */
  .reveal{ opacity:0; transform:translateY(18px); transition:opacity .6s ease, transform .6s ease; }
  .reveal.in-view{ opacity:1; transform:translateY(0); }

  /* Readability, tap targets and compact header (SEO/UX review) */
  [hidden]{ display:none !important; }
  .eyebrow[style*="var(--blue)"], a[style*="color:var(--blue)"]{ color:var(--blue-text) !important; }
  .util-left a{ display:inline-block; padding:10px 0; }
  .util-left a:hover{ color:var(--blue-light); }
  header .logo-mark img{ mix-blend-mode:multiply; }
  .logo-block > span{ font-size:13px !important; line-height:1.2; }
  footer ul a{ display:inline-block; padding:11px 0; }
  .footer-bottom a{ display:inline-block; padding:11px 0; }
  @media (max-width:899px){
    .logo-mark img{ height:60px; }
    .logo-block > span{ display:none; }
  }
  @media (max-width:640px){
    .util-bar{ font-size:14px; }
    .util-bar .wrap{ padding-left:16px; padding-right:16px; gap:8px; }
    .util-left{ gap:16px; flex-wrap:nowrap; }
    .util-left a:nth-child(2){ display:none; }
  }
  .hero .eyebrow, .how .eyebrow, .cta-banner .eyebrow, .location-banner .eyebrow, .stats-bar .eyebrow, footer .eyebrow{ color:var(--blue-light) !important; }
  .util-bar .wrap{ padding-top:0; padding-bottom:0; }
  .util-left span, .util-right a{ display:inline-block; padding:10px 0; }
  .social-row a svg{ display:block; }
  .social-row a{ color:var(--white); }

  /* Blog */
  .post-meta{ color:rgba(255,255,255,0.82); font-size:15px; margin-top:14px; }
  .post{ padding:48px 0 64px; }
  .post-inner{ max-width:760px; margin:0 auto; padding:0 24px; }
  .post-img{ display:block; width:100%; height:auto; border-radius:var(--radius); box-shadow:0 18px 40px rgba(14,27,42,0.18); margin:0 0 32px; }
  .post-inner > p{ font-size:19px; line-height:1.75; color:var(--grey-700); margin-bottom:22px; }
  .post-cta{ margin-top:36px; padding:32px 28px; border-radius:var(--radius); background:linear-gradient(135deg,var(--navy),var(--navy-soft)); color:var(--white); text-align:center; }
  .post-cta h2{ color:var(--white); font-size:clamp(26px,5vw,36px); margin-bottom:12px; }
  .post-cta p{ color:rgba(255,255,255,0.9); font-size:17px; max-width:520px; margin:0 auto 22px; }
  .post-cta-actions{ display:flex; flex-wrap:wrap; gap:12px; justify-content:center; }
  .blog-grid{ display:grid; grid-template-columns:minmax(0,1fr); gap:24px; }
  @media (min-width:700px){ .blog-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
  @media (min-width:1000px){ .blog-grid{ grid-template-columns:repeat(3,minmax(0,1fr)); } }
  .blog-card{ background:var(--white); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; display:flex; flex-direction:column; box-shadow:0 8px 24px rgba(14,27,42,0.06); transition:transform .18s ease, box-shadow .18s ease; }
  .blog-card:hover{ transform:translateY(-4px); box-shadow:0 18px 34px rgba(14,27,42,0.12); }
  .blog-card-img img{ display:block; width:100%; height:auto; }
  .blog-card-body{ padding:22px; display:flex; flex-direction:column; gap:10px; flex:1; }
  .blog-date{ font-size:14px; font-weight:700; color:var(--blue-text); text-transform:uppercase; letter-spacing:0.06em; }
  .blog-card h3{ font-size:22px; line-height:1.15; text-transform:none; }
  .blog-card h3 a:hover{ color:var(--blue-text); }
  .blog-card p{ font-size:16px; color:var(--grey-700); }
  .blog-more{ margin-top:auto; font-weight:700; color:var(--blue-text); padding:10px 0; }
  .blog-more:hover{ text-decoration:underline; }
  .post-img + .photo-credit{ margin:-20px 0 26px; font-size:14px; color:var(--grey-500); }
  .photo-credit a{ text-decoration:underline; }
