/* CISPE Comercializadora — Tactical-Tech Editorial */
@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300;400;500;600;700&family=Inter:wght@300;400;500;600&family=JetBrains+Mono:wght@300;400;500&display=swap');

@font-face{
  font-family:'Ethnocentric';
  src:url('assets/fonts/Ethnocentric-Regular.otf') format('opentype');
  font-weight:400;
  font-style:normal;
  font-display:swap;
}

:root{
  --ink:#08090B;
  --ink-warm:#100C08;
  --graphite:#0F1114;
  --graphite-warm:#16120F;
  --ember:#1D1410;
  --ember-2:#241712;
  --panel:#14171D;
  --panel-warm:#1A1512;
  --panel-2:#1A1E26;
  --hair:#262B35;
  --hair-warm:#2E241E;
  --hair-2:#323845;
  --steel:#6E7480;
  --silver:#A8ADB6;
  --paper:#ECECE8;
  --white:#FFFFFF;
  --orange:#FF5B1F;
  --orange-soft:#FF7A42;
  --orange-deep:#D94812;
  --orange-glow:rgba(255,91,31,0.18);
  --orange-haze:rgba(255,91,31,0.06);

  --display:'Ethnocentric', 'Space Grotesk', sans-serif;
  --display-alt:'Space Grotesk', sans-serif;
  --body:'Inter', sans-serif;
  --mono:'JetBrains Mono', monospace;
}

/* ————————————— ETHNOCENTRIC — display treatments ————————————— */
/* Ethnocentric is wider + heavier than Space Grotesk; rebalance typographic rhythm */

/* BIG headlines — uppercase Ethnocentric, tight tracking */
.hero h1,
.sh-title,
.section-head h2,
.products-head h2,
.about-band h2,
.why h2,
.certs h2,
.final h2,
.page-intro h1,
.sec-row h2,
.about-hero h1,
.principles h2,
.contact-wrap h1{
  font-family:var(--display);
  font-weight:400;
  letter-spacing:-0.005em;
  text-transform:uppercase;
}

/* Mid-scale headings */
.sector h3,
.prod-card h3,
.grid-card h3,
.why-cell h4,
.cert-cell h4,
.principles .cell h4,
.f-txt h3{
  font-family:var(--display);
  font-weight:400;
  letter-spacing:0.005em;
  text-transform:uppercase;
}

/* Micro-display: stat numbers, small chrome — keep Space Grotesk (Ethnocentric too wide for numerals at small sizes) */
.spec-card .v,
.intro .kpi .n,
.about-band .stat .n,
.info-item .vv,
.f-txt .spec .v,
.fv-co-num,
.nav .brand .b-text b,
.fv-bot-brand{
  font-family:var(--display-alt);
}

/* Faux italic — Ethnocentric has no italic, simulate with gentle skew + lighter color */
.hero h1 em,
.sh-title em,
.section-head h2 em,
.products-head h2 em,
.about-band h2 em,
.why h2 em,
.certs h2 em,
.final h2 em,
.page-intro h1 em,
.sec-row h2 em,
.about-hero h1 em,
.principles h2 em,
.contact-wrap h1 em{
  display:inline-block;
  font-style:normal;
  transform:skewX(-8deg);
  color:var(--silver);
  font-weight:400;
  letter-spacing:0.02em;
  margin:0 0.12em;
}

/* Accent — tighter letter-spacing simulates heavier weight */
.hero h1 .accent,
.sh-title .accent,
.section-head h2 .accent,
.final h2 .accent{
  font-weight:400;
  letter-spacing:-0.02em;
}

/* Scale DOWN large displays — Ethnocentric reads ~15% wider than Space Grotesk */
/* Scale DOWN large displays — Ethnocentric reads ~15% wider than Space Grotesk */
.hero h1{font-size:clamp(30px, 4.6vw, 72px);line-height:1.05;letter-spacing:-0.005em;font-weight:400;}
.sh-title{font-size:clamp(30px, 4.4vw, 68px);line-height:1.08;letter-spacing:0;font-weight:400;}

/* Hero title typography mix — Space Grotesk for connector words, Ethnocentric for anchors */
.sh-title .alt{
  font-family:var(--display-alt);
  font-weight:700;
  font-size:0.88em;
  text-transform:uppercase;
  letter-spacing:-0.005em;
  color:var(--paper);
}
.sh-title em,
.sh-title .accent{
  font-size:0.82em;
}
.page-intro h1{font-size:clamp(38px, 6vw, 100px);line-height:0.96;}
.about-hero h1{font-size:clamp(38px, 6vw, 100px);line-height:0.96;}
.contact-wrap h1{font-size:clamp(34px, 5vw, 88px);line-height:0.98;}
.sec-row h2{font-size:clamp(34px, 4.6vw, 72px);line-height:1;}
.products-head h2,
.section-head h2{font-size:clamp(26px, 4vw, 64px);line-height:1;}
.about-band h2,
.why h2{font-size:clamp(28px, 3.6vw, 56px);line-height:1.02;}
.certs h2{font-size:clamp(26px, 3vw, 44px);line-height:1.05;}
.final h2{font-size:clamp(26px, 3.4vw, 50px);line-height:1.05;}
.principles h2{font-size:clamp(26px, 3.4vw, 52px);line-height:1.02;}

/* Mid-display sizes — Ethnocentric is chunkier, reduce accordingly */
.sector h3{font-size:32px;line-height:1.05;}
.prod-card h3{font-size:17px;line-height:1.2;letter-spacing:0.01em;}
.grid-card h3{font-size:20px;line-height:1.15;}
.why-cell h4{font-size:18px;line-height:1.25;letter-spacing:0.01em;}
.cert-cell h4{font-size:16px;line-height:1.25;letter-spacing:0.01em;}
.principles .cell h4{font-size:16px;line-height:1.25;letter-spacing:0.01em;}
.f-txt h3{font-size:clamp(22px, 2.6vw, 38px);line-height:1.1;}

/* Intro big statement — MIX Ethnocentric + Space Grotesk for readability in long-form copy */
.intro .big{
  font-family:var(--display-alt);
  font-size:clamp(22px, 2.6vw, 40px);
  line-height:1.3;
  letter-spacing:-0.01em;
  font-weight:400;
  text-transform:none;
}
.intro .big b{
  font-family:var(--display);
  font-weight:400;
  text-transform:uppercase;
  letter-spacing:0;
  color:var(--paper);
  font-size:0.85em;
}
.intro .big em{
  font-family:var(--display);
  font-style:normal;
  display:inline-block;
  transform:skewX(-8deg);
  color:var(--orange);
  text-transform:uppercase;
  letter-spacing:0.01em;
  font-size:0.85em;
  margin:0 0.08em;
}
.intro .big .plain{
  font-family:var(--display-alt);
  font-weight:300;
  color:var(--silver);
  text-transform:none;
  letter-spacing:-0.005em;
  font-size:0.92em;
}

/* Nav brand chip */
.nav .brand .b-text b{
  font-family:var(--display);
  font-weight:400;
  letter-spacing:0.08em;
  font-size:10px;
}

/* Mega footer word — Ethnocentric flagship */
.fv-mega-row{
  font-family:var(--display);
  font-weight:400;
  letter-spacing:0;
  text-transform:uppercase;
}

*{box-sizing:border-box;margin:0;padding:0;}
html,body{background:var(--ink);color:var(--paper);font-family:var(--body);-webkit-font-smoothing:antialiased;}
body{overflow-x:hidden;}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit;}
img,video{display:block;max-width:100%;}

::selection{background:var(--orange);color:var(--ink);}

/* ————————————— SHELL ————————————— */
.shell{
  position:relative;
  min-height:100vh;
  padding-left:72px;
  padding-right:72px;
}
.rail{
  position:fixed;
  top:0;bottom:0;
  width:72px;
  border-right:1px solid var(--hair);
  background:linear-gradient(180deg,rgba(8,9,11,0.9),rgba(8,9,11,0.7));
  backdrop-filter:blur(6px);
  z-index:40;
  display:flex;flex-direction:column;align-items:center;justify-content:space-between;
  padding:24px 0;
}
.rail.right{right:0;border-right:none;border-left:1px solid var(--hair);}
.rail.left{left:0;}
.rail .rail-mark{
  font-family:var(--mono);font-size:10px;letter-spacing:0.24em;color:var(--steel);
  writing-mode:vertical-rl;transform:rotate(180deg);
}
.rail .rail-tick{
  width:10px;height:10px;border:1px solid var(--hair-2);
}
.rail .rail-dot{width:6px;height:6px;background:var(--orange);border-radius:50%;box-shadow:0 0 12px var(--orange);}

