/* ── RESET ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;border:0 solid hsl(216 33% 92%);}
html{scroll-behavior:smooth;}
body{font-family:'Plus Jakarta Sans',system-ui,sans-serif;background:#fff;color:hsl(222 47% 11%);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;}
h1,h2,h3,h4,h5,h6{font-family:'Playfair Display',Georgia,serif;letter-spacing:-0.02em;}
::selection{background:hsl(221 83% 53%);color:#fff;}
img{max-width:100%;display:block;}
a{text-decoration:none;}
button{cursor:pointer;background:none;border:none;font:inherit;}

/* ── DESIGN TOKENS ── */
:root{
  --navy:       hsl(218 60% 10%);
  --deep-blue:  hsl(224 66% 33%);
  --brand-blue: hsl(221 83% 53%);
  --mid-blue:   hsl(217 91% 60%);
  --light-blue: hsl(213 94% 68%);
  --pale-blue:  hsl(214 95% 93%);
  --off-white:  hsl(220 100% 99%);
  --ink:        hsl(222 47% 11%);
  --muted:      hsl(215 16% 47%);
  --border:     hsl(216 33% 92%);
  --radius:     0.75rem;
  --ease-expo:  cubic-bezier(0.16,1,0.3,1);
  --ease-quart: cubic-bezier(0.25,1,0.5,1);
  --shadow-md:  0 4px 16px hsla(218,60%,10%,0.08),0 2px 6px hsla(218,60%,10%,0.05);
  --shadow-lg:  0 16px 48px hsla(218,60%,10%,0.12),0 6px 16px hsla(218,60%,10%,0.06);
  --shadow-glow:0 12px 40px hsla(221,83%,53%,0.25),0 4px 12px hsla(221,83%,53%,0.15);
  --shadow-deep:0 30px 80px hsla(218,60%,10%,0.35),0 10px 30px hsla(218,60%,10%,0.2);
  --content:    1160px;
}

/* ── TYPOGRAPHY HELPERS ── */
.f-display{font-family:'Playfair Display',Georgia,serif;}
.f-body   {font-family:'Plus Jakarta Sans',system-ui,sans-serif;}
.f-stat   {font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:0.02em;}
.text-stroke{-webkit-text-stroke:1.5px #fff;color:transparent;}

/* ── LAYOUT ── */
.container{max-width:var(--content);margin:0 auto;padding:0 clamp(1.5rem,4vw,3rem);}

/* ── ACCESSIBILITY ── */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}

.skip-link{position:absolute;top:-100px;left:1rem;background:var(--brand-blue);color:#fff;padding:.75rem 1.25rem;border-radius:.5rem;z-index:9999;font-weight:600;transition:top .2s;}
.skip-link:focus{top:1rem;}
:focus-visible{outline:2px solid var(--brand-blue);outline-offset:3px;border-radius:4px;}

/* ── CUSTOM CURSOR ── */
@media(hover:hover) and (pointer:fine){
  .cursor-active,.cursor-active *{cursor:none !important;}
}
#cursor-ring{
  pointer-events:none;position:fixed;left:0;top:0;z-index:9999;
  width:32px;height:32px;border-radius:9999px;
  border:2px solid hsla(221,83%,53%,0.45);
  transition:width .2s,height .2s,border-color .2s;
  display:none;mix-blend-mode:multiply;
}
#cursor-dot{
  pointer-events:none;position:fixed;left:0;top:0;z-index:9999;
  width:8px;height:8px;border-radius:9999px;
  background:hsl(221 83% 53%);
  display:none;
}
@media(hover:hover) and (pointer:fine){
  #cursor-ring,#cursor-dot{display:block;}
}

/* ── NAV ── */
#nav{
  position:fixed;left:0;right:0;top:0;z-index:100;
  height:72px;display:flex;align-items:center;justify-content:space-between;
  padding:0 clamp(1.5rem,4vw,3rem);
  background:#fff;
  box-shadow:0 1px 0 hsl(216 33% 92%),var(--shadow-md);
  transition:box-shadow .3s;
}
.nav-inner{max-width:var(--content);width:100%;margin:0 auto;display:flex;align-items:center;justify-content:space-between;}
.nav-logo img{height:52px;width:auto;border-radius:0;object-fit:contain;}
.nav-links{display:flex;align-items:center;gap:2.25rem;list-style:none;}
.nav-links button{
  font-family:'Plus Jakarta Sans',system-ui,sans-serif;
  font-size:.875rem;font-weight:500;letter-spacing:.01em;
  color:var(--ink);transition:color .2s;position:relative;background:none;border:none;padding:0;cursor:pointer;
}
.nav-links button::after{
  content:'';position:absolute;bottom:-6px;left:0;width:0;height:1px;
  background:var(--brand-blue);transition:width .3s var(--ease-expo);
}
.nav-links button:hover,.nav-links button.active{color:var(--brand-blue);}
.nav-links button.active::after{width:100%;}
.btn-contact{
  font-family:'Plus Jakarta Sans',system-ui,sans-serif;
  display:inline-flex;align-items:center;
  background:var(--brand-blue);color:#fff;
  font-size:.875rem;font-weight:600;
  padding:.625rem 1.25rem;border-radius:9999px;
  box-shadow:var(--shadow-glow);
  transition:background .2s,box-shadow .2s;
  white-space:nowrap;
}
.btn-contact:hover{background:var(--deep-blue);box-shadow:var(--shadow-lg);}
@media(max-width:479px){.btn-contact{font-size:.75rem;padding:.5rem .875rem;}}
#hb-btn{
  display:none;align-items:center;justify-content:center;
  width:40px;height:40px;border-radius:9999px;
  border:1px solid var(--border);background:#f8faff;
  color:var(--ink);position:relative;
}
.hb-icon{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;transition:opacity .2s,transform .2s;}
.hb-icon.close{opacity:0;transform:rotate(-90deg);}
#hb-btn.open .hb-icon.open-icon{opacity:0;transform:rotate(90deg);}
#hb-btn.open .hb-icon.close{opacity:1;transform:rotate(0deg);}
#drawer{
  overflow:hidden;max-height:0;opacity:0;
  transition:max-height .5s var(--ease-expo),opacity .5s;
  background:#fff;
  border-top:1px solid hsl(216 33% 92%);
}
#drawer.open{max-height:420px;opacity:1;}
.drawer-inner{padding:1.5rem clamp(1.5rem,4vw,3rem);display:flex;flex-direction:column;gap:.25rem;}
.drawer-inner button{
  width:100%;text-align:left;padding:.75rem 1rem;border-radius:.5rem;
  font-family:'Plus Jakarta Sans',system-ui,sans-serif;
  font-size:1rem;font-weight:500;color:var(--ink);
  transition:background .2s,color .2s;background:none;border:none;
}
.drawer-inner button:hover{background:var(--pale-blue);color:var(--brand-blue);}
.drawer-contact{
  display:block;margin-top:.75rem;padding:.75rem 1.25rem;text-align:center;
  border-radius:9999px;background:var(--brand-blue);
  font-family:'Plus Jakarta Sans',system-ui,sans-serif;
  font-size:.875rem;font-weight:600;color:#fff;
}
@media(max-width:1023px){
  .nav-links{display:none;}
  #hb-btn{display:flex;}
}

