:root{
  /* Logo-derived colors */
  --gbd-black:#060709;
  --gbd-red:#EA212A;
  --gbd-blue:#26A7DE;
  --gbd-mustard:#F7C129;
  --gbd-olive:#A89C36;

  /* Futuristic theme */
  --bg:#05060A;
  --panel:rgba(16,18,26,.55);
  --panel2:rgba(16,18,26,.35);
  --text:#F2F6FF;
  --muted:#B7C1D1;
  --line:rgba(255,255,255,.10);

  --radius:18px;
  --radius2:26px;
  --shadow: 0 30px 90px rgba(0,0,0,.45);
  --max: 1180px;

  --font-sans: "Manrope", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  --font-serif: "Fraunces", ui-serif, Georgia, serif;

  --ease: cubic-bezier(.2,.8,.2,1);
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  color:var(--text);
  background:
    radial-gradient(1200px 900px at 12% 10%, rgba(38,167,222,.18), transparent 55%),
    radial-gradient(1000px 800px at 84% 18%, rgba(247,193,41,.14), transparent 55%),
    radial-gradient(1100px 900px at 58% 92%, rgba(234,33,42,.14), transparent 60%),
    linear-gradient(180deg, var(--bg), #03040A 55%, #04050B);
  font-family:var(--font-sans);
  line-height:1.6;
  overflow-x:hidden;
}

a{color:inherit; text-decoration:none}
a:hover{opacity:.96}
img{max-width:100%; display:block}

.container{width:min(var(--max), 92vw); margin-inline:auto}

.skip-link{
  position:absolute; left:-999px; top:auto; width:1px; height:1px; overflow:hidden;
}
.skip-link:focus{
  left:1rem; top:1rem; width:auto; height:auto;
  padding:.6rem .9rem;
  background:rgba(10,12,18,.9);
  border:1px solid var(--line);
  border-radius:12px;
  z-index:9999;
}

.sr-only{
  position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden;
  clip:rect(0,0,0,0); border:0;
}

/* Ambient FX */
.fx{position:fixed; inset:0; pointer-events:none; z-index:-1}
.fx--aurora{
  background:
    radial-gradient(900px 620px at 20% 25%, rgba(38,167,222,.22), transparent 60%),
    radial-gradient(850px 600px at 75% 30%, rgba(247,193,41,.18), transparent 60%),
    radial-gradient(900px 650px at 55% 78%, rgba(234,33,42,.18), transparent 62%);
  filter: blur(34px) saturate(120%);
  animation: auroraShift 12s var(--ease) infinite alternate;
  opacity:.9;
}
.fx--grid{
  background-image:
    linear-gradient(to right, rgba(255,255,255,.045) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255,255,255,.045) 1px, transparent 1px);
  background-size: 46px 46px;
  mask-image: radial-gradient(900px 520px at 50% 28%, rgba(0,0,0,.85), transparent 75%);
  opacity:.6;
}
.fx--vignette{
  background: radial-gradient(1200px 900px at 50% 20%, transparent 55%, rgba(0,0,0,.55) 100%);
  opacity:.9;
}

@keyframes auroraShift{
  from{transform: translate3d(-2%, -1%, 0) scale(1.02)}
  to{transform: translate3d(2%, 1%, 0) scale(1.04)}
}

#particles{
  position:fixed; inset:0;
  width:100%; height:100%;
  z-index:-1;
  opacity:.55;
  pointer-events:none;
}

.cursorGlow{
  position:fixed;
  width:240px; height:240px;
  border-radius:999px;
  background: radial-gradient(circle at 30% 30%, rgba(38,167,222,.22), transparent 60%),
              radial-gradient(circle at 70% 40%, rgba(247,193,41,.18), transparent 60%),
              radial-gradient(circle at 50% 70%, rgba(234,33,42,.16), transparent 65%);
  filter: blur(26px);
  transform: translate(-9999px, -9999px);
  transition: opacity .2s var(--ease);
  opacity:.9;
  pointer-events:none;
  z-index:1;
}

