/* ══════════════════════════════════════════════════════════════════════
   ATLANTA HOLIDAY LIGHTING — production stylesheet
   Original Atlanta Holiday Lighting production design system.
   Muted AHL-green field · warm cream cards · forest structure · burnished-gold actions
   ══════════════════════════════════════════════════════════════════════ */
:root{
  --forest:#17362F; --gold:#C5A46D; --cream:#F7F3EA; --ivory:#FFFDF9; --pine:#202522;
  --mint:#C5A46D; --sage:#EEE8DC; --sage-d:#DDD8CE; --canvas:#F7F3EA;
  --gold-lt:#C5A46D; --gold-d:#17362F;
  --ink:#202522; --mid:#5E655F; --soft:#5E655F;
  --dis:'DM Serif Display',Georgia,serif; --bod:'Manrope',system-ui,sans-serif;
  --bd:3px; --sh:6px; --r:14px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:6rem}
body{font-family:var(--bod);color:var(--ink);background:var(--canvas);line-height:1.6;
  font-size:17px;overflow-x:hidden;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
ul,ol{list-style:none}
a{color:inherit;text-decoration:none}
:focus-visible{outline:3px solid var(--gold-d);outline-offset:3px}
h1,h2,h3,h4{font-family:var(--dis);font-weight:400;line-height:1.06;letter-spacing:-.01em;
  color:var(--pine)}
i,.i{font-family:var(--dis);font-style:italic;color:var(--gold-d);font-weight:400}
strong,b{font-weight:800}

.c{max-width:1320px;margin:0 auto;padding:0 clamp(1.15rem,4vw,2.5rem)}
.c-n{max-width:960px;margin:0 auto;padding:0 clamp(1.15rem,4vw,2.5rem)}
.s{padding:clamp(3.25rem,7vw,6rem) 0}
.cream-s{background:var(--cream)}
.dark-s{background:var(--forest)}
.dark-s h2,.dark-s h3{color:var(--cream)}
.dark-s p{color:rgba(247,243,234,.8)}
.dark-s .i{color:var(--gold-lt)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ctr{text-align:center}

/* headline scale — heavy editorial, slight offset shadow as per reference */
.h1{font-size:clamp(2.5rem,5.6vw,4.6rem);line-height:1.04;
  text-shadow:2px 2px 0 rgba(23,54,47,.13)}
.h2{font-size:clamp(2.1rem,4.6vw,3.7rem);line-height:1.08;
  text-shadow:2px 2px 0 rgba(23,54,47,.11)}
.dark-s .h2{text-shadow:2px 2px 0 rgba(0,0,0,.22)}
.h3{font-size:clamp(1.3rem,2.1vw,1.7rem);line-height:1.15}
.sub{font-size:clamp(1rem,1.2vw,1.12rem);line-height:1.6;color:var(--mid);max-width:56ch}
.ctr .sub{margin-left:auto;margin-right:auto}
.dark-s .sub{color:rgba(247,243,234,.78)}
.sec-h{margin-bottom:clamp(2.25rem,4.5vw,3.5rem)}
.sec-h .sub{margin-top:.9rem}
.mini{font-family:var(--bod);font-size:.78rem;font-weight:800;letter-spacing:.13em;
  text-transform:uppercase;color:var(--mid)}

/* ── pill eyebrow ────────────────────────────────────────────────────── */
.pill{display:inline-flex;align-items:center;gap:.55rem;background:var(--cream);
  border:var(--bd) solid var(--pine);border-radius:99px;padding:.6rem 1.35rem;
  font-size:.92rem;font-weight:800;color:var(--pine)}
.spark{width:14px;height:14px;flex:none;color:var(--gold)}

/* ── buttons ─────────────────────────────────────────────────────────── */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;
  font-family:var(--bod);font-weight:800;font-size:1.02rem;padding:1rem 2rem;min-height:58px;
  border:var(--bd) solid var(--pine);border-radius:10px;background:var(--gold);color:var(--pine);
  box-shadow:var(--sh) var(--sh) 0 var(--pine);
  transition:transform .1s ease,box-shadow .1s ease}
.btn::after{content:'';position:absolute;inset:4px;border:2px dotted rgba(32,37,34,.45);
  border-radius:6px;pointer-events:none}
.btn:hover{transform:translate(2px,2px);box-shadow:calc(var(--sh) - 2px) calc(var(--sh) - 2px) 0 var(--pine)}
.btn:active{transform:translate(var(--sh),var(--sh));box-shadow:0 0 0 var(--pine)}
.btn-2{background:var(--cream);color:var(--pine)}
.btn-2::after{display:none}
.dark-s .btn-2{background:transparent;color:var(--cream);border-color:var(--cream);
  box-shadow:var(--sh) var(--sh) 0 rgba(247,243,234,.3)}
.cta-row{display:flex;gap:1rem;flex-wrap:wrap;align-items:center}
.ctr .cta-row{justify-content:center}
.ul-link{font-weight:800;font-size:1rem;color:var(--cream);border-bottom:2px solid var(--gold);
  padding-bottom:.2rem}
.ul-link:hover{color:var(--gold-lt)}
.tl{font-weight:800;font-size:.95rem;color:var(--pine);border-bottom:2px solid var(--gold);
  padding-bottom:.15rem}
.tl:hover{color:var(--gold-d)}
.dark-s .tl{color:var(--cream)}

/* trust row */
.trust{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;margin-top:1.5rem;
  font-size:.95rem;font-weight:700;color:var(--mid)}
.ctr .trust{justify-content:center}
.trust li{display:flex;align-items:center;gap:1rem}
.trust li:not(:last-child)::after{content:'\2726';color:var(--gold);font-size:.8rem}
.dark-s .trust{color:rgba(247,243,234,.85)}

/* ── nav ─────────────────────────────────────────────────────────────── */
.nav{position:sticky;top:0;z-index:900;background:var(--sage)}
.nav-in{max-width:1320px;margin:0 auto;padding:0 clamp(1.15rem,4vw,2.5rem);display:flex;
  align-items:center;justify-content:space-between;gap:1rem;height:78px}
.nav-logo img{width:176px;height:auto;max-height:60px}
.nav-mid{display:flex;gap:2.1rem}
.nav-mid a{font-size:1rem;font-weight:700;color:var(--pine)}
.nav-mid a:hover,.nav-mid a[aria-current]{color:var(--gold-d)}
.nav-end{display:flex;align-items:center;gap:1.35rem}
.nav-tel{display:flex;align-items:center;gap:.45rem;font-size:1rem;font-weight:800;
  color:var(--pine);white-space:nowrap}
.nav-tel:hover{color:var(--gold-d)}
.nav-end .btn{padding:.75rem 1.5rem;min-height:50px;font-size:.95rem;--sh:5px}
.burger{display:none;flex-direction:column;justify-content:center;gap:5px;width:48px;height:48px;
  background:var(--cream);border:var(--bd) solid var(--pine);border-radius:10px;cursor:pointer}
.burger span{display:block;width:20px;height:2.5px;background:var(--pine);margin:0 auto;
  transition:transform .2s,opacity .2s}
.nav[data-open="true"] .burger span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
.nav[data-open="true"] .burger span:nth-child(2){opacity:0}
.nav[data-open="true"] .burger span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}
.drawer{display:none;background:var(--sage);padding:.25rem clamp(1.15rem,4vw,2.5rem) 1.5rem}
.drawer a{display:block;font-size:1.1rem;font-weight:800;color:var(--pine);padding:.9rem 0;
  border-bottom:2px solid rgba(23,54,47,.18)}
