/* =====================================================================
   Maverick Lighting theme.css  -  "Best-lit house on the block after dark"
   Aesthetic: deep night-navy, luminous warm-white + gold glow.
   Signature: string-of-lights motif + warm radial glow behind key moments.
   Brand tokens from the live Lighting page: navy #193C63, rust #C0491F, gold #F5B301.
   ===================================================================== */

:root{
  /* brand + night palette */
  --ml-night:        #08182B;   /* deepest night, hero/CTA/footer base */
  --ml-night-2:      #0C2542;   /* night gradient partner */
  --ml-primary:      #193C63;   /* brand navy */
  --ml-primary-2:    #234E7A;   /* lighter navy */
  --ml-accent:       #C0491F;   /* burnt rust (CTAs) */
  --ml-accent-2:     #D9622F;   /* rust highlight for gradient */
  --ml-accent-hover: #A23A16;
  --ml-gold:         #F5B301;   /* gold */
  --ml-glow:         #FFD97A;   /* warm light glow */
  --ml-warm:         #FFF6E6;   /* warm white (the light) */
  --ml-success:      #2FA24C;
  --ml-bg:           #FFFFFF;
  --ml-bg-alt:       #F6F3EE;   /* warm cream */
  --ml-ink:          #14181F;
  --ml-ink-muted:    #55606F;
  --ml-line:         #E7E1D6;
  --ml-white:        #FFFFFF;

  --ml-radius:       16px;
  --ml-radius-sm:    10px;
  --ml-shadow:       0 12px 34px rgba(8,24,43,.14);
  --ml-shadow-lg:    0 26px 60px rgba(8,24,43,.24);
  --ml-glow-gold:    0 0 24px rgba(245,179,1,.45);
  --ml-container:    1180px;
  --ml-gutter:       clamp(18px,4vw,36px);
  --ml-section:      clamp(64px,8.5vw,116px);

  --ml-font-head:    "Roboto Slab", Georgia, serif;
  --ml-font-body:    "Poppins", system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--ml-font-body);color:var(--ml-ink);background:var(--ml-bg);line-height:1.65;font-size:1.06rem;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--ml-primary);text-decoration:none}
