:root{--navy:#07172d;--navy2:#0b2140;--panel:#0e294d;--ink:#edf7ff;--muted:#a8bdd1;--mint:#50f5cf;--blue:#65a8ff;--line:rgba(143,196,226,.18);--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--navy);color:var(--ink);font-family:Manrope,system-ui,sans-serif;line-height:1.6}body:before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 15% 0%,rgba(69,161,255,.09),transparent 30%),radial-gradient(circle at 90% 20%,rgba(80,245,207,.07),transparent 28%);z-index:-1}a{color:inherit}.container{width:min(var(--max),calc(100% - 40px));margin:auto}.section-pad{padding:110px 0}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:12px;top:12px;z-index:99;background:white;color:#000;padding:10px}.site-header{position:sticky;top:0;z-index:50;background:rgba(7,23,45,.82);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.nav-wrap{height:78px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px;text-decoration:none}.brand-mark{width:42px;height:42px;border:1px solid rgba(80,245,207,.35);border-radius:12px;display:grid;place-items:center;background:linear-gradient(145deg,rgba(80,245,207,.1),rgba(101,168,255,.08))}.brand-mark svg{width:28px;fill:none;stroke:var(--mint);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.brand span:last-child{display:flex;flex-direction:column;line-height:1}.brand strong{font-family:"Space Grotesk";font-size:18px}.brand small{color:var(--muted);letter-spacing:.18em;text-transform:uppercase;font-size:9px;margin-top:5px}nav{display:flex;align-items:center;gap:28px}nav a{text-decoration:none;color:#c7d8e8;font-size:14px;font-weight:600}nav a:hover{color:var(--mint)}.menu-toggle{display:none}.button{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:0 22px;border:1px solid var(--mint);border-radius:9px;background:var(--mint);color:#041321;text-decoration:none;font-weight:800;box-shadow:0 8px 32px rgba(80,245,207,.14);cursor:pointer}.button:hover{transform:translateY(-1px);box-shadow:0 12px 35px rgba(80,245,207,.22)}.button-small{min-height:40px;padding:0 16px;color:#041321}.hero{padding-top:80px;min-height:1080px;position:relative;overflow:hidden;display:block}.hero-grid{position:relative;min-height:980px;display:block}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:12px;font-weight:800;color:var(--mint);margin:0 0 18px}.hero h1,.section-heading h2,.split h2,.contact h2{font-family:"Space Grotesk";line-height:1.05;letter-spacing:-.04em}.hero h1{font-size:clamp(46px,6vw,78px);max-width:850px;margin:0 0 24px}.hero-lede{font-size:19px;color:#bad0e2;max-width:680px}.hero-actions{display:flex;align-items:center;gap:24px;margin:34px 0}.text-link{text-decoration:none;font-weight:700}.text-link span{color:var(--mint)}.trust-row{display:flex;gap:10px;flex-wrap:wrap}.trust-row span{padding:7px 11px;border:1px solid var(--line);border-radius:999px;font-size:12px;color:var(--muted)}.hero-copy{position:relative;z-index:3;max-width:760px;padding-top:48px}.hero-art{position:absolute;inset:0;width:100%;height:100%;display:block;overflow:visible;pointer-events:none}.hero-emblem{width:min(100%,520px);filter:drop-shadow(0 0 30px rgba(50,229,206,.12))}.signal{position:absolute;border:1px solid rgba(80,245,207,.1);border-radius:50%;animation:pulse 6s infinite;pointer-events:none}.signal-a{width:980px;height:980px;right:-170px;top:40px}.signal-b{width:760px;height:760px;right:-55px;top:150px;animation-delay:1s}.signal-c{width:560px;height:560px;right:60px;top:250px;animation-delay:2s}@keyframes pulse{50%{transform:scale(1.04);opacity:.35}}.art-label{display:none}.art-label span{color:var(--muted);font-size:12px}.section-heading{max-width:780px;margin-bottom:45px}.section-heading h2,.split h2,.contact h2{font-size:clamp(36px,5vw,58px);margin:0 0 20px}.section-heading>p:last-child,.split>div>p,.contact p{color:var(--muted)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.service-grid article,.credential-grid article{background:linear-gradient(145deg,rgba(16,48,88,.9),rgba(11,34,64,.92));border:1px solid var(--line);padding:28px;border-radius:16px;min-height:230px}.service-grid article:hover{border-color:rgba(80,245,207,.5);transform:translateY(-3px)}.service-grid span{font-family:"Space Grotesk";color:var(--mint);font-size:12px}.service-grid h3{font-size:21px}.service-grid p{color:var(--muted);font-size:14px}.service-grid .featured{background:linear-gradient(145deg,rgba(80,245,207,.12),rgba(16,48,88,.9));border-color:rgba(80,245,207,.3)}.sports{background:#081b34;border-block:1px solid var(--line)}.split{display:grid;grid-template-columns:1fr .9fr;gap:80px;align-items:center}.process-card{background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:34px}.process-card h3{margin-top:0}.process-card ol{list-style:none;padding:0;margin:0}.process-card li{display:grid;grid-template-columns:100px 1fr;gap:18px;padding:18px 0;border-top:1px solid var(--line)}.process-card li strong{color:var(--mint)}.process-card li span{color:var(--muted);font-size:14px}.team-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.team-card{background:#0a203d;border:1px solid var(--line);border-radius:20px;overflow:hidden}.team-card>div:last-child{padding:30px}.team-card-text{display:flex;min-height:0}.team-card-text>div:last-child{width:100%}.team-card h3{font-family:"Space Grotesk";font-size:30px;margin:5px 0 12px}.role{color:var(--mint);text-transform:uppercase;letter-spacing:.13em;font-size:11px;font-weight:800}.team-card p,.team-card li{color:var(--muted)}.team-card ul{padding-left:18px}.credentials{background:#071a32}.credential-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.credential-grid article{min-height:180px}.credential-grid strong{font-size:20px}.credential-grid p{color:var(--muted);font-size:14px}.contact{background:linear-gradient(135deg,#0b2342,#07172d)}.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px}.contact-details{display:flex;flex-direction:column;gap:10px;margin-top:30px}.contact-details a{color:var(--mint);text-decoration:none;font-weight:700}.contact-details span{color:var(--muted)}form{background:#f3f8fb;color:#0b1d2d;padding:32px;border-radius:20px;display:grid;grid-template-columns:1fr 1fr;gap:18px}label{display:flex;flex-direction:column;font-weight:700;font-size:13px;gap:7px}label:last-of-type{grid-column:1/-1}input,select,textarea{border:1px solid #cbd9e2;border-radius:8px;padding:12px;font:inherit;background:white}textarea{resize:vertical}form .button{grid-column:1/-1;border:0}.hidden{display:none}footer{padding:35px 0;border-top:1px solid var(--line);color:var(--muted)}.footer-grid{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:35px;font-size:12px}.footer-brand strong{color:var(--ink)}
@media(max-width:900px){nav{position:absolute;top:78px;left:20px;right:20px;background:#0b2140;border:1px solid var(--line);border-radius:14px;padding:20px;display:none;flex-direction:column;align-items:stretch}nav.open{display:flex}.menu-toggle{display:block;background:none;border:1px solid var(--line);color:white;border-radius:8px;padding:9px 12px}.hero-grid,.split,.contact-grid{grid-template-columns:1fr}.hero-art{height:420px}.service-grid{grid-template-columns:1fr 1fr}.credential-grid{grid-template-columns:1fr 1fr}.team-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.section-pad{padding:80px 0}}@media(max-width:580px){.container{width:min(100% - 24px,var(--max))}.hero{padding-top:45px}.hero h1{font-size:43px}.hero-actions{align-items:flex-start;flex-direction:column}.hero-art{height:330px}.service-grid,.credential-grid{grid-template-columns:1fr}.process-card{padding:22px}.process-card li{grid-template-columns:1fr}form{grid-template-columns:1fr;padding:22px}label{grid-column:1/-1}.section-pad{padding:65px 0}}

/* Interactive header falcon */
.brand-mark-interactive{position:relative;overflow:visible;isolation:isolate}
#draggable-falcon{width:100%;height:100%;display:grid;place-items:center;position:relative;z-index:10002;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;transform-origin:center;will-change:transform,filter}
#draggable-falcon:active{cursor:grabbing}
#draggable-falcon svg{width:28px;height:28px;overflow:visible;pointer-events:none}
#draggable-falcon.is-flying{animation:falcon-flap 240ms ease-in-out infinite alternate;filter:drop-shadow(0 0 5px rgba(75,235,214,.75)) drop-shadow(0 0 12px rgba(61,178,255,.35))}
#draggable-falcon.is-returning{animation-duration:150ms}
#draggable-falcon.has-landed{animation:falcon-land 350ms cubic-bezier(.2,1.5,.4,1)}
@keyframes falcon-flap{0%{scale:1 .88;rotate:-2deg}50%{scale:1.08 1;rotate:1deg}100%{scale:.96 1.12;rotate:2deg}}
@keyframes falcon-land{0%{scale:1.12 .9}45%{scale:.92 1.1}75%{scale:1.04 .97}100%{scale:1}}
#falcon-stars{position:fixed;inset:0;width:100vw;height:100vh;z-index:10001;pointer-events:none}
@media(prefers-reduced-motion:reduce){#draggable-falcon{animation:none!important;transition:none!important}#falcon-stars{display:none}}

/* Stronger interactive animation overrides */
#falcon-mover{width:100%;height:100%;display:grid;place-items:center;position:relative;z-index:10002;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;will-change:transform;transform-origin:center}
#falcon-mover:active{cursor:grabbing}
#draggable-falcon{width:100%;height:100%;display:grid;place-items:center;position:relative;cursor:inherit;transform-origin:50% 52%;will-change:transform,filter}
#draggable-falcon svg{width:28px;height:28px;overflow:visible;pointer-events:none}
#draggable-falcon.is-flying{filter:drop-shadow(0 0 7px rgba(255,255,255,.85)) drop-shadow(0 0 13px rgba(80,245,207,.9));animation:none}
#draggable-falcon.is-returning{animation:none}
#falcon-stars{position:fixed;inset:0;width:100vw;height:100vh;z-index:9999;pointer-events:none;display:block!important}

/* Large hero mark: exact scaled version of the corrected header symbol */
.hero-mark-shell{
  width:min(72%,360px);
  aspect-ratio:1;
  display:grid;
  place-items:center;
  position:relative;
  z-index:2;
  border:1px solid rgba(80,245,207,.35);
  border-radius:28.571%;
  background:linear-gradient(145deg,rgba(80,245,207,.1),rgba(101,168,255,.08));
  box-shadow:0 0 60px rgba(80,245,207,.07), inset 0 0 50px rgba(101,168,255,.025);
}
.hero-emblem{
  width:67%;
  height:67%;
  overflow:visible;
  fill:none;
  stroke:var(--mint);
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
  filter:drop-shadow(0 0 18px rgba(80,245,207,.2));
  pointer-events:none;
}
.hero-mark-shell:hover .hero-emblem{
  filter:drop-shadow(0 0 12px rgba(255,255,255,.22)) drop-shadow(0 0 28px rgba(80,245,207,.35));
}
@media(max-width:900px){.hero-mark-shell{width:min(62%,320px)}}
@media(max-width:580px){.hero-mark-shell{width:min(66%,250px)}}

/* Hero background falcon / fox-ear illusion */
.hero-mark-shell{
  position:absolute;
  right:-170px;
  top:55px;
  width:min(84vw,980px);
  aspect-ratio:1;
  border:1px solid transparent;
  border-radius:26%;
  background:transparent;
  box-shadow:none;
  display:block;
  z-index:1;
  pointer-events:auto;
  transform:rotate(-7deg);
}
.hero-emblem{
  position:absolute;
  inset:-2.5%;
  width:105%;
  height:105%;
  overflow:visible;
  fill:none;
  stroke:var(--mint);
  stroke-width:1.65;
  stroke-linecap:round;
  stroke-linejoin:round;
  opacity:.9;
  filter:drop-shadow(0 0 26px rgba(80,245,207,.12));
  pointer-events:none;
}
.hero-mark-shell:hover .hero-emblem{
  filter:drop-shadow(0 0 16px rgba(255,255,255,.18)) drop-shadow(0 0 36px rgba(80,245,207,.24));
}

@media(max-width:900px){
  .hero{min-height:920px;padding-top:56px}
  .hero-grid{min-height:840px}
  .hero-copy{padding-top:18px;max-width:640px}
  .hero-art{inset:0;height:100%}
  .signal-a{width:760px;height:760px;right:-240px;top:120px}
  .signal-b{width:590px;height:590px;right:-150px;top:215px}
  .signal-c{width:430px;height:430px;right:-65px;top:300px}
  .hero-mark-shell{width:min(108vw,760px);right:-220px;top:155px;transform:rotate(-8deg)}
}
@media(max-width:580px){
  .hero{min-height:780px;padding-top:36px}
  .hero-grid{min-height:720px}
  .hero-copy{padding-top:0;max-width:none}
  .hero-art{height:100%}
  .signal-a{width:600px;height:600px;right:-280px;top:165px}
  .signal-b{width:470px;height:470px;right:-205px;top:245px}
  .signal-c{width:340px;height:340px;right:-130px;top:325px}
  .hero-mark-shell{width:min(135vw,620px);right:-250px;top:200px;transform:rotate(-9deg)}
  .hero-emblem{opacity:.8}
}

/* Revamped hero background illustration */
.hero{
  padding-top:72px;
  min-height:980px;
  position:relative;
  overflow:hidden;
}
.hero-grid{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,620px) 1fr;
  align-items:center;
  gap:40px;
  min-height:860px;
}
.hero-copy{
  grid-column:1;
  position:relative;
  z-index:4;
  max-width:620px;
  padding-top:12px;
}
.hero-art{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  overflow:hidden;
  pointer-events:none;
  z-index:1;
}
.hero-visual{
  position:absolute;
  right:-118px;
  top:72px;
  width:min(72vw,900px);
  aspect-ratio:1;
  pointer-events:auto;
  z-index:1;
  opacity:.98;
}
.hero-illustration{
  width:100%;
  height:100%;
  overflow:visible;
}
.hero-orbits .orbit{
  fill:none;
  stroke:rgba(132,198,255,.18);
  stroke-width:2.2;
}
.hero-orbits .orbit-faint{
  stroke:rgba(132,198,255,.12);
}
.hero-washes .wash{
  fill:url(#heroWash);
  opacity:.9;
}
.hero-washes .wash-secondary{
  opacity:.58;
}
.hero-illustration .trace,
.hero-illustration .tower-line{
  fill:none;
  stroke:url(#heroLine);
  stroke-linecap:round;
  stroke-linejoin:round;
}
.hero-illustration .major{
  stroke-width:8;
}
.hero-illustration .minor{
  stroke-width:5.5;
  opacity:.88;
}
.hero-illustration .detail{
  stroke-width:4.6;
  opacity:.8;
}
.hero-illustration .feather,
.hero-illustration .fine,
.hero-illustration .tower-line{
  stroke-width:3.1;
  opacity:.7;
}
.hero-illustration .node{
  fill:#eafcff;
  stroke:rgba(80,245,207,.55);
  stroke-width:2;
}
.hero-illustration .node-small{
  stroke-width:1.6;
}
.signal{
  position:absolute;
  border:1px solid rgba(80,245,207,.08);
  border-radius:50%;
  animation:pulse 6s infinite;
  pointer-events:none;
}
.signal-a{width:980px;height:980px;right:-230px;top:-14px}
.signal-b{width:760px;height:760px;right:-130px;top:96px;animation-delay:1s}
.signal-c{width:560px;height:560px;right:-28px;top:190px;animation-delay:2s}

@media(max-width:900px){
  .hero{
    min-height:900px;
    padding-top:56px;
  }
  .hero-grid{
    grid-template-columns:1fr;
    min-height:820px;
  }
  .hero-copy{
    max-width:640px;
    padding-top:0;
  }
  .hero-visual{
    width:min(108vw,780px);
    right:-238px;
    top:150px;
  }
  .signal-a{width:770px;height:770px;right:-250px;top:120px}
  .signal-b{width:590px;height:590px;right:-160px;top:220px}
  .signal-c{width:430px;height:430px;right:-74px;top:304px}
}
@media(max-width:580px){
  .hero{
    min-height:780px;
    padding-top:30px;
  }
  .hero-grid{
    min-height:690px;
  }
  .hero-copy{
    max-width:none;
  }
  .hero-visual{
    width:min(136vw,660px);
    right:-260px;
    top:228px;
    opacity:.84;
  }
  .signal-a{width:600px;height:600px;right:-286px;top:178px}
  .signal-b{width:468px;height:468px;right:-206px;top:260px}
  .signal-c{width:344px;height:344px;right:-130px;top:338px}
}


/* Final hero artwork: user-selected network falcon */
.hero{padding-top:72px;min-height:860px;position:relative;overflow:hidden}
.hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,620px) 1fr;align-items:center;gap:40px;min-height:740px}
.hero-copy{grid-column:1;position:relative;z-index:4;max-width:620px;padding-top:0}
.hero-art{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:1}
.hero-visual{position:absolute;right:-210px;top:-8px;width:min(82vw,1040px);height:760px;pointer-events:auto;z-index:1;overflow:hidden}
.hero-network-image{width:100%;height:100%;display:block;object-fit:cover;object-position:47% 50%;opacity:.72;mix-blend-mode:screen;filter:saturate(.82) brightness(.82) contrast(1.08);-webkit-mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.18) 12%,#000 34%,#000 86%,transparent 100%),linear-gradient(to bottom,transparent 0%,#000 10%,#000 88%,transparent 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.18) 12%,#000 34%,#000 86%,transparent 100%)}
.hero-copy:after{content:"";position:absolute;z-index:-1;inset:-90px -170px -90px -100px;background:radial-gradient(ellipse at 35% 50%,rgba(7,23,45,.98) 0%,rgba(7,23,45,.88) 48%,rgba(7,23,45,.35) 72%,transparent 100%);pointer-events:none}
@media(max-width:900px){.hero{min-height:850px;padding-top:54px}.hero-grid{min-height:760px;grid-template-columns:1fr}.hero-copy{max-width:640px}.hero-visual{right:-330px;top:105px;width:min(128vw,900px);height:690px}.hero-network-image{opacity:.58}.hero-copy:after{inset:-70px -80px -70px -60px}}
@media(max-width:580px){.hero{min-height:770px;padding-top:28px}.hero-grid{min-height:690px}.hero-visual{right:-330px;top:230px;width:760px;height:540px}.hero-network-image{opacity:.46;object-position:44% 50%}.hero-copy:after{inset:-45px -35px -55px -35px}}

/* Smooth hero artwork integration: cropped source + baked alpha feather removes hard image boundaries */
.hero-visual{
  overflow:visible;
}
.hero-network-image{
  width:100%;
  height:100%;
  display:block;
  object-fit:contain;
  object-position:center;
  opacity:.78;
  mix-blend-mode:screen;
  filter:saturate(.88) brightness(.86) contrast(1.04);
  -webkit-mask-image:none;
  mask-image:none;
}


/* Project inquiry form feedback and Netlify honeypot */
.honeypot{position:absolute!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;height:1px!important;width:1px!important;margin:-1px!important;padding:0!important;border:0!important;white-space:nowrap!important}
.form-status{grid-column:1/-1;margin:0!important;min-height:1.5em;font-size:13px;font-weight:700}
.form-status.is-success{color:#08785f!important}
.form-status.is-error{color:#a72424!important}
form .button:disabled{opacity:.65;cursor:wait;transform:none;box-shadow:none}
