:root{
  --bg:#10141b;
  --bg-2:#171d27;
  --surface:rgba(20,27,38,.78);
  --surface-strong:rgba(24,32,45,.92);
  --text:#edf3fb;
  --muted:#9aa8bd;
  --line:rgba(255,255,255,.08);
  --line-strong:rgba(255,255,255,.13);
  --accent:#5aa2ff;
  --accent-soft:rgba(90,162,255,.11);
  --shadow:0 20px 60px rgba(0,0,0,.24);
  --shadow-lg:0 34px 100px rgba(0,0,0,.30);
  --radius:28px;
  --container:1180px;
  --ease:cubic-bezier(.2,.8,.2,1);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,Arial,sans-serif;
  color:var(--text);
  line-height:1.6;
  background:
    radial-gradient(circle at 12% 0%, rgba(90,162,255,.13), transparent 24%),
    radial-gradient(circle at 88% 8%, rgba(90,162,255,.08), transparent 20%),
    radial-gradient(circle at 50% 100%, rgba(255,255,255,.025), transparent 28%),
    linear-gradient(180deg,#0c1016 0%, var(--bg) 32%, var(--bg-2) 100%);
  overflow-x:hidden;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(255,255,255,.02) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.02) 1px, transparent 1px);
  background-size:44px 44px;
  mask-image:radial-gradient(circle at center, black 35%, transparent 85%);
  opacity:.35;
}
body::after{
  content:"";
  position:fixed;
  inset:-20%;
  pointer-events:none;
  background:radial-gradient(460px circle at var(--mouse-x, 50%) var(--mouse-y, 20%), rgba(90,162,255,.12), transparent 42%);
  opacity:.88;
  transition:background-position .08s linear;
  z-index:0;
}

a{text-decoration:none;color:inherit}
.container{width:min(calc(100% - 40px), var(--container));margin:0 auto;position:relative;z-index:1}
.site-header,.hero-section,main,.footer{position:relative;z-index:1}

