/* ============================================================
   BuvgruzuIzvesanaRiga.lv

   THESIS: This site is the stairwell, not a brochure about one. The
   painted dado line of a Soviet-era Rīga apartment block — the exact
   place this crew works — is the page's structural device. It refuses
   the contractor template: blue gradient hero, floating white cards,
   amber CTA, emoji icons.

   OWN-WORLD: Limewash ground (#e8e6dc) under oil-paint dado green
   (#2f4a3c), split by a hard rule. Brick red-orange (#b4472a) from the
   company's own rubble photos marks every real figure. Safety amber
   only on the primary action. Archivo throughout, tabular figures on
   every number, 2px radius, flat borders, no content shadows.

   STORY: A visitor standing in dust sees their own stairwell, learns
   the crew carries it out (no container in the yard), and files the
   form.

   FIRST VIEWPORT: The real stairwell photo full-bleed at full strength,
   dado green band pinned to its base, headline knocked out over it,
   quote form as a ticket to the right.

   FORM: Stairwell dado + weighbridge ticket. Candidate 4 of the
   grounded list. Seed key 04c1d54b.
   ============================================================ */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

:root{
  /* ink */
  --ink:#16181a; --ink-2:#3d4348; --ink-3:#5d6368;
  /* dado — stairwell oil paint */
  --dado:#2f4a3c; --dado-deep:#22372c; --dado-line:#1b2b23;
  --dado-soft:#3d5a4a;
  /* limewash — upper wall */
  --lime:#e8e6dc; --lime-2:#f4f2ea; --lime-3:#fbfaf6;
  --plaster:#d8d4c6; --plaster-2:#c5c0ae;
  /* signal */
  --brick:#ab4327; --brick-deep:#93381f; --brick-soft:rgba(180,71,42,.09);
  --hi-vis:#e8a02c; --hi-vis-deep:#c9861a;
  --ok:#2f6b4f; --warn:#a8641c;

  --white:#ffffff;

  /* legacy aliases — old class names resolve into the new world */
  --blue:var(--dado); --blue-dark:var(--dado-deep); --blue-light:var(--dado-soft);
  --yellow:var(--hi-vis); --yellow-dark:var(--hi-vis-deep);
  --green:var(--dado); --red:var(--brick);
  --dark:var(--ink); --dark-2:var(--dado-deep); --dark-3:var(--ink-2);
  --mid:var(--ink-3); --light:var(--lime-2); --border:var(--plaster);

  --r:2px; --rl:2px; --pill:999px;

  /* depth only for genuinely floating layers */
  --sh:0 1px 2px rgba(22,24,26,.06);
  --sh-lg:0 6px 16px -4px rgba(22,24,26,.14),0 2px 6px -2px rgba(22,24,26,.08);
  --sh-xl:0 18px 44px -12px rgba(22,24,26,.26),0 6px 14px -6px rgba(22,24,26,.12);

  --e:cubic-bezier(.2,.7,.3,1);
  --t:color .14s var(--e),background-color .14s var(--e),border-color .14s var(--e),opacity .14s var(--e);

  --font:'Archivo','Archivo Expanded',-apple-system,BlinkMacSystemFont,'Segoe UI',system-ui,sans-serif;
  --max:1180px;
}

html{scroll-behavior:smooth;overflow-x:hidden;-webkit-text-size-adjust:100%}
body{
  font-family:var(--font);color:var(--ink);background:var(--lime);
  line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;font-size:16px;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none}
button{cursor:pointer;border:none;background:none;font-family:inherit;color:inherit}
input,select,textarea{font-family:inherit;font-size:inherit}
strong,b{font-weight:700;color:var(--ink)}

/* every figure sets like a weighbridge ticket */
.num,.lbl,.price-amount,.stat-item .num,.hero-trust-item .num,
table,.price-table,input,.step-num,time{
  font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;
}

h1,h2,h3,h4{line-height:1.1;font-weight:700;letter-spacing:-.022em;color:var(--ink);text-wrap:balance}
h1{font-size:clamp(2rem,4.6vw,3.35rem);font-weight:700;letter-spacing:-.03em}
h2{font-size:clamp(1.5rem,3vw,2.15rem)}
h3{font-size:clamp(1.02rem,1.6vw,1.2rem);letter-spacing:-.015em}
h4{font-size:.95rem}
p{line-height:1.68;color:var(--ink-2);max-width:72ch}

.container{max-width:var(--max);margin:0 auto;padding:0 1.5rem}
.section{padding:5.5rem 0}
.text-center{text-align:center}
.mb-2{margin-bottom:.5rem}.mt-4{margin-top:1rem}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* ---- the dado rule: the site's structural device ---- */
.section-header{margin-bottom:3rem;max-width:760px}
.section-header.text-center,.text-center .section-header{margin-left:auto;margin-right:auto}
.section-header h2{margin-bottom:.75rem}
.section-header p{font-size:1.04rem;color:var(--ink-2)}
.section-header.text-center p,.text-center .section-header p{margin-left:auto;margin-right:auto}

/* the painted band label — one named kicker, not an eyebrow everywhere */
.section-label{
  display:inline-flex;align-items:center;gap:.5rem;
  font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--dado);background:none;padding:0 0 .5rem;margin-bottom:.9rem;
  border-bottom:2px solid var(--brick);border-radius:0;
}

.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:2rem}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem}

