/* ===========================================================
   STANOKPLYUS — производство бетона и ЖБИ, г. Ош, Кыргызстан
   Design language: clean light industrial catalog — white/grey
   surfaces, navy ink, thin borders, orange used sparingly as
   the single accent (buttons, tags, icons). Footer is the one
   dark band (.on-dark), for grounding contrast at the close.
   =========================================================== */

:root{
  --bg:            #ffffff;
  --bg-panel:      #f4f5f7;
  --bg-panel-2:    #eceef1;
  --bg-raised:     #ffffff;
  --line:          rgba(18,21,28,0.10);
  --line-strong:   rgba(18,21,28,0.18);
  --ink:           #12151c;
  --ink-muted:     #565c68;
  --ink-faint:     #6b7180;
  --stone:         #b8bcc4;
  --signal:        #c1440e;
  --signal-fill:   #ff5a1f;
  --signal-ink:    #12151c;
  --signal-dim:    rgba(255,90,31,0.10);
  --paper:         #ffffff;
  --danger:        #c1440e;
  --shadow:        0 20px 45px -22px rgba(18,21,28,0.18);
  --radius-s:      3px;
  --radius-pill:   999px;
  --mono:          'IBM Plex Mono', ui-monospace, 'SF Mono', Menlo, monospace;
  --display:       'Unbounded', 'Arial Black', sans-serif;
  --body:          'Inter', system-ui, -apple-system, sans-serif;
}

/* section-scoped inversion — wrap a <section>, <header> or <footer>
   in .on-dark for the navy grounding band (footer, floating CTA) */
.on-dark{
  --bg:            #12151c;
  --bg-panel:      #1b1f28;
  --bg-panel-2:    #20242e;
  --bg-raised:     #262b36;
  --line:          rgba(255,255,255,0.12);
  --line-strong:   rgba(255,255,255,0.22);
  --ink:           #ffffff;
  --ink-muted:     #aeb3bd;
  --ink-faint:     #949cab;
  --stone:         #4a4f5a;
  --signal:        #ff8a4c;
  --signal-fill:   #ff5a1f;
  --signal-ink:    #12151c;
  --signal-dim:    rgba(255,90,31,0.16);
  --paper:         #12151c;
  background:var(--bg);
  color:var(--ink);
}

/* ---------- reset ---------- */
*,*::before,*::after{ box-sizing:border-box; }
html{ color-scheme:dark; padding-block:env(safe-area-inset-top,0px) env(safe-area-inset-bottom,0px); }
html,body{ margin:0; }
body{
  background:var(--bg);
  color:var(--ink);
  font-family:var(--body);
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
button{ font:inherit; color:inherit; background:none; border:none; cursor:pointer; }
ul{ margin:0; padding:0; list-style:none; }
[hidden]{ display:none !important; }
::selection{ background:var(--signal-fill); color:var(--signal-ink); }

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{ animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important; scroll-behavior:auto !important; }
}

h1,h2,h3,h4{
  font-family:var(--display);
  font-weight:800;
  letter-spacing:-0.01em;
  line-height:1.06;
  text-wrap:balance;
  margin:0;
  color:var(--ink);
}
h1{ font-size:clamp(2.5rem,4vw + 1.4rem,4.6rem); font-weight:800; }
h2{ font-size:clamp(1.9rem,2.2vw + 1.1rem,2.7rem); }
h3{ font-size:clamp(1.05rem,0.6vw + 0.95rem,1.3rem); font-weight:700; }
h4{ font-size:0.95rem; font-weight:700; }
p{ margin:0; color:var(--ink-muted); max-width:62ch; }
.mono{ font-family:var(--mono); }

.eyebrow{
  display:inline-flex; align-items:center; gap:0.6em;
  font-family:var(--body);
  font-weight:700;
  font-size:0.78rem;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--signal);
}
.eyebrow::before{
  content:""; width:1.3em; height:2px; background:var(--signal);
}