/* ── HERO ── */
#hero{
  position:relative;display:flex;align-items:center;
  min-height:100svh;overflow:hidden;padding-top:96px;
}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.hero-overlay{
  position:absolute;inset:0;
  background:linear-gradient(135deg,hsla(218,60%,10%,0.93) 0%,hsla(224,66%,33%,0.82) 100%);
}
.hero-grid-dots{
  position:absolute;inset:0;opacity:.7;
  background-image:radial-gradient(circle,hsla(213,94%,68%,.18) 1px,transparent 1px);
  background-size:28px 28px;
  mask-image:radial-gradient(ellipse at center,black 40%,transparent 75%);
  -webkit-mask-image:radial-gradient(ellipse at center,black 40%,transparent 75%);
}
.orbit-ring{
  position:absolute;right:-10rem;top:50%;
  transform:translateY(-50%);
  width:640px;height:640px;
  animation:orbit-spin 28s linear infinite;
  pointer-events:none;
}
@media(max-width:767px){.orbit-ring{display:none;}}
.orbit-ring .r1{position:absolute;inset:0;border-radius:50%;border:1px solid hsla(213,94%,68%,.20);}
.orbit-ring .r2{position:absolute;inset:2.5rem;border-radius:50%;border:1px solid hsla(213,94%,68%,.15);}
.orbit-ring .r3{position:absolute;inset:6rem;border-radius:50%;border:1px solid hsla(213,94%,68%,.10);}
.orbit-dot1{
  position:absolute;left:50%;top:0;transform:translateX(-50%);
  width:12px;height:12px;border-radius:50%;background:var(--light-blue);
  box-shadow:0 0 16px 4px hsla(213,94%,68%,.4);
}
.orbit-dot2{
  position:absolute;bottom:2.5rem;right:2.5rem;
  width:8px;height:8px;border-radius:50%;background:var(--mid-blue);
  box-shadow:0 0 10px 2px hsla(217,91%,60%,.4);
}
.hero-particles{position:absolute;inset:0;overflow:hidden;pointer-events:none;}
.particle{
  position:absolute;bottom:0;width:4px;height:4px;border-radius:50%;
  background:hsla(213,94%,68%,.6);
  animation:particle-up linear infinite;
}
.hero-inner-grid{
  position:relative;z-index:10;width:100%;
  max-width:var(--content);margin:0 auto;
  padding:5rem clamp(1.5rem,4vw,3rem);
  display:grid;grid-template-columns:1fr;gap:4rem;
  align-items:center;
}
@media(min-width:1024px){.hero-inner-grid{grid-template-columns:1.15fr 1fr;gap:3rem;}}

/* Hero badge */
.hero-badge{
  display:inline-flex;align-items:center;gap:.5rem;
  border:1px solid hsla(255,100%,100%,.15);
  background:hsla(255,100%,100%,.05);
  backdrop-filter:blur(12px);
  border-radius:9999px;padding:.5rem 1rem;
  margin-bottom:2rem;
  animation:fade-in-up .9s var(--ease-expo) both;
}
.badge-ping{position:relative;display:inline-flex;width:8px;height:8px;}
.badge-ping-outer{
  position:absolute;inset:0;border-radius:9999px;
  background:var(--light-blue);opacity:.75;
  animation:ping 1.5s cubic-bezier(0,0,.2,1) infinite;
}
.badge-ping-inner{position:relative;width:8px;height:8px;border-radius:9999px;background:var(--light-blue);}
.badge-text{
  font-family:'Plus Jakarta Sans',system-ui,sans-serif;
  font-size:.6875rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.9);
}

