
  :root{
    --navy:#0B2A4A; --navy-deep:#081E33; --gold:#F0A93B; --sky:#2E86C1;
    --cream:#FBF8F2; --card:#FFFFFF; --ink:#1D2733; --muted:#5C6B7A; --line:#E4DECE;
    box-sizing:border-box; padding-top:env(safe-area-inset-top,0px); padding-bottom:env(safe-area-inset-bottom,0px);
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-padding-top:96px;}
  html,body{background:var(--cream); color:var(--ink); font-family:'Inter',sans-serif; line-height:1.6; overflow-x:hidden;}
  h1,h2,h3,h4{font-family:'Fraunces',serif; font-weight:600; line-height:1.15; letter-spacing:-0.01em; color:var(--navy);}
  a{color:inherit; text-decoration:none; cursor:pointer;}
  img{max-width:100%; display:block;}
  ul{list-style:none;}
  .wrap{max-width:1160px; margin:0 auto; padding:0 24px;}
  .page{display:block;}
  

  .topbar{background:var(--navy-deep); color:#C9D3DD; font-size:0.82rem; padding:7px 24px;}
  .topbar .wrap{display:flex; justify-content:space-between; align-items:center;}
  .topbar a{color:#C9D3DD;}
  .topbar a:hover{color:#fff;}
  @media(max-width:700px){.topbar-social{display:none;}}
  .lang-toggle{display:flex; gap:2px; border:1px solid rgba(255,255,255,0.3); border-radius:14px; overflow:hidden;}
  .lang-toggle button{background:transparent; border:0; color:#C9D3DD; font-size:0.78rem; font-weight:600; padding:3px 10px; cursor:pointer; font-family:inherit;}
  .lang-toggle button.active{background:var(--gold); color:var(--navy-deep);}

  header{position:sticky; top:0; z-index:20; background:rgba(251,248,242,0.96); backdrop-filter:blur(8px); border-bottom:1px solid var(--line);}
  .nav{display:flex; align-items:center; justify-content:space-between; padding:10px 24px; gap:20px;}
  .brand img{height:74px; width:auto;}
  .nav-links{display:flex; gap:2px; font-size:0.92rem; color:var(--navy); font-weight:500; flex:1; justify-content:center;}
  .nav-links > li{position:relative;}
  .nav-links > li > a{display:block; padding:12px 14px;}
  .nav-links > li:hover > a{color:var(--sky);}
  .dropdown{display:none; position:absolute; top:100%; left:0; background:#fff; border:1px solid var(--line); border-radius:6px; min-width:210px; box-shadow:0 12px 28px rgba(11,42,74,0.12); padding:8px 0; z-index:5;}
  .nav-links > li:hover .dropdown{display:block;}
  .dropdown li a{display:block; padding:9px 18px; font-size:0.9rem; color:var(--ink); font-weight:400;}
  .dropdown li a:hover{background:var(--cream); color:var(--sky);}
  .nav-cta{display:flex; align-items:center; gap:12px;}
  .cta-btn{background:var(--gold); color:var(--navy-deep); padding:10px 18px; border-radius:3px; font-weight:600; font-size:0.88rem; white-space:nowrap;}
  .nav-phone{font-weight:600; color:var(--navy); font-size:0.9rem; white-space:nowrap;}
  @media(max-width:980px){.nav-links{display:none;} .nav-phone{display:none;}}

  .hero-eyebrow{color:var(--sky); font-weight:600; font-size:0.9rem; margin-bottom:12px;}
  .hero-banner{position:relative; background-size:cover; background-position:center; min-height:540px; display:flex; align-items:center;}
  .hero-overlay{width:100%; background:linear-gradient(100deg, rgba(8,30,51,0.90) 0%, rgba(8,30,51,0.68) 45%, rgba(8,30,51,0.30) 100%); padding:70px 0;}
  .hero-content{max-width:640px;}
  .hero-content .hero-eyebrow{color:var(--gold); font-weight:600; font-size:0.9rem; margin-bottom:12px;}
  .hero-content h1{color:#fff; font-size:clamp(2rem,4.2vw,2.9rem); line-height:1.15;}
  .hero-content .slogan{font-family:'Fraunces',serif; font-style:italic; color:var(--gold); font-size:1.1rem; margin-top:10px;}
  .hero-content p{color:#E4ECF3; font-size:1.03rem; max-width:52ch; margin:14px 0 26px;}
  @media(max-width:700px){.hero-banner{min-height:460px;} .hero-overlay{background:linear-gradient(180deg, rgba(8,30,51,0.55) 0%, rgba(8,30,51,0.88) 60%);}}
  .badge{display:inline-block; color:var(--sky); font-size:0.95rem; font-weight:600; margin-bottom:14px;}
  .hero h1{font-size:clamp(2rem,4.2vw,2.9rem); max-width:16ch;}
  .hero .slogan{font-family:'Fraunces',serif; font-style:italic; color:var(--gold); font-size:1.1rem; margin-top:10px;}
  .hero p{color:var(--muted); font-size:1.03rem; max-width:50ch; margin:14px 0 26px;}
  .hero-ctas{display:flex; gap:14px; flex-wrap:wrap;}
  .btn-primary{background:var(--gold); color:var(--navy-deep); padding:14px 26px; border-radius:3px; font-weight:600;}
  .btn-ghost{border:1px solid var(--navy); padding:14px 26px; border-radius:3px; color:var(--navy); font-weight:500;}
  .btn-ghost:hover{background:var(--navy); color:#fff;}
  .btn-ghost.light{border-color:#fff; color:#fff;}
  .hero-logo{display:flex; justify-content:center;}
  .hero-logo img{width:100%; max-width:440px; border-radius:10px; box-shadow:0 20px 40px rgba(11,42,74,0.25);}

  .slider{background:var(--navy-deep); padding:16px 0; overflow:hidden; position:relative;}
  .slider-track{display:flex; gap:14px; width:max-content; animation:slide 64s linear infinite;}
  .slider:hover .slider-track{animation-play-state:paused;}
  .slider-track img{height:170px; width:auto; border-radius:6px; flex-shrink:0; object-fit:cover;}
  @keyframes slide{from{transform:translateX(0);} to{transform:translateX(-50%);}}
  @media(max-width:600px){.slider-track img{height:120px;}}

  .intro{padding:40px 0; border-top:1px solid var(--line); text-align:center;}
  .intro .wrap{max-width:760px;}
  .intro h2{font-size:clamp(1.4rem,3vw,1.9rem); margin-bottom:12px;}
  .intro p{color:var(--muted);}

  .explore{padding:40px 0 56px;}
  .explore-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:16px;}
  @media(max-width:900px){.explore-grid{grid-template-columns:repeat(2,1fr);}}
  .explore-card{background:var(--card); border:1px solid var(--line); border-radius:8px; padding:22px; display:block;}
  .explore-card:hover{border-color:var(--sky);}
  .explore-card .bar{width:32px; height:3px; background:var(--gold); border-radius:2px; margin-bottom:14px;}
  .explore-card h3{font-size:1.02rem; margin-bottom:6px;}
  .explore-card p{color:var(--muted); font-size:0.85rem; margin-bottom:10px;}
  .explore-card .go{color:var(--sky); font-size:0.82rem; font-weight:600;}

  .about-trimlight{background:var(--cream); padding:52px 0;}
  .about-trimlight .dealer-line{color:var(--sky); font-weight:600; font-size:0.92rem; margin-bottom:10px;}
  .about-trimlight h1,.about-trimlight h2{margin-bottom:14px;} .about-trimlight h1{font-size:1.5em;}
  .about-trimlight > .wrap > p{color:var(--muted); max-width:70ch; margin-bottom:28px;}
  .about-stats{display:grid; grid-template-columns:repeat(4,1fr); gap:18px;}
  @media(max-width:800px){.about-stats{grid-template-columns:repeat(2,1fr);}}
  .about-stats .stat{background:var(--card); border:1px solid var(--line); border-radius:6px; padding:20px; text-align:center;}
  .about-stats .stat strong{display:block; color:var(--navy); font-family:'Fraunces',serif; font-size:1.25rem; margin-bottom:4px;}
  .about-stats .stat span{color:var(--muted); font-size:0.85rem;}

  .section{padding:52px 0; border-top:1px solid var(--line);}
  .section:first-child{border-top:none;}
  .section h1,.section h2{font-size:clamp(1.5rem,3vw,2.1rem); max-width:28ch; margin-bottom:12px;}
  .section > .wrap > p.lede{color:var(--muted); max-width:64ch; margin-bottom:36px;}

  .grid2{display:grid; grid-template-columns:1fr 1fr; gap:22px;}
  @media(max-width:760px){.grid2{grid-template-columns:1fr;}}
  .diff-card{background:var(--card); border:1px solid var(--line); border-radius:6px; padding:24px;}
  .diff-card h3{font-size:1.08rem; margin-bottom:8px;}
  .diff-card p{color:var(--muted); font-size:0.93rem;}

  .contrast{display:flex; gap:16px; justify-content:center; margin-top:28px; flex-wrap:wrap;}
  .contrast .item{display:flex; align-items:center; gap:12px; background:var(--card); border:1px solid var(--line); border-radius:8px; padding:12px 20px; max-width:280px;}
  .contrast svg{width:44px; height:44px; flex-shrink:0;}
  .contrast h4{font-size:0.92rem; color:var(--navy); margin-bottom:2px;}
  .contrast p{font-size:0.8rem; color:var(--muted); margin:0;}

  .grid3{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
  @media(max-width:800px){.grid3{grid-template-columns:1fr;}}
  .card{background:var(--card); border:1px solid var(--line); border-radius:6px; overflow:hidden;}
  .card-media{aspect-ratio:16/10; background:linear-gradient(135deg,var(--navy),var(--sky)); display:flex; align-items:center; justify-content:center; color:rgba(255,255,255,0.85); font-size:0.85rem; text-align:center; padding:16px;}
  .card-body{padding:22px;}
  .card h3{font-size:1.15rem; margin-bottom:8px;}
  .card p{color:var(--muted); font-size:0.95rem;}
  .card .tag{color:var(--sky); font-size:0.82rem; font-weight:600; margin-bottom:8px; display:block; text-transform:uppercase; letter-spacing:0.03em;}
  .commercial-card{cursor:pointer;}
  .commercial-card:hover{border-color:var(--sky);}

  .detail-hero{position:relative; border-radius:8px; overflow:hidden; margin-bottom:32px;}
  .detail-hero img{width:100%; display:block;}
  .detail-hero .tag-line{position:absolute; bottom:16px; right:20px; color:#fff; font-weight:700; font-size:1.05rem; text-shadow:0 2px 8px rgba(0,0,0,0.6);}
  .detail-callout{display:inline-block; background:var(--gold); color:var(--navy-deep); font-weight:700; padding:10px 20px; border-radius:6px; margin-top:18px; font-size:0.9rem;}
  .detail-grid4{display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-top:36px;}
  @media(max-width:800px){.detail-grid4{grid-template-columns:repeat(2,1fr);}}
  .detail-grid4 figure{margin:0; border-radius:6px; overflow:hidden; position:relative;}
  .detail-grid4 img{width:100%; display:block;}
  .detail-grid4 figcaption{position:absolute; bottom:8px; left:8px; right:8px; color:#fff; font-size:0.72rem; font-weight:700; text-shadow:0 1px 4px rgba(0,0,0,0.7);}
  .back-link{display:inline-block; margin-bottom:20px; color:var(--sky); font-weight:600; font-size:0.9rem;}

  .quote-form{max-width:600px; margin:0 auto;}
  .quote-form label{display:block; font-size:0.88rem; font-weight:600; color:var(--navy); margin:16px 0 6px;}
  .quote-form label:first-of-type{margin-top:0;}
  .quote-form input, .quote-form select, .quote-form textarea{width:100%; padding:11px 14px; border:1px solid var(--line); border-radius:4px; font-family:inherit; font-size:0.95rem; background:var(--card); color:var(--ink);}
  .quote-form textarea{min-height:90px; resize:vertical;}
  .quote-form .row2{display:grid; grid-template-columns:1fr 1fr; gap:16px;}
  @media(max-width:560px){.quote-form .row2{grid-template-columns:1fr;}}
  .quote-form button{margin-top:24px; width:100%; padding:15px; border:0; cursor:pointer;}
  .quote-note{color:var(--muted); font-size:0.85rem; margin-top:14px; text-align:center;}
  .quote-intro{color:var(--muted); max-width:60ch; margin:0 auto 32px; text-align:center;}
  .mockup-hook{text-align:center;}
  .mockup-badge{display:inline-block; background:linear-gradient(90deg,var(--gold),#FF6B35); color:var(--navy-deep); font-weight:700; font-size:0.78rem; letter-spacing:0.04em; padding:6px 16px; border-radius:20px; margin-bottom:14px;}
  .photo-upload-field{background:var(--cream); border:2px dashed var(--gold); border-radius:8px; padding:18px; margin-bottom:22px;}
  .photo-upload-field label{font-weight:700; color:var(--navy); margin-bottom:8px; display:block;}
  .photo-upload-field input[type=file]{width:100%; padding:9px; border:1px solid var(--line); border-radius:4px; background:var(--card); font-size:0.88rem;}
  .photo-hint{color:var(--muted); font-size:0.8rem; margin-top:8px;}

  .app-section{background:var(--navy-deep); color:#fff; padding:56px 0;}
  .app-grid{display:grid; grid-template-columns:1fr 1fr; gap:44px; align-items:center;}
  @media(max-width:800px){.app-grid{grid-template-columns:1fr;}}
  .app-section h2{color:#fff;}
  .app-section p.lede{color:#C9D3DD !important;}
  .app-list{margin-top:18px;}
  .app-list li{display:flex; gap:10px; margin-bottom:11px; font-size:0.96rem; color:#E4ECF3;}
  .app-list li::before{content:'✓'; color:var(--gold); font-weight:700; flex-shrink:0;}
  .phone{width:230px; margin:0 auto; background:#111; border-radius:34px; padding:10px; box-shadow:0 25px 50px rgba(0,0,0,0.4);}
  .phone-screen{background:linear-gradient(160deg,#1B1440,#2B1B5E 55%,#1E2A5E); border-radius:24px; padding:20px 16px; color:#fff; min-height:380px;}
  .phone-screen img{border-radius:16px; width:100%;}
  .phone-notch{width:60px; height:6px; background:#000; border-radius:4px; margin:0 auto 14px;}
  .phone-app-name{font-size:0.78rem; letter-spacing:0.06em; text-transform:uppercase; color:#B9AEEA; text-align:center; margin-bottom:14px;}
  .color-wheel{width:130px; height:130px; margin:14px auto; border-radius:50%; background:conic-gradient(red,orange,yellow,limegreen,cyan,blue,violet,magenta,red); box-shadow:0 0 0 4px rgba(255,255,255,0.08), 0 8px 20px rgba(0,0,0,0.35); position:relative;}
  .color-wheel::after{content:''; position:absolute; inset:38%; background:#1B1440; border-radius:50%; border:2px solid rgba(255,255,255,0.2);}
  .pattern-chips{display:flex; flex-wrap:wrap; gap:6px; justify-content:center; margin:16px 0;}
  .pattern-chips span{background:rgba(255,255,255,0.08); border:1px solid rgba(255,255,255,0.15); border-radius:14px; padding:4px 10px; font-size:0.68rem; color:#E4DEFF;}
  .phone-slider{background:rgba(255,255,255,0.1); border-radius:8px; height:8px; margin:18px 4px 6px; position:relative;}
  .phone-slider::after{content:''; position:absolute; left:0; top:0; bottom:0; width:70%; background:linear-gradient(90deg,var(--gold),#FF6B35); border-radius:8px;}
  .phone-slider-label{font-size:0.65rem; color:#B9AEEA; display:flex; justify-content:space-between; margin:0 4px;}
  .voice-pill{display:inline-flex; gap:10px; margin-top:20px; flex-wrap:wrap;}
  .voice-pill span{background:rgba(255,255,255,0.1); border:1px solid rgba(255,255,255,0.2); border-radius:20px; padding:6px 14px; font-size:0.82rem;}

  .type-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line); border-radius:6px; overflow:hidden;}
  @media(max-width:900px){.type-grid{grid-template-columns:repeat(2,1fr);}}
  @media(max-width:480px){.type-grid{grid-template-columns:1fr;}}
  .type-item{background:var(--card); padding:24px 20px;}
  .type-item img{width:100%; aspect-ratio:16/10; object-fit:cover; border-radius:4px; margin-bottom:14px;}
  .type-item h3{font-size:1.02rem; margin-bottom:8px;}
  .type-item p{color:var(--muted); font-size:0.9rem;}

  .feature{padding:52px 0; border-top:1px solid var(--line);}
  .feature-grid{display:grid; grid-template-columns:1fr 1fr; gap:44px; align-items:center;}
  .feature-grid.reverse .feature-media{order:2;}
  @media(max-width:800px){.feature-grid{grid-template-columns:1fr;} .feature-grid.reverse .feature-media{order:0;}}
  .feature-media{background:linear-gradient(135deg,var(--navy),var(--sky)); border-radius:8px; aspect-ratio:4/3; display:flex; align-items:center; justify-content:center; color:rgba(255,255,255,0.85); font-size:0.9rem; text-align:center; padding:24px; overflow:hidden;}
  .feature-media img{width:100%; height:100%; object-fit:cover;}
  .feature-text .badge-line{color:var(--gold); font-family:'Fraunces',serif; font-style:italic; font-size:1.15rem; margin-bottom:10px; display:block;}
  .feature-text h2{font-size:clamp(1.4rem,3vw,2rem); margin-bottom:14px;}
  .feature-text p{color:var(--muted); margin-bottom:14px;}
  .feature-list{margin-top:16px;}
  .feature-list li{display:flex; gap:10px; margin-bottom:10px; font-size:0.95rem;}
  .feature-list li::before{content:'✓'; color:var(--sky); font-weight:700; flex-shrink:0;}
  .position-line{background:var(--cream); border-left:3px solid var(--gold); padding:16px 20px; margin-top:20px; font-family:'Fraunces',serif; font-style:italic; color:var(--navy); font-size:1.02rem;}
  .spec-row{display:flex; flex-wrap:wrap; gap:8px; margin-top:18px;}
  .spec-chip{background:var(--cream); border:1px solid var(--line); border-radius:20px; padding:5px 13px; font-size:0.8rem; color:var(--muted);}

  .why-row{display:grid; grid-template-columns:repeat(4,1fr); gap:22px;}
  @media(max-width:900px){.why-row{grid-template-columns:repeat(2,1fr);}}
  @media(max-width:520px){.why-row{grid-template-columns:1fr;}}
  .why{background:var(--card); border:1px solid var(--line); border-radius:6px; padding:22px;}
  .why .mark{width:8px; height:8px; border-radius:50%; background:var(--gold); margin-bottom:12px;}
  .why h3{font-size:1.02rem; margin-bottom:6px;}
  .why p{color:var(--muted); font-size:0.9rem;}

  .steps{display:grid; grid-template-columns:repeat(4,1fr); gap:24px;}
  @media(max-width:800px){.steps{grid-template-columns:1fr 1fr;}}
  @media(max-width:480px){.steps{grid-template-columns:1fr;}}
  .step .num{font-family:'Fraunces',serif; font-size:1.7rem; color:var(--gold); margin-bottom:8px;}
  .step h3{font-size:1.02rem; margin-bottom:6px;}
  .step p{color:var(--muted); font-size:0.9rem;}

  .warranty{background:linear-gradient(135deg,var(--navy),var(--navy-deep)); color:#fff; padding:52px 0; text-align:center;}
  .warranty h1,.warranty h2{color:#fff; margin-bottom:14px;} .warranty h1{font-size:1.5em;}
  .warranty p{color:#C9D3DD; max-width:70ch; margin:0 auto 12px;}
  .warranty-badge{display:inline-block; margin-top:14px; border:2px solid var(--gold); border-radius:8px; padding:10px 24px; color:var(--gold); font-weight:700; letter-spacing:0.04em;}
  .badge-row{display:flex; justify-content:center; align-items:center; gap:28px; margin-top:24px; flex-wrap:wrap;}
  .badge-row img{height:130px; width:auto; filter:drop-shadow(0 6px 14px rgba(0,0,0,0.25));}
  .badge-row.home-badges{margin-top:0; gap:24px;}
  .badge-row.home-badges img{height:90px;}

  details{border-bottom:1px solid var(--line); padding:18px 0;}
  summary{cursor:pointer; font-weight:600; font-size:1.02rem; list-style:none; display:flex; justify-content:space-between; align-items:center; color:var(--navy);}
  summary::-webkit-details-marker{display:none;}
  summary::after{content:'+'; color:var(--gold); font-size:1.3rem;}
  details[open] summary::after{content:'\2013';}
  details p{color:var(--muted); margin-top:12px; max-width:66ch; font-size:0.95rem;}

  .zip-list{display:flex; flex-wrap:wrap; gap:8px; margin-top:20px;}
  .territory-map{max-width:480px; margin:32px auto 8px; display:block;}
  .territory-map .pin-dot{fill:var(--gold); stroke:var(--navy-deep); stroke-width:1.5;}
  .territory-map .pin-label{font-family:'Inter',sans-serif; font-size:11px; font-weight:600; fill:var(--navy);}
  .territory-map .county-shape{fill:#EFE7D6; stroke:var(--line); stroke-width:2;}
  .territory-map .bay-shape{fill:#BEE3F8;}
  .map-caption{text-align:center; color:var(--muted); font-size:0.82rem; margin-top:8px; font-style:italic;}
  .gmap-embed{position:relative; width:100%; max-width:900px; margin:36px auto 0; border-radius:8px; overflow:hidden; border:1px solid var(--line); aspect-ratio:16/9;}
  .gmap-embed iframe{position:absolute; top:0; left:0; width:100%; height:100%; border:0;}
  #service-map{position:relative; z-index:0; width:100%; max-width:960px; height:560px; margin:28px auto 0; border-radius:8px; border:1px solid var(--line); overflow:hidden;}
  @media(max-width:700px){#service-map{height:440px;}}
  .leaflet-container{font-family:'Inter',sans-serif;}
  .area-checker{max-width:420px; margin:28px auto 0; text-align:center;}
  .area-checker label{display:block; font-weight:600; color:var(--navy); margin-bottom:8px; font-size:0.92rem;}
  .area-checker select{width:100%; padding:11px 14px; border:1px solid var(--line); border-radius:4px; font-family:inherit; font-size:0.95rem; background:var(--card); color:var(--ink);}
  .area-result{margin-top:14px; padding:12px 18px; border-radius:6px; font-weight:600; font-size:0.92rem;}
  .area-result-yes{background:#DCFCE7; color:#166534; border:1px solid #86EFAC;}
  .pin-dot.pin-active{fill:#22C55E; filter:drop-shadow(0 0 6px rgba(34,197,94,0.85));}

  .contact-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:20px; margin-top:28px;}
  @media(max-width:700px){.contact-grid{grid-template-columns:1fr;}}
  .contact-card{background:var(--card); border:1px solid var(--line); border-radius:8px; padding:26px; text-align:center;}
  .contact-card h3{font-size:1.05rem; margin-bottom:8px;}
  .contact-card a.big-link{display:block; color:var(--sky); font-weight:700; font-size:1.15rem; margin-top:6px;}
  .contact-card p{color:var(--muted); font-size:0.88rem; margin-top:6px;}
  .contact-info-row{display:flex; justify-content:center; flex-wrap:wrap; gap:28px; margin-top:36px; text-align:center;}
  .contact-info-row .item strong{display:block; color:var(--navy); font-size:0.95rem; margin-bottom:4px;}
  .contact-info-row .item span{color:var(--muted); font-size:0.88rem;}
  .zip-chip{background:var(--card); border:1px solid var(--line); border-radius:20px; padding:6px 14px; font-size:0.85rem; color:var(--muted);}

  .final{background:var(--navy); color:#fff; padding:52px 0;}
  .final h2{color:#fff;}
  .final .slogan{color:var(--gold); font-family:'Fraunces',serif; font-style:italic;}
  .final p{color:#C9D3DD; max-width:48ch; margin:10px 0 26px;}
  .final-inner{display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:24px;}

  footer{background:var(--navy-deep); color:#AEB9C4; padding:48px 0 26px; font-size:0.9rem;}
  .foot-top{display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:32px; margin-bottom:32px;}
  @media(max-width:800px){.foot-top{grid-template-columns:1fr 1fr;}}
  @media(max-width:480px){.foot-top{grid-template-columns:1fr;}}
  .foot-top img{height:48px; margin-bottom:14px;}
  .foot-top p{margin-bottom:8px;}
  .foot-top h4{color:#fff; font-size:0.85rem; margin-bottom:14px; font-weight:600; text-transform:uppercase; letter-spacing:0.03em;}
  .foot-top li{margin-bottom:8px;}
  .foot-top a:hover{color:#fff;}
  .foot-bottom{border-top:1px solid rgba(255,255,255,0.12); padding-top:18px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; font-size:0.82rem;}

/* ---- multi-page additions ---- */
a.card{display:block; color:inherit;}
a.zip-chip{color:var(--muted);} a.zip-chip:hover{border-color:var(--sky); color:var(--sky);}
.lang-toggle a{display:block; color:#C9D3DD; font-size:0.78rem; font-weight:600; padding:3px 10px;}
.lang-toggle a.active{background:var(--gold); color:var(--navy-deep);}
.breadcrumb{font-size:0.85rem; color:var(--muted); margin-bottom:18px;}
.breadcrumb a{color:var(--sky);}
.feature-text h1{font-size:clamp(1.6rem,3.2vw,2.3rem); margin-bottom:14px;}
.feature-text .lede{color:var(--muted); margin-bottom:14px; max-width:none;}
.type-item h3 a{color:inherit;} .type-item h3 a:hover{color:var(--sky);}
.type-item .go{display:inline-block; margin-top:8px; color:var(--sky); font-size:0.82rem; font-weight:600;}
.type-item > a img{margin-bottom:14px;}
.foot-areas{border-top:1px solid rgba(255,255,255,0.12); padding-top:16px; margin-bottom:18px; font-size:0.82rem; line-height:1.9; color:#8FA0B2;}
.foot-areas strong{color:#fff; font-weight:600; margin-right:8px;}
.foot-areas a{color:#AEB9C4; margin-right:12px; white-space:nowrap;} .foot-areas a:hover{color:#fff;}
#city-map{position:relative; z-index:0; width:100%; height:380px; border-radius:8px; border:1px solid var(--line); overflow:hidden;}
.body-copy{color:var(--muted); max-width:70ch; margin-bottom:14px;}
.solution-chips{margin-top:8px;}
.menu-btn{display:none; background:transparent; border:1px solid var(--line); border-radius:4px; font-size:1.2rem; line-height:1; padding:8px 11px; cursor:pointer; color:var(--navy); font-family:inherit;}
@media(max-width:980px){
  .menu-btn{display:inline-block;}
  .nav-links.open{display:flex; flex-direction:column; position:absolute; top:100%; left:0; right:0; background:#fff; padding:8px 24px 16px; border-bottom:1px solid var(--line); max-height:75vh; overflow:auto; gap:0; justify-content:flex-start;}
  .nav-links.open > li > a{padding:10px 0;}
  .nav-links.open .dropdown{display:block; position:static; box-shadow:none; border:0; padding:0 0 0 14px; min-width:0; background:transparent;}
  .nav-links.open .dropdown li a{padding:6px 0;}
}

.zip-grid{display:grid; grid-template-columns:repeat(auto-fill, minmax(90px,1fr)); gap:8px; margin-top:20px;}
.zip-btn{background:var(--card); border:1px solid var(--line); border-radius:6px; padding:10px 6px; text-align:center; font-weight:600; font-size:0.88rem; color:var(--navy); cursor:pointer; font-family:inherit;}
.zip-btn:hover{border-color:var(--gold);}
.zip-btn.zip-active{background:#DCFCE7; border-color:#22C55E; color:#166534;}
.zip-result{margin-top:16px; padding:12px 18px; border-radius:6px; font-weight:600; font-size:0.92rem; display:none;}
.zip-result.show{display:block; background:#DCFCE7; color:#166534; border:1px solid #86EFAC;}
.sms-consent{margin-top:18px;}
.sms-consent label{display:flex; align-items:flex-start; gap:10px; font-weight:400; font-size:0.83rem; color:var(--muted); cursor:pointer;}
.sms-consent input[type=checkbox]{width:auto; margin-top:3px; flex-shrink:0;}
.sms-consent a{color:var(--sky); text-decoration:underline;}

/* ---- Meet Matt redesign ---- */
.meet-matt-section{position:relative; overflow:hidden; background:var(--navy-deep); padding:0;}
.mm-lightstrip{position:relative; height:3px; display:flex; justify-content:space-evenly; align-items:center; background:rgba(255,255,255,0.03); z-index:3;}
.mm-lightstrip span{width:6px; height:6px; border-radius:50%; background:#FFF6DF; box-shadow:0 0 6px 2px rgba(255,246,223,0.95), 0 0 18px 7px rgba(240,169,59,0.55); flex-shrink:0;}
.mm-wrap{position:relative; padding:76px 0 84px;}
.mm-bg{position:absolute; inset:0; background-image:url(/images/trimlight-backyard-pool-party.jpg); background-size:cover; background-position:center 28%; opacity:0.5;}
.mm-overlay{position:absolute; inset:0; background:linear-gradient(100deg, rgba(8,30,51,0.55) 0%, rgba(8,30,51,0.68) 32%, rgba(8,30,51,0.93) 52%, rgba(8,30,51,0.97) 100%);}
.mm-content{position:relative; z-index:2;}
.mm-grid{display:grid; grid-template-columns:0.82fr 1.18fr; gap:60px; align-items:center;}
@media(max-width:860px){.mm-grid{grid-template-columns:1fr; gap:40px; text-align:center;}}
.mm-portrait-wrap{position:relative; display:flex; justify-content:center; padding:20px;}
.mm-glow{position:absolute; width:90%; height:60%; top:4%; left:5%; background:radial-gradient(circle at 50% 35%, rgba(240,169,59,0.3) 0%, rgba(240,169,59,0) 68%); filter:blur(30px); z-index:0; animation:mmPulse 5s ease-in-out infinite;}
@keyframes mmPulse{0%,100%{opacity:0.75;} 50%{opacity:1;}}
.mm-feature-photo{position:relative; z-index:1; display:block; width:100%; max-width:480px; border-radius:16px; box-shadow:0 25px 60px rgba(0,0,0,0.5);}
.mm-eyebrow{display:inline-block; color:var(--gold); font-weight:700; font-size:0.8rem; letter-spacing:0.16em; margin-bottom:16px;}
.mm-headline{font-family:'Fraunces',serif; color:var(--cream); font-size:clamp(1.9rem,3.8vw,2.7rem); line-height:1.16; margin-bottom:24px;}
.mm-lede{color:#E7EEF4; font-size:1.07rem; margin-bottom:18px; max-width:54ch;}
@media(max-width:860px){.mm-lede{margin-left:auto; margin-right:auto;}}
.mm-body{color:#B9C6D2; margin-bottom:16px; max-width:58ch;}
@media(max-width:860px){.mm-body{margin-left:auto; margin-right:auto;}}

/* ---- Our Guarantee ---- */
.guarantee-section{background:var(--cream); padding:70px 0;}
.guarantee-grid{display:grid; grid-template-columns:1fr 0.9fr; gap:56px; align-items:center;}
@media(max-width:860px){.guarantee-grid{grid-template-columns:1fr; gap:36px; text-align:center;}}
.guarantee-eyebrow{display:inline-flex; align-items:center; gap:8px; color:var(--gold); font-weight:700; font-size:0.8rem; letter-spacing:0.14em; margin-bottom:16px;}
.guarantee-heading{font-family:'Fraunces',serif; color:var(--navy); font-size:clamp(1.8rem,3.4vw,2.4rem); line-height:1.18; margin-bottom:20px;}
.guarantee-copy{background:#fff; border:2px solid var(--gold); border-radius:12px; padding:28px 30px; font-size:1.05rem; color:var(--navy); line-height:1.6;}
.guarantee-photo{display:flex; justify-content:center;}
.guarantee-photo img{width:100%; max-width:340px; border-radius:16px; box-shadow:0 20px 45px rgba(11,42,74,0.18);}
.mm-blend-photo{position:relative; z-index:1; display:block; width:100%; max-width:400px; border:0;}