/* ---------- layout ---------- */
.wrap{ max-width:1220px; margin-inline:auto; padding-inline:clamp(1.1rem,4vw,2.5rem); }
.section{ padding-block:clamp(3.2rem,6vw,5.5rem); }
.section-head{
  display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between;
  gap:1.5rem 2rem; margin-bottom:clamp(2rem,4vw,3rem);
}
.section-head h2{ margin-top:0.5rem; }
.section-head.center{ flex-direction:column; align-items:center; text-align:center; }
.section-head.center h2{ max-width:22ch; }

/* ---------- buttons ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:0.6em;
  font-family:var(--body); font-weight:700; text-transform:uppercase; letter-spacing:0.04em;
  font-size:0.85rem;
  padding:1em 1.8em;
  border:1.5px solid var(--ink);
  border-radius:var(--radius-pill);
  transition:transform 0.15s ease, background 0.15s ease, border-color 0.15s ease, color .15s ease;
  white-space:nowrap;
}
.btn:hover{ transform:translateY(-2px); }
.btn:focus-visible{ outline:2px solid var(--signal); outline-offset:2px; }
.btn-primary{ background:var(--signal-fill); border-color:var(--signal-fill); color:var(--signal-ink); }
.btn-primary:hover{ background:color-mix(in srgb, var(--signal-fill) 85%, white 15%); }
.btn-ghost{ background:transparent; color:var(--ink); border-color:var(--ink); }
.btn-ghost:hover{ background:var(--ink); color:var(--bg); }
.btn-block{ width:100%; }
.btn svg{ width:1.1em; height:1.1em; flex:none; }
.btn-sm{ padding:0.7em 1.3em; font-size:0.72rem; }

/* ---------- header ---------- */
.site-header{
  position:sticky; top:env(safe-area-inset-top,0px); z-index:40;
  background:var(--bg);
  border-bottom:1px solid var(--line);
}
.header-inner{
  display:flex; align-items:center; justify-content:space-between; gap:1.5rem;
  padding-block:1.1rem;
}
.logo{
  display:inline-flex; align-items:center; gap:0.6rem;
  font-family:var(--display); font-weight:800; font-size:1.15rem; letter-spacing:-0.01em;
  color:var(--ink);
  flex:none;
}
.logo span{ color:var(--signal); }
.logo-mark{ width:30px; height:30px; flex:none; }
.nav{ display:flex; align-items:center; gap:clamp(1rem,2vw,2.1rem); }
.nav-link{
  font-family:var(--body); font-size:0.84rem; font-weight:600; letter-spacing:0.03em;
  color:var(--ink-muted); position:relative; padding-block:0.3rem;
}
.nav-link::after{
  content:""; position:absolute; left:0; right:0; bottom:-2px; height:2px; background:var(--signal);
  transform:scaleX(0); transform-origin:left; transition:transform 0.2s ease;
}
.nav-link:hover,.nav-link.is-active{ color:var(--ink); }
.nav-link:hover::after,.nav-link.is-active::after{ transform:scaleX(1); }
.header-cta{ display:flex; align-items:center; gap:1.1rem; }
.phone-link{ font-family:var(--mono); font-size:0.86rem; color:var(--ink-muted); }
.phone-link:hover{ color:var(--ink); }
.btn-whatsapp{
  display:inline-flex; align-items:center; gap:0.5em;
  background:var(--signal-fill); color:var(--signal-ink);
  font-family:var(--body); font-weight:700; font-size:0.78rem; text-transform:uppercase; letter-spacing:0.04em;
  padding:0.7em 1.2em; border-radius:var(--radius-pill);
}
.btn-whatsapp:hover{ background:color-mix(in srgb, var(--signal-fill) 85%, white 15%); }
.btn-whatsapp svg{ width:1.05em; height:1.05em; }
.menu-toggle{ display:none; flex:none; width:44px; height:44px; position:relative; margin-right:-4px; }
.menu-toggle span,.menu-toggle span::before,.menu-toggle span::after{
  content:""; position:absolute; left:8px; right:8px; height:2px; background:var(--ink); transition:transform .2s ease, opacity .2s ease;
}
.menu-toggle span{ top:21px; }
.menu-toggle span::before{ top:-7px; }
.menu-toggle span::after{ top:7px; }
.menu-toggle[aria-expanded="true"] span{ background:transparent; }
.menu-toggle[aria-expanded="true"] span::before{ transform:translateY(7px) rotate(45deg); }
.menu-toggle[aria-expanded="true"] span::after{ transform:translateY(-7px) rotate(-45deg); }