/* Topbar */
.topbar{
  position:sticky; top:0;
  z-index:40;
  background: rgba(5,6,10,.70);
  backdrop-filter: blur(16px);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.topbar__inner{
  display:flex; align-items:center; justify-content:space-between;
  gap:1rem;
  padding:.7rem 0;
}
.topbar__text{color:var(--muted); font-size:.95rem}

.chip{
  display:inline-flex; align-items:center; gap:.55rem;
  padding:.28rem .75rem;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.04);
  font-weight:800;
  letter-spacing:.2px;
}
.chip--live{
  border-color: rgba(247,193,41,.35);
  background: rgba(247,193,41,.08);
}
.chip__dot{
  width:9px; height:9px;
  border-radius:999px;
  background: linear-gradient(135deg, var(--gbd-mustard), var(--gbd-red));
  box-shadow: 0 0 18px rgba(247,193,41,.35);
  animation: pulse 1.6s var(--ease) infinite;
}
@keyframes pulse{
  0%,100%{transform:scale(1); opacity:.85}
  50%{transform:scale(1.25); opacity:1}
}

/* Header */
.header{
  position:sticky; top:52px;
  z-index:50;
  transition: background .25s var(--ease), border-color .25s var(--ease), box-shadow .25s var(--ease);
  background:transparent;
  border-bottom:1px solid transparent;
}
.header[data-elevate="true"]{
  background: rgba(5,6,10,.78);
  backdrop-filter: blur(18px);
  border-bottom:1px solid rgba(255,255,255,.08);
  box-shadow: 0 14px 48px rgba(0,0,0,.25);
}
.header__inner{
  display:flex; align-items:center; justify-content:space-between;
  padding: 1rem 0;
  gap: 1rem;
}

.brand{display:flex; align-items:center; gap:.85rem}
.brand__logo{
  width:52px; height:52px;
  object-fit:contain;
  border-radius:16px;
  padding:6px;
  background: rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.10);
  box-shadow: 0 18px 44px rgba(0,0,0,.40);
}
.brand__stack{display:flex; flex-direction:column; line-height:1.15}
.brand__name{font-weight:900; letter-spacing:.2px}
.brand__sub{color:var(--muted); font-size:.88rem}

/* Nav */
.nav{display:flex; align-items:center; gap:1rem}
.nav__toggle{
  display:none;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.04);
  color:var(--text);
  border-radius:14px;
  padding:.65rem .8rem;
}
.nav__toggleLines{
  display:block;
  width:18px; height:12px;
  position:relative;
}
.nav__toggleLines::before,
.nav__toggleLines::after{
  content:"";
  position:absolute; left:0; right:0;
  height:2px;
  background:rgba(242,246,255,.85);
  border-radius:999px;
}
.nav__toggleLines::before{top:0}
.nav__toggleLines::after{bottom:0}

.nav__menu{display:flex; align-items:center; gap:1.1rem}
.nav__menu a{
  color: rgba(242,246,255,.90);
  font-weight:800;
  font-size:.98rem;
  padding:.45rem .55rem;
  border-radius:12px;
  border:1px solid transparent;
  transition: background .2s var(--ease), border-color .2s var(--ease), transform .2s var(--ease);
}
.nav__menu a:hover{
  background: rgba(38,167,222,.10);
  border-color: rgba(38,167,222,.16);
  transform: translateY(-1px);
}

/* Buttons */
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  gap:.55rem;
  border-radius:999px;
  padding:.9rem 1.2rem;
  font-weight:900;
  border:1px solid transparent;
  transition: transform .15s var(--ease), box-shadow .2s var(--ease), background .2s var(--ease), border-color .2s var(--ease);
  position:relative;
  overflow:hidden;
}
.btn:active{transform: translateY(1px)}
.btn--small{padding:.62rem .95rem; font-weight:900; font-size:.95rem}
.btn--tiny{padding:.45rem .8rem; font-weight:900; font-size:.92rem}
.btn--lg{padding:1rem 1.35rem}

.btn--primary{
  background: linear-gradient(135deg, var(--gbd-mustard), var(--gbd-red));
  color: #090A0F;
  box-shadow: 0 18px 65px rgba(247,193,41,.18);
}
.btn--primary:hover{box-shadow: 0 22px 80px rgba(247,193,41,.24)}
.btn--ghost{
  background: rgba(255,255,255,.04);
  border-color: rgba(255,255,255,.14);
  color: rgba(242,246,255,.95);
}
.btn--ghost:hover{
  border-color: rgba(38,167,222,.35);
  background: rgba(38,167,222,.10);
}