/* ————————————— NAV ————————————— */
.nav{
  position:fixed;top:0;left:72px;right:72px;z-index:50;
  display:flex;align-items:center;justify-content:space-between;
  height:72px;padding:0 32px;
  background:rgba(8,9,11,0.72);
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--hair);
}
.nav .brand{display:flex;align-items:center;}
.nav .brand img.brand-h-logo{height:64px;width:auto;object-fit:contain;}
.nav ul{display:flex;gap:4px;list-style:none;}
.nav ul a{
  padding:10px 16px;font-family:var(--mono);font-size:11px;letter-spacing:0.22em;text-transform:uppercase;
  color:var(--silver);border:1px solid transparent;transition:all .2s;
  display:inline-flex;align-items:center;gap:8px;
}
.nav ul a:hover{color:var(--paper);border-color:var(--hair);}
.nav ul a.active{color:var(--paper);border-color:var(--hair-2);background:var(--panel);}
.nav ul a.active::before{content:'';width:5px;height:5px;background:var(--orange);}
.nav .cta{
  display:inline-flex;align-items:center;gap:10px;
  padding:12px 18px;background:var(--orange);color:#0b0b0c;font-family:var(--mono);
  font-size:11px;letter-spacing:0.22em;text-transform:uppercase;font-weight:500;
  border:1px solid var(--orange);
  transition:all .2s;
}
.nav .cta:hover{background:var(--orange-deep);border-color:var(--orange-deep);}
.nav .cta svg{width:14px;height:14px;}

/* ————————————— HUD LABELS ————————————— */
.hud{
  font-family:var(--mono);font-size:10px;letter-spacing:0.3em;text-transform:uppercase;color:var(--steel);
  display:inline-flex;align-items:center;gap:10px;
}
.hud::before{content:'';width:22px;height:1px;background:var(--orange);}
.hud.plain::before{display:none;}

.eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:0.3em;text-transform:uppercase;color:var(--orange);}

