/* Sightline Concepts — shared styles (extracted verbatim from source SPA) */
:root{--bg-deep:#050b16;--cyan:#00e5ff;--blue:#2d6ca8;--electric:#3b82f6;--accent:#ff4d5e;--white:#fff;--white-85:rgba(255,255,255,.85);--white-60:rgba(255,255,255,.6);--white-35:rgba(255,255,255,.35);--white-15:rgba(255,255,255,.15);--line:rgba(0,229,255,.18);}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:'Exo 2',sans-serif;background:var(--bg-deep);color:var(--white);line-height:1.6;overflow-x:hidden;font-weight:300;}
body.loading{overflow:hidden;height:100vh;}
::selection{background:var(--cyan);color:var(--bg-deep);}

/* SPLASH */
#splash{position:fixed;inset:0;background:radial-gradient(ellipse at center,#0a1a30,#030710 80%);z-index:10000;display:flex;align-items:center;justify-content:center;}
.splash-hex{position:absolute;inset:0;opacity:.35;background-image:linear-gradient(30deg,var(--line) 12%,transparent 12.5%,transparent 87%,var(--line) 87.5%,var(--line)),linear-gradient(150deg,var(--line) 12%,transparent 12.5%,transparent 87%,var(--line) 87.5%,var(--line)),linear-gradient(30deg,var(--line) 12%,transparent 12.5%,transparent 87%,var(--line) 87.5%,var(--line)),linear-gradient(150deg,var(--line) 12%,transparent 12.5%,transparent 87%,var(--line) 87.5%,var(--line));background-size:80px 140px;background-position:0 0,0 0,40px 70px,40px 70px;}
.splash-inner{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;}
.splash-logo-wrap{position:relative;width:200px;height:200px;display:flex;align-items:center;justify-content:center;margin-bottom:2rem;}
.splash-ring{position:absolute;inset:0;border:1px solid rgba(0,229,255,.3);border-radius:50%;opacity:0;}
.splash-ring.r2{inset:-40px;border-color:rgba(0,229,255,.15);}
.splash-ring.r3{inset:-80px;border-color:rgba(0,229,255,.08);}
.splash-logo{width:130px;height:130px;}
.splash-logo svg{width:100%;height:100%;display:block;}
.splash-logo svg path,.splash-logo svg circle,.splash-logo svg rect,.splash-logo svg line{stroke:var(--cyan);stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round;}
.splash-title{font-family:'Rajdhani',sans-serif;font-size:2.2rem;font-weight:700;letter-spacing:.35em;color:var(--white);opacity:0;transform:translateY(20px);}
.splash-title .red{color:var(--cyan);}
.splash-sub{font-family:'JetBrains Mono',monospace;font-size:.72rem;letter-spacing:.4em;color:var(--white-60);margin-top:.75rem;opacity:0;}
.splash-loader{margin-top:2.5rem;width:260px;height:2px;background:rgba(255,255,255,.08);position:relative;overflow:hidden;}
.splash-loader::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,var(--cyan),transparent);animation:ls 1.4s linear infinite;}
@keyframes ls{0%{transform:translateX(-100%);}100%{transform:translateX(100%);}}
.splash-status{margin-top:1rem;font-family:'JetBrains Mono',monospace;font-size:.68rem;color:var(--white-35);letter-spacing:.15em;min-height:1em;}

/* HEADER */
header{position:fixed;top:0;left:0;right:0;z-index:500;padding:1rem 0;background:rgba(5,11,22,.55);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-bottom:1px solid transparent;transition:background .3s,border-color .3s;}
header.scrolled{background:rgba(5,11,22,.85);border-bottom-color:var(--line);}
.wrap{max-width:1400px;margin:0 auto;padding:0 2rem;}
@media(max-width:640px){.wrap{padding:0 1.25rem;}}
.nav{display:flex;align-items:center;justify-content:space-between;gap:2rem;}
.logo-link{display:flex;align-items:center;gap:.75rem;text-decoration:none;}
.logo-mark{width:48px;height:48px;flex-shrink:0;}
.logo-mark svg{width:100%;height:100%;overflow:visible;}
.logo-mark svg path,.logo-mark svg rect,.logo-mark svg circle,.logo-mark svg line{stroke:var(--cyan);stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round;}

/* sightline lockup — text + emanating beam */
.logo-lockup{display:flex;flex-direction:column;align-items:flex-start;gap:0;}
.logo-txt{
  font-family:'Rajdhani',sans-serif;font-weight:700;font-size:1rem;
  letter-spacing:0.18em;line-height:1.05;color:#fff;
}
.logo-sightline-row{
  display:flex;align-items:center;gap:0.5rem;
  width:100%;
  margin-top:3px;
}
.logo-sightline-beam{
  flex:1;height:1px;
  background:linear-gradient(90deg,transparent,var(--cyan) 15%,var(--cyan) 85%,transparent);
  position:relative;
  box-shadow:0 0 6px var(--cyan);
}
.logo-sightline-beam::before{
  content:'';
  position:absolute;left:0;top:50%;transform:translateY(-50%);
  width:5px;height:5px;border-radius:50%;
  background:var(--cyan);
  box-shadow:0 0 8px var(--cyan);
}
.logo-sub{
  font-family:'JetBrains Mono',monospace;font-size:0.55rem;
  letter-spacing:0.28em;color:var(--cyan);
  margin-top:3px;text-transform:uppercase;white-space:nowrap;
}
nav ul{list-style:none;display:flex;gap:2rem;align-items:center;}
nav a{font-family:'Rajdhani',sans-serif;font-size:.85rem;letter-spacing:.22em;text-transform:uppercase;color:var(--white-60);text-decoration:none;transition:color .2s;position:relative;cursor:pointer;font-weight:500;}
nav a:hover,nav a.active{color:var(--white);}
nav a.active::after{content:'';position:absolute;left:0;right:0;bottom:-8px;height:2px;background:var(--cyan);box-shadow:0 0 10px var(--cyan);}
.nav-cta{font-family:'Rajdhani',sans-serif;padding:.7rem 1.4rem;background:transparent;border:1px solid var(--cyan);color:var(--cyan);text-transform:uppercase;letter-spacing:.2em;font-size:.8rem;font-weight:600;cursor:pointer;text-decoration:none;transition:all .2s;clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);}
.nav-cta:hover{background:var(--cyan);color:var(--bg-deep);box-shadow:0 0 20px rgba(0,229,255,.5);}
.mobile-toggle{display:none;background:none;border:none;cursor:pointer;flex-direction:column;gap:5px;padding:8px;}
.mobile-toggle span{width:24px;height:2px;background:var(--cyan);}
@media(max-width:960px){nav ul{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;background:rgba(5,11,22,.98);backdrop-filter:blur(20px);border-top:1px solid var(--line);padding:1.5rem 2rem;align-items:flex-start;gap:1.25rem;}nav ul.open{display:flex;}nav a.active::after{display:none;}.mobile-toggle{display:flex;}}

.page{display:none;}
.page.active{display:block;}
main{padding-top:80px;position:relative;}

