/* ===========================================================
   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:            #0a0d12;
  --bg-panel:      #121920;
  --bg-panel-2:    #1a2430;
  --bg-raised:     #1d2a36;
  --line:          rgba(255,255,255,0.08);
  --line-strong:   rgba(255,255,255,0.13);
  --ink:           #f5f7fb;
  --ink-muted:     #d0d8e3;
  --ink-faint:     #9da9b6;
  --stone:         #728196;
  --signal:        #ffb25a;
  --signal-fill:   #f9a826;
  --signal-ink:    #151515;
  --signal-dim:    rgba(249,168,38,0.14);
  --signal-soft:   rgba(255,178,90,0.12);
  --paper:         #0a0d12;
  --danger:        #f59e0b;
  --shadow:        0 32px 70px -32px rgba(0,0,0,0.76);
  --radius-s:      8px;
  --radius-pill:   999px;
  --header-bg:     #0b1117;
  --footer-bg:     #0b1117;
  --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); overflow-x:clip; }
html,body{ margin:0; }
body{
  background:
    radial-gradient(circle at top left, rgba(249,168,38,0.10), transparent 20%),
    radial-gradient(circle at bottom right, rgba(255,178,90,0.06), transparent 24%),
    linear-gradient(180deg, #090d12 0%, #0e141b 100%);
  color:var(--ink);
  font-family:var(--body);
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:clip;
  width:100%;
}
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, box-shadow .2s ease;
  white-space:nowrap;
}
.btn:hover{ transform:translateY(-2px); }
.btn:focus-visible{ outline:2px solid var(--signal); outline-offset:2px; }
.btn-primary{ background:linear-gradient(135deg, #f9c86a 0%, #f7a824 35%, #d18a18 100%); border-color:transparent; color:#171717; box-shadow:0 24px 44px -20px rgba(249,168,38,0.8); }
.btn-primary:hover{ background:linear-gradient(135deg, #ffd58c 0%, #f9a826 35%, #d88913 100%); }
.btn-ghost{ background:transparent; color:var(--ink); border-color:rgba(255,255,255,0.16); }
.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:linear-gradient(180deg, rgba(11,17,23,0.98), rgba(15,22,29,0.94));
  backdrop-filter:blur(14px) saturate(1.5);
  border-bottom:1px solid rgba(255,255,255,0.08);
  box-shadow:0 14px 36px -28px rgba(0,0,0,0.55);
}
.header-inner{
  display:flex; align-items:center; justify-content:space-between; gap:1.5rem;
  padding-block:0.95rem;
}
.site-header .logo,
.site-header .phone-link,
.site-header .nav-link,
.site-header .btn-whatsapp {
  color:var(--ink);
}
.site-header .logo span { color:var(--signal); }
.site-header .nav-link{
  color:rgba(245,247,251,0.76);
  font-weight:600;
}
.site-header .nav-link:hover,
.site-header .nav-link.is-active{ color:var(--ink); }
.site-header .phone-link{ color:rgba(245,247,251,0.9); }
.site-header .phone-link:hover{ color:var(--signal); }
.site-header .btn-whatsapp{ color:#171717; }
.site-header .btn-whatsapp:hover{ color:#171717; }
.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{
    display:none;
  }
  .nav.is-open{
    position:fixed; inset:0 0 0 auto; top:var(--hdr-h,64px); width:min(82vw,340px); height:calc(100vh - var(--hdr-h,64px));
    display:flex; background:linear-gradient(180deg, rgba(12,17,21,0.98), rgba(18,25,32,0.98)); border-left:1px solid rgba(255,255,255,0.06);
    flex-direction:column; align-items:flex-start; padding:2rem 1.4rem 2.2rem; gap:1.2rem;
    transform:translateX(0); transition:transform .25s ease; overflow-y:auto; box-shadow:-20px 0 40px rgba(0,0,0,0.28); z-index:50;
  }
  .nav-link{
    width:100%; padding:0.8rem 0.6rem; border-radius:10px; font-size:0.8rem; letter-spacing:0.12em; text-transform:uppercase; color:rgba(245,247,251,0.72);
    border:1px solid transparent; transition:background .2s ease, color .2s ease, border-color .2s ease;
  }
  .nav-link:hover,.nav-link.is-active{ color:#fff; background:rgba(255,178,90,0.08); border-color:rgba(255,178,90,0.12); }
  .nav-link::after{ display:none; }
  .header-cta .phone-link{ display:none; }
  .menu-toggle{ display:block; width:46px; height:46px; border-radius:50%; background:rgba(255,255,255,0.04); border:1px solid rgba(255,255,255,0.08); }
  .menu-toggle span,.menu-toggle span::before,.menu-toggle span::after{ background:#f5f7fb; }
}

/* ---------- 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:linear-gradient(160deg, rgba(24,33,42,0.98), rgba(19,27,35,0.92));
  border:1px solid rgba(255,255,255,0.06); box-shadow:0 16px 36px -30px rgba(0,0,0,0.65);
  padding:1.7rem; display:flex; flex-direction:column; justify-content:flex-end; gap:0.5rem;
  overflow:hidden; transition:transform .3s ease, box-shadow .3s ease, border-color .2s ease, background .2s ease;
}
.strip-card:hover{ background:linear-gradient(160deg, rgba(29,39,50,0.98), rgba(21,29,37,0.96)); border-color:rgba(247,178,103,0.28); box-shadow:0 28px 52px -34px rgba(0,0,0,0.7); transform:translateY(-4px); }
.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.2rem,2.5vw,2rem); }
.facility-item{ text-align:center; display:flex; flex-direction:column; align-items:center; gap:0.8rem; background:linear-gradient(180deg, rgba(22,29,36,0.9), rgba(16,22,28,0.98)); border:1px solid rgba(255,255,255,0.06); border-radius:18px; padding:1.5rem 1rem; box-shadow:0 20px 38px -30px rgba(0,0,0,0.7); }
.facility-icon{ width:58px; height:58px; color:var(--signal); background:linear-gradient(135deg, rgba(247,178,103,0.14), rgba(255,255,255,0.04)); border-radius:16px; padding:0.7rem; box-shadow:inset 0 1px 0 rgba(255,255,255,0.08); }
.facility-icon svg{ width:100%; height:100%; }
.facility-item h3{ text-transform:none; font-size:1rem; }
.facility-item p{ font-size:0.86rem; color:var(--ink-muted); }

@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:linear-gradient(145deg, #171f29, #0f171f);
  border:1px solid rgba(255,255,255,0.06);
}
.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:linear-gradient(135deg, #f7b267, #f5a623); color:#111827; 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; box-shadow:0 20px 34px -22px rgba(247,178,103,0.8);
}
@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-photo{
  position:relative; height:220px; border-radius:12px; overflow:hidden;
  border:1px solid rgba(255,255,255,0.08); background:
    linear-gradient(135deg, rgba(255,178,90,0.12), rgba(16,24,33,0.9)),
    radial-gradient(circle at top left, rgba(255,255,255,0.10), transparent 38%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.08);
  display:flex; align-items:center; justify-content:center;
}
.product-photo img{
  position:absolute; inset:0; width:100%; height:100%; object-fit:contain; object-position:center; display:block;
  background:rgba(255,255,255,0.02);
  padding:0.35rem; box-sizing:border-box;
}
.product-photo img + .img-placeholder{ display:none; }
.img-placeholder{
  position:absolute; left:1rem; bottom:1rem; z-index:2;
  font-family:var(--mono); font-size:0.7rem; letter-spacing:0.14em; text-transform:uppercase;
  color:rgba(245,247,251,0.7); border:1px solid rgba(255,255,255,0.12); border-radius:999px;
  padding:0.4rem 0.7rem; background:rgba(11,17,23,0.35);
}
.product-photo::after{
  content: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; }
.equip-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0.75rem; background:transparent; }
.equip-item{ display:flex; flex-direction:column; gap:0.9rem; height:100%; background:var(--bg-panel); border:1px solid var(--line); border-radius:5px; padding:1rem; }
.equip-item h4{ margin:0; }
.equip-item .figure{ margin-top:auto; }
.thumb-placeholder{
  height:118px; width:100%; border:none; border-radius:0; background:transparent;
  position:relative; overflow:hidden; display:flex; align-items:center; justify-content:center;
}
.thumb-placeholder::before,
.thumb-placeholder::after{
  content:none;
}
.thumb-placeholder img{ position:absolute; inset:0; width:100%; height:100%; object-fit:contain; object-position:center; display:block; }
.thumb-placeholder img[src=""]{ display:none; }
.equip-item .thumb-placeholder{ transition:none; }
.equip-item:hover .thumb-placeholder{ transform:none; border-color:transparent; }
@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); }
@media (max-width:640px){
  .table-wrap{ overflow-x:hidden; }
  table.spec{ min-width:0; width:100%; table-layout:fixed; }
  table.spec th,table.spec td{ padding-inline:.6rem; }
}

/* ---------- 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:linear-gradient(180deg, #0b1117 0%, #0d141b 100%); border-top:1px solid rgba(255,255,255,0.06); 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; color:rgba(245,247,251,0.74); }
.footer-col h4{ color:var(--signal); 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,
.footer-col span,
.footer-col a:visited{ color:rgba(245,247,251,0.8); }
.footer-col a:hover{ color:var(--signal); }
.footer-bottom{
  margin-top:2.6rem; padding-top:1.4rem; border-top:1px solid rgba(255,255,255,0.08);
  display:flex; justify-content:space-between; flex-wrap:wrap; gap:0.8rem;
  font-family:var(--mono); font-size:0.72rem; color:rgba(245,247,251,0.72);
}
.site-footer .logo{ color:var(--ink); }
.site-footer .logo span{ color:var(--signal); }
@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; color:var(--signal); }
.page-hero p{ margin-top:1rem; font-size:1.02rem; color:var(--ink-muted); }
.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{ color:rgba(245,247,251,0.8); }
.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){
  .header-inner{ gap:.5rem; padding-inline:.7rem; }
  .logo{ font-size:1.02rem; letter-spacing:-.03em; }
  .logo-mark{ width:22px; height:22px; }
  .header-cta{ gap:.45rem; }
  .btn-whatsapp{ padding:.72em .75em; font-size:.58rem; }
  .menu-toggle{ margin-right:0; }
  .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; }
}

/* ---------- immersive production journey ---------- */
.production-story{ position:relative; padding:clamp(4.5rem,9vw,8rem) clamp(1.1rem,6vw,6rem) 5rem; overflow:clip; }
.production-story::before{ content:""; position:absolute; width:44rem; height:44rem; border-radius:50%; right:-14rem; top:-22rem; background:radial-gradient(circle,rgba(255,90,31,.14),transparent 68%); pointer-events:none; }
.production-intro{ position:relative; z-index:1; max-width:850px; margin:0 auto 4.5rem; }
.production-intro h2{ font-size:clamp(2.6rem,6.4vw,6rem); letter-spacing:-.055em; margin:1.1rem 0 1.3rem; }
.production-intro h2 em{ color:var(--signal); font-style:normal; }
.production-intro p{ max-width:44ch; font-size:1.05rem; }
.story-scroll{ display:flex; gap:.75rem; align-items:center; margin-top:2.5rem; font:500 .65rem var(--mono); letter-spacing:.12em; color:var(--ink-faint); }
.story-scroll span{ width:28px; height:1px; background:var(--signal); }
.production-journey{ position:relative; display:grid; grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr); gap:clamp(2rem,6vw,6rem); max-width:1280px; margin:auto; align-items:start; }
.production-visual{ position:sticky; top:calc(var(--hdr-h,72px) + 4vh); height:min(68vh,680px); min-height:480px; display:flex; align-items:center; justify-content:center; perspective:1100px; border:1px solid var(--line); background:linear-gradient(145deg,rgba(255,255,255,.035),transparent 55%),var(--bg-panel); overflow:hidden; isolation:isolate; }
.production-visual::before{ content:""; position:absolute; inset:0; opacity:.22; background:linear-gradient(90deg,transparent 49.8%,var(--line) 50%,transparent 50.2%),linear-gradient(transparent 49.8%,var(--line) 50%,transparent 50.2%); background-size:64px 64px; mask-image:radial-gradient(ellipse,black 10%,transparent 75%); }
.visual-grid{ position:absolute; inset:48% -15% -38%; transform:rotateX(62deg); background-image:linear-gradient(rgba(255,255,255,.11) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.11) 1px,transparent 1px); background-size:42px 42px; mask-image:linear-gradient(transparent,black 30%,transparent); }
.factory-scene{ position:relative; z-index:1; width:95%; max-height:90%; overflow:visible; transform-style:preserve-3d; transform:rotateX(var(--scene-rx,7deg)) rotateY(var(--scene-ry,-9deg)); translate:0 0; filter:drop-shadow(0 24px 24px rgba(0,0,0,.28)); transition:transform .22s ease-out; animation:factory-float 6s ease-in-out infinite; }
@keyframes factory-float{ 0%,100%{ translate:0 0; } 50%{ translate:0 -7px; } }
.ground-plane{ fill:#242a34; stroke:#4c535f; stroke-width:1.5; }
.machine-part{ transform-box:fill-box; transform-origin:center; transition:filter .6s ease,transform .8s cubic-bezier(.2,.7,.2,1); }
.part-silo{ transform:translate3d(0,0,30px); }.part-mixer{ transform:translate3d(0,0,50px); }.part-conveyor{ transform:translate3d(0,0,65px); }.part-blocks{ transform:translate3d(0,0,80px); }
.production-visual[data-stage="0"] .part-silo{ filter:drop-shadow(0 0 18px rgba(255,90,31,.28)); }
.production-visual[data-stage="0"] .part-silo{ transform:translate3d(0,-5px,30px); }
.production-visual[data-stage="1"] .part-mixer{ filter:drop-shadow(0 0 18px rgba(255,90,31,.38)); }
.production-visual[data-stage="1"] .part-mixer{ transform:translate3d(0,-5px,50px) rotate(-1deg); }
.production-visual[data-stage="2"] .part-conveyor{ filter:drop-shadow(0 0 18px rgba(255,90,31,.38)); }
.production-visual[data-stage="2"] .part-conveyor{ transform:translate3d(0,-5px,65px); }
.production-visual[data-stage="3"] .part-blocks{ filter:drop-shadow(0 0 18px rgba(255,90,31,.45)); }
.production-visual[data-stage="3"] .part-blocks{ transform:translate3d(0,-7px,80px); }
.visual-index{ position:absolute; top:1.5rem; left:1.5rem; z-index:2; font-size:.74rem; letter-spacing:.1em; color:var(--ink-faint); }
.visual-index span{ color:var(--signal); font-size:1.1rem; }
.visual-caption{ position:absolute; left:1.5rem; bottom:1.4rem; z-index:2; font-size:.62rem; letter-spacing:.12em; color:var(--ink-muted); }
.production-steps{ position:relative; padding-bottom:5vh; }
.production-steps::before{ content:""; position:absolute; top:1rem; bottom:9rem; left:15px; width:1px; background:linear-gradient(var(--signal),var(--line) 76%,transparent); }
.production-step{ position:relative; min-height:62vh; display:flex; flex-direction:column; justify-content:center; padding:2.5rem 0 2.5rem 3.7rem; opacity:.38; transform:perspective(900px) rotateY(-9deg) translateX(16px); transform-origin:left center; transition:opacity .55s ease,transform .65s cubic-bezier(.2,.7,.2,1); }
.production-step.is-active{ opacity:1; transform:perspective(900px) rotateY(0) translateX(0); }
.production-number{ position:absolute; top:50%; left:0; width:31px; height:31px; margin-top:-16px; display:grid; place-items:center; border-radius:50%; background:var(--bg); border:1px solid var(--line-strong); color:var(--ink-faint); font:500 .65rem var(--mono); transition:background .4s,color .4s,border-color .4s; }
.production-step.is-active .production-number{ color:var(--signal-ink); background:var(--signal-fill); border-color:var(--signal-fill); box-shadow:0 0 0 7px rgba(255,90,31,.12); }
.step-kicker{ font:600 .65rem var(--mono); letter-spacing:.15em; color:var(--signal); margin-bottom:1rem; }
.production-step h3{ max-width:11ch; font-size:clamp(1.55rem,2.3vw,2.5rem); line-height:1.12; margin-bottom:1rem; }
.production-step p{ max-width:35ch; font-size:.96rem; }

/* sharpen the existing catalog surfaces without changing its palette */
.block-hero-art{ background:radial-gradient(ellipse at 53% 48%,var(--bg-raised),var(--bg-panel) 72%); }
.strip-card,.split-panel,.product-card{ transition:background .3s ease,transform .4s cubic-bezier(.2,.7,.2,1),box-shadow .4s ease; }
.strip-card:hover,.split-panel:hover{ transform:translateY(-4px); box-shadow:0 18px 34px -24px rgba(18,21,28,.38); z-index:1; }
.facility-item{ padding:1.2rem .6rem; }
.facility-icon{ padding:.65rem; box-sizing:content-box; border:1px solid var(--line); border-radius:50%; background:var(--bg-panel); }
@media(max-width:800px){
  .production-story{ padding-inline:1.1rem; }
  .production-intro{ margin-bottom:2.8rem; }
  .production-journey{ grid-template-columns:1fr; gap:1.2rem; }
  .production-visual{ top:calc(var(--hdr-h,64px) + 10px); height:42vh; min-height:300px; z-index:3; }
  .factory-scene{ width:min(100%,540px); }
  .production-steps{ margin-top:-42vh; padding-top:42vh; }
  .production-steps::before{ display:none; }
  .production-step{ min-height:58vh; padding:2rem 1.4rem; margin-top:1rem; background:rgba(27,31,40,.94); border:1px solid var(--line); backdrop-filter:blur(12px); transform:translateY(24px) scale(.98); }
  .production-step.is-active{ transform:translateY(0) scale(1); }
  .production-number{ top:1.6rem; left:auto; right:1.5rem; margin:0; }
}
@media(max-width:520px){
  .production-intro h2{ font-size:clamp(2.45rem,12vw,4rem); }
  .production-visual{ height:35vh; min-height:250px; }
  .production-steps{ margin-top:-35vh; padding-top:35vh; }
  .production-step{ min-height:54vh; }
}
@media(prefers-reduced-motion:reduce){ .production-step,.machine-part,.factory-scene{ transition:none !important; animation:none !important; transform:none !important; } }

/* ---------- polished industrial editorial direction ---------- */
html{ scroll-behavior:smooth; }
.site-header{ backdrop-filter:saturate(150%) blur(14px); background:linear-gradient(180deg, rgba(11,17,23,0.98), rgba(15,22,29,0.94)); border-bottom:1px solid rgba(255,255,255,0.08); }
.header-inner{ padding-block:.85rem; }
.block-hero{ background:linear-gradient(180deg,#0a0d12 0%,#101821 100%); }
.block-hero-grid{ max-width:1500px; margin:auto; grid-template-columns:minmax(0,1fr) minmax(0,1fr); padding:clamp(1rem,3vw,2.5rem); gap:clamp(1.5rem,4vw,4rem); align-items:center; }
.block-hero-copy{ padding:clamp(2rem,5vw,4.5rem) clamp(.5rem,2vw,2rem); gap:1.35rem; }
.block-hero-copy .eyebrow{ padding:.55rem .8rem; border:1px solid rgba(255,178,90,.18); border-radius:99px; background:rgba(17,24,33,.8); font-size:.66rem; letter-spacing:.1em; }
.block-hero-copy .eyebrow::before{ width:.55rem; height:.55rem; border-radius:50%; box-shadow:0 0 0 4px rgba(255,178,90,.10); }
.block-hero-copy h1{ max-width:13ch; font-size:clamp(2.8rem,5.1vw,5.2rem); line-height:1.02; letter-spacing:-.065em; }
.block-hero-copy h1 em{ color:var(--signal); font-style:normal; }
.block-hero-copy p{ max-width:48ch; font-size:1.02rem; line-height:1.8; color:var(--ink-muted); }
.hero-actions{ gap:.7rem; }
.btn{ transition:transform .25s cubic-bezier(.2,.7,.2,1),box-shadow .25s ease,background .2s ease; }
.btn-primary{ box-shadow:0 16px 30px -18px rgba(255,178,90,.9); }
.btn-primary:hover{ transform:translateY(-3px); box-shadow:0 18px 34px -18px rgba(255,178,90,.92); }
.hero-stats{ width:min(100%,600px); gap:1rem; padding-top:1.25rem; border-top:1px solid rgba(255,255,255,.08); }
.stat-num{ font-size:clamp(1rem,1.4vw,1.35rem); letter-spacing:-.04em; }
.stat-label{ max-width:15ch; line-height:1.4; color:var(--ink-faint); }
.block-hero-art{ min-height:clamp(390px,43vw,570px); border:1px solid rgba(255,255,255,.08); border-radius:22px; background:radial-gradient(circle at 20% 20%, rgba(255,178,90,0.12), transparent 18%), radial-gradient(circle at 70% 30%, rgba(255,160,90,0.10), transparent 24%), linear-gradient(135deg, #171f29 0%, #121b24 30%, #0a0f14 100%); box-shadow:0 42px 100px -42px rgba(0,0,0,.9); }
.block-hero-art::before{ content:""; position:absolute; inset:0; opacity:.18; background-image:linear-gradient(rgba(255,255,255,.10) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.10) 1px,transparent 1px); background-size:42px 42px; mask-image:radial-gradient(ellipse at center, black 0%, transparent 72%); }
.block-hero-art::after{ content:""; position:absolute; width:72%; aspect-ratio:1; border:1px solid rgba(255,178,90,.24); border-radius:50%; box-shadow:0 0 0 36px rgba(255,178,90,.04),0 0 0 74px rgba(255,178,90,.022); pointer-events:none; }
.block-hero-art .hero-tag{ z-index:2; left:auto; right:clamp(1rem,3vw,2rem); bottom:clamp(1rem,3vw,2rem); min-width:min(220px,62%); border:1px solid rgba(255,255,255,.12); border-radius:12px; color:#fff; background:rgba(18,24,39,.82); box-shadow:0 18px 45px rgba(0,0,0,.28); backdrop-filter:blur(14px); }
.block-hero-art .tag-head{ color:#b9c0ca; border-color:rgba(255,255,255,.15); }
.block-hero-art .tag-row{ border-color:rgba(255,255,255,.1); }
.block-hero-art .tag-row span:first-child{ color:#aeb3bd; }
.strip-grid{ gap:1rem; background:transparent; padding:clamp(2.2rem,5vw,4rem) clamp(1.1rem,4vw,2.5rem); max-width:1500px; margin:auto; }
.strip-card{ min-height:265px; border:1px solid rgba(255,255,255,0.06); border-radius:18px; background:linear-gradient(145deg,#171f29,#101821); transition:transform .4s cubic-bezier(.2,.7,.2,1),box-shadow .35s ease,border-color .25s ease; }
.strip-card:hover{ transform:translateY(-8px); border-color:rgba(255,178,90,.25); box-shadow:0 26px 50px -32px rgba(0,0,0,.7); }
.strip-card .strip-icon{ width:108px; height:108px; opacity:.82; transition:transform .5s cubic-bezier(.2,.7,.2,1); }
.strip-card:hover .strip-icon{ transform:translateY(-7px) rotate(-5deg) scale(1.04); }
.grid-products{ gap:1rem; background:transparent; }
.product-card{ border:1px solid var(--line); border-radius:6px; padding:clamp(1.4rem,2.2vw,2rem); box-shadow:0 12px 32px -28px rgba(18,21,28,.5); transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s ease,border-color .25s ease,background .25s ease; }
.product-card:hover{ transform:translateY(-6px); border-color:rgba(193,68,14,.25); box-shadow:0 24px 40px -30px rgba(18,21,28,.55); }
.equip-grid{ gap:.75rem; background:transparent; }
.equip-item{ border:1px solid var(--line); border-radius:5px; background:var(--bg-panel); transition:transform .25s ease,border-color .25s ease; }
.equip-item:hover{ transform:translateY(-2px); border-color:rgba(193,68,14,.25); }
.page-hero{ background:radial-gradient(ellipse at 86% 0%,rgba(255,178,90,0.10),transparent 32%),linear-gradient(180deg,#0b1117 0%,#101821 100%); border-bottom:1px solid rgba(255,255,255,0.08); }
.page-hero h1{ max-width:18ch; font-size:clamp(2.6rem,5vw,4.6rem); letter-spacing:-.06em; color:var(--ink); }
.table-wrap{ border-radius:6px; box-shadow:0 18px 40px -34px rgba(18,21,28,.45); }
.facility-item{ padding:1.5rem 1rem; border:1px solid transparent; border-radius:6px; transition:transform .35s ease,border-color .3s ease,background .3s ease; }
.facility-item:hover{ transform:translateY(-5px); border-color:var(--line); background:var(--bg-panel); }
.facility-icon{ width:60px; height:60px; padding:.75rem; box-sizing:border-box; border-radius:16px; background:linear-gradient(145deg,#fff,#f2f3f5); box-shadow:0 10px 24px -18px rgba(18,21,28,.5); }
.split-panel{ border-radius:6px; transition:transform .4s ease,box-shadow .35s ease; }
.split-panel:hover{ transform:translateY(-5px); box-shadow:0 24px 42px -28px rgba(18,21,28,.4); }
.site-footer{ background:linear-gradient(180deg, #0b1117 0%, #0d141b 100%); border-top:1px solid rgba(255,255,255,0.06); }
.whatsapp-float{ transition:transform .25s ease; }
.whatsapp-float:hover{ transform:translateY(-4px) scale(1.06); }
@media(max-width:900px){
  .block-hero-grid{ grid-template-columns:1fr; padding:1rem; gap:0; }
  .block-hero-copy{ padding:2.6rem 1rem 2rem; }
  .block-hero-copy h1{ max-width:15ch; }
  .block-hero-art{ min-height:360px; }
  .strip-grid{ padding:2rem 1rem; }
}
@media(max-width:640px){
  .block-hero-copy h1{ font-size:clamp(2.55rem,12vw,4rem); }
  .block-hero-copy p{ font-size:.96rem; }
  .block-hero-art{ min-height:290px; padding:1.1rem; }
  .block-hero-art .hero-tag{ min-width:170px; padding:.65rem .8rem; }
  .strip-grid{ grid-template-columns:1fr; }
}
@media(prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto; }
}

/* ---------- full-page, scroll-driven 3D factory story ---------- */
.factory-experience{ position:relative; min-height:100vh; color:#fff; background:#151a21; overflow:clip; isolation:isolate; }
.factory-pin{ position:sticky; top:var(--hdr-h,72px); z-index:-1; height:calc(100vh - var(--hdr-h,72px)); height:calc(100svh - var(--hdr-h,72px)); min-height:560px; overflow:hidden; background:#151a21; pointer-events:none; }
.factory-pin::before{ content:""; position:absolute; inset:10% 8% auto auto; width:34rem; height:34rem; border-radius:50%; background:radial-gradient(circle, rgba(255,138,92,0.32), rgba(255,138,92,0.08) 25%, transparent 68%); filter:blur(65px); opacity:.78; pointer-events:none; }
.factory-pin::after{ content:""; position:absolute; left:-8%; bottom:-16%; width:28rem; height:22rem; border-radius:50%; background:radial-gradient(circle, rgba(88,178,255,0.18), transparent 60%); filter:blur(45px); pointer-events:none; }
#factoryCanvas{ position:absolute; inset:0; display:block; width:100%; height:100%; outline:none; }
.factory-vignette{ position:absolute; inset:0; pointer-events:none; background:linear-gradient(90deg,rgba(13,16,21,.96) 0%,rgba(13,16,21,.84) 27%,rgba(13,16,21,.26) 56%,rgba(13,16,21,.05) 100%),linear-gradient(0deg,rgba(13,16,21,.62),transparent 28%,transparent 75%,rgba(13,16,21,.28)); }
.factory-topbar{ position:absolute; top:1.6rem; left:clamp(1.2rem,5vw,5rem); right:clamp(1.2rem,5vw,5rem); display:flex; justify-content:space-between; gap:1rem; color:rgba(255,255,255,.6); font:500 .62rem var(--mono); letter-spacing:.13em; }
.factory-live{ display:flex; align-items:center; gap:.65rem; color:rgba(255,255,255,.82); }
.factory-live i{ width:7px; height:7px; border-radius:50%; background:#ff7542; box-shadow:0 0 12px #ff7542; animation:live-pulse 1.8s ease-in-out infinite; }
@keyframes live-pulse{50%{opacity:.48;box-shadow:0 0 4px #ff7542}}
.factory-intro{ position:absolute; z-index:2; top:50%; left:clamp(1.2rem,8vw,8rem); width:min(42vw,600px); transform:translateY(-47%) scale(1.02); opacity:1; visibility:visible; transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform 1.1s cubic-bezier(.2,.7,.2,1),visibility .9s,filter .9s ease; filter:drop-shadow(0 22px 60px rgba(0,0,0,.38)); }
.factory-intro{ pointer-events:auto; }
.factory-experience.has-left-hero .factory-intro{ opacity:0; visibility:hidden; transform:translateY(calc(-47% - 58px)) scale(.96); filter:blur(10px); pointer-events:none; }
.factory-intro .eyebrow{ color:#ff9363; font-size:.66rem; letter-spacing:.14em; text-transform:uppercase; }
.factory-intro h1{ margin:1.35rem 0 1.2rem; color:#fff; font-size:clamp(2.8rem,5.4vw,5.7rem); line-height:1.03; letter-spacing:-.065em; text-shadow:0 18px 42px rgba(0,0,0,.36); }
.factory-intro h1 em,.factory-step-card h2 em{ color:#ff8651; font-style:normal; }
.factory-intro p{ max-width:43ch; color:rgba(237,240,244,.74); font-size:1rem; line-height:1.8; }
.factory-intro .hero-actions{ margin-top:1.6rem; }
.btn-light-outline{ border-color:rgba(255,255,255,.62); color:#fff; }
.btn-light-outline:hover{ color:#161a21; border-color:#fff; background:#fff; }
.factory-proof{ display:flex; align-items:center; flex-wrap:wrap; gap:.7rem; margin-top:2.2rem; color:rgba(255,255,255,.56); font:500 .63rem var(--mono); letter-spacing:.04em; }
.factory-proof span:first-child{ color:#ff9363; }
.factory-proof i{ width:3px; height:3px; border-radius:50%; background:rgba(255,255,255,.32); }
.factory-hud{ position:absolute; z-index:2; top:calc(var(--hdr-h,72px) + 1.3rem); right:clamp(1.2rem,5vw,5rem); display:grid; justify-items:end; gap:.35rem; color:#fff; font-family:var(--mono); }
.hud-label{ font-size:.56rem; letter-spacing:.15em; color:rgba(255,255,255,.5); }
.factory-hud strong{ font-size:1.4rem; font-weight:500; letter-spacing:.02em; }
.factory-hud strong small{ color:rgba(255,255,255,.43); font-size:.72rem; }
.factory-hud>span:last-child{ color:#ff9363; font-size:.58rem; letter-spacing:.12em; }
.factory-scroll-cue{ position:absolute; z-index:2; left:clamp(1.2rem,5vw,5rem); bottom:2.2rem; display:flex; align-items:center; gap:.75rem; color:rgba(255,255,255,.52); font:500 .57rem var(--mono); letter-spacing:.11em; line-height:1.65; }
.scroll-mouse{ display:grid; place-items:start center; width:17px; height:27px; padding-top:5px; border:1px solid rgba(255,255,255,.42); border-radius:99px; }
.scroll-mouse i{ width:2px; height:5px; border-radius:2px; background:#ff8651; animation:scroll-wheel 1.35s ease-in-out infinite; }
@keyframes scroll-wheel{0%{transform:translateY(0);opacity:1}100%{transform:translateY(7px);opacity:0}}
.factory-progress{ position:absolute; z-index:3; left:0; right:0; bottom:0; height:2px; background:rgba(255,255,255,.12); }
.factory-progress span{ display:block; width:100%; height:100%; background:#ff7542; transform:scaleX(0); transform-origin:left center; will-change:transform; }
.factory-scroll-steps{ position:relative; z-index:2; margin-top:-12vh; }
.factory-scroll-step{ position:relative; z-index:2; min-height:100vh; min-height:100svh; display:flex; align-items:center; padding:clamp(5rem,10vh,8rem) clamp(1.2rem,8vw,8rem); }
.factory-scroll-step:nth-child(even){ justify-content:flex-end; }
.factory-step-card{ width:min(430px,40vw); padding:clamp(1.5rem,3vw,2.5rem); background:linear-gradient(145deg,rgba(24,29,37,.92),rgba(18,21,27,.78)); border:1px solid rgba(255,255,255,.14); border-radius:6px; box-shadow:0 28px 90px rgba(0,0,0,.22); backdrop-filter:blur(18px); transition:transform .85s cubic-bezier(.2,.7,.2,1),border-color .4s ease,opacity .7s ease; opacity:.2; transform:translateY(48px) scale(.96); }
.factory-scroll-step.is-active .factory-step-card{ opacity:1; transform:translateY(0) scale(1); border-color:rgba(255,134,81,.34); }
.factory-step-index{ color:#ff9363; font:500 .62rem var(--mono); letter-spacing:.14em; }
.factory-step-card h2{ margin:1.2rem 0 .9rem; color:#fff; font-size:clamp(2rem,3.8vw,3.5rem); line-height:1.06; letter-spacing:-.055em; }
.factory-step-card p{ color:rgba(237,240,244,.68); font-size:.94rem; line-height:1.75; }
.factory-step-detail{ display:block; margin-top:1.5rem; padding-top:1rem; border-top:1px solid rgba(255,255,255,.13); color:rgba(255,255,255,.48); font:500 .56rem var(--mono); letter-spacing:.1em; line-height:1.7; }
.factory-contact-link{ display:inline-flex; gap:.55rem; margin-top:1.4rem; color:#ff9363; font-weight:700; font-size:.82rem; }
.factory-contact-link span{ transition:transform .2s ease; }
.factory-contact-link:hover span{ transform:translate(3px,-3px); }
.factory-finale{ position:relative; z-index:2; height:100vh; height:100svh; display:flex; align-items:center; justify-content:space-between; gap:1.5rem; padding:clamp(1.2rem,8vw,8rem); background:linear-gradient(90deg,rgba(19,23,30,.94),rgba(19,23,30,.56) 62%,rgba(19,23,30,.18)); }
.factory-finale>span{ color:rgba(255,255,255,.54); font:500 .61rem var(--mono); letter-spacing:.12em; }
.factory-finale p{ margin-left:auto; color:#fff; font:700 clamp(1.4rem,3vw,2.5rem) var(--display); letter-spacing:-.04em; }
.factory-fallback{ position:absolute; z-index:2; inset:auto 1rem 4.2rem; padding:1.4rem; border:1px solid rgba(255,255,255,.18); background:#1c222b; }
.factory-fallback:not([hidden]){ display:grid; gap:.5rem; }
.factory-fallback span,.factory-fallback small{ color:#ff9363; font:500 .65rem var(--mono); }
.factory-fallback strong{ color:white; font-size:1.3rem; }
@media(max-width:900px){
  .factory-intro{ width:min(54vw,580px); left:clamp(1.2rem,5vw,4rem); }
  .factory-intro h1{ font-size:clamp(2.7rem,6vw,4.8rem); }
  .factory-step-card{ width:min(430px,52vw); }
  .factory-scroll-step{ padding-inline:5vw; }
}
@media(max-width:640px){
  .factory-pin{ min-height:560px; height:calc(100svh - var(--hdr-h,64px)); }
  .factory-vignette{ background:linear-gradient(180deg,rgba(13,16,21,.78),rgba(13,16,21,.14) 36%,rgba(13,16,21,.24) 52%,rgba(13,16,21,.96) 100%); }
  .factory-topbar{ top:.85rem; font-size:.5rem; letter-spacing:.08em; }
  .factory-top-note{ display:none; }
  .factory-intro{ top:auto; bottom:5.8rem; left:1.2rem; right:1.2rem; width:auto; transform:none; }
  .factory-intro .eyebrow{ font-size:.55rem; }
  .factory-intro h1{ margin:.8rem 0; font-size:clamp(2.45rem,11.5vw,3.7rem); }
  .factory-intro p{ max-width:38ch; font-size:.84rem; line-height:1.55; }
  .factory-intro .hero-actions{ margin-top:1rem; gap:.55rem; }
  .factory-intro .btn{ padding:.85em 1.1em; font-size:.7rem; }
  .factory-proof{ margin-top:1.1rem; gap:.45rem; font-size:.5rem; }
  .factory-hud{ top:.8rem; right:1.1rem; }
  .hud-label{ font-size:.46rem; }
  .factory-hud strong{ font-size:1rem; }
  .factory-hud>span:last-child{ font-size:.49rem; }
  .factory-scroll-cue{ left:1.2rem; bottom:1.3rem; font-size:.49rem; }
  .factory-scroll-step{ align-items:flex-end; padding:1rem 1rem 2.5rem; }
  .factory-scroll-step:nth-child(even){ justify-content:stretch; }
  .factory-step-card{ width:100%; padding:1.3rem; background:rgba(19,23,30,.87); }
  .factory-step-card h2{ margin:.7rem 0; font-size:2.15rem; }
  .factory-step-card p{ font-size:.84rem; }
  .factory-step-detail{ margin-top:.9rem; padding-top:.75rem; font-size:.49rem; }
  .factory-finale{ flex-direction:column; justify-content:center; align-items:flex-start; height:100svh; gap:1rem; padding:1.5rem; }
  .factory-finale p{ margin-left:0; font-size:1.7rem; }
}
@media(prefers-reduced-motion:reduce){
  .factory-live i,.scroll-mouse i{ animation:none !important; }
  .factory-step-card,.factory-intro{ transition:none !important; }
}