@media (max-width:900px){
  .nav{
    position:fixed; inset:0 0 0 auto; top:var(--hdr-h,64px); width:min(78vw,320px); height:calc(100vh - var(--hdr-h,64px));
    background:var(--bg-panel); border-left:1px solid var(--line);
    flex-direction:column; align-items:flex-start; padding:2rem 1.6rem; gap:1.5rem;
    transform:translateX(100%); transition:transform .25s ease; overflow-y:auto;
  }
  .nav.is-open{ transform:translateX(0); }
  .header-cta .phone-link{ display:none; }
  .menu-toggle{ display:block; }
}

/* ---------- block hero (split copy + accent graphic panel) ---------- */
.block-hero{ background:var(--bg); }
.block-hero-grid{ display:grid; grid-template-columns:1.05fr 0.95fr; min-height:0; }
.block-hero-copy{
  padding:clamp(2.6rem,6vw,5rem) clamp(1.1rem,4vw,3rem);
  display:flex; flex-direction:column; justify-content:center; gap:1.6rem;
}
.block-hero-copy h1{ color:var(--ink); }
.block-hero-copy p{ font-size:1.05rem; max-width:46ch; }
.hero-actions{ display:flex; flex-wrap:wrap; gap:0.9rem; }
.hero-stats{ display:grid; grid-template-columns:repeat(3,auto); gap:1.6rem 2.4rem; margin-top:0.4rem; }
.stat-num{ font-family:var(--display); font-size:1.4rem; font-weight:700; color:var(--ink); }
.stat-label{ font-size:0.74rem; color:var(--ink-faint); letter-spacing:0.02em; margin-top:0.15rem; }

.block-hero-art{
  position:relative; background:var(--bg-panel); border:1px solid var(--line); overflow:hidden;
  display:flex; align-items:center; justify-content:center;
  padding:clamp(2rem,5vw,3.5rem);
  min-height:340px;
}
.block-hero-art svg{ width:100%; max-width:420px; height:auto; }
.hero-tag{
  position:absolute; left:clamp(1rem,3vw,2.2rem); bottom:clamp(1rem,3vw,2.2rem);
  background:var(--bg); color:var(--ink); padding:0.9rem 1.1rem;
  min-width:190px; box-shadow:var(--shadow);
}
.tag-head{ font-family:var(--mono); font-size:0.66rem; letter-spacing:0.06em; color:var(--ink-faint); border-bottom:1px dashed var(--line); padding-bottom:0.5rem; margin-bottom:0.5rem; text-transform:uppercase; }
.tag-row{ display:flex; justify-content:space-between; font-family:var(--mono); font-size:0.76rem; padding-block:0.24rem; border-bottom:1px solid var(--line); }
.tag-row:last-child{ border-bottom:none; }
.tag-row span:first-child{ color:var(--ink-faint); }
.tag-row span:last-child{ color:var(--signal); font-variant-numeric:tabular-nums; }

@media (max-width:900px){
  .block-hero-grid{ grid-template-columns:1fr; }
  .block-hero-art{ min-height:260px; }
}

/* ---------- strip grid: 3-up bold panels with icon + overlay caption ---------- */
.strip-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:2px; background:var(--line); }
.strip-card{
  position:relative; min-height:280px; background:var(--bg-panel);
  padding:1.7rem; display:flex; flex-direction:column; justify-content:flex-end; gap:0.5rem;
  overflow:hidden; transition:background .2s ease;
}
.strip-card:hover{ background:var(--bg-raised); }
.strip-card .strip-icon{
  position:absolute; top:1.4rem; right:1.2rem; width:96px; height:96px; opacity:0.9;
}
.strip-card .strip-icon svg{ width:100%; height:100%; }
.strip-card h3{ color:var(--ink); text-transform:uppercase; letter-spacing:0.01em; font-size:1.15rem; position:relative; z-index:1; }
.strip-card p{ font-size:0.86rem; position:relative; z-index:1; }
.strip-card .card-link{ margin-top:0.3rem; }