/* HERO */
.hero{min-height:calc(100vh - 80px);position:relative;overflow:hidden;display:flex;align-items:center;padding:4rem 0;}
.hero-bg{position:absolute;inset:0;pointer-events:none;z-index:0;}
.hero-bg canvas{position:absolute;inset:0;width:100%;height:100%;display:block;}
.hero-bg::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 80% 10%,rgba(0,229,255,.15),transparent 60%),radial-gradient(ellipse at 20% 90%,rgba(59,130,246,.18),transparent 60%);}
.hero-bg::after{content:'';position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:60px 60px;opacity:.35;mask-image:radial-gradient(ellipse at center,black 30%,transparent 75%);-webkit-mask-image:radial-gradient(ellipse at center,black 30%,transparent 75%);}
.hero-content{position:relative;z-index:2;display:grid;grid-template-columns:1.3fr 1fr;gap:4rem;align-items:center;}
@media(max-width:1000px){.hero-content{grid-template-columns:1fr;gap:3rem;}}
.breadcrumb{display:inline-flex;align-items:center;gap:.75rem;padding:.45rem 1rem;background:rgba(0,229,255,.08);border:1px solid var(--line);border-radius:50px;font-family:'JetBrains Mono',monospace;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--cyan);margin-bottom:2rem;}
.live-dot{width:7px;height:7px;border-radius:50%;background:var(--cyan);box-shadow:0 0 8px var(--cyan);animation:lp 2s ease-in-out infinite;}
@keyframes lp{0%,100%{opacity:1;}50%{opacity:.3;}}
h1.hero-title{font-family:'Rajdhani',sans-serif;font-size:clamp(2.5rem,6vw,5.5rem);font-weight:700;line-height:1;letter-spacing:-.01em;margin-bottom:1.5rem;text-transform:uppercase;}
h1.hero-title .grad,.grad{background:linear-gradient(90deg,var(--cyan),var(--electric) 60%,var(--cyan));background-size:200% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:gs 6s linear infinite;}
@keyframes gs{0%{background-position:0% center;}100%{background-position:200% center;}}
.hero-lede{font-size:1.1rem;color:var(--white-85);max-width:540px;line-height:1.7;margin-bottom:2.5rem;}
.hero-btns{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:3rem;}
.btn{font-family:'Rajdhani',sans-serif;font-weight:600;font-size:.85rem;letter-spacing:.22em;text-transform:uppercase;padding:1rem 2rem;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:.75rem;transition:all .25s;clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);border:none;}
.btn-primary{background:linear-gradient(135deg,var(--cyan),var(--electric));color:var(--bg-deep);box-shadow:0 0 25px rgba(0,229,255,.35);}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 0 40px rgba(0,229,255,.6);}
.btn-ghost{background:rgba(255,255,255,.04);color:var(--white);border:1px solid var(--white-15);}
.btn-ghost:hover{border-color:var(--cyan);color:var(--cyan);}
.btn .arrow{transition:transform .2s;}
.btn:hover .arrow{transform:translateX(4px);}
.hero-meta{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--white-15);border-bottom:1px solid var(--white-15);max-width:600px;}
.hero-meta-item{padding:1.25rem 1.5rem 1.25rem 0;border-right:1px solid var(--white-15);}
.hero-meta-item:last-child{border-right:none;}
.hero-meta-item .lbl{font-family:'JetBrains Mono',monospace;font-size:.65rem;letter-spacing:.18em;color:var(--cyan);text-transform:uppercase;margin-bottom:.5rem;}
.hero-meta-item .val{font-family:'Rajdhani',sans-serif;font-size:1.3rem;font-weight:600;line-height:1.1;}

/* CAM PANEL */
.hero-rhs{position:relative;}
.cam-panel{position:relative;aspect-ratio:4/3;background:linear-gradient(135deg,#071220,#030811);border:1px solid var(--line);overflow:hidden;clip-path:polygon(20px 0,100% 0,100% calc(100% - 20px),calc(100% - 20px) 100%,0 100%,0 20px);box-shadow:0 20px 80px rgba(0,0,0,.6),0 0 60px rgba(0,229,255,.08) inset;}
.cam-panel canvas{position:absolute;inset:0;width:100%;height:100%;}
.cam-corners .c{position:absolute;width:24px;height:24px;border-color:var(--cyan);}
.cam-corners .tl{top:16px;left:16px;border-top:2px solid;border-left:2px solid;}
.cam-corners .tr{top:16px;right:16px;border-top:2px solid;border-right:2px solid;}
.cam-corners .bl{bottom:16px;left:16px;border-bottom:2px solid;border-left:2px solid;}
.cam-corners .br{bottom:16px;right:16px;border-bottom:2px solid;border-right:2px solid;}
.cam-scanline{position:absolute;left:0;right:0;height:140px;background:linear-gradient(180deg,transparent,rgba(0,229,255,.15) 50%,transparent);pointer-events:none;animation:sm 4s linear infinite;}
@keyframes sm{0%{top:-140px;}100%{top:100%;}}
.cam-hud{position:absolute;top:16px;right:48px;font-family:'JetBrains Mono',monospace;font-size:.65rem;letter-spacing:.1em;color:var(--cyan);text-align:right;line-height:1.5;}
.cam-hud .rec{display:inline-flex;align-items:center;gap:.4rem;}
.cam-hud .rec::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--accent);animation:lp 1.2s ease-in-out infinite;}
.cam-hud-bl{position:absolute;bottom:16px;left:48px;font-family:'JetBrains Mono',monospace;font-size:.6rem;color:var(--cyan);opacity:.8;letter-spacing:.12em;}
.cam-crosshair{position:absolute;top:50%;left:50%;width:80px;height:80px;transform:translate(-50%,-50%);pointer-events:none;}
.cam-crosshair::before,.cam-crosshair::after{content:'';position:absolute;background:var(--cyan);opacity:.5;}
.cam-crosshair::before{left:50%;top:0;bottom:0;width:1px;transform:translateX(-50%);}
.cam-crosshair::after{top:50%;left:0;right:0;height:1px;transform:translateY(-50%);}
.cam-target{position:absolute;top:50%;left:50%;width:22px;height:22px;border:1.5px solid var(--cyan);border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 10px var(--cyan);}
.hero-chip{position:absolute;background:rgba(5,11,22,.92);border:1px solid var(--line);backdrop-filter:blur(10px);padding:.85rem 1.1rem;font-family:'JetBrains Mono',monospace;font-size:.7rem;letter-spacing:.08em;clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);}
.hero-chip .chip-lbl{color:var(--cyan);font-size:.6rem;letter-spacing:.2em;}
.hero-chip .chip-val{font-family:'Rajdhani',sans-serif;font-size:1rem;font-weight:600;letter-spacing:.05em;}
.hero-chip.c1{top:-12px;left:-20px;}
.hero-chip.c2{bottom:-12px;right:-20px;}
@media(max-width:600px){.hero-chip{display:none;}}

/* SECTIONS */
section.block{position:relative;padding:7rem 0;overflow:hidden;}
.section-head{display:grid;grid-template-columns:1fr 2fr;gap:3rem;margin-bottom:4rem;align-items:end;}
@media(max-width:800px){.section-head{grid-template-columns:1fr;gap:1rem;}}
.section-tag{font-family:'JetBrains Mono',monospace;font-size:.7rem;letter-spacing:.25em;color:var(--cyan);text-transform:uppercase;margin-bottom:1rem;display:flex;align-items:center;gap:.75rem;}
.section-tag::before{content:'';width:30px;height:1px;background:var(--cyan);box-shadow:0 0 6px var(--cyan);}
h2.section-title{font-family:'Rajdhani',sans-serif;font-size:clamp(2rem,4vw,3.4rem);font-weight:700;line-height:1.05;letter-spacing:-.01em;text-transform:uppercase;}

/* SERVICES */
.svc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;perspective:1500px;}
@media(max-width:1100px){.svc-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.svc-grid{grid-template-columns:1fr;}}
.svc-card{position:relative;background:linear-gradient(180deg,rgba(15,30,53,.55),rgba(5,11,22,.55));border:1px solid var(--line);padding:2rem 1.75rem;min-height:340px;transition:transform .25s ease-out,border-color .25s;cursor:pointer;overflow:hidden;transform-style:preserve-3d;clip-path:polygon(14px 0,100% 0,100% calc(100% - 14px),calc(100% - 14px) 100%,0 100%,0 14px);}
.svc-card::before{content:'';position:absolute;inset:0;background:radial-gradient(400px circle at var(--mx,50%) var(--my,50%),rgba(0,229,255,.18),transparent 40%);opacity:0;transition:opacity .3s;pointer-events:none;}
.svc-card:hover{border-color:rgba(0,229,255,.45);}
.svc-card:hover::before{opacity:1;}
.svc-card .svc-num{font-family:'JetBrains Mono',monospace;font-size:.7rem;letter-spacing:.2em;color:var(--cyan);opacity:.7;}
.svc-card .svc-icon-wrap{margin:1.5rem 0;width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:rgba(0,229,255,.05);border:1px solid var(--line);}
.svc-card .svc-icon-wrap svg{width:32px;height:32px;stroke:var(--cyan);stroke-width:1.4;fill:none;stroke-linecap:round;stroke-linejoin:round;}
.svc-card h3{font-family:'Rajdhani',sans-serif;font-size:1.4rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;margin-bottom:.75rem;}
.svc-card p{font-size:.9rem;color:var(--white-60);line-height:1.55;}
.svc-card .svc-arrow{position:absolute;bottom:1.75rem;right:1.75rem;width:34px;height:34px;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--cyan);transition:all .2s;}
.svc-card:hover .svc-arrow{background:var(--cyan);color:var(--bg-deep);border-color:var(--cyan);box-shadow:0 0 15px rgba(0,229,255,.5);}

