/* ================================================================
   TRIOBOTICS — Main Stylesheet
   Edit colors in :root {} (dark theme) and [data-theme="light"] {}
================================================================ */

/* ================================================================
   THEME SYSTEM
================================================================ */
:root {
  --bg:       #0A0A0A; --s1:#111111; --s2:#161616; --s3:#1C1C1C; --s4:#222222;
  --t1:#F0ECE6; --t2:#B0B0B0; --t3:#7A7A7A;
  --bd:rgba(255,255,255,0.06); --bds:rgba(255,255,255,0.12);
  --red:#C41230; --rg:#E8153A; --rd:#8A0D22; --gold:#C9A96E;
  --sh1:0 2px 12px rgba(0,0,0,0.45); --sh2:0 8px 32px rgba(0,0,0,0.55); --sh3:0 20px 60px rgba(0,0,0,0.65);
  --eo:cubic-bezier(0.16,1,0.3,1); --es:cubic-bezier(0.25,0.46,0.45,0.94);
}
[data-theme="light"] {
  --bg:#F4F0E8; --s1:#FFFFFF; --s2:#F8F5EF; --s3:#EDE8DE; --s4:#E4DFD4;
  --t1:#0A0A0A; --t2:#3D3D3D; --t3:#6A6A6A;
  --bd:rgba(0,0,0,0.08); --bds:rgba(0,0,0,0.15);
  --red:#C41230; --rg:#E8153A; --rd:#8A0D22; --gold:#9A7530;
  --sh1:0 2px 12px rgba(0,0,0,0.07); --sh2:0 8px 32px rgba(0,0,0,0.1); --sh3:0 20px 60px rgba(0,0,0,0.13);
}
.theme-switching *, .theme-switching *::before, .theme-switching *::after {
  transition: background-color .45s ease, color .35s ease,
              border-color .35s ease, box-shadow .35s ease !important;
}