/* ============ BUTTONS ============ */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  padding:.82rem 1.5rem;border-radius:var(--r);
  font-weight:600;font-size:.94rem;letter-spacing:-.005em;line-height:1.15;
  transition:var(--t);white-space:nowrap;border:1px solid transparent;cursor:pointer;
  font-family:inherit;text-align:center;
}
.btn:focus-visible,a:focus-visible,button:focus-visible,
input:focus-visible,select:focus-visible,textarea:focus-visible,
summary:focus-visible,[tabindex]:focus-visible{
  outline:2px solid var(--brick);outline-offset:2px;border-radius:var(--r);
}
/* primary action — the ONLY place hi-vis amber appears */
.btn-primary{background:var(--hi-vis);color:var(--ink);border-color:var(--hi-vis-deep);font-weight:700}
.btn-primary:hover{background:var(--hi-vis-deep);border-color:var(--hi-vis-deep);color:var(--ink)}
.btn-primary:active{background:var(--hi-vis-deep)}

.btn-blue{background:var(--dado);color:var(--lime-3);border-color:var(--dado)}
.btn-blue:hover{background:var(--dado-deep);border-color:var(--dado-line)}

.btn-outline{background:transparent;color:var(--lime-3);border-color:rgba(232,230,220,.42)}
.btn-outline:hover{background:rgba(232,230,220,.1);border-color:rgba(232,230,220,.75);color:#fff}

.btn-ghost{background:transparent;color:var(--dado);border-color:var(--plaster-2)}
.btn-ghost:hover{background:var(--dado);border-color:var(--dado);color:var(--lime-3)}

.btn-lg{padding:1.02rem 1.9rem;font-size:1rem}
.btn-sm{padding:.55rem 1.05rem;font-size:.85rem}
.btn-full{width:100%}
.btn:disabled{opacity:.5;cursor:not-allowed}

/* ============ ANNOUNCEMENT BAR ============ */
.ann-bar{
  background:var(--dado-line);color:rgba(232,230,220,.9);
  text-align:center;padding:.55rem 1rem;font-size:.8rem;font-weight:500;
  letter-spacing:.005em;border-bottom:1px solid rgba(0,0,0,.2);
}
.ann-bar strong{color:var(--hi-vis)}

/* ============ HEADER ============ */
.site-header{
  position:sticky;top:0;z-index:1000;background:var(--lime);
  border-bottom:1px solid var(--plaster);transition:box-shadow .2s var(--e);
}
.site-header.scrolled{box-shadow:0 1px 0 var(--plaster-2),0 6px 18px -12px rgba(22,24,26,.3)}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:74px;gap:1rem}
.header-logo{display:flex;align-items:center;gap:.6rem;font-weight:700;font-size:1.1rem;color:var(--ink);flex-shrink:0}
.header-logo img{height:44px;width:auto}

.main-nav{display:flex;align-items:center;gap:.15rem}
.main-nav>a,.nav-drop>a{
  display:flex;align-items:center;gap:.3rem;padding:.5rem .7rem;border-radius:var(--r);
  font-size:.885rem;font-weight:500;color:var(--ink-2);transition:var(--t);position:relative;
}
.main-nav>a::after,.nav-drop>a::after{
  content:"";position:absolute;left:.7rem;right:.7rem;bottom:.24rem;height:2px;
  background:var(--brick);transform:scaleX(0);transform-origin:left;
  transition:transform .18s var(--e);
}
.main-nav>a:hover,.nav-drop>a:hover,.main-nav>a.active,.nav-drop>a.active{color:var(--ink);background:none}
.main-nav>a:hover::after,.nav-drop>a:hover::after,
.main-nav>a.active::after,.nav-drop>a.active::after{transform:scaleX(1)}

.nav-drop{position:relative}
.drop-menu{
  position:absolute;top:calc(100% + 6px);left:0;background:var(--lime-3);
  border:1px solid var(--plaster-2);border-top:2px solid var(--dado);
  border-radius:var(--r);box-shadow:var(--sh-xl);min-width:290px;padding:.4rem;
  opacity:0;pointer-events:none;transform:translateY(-4px);
  transition:opacity .16s var(--e),transform .16s var(--e);z-index:200;
}
.nav-drop:hover .drop-menu,.nav-drop:focus-within .drop-menu{opacity:1;pointer-events:all;transform:translateY(0)}
.drop-menu a{
  display:flex;align-items:center;gap:.6rem;padding:.6rem .7rem;border-radius:var(--r);
  font-size:.87rem;color:var(--ink-2);transition:var(--t);
}
.drop-menu a:hover{background:var(--lime);color:var(--ink)}
.drop-menu a svg{color:var(--dado);flex-shrink:0}

.header-actions{display:flex;align-items:center;gap:.6rem}

.mob-btn{display:none;flex-direction:column;gap:5px;padding:.55rem;background:none;border:1px solid var(--plaster-2);border-radius:var(--r)}
.mob-btn span{display:block;width:20px;height:1.5px;background:var(--ink);transition:transform .18s var(--e),opacity .18s var(--e)}
.mob-btn[aria-expanded="true"] span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.mob-btn[aria-expanded="true"] span:nth-child(2){opacity:0}
.mob-btn[aria-expanded="true"] span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}