/* STATS */
.stats{position:relative;padding:5rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;}
.stats::before{content:'';position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:40px 40px;opacity:.25;}
.stats-grid{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:3rem;}
@media(max-width:900px){.stats-grid{grid-template-columns:repeat(2,1fr);gap:2rem;}}
.stat{padding-left:1.5rem;border-left:2px solid var(--cyan);}
.stat .num{font-family:'Rajdhani',sans-serif;font-size:clamp(2.5rem,5vw,3.75rem);font-weight:700;line-height:1;letter-spacing:-.02em;background:linear-gradient(180deg,var(--white),#b5e8ff);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.stat .num .suf{color:var(--cyan);-webkit-text-fill-color:var(--cyan);}
.stat .lbl{font-family:'JetBrains Mono',monospace;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--white-60);margin-top:.75rem;}

/* PROCESS */
.process-timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;}
@media(max-width:900px){.process-timeline{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.process-timeline{grid-template-columns:1fr;}}
.step{position:relative;padding:2rem 1.5rem;background:linear-gradient(180deg,rgba(15,30,53,.4),transparent);border-top:2px solid var(--cyan);overflow:hidden;}
.step::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--cyan),transparent);box-shadow:0 0 10px var(--cyan);}
.step .step-num{font-family:'Rajdhani',sans-serif;font-size:3.2rem;font-weight:700;line-height:1;background:linear-gradient(180deg,rgba(0,229,255,.2),transparent);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:1rem;}
.step h3{font-family:'Rajdhani',sans-serif;font-size:1.25rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;margin-bottom:.75rem;}
.step p{font-size:.88rem;color:var(--white-60);line-height:1.6;}

/* CTA BAND */
.cta-band{position:relative;padding:7rem 0;overflow:hidden;background:linear-gradient(135deg,rgba(0,229,255,.05),rgba(59,130,246,.05)),radial-gradient(ellipse at 70% 30%,rgba(0,229,255,.1),transparent 60%);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.cta-band::before{content:'';position:absolute;inset:0;background-image:linear-gradient(30deg,var(--line) 12%,transparent 12.5%,transparent 87%,var(--line) 87.5%,var(--line)),linear-gradient(150deg,var(--line) 12%,transparent 12.5%,transparent 87%,var(--line) 87.5%,var(--line));background-size:60px 104px;opacity:.3;}
.cta-band-inner{position:relative;display:grid;grid-template-columns:1.3fr 1fr;gap:4rem;align-items:center;}
@media(max-width:900px){.cta-band-inner{grid-template-columns:1fr;gap:2rem;}}
.cta-band h2{font-family:'Rajdhani',sans-serif;font-size:clamp(1.8rem,4vw,3rem);font-weight:700;line-height:1.05;letter-spacing:-.01em;text-transform:uppercase;margin-bottom:1rem;}
.cta-band p{font-size:1.05rem;color:var(--white-85);max-width:520px;}
.contact-box{background:rgba(5,11,22,.6);border:1px solid var(--line);padding:2rem;clip-path:polygon(16px 0,100% 0,100% calc(100% - 16px),calc(100% - 16px) 100%,0 100%,0 16px);backdrop-filter:blur(10px);}
.contact-row{display:flex;align-items:center;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--white-15);}
.contact-row:last-child{border-bottom:none;}
.contact-row .lbl{font-family:'JetBrains Mono',monospace;font-size:.7rem;letter-spacing:.2em;color:var(--cyan);text-transform:uppercase;width:60px;}
.contact-row a{font-family:'Rajdhani',sans-serif;font-weight:600;font-size:1.15rem;color:var(--white);text-decoration:none;letter-spacing:.02em;transition:color .2s;}
.contact-row a:hover{color:var(--cyan);}

/* PAGE HEAD */
.page-head{position:relative;padding:6rem 0 4rem;overflow:hidden;border-bottom:1px solid var(--line);}
.page-head::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(0,229,255,.08),transparent 70%);}
.page-head::after{content:'';position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:60px 60px;opacity:.3;mask-image:radial-gradient(ellipse at center,black 20%,transparent 70%);-webkit-mask-image:radial-gradient(ellipse at center,black 20%,transparent 70%);}
.page-head .wrap{position:relative;z-index:2;}
.page-head .crumb{display:inline-flex;align-items:center;gap:.75rem;padding:.45rem 1rem;border:1px solid var(--line);font-family:'JetBrains Mono',monospace;font-size:.7rem;letter-spacing:.2em;color:var(--cyan);text-transform:uppercase;margin-bottom:2rem;border-radius:50px;}
.page-head h1{font-family:'Rajdhani',sans-serif;font-size:clamp(2.5rem,6vw,5rem);font-weight:700;line-height:1;text-transform:uppercase;margin-bottom:1.25rem;letter-spacing:-.01em;}
.page-head .pg-lede{font-size:1.1rem;color:var(--white-85);max-width:640px;line-height:1.6;}

/* SERVICES PAGE */
.svc-detail{padding:6rem 0;border-bottom:1px solid var(--line);position:relative;overflow:hidden;}
.svc-detail:nth-child(even){background:rgba(15,30,53,.25);}