.top-strip{border-bottom:1px solid var(--line);background:linear-gradient(90deg, rgba(17,22,30,.86), rgba(17,22,30,.68));backdrop-filter:blur(16px)}
.top-strip-inner{min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.top-strip-text{font-size:.95rem;font-weight:600;color:#d7deea}
.top-strip-actions{display:flex;gap:18px;flex-wrap:wrap}
.top-strip-actions a{font-size:.95rem;color:#c8d3e4}

.nav-wrap{position:sticky;top:0;z-index:999;backdrop-filter:blur(18px);background:rgba(13,17,24,.72);border-bottom:1px solid var(--line)}
.nav{min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:22px}
.brand{display:flex;align-items:center;gap:14px;min-width:0}
.brand-mark{width:46px;height:46px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,rgba(255,255,255,.08), rgba(90,162,255,.18));border:1px solid var(--line);box-shadow:inset 0 1px 0 rgba(255,255,255,.08), 0 12px 30px rgba(0,0,0,.16);font-weight:800}
.brand-text{display:flex;flex-direction:column;line-height:1.1}
.brand-text strong{font-size:1rem;letter-spacing:-.02em}
.brand-text small{font-size:.78rem;color:var(--muted)}
.nav-links,.nav-actions{display:flex;align-items:center;gap:18px}
.nav-links a{position:relative;font-size:.96rem;color:var(--muted);transition:color .3s ease}
.nav-links a:hover,.nav-links a.active{color:var(--text)}
.nav-links a::after{content:"";position:absolute;left:0;bottom:-8px;width:0;height:2px;border-radius:999px;background:linear-gradient(90deg, rgba(76,141,255,0), rgba(76,141,255,.95), rgba(76,141,255,0));transition:width .3s ease}
.nav-links a:hover::after,.nav-links a.active::after{width:100%}

.btn{min-height:50px;padding:0 22px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);font-weight:600;transition:transform .35s var(--ease), box-shadow .35s ease, border-color .35s ease, background .35s ease}
.btn:hover{transform:translateY(-2px)}
.btn-soft{background:rgba(255,255,255,.04);box-shadow:0 10px 30px rgba(0,0,0,.14), inset 0 1px 0 rgba(255,255,255,.06)}
.btn-primary{color:#fff;border-color:rgba(23,104,255,.3);background:linear-gradient(135deg,#166cff,#63adff);box-shadow:0 16px 40px rgba(23,104,255,.25)}
.menu-toggle{display:none;border:0;background:transparent;font-size:1rem;color:var(--text)}

.hero-section{position:relative;min-height:calc(100vh - 132px);display:flex;align-items:center;padding:74px 0 56px}
.hero-noise{position:absolute; inset:0; pointer-events:none;background:radial-gradient(circle at 18% 20%, rgba(90,162,255,.12), transparent 18%),radial-gradient(circle at 85% 18%, rgba(255,255,255,.04), transparent 20%),linear-gradient(180deg, rgba(255,255,255,.04), transparent 70%)}
.hero-grid,.split-layout,.contact-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:34px;align-items:center}
.eyebrow{display:inline-flex;align-items:center;gap:10px;padding:10px 14px;border-radius:999px;background:var(--accent-soft); border:1px solid rgba(23,104,255,.12); color:#98c2ff; font-size:.9rem; margin-bottom:20px}
h1,h2,h3{margin:0;line-height:1.04;letter-spacing:-.04em}
h1{font-size:clamp(2.9rem, 5vw, 5.8rem);max-width:11ch}
h2{font-size:clamp(2rem, 3vw, 3.6rem);max-width:14ch}
h3{font-size:1.25rem}
.lead{font-size:clamp(1rem,1.2vw,1.14rem);color:var(--muted);max-width:60ch;margin:18px 0 0}
.hero-actions,.cta-actions{margin-top:30px;display:flex;flex-wrap:wrap;gap:14px}
.metric-row{margin-top:26px;display:grid;grid-template-columns:repeat(3,1fr);gap:14px;max-width:660px}

.metric-card,.stack-card,.service-card,.testimonial,.project-tile,.feature-panel,.stats-panel,.contact-form,.faq-item,.cta-banner,.page-hero-box{
  position:relative;
  overflow:hidden;
  background:linear-gradient(180deg, rgba(19,25,34,.95), rgba(15,20,28,.84));
  border:1px solid var(--line);
  border-radius:28px;
  box-shadow:var(--shadow);
}
.metric-card::before,.stack-card::before,.service-card::before,.testimonial::before,.project-tile::before,.feature-panel::before,.stats-panel::before,.contact-form::before,.faq-item::before,.cta-banner::before,.page-hero-box::before,.big-stat::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:radial-gradient(260px circle at var(--spot-x, 50%) var(--spot-y, 50%), rgba(90,162,255,.14), transparent 45%);
  opacity:0;
  transition:opacity .28s ease;
}
.metric-card:hover::before,.stack-card:hover::before,.service-card:hover::before,.testimonial:hover::before,.project-tile:hover::before,.feature-panel:hover::before,.stats-panel:hover::before,.contact-form:hover::before,.faq-item:hover::before,.cta-banner:hover::before,.page-hero-box:hover::before,.big-stat:hover::before{opacity:1}
.metric-card{padding:18px 18px}
.metric-card strong{display:block;font-size:1.25rem}
.metric-card span{display:block;color:var(--muted);font-size:.94rem}

.hero-panel{padding:18px;border-radius:32px;background:linear-gradient(180deg, rgba(17,23,31,.92), rgba(13,18,26,.76));border:1px solid var(--line); box-shadow:var(--shadow-lg);transform:perspective(1200px) rotateY(-9deg) rotateX(4deg)}
.panel-stack{display:grid;gap:14px}
.stack-card{padding:28px}
.stack-card p{margin:10px 0 0;color:var(--muted)}
.stack-kicker{font-size:.82rem;color:#98c2ff;text-transform:uppercase;letter-spacing:.08em}
.card-glow::after{content:"";position:absolute;inset:auto -10% -50% 20%;height:180px;background:radial-gradient(circle, rgba(90,162,255,.22), transparent 60%);transition:opacity .35s ease, transform .35s ease;opacity:.45}

.section{padding:42px 0}
.section-soft{padding:20px 0 42px}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:26px}
.section-head p{max-width:56ch;color:var(--muted);margin:0}
.service-grid,.testimonial-grid,.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.service-card,.testimonial,.project-tile{padding:28px}
.icon-box{width:50px;height:50px;border-radius:16px;display:grid;place-items:center;margin-bottom:20px;background:linear-gradient(135deg, rgba(90,162,255,.18), rgba(255,255,255,.05));border:1px solid rgba(90,162,255,.18);font-weight:700;color:#a7ccff;transition:transform .35s var(--ease), box-shadow .35s ease}
.service-card p,.testimonial span,.project-tile p,.feature-panel p,.contact-form small{color:var(--muted)}

.split-layout{align-items:stretch}
.feature-panel,.stats-panel,.contact-form{padding:34px}
.feature-list{display:grid;gap:18px;margin-top:22px}
.feature-list div{display:grid;gap:4px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.stats-panel{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.big-stat{position:relative;overflow:hidden;min-height:160px;padding:24px;border-radius:24px;background:rgba(255,255,255,.03);border:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between;transition:transform .35s var(--ease),box-shadow .35s ease,border-color .35s ease,background .35s ease}
.big-stat span{font-size:2rem;font-weight:800;letter-spacing:-.05em}
.big-stat small{color:var(--muted)}
.testimonial p{margin:0 0 18px}
.testimonial strong{display:block}
.project-visual{height:220px;border-radius:20px;margin-bottom:18px;background:linear-gradient(135deg, rgba(90,162,255,.22), transparent 60%),radial-gradient(circle at 70% 30%, rgba(255,255,255,.05), transparent 20%),linear-gradient(180deg,#1a2230,#111823);border:1px solid var(--line)}

.faq-wrap{display:grid;gap:20px}
.faq-list{display:grid;gap:14px}
.faq-item{padding:0 24px}
.faq-item summary{list-style:none;cursor:pointer;padding:22px 0;font-weight:600}
.faq-item p{margin:0 0 22px;color:var(--muted)}

.cta-banner{padding:34px;display:flex;align-items:center;justify-content:space-between;gap:24px;background:linear-gradient(135deg, rgba(20,26,36,.98), rgba(18,24,33,.88))}
.page-hero{padding:74px 0 20px}
.page-hero-box{padding:44px}
.page-hero-box h1{max-width:12ch;font-size:clamp(2.4rem,4vw,4.5rem)}
.contact-layout{align-items:start}
.contact-stack{display:grid;gap:18px;margin-top:20px}
.contact-stack div{display:grid;gap:4px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.contact-form{display:grid;gap:16px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
label{display:grid;gap:8px;font-weight:600}
input,select,textarea{width:100%;padding:15px 16px;border-radius:18px;border:1px solid var(--line-strong);background:rgba(255,255,255,.04);font:inherit;color:var(--text);outline:none}
input:focus,select:focus,textarea:focus{border-color:rgba(23,104,255,.4);box-shadow:0 0 0 4px rgba(23,104,255,.08)}
.btn-block{width:100%}

.map-card-head{display:grid;gap:10px;margin-bottom:16px}
.map-card-head p{margin:0;color:var(--muted)}
.map-embed{position:relative;overflow:hidden;min-height:420px;border-radius:24px;border:1px solid var(--line-strong);background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.01));box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}
.map-embed iframe{width:100%;height:100%;min-height:420px;border:0;filter:grayscale(.08) saturate(.9) contrast(1.02)}
.map-card .hero-actions{margin-top:18px}

.footer{padding:36px 0 24px;border-top:1px solid var(--line);margin-top:20px}
.footer-grid{display:grid;grid-template-columns:1.4fr .8fr .9fr;gap:20px}
.footer-title{font-weight:700;margin-bottom:12px}
.footer a,.footer span{display:block;color:var(--muted);margin-bottom:8px}
.footer-bottom{padding-top:22px;margin-top:18px;border-top:1px solid var(--line);color:var(--muted)}
.floating-wa{position:fixed;right:22px;bottom:22px;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;z-index:998;font-weight:800;color:#fff;background:linear-gradient(135deg,#18b55f,#1fd16f);box-shadow:0 16px 35px rgba(24,181,95,.28)}

.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease, transform .7s var(--ease)}
.reveal.visible{opacity:1;transform:none}
.metric-card,.stack-card,.service-card,.testimonial,.project-tile,.feature-panel,.faq-item,.cta-banner,.page-hero-box,.contact-form{
  transition:transform .35s var(--ease),box-shadow .35s ease,border-color .35s ease,background .35s ease;
}
.service-card:hover,.testimonial:hover,.project-tile:hover,.feature-panel:hover,.faq-item:hover,.page-hero-box:hover,.contact-form:hover,.metric-card:hover,.stack-card:hover,.cta-banner:hover,.big-stat:hover{
  transform:translateY(-6px);
  border-color:rgba(76,141,255,.28);
  box-shadow:0 24px 70px rgba(0,0,0,.32),0 0 0 1px rgba(90,162,255,.10) inset;
  background:linear-gradient(180deg, rgba(22,30,41,.98), rgba(16,22,31,.92));
}
.service-card:hover .icon-box,.project-tile:hover .icon-box,.feature-panel:hover .icon-box{transform:scale(1.05);box-shadow:0 10px 30px rgba(90,162,255,.18)}
.card-glow:hover::after{opacity:1;transform:translateY(-10px) scale(1.04)}

@media (max-width:980px){
  .hero-grid,.split-layout,.contact-layout,.section-head,.footer-grid,.service-grid,.testimonial-grid,.project-grid{grid-template-columns:1fr}
  .section-head{align-items:start}
  .metric-row,.stats-panel,.form-row{grid-template-columns:1fr 1fr}
  .nav-links,.nav-actions{display:none}
  .nav-links.open{position:absolute;left:20px;right:20px;top:100%;display:grid;gap:10px;padding:16px;background:rgba(14,19,27,.98);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow)}
  .menu-toggle{display:block}
  .hero-panel{transform:none}
}
@media (max-width:640px){
  h1{font-size:2.5rem}
  h2{font-size:1.8rem}
  .metric-row,.stats-panel,.form-row{grid-template-columns:1fr}
  .top-strip-inner{padding:8px 0;align-items:flex-start}
  .top-strip-actions{gap:10px}
  .top-strip-inner,.cta-banner{flex-direction:column;align-items:flex-start}
  .page-hero-box,.feature-panel,.stats-panel,.contact-form,.service-card,.testimonial,.project-tile{padding:22px}
  .floating-wa{right:16px;bottom:16px}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}


/* Premium motion layer */
body.is-loading{overflow:hidden}
body.page-ready .site-loader{opacity:0;visibility:hidden;pointer-events:none}
body.page-leaving .page-transition{opacity:1;transform:scaleY(1);pointer-events:auto}
body.page-leaving{cursor:progress}

.site-loader{
  position:fixed;
  inset:0;
  z-index:2000;
  display:grid;
  place-items:center;
  background:
    radial-gradient(circle at 20% 20%, rgba(90,162,255,.14), transparent 22%),
    radial-gradient(circle at 80% 15%, rgba(90,162,255,.10), transparent 18%),
    linear-gradient(180deg,#060a10 0%, #0a1017 48%, #0d1420 100%);
  transition:opacity .7s ease, visibility .7s ease;
}
.loader-inner{
  display:grid;
  gap:18px;
  justify-items:center;
  text-align:center;
}
.loader-logo{
  width:78px;
  height:78px;
  border-radius:26px;
  display:grid;
  place-items:center;
  font-size:1.6rem;
  font-weight:800;
  color:#fff;
  border:1px solid rgba(255,255,255,.08);
  background:linear-gradient(135deg, rgba(255,255,255,.08), rgba(90,162,255,.22));
  box-shadow:0 18px 60px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.08);
  animation:loaderPulse 2s ease-in-out infinite;
}
.loader-line{
  width:min(220px, 44vw);
  height:4px;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  overflow:hidden;
  position:relative;
}
.loader-line::after{
  content:"";
  position:absolute;
  inset:0;
  transform:translateX(-100%);
  background:linear-gradient(90deg, transparent, rgba(76,141,255,.95), transparent);
  animation:loaderSweep 1.5s cubic-bezier(.4,0,.2,1) infinite;
}
.loader-text strong{display:block;font-size:1rem;letter-spacing:-.02em}
.loader-text span{display:block;margin-top:6px;color:var(--muted);font-size:.95rem}

.page-transition{
  position:fixed;
  inset:0;
  z-index:1900;
  opacity:0;
  pointer-events:none;
  transform:scaleY(0);
  transform-origin:top center;
  background:linear-gradient(180deg, rgba(8,12,18,.18), rgba(8,12,18,.92) 34%, rgba(10,16,24,1));
  transition:opacity .55s ease, transform .65s cubic-bezier(.77,0,.18,1);
}

.cursor-glow{
  position:fixed;
  left:0;
  top:0;
  width:320px;
  height:320px;
  border-radius:50%;
  pointer-events:none;
  z-index:0;
  opacity:.9;
  transform:translate3d(calc(var(--cursor-x, 50vw) - 50%), calc(var(--cursor-y, 30vh) - 50%), 0);
  background:
    radial-gradient(circle, rgba(90,162,255,.14) 0%, rgba(76,141,255,.08) 28%, rgba(76,141,255,0) 68%);
  filter:blur(18px);
  transition:transform .12s linear, opacity .28s ease;
}
body:hover .cursor-glow{opacity:1}
body.page-leaving .cursor-glow{opacity:0}

.hero-copy > *, .hero-panel, .section-head, .service-grid > *, .testimonial-grid > *, .project-grid > *, .feature-panel, .stats-panel, .faq-list > *, .cta-banner, .page-hero-box, .contact-form, .contact-stack > *{
  will-change:transform, opacity;
}

.metric-card,.stack-card,.service-card,.testimonial,.project-tile,.feature-panel,.stats-panel,.contact-form,.faq-item,.cta-banner,.page-hero-box,.big-stat{
  isolation:isolate;
}
.metric-card::after,.stack-card::after,.service-card::after,.testimonial::after,.project-tile::after,.feature-panel::after,.stats-panel::after,.contact-form::after,.faq-item::after,.cta-banner::after,.page-hero-box::after,.big-stat::after{
  content:"";
  position:absolute;
  inset:1px;
  border-radius:inherit;
  pointer-events:none;
  border:1px solid rgba(255,255,255,.03);
  opacity:.8;
}
.metric-card:hover,.stack-card:hover,.service-card:hover,.testimonial:hover,.project-tile:hover,.feature-panel:hover,.stats-panel:hover,.contact-form:hover,.faq-item:hover,.cta-banner:hover,.page-hero-box:hover,.big-stat:hover{
  transform:translateY(-8px) scale(1.01);
}
.metric-card:hover::before,.stack-card:hover::before,.service-card:hover::before,.testimonial:hover::before,.project-tile:hover::before,.feature-panel:hover::before,.stats-panel:hover::before,.contact-form:hover::before,.faq-item:hover::before,.cta-banner:hover::before,.page-hero-box:hover::before,.big-stat:hover::before{
  opacity:1;
}

@keyframes loaderPulse{
  0%,100%{transform:scale(1);box-shadow:0 18px 60px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.08)}
  50%{transform:scale(1.04);box-shadow:0 22px 72px rgba(27,98,255,.18), inset 0 1px 0 rgba(255,255,255,.10)}
}
@keyframes loaderSweep{
  100%{transform:translateX(100%)}
}

@media (max-width:640px){
  .site-loader{padding:24px}
  .loader-logo{width:68px;height:68px;border-radius:22px}
  .cursor-glow{width:220px;height:220px;filter:blur(20px)}
}


.scroll-progress{
  position:fixed;
  top:0;
  left:0;
  width:100%;
  height:3px;
  z-index:2100;
  background:rgba(255,255,255,.03);
}
.scroll-progress-bar{
  width:100%;
  height:100%;
  transform-origin:left center;
  transform:scaleX(0);
  background:linear-gradient(90deg, rgba(76,141,255,.15), rgba(76,141,255,.95), rgba(158,192,255,.9));
  box-shadow:0 0 22px rgba(76,141,255,.55);
}
.nav-wrap::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(76,141,255,.6), transparent);
  opacity:.5;
}
.nav-links a.active{
  text-shadow:0 0 18px rgba(76,141,255,.35);
}
.nav-links a.active::before{
  content:"";
  position:absolute;
  inset:-10px -14px;
  border-radius:999px;
  background:radial-gradient(circle, rgba(90,162,255,.14), transparent 70%);
  z-index:-1;
}
.hero-section::before{
  content:"";
  position:absolute;
  width:760px;
  height:760px;
  right:-180px;
  top:-180px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.05);
  box-shadow:0 0 0 60px rgba(255,255,255,.015), 0 0 0 120px rgba(76,141,255,.03);
  animation:orbitDrift 16s ease-in-out infinite;
  opacity:.6;
}
.hero-section::after{
  content:"";
  position:absolute;
  inset:auto auto 8% 10%;
  width:460px;
  height:460px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(90,162,255,.11), transparent 60%);
  filter:blur(20px);
  animation:floatGlow 10s ease-in-out infinite;
  pointer-events:none;
}
.hero-panel{position:relative;overflow:hidden}
.hero-panel::after{
  content:"";
  position:absolute;
  inset:-20% -30% auto auto;
  width:320px;
  height:320px;
  background:conic-gradient(from 180deg, transparent, rgba(90,162,255,.22), transparent 45%);
  filter:blur(18px);
  animation:spinAura 14s linear infinite;
  pointer-events:none;
}
.hero-copy h1 span{
  color:#a7ccff;
}
.showcase-shell{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) 300px;
  gap:18px;
  align-items:stretch;
}
.showcase-slider{
  position:relative;
  overflow:hidden;
  min-height:440px;
}
.showcase-track{
  display:flex;
  transition:transform .75s cubic-bezier(.22,.61,.36,1);
  height:100%;
}
.showcase-slide{
  min-width:100%;
  padding:28px;
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:24px;
  align-items:stretch;
}
.showcase-visual{
  min-height:320px;
  border-radius:24px;
  border:1px solid var(--line);
  background:
    linear-gradient(135deg, rgba(76,141,255,.26), transparent 52%),
    radial-gradient(circle at 70% 20%, rgba(255,255,255,.12), transparent 22%),
    linear-gradient(180deg, #1a2332, #101722 72%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}
.showcase-copy{display:flex;flex-direction:column;justify-content:center}
.showcase-copy p{color:var(--muted)}
.showcase-meta{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0 0}
.showcase-meta span{
  padding:8px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.04);
  border:1px solid var(--line);
  color:#cfd9e7;
  font-size:.92rem;
}
.slider-ui{
  position:absolute;
  left:28px;
  right:28px;
  bottom:24px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}
.slider-arrows{display:flex;gap:10px}
.slider-arrow{
  width:48px;
  height:48px;
  border-radius:999px;
  border:1px solid var(--line);
  background:rgba(10,15,22,.72);
  color:var(--text);
  cursor:pointer;
  transition:transform .3s ease, border-color .3s ease, background .3s ease;
}
.slider-arrow:hover{transform:translateY(-2px);border-color:rgba(76,141,255,.28);background:rgba(18,26,38,.9)}
.slider-dots{display:flex;gap:8px;align-items:center}
.slider-dot{
  width:10px;
  height:10px;
  border:0;
  padding:0;
  border-radius:999px;
  background:rgba(255,255,255,.18);
  cursor:pointer;
  transition:transform .25s ease, background .25s ease, width .25s ease;
}
.slider-dot.is-active{width:28px;background:linear-gradient(90deg, #4c8dff, #a7ccff)}
.showcase-side{
  display:grid;
  gap:16px;
}
.mini-project{
  padding:22px;
  min-height:132px;
}
.mini-project p{margin:8px 0 0;color:var(--muted)}
.footer::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(90deg, rgba(76,141,255,.08), transparent 18%, transparent 82%, rgba(76,141,255,.08));
}
.footer-grid{
  position:relative;
  z-index:1;
  padding:26px 30px;
  border:1px solid rgba(255,255,255,.06);
  border-radius:30px;
  background:linear-gradient(180deg, rgba(20,28,40,.9), rgba(13,18,28,.84));
  box-shadow:0 20px 60px rgba(0,0,0,.22);
}
.footer-bottom{position:relative;z-index:1}
.footer-title{color:#dbe7ff}
.footer-brand{margin-bottom:6px}
.footer-grid a:hover{color:#cfe0ff}
.section-contrast{
  position:relative;
  padding:54px 0;
  margin-top:18px;
  background:linear-gradient(180deg, rgba(14,19,28,.96), rgba(9,13,20,.98));
  border-top:1px solid rgba(255,255,255,.05);
  border-bottom:1px solid rgba(255,255,255,.05);
}
.section-contrast::before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 10% 20%, rgba(76,141,255,.08), transparent 24%), radial-gradient(circle at 90% 70%, rgba(90,162,255,.06), transparent 18%);
  pointer-events:none;
}
@keyframes orbitDrift{
  0%,100%{transform:translate3d(0,0,0) rotate(0deg)}
  50%{transform:translate3d(-40px,30px,0) rotate(8deg)}
}
@keyframes floatGlow{
  0%,100%{transform:translateY(0px)}
  50%{transform:translateY(-24px)}
}
@keyframes spinAura{
  to{transform:rotate(360deg)}
}
@media (max-width:980px){
  .showcase-shell{grid-template-columns:1fr}
  .showcase-slide{grid-template-columns:1fr}
  .showcase-side{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:720px){
  .showcase-slider{min-height:auto}
  .showcase-slide{padding:22px 22px 86px}
  .showcase-visual{min-height:220px}
  .showcase-side{grid-template-columns:1fr}
  .slider-ui{left:22px;right:22px;bottom:18px}
}


/* Soft dark graphite + electric blue refinements */
.hero-section{
  background:
    radial-gradient(circle at 15% 18%, rgba(90,162,255,.08), transparent 18%),
    linear-gradient(180deg, rgba(255,255,255,.015), transparent 70%);
}
.metric-card,.stack-card,.service-card,.testimonial,.project-tile,.feature-panel,.stats-panel,.contact-form,.faq-item,.cta-banner,.page-hero-box{
  background:linear-gradient(180deg, rgba(21,28,38,.94), rgba(17,23,32,.86));
  border:1px solid rgba(255,255,255,.075);
  box-shadow:0 20px 60px rgba(0,0,0,.23);
}
.hero-panel{
  background:linear-gradient(180deg, rgba(19,25,34,.92), rgba(15,20,28,.76));
  border:1px solid rgba(255,255,255,.08);
  box-shadow:var(--shadow-lg);
}
.section-soft{
  position:relative;
  background:linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.005));
}
.section-contrast{
  position:relative;
  background:linear-gradient(180deg, rgba(255,255,255,.018), rgba(255,255,255,.006));
  border-top:1px solid rgba(255,255,255,.04);
  border-bottom:1px solid rgba(255,255,255,.04);
}
.page-hero{
  background:linear-gradient(180deg, rgba(255,255,255,.012), transparent 82%);
}
.cta-banner{
  background:linear-gradient(135deg, rgba(23,31,43,.98), rgba(19,26,36,.90));
}
.footer{
  background:linear-gradient(180deg, rgba(10,13,18,.86), rgba(10,13,18,.96));
  border-top:1px solid rgba(255,255,255,.07);
  margin-top:30px;
}
.project-visual,.showcase-visual{
  background:linear-gradient(135deg, rgba(90,162,255,.18), transparent 60%),radial-gradient(circle at 70% 30%, rgba(255,255,255,.05), transparent 20%),linear-gradient(180deg,#1a2330,#111821);
}
.btn-soft{
  background:rgba(255,255,255,.045);
}
.btn-primary{
  box-shadow:0 16px 44px rgba(22,108,255,.22);
}
.service-card:hover,.testimonial:hover,.project-tile:hover,.feature-panel:hover,.faq-item:hover,.page-hero-box:hover,.contact-form:hover,.metric-card:hover,.stack-card:hover,.cta-banner:hover,.big-stat:hover{
  transform:translateY(-6px);
  border-color:rgba(90,162,255,.30);
  box-shadow:0 24px 70px rgba(0,0,0,.30),0 0 0 1px rgba(90,162,255,.10) inset;
  background:linear-gradient(180deg, rgba(24,33,46,.98), rgba(18,25,35,.92));
}
.slider-dot.is-active,.slider-dot:hover{
  background:linear-gradient(135deg,#1c73ff,#71b6ff);
  box-shadow:0 10px 28px rgba(28,115,255,.28);
}
.scroll-progress-bar{
  background:linear-gradient(90deg,#0f66ff,#6ab3ff);
}
.cursor-glow{
  background:radial-gradient(circle, rgba(90,162,255,.22) 0%, rgba(90,162,255,.06) 42%, transparent 72%);
}
.map-embed iframe{
  filter:grayscale(.12) saturate(.95) contrast(1.03);
}


/* Stats cards can now use photos without changing the design */
.big-stat{
  position:relative;
}
.big-stat.stat-photo{
  background:
    linear-gradient(180deg, rgba(10,16,24,.18), rgba(10,16,24,.64) 58%, rgba(10,16,24,.82) 100%),
    var(--stat-image) center/cover no-repeat,
    linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.03));
}
.big-stat.stat-photo::before{
  opacity:.92;
}
.big-stat.stat-photo::after{
  border-color:rgba(255,255,255,.045);
}
.big-stat.stat-photo span,
.big-stat.stat-photo small{
  position:relative;
  z-index:2;
  text-shadow:0 2px 12px rgba(0,0,0,.35);
}
.big-stat.stat-photo small{
  color:rgba(237,243,251,.86);
}
.big-stat.stat-photo:hover{
  background:
    linear-gradient(180deg, rgba(10,16,24,.12), rgba(10,16,24,.52) 56%, rgba(10,16,24,.76) 100%),
    var(--stat-image) center/cover no-repeat,
    linear-gradient(180deg, rgba(24,33,46,.98), rgba(18,25,35,.92));
}
