:root{--bg:#07090c;--bg2:#0c1016;--card:#11161e;--fg:#eef2f6;--mut:#94a0ae;--acc:#f5a524;--acc2:#ff7a1a;--line:rgba(255,255,255,.08);--r:18px}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--fg);font-family:Inter,system-ui,Helvetica,Arial,sans-serif;line-height:1.6;overflow-x:hidden;position:relative;-webkit-font-smoothing:antialiased}
body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:100;opacity:.07;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
h1,h2,h3,.logo,.disp{font-family:"Space Grotesk",Inter,sans-serif;letter-spacing:-.02em}
a{color:inherit;text-decoration:none}.wrap{max-width:1280px;margin:0 auto;padding:0 40px}
/* nav */
nav{position:fixed;top:16px;left:50%;transform:translateX(-50%);width:min(1240px,calc(100% - 32px));z-index:60;background:rgba(14,18,24,.55);backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);border:1px solid rgba(255,255,255,.1);border-radius:999px;box-shadow:0 10px 40px rgba(0,0,0,.35)}
nav .in{display:flex;justify-content:space-between;align-items:center;height:60px;padding:0 10px 0 26px}
.logo{display:flex;align-items:center;line-height:0}.logo img{display:block;height:36px;width:auto}.logo .mark-only{display:none;height:32px}
.links{display:flex;align-items:center}.links a{margin-left:26px;color:#c5cdd6;font-size:14px;font-weight:500}.links a:hover{color:#fff}
.btn{background:linear-gradient(135deg,#ffc04d,var(--acc) 45%,var(--acc2));color:#140c00;padding:14px 26px;border-radius:999px;font-weight:700;display:inline-flex;align-items:center;gap:8px;border:0;cursor:pointer;font-size:15px;box-shadow:0 8px 30px rgba(245,140,30,.35);transition:.25s;font-family:inherit}
.btn:hover{transform:translateY(-2px);box-shadow:0 12px 40px rgba(245,140,30,.55)}
.btn.ghost{background:rgba(255,255,255,.06);color:#fff;border:1px solid rgba(255,255,255,.18);box-shadow:none;backdrop-filter:blur(10px)}
.links .btn{margin-left:22px;padding:11px 20px;color:#140c00}
/* hero */
.hero{position:relative;min-height:100vh;display:flex;align-items:flex-end;padding:140px 0 70px;overflow:hidden;background:#000}
.hero .bg{position:absolute;inset:-4%;background:url(../img/hangar.webp) center 40%/cover;animation:kb 24s ease-in-out infinite alternate}
@keyframes kb{to{transform:scale(1.08) translate(-1%,-1%)}}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,9,12,.55) 0%,rgba(7,9,12,.15) 30%,rgba(7,9,12,.6) 62%,var(--bg) 100%),radial-gradient(ellipse at 15% 85%,rgba(245,140,30,.28),transparent 55%)}
.hero .wrap{position:relative;z-index:2;width:100%;display:grid;grid-template-columns:1.5fr 1fr;gap:50px;align-items:end}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:#ffd08a;font-weight:600;padding:8px 14px;border:1px solid rgba(245,165,36,.35);border-radius:999px;background:rgba(245,165,36,.08);backdrop-filter:blur(6px);margin-bottom:26px}
.eyebrow:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--acc);box-shadow:0 0 12px var(--acc);animation:pulse 2s infinite}
@keyframes pulse{50%{opacity:.35}}
h1{font-size:clamp(44px,7.4vw,112px);line-height:.92;font-weight:700;letter-spacing:-.045em}
h1 em{font-style:normal;background:linear-gradient(90deg,#ffd27a,var(--acc),var(--acc2));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero p.lead{margin:28px 0 36px;font-size:19px;color:#d3dae2;max-width:620px}
.cta{display:flex;gap:12px;flex-wrap:wrap}
.glass{background:rgba(16,20,27,.55);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-radius:var(--r);box-shadow:0 20px 60px rgba(0,0,0,.45)}
.tcard{padding:14px}.tcard .h{display:flex;justify-content:space-between;align-items:center;padding:4px 6px 12px;font-size:13px;color:#c5cdd6}.tcard .h b{color:#fff;font-family:"Space Grotesk"}
.scroll{position:absolute;left:50%;bottom:22px;z-index:3;transform:translateX(-50%);font-size:11px;letter-spacing:.3em;color:#8d99a6}
/* compare */
.cmp{position:relative;overflow:hidden;border-radius:12px;aspect-ratio:16/10;user-select:none;touch-action:none;cursor:ew-resize;background:#222}
.cmp .layer{position:absolute;inset:0;background-size:cover;background-position:center}
.cmp .top{clip-path:inset(0 0 0 var(--p,50%))}
.cmp .handle{position:absolute;top:0;bottom:0;left:var(--p,50%);width:2px;background:#fff;box-shadow:0 0 14px var(--acc)}
.cmp .handle:after{content:"⇆";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--acc);color:#111;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-weight:800;box-shadow:0 0 0 6px rgba(245,165,36,.25)}
.cmp .lbl{position:absolute;top:10px;font:600 10px Inter;background:rgba(0,0,0,.55);backdrop-filter:blur(6px);padding:5px 9px;border-radius:999px;letter-spacing:.12em;z-index:2}
.cmp .lbl.l{left:10px}.cmp .lbl.r{right:10px;color:#ffd08a}
.thermal{background-image:linear-gradient(180deg,#2a0a4a,#7a1170 35%,#d81b60 58%,#ff8f00 80%,#ffe082),url(../img/hangar.webp)!important;background-size:cover!important;background-blend-mode:color;filter:contrast(1.35) saturate(1.4)}
.ph-note{font-size:12px;color:var(--mut);margin-top:10px}
/* ticker */
.ticker{border-block:1px solid var(--line);background:linear-gradient(90deg,var(--bg),#0f1218,var(--bg));overflow:hidden;padding:26px 0;position:relative;z-index:2}
.ticker .tr{display:flex;gap:0;width:max-content;animation:tk 45s linear infinite}
.ticker span{font-family:"Space Grotesk";font-size:30px;font-weight:600;color:#5d6875;white-space:nowrap;padding:0 28px;display:flex;align-items:center;gap:56px}
.ticker span:after{content:"✦";color:var(--acc);font-size:18px}
.ticker span:nth-child(3n+1){color:#e9edf2}
@keyframes tk{to{transform:translateX(-50%)}}
/* sections */
section{padding:130px 0;position:relative;z-index:1}section.alt{background:var(--bg2)}
.kicker{font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--acc);font-weight:600;display:flex;align-items:center;gap:12px;margin-bottom:18px}.kicker:before{content:"";width:28px;height:1px;background:var(--acc)}
h2{font-size:clamp(34px,4.6vw,64px);line-height:1;font-weight:700;letter-spacing:-.035em;max-width:900px}
.sub{color:var(--mut);margin:20px 0 56px;max-width:620px;font-size:18px}
.shead{display:flex;justify-content:space-between;align-items:end;gap:40px;flex-wrap:wrap}
.glow{position:absolute;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(245,140,30,.16),transparent 65%);pointer-events:none;z-index:0}
/* services */
.sg{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:250px;gap:16px}
.s{position:relative;border-radius:var(--r);overflow:hidden;padding:26px;display:flex;flex-direction:column;justify-content:flex-end;border:1px solid var(--line);background:var(--card);transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s,border-color .35s;isolation:isolate}
.s:before{content:"";position:absolute;inset:0;z-index:-2;background:var(--bgx);background-size:cover;background-position:center;transition:transform .6s}
.s:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(7,9,12,.05),rgba(7,9,12,.85) 75%)}
.s:hover{transform:translateY(-6px);border-color:rgba(245,165,36,.5);box-shadow:0 20px 50px rgba(0,0,0,.5),0 0 40px rgba(245,140,30,.18)}.s:hover:before{transform:scale(1.06)}
.s.big{grid-column:span 2;grid-row:span 2}.s.wide{grid-column:span 2}
.s svg{width:34px;height:34px;stroke:var(--acc);fill:none;stroke-width:1.6;margin-bottom:auto}
.s h3{font-size:22px;font-weight:600;margin-bottom:4px}.s.big h3{font-size:34px}.s p{color:#b4bdc8;font-size:14px}
.s .no{position:absolute;top:22px;right:24px;font:600 12px "Space Grotesk";color:#6d7885}
/* industries */
.ig{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.ind{position:relative;border-radius:var(--r);overflow:hidden;min-height:260px;padding:28px;display:flex;flex-direction:column;justify-content:flex-end;border:1px solid var(--line);background:var(--bgx,linear-gradient(135deg,#141a23,#0d1117));background-size:cover;background-position:center;transition:.35s;isolation:isolate}
.ind:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,transparent,rgba(7,9,12,.9))}
.ind:hover{transform:translateY(-5px);border-color:rgba(245,165,36,.5);box-shadow:0 0 40px rgba(245,140,30,.15)}
.ind h3{font-size:24px}.ind p{color:#aab4c0;font-size:14px;margin:6px 0 14px}.ind span{color:var(--acc);font-weight:600;font-size:14px}
.ind .slot{position:absolute;top:18px;left:18px;font-size:10px;letter-spacing:.14em;color:#6d7885;border:1px dashed #333c47;padding:4px 8px;border-radius:999px}
/* case band */
.band{display:grid;grid-template-columns:1.35fr 1fr;grid-template-rows:330px 330px;gap:16px}
.case{position:relative;border-radius:22px;overflow:hidden;background-size:cover;background-position:center;display:flex;flex-direction:column;justify-content:flex-end;padding:34px;isolation:isolate;border:1px solid var(--line)}
.case:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,0,0,0) 35%,rgba(7,9,12,.92))}
.case.tall{grid-row:span 2}.case h3{font-size:32px;line-height:1.05;margin:10px 0 8px}.case p{color:#c3ccd6;max-width:520px}
.chip{display:inline-block;font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;padding:6px 12px;border-radius:999px;background:rgba(0,0,0,.45);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.15);color:#ffd08a;width:max-content}
.case.ph{background:repeating-linear-gradient(45deg,#121821 0 16px,#0e131a 16px 32px)}
/* data */
.dgrid{display:grid;grid-template-columns:1.6fr 1fr;gap:16px}
#pc{width:100%;height:560px;background:radial-gradient(ellipse at 50% 60%,#121a24,#05070a);border:1px solid var(--line);border-radius:22px;position:relative;overflow:hidden}
#pc canvas{display:block}#pc .lbl{position:absolute;top:18px;left:18px;font-size:11px;letter-spacing:.14em;font-weight:600;background:rgba(0,0,0,.5);backdrop-filter:blur(8px);padding:7px 12px;border-radius:999px;color:#ffd08a;z-index:2;border:1px solid rgba(255,255,255,.1)}
#pc .hint{position:absolute;bottom:16px;right:18px;font-size:12px;color:var(--mut);z-index:2}
.side{display:flex;flex-direction:column;gap:16px}.side .p{padding:26px;flex:1}.side h3{font-size:24px;margin-bottom:8px}.side p{color:var(--mut)}
.tabs{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.tabs button{background:rgba(255,255,255,.04);color:#b4bdc8;border:1px solid var(--line);padding:10px 18px;border-radius:999px;cursor:pointer;font:500 14px Inter}
.tabs button.on{color:#140c00;background:var(--acc);border-color:var(--acc)}
.pane{display:none}.pane.on{display:block}.pane .cmp{aspect-ratio:16/6.5;border-radius:22px}
/* process */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;counter-reset:s}
.st{padding:30px;border-radius:var(--r);border:1px solid var(--line);background:linear-gradient(180deg,rgba(255,255,255,.03),transparent);position:relative;overflow:hidden}
.st .n{font:700 64px/1 "Space Grotesk";background:linear-gradient(180deg,var(--acc),rgba(245,165,36,.1));-webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:26px}
.st h3{font-size:22px;margin-bottom:6px}.st p{color:var(--mut)}
/* coverage */
.cov{display:grid;grid-template-columns:1.2fr 1fr;gap:60px;align-items:center}
.cov .map{padding:30px}.cov svg{width:100%;height:auto}
.cov ul{margin-top:10px}.cov li{list-style:none;padding:18px 0;border-bottom:1px solid var(--line);color:var(--mut);display:flex;align-items:center}.cov li b{color:var(--fg);margin-right:6px}
.dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:14px;background:var(--acc);box-shadow:0 0 12px var(--acc)}.dot.n{background:#3d5068;box-shadow:none}
.photo-bg{background:linear-gradient(rgba(7,9,12,.9),rgba(7,9,12,.95)),url(../img/ponds.webp) center/cover}
/* quote */
.qwrap{display:grid;grid-template-columns:1fr 1.5fr;gap:60px;align-items:start}
.qb{padding:40px}
.prog{display:flex;gap:6px;margin-bottom:30px}.prog i{flex:1;height:4px;border-radius:4px;background:rgba(255,255,255,.08)}.prog i.on{background:linear-gradient(90deg,var(--acc),var(--acc2));box-shadow:0 0 12px rgba(245,140,30,.5)}
.step{display:none}.step.on{display:block;animation:fi .35s}.step h3{margin-bottom:20px;font-size:26px}
.opts{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.opts label{border:1px solid var(--line);padding:15px 16px;cursor:pointer;border-radius:12px;font-size:14px;display:flex;gap:10px;align-items:center;background:rgba(255,255,255,.02);transition:.2s}
.opts label:hover{border-color:rgba(245,165,36,.4)}.opts input{accent-color:var(--acc)}.opts label:has(input:checked){border-color:var(--acc);background:rgba(245,165,36,.1)}
.fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.fields input,.fields textarea{padding:15px;background:rgba(0,0,0,.3);border:1px solid var(--line);color:var(--fg);border-radius:12px;font-size:15px;font-family:inherit}
.fields textarea{grid-column:span 2;height:110px}
.nav2{display:flex;justify-content:space-between;margin-top:26px}
.sum dt{color:var(--mut);font-size:13px;margin-top:10px}.sum dd{font-weight:600}
.err{color:#ff8a7a;font-size:13px;margin-top:10px;min-height:18px}
.contact li{list-style:none;padding:14px 0;border-bottom:1px solid var(--line);color:var(--mut)}.contact b{color:var(--fg);display:block;font-family:"Space Grotesk";font-size:20px}
/* footer */
footer{padding:80px 0 40px;border-top:1px solid var(--line);position:relative;z-index:1;background:radial-gradient(ellipse at 50% 0,rgba(245,140,30,.08),transparent 60%)}
.flogo{display:block;margin-bottom:50px;width:min(520px,80%)}
.flogo img{width:100%;height:auto;display:block}
footer .row{display:flex;justify-content:space-between;flex-wrap:wrap;gap:20px;color:var(--mut);font-size:14px}footer .row b{color:var(--fg)}
/* fade + path */
.fade{opacity:0;transform:translateY(30px);transition:opacity .9s cubic-bezier(.2,.8,.2,1),transform .9s cubic-bezier(.2,.8,.2,1)}.fade.in{opacity:1;transform:none}
@keyframes fi{from{opacity:0;transform:translateX(12px)}to{opacity:1}}
#fp{position:absolute;top:0;left:0;width:100%;pointer-events:none;z-index:0}
#fp path{fill:none;stroke:var(--acc);stroke-width:1.5;stroke-dasharray:4 10;opacity:.28}
#drone circle:first-child{fill:var(--acc);filter:drop-shadow(0 0 8px var(--acc))}
@media(prefers-reduced-motion:reduce){.fade{opacity:1;transform:none;transition:none}.ticker .tr,.hero .bg{animation:none}}
@media(max-width:1000px){.hero .wrap,.cov,.qwrap,.dgrid,.band{grid-template-columns:1fr}.band{grid-template-rows:auto}.case{min-height:320px}.case.tall{grid-row:auto}.sg{grid-template-columns:1fr 1fr}.ig,.steps{grid-template-columns:1fr 1fr}.links a:not(.btn){display:none}.hero .tcard{max-width:520px}}
@media(max-width:600px){.wrap{padding:0 20px}.sg,.ig,.steps,.opts,.fields{grid-template-columns:1fr}.s.big,.s.wide{grid-column:auto;grid-row:auto}.sg{grid-auto-rows:210px}.fields textarea{grid-column:auto}section{padding:84px 0}.qb{padding:24px}#pc{height:380px}.links .btn{padding:9px 14px;font-size:13px;margin-left:0}.hero{padding-top:120px}.ticker span{font-size:22px}h1{font-size:52px}.hero p.lead{font-size:17px}}
.hero:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(7,9,12,.78) 0%,rgba(7,9,12,.35) 45%,transparent 70%)}
@media(max-width:600px){.hero:before{background:linear-gradient(180deg,rgba(7,9,12,.5),rgba(7,9,12,.82) 40%,rgba(7,9,12,.9))}.eyebrow{font-size:10px;letter-spacing:.14em}nav .in{padding:0 6px 0 16px}.links{flex-shrink:0}.logo .lockup{display:none}.logo .mark-only{display:block}}
html,body{overflow-x:clip}section{overflow-x:clip}