/* Hero h1 */
.hero-h1{
  font-family:'Playfair Display',Georgia,serif;
  font-size:clamp(3rem,7vw,5.75rem);font-weight:500;
  line-height:.98;color:#fff;margin-bottom:1.75rem;
  animation:fade-in-up .9s var(--ease-expo) 120ms both;
}
.hero-h1 .l1{display:block;font-style:italic;font-weight:400;color:var(--light-blue);}
.hero-h1 .l2{display:block;font-weight:700;}
.hero-h1 .l3{display:block;font-weight:800;font-style:italic;-webkit-text-stroke:1.5px #fff;color:transparent;}

.hero-p{
  max-width:36rem;font-family:'Plus Jakarta Sans',system-ui,sans-serif;
  font-size:1rem;line-height:1.75;color:rgba(255,255,255,.8);
  margin-bottom:2.5rem;
  animation:fade-in-up .9s var(--ease-expo) 240ms both;
}
@media(min-width:640px){.hero-p{font-size:1.125rem;}}

.hero-ctas{
  display:flex;flex-wrap:wrap;gap:1rem;
  animation:fade-in-up .9s var(--ease-expo) 360ms both;
}
.btn-primary-hero{
  display:inline-flex;align-items:center;gap:.5rem;
  background:var(--brand-blue);color:#fff;
  font-family:'Plus Jakarta Sans',system-ui,sans-serif;
  font-size:.875rem;font-weight:600;
  padding:.875rem 1.75rem;border-radius:9999px;
  box-shadow:var(--shadow-glow);transition:background .2s;
}
.btn-primary-hero:hover{background:var(--mid-blue);}
.btn-primary-hero svg{width:16px;height:16px;transition:transform .2s;}
.btn-primary-hero:hover svg{transform:translateX(4px);}
.btn-ghost-hero{
  display:inline-flex;align-items:center;gap:.5rem;
  border:1px solid rgba(255,255,255,.25);
  background:rgba(255,255,255,.05);backdrop-filter:blur(12px);
  color:#fff;font-family:'Plus Jakarta Sans',system-ui,sans-serif;
  font-size:.875rem;font-weight:600;
  padding:.875rem 1.75rem;border-radius:9999px;
  transition:border-color .2s,background .2s;
}
.btn-ghost-hero:hover{border-color:rgba(255,255,255,.6);background:rgba(255,255,255,.10);}

/* Hero stats row */
.hero-stats{
  display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;
  border-top:1px solid rgba(255,255,255,.1);padding-top:2rem;margin-top:3.5rem;
  animation:fade-in-up .9s var(--ease-expo) 480ms both;
}
@media(min-width:640px){.hero-stats{grid-template-columns:repeat(4,1fr);}}
.hero-stat-num{font-family:'Bebas Neue',Impact,sans-serif;font-size:clamp(1.75rem,3vw,2.25rem);letter-spacing:.02em;color:#fff;line-height:1;}
.hero-stat-label{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-size:.6875rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:hsla(213,94%,68%,.8);margin-top:.25rem;}

/* Glass card (hero right) */
.hero-card{
  background:hsla(0,0%,100%,.06);
  backdrop-filter:blur(20px) saturate(160%);
  -webkit-backdrop-filter:blur(20px) saturate(160%);
  border:1px solid hsla(0,0%,100%,.12);
  border-radius:1rem;padding:2rem;
  position:relative;overflow:hidden;
  animation:float-y 6s ease-in-out infinite,fade-in-up .9s var(--ease-expo) 200ms both;
  box-shadow:var(--shadow-deep);
}
.hero-card-glow{
  pointer-events:none;position:absolute;inset:-1px;border-radius:1rem;
  box-shadow:inset 0 0 80px hsla(213,94%,68%,.08);
}
.card-top-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;}
.card-label{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-size:.625rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.6);}
.live-badge{display:flex;align-items:center;gap:.5rem;}
.live-dot{
  display:inline-block;width:8px;height:8px;border-radius:9999px;
  background:#34d399;position:relative;
}
.live-dot::after{
  content:'';position:absolute;inset:-4px;border-radius:9999px;
  background:#34d399;opacity:.5;
  animation:pulse-ring 2s var(--ease-quart) infinite;
}
.live-text{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-size:.6875rem;font-weight:500;color:rgba(255,255,255,.85);}
.card-title{font-family:'Playfair Display',Georgia,serif;font-size:1.5rem;font-style:italic;color:#fff;font-weight:400;line-height:1.35;margin-bottom:2rem;}
.metric-row{display:flex;align-items:flex-start;gap:1rem;border-top:1px solid rgba(255,255,255,.1);padding-top:1.25rem;margin-top:0;}
.metric-val{font-family:'Bebas Neue',Impact,sans-serif;font-size:1.5rem;letter-spacing:.02em;color:var(--light-blue);flex-shrink:0;line-height:1.1;}
.metric-desc{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-size:.875rem;line-height:1.6;color:rgba(255,255,255,.8);}
.card-quote{border-top:1px solid rgba(255,255,255,.1);margin-top:2rem;padding-top:1.5rem;font-family:'Playfair Display',Georgia,serif;font-style:italic;font-size:1rem;color:rgba(255,255,255,.8);line-height:1.6;}

/* ── MARQUEE ── */
#marquee{
  position:relative;overflow:hidden;
  background:var(--navy);padding:1.75rem 0;
}
.mq-accent{position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--brand-blue);z-index:2;}
.mq-fade-l{position:absolute;top:0;bottom:0;left:0;width:8rem;background:linear-gradient(to right,var(--navy),transparent);z-index:1;pointer-events:none;}
.mq-fade-r{position:absolute;top:0;bottom:0;right:0;width:8rem;background:linear-gradient(to left,var(--navy),transparent);z-index:1;pointer-events:none;}
.mq-track{display:flex;align-items:center;width:max-content;gap:3.5rem;padding-left:3.5rem;animation:marquee 38s linear infinite;}
#marquee:hover .mq-track{animation-play-state:paused;}
.mq-item{display:flex;align-items:center;gap:.75rem;flex-shrink:0;}
.mq-item svg{width:16px;height:16px;stroke:var(--light-blue);fill:none;stroke-width:2;flex-shrink:0;}
.mq-item span{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-size:.875rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.85);white-space:nowrap;}
.mq-sep{width:4px;height:4px;border-radius:50%;background:rgba(255,255,255,.2);flex-shrink:0;}