.btn__shine{
  position:absolute; inset:-40%;
  background: linear-gradient(120deg, transparent 35%, rgba(255,255,255,.35), transparent 60%);
  transform: translateX(-40%) rotate(10deg);
  opacity:0;
  transition: opacity .2s var(--ease);
  pointer-events:none;
}
.btn--primary:hover .btn__shine{
  opacity:1;
  animation: shine 1.1s var(--ease) infinite;
}
@keyframes shine{
  from{transform: translateX(-55%) rotate(10deg)}
  to{transform: translateX(55%) rotate(10deg)}
}

/* Hero */
.hero{padding: 3.3rem 0 1.6rem}
.hero__grid{
  display:grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 2.3rem;
  align-items:center;
}
.eyebrow{
  display:flex; align-items:center; gap:.65rem;
  color: rgba(183,193,209,.95);
  letter-spacing:.22em;
  text-transform:uppercase;
  font-size:.78rem;
  margin:0 0 .9rem;
}
.eyebrow__line{
  width:34px; height:2px;
  border-radius:999px;
  background: linear-gradient(90deg, var(--gbd-blue), var(--gbd-mustard), var(--gbd-red));
  box-shadow: 0 0 18px rgba(38,167,222,.16);
}

.hero__title{
  font-family: var(--font-serif);
  font-size: clamp(2.55rem, 4.8vw, 4.2rem);
  line-height:1.02;
  margin:0 0 1rem;
}
.textGlow{
  text-shadow: 0 0 30px rgba(38,167,222,.20), 0 0 40px rgba(247,193,41,.12);
}
.gradText{
  background: linear-gradient(135deg, var(--gbd-blue), var(--gbd-mustard));
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}

.hero__sub{
  color: rgba(242,246,255,.82);
  font-size: 1.06rem;
  max-width: 60ch;
  margin:0 0 1.35rem;
}
.hero__cta{display:flex; gap:.9rem; flex-wrap:wrap; margin-bottom:1.6rem}

.hero__stats{
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap:.95rem;
}
.statCard{
  border:1px solid rgba(255,255,255,.12);
  background: linear-gradient(180deg, rgba(16,18,26,.62), rgba(16,18,26,.35));
  border-radius: var(--radius);
  padding: .95rem 1rem;
  box-shadow: 0 18px 55px rgba(0,0,0,.22);
  position:relative;
  overflow:hidden;
}
.statCard::after{
  content:"";
  position:absolute; inset:-2px;
  background: radial-gradient(320px 220px at 30% 30%, rgba(38,167,222,.16), transparent 60%),
              radial-gradient(280px 220px at 70% 60%, rgba(247,193,41,.12), transparent 60%);
  opacity:.7;
  pointer-events:none;
}
.statCard__kpi{margin:0; font-weight:950; position:relative}
.statCard__desc{margin:.25rem 0 0; color:var(--muted); font-size:.95rem; position:relative}

/* Hero visual */
.hero__visual{position:relative; min-height: 440px}
.frame{
  position:absolute; inset: 22px 14px 14px 14px;
  border-radius: var(--radius2);
  border:1px solid rgba(255,255,255,.12);
  background: linear-gradient(135deg, rgba(16,18,26,.55), rgba(16,18,26,.20));
  box-shadow: var(--shadow);
}
.orb{position:absolute; border-radius:999px; filter: blur(30px); opacity:.95}
.orb--a{width:220px; height:220px; left:-18px; top:44px; background: rgba(38,167,222,.38)}
.orb--b{width:230px; height:230px; right:-14px; bottom:16px; background: rgba(247,193,41,.30)}
.orb--c{width:200px; height:200px; right:18px; top:42px; background: rgba(234,33,42,.22)}