.drawer .btn{width:100%;margin-top:1.15rem}
.nav[data-open="true"] .drawer{display:block}
/* ── hero ────────────────────────────────────────────────────────────── */
.hero{padding:clamp(1.5rem,3vw,2.5rem) 0 clamp(3rem,6vw,5rem)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.02fr);
  gap:clamp(2rem,4vw,4rem);align-items:center}
.hero h1{margin:1.5rem 0 0}
.hero .sub{margin-top:1.35rem}
.hero .cta-row{margin-top:1.85rem}
/* framed photo */
.frame{background:var(--cream);border:var(--bd) solid var(--pine);border-radius:var(--r);
  padding:clamp(.75rem,1.1vw,1.05rem);box-shadow:10px 10px 0 var(--pine);margin:0}
.frame img{width:100%;border:2px solid var(--pine);border-radius:8px}
.hero-fig{position:relative}
.hero-fig .frame img{aspect-ratio:4/3.2;object-fit:cover}
.tagcard{position:absolute;left:8%;bottom:-2.6rem;display:flex;align-items:center;gap:.85rem;
  background:var(--cream);border:var(--bd) solid var(--pine);border-radius:10px;
  padding:.75rem 1.25rem;box-shadow:var(--sh) var(--sh) 0 var(--pine)}
.tagcard b{font-family:var(--dis);font-size:1.65rem;color:var(--gold-d);line-height:1}
.tagcard .mini{display:block;line-height:1.3}
.tagcard span span{font-weight:800;color:var(--pine);font-size:.95rem}

/* ── comparison ──────────────────────────────────────────────────────── */
.cmp{display:grid;grid-template-columns:minmax(0,.82fr) auto minmax(0,1.18fr);
  gap:clamp(1rem,2vw,1.75rem);align-items:center}
.cmp-a{background:var(--sage-d);border:2px dashed rgba(23,54,47,.4);border-radius:12px;
  padding:clamp(1.35rem,2.4vw,2rem);align-self:end;margin-bottom:2.5rem}
.cmp-a .mini{margin-bottom:.75rem}
.cmp-a h3{font-size:clamp(1.15rem,1.9vw,1.45rem);color:var(--mid);margin-bottom:1rem}
.cmp-a li{display:grid;grid-template-columns:1.4rem 1fr;gap:.75rem;padding:.55rem 0;
  font-size:.97rem;color:var(--mid);line-height:1.45}
.cmp-a li::before{content:'\2715';display:flex;align-items:center;justify-content:center;
  width:1.4rem;height:1.4rem;border:2px solid var(--soft);border-radius:50%;font-size:.65rem;
  font-weight:800;color:var(--soft);margin-top:.1rem}
.cmp-mid{display:inline-flex;background:var(--cream);border:var(--bd) solid var(--pine);
  border-radius:99px;padding:.5rem 1.15rem;font-family:var(--dis);font-style:italic;
  font-size:1.15rem;color:var(--gold-d)}
.cmp-b{background:var(--cream);border:var(--bd) solid var(--pine);border-radius:var(--r);
  padding:clamp(1.5rem,2.8vw,2.4rem);box-shadow:10px 10px 0 var(--pine);position:relative}
.cmp-b::before{content:'';position:absolute;inset:9px;border:2px dotted rgba(23,54,47,.3);
  border-radius:8px;pointer-events:none}
.tag-gold{display:inline-block;background:var(--gold);border:var(--bd) solid var(--pine);
  border-radius:99px;padding:.55rem 1.35rem;font-size:.92rem;font-weight:800;
  letter-spacing:.09em;text-transform:uppercase;color:var(--pine)}
.cmp-b h3{font-size:clamp(1.3rem,2.2vw,1.75rem);margin:1.15rem 0 1.25rem}
.cmp-b li{display:grid;grid-template-columns:1.6rem 1fr;gap:.9rem;padding:.55rem 0}
.cmp-b li::before{content:'\2713';display:flex;align-items:center;justify-content:center;
  width:1.6rem;height:1.6rem;background:var(--gold);border:2px solid var(--pine);
  border-radius:50%;font-size:.8rem;font-weight:800;color:var(--pine);margin-top:.15rem}
.cmp-b b{display:block;font-family:var(--dis);font-size:1.12rem;color:var(--pine);
  margin-bottom:.15rem;font-weight:400}
.cmp-b p{font-size:.96rem;line-height:1.5;color:var(--mid)}

/* ── gallery mosaic ──────────────────────────────────────────────────── */
.mosaic{display:grid;grid-template-columns:repeat(12,1fr);
  grid-auto-rows:minmax(0,auto);gap:clamp(.85rem,1.6vw,1.35rem)}
.shot{position:relative;margin:0;background:var(--cream);border:var(--bd) solid var(--pine);
  border-radius:12px;padding:5px;box-shadow:var(--sh) var(--sh) 0 rgba(0,0,0,.45);overflow:hidden}
.shot img{width:100%;height:100%;object-fit:cover;border-radius:7px;display:block}
.shot figcaption{position:absolute;left:1.1rem;bottom:1.1rem;background:var(--cream);
  border:2px solid var(--pine);border-radius:7px;padding:.5rem .9rem;font-size:.88rem;
  font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--pine)}
.m-big{grid-column:1/8;grid-row:1/3;aspect-ratio:16/11}
.m-r1{grid-column:8/13;grid-row:1;aspect-ratio:16/8.4}
.m-r2{grid-column:8/13;grid-row:2;aspect-ratio:16/8.4}
.m-b1{grid-column:1/5}.m-b2{grid-column:5/9}.m-b3{grid-column:9/13}
.m-b1,.m-b2,.m-b3{aspect-ratio:16/10}
.gal-foot{margin-top:clamp(1.75rem,3.5vw,2.75rem);font-size:1.02rem}