a:hover{color:var(--ml-accent)}
h1,h2,h3,h4{font-family:var(--ml-font-head);line-height:1.08;margin:0 0 .5em;color:var(--ml-primary);letter-spacing:-.01em}
h1{font-weight:800;font-size:clamp(2.4rem,5.4vw,4rem)}
h2{font-weight:700;font-size:clamp(1.9rem,3.8vw,2.8rem)}
h3{font-weight:600;font-size:1.3rem}
p{margin:0 0 1em}
ul{margin:0 0 1em;padding-left:1.2em}
:focus-visible{outline:3px solid var(--ml-gold);outline-offset:2px}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* ---- LAYOUT ---- */
.ml-container{max-width:var(--ml-container);margin-inline:auto;padding-inline:var(--ml-gutter)}
.ml-section{padding-block:var(--ml-section);position:relative}
.ml-section--alt{background:var(--ml-bg-alt)}
.ml-section--dark{background:var(--ml-night);color:#e9eef5}
.ml-section--dark h1,.ml-section--dark h2,.ml-section--dark h3{color:#fff}
.ml-eyebrow{font-family:var(--ml-font-body);font-weight:700;font-size:.78rem;text-transform:uppercase;letter-spacing:.22em;color:var(--ml-accent);margin:0 0 .7em;display:inline-flex;align-items:center;gap:.5em}
.ml-eyebrow::before{content:"";width:26px;height:2px;background:var(--ml-gold);display:inline-block}
.ml-section--dark .ml-eyebrow{color:var(--ml-glow)}
.ml-lead{font-size:1.18rem;color:var(--ml-ink-muted);max-width:62ch}
.ml-section--dark .ml-lead{color:#c3cede}
.ml-center{text-align:center}
.ml-center .ml-lead{margin-inline:auto}
.ml-mt{margin-top:1.6rem}

/* ---- STRING-LIGHT MOTIF (the signature) ---- */
.ml-lights{height:20px;background-image:
  radial-gradient(circle at center, var(--ml-glow) 0 3px, transparent 4px);
  background-size:34px 20px;background-repeat:repeat-x;background-position:center;
  filter:drop-shadow(0 0 5px rgba(255,217,122,.8));opacity:.9}
.ml-lights::before{content:"";display:block;height:10px;border-bottom:1.5px solid rgba(255,217,122,.35);border-radius:50%;margin:0 -6px}

/* ---- BUTTONS ---- */
.ml-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;font-family:var(--ml-font-head);font-weight:600;font-size:1rem;letter-spacing:.01em;padding:.92em 1.7em;border-radius:999px;border:2px solid transparent;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,background .16s ease;text-align:center}
.ml-btn--primary{background:linear-gradient(135deg,var(--ml-accent-2),var(--ml-accent));color:#fff;box-shadow:0 8px 20px rgba(192,73,31,.32)}
.ml-btn--primary:hover{color:#fff;transform:translateY(-2px);box-shadow:0 14px 30px rgba(192,73,31,.45)}
.ml-btn--gold{background:linear-gradient(135deg,var(--ml-glow),var(--ml-gold));color:#3a2600;box-shadow:var(--ml-glow-gold)}
.ml-btn--gold:hover{color:#3a2600;transform:translateY(-2px)}
.ml-btn--ghost{background:rgba(255,255,255,.06);color:#fff;border-color:rgba(255,246,230,.55)}
.ml-btn--ghost:hover{background:rgba(255,246,230,.14);color:#fff}
.ml-btn--dark{background:var(--ml-primary);color:#fff}
.ml-btn--dark:hover{background:var(--ml-primary-2);color:#fff;transform:translateY(-2px)}
.ml-btn--lg{font-size:1.1rem;padding:1.05em 2.1em}

/* ---- RATING ---- */
.ml-rating{display:inline-flex;align-items:center;gap:.6rem;font-weight:600;font-size:.98rem}
.ml-rating .ml-stars{font-size:1.15rem}
.ml-stars{color:var(--ml-gold);letter-spacing:2px;filter:drop-shadow(0 0 6px rgba(245,179,1,.55))}

/* ---- TOP BAR / HEADER ---- */
.ml-topbar{background:var(--ml-night);color:#cdd8e6;font-size:.85rem;border-bottom:1px solid rgba(255,255,255,.06)}
.ml-topbar .ml-container{display:flex;gap:1rem;justify-content:space-between;align-items:center;padding-block:.5rem}
.ml-topbar a{color:var(--ml-glow)}
.ml-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:saturate(1.2) blur(6px);box-shadow:0 1px 0 var(--ml-line);transition:box-shadow .2s ease}
.ml-header.is-stuck{box-shadow:var(--ml-shadow)}
.ml-header .ml-container{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-block:.85rem}
.ml-logo{font-family:var(--ml-font-head);font-weight:800;font-size:1.4rem;color:var(--ml-primary);display:flex;align-items:center;gap:.45rem}
.ml-logo .ml-logo__spark{color:var(--ml-gold);filter:drop-shadow(0 0 6px rgba(245,179,1,.6))}
.ml-logo--img{display:flex;align-items:center}
.ml-logo--img .custom-logo-link{display:block;line-height:0}
.ml-logo--img .custom-logo{max-height:56px;width:auto;height:auto;display:block}
@media (max-width:1000px){.ml-logo--img .custom-logo{max-height:48px}}
.ml-nav{display:flex;align-items:center;gap:1.4rem}
.ml-nav ul{display:flex;gap:1.3rem;list-style:none;margin:0;padding:0}
.ml-nav a{color:var(--ml-ink);font-weight:600;font-size:.95rem}
.ml-nav a:hover{color:var(--ml-accent)}
.ml-header__cta{display:flex;align-items:center;gap:.9rem}
.ml-header__phone{font-family:var(--ml-font-head);font-weight:700;color:var(--ml-primary);white-space:nowrap}
.ml-navtoggle{display:none;background:none;border:0;cursor:pointer;font-size:1.7rem;color:var(--ml-primary)}
@media (max-width:1000px){
  .ml-nav{position:fixed;inset:0 0 0 auto;width:min(330px,86vw);background:var(--ml-night);flex-direction:column;align-items:flex-start;padding:5rem 1.6rem;transform:translateX(100%);transition:transform .25s ease;box-shadow:var(--ml-shadow-lg)}
  .ml-nav.is-open{transform:none}
  .ml-nav ul{flex-direction:column;gap:1.1rem;width:100%}
  .ml-nav a{color:#eaf0f7;font-size:1.05rem}
  .ml-navtoggle{display:block}.ml-header__phone{display:none}
}

/* ---- HERO ---- */
.ml-hero{position:relative;color:#fff;overflow:hidden;background:var(--ml-night)}
.ml-hero__bg{position:absolute;inset:0;object-fit:cover;width:100%;height:100%;z-index:0}
.ml-hero .ml-ph--hero{position:absolute;inset:0;border-radius:0;z-index:0}
/* background video hero (photo poster stays behind as instant/fallback layer) */
.ml-hero--video{min-height:min(90vh,880px);display:flex;align-items:center}
.ml-hero--video .ml-container{width:100%}
.ml-hero__video{position:absolute;inset:0;z-index:0;overflow:hidden;background:var(--ml-night);pointer-events:none}
.ml-hero__video iframe{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100vw;height:56.25vw;min-height:100vh;min-width:177.78vh;border:0}
@media (prefers-reduced-motion:reduce){.ml-hero__video{display:none}}
@media (max-width:640px){.ml-hero__video{display:none}}
/* layered night vignette + warm glow rising from the bottom */
.ml-hero::before{content:"";position:absolute;inset:0;z-index:1;
  background:
   radial-gradient(120% 80% at 50% 118%, rgba(255,196,92,.32), rgba(255,196,92,0) 55%),
   linear-gradient(180deg, rgba(8,24,43,.55) 0%, rgba(8,24,43,.35) 40%, rgba(8,24,43,.9) 100%)}
.ml-hero__lights{position:absolute;top:0;left:0;right:0;z-index:2}
.ml-hero .ml-container{position:relative;z-index:3;padding-block:clamp(84px,13vw,152px);max-width:var(--ml-container)}
.ml-hero h1{color:#fff;max-width:15ch;text-shadow:0 2px 30px rgba(0,0,0,.35)}
.ml-hero h1 em{font-style:normal;color:var(--ml-glow);text-shadow:0 0 26px rgba(255,217,122,.55)}
.ml-hero__sub{font-size:1.24rem;max-width:48ch;color:#e7eef7;margin-top:1rem}
.ml-hero__cta{display:flex;flex-wrap:wrap;gap:1rem;margin:1.7rem 0 1.2rem}
.ml-chips{display:flex;flex-wrap:wrap;gap:.6rem 1.4rem;margin-top:1.2rem;list-style:none;padding:0;font-weight:600;font-size:.96rem;color:#eaf1f9}
.ml-chips li{display:flex;align-items:center;gap:.45rem}
.ml-chips li::before{content:"\2713";color:var(--ml-glow);font-weight:800;filter:drop-shadow(0 0 4px rgba(255,217,122,.7))}

/* ---- TRUST BAR ---- */
.ml-trust{background:var(--ml-night-2);color:#fff;border-top:1px solid rgba(255,217,122,.14);border-bottom:1px solid rgba(0,0,0,.2)}
.ml-trust .ml-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:1rem;padding-block:1.7rem;text-align:center}
.ml-trust > .ml-container > div{position:relative;padding:.2rem .4rem}
.ml-trust > .ml-container > div + div::before{content:"";position:absolute;left:0;top:15%;height:70%;width:1px;background:rgba(255,255,255,.12)}
.ml-trust__num{font-family:var(--ml-font-head);font-weight:800;font-size:2rem;color:var(--ml-glow);display:block;line-height:1;margin-bottom:.25rem;text-shadow:0 0 18px rgba(255,217,122,.4)}
.ml-trust small,.ml-trust div{font-size:.95rem;color:#c9d4e2}

/* ---- GRIDS ---- */
.ml-grid{display:grid;gap:1.6rem}
.ml-grid--4{grid-template-columns:repeat(auto-fit,minmax(235px,1fr))}
.ml-grid--3{grid-template-columns:repeat(auto-fit,minmax(265px,1fr))}
.ml-grid--2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));align-items:center;gap:2.8rem}

/* ---- SERVICE CARDS (image + gradient foot + overlaid title) ---- */
.ml-card{position:relative;display:block;background:#fff;border:1px solid var(--ml-line);border-radius:var(--ml-radius);overflow:hidden;transition:transform .18s ease,box-shadow .18s ease;color:inherit}
.ml-card:hover{transform:translateY(-6px);box-shadow:var(--ml-shadow-lg)}
.ml-card__media{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--ml-night)}
.ml-card__media img,.ml-card__media .ml-ph{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.ml-card:hover .ml-card__media img{transform:scale(1.06)}
.ml-card__media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,24,43,0) 45%,rgba(8,24,43,.82) 100%)}
.ml-card__title{position:absolute;left:1rem;right:1rem;bottom:.9rem;z-index:2;color:#fff;font-family:var(--ml-font-head);font-weight:700;font-size:1.18rem;text-shadow:0 1px 12px rgba(0,0,0,.5)}
.ml-card__body{padding:1.1rem 1.25rem 1.3rem}
.ml-card__body p{color:var(--ml-ink-muted);font-size:.98rem;margin-bottom:.7rem}
.ml-card__more{font-family:var(--ml-font-head);font-weight:600;color:var(--ml-accent);display:inline-flex;gap:.4em;align-items:center}
.ml-card:hover .ml-card__more{gap:.7em}

/* generic linked card used on service-area hub */
.ml-card--text .ml-card__body h3{color:var(--ml-primary)}

/* ---- HOW IT WORKS (glowing sequential timeline) ---- */
.ml-steps{counter-reset:step;display:grid;gap:1.6rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));position:relative}
.ml-step{position:relative;background:#fff;border:1px solid var(--ml-line);border-radius:var(--ml-radius);padding:2.6rem 1.4rem 1.5rem;text-align:center;box-shadow:var(--ml-shadow)}
.ml-step::before{counter-increment:step;content:counter(step);position:absolute;top:-26px;left:50%;transform:translateX(-50%);width:52px;height:52px;border-radius:50%;background:radial-gradient(circle at 40% 35%,var(--ml-glow),var(--ml-gold));color:#3a2600;font-family:var(--ml-font-head);font-weight:800;font-size:1.35rem;display:grid;place-items:center;box-shadow:var(--ml-glow-gold),0 8px 18px rgba(0,0,0,.15)}
.ml-step h3{margin-top:.2rem}
.ml-step p{color:var(--ml-ink-muted);font-size:.98rem;margin:0}

/* ---- INCLUDED / OFFER CHECKLIST ---- */
.ml-included{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.75rem 1.4rem}
.ml-included li{display:flex;gap:.6rem;align-items:flex-start;font-weight:600}
.ml-included li::before{content:"\2713";color:var(--ml-success);font-weight:800;flex:0 0 auto;filter:drop-shadow(0 0 5px rgba(47,162,76,.4))}
.ml-section--dark .ml-included li::before{color:var(--ml-glow);filter:drop-shadow(0 0 6px rgba(255,217,122,.6))}
.ml-included a{color:inherit;text-decoration:underline;text-decoration-color:rgba(245,179,1,.5)}

/* ---- TESTIMONIALS ---- */
.ml-quote{position:relative;background:#fff;border:1px solid var(--ml-line);border-radius:var(--ml-radius);padding:1.8rem 1.6rem;box-shadow:var(--ml-shadow)}
.ml-quote::before{content:"\201C";position:absolute;top:-.1em;right:.3em;font-family:var(--ml-font-head);font-size:5rem;line-height:1;color:rgba(245,179,1,.22)}
.ml-quote p{position:relative;z-index:1;color:var(--ml-ink)}
.ml-quote__who{display:flex;align-items:center;gap:.8rem;margin-top:1.1rem;font-weight:700}
.ml-quote__who img{width:48px;height:48px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 2px var(--ml-gold)}
.ml-quote__who small{display:block;color:var(--ml-ink-muted);font-weight:500}

/* ---- GALLERY ---- */
.ml-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.9rem}
.ml-gallery a{border-radius:var(--ml-radius-sm);overflow:hidden;aspect-ratio:3/2;background:var(--ml-night)}
.ml-gallery img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.ml-gallery a:hover img{transform:scale(1.05)}
.ml-gallery--masonry{column-count:3;column-gap:.9rem;display:block}
.ml-gallery--masonry a{display:block;break-inside:avoid;margin-bottom:.9rem;border-radius:var(--ml-radius-sm);overflow:hidden;aspect-ratio:auto;box-shadow:var(--ml-shadow)}
.ml-gallery--masonry img{width:100%;height:auto;display:block;transition:transform .35s ease}
.ml-gallery--masonry a:hover img{transform:scale(1.04)}
@media (max-width:900px){.ml-gallery--masonry{column-count:2}}
@media (max-width:560px){.ml-gallery--masonry{column-count:1}}

/* ---- FAQ ---- */
.ml-faq details{border:1px solid var(--ml-line);border-radius:var(--ml-radius-sm);padding:1.05rem 1.3rem;margin-bottom:.7rem;background:#fff;box-shadow:0 4px 14px rgba(8,24,43,.05)}
.ml-faq summary{cursor:pointer;font-weight:700;font-family:var(--ml-font-head);color:var(--ml-primary);list-style:none;font-size:1.05rem}
.ml-faq summary::-webkit-details-marker{display:none}
.ml-faq summary::after{content:"+";float:right;color:var(--ml-accent);font-weight:800}
.ml-faq details[open] summary::after{content:"\2013"}
.ml-faq details p{margin:.8rem 0 0;color:var(--ml-ink-muted)}

/* ---- PLACEHOLDER SLOTS ---- */
.ml-ph{position:relative;display:grid;place-items:center;background:
  radial-gradient(circle at 50% 40%, #12314f, #08182b);
  color:#cdd8e6;text-align:center;font-family:var(--ml-font-head);font-weight:600;font-size:.85rem;padding:1rem;border-radius:var(--ml-radius-sm)}
.ml-ph[data-shot]::before{content:"PHOTO " attr(data-shot);display:block;font-size:.72rem;letter-spacing:1px;color:var(--ml-glow);margin-bottom:.3rem}
.ml-ph--hero{border-radius:0}

/* ---- FINAL CTA ---- */
.ml-finalcta{position:relative;color:#fff;text-align:center;overflow:hidden;background:var(--ml-night)}
.ml-finalcta__bg{position:absolute;inset:0;z-index:0;object-fit:cover;width:100%;height:100%;opacity:.5}
.ml-finalcta::after{content:"";position:absolute;inset:0;z-index:1;background:
  radial-gradient(90% 120% at 50% 120%, rgba(255,196,92,.28), rgba(8,24,43,0) 60%),
  linear-gradient(180deg, rgba(8,24,43,.86), rgba(8,24,43,.94))}
.ml-finalcta .ml-container{position:relative;z-index:2}
.ml-finalcta h2{color:#fff}

/* ---- FOOTER ---- */
.ml-footer{background:var(--ml-night);color:#b9c6d8;font-size:.95rem;border-top:1px solid rgba(255,217,122,.12)}
.ml-footer a{color:#b9c6d8}
.ml-footer a:hover{color:var(--ml-glow)}
.ml-footer .ml-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2rem;padding-block:3.2rem}
.ml-footer h4{color:#fff;font-size:1rem;margin-bottom:.8rem}
.ml-footer ul{list-style:none;padding:0}
.ml-footer li{margin-bottom:.5rem}
.ml-footer__bottom{border-top:1px solid rgba(255,255,255,.1);text-align:center;padding-block:1.2rem;font-size:.85rem;color:#8b9ab0}

/* ---- STICKY MOBILE CTA ---- */
.ml-mobilebar{position:fixed;left:0;right:0;bottom:0;z-index:60;display:none;grid-template-columns:1fr 1fr;gap:.5rem;padding:.5rem;background:var(--ml-night);box-shadow:0 -6px 24px rgba(8,24,43,.4)}
.ml-mobilebar .ml-btn{padding:.85em;font-size:.98rem}
@media (max-width:1000px){.ml-mobilebar{display:grid}body{padding-bottom:74px}}

/* ---- QUOTE ESTIMATOR ---- */
.ml-quote-tool{max-width:660px;margin-inline:auto;background:#fff;border:1px solid var(--ml-line);border-radius:var(--ml-radius);box-shadow:var(--ml-shadow-lg);padding:clamp(1.3rem,4vw,2.6rem)}
.ml-quote-tool label{display:block;font-weight:600;margin:.9rem 0 .3rem}
.ml-quote-tool input,.ml-quote-tool select{width:100%;padding:.8em;border:1px solid var(--ml-line);border-radius:var(--ml-radius-sm);font:inherit}
.ml-quote-tool input:focus,.ml-quote-tool select:focus{border-color:var(--ml-gold);outline:none;box-shadow:0 0 0 3px rgba(245,179,1,.2)}
.ml-quote-step{display:none}
.ml-quote-step.is-active{display:block;animation:mlfade .3s ease}
@keyframes mlfade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.ml-quote-progress{height:7px;background:var(--ml-line);border-radius:999px;overflow:hidden;margin-bottom:1.5rem}
.ml-quote-progress span{display:block;height:100%;background:linear-gradient(90deg,var(--ml-glow),var(--ml-gold));width:20%;transition:width .3s ease}
.ml-quote-tiers{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.8rem}
.ml-tier{border:2px solid var(--ml-line);border-radius:var(--ml-radius-sm);padding:1rem;cursor:pointer;text-align:center;transition:border-color .15s,background .15s}
.ml-tier.is-picked{border-color:var(--ml-gold);background:#fffaf0;box-shadow:var(--ml-glow-gold)}
.ml-tier b{display:block;font-family:var(--ml-font-head);color:var(--ml-primary)}
.ml-quote-result{text-align:center}
.ml-quote-result .ml-price{font-family:var(--ml-font-head);font-weight:800;font-size:clamp(2.1rem,6vw,3.2rem);color:var(--ml-primary)}
.ml-addons{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.5rem;list-style:none;padding:0}
.ml-addons label{display:flex;gap:.5rem;align-items:center;font-weight:500;margin:0;border:1px solid var(--ml-line);border-radius:var(--ml-radius-sm);padding:.65em}
.ml-addons input{width:auto}
.ml-quote-nav{display:flex;justify-content:space-between;gap:1rem;margin-top:1.5rem}

/* ---- UTIL ---- */
.ml-reveal{opacity:0;transform:translateY(20px);transition:opacity .55s ease,transform .55s ease}
.ml-reveal.is-in{opacity:1;transform:none}
.skip-link{position:absolute;left:-999px}
.skip-link:focus{left:1rem;top:1rem;background:#fff;padding:.6rem 1rem;z-index:100;border-radius:6px}