@media (max-width:900px){ .strip-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:640px){ .strip-grid{ grid-template-columns:1fr; } }

.card-link{ display:inline-flex; align-items:center; gap:0.4em; font-family:var(--body); font-weight:700; font-size:0.78rem; letter-spacing:0.03em; text-transform:uppercase; color:var(--signal); }
.card-link svg{ width:1em; height:1em; transition:transform .15s ease; }
.strip-card:hover .card-link svg, .product-card:hover .card-link svg{ transform:translateX(3px); }

/* ---------- facility / feature grid (white section, icon + text) ---------- */
.facility-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(1.6rem,3vw,2.6rem); }
.facility-item{ text-align:center; display:flex; flex-direction:column; align-items:center; gap:0.8rem; }
.facility-icon{ width:52px; height:52px; color:var(--signal); }
.facility-icon svg{ width:100%; height:100%; }
.facility-item h3{ text-transform:none; font-size:1rem; }
.facility-item p{ font-size:0.86rem; }

@media (max-width:900px){ .facility-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:520px){ .facility-grid{ grid-template-columns:1fr; } }

/* ---------- split-two: 2-up big graphic panels ---------- */
.split-two{ display:grid; grid-template-columns:1fr 1fr; gap:2px; background:var(--line); }
.split-panel{
  position:relative; min-height:320px; padding:2rem; display:flex; flex-direction:column; justify-content:flex-end; gap:0.9rem;
  overflow:hidden; background:var(--bg-panel);
}
.split-panel .split-icon{ position:absolute; top:50%; right:6%; width:46%; max-width:220px; transform:translateY(-50%); opacity:0.95; }
.split-panel .split-icon svg{ width:100%; height:auto; }
.split-panel h3{ font-size:clamp(1.3rem,1.6vw + 1rem,1.8rem); text-transform:uppercase; position:relative; z-index:1; max-width:12ch; }
.pill-btn{
  display:inline-flex; align-self:flex-start; align-items:center; gap:0.4em;
  background:var(--signal-fill); color:var(--signal-ink); font-weight:700; font-size:0.72rem; text-transform:uppercase; letter-spacing:0.04em;
  padding:0.65em 1.2em; border-radius:var(--radius-pill); position:relative; z-index:1;
}
@media (max-width:760px){
  .split-two{ grid-template-columns:1fr; }
  .split-panel .split-icon{ width:38%; }
}