.mob-nav{display:none;flex-direction:column;background:var(--lime-3);border-top:1px solid var(--plaster);padding:.6rem 1.5rem 1rem}
.mob-nav.open{display:flex}
.mob-nav a{padding:.8rem .25rem;font-weight:500;color:var(--ink-2);border-bottom:1px solid var(--plaster)}
.mob-nav a:hover{color:var(--ink)}
.mob-nav .btn{margin-top:.75rem;border-bottom:none}

/* ============ HERO — the stairwell at full strength ============ */
.hero{
  position:relative;background:var(--dado-line);color:var(--lime-3);
  overflow:hidden;border-bottom:none;
}
/* the real photograph, not washed out */
.hero-bg{
  position:absolute;inset:0;
  background-image:url('/images/hero.jpg');background-size:cover;background-position:50% 42%;
  opacity:1;
}
/* directional scrim: readable text, photo still reads as a photo */
.hero-pat{
  position:absolute;inset:0;
  background:
    linear-gradient(180deg,rgba(20,28,23,.62) 0%,rgba(20,28,23,.34) 34%,rgba(20,28,23,.5) 72%,rgba(20,28,23,.88) 100%),
    linear-gradient(90deg,rgba(20,28,23,.8) 0%,rgba(20,28,23,.42) 46%,rgba(20,28,23,.12) 100%);
}
/* the dado line itself, pinned across the base of the hero */
.hero::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:8px;
  background:var(--dado);border-top:2px solid var(--dado-line);z-index:2;
}
.hero-inner{
  position:relative;z-index:1;display:grid;grid-template-columns:1.05fr .95fr;
  gap:3.5rem;align-items:center;padding:5rem 0 5.5rem;
}

.hero-badge{
  display:inline-flex;align-items:center;gap:.55rem;
  background:rgba(180,71,42,.16);border:1px solid rgba(180,71,42,.5);
  color:#f0b9a6;font-size:.7rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;
  padding:.4rem .85rem;border-radius:var(--pill);margin-bottom:1.3rem;
}
.badge-dot{width:6px;height:6px;background:var(--brick);border-radius:50%;display:inline-block;animation:pdot 2.4s var(--e) infinite}
@keyframes pdot{0%,100%{opacity:1}50%{opacity:.4}}

.hero h1{color:#fff;margin-bottom:1.15rem;text-shadow:0 2px 18px rgba(12,18,14,.5)}
.hero h1 span{color:var(--hi-vis)}
.hero-sub{font-size:1.06rem;color:rgba(240,238,230,.9);margin-bottom:2rem;max-width:47ch;text-shadow:0 1px 10px rgba(12,18,14,.5)}

.hero-feats{display:flex;flex-direction:column;gap:.7rem;margin-bottom:2.2rem}
.hero-feat{display:flex;align-items:flex-start;gap:.7rem;font-size:.93rem;color:rgba(240,238,230,.94);text-shadow:0 1px 8px rgba(12,18,14,.55)}
.hero-feat-ic{
  width:18px;height:18px;flex-shrink:0;margin-top:.24rem;
  border:1.5px solid var(--hi-vis);color:var(--hi-vis);border-radius:var(--r);
  display:flex;align-items:center;justify-content:center;font-size:.62rem;font-weight:700;line-height:1;
}
.hero-actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-bottom:2.4rem}

/* trust figures set as a ticket row */
.hero-trust{display:flex;gap:2.4rem;padding-top:1.6rem;border-top:1px solid rgba(232,230,220,.22);flex-wrap:wrap}
.hero-trust-item .num{font-size:1.6rem;font-weight:700;color:var(--hi-vis);line-height:1;letter-spacing:-.02em}
.hero-trust-item .lbl{font-size:.68rem;color:rgba(232,230,220,.62);letter-spacing:.1em;text-transform:uppercase;margin-top:.34rem}

/* ---- hero form: a docket clipped to the wall ---- */
.hero-form-card{
  background:var(--lime-3);border:1px solid var(--plaster-2);border-top:3px solid var(--brick);
  border-radius:var(--r);padding:1.75rem;box-shadow:var(--sh-xl);color:var(--ink);
}
.hfc-title{font-size:1.12rem;font-weight:700;margin-bottom:.3rem;color:var(--ink);letter-spacing:-.02em}
.hfc-sub{font-size:.84rem;color:var(--ink-3);margin-bottom:1.2rem}
.hfc-sub-enhanced{
  font-size:.84rem;color:var(--dado);font-weight:600;margin-bottom:1.15rem;
  display:flex;align-items:center;gap:.5rem;background:rgba(47,74,60,.07);
  border:1px solid rgba(47,74,60,.2);border-radius:var(--r);padding:.55rem .75rem;
}
.hfc-sub-enhanced strong{color:var(--dado)}
.hfc-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 .8rem}
.hfc-full{grid-column:1/-1}

.response-badge{
  display:inline-flex;align-items:center;gap:.45rem;background:var(--dado);color:var(--lime-3);
  font-size:.76rem;font-weight:600;padding:.4rem .8rem;border-radius:var(--pill);
  margin-bottom:1rem;letter-spacing:.02em;
}
.cta-response-note{
  display:inline-flex;align-items:center;gap:.45rem;background:rgba(47,74,60,.08);
  border:1px solid rgba(47,74,60,.22);color:var(--dado);font-size:.83rem;font-weight:600;
  padding:.4rem .75rem;border-radius:var(--r);margin-top:.5rem;
}
.lf-response-note{
  display:inline-flex;align-items:center;gap:.45rem;background:rgba(232,160,44,.14);
  border:1px solid rgba(232,160,44,.42);color:var(--hi-vis);font-size:.9rem;font-weight:600;
  padding:.5rem .95rem;border-radius:var(--r);margin-top:.6rem;
}