/* ————————————— HERO ————————————— */
.hero{
  position:relative;height:100vh;min-height:780px;overflow:hidden;
  border-bottom:1px solid var(--hair);
}
.hero video{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  filter:grayscale(10%) contrast(1.15) brightness(0.6) sepia(0.12);
}
.hero .scrim{
  position:absolute;inset:0;
  background:
    radial-gradient(ellipse 70% 60% at 15% 70%, rgba(255,91,31,0.28), transparent 55%),
    radial-gradient(ellipse 50% 40% at 85% 20%, rgba(255,122,66,0.10), transparent 50%),
    linear-gradient(180deg, rgba(16,12,8,0.60) 0%, rgba(16,12,8,0.28) 40%, rgba(8,9,11,0.92) 100%);
}
.hero .vignette{
  position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse at center, transparent 40%, rgba(0,0,0,0.55) 100%);
}
.hero .grid-overlay{
  position:absolute;inset:0;pointer-events:none;
  background-image:
    linear-gradient(to right, rgba(255,255,255,0.03) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255,255,255,0.03) 1px, transparent 1px);
  background-size:120px 120px;
  mix-blend-mode:screen;
}
.hero .inner{
  position:relative;height:100%;padding:120px 48px 48px;
  display:grid;grid-template-columns:1fr 380px;gap:48px;
}
.hero h1{
  font-family:var(--display);font-weight:500;
  font-size:clamp(64px, 9.2vw, 160px);
  line-height:0.9;letter-spacing:-0.04em;
  align-self:end;
}
.hero h1 .line{display:block;}
.hero h1 em{font-style:italic;font-weight:400;color:var(--silver);}
.hero h1 .accent{color:var(--orange);font-style:normal;font-weight:400;}
.hero .h-left{display:flex;flex-direction:column;justify-content:space-between;}
.hero .h-top{display:flex;align-items:center;gap:24px;}
.hero .h-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;padding-top:32px;border-top:1px solid var(--hair);}
.hero .h-desc{max-width:460px;color:var(--silver);font-size:15px;line-height:1.6;}
.hero .h-cta{display:flex;gap:12px;align-items:center;}
.btn-primary{
  display:inline-flex;align-items:center;gap:10px;padding:16px 24px;
  background:var(--orange);color:#0a0a0b;
  font-family:var(--mono);font-size:11px;letter-spacing:0.22em;text-transform:uppercase;font-weight:500;
  transition:transform .2s, background .2s;
  border:1px solid var(--orange);
}
.btn-primary:hover{background:var(--orange-deep);transform:translateY(-1px);}
.btn-ghost{
  display:inline-flex;align-items:center;gap:10px;padding:16px 24px;
  background:transparent;color:var(--paper);border:1px solid var(--hair-2);
  font-family:var(--mono);font-size:11px;letter-spacing:0.22em;text-transform:uppercase;
  transition:all .2s;
}
.btn-ghost:hover{border-color:var(--paper);background:rgba(255,255,255,0.02);}
.btn-wa{
  display:inline-flex;align-items:center;gap:10px;padding:16px 20px;
  background:transparent;border:1px solid var(--hair-2);color:var(--paper);
  font-family:var(--mono);font-size:11px;letter-spacing:0.2em;text-transform:uppercase;
  transition:all .2s;
}
.btn-wa:hover{border-color:#25D366;color:#25D366;}
.btn-wa svg{width:14px;height:14px;color:#25D366;}

.hero .h-right{
  display:flex;flex-direction:column;gap:16px;justify-content:flex-end;
}
.spec-card{
  background:linear-gradient(145deg, rgba(26,21,18,0.78), rgba(20,23,29,0.82));
  backdrop-filter:blur(14px);
  border:1px solid var(--hair);
  padding:20px 22px;
  position:relative;
  transition:border-color .25s, transform .25s;
}
.spec-card:hover{border-color:var(--orange);transform:translateY(-2px);}
.spec-card::before,.spec-card::after,.corners::before,.corners::after{
  content:'';position:absolute;width:10px;height:10px;border:1px solid var(--orange);
}
.spec-card::before{top:-1px;left:-1px;border-right:none;border-bottom:none;}
.spec-card::after{bottom:-1px;right:-1px;border-left:none;border-top:none;}
.spec-card .k{font-family:var(--mono);font-size:10px;letter-spacing:0.26em;color:var(--steel);text-transform:uppercase;}
.spec-card .v{font-family:var(--display);font-size:34px;font-weight:500;letter-spacing:-0.02em;margin-top:6px;}
.spec-card .sub{font-size:13px;color:var(--silver);margin-top:6px;}

.hero .marquee-bottom{
  position:absolute;bottom:0;left:0;right:0;
  border-top:1px solid var(--hair);
  background:var(--ink);
  padding:14px 48px;
  display:flex;justify-content:space-between;align-items:center;
  font-family:var(--mono);font-size:10px;letter-spacing:0.3em;color:var(--steel);
}

/* ————————————— SCROLL HERO (canvas frames) ————————————— */
.scroll-hero{
  position:relative;
  height:350vh;
  background:var(--ink);
}
.sh-sticky{
  position:sticky;top:0;
  width:100%;height:100vh;
  overflow:hidden;
  border-bottom:1px solid var(--hair);
}
.sh-canvas{
  position:absolute;inset:0;
  width:100%;height:100%;
  display:block;
  background:#000;
}
.sh-scrim{
  position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(ellipse at 30% 30%, rgba(210,78,28,0.08) 0%, transparent 55%),
    linear-gradient(180deg, rgba(8,9,11,0.55) 0%, rgba(16,12,8,0.30) 35%, rgba(8,9,11,0.92) 100%);
}
.sh-vignette{
  position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse at center, transparent 40%, rgba(0,0,0,0.6) 100%);
}
.sh-grid{
  position:absolute;inset:0;pointer-events:none;
  background-image:
    linear-gradient(to right, rgba(168,173,182,0.06) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(168,173,182,0.06) 1px, transparent 1px);
  background-size:100px 100px;
  mix-blend-mode:screen;
  mask-image:linear-gradient(180deg, transparent 0%, #000 20%, #000 80%, transparent 100%);
  -webkit-mask-image:linear-gradient(180deg, transparent 0%, #000 20%, #000 80%, transparent 100%);
}
.sh-overlay{
  position:absolute;inset:0;
  padding:120px 48px 72px;
  display:flex;flex-direction:column;justify-content:space-between;
  pointer-events:none;
  will-change:opacity, transform;
}
.sh-overlay .btn-primary,
.sh-overlay .btn-wa,
.sh-overlay a{pointer-events:auto;}
.sh-top{display:flex;align-items:center;gap:24px;}
.sh-title{
  font-family:var(--display);font-weight:500;
  font-size:clamp(32px, 5vw, 80px);
  line-height:0.92;letter-spacing:-0.035em;
  color:var(--paper);
  margin:auto 0;
  max-width:14ch;
}
.sh-title .line{display:block;}
.sh-title em{font-style:italic;font-weight:400;color:var(--silver);}
.sh-title .accent{color:var(--orange);font-style:normal;font-weight:400;}
.sh-bottom{
  display:flex;align-items:flex-end;justify-content:space-between;gap:40px;
  padding-top:28px;border-top:1px solid var(--hair);
  max-width:1100px;
}
.sh-desc{max-width:520px;color:var(--silver);font-size:16px;line-height:1.6;}
.sh-cta{display:flex;gap:12px;align-items:center;}

.feat-title{font-size:26px;line-height:0.95;font-weight:700;}
.feat-title em{font-weight:700;}
.sh-scroll-cue{
  position:absolute;bottom:72px;right:48px;
  display:flex;flex-direction:column;align-items:center;gap:12px;
}
.sh-cue-line{
  width:1px;height:56px;
  background:linear-gradient(180deg, var(--orange), transparent);
  animation:sh-cue 2.4s ease-in-out infinite;
  transform-origin:top;
}
@keyframes sh-cue{
  0%,100%{transform:scaleY(0.3);opacity:0.3;}
  50%{transform:scaleY(1);opacity:1;}
}
.sh-marquee{
  position:absolute;bottom:0;left:0;right:0;
  border-top:1px solid var(--hair);
  padding:12px 48px;
  display:flex;justify-content:space-between;gap:48px;
  font-family:var(--mono);font-size:10px;letter-spacing:0.3em;
  color:var(--steel);text-transform:uppercase;
  background:rgba(8,9,11,0.7);backdrop-filter:blur(8px);
}

@media(max-width:900px){
  .scroll-hero{height:260vh;}
  .sh-overlay{padding:96px 20px 60px;}
  .sh-title{font-size:clamp(40px, 12vw, 72px);}
  .sh-bottom{flex-direction:column;align-items:flex-start;}
  
.feat-title{font-size:26px;line-height:0.95;font-weight:700;}
.feat-title em{font-weight:700;}
.sh-scroll-cue{display:none;}
  .sh-marquee{font-size:9px;gap:16px;padding:10px 20px;flex-wrap:wrap;}
}

/* ————————————— SECTIONS ————————————— */
section{position:relative;}
.section-head{
  position:relative;
  padding:80px 48px 40px;
  border-bottom:1px solid var(--hair);
  display:grid;grid-template-columns:240px 1fr 240px;gap:40px;align-items:end;
}
.section-head::after{
  content:'';position:absolute;bottom:-1px;left:30%;right:30%;height:1px;
  background:linear-gradient(90deg, transparent, var(--orange), transparent);
  opacity:0.5;
}
.section-head .idx{font-family:var(--mono);font-size:11px;letter-spacing:0.3em;color:var(--steel);}
.section-head h2{
  font-family:var(--display);font-weight:500;
  font-size:clamp(36px,5.2vw,84px);line-height:0.95;letter-spacing:-0.03em;
}
.section-head h2 em{font-style:italic;color:var(--silver);font-weight:400;}
.section-head .meta{font-family:var(--mono);font-size:10px;letter-spacing:0.3em;color:var(--steel);text-align:right;}

/* INTRO */
.intro{
  position:relative;
  padding:80px 48px 120px;border-bottom:1px solid var(--hair);
  display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start;
  overflow:hidden;
  background:
    radial-gradient(ellipse 80% 50% at 100% 0%, rgba(255,91,31,0.06), transparent 60%),
    linear-gradient(180deg, var(--ink) 0%, var(--graphite-warm) 100%);
}
.intro::before{
  content:'CISPE';
  position:absolute;right:-60px;bottom:-80px;pointer-events:none;
  font-family:var(--display);font-weight:700;font-size:clamp(200px, 28vw, 480px);
  line-height:0.8;letter-spacing:-0.05em;
  -webkit-text-stroke:1px rgba(255,91,31,0.08);
  color:transparent;
  z-index:0;
}
.intro > *{position:relative;z-index:1;}
.intro .big{
  font-family:var(--display);font-weight:400;
  font-size:clamp(28px,3.3vw,52px);line-height:1.1;letter-spacing:-0.02em;
}
.intro .big b{color:var(--orange);font-weight:500;}
.intro .right{display:flex;flex-direction:column;gap:28px;}
.intro .right p{color:var(--silver);font-size:15px;line-height:1.7;max-width:520px;}
.intro .right .kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding-top:24px;border-top:1px solid var(--hair);}
.intro .kpi .n{font-family:var(--display);font-size:40px;font-weight:500;letter-spacing:-0.02em;}
.intro .kpi .n b{color:var(--orange);font-weight:500;}
.intro .kpi .l{font-family:var(--mono);font-size:10px;letter-spacing:0.24em;color:var(--steel);text-transform:uppercase;margin-top:8px;}

/* SECTORS (vertical) */
.sectors{
  padding:0;border-bottom:1px solid var(--hair);
  background:
    radial-gradient(ellipse 50% 60% at 0% 100%, rgba(255,91,31,0.05), transparent 50%),
    var(--ink);
}
.sectors-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--hair);padding-top:90px;}
.sector{
  position:relative;padding:0 0 40px;
  border-right:1px solid var(--hair);min-height:640px;
  display:flex;flex-direction:column;
  transition:background .5s ease;
  background:linear-gradient(180deg, #0A0B0D 0%, #0C0D10 55%, var(--ink) 100%);
  min-width:0;
}
.sector:last-child{border-right:none;}
.sector::before{
  /* top corner hairline bracket */
  content:'';position:absolute;top:14px;left:14px;width:18px;height:18px;
  border-top:1px solid rgba(255,91,31,0.5);border-left:1px solid rgba(255,91,31,0.5);
  z-index:3;pointer-events:none;opacity:.85;
}
.sector::after{
  /* rising orange tint on hover — clipped to card only */
  content:'';position:absolute;inset:auto 0 0 0;height:0;
  background:linear-gradient(180deg, transparent, rgba(255,91,31,0.10) 60%, rgba(255,91,31,0.20) 100%);
  transition:height .5s ease;z-index:0;pointer-events:none;
}
.sector:hover::after{height:55%;}

/* portrait stage — image OVERFLOWS the card top */
.s-portrait{
  position:relative;height:360px;
  display:flex;align-items:flex-end;justify-content:center;
  /* deliberately NO overflow:hidden — head escapes upward */
}
.s-portrait .s-backdrop{
  position:absolute;inset:0;z-index:0;overflow:hidden;
  background:
    radial-gradient(ellipse 70% 55% at 50% 45%, rgba(255,91,31,0.16), transparent 68%),
    radial-gradient(ellipse 120% 90% at 50% 20%, rgba(255,255,255,0.05), transparent 60%);
  transition:opacity .5s ease, transform .6s ease;
}
.s-portrait::before{
  /* subtle vignette — inside card only */
  content:'';position:absolute;inset:0;z-index:1;pointer-events:none;
  background:radial-gradient(ellipse 90% 70% at 50% 50%, transparent 50%, rgba(0,0,0,0.55) 100%);
}
.s-portrait img{
  position:relative;z-index:2;
  width:auto;height:145%;max-width:100%;
  object-fit:contain;object-position:bottom center;
  transform:translateY(-18%) scale(1.0);
  filter:drop-shadow(0 30px 40px rgba(0,0,0,0.65)) contrast(1.05) saturate(0.95);
  transition:transform .7s cubic-bezier(.2,.8,.2,1), filter .5s ease;
  pointer-events:none;
}
.s-portrait::after{
  /* bottom fade — merges portrait into body */
  content:'';position:absolute;left:0;right:0;bottom:0;height:70%;z-index:3;pointer-events:none;
  background:linear-gradient(180deg,
    transparent 0%,
    rgba(8,9,11,0.15) 20%,
    rgba(8,9,11,0.55) 50%,
    rgba(8,9,11,0.88) 72%,
    var(--ink) 90%);
}
.s-mega{
  position:absolute;left:50%;top:-80px;transform:translateX(-50%);
  font-family:var(--display);font-weight:600;font-style:italic;
  font-size:clamp(28px, 3.5vw, 54px);letter-spacing:-0.03em;line-height:0.9;
  color:transparent;-webkit-text-stroke:1px rgba(255,255,255,0.10);
  white-space:nowrap;z-index:0;pointer-events:none;
  transition:color .5s ease, -webkit-text-stroke-color .5s ease, transform .6s ease;
}
.sector:hover .s-portrait img{transform:translateY(-18%) scale(1.03);filter:drop-shadow(0 40px 50px rgba(255,91,31,0.30)) contrast(1.08) saturate(1);}
.sector:hover .s-mega{-webkit-text-stroke-color:rgba(255,91,31,0.4);transform:translateX(-50%) translateY(-6px);}
.sector:hover .s-portrait .s-backdrop{transform:scale(1.08);}

/* body */
.s-body{
  position:relative;z-index:4;padding:0 28px;margin-top:-90px;
  display:flex;flex-direction:column;
}
.sector > *{position:relative;z-index:1;}
.sector .s-num{font-family:var(--mono);font-size:11px;letter-spacing:0.3em;color:var(--steel);}
.sector .s-num b{color:var(--orange);font-weight:400;}
.sector h3{
  font-family:var(--display);font-weight:500;
  font-size:42px;line-height:0.95;letter-spacing:-0.02em;margin-top:14px;
  writing-mode:horizontal-tb;
}
.sector .s-desc{color:var(--silver);font-size:13.5px;line-height:1.6;margin-top:18px;max-width:280px;}
.sector .s-tags{margin-top:22px;display:flex;flex-wrap:wrap;gap:6px;}
.sector .s-tag{
  font-family:var(--mono);font-size:9px;letter-spacing:0.22em;text-transform:uppercase;
  padding:5px 9px;border:1px solid var(--hair);color:var(--silver);
  background:rgba(255,255,255,0.02);
}
.sector .s-arrow{
  position:absolute;top:18px;right:18px;z-index:4;
  width:40px;height:40px;border:1px solid var(--hair-2);
  display:flex;align-items:center;justify-content:center;transition:all .25s;
  background:rgba(10,11,13,0.7);backdrop-filter:blur(6px);
}
.sector:hover .s-arrow{background:var(--orange);border-color:var(--orange);color:#000;}

/* PRODUCTS (horizontal scroll) */
.products{
  position:relative;padding:80px 0 0;border-bottom:1px solid var(--hair);
  background:
    radial-gradient(ellipse 60% 50% at 100% 0%, rgba(255,91,31,0.10), transparent 60%),
    radial-gradient(ellipse 40% 60% at 0% 100%, rgba(255,91,31,0.07), transparent 55%),
    linear-gradient(180deg, var(--graphite-warm) 0%, var(--ember) 100%);
  overflow:hidden;
}
.products::before{
  content:'';position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg, transparent, var(--orange), transparent);
  opacity:0.5;
}
.products-head{padding:0 48px 40px;display:grid;grid-template-columns:240px 1fr 240px;gap:40px;align-items:end;}
.products-head h2{font-family:var(--display);font-weight:500;font-size:clamp(36px,5.2vw,84px);line-height:0.95;letter-spacing:-0.03em;}
.products-head h2 em{color:var(--silver);font-style:italic;font-weight:400;}
.products-scroll{
  display:flex;gap:20px;overflow-x:auto;padding:0 48px 80px;scroll-snap-type:x mandatory;
  scrollbar-width:thin;scrollbar-color:var(--hair-2) transparent;
}
.products-scroll::-webkit-scrollbar{height:6px;}
.products-scroll::-webkit-scrollbar-thumb{background:var(--hair-2);}
.prod-card{
  flex:0 0 420px;scroll-snap-align:start;
  background:linear-gradient(165deg, var(--panel) 0%, var(--panel-warm) 100%);
  border:1px solid var(--hair);
  display:flex;flex-direction:column;overflow:hidden;
  transition:border-color .25s,transform .25s, box-shadow .3s;
  position:relative;
}
.prod-card::after{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(165deg, transparent 50%, rgba(255,91,31,0.04) 100%);
  opacity:0;transition:opacity .3s;
}
.prod-card:hover{border-color:var(--orange);transform:translateY(-4px);box-shadow:0 20px 60px -20px rgba(255,91,31,0.25);}
.prod-card:hover::after{opacity:1;}
.prod-card .img{
  height:340px;background:#0a0a0b;position:relative;overflow:hidden;
}
.prod-card .img img{width:100%;height:100%;object-fit:cover;filter:grayscale(30%) contrast(1.05);transition:transform .6s,filter .4s;}
.prod-card:hover .img img{transform:scale(1.04);filter:grayscale(0%) contrast(1.1);}
.prod-card .img-grid{
  position:absolute;inset:0;pointer-events:none;
  background:
    linear-gradient(to top, rgba(8,9,11,0.85), transparent 40%),
    linear-gradient(to right, rgba(255,255,255,0.02) 1px, transparent 1px) 0 0/60px 60px,
    linear-gradient(to bottom, rgba(255,255,255,0.02) 1px, transparent 1px) 0 0/60px 60px;
}
.prod-card .ticker{
  position:absolute;top:16px;left:16px;right:16px;
  display:flex;justify-content:space-between;align-items:center;
  font-family:var(--mono);font-size:10px;letter-spacing:0.26em;color:var(--silver);text-transform:uppercase;
}
.prod-card .ticker .code{color:var(--orange);}
.prod-card .body{padding:22px 24px 24px;}
.prod-card h3{font-family:var(--display);font-weight:500;font-size:24px;letter-spacing:-0.01em;line-height:1.1;}
.prod-card .desc{color:var(--silver);font-size:13px;line-height:1.6;margin-top:10px;}
.prod-card .row{margin-top:20px;padding-top:16px;border-top:1px solid var(--hair);display:flex;justify-content:space-between;align-items:center;gap:10px;}
.prod-card .row .specs{font-family:var(--mono);font-size:10px;letter-spacing:0.22em;color:var(--steel);}
.prod-card .row .cta{display:flex;gap:8px;}
.prod-card .mini{
  width:38px;height:38px;display:flex;align-items:center;justify-content:center;
  border:1px solid var(--hair);transition:all .2s;
}
.prod-card .mini:hover{border-color:var(--orange);color:var(--orange);}
.prod-card .mini.wa:hover{border-color:#25D366;color:#25D366;}
.prod-card .mini svg{width:15px;height:15px;}

/* FEATURED (editorial) */
.featured{
  border-bottom:1px solid var(--hair);
  background:var(--ink);
  position:relative;
}
.featured::before{
  content:'';position:absolute;left:0;top:20%;bottom:20%;width:3px;
  background:linear-gradient(180deg, transparent, var(--orange), transparent);
  opacity:0.3;
}
.feat-row{
  display:grid;grid-template-columns:1.15fr 1fr;gap:0;border-top:1px solid var(--hair);
}
.feat-row.alt{grid-template-columns:1fr 1.15fr;}
.feat-row.alt .f-img{order:2;}
.feat-row.alt .f-txt{order:1;border-right:1px solid var(--hair);border-left:none;}
.f-img{position:relative;min-height:580px;overflow:hidden;}
.f-img img{width:100%;height:100%;object-fit:cover;filter:grayscale(15%);}
.f-img .lines{
  position:absolute;inset:0;pointer-events:none;
  background:
    linear-gradient(to right, rgba(255,255,255,0.03) 1px, transparent 1px) 0 0/80px 80px;
}
.f-img .tag{
  position:absolute;top:24px;left:24px;
  font-family:var(--mono);font-size:10px;letter-spacing:0.3em;color:var(--paper);
  padding:8px 12px;background:rgba(8,9,11,0.6);border:1px solid var(--hair-2);text-transform:uppercase;
}
.f-img .readout{
  position:absolute;bottom:24px;left:24px;right:24px;
  display:flex;justify-content:space-between;align-items:end;
  font-family:var(--mono);font-size:10px;letter-spacing:0.26em;color:var(--silver);text-transform:uppercase;
}
.f-txt{
  position:relative;padding:64px 56px;border-left:1px solid var(--hair);
  display:flex;flex-direction:column;justify-content:space-between;gap:32px;
  background:
    radial-gradient(ellipse 80% 60% at 100% 100%, rgba(255,91,31,0.09), transparent 60%),
    linear-gradient(135deg, var(--graphite) 0%, var(--ember) 100%);
  overflow:hidden;
}
.f-txt::after{
  content:'';position:absolute;top:0;right:0;width:1px;height:80px;
  background:linear-gradient(180deg, var(--orange), transparent);
}
.f-txt h3{font-family:var(--display);font-weight:500;font-size:clamp(32px,3.6vw,56px);line-height:1;letter-spacing:-0.02em;}
.f-txt h3 em{color:var(--silver);font-style:italic;font-weight:400;}
.f-txt p{color:var(--silver);font-size:15px;line-height:1.7;max-width:500px;}
.f-txt .specs{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;padding-top:24px;border-top:1px solid var(--hair);}
.f-txt .spec{display:flex;flex-direction:column;gap:6px;}
.f-txt .spec .k{font-family:var(--mono);font-size:10px;letter-spacing:0.24em;color:var(--steel);text-transform:uppercase;}
.f-txt .spec .v{font-family:var(--display);font-size:20px;font-weight:500;}
.f-txt .act{display:flex;gap:10px;}

/* WHY */
.why{
  position:relative;padding:100px 48px;border-bottom:1px solid var(--hair);
  background:
    radial-gradient(ellipse 40% 60% at 0% 50%, rgba(255,91,31,0.04), transparent 60%),
    var(--ink);
  overflow:hidden;
}
.why .wrap{display:grid;grid-template-columns:400px 1fr;gap:80px;}
.why h2{font-family:var(--display);font-weight:500;font-size:clamp(36px,4.4vw,72px);line-height:0.95;letter-spacing:-0.03em;}
.why h2 em{color:var(--silver);font-style:italic;font-weight:400;}
.why .grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--hair);border:1px solid var(--hair);}
.why-cell{background:var(--ink);padding:36px 32px;min-height:240px;display:flex;flex-direction:column;justify-content:space-between;position:relative;transition:background .3s;overflow:hidden;}
.why-cell::before{
  content:'';position:absolute;top:0;left:0;width:0;height:2px;
  background:var(--orange);
  transition:width .4s ease;
}
.why-cell:hover{background:linear-gradient(135deg, var(--graphite-warm) 0%, var(--ember) 100%);}
.why-cell:hover::before{width:100%;}
.why-cell .n{font-family:var(--mono);font-size:10px;letter-spacing:0.3em;color:var(--orange);}
.why-cell h4{font-family:var(--display);font-weight:500;font-size:26px;letter-spacing:-0.01em;margin-top:18px;line-height:1.15;}
.why-cell p{color:var(--silver);font-size:13.5px;line-height:1.6;margin-top:14px;}