/* ---------- process ---------- */
.process{ display:grid; grid-template-columns:repeat(4,1fr); gap:0; }
.process-step{ position:relative; padding:1.6rem 1.4rem 1.6rem 0; border-top:2px solid var(--line-strong); }
.process-step .step-idx{ font-family:var(--mono); color:var(--signal); font-size:0.8rem; display:block; margin-bottom:0.9rem; margin-top:-1px; }
.process-step h3{ font-size:1.02rem; text-transform:none; margin-bottom:0.5rem; }
.process-step p{ font-size:0.88rem; }
@media (max-width:900px){ .process{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:640px){ .process{ grid-template-columns:1fr; } }

/* ---------- product cards (used in catalog sub-lists) ---------- */
.grid-products{ display:grid; grid-template-columns:repeat(3,1fr); gap:2px; background:var(--line); }
.product-card{
  background:var(--bg-panel); border:none; padding:1.7rem;
  display:flex; flex-direction:column; gap:1rem; transition:background .2s ease;
}
.product-card:hover{ background:var(--bg-raised); }
.product-card .eyebrow{ font-size:0.7rem; }
.product-card h3{ text-transform:none; }
.product-tags{ display:flex; flex-wrap:wrap; gap:0.5rem; margin-top:auto; }
.tag{ font-family:var(--mono); font-size:0.68rem; letter-spacing:0.03em; border:1px solid var(--line-strong); color:var(--ink-muted); padding:0.3em 0.6em; }
@media (max-width:900px){ .grid-products{ grid-template-columns:1fr 1fr; } }
@media (max-width:640px){ .grid-products{ grid-template-columns:1fr; } }

/* ---------- spec tables ---------- */
.table-wrap{ overflow-x:auto; border:1px solid var(--line); }
table.spec{ width:100%; border-collapse:collapse; min-width:640px; font-size:0.92rem; }
table.spec caption{ text-align:left; padding:0.9rem 1.1rem; font-family:var(--mono); font-size:0.72rem; letter-spacing:0.08em; text-transform:uppercase; color:var(--ink-faint); background:var(--bg-panel-2); }
table.spec th,table.spec td{ padding:0.85rem 1.1rem; text-align:left; border-bottom:1px solid var(--line); }
table.spec thead th{ font-family:var(--body); font-size:0.72rem; letter-spacing:0.06em; text-transform:uppercase; color:var(--ink-faint); background:var(--bg-panel-2); font-weight:700; }
table.spec tbody tr{ background:var(--bg-panel); transition:background .15s ease; }
table.spec tbody tr:hover{ background:var(--bg-raised); }
table.spec td.mark{ font-family:var(--mono); color:var(--signal); font-weight:600; }
table.spec td.num{ font-family:var(--mono); font-variant-numeric:tabular-nums; }
table.spec .row-cta{ white-space:nowrap; }
table.spec .row-cta a{ font-family:var(--body); font-weight:600; font-size:0.78rem; color:var(--ink-muted); }
table.spec .row-cta a:hover{ color:var(--signal); }

/* ---------- CTA band ---------- */
.cta-band{ position:relative; background:var(--bg); }
.cta-band-grid{ display:grid; grid-template-columns:1.1fr 0.9fr; align-items:center; }
.cta-band-copy{ padding:clamp(2.4rem,5vw,3.6rem) clamp(1.1rem,4vw,3rem); }
.cta-band-copy h2{ max-width:16ch; }
.cta-actions{ display:flex; gap:0.9rem; flex-wrap:wrap; margin-top:1.4rem; }
.cta-band-art{ background:var(--bg-panel-2); min-height:220px; display:flex; align-items:center; justify-content:center; padding:2rem; }
.cta-band-art svg{ width:100%; max-width:280px; height:auto; color:var(--signal); }
@media (max-width:820px){ .cta-band-grid{ grid-template-columns:1fr; } .cta-band-art{ min-height:180px; } }

/* simple centered CTA (used on inner pages) */
.cta-simple{ background:var(--bg-panel); text-align:center; padding-block:clamp(2.6rem,5vw,3.6rem); }
.cta-simple h2{ max-width:24ch; margin-inline:auto; }
.cta-simple .cta-actions{ justify-content:center; }

/* ---------- footer ---------- */
.site-footer{ background:var(--bg); border-top:1px solid var(--line); padding-block:clamp(2.6rem,5vw,3.6rem) 1.6rem; }
.footer-grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:2.2rem; }
.footer-brand p{ font-size:0.88rem; margin-top:0.9rem; }
.footer-col h4{ color:var(--ink-faint); margin-bottom:1rem; text-transform:uppercase; font-size:0.78rem; letter-spacing:0.05em; }
.footer-col{ display:flex; flex-direction:column; gap:0.55rem; font-size:0.9rem; }
.footer-col a:hover{ color:var(--signal); }
.footer-col span{ color:var(--ink-muted); }
.footer-bottom{
  margin-top:2.6rem; padding-top:1.4rem; border-top:1px solid var(--line);
  display:flex; justify-content:space-between; flex-wrap:wrap; gap:0.8rem;
  font-family:var(--mono); font-size:0.72rem; color:var(--ink-faint);
}
@media (max-width:900px){ .footer-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:640px){ .footer-grid{ grid-template-columns:1fr; gap:1.8rem; } }