/* ================================================================
   RESET & BASE
================================================================ */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; font-size:16px; }
body {
  background:var(--bg); color:var(--t1);
  font-family:'Outfit',sans-serif; font-weight:400; line-height:1.6;
  overflow-x:hidden; cursor:none;
  -webkit-font-smoothing:antialiased;
}
body.locked { overflow:hidden; }
::selection { background:var(--red); color:#F0ECE6; }

/* ================================================================
   CUSTOM CURSOR
================================================================ */
#cdot {
  position:fixed; width:8px; height:8px; background:var(--rg);
  border-radius:50%; pointer-events:none; z-index:10000;
  transform:translate(-50%,-50%); will-change:left,top;
  mix-blend-mode:difference;
}
#cring {
  position:fixed; width:40px; height:40px;
  border:1.5px solid rgba(196,18,48,.5); border-radius:50%;
  pointer-events:none; z-index:9999;
  transform:translate(-50%,-50%); will-change:left,top;
  transition:width .3s var(--eo), height .3s var(--eo), border-color .3s;
}
#cring.big { width:62px; height:62px; border-color:var(--rg); }
@media(max-width:1024px){ #cdot,#cring{display:none} body{cursor:auto} }

/* ================================================================
   LOADER
================================================================ */
#loader {
  position:fixed; inset:0; background:#0A0A0A; z-index:9998;
  display:flex; align-items:center; justify-content:center;
  transition:transform .95s var(--eo);
}
#loader.out { transform:translateY(-100%); }
.ld { width:320px; text-align:center; }
.ld-brand { font-family:'Space Mono',monospace; font-size:1.85rem; letter-spacing:.55em; color:#F0ECE6; margin-bottom:.2rem; }
.ld-brand b { color:#C41230; }
.ld-sub { font-family:'Space Mono',monospace; font-size:.5rem; letter-spacing:.45em; color:#7A7A7A; margin-bottom:3rem; }
.ld-track { width:100%; height:1px; background:rgba(255,255,255,.05); overflow:hidden; margin-bottom:1rem; }
.ld-bar { height:1px; width:0; background:linear-gradient(90deg,#8A0D22,#E8153A); animation:ldFill 2.1s var(--es) forwards; }
@keyframes ldFill { 0%{width:0} 35%{width:30%} 70%{width:68%} 100%{width:100%} }
.ld-lbl { font-family:'Space Mono',monospace; font-size:.5rem; letter-spacing:.35em; color:#7A7A7A; animation:blink 1.2s ease infinite; }
@keyframes blink { 0%,100%{opacity:.5} 50%{opacity:1} }

/* ================================================================
   NAVIGATION
================================================================ */
#nav {
  position:fixed; top:0; left:0; right:0; z-index:800;
  padding:1.75rem 4rem;
  transition:padding .4s ease, background .4s ease, backdrop-filter .4s ease, border-color .4s ease;
  border-bottom:1px solid transparent;
}
#nav.stuck {
  padding:1rem 4rem;
  background:rgba(10,10,10,.92);
  backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px);
  border-bottom-color:var(--bd);
}
[data-theme="light"] #nav.stuck { background:rgba(244,240,232,.93); }
.nav-in {
  display:flex; align-items:center; justify-content:space-between;
  max-width:1440px; margin:0 auto;
}
.nav-logo { font-family:'Space Mono',monospace; font-size:.95rem; letter-spacing:.28em; color:var(--t1); text-decoration:none; display:flex; align-items:center; gap:.6rem; }
.nav-logo-icon { width:28px; height:28px; flex-shrink:0; }
.nav-logo b { color:var(--red); font-weight:400; }
.nav-links { display:flex; align-items:center; gap:2.5rem; }
.nav-links a {
  font-family:'Space Mono',monospace; font-size:.6rem; letter-spacing:.14em;
  text-transform:uppercase; color:var(--t3); text-decoration:none;
  position:relative; transition:color .3s;
}
.nav-links a::after { content:''; position:absolute; bottom:-4px; left:0; width:0; height:1px; background:var(--red); transition:width .3s; }
.nav-links a:hover { color:var(--t1); }
.nav-links a:hover::after { width:100%; }
.nav-cta {
  font-family:'Space Mono',monospace; font-size:.6rem; letter-spacing:.14em;
  text-transform:uppercase; background:var(--red); color:#F0ECE6 !important;
  padding:.6rem 1.2rem; text-decoration:none; border:1px solid var(--red);
  transition:all .3s !important;
}
.nav-cta::after { display:none !important; }
.nav-cta:hover { background:var(--rg) !important; box-shadow:0 0 24px rgba(232,21,58,.35) !important; transform:translateY(-1px) !important; }

/* Theme Toggle */
.nav-right { display:flex; align-items:center; gap:1.5rem; }
.tbtn {
  width:40px; height:40px; border-radius:50%;
  background:var(--s2); border:1px solid var(--bd);
  display:flex; align-items:center; justify-content:center;
  cursor:pointer; color:var(--t2);
  transition:all .3s; flex-shrink:0;
}
.tbtn:hover { background:var(--s3); border-color:var(--red); color:var(--red); transform:rotate(18deg); }
.tbtn svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; }
.i-sun { display:none; }
.i-moon { display:block; }
[data-theme="light"] .i-sun { display:block; }
[data-theme="light"] .i-moon { display:none; }

/* Hamburger */
.ham { display:none; flex-direction:column; gap:5px; background:none; border:none; cursor:pointer; padding:4px; }
.ham span { display:block; width:22px; height:1px; background:var(--t1); transition:all .3s; }
.ham.on span:nth-child(1) { transform:translateY(6px) rotate(45deg); }
.ham.on span:nth-child(2) { opacity:0; }
.ham.on span:nth-child(3) { transform:translateY(-6px) rotate(-45deg); }

/* Mobile Menu */
#mob {
  position:fixed; inset:0; background:var(--bg); z-index:799;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.5rem;
  transform:translateX(100%); transition:transform .5s var(--eo);
}
#mob.on { transform:translateX(0); }
#mob a { font-family:'Space Mono',monospace; font-size:1.4rem; letter-spacing:.15em; text-transform:uppercase; color:var(--t3); text-decoration:none; padding:.75rem 2rem; transition:color .3s; }
#mob a:hover { color:var(--red); }

/* ================================================================
   SHARED
================================================================ */
section { position:relative; overflow:hidden; }
.w { max-width:1440px; margin:0 auto; padding:7rem 4rem; }
.slbl { font-family:'Space Mono',monospace; font-size:.58rem; letter-spacing:.42em; text-transform:uppercase; color:var(--red); margin-bottom:.75rem; }
.stitle { font-family:'Playfair Display',serif; font-size:clamp(2rem,4vw,3.2rem); font-weight:700; line-height:1.15; margin-bottom:1.1rem; }
.stitle .r { color:var(--red); }
.stitle .sk { -webkit-text-stroke:1px var(--t1); color:transparent; }
[data-theme="light"] .stitle .sk { -webkit-text-stroke-color:var(--t1); }
.sdesc { font-size:.97rem; color:var(--t2); line-height:1.75; max-width:600px; margin-bottom:3.5rem; }
.rule { width:50px; height:1px; background:var(--red); margin-bottom:1.75rem; }

/* Backgrounds */
.bgf {
  position:absolute; inset:0; pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80'%3E%3Cpath d='M0 0L80 80M80 0L0 80' stroke='rgba(128,128,128,0.04)' stroke-width='0.5'/%3E%3C/svg%3E");
  background-size:80px 80px;
}
.bgg {
  position:absolute; inset:0; pointer-events:none;
  background-image:linear-gradient(rgba(196,18,48,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(196,18,48,.025) 1px,transparent 1px);
  background-size:64px 64px;
}
[data-theme="light"] .bgg {
  background-image:linear-gradient(rgba(0,0,0,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.04) 1px,transparent 1px);
}

/* Scroll Reveal */
.rv { opacity:0; transform:translateY(40px); transition:opacity .75s var(--eo), transform .75s var(--eo); will-change:opacity,transform; }
.rv.on { opacity:1; transform:none; }
.d1{transition-delay:.08s} .d2{transition-delay:.16s} .d3{transition-delay:.24s}
.d4{transition-delay:.32s} .d5{transition-delay:.40s} .d6{transition-delay:.48s}

/* ================================================================
   HERO
================================================================ */
#hero { min-height:100vh; background:var(--bg); display:flex; align-items:center; }
.hero-glow { position:absolute; inset:0; pointer-events:none; background:radial-gradient(ellipse 70% 60% at 62% 50%, rgba(196,18,48,.07) 0%, transparent 65%); }
[data-theme="light"] .hero-glow { background:radial-gradient(ellipse 70% 60% at 62% 50%, rgba(196,18,48,.05) 0%, transparent 65%); }
.hero-vl { position:absolute; left:5.5rem; top:0; bottom:0; width:1px; background:linear-gradient(to bottom,transparent,rgba(196,18,48,.65) 30%,rgba(196,18,48,.65) 70%,transparent); }
.hero-wm { position:absolute; right:-2rem; bottom:-3rem; font-family:'Playfair Display',serif; font-size:clamp(16rem,28vw,30rem); font-weight:900; color:var(--t1); opacity:.02; line-height:1; pointer-events:none; user-select:none; }
.hero-cnt { position:relative; z-index:1; max-width:1440px; margin:0 auto; padding:0 4rem 0 9rem; width:100%; }
.hero-eye { font-family:'Space Mono',monospace; font-size:.65rem; letter-spacing:.35em; text-transform:uppercase; color:var(--red); margin-bottom:1.75rem; opacity:0; transform:translateY(24px); animation:fuv .9s var(--eo) 2.1s forwards; }
.hero-h1 { font-family:'Playfair Display',serif; font-size:clamp(3rem,7vw,7.5rem); font-weight:900; line-height:1.02; margin-bottom:1.75rem; }
.h1s { display:block; -webkit-text-stroke:1.5px var(--t1); color:transparent; opacity:0; transform:translateY(24px); animation:fuv .9s var(--eo) 2.3s forwards; }
[data-theme="light"] .h1s { -webkit-text-stroke-color:#0A0A0A; }
.h1c { display:block; color:var(--red); opacity:0; transform:translateY(24px); animation:fuv .9s var(--eo) 2.5s forwards; }
.hero-p { font-size:1.05rem; color:var(--t2); line-height:1.75; max-width:520px; margin-bottom:2.5rem; opacity:0; transform:translateY(24px); animation:fuv .9s var(--eo) 2.7s forwards; }
.hero-tags { display:flex; flex-wrap:wrap; gap:.6rem; opacity:0; transform:translateY(24px); animation:fuv .9s var(--eo) 2.9s forwards; }
.htag { font-family:'Space Mono',monospace; font-size:.58rem; letter-spacing:.12em; text-transform:uppercase; color:var(--t2); border:1px solid var(--bd); padding:.5rem 1rem; cursor:pointer; transition:all .3s; }
.htag:hover { border-color:var(--red); color:var(--red); }
.scrl { position:absolute; bottom:2.5rem; left:9rem; display:flex; align-items:center; gap:1rem; opacity:0; animation:fdi 1s ease 3.3s forwards; }
.strack { width:40px; height:1px; background:var(--bds); overflow:hidden; position:relative; }
.sbeam { position:absolute; left:-100%; top:0; width:100%; height:100%; background:var(--red); animation:beam 2.2s ease-in-out 3.6s infinite; }
.slbl2 { font-family:'Space Mono',monospace; font-size:.5rem; letter-spacing:.35em; text-transform:uppercase; color:var(--t3); }
@keyframes fuv { to{opacity:1;transform:none} }
@keyframes fdi { to{opacity:1} }
@keyframes beam { 0%{left:-100%} 50%{left:0} 100%{left:100%} }

/* ================================================================
   STATS
================================================================ */
#stats { background:var(--s1); border-top:1px solid var(--bd); border-bottom:1px solid var(--bd); }
.stats-g { max-width:1440px; margin:0 auto; padding:3.5rem 4rem; display:grid; grid-template-columns:repeat(4,1fr); gap:2rem; }
.stat { text-align:center; padding:1rem; border-right:1px solid var(--bd); }
.stat:last-child { border-right:none; }
.stat-n { font-family:'Playfair Display',serif; font-size:clamp(2rem,3.5vw,3rem); font-weight:900; color:var(--red); line-height:1; margin-bottom:.5rem; }
.stat-n sup { font-size:.55em; vertical-align:super; }
.stat-l { font-family:'Space Mono',monospace; font-size:.6rem; letter-spacing:.2em; text-transform:uppercase; color:var(--t3); }

/* ================================================================
   MARQUEE
================================================================ */
.mq { background:var(--s2); border-bottom:1px solid var(--bd); padding:.85rem 0; overflow:hidden; }
.mqt { display:flex; width:max-content; animation:mqs 28s linear infinite; }
.mqt:hover { animation-play-state:paused; }
.mi { font-family:'Space Mono',monospace; font-size:.6rem; letter-spacing:.28em; text-transform:uppercase; color:var(--t3); white-space:nowrap; padding:0 1.75rem; }
.ms { color:var(--red); font-size:.45rem; align-self:center; }
@keyframes mqs { from{transform:translateX(0)} to{transform:translateX(-50%)} }

/* ================================================================
   ABOUT
================================================================ */
#about { background:var(--s1); }
.about-g { display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:start; }
.about-grid { display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:start; }
.abt h2 { font-family:'Playfair Display',serif; font-size:clamp(1.8rem,3vw,2.6rem); font-weight:700; line-height:1.2; margin-bottom:1.5rem; }
.abt h2 .r { color:var(--red); }
.abt p { color:var(--t2); line-height:1.8; margin-bottom:1.35rem; font-size:.97rem; }
.tagrow { display:flex; flex-wrap:wrap; gap:.5rem; margin-top:2rem; }
.ttag { font-family:'Space Mono',monospace; font-size:.56rem; letter-spacing:.1em; text-transform:uppercase; color:var(--t3); border:1px solid var(--bd); padding:.38rem .8rem; transition:all .3s; }
.ttag:hover { border-color:var(--red); color:var(--red); }

/* Process Section */
.process-section { background:var(--s1); padding:7rem 4rem; }
.process-section .rv { margin-bottom:3.5rem; }
.pg { display:grid; grid-template-columns:repeat(4,1fr); gap:2px; }
.pc { background:var(--s2); padding:0; position:relative; overflow:hidden; transition:all .3s; display:flex; flex-direction:column; }
.pc-img { width:100%; height:200px; overflow:hidden; }
.pc-img img { width:100%; height:100%; object-fit:cover; transition:transform .45s var(--eo); }
.pc:hover .pc-img img { transform:scale(1.05); }
.pc-content { padding:1.75rem; flex:1; display:flex; flex-direction:column; }
.pc::before { content:''; position:absolute; left:0; top:0; width:3px; height:0; background:var(--red); transition:height .45s var(--eo); z-index:2; }
.pc:hover::before { height:100%; }
.pc:hover { background:var(--s3); }
.pcn { font-family:'Space Mono',monospace; font-size:.6rem; color:var(--red); letter-spacing:.2em; margin-bottom:.7rem; padding:1.75rem 1.75rem 0 1.75rem; }
.pct { font-family:'Playfair Display',serif; font-size:1.1rem; font-weight:700; margin-bottom:.65rem; padding:0 1.75rem; }
.pcd { font-size:.83rem; color:var(--t2); line-height:1.6; padding:0 1.75rem 1.75rem 1.75rem; }

/* Contact Section */
.contact-sec { background:var(--s2); padding:2.5rem 2rem; border:1px solid var(--bd); transition:all .3s; }
.contact-sec h3 { font-family:'Playfair Display',serif; font-size:clamp(1.5rem,2.5vw,1.8rem); font-weight:700; line-height:1.2; margin-bottom:1.5rem; }
.contact-info { display:flex; flex-direction:column; gap:1.5rem; margin:2rem 0; }
.contact-item { display:flex; flex-direction:column; gap:.35rem; }
.ci-label { font-family:'Space Mono',monospace; font-size:.58rem; letter-spacing:.2em; text-transform:uppercase; color:var(--red); }
.ci-value { font-size:.95rem; color:var(--t2); }
.ci-value a { color:var(--rg); text-decoration:none; transition:color .3s; }
.ci-value a:hover { color:var(--gold); text-decoration:underline; }
.contact-cta { display:inline-block; margin-top:1rem; background:var(--red); color:#F0ECE6 !important; padding:.65rem 1.5rem; text-decoration:none; font-size:.85rem; font-family:'Space Mono',monospace; letter-spacing:.1em; transition:all .3s; }
.contact-cta:hover { background:var(--rg); box-shadow:0 0 20px rgba(232,21,58,.3); transform:translateY(-2px); }

/* ================================================================
   RESINS
================================================================ */
#resins { background:var(--bg); }
.rg3 { display:grid; grid-template-columns:repeat(3,1fr); gap:2px; }
.rc { background:var(--s1); padding:2.75rem 2.25rem; position:relative; overflow:hidden; transition:background .3s; }
.rc::after { content:''; position:absolute; bottom:0; left:0; right:0; height:2px; background:linear-gradient(90deg,var(--rd),var(--rg)); transform:scaleX(0); transform-origin:left; transition:transform .4s var(--eo); }
.rc:hover::after { transform:scaleX(1); }
.rc:hover { background:var(--s2); }
.rcc { font-family:'Space Mono',monospace; font-size:.58rem; letter-spacing:.3em; color:var(--red); margin-bottom:.75rem; }
.rct { font-family:'Playfair Display',serif; font-size:1.3rem; font-weight:700; margin-bottom:1.25rem; }
.rcl { list-style:none; display:flex; flex-direction:column; gap:.55rem; }
.rcl li { font-size:.83rem; color:var(--t2); padding-left:1.25rem; position:relative; line-height:1.45; }
.rcl li::before { content:'—'; position:absolute; left:0; color:var(--red); font-size:.65rem; }

/* ================================================================
   GELCOATS
================================================================ */
#gelcoats { background:var(--s1); }
.gcg { display:grid; grid-template-columns:1fr 1fr; gap:4.5rem; align-items:start; }
.gcl { display:flex; flex-direction:column; }
.gci { padding:1.5rem 1.5rem 1.5rem 2rem; position:relative; border-bottom:1px solid var(--bd); transition:background .3s; }
.gci::before { content:''; position:absolute; left:0; top:0; bottom:0; width:2px; background:transparent; transition:background .3s; }
.gci:hover::before { background:var(--red); }
.gci:hover { background:var(--s2); }
.gcin { font-family:'Space Mono',monospace; font-size:.52rem; color:var(--red); letter-spacing:.2em; margin-bottom:.3rem; }
.gcit { font-size:.95rem; font-weight:600; margin-bottom:.35rem; }
.gcid { font-size:.82rem; color:var(--t2); line-height:1.55; }
.cbox { background:var(--s2); border:1px solid var(--bd); position:relative; overflow:hidden; }
.cbox::before { content:''; position:absolute; top:0; left:0; right:0; height:3px; background:linear-gradient(90deg,var(--rd),var(--rg)); }
.cbox::after { content:''; position:absolute; top:3px; left:0; right:0; height:1px; background:linear-gradient(90deg,#e8153a,#e8a015,#c8e815,#15e840,#15a0e8,#8015e8,#e815c4); opacity:.35; }
.cbin { padding:2.75rem 2.5rem; }
.cbl { font-family:'Space Mono',monospace; font-size:.58rem; letter-spacing:.3em; color:var(--red); margin-bottom:1rem; }
.cbt { font-family:'Playfair Display',serif; font-size:1.5rem; font-weight:700; margin-bottom:1.75rem; }
.cblist { list-style:none; display:flex; flex-direction:column; gap:.85rem; }
.cblist li { font-size:.86rem; color:var(--t2); padding-left:1.6rem; position:relative; line-height:1.45; }
.cblist li::before { content:'◆'; position:absolute; left:0; color:var(--red); font-size:.45rem; top:.25rem; }
.pgstrip { margin-top:2.5rem; }
.pgpills { display:flex; flex-wrap:wrap; gap:.5rem; margin-top:1rem; }
.pp { font-family:'Space Mono',monospace; font-size:.55rem; letter-spacing:.09em; color:var(--t3); border:1px solid var(--bd); padding:.35rem .75rem; transition:all .3s; }
.pp:hover { border-color:var(--gold); color:var(--gold); }

/* ================================================================
   CONSUMABLES
================================================================ */
#consumables { background:var(--bg); }
.cong { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; margin-bottom:3.5rem; }
.cc { background:var(--s1); border:1px solid var(--bd); padding:2.25rem 2rem; transition:transform .35s var(--eo), box-shadow .35s, border-color .35s; }
.cc:hover { transform:translateY(-5px); box-shadow:var(--sh2); border-color:var(--red); }
.cc-merged { background:var(--s1); border:1px solid var(--bd); padding:2.25rem 2rem; transition:transform .35s var(--eo), box-shadow .35s, border-color .35s; grid-column:span 2; cursor:pointer; position:relative; }
.cc-merged:hover { transform:translateY(-5px); box-shadow:var(--sh2); border-color:var(--red); }
.ccb { width:52px; height:52px; border-radius:50%; background:var(--s2); border:1px solid rgba(196,18,48,.28); display:flex; align-items:center; justify-content:center; margin-bottom:1.5rem; }
.ccb span { font-family:'Space Mono',monospace; font-size:.52rem; letter-spacing:.08em; color:var(--red); }
.ccb-merged { display:flex; align-items:center; gap:.8rem; margin-bottom:1.5rem; }
.ccb-merged span { font-family:'Space Mono',monospace; font-size:.65rem; letter-spacing:.08em; color:var(--red); font-weight:600; }
.ccb-merged .sep { color:var(--t2); font-weight:400; }
.cct { font-size:1rem; font-weight:600; margin-bottom:.5rem; }
.cct-merged { font-size:1.15rem; font-weight:600; margin-bottom:1rem; }
.ccd { font-size:.83rem; color:var(--t2); line-height:1.55; }
.ccd-merged { font-size:.9rem; color:var(--t2); line-height:1.65; margin-bottom:1.5rem; }
.ccd-merged strong { color:var(--t1); }
.view-pdf-btn { font-family:'Space Mono',monospace; font-size:.65rem; letter-spacing:.1em; text-transform:uppercase; color:var(--rg); border:1px solid var(--red); padding:.75rem 1.2rem; display:inline-block; transition:all .3s; font-weight:600; }
.cc-merged:hover .view-pdf-btn { background:var(--red); color:#F0ECE6; }
.procrow { display:flex; flex-wrap:wrap; gap:.7rem; }
.pt { font-family:'Space Mono',monospace; font-size:.57rem; letter-spacing:.1em; text-transform:uppercase; color:var(--t2); border:1px solid var(--bd); padding:.5rem 1.1rem; transition:all .3s; }
.pt:hover { border-color:var(--red); color:var(--rg); background:rgba(196,18,48,.04); }

/* ================================================================
   PDF MODAL
================================================================ */
.pdf-modal { position:fixed; inset:0; z-index:9000; display:none; align-items:center; justify-content:center; background:rgba(0,0,0,.88); backdrop-filter:blur(4px); -webkit-backdrop-filter:blur(4px); }
.pdf-modal.show { display:flex; }
.pdf-modal-content { position:relative; z-index:9001; width:95vw; height:95vh; max-width:1200px; background:var(--s1); border:1px solid var(--bd); border-radius:10px; display:flex; flex-direction:column; overflow:hidden; box-shadow:var(--sh3); }
.pdf-modal-close { position:absolute; top:1.5rem; right:1.5rem; background:var(--s2); border:1px solid var(--bd); color:var(--t1); width:45px; height:45px; font-size:1.8rem; cursor:pointer; border-radius:6px; transition:all .3s ease; z-index:9002; display:flex; align-items:center; justify-content:center; }
.pdf-modal-close:hover { background:var(--red); border-color:var(--red); color:#F0ECE6; }
.pdf-viewer { flex:1; display:flex; align-items:center; justify-content:center; background:var(--s3); overflow:auto; position:relative; }
.pdf-viewer iframe { width:100%; height:100%; border:none; }

/* ================================================================
   AUTOMATION
================================================================ */
#automation { background:var(--s1); }
.autog { display:grid; grid-template-columns:1fr .88fr; gap:4rem; margin-bottom:4.5rem; }
.robg { display:grid; grid-template-columns:repeat(2,1fr); gap:2px; margin-bottom:2rem; }
.robc { background:var(--s2); padding:1.9rem 1.75rem; position:relative; overflow:hidden; transition:background .3s; }
.robc::before { content:''; position:absolute; top:0; left:0; right:0; height:2px; background:var(--red); transform:scaleX(0); transform-origin:left; transition:transform .4s var(--eo); }
.robc:hover::before { transform:scaleX(1); }
.robc:hover { background:var(--s3); }
.robc-c { font-family:'Space Mono',monospace; font-size:.57rem; color:var(--red); letter-spacing:.2em; margin-bottom:.65rem; }
.robc-t { font-size:.98rem; font-weight:600; margin-bottom:.45rem; }
.robc-d { font-size:.81rem; color:var(--t2); line-height:1.5; }
.kubadge { display:inline-flex; align-items:center; gap:1.25rem; border:1px solid var(--bd); padding:1rem 1.5rem; }
.kubadge-s { font-family:'Space Mono',monospace; font-size:.54rem; letter-spacing:.14em; color:var(--t3); }
.kubadge-n { font-family:'Space Mono',monospace; font-size:.88rem; font-weight:700; color:var(--gold); letter-spacing:.12em; }
.kubadge-d { width:1px; height:36px; background:var(--bds); }
.tkbox { background:var(--s2); border:1px solid var(--bd); padding:2.75rem 2.25rem; position:relative; }
.tkbox::before { content:''; position:absolute; top:0; left:0; right:0; height:2px; background:linear-gradient(90deg,var(--rd),var(--rg)); }
.tkl { font-family:'Space Mono',monospace; font-size:.58rem; letter-spacing:.28em; color:var(--red); margin-bottom:.85rem; }
.tkt { font-family:'Playfair Display',serif; font-size:1.45rem; font-weight:700; margin-bottom:2.25rem; }
.tksteps { display:flex; flex-direction:column; gap:1.35rem; }
.tks { display:flex; gap:1rem; align-items:flex-start; }
.tkn { font-family:'Space Mono',monospace; font-size:.57rem; color:var(--red); border:1px solid var(--rd); width:26px; height:26px; min-width:26px; display:flex; align-items:center; justify-content:center; margin-top:.08rem; }
.tkb { font-size:.86rem; color:var(--t2); line-height:1.5; }
.tkb strong { color:var(--t1); display:block; font-weight:600; margin-bottom:.12rem; }

/* DCOIL */
.dcoil { background:var(--s2); border:1px solid var(--bd); display:grid; grid-template-columns:1fr auto; gap:3.5rem; align-items:center; padding:3.25rem 3.75rem; position:relative; overflow:hidden; }
.dcoil::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse 40% 60% at 80% 50%, rgba(196,18,48,.04) 0%, transparent 70%); pointer-events:none; }
.dcl { font-family:'Space Mono',monospace; font-size:.58rem; letter-spacing:.38em; color:var(--red); margin-bottom:.75rem; }
.dct { font-family:'Playfair Display',serif; font-size:2rem; font-weight:700; margin-bottom:1rem; }
.dcd { font-size:.95rem; color:var(--t2); line-height:1.75; max-width:500px; }
.dcmeta { display:flex; gap:2.5rem; flex-wrap:wrap; margin-top:1.75rem; }
.dcml { font-family:'Space Mono',monospace; font-size:.5rem; letter-spacing:.2em; color:var(--t3); margin-bottom:.28rem; }
.dcmv { font-size:.86rem; color:var(--t2); }
.laserg { width:150px; height:150px; position:relative; flex-shrink:0; }
.pr { position:absolute; border-radius:50%; border:1px solid var(--red); top:50%; left:50%; transform:translate(-50%,-50%) scale(.2); opacity:0; animation:pls 2.8s ease-out infinite; }
.pr1{width:40px;height:40px;animation-delay:0s} .pr2{width:78px;height:78px;animation-delay:.6s}
.pr3{width:114px;height:114px;animation-delay:1.2s} .pr4{width:148px;height:148px;animation-delay:1.8s}
@keyframes pls { 0%{transform:translate(-50%,-50%)scale(.2);opacity:.9} 100%{transform:translate(-50%,-50%)scale(1);opacity:0} }
.lcore { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:14px; height:14px; border-radius:50%; background:var(--rg); box-shadow:0 0 16px var(--rg),0 0 40px rgba(196,18,48,.4); }

/* ================================================================
   R&D
================================================================ */
#rd { background:var(--bg); }
.rdg { display:grid; grid-template-columns:repeat(3,1fr); gap:2px; }
.rdc { background:var(--s1); padding:2.75rem 2.25rem; position:relative; overflow:hidden; transition:background .3s; }
.rdc::after { content:''; position:absolute; bottom:0; left:0; right:0; height:2px; background:linear-gradient(90deg,var(--rd),var(--rg)); transform:scaleX(0); transform-origin:left; transition:transform .4s var(--eo); }
.rdc:hover::after { transform:scaleX(1); }
.rdc:hover { background:var(--s2); }
.rdcc { font-family:'Space Mono',monospace; font-size:.57rem; letter-spacing:.3em; color:var(--red); margin-bottom:.75rem; }
.rdct { font-family:'Playfair Display',serif; font-size:1.25rem; font-weight:700; margin-bottom:1.2rem; }
.rdl { list-style:none; display:flex; flex-direction:column; gap:.65rem; }
.rdl li { font-size:.83rem; color:var(--t2); padding-left:1.55rem; position:relative; line-height:1.45; }
.rdl li::before { content:'◆'; position:absolute; left:0; color:var(--red); font-size:.42rem; top:.26rem; }

/* ================================================================
   CERTIFICATIONS
================================================================ */
#certs { background:var(--s1); border-top:1px solid var(--bd); border-bottom:1px solid var(--bd); }
.certsw { max-width:1440px; margin:0 auto; padding:2.5rem 4rem; display:flex; align-items:center; gap:3rem; flex-wrap:wrap; }
.certlbl { font-family:'Space Mono',monospace; font-size:.57rem; letter-spacing:.3em; color:var(--t3); white-space:nowrap; }
.certdiv { width:1px; height:32px; background:var(--bds); }
.certbs { display:flex; flex-wrap:wrap; gap:1rem; align-items:center; }
.certb { font-family:'Space Mono',monospace; font-size:.6rem; letter-spacing:.1em; color:var(--t2); border:1px solid var(--bd); padding:.4rem .9rem; transition:all .3s; }
.certb:hover { border-color:var(--red); color:var(--red); }

/* ================================================================
   WHY
================================================================ */
#why { background:var(--s2); }
.whyg { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
.wc { border:1px solid var(--bd); padding:2.75rem 2.25rem; position:relative; overflow:hidden; transition:transform .4s var(--eo), box-shadow .4s, border-color .4s; }
.wc:hover { transform:translateY(-5px); border-color:rgba(196,18,48,.3); box-shadow:var(--sh2); }
.wcov { position:absolute; inset:0; background:linear-gradient(135deg,rgba(196,18,48,.04),transparent); opacity:0; transition:opacity .4s; }
.wc:hover .wcov { opacity:1; }
.wcn { position:absolute; top:.25rem; right:1.25rem; font-family:'Playfair Display',serif; font-size:5.5rem; font-weight:900; color:var(--red); opacity:.055; line-height:1; pointer-events:none; }
.wccat { font-family:'Space Mono',monospace; font-size:.58rem; letter-spacing:.22em; color:var(--red); margin-bottom:.7rem; }
.wct { font-family:'Playfair Display',serif; font-size:1.1rem; font-weight:700; margin-bottom:.75rem; position:relative; }
.wcd { font-size:.85rem; color:var(--t2); line-height:1.65; position:relative; }

/* ================================================================
   ADVANCED ENQUIRY
================================================================ */
#enquiry { background:var(--bg); }
.enqg { display:grid; grid-template-columns:.88fr 1fr; gap:5rem; align-items:start; }

/* Sidebar */
.enqsb { position:sticky; top:8rem; }
.enqsb h2 { font-family:'Playfair Display',serif; font-size:clamp(1.9rem,3.2vw,2.7rem); font-weight:700; line-height:1.2; margin-bottom:1.5rem; }
.enqsb h2 .r { color:var(--red); }
.enqsb p { font-size:.95rem; color:var(--t2); line-height:1.75; margin-bottom:2.5rem; }
.enqpts { display:flex; flex-direction:column; gap:1.25rem; margin-bottom:2.5rem; }
.enqpt { display:flex; gap:1rem; align-items:flex-start; }
.enqptn { font-family:'Space Mono',monospace; font-size:.6rem; color:var(--red); border:1px solid var(--rd); width:28px; height:28px; min-width:28px; display:flex; align-items:center; justify-content:center; }
.enqptx { font-size:.88rem; color:var(--t2); line-height:1.55; }
.enqptx strong { color:var(--t1); display:block; font-weight:600; margin-bottom:.1rem; }
.enqcon { border-top:1px solid var(--bd); padding-top:2rem; margin-top:2rem; }
.eci { display:flex; align-items:center; gap:.75rem; margin-bottom:.85rem; }
.ecico { width:32px; height:32px; background:var(--s2); border:1px solid var(--bd); border-radius:50%; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.ecico svg { width:14px; height:14px; stroke:var(--red); fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.ecv { font-size:.88rem; color:var(--t2); }
.ecv a { color:var(--t2); text-decoration:none; transition:color .3s; }
.ecv a:hover { color:var(--red); }
.respb { display:inline-flex; align-items:center; gap:.75rem; background:var(--s2); border:1px solid var(--bd); padding:.75rem 1.25rem; margin-top:1.5rem; }
.rdot { width:8px; height:8px; border-radius:50%; background:#22c55e; box-shadow:0 0 8px rgba(34,197,94,.5); animation:rdotb 2s ease infinite; }
@keyframes rdotb { 0%,100%{opacity:1} 50%{opacity:.4} }
.rtxt { font-family:'Space Mono',monospace; font-size:.57rem; letter-spacing:.1em; color:var(--t2); }

/* Form wrapper */
.fwrap { background:var(--s1); border:1px solid var(--bd); position:relative; overflow:hidden; }
.fwrap::before { content:''; position:absolute; top:0; left:0; right:0; height:3px; background:linear-gradient(90deg,var(--rd),var(--rg)); }

/* Progress */
.fprog { padding:1.75rem 2.5rem; background:var(--s2); border-bottom:1px solid var(--bd); }
.fpsteps { display:flex; align-items:center; }
.fpstep { display:flex; align-items:center; flex:1; }
.fpcircle {
  width:32px; height:32px; border-radius:50%;
  border:1px solid var(--bds); display:flex; align-items:center; justify-content:center;
  font-family:'Space Mono',monospace; font-size:.6rem; color:var(--t3);
  background:var(--s1); transition:all .4s; flex-shrink:0;
}
.fpcircle.act { border-color:var(--red); color:var(--red); background:rgba(196,18,48,.08); }
.fpcircle.done { border-color:var(--red); background:var(--red); color:#fff; font-size:.7rem; }
.fplbl { font-family:'Space Mono',monospace; font-size:.52rem; letter-spacing:.1em; color:var(--t3); margin-left:.6rem; transition:color .4s; white-space:nowrap; }
.fplbl.act { color:var(--t1); }
.fpline { flex:1; height:1px; background:var(--bd); margin:0 .75rem; position:relative; overflow:hidden; }
.fplinef { position:absolute; left:0; top:0; height:100%; width:0; background:var(--red); transition:width .5s var(--eo); }

/* Steps */
.fbody { padding:2.5rem; }
.fstep { display:none; animation:sIn .4s var(--eo); }
.fstep.active { display:block; }
.fstep.bk { animation:sBk .4s var(--eo); }
@keyframes sIn { from{opacity:0;transform:translateX(28px)} to{opacity:1;transform:none} }
@keyframes sBk { from{opacity:0;transform:translateX(-28px)} to{opacity:1;transform:none} }
.fstitle { font-family:'Playfair Display',serif; font-size:1.35rem; font-weight:700; margin-bottom:.4rem; }
.fsub { font-size:.84rem; color:var(--t3); margin-bottom:2rem; font-family:'Space Mono',monospace; font-size:.58rem; letter-spacing:.1em; }

/* Fields */
.frow { display:grid; grid-template-columns:1fr 1fr; gap:1.25rem; margin-bottom:1.25rem; }
.ffull { margin-bottom:1.25rem; }
.fgrp { display:flex; flex-direction:column; gap:.4rem; }
.flbl { font-family:'Space Mono',monospace; font-size:.55rem; letter-spacing:.15em; text-transform:uppercase; color:var(--t3); }
.flbl .req { color:var(--red); margin-left:.15rem; }
.finput, .fsel, .ftarea {
  background:var(--s2); border:1px solid var(--bd);
  color:var(--t1); padding:.85rem 1rem;
  font-family:'Outfit',sans-serif; font-size:.9rem;
  width:100%; outline:none; appearance:none;
  transition:border-color .3s, background .3s;
}
.finput:focus, .fsel:focus, .ftarea:focus { border-color:var(--red); background:var(--s3); }
.finput::placeholder, .ftarea::placeholder { color:var(--t3); }
.fsel { cursor:pointer; }
.ftarea { resize:vertical; min-height:100px; }
.ferr { font-family:'Space Mono',monospace; font-size:.5rem; letter-spacing:.08em; color:var(--red); display:none; margin-top:.25rem; }
.ferr.show { display:block; }
.finput.err, .fsel.err { border-color:var(--red) !important; }

/* Product selector */
.pselg { display:grid; grid-template-columns:repeat(2,1fr); gap:1rem; margin-bottom:1.5rem; }
.pcard { background:var(--s2); border:1px solid var(--bd); padding:1.25rem; cursor:pointer; transition:all .3s; position:relative; }
.pcard:hover { border-color:var(--bds); }
.pcard.sel { border-color:var(--red); background:rgba(196,18,48,.04); }
.pchk { position:absolute; top:.75rem; right:.75rem; width:20px; height:20px; border-radius:50%; background:var(--s3); border:1px solid var(--bd); display:flex; align-items:center; justify-content:center; font-size:.6rem; color:transparent; transition:all .3s; }
.pcard.sel .pchk { background:var(--red); border-color:var(--red); color:#fff; }
.pico { font-family:'Space Mono',monospace; font-size:.55rem; letter-spacing:.1em; color:var(--red); margin-bottom:.5rem; }
.pname { font-size:.88rem; font-weight:600; margin-bottom:.25rem; }
.pdesc { font-size:.75rem; color:var(--t3); line-height:1.4; }
.phint { font-family:'Space Mono',monospace; font-size:.52rem; letter-spacing:.1em; color:var(--t3); margin-bottom:1.5rem; }

/* Upload */
.fupload { border:1px dashed var(--bds); padding:2rem; text-align:center; cursor:pointer; transition:all .3s; margin-bottom:1.25rem; }
.fupload:hover { border-color:var(--red); background:rgba(196,18,48,.02); }
.fupload input { display:none; }
.fuico { font-size:1.75rem; color:var(--t3); margin-bottom:.5rem; line-height:1; }
.futxt { font-family:'Space Mono',monospace; font-size:.58rem; letter-spacing:.1em; color:var(--t3); }
.futxt span { color:var(--red); }
.funame { font-family:'Space Mono',monospace; font-size:.55rem; color:var(--red); margin-top:.5rem; display:none; }

/* Consent */
.fconsent { display:flex; gap:.75rem; align-items:flex-start; margin-bottom:1.5rem; }
.fcb { width:18px; height:18px; border:1px solid var(--bds); background:var(--s2); cursor:pointer; flex-shrink:0; margin-top:.1rem; accent-color:var(--red); }
.fconsenttxt { font-size:.82rem; color:var(--t3); line-height:1.55; }

/* Form Nav */
.fnav { display:flex; align-items:center; justify-content:space-between; margin-top:2rem; padding-top:2rem; border-top:1px solid var(--bd); }
.fback { font-family:'Space Mono',monospace; font-size:.6rem; letter-spacing:.15em; text-transform:uppercase; color:var(--t2); background:none; border:none; cursor:pointer; display:flex; align-items:center; gap:.5rem; transition:color .3s; }
.fback:hover { color:var(--t1); }
.fnext, .fsub {
  font-family:'Space Mono',monospace; font-size:.62rem; letter-spacing:.2em;
  text-transform:uppercase; color:#F0ECE6;
  background:var(--red); border:1px solid var(--red);
  padding:.9rem 2rem; cursor:pointer;
  display:flex; align-items:center; gap:.5rem; transition:all .3s;
}
.fnext:hover, .fsub:hover { background:var(--rg); border-color:var(--rg); box-shadow:0 0 24px rgba(232,21,58,.3); transform:translateY(-1px); }
.fsub { min-width:180px; justify-content:center; }
.fsub:disabled { opacity:.6; pointer-events:none; }

/* Success */
.fsuccess { display:none; text-align:center; padding:4rem 2.5rem; }
.fsuccess.show { display:block; animation:sIn .5s var(--eo); }
.schk { width:72px; height:72px; border-radius:50%; background:rgba(34,197,94,.1); border:2px solid #22c55e; display:flex; align-items:center; justify-content:center; margin:0 auto 1.5rem; animation:popIn .5s var(--eo) .1s both; }
.schk svg { width:32px; height:32px; stroke:#22c55e; fill:none; stroke-width:2.5; stroke-linecap:round; stroke-linejoin:round; }
@keyframes popIn { from{transform:scale(.4);opacity:0} to{transform:scale(1);opacity:1} }
.stitle2 { font-family:'Playfair Display',serif; font-size:1.9rem; font-weight:700; margin-bottom:.75rem; }
.ssub { font-size:.9rem; color:var(--t2); line-height:1.7; margin-bottom:1.5rem; max-width:380px; margin-left:auto; margin-right:auto; }
.sref { font-family:'Space Mono',monospace; font-size:.65rem; letter-spacing:.15em; color:var(--t3); background:var(--s2); border:1px solid var(--bd); padding:.6rem 1.2rem; display:inline-block; }

/* ================================================================
   INDUSTRY SECTORS
================================================================ */
#sectors { background:var(--s1); position:relative; }
.sectorg { display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:2.5rem; margin:3.5rem 0; }
.seccard { background:var(--s2); border:1px solid var(--bd); border-radius:8px; padding:2.5rem; transition:all .4s var(--eo); position:relative; overflow:hidden; }
.seccard::before { content:''; position:absolute; inset:0; background:linear-gradient(135deg,rgba(232,21,58,.08) 0%,transparent 100%); opacity:0; transition:opacity .4s; pointer-events:none; }
.seccard:hover { border-color:var(--rg); box-shadow:0 8px 32px rgba(196,18,48,.15),inset 0 0 1px rgba(232,21,58,.1); transform:translateY(-6px); }
.seccard:hover::before { opacity:1; }
.seccard.rv { position:relative; }
.seco { width:56px; height:56px; border-radius:50%; background:linear-gradient(135deg,var(--red),var(--rg)); color:#F0ECE6; font-family:'Playfair Display',serif; font-size:1.75rem; font-weight:700; display:flex; align-items:center; justify-content:center; margin-bottom:1.5rem; }
.sect { font-family:'Playfair Display',serif; font-size:1.4rem; font-weight:700; margin-bottom:.75rem; }
.secd { font-size:.9rem; color:var(--t2); line-height:1.65; margin-bottom:1.5rem; }
.secl { list-style:none; margin-bottom:2rem; }
.secl li { font-size:.82rem; color:var(--t3); padding-left:1.5rem; margin-bottom:.6rem; position:relative; }
.secl li::before { content:'▪'; position:absolute; left:0; color:var(--red); }
.secbtn { display:inline-flex; align-items:center; gap:.5rem; color:var(--rg); text-decoration:none; font-family:'Space Mono',monospace; font-size:.68rem; letter-spacing:.15em; text-transform:uppercase; border:1px solid var(--bd); padding:.75rem 1.5rem; transition:all .3s var(--eo); }
.secbtn:hover { color:#F0ECE6; background:var(--red); border-color:var(--red); box-shadow:0 0 20px rgba(232,21,58,.2); }
.sectorcta { text-align:center; margin-top:4rem; padding:3rem; background:var(--s2); border:1px solid var(--bd); border-radius:8px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:1.5rem; }
.sctatxt { font-family:'Space Mono',monospace; font-size:.72rem; letter-spacing:.12em; color:var(--t2); text-transform:uppercase; }
.sectorcta-btn { display:inline-flex; align-items:center; gap:.7rem; background:var(--red); color:#F0ECE6; text-decoration:none; font-family:'Space Mono',monospace; font-size:.68rem; letter-spacing:.15em; text-transform:uppercase; padding:1rem 2.25rem; border:1px solid var(--red); transition:all .3s var(--eo); }
.sectorcta-btn:hover { background:var(--rg); border-color:var(--rg); box-shadow:0 0 30px rgba(232,21,58,.3); transform:translateY(-2px); }

/* ================================================================
   CLOSING CTA
================================================================ */
#cta { background:var(--s1); position:relative; overflow:hidden; }
.ctaglow { position:absolute; inset:0; pointer-events:none; background:radial-gradient(ellipse 60% 50% at 50% 50%, rgba(196,18,48,.06) 0%, transparent 65%); }
.ctacnt { max-width:1440px; margin:0 auto; padding:8rem 4rem; text-align:center; }
.ctalbl { font-family:'Space Mono',monospace; font-size:.6rem; letter-spacing:.42em; text-transform:uppercase; color:var(--red); margin-bottom:1.75rem; }
.ctah { font-family:'Playfair Display',serif; font-size:clamp(2.5rem,5vw,4.75rem); font-weight:900; line-height:1.08; margin-bottom:1.5rem; }
.ctah .r { color:var(--red); }
.ctasub { font-family:'Space Mono',monospace; font-size:.68rem; letter-spacing:.22em; color:var(--t2); margin-bottom:3rem; }
.ctabtn { display:inline-flex; align-items:center; gap:.85rem; background:var(--red); color:#F0ECE6; font-family:'Space Mono',monospace; font-size:.68rem; letter-spacing:.22em; text-transform:uppercase; text-decoration:none; padding:1.15rem 2.75rem; border:1px solid var(--red); transition:all .35s var(--eo); }
.ctabtn:hover { background:var(--rg); border-color:var(--rg); box-shadow:0 0 50px rgba(232,21,58,.35),0 10px 40px rgba(196,18,48,.25); transform:translateY(-3px); }

/* ================================================================
   FOOTER
================================================================ */
footer { background:var(--s2); border-top:1px solid var(--bd); }
.footin { max-width:1440px; margin:0 auto; padding:5.5rem 4rem 2.5rem; }
.footg { display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:4.5rem; margin-bottom:4.5rem; }
.fbrand { font-family:'Space Mono',monospace; font-size:1.05rem; letter-spacing:.24em; color:var(--t1); margin-bottom:1rem; display:flex; align-items:center; gap:.6rem; }
.footer-logo { width:22px; height:22px; flex-shrink:0; }
.fbrand b { color:var(--red); font-weight:400; }
.fdesc { font-size:.84rem; color:var(--t2); line-height:1.75; margin-bottom:1.75rem; }
.ftag { font-family:'Space Mono',monospace; font-size:.57rem; letter-spacing:.28em; color:var(--red); }
.fcolt { font-family:'Space Mono',monospace; font-size:.57rem; letter-spacing:.28em; text-transform:uppercase; color:var(--t1); margin-bottom:1.75rem; }
.flinks { list-style:none; display:flex; flex-direction:column; gap:.75rem; }
.flinks a { font-size:.84rem; color:var(--t2); text-decoration:none; transition:color .3s; }
.flinks a:hover { color:var(--red); }
.footbot { border-top:1px solid var(--bd); padding-top:2rem; display:flex; justify-content:space-between; align-items:center; }
.fcopy, .fmkt { font-family:'Space Mono',monospace; font-size:.56rem; letter-spacing:.1em; color:var(--t3); }

/* ================================================================
   RESPONSIVE
================================================================ */
@media(max-width:1280px) {
  .footg { grid-template-columns:1fr 1fr; gap:3.5rem; }
  .enqg { grid-template-columns:1fr; gap:3rem; }
  .enqsb { position:static; }
}
@media(max-width:1024px) {
  #nav, #nav.stuck { padding:1.25rem 2rem; }
  .nav-links { display:none; }
  .ham { display:flex; }
  .w { padding:5.5rem 2rem; }
  .hero-cnt { padding:0 2rem 0 5rem; }
  .hero-vl { left:2.5rem; }
  .scrl { left:5rem; }
  .about-g { grid-template-columns:1fr; gap:3.5rem; }
  .about-grid { grid-template-columns:1fr; gap:2.5rem; }
  .pg { grid-template-columns:repeat(2,1fr); }
  .process-section { padding:5.5rem 2rem; }
  .gcg { grid-template-columns:1fr; }
  .autog { grid-template-columns:1fr; }
  .dcoil { grid-template-columns:1fr; }
  .laserg { display:none; }
  .stats-g { grid-template-columns:repeat(2,1fr); }
  .certsw { padding:2rem; }
}
@media(max-width:768px) {
  .rg3, .rdg { grid-template-columns:1fr; }
  .cong { grid-template-columns:1fr 1fr; }
  .robg { grid-template-columns:1fr; }
  .whyg { grid-template-columns:1fr; }
  .pg { grid-template-columns:1fr; }
  .footg { grid-template-columns:1fr; gap:2.5rem; }
  .footbot { flex-direction:column; gap:1rem; text-align:center; }
  .hero-cnt { padding:0 1.5rem 0 3.5rem; }
  .hero-vl { left:1.5rem; }
  .scrl { left:3.5rem; }
  .frow { grid-template-columns:1fr; }
  .pselg { grid-template-columns:1fr; }
  .dcoil { padding:2rem; }
  .ctacnt { padding:6rem 1.5rem; }
  .stats-g { grid-template-columns:repeat(2,1fr); padding:2.5rem 1.5rem; }
  .sectorg { grid-template-columns:repeat(2,1fr); gap:2rem; }
}
@media(max-width:480px) { .cong { grid-template-columns:1fr; } .sectorg { grid-template-columns:1fr; } }