/* ═══════════════════════════════════════════════════
   AL FM GROUP — Precision CNC Sourcing
   Award-style build · dark machined-metal aesthetic
   ═══════════════════════════════════════════════════ */

:root{
  --bg: #0a0e10;
  --bg-2: #0e1316;
  --surface: #12181c;
  --surface-2: #1a2228;
  --ink: #eef2ee;
  --ink-dim: #97a4a4;
  --ink-faint: #5e6b6b;
  --green: #1f7a52;
  --green-bright: #35c98a;
  --green-dim: #14503a;
  --steel: #7fa7c9;
  --steel-dim: #3f5568;
  --line: rgba(238,242,238,0.08);
  --line-strong: rgba(238,242,238,0.2);
  --font-display: 'Space Grotesk', sans-serif;
  --font-body: 'IBM Plex Sans', sans-serif;
  --font-mono: 'IBM Plex Mono', monospace;
}

*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:auto;}
html, body{overflow-x:clip; max-width:100%;}
body{
  background:var(--bg);
  color:var(--ink);
  font-family:var(--font-body);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
body.has-cursor, body.has-cursor a, body.has-cursor button,
body.has-cursor summary, body.has-cursor label{cursor:none;}

a{color:inherit; text-decoration:none;}
img{max-width:100%; display:block;}
.wrap{max-width:1240px; margin:0 auto; padding:0 40px;}
@media (max-width:640px){.wrap{padding:0 22px;}}

::selection{background:var(--green); color:#06110c;}
:focus-visible{outline:2px solid var(--green-bright); outline-offset:3px;}

/* asset slots: hidden until the real file loads */
.asset-video, .asset-img{opacity:0; transition:opacity 0.8s ease;}
.asset-video.is-loaded, .asset-img.is-loaded{opacity:1;}

/* ── engineering grid backdrop ── */
body::before{
  content:''; position:fixed; inset:0; z-index:0; pointer-events:none;
  background-image:
    linear-gradient(var(--line) 1px, transparent 1px),
    linear-gradient(90deg, var(--line) 1px, transparent 1px);
  background-size:56px 56px;
  mask-image:radial-gradient(ellipse 90% 70% at 50% 30%, black 30%, transparent 100%);
  -webkit-mask-image:radial-gradient(ellipse 90% 70% at 50% 30%, black 30%, transparent 100%);
  opacity:0.55;
}
main{position:relative; z-index:1;}

/* ═══════════ PRELOADER ═══════════ */
.preloader{
  position:fixed; inset:0; z-index:200; background:var(--bg);
  display:flex; align-items:center; justify-content:center;
}
.preloader-inner{width:min(420px, 80vw); text-align:center;}
.preloader-logo{height:72px; width:auto; margin:0 auto 36px; filter:drop-shadow(0 0 24px rgba(53,201,138,0.25));}
.preloader-line{height:1px; background:var(--line-strong); position:relative; overflow:visible;}
.preloader-bar{position:absolute; left:0; top:-0.5px; height:2px; width:0%; background:var(--green-bright); box-shadow:0 0 12px rgba(53,201,138,0.7);}
.preloader-meta{display:flex; justify-content:space-between; margin-top:14px; font-family:var(--font-mono); font-size:0.72rem; letter-spacing:0.14em; color:var(--ink-faint);}
.preloader-count{color:var(--green-bright);}
.preloader-corner{
  position:absolute; font-family:var(--font-mono); font-size:0.66rem; letter-spacing:0.16em; color:var(--ink-faint);
}
.preloader-corner.tl{top:28px; left:32px;}
.preloader-corner.tr{top:28px; right:32px;}
.preloader-corner.bl{bottom:28px; left:32px;}
.preloader-corner.br{bottom:28px; right:32px;}

/* ═══════════ CURSOR ═══════════ */
.cursor{position:fixed; top:0; left:0; z-index:180; pointer-events:none; display:none;}
body.has-cursor .cursor{display:block;}
.cursor-dot{
  position:absolute; width:5px; height:5px; border-radius:50%;
  background:var(--green-bright); transform:translate(-50%,-50%);
}
.cursor-ring{
  position:absolute; width:36px; height:36px; border-radius:50%;
  border:1px solid rgba(53,201,138,0.55); transform:translate(-50%,-50%);
  transition:width 0.25s ease, height 0.25s ease, border-color 0.25s ease, background 0.25s ease;
}
.cursor-tick{position:absolute; background:rgba(53,201,138,0.8); transition:opacity 0.2s;}
.cursor-tick.t{top:-3px; left:50%; width:1px; height:6px; transform:translateX(-50%);}
.cursor-tick.b{bottom:-3px; left:50%; width:1px; height:6px; transform:translateX(-50%);}
.cursor-tick.l{left:-3px; top:50%; width:6px; height:1px; transform:translateY(-50%);}
.cursor-tick.r{right:-3px; top:50%; width:6px; height:1px; transform:translateY(-50%);}
.cursor-label{
  position:absolute; transform:translate(-50%,-50%); font-family:var(--font-mono);
  font-size:0.6rem; letter-spacing:0.12em; color:#06110c; opacity:0; white-space:nowrap;
}
.cursor.is-hover .cursor-ring{width:52px; height:52px; border-color:var(--green-bright); background:rgba(53,201,138,0.08);}
.cursor.is-view .cursor-ring, .cursor.is-drag .cursor-ring{
  width:74px; height:74px; background:var(--green-bright); border-color:var(--green-bright);
}
.cursor.is-view .cursor-label, .cursor.is-drag .cursor-label{opacity:1;}
.cursor.is-view .cursor-dot, .cursor.is-drag .cursor-dot{opacity:0;}
.cursor.is-view .cursor-tick, .cursor.is-drag .cursor-tick{opacity:0;}

/* ═══════════ SCROLL PROGRESS ═══════════ */
.scroll-progress{position:fixed; top:0; left:0; right:0; height:2px; z-index:120; background:transparent;}
.scroll-progress-bar{height:100%; width:0%; background:linear-gradient(90deg, var(--green), var(--green-bright)); box-shadow:0 0 10px rgba(53,201,138,0.5);}

/* ═══════════ NAV ═══════════ */
.site-header{
  position:fixed; top:0; left:0; right:0; z-index:100;
  transition:transform 0.45s cubic-bezier(0.4,0,0.2,1), background 0.3s ease, border-color 0.3s ease;
  border-bottom:1px solid transparent;
}
.site-header.is-scrolled{background:rgba(10,14,16,0.82); backdrop-filter:blur(14px); border-color:var(--line);}
.site-header.is-hidden{transform:translateY(-100%);}
.nav{display:flex; align-items:center; justify-content:space-between; padding:18px 40px; max-width:1400px; margin:0 auto; position:relative;}
.logo{font-family:var(--font-display); font-weight:700; font-size:1.05rem; letter-spacing:0.02em; display:flex; align-items:center; gap:12px;}
.logo img{height:34px; width:auto;}
.logo-mark{color:var(--green-bright); font-family:var(--font-mono); font-size:0.8rem; font-weight:400;}
.navlinks{display:flex; gap:30px; font-size:0.85rem; color:var(--ink-dim); font-family:var(--font-mono);}
.navlinks a{transition:color 0.2s ease; position:relative; padding:4px 0;}
.navlinks a .nl-n{font-size:0.6rem; color:var(--green-bright); vertical-align:super; margin-right:4px; opacity:0.7;}
.navlinks a::after{
  content:''; position:absolute; bottom:0; left:0; width:100%; height:1px;
  background:var(--green-bright); transform:scaleX(0); transform-origin:right;
  transition:transform 0.35s cubic-bezier(0.65,0,0.35,1);
}
.navlinks a:hover{color:var(--ink);}
.navlinks a:hover::after{transform:scaleX(1); transform-origin:left;}
.nav-right{display:flex; align-items:center; gap:12px;}
.nav-cta{
  font-family:var(--font-mono); font-size:0.72rem; letter-spacing:0.06em;
  border:1px solid var(--line-strong); padding:10px 18px; border-radius:2px;
  color:var(--ink); transition:border-color 0.25s ease, background 0.25s ease, color 0.25s ease;
  white-space:nowrap; display:inline-block;
}
.nav-cta:hover{border-color:var(--green-bright); background:rgba(53,201,138,0.1); color:var(--green-bright);}
.li-icon{
  width:38px; height:38px; color:var(--ink-faint); transition:color 0.2s ease, background 0.2s ease;
  display:inline-flex; align-items:center; justify-content:center; border-radius:2px; flex:none;
}
.li-icon:hover{color:var(--green-bright); background:rgba(53,201,138,0.08);}
.navtoggle{
  display:none; background:none; border:1px solid var(--line-strong); color:var(--ink);
  width:44px; height:44px; border-radius:2px; flex-direction:column; gap:6px;
  align-items:center; justify-content:center;
}
.navtoggle span{display:block; width:18px; height:1.5px; background:var(--ink); transition:transform 0.3s, opacity 0.3s;}
.navtoggle[aria-expanded="true"] span:first-child{transform:translateY(3.75px) rotate(45deg);}
.navtoggle[aria-expanded="true"] span:last-child{transform:translateY(-3.75px) rotate(-45deg);}

@media (max-width:920px){
  .nav{padding:14px 22px;}
  .navlinks{
    display:none; position:absolute; top:100%; left:0; right:0;
    background:rgba(10,14,16,0.97); backdrop-filter:blur(20px); border-bottom:1px solid var(--line);
    flex-direction:column; gap:0; padding:8px 0;
  }
  .navlinks.is-open{display:flex;}
  .navlinks a{padding:16px 24px; border-top:1px solid var(--line); font-size:0.95rem;}
  .navtoggle{display:flex;}
  .nav-cta{display:none;}
}

/* ═══════════ SECTION SHELL ═══════════ */
section{padding:120px 0; position:relative;}
@media (max-width:768px){section{padding:80px 0;}}
.section-head{margin-bottom:64px; max-width:70ch;}
.eyebrow{
  font-family:var(--font-mono); font-size:0.72rem; color:var(--green-bright);
  letter-spacing:0.16em; text-transform:uppercase; margin-bottom:20px;
  display:flex; align-items:center; gap:12px;
}
.eyebrow::before{content:''; width:24px; height:1px; background:var(--green-bright);}
.eb-idx{color:var(--ink-faint);}
h2{
  font-family:var(--font-display); font-weight:600;
  font-size:clamp(1.8rem, 3.6vw, 3rem); letter-spacing:-0.015em; margin-bottom:18px; line-height:1.15;
}
.accent-green{color:var(--green-bright); font-style:normal;}
.section-lede{color:var(--ink-dim); font-size:1.04rem; max-width:60ch;}

/* split-lines reveal */
.split-lines .sl-mask{display:block; overflow:hidden;}
.split-lines .sl-line{display:block; transform:translateY(110%);}

/* ═══════════ HERO ═══════════ */
.hero{
  min-height:100svh; padding:0; display:flex; flex-direction:column; justify-content:center;
  position:relative; overflow:hidden;
}
.hero-canvas{position:absolute; inset:0; width:100%; height:100%; z-index:1;}
.hero-video-wrap{position:absolute; inset:0; z-index:0;}
.hero-video{width:100%; height:100%; object-fit:cover;}
.hero-video-tint{position:absolute; inset:0; background:linear-gradient(180deg, rgba(10,14,16,0.82), rgba(10,14,16,0.62) 50%, var(--bg) 98%);}
.hero-grid-overlay{
  position:absolute; inset:0; z-index:2; pointer-events:none;
  background:
    radial-gradient(ellipse 60% 50% at 72% 45%, rgba(31,122,82,0.16), transparent 70%),
    radial-gradient(ellipse 40% 40% at 20% 80%, rgba(127,167,201,0.06), transparent 70%);
}
.hero-wrap{position:relative; z-index:3; padding-top:120px; width:100%;}
.hero-eyebrow{
  font-family:var(--font-mono); font-size:0.74rem; color:var(--green-bright);
  letter-spacing:0.18em; margin-bottom:34px; display:flex; align-items:center; gap:12px;
}
.blink-dot{width:7px; height:7px; border-radius:50%; background:var(--green-bright); animation:blink 1.6s ease-in-out infinite;}
@keyframes blink{0%,100%{opacity:1; box-shadow:0 0 10px rgba(53,201,138,0.8);}50%{opacity:0.25; box-shadow:none;}}

.hero-title{
  font-family:var(--font-display); font-weight:600;
  font-size:clamp(2.6rem, 8.4vw, 7rem);
  line-height:0.98; letter-spacing:-0.025em; margin-bottom:36px; text-wrap:balance;
}
.ht-line{display:block; overflow:hidden;}
.ht-line > *{display:inline;}
.ht-outline{
  font-style:normal;
  color:transparent; -webkit-text-stroke:1.5px var(--ink);
}
.hero-sub{font-size:clamp(1rem, 1.4vw, 1.15rem); color:var(--ink-dim); max-width:54ch; margin-bottom:48px;}
.hero-ctas{display:flex; gap:18px; flex-wrap:wrap; margin-bottom:64px;}

.btn{
  font-family:var(--font-mono); font-size:0.84rem; padding:16px 30px;
  border-radius:2px; letter-spacing:0.03em; transition:color 0.3s ease, border-color 0.3s ease;
  display:inline-flex; align-items:center; gap:12px; border:1px solid transparent;
  cursor:pointer; position:relative; overflow:hidden; isolation:isolate;
}
.btn span, .btn i{position:relative; z-index:1; font-style:normal;}
.btn i{transition:transform 0.3s ease;}
.btn:hover i{transform:translateX(5px);}
.btn::before{
  content:''; position:absolute; inset:0; z-index:0;
  transform:scaleY(0); transform-origin:bottom;
  transition:transform 0.4s cubic-bezier(0.65,0,0.35,1);
}
.btn:hover::before{transform:scaleY(1);}
.btn-primary{background:var(--green-bright); color:#06110c; font-weight:500;}
.btn-primary::before{background:#eef2ee;}
.btn-ghost{border-color:var(--line-strong); color:var(--ink); background:transparent;}
.btn-ghost::before{background:rgba(53,201,138,0.12);}
.btn-ghost:hover{border-color:var(--green-bright); color:var(--green-bright);}

.hero-readout{
  display:flex; gap:36px; font-family:var(--font-mono); font-size:0.72rem;
  color:var(--ink-faint); flex-wrap:wrap; margin-bottom:110px;
}
.ro{display:flex; gap:10px; align-items:baseline;}
.ro-k{color:var(--green-bright); font-size:0.62rem;}
.ro-v{letter-spacing:0.06em; font-variant-numeric:tabular-nums;}
.ro-v.accent{color:var(--ink-dim);}

.hero-bottom{position:absolute; bottom:0; left:0; right:0; z-index:3; padding:26px 0; border-top:1px solid var(--line);}
.hero-bottom-row{display:flex; justify-content:space-between; align-items:center; gap:20px;}
.scroll-cue{
  display:flex; align-items:center; gap:14px; font-family:var(--font-mono);
  font-size:0.68rem; letter-spacing:0.18em; color:var(--ink-faint);
}
.scroll-cue-track{width:1px; height:34px; background:var(--line-strong); position:relative; overflow:hidden; display:block;}
.scroll-cue-dot{position:absolute; left:0; top:0; width:1px; height:10px; background:var(--green-bright); animation:cueDrop 1.8s cubic-bezier(0.65,0,0.35,1) infinite;}
@keyframes cueDrop{0%{transform:translateY(-12px);}70%,100%{transform:translateY(36px);}}
.hero-route{display:flex; align-items:center; gap:14px; font-family:var(--font-mono); font-size:0.68rem; letter-spacing:0.18em; color:var(--ink-faint);}
.hero-route-svg{width:180px; height:22px; color:var(--steel-dim); overflow:visible;}
@media (max-width:640px){.hero-route{display:none;}}

/* ═══════════ MARQUEE ═══════════ */
.marquee-band{border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:var(--bg-2); overflow:hidden; position:relative; z-index:1;}
.marquee{overflow:hidden; white-space:nowrap; padding:20px 0;}
.marquee-inner{display:inline-flex; align-items:center; gap:32px; will-change:transform;}
.marquee-inner span{
  font-family:var(--font-display); font-weight:600; font-size:clamp(1rem, 1.7vw, 1.4rem);
  letter-spacing:0.06em; color:var(--ink-dim);
}
.marquee-inner i{color:var(--green-bright); font-style:normal; font-size:0.6rem;}

/* ═══════════ TRUST ═══════════ */
.trust{background:var(--bg);}
.trust-grid{display:grid; grid-template-columns:repeat(3, 1fr); gap:1px; background:var(--line); border:1px solid var(--line);}
@media (max-width:920px){.trust-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:600px){.trust-grid{grid-template-columns:1fr;}}
.trust-item{
  background:var(--bg); padding:38px 32px; position:relative; overflow:hidden;
  transition:background 0.35s ease;
}
.trust-item:hover{background:var(--surface);}
.ti-idx{font-family:var(--font-mono); font-size:0.68rem; color:var(--green-bright); display:block; margin-bottom:18px; letter-spacing:0.1em;}
.trust-item h3{font-family:var(--font-display); font-size:1.08rem; font-weight:600; margin-bottom:10px; line-height:1.3;}
.trust-item p{font-size:0.88rem; color:var(--ink-dim);}
.ti-glow{
  position:absolute; width:220px; height:220px; border-radius:50%;
  background:radial-gradient(circle, rgba(53,201,138,0.12), transparent 70%);
  pointer-events:none; opacity:0; transition:opacity 0.3s ease; transform:translate(-50%,-50%);
}
.trust-item:hover .ti-glow{opacity:1;}

/* ═══════════ ABOUT ═══════════ */
.about{background:var(--bg-2); border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
.about-grid{display:grid; grid-template-columns:1.1fr 1fr; gap:80px; align-items:center;}
@media (max-width:920px){.about-grid{grid-template-columns:1fr; gap:48px;}}
.pill-row{display:flex; flex-wrap:wrap; gap:10px; margin-top:36px;}
.pill{
  font-family:var(--font-mono); font-size:0.74rem; color:var(--ink-dim);
  border:1px solid var(--line-strong); padding:9px 16px; border-radius:100px;
  transition:border-color 0.25s, color 0.25s;
}
.pill:hover{border-color:var(--green-bright); color:var(--green-bright);}
.about-figures{display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--line); border:1px solid var(--line);}
.fig{background:var(--bg-2); padding:34px 28px; position:relative;}
.fig::after{content:''; position:absolute; top:0; left:0; width:0; height:2px; background:var(--green-bright); transition:width 1s cubic-bezier(0.65,0,0.35,1);}
.fig.is-visible::after{width:100%;}
.fig .num{font-family:var(--font-mono); font-size:2.4rem; color:var(--green-bright); line-height:1; font-variant-numeric:tabular-nums;}
.fig .lbl{font-size:0.82rem; color:var(--ink-dim); margin-top:12px;}

/* ═══════════ SHOWCASE (scroll-scale video) ═══════════ */
.showcase{padding:0; height:260vh;}
.showcase-sticky{
  position:sticky; top:0; height:100svh; display:flex; align-items:center; justify-content:center;
  overflow:hidden;
}
.showcase-media{
  position:relative; width:52vw; height:56svh; min-width:300px;
  border:1px solid var(--line-strong); overflow:hidden; background:var(--surface);
  will-change:transform, width, height;
}
.showcase-video{width:100%; height:100%; object-fit:cover; position:absolute; inset:0;}
.showcase-fallback{
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  background:
    radial-gradient(ellipse at 30% 70%, rgba(31,122,82,0.25), transparent 60%),
    radial-gradient(ellipse at 75% 25%, rgba(127,167,201,0.12), transparent 55%),
    var(--surface);
}
.sf-rings{position:absolute; inset:0; display:flex; align-items:center; justify-content:center;}
.sf-rings i{
  position:absolute; border:1px solid rgba(53,201,138,0.25); border-radius:50%;
  animation:ringPulse 4s ease-in-out infinite;
}
.sf-rings i:nth-child(1){width:180px; height:180px;}
.sf-rings i:nth-child(2){width:320px; height:320px; animation-delay:0.6s;}
.sf-rings i:nth-child(3){width:480px; height:480px; animation-delay:1.2s;}
@keyframes ringPulse{0%,100%{transform:scale(1); opacity:0.5;}50%{transform:scale(1.06); opacity:1;}}
.sf-note{font-family:var(--font-mono); font-size:0.62rem; letter-spacing:0.2em; color:var(--ink-faint); position:relative;}
.showcase-hud{position:absolute; inset:0; pointer-events:none; font-family:var(--font-mono); font-size:0.62rem; letter-spacing:0.12em; color:rgba(238,242,238,0.75); text-shadow:0 1px 6px rgba(0,0,0,0.8);}
.hud{position:absolute;}
.hud.tl{top:16px; left:18px; color:var(--green-bright);}
.hud.tr{top:16px; right:18px;}
.hud.bl{bottom:16px; left:18px;}
.hud.br{bottom:16px; right:18px;}
.showcase-title{
  position:absolute; z-index:2; text-align:center; pointer-events:none;
  font-family:var(--font-display); font-weight:600;
  font-size:clamp(2rem, 6vw, 5rem); letter-spacing:-0.02em; line-height:1.05;
  mix-blend-mode:difference; padding:0 5vw;
}
.showcase-title span{display:inline-block;}

/* ═══════════ INDUSTRIES ═══════════ */
.industries{padding-bottom:140px;}
.ind-list{border-top:1px solid var(--line); position:relative; z-index:1;}
.ind-row{
  display:grid; grid-template-columns:80px 1fr auto 60px; align-items:center; gap:24px;
  padding:34px 40px; border-bottom:1px solid var(--line); position:relative;
  transition:background 0.3s ease; max-width:1240px; margin:0 auto;
}
.ind-row:hover{background:rgba(53,201,138,0.04);}
.ind-idx{font-family:var(--font-mono); font-size:0.75rem; color:var(--ink-faint);}
.ind-name{
  font-family:var(--font-display); font-weight:600;
  font-size:clamp(1.4rem, 3.2vw, 2.4rem); letter-spacing:-0.01em; line-height:1.1;
  transition:transform 0.35s cubic-bezier(0.65,0,0.35,1), color 0.3s;
}
.ind-row:hover .ind-name{transform:translateX(16px); color:var(--green-bright);}
.ind-tag{font-family:var(--font-mono); font-size:0.66rem; letter-spacing:0.14em; color:var(--ink-faint); text-align:right;}
.ind-arr{
  font-size:1.4rem; color:var(--ink-faint); text-align:right;
  transition:transform 0.35s cubic-bezier(0.65,0,0.35,1), color 0.3s;
}
.ind-row:hover .ind-arr{transform:translateX(8px) rotate(-45deg); color:var(--green-bright);}
@media (max-width:768px){
  .ind-row{grid-template-columns:44px 1fr 30px; padding:24px 22px;}
  .ind-tag{display:none;}
}
.ind-preview{
  position:fixed; z-index:90; width:320px; height:220px; pointer-events:none;
  overflow:hidden; opacity:0; transform:scale(0.9);
  border:1px solid var(--line-strong); background:var(--surface-2);
  display:none;
}
.ind-preview img{width:100%; height:100%; object-fit:cover; position:absolute; inset:0;}
.ind-preview-fallback{
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  background:radial-gradient(circle at 50% 50%, rgba(31,122,82,0.35), var(--surface-2) 75%);
  color:var(--green-bright); font-size:1.6rem;
}

/* ═══════════ CAPABILITIES — horizontal ═══════════ */
.caps{padding:0; background:var(--bg-2); border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
.caps-pin{height:100svh; display:flex; flex-direction:column; justify-content:center; overflow:hidden;}
.caps-head{width:100%; margin-bottom:48px;}
.caps-progress{margin-top:28px; height:1px; background:var(--line-strong); max-width:320px;}
.caps-progress-bar{height:2px; margin-top:-0.5px; width:0%; background:var(--green-bright); box-shadow:0 0 8px rgba(53,201,138,0.6);}
.caps-track{display:flex; gap:24px; padding:0 40px; will-change:transform; width:max-content;}
.cap-card{
  width:min(380px, 78vw); flex:none; background:var(--surface); border:1px solid var(--line);
  padding:0 0 28px; transition:border-color 0.3s ease, transform 0.3s ease;
}
.cap-card:hover{border-color:rgba(53,201,138,0.5); transform:translateY(-6px);}
.cap-media{
  height:220px; position:relative; overflow:hidden; margin-bottom:24px;
  background:
    radial-gradient(ellipse at 60% 40%, rgba(31,122,82,0.28), transparent 65%),
    linear-gradient(160deg, var(--surface-2), var(--surface));
  border-bottom:1px solid var(--line);
}
.cap-media img{width:100%; height:100%; object-fit:cover; position:absolute; inset:0;}
.cap-num{
  position:absolute; bottom:12px; right:16px; font-family:var(--font-mono);
  font-size:2.6rem; color:rgba(238,242,238,0.14); line-height:1; z-index:1;
}
.cap-card h3{font-family:var(--font-display); font-size:1.2rem; font-weight:600; margin:0 26px 8px;}
.cap-card p{font-size:0.88rem; color:var(--ink-dim); margin:0 26px 18px;}
.cap-code{font-family:var(--font-mono); font-size:0.64rem; letter-spacing:0.14em; color:var(--green-bright); margin:0 26px;}

/* ═══════════ MATERIALS ═══════════ */
.materials{padding:90px 0;}
.mat-cloud{display:flex; flex-wrap:wrap; gap:12px; margin-top:36px;}
.qbadge{
  font-family:var(--font-mono); font-size:0.76rem; color:var(--ink-dim);
  border:1px solid var(--line-strong); padding:10px 18px; border-radius:2px;
  transition:border-color 0.25s, color 0.25s, background 0.25s;
}
.qbadge:hover{border-color:var(--green-bright); color:var(--green-bright); background:rgba(53,201,138,0.06);}
.qbadge.alt{border-style:dashed; color:var(--ink-faint);}

/* ═══════════ WHY INDIA ═══════════ */
.why-india{background:var(--bg-2); border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
.why-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line);}
@media (max-width:920px){.why-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:600px){.why-grid{grid-template-columns:1fr;}}
.why-item{background:var(--bg-2); padding:32px 28px; transition:background 0.3s;}
.why-item:hover{background:var(--surface);}
.why-idx{font-family:var(--font-mono); font-size:0.68rem; color:var(--green-bright); margin-bottom:14px; display:block;}
.why-item h3{font-family:var(--font-display); font-size:1rem; font-weight:600; margin-bottom:8px;}
.why-item p{font-size:0.86rem; color:var(--ink-dim);}

/* ═══════════ QUALIFY ═══════════ */
.qsteps{position:relative; display:grid; grid-template-columns:repeat(7,1fr); gap:20px; margin-bottom:56px;}
.qline{position:absolute; top:14px; left:0; right:0; height:1px; background:var(--line-strong);}
.qline-fill{height:2px; margin-top:-0.5px; width:0%; background:var(--green-bright); box-shadow:0 0 8px rgba(53,201,138,0.5);}
.qstep{position:relative; padding-top:40px;}
.qstep::before{
  content:''; position:absolute; top:8px; left:0; width:13px; height:13px;
  border:1px solid var(--line-strong); background:var(--bg); border-radius:50%;
  transition:border-color 0.4s, background 0.4s, box-shadow 0.4s;
}
.qstep.is-active::before{border-color:var(--green-bright); background:var(--green-bright); box-shadow:0 0 12px rgba(53,201,138,0.7);}
.qstep .qn{font-family:var(--font-mono); font-size:0.66rem; color:var(--green-bright); display:block; margin-bottom:8px;}
.qstep h4{font-family:var(--font-display); font-size:0.95rem; font-weight:600; line-height:1.3; margin-bottom:6px;}
.qstep p{font-size:0.76rem; color:var(--ink-faint); line-height:1.5;}
@media (max-width:920px){
  .qsteps{grid-template-columns:1fr 1fr; gap:32px 24px;}
  .qline{display:none;}
  .qstep{padding-top:0; padding-left:28px;}
  .qstep::before{top:4px;}
}
.quality-badges{display:flex; flex-wrap:wrap; gap:10px;}

/* ═══════════ PROCESS ═══════════ */
.proc-list{position:relative;}
.proc-list::before{
  content:''; position:absolute; top:0; bottom:0; left:calc(40px + 29px);
  width:1px; background:var(--line);
}
.proc-item{
  display:grid; grid-template-columns:60px 1fr 40px; gap:36px; align-items:start;
  padding:36px 40px; border-bottom:1px solid var(--line); position:relative;
}
.proc-item:first-child{border-top:1px solid var(--line);}
.pi-idx{
  font-family:var(--font-mono); font-size:1.5rem; color:var(--ink-faint);
  transition:color 0.4s ease; line-height:1.2; position:relative; z-index:1; background:var(--bg);
  padding:4px 0;
}
.proc-item.is-visible .pi-idx{color:var(--green-bright);}
.pi-body h3{font-family:var(--font-display); font-size:1.3rem; font-weight:600; margin-bottom:6px;}
.pi-body p{color:var(--ink-dim); font-size:0.94rem; max-width:58ch;}
.pi-tick{color:var(--line-strong); font-size:0.6rem; transition:color 0.4s, text-shadow 0.4s; margin-top:12px;}
.proc-item.is-visible .pi-tick{color:var(--green-bright); text-shadow:0 0 10px rgba(53,201,138,0.8);}
@media (max-width:640px){
  .proc-item{grid-template-columns:44px 1fr; padding:28px 22px;}
  .pi-tick{display:none;}
  .proc-list::before{left:calc(22px + 21px);}
}

/* ═══════════ COMPARE ═══════════ */
.compare-tablewrap{overflow-x:auto; border:1px solid var(--line);}
.compare table{width:100%; border-collapse:collapse; min-width:640px;}
.compare th, .compare td{text-align:left; padding:18px 24px; font-size:0.92rem; border-bottom:1px solid var(--line);}
.compare tr:last-child td{border-bottom:none;}
.compare th{
  font-family:var(--font-mono); font-size:0.7rem; letter-spacing:0.1em; text-transform:uppercase;
  color:var(--ink-faint); font-weight:500; border-bottom:1px solid var(--line-strong);
}
.compare th.us{color:var(--green-bright);}
.compare td.us{color:var(--ink); background:rgba(53,201,138,0.05); position:relative;}
.compare td.us::before{content:'✓ '; color:var(--green-bright);}
.compare td.them{color:var(--ink-faint);}
.compare tr{opacity:0; transform:translateY(16px); transition:opacity 0.6s ease, transform 0.6s ease;}
.compare tr.is-visible{opacity:1; transform:none;}

/* ═══════════ TRACKS ═══════════ */
.tracksection{background:var(--bg-2); border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
.tracks{display:grid; grid-template-columns:1fr 1fr; gap:24px;}
@media (max-width:920px){.tracks{grid-template-columns:1fr;}}
.track{
  background:var(--surface); padding:52px 46px; border:1px solid var(--line);
  position:relative; overflow:hidden; transition:border-color 0.3s;
  transform-style:preserve-3d; will-change:transform;
}
.track::before{content:''; position:absolute; top:0; left:0; right:0; height:2px;}
.track.buyers::before{background:var(--steel);}
.track.makers::before{background:var(--green-bright);}
.track:hover{border-color:var(--line-strong);}
.track .eyebrow2{font-family:var(--font-mono); font-size:0.68rem; letter-spacing:0.14em; margin-bottom:22px;}
.track.buyers .eyebrow2{color:var(--steel);}
.track.makers .eyebrow2{color:var(--green-bright);}
.track h3{font-family:var(--font-display); font-size:1.55rem; font-weight:600; margin-bottom:14px; letter-spacing:-0.01em;}
.track p{color:var(--ink-dim); font-size:0.95rem; margin-bottom:32px;}

/* ═══════════ FAQ ═══════════ */
.faq-grid{display:grid; grid-template-columns:1fr 1.4fr; gap:80px; align-items:start;}
@media (max-width:920px){.faq-grid{grid-template-columns:1fr; gap:40px;}}
.faq-side{position:sticky; top:120px;}
@media (max-width:920px){.faq-side{position:static;}}
.faq-list{border-top:1px solid var(--line);}
.faq-item{border-bottom:1px solid var(--line);}
.faq-item summary{
  list-style:none; display:flex; justify-content:space-between; align-items:center; gap:20px;
  padding:26px 4px; font-family:var(--font-display); font-size:1.05rem; font-weight:600;
  transition:color 0.25s;
}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary:hover{color:var(--green-bright);}
.faq-item summary i{
  flex:none; width:22px; height:22px; position:relative; font-style:normal;
}
.faq-item summary i::before, .faq-item summary i::after{
  content:''; position:absolute; background:var(--green-bright); transition:transform 0.35s cubic-bezier(0.65,0,0.35,1);
}
.faq-item summary i::before{top:50%; left:0; width:100%; height:1.5px; transform:translateY(-50%);}
.faq-item summary i::after{left:50%; top:0; height:100%; width:1.5px; transform:translateX(-50%);}
.faq-item[open] summary i::after{transform:translateX(-50%) scaleY(0);}
.faq-a{overflow:hidden;}
.faq-a p{color:var(--ink-dim); font-size:0.93rem; max-width:64ch; padding:0 4px 26px;}

/* ═══════════ CONTACT ═══════════ */
.contact{background:var(--bg-2); border-top:1px solid var(--line);}
.contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:80px;}
@media (max-width:920px){.contact-grid{grid-template-columns:1fr; gap:48px;}}
.contact-info dl{display:flex; flex-direction:column; gap:24px; margin-top:40px;}
.contact-info dt{font-family:var(--font-mono); font-size:0.66rem; color:var(--ink-faint); letter-spacing:0.14em; margin-bottom:6px;}
.contact-info dd{font-size:1rem;}
.contact-info dd a{border-bottom:1px solid var(--line-strong); transition:border-color 0.2s ease, color 0.2s ease;}
.contact-info dd a:hover{color:var(--green-bright); border-color:var(--green-bright);}
.callout{
  border:1px solid var(--green-dim); background:rgba(31,122,82,0.07);
  padding:24px 26px; font-size:0.9rem; color:var(--ink-dim); line-height:1.6; margin-top:36px;
}
.callout strong{color:var(--ink);}

.rfq-form{display:flex; flex-direction:column; gap:20px;}
.hp{display:none;}
.field label{display:block; font-family:var(--font-mono); font-size:0.66rem; color:var(--ink-faint); letter-spacing:0.14em; margin-bottom:10px;}
.field input, .field textarea, .field select{
  width:100%; background:var(--surface-2); border:1px solid var(--line-strong);
  color:var(--ink); padding:14px 16px; font-family:var(--font-body); font-size:0.95rem;
  border-radius:2px; transition:border-color 0.25s, box-shadow 0.25s;
}
.field textarea{resize:vertical; min-height:110px;}
.field input:focus, .field textarea:focus, .field select:focus{
  border-color:var(--green-bright); box-shadow:0 0 0 3px rgba(53,201,138,0.12); outline:none;
}
.field select option{background:var(--surface-2);}
.field-file{border:1px dashed var(--line-strong) !important; color:var(--ink-faint);}
.field-hint{font-size:0.74rem; color:var(--ink-faint); margin-top:8px;}

/* ═══════════ FOOTER ═══════════ */
footer{padding:0 0 40px; border-top:1px solid var(--line); overflow:hidden;}
.footer-big{
  overflow:hidden; white-space:nowrap; padding:48px 0 40px;
  border-bottom:1px solid var(--line); user-select:none;
}
.footer-big-inner{
  display:inline-block; font-family:var(--font-display); font-weight:700;
  font-size:clamp(4rem, 12vw, 11rem); line-height:1; letter-spacing:-0.02em;
  color:transparent; -webkit-text-stroke:1px rgba(238,242,238,0.16);
  will-change:transform;
}
.footer-row{display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px; padding-top:40px;}
.fmark{font-family:var(--font-mono); font-size:0.78rem; color:var(--ink-faint); display:flex; align-items:center; gap:12px;}
.fmark img{height:22px; width:auto;}
.footer-links{display:flex; gap:8px; font-size:0.84rem; color:var(--ink-faint); align-items:center;}
.footer-links a:not(.li-icon){padding:10px 8px; transition:color 0.2s;}
.footer-links a:hover{color:var(--green-bright);}
.footer-meta{
  display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px;
  margin-top:28px; padding-top:28px; border-top:1px solid var(--line);
  font-size:0.82rem; color:var(--ink-faint);
}
.footer-meta .loc b{color:var(--ink-dim); font-weight:500;}
.footer-founder{display:flex; align-items:center; gap:10px;}
.footer-legal{margin-top:24px; padding-top:24px; border-top:1px solid var(--line); font-size:0.76rem; color:var(--ink-faint); line-height:1.6;}

/* ═══════════ REDUCED MOTION ═══════════ */
@media (prefers-reduced-motion: reduce){
  *{animation-duration:0.01ms !important; animation-iteration-count:1 !important; transition-duration:0.01ms !important;}
  .split-lines .sl-line{transform:none !important;}
  .hero-canvas{display:none;}
}