/* PLATFORMS STRIP — vendor lockup with motion */
.platforms-strip{
  padding:3.5rem 0;
  border-bottom:1px solid var(--line);
  background:
    linear-gradient(180deg,rgba(0,229,255,.025),transparent 60%),
    repeating-linear-gradient(45deg,transparent,transparent 40px,rgba(0,229,255,.015) 40px,rgba(0,229,255,.015) 41px);
  position:relative;
  overflow:hidden;
}
.platforms-strip::before{
  content:'';position:absolute;top:0;left:-100%;width:60%;height:1px;
  background:linear-gradient(90deg,transparent,rgba(0,229,255,.9),transparent);
  box-shadow:0 0 12px rgba(0,229,255,.6);
  animation:platSweep 4s linear infinite;
  z-index:2;
}
.platforms-strip::after{
  content:'';position:absolute;bottom:0;right:-100%;width:60%;height:1px;
  background:linear-gradient(90deg,transparent,rgba(0,229,255,.7),transparent);
  box-shadow:0 0 10px rgba(0,229,255,.5);
  animation:platSweepRev 4s linear infinite;
  animation-delay:2s;
  z-index:2;
}
@keyframes platSweep{
  0%{left:-100%;}
  100%{left:200%;}
}
@keyframes platSweepRev{
  0%{right:-100%;}
  100%{right:200%;}
}
.platforms-head{
  display:flex;justify-content:space-between;align-items:baseline;
  margin-bottom:2rem;flex-wrap:wrap;gap:1rem;
}
.platforms-head .ph-tag{
  font-family:'JetBrains Mono',monospace;
  font-size:.7rem;letter-spacing:.3em;color:var(--cyan);
  text-transform:uppercase;
}
.platforms-head .ph-meta{
  font-family:'JetBrains Mono',monospace;
  font-size:.65rem;letter-spacing:.2em;color:var(--white-35);
  text-transform:uppercase;
  display:flex;align-items:center;gap:.6rem;
}
.platforms-head .ph-meta .ph-live{
  width:6px;height:6px;border-radius:50%;
  background:var(--cyan);
  box-shadow:0 0 8px var(--cyan);
  animation:plPulse 1.4s ease-in-out infinite;
}
@keyframes plPulse{
  0%,100%{opacity:1;transform:scale(1);}
  50%{opacity:.35;transform:scale(.7);}
}
.platforms-head .ph-meta .ph-tick{
  font-family:'JetBrains Mono',monospace;
  color:var(--cyan);
  letter-spacing:.18em;
  min-width:160px;display:inline-block;
}
.platforms-row{
  position:relative;
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(140px,1fr));
  gap:1px;
  background:rgba(0,229,255,.12);
  border:1px solid rgba(0,229,255,.18);
  overflow:hidden;
}
/* Vertical scan beam sweeping across the entire grid */
.platforms-row::after{
  content:'';position:absolute;top:0;bottom:0;
  left:-12%;width:8%;
  background:linear-gradient(90deg,
    transparent,
    rgba(0,229,255,.05) 30%,
    rgba(0,229,255,.18) 50%,
    rgba(0,229,255,.05) 70%,
    transparent);
  pointer-events:none;
  animation:platScan 7s linear infinite;
  z-index:1;
}
@keyframes platScan{
  0%{left:-12%;}
  100%{left:108%;}
}
.plat-cell{
  background:rgba(5,11,22,.85);
  padding:1.25rem 1rem;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;
  position:relative;
  transition:background .35s ease, transform .35s ease, box-shadow .35s ease;
  min-height:96px;
  opacity:0;
  transform:translateY(14px);
  z-index:1;
}
.platforms-row.in-view .plat-cell{
  animation:platCellIn .55s cubic-bezier(.2,.7,.2,1) forwards;
}
.platforms-row.in-view .plat-cell:nth-child(1){animation-delay:.05s;}
.platforms-row.in-view .plat-cell:nth-child(2){animation-delay:.13s;}
.platforms-row.in-view .plat-cell:nth-child(3){animation-delay:.21s;}
.platforms-row.in-view .plat-cell:nth-child(4){animation-delay:.29s;}
.platforms-row.in-view .plat-cell:nth-child(5){animation-delay:.37s;}
.platforms-row.in-view .plat-cell:nth-child(6){animation-delay:.45s;}
.platforms-row.in-view .plat-cell:nth-child(7){animation-delay:.53s;}
.platforms-row.in-view .plat-cell:nth-child(8){animation-delay:.61s;}
@keyframes platCellIn{
  0%{opacity:0;transform:translateY(14px);}
  100%{opacity:1;transform:translateY(0);}
}
/* Engineering bracket marks on each cell — hidden, appear on hover */
.plat-cell::before,
.plat-cell::after{
  content:'';position:absolute;width:10px;height:10px;
  border:1px solid var(--cyan);
  opacity:0;transition:opacity .25s ease;
  pointer-events:none;
}
.plat-cell::before{top:6px;left:6px;border-right:none;border-bottom:none;}
.plat-cell::after{bottom:6px;right:6px;border-left:none;border-top:none;}
.plat-cell:hover{
  background:rgba(0,229,255,.06);
  transform:translateY(-3px);
  box-shadow:0 0 24px rgba(0,229,255,.12) inset;
  z-index:3;
}
.plat-cell:hover::before,
.plat-cell:hover::after{opacity:.7;}
.plat-cell.preferred{
  background:linear-gradient(180deg,rgba(0,229,255,.08),rgba(5,11,22,.85));
}
.plat-cell.preferred .pref-tag{
  position:absolute;top:6px;right:8px;
  font-family:'JetBrains Mono',monospace;
  font-size:.55rem;letter-spacing:.18em;
  color:var(--accent);
  text-shadow:0 0 6px rgba(255,77,94,.7);
  animation:prefBlink 2.4s ease-in-out infinite;
}
@keyframes prefBlink{
  0%,100%{opacity:1;text-shadow:0 0 6px rgba(255,77,94,.7);}
  50%{opacity:.6;text-shadow:0 0 14px rgba(255,77,94,.95);}
}
.plat-name{
  font-family:'Rajdhani',sans-serif;
  font-size:1.05rem;font-weight:600;
  color:var(--white);
  text-transform:uppercase;letter-spacing:.06em;
  line-height:1.1;
  position:relative;
}
/* Subtle glow drift for preferred cell name */
.plat-cell.preferred .plat-name{
  background:linear-gradient(90deg,#fff 0%,var(--cyan) 50%,#fff 100%);
  background-size:200% auto;
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;
  animation:platShine 4s linear infinite;
}
@keyframes platShine{
  0%{background-position:0% center;}
  100%{background-position:200% center;}
}
.plat-cat{
  font-family:'JetBrains Mono',monospace;
  font-size:.6rem;letter-spacing:.18em;color:var(--white-35);
  text-transform:uppercase;
  margin-top:.4rem;
  transition:color .3s ease;
}
.plat-cell:hover .plat-cat{color:var(--cyan);}
.platforms-foot{
  margin-top:1.25rem;
  font-family:'JetBrains Mono',monospace;
  font-size:.65rem;letter-spacing:.15em;color:var(--white-35);
  text-transform:uppercase;
  text-align:center;
}
.svc-detail-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:4rem;align-items:start;}
@media(max-width:900px){.svc-detail-grid{grid-template-columns:1fr;}}
.svc-num-big{font-family:'Rajdhani',sans-serif;font-size:6rem;font-weight:700;line-height:1;background:linear-gradient(180deg,rgba(0,229,255,.3),transparent);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:1rem;}
.svc-detail .lhs h2{font-family:'Rajdhani',sans-serif;font-size:clamp(1.75rem,3.5vw,2.75rem);font-weight:700;text-transform:uppercase;line-height:1.05;margin-bottom:1.5rem;}
.svc-detail .rhs p{font-size:1.05rem;color:var(--white-85);line-height:1.7;margin-bottom:1.5rem;}
.feat-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-top:2rem;}
@media(max-width:600px){.feat-grid{grid-template-columns:1fr;}}
.feat{display:grid;grid-template-columns:24px 1fr;gap:.75rem;padding:.85rem 1rem;background:rgba(15,30,53,.4);border-left:2px solid var(--cyan);font-size:.9rem;align-items:start;}
.feat svg{width:16px;height:16px;stroke:var(--cyan);stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round;margin-top:3px;}

/* ═══════════════ SVC VIEWFINDER (inline on services page) ═══════════════ */
.svc-viewfinder-wrap{
  position:relative;
  margin-top:2.5rem;
  aspect-ratio:4/3;
  background:linear-gradient(135deg,#071220,#030811);
  border:1px solid var(--line);
  overflow:hidden;
  clip-path:polygon(20px 0,100% 0,100% calc(100% - 20px),calc(100% - 20px) 100%,0 100%,0 20px);
  box-shadow:0 20px 60px rgba(0,0,0,.5),0 0 40px rgba(0,229,255,.08) inset;
}
.svc-viewfinder-wrap canvas{position:absolute;inset:0;width:100%;height:100%;}
.svc-viewfinder-wrap .cam-corners .c{position:absolute;width:24px;height:24px;border-color:var(--cyan);}
.svc-viewfinder-wrap .cam-corners .tl{top:16px;left:16px;border-top:2px solid;border-left:2px solid;}
.svc-viewfinder-wrap .cam-corners .tr{top:16px;right:16px;border-top:2px solid;border-right:2px solid;}
.svc-viewfinder-wrap .cam-corners .bl{bottom:16px;left:16px;border-bottom:2px solid;border-left:2px solid;}
.svc-viewfinder-wrap .cam-corners .br{bottom:16px;right:16px;border-bottom:2px solid;border-right:2px solid;}
.svc-viewfinder-wrap .cam-scanline{position:absolute;left:0;right:0;height:140px;background:linear-gradient(180deg,transparent,rgba(0,229,255,.15) 50%,transparent);pointer-events:none;animation:sm 4s linear infinite;}
.svc-viewfinder-wrap .cam-hud{position:absolute;top:16px;right:48px;font-family:'JetBrains Mono',monospace;font-size:.65rem;letter-spacing:.1em;color:var(--cyan);text-align:right;line-height:1.5;}
.svc-viewfinder-wrap .cam-hud .rec{display:inline-flex;align-items:center;gap:.4rem;}
.svc-viewfinder-wrap .cam-hud .rec::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--accent);animation:lp 1.2s ease-in-out infinite;}
.svc-viewfinder-wrap .cam-hud-bl{position:absolute;bottom:16px;left:48px;font-family:'JetBrains Mono',monospace;font-size:.6rem;color:var(--cyan);opacity:.8;letter-spacing:.12em;}
.svc-viewfinder-wrap .cam-crosshair{position:absolute;top:50%;left:50%;width:80px;height:80px;transform:translate(-50%,-50%);pointer-events:none;}
.svc-viewfinder-wrap .cam-crosshair::before,.svc-viewfinder-wrap .cam-crosshair::after{content:'';position:absolute;background:var(--cyan);opacity:.5;}
.svc-viewfinder-wrap .cam-crosshair::before{left:50%;top:0;bottom:0;width:1px;transform:translateX(-50%);}
.svc-viewfinder-wrap .cam-crosshair::after{top:50%;left:0;right:0;height:1px;transform:translateY(-50%);}
.svc-viewfinder-wrap .cam-target{position:absolute;top:50%;left:50%;width:22px;height:22px;border:1.5px solid var(--cyan);border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 10px var(--cyan);}