/* ---------- floating whatsapp ---------- */
.whatsapp-float{
  position:fixed; right:clamp(1rem,3vw,1.8rem); bottom:calc(clamp(1rem,3vw,1.8rem) + env(safe-area-inset-bottom,0px));
  z-index:50; width:56px; height:56px; border-radius:50%;
  background:var(--signal-fill); color:#12151c;
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 10px 30px -8px rgba(18,21,28,0.35);
  animation:pulse-ring 2.6s ease-out infinite;
}
.whatsapp-float svg{ width:28px; height:28px; }
.whatsapp-float:hover{ transform:scale(1.06); }
@keyframes pulse-ring{
  0%{ box-shadow:0 10px 30px -8px rgba(0,0,0,0.6), 0 0 0 0 rgba(255,90,31,0.45); }
  70%{ box-shadow:0 10px 30px -8px rgba(0,0,0,0.6), 0 0 0 16px rgba(255,90,31,0); }
  100%{ box-shadow:0 10px 30px -8px rgba(0,0,0,0.6), 0 0 0 0 rgba(255,90,31,0); }
}

/* ---------- reveal-on-scroll (resting state is always fully visible) ---------- */
.in-view[data-anim="up"]{ animation:rise-in .7s cubic-bezier(.19,1,.22,1) both; }
@keyframes rise-in{ from{ opacity:0; transform:translateY(16px); } to{ opacity:1; transform:none; } }

/* ---------- forms ---------- */
.field{ display:flex; flex-direction:column; gap:0.45rem; }
.field label{ font-family:var(--body); font-weight:600; font-size:0.74rem; letter-spacing:0.03em; text-transform:uppercase; color:var(--ink-faint); }
.field input,.field select,.field textarea{
  background:var(--bg-panel-2); border:1.5px solid var(--line-strong); color:var(--ink);
  padding:0.8em 0.9em; font-family:var(--body); font-size:1rem; border-radius:var(--radius-s);
}
.field input:focus,.field select:focus,.field textarea:focus{ outline:2px solid var(--signal); outline-offset:1px; border-color:var(--signal); }
.field textarea{ resize:vertical; min-height:90px; }
.form-grid{ display:grid; grid-template-columns:1fr 1fr; gap:1.1rem; }
.form-note{ font-size:0.8rem; color:var(--ink-faint); }
.form-panel{ background:var(--bg-panel); padding:clamp(1.6rem,2.5vw,2.2rem); border:1px solid var(--line); }

