/* ─── TOKENS ─────────────────────────────────────── */
:root {
  --primary:#1A2E52; --primary-dark:#0D1E3A; --primary-fg:#F5F8FF;
  --accent:#D4873A; --accent-light:#F4A254; --accent-fg:#FFFFFF;
  --surface:#F5F8FF; --border:#C5D3E8; --mid-blue:#5A8FBF;
  --pale-navy:#EBF0F8; --success:#1C5C35; --bg:#F5F8FF;
  --text-heading:#0D1E3A; --text-body:#4A5E78; --text-muted:#8A9BB5;
  --card:#FFFFFF; --radius:.875rem;
  --grad-primary:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);
  --grad-accent:linear-gradient(135deg,var(--accent-light) 0%,var(--accent) 100%);
  --grad-text:linear-gradient(120deg,var(--primary-dark) 0%,var(--primary) 40%,var(--accent) 100%);
  --grad-hero:radial-gradient(1200px 600px at 80% -10%,rgba(244,162,84,.18) 0%,transparent 60%),
              radial-gradient(900px 500px at -10% 20%,rgba(90,143,191,.22) 0%,transparent 55%),
              linear-gradient(180deg,#fff 0%,#F5F8FF 60%,#EBF0F8 100%);
  --shadow-card:0 1px 0 rgba(255,255,255,.6) inset,0 20px 50px -24px rgba(13,30,58,.25);
  --shadow-deep:0 40px 80px -30px rgba(13,30,58,.45);
  --shadow-glow:0 30px 80px -20px rgba(212,135,58,.35);
  --shadow-btn-p:0 12px 30px -10px rgba(26,46,82,.55);
  --shadow-btn-a:0 12px 30px -10px rgba(212,135,58,.55);
  --glass-bg:rgba(255,255,255,.6); --glass-border:rgba(255,255,255,.7);
  --glass-dark-bg:rgba(26,46,82,.7); --glass-dark-brd:rgba(255,255,255,.18);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:'DM Sans',ui-sans-serif,system-ui,sans-serif;
  background:var(--grad-hero); background-attachment:fixed;
  color:var(--text-body); -webkit-font-smoothing:antialiased; overflow-x:hidden;
}
h1,h2,h3,h4,h5{font-family:'Literata',ui-serif,Georgia,serif;color:var(--text-heading);letter-spacing:-.01em}
a{text-decoration:none;color:inherit}
ul,ol{list-style:none}
img,svg{display:block}
::selection{background:rgba(212,135,58,.3);color:var(--primary-dark)}