/* ═══════════════ BLUEPRINT SECTION ═══════════════ */
.blueprint-sec{
  padding:7rem 0;
  border-top:1px solid var(--line);
  background:
    linear-gradient(180deg,rgba(5,11,22,0.3),rgba(5,11,22,0.6)),
    var(--bg-deep);
  position:relative;overflow:hidden;
}
.blueprint-sec::before{
  content:'';position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(0,229,255,0.04) 1px,transparent 1px),
    linear-gradient(90deg,rgba(0,229,255,0.04) 1px,transparent 1px);
  background-size:40px 40px;
  pointer-events:none;
}
.bp-head{
  display:grid;grid-template-columns:1fr 1.3fr;gap:3rem;
  margin-bottom:3rem;align-items:end;
  position:relative;
}
@media(max-width:800px){.bp-head{grid-template-columns:1fr;gap:1rem;}}
.bp-intro{color:var(--white-85);font-size:1.05rem;line-height:1.7;}

.bp-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:2rem;
  position:relative;
}
@media(max-width:900px){.bp-grid{grid-template-columns:1fr;}}

.bp-card{
  position:relative;
  background:rgba(5,11,22,0.7);
  border:1px solid var(--line);
  overflow:hidden;
  clip-path:polygon(16px 0,100% 0,100% calc(100% - 16px),calc(100% - 16px) 100%,0 100%,0 16px);
}

/* Title block like a real drawing */
.bp-titleblock{
  display:grid;
  grid-template-columns:1.6fr 1fr 1fr 1.1fr;
  border-bottom:1px solid var(--line);
  font-family:'JetBrains Mono',monospace;
  font-size:0.6rem;letter-spacing:0.15em;
  text-transform:uppercase;
}
.bp-tb-cell{
  padding:0.75rem 1rem;
  border-right:1px solid var(--line);
  display:flex;flex-direction:column;gap:0.2rem;
}
.bp-tb-cell:last-child{border-right:none;}
.bp-tb-cell .lbl{color:var(--cyan);}
.bp-tb-cell .val{color:var(--white);font-family:'Rajdhani',sans-serif;font-size:0.85rem;letter-spacing:0.08em;font-weight:600;}

.bp-canvas{
  position:relative;
  aspect-ratio:1.1;
  background:
    radial-gradient(ellipse at center,rgba(0,229,255,0.04),transparent 70%),
    #040c18;
}
.bp-canvas svg{width:100%;height:100%;display:block;}

/* Ticker legend bar at bottom */
.bp-legend{
  display:flex;justify-content:space-between;align-items:center;
  flex-wrap:wrap;gap:1rem;
  padding:0.8rem 1rem;
  border-top:1px solid var(--line);
  background:rgba(0,229,255,0.03);
  font-family:'JetBrains Mono',monospace;
  font-size:0.62rem;letter-spacing:0.15em;
  color:var(--white-60);text-transform:uppercase;
}
.bp-legend-item{display:flex;align-items:center;gap:0.45rem;}
.bp-legend-dot{width:8px;height:8px;display:inline-block;}
.bp-legend-dot.cam{background:var(--cyan);box-shadow:0 0 6px var(--cyan);}
.bp-legend-dot.ap{background:#5cf0ff;border-radius:50%;box-shadow:0 0 6px #5cf0ff;}
.bp-legend-dot.door{background:#ff4d5e;box-shadow:0 0 6px #ff4d5e;}
.bp-legend-dot.core{background:#a78bfa;box-shadow:0 0 6px #a78bfa;}
.bp-legend-dot.cable{width:14px;height:1.5px;background:var(--cyan);}

/* Callouts within blueprint */
.bp-label{
  font-family:'JetBrains Mono',monospace;
  font-size:8px;letter-spacing:0.08em;
  fill:var(--cyan);
}
.bp-label-sub{
  font-family:'JetBrains Mono',monospace;
  font-size:6.5px;fill:rgba(255,255,255,0.55);
}
.bp-room-label{
  font-family:'Rajdhani',sans-serif;
  font-size:11px;letter-spacing:0.12em;
  fill:rgba(255,255,255,0.4);
  text-transform:uppercase;font-weight:500;
}
.bp-dim-label{
  font-family:'JetBrains Mono',monospace;
  font-size:6.5px;fill:rgba(0,229,255,0.6);
  letter-spacing:0.05em;
}

/* Hover interactivity on camera nodes */
.bp-cam-node{cursor:pointer;transition:transform 0.2s;transform-origin:center;transform-box:fill-box;}
.bp-cam-node:hover{transform:scale(1.25);}

/* ABOUT */
.about-main{padding:5rem 0 6rem;}
.about-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:5rem;align-items:start;}
@media(max-width:900px){.about-grid{grid-template-columns:1fr;gap:3rem;}}
.about-body p{font-size:1.05rem;line-height:1.75;color:var(--white-85);margin-bottom:1.25rem;}
.about-body p .accent{color:var(--cyan);font-weight:500;}
.badges{display:flex;flex-direction:column;}
.badge{padding:1.5rem;border:1px solid var(--line);background:rgba(15,30,53,.3);display:grid;grid-template-columns:48px 1fr;gap:1rem;align-items:center;margin-bottom:-1px;transition:all .2s;}
.badge:hover{background:rgba(0,229,255,.05);border-color:rgba(0,229,255,.4);}
.badge svg{width:30px;height:30px;stroke:var(--cyan);stroke-width:1.5;fill:none;stroke-linecap:round;stroke-linejoin:round;}
.badge .b-title{font-family:'Rajdhani',sans-serif;font-size:1.05rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;}
.badge .b-sub{font-size:.82rem;color:var(--white-60);margin-top:3px;}
.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;}
@media(max-width:800px){.values-grid{grid-template-columns:1fr;}}
.value-card{background:rgba(15,30,53,.4);border:1px solid var(--line);padding:2rem 1.75rem;clip-path:polygon(14px 0,100% 0,100% calc(100% - 14px),calc(100% - 14px) 100%,0 100%,0 14px);position:relative;overflow:hidden;}
.value-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--cyan),transparent);}
.value-card .v-num{font-family:'JetBrains Mono',monospace;font-size:.75rem;letter-spacing:.2em;color:var(--cyan);margin-bottom:1rem;}
.value-card h3{font-family:'Rajdhani',sans-serif;font-size:1.3rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;margin-bottom:.75rem;}
.value-card p{font-size:.92rem;color:var(--white-60);line-height:1.65;}