.device{
  position:absolute;
  left:50%; top:55%;
  transform: translate(-50%,-50%);
  width:min(380px, 92%);
  border-radius: 28px;
  border:1px solid rgba(255,255,255,.14);
  background: linear-gradient(180deg, rgba(10,12,18,.78), rgba(10,12,18,.42));
  box-shadow: 0 34px 110px rgba(0,0,0,.45);
  overflow:hidden;
  padding: 1.15rem 1.2rem;
}
.device::before{
  content:"";
  position:absolute; inset:-2px;
  background:
    radial-gradient(520px 260px at 20% 20%, rgba(38,167,222,.16), transparent 60%),
    radial-gradient(520px 260px at 80% 30%, rgba(247,193,41,.12), transparent 60%),
    radial-gradient(520px 260px at 60% 86%, rgba(234,33,42,.12), transparent 60%);
  opacity:.85;
  pointer-events:none;
}
.device__top{display:flex; justify-content:space-between; align-items:center; position:relative; z-index:1}
.pill{
  display:inline-flex; align-items:center; justify-content:center;
  padding:.32rem .75rem;
  border-radius:999px;
  border:1px solid rgba(247,193,41,.28);
  background: rgba(247,193,41,.08);
  font-weight:950;
}
.pill--ghost{
  border-color: rgba(38,167,222,.24);
  background: rgba(38,167,222,.08);
}
.device__mid{position:relative; z-index:1; margin-top: 1rem}
.device__title{
  font-family: var(--font-serif);
  margin:.2rem 0 .2rem;
  font-size:1.55rem;
}
.device__text{margin:0; color:var(--muted)}
.scanline{
  position:absolute; left:0; right:0; top:-18px; height:2px;
  background: linear-gradient(90deg, transparent, rgba(38,167,222,.55), rgba(247,193,41,.35), transparent);
  filter: blur(.2px);
  animation: scan 2.8s var(--ease) infinite;
  opacity:.75;
}
@keyframes scan{
  0%{transform: translateY(0)}
  100%{transform: translateY(210px)}
}

.bars{display:flex; gap:.55rem; margin-top:1rem}
.bar{
  display:block; height:10px; border-radius:999px;
  background: rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.10);
  flex:1;
  overflow:hidden;
  position:relative;
}
.bar::after{
  content:"";
  position:absolute; inset:-1px;
  background: linear-gradient(90deg, rgba(38,167,222,.55), rgba(247,193,41,.45), rgba(234,33,42,.45));
  transform: translateX(-100%);
  animation: fill 2.6s var(--ease) infinite;
  opacity:.85;
}
.bar--2::after{animation-delay:.25s}
.bar--3::after{animation-delay:.5s}
@keyframes fill{
  0%{transform: translateX(-100%); opacity:.25}
  50%{transform: translateX(-10%); opacity:.9}
  100%{transform: translateX(110%); opacity:.25}
}

.device__bottom{display:flex; gap:.6rem; margin-top:1.2rem; position:relative; z-index:1}
.dot{width:10px; height:10px; border-radius:999px}
.dot--m{background:var(--gbd-mustard)}
.dot--r{background:var(--gbd-red)}
.dot--b{background:var(--gbd-blue)}
.dot--o{background:var(--gbd-olive)}

/* Sections */
.section{padding: 4.4rem 0}
.section--alt{
  background: linear-gradient(180deg, rgba(16,18,26,.30), rgba(16,18,26,0));
  border-top:1px solid rgba(255,255,255,.06);
  border-bottom:1px solid rgba(255,255,255,.06);
}
.sectionHead{
  display:flex; align-items:flex-end; justify-content:space-between;
  gap:1.25rem;
  margin-bottom:1.7rem;
}
.sectionHead h2{
  font-family: var(--font-serif);
  margin:0;
  font-size: clamp(1.85rem, 2.6vw, 2.4rem);
}
.sectionHead p{margin:0; color:var(--muted); max-width: 66ch}

.cards{display:grid; gap:1.1rem}
.cards--3{grid-template-columns: repeat(3, minmax(0,1fr))}

.card{
  border:1px solid rgba(255,255,255,.12);
  background: linear-gradient(180deg, rgba(16,18,26,.62), rgba(16,18,26,.35));
  border-radius: var(--radius2);
  padding: 1.25rem 1.2rem;
  box-shadow: 0 22px 70px rgba(0,0,0,.22);
  position:relative;
  overflow:hidden;
  transition: transform .25s var(--ease), border-color .25s var(--ease);
}
.card--glow::after{
  content:"";
  position:absolute; inset:-2px;
  background:
    radial-gradient(340px 240px at var(--gx, 30%) var(--gy, 30%), rgba(38,167,222,.20), transparent 60%),
    radial-gradient(300px 220px at 70% 65%, rgba(247,193,41,.14), transparent 60%);
  opacity:.85;
  pointer-events:none;
}
.card:hover{
  transform: translateY(-6px);
  border-color: rgba(38,167,222,.25);
}
.card__icon{
  width:44px; height:44px;
  display:grid; place-items:center;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.04);
  box-shadow: 0 18px 45px rgba(0,0,0,.18);
  font-weight:900;
  margin-bottom:.7rem;
}
.card h3{margin:.2rem 0 .4rem; font-size:1.22rem}
.card p{margin:0 0 .85rem; color:rgba(242,246,255,.82)}
.card ul{margin:0; padding-left:1.05rem; color:var(--muted)}
.card li{margin:.25rem 0}