/* ============ TRUST BAR ============ */
.trust-bar{background:var(--dado);padding:1.1rem 0;border-bottom:1px solid var(--dado-line)}
.trust-bar-inner{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}
.trust-bar-item{display:flex;align-items:center;gap:.55rem;color:rgba(232,230,220,.86);font-size:.83rem;font-weight:500}
.trust-bar-item svg{color:var(--hi-vis);flex-shrink:0}

/* ============ CARDS — bordered rectangles, never floating slabs ============ */
.feature-card,.feat-card,.card{
  background:var(--lime-3);border:1px solid var(--plaster);border-radius:var(--r);
  padding:1.7rem;transition:var(--t);
}
.feature-card:hover,.feat-card:hover,.card:hover{border-color:var(--dado-soft);background:var(--white)}

.feat-icon,.fc-ic{
  width:44px;height:44px;background:none;border:1px solid var(--plaster-2);
  border-radius:var(--r);display:flex;align-items:center;justify-content:center;
  margin-bottom:1.15rem;color:var(--dado);flex-shrink:0;
}
.feat-icon svg,.fc-ic svg{width:22px;height:22px}
.feature-card h3,.feat-card h3,.card h3{margin-bottom:.5rem}
.feature-card p,.feat-card p,.card p{font-size:.9rem;color:var(--ink-2)}

/* service cards — the photograph leads */
.service-card{
  background:var(--lime-3);border:1px solid var(--plaster);border-radius:var(--r);
  overflow:hidden;transition:var(--t);display:flex;flex-direction:column;
}
.service-card:hover{border-color:var(--dado-soft)}
.sc-img{height:200px;background:var(--plaster);overflow:hidden;position:relative}
.sc-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--e)}
.service-card:hover .sc-img img{transform:scale(1.035)}
/* the dado line rides the base of every photo */
.sc-img::after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:var(--dado)}
.sc-body{padding:1.4rem;flex:1;display:flex;flex-direction:column}
.sc-body h3{margin-bottom:.5rem}
.sc-body p{font-size:.885rem;flex:1;margin-bottom:1.15rem;color:var(--ink-2)}
.sc-link{
  font-size:.83rem;font-weight:600;color:var(--dado);display:inline-flex;align-items:center;gap:.4rem;
  transition:gap .18s var(--e),color .14s var(--e);align-self:flex-start;
}
.sc-link:hover{gap:.65rem;color:var(--brick)}
.sc-link svg{width:15px;height:15px}

/* ============ STATS — weighbridge ticket rows ============ */
.stats-band{background:var(--dado);padding:4rem 0;border-block:1px solid var(--dado-line)}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.stat-item{text-align:left;padding:.4rem 1.5rem;border-left:1px solid rgba(232,230,220,.2)}
.stat-item:first-child{padding-left:0;border-left:none}
.stat-item .num{font-size:2.6rem;font-weight:700;color:var(--hi-vis);line-height:1;margin-bottom:.45rem;letter-spacing:-.03em}
.stat-item .label{font-size:.74rem;color:rgba(232,230,220,.66);letter-spacing:.1em;text-transform:uppercase;line-height:1.4}

/* ============ TESTIMONIALS ============ */
.t-card{background:var(--lime-3);border:1px solid var(--plaster);border-radius:var(--r);padding:1.6rem;transition:var(--t)}
.t-card:hover{border-color:var(--dado-soft)}
.t-stars{color:var(--hi-vis);margin-bottom:.7rem;font-size:.88rem;letter-spacing:.1em}
.t-text{font-size:.92rem;font-style:normal;margin-bottom:1.1rem;color:var(--ink-2);line-height:1.65}
.t-author{display:flex;align-items:center;gap:.7rem;padding-top:.9rem;border-top:1px solid var(--plaster)}
.t-avatar{width:36px;height:36px;border-radius:var(--r);background:var(--dado);color:var(--lime-3);display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:700;flex-shrink:0}
.t-name{font-weight:600;font-size:.87rem;color:var(--ink)}
.t-loc{font-size:.76rem;color:var(--ink-3)}