/* ── process ─────────────────────────────────────────────────────────── */
.proc{position:relative;padding-top:3.25rem}
.proc-rail{position:absolute;top:0;left:2%;right:2%;height:2.5px;background:var(--pine)}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(1rem,2vw,1.85rem)}
.step{position:relative;background:var(--cream);border:var(--bd) solid var(--pine);
  border-radius:var(--r);padding:clamp(1.5rem,2.4vw,2.1rem) clamp(1.25rem,2vw,1.75rem)
  clamp(1.35rem,2vw,1.75rem);box-shadow:var(--sh) var(--sh) 0 var(--pine);
  margin-top:3.25rem;display:flex;flex-direction:column}
.step-n{position:absolute;top:-1.75rem;left:50%;transform:translateX(-50%);width:3.5rem;
  height:3.5rem;border-radius:50%;background:var(--gold);border:var(--bd) solid var(--pine);
  display:flex;align-items:center;justify-content:center;font-family:var(--dis);
  font-size:1.6rem;color:var(--pine);line-height:1}
.step::before{content:'';position:absolute;top:-3.25rem;left:50%;width:2.5px;height:1.5rem;
  background:var(--pine);transform:translateX(-50%)}
.step h3{font-size:clamp(1.15rem,1.8vw,1.4rem);margin:.5rem 0 .65rem}
.step p{font-size:.95rem;line-height:1.55;color:var(--mid);flex:1}
.step .tag-gold{margin-top:1.25rem;align-self:flex-start;font-size:.76rem;padding:.42rem 1rem;
  border-width:2px}
.proc-cta{margin-top:clamp(2.25rem,4vw,3.25rem)}

/* ── pricing ─────────────────────────────────────────────────────────── */
.price-big{font-family:var(--dis);font-size:clamp(3rem,8vw,6rem);line-height:1;
  color:var(--pine);letter-spacing:-.02em}
.price-big em{font-style:normal;color:var(--gold-d)}
.price-cap{font-size:.92rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
  color:var(--mid);margin-top:.85rem}
.meter{max-width:34rem;margin:clamp(1.75rem,3vw,2.5rem) auto 0;position:relative}
.meter-lab{font-family:var(--dis);font-style:italic;font-size:1.05rem;color:var(--gold-d);
  text-align:center;margin-bottom:.3rem}
.meter-track{height:22px;border:var(--bd) solid var(--pine);border-radius:99px;
  background:var(--cream);overflow:hidden;display:flex}
.meter-fill{width:38%;margin-left:26%;background:var(--gold);border-left:2px solid var(--pine);
  border-right:2px solid var(--pine)}
.meter-ends{display:flex;justify-content:space-between;margin-top:.5rem;font-size:.85rem;
  font-weight:800;color:var(--pine);padding:0 .5rem}
.meter-ends span:last-child{color:var(--soft);letter-spacing:.08em;text-transform:uppercase;
  font-size:.78rem}
.price-note{margin:clamp(1.5rem,3vw,2.25rem) auto 0;max-width:52ch;font-size:1.05rem;
  line-height:1.6;color:var(--mid)}
.price-note b{color:var(--gold-d)}
.buys{max-width:44rem;margin:clamp(2.25rem,4vw,3.25rem) auto 0;background:var(--cream);
  border:var(--bd) solid var(--pine);border-radius:var(--r);
  padding:clamp(1.75rem,3vw,2.75rem);box-shadow:10px 10px 0 var(--pine)}
.buys h3{font-size:clamp(1.5rem,2.8vw,2.1rem);margin:1.25rem 0 1rem}
.buys p{font-size:1.02rem;line-height:1.6;color:var(--mid)}
.buys ul{margin-top:1.25rem;text-align:left;display:inline-block}
.buys li{display:grid;grid-template-columns:1.35rem 1fr;gap:.7rem;padding:.4rem 0;
  font-size:.98rem;color:var(--mid)}
.buys li::before{content:'\2713';color:var(--gold-d);font-weight:800}

/* ── FAQ ─────────────────────────────────────────────────────────────── */
.faq{max-width:52rem;margin:0 auto;display:grid;gap:1.15rem}
.faq details{background:var(--cream);border:var(--bd) solid var(--pine);border-radius:12px;
  box-shadow:var(--sh) var(--sh) 0 var(--pine)}
.faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;
  justify-content:space-between;gap:1.25rem;padding:1.25rem 1.5rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::marker{content:''}
.faq h3{font-size:clamp(1.05rem,1.7vw,1.28rem)}
.sign{position:relative;width:1.3rem;height:1.3rem;flex:none}
.sign::before,.sign::after{content:'';position:absolute;background:var(--gold-d)}
.sign::before{top:.55rem;left:0;width:1.3rem;height:3px;border-radius:2px}
.sign::after{top:0;left:.55rem;width:3px;height:1.3rem;border-radius:2px;transition:opacity .2s}
.faq details[open] .sign::after{opacity:0}
.faq-a{padding:0 1.5rem 1.35rem}
.faq-a p{font-size:1rem;line-height:1.65;color:var(--mid)}
.faq-a b{color:var(--gold-d)}

/* ── final CTA + footer (one dark block) ─────────────────────────────── */
.final{background:var(--forest);color:var(--cream);padding:clamp(3.25rem,7vw,5.5rem) 0 0}
.final .eyeb{font-size:.85rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;
  color:var(--gold-lt)}
.final h2{color:var(--cream);font-size:clamp(2.3rem,5.6vw,4.4rem);margin-top:1.1rem;
  text-shadow:2px 2px 0 rgba(0,0,0,.22)}
.final h2 .i{color:var(--gold-lt)}
.final .sub{color:rgba(247,243,234,.8);margin:1.2rem auto 0}
.final .cta-row{margin-top:2rem}
.final .trust{color:rgba(247,243,234,.85);margin-top:1.75rem}
.final .trust li:not(:last-child)::after{content:'+';color:var(--gold-lt);font-weight:800}
.ft-rule{margin:clamp(2.5rem,5vw,3.75rem) 0 0;border-top:2px dotted rgba(247,243,234,.35)}
.ft{padding:clamp(2.25rem,4.5vw,3.25rem) 0 0}
.ft-grid{display:grid;grid-template-columns:1.5fr 1fr 1.4fr;gap:clamp(1.75rem,4vw,3rem)}
.ft-brand{display:flex;align-items:center;gap:1rem;margin-bottom:1.1rem}
.ft-brand img{width:min(218px,100%);height:auto}
.ft-brand span{font-family:var(--dis);font-size:1.35rem;color:var(--cream);line-height:1.1}
.ft p{font-size:.96rem;color:rgba(247,243,234,.72);max-width:34ch;line-height:1.6}
.ft h3{font-family:var(--bod);font-size:.82rem;font-weight:800;letter-spacing:.15em;
  text-transform:uppercase;color:var(--gold-lt);margin-bottom:1rem}
.ft li{margin-bottom:.6rem}
.ft a{font-size:1rem;color:rgba(247,243,234,.85)}
.ft a:hover{color:var(--gold-lt)}
.ft-where{font-size:.92rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
  color:var(--cream);margin-bottom:.5rem}