/* ABOUT BAND */
.about-band{
  position:relative;
  padding:36px 48px;border-bottom:1px solid var(--hair);
  display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;
  background:linear-gradient(90deg, var(--ink) 0%, var(--ink) 55%, rgba(255,91,31,0.82) 100%);
  overflow:hidden;
}
.about-band::before{
  content:'';position:absolute;right:-100px;top:-100px;width:300px;height:300px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(255,91,31,0.12), transparent 70%);
  pointer-events:none;
}
.about-band .lhs{position:relative;display:flex;align-items:center;justify-content:center;}
.about-band .portrait{
  position:relative;height:620px;overflow:hidden;border:1px solid var(--hair);
}
.about-band .portrait img{width:100%;height:100%;object-fit:cover;filter:grayscale(10%) contrast(1.05);}
.about-band .portrait .tag{position:absolute;top:16px;left:16px;padding:8px 12px;background:rgba(8,9,11,0.7);border:1px solid var(--hair-2);font-family:var(--mono);font-size:10px;letter-spacing:0.3em;text-transform:uppercase;}
.about-band .portrait .code{position:absolute;bottom:16px;right:16px;font-family:var(--mono);font-size:10px;letter-spacing:0.3em;color:var(--silver);}
.about-logo-img{width:100%;max-width:620px;height:auto;display:block;margin:auto;}
.about-band h2{font-family:var(--display);font-weight:500;font-size:clamp(36px,4.6vw,76px);line-height:0.95;letter-spacing:-0.03em;}
.about-band h2 em{color:var(--silver);font-style:italic;font-weight:400;}
.about-band p{color:var(--silver);font-size:15px;line-height:1.7;margin-top:28px;max-width:520px;}
.about-band .stats{margin-top:40px;display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding-top:32px;border-top:1px solid var(--hair);}
.about-band .stat .n{font-family:var(--display);font-size:42px;font-weight:500;letter-spacing:-0.02em;}
.about-band .stat .l{font-family:var(--mono);font-size:10px;letter-spacing:0.24em;color:var(--steel);text-transform:uppercase;margin-top:6px;}