/* AREA */
.area-main{padding:5rem 0 6rem;}
.area-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:4rem;align-items:start;}
@media(max-width:900px){.area-grid{grid-template-columns:1fr;}}
.coverage-chips{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-top:2rem;}
@media(max-width:500px){.coverage-chips{grid-template-columns:1fr;}}
.zone-chip{padding:.85rem 1rem;background:rgba(15,30,53,.5);border:1px solid var(--line);font-family:'Rajdhani',sans-serif;font-size:.95rem;letter-spacing:.05em;font-weight:500;text-transform:uppercase;display:flex;justify-content:space-between;align-items:center;transition:all .2s;}
.zone-chip:hover{border-color:var(--cyan);background:rgba(0,229,255,.05);}
.zone-status{font-family:'JetBrains Mono',monospace;font-size:.62rem;letter-spacing:.2em;color:var(--cyan);display:flex;align-items:center;gap:.4rem;}
.zone-status::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--cyan);box-shadow:0 0 6px var(--cyan);animation:lp 2.5s ease-in-out infinite;}
.map-box{position:relative;background:linear-gradient(135deg,#0a1a2e,#030811);border:1px solid var(--line);aspect-ratio:1.05;overflow:hidden;clip-path:polygon(18px 0,100% 0,100% calc(100% - 18px),calc(100% - 18px) 100%,0 100%,0 18px);}
.map-box canvas{position:absolute;inset:0;width:100%;height:100%;}
.map-hud{position:absolute;top:16px;left:16px;font-family:'JetBrains Mono',monospace;font-size:.65rem;letter-spacing:.15em;color:var(--cyan);}
.map-hud-br{position:absolute;bottom:16px;right:16px;font-family:'JetBrains Mono',monospace;font-size:.65rem;letter-spacing:.15em;color:var(--cyan);opacity:.7;text-align:right;}

/* CONTACT */
.contact-main-sec{padding:5rem 0 6rem;}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;}
@media(max-width:900px){.contact-grid{grid-template-columns:1fr;}}
.big-contact{padding:2.5rem 0;border-top:1px solid var(--white-15);}
.big-contact:last-child{border-bottom:1px solid var(--white-15);}
.big-contact .lbl{font-family:'JetBrains Mono',monospace;font-size:.7rem;letter-spacing:.25em;color:var(--cyan);text-transform:uppercase;margin-bottom:1rem;display:flex;align-items:center;gap:.75rem;}
.big-contact .lbl::before{content:'';width:20px;height:1px;background:var(--cyan);box-shadow:0 0 4px var(--cyan);}
.big-contact a{display:block;font-family:'Rajdhani',sans-serif;font-size:clamp(1.75rem,4vw,2.75rem);font-weight:600;color:var(--white);text-decoration:none;letter-spacing:.02em;transition:all .25s;}
.big-contact a:hover{background:linear-gradient(90deg,var(--cyan),var(--electric));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.big-contact .sub{font-size:.9rem;color:var(--white-60);margin-top:.75rem;line-height:1.5;}
.hours-card{background:linear-gradient(180deg,rgba(15,30,53,.7),rgba(5,11,22,.7));border:1px solid var(--line);padding:2.5rem;clip-path:polygon(18px 0,100% 0,100% calc(100% - 18px),calc(100% - 18px) 100%,0 100%,0 18px);position:relative;overflow:hidden;}
.hours-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--cyan),var(--electric),transparent);}
.card-head{font-family:'JetBrains Mono',monospace;font-size:.7rem;letter-spacing:.25em;color:var(--cyan);text-transform:uppercase;margin-bottom:1.5rem;}
.hours-row{display:flex;justify-content:space-between;padding:.85rem 0;border-bottom:1px solid var(--white-15);font-family:'Rajdhani',sans-serif;font-size:1rem;letter-spacing:.05em;}
.hours-row:last-child{border-bottom:none;}
.hours-row .day{font-weight:500;text-transform:uppercase;}
.hours-row .time{color:var(--white-60);font-family:'JetBrains Mono',monospace;font-size:.85rem;}
.hours-row.open .time{color:var(--cyan);}
.emergency{margin-top:2rem;padding:1.25rem;background:rgba(0,229,255,.06);border-left:3px solid var(--cyan);font-size:.88rem;color:var(--white-85);line-height:1.6;}
.emergency strong{color:var(--cyan);font-family:'Rajdhani',sans-serif;font-size:.95rem;letter-spacing:.1em;text-transform:uppercase;display:block;margin-bottom:.25rem;}

/* FOOTER */
footer{position:relative;background:linear-gradient(180deg,rgba(5,11,22,.5),#020509);border-top:1px solid var(--line);padding:5rem 0 2rem;overflow:hidden;}
footer::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 100%,rgba(0,229,255,.08),transparent 60%);}
.foot-grid{position:relative;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;margin-bottom:3rem;}
@media(max-width:900px){.foot-grid{grid-template-columns:1fr 1fr;gap:2rem;}}
@media(max-width:500px){.foot-grid{grid-template-columns:1fr;}}
.f-brand{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;}
.f-tag{font-size:.9rem;color:var(--white-60);max-width:360px;line-height:1.65;}
footer h4{font-family:'JetBrains Mono',monospace;font-size:.7rem;letter-spacing:.25em;color:var(--cyan);text-transform:uppercase;margin-bottom:1.25rem;}
footer ul{list-style:none;display:flex;flex-direction:column;gap:.65rem;}
footer a{font-family:'Rajdhani',sans-serif;font-size:.95rem;color:var(--white-60);text-decoration:none;letter-spacing:.04em;transition:color .2s;cursor:pointer;}
footer a:hover{color:var(--cyan);}
.foot-bottom{position:relative;border-top:1px solid var(--white-15);padding-top:1.5rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;font-family:'JetBrains Mono',monospace;font-size:.7rem;letter-spacing:.1em;color:var(--white-35);}

#cursor-glow{position:fixed;top:0;left:0;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,rgba(0,229,255,.07),transparent 60%);pointer-events:none;transform:translate(-50%,-50%);z-index:1;opacity:0;transition:opacity .3s;}
@media(hover:hover){#cursor-glow.on{opacity:1;}}
#scroll-bar{position:fixed;top:0;left:0;height:2px;background:linear-gradient(90deg,var(--cyan),var(--electric));box-shadow:0 0 10px var(--cyan);width:0;z-index:600;transition:width .1s;}
.reveal{opacity:0;transform:translateY(20px);transition:opacity .9s ease,transform .9s ease;}
.reveal.in{opacity:1;transform:translateY(0);}
/* ═══════════════ ARCHITECTURAL HERO ═══════════════ */
.arch-hero{
  position:relative;
  min-height:calc(100vh - 80px);
  display:grid;
  grid-template-columns:100px 1fr;
  background:
    radial-gradient(ellipse at 70% 20%, rgba(0,229,255,0.10), transparent 60%),
    radial-gradient(ellipse at 20% 90%, rgba(59,130,246,0.10), transparent 60%),
    var(--bg-deep);
  overflow:hidden;
  border-bottom:1px solid var(--line);
}
.arch-hero::before{
  content:'';position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(0,229,255,0.05) 1px,transparent 1px),
    linear-gradient(90deg,rgba(0,229,255,0.05) 1px,transparent 1px);
  background-size:80px 80px;
  pointer-events:none;
}

/* LEFT RAIL */
.arch-rail{
  position:relative;z-index:2;
  border-right:1px solid var(--line);
  background:rgba(5,11,22,0.5);
  display:flex;flex-direction:column;
  align-items:center;justify-content:space-between;
  padding:1.5rem 0;
  overflow:hidden;
  width:100px;
}
.rail-stamp{display:flex;flex-direction:column;align-items:center;gap:0.5rem;}
.rail-num{
  font-family:'JetBrains Mono',monospace;
  font-size:0.6rem;letter-spacing:0.2em;
  color:var(--cyan);
  writing-mode:vertical-rl;
  transform:rotate(180deg);
}
.rail-rev{
  font-family:'JetBrains Mono',monospace;
  font-size:0.55rem;letter-spacing:0.2em;
  color:var(--white-35);
  writing-mode:vertical-rl;
  transform:rotate(180deg);
}
.rail-line{width:1px;height:30px;background:var(--cyan);box-shadow:0 0 6px var(--cyan);}
.rail-vertical{
  display:flex;flex-direction:column;
  writing-mode:vertical-rl;
  transform:rotate(180deg);
  font-family:'JetBrains Mono',monospace;
  font-size:0.65rem;letter-spacing:0.3em;
  color:var(--white-60);
  text-transform:uppercase;
  align-items:center;gap:1rem;
}
.rail-vertical .rail-sep{color:var(--cyan);}
@media(max-width:1100px){
  .arch-rail{display:none !important;}
  .arch-hero{grid-template-columns:1fr !important;}
}
@media(max-width:768px){
  .arch-rail,.rail-stamp,.rail-vertical,.rail-num,.rail-rev{display:none !important;visibility:hidden !important;}
  .arch-hero{grid-template-columns:1fr !important;}
}

/* MAIN */
.arch-main{position:relative;z-index:1;padding:0 2rem;}
@media(max-width:640px){.arch-main{padding:0 1rem;}}