.ft-bot{margin-top:clamp(2.25rem,4vw,3rem);border-top:1px solid rgba(247,243,234,.2);
  padding:1.15rem 0 1.35rem;display:flex;flex-wrap:wrap;gap:.4rem 1.25rem;
  align-items:center;justify-content:space-between}
.ft-bot p{font-size:.87rem;color:rgba(247,243,234,.6)}

/* ── sticky mobile action bar ────────────────────────────────────────── */
.mbar{display:none;position:fixed;left:0;right:0;bottom:0;z-index:950;background:var(--cream);
  border-top:var(--bd) solid var(--pine);gap:.75rem;
  padding:.7rem 1rem calc(.7rem + env(safe-area-inset-bottom))}
.mbar a{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;
  min-height:52px;border:var(--bd) solid var(--pine);border-radius:10px;font-size:1.02rem;
  font-weight:800;color:var(--pine);box-shadow:4px 4px 0 var(--pine);position:relative}
.mbar .m-call{background:var(--forest);color:var(--ivory)}
.mbar .m-call::after{content:'';position:absolute;inset:3px;border:2px dotted rgba(32,37,34,.45);
  border-radius:7px}
.mbar .m-text{background:var(--cream)}
.mbar svg{width:18px;height:18px;flex:none}

/* ── inner-page helpers ──────────────────────────────────────────────── */
.rows{display:grid;gap:1.15rem}
.rows>li{background:var(--cream);border:var(--bd) solid var(--pine);border-radius:12px;
  padding:clamp(1.25rem,2.2vw,1.75rem);box-shadow:var(--sh) var(--sh) 0 var(--pine)}
.rows h3{font-size:clamp(1.15rem,1.9vw,1.45rem);margin-bottom:.4rem}
.rows p{font-size:.97rem;line-height:1.55;color:var(--mid)}
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(1.75rem,3.5vw,3.25rem);align-items:center}
.split-top{align-items:start}
.crumb-in{max-width:1320px;margin:0 auto;padding:.85rem clamp(1.15rem,4vw,2.5rem);display:flex;
  flex-wrap:wrap;gap:.45rem;font-size:.83rem;font-weight:700;color:var(--mid)}
.crumb-in a{color:var(--pine)}
.crumb-in a:hover{color:var(--gold-d)}
.crumb-sep{color:var(--gold-d)}
.form-shell{max-width:52rem;margin:0 auto;background:var(--cream);
  border:var(--bd) solid var(--pine);border-radius:var(--r);
  padding:clamp(1.25rem,2.5vw,2.25rem);box-shadow:10px 10px 0 var(--pine)}
.form-shell iframe{width:100%!important;border:0}
.area-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.15rem}
.area-grid li{background:var(--cream);border:var(--bd) solid var(--pine);border-radius:12px;
  box-shadow:var(--sh) var(--sh) 0 var(--pine);padding:1.15rem 1.35rem;font-family:var(--dis);
  font-size:1.3rem;color:var(--pine)}

/* ══ RESPONSIVE ═══════════════════════════════════════════════════════ */
@media (max-width:1080px){
  .nav-mid,.nav-end .nav-tel{display:none}
  .burger{display:flex}
  .hero-grid{grid-template-columns:1fr;gap:3.5rem}
  .hero-fig{margin-bottom:1rem}
  .cmp{grid-template-columns:1fr;gap:1.25rem;justify-items:center}
  .cmp-a{align-self:auto;margin-bottom:0;width:100%}
  .cmp-b{width:100%}
  .steps{grid-template-columns:1fr 1fr}
  .m-big{grid-column:1/13;grid-row:auto}
  .m-r1,.m-r2{grid-column:span 6;grid-row:auto;aspect-ratio:16/10}
  .m-b1,.m-b2,.m-b3{grid-column:span 4}
  .ft-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:760px){
  body{padding-bottom:calc(76px + env(safe-area-inset-bottom))}
  .mbar{display:flex}
  .steps{grid-template-columns:1fr;gap:2.75rem}
  .proc-rail{display:none}
  .step{margin-top:2.5rem}
  .step::before{display:none}
  .m-big,.m-r1,.m-r2,.m-b1,.m-b2,.m-b3{grid-column:1/13;aspect-ratio:16/11}
  .split{grid-template-columns:1fr;gap:1.75rem}
  .area-grid{grid-template-columns:1fr 1fr}
  .ft-grid{grid-template-columns:1fr;gap:2rem}
  .ft-bot{flex-direction:column;text-align:center}
}
@media (max-width:560px){
  :root{--bd:2.5px;--sh:5px}
  body{font-size:16px}
  .h1{font-size:clamp(2.15rem,9vw,2.9rem)}
  .h2{font-size:clamp(1.95rem,8vw,2.6rem)}
  .cta-row{flex-direction:column;align-items:stretch}
  .cta-row .btn{width:100%}
  .trust{gap:.4rem .75rem}
  .frame{box-shadow:7px 7px 0 var(--pine)}
  .cmp-b,.buys{box-shadow:7px 7px 0 var(--pine)}
  .tagcard{left:50%;transform:translateX(-50%);bottom:-2.25rem;white-space:nowrap}
  .area-grid{grid-template-columns:1fr}
  .price-big{font-size:clamp(2.5rem,13vw,3.4rem)}
  .shot figcaption{left:.75rem;bottom:.75rem;font-size:.8rem;padding:.42rem .75rem}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition-duration:.01ms!important}}

/* ══ Requested content/layout refinements — Aug 26 ════════════════════ */
/* Scripture callout on hero image */
.tagcard-verse{
  max-width:25rem;
  padding:.9rem 1.2rem;
  line-height:1.42;
  font-family:var(--dis);
  font-size:1.02rem;
  color:var(--pine);
}
.tagcard-verse>span{font-weight:400!important;font-size:1.02rem!important;color:var(--pine)!important}
.tagcard-verse i{color:var(--gold-d);font-size:1.08em}

/* Comparison closing promise */
.cmp-close{
  margin-top:1.35rem;
  padding-top:1.25rem;
  border-top:2px dotted rgba(23,54,47,.3);
}
.cmp-close h4{
  font-family:var(--dis);
  font-size:clamp(1.2rem,2vw,1.55rem);
  font-weight:400;
  color:var(--pine);
  margin:0 0 .4rem;
}
.cmp-close p{margin:0;color:var(--pine);font-size:.98rem;line-height:1.45}

/* Process cards become an ascending diagonal ladder on desktop */
@media (min-width:1081px){
  .proc{padding-top:2.25rem;padding-bottom:5.25rem}
  .proc-rail{
    top:7.25rem;
    left:5%;
    right:5%;
    transform:rotate(-4.25deg);
    transform-origin:center;
    opacity:.75;
  }
  .step:nth-child(1){transform:translateY(4.5rem)}
  .step:nth-child(2){transform:translateY(3rem)}
  .step:nth-child(3){transform:translateY(1.5rem)}
  .step:nth-child(4){transform:translateY(0)}
}