/* CERTS */
.certs{
  position:relative;padding:80px 48px;border-bottom:1px solid var(--hair);
  background:var(--ink);
}
.certs .wrap{display:grid;grid-template-columns:1fr 2fr;gap:80px;align-items:center;}
.certs h2{font-family:var(--display);font-weight:500;font-size:clamp(32px,3.6vw,56px);line-height:1;letter-spacing:-0.02em;}
.certs h2 em{color:var(--silver);font-style:italic;font-weight:400;}
.certs .row{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--hair);border:1px solid var(--hair);}
.cert-cell{background:var(--ink);padding:40px 28px;min-height:200px;position:relative;}
.cert-cell .code{font-family:var(--mono);font-size:11px;letter-spacing:0.3em;color:var(--orange);}
.cert-cell h4{font-family:var(--display);font-weight:500;font-size:22px;margin-top:16px;letter-spacing:-0.01em;}
.cert-cell p{color:var(--silver);font-size:13px;line-height:1.6;margin-top:10px;}
.cert-cell .seal{position:absolute;top:28px;right:28px;width:44px;height:44px;border:1px solid var(--hair-2);display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:9px;color:var(--steel);letter-spacing:0.2em;}

/* FINAL CTA — vertical orange→black gradient with integrated logo */
.final{
  position:relative;
  padding:72px 48px 64px;
  border-bottom:1px solid var(--hair);
  overflow:visible;
  isolation:isolate;
  background:linear-gradient(180deg,
    #050608 0%,
    #0A0A0C 20%,
    #1A0E08 42%,
    #3A1A0C 62%,
    #7A2E12 80%,
    #C84418 95%,
    #FF6A28 100%);
}
.final::before{
  content:'';position:absolute;inset:0;pointer-events:none;z-index:0;
  background:
    linear-gradient(to right, rgba(255,255,255,0.045) 1px, transparent 1px) 0 0/80px 80px,
    linear-gradient(to bottom, rgba(255,255,255,0.045) 1px, transparent 1px) 0 0/80px 80px;
  mask-image:linear-gradient(180deg, #000 0%, #000 60%, transparent 95%);
  -webkit-mask-image:linear-gradient(180deg, #000 0%, #000 60%, transparent 95%);
}
.final::after{
  content:'';position:absolute;top:0;left:0;right:0;height:1px;z-index:0;
  background:linear-gradient(90deg, transparent, rgba(255,120,40,0.85) 50%, transparent);
}
.final .grid-top{display:none;}

/* Giant logo — metallic, overflows above & below the section */
.final .cta-logo{
  position:absolute;
  right:-14%;
  top:-28%;
  height:145%;
  aspect-ratio:1 / 1;
  pointer-events:none;
  z-index:4;
  background-image:url('assets/logo.png');
  background-repeat:no-repeat;
  background-position:center;
  background-size:contain;
  filter:
    drop-shadow(0 12px 40px rgba(0,0,0,0.6))
    drop-shadow(0 0 60px rgba(255,120,40,0.18));
  /* Bottom of logo fades into the orange gradient */
  mask-image:linear-gradient(180deg, #000 0%, #000 72%, rgba(0,0,0,0.55) 88%, transparent 100%);
  -webkit-mask-image:linear-gradient(180deg, #000 0%, #000 72%, rgba(0,0,0,0.55) 88%, transparent 100%);
}
.final .cta-logo-glow{
  position:absolute;
  right:-4%;
  top:30%;
  width:min(60vw, 680px);
  aspect-ratio:1 / 1;
  pointer-events:none;
  z-index:0;
  background:radial-gradient(circle at 50% 50%, rgba(255,150,60,0.22) 0%, rgba(255,91,31,0.12) 30%, transparent 60%);
  filter:blur(50px);
}

.final .inner{
  position:relative;
  z-index:2;
  max-width:1400px;margin:0 auto;
  display:flex;flex-direction:column;justify-content:center;
  padding-right:min(40vw, 440px);
}
.final .eyebrow{
  color:#FFB080;
  font-family:var(--mono);font-size:11px;letter-spacing:0.3em;text-transform:uppercase;
  display:flex;align-items:center;gap:12px;
}
.final .eyebrow::before{
  content:'';display:inline-block;width:32px;height:1px;background:linear-gradient(90deg, transparent, #FFB080);
}
.final h2{
  font-family:var(--display);font-weight:500;
  font-size:clamp(36px,4.6vw,68px);line-height:0.98;letter-spacing:-0.03em;
  color:#F5F5F0;
  background:none;
  -webkit-background-clip:initial;background-clip:initial;
  text-wrap:balance;
}
.final h2 em{
  font-style:italic;font-weight:400;
  color:#D8D4CE;
  background:none;-webkit-background-clip:initial;background-clip:initial;
}
.final h2 .accent{
  font-style:normal;font-weight:500;
  color:transparent;
  background:linear-gradient(90deg, #FFD4A8 0%, #FF8A40 55%, #FF5B1F 100%);
  -webkit-background-clip:text;background-clip:text;
}
.final .sub{
  margin-top:28px;display:grid;grid-template-columns:1fr auto;gap:32px;align-items:end;
  padding-top:20px;border-top:1px solid rgba(255,180,120,0.22);
}
.final .sub p{color:#E8DFD6;font-size:15px;line-height:1.6;max-width:520px;opacity:0.88;}
.final .cta-row{display:flex;gap:12px;}
.final .cta-row .btn-primary{
  background:#F5F5F0;color:#0A0A0C;border-color:#F5F5F0;
}
.final .cta-row .btn-primary:hover{
  background:#FF5B1F;color:#F5F5F0;border-color:#FF5B1F;
  box-shadow:0 0 32px rgba(255,91,31,0.5);
}
.final .cta-row .btn-ghost{
  color:#F5F5F0;border-color:rgba(245,245,240,0.35);background:rgba(245,245,240,0.04);
}
.final .cta-row .btn-ghost:hover{
  border-color:#FFB080;background:rgba(255,180,120,0.1);color:#FFD4A8;
}
.final .coords{
  margin-top:32px;padding-top:16px;border-top:1px solid rgba(255,180,120,0.2);
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;
  font-family:var(--mono);font-size:10px;letter-spacing:0.3em;
  color:rgba(245,245,240,0.7);text-transform:uppercase;
}

@media(max-width:900px){
  .final{padding:56px 24px 56px;}
  .final .inner{padding-right:0;}
  .final .cta-logo{
    right:-20%;top:-8%;height:118%;opacity:0.5;
  }
  .final .cta-logo-glow{right:-20%;}
  .final .sub{grid-template-columns:1fr;}
  .final .coords{font-size:9px;gap:12px;}
}

/* FOOTER V2 — tactical editorial */
.footer-v2{
  position:relative;
  background:#050608;
  color:var(--paper);
  padding:0;
  overflow:hidden;
  border-top:1px solid var(--hair);
}
.footer-v2 .fv-grid{
  position:absolute;inset:0;pointer-events:none;opacity:0.5;
  background-image:
    linear-gradient(to right, rgba(255,255,255,0.025) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255,255,255,0.025) 1px, transparent 1px);
  background-size:64px 64px;
  mask-image:linear-gradient(to bottom, transparent 0%, #000 30%, #000 90%, transparent 100%);
}

.fv-stripe{
  border-bottom:1px solid var(--hair);
  overflow:hidden;
  position:relative;
  background:linear-gradient(90deg, rgba(255,91,31,0.04), transparent 50%, rgba(255,91,31,0.04));
}
.fv-stripe-inner{
  display:flex;gap:48px;padding:14px 0;
  font-family:var(--mono);font-size:10px;letter-spacing:0.32em;color:var(--silver);text-transform:uppercase;
  white-space:nowrap;
  animation:fv-scroll 60s linear infinite;
  width:max-content;
}
.fv-stripe-inner span:nth-child(odd){color:var(--orange);}
@keyframes fv-scroll{
  from{transform:translateX(0);}
  to{transform:translateX(-50%);}
}

.fv-top{
  position:relative;
  padding:80px 48px 60px;
  display:grid;grid-template-columns:1.1fr 1.4fr;gap:80px;
  border-bottom:1px solid var(--hair);
}

.fv-ticker{
  display:flex;align-items:center;gap:14px;
  font-family:var(--mono);font-size:10px;letter-spacing:0.3em;color:var(--silver);text-transform:uppercase;
  padding-bottom:24px;border-bottom:1px solid var(--hair);margin-bottom:40px;
}
.fv-dot{
  width:8px;height:8px;border-radius:50%;background:var(--orange);
  box-shadow:0 0 10px var(--orange);
  animation:fv-pulse 1.8s ease-in-out infinite;
}
@keyframes fv-pulse{
  0%,100%{opacity:1;transform:scale(1);}
  50%{opacity:0.4;transform:scale(0.85);}
}
.fv-clock{margin-left:auto;color:var(--paper);}
.fv-clock em{color:var(--orange);font-style:normal;}

.fv-callout{
  display:block;padding:32px 32px 28px;
  background:linear-gradient(145deg, rgba(26,30,38,0.7), rgba(12,14,18,0.9));
  border:1px solid var(--hair-2);
  position:relative;
  transition:border-color .25s, transform .25s;
}
.fv-callout::before,.fv-callout::after{
  content:'';position:absolute;width:14px;height:14px;border:1.5px solid var(--orange);
}
.fv-callout::before{top:-1px;left:-1px;border-right:none;border-bottom:none;}
.fv-callout::after{bottom:-1px;right:-1px;border-left:none;border-top:none;}
.fv-callout:hover{border-color:var(--orange);transform:translateY(-2px);}
.fv-co-label{
  font-family:var(--mono);font-size:10px;letter-spacing:0.3em;color:var(--steel);text-transform:uppercase;
  margin-bottom:16px;
}
.fv-co-num{
  font-family:var(--display);font-weight:400;
  display:flex;align-items:baseline;gap:12px;
  line-height:1;
}
.fv-co-num span{font-size:20px;color:var(--silver);letter-spacing:0.08em;}
.fv-co-num b{
  font-size:clamp(28px, 3.4vw, 46px);
  font-weight:500;letter-spacing:-0.01em;color:var(--paper);
}
.fv-co-foot{
  margin-top:22px;padding-top:16px;border-top:1px solid var(--hair);
  display:flex;justify-content:space-between;align-items:center;
  font-family:var(--mono);font-size:10px;letter-spacing:0.3em;color:var(--silver);text-transform:uppercase;
}
.fv-co-arrow{
  width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;
  border:1px solid var(--hair-2);color:var(--orange);
  transition:background .2s, color .2s;
}
.fv-callout:hover .fv-co-arrow{background:var(--orange);color:#000;border-color:var(--orange);}

.fv-right{
  display:grid;grid-template-columns:1fr 1.2fr 1.2fr;gap:40px;
}
.fv-col-head{
  font-family:var(--mono);font-size:10px;letter-spacing:0.3em;color:var(--steel);text-transform:uppercase;
  margin-bottom:22px;padding-bottom:14px;border-bottom:1px solid var(--hair);
  display:flex;align-items:center;gap:10px;
}
.fv-col-head span{
  width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;
  border:1px solid var(--hair-2);color:var(--orange);font-size:9px;
}
.fv-col ul{list-style:none;display:flex;flex-direction:column;gap:4px;}
.fv-col ul a{
  display:flex;align-items:center;gap:14px;padding:6px 0;
  color:var(--silver);font-size:14px;
  transition:color .15s, padding-left .2s;
  border-bottom:1px dashed transparent;
}
.fv-col ul a:hover{color:var(--paper);padding-left:8px;}
.fv-col ul a:hover .fv-idx{color:var(--orange);}
.fv-idx{
  font-family:var(--mono);font-size:9.5px;letter-spacing:0.22em;color:var(--steel);
  min-width:34px;transition:color .15s;
}
.fv-meta{
  padding:10px 0;border-bottom:1px dashed var(--hair);
  display:flex;justify-content:space-between;gap:14px;align-items:center;
}
.fv-meta:last-child{border-bottom:none;}
.fv-meta-k{font-family:var(--mono);font-size:10px;letter-spacing:0.26em;color:var(--steel);text-transform:uppercase;}
.fv-meta-v{font-size:13.5px;color:var(--paper);text-align:right;display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end;}
.fv-chip{
  font-family:var(--mono);font-size:9px;letter-spacing:0.22em;padding:4px 7px;
  border:1px solid var(--hair-2);color:var(--orange);
}

.fv-mega{
  position:relative;padding:90px 48px 70px;
  border-bottom:1px solid var(--hair);
  overflow:hidden;
}
.fv-mega::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse at 50% 100%, rgba(255,91,31,0.08), transparent 60%);
  pointer-events:none;
}
.fv-mega-corner{
  position:absolute;width:24px;height:24px;border:1.5px solid var(--hair-2);
}
.fv-mega-corner.tl{top:16px;left:16px;border-right:none;border-bottom:none;}
.fv-mega-corner.tr{top:16px;right:16px;border-left:none;border-bottom:none;}
.fv-mega-corner.bl{bottom:16px;left:16px;border-right:none;border-top:none;}
.fv-mega-corner.br{bottom:16px;right:16px;border-left:none;border-top:none;}

.fv-mega-row{
  position:relative;
  display:flex;align-items:center;justify-content:center;gap:clamp(6px, 1vw, 14px);
  font-family:var(--display);font-weight:400;
  font-size:clamp(14px, 3.2vw, 54px);
  line-height:0.95;letter-spacing:-0.01em;
  white-space:nowrap;
  max-width:100%;
  width:100%;
  padding:0 12px;
}
.fv-mega-word{
  background:linear-gradient(180deg, #2A2C32 0%, #6E4220 55%, var(--orange) 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  -webkit-text-stroke:0;
}
.fv-mega-word.muted{
  background:linear-gradient(180deg, #3A3C42 0%, #8A4820 55%, var(--orange-deep) 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  -webkit-text-stroke:0;
}
.fv-mega-slash{color:var(--orange);font-weight:400;opacity:0.85;}
.fv-mega-tick{color:var(--orange);font-size:0.45em;opacity:0.7;}

.fv-mega-under{
  position:relative;margin-top:40px;padding-top:24px;border-top:1px solid var(--hair);
  display:flex;justify-content:space-between;align-items:center;gap:32px;
  font-family:var(--mono);font-size:11px;letter-spacing:0.34em;color:var(--silver);text-transform:uppercase;
}
.fv-mega-pulse{
  flex:1;height:1px;background:var(--hair);position:relative;
}
.fv-mega-pulse::after{
  content:'';position:absolute;top:-2px;left:0;width:60px;height:5px;
  background:linear-gradient(90deg, transparent, var(--orange), transparent);
  animation:fv-run 3.2s linear infinite;
}
@keyframes fv-run{
  0%{left:-10%;}
  100%{left:110%;}
}

.fv-bot{
  padding:24px 48px;
  display:flex;justify-content:space-between;align-items:center;gap:24px;
}
.fv-bot-left{display:flex;align-items:center;gap:20px;flex-wrap:wrap;}
.fv-bot-left img.fv-h-logo{height:72px;width:auto;object-fit:contain;}
.fv-bot-brand{
  font-family:var(--display);font-weight:600;font-size:12px;letter-spacing:0.22em;color:var(--paper);
}
.fv-bot-legal{font-family:var(--mono);font-size:10px;letter-spacing:0.18em;color:var(--steel);margin-top:4px;}
.fv-bot-right{
  display:flex;align-items:center;gap:16px;
  font-family:var(--mono);font-size:10px;letter-spacing:0.3em;color:var(--steel);text-transform:uppercase;
}
.fv-sep{color:var(--hair-2);}
.fv-back-wa{
  display:inline-flex;align-items:center;gap:8px;padding:8px 12px;
  border:1px solid var(--hair-2);color:var(--silver);
  transition:all .2s;
}
.fv-back-wa:hover{border-color:#25D366;color:#25D366;}

@media (max-width: 1100px){
  .fv-top{padding:60px 24px 40px;grid-template-columns:1fr;gap:48px;}
  .fv-right{grid-template-columns:1fr 1fr;gap:32px;}
  .fv-mega{padding:60px 24px 48px;}
  .fv-mega-row{font-size:clamp(11px, 4vw, 32px);gap:6px;}
  .fv-mega-under{flex-direction:column;gap:16px;font-size:10px;letter-spacing:0.28em;}
  .fv-mega-pulse{display:none;}
  .fv-bot{flex-direction:column;align-items:flex-start;padding:20px 24px;}
}

/* PAGE: Products */
.page-intro{padding:120px 48px 80px;border-bottom:1px solid var(--hair);display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:end;}
.page-intro h1{font-family:var(--display);font-weight:500;font-size:clamp(56px,8vw,140px);line-height:0.9;letter-spacing:-0.04em;}
.page-intro h1 em{color:var(--silver);font-style:italic;font-weight:400;}
.page-intro .side{color:var(--silver);font-size:15px;line-height:1.7;max-width:480px;}
.page-intro .side .hud{margin-bottom:24px;}

.prod-grid{
  padding:60px 48px 100px;display:grid;grid-template-columns:repeat(2,1fr);gap:24px;border-bottom:1px solid var(--hair);
}
.grid-card{
  background:var(--panel);border:1px solid var(--hair);
  display:grid;grid-template-columns:1fr 1fr;min-height:420px;
}
.grid-card .gc-img{position:relative;background:#0a0a0b;overflow:hidden;}
.grid-card .gc-img img{width:100%;height:100%;object-fit:cover;filter:grayscale(20%);}
.grid-card .gc-body{padding:32px;display:flex;flex-direction:column;justify-content:space-between;}
.grid-card h3{font-family:var(--display);font-weight:500;font-size:28px;letter-spacing:-0.01em;line-height:1.05;}
.grid-card .code{font-family:var(--mono);font-size:10px;letter-spacing:0.3em;color:var(--orange);}
.grid-card p{color:var(--silver);font-size:13.5px;line-height:1.6;margin-top:14px;}
.grid-card .bullets{margin-top:16px;display:flex;flex-direction:column;gap:6px;}
.grid-card .bullets li{list-style:none;font-family:var(--mono);font-size:10.5px;letter-spacing:0.16em;color:var(--silver);text-transform:uppercase;display:flex;gap:10px;}
.grid-card .bullets li::before{content:'';width:8px;height:8px;border:1px solid var(--orange);margin-top:3px;flex-shrink:0;}
.grid-card .act{margin-top:24px;display:flex;gap:8px;padding-top:20px;border-top:1px solid var(--hair);}
.grid-card .act .btn-sm{padding:12px 16px;font-size:10.5px;}

/* PAGE: Sectors long */
.sec-long{padding:0;border-bottom:1px solid var(--hair);}
.sec-row{display:grid;grid-template-columns:1fr 1.2fr;border-top:1px solid var(--hair);min-height:520px;}
.sec-row.alt{grid-template-columns:1.2fr 1fr;}
.sec-row.alt .sr-img{order:2;}
.sec-row .sr-img{position:relative;overflow:hidden;}
.sec-row .sr-img img{width:100%;height:100%;object-fit:cover;filter:grayscale(20%);}
.sec-row .sr-txt{padding:64px 56px;display:flex;flex-direction:column;justify-content:center;gap:24px;background:var(--graphite);}
.sec-row.alt .sr-txt{background:var(--ink);}
.sec-row h2{font-family:var(--display);font-weight:500;font-size:clamp(48px,6vw,96px);line-height:0.95;letter-spacing:-0.03em;}
.sec-row h2 em{color:var(--silver);font-style:italic;font-weight:400;}
.sec-row p{color:var(--silver);font-size:15px;line-height:1.7;max-width:500px;}
.sec-row .chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:16px;}
.sec-row .chip{font-family:var(--mono);font-size:10px;letter-spacing:0.22em;text-transform:uppercase;padding:6px 10px;border:1px solid var(--hair);color:var(--silver);}

/* PAGE: About */
.about-hero{padding:120px 48px 80px;border-bottom:1px solid var(--hair);}
.about-hero h1{font-family:var(--display);font-weight:500;font-size:clamp(56px,8vw,140px);line-height:0.9;letter-spacing:-0.04em;max-width:1200px;}
.about-hero h1 em{color:var(--silver);font-style:italic;font-weight:400;}
.about-hero .sub{margin-top:40px;display:grid;grid-template-columns:240px 1fr;gap:60px;padding-top:32px;border-top:1px solid var(--hair);}
.about-hero .sub p{color:var(--silver);font-size:15px;line-height:1.7;max-width:620px;}

.principles{padding:100px 48px;border-bottom:1px solid var(--hair);background:var(--graphite);}
.principles h2{font-family:var(--display);font-weight:500;font-size:clamp(36px,4.4vw,72px);line-height:0.95;letter-spacing:-0.03em;max-width:900px;}
.principles h2 em{color:var(--silver);font-style:italic;font-weight:400;}
.principles .grid{margin-top:60px;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--hair);border:1px solid var(--hair);}
.principles .cell{background:var(--ink);padding:36px 30px;min-height:260px;display:flex;flex-direction:column;justify-content:space-between;}
.principles .cell h4{font-family:var(--display);font-weight:500;font-size:22px;margin-top:18px;letter-spacing:-0.01em;}
.principles .cell p{color:var(--silver);font-size:13px;line-height:1.6;margin-top:12px;}
.principles .cell .n{font-family:var(--mono);font-size:10px;letter-spacing:0.3em;color:var(--orange);}

/* PAGE: Contact */
.contact-wrap{padding:120px 48px 80px;display:grid;grid-template-columns:1fr 1fr;gap:80px;border-bottom:1px solid var(--hair);}
.contact-wrap h1{font-family:var(--display);font-weight:500;font-size:clamp(48px,6.5vw,120px);line-height:0.9;letter-spacing:-0.03em;}
.contact-wrap h1 em{color:var(--silver);font-style:italic;font-weight:400;}
.contact-info{display:flex;flex-direction:column;gap:24px;margin-top:40px;}
.info-item{padding:20px 22px;border:1px solid var(--hair);background:var(--panel);display:flex;justify-content:space-between;align-items:center;gap:16px;}
.info-item .ll{font-family:var(--mono);font-size:10px;letter-spacing:0.3em;color:var(--steel);text-transform:uppercase;}
.info-item .vv{font-family:var(--display);font-size:20px;font-weight:500;margin-top:6px;}
.contact-form{background:var(--panel);border:1px solid var(--hair);padding:40px;display:flex;flex-direction:column;gap:16px;}
.contact-form label{font-family:var(--mono);font-size:10px;letter-spacing:0.26em;color:var(--steel);text-transform:uppercase;margin-bottom:6px;display:block;}
.contact-form input,.contact-form select,.contact-form textarea{
  width:100%;background:var(--ink);border:1px solid var(--hair);color:var(--paper);
  padding:14px 16px;font-family:var(--body);font-size:14px;outline:none;transition:border-color .2s;
}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--orange);}
.contact-form textarea{min-height:120px;resize:vertical;}
.contact-form .field{display:flex;flex-direction:column;}
.contact-form .row2{display:grid;grid-template-columns:1fr 1fr;gap:16px;}

/* Responsive */
@media (max-width: 1100px){
  .shell{padding-left:0;padding-right:0;}
  .rail{display:none;}
  .nav{left:0;right:0;padding:0 20px;}
  .nav ul{display:none;}
  .hero .inner{grid-template-columns:1fr;padding:120px 24px 120px;}
  .hero .h-right{flex-direction:row;flex-wrap:wrap;}
  .spec-card{flex:1 1 200px;}
  .section-head{grid-template-columns:1fr;padding:60px 24px 32px;gap:20px;}
  .section-head .meta{text-align:left;}
  .intro{grid-template-columns:1fr;padding:60px 24px 80px;gap:40px;}
  .sectors-grid{grid-template-columns:repeat(2,1fr);}
  .sector{border-right:none;}
  .sector:nth-child(odd){border-right:1px solid var(--hair);}
  .sector:nth-child(-n+2){border-bottom:1px solid var(--hair);}
  .products-head{grid-template-columns:1fr;padding:0 24px 32px;gap:20px;}
  .products-scroll{padding:0 24px 60px;}
  .prod-card{flex:0 0 320px;}
  .feat-row,.feat-row.alt{grid-template-columns:1fr;}
  .feat-row.alt .f-img,.feat-row.alt .f-txt{order:unset;}
  .f-txt{padding:40px 24px;border-left:none;}
  .why{padding:60px 24px;}
  .why .wrap{grid-template-columns:1fr;gap:40px;}
  .why .grid{grid-template-columns:1fr;}
  .about-band{padding:60px 24px;grid-template-columns:1fr;gap:40px;}
  .about-band .portrait{height:420px;}
  .certs{padding:60px 24px;}
  .certs .wrap{grid-template-columns:1fr;gap:40px;}
  .certs .row{grid-template-columns:1fr;}
  .final{padding:80px 24px;}
  .final .sub{grid-template-columns:1fr;}
  .footer{padding:60px 24px 24px;}
  .footer .top{grid-template-columns:1fr 1fr;gap:32px;}
  .page-intro{grid-template-columns:1fr;padding:120px 24px 60px;gap:32px;}
  .prod-grid{grid-template-columns:1fr;padding:40px 24px 80px;}
  .grid-card{grid-template-columns:1fr;}
  .sec-row,.sec-row.alt{grid-template-columns:1fr;}
  .sec-row .sr-img{height:320px;}
  .sec-row.alt .sr-img{order:unset;}
  .sec-row .sr-txt{padding:40px 24px;}
  .about-hero{padding:120px 24px 60px;}
  .about-hero .sub{grid-template-columns:1fr;gap:24px;}
  .principles{padding:60px 24px;}
  .principles .grid{grid-template-columns:1fr;}
  .contact-wrap{grid-template-columns:1fr;padding:120px 24px 60px;gap:40px;}
  .contact-form .row2{grid-template-columns:1fr;}
}
