
:root{
  --bg:#f4f7fb;
  --surface:#ffffff;
  --surface-2:#eef3fb;
  --text:#0d1425;
  --muted:#65728a;
  --line:#dde5f0;
  --navy:#07111f;
  --navy-2:#0b1930;
  --blue:#3568ff;
  --blue-2:#72b8ff;
  --violet:#7f5dff;
  --cyan:#70e7ff;
  --green:#59d49b;
  --danger:#ff879d;
  --glass:rgba(255,255,255,.08);
  --glass-strong:rgba(255,255,255,.12);
  --shadow:0 28px 80px rgba(18,36,72,.12);
  --shadow-dark:0 35px 90px rgba(0,0,0,.28);
  --radius:26px;
  --radius-sm:17px;
  --max:1180px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:"Quicksand",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-weight:500;
  color:var(--text);
  background:var(--bg);
  overflow-x:hidden;
}
body.locked{overflow:hidden}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
img{max-width:100%;display:block}
main{min-height:60vh}
.container{width:min(var(--max),calc(100% - 38px));margin-inline:auto}
.section{padding:104px 0}
.section-tight{padding:72px 0}
.kicker{
  display:inline-flex;align-items:center;gap:10px;
  margin-bottom:17px;
  color:var(--blue);
  font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.13em
}
.kicker:before{
  content:"";width:24px;height:2px;border-radius:99px;
  background:linear-gradient(90deg,var(--blue),var(--violet))
}
.kicker.on-dark{color:#b6c6ff}
h1,h2,h3,h4,p{margin-top:0}
h1{
  font-size:clamp(56px,7vw,98px);
  line-height:.94;letter-spacing:-.055em;
  font-weight:700;margin-bottom:26px
}
h2{
  font-size:clamp(40px,5vw,66px);
  line-height:.98;letter-spacing:-.04em;
  font-weight:700;margin-bottom:20px
}
h3{font-size:24px;line-height:1.1;letter-spacing:-.025em;font-weight:700}
h4{font-size:17px;font-weight:700}
p{line-height:1.72;color:var(--muted)}
.lead{font-size:18px;max-width:760px}
.small{font-size:12px}
.text-link{color:var(--blue);font-weight:700;font-size:13px}
.grad-text{
  background:linear-gradient(100deg,#95b9ff 0%,#8defff 34%,#ac91ff 70%,#ffffff 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent
}
.grad-text-light{
  background:linear-gradient(100deg,var(--blue),var(--violet) 65%,#4e9dff);
  -webkit-background-clip:text;background-clip:text;color:transparent
}

/* NAV */
.nav-shell{
  position:fixed;left:0;right:0;top:16px;z-index:150;
  pointer-events:none
}
.nav{
  pointer-events:auto;
  min-height:70px;padding:0 14px 0 17px;
  display:flex;align-items:center;justify-content:space-between;gap:22px;
  border-radius:20px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(7,17,31,.72);
  backdrop-filter:blur(22px) saturate(150%);
  box-shadow:0 20px 60px rgba(0,0,0,.2);
  color:#fff
}
.brand{display:flex;align-items:center;gap:12px;font-weight:700;font-size:16px;white-space:nowrap}
.logo-mark{
  width:44px;height:44px;border-radius:14px;display:grid;place-items:center;
  color:white;font-weight:700;letter-spacing:-.03em;
  background:linear-gradient(145deg,#3d6cff,#805cff);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.4),0 12px 30px rgba(61,84,255,.33);
  position:relative;overflow:hidden
}
.logo-mark:after{
  content:"";position:absolute;inset:-50%;
  background:linear-gradient(120deg,transparent 38%,rgba(255,255,255,.55) 50%,transparent 62%);
  transform:translateX(-65%);
  animation:shine 6s ease-in-out infinite
}

.logo-mark svg{width:28px;height:28px;display:block;position:relative;z-index:2}
.brand-text{display:flex;flex-direction:column;line-height:1}
.brand-text strong{font-size:15px;letter-spacing:.01em}
.brand-text span{font-size:10px;color:#98aac3;font-weight:600;margin-top:4px;text-transform:uppercase;letter-spacing:.12em}
.hero-brand-chip{
  display:inline-flex;align-items:center;gap:10px;
  padding:12px 15px;border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.06);
  backdrop-filter:blur(10px);
  color:#d8e4f7;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  margin-bottom:20px
}
.hero-brand-chip .mini-mark{
  width:28px;height:28px;border-radius:10px;
  display:grid;place-items:center;
  background:linear-gradient(145deg,#3d6cff,#805cff);
  box-shadow:0 10px 24px rgba(61,84,255,.28)
}
.hero-brand-chip .mini-mark svg{width:17px;height:17px}
@keyframes shine{0%,60%{transform:translateX(-65%)}80%,100%{transform:translateX(65%)}}
.nav-links{display:flex;align-items:center;gap:26px;font-size:12px;color:#c8d4e7}
.nav-links>a{transition:.2s;color:#c8d4e7}
.nav-links>a:hover{color:#fff}
.nav-cta{
  color:#fff!important;padding:13px 17px;border-radius:13px;
  background:linear-gradient(135deg,var(--blue),var(--violet));
  box-shadow:0 12px 28px rgba(64,77,255,.27)
}
.menu-btn{display:none;background:none;border:0;color:#fff;font-size:26px;cursor:pointer}

/* HERO */
.hero{
  min-height:100vh;padding:150px 0 92px;color:#fff;position:relative;overflow:hidden;
  background:
    radial-gradient(circle at 15% 8%,rgba(56,92,255,.25),transparent 29%),
    radial-gradient(circle at 87% 17%,rgba(127,93,255,.22),transparent 28%),
    radial-gradient(circle at 70% 78%,rgba(76,224,255,.10),transparent 25%),
    linear-gradient(180deg,#050c17 0%,#081528 72%,#0a1526 100%)
}
.hero:after,.dark-grid:after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.033) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.033) 1px,transparent 1px);
  background-size:44px 44px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.86),transparent 90%)
}
.hero-grid{display:grid;grid-template-columns:.97fr 1.03fr;gap:52px;align-items:center;position:relative;z-index:2}
.hero-copy p{color:#aab8ce;font-size:18px;max-width:700px;margin-bottom:31px}
.actions{display:flex;gap:12px;flex-wrap:wrap}
.btn{
  min-height:55px;padding:0 22px;border-radius:16px;
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  border:1px solid transparent;font-weight:700;transition:.25s ease;cursor:pointer
}
.btn-primary{color:#fff;background:linear-gradient(135deg,var(--blue),var(--violet));box-shadow:0 18px 40px rgba(64,77,255,.3)}
.btn-primary:hover{transform:translateY(-3px);box-shadow:0 24px 56px rgba(67,83,255,.4)}
.btn-glass{color:#fff;border-color:rgba(255,255,255,.16);background:rgba(255,255,255,.065);backdrop-filter:blur(12px)}
.btn-glass:hover{transform:translateY(-3px);background:rgba(255,255,255,.11)}
.btn-light{color:var(--text);background:#fff;box-shadow:0 18px 40px rgba(0,0,0,.14)}
.hero-meta{display:flex;gap:18px;flex-wrap:wrap;margin-top:25px;color:#7f90aa;font-size:11px}
.hero-meta span{display:flex;align-items:center;gap:7px}
.hero-meta i{width:7px;height:7px;border-radius:50%;background:var(--cyan);box-shadow:0 0 14px var(--cyan)}

/* 3D scene */
.scene{height:640px;position:relative;perspective:1200px;transform-style:preserve-3d}
.scene-stage{position:absolute;inset:0;transform-style:preserve-3d;transition:transform .18s ease-out}
.orb{position:absolute;border-radius:50%;filter:blur(2px);opacity:.82;animation:orbFloat 7s ease-in-out infinite}
.orb.one{width:190px;height:190px;right:10%;top:7%;background:radial-gradient(circle at 35% 28%,#a0c6ff,#4b66ff 45%,rgba(75,102,255,.04) 72%)}
.orb.two{width:120px;height:120px;left:7%;bottom:12%;background:radial-gradient(circle at 35% 30%,#8ff5ff,#4b75ff 48%,rgba(83,98,255,.04) 74%);animation-delay:-2s}
@keyframes orbFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-23px)}}
.glass{
  position:absolute;border-radius:26px;overflow:hidden;transform-style:preserve-3d;
  border:1px solid rgba(255,255,255,.18);
  background:linear-gradient(145deg,rgba(255,255,255,.13),rgba(255,255,255,.045));
  backdrop-filter:blur(21px) saturate(150%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.23),0 28px 70px rgba(0,0,0,.29)
}
.glass:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(125deg,rgba(255,255,255,.18),transparent 18%,transparent 68%,rgba(255,255,255,.05))}
.glass-main{width:400px;height:450px;left:50%;top:50%;transform:translate(-50%,-48%) rotateY(-10deg) rotateX(8deg) translateZ(36px)}
.panel-head{display:flex;justify-content:space-between;align-items:center;padding:22px 23px 12px;color:#dbe6f7;font-size:12px}
.online{display:flex;align-items:center;gap:7px}
.online b{width:7px;height:7px;border-radius:50%;background:#64e4a3;box-shadow:0 0 0 6px rgba(100,228,163,.08)}
.workflow{padding:15px 22px}
.workflow-node{
  display:flex;align-items:center;gap:12px;padding:15px 16px;border-radius:17px;
  border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.07);color:#fff
}
.workflow-node+.flow-line{width:2px;height:37px;margin:auto;background:linear-gradient(#5d7eff,#9c73ff);position:relative}
.workflow-node+.flow-line:after{
  content:"";position:absolute;width:8px;height:8px;border-radius:50%;left:-3px;top:2px;
  background:#8beaff;box-shadow:0 0 14px #8beaff;animation:travel 2.2s linear infinite
}
@keyframes travel{from{transform:translateY(0)}to{transform:translateY(29px)}}
.workflow-icon{
  width:36px;height:36px;border-radius:11px;display:grid;place-items:center;
  background:linear-gradient(135deg,#426cff,#815cff);box-shadow:0 10px 20px rgba(52,75,255,.25)
}
.workflow-text small{display:block;color:#8494ae;font-size:10px;margin-bottom:2px}
.workflow-text strong{font-size:13px}
.output-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:17px}
.output{border-radius:15px;padding:13px 8px;text-align:center;color:#dce8f7;font-size:10px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.09)}
.float-card{width:184px;padding:18px;color:#fff}
.float-card h4{font-size:14px;margin:0 0 6px}.float-card p{font-size:10px;color:#9eacc2;margin:0}
.fc1{left:0;top:82px;transform:rotateY(18deg) rotateX(4deg) translateZ(75px);animation:f1 6s ease-in-out infinite}
.fc2{right:0;bottom:82px;transform:rotateY(-15deg) rotateX(-3deg) translateZ(95px);animation:f2 7s ease-in-out infinite}
.fc3{right:5px;top:32px;width:150px;transform:rotateY(-10deg) translateZ(65px);animation:f3 5.5s ease-in-out infinite}
@keyframes f1{0%,100%{translate:0 0}50%{translate:0 -18px}}
@keyframes f2{0%,100%{translate:0 0}50%{translate:0 20px}}
@keyframes f3{0%,100%{translate:0 0}50%{translate:-8px -13px}}
.stat{font-size:26px;color:#9fe8ff;margin-bottom:2px}
.spark{margin-top:13px;height:42px;border-radius:10px;background:linear-gradient(180deg,transparent,rgba(82,118,255,.08)),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 160 40'%3E%3Cpath d='M0 33 C15 30 20 14 35 22 S55 29 67 18 S88 7 102 18 S124 29 160 5' fill='none' stroke='%2377dfff' stroke-width='2'/%3E%3C/svg%3E") center/100% 100% no-repeat}

/* MARQUEE */
.marquee-wrap{background:#0a1424;border-top:1px solid rgba(255,255,255,.07);border-bottom:1px solid rgba(255,255,255,.07);overflow:hidden}
.marquee{display:flex;width:max-content;animation:marquee 28s linear infinite;padding:19px 0;color:#8fa2be;font-size:11px;font-weight:700;letter-spacing:.06em}
.marquee span{margin:0 30px}
@keyframes marquee{to{transform:translateX(-50%)}}

/* GENERIC */
.page-hero{
  padding:168px 0 90px;color:#fff;position:relative;overflow:hidden;
  background:
    radial-gradient(circle at 12% 15%,rgba(50,94,255,.24),transparent 28%),
    radial-gradient(circle at 90% 25%,rgba(126,91,255,.20),transparent 28%),
    linear-gradient(180deg,#050c17,#0a172a)
}
.page-hero:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:44px 44px;mask-image:linear-gradient(to bottom,black,transparent)}
.page-hero .container{position:relative;z-index:2}
.page-hero p{color:#afbdd0;font-size:18px;max-width:780px}
.breadcrumb{font-size:11px;color:#7f91ab;margin-bottom:22px}
.breadcrumb a{color:#afc3e4}
.head{max-width:850px;margin-bottom:54px}
.head p{font-size:18px}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.card{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;
  box-shadow:0 16px 42px rgba(24,41,79,.055);position:relative;overflow:hidden
}
.card p{font-size:14px}
.icon-box{
  width:50px;height:50px;border-radius:15px;display:grid;place-items:center;margin-bottom:34px;
  color:#fff;background:linear-gradient(135deg,var(--blue),var(--violet));
  box-shadow:0 15px 35px rgba(60,83,255,.22)
}
.checklist{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:11px}
.checklist li{position:relative;padding-left:27px;color:#4b596f;line-height:1.6;font-size:14px}
.checklist li:before{
  content:"✓";position:absolute;left:0;top:1px;color:var(--blue);font-weight:700
}
.pill-list{display:flex;flex-wrap:wrap;gap:10px}
.pill{padding:12px 15px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:12px;box-shadow:0 8px 24px rgba(20,36,72,.05)}
.split{display:grid;grid-template-columns:.92fr 1.08fr;gap:70px;align-items:start}
.sticky{position:sticky;top:120px}
.note{
  padding:20px 22px;border-radius:18px;
  background:linear-gradient(135deg,#edf3ff,#f3efff);
  border:1px solid #dbe5ff;color:#40506a;font-size:13px;line-height:1.65
}
.quote{
  padding:30px;border-radius:24px;background:#0a1629;color:#fff;
  border:1px solid rgba(255,255,255,.08)
}
.quote p{color:#b8c6da;font-size:17px}
.dark-section{
  color:#fff;position:relative;overflow:hidden;
  background:radial-gradient(circle at 84% 14%,rgba(108,83,255,.18),transparent 30%),radial-gradient(circle at 10% 76%,rgba(45,158,255,.11),transparent 27%),linear-gradient(180deg,#081220,#0a1629)
}
.dark-section p{color:#98a7bf}
.dark-card{
  border-radius:26px;padding:28px;border:1px solid rgba(255,255,255,.11);
  background:rgba(255,255,255,.055);backdrop-filter:blur(18px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.1)
}
.dark-card p{color:#aab7ca}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.stat-card{padding:25px;border:1px solid var(--line);background:#fff;border-radius:22px}
.stat-card strong{font-size:29px;display:block;margin-bottom:6px;color:var(--blue)}
.stat-card span{font-size:12px;color:var(--muted)}
.process{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.process-card{padding:27px;border-radius:23px;border:1px solid var(--line);background:#fff}
.process-num{font-size:11px;color:var(--violet);margin-bottom:55px}
.process-card p{font-size:14px}
.faq{display:grid;gap:12px}
.faq-item{border:1px solid var(--line);background:#fff;border-radius:18px;overflow:hidden}
.faq-btn{
  width:100%;padding:20px 22px;border:0;background:none;color:var(--text);cursor:pointer;
  display:flex;justify-content:space-between;align-items:center;text-align:left;font-weight:700
}
.faq-btn span:last-child{font-size:23px;color:var(--blue);transition:.2s}
.faq-answer{max-height:0;overflow:hidden;transition:max-height .3s ease}
.faq-answer p{padding:0 22px 20px;margin:0;font-size:14px}
.faq-item.open .faq-answer{max-height:240px}
.faq-item.open .faq-btn span:last-child{transform:rotate(45deg)}
.service-nav{
  display:flex;flex-wrap:wrap;gap:9px;margin-top:30px
}
.service-nav a{
  padding:11px 13px;border-radius:999px;border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.055);font-size:11px;color:#b9c7db
}
.service-nav a:hover{background:rgba(255,255,255,.10);color:#fff}

/* Home service cards + tilt */
.service-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.tilt-card{
  min-height:360px;padding:26px;border-radius:var(--radius);
  background:radial-gradient(circle at 15% 10%,rgba(99,140,255,.10),transparent 36%),linear-gradient(145deg,#fff,#f6f8fd);
  border:1px solid #e0e6f0;box-shadow:0 18px 45px rgba(27,42,78,.07);
  position:relative;overflow:hidden;transform-style:preserve-3d;
  transition:box-shadow .2s,border-color .2s
}
.tilt-card:hover{box-shadow:0 30px 70px rgba(36,50,92,.14);border-color:#cfd9f0}
.card-glare{position:absolute;inset:-40%;background:radial-gradient(circle at center,rgba(255,255,255,.85),transparent 28%);opacity:0;pointer-events:none;transition:opacity .2s}
.tilt-card:hover .card-glare{opacity:.24}
.card-inner{transform:translateZ(30px)}
.tilt-card .icon-box{margin-bottom:55px}

/* Compare */
.compare{display:grid;grid-template-columns:1fr 84px 1fr;gap:24px;align-items:center}
.glass-list{
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.055);backdrop-filter:blur(20px);
  border-radius:28px;padding:28px;box-shadow:inset 0 1px 0 rgba(255,255,255,.11)
}
.glass-list.after{background:linear-gradient(145deg,rgba(54,88,255,.11),rgba(121,89,255,.09));border-color:rgba(116,139,255,.24)}
.label{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:#8393aa;margin-bottom:18px}
.compare-item{padding:14px 15px;border-radius:15px;margin-top:10px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.055);color:#d7e1ef;font-size:13px;display:flex;gap:10px}
.bad{color:var(--danger)}.good{color:var(--green)}
.arrow-orb{width:62px;height:62px;border-radius:50%;display:grid;place-items:center;margin:auto;background:linear-gradient(135deg,var(--blue),var(--violet));box-shadow:0 18px 45px rgba(60,75,255,.3);font-size:24px}

/* CTA */
.cta-wrap{padding:30px 0 110px}
.cta-box{
  padding:66px;border-radius:36px;color:#fff;position:relative;overflow:hidden;
  background:radial-gradient(circle at 82% 30%,rgba(110,226,255,.13),transparent 20%),radial-gradient(circle at 76% 0%,rgba(128,92,255,.34),transparent 35%),linear-gradient(135deg,#0b1730,#1a2e67 55%,#4e3cb6);
  box-shadow:0 36px 100px rgba(29,42,90,.23)
}
.cta-box:before,.cta-box:after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.09)}
.cta-box:before{width:380px;height:380px;right:-90px;top:-180px}
.cta-box:after{width:220px;height:220px;right:110px;bottom:-140px}
.cta-box p{color:#c4d0e2;font-size:17px;max-width:730px}

/* Resources */
.article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.article-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:26px;transition:.25s ease}
.article-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.article-meta{font-size:10px;color:#8794a8;text-transform:uppercase;letter-spacing:.11em;margin-bottom:25px}
.article-card p{font-size:14px}
.article{
  width:min(830px,calc(100% - 38px));margin:auto;padding:150px 0 100px
}
.article h1{font-size:clamp(48px,6vw,78px);color:var(--text)}
.article .article-lead{font-size:20px;color:#5d6b82;margin-bottom:45px}
.article h2{font-size:34px;margin-top:54px}
.article h3{font-size:23px;margin-top:38px}
.article p,.article li{font-size:16px;line-height:1.8;color:#4f5d72}
.article ul,.article ol{padding-left:25px}
.article li{margin:8px 0}
.article-callout{padding:24px;border-radius:20px;background:#edf3ff;border:1px solid #dbe4fa;margin:34px 0;color:#40506a}
.article-header-meta{font-size:11px;color:#8591a5;margin-bottom:20px}

/* Forms */
.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:55px}
.contact-card{background:#fff;border:1px solid var(--line);border-radius:28px;padding:30px;box-shadow:var(--shadow)}
.field{margin-bottom:17px}
.field label{display:block;font-size:12px;font-weight:700;margin-bottom:7px;color:#3d4a60}
.field input,.field textarea,.field select{
  width:100%;padding:14px 15px;border-radius:13px;border:1px solid #ced8e7;background:#fbfcff;color:var(--text);outline:none
}
.field input:focus,.field textarea:focus,.field select:focus{border-color:#86a5ff;box-shadow:0 0 0 4px rgba(53,104,255,.08)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form-status{margin-top:14px;font-size:12px;color:#52617a}
.contact-points{display:grid;gap:14px;margin-top:28px}
.contact-point{padding:17px;border-radius:16px;background:#fff;border:1px solid var(--line)}
.contact-point strong{display:block;font-size:12px;margin-bottom:4px}.contact-point span{font-size:13px;color:var(--muted)}

/* Legal */
.legal{width:min(860px,calc(100% - 38px));margin:auto;padding:160px 0 100px}
.legal h1{font-size:58px}.legal h2{font-size:30px;margin-top:42px}.legal p,.legal li{font-size:15px;line-height:1.8;color:#4f5d72}

/* Footer */
footer{background:#060b14;color:#fff;padding:58px 0 28px}
.footer-grid{display:grid;grid-template-columns:1.35fr repeat(3,.65fr);gap:36px}
.footer-title{font-size:19px;font-weight:700;margin-bottom:12px}
footer p,footer a{color:#74849a;font-size:11px}
footer a{display:block;margin:8px 0}footer a:hover{color:#fff}
.footer-bottom{margin-top:38px;padding-top:22px;border-top:1px solid #1d2736;display:flex;justify-content:space-between;gap:20px;color:#55657b;font-size:10px}
.socials{display:flex;gap:8px;margin-top:17px}
.socials a{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;border:1px solid #1e2b3e;background:#0a1421;color:#91a2b8}

/* reveal */
.reveal{opacity:0;transform:translateY(25px) scale(.987);transition:.72s cubic-bezier(.2,.75,.25,1)}
.reveal.show{opacity:1;transform:none}

/* accessibility */
.skip-link{position:fixed;left:10px;top:-60px;z-index:999;background:#fff;color:#000;padding:10px 14px;border-radius:10px;transition:.2s}
.skip-link:focus{top:10px}
:focus-visible{outline:3px solid #8eb0ff;outline-offset:3px}

/* mobile */
@media(max-width:1040px){
  .hero-grid,.split,.contact-grid,.industry-grid{grid-template-columns:1fr}
  .service-cards,.grid-4{grid-template-columns:repeat(2,1fr)}
  .grid-3,.article-grid{grid-template-columns:repeat(2,1fr)}
  .process{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr}
  .sticky{position:static}
  .nav-links{
    display:none;position:absolute;left:18px;right:18px;top:82px;
    flex-direction:column;align-items:stretch;gap:10px;padding:18px;border-radius:18px;
    background:rgba(7,17,31,.98);border:1px solid rgba(255,255,255,.11);box-shadow:var(--shadow-dark)
  }
  .nav-links.open{display:flex}
  .nav-links a{padding:10px 4px}
  .menu-btn{display:block}
  .scene{height:610px}
}
@media(max-width:720px){
  .container{width:min(100% - 24px,var(--max))}
  .section{padding:80px 0}
  h1{font-size:52px}h2{font-size:39px}
  .page-hero{padding-top:145px}
  .scene{height:535px}
  .glass-main{width:310px;height:405px}
  .fc1{left:-8px;top:70px;width:150px}.fc2{right:-8px;bottom:62px;width:150px}.fc3{display:none}
  .service-cards,.grid-4,.grid-3,.grid-2,.article-grid,.process,.stats,.form-grid{grid-template-columns:1fr}
  .compare{grid-template-columns:1fr}.arrow-orb{transform:rotate(90deg)}
  .cta-box{padding:42px 25px}
  .footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column}
  .legal{padding-top:140px}.legal h1{font-size:45px}
  .article{padding-top:140px}
}
@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