/* Editorial price tag replaces the scale */
.price-tag{
  position:relative;
  width:min(36rem,92vw);
  margin:0 auto;
  padding:clamp(1.8rem,3.5vw,2.6rem) clamp(1.5rem,4vw,3rem) clamp(1.8rem,3.5vw,2.6rem) clamp(4rem,7vw,5rem);
  background:var(--sage);
  border:var(--bd) solid var(--pine);
  box-shadow:10px 10px 0 var(--pine);
  clip-path:polygon(9% 0,100% 0,100% 100%,9% 100%,0 50%);
}
.price-tag-hole{
  position:absolute;
  left:1.35rem;
  top:50%;
  width:1.15rem;
  height:1.15rem;
  transform:translateY(-50%);
  border:3px solid var(--pine);
  border-radius:50%;
  background:var(--sage);
}
.price-tag .price-big{
  font-size:clamp(3rem,6.4vw,5rem);
  margin:0;
}
.price-tag .price-big em{color:var(--pine);opacity:.65}
.price-tag .price-cap{color:var(--pine);margin-top:.7rem;line-height:1.4}
.buys h3{margin:0 0 1rem}

@media (max-width:1080px){
  .hero-fig{margin-bottom:3.75rem}
}
@media (max-width:760px){
  .steps .step{transform:none!important}
  .proc{padding-bottom:0}
  .tagcard-verse{
    width:calc(100% - 1.5rem);
    max-width:32rem;
    white-space:normal;
    text-align:center;
    bottom:-3.6rem;
  }
  .price-tag{
    width:min(32rem,94vw);
    padding:1.7rem 1.25rem 1.7rem 3.5rem;
    box-shadow:7px 7px 0 var(--pine);
  }
  .price-tag-hole{left:1.05rem;width:.95rem;height:.95rem;border-width:2.5px}
  .price-tag .price-big{font-size:clamp(2.55rem,12vw,3.5rem)}
  .price-tag .price-cap{font-size:.78rem;letter-spacing:.1em}
}
@media (max-width:560px){
  .tagcard-verse{font-size:.9rem;line-height:1.35;padding:.75rem .9rem;bottom:-3.35rem}
  .tagcard-verse>span{font-size:.9rem!important}
  .hero-fig{margin-bottom:4rem}
}



/* Holiday Lighting proof helpers */
.before-after{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1rem,2vw,1.5rem)}
.before-after .shot{aspect-ratio:4/3}
.holiday-support{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(.85rem,1.6vw,1.35rem);margin-top:clamp(1rem,2vw,1.5rem)}
.holiday-support .shot{aspect-ratio:16/10}
.m-extra{grid-column:3/11;aspect-ratio:16/9;margin-top:.35rem}
@media (max-width:760px){
  .before-after,.holiday-support{grid-template-columns:1fr}
  .before-after .shot,.holiday-support .shot,.m-extra{grid-column:1;aspect-ratio:16/11}
}

/* ══ AHL ORIGINAL DESIGN SYSTEM V6 — conversion-first, AHL-specific ═══════
   AHL-specific visual system: new hero geometry, AHL comparison ledger,
   before/after proof stage, diagonal ladder process, price-tag pricing,
   and a single FAQ ledger. */
:root{
  --canvas:#F7F3EA;
  --sage:#EEE8DC;
  --sage-d:#DDD8CE;
  --cream:#FFFDF9;
  --ivory:#FFFDF9;
  --accent:#C5A46D;      /* same color for buttons + italic accents */
  --gold-d:#C5A46D;
  --ink:#202522;
  --mid:#5E655F;
  --soft:#5E655F;
  --r:10px;
  --bd:2px;
  --sh:5px;
}
body{background:var(--canvas)}
.cream-s{background:var(--sage)}

/* AHL action language: same accent on buttons and script, simpler than reference. */
i,.i{color:var(--forest)}
/* Keep italic/accented headline text readable on deep-evergreen sections. */
.dark-s i,.dark-s .i,.final h2 i,.final h2 .i{color:var(--accent)}
.btn{border-radius:8px;background:var(--forest);color:var(--ivory);border:2px solid var(--forest);box-shadow:4px 4px 0 var(--forest);min-height:54px;padding:.9rem 1.65rem}
.btn::after{display:none}
.btn:hover{transform:translate(1px,1px);box-shadow:3px 3px 0 var(--forest)}
.btn:active{transform:translate(4px,4px);box-shadow:none}
.btn-2{background:var(--cream);color:var(--forest);box-shadow:4px 4px 0 var(--forest)}
.hero-call,.text-cta{display:inline-flex;align-items:center;gap:.45rem;font-weight:800;color:var(--forest);border-bottom:2px solid var(--accent);padding:.4rem 0 .2rem}
.hero-call:hover,.text-cta:hover{color:var(--accent)}

/* Distinct AHL paper treatment: thin forest edge + restrained gold offset. */
.rows>li,.form-shell,.area-grid li,.buys{border:2px solid var(--forest);border-radius:10px;box-shadow:5px 5px 0 var(--forest)}

/* Homepage hero: editorial masthead above a single full-width real installation. */
.hero-home{padding:clamp(2rem,4vw,3.5rem) 0 clamp(3.5rem,7vw,6rem)}
.hero-home-top{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(17rem,.55fr);gap:clamp(2rem,5vw,5.5rem);align-items:end}
.hero-home-title .h1{max-width:15ch;margin:1.3rem 0 0;font-size:clamp(3rem,6.3vw,5.5rem);line-height:.98;text-shadow:none}
.hero-home-title .h1 i{display:block;margin-top:.12em}
.hero-home-action{padding-bottom:.35rem}
.hero-home-action .sub{max-width:38ch;font-size:1.05rem}
.hero-home-action .cta-row{margin-top:1.35rem;align-items:center}
.hero-trust{margin:1.75rem 0 1.35rem;padding-top:1rem;border-top:1px solid rgba(23,54,47,.18)}
.hero-stage{position:relative;margin-top:.45rem}
.hero-wide{margin:0;border:2px solid var(--forest);border-radius:12px;overflow:hidden;background:var(--cream);box-shadow:8px 8px 0 var(--forest)}
.hero-wide img{width:100%;aspect-ratio:16/7.8;object-fit:cover;object-position:center 54%}
.verse-ribbon{position:absolute;left:clamp(1rem,3vw,2.4rem);bottom:clamp(1rem,3vw,2.25rem);max-width:34rem;margin:0;background:var(--cream);border:2px solid var(--forest);border-radius:8px;padding:.85rem 1.15rem;font-family:var(--dis);font-size:clamp(.95rem,1.5vw,1.18rem);line-height:1.35;color:var(--forest);box-shadow:4px 4px 0 var(--forest)}
.verse-ribbon i{font-size:1.08em}