/* ---------- calculator ---------- */
.calc{ display:grid; grid-template-columns:1fr 1fr; gap:2px; background:var(--line); }
.calc-form{ background:var(--bg-panel); padding:clamp(1.6rem,2.5vw,2.4rem); display:flex; flex-direction:column; gap:1.2rem; }
.calc-result{ background:var(--signal-fill); color:var(--signal-ink); padding:clamp(1.6rem,2.5vw,2.4rem); display:flex; flex-direction:column; justify-content:center; gap:1.1rem; }
.calc-result .figure{ font-family:var(--display); font-size:2.6rem; font-weight:800; line-height:1; }
.calc-result .figure small{ font-size:1rem; font-weight:600; margin-left:0.4rem; }
.calc-line{ display:flex; justify-content:space-between; font-family:var(--mono); font-size:0.84rem; padding-block:0.5rem; border-top:1px solid rgba(18,21,28,0.22); }
.calc-result .btn-primary{ background:var(--signal-ink); color:#ffffff; border-color:var(--signal-ink); }
.calc-result .btn-primary:hover{ background:#000; }
@media (max-width:640px){ .calc{ grid-template-columns:1fr; } .form-grid{ grid-template-columns:1fr; } }

/* ---------- misc pages ---------- */
.page-hero .wrap{ padding-block:clamp(2.4rem,5vw,3.6rem) clamp(2rem,4vw,3rem); }
.page-hero .eyebrow{ margin-bottom:1rem; }
.page-hero p{ margin-top:1rem; font-size:1.02rem; }
.breadcrumb{ font-family:var(--mono); font-size:0.75rem; color:var(--ink-faint); display:flex; gap:0.5rem; align-items:center; margin-bottom:1.2rem; }
.breadcrumb a:hover{ color:var(--signal); }

.two-col{ display:grid; grid-template-columns:1.1fr 0.9fr; gap:clamp(2rem,4vw,3.5rem); align-items:start; }
@media (max-width:900px){ .two-col{ grid-template-columns:1fr; } }

.stat-strip{ display:grid; grid-template-columns:repeat(4,1fr); border:1px solid var(--line); }
.stat-strip .cell{ padding:1.4rem 1.2rem; border-left:1px solid var(--line); }
.stat-strip .cell:first-child{ border-left:none; }
.stat-strip .figure{ font-family:var(--display); font-weight:700; font-size:1.5rem; color:var(--signal); }
.stat-strip .cap{ font-size:0.78rem; color:var(--ink-faint); margin-top:0.3rem; }
@media (max-width:900px){
  .stat-strip{ grid-template-columns:repeat(2,1fr); }
  .stat-strip .cell:nth-child(2){ border-left:1px solid var(--line); }
  .stat-strip .cell:nth-child(3){ border-left:none; border-top:1px solid var(--line); }
}
@media (max-width:520px){
  .stat-strip{ grid-template-columns:1fr; }
  .stat-strip .cell{ border-left:none !important; border-top:1px solid var(--line); }
  .stat-strip .cell:first-child{ border-top:none; }
}

.zone-list{ display:flex; flex-wrap:wrap; gap:0.6rem; }
.zone-list .tag{ font-size:0.76rem; }

.value-list{ display:flex; flex-direction:column; gap:0; }
.value-item{ display:grid; grid-template-columns:auto 1fr; gap:1.3rem; padding-block:1.4rem; border-top:1px solid var(--line); }
.value-item:first-child{ border-top:none; }
.value-item .vi-num{ font-family:var(--mono); color:var(--signal); font-size:0.95rem; padding-top:0.15rem; }
.value-item h3{ text-transform:none; margin-bottom:0.4rem; font-size:1.05rem; }
.value-item p{ font-size:0.92rem; }

.equip-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:2px; background:var(--line); }
.equip-item{ background:var(--bg-panel); padding:1.5rem 1.6rem; display:flex; justify-content:space-between; gap:1rem; align-items:baseline; }
.equip-item h4{ font-size:0.98rem; color:var(--ink); font-weight:600; }
.equip-item .figure{ font-family:var(--mono); color:var(--ink-faint); font-size:0.85rem; white-space:nowrap; }
@media (max-width:640px){ .equip-grid{ grid-template-columns:1fr; } }

.map-panel{ position:relative; background:var(--bg-panel); border:1px solid var(--line); padding:1.6rem; }
.map-panel svg{ width:100%; height:auto; }

.faq-item{ border-top:1px solid var(--line); padding-block:1.3rem; }
.faq-item:last-child{ border-bottom:1px solid var(--line); }
.faq-item summary{ cursor:pointer; font-family:var(--display); font-weight:700; font-size:1rem; color:var(--ink); display:flex; justify-content:space-between; align-items:center; gap:1rem; list-style:none; }
.faq-item summary::-webkit-details-marker{ display:none; }
.faq-item summary::after{ content:"+"; font-family:var(--mono); font-size:1.3rem; color:var(--signal); flex:none; }
.faq-item[open] summary::after{ content:"–"; }
.faq-item p{ margin-top:0.8rem; font-size:0.92rem; }

/* ---------- responsive ---------- */
@media (max-width:640px){
  .hero-stats{ grid-template-columns:repeat(2,1fr); gap:1.1rem 1.2rem; }
  .cta-actions{ flex-direction:column; align-items:stretch; }
}
@media (max-width:420px){
  .hero-stats{ grid-template-columns:1fr; gap:0.9rem; }
}