/* TITLE BLOCK */
.arch-titleblock{
  display:grid;
  grid-template-columns:2fr 1fr 1.5fr 1.2fr;
  border-bottom:1px solid var(--line);
  margin-bottom:3rem;
}
@media(max-width:800px){.arch-titleblock{grid-template-columns:1fr 1fr;}.arch-titleblock .tb-cell:nth-child(n+3){border-top:1px solid var(--line);}}
.tb-cell{
  padding:1rem 1.5rem 1rem 0;
  border-right:1px solid var(--line);
}
.tb-cell:last-child{border-right:none;padding-right:0;}
.tb-label{
  font-family:'JetBrains Mono',monospace;
  font-size:0.6rem;letter-spacing:0.25em;
  color:var(--cyan);text-transform:uppercase;
  margin-bottom:0.4rem;
}
.tb-val{
  font-family:'Rajdhani',sans-serif;
  font-size:0.95rem;font-weight:600;
  letter-spacing:0.05em;text-transform:uppercase;
  color:var(--white);
}
.tb-status{display:flex;align-items:center;gap:0.6rem;}
.tb-status .tb-val{color:var(--cyan);}

/* GRID */
.arch-grid{
  display:grid;
  grid-template-columns:1fr 1.2fr;
  gap:3rem;
  padding-bottom:4rem;
  align-items:start;
}
@media(max-width:1100px){.arch-grid{grid-template-columns:1fr;gap:3rem;}}

/* TEXT SIDE */
.arch-eyebrow{
  font-family:'JetBrains Mono',monospace;
  font-size:0.7rem;letter-spacing:0.25em;
  color:var(--cyan);text-transform:uppercase;
  margin-bottom:1.5rem;
  display:flex;align-items:center;gap:0.75rem;
}
.arch-eyebrow::before{
  content:'';width:30px;height:1px;background:var(--cyan);box-shadow:0 0 6px var(--cyan);
}
.arch-title{
  font-family:'Rajdhani',sans-serif;
  font-size:clamp(2.5rem,5.5vw,5rem);
  font-weight:700;
  line-height:0.95;
  letter-spacing:-0.02em;
  margin-bottom:2rem;
  text-transform:uppercase;
}
.arch-title .grad{
  background:linear-gradient(90deg,var(--cyan),var(--electric) 60%,var(--cyan));
  background-size:200% auto;
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;
  animation:gs 6s linear infinite;
  font-style:italic;
  position:relative;
  display:inline-block;
}
.arch-title .grad::before{
  content:attr(data-text);
  position:absolute;
  left:0;top:0;
  width:100%;height:100%;
  font-style:italic;
  color:transparent;
  -webkit-text-stroke:1.2px var(--cyan);
  text-stroke:1.2px var(--cyan);
  -webkit-text-fill-color:transparent;
  background:#050b16;
  -webkit-background-clip:text;background-clip:text;
  filter:drop-shadow(0 0 6px rgba(0,229,255,0.6));
  clip-path:inset(0 100% 0 0);
  animation:strokeReveal 1.6s 0.4s cubic-bezier(0.65,0,0.35,1) forwards, strokeFadeOut 0.5s 1.95s ease-out forwards;
  pointer-events:none;
  white-space:pre;
}
.arch-title .grad::after{
  content:'';
  position:absolute;
  top:0;
  left:0;
  width:3px;
  height:100%;
  background:linear-gradient(180deg, transparent, var(--cyan), transparent);
  filter:drop-shadow(0 0 8px var(--cyan));
  opacity:0;
  animation:cursorScan 1.6s 0.4s cubic-bezier(0.65,0,0.35,1) forwards;
  pointer-events:none;
}
@keyframes strokeReveal{
  0%{clip-path:inset(0 100% 0 0);}
  100%{clip-path:inset(0 0 0 0);}
}
@keyframes strokeFadeOut{
  0%{opacity:1;}
  100%{opacity:0;}
}
@keyframes cursorScan{
  0%{opacity:0;left:0;}
  10%{opacity:1;}
  90%{opacity:1;}
  100%{opacity:0;left:100%;}
}
.arch-lede{
  font-size:1.05rem;
  color:var(--white-85);
  max-width:480px;
  line-height:1.7;
  margin-bottom:2rem;
}