/* ─── UTILITIES ──────────────────────────────────── */
.container{max-width:min(1200px,94%);margin-inline:auto}
.glass{
  background:var(--glass-bg);
  backdrop-filter:blur(18px) saturate(140%);
  -webkit-backdrop-filter:blur(18px) saturate(140%);
  border:1px solid var(--glass-border);
  box-shadow:var(--shadow-card);
}
.glass-dark{
  background:var(--glass-dark-bg);
  backdrop-filter:blur(18px) saturate(140%);
  -webkit-backdrop-filter:blur(18px) saturate(140%);
  border:1px solid var(--glass-dark-brd);
}
.gradient-text{
  background:var(--grad-text);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.btn-primary{
  background:var(--grad-primary); color:#fff; box-shadow:var(--shadow-btn-p);
  transition:transform .3s,box-shadow .3s,filter .3s;
}
.btn-primary:hover{transform:translateY(-2px);filter:brightness(1.08);box-shadow:0 20px 40px -12px rgba(26,46,82,.65)}
.btn-accent{
  background:var(--grad-accent); color:#fff; box-shadow:var(--shadow-btn-a);
  transition:transform .3s,box-shadow .3s,filter .3s;
}
.btn-accent:hover{transform:translateY(-2px);filter:brightness(1.05);box-shadow:0 20px 50px -12px rgba(212,135,58,.7)}

.section-label{
  display:inline-flex;align-items:center;gap:.5rem;
  background:var(--glass-bg); 
  backdrop-filter:blur(18px) saturate(140%);
  -webkit-backdrop-filter:blur(18px) saturate(140%);
  border:1px solid var(--glass-border); box-shadow:var(--shadow-card);
  border-radius:999px; padding:.375rem .75rem;
  font-size:.6875rem; font-weight:600; text-transform:uppercase;
  letter-spacing:.16em; color:var(--text-heading);
}
.section-label-dot{width:.375rem;height:.375rem;border-radius:50%;background:var(--accent);flex-shrink:0}

/* ─── AMBIENT BACKDROP ───────────────────────────── */
.ambient{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.ambient-blob{position:absolute;border-radius:50%;filter:blur(80px);animation:blob 14s ease-in-out infinite}
.blob-blue{width:40rem;height:40rem;top:-10rem;left:-10rem;background:radial-gradient(circle at 30% 30%,#5A8FBF,transparent 60%);opacity:.3}
.blob-orange{width:36rem;height:36rem;top:33%;right:-10rem;background:radial-gradient(circle at 60% 40%,#F4A254,transparent 60%);opacity:.3;animation-delay:-6s}
.blob-navy{width:30rem;height:30rem;bottom:0;left:33%;background:radial-gradient(circle at 50% 50%,#1A2E52,transparent 60%);opacity:.1;filter:blur(80px)}

/* ─── PARTICLE CANVAS ────────────────────────────── */
#particle-canvas{position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.45}

/* ─── NAVBAR ─────────────────────────────────────── */
.navbar-wrap{position:sticky;top:.75rem;z-index:50}
.navbar{
  display:flex;align-items:center;justify-content:space-between;
  border-radius:999px; padding:.625rem 1rem;
  transition:box-shadow .3s,background .3s;
}
.navbar.scrolled{box-shadow:0 8px 32px rgba(13,30,58,.12)}
.nav-logo{display:flex;align-items:center;gap:.625rem}
.logo-icon{position:relative;width:2.25rem;height:2.25rem;border-radius:50%;display:grid;place-items:center}
.logo-icon svg{color:#fff;width:1.125rem;height:1.125rem}
.logo-ring{position:absolute;inset:0;border-radius:50%;border:1px solid rgba(212,135,58,.6);animation:pulse-ring 2.4s ease-out infinite}
.logo-text{font-family:'Literata',serif;font-size:1.125rem;font-weight:600;color:var(--text-heading);letter-spacing:-.01em}
.logo-text span{color:var(--accent)}
.nav-links{display:none;align-items:center;gap:1.75rem}
.nav-links a{
  font-size:.875rem;font-weight:500;color:var(--text-body);
  transition:color .2s;position:relative;
}
.nav-links a::after{
  content:'';position:absolute;bottom:-3px;left:0;width:0;height:1.5px;
  background:var(--grad-accent);border-radius:2px;transition:width .3s;
}
.nav-links a:hover{color:var(--text-heading)}
.nav-links a:hover::after{width:100%}
.nav-cta{display:inline-flex;align-items:center;gap:.375rem;border-radius:999px;padding:.5rem 1rem;font-size:.875rem;font-weight:600}
.nav-cta svg{width:.875rem;height:.875rem}
.menu-btn{width:2.25rem;height:2.25rem;display:grid;place-items:center;border-radius:50%;border:none;cursor:pointer;background:var(--glass-bg);backdrop-filter:blur(18px);border:1px solid var(--glass-border)}
.menu-btn svg{width:1rem;height:1rem;color:var(--text-heading)}

/* ─── HERO ───────────────────────────────────────── */
.hero{margin-top:2.5rem;padding-top:2.5rem;position:relative}
.hero-grid{display:grid;gap:2.5rem;align-items:start}
.hero-badge{display:inline-flex;align-items:center;gap:.5rem;border-radius:999px;padding:.375rem .75rem;font-size:.75rem;font-weight:500;color:var(--text-heading);animation:fadeUp .6s ease both}
.badge-dot{width:.5rem;height:.5rem;border-radius:50%;background:var(--success);animation:pulse-dot 2s ease-in-out infinite}
.hero-h1{margin-top:1.25rem;font-size:clamp(2.2rem,5vw,4rem);line-height:1.05;animation:fadeUp .7s .05s ease both}

/* Typewriter cursor blink on hero */
.hero-h1 .cursor{display:inline-block;width:3px;height:.85em;background:var(--accent);margin-left:3px;animation:blink .8s step-end infinite;vertical-align:middle}

.hero-desc{margin-top:1.25rem;font-size:1rem;line-height:1.7;color:var(--text-body);max-width:36rem;animation:fadeUp .7s .15s ease both}
.hero-cta{margin-top:1.75rem;display:flex;flex-wrap:wrap;gap:.75rem;animation:fadeUp .6s .25s ease both}
.hero-cta-main{display:inline-flex;align-items:center;gap:.5rem;border-radius:999px;padding:.75rem 1.5rem;font-size:.875rem;font-weight:600}
.hero-cta-main svg{width:1rem;height:1rem;transition:transform .3s}
.hero-cta-main:hover svg{transform:translateX(4px)}
.hero-cta-sec{display:inline-flex;align-items:center;gap:.5rem;border-radius:999px;padding:.75rem 1.5rem;font-size:.875rem;font-weight:600;color:var(--text-heading);transition:transform .3s}
.hero-cta-sec:hover{transform:translateY(-2px)}
.hero-stats{margin-top:2.5rem;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;max-width:28rem;animation:fadeIn .8s .4s ease both;opacity:0;animation-fill-mode:forwards}
.stat-card{border-radius:1rem;padding:.875rem;transition:transform .3s,box-shadow .3s}
.stat-card:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(26,46,82,.18)}
.stat-val{font-family:'Literata',serif;font-size:1.25rem;color:var(--text-heading)}
.stat-lbl{margin-top:.125rem;font-size:.6875rem;text-transform:uppercase;letter-spacing:.14em;color:var(--text-muted)}

/* ─── ORB ────────────────────────────────────────── */
.orb-wrap{
  position:relative;perspective:1200px;
  animation:fadeIn .9s .2s ease both;opacity:0;animation-fill-mode:forwards;
  display:flex;align-items:center;justify-content:center;
  align-self:start;
  padding-top:3rem;
}
.orb-inner{
  position:relative;margin:0 auto;
  width:100%;max-width:480px;aspect-ratio:1;
  overflow:visible;
}

/* SVG orbit rings replaced by div rings for layering */
.orb-svg{position:absolute;inset:0;width:100%;height:100%}

.orb-core{
  position:absolute;inset:26%;border-radius:50%;
  background:radial-gradient(circle at 30% 25%,#fff,#EBF0F8 35%,#5A8FBF 75%,#1A2E52 100%);
  box-shadow:var(--shadow-deep);animation:float-y 7s ease-in-out infinite;
  transition:transform .1s ease-out;
}
.orb-core::before{content:'';position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 120deg,#F4A254,transparent 35%,#5A8FBF,transparent 70%,#F4A254);mix-blend-mode:overlay;opacity:.7}
.orb-core::after{content:'';position:absolute;inset:0;border-radius:50%;border:1px solid rgba(255,255,255,.5)}
.orb-core-badge{
  position:absolute;inset:0;display:grid;place-items:center;
}
.orb-core-pill{
  display:inline-flex;align-items:center;gap:.375rem;
  border-radius:999px;padding:.3rem .7rem;
  font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.18em;
  color:var(--text-heading);white-space:nowrap;
  background:rgba(255,255,255,.65);backdrop-filter:blur(18px);
  border:1px solid rgba(255,255,255,.75);
  box-shadow:0 4px 16px rgba(13,30,58,.1);
}
.orb-glow{position:absolute;inset:-1.5rem;border-radius:50%;z-index:-1;background:radial-gradient(circle,rgba(244,162,84,.28) 0%,transparent 60%);filter:blur(28px)}

/* Ambient halo */
.orb-halo{position:absolute;inset:-2.5rem;border-radius:50%;z-index:-2;
  background:conic-gradient(from 90deg,rgba(244,162,84,.18),rgba(90,143,191,.22),rgba(244,162,84,.18));
  opacity:.7;filter:blur(48px);}

/* ─── ORBIT CHIPS (static % positions, CSS float only) ── */
.orbit-chip{
  position:absolute;
  display:inline-flex;align-items:center;gap:.4rem;
  border-radius:999px;padding:.3rem .65rem;
  font-size:.6875rem;font-weight:600;color:var(--text-heading);
  white-space:nowrap;cursor:default;
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border:1px solid rgba(255,255,255,.7);
  box-shadow:0 4px 18px rgba(13,30,58,.13),0 1px 0 rgba(255,255,255,.65) inset;
  transition:box-shadow .25s;
  pointer-events:auto;
  /* centres chip on its % anchor point — never rotated */
  transform:translate(-50%,-50%);
  animation:chip-float 4s ease-in-out infinite;
}
.orbit-chip:hover{box-shadow:0 8px 28px rgba(212,135,58,.32),0 1px 0 rgba(255,255,255,.8) inset}
.orbit-chip-icon{
  width:1.25rem;height:1.25rem;border-radius:50%;
  display:grid;place-items:center;flex-shrink:0;color:#fff;
  box-shadow:0 2px 6px rgba(0,0,0,.25);
}
.orbit-chip-icon svg{width:.7rem;height:.7rem}
@keyframes chip-float{
  0%,100%{ transform:translate(-50%,-50%) translateY(0px); }
  50%{     transform:translate(-50%,-50%) translateY(-5px); }
}

/* Glowing dot accents on orbits */
.orbit-dot{
  position:absolute;
  width:.45rem;height:.45rem;border-radius:50%;
  background:var(--accent);
  box-shadow:0 0 6px rgba(212,135,58,.9),0 0 16px rgba(212,135,58,.45);
  transform:translate(-50%,-50%);
  animation:ticker-pulse 2s ease-in-out infinite;
  pointer-events:none;
}

/* ─── MARQUEE ────────────────────────────────────── */
.marquee-section{position:relative;margin-top:5rem;overflow:hidden}
.marquee-fade-l{pointer-events:none;position:absolute;inset-y:0;left:0;z-index:1;width:6rem;background:linear-gradient(to right,#F5F8FF,transparent)}
.marquee-fade-r{pointer-events:none;position:absolute;inset-y:0;right:0;z-index:1;width:6rem;background:linear-gradient(to left,#F5F8FF,transparent)}
.marquee-track{display:flex;width:max-content;gap:2.5rem;padding:.5rem 0;animation:marquee 40s linear infinite}
.marquee-track:hover{animation-play-state:paused}
.marquee-item{display:flex;align-items:center;gap:.75rem;color:var(--text-heading);transition:transform .25s}
.marquee-item:hover{transform:scale(1.05)}
.marquee-item span.dot{width:.375rem;height:.375rem;border-radius:50%;background:var(--accent);flex-shrink:0}
.marquee-item span.label{font-family:'Literata',serif;font-size:1.5rem;letter-spacing:-.01em;white-space:nowrap}

/* ─── INTRO ──────────────────────────────────────── */
.intro{margin-top:6rem}
.intro-header{display:grid;gap:2.5rem;align-items:end}
.intro-h2{margin-top:.75rem;font-size:clamp(1.75rem,4vw,3rem);line-height:1.1}
.intro-desc{color:var(--text-body);line-height:1.7}
.intro-cards{margin-top:3rem;display:grid;gap:1.25rem}
.intro-card{
  position:relative;overflow:hidden;border-radius:1.5rem;padding:1.5rem;
  transition:transform .4s cubic-bezier(.34,1.56,.64,1),box-shadow .4s;
  cursor:default;
}
.intro-card:hover{transform:translateY(-6px) scale(1.01);box-shadow:0 24px 60px rgba(13,30,58,.14)}
.intro-card-glow{
  position:absolute;top:-1rem;right:-1rem;
  width:10rem;height:10rem;border-radius:50%;
  background:radial-gradient(circle at 80% 20%, rgba(244,162,84,.02) 0%, rgba(244,162,84,.11) 5%, transparent 70%);
  filter:blur(12px);
  transition:transform .4s, opacity .4s;
  pointer-events:none;
}
.intro-card:hover .intro-card-glow{transform:scale(1.35);opacity:.85}
.intro-icon{width:3rem;height:3rem;border-radius:.875rem;display:grid;place-items:center;transition:transform .3s}
.intro-icon svg{width:1.25rem;height:1.25rem;color:#fff}
.intro-card:hover .intro-icon{transform:rotate(-6deg) scale(1.1)}
.intro-h3{margin-top:1.25rem;font-family:'Literata',serif;font-size:1.25rem}
.intro-p{margin-top:.5rem;font-size:.875rem;line-height:1.6;color:var(--text-body)}
/* shimmer line on intro cards */
.intro-card::after{
  content:'';position:absolute;bottom:0;left:-100%;width:60%;height:1px;
  background:linear-gradient(90deg,transparent,rgba(244,162,84,.6),transparent);
  transition:left .6s ease;
}
.intro-card:hover::after{left:140%}

/* ─── ABOUT STORY ────────────────────────────────── */
.about-story{margin-top:7rem}
.about-story-grid{
  display:grid;gap:3.5rem;align-items:center;
}
@media(min-width:768px){
  .about-story-grid{grid-template-columns:1fr 1fr;gap:4rem}
}
/* Left — content */
.about-story-content{}
.about-story-h2{margin-top:.75rem;font-size:clamp(1.75rem,3.5vw,2.75rem);line-height:1.1}
.about-story-lead{
  margin-top:1.25rem;font-size:1.0625rem;line-height:1.75;color:var(--text-body);
  border-left:3px solid var(--accent);padding-left:1.25rem;
}
.about-story-body{margin-top:1.25rem;font-size:.9375rem;line-height:1.75;color:var(--text-body)}
.about-story-pills{margin-top:1.75rem;display:flex;flex-wrap:wrap;gap:.5rem}
.about-story-pill{
  display:inline-flex;align-items:center;gap:.375rem;
  border-radius:999px;padding:.3rem .8rem;
  font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em;
  background:var(--pale-navy);color:var(--primary);border:1px solid var(--border);
  transition:background .25s,color .25s;
}
.about-story-pill:hover{background:var(--primary);color:#fff}
.about-story-pill-dot{width:.35rem;height:.35rem;border-radius:50%;background:var(--accent);flex-shrink:0}
.about-story-meta{
  margin-top:2rem;display:flex;gap:2rem;flex-wrap:wrap;
}
.about-meta-item{}
.about-meta-val{font-family:'Literata',serif;font-size:2rem;color:var(--text-heading);line-height:1}
.about-meta-val span{color:var(--accent)}
.about-meta-lbl{margin-top:.25rem;font-size:.6875rem;text-transform:uppercase;letter-spacing:.14em;color:var(--text-muted)}
/* Right — image collage */
.about-story-images{
  position:relative;display:grid;
  grid-template-columns:1fr 1fr;grid-template-rows:auto auto;
  gap:.875rem;
}
.about-img{
  border-radius:1.25rem;overflow:hidden;
  box-shadow:var(--shadow-card);
  transition:transform .5s cubic-bezier(.22,1,.36,1);
}
.about-img:hover{transform:translateY(-5px) scale(1.01)}
.about-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.2s ease}
.about-img:hover img{transform:scale(1.06)}
.about-img-main{grid-column:1/3;height:300px}
.about-img-a{height:200px}
.about-img-b{height:200px}
/* Floating badge on image collage */
.about-img-badge{
  position:absolute;bottom:1.25rem;left:1.25rem;z-index:10;
  display:inline-flex;align-items:center;gap:.625rem;
  background:rgba(255,255,255,.88);backdrop-filter:blur(16px);
  border:1px solid rgba(255,255,255,.9);
  border-radius:999px;padding:.5rem 1rem;
  box-shadow:0 8px 24px rgba(13,30,58,.15);
  font-size:.75rem;font-weight:600;color:var(--text-heading);
}
.about-img-badge-dot{width:.5rem;height:.5rem;border-radius:50%;background:var(--success);animation:pulse-dot 2s ease-in-out infinite;flex-shrink:0}

/* ─── INDUSTRIES SLIDER ───────────────────────────── */
.industries{margin-top:7rem;width:100%;max-width:100%}
.industries-inner{max-width:min(1200px,94%);margin-inline:auto}
.industries-header{display:flex;flex-direction:column;gap:1.5rem;align-items:flex-start}
.industries-h2{margin-top:.75rem;font-size:clamp(1.75rem,4vw,3rem);line-height:1.1}
.industries-slider-wrap{position:relative;margin-top:2.5rem;width:100%}
.industries-fade-l{pointer-events:none;position:absolute;inset-y:0;left:0;z-index:10;width:5rem;background:linear-gradient(to right,var(--bg),transparent)}
.industries-fade-r{pointer-events:none;position:absolute;inset-y:0;right:0;z-index:10;width:5rem;background:linear-gradient(to left,var(--bg),transparent)}
.industries-scroller{
  display:flex;gap:.875rem;overflow-x:auto;
  scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
  padding-bottom:1rem;
  padding-left:0;
  padding-right:0;
  scroll-padding-left:0;
}
.industries-scroller::-webkit-scrollbar{display:none}
.ind-slide{
  position:relative;flex-shrink:0;overflow:hidden;border-radius:1.5rem;
  display:flex;flex-direction:column;justify-content:space-between;
  scroll-snap-align:start;cursor:pointer;
  width:clamp(180px,18vw,220px);height:320px;
  transition:transform .6s cubic-bezier(.22,1,.36,1),box-shadow .6s ease;
  box-shadow:0 30px 60px -25px rgba(13,30,58,.55),0 1px 0 rgba(255,255,255,.2) inset;
}
.ind-slide:hover{transform:translateY(-8px) scale(1.01);box-shadow:0 40px 80px -25px rgba(13,30,58,.7),0 1px 0 rgba(255,255,255,.3) inset}
.ind-slide-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.4s ease-out;z-index:0;filter:saturate(.85) brightness(.85)}
.ind-slide:hover .ind-slide-img{transform:scale(1.08)}
.ind-slide-tint{position:absolute;inset:0;z-index:1;mix-blend-mode:multiply}
.ind-slide-sheen{position:absolute;inset:0;z-index:2;opacity:.3;mix-blend-mode:overlay;background:conic-gradient(from 120deg,transparent,rgba(255,255,255,.4),transparent 55%)}
.ind-slide-ring{pointer-events:none;position:absolute;inset:0;border-radius:inherit}
.ind-slide-ring::before{content:'';position:absolute;inset:0;border-radius:inherit;box-shadow:0 0 0 1px rgba(255,255,255,.2) inset}
/* Floating spin rings */
.ind-rings{position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);z-index:0;pointer-events:none;width:12rem;height:12rem}
.ind-ring-a{position:absolute;inset:0;border-radius:50%;border:1px solid rgba(255,255,255,.25);animation:spin-slow 28s linear infinite}
.ind-ring-b{position:absolute;inset:1rem;border-radius:50%;border:1px dashed rgba(255,255,255,.3);animation:spin-slow 30s linear infinite reverse}
/* Top chrome */
.ind-top{position:relative;z-index:10;display:flex;align-items:flex-start;justify-content:space-between;padding:1.25rem}
.ind-icon-wrap{
  width:3.25rem;height:3.25rem;border-radius:1rem;
  display:grid;place-items:center;
  background:rgba(255,255,255,.15);color:#fff;
  backdrop-filter:blur(12px);
  box-shadow:0 4px 16px rgba(0,0,0,.2);
  border:1px solid rgba(255,255,255,.4);
  transition:transform .5s;
}
.ind-slide:hover .ind-icon-wrap{transform:rotate(-6deg) scale(1.1)}
.ind-icon-wrap svg{width:1.375rem;height:1.375rem}
.ind-tag{
  border-radius:999px;padding:.25rem .625rem;
  font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.16em;
  color:#fff;background:rgba(255,255,255,.15);
  backdrop-filter:blur(12px);
  box-shadow:0 2px 8px rgba(0,0,0,.15);
  border:1px solid rgba(255,255,255,.3);
}
/* Glass info panel */
.ind-panel{
  position:relative;z-index:10;margin:.75rem;margin-top:auto;
  border-radius:1rem;padding:1rem 1.25rem;
  background:rgba(255,255,255,.15);
  backdrop-filter:blur(24px);
  border:1px solid rgba(255,255,255,.3);
  box-shadow:0 8px 32px rgba(0,0,0,.2);
}
.ind-panel-num{font-family:'Literata',serif;font-size:.625rem;color:rgba(255,255,255,.75)}
.ind-panel-name{margin-top:.2rem;font-family:'Literata',serif;font-size:1.05rem;line-height:1.2;color:#fff}
.ind-panel-link{margin-top:.75rem;display:inline-flex;align-items:center;gap:.375rem;font-size:.8125rem;font-weight:600;color:#fff}
.ind-panel-link svg{width:.875rem;height:.875rem;transition:transform .3s}
.ind-slide:hover .ind-panel-link svg{transform:translateX(4px)}
/* Progress dots */
.ind-dots{margin-top:1.25rem;display:flex;align-items:center;justify-content:center;gap:.375rem}
.ind-dot{height:.375rem;border-radius:999px;border:none;cursor:pointer;padding:0;transition:width .5s cubic-bezier(.4,0,.2,1),background .5s}
/* Nav buttons */
.ind-nav{display:flex;align-items:center;gap:.5rem}
.ind-btn{
  width:2.75rem;height:2.75rem;border-radius:50%;border:none;cursor:pointer;
  display:grid;place-items:center;transition:transform .3s,box-shadow .3s;
}
.ind-btn:hover{transform:translateY(-2px)}
.ind-btn svg{width:1rem;height:1rem}

/* ─── CAPABILITIES ───────────────────────────────── */
.capabilities{margin-top:7rem}
.cap-card{position:relative;overflow:hidden;border-radius:2rem;padding:2rem;background:var(--grad-primary)}
.cap-glow-r{position:absolute;top:-8rem;right:-8rem;width:24rem;height:24rem;border-radius:50%;background:rgba(212,135,58,.3);filter:blur(80px)}
.cap-glow-l{position:absolute;bottom:0;left:-6rem;width:18rem;height:18rem;border-radius:50%;background:rgba(90,143,191,.4);filter:blur(80px)}
/* Moving shimmer across the dark card */
.cap-card::after{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.04) 50%,transparent 60%);
  background-size:200% 100%;animation:shimmer-slide 4s ease-in-out infinite;
}
.cap-grid{position:relative;display:grid;gap:2.5rem}
.cap-label{display:inline-flex;align-items:center;gap:.5rem;border-radius:999px;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.05);padding:.375rem .75rem;font-size:.75rem;font-weight:500;color:rgba(255,255,255,.8)}
.cap-label svg{width:.875rem;height:.875rem;color:var(--accent-light)}
.cap-h2{margin-top:1rem;font-size:clamp(1.75rem,4vw,3rem);line-height:1.1;color:#fff}
.cap-h2 em{font-style:normal;color:var(--accent-light)}
.cap-desc{margin-top:1rem;color:rgba(255,255,255,.75);line-height:1.7}
.cap-list{display:grid;gap:.75rem}
.cap-item{
  display:flex;align-items:flex-start;gap:1rem;border-radius:1rem;padding:1rem;color:#fff;
  transition:transform .3s,background .3s;
}
.cap-item:hover{transform:translateX(6px)}
.cap-num{
  width:2.25rem;height:2.25rem;border-radius:.75rem;background:var(--accent);
  box-shadow:var(--shadow-glow);display:grid;place-items:center;flex-shrink:0;
  font-family:'Literata',serif;font-size:.875rem;
  transition:transform .3s;
}
.cap-item:hover .cap-num{transform:rotate(-6deg) scale(1.1)}
.cap-text{font-size:.875rem;line-height:1.6}

/* Progress bar fill on count-up (capabilities) */
.cap-progress{height:2px;background:rgba(255,255,255,.12);border-radius:2px;margin-top:.5rem;overflow:hidden}
.cap-progress-fill{height:100%;background:var(--grad-accent);border-radius:2px;width:0;transition:width 1.2s cubic-bezier(.4,0,.2,1)}

/* ─── CTA ────────────────────────────────────────── */
.cta-section{margin-top:7rem}
.cta-card{position:relative;overflow:hidden;border-radius:2rem;padding:2rem}
.cta-glow-t{position:absolute;top:-5rem;right:2.5rem;width:16rem;height:16rem;border-radius:50%;background:rgba(244,162,84,.4);filter:blur(80px)}
.cta-glow-b{position:absolute;bottom:-6rem;left:-2.5rem;width:18rem;height:18rem;border-radius:50%;background:rgba(90,143,191,.3);filter:blur(80px)}
.cta-grid{position:relative;display:grid;gap:2rem}
.cta-h2{font-size:clamp(1.75rem,4vw,3rem);line-height:1.1}
.cta-desc{margin-top:1rem;color:var(--text-body);line-height:1.7}
.cta-btns{margin-top:1.5rem;display:flex;flex-wrap:wrap;gap:.75rem}
.cta-btn-main{display:inline-flex;align-items:center;gap:.5rem;border-radius:999px;padding:.75rem 1.5rem;font-size:.875rem;font-weight:600}
.cta-btn-main svg{width:1rem;height:1rem;transition:transform .3s}
.cta-btn-main:hover svg{transform:translateX(4px)}
.cta-btn-sec{display:inline-flex;align-items:center;gap:.5rem;border-radius:999px;padding:.75rem 1.5rem;font-size:.875rem;font-weight:600;color:var(--text-heading);transition:transform .3s}
.cta-btn-sec:hover{transform:translateY(-2px)}
.contact-rows{display:grid;gap:.75rem}
.contact-row{display:flex;align-items:flex-start;gap:1rem;border-radius:1rem;padding:1rem;transition:transform .3s,box-shadow .3s}
.contact-row:hover{transform:translateX(4px);box-shadow:0 8px 24px rgba(13,30,58,.1)}
.contact-icon{width:2.5rem;height:2.5rem;border-radius:.75rem;display:grid;place-items:center;flex-shrink:0;transition:transform .3s}
.contact-row:hover .contact-icon{transform:rotate(-6deg) scale(1.08)}
.contact-icon svg{width:1.125rem;height:1.125rem;color:#fff}
.contact-lbl{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.14em;color:var(--text-muted)}
.contact-val{margin-top:.125rem;font-size:.875rem;color:var(--text-heading)}

/* ─── FOOTER ─────────────────────────────────────── */
footer{margin-top:5rem;padding-bottom:0.5rem;padding-top:1.5rem}
.footer-inner{display:flex;flex-direction:column;align-items:flex-start;gap:1.5rem;border-top:1px solid rgba(197,211,232,.7);padding-top:1rem}
.footer-logo{display:flex;align-items:center;gap:.625rem}
.footer-logo-icon{width:2rem;height:2rem;border-radius:50%;display:grid;place-items:center}
.footer-logo-icon svg{width:1rem;height:1rem;color:#fff}
.footer-logo-text{font-family:'Literata',serif;font-size:1rem;font-weight:600;color:var(--text-heading)}
.footer-copy{font-size:.75rem;color:var(--text-muted)}

/* ─── NOISE ──────────────────────────────────────── */
.noise{position:relative}
.noise::after{content:'';position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(rgba(13,30,58,.05) 1px,transparent 1px);background-size:4px 4px;mix-blend-mode:multiply;opacity:.35}

/* ─── SCROLL REVEAL ──────────────────────────────── */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .6s cubic-bezier(.4,0,.2,1),transform .6s cubic-bezier(.4,0,.2,1)}
.reveal.from-left{transform:translateX(-30px)}
.reveal.from-right{transform:translateX(30px)}
.reveal.visible{opacity:1;transform:none}

/* ─── COUNTER ────────────────────────────────────── */
.count-up{display:inline-block}

/* ─── CURSOR GLOW ────────────────────────────────── */
#cursor-glow{
  position:fixed;width:300px;height:300px;border-radius:50%;
  background:radial-gradient(circle,rgba(244,162,84,.08) 0%,transparent 70%);
  pointer-events:none;z-index:0;
  transform:translate(-50%,-50%);
  transition:opacity .3s;
}

/* ─── ANIMATIONS ─────────────────────────────────── */
@keyframes float-y{
  0%,100%{transform:translateY(0) rotateX(0) rotateY(0)}
  50%{transform:translateY(-18px) rotateX(6deg) rotateY(-8deg)}
}
@keyframes spin-slow{to{transform:rotate(360deg)}}
@keyframes pulse-ring{
  0%{transform:scale(.85);opacity:.8}
  100%{transform:scale(1.6);opacity:0}
}
@keyframes pulse-dot{
  0%,100%{transform:scale(1);opacity:1}
  50%{transform:scale(1.4);opacity:.6}
}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes blob{
  0%,100%{border-radius:42% 58% 60% 40%/50% 45% 55% 50%}
  50%{border-radius:60% 40% 35% 65%/40% 60% 40% 60%}
}
@keyframes fadeUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes blink{0%,100%{opacity:1}50%{opacity:0}}
@keyframes shimmer-slide{
  0%{background-position:200% 0}
  100%{background-position:-200% 0}
}
@keyframes ticker-pulse{
  0%,100%{box-shadow:0 0 0 0 rgba(212,135,58,.4)}
  50%{box-shadow:0 0 0 6px rgba(212,135,58,0)}
}

/* ─── RESPONSIVE ─────────────────────────────────── */
@media(min-width:640px){}
@media(min-width:768px){
  .navbar{padding:.45rem 1.5rem}
  .nav-links{display:flex}
  .menu-btn{display:none}
  .hero-grid{grid-template-columns:1.05fr .95fr;gap:2rem}
  .intro-header{grid-template-columns:1fr 1fr}
  .intro-cards{grid-template-columns:repeat(3,1fr)}
  .industries-header{flex-direction:row;align-items:flex-end}
  .cap-grid{grid-template-columns:1fr 1fr}
  .cap-card{padding:3.5rem}
  .cta-grid{grid-template-columns:1.2fr 1fr;align-items:center}
  .cta-card{padding:3.5rem}
  .footer-inner{flex-direction:row;align-items:center;justify-content:space-between}
  .hero-h1{font-size:3.6rem}
}
@media(min-width:1024px){.hero-h1{font-size:4rem}}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms !important;transition-duration:.01ms !important}
  #cursor-glow{display:none}
}