/* LMS Electrical: design system (Gate 1)
   TYPE PAIRING PROTOCOL (run against raw/logo-current.png)
   1 Class: wide geometric sans (Conthrax-style): "LMS" bold caps, "electrical" lowercase with round single-storey forms, open apertures.
   2 Width/weight: wide; LMS bold, "electrical" regular.
   3 Register: modern crew, tech-forward trade (solar, batteries, EV), established 2013.
   4 Display: Sora 600/700, a wide-set geometric grotesk, within one width step of the wordmark; carries H1/H2/numbers only, tight tracking at size.
   5 Body: Manrope 400/500/700, geometric-humanist, large x-height, sits with Sora as one system; tabular numerals for kW and stats.
   6 Test: "LMS electrical" in Sora 700/400 at 64px beside the logo reads as the same family (wide, round, low contrast). Pass.
   Self-hosted variable woff2 (latin), two files, preloaded.

   PALETTE (their livery: lime #70E000, #9DCF3A, black, white, slate)
   --ink #121417 page base dark | --ink-2 #181B1F | --ink-3 #20242A elevated
   --lime #70E000: THE accent. Filled lime = primary action only (buttons). Lime strokes/ticks/marks on dark only.
   --leaf #3A7D0A: lime's dark sibling for text accents on white (never lime text on white).
   --amber #FFB547: the sun dot in the sun-arc motif only.
   CONTRAST (WCAG 1.4.3)
   #F4F6F3 on #121417 = 17.6:1 | #B9C0C7 on #121417 = 10.0:1 | #8F98A1 on #121417 = 6.3:1 | #70E000 on #121417 = 10.8:1
   #121417 on #70E000 (button) = 10.8:1 | #15181B on #FFFFFF = 18.1:1 | #4D5660 on #FFFFFF = 7.6:1 | #4D5660 on #F4F6F1 = 7.0:1
   #3A7D0A on #FFFFFF = 5.1:1 | #3A7D0A on #F4F6F1 = 4.7:1 | #FFFFFF on photo scrim (rgba 18,20,23,.72+) >= 7:1

   UX LAWS (Laws of UX, Yablonski)
   Hick's law: one primary action ("Get my free quote"), one secondary (Call); nav grouped into five menus.
   Fitts's law: 48px+ targets, sticky thumb bar on phones, quote button in the header.
   Jakob's law: conventional header, breadcrumbs, FAQ accordions, form layout.
   Von Restorff: lime fill reserved for the primary button so it is the most salient thing on any screen.
   Serial position: proof first (hero), quote form and risk reversal last before the footer.
   Aesthetic-usability: one signature (the logo's slanted bars) repeated as eyebrows, frames and numbers; nothing else decorative.
   Doherty threshold: static HTML, one CSS, 3 KB JS, preloaded hero and fonts.
   Motion: transform and opacity only, no transition: all, prefers-reduced-motion respected. */

@font-face{font-family:"Sora";src:url(/assets/fonts/sora.woff2) format("woff2");font-weight:100 800;font-display:swap}
@font-face{font-family:"Manrope";src:url(/assets/fonts/manrope.woff2) format("woff2");font-weight:200 800;font-display:swap}

:root{
  --ink:#121417;--ink-2:#181B1F;--ink-3:#20242A;--ink-4:#2A2F36;
  --on-ink:#F4F6F3;--on-ink-2:#B9C0C7;--on-ink-3:#8F98A1;--ink-line:rgba(255,255,255,.1);
  --paper:#FFFFFF;--mist:#F4F6F1;--line:#E2E6DF;--text:#15181B;--text-2:#4D5660;
  --lime:#70E000;--lime-hi:#86F21C;--lime-2:#9DCF3A;--leaf:#3A7D0A;--amber:#FFB547;
  --display:"Sora",ui-sans-serif,system-ui,sans-serif;--body:"Manrope",ui-sans-serif,system-ui,sans-serif;
  --r:14px;--r-lg:22px;--slant:-23.7deg;
  --wrap:min(1220px,100% - 32px);
  --sh-1:0 1px 2px rgba(18,20,23,.06),0 4px 14px -6px rgba(18,20,23,.12);
  --sh-2:0 2px 4px rgba(18,20,23,.05),0 18px 40px -18px rgba(18,20,23,.28);
  --sh-lime:0 10px 30px -12px rgba(112,224,0,.55);
  --ease:cubic-bezier(.2,.8,.2,1);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:84px}
body{margin:0;background:var(--paper);color:var(--text);font:400 1.0625rem/1.68 var(--body);font-variant-numeric:tabular-nums;overflow-x:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
p{margin:0 0 1em}
h1,h2,h3{font-family:var(--display);font-weight:700;line-height:1.12;letter-spacing:-.025em;margin:0;text-wrap:balance}
h1{font-size:clamp(2rem,1.2rem + 3.6vw,3.6rem);letter-spacing:-.035em}
h2{font-size:clamp(1.6rem,1.15rem + 2vw,2.55rem)}
h3{font-size:1.14rem;letter-spacing:-.015em;line-height:1.25}
h1 em,h2 em{font-style:normal;color:var(--leaf)}
.tex h1 em,.tex h2 em,.hero h1 em,.phero h1 em,.risk__h em{color:var(--lime)}
:focus-visible{outline:3px solid var(--lime);outline-offset:3px;border-radius:6px}
.t-white :focus-visible,.t-mist :focus-visible{outline-color:var(--leaf)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--lime);color:var(--ink);padding:.7rem 1rem;border-radius:10px;font-weight:700}
.skip:focus{top:12px}
.wrap{width:var(--wrap);margin-inline:auto}
.narrow{max-width:760px}
.fine{font-size:.86rem;color:var(--on-ink-3)}
.t-white .fine,.t-mist .fine{color:var(--text-2)}

/* ---------- signature: the logo's slanted bars ---------- */
.slash{display:inline-flex;gap:3px;margin-right:.6rem;vertical-align:middle;flex:none}
.slash i{display:block;width:14px;height:5px;background:var(--lime);transform:skewX(var(--slant));border-radius:1px}
.slash i+i{width:9px;opacity:.6}
.t-white .slash i,.t-mist .slash i{background:var(--leaf)}
.mark{width:1.4em;height:auto;color:var(--lime);flex:none}
.eyebrow{display:flex;align-items:center;font:700 .76rem/1.4 var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--leaf);margin:0 0 .9rem}
.tex .eyebrow,.hero .eyebrow,.phero .eyebrow{color:var(--lime)}