/* ── SECTION TAG ── */
.sec-tag{display:inline-flex;align-items:center;gap:.5rem;margin-bottom:1.25rem;}
.sec-tag-dot{width:6px;height:6px;border-radius:9999px;background:var(--brand-blue);flex-shrink:0;}
.sec-tag-text{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-size:.6875rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--brand-blue);}
.sec-tag-dot-light{background:var(--light-blue);}
.sec-tag-text-light{color:var(--light-blue);}

/* ── REVEAL ON SCROLL ── */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .9s var(--ease-expo),transform .9s var(--ease-expo);will-change:opacity,transform;}
.reveal.is-visible{opacity:1;transform:translateY(0);}

/* ── ABOUT ── */
#about{background:#fff;padding:7rem 0;}
@media(min-width:1024px){#about{padding:9rem 0;}}
.about-grid{display:grid;grid-template-columns:1fr;gap:3rem;}
@media(min-width:768px){.about-grid{gap:3.5rem;}}
@media(min-width:1024px){.about-grid{grid-template-columns:1fr 1.15fr;gap:5rem;align-items:start;}}
.about-h2{font-family:'Playfair Display',Georgia,serif;font-size:clamp(2.125rem,4vw,3rem);font-weight:500;line-height:1.05;color:var(--ink);margin:1.25rem 0;}
.about-h2 .ital{font-style:italic;color:var(--brand-blue);}
.about-p{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-size:1rem;line-height:1.75;color:var(--muted);margin-bottom:1rem;}
.btn-dark{
  display:inline-flex;align-items:center;gap:.5rem;
  background:var(--ink);color:#fff;
  font-family:'Plus Jakarta Sans',system-ui,sans-serif;
  font-size:.875rem;font-weight:600;
  padding:.75rem 1.5rem;border-radius:9999px;
  box-shadow:var(--shadow-md);margin-top:2.25rem;
  transition:background .2s;
}
.btn-dark:hover{background:var(--deep-blue);}
.btn-dark svg{width:16px;height:16px;transition:transform .2s;}
.btn-dark:hover svg{transform:translateX(4px);}
.cap-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;}
@media(max-width:479px){.cap-grid{grid-template-columns:1fr;}}
.cap-card{
  position:relative;overflow:hidden;border-radius:1rem;
  border:1px solid var(--border);background:#fff;
  padding:1.75rem;box-shadow:var(--shadow-md);
  transform-style:preserve-3d;
  transition:box-shadow .4s,transform .4s var(--ease-expo);
}
.cap-card:hover{box-shadow:var(--shadow-lg);}
.cap-bar{
  position:absolute;left:0;right:0;top:0;height:4px;
  background:linear-gradient(135deg,var(--brand-blue),var(--mid-blue));
  transform:translateX(-101%);transition:transform .6s var(--ease-expo);
  border-radius:1rem 1rem 0 0;
}
.cap-card:hover .cap-bar{transform:translateX(0);}
.cap-num{
  position:absolute;right:1.25rem;top:.75rem;
  font-family:'Playfair Display',Georgia,serif;font-size:4.5rem;font-weight:700;
  line-height:1;color:var(--pale-blue);pointer-events:none;
}
.cap-icon{
  position:relative;z-index:1;
  display:flex;align-items:center;justify-content:center;
  width:48px;height:48px;border-radius:.75rem;
  background:var(--pale-blue);color:var(--brand-blue);
  transition:transform .3s;margin-bottom:1.25rem;
}
.cap-card:hover .cap-icon{transform:scale(1.1) rotate(3deg);}
.cap-icon svg{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:2;}
.cap-title{position:relative;z-index:1;font-family:'Playfair Display',Georgia,serif;font-size:1.25rem;font-weight:600;color:var(--ink);margin-bottom:.75rem;}
.cap-body{position:relative;z-index:1;font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-size:.8125rem;line-height:1.7;color:var(--muted);}

/* ── STATS BAR ── */
#stats{background:linear-gradient(to bottom,var(--off-white),#fff);padding:5rem 0;}
@media(min-width:1024px){#stats{padding:6rem 0;}}
.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem;}
@media(min-width:1024px){.stats-grid{grid-template-columns:repeat(4,1fr);}}
.stat-card{
  position:relative;overflow:hidden;border-radius:1rem;
  border:1px solid var(--border);background:#fff;
  padding:1.75rem;box-shadow:var(--shadow-md);
  transform-style:preserve-3d;
  transition:box-shadow .3s,transform .4s var(--ease-expo);
}
.stat-card:hover{box-shadow:var(--shadow-glow);}
.stat-num{font-family:'Bebas Neue',Impact,sans-serif;font-size:clamp(3rem,5vw,4.5rem);letter-spacing:.02em;color:var(--ink);line-height:1;}
.stat-bar{width:3rem;height:3px;background:linear-gradient(135deg,var(--brand-blue),var(--mid-blue));margin:0.75rem 0;border-radius:2px;}
.stat-label{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-size:.8125rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);}