/* Inner service hero uses a horizontal story rather than the reference split-card geometry. */
.inner-hero-grid{grid-template-columns:1fr!important;gap:1.75rem!important}
.inner-hero-grid>div:first-child{max-width:58rem}
.inner-hero-grid .hero-fig{max-width:72rem;margin:0 auto;width:100%}
.inner-hero-grid .frame{border:2px solid var(--forest);border-radius:10px;padding:0;box-shadow:7px 7px 0 var(--forest);overflow:hidden}
.inner-hero-grid .frame img{border:0;border-radius:0;aspect-ratio:16/8.5;object-fit:cover}
.inner-hero-grid .tagcard{left:auto;right:1.25rem;bottom:1.25rem;transform:none;box-shadow:4px 4px 0 var(--forest)}

/* Pros vs. Joes: intentionally asymmetrical. Joes is a smaller note; Pros is the product. */
.ahl-compare{display:grid;grid-template-columns:minmax(15rem,.68fr) minmax(0,1.55fr);gap:clamp(1.5rem,4vw,4rem);align-items:start;max-width:1180px;margin:0 auto}
.joes-note{margin-top:-1rem;background:var(--sage-d);border-left:6px solid var(--accent);padding:clamp(1.4rem,2.5vw,2rem);border-radius:0 10px 10px 0}
.joes-note .mini{margin-bottom:.65rem}
.joes-note h3{font-size:clamp(1.35rem,2.2vw,1.85rem);margin-bottom:1rem}
.joes-note ul{display:grid;gap:.8rem}
.joes-note li{font-size:.96rem;line-height:1.5;color:var(--mid);padding-left:1rem;position:relative}
.joes-note li::before{content:'—';position:absolute;left:0;color:var(--accent);font-weight:800}
.pros-board{background:var(--cream);border:2px solid var(--forest);border-radius:12px;box-shadow:7px 7px 0 var(--forest);overflow:hidden}
.pros-board-head{display:flex;justify-content:space-between;gap:1.25rem;align-items:end;padding:clamp(1.4rem,2.8vw,2.25rem);border-bottom:2px solid var(--forest)}
.pros-board-head .mini{margin-bottom:.55rem}
.pros-board-head h3{font-size:clamp(1.55rem,2.9vw,2.35rem);max-width:22ch}
.pros-promise-grid{display:grid;grid-template-columns:1fr 1fr}
.pros-promise-grid article{display:grid;grid-template-columns:2.25rem 1fr;gap:.9rem;padding:1.25rem 1.35rem;border-bottom:1px solid rgba(23,54,47,.2)}
.pros-promise-grid article:nth-child(odd){border-right:1px solid rgba(23,54,47,.2)}
.pros-promise-grid article>span{font-family:var(--dis);font-style:italic;color:var(--accent);font-size:1.05rem}
.pros-promise-grid h4{font-family:var(--bod);font-size:.8rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-bottom:.3rem;color:var(--forest)}
.pros-promise-grid p{font-size:.93rem;line-height:1.48;color:var(--mid)}
.pros-signoff{padding:1.25rem 1.4rem;background:var(--sage);display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.pros-signoff strong{color:var(--forest)}
.pros-signoff span{color:var(--mid)}

/* AHL proof system: before/after is the hero, neighborhood work supports it. */
.proof-stage{max-width:1180px;margin:0 auto}
.proof-before-after{display:grid;grid-template-columns:1fr 1fr;gap:clamp(.8rem,2vw,1.4rem);position:relative}
.proof-photo{position:relative;margin:0;border:2px solid var(--cream);border-radius:10px;overflow:hidden;background:var(--cream)}
.proof-photo img{width:100%;aspect-ratio:4/3;object-fit:cover}
.proof-photo figcaption,.proof-strip figcaption{position:absolute;left:.85rem;bottom:.85rem;background:var(--cream);color:var(--forest);border:2px solid var(--forest);border-radius:6px;padding:.42rem .72rem;font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.proof-after{box-shadow:6px 6px 0 var(--gold)}
.proof-strip{display:grid;grid-template-columns:1.15fr 1fr .75fr;gap:clamp(.8rem,2vw,1.4rem);margin-top:clamp(.8rem,2vw,1.4rem)}
.proof-strip figure{position:relative;margin:0;border:2px solid var(--cream);border-radius:10px;overflow:hidden;min-height:16rem}
.proof-strip img{width:100%;height:100%;object-fit:cover}

/* Keep the AHL ladder as an ownable visual signature. */
.proc{position:relative}
.proc-rail{height:3px;background:var(--accent)!important;box-shadow:0 8px 0 rgba(197,164,109,.28)}
.step,.step:nth-child(even){background:var(--cream);border:2px solid var(--forest);border-radius:9px;box-shadow:5px 5px 0 var(--forest)}
.step-n,.step:nth-child(even) .step-n{background:var(--forest);color:var(--cream);border:2px solid var(--accent)}
.step .tag-gold{background:var(--sage);border:1px solid var(--forest);color:var(--forest);border-radius:5px}

/* Price tag remains uniquely AHL. */
.price-tag{border:2px solid var(--forest);box-shadow:7px 7px 0 var(--forest)}
.buys{box-shadow:5px 5px 0 var(--forest)}

/* FAQ becomes one continuous answer ledger, as one continuous answer ledger. */
.faq{max-width:58rem;background:var(--cream);border:2px solid var(--forest);border-radius:12px;overflow:hidden;box-shadow:5px 5px 0 var(--forest);gap:0}
.faq details,.faq details:nth-child(even){background:transparent;border:0;border-bottom:1px solid rgba(23,54,47,.2);border-radius:0;box-shadow:none!important}
.faq details:last-child{border-bottom:0}
.faq summary{padding:1.15rem 1.35rem}
.faq details[open] summary{background:var(--sage)}
.faq-a{padding:0 1.35rem 1.25rem}

/* Light but not empty: subtle section dividers and stronger hierarchy. */
main>.s:not(.dark-s){border-top:1px solid rgba(23,54,47,.10)}
.sec-h{position:relative}
.sec-h::after{content:'';display:block;width:3.25rem;height:3px;background:var(--accent);margin:1.1rem auto 0;border-radius:2px}
.split .sec-h::after,.sec-h:not(.ctr)::after{margin-left:0}

@media (max-width:1080px){
  .hero-home-top{grid-template-columns:1fr;gap:1.25rem}
  .hero-home-title .h1{max-width:18ch}
  .hero-home-action{max-width:44rem}
  .ahl-compare{grid-template-columns:1fr;gap:1.5rem}
  .joes-note{margin-top:0;max-width:42rem}
}
@media (max-width:760px){
  .hero-home{padding-top:1.45rem}
  .hero-home-title .h1{font-size:clamp(2.55rem,12vw,3.8rem)}
  .hero-home-action .cta-row{align-items:stretch}
  .hero-call{justify-content:center;padding:.75rem 0}
  .hero-trust{margin-top:1.35rem}
  .hero-wide img{aspect-ratio:4/3;object-position:center}
  .verse-ribbon{position:relative;left:auto;bottom:auto;margin:-1.4rem .8rem 0;z-index:2;text-align:center;box-shadow:4px 4px 0 var(--forest)}
  .pros-board-head{align-items:flex-start;flex-direction:column}
  .pros-promise-grid{grid-template-columns:1fr}
  .pros-promise-grid article:nth-child(odd){border-right:0}
  .proof-before-after,.proof-strip{grid-template-columns:1fr}
  .proof-strip figure{min-height:0;aspect-ratio:16/11}
  .proof-photo img{aspect-ratio:16/11}
  .inner-hero-grid .tagcard{position:relative;right:auto;bottom:auto;left:auto;transform:none;margin:-1.25rem .8rem 0}
}
@media (max-width:560px){
  .pros-board,.faq,.price-tag,.rows>li,.form-shell,.area-grid li{box-shadow:4px 4px 0 var(--forest)!important}
  .hero-wide{box-shadow:5px 5px 0 var(--forest)}
  .joes-note{border-left-width:4px}
}


/* Performance containment: skip below-fold rendering until needed. */
main > .s{content-visibility:auto;contain-intrinsic-size:auto 900px}
.final{content-visibility:auto;contain-intrinsic-size:auto 900px}

/* V8: transparent brand assets, physical address, click-to-load homepage video */
.ft-address-item address,.contact-address{font-style:normal;color:inherit;line-height:1.55}
.ft-address-item{margin:.15rem 0 .35rem}
.video-s{background:var(--sage)}
.video-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(18rem,.62fr);gap:clamp(2rem,6vw,6rem);align-items:center;max-width:1120px}
.video-copy .h2{max-width:13ch;margin:.6rem 0 1.1rem}
.video-copy .sub{max-width:48ch}
.video-points{display:flex;flex-wrap:wrap;gap:.65rem 1.2rem;margin:1.35rem 0 1.15rem;font-size:.92rem;font-weight:800;color:var(--forest)}
.video-points li{display:flex;align-items:center;gap:.48rem}
.video-points li::before{content:'✦';color:var(--accent);font-size:.78rem}
.video-text-link{display:inline-block;font-weight:800;margin-top:.25rem}
.video-shell{width:min(24rem,100%);justify-self:center;position:relative}
.video-launch{appearance:none;display:block;width:100%;padding:.75rem;background:var(--cream);border:2px solid var(--forest);border-radius:12px;box-shadow:8px 8px 0 var(--forest);cursor:pointer;position:relative;text-align:left;color:var(--forest)}
.video-launch picture,.video-launch img{display:block;width:100%}
.video-launch img{aspect-ratio:9/16;object-fit:cover;border-radius:8px}
.play-disc{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:74px;height:74px;border-radius:50%;background:var(--forest);color:var(--ivory);border:2px solid var(--forest);box-shadow:4px 4px 0 var(--forest);transition:transform .18s ease}
.play-disc svg{width:33px;height:33px;margin-left:4px}
.video-launch:hover .play-disc{transform:translate(-50%,-50%) scale(1.06)}
.video-launch:focus-visible{outline:3px solid var(--accent);outline-offset:5px}
.video-badge{position:absolute;left:1.3rem;right:1.3rem;bottom:1.25rem;background:var(--cream);border:2px solid var(--forest);border-radius:7px;padding:.7rem .8rem;text-align:center;font-size:.82rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase;box-shadow:3px 3px 0 var(--forest)}
.video-player{display:block;width:100%;aspect-ratio:9/16;background:#000;border:2px solid var(--forest);border-radius:12px;box-shadow:8px 8px 0 var(--forest)}
@media(max-width:760px){.video-grid{grid-template-columns:1fr;gap:2.25rem}.video-copy{text-align:center}.video-copy .h2,.video-copy .sub{margin-left:auto;margin-right:auto}.video-points{justify-content:center}.video-shell{width:min(21rem,88vw)}.nav-logo img{width:150px;max-height:52px}}


/* ── V9: static Google reviews + Instagram proof + final video copy polish ─ */
.reviews-s{background:var(--ivory)}
.reviews-s .sec-h{max-width:780px;margin-left:auto;margin-right:auto}
.reviews-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,2vw,1.4rem);max-width:1120px;margin:2.2rem auto 0}
.review-card{display:flex;flex-direction:column;min-height:100%;background:var(--cream);border:2px solid var(--forest);border-radius:10px;padding:clamp(1.25rem,2vw,1.7rem);box-shadow:5px 5px 0 var(--forest)}
.review-top{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}
.review-stars{color:var(--accent);font-size:1.08rem;letter-spacing:.09em;white-space:nowrap}
.review-source{font-size:.72rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--mid)}
.review-card blockquote{margin:0;font-size:clamp(1.02rem,1.45vw,1.18rem);line-height:1.62;color:var(--forest)}
.review-name{margin-top:auto;padding-top:1.2rem;font-weight:900;color:var(--forest)}
.reviews-cta{margin-top:2rem}
.insta-s{background:var(--sage)}
.insta-callout{display:flex;align-items:center;justify-content:space-between;gap:clamp(1.5rem,4vw,4rem);max-width:1020px}
.insta-callout .h2{margin:.35rem 0 .75rem}
.insta-callout .sub{max-width:54ch}
.ft-social{display:inline-flex;align-items:center;gap:.5rem}
.ft-social svg{width:1.05rem;height:1.05rem;flex:0 0 auto}
.video-badge{text-transform:none}
@media(max-width:760px){
  .reviews-grid{grid-template-columns:1fr;max-width:36rem}
  .review-card{box-shadow:4px 4px 0 var(--forest)}
  .insta-callout{display:grid;text-align:center;justify-items:center}
  .insta-callout .sub{margin-left:auto;margin-right:auto}
}