.workGrid{
  display:grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap:1.05rem;
}
.workCard{
  border:1px solid rgba(255,255,255,.12);
  background: rgba(16,18,26,.40);
  border-radius: var(--radius2);
  overflow:hidden;
  box-shadow: 0 22px 70px rgba(0,0,0,.22);
  transition: transform .25s var(--ease), border-color .25s var(--ease);
}
.workCard:hover{transform: translateY(-6px); border-color: rgba(247,193,41,.26)}
.workCard__thumb{
  height: 190px;
  background:
    radial-gradient(520px 260px at 20% 25%, rgba(38,167,222,.18), transparent 60%),
    radial-gradient(520px 260px at 80% 35%, rgba(247,193,41,.14), transparent 60%),
    radial-gradient(520px 260px at 60% 90%, rgba(234,33,42,.12), transparent 62%),
    linear-gradient(135deg, rgba(10,12,18,.55), rgba(5,6,10,.80));
  position:relative;
}
.workCard__meta{
  position:absolute; inset:0;
  padding: 1.1rem;
  display:flex; flex-direction:column; justify-content:flex-end;
}
.tag{
  display:inline-flex; width:max-content;
  padding:.26rem .65rem;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.14);
  background: rgba(5,6,10,.35);
  font-weight:850; font-size:.9rem;
}
.workCard__title{margin-top:.55rem; font-weight:950; font-size:1.18rem}
.workCard__body{padding: 1rem 1.1rem 1.15rem}
.muted{color:var(--muted)}

.centerRow{display:flex; justify-content:center; margin-top: 1.5rem}

.steps{
  display:grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap:1rem;
}
.step{
  border:1px solid rgba(255,255,255,.12);
  background: linear-gradient(180deg, rgba(16,18,26,.62), rgba(16,18,26,.35));
  border-radius: var(--radius2);
  padding: 1.15rem 1.05rem;
}
.step__num{
  display:inline-flex; align-items:center; justify-content:center;
  width:44px; height:44px;
  border-radius:16px;
  border:1px solid rgba(247,193,41,.25);
  background: rgba(247,193,41,.08);
  font-weight:1000;
  margin-bottom:.55rem;
}
.step h3{margin:.2rem 0 .35rem}
.step p{margin:0; color:var(--muted)}

.about{
  display:grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 1.2rem;
  align-items:start;
}
.about__panel{
  border:1px solid rgba(255,255,255,.12);
  background: linear-gradient(180deg, rgba(16,18,26,.62), rgba(16,18,26,.35));
  border-radius: var(--radius2);
  padding: 1.2rem;
  box-shadow: 0 22px 70px rgba(0,0,0,.22);
}
.about__bullets{margin-top:1rem; display:grid; gap:.55rem}
.bullet{display:flex; align-items:center; gap:.55rem; color:rgba(242,246,255,.90); font-weight:700}
.bullet__dot{
  width:10px; height:10px; border-radius:999px;
  background: linear-gradient(135deg, var(--gbd-blue), var(--gbd-mustard));
  box-shadow: 0 0 18px rgba(38,167,222,.18);
}

.quoteBox{
  border:1px solid rgba(255,255,255,.10);
  background: rgba(5,6,10,.30);
  border-radius: 20px;
  padding: 1rem;
  margin-bottom:1rem;
}
.quoteBox__quote{margin:0 0 .35rem; font-family:var(--font-serif); font-size:1.15rem}
.quoteBox__by{margin:0; color:var(--muted); font-weight:850}
.pillRow{display:flex; flex-wrap:wrap; gap:.5rem}