/* ── NETWORK ── */
#network{background:linear-gradient(to bottom,#fff,var(--off-white) 50%,#fff);padding:7rem 0;}
@media(min-width:1024px){#network{padding:9rem 0;}}
.network-header{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:3.5rem;}
@media(min-width:1024px){.network-header{flex-direction:row;align-items:flex-end;justify-content:space-between;}}
.network-h2{font-family:'Playfair Display',Georgia,serif;font-size:clamp(2.125rem,4vw,3rem);font-weight:500;line-height:1.05;color:var(--ink);margin-top:1.25rem;max-width:40rem;}
.network-h2 .ital{font-style:italic;color:var(--brand-blue);}
.network-sub{max-width:28rem;font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-size:.875rem;line-height:1.75;color:var(--muted);}
@media(min-width:1024px){.network-sub{text-align:right;}}
.entity-grid{display:grid;grid-template-columns:1fr;gap:1.5rem;}
@media(min-width:640px){.entity-grid{grid-template-columns:repeat(2,1fr);}}
@media(min-width:1024px){.entity-grid{grid-template-columns:repeat(3,1fr);}}
.entity-card{
  position:relative;overflow:hidden;border-radius:1.125rem;
  border:1px solid var(--border);background:#fff;
  padding:2rem;box-shadow:var(--shadow-md);
  display:flex;flex-direction:column;height:100%;
  transform-style:preserve-3d;
  transition:box-shadow .4s,transform .4s var(--ease-expo),border-color .3s;
}
.entity-card:hover{box-shadow:var(--shadow-lg);border-color:hsl(214 95% 85%);}
.entity-bar{
  position:absolute;left:0;right:0;top:0;height:4px;
  background:linear-gradient(135deg,var(--brand-blue),var(--mid-blue));
  transform:translateX(-101%);transition:transform .6s var(--ease-expo);
  border-radius:1.125rem 1.125rem 0 0;
}
.entity-card:hover .entity-bar{transform:translateX(0);}
.entity-bg-num{
  position:absolute;right:1.5rem;top:1rem;
  font-family:'Playfair Display',Georgia,serif;font-size:5rem;font-weight:700;
  line-height:1;color:var(--pale-blue);pointer-events:none;
}
.entity-badge-pill{
  display:inline-flex;align-items:center;
  border:1px solid var(--border);background:var(--off-white);
  border-radius:9999px;padding:.25rem .75rem;
  font-family:'Plus Jakarta Sans',system-ui,sans-serif;
  font-size:.625rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--deep-blue);
  margin-bottom:1.5rem;align-self:flex-start;
}
.entity-icon{
  display:flex;align-items:center;justify-content:center;
  width:48px;height:48px;border-radius:.75rem;
  background:var(--pale-blue);color:var(--brand-blue);
  transition:transform .3s;margin-bottom:1.25rem;
}
.entity-card:hover .entity-icon{transform:scale(1.1);}
.entity-icon svg{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:2;}
.entity-title{font-family:'Playfair Display',Georgia,serif;font-size:1.375rem;font-weight:600;line-height:1.25;color:var(--ink);margin-bottom:.75rem;}
.entity-body{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-size:.8125rem;line-height:1.8;color:var(--muted);flex:1;margin-bottom:1.75rem;}
.entity-cta{display:inline-flex;align-items:center;gap:.375rem;font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-size:.875rem;font-weight:600;color:var(--brand-blue);}
.entity-cta-text{border-bottom:1px solid hsla(221,83%,53%,.4);padding-bottom:2px;transition:border-color .2s;}
.entity-card:hover .entity-cta-text{border-color:var(--brand-blue);}
.entity-cta svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2;transition:transform .2s;}
.entity-card:hover .entity-cta svg{transform:translateX(2px) translateY(-2px);}
.coming-badge{
  display:inline-flex;align-items:center;gap:.5rem;
  font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-size:.875rem;font-weight:600;color:var(--brand-blue);
}
.coming-dot{
  display:inline-block;width:8px;height:8px;border-radius:9999px;
  background:var(--brand-blue);position:relative;
}
.coming-dot::after{
  content:'';position:absolute;inset:-4px;border-radius:9999px;
  background:var(--brand-blue);opacity:.5;
  animation:pulse-ring 2s var(--ease-quart) infinite;
}
.entity-link-overlay{position:absolute;inset:0;z-index:10;}
.entity-link{display:inline-flex;align-items:center;gap:.35rem;font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-size:.875rem;font-weight:600;color:var(--brand-blue);text-decoration:underline;text-underline-offset:3px;transition:color .2s,opacity .2s;margin-top:.75rem;}
.entity-link:hover{color:var(--deep-blue);opacity:.85;}
.entity-link svg{flex-shrink:0;}