/* dark textured sections: faint panel-grid (cells skewed like the logo bars) */
.tex{background:var(--ink);color:var(--on-ink);position:relative;isolation:isolate;overflow:hidden}
.tex::before{content:"";position:absolute;inset:-20% -10%;z-index:-1;pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);
  background-size:64px 38px;transform:skewX(var(--slant));
  -webkit-mask-image:radial-gradient(ellipse 70% 60% at 85% 10%,#000 0%,transparent 70%);mask-image:radial-gradient(ellipse 70% 60% at 85% 10%,#000 0%,transparent 70%)}
.tex::after{content:"";position:absolute;inset:0;z-index:-2;background:radial-gradient(ellipse 60% 50% at 90% 0%,rgba(112,224,0,.10),transparent 60%),radial-gradient(ellipse 50% 60% at 0% 100%,rgba(255,181,71,.05),transparent 60%)}

/* sun arc motif: once in the hero, once in the footer */
.sunarc{position:absolute;pointer-events:none;z-index:0}
.sunarc__path{fill:none;stroke:rgba(255,255,255,.16);stroke-width:1.2;stroke-dasharray:2 7;vector-effect:non-scaling-stroke}
.sunarc__sun{fill:var(--amber);filter:drop-shadow(0 0 10px rgba(255,181,71,.8))}

/* ---------- buttons ---------- */
.btn{--h:52px;display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:var(--h);padding:0 1.35rem;border-radius:12px;border:2px solid transparent;
  font:700 1rem/1.1 var(--body);letter-spacing:-.005em;text-decoration:none;cursor:pointer;white-space:nowrap;
  transition:transform .18s var(--ease),background-color .18s var(--ease),border-color .18s var(--ease),box-shadow .18s var(--ease),color .18s}
.btn svg{width:19px;height:19px;flex:none}
.btn:active{transform:translateY(1px) scale(.99)}
.btn--lime{background:var(--lime);color:var(--ink);box-shadow:var(--sh-lime)}
.btn--lime:hover{background:var(--lime-hi);transform:translateY(-2px)}
.btn--ghost{border-color:rgba(255,255,255,.34);color:var(--on-ink);background:rgba(255,255,255,.04)}
.btn--ghost:hover{border-color:#fff;background:rgba(255,255,255,.1)}
.btn--line{border-color:var(--ink);color:var(--ink);background:transparent}
.btn--line:hover{background:var(--ink);color:#fff}
.btn--sm{--h:44px;padding:0 1rem;font-size:.94rem}
.btn--block{width:100%}
.cta-row{display:flex;flex-wrap:wrap;gap:.7rem;margin:1.4rem 0 0}
.textlink{display:inline-flex;align-items:center;gap:.4rem;font-weight:700;color:var(--leaf);text-decoration:none;border-bottom:2px solid currentColor;padding-bottom:2px;margin-right:1.4rem}
.textlink svg{width:16px;height:16px;transition:transform .18s var(--ease)}
.textlink:hover svg{transform:translateX(3px)}
.textlink--light{color:var(--lime)}
.more{margin:2rem 0 0;display:flex;flex-wrap:wrap;gap:.8rem 0;align-items:center}

/* ---------- header ---------- */
.hdr{position:sticky;top:0;z-index:50;background:rgba(18,20,23,.94);-webkit-backdrop-filter:saturate(1.4) blur(12px);backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid var(--ink-line);color:var(--on-ink)}
.hdr__in{display:flex;align-items:center;gap:1rem;min-height:66px}
.brand{display:flex;align-items:center;flex:none;margin-right:auto}
.brand img{height:40px;width:auto}
.nav{display:none}
.hdr__call{display:none}
.hdr__q{display:none}
.menu-btn{display:grid;place-items:center;width:48px;height:48px;border-radius:12px;color:var(--on-ink);border:1px solid var(--ink-line);background:var(--ink-2)}
.menu-btn svg{width:24px;height:24px}
@media (min-width:1080px){
  .nav{display:flex;align-items:center;gap:.15rem;margin-right:auto}
  .brand{margin-right:1.2rem}
  .has-sub{position:relative}
  .nav__btn{display:flex;align-items:center;gap:.4rem;height:44px;padding:0 .8rem;border:0;background:none;color:var(--on-ink-2);font:600 .95rem var(--body);cursor:pointer;border-radius:10px}
  .nav__btn:hover,.has-sub:focus-within .nav__btn,.has-sub.open .nav__btn,.is-cur .nav__btn{color:#fff}
  .is-cur .nav__btn{box-shadow:inset 0 -2px 0 var(--lime)}
  .chev{width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);opacity:.7}
  .sub{position:absolute;top:calc(100% + 6px);left:-.4rem;min-width:240px;padding:.5rem;background:var(--ink-2);border:1px solid var(--ink-line);border-radius:14px;box-shadow:0 30px 50px -20px rgba(0,0,0,.6);
    opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .16s var(--ease),transform .16s var(--ease),visibility .16s}
  .has-sub:hover .sub,.has-sub:focus-within .sub,.has-sub.open .sub{opacity:1;visibility:visible;transform:none}
  .sub a{display:block;padding:.6rem .8rem;border-radius:9px;text-decoration:none;color:var(--on-ink-2);font-weight:500;font-size:.95rem}
  .sub a:hover,.sub a[aria-current]{background:var(--ink-3);color:#fff}
  .hdr__call{display:flex;align-items:center;gap:.5rem;text-decoration:none;font:700 1rem var(--display);letter-spacing:-.01em;color:#fff;padding:0 .4rem}
  .hdr__call svg{width:18px;height:18px;color:var(--lime)}
  .hdr__q{display:inline-flex}
  .menu-btn{display:none}
}
@media (min-width:1080px) and (max-width:1220px){.hdr__call span{display:none}}

/* mobile menu: :target without JS, .open with JS */
.mnav{position:fixed;inset:0;z-index:80;background:var(--ink);color:var(--on-ink);overflow-y:auto;padding:0 16px 120px;display:none}
.mnav:target,.mnav.open{display:block}
.mnav__top{display:flex;align-items:center;justify-content:space-between;min-height:66px;border-bottom:1px solid var(--ink-line);margin-bottom:1.2rem}
.mnav__top img{height:40px;width:auto}
.mnav__close{display:grid;place-items:center;width:48px;height:48px;border-radius:12px;border:1px solid var(--ink-line)}
.mnav__close svg{width:24px;height:24px}
.mnav__cta{display:grid;gap:.6rem;margin-bottom:1.4rem}
.mnav__cols{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem 1rem}
.mnav h2{font:700 .75rem var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--lime);margin:0 0 .4rem}
.mnav ul{list-style:none;margin:0;padding:0}
.mnav li a{display:block;padding:.5rem 0;text-decoration:none;color:var(--on-ink);font-weight:500;min-height:44px}

/* ---------- home hero ---------- */
.hero{padding:0}
.hero__media{position:relative;aspect-ratio:16/9;overflow:hidden;clip-path:polygon(0 0,100% 0,100% 86%,0 100%)}
.hero__media img{width:100%;height:100%;object-fit:cover;object-position:50% 45%;filter:brightness(.86) saturate(1.05)}
.hero__media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(18,20,23,.3) 0%,transparent 28%,transparent 62%,rgba(18,20,23,.5) 100%)}
.hero .sunarc{width:min(620px,95%);height:220px;right:-90px;top:52%;opacity:.5}
.hero__in{position:relative;z-index:1;padding:1.1rem 0 .4rem}
.hero h1{font-size:clamp(1.85rem,1rem + 3.7vw,3.35rem);margin:.85rem 0 .7rem;max-width:18ch}
.hero__sub{color:var(--on-ink-2);font-size:1.04rem;max-width:52ch;margin:0}
.trust3{list-style:none;margin:.9rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.4rem}
.trust3 li{display:inline-flex;align-items:center;gap:.35rem;padding:.32rem .65rem .32rem .5rem;border:1px solid rgba(112,224,0,.35);background:rgba(112,224,0,.07);border-radius:999px;font-weight:700;font-size:.84rem;color:#fff;line-height:1.3}
.trust3 svg{width:15px;height:15px;color:var(--lime);flex:none}
.hero .cta-row{margin-top:1.1rem}
.hero__note{margin:.8rem 0 0;font-size:.86rem;color:var(--on-ink-3)}
.nums{list-style:none;margin:1.4rem 0 0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--ink-line)}
.nums li{padding:1rem 0 1.2rem;border-bottom:1px solid var(--ink-line)}
.nums li:nth-child(odd){padding-right:1rem;border-right:1px solid var(--ink-line)}
.nums li:nth-child(even){padding-left:1.1rem}
.nums b{display:block;font:700 clamp(1.7rem,1.2rem + 2vw,2.5rem)/1 var(--display);letter-spacing:-.04em;color:#fff}
.nums b .st{display:inline;color:var(--lime);font-size:.6em;margin-left:.15em;vertical-align:.3em}
.nums li>span,.nums a>span{display:block;margin-top:.35rem;color:var(--on-ink-2);font-size:.9rem;font-weight:500}
.nums a{text-decoration:none;display:block}
.nums a:hover b{color:var(--lime)}
.rating{display:inline-flex;align-items:center;gap:.5rem;text-decoration:none;font-size:.92rem;color:var(--on-ink-2);margin-top:1rem;padding:.35rem .75rem .35rem .45rem;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid var(--ink-line);min-height:40px}
.rating svg{width:18px;height:18px;background:#fff;border-radius:50%;padding:2px}
.rating b{color:#fff}
.rating:hover{border-color:rgba(255,255,255,.3)}
.stars{color:#FFC93C;letter-spacing:1px;font-size:.9rem}
.rating--hero{margin:0}
@media (max-width:420px){.hero .cta-row{display:grid;grid-template-columns:1fr;gap:.55rem}.hero .btn{--h:50px}}
@media (min-width:900px){
  .hero{display:flex;flex-direction:column}
  .hero__in{order:1;display:grid;grid-template-columns:1.3fr 1fr;gap:3.5rem;align-items:end;padding:3rem 0 2.4rem}
  .hero h1{margin:1rem 0 0;max-width:none}
  .hero__b{padding-bottom:.3rem}
  .hero__media{order:2;width:var(--wrap);margin-inline:auto;aspect-ratio:16/7;border-radius:var(--r-lg);clip-path:polygon(5% 0,100% 0,100% 100%,0 100%);box-shadow:0 50px 80px -40px rgba(0,0,0,.8)}
  .hero__media::after{background:linear-gradient(180deg,transparent 55%,rgba(18,20,23,.55) 100%)}
  .hero__media img{object-position:50% 50%}
  .hero .sunarc{left:auto;right:-140px;top:18px;width:560px;opacity:.5}
  .hero__numswrap{order:3;position:relative;z-index:2;margin-top:-58px;padding:0 0 3rem}
  .nums{grid-template-columns:repeat(4,1fr);margin:0 auto;width:calc(100% - 6%);margin-left:6%;background:var(--ink-2);border:1px solid var(--ink-line);border-radius:var(--r-lg);box-shadow:0 30px 50px -30px rgba(0,0,0,.8)}
  .nums li,.nums li:nth-child(odd),.nums li:nth-child(even){padding:1.4rem 1.5rem 1.5rem;border-right:1px solid var(--ink-line);border-bottom:0}
  .nums li:last-child{border-right:0}
}
@media (min-width:1300px){.hero h1{font-size:3.5rem}}

/* ---------- inner page hero ---------- */
.phero{padding:1rem 0 3.2rem}
.crumbs ol{list-style:none;margin:0 0 1.6rem;padding:0;display:flex;flex-wrap:wrap;gap:.2rem .5rem;font-size:.86rem;color:var(--on-ink-3)}
.crumbs li+li::before{content:"/";margin-right:.5rem;opacity:.5}
.crumbs a{text-decoration:none;color:var(--on-ink-2)}
.crumbs a:hover{color:#fff;text-decoration:underline}
.phero__grid{display:grid;gap:2rem;align-items:center}
.phero h1{margin-bottom:1rem}
.lede{font-size:1.1rem;color:var(--on-ink-2);max-width:62ch}
.lede strong{color:#fff}
.lede a{color:var(--lime)}
.phero__frame{margin:0;position:relative}
.phero__frame img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:var(--r-lg);clip-path:polygon(9% 0,100% 0,100% 100%,0 100%);box-shadow:0 40px 60px -30px rgba(0,0,0,.7)}
.phero__frame figcaption{position:absolute;right:14px;bottom:14px;padding:.35rem .7rem;border-radius:8px;background:rgba(18,20,23,.78);font-size:.8rem;color:var(--on-ink-2);max-width:80%}
.phero__frame::before{content:"";position:absolute;left:-14px;top:22%;width:18px;height:46%;background:var(--lime);transform:skewX(var(--slant));border-radius:3px;opacity:.9}
.phero__icon{justify-self:center;width:min(300px,70%);aspect-ratio:3/4;display:grid;place-items:center;border-radius:var(--r-lg);background:linear-gradient(160deg,var(--ink-3),var(--ink-2));border:1px solid var(--ink-line)}
@media (min-width:900px){.phero__grid{grid-template-columns:1.05fr .95fr;gap:3.5rem}.phero__grid--solo{grid-template-columns:minmax(0,820px)}.phero{padding:1.4rem 0 4.4rem}}
.evicon{width:62%;height:auto}
.evicon__body{fill:var(--ink-4);stroke:var(--lime);stroke-width:3}
.evicon__screen{fill:#0d1012;stroke:rgba(255,255,255,.2)}
.evicon__bolt{fill:none;stroke:var(--lime);stroke-width:5;stroke-linecap:round;stroke-linejoin:round}
.evicon__cable{fill:none;stroke:var(--on-ink-2);stroke-width:5;stroke-linecap:round}
.evicon__plug{fill:var(--on-ink-2)}
.evicon__ground{stroke:rgba(255,255,255,.2);stroke-width:2}

/* ---------- quick facts ---------- */
.facts{position:relative;z-index:2;margin-top:-1.6rem}
.facts__box{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-2);padding:1.3rem 1.3rem .6rem}
.facts h2{display:flex;align-items:center;font:700 .8rem var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--leaf);margin:0 0 .8rem}
.facts h2 .slash i{background:var(--leaf)}
.facts dl{margin:0;display:grid;gap:0}
.facts dl>div{padding:.7rem 0;border-top:1px solid var(--line);display:grid;gap:.15rem}
.facts dt{font-weight:700;font-size:.82rem;color:var(--text-2);text-transform:uppercase;letter-spacing:.06em}
.facts dd{margin:0;font-size:.98rem}
.facts dd a{color:var(--leaf);font-weight:700}
@media (min-width:760px){.facts dl{grid-template-columns:repeat(2,1fr);column-gap:2rem}.facts dl>div{grid-template-columns:150px 1fr;align-items:baseline}}
@media (min-width:1100px){.facts dl{grid-template-columns:repeat(3,1fr)}.facts dl>div{grid-template-columns:1fr}}

/* ---------- sections ---------- */
.sec{padding:clamp(3.4rem,2.4rem + 4vw,6rem) 0}
.t-white{background:var(--paper)}
.t-mist{background:var(--mist)}
.sec__head{max-width:760px;margin-bottom:2.2rem}
.sec__head h2{margin-bottom:.8rem}
.sec__head p{color:var(--text-2);font-size:1.08rem;margin:0}
.tex .sec__head p{color:var(--on-ink-2)}
.sec__head--c{margin-inline:auto;text-align:center}
.sec__head--c .eyebrow{justify-content:center}
.lead{font-size:1.1rem;color:var(--text-2)}
.prose{max-width:66ch}
.prose p{color:#2c3238}
.prose a,.article a{color:var(--leaf);font-weight:600;text-underline-offset:3px}
.split{display:grid;gap:2rem;align-items:center}
@media (min-width:900px){.split{grid-template-columns:1.1fr .9fr;gap:4rem}.split--rev>div:first-child{order:2}}
.fig{margin:0;position:relative}
.fig img{width:100%;border-radius:var(--r-lg);box-shadow:var(--sh-2);aspect-ratio:4/5;object-fit:cover}
.fig--wide img{aspect-ratio:16/7}
.fig figcaption{margin-top:.6rem;font-size:.86rem;color:var(--text-2);display:flex;align-items:center;gap:.5rem}
.fig figcaption::before{content:"";width:14px;height:5px;background:var(--leaf);transform:skewX(var(--slant))}

/* ---------- services (home) ---------- */
.svcs{display:grid;gap:12px;grid-template-columns:1fr 1fr}
.svc{position:relative;display:block;border-radius:var(--r-lg);overflow:hidden;text-decoration:none;color:#fff;min-height:240px;isolation:isolate;box-shadow:var(--sh-1)}
.svc img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .5s var(--ease)}
.svc:hover img{transform:scale(1.05)}
.svc__shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(18,20,23,0) 25%,rgba(18,20,23,.88) 100%)}
.svc__body{position:absolute;inset:auto 0 0 0;padding:1rem 3.4rem 1rem 1rem;display:grid;gap:.3rem}
.svc__ic{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:rgba(18,20,23,.7);border:1px solid rgba(112,224,0,.5);color:var(--lime);margin-bottom:.3rem}
.svc__ic svg{width:20px;height:20px}
.svc h3{font-size:1.08rem;color:#fff}
.svc__line{display:none;font-size:.92rem;color:#dfe4e8;line-height:1.45}
.svc__go{position:absolute;right:.8rem;bottom:1rem;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:var(--lime);transition:transform .2s var(--ease)}
.svc__go svg{width:18px;height:18px}
.svc:hover .svc__go{transform:translateX(3px)}
.svc--big{grid-column:1/-1;min-height:340px}
.svc--big .svc__line{display:block}
@media (min-width:700px){.svc__line{display:block}.svc{min-height:300px}.svc h3{font-size:1.25rem}.svc__body{padding:1.3rem 4rem 1.3rem 1.3rem}}
@media (min-width:1000px){.svcs{grid-template-columns:1.25fr 1fr 1fr;grid-template-rows:300px 300px}.svc--big{grid-column:1;grid-row:1/3;min-height:0}.svc--big h3{font-size:1.6rem}}

/* ---------- five questions ---------- */
.fq-grid{display:grid;gap:2rem}
@media (min-width:1000px){.fq-grid{grid-template-columns:.8fr 1.2fr;gap:4rem;align-items:start}.fq-side{position:sticky;top:110px}}
.fq{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.fq li{display:grid;grid-template-columns:auto 1fr;gap:1rem;padding:1.3rem 1.3rem 1.1rem;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh-1)}
.fq__n{font:700 1.5rem/1 var(--display);color:transparent;-webkit-text-stroke:1.4px var(--leaf);letter-spacing:-.03em;min-width:2.2rem}
.fq h3{margin-bottom:.4rem}
.fq p{margin:0 0 .6rem;color:var(--text-2);font-size:.98rem}
.fq__lms{display:flex;gap:.5rem;align-items:flex-start;padding:.6rem .75rem;border-radius:10px;background:#EEF7E4;color:#22301a!important;margin:0!important}
.fq__lms svg{width:18px;height:18px;flex:none;margin-top:3px;color:var(--leaf)}

/* ---------- compare ---------- */
.compare .sec__head{max-width:820px}
.clegend{display:flex;flex-wrap:wrap;gap:.6rem 1.4rem;margin:0 0 .9rem;font-weight:700;font-size:.92rem}
.clegend>span{display:inline-flex;align-items:center;gap:.5rem}
.clegend .tick,.clegend .crossx{width:22px;height:22px}
@media (min-width:860px){.clegend{display:none}}
.ctable-wrap{border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--ink-line);background:var(--ink-2)}
.ctable{width:100%;border-collapse:collapse}
.ctable thead{display:none}
.ctable tr{display:grid;border-top:1px solid var(--ink-line);padding:1rem 1rem 1.1rem;gap:.55rem}
.ctable tbody tr:first-child{border-top:0}
.ctable th[scope=row]{text-align:left;font:700 1.02rem/1.3 var(--display);color:#fff;letter-spacing:-.01em}
.ctable td{display:grid;grid-template-columns:auto 1fr;gap:.6rem;align-items:start;font-size:.96rem;color:var(--on-ink-2)}
.ctable td::before{display:none}
.ctable td.us{color:#fff}
.ctable td.us::before{color:var(--lime)}
.ctable td a{color:var(--lime);font-weight:700}
.tick,.crossx{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;flex:none}
.tick{background:var(--lime);color:var(--ink)}
.crossx{background:rgba(255,255,255,.08);color:#ff8a7a;border:1px solid rgba(255,138,122,.35)}
.tick svg,.crossx svg{width:15px;height:15px}
@media (min-width:860px){
  .ctable thead{display:table-header-group}.ctable tr{display:table-row;padding:0}
  .ctable th,.ctable td{padding:1.05rem 1.3rem;border-top:1px solid var(--ink-line);vertical-align:middle}
  .ctable thead th{border-top:0;font:700 .82rem var(--body);letter-spacing:.1em;text-transform:uppercase;color:var(--on-ink-3);text-align:left;background:var(--ink-3)}
  .ctable thead th.us{color:#fff;font:700 1.05rem var(--display);letter-spacing:-.01em;text-transform:none;background:linear-gradient(180deg,rgba(112,224,0,.16),rgba(112,224,0,.06))}
  .ctable thead th.us .mark{width:1.5em;vertical-align:-4px;margin-right:.45rem}
  .ctable td{display:table-cell}.ctable td::before{display:none}
  .ctable td>span{display:inline-block;vertical-align:middle}
  .ctable td>span+span{width:calc(100% - 40px);margin-left:.7rem}
  .ctable td.us{background:rgba(112,224,0,.05);border-left:1px solid rgba(112,224,0,.25);border-right:1px solid rgba(112,224,0,.25)}
  .ctable th[scope=row]{width:30%}
  .ctable tbody tr:hover td.us{background:rgba(112,224,0,.09)}
}
.footnote{margin:1.3rem 0 0;max-width:860px;font-size:.9rem;color:var(--on-ink-3);padding-left:1rem;border-left:3px solid var(--amber)}
.footnote b{color:var(--on-ink)}
.footnote a{color:var(--on-ink-2)}

/* ---------- steps ---------- */
.steps{list-style:none;margin:0;padding:0;display:grid;gap:14px;counter-reset:s}
.steps li{position:relative;padding:1.4rem 1.3rem 1.2rem;border-radius:var(--r);background:var(--mist);border:1px solid var(--line)}
.t-mist .steps li{background:var(--paper)}
.step__n{display:inline-grid;place-items:center;width:44px;height:44px;margin-bottom:.9rem;font:700 1.15rem var(--display);color:var(--ink);background:var(--lime);clip-path:polygon(22% 0,100% 0,78% 100%,0 100%)}
.steps h3{margin-bottom:.4rem}
.steps p{margin:0;color:var(--text-2);font-size:.97rem}
@media (min-width:760px){.steps{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1080px){.steps{grid-template-columns:repeat(4,1fr)}.steps--5{grid-template-columns:repeat(5,1fr)}
  .steps li:not(:last-child)::after{content:"";position:absolute;top:2.75rem;right:-14px;width:14px;height:2px;background:var(--lime-2)}}

/* ---------- projects ---------- */
.projs{list-style:none;margin:0;padding:0;display:grid;gap:14px}
@media (min-width:760px){.projs{grid-template-columns:repeat(3,1fr)}}
.proj{display:block;position:relative;border-radius:var(--r-lg);overflow:hidden;background:var(--ink);color:#fff;text-decoration:none;box-shadow:var(--sh-2);height:100%}
.proj img{width:100%;aspect-ratio:3/2;object-fit:cover;transition:transform .5s var(--ease)}
.proj:hover img{transform:scale(1.04)}
.proj__kw{position:absolute;top:14px;left:14px;padding:.4rem .75rem .45rem;background:var(--ink);border-radius:10px;font:600 .9rem var(--display);color:var(--on-ink-2)}
.proj__kw b{font-size:1.5rem;color:var(--lime);letter-spacing:-.03em}
.proj__body{display:grid;gap:.35rem;padding:1.1rem 1.2rem 1.3rem}
.proj__loc{display:flex;align-items:center;gap:.35rem;color:var(--on-ink-2);font-size:.92rem}
.proj__loc svg{width:16px;height:16px;color:var(--lime)}
.proj__eq{font-size:.86rem;color:var(--on-ink-3)}

/* ---------- reviews ---------- */
.rev-grid{display:grid;gap:14px}
.scores{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-content:start}
.score{display:grid;gap:.15rem;padding:1.2rem;border-radius:var(--r-lg);background:var(--ink);color:#fff;text-decoration:none;box-shadow:var(--sh-2)}
.score__k{display:flex;align-items:center;gap:.4rem;font-weight:700;font-size:.85rem;color:var(--on-ink-2)}
.score__k svg{width:18px;height:18px;background:#fff;border-radius:50%;padding:2px}
.score b{font:700 2.7rem/1.05 var(--display);letter-spacing:-.04em}
.score>span:nth-of-type(3){color:var(--on-ink-2);font-size:.92rem}
.score__go{display:flex;align-items:center;gap:.35rem;margin-top:.5rem;color:var(--lime);font-weight:700;font-size:.88rem}
.score__go svg{width:15px;height:15px}
.score:hover{transform:translateY(-2px)}
.score{transition:transform .2s var(--ease)}
.reviews{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.review{margin:0;height:100%;padding:1.3rem 1.3rem 1.1rem;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh-1);display:flex;flex-direction:column}
.t-white .review{background:var(--mist)}
.review blockquote{margin:.6rem 0 .9rem;font-size:1rem;line-height:1.6;color:#262b30}
.review blockquote p{margin:0 0 .6em}
.review figcaption{margin-top:auto;font-size:.84rem;font-weight:700;color:var(--text-2);display:flex;gap:.5rem;align-items:center}
.review figcaption::before{content:"";width:12px;height:4px;background:var(--leaf);transform:skewX(var(--slant))}
@media (min-width:760px){.reviews{grid-template-columns:1fr 1fr}}
@media (min-width:1080px){.rev-grid{grid-template-columns:300px 1fr;gap:18px}.scores{grid-template-columns:1fr;position:sticky;top:100px}
  .reviews--masonry{display:block;columns:2;column-gap:12px}.reviews--masonry li{break-inside:avoid;margin-bottom:12px}}

/* ---------- risk + quote ---------- */
.quote-grid{display:grid;gap:2.4rem}
@media (min-width:1000px){.quote-grid{grid-template-columns:1fr 480px;gap:4rem;align-items:start}}
.quote-grid h2{margin-bottom:.8rem}
.nexts{margin:1.6rem 0}
.nexts h3{font-size:.84rem;font-family:var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--leaf);margin-bottom:.8rem}
.nexts ol{list-style:none;margin:0;padding:0;display:grid;gap:.1rem;counter-reset:n}
.nexts li{counter-increment:n;display:grid;grid-template-columns:2rem 1fr;column-gap:.6rem;padding:.6rem 0;border-top:1px solid var(--line)}
.nexts li::before{content:counter(n);grid-row:1/3;font:700 1rem var(--display);color:var(--leaf)}
.nexts b{font-weight:700}
.nexts span{color:var(--text-2);font-size:.95rem}
.risk{margin-top:1.8rem;padding:1.5rem;border-radius:var(--r-lg);background:var(--ink);color:var(--on-ink);position:relative;overflow:hidden}
.risk::after{content:"";position:absolute;right:-30px;top:-30px;width:140px;height:60px;background:var(--lime);transform:skewX(var(--slant));opacity:.12}
.risk__h{display:block;font-size:1.3rem;margin-bottom:1.1rem;color:#fff}
.risk__list{list-style:none;margin:0;padding:0;display:grid;gap:1rem}
.risk__list li{display:grid;grid-template-columns:42px 1fr;gap:.9rem}
.risk__n{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--ink-3);border:1px solid rgba(112,224,0,.4);color:var(--lime)}
.risk__n svg{width:20px;height:20px}
.risk h3{font-size:1rem;color:#fff;margin-bottom:.2rem}
.risk p{margin:0;color:var(--on-ink-2);font-size:.94rem}
.qform{position:relative;padding:1.6rem 1.3rem 1.3rem;border-radius:var(--r-lg);background:var(--paper);border:1px solid var(--line);box-shadow:var(--sh-2)}
.qform::before{content:"";position:absolute;left:24px;right:24px;top:-1px;height:4px;background:var(--lime);border-radius:0 0 4px 4px}
@media (min-width:1000px){.qform{position:sticky;top:96px;padding:2rem 1.8rem 1.6rem}}
.qform__h{font-size:1.55rem}
.qform__sub{color:var(--text-2);margin:.3rem 0 1.2rem}
.field{display:grid;gap:.35rem;margin:0 0 1rem;border:0;padding:0;min-width:0}
.field-row{display:grid;gap:0 .8rem}
@media (min-width:480px){.field-row{grid-template-columns:1fr 1fr}}
.field label,.field legend{font-weight:700;font-size:.92rem;padding:0}
.field label span{font-weight:500;color:var(--text-2)}
.field input,.field textarea{width:100%;min-height:50px;padding:.75rem .9rem;border:1.5px solid #CBD2C6;border-radius:12px;font:500 1rem var(--body);color:var(--text);background:#FBFCFA;transition:border-color .15s,box-shadow .15s}
.field textarea{min-height:92px;resize:vertical}
.field input:focus,.field textarea:focus{outline:0;border-color:var(--leaf);box-shadow:0 0 0 4px rgba(112,224,0,.22)}
.opts{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-top:.35rem}
.opt{position:relative}
.opt input{position:absolute;opacity:0;inset:0}
.opt span{display:flex;align-items:center;justify-content:center;min-height:48px;padding:.4rem;border:1.5px solid #CBD2C6;border-radius:12px;font-weight:700;font-size:.95rem;cursor:pointer;background:#FBFCFA;text-align:center;transition:border-color .15s,background-color .15s}
.opt input:checked+span{border-color:var(--ink);background:var(--ink);color:#fff;box-shadow:inset 0 -3px 0 var(--lime)}
.opt input:focus-visible+span{outline:3px solid var(--leaf);outline-offset:2px}
.qform__demo{margin:.9rem 0 0;font-size:.82rem;color:var(--text-2);text-align:center}
.qform__demo a{color:var(--leaf);font-weight:700}

/* ---------- team strip ---------- */
.tstrip{list-style:none;margin:0;padding:0 0 .6rem;display:grid;grid-auto-flow:column;grid-auto-columns:46%;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin}
.tstrip li{scroll-snap-align:start}
.tstrip img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--r);background:var(--mist)}
.tstrip b{display:block;margin-top:.6rem;font:700 1rem var(--display);letter-spacing:-.01em}
.tstrip span{font-size:.88rem;color:var(--text-2)}
@media (min-width:700px){.tstrip{grid-auto-columns:30%}}
@media (min-width:1080px){.tstrip{grid-auto-flow:row;grid-template-columns:repeat(8,1fr);overflow:visible}}

/* ---------- areas ---------- */
.areas-grid{display:grid;gap:1.5rem}
@media (min-width:1000px){.areas-grid{grid-template-columns:1fr 1fr;gap:4rem;align-items:center}}
.areas{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.area{display:flex;align-items:center;justify-content:space-between;gap:.5rem;min-height:58px;padding:.8rem 1rem;border-radius:12px;background:var(--paper);border:1px solid var(--line);text-decoration:none;font:600 1rem var(--display);letter-spacing:-.01em;box-shadow:var(--sh-1);transition:transform .18s var(--ease),border-color .18s}
.area svg{width:18px;height:18px;color:var(--leaf)}
.area:hover{transform:translateY(-2px);border-color:var(--leaf)}
.area:last-child{grid-column:1/-1}

/* ---------- FAQ ---------- */
.faq-split{display:grid;gap:2rem}
@media (min-width:1000px){.faq-split{grid-template-columns:.8fr 1.2fr;gap:4rem;align-items:start}.faq-split>div:first-child{position:sticky;top:110px}}
.faq{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.15rem 0;font:600 1.06rem/1.35 var(--display);letter-spacing:-.01em;min-height:48px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";flex:none;width:30px;height:30px;border-radius:50%;background:var(--mist) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233A7D0A' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M12 6v12M6 12h12'/%3E%3C/svg%3E") center/16px no-repeat;transition:transform .2s var(--ease)}
.t-mist .faq summary::after{background-color:var(--paper)}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq .ans{padding:0 2.6rem 1.2rem 0;color:var(--text-2)}
.faq .ans p:last-child{margin:0}

/* ---------- inner blocks ---------- */
.feats{list-style:none;margin:0;padding:0;display:grid;gap:12px}
@media (min-width:760px){.feats{grid-template-columns:1fr 1fr}}
.feats li{display:grid;grid-template-columns:34px 1fr;gap:.8rem;padding:1.2rem;border-radius:var(--r);background:var(--paper);border:1px solid var(--line)}
.t-white .feats li{background:var(--mist)}
.li__ic{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--ink);color:var(--lime)}
.li__ic svg{width:17px;height:17px}
.feats h3{margin-bottom:.25rem;font-size:1.05rem}
.feats p{margin:0;color:var(--text-2);font-size:.97rem}
.pkgs{list-style:none;margin:0;padding:0;display:grid;gap:14px}
@media (min-width:900px){.pkgs{grid-template-columns:repeat(3,1fr)}}
.pkg{position:relative;display:flex;flex-direction:column;padding:1.5rem 1.4rem 1.4rem;border-radius:var(--r-lg);background:var(--paper);border:1px solid var(--line);box-shadow:var(--sh-1);overflow:hidden}
.t-white .pkg{background:var(--mist)}
.pkg::before{content:"";position:absolute;right:-18px;top:18px;width:70px;height:12px;background:var(--lime);transform:skewX(var(--slant))}
.pkg__n{font:700 .82rem var(--display);color:var(--leaf);letter-spacing:.06em}
.pkg h3{font-size:1.3rem;margin:.4rem 0 1rem}
.pkg ul{list-style:none;margin:0 0 1.2rem;padding:0;display:grid;gap:.55rem}
.pkg li{display:grid;grid-template-columns:20px 1fr;gap:.5rem;font-size:.97rem;color:#2c3238}
.pkg li svg{width:18px;height:18px;color:var(--leaf);margin-top:3px}
.pkg__p{margin:auto 0 .8rem;padding-top:.9rem;border-top:1px solid var(--line);font:700 1rem var(--display);color:var(--text)}
.chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}
.chip{display:inline-flex;align-items:center;min-height:44px;padding:.4rem 1rem;border-radius:999px;border:1.5px solid var(--line);background:var(--paper);text-decoration:none;font-weight:600;font-size:.94rem;transition:border-color .15s,background-color .15s}
a.chip:hover{border-color:var(--leaf);background:#EEF7E4}
.chip--s{border-style:dashed}
.tex .chip{background:rgba(255,255,255,.05);border-color:var(--ink-line);color:var(--on-ink)}
.counters{list-style:none;margin:0 0 1rem;padding:0;display:grid;gap:12px}
@media (min-width:760px){.counters{grid-template-columns:repeat(3,1fr)}}
.counters li{padding:1.4rem;border-radius:var(--r-lg);background:var(--ink-2);border:1px solid var(--ink-line);color:var(--on-ink)}
.t-white .counters li,.t-mist .counters li{background:var(--ink)}
.counters b{display:block;font:700 clamp(1.8rem,1.3rem + 1.8vw,2.6rem)/1.05 var(--display);letter-spacing:-.04em;color:var(--lime)}
.counters span{display:block;margin-top:.45rem;color:var(--on-ink-2);font-size:.95rem}
.t-white .fine{color:var(--text-2)}

/* related */
.related{display:grid;gap:2rem}
@media (min-width:900px){.related{grid-template-columns:1fr 1fr;gap:3rem}}
.related h3{font-size:.84rem;font-family:var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--leaf);margin-bottom:.8rem}
.rcards{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.rcards--row{gap:12px}
@media (min-width:900px){.rcards--row{grid-template-columns:repeat(3,1fr)}}
.rcard{display:grid;grid-template-columns:1fr auto;align-items:center;gap:.2rem 1rem;min-height:64px;padding:1rem 1.1rem;border-radius:var(--r);background:var(--paper);border:1px solid var(--line);text-decoration:none;transition:border-color .18s,transform .18s var(--ease)}
.rcard span{grid-column:1;font-size:.76rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-2)}
.rcard b{grid-column:1;font:600 1rem/1.3 var(--display)}
.rcard svg{grid-column:2;grid-row:1/3;width:20px;height:20px;color:var(--leaf)}
.rcard:hover{border-color:var(--leaf);transform:translateY(-2px)}

/* CTA band */
.ctaband{padding:clamp(3rem,2rem + 3vw,4.6rem) 0}
.ctaband__in{display:grid;gap:1.6rem;align-items:center}
.ctaband h2{margin-bottom:.6rem}
.ctaband p{color:var(--on-ink-2);margin:0;max-width:56ch}
.ctaband .cta-row{margin-top:0}
@media (min-width:1000px){.ctaband__in{grid-template-columns:1.2fr .8fr;gap:3rem}.ctaband__btns{justify-self:end}}

/* products */
.prod{display:grid;gap:2rem}
@media (min-width:1000px){.prod{grid-template-columns:1fr 360px;gap:3.5rem;align-items:start}.prod__side{position:sticky;top:96px}}
.prod h2{display:flex;align-items:center;font-size:1.5rem;margin:0 0 1rem}
.prod h2:not(:first-child){margin-top:2.4rem}
.ovlist{list-style:none;margin:0 0 1.6rem;padding:0;display:grid;gap:.5rem}
.ovlist li{position:relative;padding-left:1.7rem}
.ovlist li::before{content:"";position:absolute;left:0;top:.6em;width:13px;height:5px;background:var(--leaf);transform:skewX(var(--slant))}
.ovlist .ovk{padding:0;margin-top:.5rem;font:700 .82rem var(--body);letter-spacing:.1em;text-transform:uppercase;color:var(--text-2)}
.ovlist .ovk::before,.ovlist .ovp::before{display:none}
.ovlist .ovp{padding:0;color:#2c3238}
.prose h3{margin:1.4rem 0 .6rem}
.prose ul{padding-left:1.2rem}
.callout{margin:1.6rem 0;padding:1.3rem 1.4rem;border-radius:var(--r);background:var(--mist);border-left:4px solid var(--lime)}
.callout h3{margin-bottom:.5rem}
.callout p{color:#2c3238;font-size:.98rem}
.callout p:last-child{margin:0}
.spec-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r)}
.spec{width:100%;border-collapse:collapse;font-size:.95rem}
.spec th,.spec td{text-align:left;padding:.65rem 1rem;border-top:1px solid var(--line);vertical-align:top}
.spec tr:first-child th,.spec tr:first-child td{border-top:0}
.spec th[scope=row]{font-weight:600;color:var(--text-2);width:44%}
.spec .grp th{background:var(--mist);font:700 .78rem var(--body);letter-spacing:.1em;text-transform:uppercase;color:var(--leaf)}
.sheets{padding-left:1.2rem}
.sheets a{color:var(--leaf);font-weight:700}
.priceq{padding:1.5rem;border-radius:var(--r-lg);background:var(--ink);color:var(--on-ink);box-shadow:var(--sh-2)}
.priceq__k{font:700 1.35rem var(--display);color:#fff;letter-spacing:-.02em}
.priceq p{color:var(--on-ink-2);font-size:.97rem}
.priceq a:not(.btn){color:var(--lime);font-weight:700}
.priceq .btn--line{border-color:rgba(255,255,255,.4);color:#fff}
.priceq .btn--line:hover{background:#fff;color:var(--ink)}
.priceq .cta-row{flex-direction:column}
.pcards{list-style:none;margin:0;padding:0;display:grid;gap:12px}
@media (min-width:640px){.pcards{grid-template-columns:1fr 1fr}}
@media (min-width:1000px){.pcards{grid-template-columns:repeat(3,1fr)}}
.pcard{position:relative;display:flex;flex-direction:column;gap:.35rem;height:100%;padding:1.3rem 1.3rem 1.1rem;border-radius:var(--r-lg);background:var(--paper);border:1px solid var(--line);text-decoration:none;box-shadow:var(--sh-1);transition:transform .18s var(--ease),border-color .18s}
.t-white .pcard{background:var(--mist)}
.pcard:hover{transform:translateY(-3px);border-color:var(--leaf)}
.pcard__ic{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;background:var(--ink);color:var(--lime);margin-bottom:.4rem}
.pcard__ic svg{width:24px;height:24px}
.pcard__b{font-size:.76rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--leaf)}
.pcard b{font:700 1.15rem/1.25 var(--display);letter-spacing:-.015em}
.pcard__l{color:var(--text-2);font-size:.95rem}
.pcard__p{margin-top:auto;padding-top:.8rem;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;font:700 .95rem var(--display)}
.pcard__p span{display:flex;align-items:center;gap:.3rem;font:700 .88rem var(--body);color:var(--leaf)}
.pcard__p svg{width:15px;height:15px}

/* regions, claims, team */
.regions{list-style:none;margin:0;padding:0;display:grid;gap:12px}
@media (min-width:760px){.regions{grid-template-columns:1fr 1fr}}
@media (min-width:1080px){.regions{grid-template-columns:repeat(3,1fr)}}
.region{padding:1.3rem;border-radius:var(--r-lg);background:var(--mist);border:1px solid var(--line);scroll-margin-top:100px}
.region h3{display:flex;align-items:center;gap:.45rem;font-size:1.2rem;margin-bottom:.4rem}
.region h3 svg{width:20px;height:20px;color:var(--leaf)}
.region p{color:var(--text-2);font-size:.96rem}
.region .chip{min-height:40px;font-size:.88rem}
.claims{list-style:none;margin:0;padding:0;display:grid;gap:12px}
@media (min-width:900px){.claims{grid-template-columns:repeat(2,1fr)}}
.claims li{padding:1.3rem;border-radius:var(--r);background:var(--paper);border:1px solid var(--line)}
.claims h3{margin-bottom:.4rem}
.claims p{margin:0;color:var(--text-2);font-size:.96rem}
.claims a{color:var(--leaf);font-weight:700}
.members{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:18px 12px}
@media (min-width:760px){.members{grid-template-columns:repeat(3,1fr)}}
@media (min-width:1080px){.members{grid-template-columns:repeat(4,1fr);gap:28px 18px}}
.member__pic img,.mono{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--r);background:var(--mist)}
.mono{display:grid;place-items:center;background:linear-gradient(160deg,var(--ink-3),var(--ink));position:relative;overflow:hidden}
.mono .mark{position:absolute;width:70%;opacity:.12}
.mono b{font:700 2rem var(--display);color:var(--lime);letter-spacing:-.03em}
.member h3{margin:.8rem 0 .1rem;font-size:1.05rem}
.member__role{font-size:.84rem;font-weight:700;color:var(--leaf);margin:0 0 .4rem}
.member p:last-child{font-size:.9rem;color:var(--text-2);margin:0}
.gal{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media (min-width:900px){.gal{grid-template-columns:repeat(4,1fr)}.gal--2{grid-template-columns:repeat(2,1fr)}}
.gal__f{margin:0}
.gal__f img{width:100%;border-radius:var(--r);object-fit:cover}
.gal__f figcaption{font-size:.82rem;color:var(--text-2);margin-top:.4rem}

/* articles */
.phero--post h1{font-size:clamp(1.9rem,1.2rem + 2.6vw,3rem)}
.post__meta{color:var(--on-ink-3);font-size:.94rem;margin:.8rem 0 0}
.post__grid{display:grid;gap:2rem}
@media (min-width:1080px){.post__grid{grid-template-columns:260px minmax(0,720px);gap:4rem}}
.toc{align-self:start;padding:1.2rem;border-radius:var(--r);background:var(--mist);border:1px solid var(--line)}
@media (min-width:1080px){.toc{position:sticky;top:96px}}
.toc h2{font:700 .8rem var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--leaf);margin-bottom:.6rem}
.toc ol{margin:0 0 1rem;padding-left:1.1rem;font-size:.92rem;display:grid;gap:.35rem}
.toc a{text-decoration:none;color:#2c3238}
.toc a:hover{color:var(--leaf);text-decoration:underline}
.article{font-size:1.07rem;line-height:1.75;color:#262b30;min-width:0}
.article h2{font-size:clamp(1.4rem,1.1rem + 1vw,1.85rem);margin:2.4rem 0 .8rem;scroll-margin-top:96px}
.article h2:first-child{margin-top:0}
.article h3{margin:1.6rem 0 .5rem}
.article ul{padding-left:1.25rem}
.article li{margin:.35rem 0}
.article strong{color:var(--text)}
.post__upd{padding:.8rem 1rem;border-radius:10px;background:#FFF6E6;border-left:4px solid var(--amber);font-size:.95rem}
.sources{margin-top:2.4rem;padding-top:1.4rem;border-top:1px solid var(--line);font-size:.94rem}
.sources h2{font-size:1.3rem;margin-top:0}
.sources li{overflow-wrap:anywhere}
.svc-card{margin-top:2.6rem;padding:1.6rem;border-radius:var(--r-lg);background:var(--ink);color:var(--on-ink)}
.svc-card .eyebrow{color:var(--lime)}
.svc-card .slash i{background:var(--lime)}
.svc-card h2{color:#fff;margin:0 0 .5rem;font-size:1.5rem}
.svc-card p{color:var(--on-ink-2)}
.svc-card .btn--line{border-color:rgba(255,255,255,.4);color:#fff}
.svc-card .btn--line:hover{background:#fff;color:var(--ink)}
.acards{list-style:none;margin:0;padding:0;display:grid;gap:14px}
@media (min-width:760px){.acards{grid-template-columns:1fr 1fr}}
@media (min-width:1080px){.acards{grid-template-columns:repeat(3,1fr)}}
.acard{display:flex;flex-direction:column;height:100%;border-radius:var(--r-lg);overflow:hidden;background:var(--paper);border:1px solid var(--line);text-decoration:none;box-shadow:var(--sh-1);transition:transform .18s var(--ease),border-color .18s}
.acard:hover{transform:translateY(-3px);border-color:var(--leaf)}
.acard img{width:100%;aspect-ratio:3/2;object-fit:cover}
.acard__b{display:grid;gap:.4rem;padding:1.1rem 1.2rem 1.3rem}
.acard__k{font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--leaf)}
.acard b{font:700 1.15rem/1.3 var(--display);letter-spacing:-.015em}
.acard__b>span:last-child{color:var(--text-2);font-size:.94rem}

/* contact */
.opt-cards{display:grid;gap:12px}
@media (min-width:860px){.opt-cards{grid-template-columns:repeat(3,1fr)}}
.opt-card{display:grid;gap:.25rem;padding:1.4rem;border-radius:var(--r-lg);background:var(--mist);border:1px solid var(--line);text-decoration:none;transition:transform .18s var(--ease),border-color .18s}
.opt-card:hover{transform:translateY(-3px);border-color:var(--leaf)}
.opt-card__i{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;background:var(--ink);color:var(--lime);margin-bottom:.5rem}
.opt-card__i svg{width:22px;height:22px}
.opt-card small{font-weight:700;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--leaf)}
.opt-card b{font:700 1.2rem/1.3 var(--display);letter-spacing:-.015em;overflow-wrap:anywhere}
.opt-card span{color:var(--text-2);font-size:.95rem}
.map{margin-top:2rem;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line);background:var(--mist)}
.map iframe{display:block;width:100%;height:340px;border:0}

/* ---------- footer ---------- */
.ftr{padding:4rem 0 7rem;position:relative}
.ftr .sunarc{width:520px;height:200px;right:-120px;top:20px;opacity:.7}
.ftr__cta{position:relative;z-index:1;display:grid;gap:1.2rem;padding-bottom:2.6rem;margin-bottom:2.6rem;border-bottom:1px solid var(--ink-line)}
.ftr__big{font:700 clamp(1.5rem,1.1rem + 1.6vw,2.2rem)/1.15 var(--display);letter-spacing:-.03em;color:#fff;max-width:20ch;margin:0}
.ftr__cta .cta-row{margin:0}
@media (min-width:1000px){.ftr__cta{grid-template-columns:1fr auto;align-items:center}}
.ftr__grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:2rem 1.4rem}
.ftr__brand{grid-column:1/-1}
.ftr__brand img{height:52px;width:auto;margin-bottom:1.1rem}
.ftr address{font-style:normal;color:var(--on-ink-2);line-height:1.8}
.ftr address a,.ftr__lic a{text-decoration:none}
.ftr address a:hover,.ftr__lic a:hover{color:var(--lime)}
.ftr__lic{margin:1rem 0;font-size:.9rem;color:var(--on-ink-3);line-height:1.7}
.ftr__social{display:flex;gap:.5rem}
.ftr__social a{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;border:1px solid var(--ink-line);color:var(--on-ink-2)}
.ftr__social a:hover{color:#fff;border-color:rgba(255,255,255,.35)}
.ftr__social svg{width:19px;height:19px}
.ftr h2{font:700 .76rem var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--lime);margin:0 0 .7rem}
.ftr ul{list-style:none;margin:0;padding:0}
.ftr li a{display:block;padding:.32rem 0;text-decoration:none;color:var(--on-ink-2);font-size:.95rem}
.ftr li a:hover{color:#fff}
@media (min-width:760px){.ftr__grid{grid-template-columns:repeat(3,1fr)}}
@media (min-width:1080px){.ftr__grid{grid-template-columns:1.5fr repeat(5,1fr)}.ftr__brand{grid-column:auto}}
.ftr__legal{position:relative;z-index:1;margin-top:3rem;padding-top:1.6rem;border-top:1px solid var(--ink-line);font-size:.86rem;color:var(--on-ink-3)}
.ftr__legal a{color:var(--on-ink-2)}
.concept{color:var(--on-ink);font-weight:700}
@media (min-width:1080px){.ftr{padding-bottom:3rem}}

/* ---------- sticky mobile bar ---------- */
.sbar{position:fixed;left:0;right:0;bottom:0;z-index:60;display:grid;grid-template-columns:1fr 1.5fr 1fr;gap:6px;padding:8px 8px calc(8px + env(safe-area-inset-bottom));background:rgba(18,20,23,.96);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--ink-line)}
.sbar a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:54px;border-radius:12px;text-decoration:none;color:var(--on-ink);font:700 .8rem var(--body)}
.sbar svg{width:20px;height:20px}
.sbar a:not(.sbar__q){border:1px solid var(--ink-line)}
.sbar__q{background:var(--lime);color:var(--ink)!important;flex-direction:row!important;gap:.5rem!important;font-size:1rem!important}
@media (min-width:1080px){.sbar{display:none}}
body{padding-bottom:0}
@media (max-width:1079px){.ftr{padding-bottom:calc(7rem + env(safe-area-inset-bottom))}}

/* ---------- motion ---------- */
@media (prefers-reduced-motion:no-preference){
  .hero__copy>*{animation:rise .7s var(--ease) both}
  .hero__copy>*:nth-child(2){animation-delay:.06s}.hero__copy>*:nth-child(3){animation-delay:.12s}.hero__copy>*:nth-child(4){animation-delay:.18s}.hero__copy>*:nth-child(5){animation-delay:.24s}.hero__copy>*:nth-child(6){animation-delay:.3s}
  .sunarc__sun{animation:glow 3.2s ease-in-out infinite alternate}
}
@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes glow{from{opacity:.75}to{opacity:1}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

@media print{.hdr,.sbar,.mnav,.ftr__cta,.qform{display:none!important}.tex{background:#fff;color:#000}}
@media (max-width:999px){.prod__side{order:-1}}