/* ── AHL quote form ───────────────────────────────────────────────── */
.quote-shell{max-width:58rem;padding:clamp(1.35rem,3vw,2.75rem)}
.quote-form-intro{max-width:44rem;margin:0 auto 2rem;text-align:center}
.quote-form-intro h2,.quote-success h2{font-size:clamp(2rem,4vw,3.25rem);margin:.35rem 0 .7rem}
.quote-form-intro>p:last-child,.quote-success>p{color:var(--mid)}
.quote-kicker{font-size:.8rem!important;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)!important}
.ahl-quote-form{display:grid;gap:1.65rem}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.15rem 1.25rem}
.field{display:grid;gap:.45rem}
.field label,.scope-fieldset legend{font-size:.92rem;font-weight:800;color:var(--pine)}
.field label span[aria-hidden="true"],.scope-fieldset legend span{color:var(--accent)}
.field input,.field textarea{width:100%;font:inherit;color:var(--pine);background:var(--ivory);border:2px solid rgba(23,54,47,.45);border-radius:8px;padding:.86rem .95rem;outline:none;transition:border-color .15s,box-shadow .15s,background .15s}
.field input{min-height:52px}
.field textarea{min-height:118px;resize:vertical}
.field input::placeholder,.field textarea::placeholder{color:#6f7f76;opacity:.9}
.field input:focus,.field textarea:focus{border-color:var(--forest);box-shadow:0 0 0 3px rgba(197,164,109,.22);background:#fff}
.optional{font-size:.76rem;font-weight:700;color:var(--soft);margin-left:.3rem}
.scope-fieldset{border:0;min-width:0}
.scope-fieldset legend{font-size:1.08rem;margin-bottom:.1rem}
.field-help{font-size:.9rem;color:var(--mid);margin-bottom:.8rem}
.scope-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem}
.scope-card{position:relative;display:flex;min-height:54px;cursor:pointer}
.scope-card input{position:absolute;opacity:0;pointer-events:none}
.scope-card span{width:100%;display:flex;align-items:center;justify-content:center;text-align:center;padding:.72rem .75rem;border:2px solid rgba(23,54,47,.42);border-radius:8px;background:var(--ivory);color:var(--forest);font-size:.86rem;font-weight:800;line-height:1.2;transition:transform .12s,border-color .12s,box-shadow .12s,background .12s}
.scope-card span::before{content:'+';display:grid;place-items:center;width:19px;height:19px;margin-right:.45rem;border:1.5px solid currentColor;border-radius:50%;font-size:.92rem;line-height:1;flex:none}
.scope-card:hover span{border-color:var(--forest);transform:translateY(-1px)}
.scope-card input:focus-visible+span{outline:3px solid var(--accent);outline-offset:2px}
.scope-card input:checked+span{background:var(--sage);border-color:var(--forest);box-shadow:3px 3px 0 var(--forest)}
.scope-card input:checked+span::before{content:'✓';background:var(--forest);color:var(--cream);border-color:var(--forest)}
.scope-wide{grid-column:span 1}
.scope-help-card span{background:var(--cream)}
.scope-help-card input:checked+span{background:var(--gold);color:var(--pine)}
.field-error,.form-error{min-height:0;font-size:.86rem;font-weight:800;color:#8a2d21}
.field-error:not(:empty),.form-error:not(:empty){margin-top:.65rem;padding:.65rem .8rem;border-left:3px solid #8a2d21;background:#fff2ee}
.quote-submit{width:100%;border:2px solid var(--forest);cursor:pointer;font-size:1.05rem}
.quote-submit:disabled{opacity:.68;cursor:wait;transform:none;box-shadow:4px 4px 0 var(--forest)}
.form-reassure{text-align:center;font-size:.84rem;color:var(--soft);font-weight:700;max-width:42rem;margin:-.65rem auto 0}
.hp-field{position:absolute!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;height:1px!important;width:1px!important;margin:-1px!important;padding:0!important;border:0!important;white-space:nowrap!important}
.quote-success{text-align:center;padding:clamp(1.5rem,4vw,3rem) .5rem}
.quote-success .success-small{font-family:var(--dis);font-size:clamp(1.05rem,2vw,1.3rem);color:var(--forest);margin:1rem auto 1.5rem;max-width:36rem}
.quote-success .btn{margin-top:.4rem}
@media(max-width:760px){
  .quote-shell{padding:1.15rem}
  .quote-form-intro{margin-bottom:1.55rem}
  .form-grid{grid-template-columns:1fr;gap:1rem}
  .scope-grid{grid-template-columns:1fr 1fr}
  .scope-card span{padding:.72rem .55rem;font-size:.82rem}
}
@media(max-width:430px){
  .scope-grid{grid-template-columns:1fr}
  .scope-card span{justify-content:flex-start;text-align:left;padding:.8rem .85rem}
}

/* ── Address autocomplete — Google Places (New) ───────────────────── */
.address-autocomplete-wrap{position:relative}
.address-autocomplete-wrap>input{padding-right:2.75rem}
.address-autocomplete-wrap::after{content:'';position:absolute;right:1rem;top:50%;width:18px;height:18px;transform:translateY(-50%);opacity:.58;pointer-events:none;background:no-repeat center/18px 18px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2317362f' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 5-8 12-8 12S4 15 4 10a8 8 0 1 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E")}
.address-assist{margin:.15rem 0 0;font-size:.78rem;color:var(--soft);font-weight:650}
.address-suggestions{position:absolute;z-index:60;top:calc(100% + .45rem);left:0;right:0;overflow:hidden;background:#fff;border:1.5px solid rgba(23,54,47,.28);border-radius:10px;box-shadow:0 16px 34px rgba(23,54,47,.18);padding:.32rem}
.address-suggestion{appearance:none;-webkit-appearance:none;width:100%;border:0;background:transparent;color:var(--pine);font:inherit;display:flex;align-items:flex-start;gap:.72rem;text-align:left;padding:.78rem .72rem;border-radius:7px;cursor:pointer}
.address-suggestion:hover,.address-suggestion.is-active{background:var(--sage)}
.address-suggestion-pin{display:grid;place-items:center;width:1.55rem;height:1.55rem;flex:0 0 1.55rem;margin-top:.02rem;color:var(--accent)}
.address-suggestion-pin svg{width:1.15rem;height:1.15rem}
.address-suggestion-copy{display:grid;gap:.08rem;min-width:0}
.address-suggestion-copy strong{font-size:.9rem;line-height:1.25;color:var(--forest);font-weight:850;white-space:normal}
.address-suggestion-copy small{font-size:.76rem;line-height:1.28;color:var(--mid);white-space:normal}
.google-maps-attribution{border-top:1px solid rgba(23,54,47,.12);margin:.25rem .52rem 0;padding:.45rem .15rem .22rem;text-align:right;font-family:Roboto,Arial,sans-serif;font-size:12px;font-weight:400;letter-spacing:normal;white-space:nowrap;color:#5e5e5e}
@media(max-width:760px){
  .address-suggestions{top:calc(100% + .35rem);border-radius:9px}
  .address-suggestion{padding:.82rem .68rem}
  .address-suggestion-copy strong{font-size:.88rem}
  .address-suggestion-copy small{font-size:.74rem}
}

/* Legal footer links */
.ft-legal-links{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}.ft-legal-links a{font-size:.87rem!important;color:rgba(247,243,234,.68)!important}.ft-legal-links a:hover{color:var(--gold-lt)!important}@media(max-width:760px){.ft-legal-links{justify-content:center}}