/* ============ PRICING ============ */
.price-card{
  background:var(--lime-3);border:1px solid var(--plaster);border-radius:var(--r);
  padding:1.8rem;text-align:left;transition:var(--t);position:relative;
}
.price-card:hover{border-color:var(--dado-soft)}
.price-card.featured{background:var(--dado);border-color:var(--dado-line);color:var(--lime-3)}
.price-card.featured h3{color:#fff}
.price-card.featured p{color:rgba(232,230,220,.8)}
.price-badge{
  position:absolute;top:-1px;right:-1px;background:var(--brick);color:#fff;
  font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  padding:.32rem .8rem;border-radius:0;white-space:nowrap;
}
.price-amount{font-size:2.15rem;font-weight:700;margin:.85rem 0 .4rem;color:var(--ink);letter-spacing:-.03em}
.price-card.featured .price-amount{color:var(--hi-vis)}
.price-list{text-align:left;margin:1.15rem 0}
.price-list li{display:flex;align-items:flex-start;gap:.55rem;font-size:.87rem;padding:.55rem 0;color:var(--ink-2);border-bottom:1px solid var(--plaster)}
.price-list li:last-child{border-bottom:none}
.price-card.featured .price-list li{color:rgba(232,230,220,.86);border-color:rgba(232,230,220,.16)}
.chk{color:var(--dado);flex-shrink:0;margin-top:.15rem;display:inline-flex}
.chk svg{width:14px;height:14px}
.price-card.featured .chk{color:var(--hi-vis)}

/* price tables — the ticket, literally */
.table-wrap{overflow-x:auto;border:1px solid var(--plaster);border-radius:var(--r);background:var(--lime-3)}
.price-table,table{width:100%;border-collapse:collapse;font-size:.9rem;min-width:520px}
.price-table th,table th{
  background:var(--dado);color:var(--lime-3);text-align:left;padding:.85rem 1.1rem;
  font-size:.7rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase;white-space:nowrap;
}
.price-table td,table td{padding:.85rem 1.1rem;border-bottom:1px solid var(--plaster);color:var(--ink-2)}
.price-table tbody tr:last-child td,table tbody tr:last-child td{border-bottom:none}
.price-table tbody tr:hover,table tbody tr:hover{background:var(--lime-2)}
.price-table td:last-child,table td:last-child{font-weight:600;color:var(--ink);white-space:nowrap}

/* ============ PROCESS STEPS ============ */
.process-step{position:relative;padding-left:0}
.step-num{
  width:38px;height:38px;background:var(--dado);color:var(--lime-3);border-radius:var(--r);
  display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1rem;
  margin-bottom:1rem;flex-shrink:0;
}
.process-step h3{margin-bottom:.5rem}
.process-step p{font-size:.9rem}

/* ============ FAQ ============ */
.faq-list{max-width:800px;margin:0 auto}
.faq-item{border:none;border-bottom:1px solid var(--plaster);border-radius:0;margin-bottom:0;overflow:hidden;background:none}
.faq-item:first-child{border-top:1px solid var(--plaster)}
.faq-q{
  display:flex;align-items:flex-start;justify-content:space-between;gap:1.25rem;
  padding:1.3rem .25rem;cursor:pointer;font-weight:600;font-size:.98rem;color:var(--ink);
  background:none;transition:var(--t);user-select:none;line-height:1.45;width:100%;text-align:left;
}
.faq-q:hover{color:var(--brick)}
.faq-chv{
  flex-shrink:0;color:var(--dado);transition:transform .22s var(--e);margin-top:.15rem;
  width:16px;height:16px;display:inline-flex;
}
.faq-item.open .faq-chv{transform:rotate(180deg)}
.faq-a{display:none;padding:0 3rem 1.4rem .25rem;color:var(--ink-2);line-height:1.7;font-size:.93rem}
.faq-item.open .faq-a{display:block}
.faq-ic{color:var(--dado);flex-shrink:0}

/* ============ LEAD FORM SECTION ============ */
.lf-section{background:var(--dado);padding:5.5rem 0;position:relative;border-top:2px solid var(--dado-line)}
.lf-card{
  background:var(--lime-3);border:1px solid var(--plaster-2);border-top:3px solid var(--brick);
  border-radius:var(--r);padding:2.35rem;max-width:700px;margin:0 auto;box-shadow:var(--sh-xl);
}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.form-group{display:flex;flex-direction:column;gap:.4rem;margin-bottom:.15rem}
.form-group.full,.form-group .full{grid-column:1/-1}
.form-group label{font-size:.72rem;font-weight:700;color:var(--ink-2);letter-spacing:.09em;text-transform:uppercase}
.form-group input,.form-group select,.form-group textarea{
  padding:.78rem .9rem;border:1px solid var(--plaster-2);border-radius:var(--r);
  font-size:.95rem;color:var(--ink);background:var(--white);
  transition:border-color .14s var(--e),box-shadow .14s var(--e);outline:none;width:100%;
}
.form-group input::placeholder,.form-group textarea::placeholder{color:#8d9499}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{
  border-color:var(--dado);box-shadow:0 0 0 3px rgba(47,74,60,.13);
}
.form-group input:invalid:not(:placeholder-shown){border-color:var(--brick)}
.form-group textarea{resize:vertical;min-height:96px;line-height:1.6}
.form-group select{
  -webkit-appearance:none;appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%233d4348' stroke-width='2' stroke-linecap='square'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right .85rem center;padding-right:2.4rem;
}
.form-submit{
  width:100%;padding:1.05rem;background:var(--hi-vis);color:var(--ink);
  font-size:1rem;font-weight:700;border-radius:var(--r);border:1px solid var(--hi-vis-deep);
  transition:var(--t);margin-top:.7rem;cursor:pointer;font-family:inherit;
}
.form-submit:hover{background:var(--hi-vis-deep)}
.form-submit:disabled{opacity:.55;cursor:not-allowed}
.form-note{text-align:center;font-size:.76rem;color:var(--ink-3);margin-top:.8rem;line-height:1.6}
.form-note a{color:var(--dado);text-decoration:underline;text-underline-offset:2px}

/* ============ AREAS / CHIPS ============ */
.areas-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:0;border-top:1px solid var(--plaster);border-left:1px solid var(--plaster)}
.area-chip{
  display:flex;align-items:center;gap:.5rem;padding:.8rem 1rem;background:var(--lime-3);
  border-right:1px solid var(--plaster);border-bottom:1px solid var(--plaster);
  border-radius:0;font-size:.86rem;color:var(--ink-2);transition:var(--t);
}
.area-chip:hover{background:var(--dado);color:var(--lime-3)}
.area-chip-dot{width:5px;height:5px;background:var(--brick);border-radius:50%;flex-shrink:0}
.area-chip:hover .area-chip-dot{background:var(--hi-vis)}