/* ── PROCESS ── */
#process{background:var(--off-white);padding:7rem 0;}
@media(min-width:1024px){#process{padding:9rem 0;}}
.process-header{text-align:center;max-width:40rem;margin:0 auto 4rem;}
.process-h2{font-family:'Playfair Display',Georgia,serif;font-size:clamp(2.125rem,4vw,3rem);font-weight:500;line-height:1.05;color:var(--ink);margin-top:1.25rem;}
.process-h2 .ital{font-style:italic;color:var(--brand-blue);}
.process-steps{position:relative;display:grid;grid-template-columns:1fr;gap:3rem;}
@media(min-width:768px){.process-steps{grid-template-columns:repeat(2,1fr);gap:2rem;}}
@media(min-width:1024px){.process-steps{grid-template-columns:repeat(4,1fr);gap:1.5rem;}}
.connector-line{
  display:none;position:absolute;left:0;right:0;top:2.5rem;height:1px;
  background:linear-gradient(to right,transparent,hsla(221,83%,53%,.3),transparent);
}
@media(min-width:1024px){.connector-line{display:block;}}
.process-item{
  position:relative;z-index:1;
  display:flex;flex-direction:column;align-items:center;text-align:center;
}
.process-circle-wrap{position:relative;margin-bottom:1.5rem;}
.process-circle{
  display:flex;align-items:center;justify-content:center;
  width:80px;height:80px;border-radius:9999px;
  border:1px solid var(--border);background:#fff;
  box-shadow:var(--shadow-md);
  transition:transform .3s,border-color .3s,box-shadow .3s;
}
.process-item:hover .process-circle{transform:scale(1.1);border-color:var(--brand-blue);box-shadow:var(--shadow-glow);}
.process-circle svg{width:32px;height:32px;stroke:var(--brand-blue);fill:none;stroke-width:2;}
.process-step-num{
  position:absolute;top:-8px;right:-8px;
  width:28px;height:28px;border-radius:9999px;
  background:var(--ink);color:#fff;
  font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-size:.75rem;font-weight:700;
  display:flex;align-items:center;justify-content:center;
}
.process-title{font-family:'Playfair Display',Georgia,serif;font-size:1.25rem;font-weight:600;color:var(--ink);margin-bottom:.75rem;}
.process-body{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-size:.8125rem;line-height:1.75;color:var(--muted);max-width:16rem;}

/* ── STANDARDS ── */
#standards{position:relative;overflow:hidden;background:var(--navy);padding:7rem 0;}
@media(min-width:1024px){#standards{padding:9rem 0;}}
.std-radial{
  position:absolute;inset:0;opacity:.5;pointer-events:none;
  background:radial-gradient(ellipse 60% 50% at 50% 0%,hsla(221,83%,53%,.18),transparent 70%);
}
.std-dots{
  position:absolute;inset:0;opacity:.4;
  background-image:radial-gradient(circle,hsla(213,94%,68%,.18) 1px,transparent 1px);
  background-size:28px 28px;
  mask-image:radial-gradient(ellipse at center,black 40%,transparent 75%);
  -webkit-mask-image:radial-gradient(ellipse at center,black 40%,transparent 75%);
}
.std-header{text-align:center;max-width:40rem;margin:0 auto 4rem;position:relative;}
.std-h2{font-family:'Playfair Display',Georgia,serif;font-size:clamp(2.125rem,4vw,3rem);font-weight:500;line-height:1.05;color:#fff;margin-top:1.25rem;}
.std-h2 .ital{font-style:italic;color:var(--light-blue);}
.std-grid{position:relative;display:grid;grid-template-columns:1fr;gap:1.25rem;}
@media(min-width:640px){.std-grid{grid-template-columns:repeat(2,1fr);}}
@media(min-width:1024px){.std-grid{grid-template-columns:repeat(3,1fr);}}
.std-card{
  background:hsla(0,0%,100%,.06);
  backdrop-filter:blur(20px) saturate(160%);
  -webkit-backdrop-filter:blur(20px) saturate(160%);
  border:1px solid hsla(0,0%,100%,.12);
  border-radius:1rem;padding:1.5rem;
  display:flex;align-items:flex-start;gap:1rem;
  transition:border-color .3s,box-shadow .3s,transform .3s;
}
.std-card:hover{border-color:hsla(213,94%,68%,.4);box-shadow:var(--shadow-glow);transform:translateY(-3px);}
.std-icon{
  flex-shrink:0;display:flex;align-items:center;justify-content:center;
  width:44px;height:44px;border-radius:.625rem;
  background:hsla(221,83%,53%,.15);color:var(--light-blue);
  transition:transform .3s;
}
.std-card:hover .std-icon{transform:scale(1.1);}
.std-icon svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2;}
.std-title{font-family:'Playfair Display',Georgia,serif;font-size:1.125rem;font-weight:600;color:#fff;margin-bottom:.5rem;}
.std-body{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-size:.8125rem;line-height:1.75;color:rgba(255,255,255,.7);}

/* ── MISSION ── */
#mission{background:#fff;padding:7rem 0;}
@media(min-width:1024px){#mission{padding:9rem 0;}}
.mission-grid{display:grid;grid-template-columns:1fr;gap:4rem;}
@media(min-width:1024px){.mission-grid{grid-template-columns:1fr 1fr;gap:5rem;align-items:start;}}
.mission-h2{font-family:'Playfair Display',Georgia,serif;font-size:clamp(2.125rem,4vw,3rem);font-weight:500;line-height:1.05;color:var(--ink);margin:1.25rem 0;}
.mission-h2 .ital{font-style:italic;color:var(--brand-blue);}
.mission-p{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-size:1rem;line-height:1.75;color:var(--muted);margin-bottom:1rem;}
.pillar-list{margin-top:2.5rem;}
.pillar-item{
  display:flex;align-items:center;gap:1.25rem;
  border-top:1px solid var(--border);padding:1rem 0;
  transition:border-color .2s,padding-left .2s;cursor:default;
}
.pillar-item:hover{border-top-color:var(--brand-blue);padding-left:.25rem;}
.pillar-num{font-family:'Bebas Neue',Impact,sans-serif;font-size:1.5rem;letter-spacing:.02em;color:var(--pale-blue);flex-shrink:0;transition:color .2s;}
.pillar-item:hover .pillar-num{color:var(--brand-blue);}
.pillar-title{font-family:'Playfair Display',Georgia,serif;font-size:1.25rem;font-weight:500;color:var(--ink);transition:transform .2s;}
.pillar-item:hover .pillar-title{transform:translateX(4px);}

/* Mission card */
.mission-card{
  position:relative;overflow:hidden;border-radius:1.5rem;
  background:linear-gradient(140deg,hsl(218 60% 10%) 0%,hsl(224 66% 18%) 60%,hsl(224 66% 33%) 100%);
  padding:2.25rem;box-shadow:var(--shadow-deep);
}
.mc-glow1{
  pointer-events:none;position:absolute;right:-5rem;top:-5rem;
  width:18rem;height:18rem;border-radius:9999px;
  background:radial-gradient(circle,hsla(217,91%,60%,.35),transparent 70%);
}
.mc-glow2{
  pointer-events:none;position:absolute;left:-5rem;bottom:-5rem;
  width:18rem;height:18rem;border-radius:9999px;
  background:radial-gradient(circle,hsla(224,66%,33%,.4),transparent 70%);
}
.mc-inner{position:relative;}
.mc-tag{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-size:.625rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--light-blue);margin-bottom:1.25rem;}
.mc-quote{font-family:'Playfair Display',Georgia,serif;font-size:clamp(1.75rem,3vw,2.25rem);font-style:italic;line-height:1.3;color:#fff;margin-bottom:2.5rem;}
.mc-metric{display:flex;align-items:center;gap:1.25rem;border-top:1px solid rgba(255,255,255,.1);padding-top:1.25rem;margin-top:0;}
.mc-icon{
  flex-shrink:0;display:flex;align-items:center;justify-content:center;
  width:44px;height:44px;border-radius:.625rem;
  background:rgba(255,255,255,.1);color:var(--light-blue);
}
.mc-icon svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2;}
.mc-num{font-family:'Bebas Neue',Impact,sans-serif;font-size:1.75rem;letter-spacing:.02em;color:#fff;line-height:1;}
.mc-desc{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-size:.875rem;color:rgba(255,255,255,.7);}

/* ── CTA BAND ── */
#cta{position:relative;overflow:hidden;padding:7rem 0;}
@media(min-width:1024px){#cta{padding:9rem 0;}}
.cta-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.cta-overlay{
  position:absolute;inset:0;
  background:linear-gradient(135deg,hsla(218,60%,10%,.92) 0%,hsla(224,66%,33%,.88) 100%);
}
.cta-dots{
  position:absolute;inset:0;opacity:.4;
  background-image:radial-gradient(circle,hsla(213,94%,68%,.18) 1px,transparent 1px);
  background-size:28px 28px;
  mask-image:radial-gradient(ellipse at center,black 40%,transparent 75%);
  -webkit-mask-image:radial-gradient(ellipse at center,black 40%,transparent 75%);
}
.cta-inner{position:relative;z-index:1;max-width:72rem;margin:0 auto;padding:0 clamp(1.5rem,4vw,3rem);}
.cta-layout{
  display:grid;
  grid-template-columns:1fr;
  gap:2rem;
  align-items:start;
}
@media(min-width:1024px){
  .cta-layout{
    grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);
    gap:3rem;
    align-items:center;
  }
}
.cta-copy{text-align:left;}
.cta-h2{font-family:'Playfair Display',Georgia,serif;font-size:clamp(2.25rem,5vw,3.75rem);font-weight:500;line-height:1.05;color:#fff;margin:1.5rem 0;}
.cta-h2 .ital{font-style:italic;color:var(--light-blue);}
.cta-p{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-size:1rem;line-height:1.75;color:rgba(255,255,255,.8);margin-bottom:2.5rem;max-width:36rem;}
.cta-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:1rem;}
.btn-cta-primary{
  display:inline-flex;align-items:center;gap:.5rem;
  background:#fff;color:var(--ink);
  font-family:'Plus Jakarta Sans',system-ui,sans-serif;
  font-size:.875rem;font-weight:600;
  padding:.875rem 1.75rem;border-radius:9999px;
  box-shadow:var(--shadow-lg);transition:background .2s,box-shadow .2s;
}
.btn-cta-primary:hover{background:var(--pale-blue);}
.btn-cta-ghost{
  display:inline-flex;align-items:center;gap:.5rem;
  border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.05);
  backdrop-filter:blur(12px);color:#fff;
  font-family:'Plus Jakarta Sans',system-ui,sans-serif;
  font-size:.875rem;font-weight:600;
  padding:.875rem 1.75rem;border-radius:9999px;
  transition:border-color .2s,background .2s;
}
.btn-cta-ghost:hover{border-color:rgba(255,255,255,.6);background:rgba(255,255,255,.1);}
.cta-note{margin-top:2rem;font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.55);}

/* ── CONTACT FORM STYLES ── */
.contact-card {
  background: hsla(0, 0%, 100%, 0.08);
  backdrop-filter: blur(20px) saturate(160%);
  -webkit-backdrop-filter: blur(20px) saturate(160%);
  border: 1px solid hsla(0, 0%, 100%, 0.15);
  border-radius: 1.5rem;
  padding: clamp(1.5rem, 5vw, 3rem);
  box-shadow: var(--shadow-deep);
  max-width: 800px;
  margin: 0;
  text-align: left;
}
.form-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
}
@media (min-width: 640px) {
  .form-grid {
    grid-template-columns: 1fr 1fr;
  }
  .form-group.full-width {
    grid-column: span 2;
  }
}
.form-group {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.form-label {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: rgba(255, 255, 255, 0.7);
}
.form-input, .form-textarea {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 0.75rem;
  padding: 0.875rem 1.25rem;
  color: #fff;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 1rem;
  transition: all 0.3s var(--ease-quart);
}
.form-input:focus, .form-textarea:focus {
  outline: none;
  background: rgba(255, 255, 255, 0.08);
  border-color: var(--light-blue);
  box-shadow: 0 0 0 4px rgba(100, 181, 246, 0.15);
}
.form-input::placeholder, .form-textarea::placeholder {
  color: rgba(255, 255, 255, 0.3);
}
.form-textarea {
  min-height: 140px;
  resize: vertical;
}
.form-submit {
  border: none;
  cursor: pointer;
}
.form-status {
  margin-top: 1rem;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 0.875rem;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.85);
  min-height: 1.5em;
}
.form-status.success { color: #a5f3c8; }
.form-status.error { color: #fecaca; }

/* ── FOOTER ── */
footer{position:relative;overflow:hidden;background:var(--navy);color:#fff;}
.footer-dots{
  position:absolute;inset:0;opacity:.25;
  background-image:radial-gradient(circle,hsla(213,94%,68%,.18) 1px,transparent 1px);
  background-size:28px 28px;
  mask-image:radial-gradient(ellipse at center,black 40%,transparent 75%);
  -webkit-mask-image:radial-gradient(ellipse at center,black 40%,transparent 75%);
}
.footer-inner{position:relative;z-index:1;padding:5rem clamp(1.5rem,4vw,3rem) 0;max-width:var(--content);margin:0 auto;}
.footer-grid{display:grid;grid-template-columns:1fr;gap:3rem;margin-bottom:4rem;}
@media(min-width:1024px){.footer-grid{grid-template-columns:2fr 1fr 1fr;gap:5rem;}}
.footer-logo-wrap{display:inline-flex;align-items:center;border-radius:.75rem;background:#fff;padding:.5rem;margin-bottom:1.5rem;}
.footer-logo-wrap img{height:52px;width:auto;object-fit:contain;border-radius:.25rem;}
.footer-tagline{font-family:'Playfair Display',Georgia,serif;font-style:italic;font-size:1.25rem;color:var(--light-blue);margin-bottom:1rem;}
.footer-desc{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-size:.875rem;line-height:1.75;color:rgba(255,255,255,.65);max-width:22rem;}
.footer-col-label{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-size:.6875rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--light-blue);margin-bottom:1.5rem;}
.footer-links{list-style:none;display:flex;flex-direction:column;gap:.75rem;}
.footer-links a{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-size:.875rem;color:rgba(255,255,255,.8);transition:color .2s;}
.footer-links a:hover{color:var(--light-blue);}
.footer-links .dim{color:rgba(255,255,255,.55);}
.footer-links .dim em{color:hsla(213,94%,68%,.8);font-style:normal;}
.footer-contact{list-style:none;display:flex;flex-direction:column;gap:1rem;}
.footer-contact li{display:flex;align-items:flex-start;gap:.75rem;}
.footer-contact svg{width:16px;height:16px;stroke:var(--light-blue);fill:none;stroke-width:2;margin-top:2px;flex-shrink:0;}
.footer-contact-label{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-size:.75rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.55);margin-bottom:.25rem;}
.footer-contact a,.footer-contact p{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-size:.875rem;color:rgba(255,255,255,.9);transition:color .2s;}
.footer-contact a:hover{color:var(--light-blue);}
.footer-base{border-top:1px solid rgba(255,255,255,.1);padding:2rem 0;display:flex;flex-direction:column;gap:1rem;align-items:flex-start;justify-content:space-between;}
@media(min-width:640px){.footer-base{flex-direction:row;align-items:center;}}
.footer-copy{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-size:.75rem;color:rgba(255,255,255,.55);}
.footer-sign{display:flex;align-items:center;gap:.75rem;}
.footer-sign-rule{width:2.5rem;height:1px;background:var(--brand-blue);}
.footer-sign-text{font-family:'Playfair Display',Georgia,serif;font-style:italic;font-size:.875rem;color:var(--light-blue);}

/* ── ANIMATIONS ── */
@keyframes fade-in-up{
  from{opacity:0;transform:translateY(24px);}
  to{opacity:1;transform:translateY(0);}
}
@keyframes marquee{
  from{transform:translateX(0);}
  to{transform:translateX(-50%);}
}
@keyframes orbit-spin{
  from{transform:translateY(-50%) rotate(0deg);}
  to{transform:translateY(-50%) rotate(360deg);}
}
@keyframes float-y{
  0%,100%{transform:translateY(0);}
  50%{transform:translateY(-12px);}
}
@keyframes particle-up{
  0%{transform:translateY(0) translateX(0);opacity:0;}
  10%{opacity:0.8;}
  100%{transform:translateY(-100vh) translateX(20px);opacity:0;}
}
@keyframes ping{
  75%,100%{transform:scale(2);opacity:0;}
}
@keyframes pulse-ring{
  0%{transform:scale(.95);opacity:.55;}
  70%{transform:scale(1.7);opacity:0;}
  100%{transform:scale(1.7);opacity:0;}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;scroll-behavior:auto !important;}
  .reveal{opacity:1 !important;transform:none !important;}
}

/* ── BACK TO TOP ── */
#btt{
  position:fixed;bottom:1.75rem;right:1.75rem;z-index:200;
  width:44px;height:44px;border-radius:9999px;
  background:var(--brand-blue);color:#fff;
  display:flex;align-items:center;justify-content:center;
  box-shadow:var(--shadow-glow);
  opacity:0;pointer-events:none;
  transition:opacity .3s,transform .3s;
  transform:translateY(8px);
  border:none;cursor:pointer;
}
#btt.visible{opacity:1;pointer-events:auto;transform:translateY(0);}
#btt:hover{background:var(--deep-blue);}
#btt svg{width:18px;height:18px;stroke:#fff;fill:none;stroke-width:2.5;}