/* LEGEND */
.arch-legend{
  display:flex;flex-direction:column;
  border-top:1px solid var(--white-15);
  margin-bottom:2rem;
}
.legend-item{
  display:grid;
  grid-template-columns:24px 1fr auto;
  gap:1rem;align-items:center;
  padding:0.85rem 0;
  border-bottom:1px solid var(--white-15);
  cursor:pointer;
  transition:padding 0.2s;
}
.legend-item:hover{padding-left:0.5rem;}
.leg-dot{width:10px;height:10px;border-radius:50%;display:inline-block;}
.leg-cam{background:#00e5ff;box-shadow:0 0 8px #00e5ff;}
.leg-net{background:#5cf0ff;box-shadow:0 0 8px #5cf0ff;}
.leg-acc{background:#3b82f6;box-shadow:0 0 8px #3b82f6;}
.leg-door{background:#ff4d5e;box-shadow:0 0 8px #ff4d5e;}
.leg-auto{background:#a78bfa;box-shadow:0 0 8px #a78bfa;}
.leg-name{
  font-family:'Rajdhani',sans-serif;
  font-size:1rem;font-weight:600;
  letter-spacing:0.04em;text-transform:uppercase;
  color:var(--white);
}
.leg-spec{
  font-family:'JetBrains Mono',monospace;
  font-size:0.65rem;letter-spacing:0.1em;
  color:var(--white-60);margin-top:2px;
}
.leg-count{
  font-family:'Rajdhani',sans-serif;
  font-size:1.5rem;font-weight:700;
  color:var(--cyan);
  letter-spacing:0.02em;
}

.arch-actions{display:flex;gap:1rem;flex-wrap:wrap;}

/* ISO FRAME */
.arch-iso-wrap{position:relative;}
.iso-frame{
  position:relative;
  background:linear-gradient(135deg,#03101e,#020a14);
  border:1px solid var(--line);
  aspect-ratio:1;
  overflow:hidden;
  clip-path:polygon(20px 0,100% 0,100% calc(100% - 20px),calc(100% - 20px) 100%,0 100%,0 20px);
  box-shadow:0 30px 80px rgba(0,0,0,0.6),0 0 60px rgba(0,229,255,0.08) inset;
}
.iso-corner{position:absolute;width:20px;height:20px;border-color:var(--cyan);z-index:3;}
.iso-corner.tl{top:14px;left:14px;border-top:2px solid;border-left:2px solid;}
.iso-corner.tr{top:14px;right:14px;border-top:2px solid;border-right:2px solid;}
.iso-corner.bl{bottom:14px;left:14px;border-bottom:2px solid;border-left:2px solid;}
.iso-corner.br{bottom:14px;right:14px;border-bottom:2px solid;border-right:2px solid;}

/* RULER ticks */
.iso-ruler{position:absolute;background-image:linear-gradient(90deg,var(--cyan) 1px,transparent 1px);opacity:0.35;}
.iso-ruler-top{top:8px;left:34px;right:34px;height:6px;background-size:30px 6px;background-repeat:repeat-x;}
.iso-ruler-left{left:8px;top:34px;bottom:34px;width:6px;background-image:linear-gradient(180deg,var(--cyan) 1px,transparent 1px);background-size:6px 30px;background-repeat:repeat-y;}

.iso-svg{
  width:100%;height:100%;
  display:block;
  position:relative;z-index:1;
}

/* signal pulse animation on iso nodes */
.signal-pulse{
  transform-origin:center;
  transform-box:fill-box;
  animation:sigPulse 2.4s ease-out infinite;
}
@keyframes sigPulse{
  0%{transform:scale(0.4);opacity:0.8;}
  100%{transform:scale(1.6);opacity:0;}
}
.led-blink{animation:ledBlink 1.6s ease-in-out infinite;}
@keyframes ledBlink{0%,100%{opacity:1;}50%{opacity:0.2;}}
.wifi-arc{animation:wifiArc 2s ease-out infinite;transform-origin:center;}
@keyframes wifiArc{0%{opacity:0;}40%{opacity:1;}100%{opacity:0;}}

/* readout */
.iso-readout{
  position:absolute;
  bottom:24px;right:24px;
  background:rgba(5,11,22,0.85);
  border:1px solid var(--line);
  backdrop-filter:blur(8px);
  padding:0.8rem 1rem;
  font-family:'JetBrains Mono',monospace;
  font-size:0.65rem;letter-spacing:0.1em;
  color:var(--white-60);
  display:flex;flex-direction:column;gap:0.4rem;
  min-width:160px;
  z-index:3;
}
.iso-readout-row{display:flex;justify-content:space-between;gap:1rem;}
.iso-readout-row span:first-child{color:var(--white-35);}
.iso-readout-row .ok{color:var(--cyan);display:inline-flex;align-items:center;gap:0.4rem;}

/* ═══════════════ DEPLOYMENT STRIP ═══════════════ */
.deploy-strip{padding:7rem 0;border-top:1px solid var(--line);overflow:hidden;}
.strip-head{
  display:grid;grid-template-columns:1fr 2fr;gap:3rem;
  margin-bottom:4rem;align-items:end;
}
@media(max-width:800px){.strip-head{grid-template-columns:1fr;gap:1rem;}}
.deploy-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;perspective:1500px;}
@media(max-width:900px){.deploy-grid{grid-template-columns:1fr;}}
.deploy-card{
  position:relative;
  display:block;cursor:pointer;
  background:linear-gradient(180deg,rgba(15,30,53,0.5),rgba(5,11,22,0.5));
  border:1px solid var(--line);
  padding:2rem;
  text-decoration:none;color:inherit;
  transition:transform 0.25s ease-out,border-color 0.25s;
  overflow:hidden;
  transform-style:preserve-3d;
  clip-path:polygon(16px 0,100% 0,100% calc(100% - 16px),calc(100% - 16px) 100%,0 100%,0 16px);
}
.deploy-card::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(400px circle at var(--mx,50%) var(--my,50%),rgba(0,229,255,0.18),transparent 40%);
  opacity:0;transition:opacity 0.3s;pointer-events:none;
}
.deploy-card:hover{border-color:rgba(0,229,255,0.5);}
.deploy-card:hover::before{opacity:1;}
.deploy-num{
  font-family:'JetBrains Mono',monospace;
  font-size:0.7rem;letter-spacing:0.25em;
  color:var(--cyan);margin-bottom:1.5rem;
}
.deploy-iso{
  width:100%;height:140px;
  display:flex;align-items:center;justify-content:center;
  margin-bottom:1.5rem;
  background:rgba(0,229,255,0.03);
  border:1px solid var(--line);
}
.deploy-iso svg{width:140px;height:140px;}
.deploy-card h3{
  font-family:'Rajdhani',sans-serif;
  font-size:1.5rem;font-weight:600;
  letter-spacing:0.04em;text-transform:uppercase;
  margin-bottom:0.75rem;
}
.deploy-card p{font-size:0.92rem;color:var(--white-60);line-height:1.6;margin-bottom:1.25rem;}
.deploy-meta{
  font-family:'JetBrains Mono',monospace;
  font-size:0.65rem;letter-spacing:0.15em;
  color:var(--cyan);
  display:flex;gap:0.5rem;
  border-top:1px solid var(--white-15);
  padding-top:1rem;
}

/* ═══════════════ SPEC SHEET ═══════════════ */
.spec-sec{padding:7rem 0;border-top:1px solid var(--line);background:rgba(15,30,53,0.15);}
.spec-head{display:grid;grid-template-columns:1.1fr 1fr;gap:3rem;align-items:end;margin-bottom:3rem;}
@media(max-width:900px){.spec-head{grid-template-columns:1fr;gap:1.5rem;}}
.spec-intro{color:var(--white-85);font-size:1.05rem;line-height:1.7;}

.spec-table{
  border:1px solid var(--line);
  background:rgba(5,11,22,0.5);
  font-family:'Exo 2',sans-serif;
}
.spec-row{
  display:grid;
  grid-template-columns:1.2fr 1fr 1.6fr 1.2fr;
  border-bottom:1px solid var(--line);
  transition:background 0.15s;
}
.spec-row:last-child{border-bottom:none;}
.spec-row:not(.spec-header-row):hover{background:rgba(0,229,255,0.03);}
@media(max-width:800px){
  .spec-row{grid-template-columns:1fr;}
  .spec-cell{border-right:none !important;border-bottom:1px dashed rgba(0,229,255,0.15) !important;}
  .spec-cell:last-child{border-bottom:none !important;}
}
.spec-cell{
  padding:1.25rem 1.5rem;
  border-right:1px solid var(--line);
  font-size:0.95rem;color:var(--white-85);
  display:flex;align-items:center;
}
.spec-cell:last-child{border-right:none;}
.spec-header-row{background:rgba(0,229,255,0.05);}
.spec-header-row .spec-cell{
  font-family:'JetBrains Mono',monospace;
  font-size:0.65rem;letter-spacing:0.25em;
  color:var(--cyan);text-transform:uppercase;
  font-weight:500;
  padding:0.85rem 1.5rem;
}
.spec-name{
  font-family:'Rajdhani',sans-serif;
  font-weight:600;text-transform:uppercase;
  letter-spacing:0.05em;font-size:1rem;
  display:flex;align-items:center;gap:0.75rem;
}
.spec-mono{
  font-family:'JetBrains Mono',monospace;
  font-size:0.85rem;color:var(--cyan);
}
.spec-dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex-shrink:0;}
.pref-star{
  display:inline-block;
  color:var(--accent);
  font-size:0.75rem;
  margin-right:0.5rem;
  vertical-align:1px;
  text-shadow:0 0 6px rgba(255,75,75,.55);
}

/* ═══════════════ TIMELINE ═══════════════ */
.timeline-sec{padding:7rem 0;border-top:1px solid var(--line);}
.timeline{position:relative;max-width:900px;margin:0 auto;padding-left:80px;}
@media(max-width:600px){.timeline{padding-left:50px;}}
.tl-axis{
  position:absolute;left:30px;top:0;bottom:0;width:2px;
  background:linear-gradient(180deg,var(--cyan),transparent);
  box-shadow:0 0 8px var(--cyan);
}
@media(max-width:600px){.tl-axis{left:18px;}}
.tl-row{
  position:relative;margin-bottom:2rem;
}
.tl-row:last-child{margin-bottom:0;}
.tl-marker{
  position:absolute;left:-65px;top:0;
  width:60px;
  display:flex;flex-direction:column;align-items:center;
}
@media(max-width:600px){.tl-marker{left:-45px;width:36px;}}
.tl-num{
  width:60px;height:60px;border-radius:50%;
  background:rgba(5,11,22,0.95);
  border:2px solid var(--cyan);
  display:flex;align-items:center;justify-content:center;
  font-family:'JetBrains Mono',monospace;
  font-size:0.7rem;letter-spacing:0.1em;
  color:var(--cyan);font-weight:600;
  box-shadow:0 0 20px rgba(0,229,255,0.3);
  position:relative;z-index:2;
}
@media(max-width:600px){.tl-num{width:36px;height:36px;font-size:0.5rem;}}
.tl-card{
  background:rgba(15,30,53,0.45);
  border:1px solid var(--line);
  border-left:3px solid var(--cyan);
  padding:1.75rem 2rem;
  position:relative;
  transition:all 0.2s;
}
.tl-card:hover{background:rgba(0,229,255,0.05);transform:translateX(6px);}
.tl-phase{
  font-family:'JetBrains Mono',monospace;
  font-size:0.65rem;letter-spacing:0.25em;
  color:var(--cyan);margin-bottom:0.75rem;
}
.tl-card h3{
  font-family:'Rajdhani',sans-serif;
  font-size:1.4rem;font-weight:600;
  letter-spacing:0.04em;text-transform:uppercase;
  margin-bottom:0.65rem;
}
.tl-card p{font-size:0.95rem;color:var(--white-85);line-height:1.65;margin-bottom:1rem;}
.tl-deliv{
  font-family:'JetBrains Mono',monospace;
  font-size:0.7rem;letter-spacing:0.1em;
  color:var(--white-60);
  padding-top:1rem;
  border-top:1px dashed rgba(0,229,255,0.2);
}
.tl-deliv::before{content:'▸ ';color:var(--cyan);}