/* ============ CTA BAND ============ */
.cta-band{background:var(--brick);padding:3.25rem 0;border-block:1px solid var(--brick-deep)}
.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap}
.cta-inner h2{color:#fff;margin-bottom:.5rem}
.cta-inner p{color:rgba(255,255,255,.9)}
.cta-band .btn-primary{background:var(--lime-3);border-color:var(--lime-3);color:var(--ink)}
.cta-band .btn-primary:hover{background:#fff;border-color:#fff}

/* ============ PAGE HERO (interior pages) ============ */
.page-hero{
  background:var(--dado);padding:3.25rem 0 3rem;color:var(--lime-3);
  position:relative;border-bottom:8px solid var(--dado-line);
}
.page-hero h1{color:#fff;margin-bottom:.75rem}
.page-hero p{color:rgba(232,230,220,.82);font-size:1.03rem;max-width:62ch}
.page-hero .section-label{color:var(--hi-vis);border-bottom-color:var(--hi-vis)}

.breadcrumb{padding:.65rem 0}
.bc-list{display:flex;align-items:center;gap:.45rem;font-size:.79rem;flex-wrap:wrap}
.bc-list a{color:rgba(232,230,220,.62);transition:var(--t)}
.bc-list a:hover{color:#fff;text-decoration:underline;text-underline-offset:2px}
.bc-sep{color:rgba(232,230,220,.32)}

/* ============ CONTENT ARTICLE ============ */
.content-article{max-width:74ch}
.content-article h2{margin:2.75rem 0 1rem}
.content-article h3{margin:2rem 0 .75rem}
.content-article p{margin-bottom:1.1rem}
.content-article ul,.content-article ol{margin:0 0 1.35rem 0;padding-left:0}
.content-article li{
  position:relative;padding-left:1.4rem;margin-bottom:.6rem;color:var(--ink-2);line-height:1.66;
}
.content-article ul li::before{
  content:"";position:absolute;left:0;top:.62em;width:7px;height:1.5px;background:var(--brick);
}
.content-article ol{counter-reset:ol}
.content-article ol li{counter-increment:ol}
.content-article ol li::before{
  content:counter(ol)".";position:absolute;left:0;top:0;color:var(--brick);font-weight:700;font-size:.88em;
}
.content-article a{color:var(--dado);text-decoration:underline;text-underline-offset:2px;font-weight:500}
.content-article a:hover{color:var(--brick)}

/* ============ DISTRICT META ============ */
.dist-meta{display:flex;gap:0;flex-wrap:wrap;margin-top:1.5rem}
.dist-meta-item{
  display:flex;align-items:center;gap:.5rem;background:rgba(0,0,0,.16);
  border:1px solid rgba(232,230,220,.18);border-right:none;border-radius:0;
  padding:.55rem .95rem;font-size:.84rem;color:rgba(232,230,220,.9);
}
.dist-meta-item:last-child{border-right:1px solid rgba(232,230,220,.18)}
.dist-meta-item svg{color:var(--hi-vis);flex-shrink:0}

/* ============ ALERTS ============ */
.alert{padding:1rem 1.15rem;border-radius:var(--r);display:flex;gap:.7rem;align-items:flex-start;font-size:.89rem;line-height:1.6}
.alert svg{flex-shrink:0;margin-top:.12rem}
.alert-blue{background:rgba(47,74,60,.07);border:1px solid rgba(47,74,60,.22);color:var(--ink-2)}
.alert-blue svg{color:var(--dado)}
.alert-yellow,.alert-orange{background:rgba(180,71,42,.07);border:1px solid rgba(180,71,42,.26);color:var(--ink-2)}
.alert-yellow svg,.alert-orange svg{color:var(--brick)}
.alert strong{color:var(--ink)}

/* ============ MODAL ============ */
.modal-ov{
  position:fixed;inset:0;background:rgba(20,28,23,.6);z-index:9999;
  display:flex;align-items:center;justify-content:center;padding:1rem;
  opacity:0;pointer-events:none;transition:opacity .2s var(--e);
}
.modal-ov.open{opacity:1;pointer-events:all}
.modal-box{
  background:var(--lime-3);border-top:3px solid var(--dado);border-radius:var(--r);
  padding:2.35rem;max-width:440px;width:100%;text-align:center;
  transform:translateY(8px);transition:transform .2s var(--e);box-shadow:var(--sh-xl);
}
.modal-ov.open .modal-box{transform:translateY(0)}
.modal-icon{
  width:56px;height:56px;border:1.5px solid var(--dado);color:var(--dado);border-radius:var(--r);
  display:flex;align-items:center;justify-content:center;margin:0 auto 1.2rem;
}
.modal-icon svg{width:28px;height:28px}
.modal-box h3{margin-bottom:.6rem}
.modal-box p{margin-bottom:1.4rem;color:var(--ink-2)}

/* ============ FLOATING MOBILE CTA ============ */
.float-cta{
  position:fixed;bottom:0;left:0;right:0;background:var(--lime-3);
  padding:.7rem 1rem;border-top:2px solid var(--dado);
  box-shadow:0 -6px 20px -8px rgba(22,24,26,.28);z-index:998;display:none;gap:.65rem;
}

/* ============ FOOTER ============ */
.site-footer{background:var(--dado-line);color:rgba(232,230,220,.62);padding:4rem 0 0;border-top:8px solid var(--dado)}
.footer-grid{display:grid;grid-template-columns:1.8fr 1fr 1fr 1fr;gap:2.5rem;margin-bottom:3rem}
.footer-logo{display:flex;align-items:center;gap:.65rem;margin-bottom:1rem}
.footer-logo img{height:40px;filter:brightness(0) invert(1);opacity:.92}
.footer-logo span{color:#fff;font-weight:700;font-size:1rem}
.footer-desc{font-size:.87rem;line-height:1.7;margin-bottom:1.2rem;max-width:40ch}
.footer-badges{display:flex;flex-wrap:wrap;gap:.4rem}
.f-badge{
  padding:.3rem .7rem;background:rgba(232,230,220,.06);border:1px solid rgba(232,230,220,.14);
  border-radius:var(--r);font-size:.72rem;color:rgba(232,230,220,.66);
}
.footer-col h4,.footer-h{
  font-size:.7rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;
  color:var(--hi-vis);margin-bottom:1rem;
}
.footer-col ul{display:flex;flex-direction:column;gap:.55rem}
.footer-col a{font-size:.86rem;color:rgba(232,230,220,.6);transition:var(--t)}
.footer-col a:hover{color:#fff}
.footer-bottom{
  border-top:1px solid rgba(232,230,220,.12);padding:1.5rem 0;
  display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;
}
.footer-bottom-l{font-size:.79rem;color:rgba(232,230,220,.5)}
.footer-bottom-r{display:flex;gap:1.5rem;flex-wrap:wrap}
.footer-bottom-r a{font-size:.79rem;color:rgba(232,230,220,.5)}
.footer-bottom-r a:hover{color:#fff}

/* ============ QUOTE WIDGET ============ */
#rq-container{position:fixed;bottom:1.4rem;right:1.4rem;z-index:1000;display:flex;flex-direction:column;align-items:flex-end;gap:.65rem}
#rq-launcher{
  width:52px;height:52px;border-radius:var(--r);background:var(--dado);color:var(--lime-3);
  display:flex;align-items:center;justify-content:center;box-shadow:var(--sh-lg);transition:var(--t);
}
#rq-launcher:hover{background:var(--dado-deep)}
#rq-greeting{
  background:var(--lime-3);border:1px solid var(--plaster-2);border-radius:var(--r);
  padding:.7rem .95rem;box-shadow:var(--sh-lg);display:flex;align-items:center;gap:.65rem;
  max-width:210px;font-size:.84rem;position:relative;color:var(--ink-2);
}
.rq-av-sm{width:32px;height:32px;border-radius:var(--r);object-fit:cover}
#rq-close-greeting{
  position:absolute;top:-.45rem;right:-.45rem;width:19px;height:19px;background:var(--ink-2);
  color:#fff;border-radius:50%;font-size:.7rem;display:flex;align-items:center;justify-content:center;border:none;
}
#rq-panel{
  position:fixed;bottom:4.9rem;right:1.4rem;width:320px;background:var(--lime-3);
  border:1px solid var(--plaster-2);border-radius:var(--r);box-shadow:var(--sh-xl);overflow:hidden;
  transform:translateY(10px);opacity:0;pointer-events:none;
  transition:transform .2s var(--e),opacity .2s var(--e);
}
#rq-panel.open{transform:translateY(0);opacity:1;pointer-events:all}
.rq-ph{background:var(--dado);color:var(--lime-3);padding:.95rem 1.1rem;display:flex;align-items:center;gap:.65rem}
.rq-av{width:36px;height:36px;border-radius:var(--r);object-fit:cover;border:1px solid rgba(232,230,220,.28)}
.rq-ht h3{font-size:.9rem;color:#fff}
.rq-ht p{font-size:.72rem;color:rgba(232,230,220,.7)}
#rq-close-panel{margin-left:auto;color:rgba(232,230,220,.7);font-size:1.1rem;background:none;border:none}
.rq-pc{padding:1.1rem}
.rq-fg{margin-bottom:.85rem}
.rq-fg label{font-size:.7rem;font-weight:700;display:block;margin-bottom:.3rem;color:var(--ink-2);letter-spacing:.09em;text-transform:uppercase}
.rq-fg input,.rq-fg textarea{width:100%;padding:.62rem .85rem;border:1px solid var(--plaster-2);border-radius:var(--r);font-size:.88rem;font-family:inherit;background:var(--white)}
.rq-fg input:focus,.rq-fg textarea:focus{border-color:var(--dado);outline:none;box-shadow:0 0 0 3px rgba(47,74,60,.13)}
.rq-dis{font-size:.7rem;color:var(--ink-3);margin-bottom:.7rem;line-height:1.5}
#rq-submit{width:100%;padding:.75rem;background:var(--hi-vis);color:var(--ink);border-radius:var(--r);font-weight:700;font-size:.88rem;transition:var(--t);border:1px solid var(--hi-vis-deep);font-family:inherit}
#rq-submit:hover{background:var(--hi-vis-deep)}
.rq-hidden{display:none}
#rq-success{text-align:center;padding:1.4rem 0;font-size:.9rem;color:var(--ink-2)}

/* ============ MOTION ============ */
.fade-up{opacity:0;transform:translateY(12px);transition:opacity .32s var(--e),transform .32s var(--e)}
.fade-up.visible{opacity:1;transform:none}

/* ============ RESPONSIVE ============ */
@media(max-width:980px){
  .main-nav{display:none}
  .header-actions{display:none}
  .mob-btn{display:flex}
  .header-inner{height:66px}
  .hero-inner{grid-template-columns:1fr;gap:2.5rem;padding:3.5rem 0 4rem}
  .hero-sub{max-width:100%}
  .footer-grid{grid-template-columns:1fr 1fr;gap:2rem}
  .grid-4{grid-template-columns:repeat(2,1fr)}
  .stats-grid{grid-template-columns:repeat(2,1fr);gap:0}
  .stat-item{padding:1.25rem 1.25rem;border-left:1px solid rgba(232,230,220,.2);border-bottom:1px solid rgba(232,230,220,.2)}
  .stat-item:first-child{padding-left:1.25rem;border-left:1px solid rgba(232,230,220,.2)}
  .stat-item:nth-child(odd){border-left:none;padding-left:0}
}
@media(max-width:760px){
  .section{padding:3.75rem 0}
  .container{padding:0 1.15rem}
  .grid-2,.grid-3,.grid-4{grid-template-columns:1fr;gap:1.25rem}
  .form-grid,.hfc-grid{grid-template-columns:1fr;gap:0}
  .hero-trust{gap:1.5rem 2rem}
  .hero-trust-item .num{font-size:1.4rem}
  .cta-inner{flex-direction:column;align-items:flex-start;text-align:left}
  .footer-grid{grid-template-columns:1fr;gap:2rem}
  .footer-bottom{flex-direction:column;align-items:flex-start}
  .float-cta{display:flex}
  body{padding-bottom:68px}
  #rq-container,#rq-panel{display:none}
  .hero-form-card,.lf-card{padding:1.5rem}
  .faq-a{padding-right:1rem}
  .areas-grid{grid-template-columns:1fr 1fr}
  .btn-lg{padding:.9rem 1.4rem;font-size:.95rem}
  .hero-actions .btn{flex:1 1 100%}
}
@media(max-width:420px){
  .areas-grid{grid-template-columns:1fr}
  .stats-grid{grid-template-columns:1fr}
  .stat-item{border-left:none;padding-left:0}
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .fade-up{opacity:1;transform:none}
}

@media print{
  .site-header,.ann-bar,.float-cta,#rq-container,#rq-panel,.lf-section,.cta-band{display:none!important}
  body{background:#fff;color:#000}
}

/* ============ ICONS ============
   Inline SVG, square terminals, currentColor. Sized by context so an icon
   never outweighs the text beside it. */
.ico{flex-shrink:0;display:inline-block;vertical-align:-.16em}

/* inline with text: match the cap height of the line */
p .ico,li .ico,.sc-body .ico,.footer-desc .ico,
.trust-bar-item .ico,.dist-meta-item .ico,.alert .ico{width:1.05em;height:1.05em;stroke-width:1.6}

/* in buttons */
.btn .ico,.form-submit .ico,#rq-submit .ico{width:17px;height:17px;stroke-width:1.7}

/* icon wells on cards */
.fc-ic .ico,.feat-icon .ico{width:22px;height:22px}
.modal-icon .ico{width:28px;height:28px}

/* nav */
.drop-menu .ico{width:17px;height:17px;color:var(--dado)}
.main-nav .ico,.nav-drop>a .ico{width:13px;height:13px;stroke-width:2;opacity:.65}
.mob-nav .ico{width:16px;height:16px}

/* small affordances */
.chk .ico{width:14px;height:14px;stroke-width:2}
.faq-chv .ico{width:15px;height:15px;stroke-width:2}
.sc-link .ico{width:15px;height:15px;stroke-width:2}
.hero-feat .ico{width:12px;height:12px;stroke-width:2.4}
.price-list .ico{width:14px;height:14px}
.ann-bar .ico{width:15px;height:15px;vertical-align:-.2em;opacity:.85}
.section-label .ico{width:14px;height:14px}

/* a star inside a figure is a mark on the number, not a second number */
.num .ico,.stat-item .num .ico,.hero-trust-item .num .ico{
  width:.62em;height:.62em;stroke-width:1.9;fill:currentColor;
  vertical-align:.06em;margin-left:.16em;
}
/* rating stars read as filled marks */
.t-stars .ico{width:15px;height:15px;fill:currentColor;stroke-width:1;margin-right:.08em}

/* trust bar icons need presence against the dado */
.trust-bar-item .ico{width:17px;height:17px;stroke-width:1.7;opacity:1}

/* step numerals are figures, not icons — set them like a ticket line number */
.step-num.step-digit,.fc-ic.step-digit{
  font-size:1.05rem;font-weight:700;letter-spacing:-.02em;
  font-variant-numeric:tabular-nums;
}
.fc-ic.step-digit{background:var(--dado);color:var(--lime-3);border-color:var(--dado)}