/* Contact */
.contactGrid{
  display:grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 1.2rem;
  align-items:start;
}
.form, .contactCard{
  border:1px solid rgba(255,255,255,.12);
  background: linear-gradient(180deg, rgba(16,18,26,.62), rgba(16,18,26,.35));
  border-radius: var(--radius2);
  padding: 1.2rem;
  box-shadow: 0 22px 70px rgba(0,0,0,.22);
}
.fieldRow{
  display:grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: .9rem;
}
.field{display:flex; flex-direction:column; gap:.35rem; margin-bottom:.9rem}
label{font-weight:900}
input, select, textarea{
  background: rgba(5,6,10,.45);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 14px;
  color: rgba(242,246,255,.95);
  padding: .85rem .9rem;
  font-family: var(--font-sans);
  font-size: 1rem;
  outline:none;
}
input:focus, select:focus, textarea:focus{
  border-color: rgba(38,167,222,.45);
  box-shadow: 0 0 0 5px rgba(38,167,222,.14);
}
.formNote{margin:.85rem 0 0}

.contactCard__top{display:flex; gap:.85rem; align-items:center; margin-bottom:.6rem}
.contactCard__logo{
  width:56px; height:56px;
  object-fit:contain;
  border-radius:18px;
  padding:7px;
  background: rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.10);
  box-shadow: 0 18px 44px rgba(0,0,0,.40);
}
.contactList{display:grid; gap:.85rem; margin:1rem 0 1.2rem}
.contactItem{display:flex; flex-direction:column; gap:.1rem}
.contactLabel{color:var(--muted); font-weight:900; font-size:.9rem}
.ctaBox{
  border-radius: 20px;
  border:1px solid rgba(247,193,41,.22);
  background: rgba(247,193,41,.08);
  padding: 1rem;
}

/* Footer */
.footer{
  padding: 2.2rem 0;
  border-top:1px solid rgba(255,255,255,.08);
  background: rgba(5,6,10,.35);
}
.footer__inner{
  display:flex; align-items:center; justify-content:space-between;
  gap:1rem; flex-wrap:wrap;
}
.footer__brand{display:flex; align-items:center; gap:.75rem; color:rgba(242,246,255,.88)}
.footer__logo{
  width:42px; height:42px;
  object-fit:contain;
  border-radius:16px;
  padding:6px;
  background: rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.10);
  box-shadow: 0 16px 36px rgba(0,0,0,.35);
}
.footer__links{display:flex; gap:1rem; flex-wrap:wrap}
.footer__links a{color:rgba(242,246,255,.80)}
.footer__links a:hover{color:rgba(242,246,255,.95)}

/* Reveal Animations */
.reveal{
  opacity:0;
  transform: translateY(14px);
  transition: opacity .7s var(--ease), transform .7s var(--ease);
}
.reveal.is-in{
  opacity:1;
  transform: translateY(0);
}

/* Tilt helper */
.tilt{transform-style: preserve-3d}
.tilt *{transform-style: preserve-3d}

/* Responsive */
@media (max-width: 1100px){
  .workGrid{grid-template-columns: repeat(2, minmax(0,1fr))}
}
@media (max-width: 980px){
  .hero__grid{grid-template-columns: 1fr}
  .hero__visual{min-height: 380px}
  .hero__stats{grid-template-columns: 1fr}
  .cards--3{grid-template-columns: 1fr}
  .steps{grid-template-columns: 1fr}
  .about{grid-template-columns: 1fr}
  .contactGrid{grid-template-columns: 1fr}
  .topbar__text{display:none}
  .nav__toggle{display:inline-flex}
  .nav__menu{
    display:none;
    position:absolute;
    right:4vw;
    top: calc(52px + 62px);
    width: min(92vw, 420px);
    flex-direction:column;
    align-items:stretch;
    gap:.35rem;
    padding: .8rem;
    border-radius: 18px;
    background: rgba(5,6,10,.92);
    backdrop-filter: blur(18px);
    border: 1px solid rgba(255,255,255,.12);
    box-shadow: 0 22px 70px rgba(0,0,0,.35);
  }
  .nav__menu a{padding:.8rem .8rem}
  .nav__menu[data-open="true"]{display:flex}
  .fieldRow{grid-template-columns: 1fr}
}
@media (prefers-reduced-motion: reduce){
  *{scroll-behavior:auto !important; transition:none !important; animation:none !important}
  .cursorGlow{display:none}
  #particles{display:none}
}
