/* ================================================
   NIPCA — Premium Design System
   ================================================ */

@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700;800&family=Inter:wght@400;500;600&display=swap');

:root {
  /* Brand */
  --teal:          #00BFA5;
  --teal-vivid:    #00E5C9;
  --teal-dark:     #00897B;
  --teal-darker:   #006355;
  --teal-glass:    rgba(0,191,165,.12);
  --teal-light:    #E0F7F4;
  --teal-mid:      #B2EDE7;

  /* Neutrals */
  --navy:          #0D1F2D;
  --charcoal:      #1A2E3B;
  --body:          #4d5765;
  --muted:         #7A9AAD;
  --border:        #E1EBF0;
  --surface:       #F4F9F8;
  --white:         #FFFFFF;

  /* Gradients */
  --grad-teal:      linear-gradient(135deg, #006355 0%, #00897B 45%, #00BFA5 100%);
  --grad-vivid:     linear-gradient(135deg, #00897B 0%, #00BFA5 60%, #00E5C9 100%);
  --grad-dark:      linear-gradient(135deg, #0D1F2D 0%, #0A3040 60%, #005548 100%);
  --grad-glass:     linear-gradient(135deg, rgba(255,255,255,.15) 0%, rgba(255,255,255,.05) 100%);

  /* Shadows */
  --shadow-xs:   0 1px 2px rgba(0,0,0,.06);
  --shadow-sm:   0 2px 8px rgba(0,0,0,.08);
  --shadow-md:   0 8px 24px rgba(0,0,0,.10);
  --shadow-lg:   0 20px 60px rgba(0,0,0,.14);
  --shadow-teal: 0 8px 32px rgba(0,191,165,.35);
  --shadow-glow: 0 0 40px rgba(0,229,201,.25);

  /* Sizing */
  --max-w:    1240px;
  --radius:   14px;
  --radius-lg: 22px;
  --radius-xl: 32px;
  --nav-h:    140px;

  /* Transitions */
  --ease:     cubic-bezier(.4,0,.2,1);
  --spring:   cubic-bezier(.34,1.56,.64,1);
  --t:        .25s var(--ease);
  --t-slow:   .5s var(--ease);
}

/* ── Reset ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px;-webkit-font-smoothing:antialiased}
body{font-family:'Poppins',system-ui,sans-serif;color:var(--body);background:var(--white);line-height:1.6;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
ul{list-style:none}
button{cursor:pointer;font-family:inherit;border:none;background:none}

/* ── Type ── */
h1,h2,h3,h4,h5{font-family:'Poppins',sans-serif;line-height:1.2;color:var(--charcoal);letter-spacing:-.02em}
h1{font-size:clamp(2.4rem,5.5vw,4rem);font-weight:800}
h2{font-size:clamp(1.8rem,3.5vw,2.8rem);font-weight:700}
h3{font-size:clamp(1.1rem,2vw,1.35rem);font-weight:700}
p{color:var(--body);text-align:justify}
.grad-text{background:var(--grad-vivid);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}

/* ── Layout ── */
.container{max-width:var(--max-w);margin:0 auto;padding:0 28px}
.section{padding:64px 0}
.section--surface{background:var(--surface)}
.section--dark{background:var(--grad-dark);position:relative;overflow:hidden}

.section-label{display:inline-flex;align-items:center;gap:8px;font-family:'Poppins',sans-serif;font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--teal-dark);background:var(--teal-light);padding:6px 14px;border-radius:99px;margin-bottom:14px}
.section-label::before{display:none}
.section-title{margin-bottom:16px}
.section-sub{font-size:1.1rem;color:#4d5765;max-width:580px;line-height:1.75}
.text-center{text-align:center}
.text-center .section-sub{margin:0 auto}

.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:32px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}

/* ================================================================
   NAVBAR — Top Notch
   ================================================================ */
.navbar{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  transition:background .4s var(--ease),box-shadow .4s var(--ease);
}

.navbar--glass{
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(24px) saturate(180%);
  -webkit-backdrop-filter:blur(24px) saturate(180%);
  box-shadow:0 1px 0 rgba(0,0,0,.07), 0 8px 32px rgba(0,0,0,.06);
}

.navbar__inner{
  display:flex;align-items:center;gap:0;
  height:var(--nav-h);max-width:var(--max-w);margin:0 auto;padding:0 32px;
}

/* Logo */
.navbar__logo{
  display:flex;align-items:center;flex-shrink:0;
  margin-right:40px;
}
.navbar__logo img{
  height:130px;width:auto;
  transition:transform .3s var(--spring);
}
.navbar__logo:hover img{transform:scale(1.03)}

/* Nav links */
.navbar__links{
  display:flex;align-items:center;gap:2px;
  flex:1;
}

.navbar__link{
  position:relative;
  padding:9px 15px;
  font-size:.875rem;
  font-weight:500;
  font-family:'Poppins',sans-serif;
  color:var(--body);
  border-radius:10px;
  letter-spacing:.01em;
  transition:color .2s var(--ease),background .2s var(--ease);
}

/* Underline slide-in on hover */
.navbar__link::after{
  content:'';
  position:absolute;
  bottom:4px;left:15px;right:15px;
  height:2px;
  border-radius:2px;
  background:var(--grad-vivid);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .25s var(--spring);
}

.navbar__link:hover{
  color:var(--teal-dark);
  background:var(--teal-light);
}

.navbar__link:hover::after{
  transform:scaleX(1);
}

/* Active: solid teal pill */
.navbar__link.active{
  color:#fff;
  background:var(--grad-vivid);
  font-weight:600;
}

.navbar__link.active::after{
  display:none;
}

/* Right side */
.navbar__right{
  display:flex;align-items:center;gap:12px;margin-left:auto;
}

/* CTA button */
.navbar__cta{
  display:inline-flex;align-items:center;gap:8px;
  padding:11px 24px;
  background:var(--navy);
  color:#fff!important;
  font-family:'Poppins',sans-serif;font-weight:700;font-size:.875rem;
  border-radius:12px;
  letter-spacing:.01em;
  transition:background .25s var(--ease),transform .25s var(--spring),box-shadow .25s var(--ease);
  position:relative;overflow:hidden;
  white-space:nowrap;
}

.navbar__cta::before{
  content:'';
  position:absolute;inset:0;
  background:var(--grad-vivid);
  opacity:0;
  transition:opacity .3s var(--ease);
}

.navbar__cta:hover::before{opacity:1}
.navbar__cta:hover{
  transform:translateY(-2px);
  box-shadow:0 8px 24px rgba(0,137,123,.35);
}

.navbar__cta span{
  position:relative;z-index:1;
}

/* Hamburger */
.navbar__hamburger{
  display:none;
  flex-direction:column;justify-content:center;gap:5px;
  width:44px;height:44px;padding:10px;
  border-radius:12px;
  border:1px solid var(--border);
  background:#fff;
  transition:background .2s,border-color .2s;
}
.navbar__hamburger:hover{background:var(--surface);border-color:var(--teal-mid)}
.navbar__hamburger span{
  display:block;width:20px;height:2px;border-radius:2px;
  background:var(--charcoal);
  transition:transform .25s var(--ease),opacity .2s,width .2s;
}
.navbar__hamburger span:nth-child(2){width:14px}
.navbar__hamburger:hover span:nth-child(2){width:20px}
.navbar__hamburger.open span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
.navbar__hamburger.open span:nth-child(2){opacity:0;transform:scaleX(0)}
.navbar__hamburger.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}

/* ── Mobile overlay menu ── */
.mobile-overlay{
  position:fixed;inset:0;z-index:999;
  background:linear-gradient(160deg,#08151c 0%,#0d2130 50%,#0b3530 100%);
  backdrop-filter:blur(16px);
  display:flex;flex-direction:column;justify-content:center;align-items:center;
  opacity:0;pointer-events:none;
  transition:opacity .3s var(--ease);
}
.mobile-overlay.open{opacity:1;pointer-events:all}

.mobile-overlay__links{
  display:flex;flex-direction:column;align-items:center;gap:2px;
  margin-bottom:40px;
}
.mobile-overlay__link{
  font-family:'Poppins',sans-serif;font-size:1.9rem;font-weight:700;
  color:rgba(255,255,255,.6);
  padding:10px 32px;border-radius:14px;
  letter-spacing:-.02em;
  transform:translateY(24px);opacity:0;
  transition:color .2s,background .2s,transform .4s var(--spring),opacity .35s var(--ease);
}
.mobile-overlay.open .mobile-overlay__link{transform:translateY(0);opacity:1}
.mobile-overlay.open .mobile-overlay__link:nth-child(1){transition-delay:.05s}
.mobile-overlay.open .mobile-overlay__link:nth-child(2){transition-delay:.09s}
.mobile-overlay.open .mobile-overlay__link:nth-child(3){transition-delay:.13s}
.mobile-overlay.open .mobile-overlay__link:nth-child(4){transition-delay:.17s}
.mobile-overlay.open .mobile-overlay__link:nth-child(5){transition-delay:.21s}
.mobile-overlay.open .mobile-overlay__link:nth-child(6){transition-delay:.25s}
.mobile-overlay__link:hover{color:#fff;background:rgba(255,255,255,.07)}
.mobile-overlay__link.active{
  color:var(--teal-vivid);
  background:rgba(0,229,201,.08);
}

.mobile-overlay__cta{
  padding:16px 48px;
  background:var(--grad-vivid);
  color:var(--navy)!important;
  font-family:'Poppins',sans-serif;font-weight:700;font-size:1rem;
  border-radius:14px;
  transform:translateY(24px);opacity:0;
  transition:transform .4s var(--spring) .28s,opacity .35s var(--ease) .28s,box-shadow .2s;
}
.mobile-overlay.open .mobile-overlay__cta{transform:translateY(0);opacity:1}
.mobile-overlay__cta:hover{box-shadow:var(--shadow-teal)}

.mobile-overlay__close{
  position:absolute;top:24px;right:24px;
  width:44px;height:44px;border-radius:12px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
  display:flex;align-items:center;justify-content:center;
  color:rgba(255,255,255,.7);
  transition:background .2s,color .2s;
}
.mobile-overlay__close:hover{background:rgba(255,255,255,.15);color:#fff}
.mobile-overlay__close svg{pointer-events:none}

.mobile-overlay__social{
  position:absolute;bottom:36px;
  display:flex;gap:10px;
  opacity:0;transform:translateY(12px);
  transition:opacity .4s .32s,transform .4s var(--spring) .32s;
}
.mobile-overlay.open .mobile-overlay__social{opacity:1;transform:translateY(0)}
.mob-social{
  width:42px;height:42px;border-radius:12px;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.1);
  display:flex;align-items:center;justify-content:center;
  color:rgba(255,255,255,.6);
  transition:background .2s,color .2s,border-color .2s;
}
.mob-social svg{width:16px;height:16px;fill:currentColor}
.mob-social:hover{background:var(--teal);color:#fff;border-color:var(--teal)}

/* ================================================================
   HERO CAROUSEL
   ================================================================ */
.carousel{
  position:relative;height:68vh;min-height:520px;max-height:760px;overflow:hidden;
  background:var(--navy);
}
/* Hero variant (used as page hero) */
.carousel--hero{
  height:78vh;min-height:580px;max-height:900px;
}
/* Background mesh pattern */
.carousel::before{
  content:'';position:absolute;inset:0;z-index:0;
  background-image:
    radial-gradient(rgba(0,229,201,.07) 1px, transparent 1px),
    radial-gradient(rgba(0,191,165,.05) 1px, transparent 1px);
  background-size:40px 40px,70px 70px;
  background-position:0 0,20px 20px;
}

/* Slides */
.carousel__slide{
  position:absolute;inset:0;z-index:1;
  display:flex;align-items:center;
  opacity:0;transform:translateX(60px);
  transition:opacity .75s var(--ease),transform .75s var(--ease);
  pointer-events:none;
}
.carousel__slide.active{
  opacity:1;transform:translateX(0);
  pointer-events:auto;
}
.carousel__slide.exit{
  opacity:0;transform:translateX(-60px);
}

/* Per-slide photo backgrounds — nth-child offset by 1 due to .carousel__viruses being first child */
.carousel__slide:nth-child(2){
  background:
    linear-gradient(140deg,rgba(0,50,42,.30) 0%,rgba(0,80,68,.22) 50%,rgba(0,137,123,.15) 100%),
    url('../assets/slides/slider1.webp') center/cover no-repeat;
}
.carousel__slide:nth-child(3){
  background:
    linear-gradient(140deg,rgba(13,31,45,.32) 0%,rgba(0,50,70,.24) 50%,rgba(0,80,69,.16) 100%),
    url('../assets/slides/slider2.webp') center/cover no-repeat;
}
.carousel__slide:nth-child(4){
  background:
    linear-gradient(140deg,rgba(0,61,53,.30) 0%,rgba(0,100,88,.22) 50%,rgba(0,137,123,.15) 100%),
    url('../assets/slides/slider3.webp') center/cover no-repeat;
}

/* Decorative blobs per slide */
.carousel__blob{
  position:absolute;border-radius:50%;filter:blur(80px);pointer-events:none;z-index:0;
  animation:blob-pulse 8s ease-in-out infinite;
}
.carousel__blob--a{
  width:600px;height:600px;right:-150px;top:-150px;
  background:radial-gradient(circle,rgba(0,229,201,.18),transparent 70%);
}
.carousel__blob--b{
  width:400px;height:400px;left:-100px;bottom:-100px;
  background:radial-gradient(circle,rgba(0,191,165,.15),transparent 70%);
  animation-delay:-4s;
}
@keyframes blob-pulse{
  0%,100%{transform:scale(1) translate(0,0)}
  33%{transform:scale(1.1) translate(20px,-15px)}
  66%{transform:scale(.9) translate(-15px,20px)}
}

/* ── Virus particle decorations ── */
.carousel__viruses{
  position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden;
}
.carousel__virus{
  position:absolute;color:rgba(255,255,255,.09);
}
.carousel__virus--tl{
  width:240px;height:240px;top:-70px;left:-70px;
  animation:virus-float-tl 18s ease-in-out infinite;
}
.carousel__virus--tr{
  width:190px;height:190px;top:-55px;right:-55px;
  animation:virus-float-tr 22s ease-in-out infinite;
  animation-delay:-6s;
}
.carousel__virus--bl{
  width:170px;height:170px;bottom:-50px;left:-45px;
  animation:virus-float-bl 20s ease-in-out infinite;
  animation-delay:-10s;
}
.carousel__virus--br{
  width:220px;height:220px;bottom:-65px;right:-60px;
  animation:virus-float-br 24s ease-in-out infinite;
  animation-delay:-4s;
}
.carousel__virus--ml{
  width:110px;height:110px;top:calc(50% - 55px);left:-28px;
  color:rgba(255,255,255,.05);
  animation:virus-float-ml 26s ease-in-out infinite;
  animation-delay:-14s;
}
@keyframes virus-float-tl{
  0%  {transform:rotate(0deg)   translate(0px, 0px)}
  25% {transform:rotate(45deg)  translate(10px,-8px)}
  50% {transform:rotate(90deg)  translate(4px,-14px)}
  75% {transform:rotate(135deg) translate(-6px,-6px)}
  100%{transform:rotate(180deg) translate(0px, 0px)}
}
@keyframes virus-float-tr{
  0%  {transform:rotate(0deg)    translate(0px, 0px)}
  25% {transform:rotate(-40deg)  translate(-10px, 8px)}
  50% {transform:rotate(-80deg)  translate(-4px, 14px)}
  75% {transform:rotate(-120deg) translate(8px, 8px)}
  100%{transform:rotate(-160deg) translate(0px, 0px)}
}
@keyframes virus-float-bl{
  0%  {transform:rotate(0deg)   translate(0px, 0px)}
  33% {transform:rotate(55deg)  translate(8px,-10px)}
  66% {transform:rotate(110deg) translate(12px, 4px)}
  100%{transform:rotate(165deg) translate(0px, 0px)}
}
@keyframes virus-float-br{
  0%  {transform:rotate(0deg)    translate(0px, 0px)}
  30% {transform:rotate(-50deg)  translate(-8px, 10px)}
  60% {transform:rotate(-100deg) translate(-14px, 2px)}
  100%{transform:rotate(-150deg) translate(0px, 0px)}
}
@keyframes virus-float-ml{
  0%  {transform:rotate(0deg)   translateY(0px)}
  50% {transform:rotate(120deg) translateY(-18px)}
  100%{transform:rotate(240deg) translateY(0px)}
}

/* Slide inner layout */
.carousel__inner{
  position:relative;z-index:3;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;
  max-width:820px;margin:0 auto;padding:calc(var(--nav-h) + 72px) 28px 100px;
  width:100%;
}
.carousel__content{color:#fff;width:100%}
.carousel__text{margin-left:auto;margin-right:auto}
.carousel__actions{justify-content:center}
.carousel__eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);
  border-radius:99px;padding:6px 14px;margin-bottom:14px;
  font-family:'Poppins',sans-serif;font-size:.82rem;font-weight:600;
  color:rgba(255,255,255,.9);backdrop-filter:blur(8px);
  opacity:0;transform:translateY(12px);
  transition:opacity .5s var(--ease) .1s,transform .5s var(--spring) .1s;
}
.carousel__slide.active .carousel__eyebrow{opacity:1;transform:translateY(0)}
.carousel__eyebrow-dot{width:7px;height:7px;border-radius:50%;background:var(--teal-vivid);animation:eyebrow-pulse 2s infinite}
@keyframes eyebrow-pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.4)}}

.carousel__title{
  font-family:'Poppins',sans-serif;font-size:clamp(2.2rem,4.5vw,3.8rem);
  font-weight:800;color:#fff;line-height:1.1;letter-spacing:-.03em;margin-bottom:16px;
  opacity:0;transform:translateY(16px);
  transition:opacity .55s var(--ease) .2s,transform .55s var(--spring) .2s;
}
.carousel__slide.active .carousel__title{opacity:1;transform:translateY(0)}
.carousel__title .accent{
  background:linear-gradient(135deg,#7FFFD4,var(--teal-vivid));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}

.carousel__text{
  font-size:1rem;color:rgba(255,255,255,.8);line-height:1.7;max-width:480px;margin-bottom:24px;
  opacity:0;transform:translateY(14px);
  transition:opacity .55s var(--ease) .32s,transform .55s var(--spring) .32s;
}
.carousel__slide.active .carousel__text{opacity:1;transform:translateY(0)}

.carousel__actions{
  display:flex;gap:14px;flex-wrap:wrap;
  opacity:0;transform:translateY(12px);
  transition:opacity .55s var(--ease) .42s,transform .55s var(--spring) .42s;
}
.carousel__slide.active .carousel__actions{opacity:1;transform:translateY(0)}

.carousel__stats{
  display:flex;gap:36px;margin-top:36px;padding-top:28px;
  border-top:1px solid rgba(255,255,255,.15);
  opacity:0;transition:opacity .55s var(--ease) .52s;
}
.carousel__slide.active .carousel__stats{opacity:1}
.cstat-num{
  font-family:'Poppins',sans-serif;font-size:1.7rem;font-weight:800;
  color:#fff;display:block;line-height:1;
}
.cstat-lbl{font-size:.75rem;color:rgba(255,255,255,.6);text-transform:uppercase;letter-spacing:.1em;font-weight:600;margin-top:4px;display:block}

/* Visual panel */
.carousel__visual{
  display:flex;justify-content:center;align-items:center;
  opacity:0;transform:translateX(30px) scale(.96);
  transition:opacity .65s var(--ease) .15s,transform .65s var(--spring) .15s;
}
.carousel__slide.active .carousel__visual{opacity:1;transform:translateX(0) scale(1)}

/* Glass card in visual */
.glass-card{
  background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.18);
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  border-radius:var(--radius-lg);padding:32px;color:#fff;width:100%;max-width:400px;
}
.glass-card__title{font-family:'Poppins',sans-serif;font-size:1rem;font-weight:700;margin-bottom:20px;color:#fff}
.glass-card__list{display:flex;flex-direction:column;gap:12px}
.glass-item{display:flex;align-items:center;gap:14px;font-size:.9rem;color:rgba(255,255,255,.85)}
.glass-item__icon{
  width:36px;height:36px;border-radius:9px;background:rgba(0,229,201,.18);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.glass-item__icon svg{width:18px;height:18px;stroke:rgba(255,255,255,.9);stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round}
.glass-badge__icon{width:22px;height:22px;display:flex;align-items:center;justify-content:center}
.glass-badge__icon svg{width:18px;height:18px;stroke:var(--charcoal);stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round}
.glass-badge{
  position:absolute;background:#fff;border-radius:var(--radius);padding:12px 18px;
  box-shadow:var(--shadow-lg);display:flex;align-items:center;gap:10px;
  font-family:'Poppins',sans-serif;font-size:.8rem;font-weight:700;color:var(--charcoal);white-space:nowrap;
}
.glass-badge--tl{top:-20px;right:-20px;animation:float-up 4s ease-in-out infinite}
.glass-badge--bl{bottom:-20px;left:-20px;animation:float-down 5s ease-in-out infinite}
.glass-badge__dot{width:8px;height:8px;border-radius:50%;background:var(--teal);flex-shrink:0}
@keyframes float-up{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes float-down{0%,100%{transform:translateY(0)}50%{transform:translateY(8px)}}
.glass-badge__icon{font-size:1.1rem}

/* Carousel controls */
.carousel__controls{
  position:absolute;bottom:18px;left:50%;transform:translateX(-50%);
  z-index:10;display:flex;align-items:center;gap:20px;
}
.carousel__dots{display:flex;gap:8px;align-items:center}
.carousel__dot{
  width:8px;height:8px;border-radius:99px;background:rgba(255,255,255,.35);
  transition:width .35s var(--spring),background .35s var(--ease);cursor:pointer;border:none;
}
.carousel__dot.active{width:28px;background:var(--teal-vivid)}

.carousel__arrow{
  width:44px;height:44px;border-radius:50%;
  background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);
  display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.1rem;
  transition:background var(--t),transform var(--t);cursor:pointer;
}
.carousel__arrow:hover{background:rgba(255,255,255,.25);transform:scale(1.1)}

/* Progress bar */
.carousel__progress{
  position:absolute;bottom:0;left:0;right:0;height:3px;background:rgba(255,255,255,.12);z-index:10;
}
.carousel__progress-fill{
  height:100%;background:var(--grad-vivid);width:0%;
  transition:width linear;
}

/* Slide counter */
.carousel__counter{
  position:absolute;top:calc(var(--nav-h) + 12px);right:28px;z-index:10;
  font-family:'Poppins',sans-serif;font-size:.78rem;font-weight:700;
  color:rgba(255,255,255,.5);letter-spacing:.1em;
}
.carousel__counter span{color:rgba(255,255,255,.9)}

/* Scroll cue */
.carousel__scroll-cue{
  position:absolute;bottom:28px;right:40px;z-index:10;
  display:flex;flex-direction:column;align-items:center;gap:8px;
  color:rgba(255,255,255,.45);font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;
  animation:float-up 3s ease-in-out infinite;
}
.scroll-cue-line{width:1px;height:48px;background:linear-gradient(to bottom,transparent,rgba(255,255,255,.4))}

/* ================================================================
   STATS BAR
   ================================================================ */
.stats-bar{
  background:var(--charcoal);padding:0;overflow:hidden;
}
.stats-bar__inner{
  display:flex;justify-content:space-around;align-items:stretch;
  max-width:var(--max-w);margin:0 auto;
}
.stat-block{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:24px 20px;flex:1;position:relative;cursor:default;
  transition:background var(--t);
}
.stat-block::after{
  content:'';position:absolute;right:0;top:20%;bottom:20%;
  width:1px;background:rgba(255,255,255,.1);
}
.stat-block:last-child::after{display:none}
.stat-block:hover{background:rgba(255,255,255,.04)}
.stat-block__num{
  font-family:'Poppins',sans-serif;font-size:2.4rem;font-weight:800;
  background:var(--grad-vivid);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
  line-height:1;
}
.stat-block__lbl{
  font-size:.75rem;color:rgba(255,255,255,.5);text-transform:uppercase;letter-spacing:.1em;font-weight:600;margin-top:6px;
}

/* ================================================================
   ABOUT
   ================================================================ */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.about-visual{position:relative}
.about-graphic{
  background:linear-gradient(135deg,var(--teal-light) 0%,var(--teal-mid) 100%);
  border-radius:var(--radius-xl);aspect-ratio:1;overflow:hidden;position:relative;
  display:flex;align-items:center;justify-content:center;
}
.about-graphic svg{width:78%;height:78%}
.about-float{
  position:absolute;background:#fff;border-radius:var(--radius);
  padding:16px 20px;box-shadow:var(--shadow-lg);border:1px solid var(--border);
}
.about-float--br{bottom:-24px;right:-24px}
.about-float--tl{top:-24px;left:-24px}
.about-float__label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:2px}
.about-float__value{font-family:'Poppins',sans-serif;font-size:1.4rem;font-weight:800;color:var(--teal-dark)}

.vmg-tabs{display:flex;gap:6px;margin-bottom:24px;background:var(--surface);padding:4px;border-radius:10px;width:fit-content}
.vmg-tab{
  padding:8px 18px;border-radius:8px;font-family:'Poppins',sans-serif;font-size:.88rem;font-weight:600;
  color:var(--muted);cursor:pointer;transition:var(--t);
}
.vmg-tab.active{background:#fff;color:var(--teal-dark);box-shadow:var(--shadow-sm)}
.vmg-panel{display:none;animation:panel-in .3s var(--ease)}
.vmg-panel.active{display:block}
@keyframes panel-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.vmg-panel p{font-size:1.05rem;line-height:1.8;color:var(--body)}

.obj-list{display:flex;flex-direction:column;gap:0;margin-top:8px}
.obj-item{
  display:flex;align-items:flex-start;gap:14px;
  padding:14px 0;border-bottom:1px solid var(--border);
}
.obj-item:last-child{border:none}
.obj-num{
  width:30px;height:30px;border-radius:8px;background:var(--teal-light);
  color:var(--teal-dark);font-family:'Poppins',sans-serif;
  font-weight:800;font-size:.82rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.obj-text{font-size:.93rem;color:var(--body);padding-top:4px;line-height:1.55}

/* ================================================================
   ACTIVITIES / WHAT WE DO
   ================================================================ */
.act-card{
  background:#fff;border-radius:var(--radius-lg);padding:32px;
  border:1px solid var(--border);box-shadow:var(--shadow-xs);
  transition:transform .3s var(--spring),box-shadow .3s var(--ease),border-color .3s var(--ease);
  position:relative;overflow:hidden;
}
.act-card::before{
  content:'';position:absolute;inset:0;background:var(--grad-vivid);
  opacity:0;transition:opacity .3s var(--ease);border-radius:var(--radius-lg);
}
.act-card:hover{transform:translateY(-8px) scale(1.01);box-shadow:0 20px 48px rgba(0,191,165,.18);border-color:var(--teal-mid)}
.act-card:hover::before{opacity:.04}
.act-card__icon{
  width:54px;height:54px;border-radius:14px;
  background:var(--teal-light);display:flex;align-items:center;justify-content:center;
  font-size:1.5rem;margin-bottom:20px;transition:background var(--t),transform var(--t);
}
.act-card:hover .act-card__icon{background:var(--teal);transform:scale(1.1) rotate(-4deg)}
.act-card h3{margin-bottom:10px;font-size:1.05rem}
.act-card p{font-size:.9rem;line-height:1.7;color:var(--muted)}

/* ================================================================
   AMR SECTION (Dark)
   ================================================================ */
.amr-bg-glow{
  position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse 70% 70% at 80% 50%, rgba(0,229,201,.07), transparent);
}
.amr-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;position:relative;z-index:1;margin-top:0}
.amr-intro{margin-bottom:32px}
.amr-intro p{color:rgba(255,255,255,.75);font-size:1.05rem;line-height:1.8}
.amr-links{display:flex;flex-direction:column;gap:12px}
.amr-link{
  display:flex;align-items:center;gap:16px;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);
  border-radius:var(--radius);padding:16px 20px;
  transition:background var(--t),transform var(--t),border-color var(--t);
}
.amr-link:hover{background:rgba(255,255,255,.12);transform:translateX(6px);border-color:rgba(0,229,201,.3)}
.amr-link__icon{
  width:38px;height:38px;border-radius:10px;background:rgba(0,229,201,.12);
  display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0;
}
.amr-link__text{font-size:.9rem;color:rgba(255,255,255,.85);font-weight:500}

.amr-cards{display:flex;flex-direction:column;gap:14px}
.amr-card{
  background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);
  border-radius:var(--radius);padding:20px 24px;
  display:flex;align-items:flex-start;gap:16px;
  transition:background var(--t),border-color var(--t);
}
.amr-card:hover{background:rgba(255,255,255,.12);border-color:rgba(0,229,201,.25)}
.amr-card__icon{width:48px;height:48px;border-radius:12px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.amr-card__icon svg{width:24px;height:24px;stroke:rgba(255,255,255,.9);stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round}
.amr-card__title{font-family:'Poppins',sans-serif;font-size:.95rem;font-weight:700;color:#fff;margin-bottom:4px}
.amr-card__desc{font-size:.83rem;color:rgba(255,255,255,.6);line-height:1.5}

/* Dark section label */
.section--dark .section-label{background:rgba(0,229,201,.12);color:var(--teal-vivid)}
.section--dark .section-label::before{background:var(--teal-vivid)}
.section--dark h2{color:#fff}
.section--dark .section-sub{color:rgba(255,255,255,.65)}

/* ================================================================
   MEMBERSHIP
   ================================================================ */
.mem-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:48px}
.mem-card{
  background:#fff;border:2px solid var(--border);border-radius:var(--radius-lg);
  padding:36px 28px;text-align:center;
  transition:transform .35s var(--spring),box-shadow .35s var(--ease),border-color .35s var(--ease);
  position:relative;
}
.mem-card--pro{border-color:var(--teal);box-shadow:0 0 0 4px var(--teal-glass)}
.mem-card:hover{transform:translateY(-10px);box-shadow:0 24px 56px rgba(0,191,165,.18)}
.mem-card--pro:hover{box-shadow:0 24px 56px rgba(0,191,165,.28)}
.mem-badge{
  position:absolute;top:-1px;left:50%;transform:translateX(-50%);
  background:var(--grad-vivid);color:var(--navy);
  font-family:'Poppins',sans-serif;font-size:.72rem;font-weight:800;
  letter-spacing:.1em;text-transform:uppercase;padding:5px 16px;border-radius:0 0 10px 10px;
}
.mem-icon{font-size:2.6rem;margin-bottom:16px}
.mem-card h3{margin-bottom:6px}
.mem-desc{font-size:.88rem;color:var(--muted);margin-bottom:24px;min-height:44px}
.mem-price{font-family:'Poppins',sans-serif;font-size:2.2rem;font-weight:800;color:var(--teal-dark)}
.mem-period{font-size:.8rem;color:var(--muted);margin-bottom:28px}
.mem-perks{text-align:left;margin-bottom:28px;display:flex;flex-direction:column;gap:10px}
.perk{display:flex;align-items:center;gap:10px;font-size:.88rem;color:var(--body)}
.perk::before{
  content:'\2713';width:20px;height:20px;border-radius:50%;
  background:var(--teal-light);color:var(--teal-dark);
  display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:800;flex-shrink:0;
}

/* ================================================================
   BUTTONS
   ================================================================ */
.btn{
  display:inline-flex;align-items:center;gap:8px;padding:13px 26px;
  border-radius:10px;font-family:'Poppins',sans-serif;font-size:.92rem;font-weight:700;
  transition:transform .25s var(--spring),box-shadow .25s var(--ease),background .2s var(--ease);
  white-space:nowrap;position:relative;overflow:hidden;
}
.btn::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.3) 50%,transparent 70%);
  transform:translateX(-100%);transition:transform .5s var(--ease);
}
.btn:hover::after{transform:translateX(100%)}
.btn-primary{background:var(--grad-vivid);color:var(--navy)}
.btn-primary:hover{transform:translateY(-3px);box-shadow:var(--shadow-teal)}
.btn-outline{border:2px solid rgba(255,255,255,.4);color:#fff}
.btn-outline:hover{background:rgba(255,255,255,.15);transform:translateY(-2px)}
.btn-outline-teal{border:2px solid var(--teal);color:var(--teal-dark);background:transparent}
.btn-outline-teal:hover{background:var(--teal-light);transform:translateY(-2px)}
.btn-white{background:#fff;color:var(--teal-dark)}
.btn-white:hover{background:var(--teal-light);transform:translateY(-2px)}
.btn-dark{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.2)}
.btn-dark:hover{background:rgba(255,255,255,.2);transform:translateY(-2px)}
.btn-join{width:100%;justify-content:center}

/* ================================================================
   EVENTS
   ================================================================ */
.event-card{
  background:#fff;border-radius:var(--radius-lg);overflow:hidden;
  border:1px solid var(--border);box-shadow:var(--shadow-xs);
  transition:transform .3s var(--spring),box-shadow .3s var(--ease);
}
.event-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-md)}
.event-card__thumb{
  aspect-ratio:16/9;position:relative;overflow:hidden;
  background:linear-gradient(135deg,var(--teal-light),var(--teal-mid));
  display:flex;align-items:center;justify-content:center;font-size:3rem;
}
.event-card__thumb::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(to top,rgba(0,99,85,.35),transparent 60%);
}
.event-type{
  position:absolute;top:14px;left:14px;z-index:1;
  background:var(--teal);color:#fff;font-family:'Poppins',sans-serif;
  font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;
  padding:4px 12px;border-radius:99px;
}
.event-card__body{padding:22px}
.event-meta{display:flex;gap:14px;margin-bottom:8px;font-size:.78rem;color:var(--muted);font-weight:500}
.event-meta span{display:flex;align-items:center;gap:5px}
.event-card h3{font-size:1rem;margin-bottom:8px}
.event-card p{font-size:.87rem;color:var(--muted);line-height:1.6}
.event-link{
  display:inline-flex;align-items:center;gap:6px;color:var(--teal-dark);
  font-family:'Poppins',sans-serif;font-size:.85rem;font-weight:700;
  margin-top:14px;transition:gap var(--t);
}
.event-link:hover{gap:10px}

/* ================================================================
   RESOURCES
   ================================================================ */
.res-item{
  display:flex;align-items:center;gap:16px;padding:18px;
  background:#fff;border:1px solid var(--border);border-radius:var(--radius);
  transition:transform var(--t),border-color var(--t),box-shadow var(--t);cursor:pointer;
}
.res-item:hover{border-color:var(--teal);box-shadow:var(--shadow-sm);transform:translateX(4px)}
.res-item__icon{width:44px;height:44px;background:var(--teal-light);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0}
.res-item__title{font-size:.92rem;font-weight:600;margin-bottom:2px;color:var(--charcoal)}
.res-item__meta{font-size:.77rem;color:var(--muted)}
.res-dl{margin-left:auto;width:34px;height:34px;background:var(--teal-light);border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--teal-dark);flex-shrink:0;transition:background var(--t),color var(--t)}
.res-item:hover .res-dl{background:var(--teal);color:#fff}

/* ================================================================
   CONTACT
   ================================================================ */
.contact-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:48px;align-items:start}
.contact-cards{display:flex;flex-direction:column;gap:16px}
.contact-card{
  display:flex;align-items:center;gap:14px;padding:18px 20px;
  background:#fff;border:1px solid var(--border);border-radius:var(--radius);
  transition:border-color var(--t),box-shadow var(--t);
}
.contact-card:hover{border-color:var(--teal);box-shadow:var(--shadow-sm)}
.contact-card__icon{width:42px;height:42px;background:var(--teal-light);border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--teal-dark)}
.contact-card__icon svg{width:20px;height:20px;stroke:var(--teal-dark);stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round}
.contact-card__label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:1px}
.contact-card__value{font-size:.93rem;font-weight:600;color:var(--charcoal)}
.contact-form-wrap{background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);padding:40px}

/* ================================================================
   FORM
   ================================================================ */
.form-wrap{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:48px;max-width:780px;margin:0 auto}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.form-group{display:flex;flex-direction:column;gap:6px}
.form-group--full{grid-column:1/-1}
.form-label{font-family:'Poppins',sans-serif;font-size:.83rem;font-weight:700;color:var(--charcoal)}
.form-req{color:var(--teal)}
.form-input,.form-select,.form-textarea{
  padding:12px 16px;border:1.5px solid var(--border);border-radius:9px;
  font-size:.93rem;color:var(--charcoal);background:#fff;transition:var(--t);font-family:'Poppins',sans-serif;width:100%;
}
.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px var(--teal-glass)}
.form-textarea{resize:vertical;min-height:100px}
.form-divider{font-family:'Poppins',sans-serif;font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);grid-column:1/-1;padding-top:16px;padding-bottom:8px;border-bottom:1px solid var(--border);margin-bottom:4px}
.radio-group{display:flex;gap:14px;flex-wrap:wrap}
.radio-lbl{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:.9rem;color:var(--body)}
.radio-lbl input{accent-color:var(--teal);width:16px;height:16px}
.consent-lbl{display:flex;align-items:flex-start;gap:12px;font-size:.87rem;color:var(--muted);cursor:pointer;grid-column:1/-1}
.consent-lbl input{accent-color:var(--teal);width:16px;height:16px;flex-shrink:0;margin-top:2px}

/* ================================================================
   CTA BANNER
   ================================================================ */
.cta-banner{
  background:
    linear-gradient(140deg,rgba(0,50,42,.92) 0%,rgba(13,31,45,.90) 55%,rgba(0,80,69,.88) 100%),
    url('../assets/header-image/slider-picture.webp') center/cover no-repeat;
  padding:100px 0;text-align:center;position:relative;overflow:hidden;
}
.cta-banner::before{content:'';position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.06) 1px,transparent 1px);background-size:28px 28px}
.cta-banner::after{content:'';position:absolute;top:-100px;right:-100px;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,rgba(0,229,201,.2),transparent 70%);pointer-events:none}
.cta-inner{position:relative;z-index:1}
.cta-banner h2{color:#fff;margin-bottom:14px}
.cta-banner p{color:rgba(255,255,255,.8);font-size:1.1rem;margin-bottom:36px}
.cta-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* ================================================================
   PARTNERS MARQUEE
   ================================================================ */
.partners{padding:56px 0;border-top:1px solid var(--border)}
.marquee-wrap{overflow:hidden;position:relative}
.marquee-wrap::before,.marquee-wrap::after{
  content:'';position:absolute;top:0;bottom:0;width:80px;z-index:1;pointer-events:none;
}
.marquee-wrap::before{left:0;background:linear-gradient(to right,#fff,transparent)}
.marquee-wrap::after{right:0;background:linear-gradient(to left,#fff,transparent)}
.marquee-track{display:flex;gap:56px;width:max-content;animation:marquee 30s linear infinite;align-items:center}
.marquee-track:hover{animation-play-state:paused}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-25%)}}
.partner-logo-item{display:flex;flex-direction:column;align-items:center;gap:10px;flex-shrink:0;width:120px}
.partner-logo{height:48px;width:auto;max-width:120px;object-fit:contain;display:block;opacity:.75;transition:opacity var(--t),transform var(--t)}
.partner-logo:hover{opacity:1;transform:scale(1.05)}
.partner-logo-link{display:flex;flex-direction:column;align-items:center;gap:10px;text-decoration:none}
.partner-logo-name{font-size:.65rem;font-weight:600;letter-spacing:.04em;color:var(--muted);text-align:center;line-height:1.3;white-space:normal}
.partner-chip{
  background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);
  padding:14px 28px;font-family:'Poppins',sans-serif;font-size:.82rem;
  font-weight:700;color:var(--muted);white-space:nowrap;flex-shrink:0;
  transition:border-color var(--t),color var(--t),background var(--t);cursor:default;
}
.partner-chip:hover{border-color:var(--teal-mid);color:var(--teal-dark);background:var(--teal-light)}

/* ================================================================
   FOOTER
   ================================================================ */
.footer{background:var(--navy);color:rgba(255,255,255,.6);padding:64px 0 0;border-top:3px solid var(--teal)}
.footer__grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:56px;padding-bottom:56px;border-bottom:1px solid rgba(255,255,255,.08)}
.footer__brand-logo{height:72px;margin-bottom:20px;filter:brightness(0) invert(1)}
.footer__tagline{font-size:.88rem;line-height:1.7;margin-bottom:20px}
.footer__social{display:flex;gap:8px;margin-top:4px}
.social-btn{
  width:38px;height:38px;border-radius:10px;background:rgba(255,255,255,.08);
  display:flex;align-items:center;justify-content:center;
  color:rgba(255,255,255,.6);transition:background var(--t),color var(--t),transform var(--t);
}
.social-btn svg{width:16px;height:16px;fill:currentColor}
.social-btn:hover{background:var(--teal);color:#fff;transform:translateY(-3px)}
.footer__heading{font-family:'Poppins',sans-serif;font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--teal-vivid);margin-bottom:20px}
.footer__links{display:flex;flex-direction:column;gap:11px}
.footer__links a{font-size:.87rem;color:rgba(255,255,255,.5);transition:color var(--t),padding-left var(--t)}
.footer__links a:hover{color:#fff;padding-left:6px}
.footer__bottom{padding:22px 0;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;font-size:.79rem;color:rgba(255,255,255,.28)}
.footer__credit{font-size:.79rem;color:rgba(255,255,255,.35)}
.footer__credit a{color:var(--teal-vivid);text-decoration:none;transition:color var(--t)}
.footer__credit a:hover{color:#fff}
.footer__bottom-links{display:flex;gap:20px}
.footer__bottom-links a{color:rgba(255,255,255,.3);transition:color var(--t)}
.footer__bottom-links a:hover{color:var(--teal)}

/* ================================================================
   PAGE HERO (inner pages)
   ================================================================ */
.page-hero{
  padding:calc(var(--nav-h) + 64px) 0 72px;
  background:
    linear-gradient(140deg,rgba(0,50,42,.88) 0%,rgba(13,31,45,.84) 55%,rgba(0,80,69,.78) 100%),
    url('../assets/header-image/slider-picture.webp') center/cover no-repeat;
  position:relative;overflow:hidden;
}
/* Animated variant — Ken Burns image behind, semi-transparent overlay, SVG on top */
.page-hero--animated{background:#00695C}
.page-hero--animated::before{
  content:'';position:absolute;inset:-8%;
  background:url('../assets/header-image/slider-picture.webp') center/cover no-repeat;
  animation:hero-kenburns 18s ease-in-out infinite alternate;
  z-index:0;
}
.page-hero--animated::after{
  content:'';position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(140deg,rgba(0,105,92,.55) 0%,rgba(0,77,64,.45) 55%,rgba(0,121,107,.5) 100%);
}
.page-hero__canvas{
  position:absolute;inset:0;z-index:2;overflow:hidden;pointer-events:none;
}
.page-hero--animated .page-hero__inner{z-index:3}
@keyframes hero-kenburns{
  0%  {transform:scale(1)    translateX(0)     translateY(0)}
  33% {transform:scale(1.06) translateX(-1.5%) translateY(1%)}
  66% {transform:scale(1.04) translateX(1.5%)  translateY(-1%)}
  100%{transform:scale(1.08) translateX(-1%)   translateY(0.5%)}
}
.page-hero::before{content:'';position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.05) 1px,transparent 1px);background-size:30px 30px}
.page-hero::after{content:'';position:absolute;top:-80px;right:-80px;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(0,229,201,.12),transparent 70%);pointer-events:none}
.page-hero__inner{position:relative;z-index:1}
.breadcrumb{display:flex;align-items:center;gap:8px;font-size:.82rem;color:rgba(255,255,255,.5);margin-bottom:14px}
.breadcrumb a{color:rgba(255,255,255,.5);transition:color var(--t)}
.breadcrumb a:hover{color:var(--teal-vivid)}
.breadcrumb span{color:rgba(255,255,255,.3)}
.page-hero h1{color:#fff;margin-bottom:14px}
.page-hero p{color:rgba(255,255,255,.75);font-size:1.1rem;max-width:560px}

/* ================================================================
   TEAM CARDS
   ================================================================ */
.team-card{background:#fff;border-radius:var(--radius-lg);padding:32px 24px;text-align:center;border:1px solid var(--border);box-shadow:var(--shadow-xs);transition:transform .3s var(--spring),box-shadow .3s var(--ease)}
.team-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-md)}
.team-avatar{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,var(--teal-light),var(--teal-mid));display:flex;align-items:center;justify-content:center;font-size:1.8rem;margin:0 auto 16px;border:3px solid var(--teal-mid)}
.team-card h4{font-size:.98rem;margin-bottom:4px}
.team-role{font-size:.82rem;color:var(--teal-dark);font-weight:600}

/* ================================================================
   TOAST
   ================================================================ */
.toast{
  position:fixed;bottom:32px;right:32px;
  background:var(--charcoal);color:#fff;padding:16px 24px;border-radius:var(--radius);
  box-shadow:var(--shadow-lg);display:flex;align-items:center;gap:12px;font-size:.9rem;font-weight:500;
  z-index:9999;transform:translateY(120px);opacity:0;transition:transform .4s var(--spring),opacity .4s var(--ease);
  border-left:3px solid var(--teal);
}
.toast.show{transform:translateY(0);opacity:1}

/* ================================================================
   SCROLL ANIMATIONS
   ================================================================ */
.fade-up{opacity:0;transform:translateY(28px);transition:opacity .6s var(--ease),transform .6s var(--spring)}
.fade-up.visible{opacity:1;transform:translateY(0)}
.fade-in{opacity:0;transition:opacity .6s var(--ease)}
.fade-in.visible{opacity:1}
.scale-in{opacity:0;transform:scale(.94);transition:opacity .5s var(--ease),transform .5s var(--spring)}
.scale-in.visible{opacity:1;transform:scale(1)}

/* ================================================================
   RESPONSIVE
   ================================================================ */
@media(max-width:1024px){
  .carousel__inner{grid-template-columns:1fr;gap:40px}
  .carousel__visual{display:none}
  .about-grid{grid-template-columns:1fr;gap:40px}
  .amr-grid{grid-template-columns:1fr;gap:40px}
  .contact-grid{grid-template-columns:1fr}
  .footer__grid{grid-template-columns:1fr 1fr}
  .mem-grid{grid-template-columns:1fr;max-width:420px;margin-left:auto;margin-right:auto}
}
@media(max-width:768px){
  /* ── Teal navbar on mobile ── */
  .navbar,.navbar--glass{
    background:var(--teal-dark);
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
    box-shadow:0 2px 16px rgba(0,0,0,.18);
  }
  .navbar__logo img{filter:brightness(0) invert(1)}
  .navbar__hamburger{
    background:rgba(255,255,255,.15);
    border-color:rgba(255,255,255,.25);
  }
  .navbar__hamburger span{background:#fff}
  .navbar__hamburger:hover{background:rgba(255,255,255,.25);border-color:rgba(255,255,255,.4)}

  /* ── Carousel ── */
  .carousel--hero{height:82vh;min-height:480px;max-height:none}
  .carousel--hero .carousel__inner{padding-top:calc(var(--nav-h) + 32px);padding-bottom:80px}
  .carousel__counter{display:none}
  .carousel__scroll-cue{display:none}

  /* ── Layout ── */
  .navbar__links,.navbar__cta{display:none}
  .navbar__hamburger{display:flex}
  .grid-2,.grid-3{grid-template-columns:1fr}
  .grid-4{grid-template-columns:repeat(2,1fr)}
  .section{padding:64px 0}
  .about-float{display:none}
  .stats-bar__inner{flex-wrap:wrap}
  .stat-block{flex:0 0 50%}
  .stat-block:nth-child(odd)::after{display:none}
  .form-wrap{padding:24px 18px}
  .form-grid{grid-template-columns:1fr}
  .footer__grid{grid-template-columns:1fr;gap:28px}
  .footer__bottom{flex-direction:column;text-align:center}
}
@media(max-width:480px){
  .grid-4{grid-template-columns:1fr}
  .cta-actions{flex-direction:column;align-items:center}
  .carousel__stats{flex-wrap:wrap;gap:20px}
  .carousel__inner{padding-bottom:100px}
  .news-card__img{height:110px}
}

/* ================================================================
   BACKWARDS-COMPAT — inner page class aliases
   ================================================================ */

/* Section backgrounds */
.section--teal{background:var(--teal-light)}
.section--gray{background:var(--surface)}
.amr-section{background:var(--grad-dark);padding:64px 0;position:relative;overflow:hidden}
.amr-section .section-label{background:rgba(0,229,201,.12);color:var(--teal-vivid)}
.amr-section .section-label::before{background:var(--teal-vivid)}
.amr-section h2{color:#fff}

/* About grid */
.about__grid{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}
.about__visual{position:relative}
.about__network-graphic{background:linear-gradient(135deg,var(--teal-light),var(--teal-mid));border-radius:var(--radius-xl);aspect-ratio:1;overflow:hidden;position:relative;display:flex;align-items:center;justify-content:center}
.about__network-graphic svg{width:78%;height:78%}
.about__badge-float{position:absolute;background:#fff;border-radius:var(--radius);padding:16px 20px;box-shadow:var(--shadow-lg);border:1px solid var(--border)}
.about__badge-float--1{bottom:-24px;right:-24px}
.about__badge-float--2{top:-24px;left:-24px}
.about__badge-title{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:2px}
.about__badge-value{font-family:'Poppins',sans-serif;font-size:1.4rem;font-weight:800;color:var(--teal-dark)}

/* Activity cards */
.activity-card{background:#fff;border-radius:var(--radius-lg);padding:32px;border:1px solid var(--border);box-shadow:var(--shadow-xs);transition:transform .3s var(--spring),box-shadow .3s var(--ease),border-color .3s var(--ease);position:relative;overflow:hidden}
.activity-card:hover{transform:translateY(-8px);box-shadow:0 20px 48px rgba(0,191,165,.18);border-color:var(--teal-mid)}
.activity-card__icon{width:54px;height:54px;border-radius:14px;background:var(--teal-light);display:flex;align-items:center;justify-content:center;margin-bottom:20px;transition:background var(--t),transform var(--t);color:var(--teal-dark)}
.activity-card__icon svg{width:26px;height:26px;stroke:var(--teal-dark);stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round;transition:stroke var(--t)}
.activity-card:hover .activity-card__icon{background:var(--teal);transform:scale(1.1) rotate(-4deg)}
.activity-card:hover .activity-card__icon svg{stroke:#fff}
.activity-card h3{margin-bottom:10px;font-size:1.05rem}
.activity-card p{font-size:.9rem;line-height:1.7;color:var(--muted)}

/* ── Global Public Health Days grid ── */
.gph-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:24px;
}
.gph-card{
  background:#fff;border-radius:var(--radius-lg);overflow:hidden;
  box-shadow:0 4px 20px rgba(0,0,0,.08);border:1px solid var(--border);
  transition:transform .3s var(--spring),box-shadow .3s var(--ease);
}
.gph-card:hover{transform:translateY(-6px);box-shadow:0 20px 48px rgba(0,0,0,.14)}
.gph-card__top{
  background:linear-gradient(135deg,var(--gph-c1),var(--gph-c2));
  padding:28px 24px 20px;
  display:flex;align-items:center;justify-content:space-between;
  position:relative;overflow:hidden;
}
.gph-card__top::after{
  content:'';position:absolute;right:-20px;top:-20px;
  width:100px;height:100px;border-radius:50%;
  background:rgba(255,255,255,.08);
}
.gph-card__icon{
  width:56px;height:56px;border-radius:16px;
  background:rgba(255,255,255,.18);backdrop-filter:blur(4px);
  border:1px solid rgba(255,255,255,.25);
  display:flex;align-items:center;justify-content:center;
  color:#fff;flex-shrink:0;
}
.gph-card__icon svg{width:26px;height:26px}
.gph-card__date-badge{
  font-family:'Poppins',sans-serif;font-weight:800;font-size:1.1rem;
  color:#fff;text-align:right;line-height:1.2;
  text-shadow:0 1px 4px rgba(0,0,0,.2);
}
.gph-card__body{padding:20px 24px 24px}
.gph-card__body h3{font-size:.97rem;font-weight:700;color:var(--navy);margin-bottom:8px}
.gph-card__body p{font-size:.84rem;line-height:1.65;color:#4d5765;margin:0;text-align:left}
@media(max-width:900px){.gph-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:540px){.gph-grid{grid-template-columns:1fr}}

/* ── External Resource Cards ── */
.ext-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.ext-card{
  display:flex;align-items:center;gap:20px;
  background:#fff;border-radius:var(--radius-lg);padding:24px 20px;
  border:1px solid var(--border);border-left:4px solid var(--ext-c,var(--teal));
  box-shadow:var(--shadow-xs);text-decoration:none;
  transition:transform .3s var(--spring),box-shadow .3s var(--ease),border-color .3s;
  position:relative;overflow:hidden;
}
.ext-card:hover{transform:translateY(-4px);box-shadow:0 12px 36px rgba(0,0,0,.1);border-left-width:6px}
.ext-card__left{flex-shrink:0}
.ext-card__abbr{
  width:56px;height:56px;border-radius:14px;
  background:color-mix(in srgb,var(--ext-c,var(--teal)) 12%,#fff);
  color:var(--ext-c,var(--teal));
  font-family:'Poppins',sans-serif;font-weight:800;font-size:.65rem;
  display:flex;align-items:center;justify-content:center;text-align:center;
  letter-spacing:.02em;line-height:1.2;padding:4px;
}
.ext-card__right{flex:1;min-width:0}
.ext-card__tag{
  display:inline-block;font-size:.65rem;font-weight:700;letter-spacing:.08em;
  text-transform:uppercase;color:var(--ext-c,var(--teal));
  margin-bottom:4px;
}
.ext-card__right h3{font-size:.92rem;font-weight:700;color:var(--navy);margin-bottom:4px}
.ext-card__right p{font-size:.8rem;color:#4d5765;line-height:1.55;margin:0;text-align:left}
.ext-card__arrow{width:18px;height:18px;flex-shrink:0;color:var(--ext-c,var(--teal));opacity:.5;transition:opacity .2s,transform .2s}
.ext-card:hover .ext-card__arrow{opacity:1;transform:translate(2px,-2px)}
@media(max-width:900px){.ext-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:580px){.ext-grid{grid-template-columns:1fr}}

/* ── Patient Safety clean cards ── */
.ps-card{
  background:#fff;border-radius:var(--radius-lg);padding:32px 28px;
  border:1px solid var(--border);border-top:3px solid var(--teal);
  box-shadow:var(--shadow-xs);
  transition:transform .3s var(--spring),box-shadow .3s var(--ease);
}
.ps-card:hover{transform:translateY(-5px);box-shadow:0 16px 40px rgba(0,137,123,.12)}
.ps-card__icon{
  width:52px;height:52px;border-radius:14px;
  background:var(--teal-light);display:flex;align-items:center;justify-content:center;
  color:var(--teal-dark);margin-bottom:20px;
}
.ps-card__icon svg{width:24px;height:24px}
.ps-card h3{font-size:.97rem;font-weight:700;color:var(--navy);margin-bottom:10px}
.ps-card p{font-size:.87rem;color:#4d5765;line-height:1.7;margin:0}

/* hero card list items (used on what-we-do page) */
.hero__card-item{display:flex;align-items:center;gap:10px;color:var(--body);font-size:.93rem}
.hero__card-item::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--teal);flex-shrink:0}

/* CTA compat */
.cta-banner__content{position:relative;z-index:1;text-align:center}
.cta-banner__content h2{color:#fff;margin-bottom:14px}
.cta-banner__content p{color:rgba(255,255,255,.8);font-size:1.1rem;margin-bottom:36px}
.cta-banner__actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.btn-ghost{border:2px solid rgba(255,255,255,.4);color:#fff;background:transparent}
.btn-ghost:hover{background:rgba(255,255,255,.15);transform:translateY(-2px)}

/* Footer compat */
.footer__inner{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:56px;padding-bottom:56px;border-bottom:1px solid rgba(255,255,255,.08)}
.footer__brand img{height:90px;margin-bottom:20px;filter:brightness(0) invert(1)}
.footer__tagline{font-size:.88rem;line-height:1.7;margin-bottom:20px;color:rgba(255,255,255,.6)}

/* Membership cards compat */
/* ── Bank details box ── */
.bank-details{
  background:linear-gradient(135deg,#f0fdf9,#e6f7f4);
  border:1px solid var(--teal-mid);border-left:4px solid var(--teal-dark);
  border-radius:var(--radius-lg);padding:20px 24px;
}
.bank-details__head{
  display:flex;align-items:center;gap:10px;
  font-family:'Poppins',sans-serif;font-weight:700;font-size:.9rem;
  color:var(--teal-dark);margin-bottom:16px;
}
.bank-details__grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 24px}
.bank-details__grid div{display:flex;flex-direction:column;gap:2px}
.bank-details__lbl{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.bank-details__val{font-size:.88rem;font-weight:600;color:var(--navy)}
@media(max-width:580px){.bank-details__grid{grid-template-columns:1fr}}

/* ── File upload box ── */
.file-upload-box{
  border:2px dashed var(--teal-mid);border-radius:var(--radius-lg);
  padding:32px 24px;text-align:center;cursor:pointer;
  transition:border-color .2s,background .2s;background:#fafafa;
  display:flex;flex-direction:column;align-items:center;gap:8px;
}
.file-upload-box:hover,.file-upload-box.dragover{border-color:var(--teal-dark);background:var(--teal-light)}
.file-upload-box svg{color:var(--teal-dark);opacity:.7}
.file-upload-box__text{font-weight:600;font-size:.9rem;color:var(--navy);margin:0}
.file-upload-box__hint{font-size:.78rem;color:var(--muted);margin:0}
.file-upload-box__name{font-size:.82rem;font-weight:600;color:var(--teal-dark);margin:0}
.file-upload-box.has-file{border-color:var(--teal-dark);background:var(--teal-light)}

.membership-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:48px}
.membership-card{background:#fff;border:2px solid var(--border);border-radius:var(--radius-lg);padding:36px 28px;text-align:center;transition:transform .35s var(--spring),box-shadow .35s var(--ease),border-color .35s var(--ease);position:relative}
.membership-card--featured{border-color:var(--teal);box-shadow:0 0 0 4px var(--teal-glass)}
.membership-card:hover{transform:translateY(-10px);box-shadow:0 24px 56px rgba(0,191,165,.18)}
.membership-card__badge{position:absolute;top:-1px;left:50%;transform:translateX(-50%);background:var(--grad-vivid);color:var(--navy);font-family:'Poppins',sans-serif;font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:5px 16px;border-radius:0 0 10px 10px}
.membership-card__icon{width:60px;height:60px;border-radius:16px;background:var(--teal-light);display:flex;align-items:center;justify-content:center;margin:0 auto 16px;color:var(--teal-dark)}
.membership-card__icon svg{width:28px;height:28px;stroke:var(--teal-dark);stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round}
.membership-card--featured .membership-card__icon{background:rgba(0,191,165,.15)}
.membership-card__desc{font-size:.88rem;color:var(--muted);margin-bottom:24px;min-height:44px}
.membership-card__price{font-family:'Poppins',sans-serif;font-size:2.2rem;font-weight:800;color:var(--teal-dark)}
.membership-card__period{font-size:.8rem;color:var(--muted);margin-bottom:28px}
.membership-card__perks{text-align:left;margin-bottom:28px;display:flex;flex-direction:column;gap:10px}
.perk-item{display:flex;align-items:center;gap:10px;font-size:.88rem;color:var(--body)}
.perk-item::before{content:'\2713';width:20px;height:20px;border-radius:50%;background:var(--teal-light);color:var(--teal-dark);display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:800;flex-shrink:0}

/* Objectives compat */
.objective-item{display:flex;align-items:flex-start;gap:14px;padding:14px 0;border-bottom:1px solid var(--border)}
.objective-item:last-child{border:none}
.objective-num{width:30px;height:30px;border-radius:8px;background:var(--teal-light);color:var(--teal-dark);font-family:'Poppins',sans-serif;font-weight:800;font-size:.82rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.objective-text{font-size:.93rem;color:var(--body);padding-top:4px;line-height:1.55}

/* Resource items compat (legacy) */
.resource-item{display:flex;align-items:center;gap:16px;padding:18px;background:#fff;border:1px solid var(--border);border-radius:var(--radius);transition:transform var(--t),border-color var(--t),box-shadow var(--t);cursor:pointer}
.resource-item:hover{border-color:var(--teal);box-shadow:var(--shadow-sm);transform:translateX(4px)}
.resource-item__icon{width:44px;height:44px;background:var(--teal-light);border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--teal-dark)}
.resource-item__icon svg{width:22px;height:22px;stroke:var(--teal-dark);stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round}
.resource-item__title{font-size:.92rem;font-weight:600;margin-bottom:2px;color:var(--charcoal)}
.resource-item__meta{font-size:.77rem;color:var(--muted)}
.resource-item__download{margin-left:auto;width:34px;height:34px;background:var(--teal-light);border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--teal-dark);flex-shrink:0;transition:background var(--t),color var(--t)}
.resource-item:hover .resource-item__download{background:var(--teal);color:#fff}

/* ================================================================
   RESOURCES PAGE — dynamic rows
   ================================================================ */
.res-group{margin-bottom:48px}
.res-group__head{
  display:flex;align-items:center;gap:12px;
  padding-bottom:14px;margin-bottom:4px;
  border-bottom:2px solid var(--teal-light);
}
.res-group__label{
  font-family:'Poppins',sans-serif;font-size:.88rem;font-weight:700;
  color:var(--navy);letter-spacing:.02em;
}
.res-group__count{
  background:var(--teal-dark);color:#fff;
  font-size:.7rem;font-weight:700;padding:2px 8px;border-radius:99px;
}
.res-group__list{display:flex;flex-direction:column;gap:10px;padding-top:4px}

.res-row{
  display:flex;align-items:center;gap:16px;
  padding:16px 20px;background:#fff;
  border:1px solid var(--border);border-radius:14px;
  transition:box-shadow .2s var(--spring),border-color .2s,transform .2s var(--spring);
}
.res-row:hover{
  border-color:var(--teal-dark);
  box-shadow:0 6px 24px rgba(0,99,85,.1);
  transform:translateX(4px);
}
.res-row__icon{
  width:48px;height:48px;border-radius:12px;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.res-row__info{flex:1;min-width:0}
.res-row__title{
  font-family:'Poppins',sans-serif;font-size:.95rem;font-weight:700;
  color:var(--navy);margin-bottom:4px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.res-row__desc{font-size:.82rem;color:var(--gray-600);line-height:1.5;margin-bottom:6px}
.res-row__meta{display:flex;align-items:center;gap:10px}
.res-row__cat{
  font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;
  background:var(--surface);color:var(--muted);padding:2px 8px;border-radius:99px;
}
.res-row__type{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.res-row__action{flex-shrink:0}
.res-row__btn{
  display:inline-flex;align-items:center;gap:6px;
  padding:8px 16px;border-radius:99px;font-size:.8rem;font-weight:700;
  font-family:'Poppins',sans-serif;transition:background var(--t),transform .15s;
  white-space:nowrap;
}
.res-row__btn--dl{
  background:var(--teal-dark);color:#fff;
}
.res-row__btn--dl:hover{background:var(--teal-vivid);transform:translateY(-1px)}
.res-row__btn--ext{
  background:transparent;border:1.5px solid var(--teal-dark);color:var(--teal-dark);
}
.res-row__btn--ext:hover{background:var(--teal-dark);color:#fff;transform:translateY(-1px)}
.res-row__btn--soon{
  font-size:.78rem;color:var(--muted);font-style:italic;padding:8px 0;
}

@media(max-width:600px){
  .res-row{flex-wrap:wrap;gap:12px}
  .res-row__title{white-space:normal}
  .res-row__action{width:100%}
  .res-row__btn{width:100%;justify-content:center}
}

/* Event card compat */
.event-card__img{aspect-ratio:16/9;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}
.event-card__img svg{width:52px;height:52px;stroke:rgba(255,255,255,.82);stroke-width:1.5;fill:none;stroke-linecap:round;stroke-linejoin:round;position:relative;z-index:1}
.event-card__img::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(0,99,85,.35),transparent 60%)}
.event-card__type{position:absolute;top:14px;left:14px;z-index:1;background:var(--teal);color:#fff;font-family:'Poppins',sans-serif;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;padding:4px 12px;border-radius:99px}
.event-card__meta{display:flex;gap:14px;margin-bottom:8px;font-size:.78rem;color:var(--muted);font-weight:500}
.event-card__meta span{display:flex;align-items:center;gap:5px}
.event-card__link{display:inline-flex;align-items:center;gap:6px;color:var(--teal-dark);font-family:'Poppins',sans-serif;font-size:.82rem;font-weight:700;transition:gap var(--t)}
.event-card__link:hover{gap:10px}

/* Team compat */
.team-card__avatar{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,var(--teal-light),var(--teal-mid));display:flex;align-items:center;justify-content:center;margin:0 auto 16px;border:3px solid var(--teal-mid);color:var(--teal-dark)}
.team-card__avatar svg{width:36px;height:36px;stroke:var(--teal-dark);stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round}
.team-card__role{font-size:.82rem;color:var(--teal-dark);font-weight:600}

/* ── Executive Committee — premium cards ── */
.ec-section{background:var(--surface)}

.ec-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:24px;
}

.ec-card{
  border-radius:20px;
  overflow:hidden;
  border:none;
  padding:0;
  cursor:pointer;
  background:var(--teal-dark);
  text-align:left;
  display:flex;
  flex-direction:column;
  width:100%;
  transition:transform .35s var(--spring),box-shadow .35s var(--ease);
}
.ec-card:hover{transform:translateY(-8px);box-shadow:0 24px 56px rgba(0,99,85,.22)}

/* Photo — top portion */
.ec-card__photo{
  width:100%;aspect-ratio:1/1;overflow:hidden;background:var(--navy);flex-shrink:0;
}
.ec-card__photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s var(--ease)}
.ec-card:hover .ec-card__photo img{transform:scale(1.06)}
.ec-card__placeholder{
  width:100%;height:100%;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(155deg,#0D5E76 0%,var(--teal-dark) 100%);
}
.ec-card__placeholder svg{width:56px;height:56px;stroke:rgba(255,255,255,.3);stroke-width:1;fill:none}

/* No scrim needed — text is in its own panel */
.ec-card__scrim{display:none}

/* Teal footer panel */
.ec-card__foot{
  background:var(--teal-dark);
  padding:18px 20px 20px;
  flex:1;
  display:flex;flex-direction:column;gap:2px;
  transition:background .25s;
}
.ec-card:hover .ec-card__foot{background:#005a4d}

.ec-card__role{
  font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:rgba(255,255,255,.6);margin-bottom:2px;
}
.ec-card__name{
  font-family:'Poppins',sans-serif;font-size:.98rem;font-weight:700;
  color:#fff;line-height:1.3;
}
.ec-card__cta{
  display:inline-flex;align-items:center;gap:5px;margin-top:10px;
  font-size:.72rem;font-weight:700;color:rgba(255,255,255,.5);
  opacity:0;transform:translateY(4px);
  transition:opacity .25s,transform .25s,color .2s;
}
.ec-card:hover .ec-card__cta{opacity:1;transform:translateY(0);color:rgba(255,255,255,.8)}
.ec-card:hover .ec-card__cta:hover{color:#fff}

.ec-loading,.ec-empty{
  grid-column:1/-1;text-align:center;color:var(--muted);
  font-size:.9rem;padding:48px 0;font-style:italic;
}

/* ── Member popup ── */
.ec-overlay{
  position:fixed;inset:0;z-index:2000;
  background:rgba(0,0,0,.6);backdrop-filter:blur(6px);
  display:flex;align-items:center;justify-content:center;padding:24px;
  opacity:0;pointer-events:none;
  transition:opacity .3s var(--ease);
}
.ec-overlay.open{opacity:1;pointer-events:auto}
.ec-overlay.open .ec-modal{transform:translateY(0);opacity:1}

.ec-modal{
  background:#fff;border-radius:24px;overflow:hidden;
  display:flex;flex-direction:row;max-width:680px;width:100%;
  max-height:90vh;
  box-shadow:0 40px 80px rgba(0,0,0,.3);
  transform:translateY(24px);opacity:0;
  transition:transform .35s var(--spring),opacity .3s var(--ease);
  position:relative;
}

.ec-modal__close{
  position:absolute;top:16px;right:16px;z-index:10;
  width:36px;height:36px;border-radius:50%;
  border:none;background:rgba(0,0,0,.12);cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  color:#fff;transition:background .2s;
}
.ec-modal__close:hover{background:rgba(0,0,0,.3)}

.ec-modal__photo-wrap{
  width:220px;flex-shrink:0;background:var(--navy);overflow:hidden;
}
.ec-modal__photo-wrap img{width:100%;height:100%;object-fit:cover;display:block}
.ec-modal__placeholder{
  width:100%;height:100%;min-height:280px;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(155deg,var(--teal-dark),#0D5E76);
}
.ec-modal__placeholder svg{width:72px;height:72px;stroke:rgba(255,255,255,.3);stroke-width:1;fill:none}

.ec-modal__body{
  padding:40px 36px;display:flex;flex-direction:column;justify-content:center;overflow-y:auto;
}
.ec-modal__role{
  display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:var(--teal-dark);
  background:var(--teal-light);border-radius:99px;padding:5px 14px;
  margin-bottom:12px;
}
.ec-modal__name{
  font-family:'Poppins',sans-serif;font-size:1.5rem;font-weight:800;
  color:var(--navy);margin-bottom:20px;line-height:1.2;
}
.ec-modal__bio{
  font-size:.9rem;color:var(--muted);line-height:1.8;
  border-left:3px solid var(--teal-mid);padding-left:16px;
}

@media(max-width:900px){.ec-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:500px){
  .ec-grid{grid-template-columns:1fr;gap:16px}
  .ec-modal{flex-direction:column;max-height:85vh}
  .ec-modal__photo-wrap{width:100%;height:200px}
  .ec-modal__body{padding:24px 20px}
}

/* ================================================================
   ABOUT PAGE — redesigned sections
   ================================================================ */


/* ── Who We Are ── */
.about-who{background:#fff}
.about-who__layout{
  display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:start;
}
.about-who__left p{color:#4d5765;font-size:.97rem;line-height:1.85;margin-bottom:16px}
.about-who__left .section-title{margin-bottom:20px}
.about-who__tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}
.about-who__tags span{
  font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  background:var(--teal-light);color:var(--teal-dark);
  border-radius:99px;padding:6px 14px;
}
.about-pullquote{
  background:linear-gradient(135deg,var(--teal-dark) 0%,var(--teal) 100%);
  border-radius:20px;padding:36px 36px 32px;margin:0 0 20px;
  border-left:5px solid var(--teal-vivid);
}
.about-pullquote p{
  font-family:'Poppins',sans-serif;font-size:1.15rem;font-weight:600;
  color:#fff;line-height:1.6;margin-bottom:20px;
  quotes:"\201C""\201D";
}
.about-pullquote p::before{content:open-quote;font-size:2rem;color:var(--teal-vivid);line-height:0;vertical-align:-.4em;margin-right:4px}
.about-pullquote cite{font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.75);font-style:normal}
.about-who__pillars{display:flex;flex-direction:column;gap:0;border:1px solid var(--border);border-radius:16px;overflow:hidden}
.about-who__pillar{
  display:flex;align-items:center;gap:14px;padding:14px 20px;
  border-bottom:1px solid var(--border);font-size:.88rem;font-weight:600;color:var(--navy);
  transition:background .2s;
}
.about-who__pillar:last-child{border-bottom:none}
.about-who__pillar:hover{background:var(--teal-light)}
.about-who__pillar svg{color:var(--teal-dark);flex-shrink:0}

/* ── Vision / Mission / Aim ── */
.about-vma{padding:0 0 96px;background:#fff}
.about-vma__grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:24px;
}
.about-vma__card{
  padding:48px 36px 52px;display:flex;flex-direction:column;gap:0;
  position:relative;border-radius:20px;overflow:hidden;
  background:#fff;border:1px solid var(--border);
  box-shadow:0 4px 24px rgba(0,0,0,.07);
  transition:transform .35s var(--spring),box-shadow .35s var(--spring);
}
.about-vma__card:hover{transform:translateY(-6px);box-shadow:0 16px 48px rgba(0,137,123,.14)}
.about-vma__card--vision  { border-top:4px solid #1565C0; }
.about-vma__card--mission { border-top:4px solid var(--teal-dark); }
.about-vma__card--aim     { border-top:4px solid var(--teal-vivid); }
/* Ghost letter */
.about-vma__letter{
  font-family:'Poppins',sans-serif;font-size:7rem;font-weight:800;
  color:rgba(0,0,0,.04);line-height:1;user-select:none;
  position:absolute;bottom:-10px;right:20px;pointer-events:none;
}
/* Icon circle */
.about-vma__icon{
  width:60px;height:60px;border-radius:16px;display:flex;align-items:center;justify-content:center;
  background:var(--teal-light);border:1px solid var(--teal-mid);
  color:var(--teal-dark);margin-bottom:28px;flex-shrink:0;
}
.about-vma__card--vision .about-vma__icon{background:#E3F0FF;border-color:#90CAF9;color:#1565C0}
/* Label pill */
.about-vma__label{
  display:inline-block;font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:var(--muted);margin-bottom:10px;
}
.about-vma__content h3{
  font-family:'Poppins',sans-serif;font-size:1.2rem;font-weight:800;
  color:var(--navy);margin-bottom:16px;
}
.about-vma__content p{
  font-size:.88rem;color:#4d5765;line-height:1.9;
}
/* Bottom accent bar */
.about-vma__accent{
  position:absolute;bottom:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,var(--teal-vivid),rgba(0,229,201,.1));
}

/* ── Strategic Objectives ── */
.about-obj{background:var(--surface)}
.about-obj__head{
  display:flex;justify-content:space-between;align-items:flex-end;
  gap:32px;margin-bottom:56px;
}
.about-obj__head .section-title{margin-bottom:0}
.about-obj__grid{
  display:grid;grid-template-columns:1fr 1fr;gap:2px;
  background:var(--border);border-radius:20px;overflow:hidden;
}
.about-obj__item{
  background:#fff;padding:28px 32px;display:flex;gap:20px;align-items:flex-start;
  transition:background .2s;
}
.about-obj__item:hover{background:var(--teal-light)}
.about-obj__num{
  font-family:'Poppins',sans-serif;font-size:1.6rem;font-weight:800;
  color:var(--teal-mid);line-height:1;flex-shrink:0;width:44px;
}
.about-obj__item strong{display:block;font-size:.92rem;font-weight:700;color:var(--navy);margin-bottom:6px}
.about-obj__item p{font-size:.85rem;color:#4d5765;line-height:1.7;margin:0}

@media(max-width:960px){
  .about-who__layout{grid-template-columns:1fr;gap:40px}
  .about-vma__grid{grid-template-columns:1fr;gap:16px}
  .about-obj__grid{grid-template-columns:1fr}
  .about-obj__head{flex-direction:column;align-items:flex-start}
}
@media(max-width:560px){
  .about-vma__card{padding:32px 24px}
  .about-obj__item{padding:20px 20px}
}

/* Form compat */
.form-section{background:var(--surface);padding:88px 0}
.form-title{margin-bottom:8px}
.form-sub{color:var(--muted);margin-bottom:40px}
.form-section-title{font-family:'Poppins',sans-serif;font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);grid-column:1/-1;padding-top:16px;padding-bottom:8px;border-bottom:1px solid var(--border);margin-bottom:4px}
.form-required{color:var(--teal)}
.radio-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:.9rem;color:var(--body)}
.radio-label input{accent-color:var(--teal);width:16px;height:16px}
.form-consent{display:flex;align-items:flex-start;gap:12px;font-size:.87rem;color:var(--muted);cursor:pointer;grid-column:1/-1}
.form-consent input{accent-color:var(--teal);width:16px;height:16px;flex-shrink:0;margin-top:2px}
.form-submit{margin-top:8px}

/* Responsive compat */
@media(max-width:1024px){
  .about__grid{grid-template-columns:1fr;gap:40px}
  .membership-cards{grid-template-columns:1fr;max-width:420px;margin-left:auto;margin-right:auto}
  .footer__inner{grid-template-columns:1fr 1fr}
}
@media(max-width:768px){
  .footer__inner{grid-template-columns:1fr;gap:28px}
  .membership-cards{grid-template-columns:1fr}
}

/* ================================================================
   ACTIVITY VISUAL (what-we-do page icon panels)
   ================================================================ */
.activity-visual{
  border-radius:var(--radius-lg);
  aspect-ratio:4/3;
  display:flex;align-items:center;justify-content:center;
  background:var(--grad-vivid);
}
.activity-visual svg{
  width:72px;height:72px;
  stroke:rgba(255,255,255,.88);
  stroke-width:1.4;fill:none;
  stroke-linecap:round;stroke-linejoin:round;
}

/* ================================================================
   WHAT WE DO — AMR grid + mobile
   ================================================================ */
.wwd-amr-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:48px;
}

/* Page hero mobile sizing */
@media(max-width:768px){
  .page-hero{padding:calc(var(--nav-h) + 48px) 0 56px}
  .page-hero h1{font-size:clamp(1.8rem,6vw,2.8rem)}
  .page-hero p{font-size:1rem}
  .wwd-amr-grid{grid-template-columns:1fr;gap:16px}

  /* Activity rows: keep icon beside text as a compact square */
  .about__grid{
    grid-template-columns:1fr 76px;
    gap:20px;
    align-items:start;
  }
  /* Force icon to always sit in column 2, row 1 regardless of DOM order */
  .activity-visual{
    grid-column:2;
    grid-row:1;
    aspect-ratio:1;
    border-radius:16px;
    width:76px;
  }
  .about__grid > div:not(.activity-visual){
    grid-column:1;
    grid-row:1;
  }
  .activity-visual svg{width:32px;height:32px}
}
@media(max-width:560px){
  .page-hero{padding:calc(var(--nav-h) + 36px) 0 44px}
  .page-hero h1{font-size:clamp(1.6rem,7vw,2.2rem)}
  .wwd-amr-grid{grid-template-columns:1fr}
  .about__grid{grid-template-columns:1fr 64px;gap:16px}
  .activity-visual{width:64px}
}

/* Event meta icon sizing */
.event-card__meta span{display:flex;align-items:center;gap:5px}
.event-card__meta span svg{width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;flex-shrink:0}

/* ================================================================
   EVENTS PAGE
   ================================================================ */
.events-filter{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:40px}
.events-filter__btn{
  padding:8px 18px;border-radius:99px;border:1.5px solid var(--border);
  background:#fff;color:var(--gray-600);font-family:'Poppins',sans-serif;
  font-size:.82rem;font-weight:600;cursor:pointer;
  transition:background var(--t),color var(--t),border-color var(--t);
}
.events-filter__btn:hover{border-color:var(--teal-dark);color:var(--teal-dark)}
.events-filter__btn.active{background:var(--teal-dark);border-color:var(--teal-dark);color:#fff}
.events-section-label{display:block;font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gray-400);margin-bottom:28px}
.events-empty{text-align:center;color:var(--gray-400);font-size:.95rem;padding:48px 0;font-style:italic}
.events-loading{text-align:center;color:var(--gray-400);font-size:.9rem;padding:40px 0}
.events-loading.hidden,.events-empty.hidden{display:none}

/* Register button on event cards */
.event-card__actions{display:flex;align-items:center;gap:12px;margin-top:14px;flex-wrap:wrap}
.event-card__register{
  display:inline-flex;align-items:center;gap:6px;
  padding:7px 16px;border-radius:99px;border:1.5px solid var(--teal-dark);
  background:var(--teal-dark);color:#fff;
  font-family:'Poppins',sans-serif;font-size:.82rem;font-weight:700;
  cursor:pointer;transition:background var(--t),transform .15s;
}
.event-card__register:hover{background:var(--teal-vivid);border-color:var(--teal-vivid);transform:translateY(-1px)}

/* News cards on events page */
.news-card{background:#fff;border-radius:var(--radius-lg);border:1px solid var(--border);overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .25s var(--spring),transform .25s var(--spring)}
.news-card:hover{box-shadow:0 12px 40px rgba(0,0,0,.1);transform:translateY(-4px)}
.news-card__img{aspect-ratio:16/9;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.news-card__img svg{width:48px;height:48px;position:relative;z-index:1}
.news-card__body{padding:22px;flex:1;display:flex;flex-direction:column}
.news-card__meta{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.news-card__tag{background:var(--teal-light);color:var(--teal-dark);font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:3px 10px;border-radius:99px}
.news-card__date{font-size:.78rem;color:var(--muted)}
.news-card__body h3{font-family:'Poppins',sans-serif;font-size:1rem;font-weight:700;color:var(--navy);margin-bottom:10px;line-height:1.4}
.news-card__body p{font-size:.875rem;color:var(--gray-600);line-height:1.75;flex:1}

/* ================================================================
   REGISTRATION POPUP
   ================================================================ */
.reg-overlay{
  position:fixed;inset:0;z-index:9000;
  background:rgba(13,31,45,.65);backdrop-filter:blur(6px);
  display:flex;align-items:center;justify-content:center;padding:20px;
}
.reg-overlay.hidden{display:none}
.reg-modal{
  background:#fff;border-radius:24px;width:100%;max-width:560px;
  max-height:90vh;overflow-y:auto;position:relative;
  box-shadow:0 32px 80px rgba(0,0,0,.28);
  animation:regSlide .28s var(--spring);
}
@keyframes regSlide{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
.reg-modal__close{
  position:absolute;top:18px;right:18px;z-index:1;
  width:36px;height:36px;border-radius:50%;border:1.5px solid var(--border);
  background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;
  transition:background var(--t),border-color var(--t);
}
.reg-modal__close:hover{background:var(--surface);border-color:var(--gray-400)}
.reg-modal__head{
  padding:32px 32px 24px;border-bottom:1px solid var(--border);
  background:linear-gradient(135deg,var(--navy) 0%,var(--teal-dark) 100%);
  border-radius:24px 24px 0 0;
}
.reg-modal__badge{display:inline-block;background:rgba(0,229,201,.2);color:#00E5C9;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;padding:3px 12px;border-radius:99px;margin-bottom:10px}
.reg-modal__title{font-family:'Poppins',sans-serif;font-size:1.25rem;font-weight:800;color:#fff;margin:0 0 6px;line-height:1.3;padding-right:40px}
.reg-modal__meta{font-size:.85rem;color:rgba(255,255,255,.6);margin:0}

/* Form */
.reg-form{padding:28px 32px 32px}
.reg-form__grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.reg-form__field{display:flex;flex-direction:column;gap:6px}
.reg-form__field--full{grid-column:1/-1}
.reg-form__label{font-size:.8rem;font-weight:600;color:var(--gray-600)}
.reg-form__label span{color:var(--teal-dark)}
.reg-form__input,.reg-form__textarea{
  padding:10px 14px;border:1.5px solid var(--border);border-radius:10px;
  font-size:.9rem;font-family:inherit;color:var(--navy);background:#fff;
  transition:border-color var(--t),box-shadow var(--t);
}
.reg-form__input:focus,.reg-form__textarea:focus{
  outline:none;border-color:var(--teal-dark);
  box-shadow:0 0 0 3px rgba(0,99,85,.1);
}
.reg-form__textarea{resize:vertical;min-height:80px}
.reg-form__error{color:#e53e3e;font-size:.84rem;margin:12px 0 0;padding:10px 14px;background:#fff5f5;border-radius:8px;border:1px solid #fed7d7}
.reg-form__error.hidden{display:none}
.reg-form__actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px;flex-wrap:wrap}


/* Success banner (page-level, appears after modal closes) */
.reg-success-banner{
  position:fixed;top:0;left:0;right:0;z-index:8000;
  transform:translateY(-100%);opacity:0;
  transition:transform .4s var(--spring),opacity .4s ease;
  pointer-events:none;
}
.reg-success-banner.hidden{display:none}
.reg-success-banner.visible{transform:translateY(0);opacity:1;pointer-events:auto}
.reg-success-banner__inner{
  display:flex;align-items:center;gap:14px;
  background:linear-gradient(90deg,#004D40,#006355);
  color:#fff;padding:16px 24px;
  box-shadow:0 4px 24px rgba(0,0,0,.2);
}
.reg-success-banner__icon{
  width:40px;height:40px;border-radius:50%;
  background:rgba(255,255,255,.15);display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.reg-success-banner__text{flex:1;font-size:.9rem;line-height:1.5}
.reg-success-banner__text strong{display:block;font-family:'Poppins',sans-serif;font-size:1rem;font-weight:700;margin-bottom:2px}
.reg-success-banner__close{
  width:32px;height:32px;border-radius:50%;border:1.5px solid rgba(255,255,255,.3);
  background:transparent;color:#fff;display:flex;align-items:center;justify-content:center;
  cursor:pointer;flex-shrink:0;transition:background var(--t);
}
.reg-success-banner__close:hover{background:rgba(255,255,255,.15)}

/* Mobile registration modal */
@media(max-width:560px){
  .reg-modal{border-radius:18px 18px 0 0;align-self:flex-end;max-height:92vh}
  .reg-overlay{align-items:flex-end;padding:0}
  .reg-form__grid{grid-template-columns:1fr}
  .reg-form{padding:20px 20px 28px}
  .reg-modal__head{padding:24px 20px 20px;border-radius:18px 18px 0 0}
}

/* ================================================================
   ADMIN — REGISTRATIONS
   ================================================================ */
.btn-regs{
  padding:5px 12px;border-radius:6px;border:1.5px solid var(--teal-dark);
  background:transparent;color:var(--teal-dark);font-size:.78rem;font-weight:600;cursor:pointer;
  transition:background var(--t),color var(--t);
}
.btn-regs:hover{background:var(--teal-dark);color:#fff}
.regs-group{margin-bottom:24px}
.regs-group__head{
  font-family:'Poppins',sans-serif;font-size:.82rem;font-weight:700;
  color:var(--navy);padding:10px 0 10px;border-bottom:2px solid var(--teal-light);
  display:flex;align-items:center;gap:10px;margin-bottom:8px;
}
.regs-group__count{
  background:var(--teal-dark);color:#fff;font-size:.72rem;padding:2px 8px;border-radius:99px;
}
.reg-avatar{
  width:36px;height:36px;border-radius:50%;background:var(--teal-light);
  color:var(--teal-dark);font-family:'Poppins',sans-serif;font-weight:700;font-size:.9rem;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.item-row__note{font-size:.78rem;color:var(--muted);margin-top:4px;font-style:italic}

.toast__mark{
  width:10px;
  height:10px;
  border-radius:50%;
  background:rgba(255,255,255,.95);
  box-shadow:0 0 0 4px rgba(255,255,255,.12);
  flex-shrink:0;
}

/* ================================================================
   HOMEPAGE REDESIGN
   ================================================================ */
.home-main{
  background:
    radial-gradient(circle at top left, rgba(0,191,165,.08), transparent 32%),
    linear-gradient(180deg, #f4f7f6 0%, #ffffff 26%, #f6f8f8 100%);
}

.home-hero{
  position:relative;
  overflow:hidden;
  padding:calc(var(--nav-h) + 48px) 0 80px;
  background:linear-gradient(155deg,#08151c 0%,#0d212d 48%,#163c40 100%);
}

.home-hero::before{
  content:'';
  position:absolute;
  width:760px;
  height:760px;
  left:-180px;
  top:-260px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(255,255,255,.1), transparent 64%);
  pointer-events:none;
}

.home-hero::after{
  content:'';
  position:absolute;
  width:620px;
  height:620px;
  right:-160px;
  bottom:-220px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(0,229,201,.14), transparent 68%);
  pointer-events:none;
}

.home-hero__mesh{
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px);
  background-size:72px 72px;
  mask-image:linear-gradient(180deg, rgba(0,0,0,.9), transparent 92%);
  pointer-events:none;
}

.home-hero__grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1.02fr) minmax(340px,.98fr);
  gap:56px;
  align-items:center;
}

.home-kicker{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:8px 14px;
  border-radius:999px;
  background:rgba(255,255,255,.09);
  border:1px solid rgba(255,255,255,.15);
  color:rgba(255,255,255,.86);
  font-family:'Poppins',sans-serif;
  font-size:.74rem;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  margin-bottom:18px;
}

.home-kicker::before{
  content:'';
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--teal-vivid);
  flex-shrink:0;
}

.home-hero__title{
  max-width:14ch;
  color:#fff;
  font-size:clamp(2.2rem,4vw,3.4rem);
  line-height:1.1;
  letter-spacing:-.03em;
  margin-bottom:18px;
}

.home-hero__text{
  max-width:620px;
  color:rgba(255,255,255,.76);
  font-size:1.08rem;
  line-height:1.8;
  margin-bottom:28px;
}

.home-hero__actions{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  margin-bottom:20px;
}

.home-hero__trust{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-bottom:28px;
}

.home-hero__trust span{
  padding:9px 14px;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
  color:rgba(255,255,255,.82);
  font-size:.83rem;
  font-weight:600;
}

.home-proof{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  max-width:640px;
}

.home-proof__item{
  padding:18px 20px;
  border-radius:18px;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.12);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}

.home-proof__item strong{
  display:block;
  color:#fff;
  font-family:'Poppins',sans-serif;
  font-size:2rem;
  line-height:1;
  margin-bottom:6px;
}

.home-proof__item span{
  color:rgba(255,255,255,.64);
  font-size:.8rem;
  font-weight:600;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.home-hero__visual{
  display:flex;
  justify-content:flex-end;
}

.orbit-board{
  position:relative;
  width:100%;
  max-width:620px;
  aspect-ratio:1;
  border-radius:36px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.12);
  background:
    linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.03)),
    radial-gradient(circle at top right, rgba(255,255,255,.16), transparent 36%),
    linear-gradient(160deg, rgba(255,255,255,.08), rgba(255,255,255,.02));
  box-shadow:0 40px 90px rgba(0,0,0,.28);
}

.orbit-board__grid{
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px);
  background-size:44px 44px;
}

.orbit-ring{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  border-radius:50%;
  border:1px solid rgba(255,255,255,.12);
}

.orbit-ring--lg{width:78%;height:78%}
.orbit-ring--md{width:54%;height:54%}
.orbit-ring--sm{width:28%;height:28%}

.orbit-card{
  position:absolute;
  padding:14px 16px;
  border-radius:18px;
  background:rgba(255,255,255,.9);
  border:1px solid rgba(13,31,45,.08);
  box-shadow:0 18px 40px rgba(0,0,0,.12);
  color:var(--charcoal);
}

.orbit-card--center{
  width:min(58%,320px);
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  padding:24px 22px;
  background:linear-gradient(150deg, rgba(255,255,255,.97), rgba(232,246,244,.95));
  transition:background .4s var(--ease);
  pointer-events:none;
  z-index:3;
}

.orbit-card--center h2{
  font-size:1.25rem;
  color:var(--navy);
  margin-bottom:8px;
  line-height:1.3;
  transition:opacity .3s var(--ease),transform .3s var(--spring);
}

.orbit-card--center p{
  color:var(--body);
  font-size:.88rem;
  line-height:1.65;
  transition:opacity .3s var(--ease) .06s,transform .3s var(--spring) .06s;
}

.orbit-card--center.updating h2,
.orbit-card--center.updating p{
  opacity:0;
  transform:translateY(6px);
}

.orbit-card__label{
  display:inline-block;
  margin-bottom:10px;
  color:var(--teal-dark);
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.orbit-card__index{
  display:block;
  margin-bottom:4px;
  color:var(--muted);
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.12em;
}

.orbit-card--north,
.orbit-card--east,
.orbit-card--south,
.orbit-card--west{
  width:130px;
  text-align:center;
  cursor:pointer;
  transition:transform .25s var(--spring),box-shadow .25s var(--ease),background .2s var(--ease),border-color .2s;
  border:2px solid transparent;
}

.orbit-card--north:hover,
.orbit-card--east:hover,
.orbit-card--south:hover,
.orbit-card--west:hover{
  transform:translateX(-50%) scale(1.08);
  box-shadow:0 22px 48px rgba(0,0,0,.18);
}
.orbit-card--east:hover,
.orbit-card--west:hover{
  transform:translateY(-50%) scale(1.08);
}

.orbit-card--north.orbit-active,
.orbit-card--east.orbit-active,
.orbit-card--south.orbit-active,
.orbit-card--west.orbit-active{
  background:linear-gradient(135deg,#e0f7f4,#f0faf9);
  border-color:var(--teal);
  box-shadow:0 12px 32px rgba(0,191,165,.2);
}
.orbit-card--north.orbit-active{transform:translateX(-50%) scale(1.06)}
.orbit-card--east.orbit-active,
.orbit-card--west.orbit-active{transform:translateY(-50%) scale(1.06)}
.orbit-card--south.orbit-active{transform:translateX(-50%) scale(1.06)}

.orbit-card--north{
  top:36px;
  left:50%;
  transform:translateX(-50%);
}

.orbit-card--east{
  right:28px;
  top:50%;
  transform:translateY(-50%);
}

.orbit-card--south{
  bottom:36px;
  left:50%;
  transform:translateX(-50%);
}

.orbit-card--west{
  left:28px;
  top:50%;
  transform:translateY(-50%);
}

.orbit-card__icon{
  display:block;
  font-size:1.5rem;
  margin-bottom:6px;
  line-height:1;
}

.home-section-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  flex-wrap:wrap;
  gap:24px;
  margin-bottom:48px;
}

.home-section-head .section-title{
  margin-bottom:0;
  max-width:760px;
}

.home-section-head .section-sub{
  max-width:560px;
}

.home-section-head--center{
  display:block;
  text-align:center;
}

.home-section-head--center .section-title{
  margin:0 auto;
}

.home-section-head--center .section-sub{
  margin:16px auto 0;
}

.home-intro__grid{
  display:grid;
  grid-template-columns:minmax(0,1.14fr) minmax(0,.86fr);
  gap:24px;
  align-items:stretch;
}

.editorial-card,
.signal-card,
.statement-card,
.priority-card,
.membership-slab{
  background:rgba(255,255,255,.88);
  border:1px solid rgba(13,31,45,.08);
  border-radius:24px;
  box-shadow:0 18px 40px rgba(13,31,45,.06);
}

.editorial-card--lead{
  padding:36px;
}

.editorial-card__eyebrow,
.signal-card__eyebrow,
.statement-card__eyebrow{
  margin-bottom:14px;
  color:var(--muted);
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.editorial-card--lead h3{
  font-size:1.75rem;
  line-height:1.2;
  margin-bottom:12px;
}

.editorial-card--lead > p{
  color:var(--body);
  font-size:1rem;
  line-height:1.8;
}

.editorial-card__list{
  display:grid;
  gap:16px;
  margin-top:24px;
}

.editorial-card__list div{
  display:grid;
  grid-template-columns:42px 1fr;
  gap:16px;
  padding-top:16px;
  border-top:1px solid rgba(13,31,45,.08);
}

.editorial-card__list span{
  width:42px;
  height:42px;
  border-radius:14px;
  background:rgba(13,31,45,.06);
  color:var(--navy);
  font-family:'Poppins',sans-serif;
  font-size:.9rem;
  font-weight:800;
  display:flex;
  align-items:center;
  justify-content:center;
}

.editorial-card__list p{
  color:var(--body);
  font-size:.95rem;
  line-height:1.7;
}

.home-intro__stack{
  display:grid;
  gap:24px;
}

.signal-card,
.statement-card{
  padding:30px;
}

.signal-card__grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}

.signal-card__grid div{
  padding:16px;
  border-radius:18px;
  background:linear-gradient(180deg,#f4f7f6,#fbfcfc);
  border:1px solid rgba(13,31,45,.06);
}

.signal-card__grid strong{
  display:block;
  margin-bottom:4px;
  color:var(--navy);
  font-family:'Poppins',sans-serif;
  font-size:1rem;
}

.signal-card__grid span{
  color:var(--muted);
  font-size:.84rem;
  line-height:1.6;
}

.statement-card blockquote{
  color:var(--navy);
  font-family:'Poppins',sans-serif;
  font-size:1.55rem;
  line-height:1.35;
  letter-spacing:-.03em;
}

.statement-card__link{
  display:inline-flex;
  margin-top:18px;
  color:var(--teal-dark);
  font-family:'Poppins',sans-serif;
  font-size:.9rem;
  font-weight:700;
}

.home-priority-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:20px;
}

/* ── Pillar Cards ── */
.pillar-card{
  border-radius:var(--radius-lg);
  overflow:hidden;
  border:1px solid var(--border);
  background:#fff;
  box-shadow:var(--shadow-sm);
  display:flex;
  flex-direction:column;
  transition:transform .35s var(--spring),box-shadow .35s var(--ease);
}

.pillar-card:hover{
  transform:translateY(-10px);
  box-shadow:0 32px 64px rgba(0,137,123,.15);
}

/* Gradient header zone */
.pillar-card__head{
  position:relative;
  height:140px;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  padding:20px 24px;
  overflow:hidden;
}

.pillar-card__head--1{background:linear-gradient(135deg,#004D40 0%,#00897B 55%,#26C6B0 100%)}
.pillar-card__head--2{background:linear-gradient(135deg,#0D1F2D 0%,#0A3D4F 55%,#0B6E7A 100%)}
.pillar-card__head--3{background:linear-gradient(135deg,#1A0533 0%,#3B1F6B 55%,#6B3FA0 100%)}
.pillar-card__head--4{background:linear-gradient(135deg,#1A2800 0%,#3D5C00 55%,#6B9A12 100%)}

/* Decorative circle behind icon */
.pillar-card__head::before{
  content:'';
  position:absolute;
  width:160px;height:160px;
  border-radius:50%;
  background:rgba(255,255,255,.08);
  top:-40px;right:-40px;
}
.pillar-card__head::after{
  content:'';
  position:absolute;
  width:90px;height:90px;
  border-radius:50%;
  background:rgba(255,255,255,.06);
  bottom:-20px;left:30px;
}

.pillar-card__icon{
  position:relative;
  z-index:1;
  width:56px;height:56px;
  border-radius:16px;
  background:rgba(255,255,255,.15);
  border:1px solid rgba(255,255,255,.22);
  display:flex;align-items:center;justify-content:center;
  color:#fff;
  backdrop-filter:blur(8px);
  transition:transform .35s var(--spring),background .25s var(--ease);
}

.pillar-card__icon svg{
  width:26px;height:26px;
  stroke:#fff;
}

.pillar-card:hover .pillar-card__icon{
  transform:scale(1.1);
  background:rgba(255,255,255,.25);
}

.pillar-card__no{
  position:relative;
  z-index:1;
  font-family:'Poppins',sans-serif;
  font-size:3.5rem;
  font-weight:800;
  color:rgba(255,255,255,.18);
  line-height:1;
  letter-spacing:-.05em;
  align-self:flex-start;
}

/* Body */
.pillar-card__body{
  padding:24px;
  display:flex;
  flex-direction:column;
  flex:1;
}

.pillar-card__body h3{
  font-size:1.1rem;
  margin-bottom:10px;
  color:var(--charcoal);
}

.pillar-card__body p{
  font-size:.9rem;
  color:var(--muted);
  line-height:1.7;
  margin-bottom:18px;
}

.pillar-list{
  display:flex;
  flex-direction:column;
  gap:8px;
  flex:1;
}

.pillar-list li{
  display:flex;
  align-items:center;
  gap:10px;
  font-size:.88rem;
  color:var(--body);
  line-height:1.5;
}

.pillar-list li::before{
  content:'';
  width:6px;height:6px;
  border-radius:50%;
  background:var(--teal);
  flex-shrink:0;
}

.pillar-card__cta{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-top:20px;
  padding:10px 0;
  border-top:1px solid var(--border);
  color:var(--teal-dark);
  font-family:'Poppins',sans-serif;
  font-size:.88rem;
  font-weight:700;
  transition:gap .2s var(--ease),color .2s;
}

.pillar-card__cta span{
  transition:transform .2s var(--spring);
}

.pillar-card:hover .pillar-card__cta{
  color:var(--teal);
}

.pillar-card:hover .pillar-card__cta span{
  transform:translateX(4px);
}

.home-process__grid{
  display:grid;
  grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);
  gap:32px;
  align-items:start;
}

.home-process__intro{
  position:sticky;
  top:112px;
}

.process-rail{
  position:relative;
  display:grid;
  gap:18px;
}

.process-rail::before{
  content:'';
  position:absolute;
  left:18px;
  top:24px;
  bottom:24px;
  width:1px;
  background:linear-gradient(180deg, rgba(13,31,45,.28), rgba(13,31,45,0));
}

.process-step{
  position:relative;
  display:grid;
  grid-template-columns:52px 1fr;
  gap:18px;
  padding:24px;
  border-radius:24px;
  background:#fff;
  border:1px solid rgba(13,31,45,.08);
  box-shadow:0 18px 36px rgba(13,31,45,.05);
}

.process-step__no{
  position:relative;
  z-index:1;
  width:38px;
  height:38px;
  border-radius:50%;
  background:var(--navy);
  color:#fff;
  font-family:'Poppins',sans-serif;
  font-size:.85rem;
  font-weight:800;
  display:flex;
  align-items:center;
  justify-content:center;
}

.process-step h3{
  margin-bottom:6px;
}

.process-step p{
  color:var(--muted);
  font-size:.95rem;
  line-height:1.7;
}

.home-amr-band{
  position:relative;
  overflow:hidden;
  background:linear-gradient(155deg,#09151c 0%,#0f212d 46%,#134145 100%);
}

.home-amr-band::before{
  content:'';
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 20% 0%, rgba(255,255,255,.08), transparent 30%),
    radial-gradient(circle at 80% 100%, rgba(0,229,201,.14), transparent 28%);
  pointer-events:none;
}

.home-amr-band__grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,.92fr);
  gap:36px;
  align-items:center;
}

.home-amr-band .section-label{
  background:rgba(255,255,255,.08);
  color:#fff;
}

.home-amr-band .section-label::before{
  background:var(--teal-vivid);
}

.home-amr-band .section-title{
  color:#fff;
  max-width:18ch;
}

.home-amr-band .section-sub{
  color:rgba(255,255,255,.75);
  max-width:560px;
}

.home-amr-band__actions{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  margin-top:28px;
}

.home-amr-band__panel{
  display:grid;
  gap:14px;
}

.amr-proof{
  display:grid;
  grid-template-columns:56px 1fr;
  gap:18px;
  padding:22px;
  border-radius:22px;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.12);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}

.amr-proof__label{
  width:42px;
  height:42px;
  border-radius:14px;
  background:rgba(255,255,255,.12);
  color:#fff;
  font-family:'Poppins',sans-serif;
  font-size:.9rem;
  font-weight:800;
  display:flex;
  align-items:center;
  justify-content:center;
}

.amr-proof h3{
  color:#fff;
  margin-bottom:6px;
  font-size:1rem;
}

.amr-proof p{
  color:rgba(255,255,255,.68);
  font-size:.92rem;
  line-height:1.7;
}

.home-membership__grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
}

.membership-slab{
  display:flex;
  flex-direction:column;
  gap:18px;
  padding:30px;
}

.membership-slab--featured{
  background:linear-gradient(180deg,#ffffff 0%,#f3fbf9 100%);
  border-color:rgba(0,191,165,.32);
  box-shadow:0 22px 52px rgba(0,191,165,.12);
}

.membership-slab__top{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:14px;
}

.membership-slab__tag{
  display:inline-flex;
  align-items:center;
  padding:7px 12px;
  border-radius:999px;
  background:rgba(13,31,45,.06);
  color:var(--charcoal);
  font-family:'Poppins',sans-serif;
  font-size:.8rem;
  font-weight:700;
}

.membership-slab__price{
  color:var(--navy);
  font-family:'Poppins',sans-serif;
  font-size:1.7rem;
  line-height:1;
}

.membership-slab__copy{
  color:var(--muted);
  font-size:.95rem;
  line-height:1.75;
  min-height:72px;
}

.home-events__grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
}

.home-event{
  display:grid;
  grid-template-columns:94px 1fr;
  gap:18px;
  padding:24px;
}

.home-event__date{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:6px;
  border-radius:20px;
  background:linear-gradient(180deg,#eef4f3 0%,#f8fbfb 100%);
  border:1px solid rgba(13,31,45,.08);
}

.home-event__date span{
  color:var(--muted);
  font-size:.7rem;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.home-event__date strong{
  color:var(--navy);
  font-family:'Poppins',sans-serif;
  font-size:1.55rem;
  line-height:1;
}

.home-event__body{
  display:flex;
  flex-direction:column;
}

.home-event__meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:12px;
}

.home-event__meta span{
  padding:5px 10px;
  border-radius:999px;
  background:rgba(13,31,45,.05);
  color:var(--charcoal);
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.home-event h3{
  margin-bottom:10px;
}

.home-event p{
  color:var(--muted);
  font-size:.92rem;
  line-height:1.7;
}

.home-event .event-link{
  margin-top:auto;
  padding-top:18px;
}

/* ================================================================
   NEWS CARDS
   ================================================================ */
.home-news{background:var(--white)}

.news-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
}

.news-card{
  border-radius:var(--radius-lg);
  border:1px solid var(--border);
  background:#fff;
  box-shadow:var(--shadow-xs);
  overflow:hidden;
  display:flex;
  flex-direction:column;
  transition:transform .3s var(--spring),box-shadow .3s var(--ease);
  text-decoration:none;
  color:inherit;
}

.news-card:hover{
  transform:translateY(-6px);
  box-shadow:0 20px 48px rgba(13,31,45,.1);
}

.news-card__img{
  position:relative;
  height:140px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.news-card__img svg{width:48px;height:48px;stroke:rgba(255,255,255,.82);stroke-width:1.5;fill:none;stroke-linecap:round;stroke-linejoin:round}

.news-card__img--teal{
  background:linear-gradient(135deg,#004D40 0%,#00897B 60%,#00BFA5 100%);
}
.news-card__img--navy{
  background:linear-gradient(135deg,#0D1F2D 0%,#0A3040 60%,#005548 100%);
}
.news-card__img--mid{
  background:linear-gradient(135deg,#003D35 0%,#00695C 60%,#00897B 100%);
}

.news-card__tag{
  position:absolute;
  top:14px;left:14px;
  padding:5px 12px;
  border-radius:99px;
  background:rgba(255,255,255,.18);
  border:1px solid rgba(255,255,255,.25);
  color:#fff;
  font-family:'Poppins',sans-serif;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  backdrop-filter:blur(8px);
}

.news-card__body{
  padding:24px;
  display:flex;
  flex-direction:column;
  flex:1;
}

.news-card__date{
  display:block;
  margin-bottom:10px;
  color:var(--muted);
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.news-card h3{
  font-size:1.05rem;
  margin-bottom:10px;
  line-height:1.35;
  color:var(--charcoal);
}

.news-card p{
  color:var(--muted);
  font-size:.9rem;
  line-height:1.7;
  flex:1;
}

.news-card__link{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-top:18px;
  color:var(--teal-dark);
  font-family:'Poppins',sans-serif;
  font-size:.88rem;
  font-weight:700;
  transition:gap .2s var(--ease),color .2s;
}

.news-card__link:hover{
  gap:10px;
  color:var(--teal);
}

@media(max-width:1024px){
  .home-hero__grid,
  .home-intro__grid,
  .home-process__grid,
  .home-amr-band__grid{
    grid-template-columns:1fr;
  }

  .home-hero__visual{
    justify-content:center;
  }

  .home-priority-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .news-grid,
  .home-events__grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .home-process__intro{
    position:static;
  }
}

@media(max-width:768px){
  .home-hero{
    padding:calc(var(--nav-h) + 36px) 0 64px;
  }

  .home-hero__grid{
    gap:36px;
  }

  .home-hero__title{
    max-width:none;
    font-size:clamp(2.6rem,12vw,4rem);
  }

  .home-proof{
    grid-template-columns:1fr;
  }

  .orbit-board{
    max-width:none;
  }

  .orbit-card--center{
    width:min(72%,320px);
  }

  .orbit-card--north,
  .orbit-card--east,
  .orbit-card--south,
  .orbit-card--west{
    width:122px;
    padding:12px;
  }

  .home-section-head{
    margin-bottom:36px;
  }

  .signal-card__grid,
  .home-priority-grid,
  .news-grid,
  .home-events__grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .home-amr-band .section-title{
    max-width:none;
  }

  .home-amr-band__actions{
    flex-direction:column;
    align-items:flex-start;
  }
}

@media(max-width:560px){
  .home-priority-grid,
  .news-grid,
  .home-events__grid{
    grid-template-columns:1fr;
  }

  .pillar-card__head{
    height:120px;
  }

  .orbit-board{
    aspect-ratio:auto;
    min-height:520px;
  }

  .orbit-card--center{
    width:78%;
  }

  .orbit-card--north{
    top:18px;
  }

  .orbit-card--east{
    right:12px;
    top:146px;
    transform:none;
  }
  .orbit-card--east:hover,
  .orbit-card--east.orbit-active{
    transform:scale(1.06)!important;
  }

  .orbit-card--west{
    left:12px;
    top:146px;
    transform:none;
  }
  .orbit-card--west:hover,
  .orbit-card--west.orbit-active{
    transform:scale(1.06)!important;
  }

  .orbit-card--south{
    bottom:20px;
  }

  .editorial-card--lead,
  .signal-card,
  .statement-card,
  .priority-card,
  .membership-slab,
  .home-event{
    padding:22px;
  }

  .home-event{
    grid-template-columns:1fr;
  }

  .home-event__date{
    min-height:88px;
  }

  .amr-proof{
    grid-template-columns:44px 1fr;
    gap:14px;
  }
}

/* ================================================================
   HOMEPAGE ENHANCEMENT — Orbit section + new components
   ================================================================ */

/* Orbit section uses home-amr-band bg but needs a mesh overlay */
.home-orbit-section{
  padding-top:96px;
  padding-bottom:96px;
}

/* Decorative pseudo-element (::before is occupied by home-amr-band) */
.home-amr-band__before{
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 20% 0%, rgba(255,255,255,.08), transparent 30%),
    radial-gradient(circle at 80% 100%, rgba(0,229,201,.14), transparent 28%);
  pointer-events:none;
  z-index:0;
}

/* Orbit card icon — SVG support */
.orbit-card__icon{
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:0;
  margin-bottom:8px;
  width:100%;
}
.orbit-card__icon svg{
  width:22px;height:22px;
  stroke:var(--teal-dark);
  stroke-width:1.8;fill:none;
  stroke-linecap:round;stroke-linejoin:round;
}
.orbit-card.orbit-active .orbit-card__icon svg{stroke:var(--teal)}

/* Orbit satellite text */
.orbit-card--north,
.orbit-card--east,
.orbit-card--south,
.orbit-card--west{
  font-family:'Poppins',sans-serif;
  font-size:.82rem;
  font-weight:700;
  color:var(--charcoal);
  line-height:1.2;
}

/* Membership preview section */
.home-membership-preview{
  background:var(--surface);
}

.membership-slab{
  display:flex;
  flex-direction:column;
  gap:16px;
}

/* Ensure pillar-list inside membership-slab has correct spacing */
.membership-slab .pillar-list{
  flex:none;
}

/* Stats bar — slightly more visual weight */
.stat-block__num{
  font-family:'Poppins',sans-serif;
  font-size:2.2rem;
  font-weight:800;
  background:var(--grad-vivid);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
  line-height:1;
}

/* AMR band section label + title overrides for orbit section */
.home-orbit-section .section-label{
  background:rgba(255,255,255,.1);
  color:rgba(255,255,255,.9);
}
.home-orbit-section .section-label::before{
  background:var(--teal-vivid);
}
.home-orbit-section .section-title{
  color:#fff;
}
.home-orbit-section .section-sub{
  color:rgba(255,255,255,.75);
  max-width:520px;
}

/* CTA section label pill */
.cta-banner .section-label{
  background:rgba(255,255,255,.15);
  color:#fff;
  display:inline-flex;
  margin-bottom:20px;
}
.cta-banner .section-label::before{
  background:#fff;
}

/* Section padding increase for breathing room */
.section{padding:96px 0}
.section--surface{padding:96px 0}

/* Override specific tight sections */
.stats-bar{padding:0}
.partners{padding:64px 0}

/* Responsive adjustments for new sections */
@media(max-width:1024px){
  .home-orbit-section{padding-top:72px;padding-bottom:72px}
  .home-orbit-section .home-amr-band__grid{grid-template-columns:1fr}
  .home-orbit-section .home-hero__visual{justify-content:center;margin-top:40px}
  .orbit-board{max-width:480px;margin:0 auto}
}

@media(max-width:768px){
  .section{padding:72px 0}
  .section--surface{padding:72px 0}
  .home-orbit-section{padding-top:56px;padding-bottom:56px}
  .orbit-board{max-width:none}
  .home-membership__grid{grid-template-columns:1fr;max-width:420px;margin-left:auto;margin-right:auto}
  .home-intro__grid{grid-template-columns:1fr}
  .statement-card blockquote{font-size:1.25rem}
  .cta-banner{padding:72px 0}
}

@media(max-width:560px){
  .home-membership__grid{max-width:none}
}

/* ── What NIPCA Does — two-column layout ── */
.nipca-pillars{background:var(--surface);border-top:1px solid var(--border)}

/* Two-column wrapper: about on left, pillars stacked on right */
.nipca-pillars__layout{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:72px;
  align-items:start;
}

/* Left column — about text */
.nipca-pillars__about{
  position:sticky;
  top:100px;
}

.nipca-pillars__about .section-label{display:inline-flex;margin-bottom:16px}
.nipca-pillars__about .section-title{margin-bottom:20px}
.nipca-pillars__about .section-sub{color:#4d5765;font-size:.95rem;line-height:1.75;margin-bottom:16px}
.nipca-pillars__body{font-size:.9rem;color:#4d5765;line-height:1.8}

/* Right column — pillars stacked vertically */
.nipca-pillars__stack{
  display:flex;
  flex-direction:column;
  gap:16px;
}

/* Each pillar — horizontal pill row */
.nipca-pillar{
  background:#fff;
  border:1px solid var(--border);
  border-radius:16px;
  display:flex;
  flex-direction:row;
  align-items:center;
  gap:20px;
  padding:20px 24px;
  overflow:hidden;
  position:relative;
  transition:transform .25s var(--spring),box-shadow .25s var(--ease),border-color .25s;
}

.nipca-pillar:hover{
  transform:translateX(6px);
  box-shadow:0 8px 32px rgba(0,191,165,.12);
  border-color:var(--teal-mid);
}

/* Colour-coded left bar per pillar */
.nipca-pillar::before{
  content:'';
  position:absolute;
  left:0;top:0;bottom:0;
  width:4px;
  background:var(--grad-vivid);
  border-radius:16px 0 0 16px;
}
.nipca-pillar--b::before{background:linear-gradient(180deg,#00897B,#00BFA5)}
.nipca-pillar--c::before{background:linear-gradient(180deg,#0D5E76,#00BFA5)}
.nipca-pillar--d::before{background:linear-gradient(180deg,#006355,#00E5C9)}

.nipca-pillar__top{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:6px;
  flex-shrink:0;
}

.nipca-pillar__icon{
  width:44px;
  height:44px;
  background:var(--teal-light);
  border-radius:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--teal-dark);
  flex-shrink:0;
  transition:background .2s,transform .2s var(--spring);
}

.nipca-pillar:hover .nipca-pillar__icon{
  background:var(--teal);
  color:#fff;
  transform:scale(1.08);
}

.nipca-pillar__icon svg{stroke:inherit}

.nipca-pillar__num{
  font-family:'Poppins',sans-serif;
  font-size:.72rem;
  font-weight:800;
  color:var(--border);
  line-height:1;
  user-select:none;
  letter-spacing:.06em;
}

/* Middle — title + description */
.nipca-pillar__body{flex:1;min-width:0}

.nipca-pillar h3{
  font-size:.95rem;
  font-weight:700;
  color:var(--navy);
  margin:0 0 4px;
}

.nipca-pillar p{
  font-size:.83rem;
  color:#4d5765;
  line-height:1.65;
  margin:0;
}

/* Right — link arrow */
.nipca-pillar__link{
  font-size:.8rem;
  font-weight:700;
  color:var(--teal-dark);
  display:inline-flex;
  align-items:center;
  gap:5px;
  white-space:nowrap;
  flex-shrink:0;
  transition:gap .2s,color .2s;
}

.nipca-pillar__link svg{transition:transform .2s}
.nipca-pillar:hover .nipca-pillar__link{color:var(--teal);gap:9px}
.nipca-pillar:hover .nipca-pillar__link svg{transform:translateX(3px)}

@media(max-width:960px){
  .nipca-pillars__layout{grid-template-columns:1fr;gap:40px}
  .nipca-pillars__about{position:static}
}

@media(max-width:500px){
  .nipca-pillar{flex-wrap:wrap}
  .nipca-pillar__link{width:100%;margin-top:4px}
}

/* ================================================================
   PREMIUM NEWS SLIDER — homepage
   ================================================================ */

/* Viewport clips the sliding track */
.ns-viewport{
  overflow:hidden;
  border-radius:20px;
}

/* Track: flex row, slides smoothly */
.ns-track{
  display:flex;
  gap:24px;
  transition:transform .55s cubic-bezier(.4,0,.2,1);
  will-change:transform;
}

/* Each card: full-image magazine style */
.pnews-card{
  position:relative;
  flex:0 0 calc((100% - 48px) / 3);
  min-width:0;
  height:420px;
  border-radius:20px;
  overflow:hidden;
  cursor:pointer;
  isolation:isolate;
}

/* Background: real image OR CSS gradient placeholder via --ph */
.pnews-card__bg{
  position:absolute;inset:0;
  background:var(--ph, linear-gradient(155deg,#006355,#00897B)) center/cover no-repeat;
  background-image:var(--img, none);
  background-size:cover;
  background-position:center;
  transition:transform .6s cubic-bezier(.4,0,.2,1);
  z-index:0;
}

.pnews-card:hover .pnews-card__bg{transform:scale(1.06)}

/* Gradient scrim darkening from middle to bottom */
.pnews-card__scrim{
  position:absolute;inset:0;z-index:1;
  background:linear-gradient(
    to bottom,
    rgba(0,0,0,.06) 0%,
    rgba(0,0,0,.18) 40%,
    rgba(0,0,0,.78) 100%
  );
  transition:opacity .35s;
}

.pnews-card:hover .pnews-card__scrim{opacity:.92}

/* Tag badge — top left */
.pnews-card__tag{
  position:absolute;top:18px;left:18px;z-index:3;
  font-family:'Poppins',sans-serif;
  font-size:.65rem;font-weight:800;
  letter-spacing:.12em;text-transform:uppercase;
  padding:5px 14px;border-radius:99px;
  background:rgba(255,255,255,.18);
  border:1px solid rgba(255,255,255,.35);
  color:#fff;
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}

.pnews-card__tag--amr{background:rgba(251,146,60,.25);border-color:rgba(251,146,60,.4)}
.pnews-card__tag--training{background:rgba(74,222,128,.2);border-color:rgba(74,222,128,.35)}

/* Footer content at bottom of card */
.pnews-card__foot{
  position:absolute;bottom:0;left:0;right:0;z-index:3;
  padding:28px 26px;
  display:flex;flex-direction:column;gap:8px;
  transform:translateY(8px);
  transition:transform .35s var(--spring);
}

.pnews-card:hover .pnews-card__foot{transform:translateY(0)}

.pnews-card__date{
  font-family:'Poppins',sans-serif;
  font-size:.7rem;font-weight:700;
  color:rgba(255,255,255,.6);
  text-transform:uppercase;letter-spacing:.1em;
}

.pnews-card__title{
  font-family:'Poppins',sans-serif;
  font-size:1.1rem;font-weight:800;
  color:#fff;line-height:1.3;
  letter-spacing:-.02em;margin:0;
}

.pnews-card__excerpt{
  font-size:.85rem;
  color:rgba(255,255,255,.72);
  line-height:1.65;margin:0;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  max-height:0;opacity:0;
  transition:max-height .35s var(--ease),opacity .3s;
}

.pnews-card:hover .pnews-card__excerpt{max-height:80px;opacity:1}

.pnews-card__link{
  display:inline-flex;align-items:center;gap:6px;
  font-family:'Poppins',sans-serif;
  font-size:.82rem;font-weight:700;
  color:var(--teal-vivid);
  transition:gap .2s;
  margin-top:4px;
  align-self:flex-start;
}

.pnews-card:hover .pnews-card__link{gap:10px}

/* Prev / Next arrow buttons */
.ns-arrow{
  width:42px;height:42px;
  border-radius:12px;
  border:1.5px solid var(--border);
  background:#fff;
  display:inline-flex;align-items:center;justify-content:center;
  color:var(--navy);
  transition:background .2s,border-color .2s,color .2s,transform .2s var(--spring);
  flex-shrink:0;
}

.ns-arrow:hover{
  background:var(--teal);
  border-color:var(--teal);
  color:#fff;
  transform:scale(1.08);
}

.ns-arrow:disabled{opacity:.35;pointer-events:none}

/* Dots */
.ns-dots{
  display:flex;justify-content:center;gap:8px;
  margin-top:24px;
}

.ns-dot{
  width:8px;height:8px;border-radius:50%;
  background:var(--border);
  border:none;padding:0;
  transition:background .25s,width .25s var(--spring);
  cursor:pointer;
}

.ns-dot.active{
  background:var(--teal);
  width:24px;border-radius:4px;
}

/* Responsive */
@media(max-width:900px){
  .pnews-card{flex:0 0 calc((100% - 24px) / 2)}
}
@media(max-width:560px){
  .pnews-card{flex:0 0 100%;height:360px}
}

/* ================================================================
   EVENT CARDS — homepage
   ================================================================ */
.ev-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}

.ev-card{
  background:#fff;
  border-radius:18px;
  overflow:hidden;
  border:1px solid var(--border);
  display:flex;
  flex-direction:column;
  transition:transform .25s var(--spring),box-shadow .25s var(--ease);
}

.ev-card:hover{
  transform:translateY(-6px);
  box-shadow:0 20px 50px rgba(0,191,165,.13);
}

.ev-card__header{
  background:linear-gradient(135deg,#006355,#00897B);
  padding:28px 24px 22px;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
}

.ev-card__header--b{background:linear-gradient(135deg,#0D5E76,#0891b2)}
.ev-card__header--c{background:linear-gradient(135deg,#2d4a22,#16a34a)}

.ev-card__cal{
  display:flex;
  flex-direction:column;
  gap:2px;
}

.ev-card__cal-mon{
  font-family:'Poppins',sans-serif;
  font-size:.72rem;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;
  color:rgba(255,255,255,.7);
}

.ev-card__cal-day{
  font-family:'Poppins',sans-serif;
  font-size:2.4rem;font-weight:800;
  color:#fff;line-height:1;
  letter-spacing:-.04em;
}

.ev-card__type{
  font-family:'Poppins',sans-serif;
  font-size:.65rem;font-weight:800;
  letter-spacing:.12em;text-transform:uppercase;
  background:rgba(255,255,255,.18);
  color:#fff;
  padding:4px 12px;border-radius:99px;
  border:1px solid rgba(255,255,255,.25);
}

.ev-card__body{
  padding:22px 24px 24px;
  display:flex;
  flex-direction:column;
  gap:10px;
  flex:1;
}

.ev-card__where{
  display:inline-flex;align-items:center;gap:5px;
  font-size:.78rem;font-weight:600;
  color:var(--muted);
}

.ev-card__where svg{flex-shrink:0;stroke:var(--muted)}

.ev-card__body h3{
  font-size:1rem;font-weight:700;
  color:var(--navy);line-height:1.35;
  margin:0;
}

.ev-card__body p{
  font-size:.87rem;color:var(--muted);
  line-height:1.65;margin:0;flex:1;
}

.ev-card__link{
  font-family:'Poppins',sans-serif;
  font-size:.83rem;font-weight:700;
  color:var(--teal-dark);
  margin-top:4px;
  transition:color .18s,letter-spacing .18s;
  align-self:flex-start;
}

.ev-card:hover .ev-card__link{color:var(--teal);letter-spacing:.01em}

@media(max-width:800px){.ev-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.ev-grid{grid-template-columns:1fr}}

/* ================================================================
   SITE HERO — replaces carousel
   ================================================================ */
.site-hero{
  position:relative;
  min-height:92vh;
  display:flex;
  align-items:center;
  overflow:hidden;
  background:url('../assets/header-image/slider-picture.webp') center/cover no-repeat;
}

.site-hero__overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(140deg,rgba(3,22,18,.93) 0%,rgba(0,55,46,.87) 52%,rgba(0,95,80,.78) 100%);
}

.site-hero__inner{
  position:relative;
  z-index:2;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  padding-top:calc(var(--nav-h) + 80px);
  padding-bottom:90px;
  width:100%;
}

.site-hero__badge{
  display:inline-flex;
  align-items:center;
  gap:10px;
  background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.2);
  border-radius:99px;
  padding:7px 20px;
  margin-bottom:30px;
  font-family:'Poppins',sans-serif;
  font-size:.82rem;
  font-weight:600;
  color:rgba(255,255,255,.9);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}

.site-hero__title{
  font-family:'Poppins',sans-serif;
  font-size:clamp(2.6rem,5.5vw,4.2rem);
  font-weight:800;
  color:#fff;
  line-height:1.12;
  letter-spacing:-.03em;
  margin-bottom:24px;
  max-width:720px;
}

.site-hero__accent{
  background:linear-gradient(135deg,#7FFFD4,var(--teal-vivid));
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
}

.site-hero__text{
  font-size:1.08rem;
  color:rgba(255,255,255,.75);
  line-height:1.78;
  max-width:560px;
  margin-bottom:38px;
}

.site-hero__actions{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  justify-content:center;
  margin-bottom:64px;
}

.site-hero__stats{
  display:flex;
  gap:48px;
  padding-top:32px;
  border-top:1px solid rgba(255,255,255,.14);
}

.site-hero__stat{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:5px;
}

.site-hero__stat-num{
  font-family:'Poppins',sans-serif;
  font-size:1.65rem;
  font-weight:800;
  color:#fff;
  line-height:1;
}

.site-hero__stat-lbl{
  font-size:.7rem;
  color:rgba(255,255,255,.55);
  text-transform:uppercase;
  letter-spacing:.12em;
  font-weight:600;
}

@media(max-width:600px){
  .site-hero{min-height:100svh}
  .site-hero__stats{gap:24px;flex-wrap:wrap;justify-content:center}
  .site-hero__title{font-size:2.2rem}
}

/* ================================================================
   PAGE HERO — ANIMATED TITLE (shared across pages)
   ================================================================ */
/* SVG canvas that is itself the .page-hero__canvas element */
svg.page-hero__canvas{
  width:100%;
  height:100%;
  position:absolute;
  inset:0;
  z-index:2;
  overflow:hidden;
  pointer-events:none;
}

/* Split-word animated heading */
.page-hero__animated-title{
  display:flex;
  flex-wrap:wrap;
  gap:.3em;
  color:#fff;
  margin-bottom:14px;
}

.pha-word{
  display:inline-block;
  opacity:0;
  transform:translateY(36px) skewY(4deg);
  animation:pha-rise .6s var(--spring) both;
  animation-delay:var(--d, 0ms);
}

@keyframes pha-rise{
  to{opacity:1;transform:translateY(0) skewY(0)}
}

.page-hero__sub{
  color:rgba(255,255,255,.8);
  font-size:1.1rem;
  max-width:560px;
}

/* ================================================================
   HOMEPAGE — EVENTS SECTION
   ================================================================ */
.home-events{
  background:var(--surface);
  border-top:1px solid var(--border);
}

.home-events-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
}

/* home-event card already defined; add missing image style */
.home-event{
  border-radius:var(--radius-lg);
  border:1px solid var(--border);
  background:#fff;
  box-shadow:var(--shadow-xs);
  transition:transform .3s var(--spring),box-shadow .3s var(--ease),border-color .25s;
}

.home-event:hover{
  transform:translateY(-6px);
  box-shadow:var(--shadow-md);
  border-color:var(--teal-mid);
}

.home-event__img{
  width:100%;
  height:160px;
  object-fit:cover;
  border-radius:calc(var(--radius-lg) - 1px) calc(var(--radius-lg) - 1px) 0 0;
  display:block;
}

@media(max-width:900px){
  .home-events-grid{grid-template-columns:repeat(2,1fr)}
}

@media(max-width:560px){
  .home-events-grid{grid-template-columns:1fr}
}

/* ================================================================
   MEMBERSHIP & CONTACT — HERO THEME COLOURS
   ================================================================ */
/* Membership hero is same teal base as others */
.page-hero--membership.page-hero--animated{background:#00695C}

/* Contact hero — same base, slightly different overlay tint */
.page-hero--contact.page-hero--animated::after{
  background:linear-gradient(140deg,rgba(0,99,85,.55) 0%,rgba(0,60,50,.5) 55%,rgba(0,105,92,.5) 100%);
}

/* ================================================================
   GLOBAL CARD HOVER ENHANCEMENTS
   ================================================================ */
/* Activity cards — lift + shadow on hover */
.activity-card{
  transition:transform .3s var(--spring),box-shadow .3s var(--ease),border-color .25s;
}
.activity-card:hover{
  transform:translateY(-6px);
  box-shadow:0 16px 40px rgba(13,31,45,.1);
  border-color:var(--teal-mid);
}

/* Membership cards */
.membership-card{
  transition:transform .3s var(--spring),box-shadow .3s var(--ease);
}
.membership-card:hover{
  transform:translateY(-8px);
  box-shadow:0 24px 60px rgba(13,31,45,.14);
}

/* Contact cards on contact page */
.contact-card{
  transition:transform .2s var(--spring),background .2s,box-shadow .2s;
}
.contact-card:hover{
  transform:translateX(5px);
  background:var(--teal-light);
  box-shadow:0 4px 20px rgba(0,191,165,.1);
}

/* ================================================================
   BUTTON MICRO-IMPROVEMENTS
   ================================================================ */
.btn-primary:active,.btn-white:active{transform:translateY(1px) scale(.98)}
.btn-outline:active,.btn-ghost:active{transform:translateY(1px)}

/* Slightly richer shadow on primary buttons */
.btn-primary{
  box-shadow:0 4px 18px rgba(0,137,123,.32);
}
.btn-primary:hover{
  box-shadow:0 8px 28px rgba(0,137,123,.42);
}

/* ================================================================
   FORM INPUT FOCUS IMPROVEMENTS
   ================================================================ */
.form-input:focus,.form-select:focus,.form-textarea:focus{
  outline:none;
  border-color:var(--teal-dark);
  box-shadow:0 0 0 3px rgba(0,191,165,.15);
}

/* ================================================================
   FOOTER TOUCH-UP
   ================================================================ */
.footer__links a{
  transition:color .2s,padding-left .2s;
  position:relative;
}
.footer__links a:hover{
  color:var(--teal);
  padding-left:6px;
}

/* ================================================================
   STATS BAR REFINEMENT
   ================================================================ */
.stats-bar{
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
}
.stat-block{
  transition:transform .25s var(--spring);
}
.stat-block:hover{
  transform:translateY(-3px);
}

/* ================================================================
   SECTION LABEL HOVER (in home section heads)
   ================================================================ */
.home-section-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  flex-wrap:wrap;
  margin-bottom:48px;
}

/* ================================================================
   RESPONSIVE FIXES — CONTACT FORM GRID
   ================================================================ */
@media(max-width:600px){
  .contact-grid #contactForm > div[style*="grid-template-columns:1fr 1fr"]{
    display:flex!important;
    flex-direction:column;
    gap:16px;
  }
}

/* ================================================================
   PARTNER CHIP HOVER
   ================================================================ */
.partner-chip{
  transition:background .2s,color .2s,transform .2s var(--spring);
}
.partner-chip:hover{
  background:var(--teal-light);
  color:var(--teal-dark);
  transform:scale(1.04);
}

/* ================================================================
   HOMEPAGE EVENTS — PREMIUM ROW LIST  (.hev-*)
   ================================================================ */
.hev-list{
  display:flex;
  flex-direction:column;
  gap:0;
  border:1px solid var(--border);
  border-radius:var(--radius-lg);
  overflow:hidden;
  background:#fff;
  box-shadow:var(--shadow-sm);
}

.hev-row{
  display:flex;
  align-items:center;
  gap:0;
  padding:0;
  text-decoration:none;
  color:inherit;
  border-bottom:1px solid var(--border);
  transition:background .2s var(--ease);
  position:relative;
  overflow:hidden;
}
.hev-row:last-child{border-bottom:none}

/* Teal left-bar on hover */
.hev-row::before{
  content:'';
  position:absolute;
  left:0;top:0;bottom:0;
  width:3px;
  background:var(--grad-vivid);
  transform:scaleY(0);
  transition:transform .25s var(--spring);
  transform-origin:center;
}
.hev-row:hover::before{transform:scaleY(1)}
.hev-row:hover{background:var(--surface)}

/* Date badge */
.hev-row__date{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:2px;
  flex-shrink:0;
  width:96px;
  padding:20px 14px;
  text-align:center;
}

.hev-row__month{
  font-size:.68rem;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--muted);
  line-height:1.2;
}

.hev-row__day{
  font-family:'Poppins',sans-serif;
  font-size:1.25rem;
  font-weight:800;
  color:var(--navy);
  line-height:1;
}

/* Vertical divider */
.hev-row__divider{
  width:1px;
  align-self:stretch;
  background:var(--border);
  flex-shrink:0;
  margin:12px 0;
}

/* Info block */
.hev-row__info{
  flex:1;
  min-width:0;
  padding:18px 20px;
}

.hev-row__tags{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:6px;
}

/* Type tag pills */
.hev-tag{
  font-size:.67rem;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
  padding:3px 9px;
  border-radius:99px;
  flex-shrink:0;
}
.hev-tag--workshop  {background:#E0F7F4;color:#00695C}
.hev-tag--webinar   {background:#E3F2FD;color:#0D5E76}
.hev-tag--conference{background:#EDE7F6;color:#4A1D96}
.hev-tag--campaign  {background:#FFF8E1;color:#92400E}
.hev-tag--training  {background:#F0FDF4;color:#166534}

/* Location chip */
.hev-row__loc{
  display:inline-flex;
  align-items:center;
  gap:4px;
  font-size:.75rem;
  color:var(--muted);
  font-weight:500;
}
.hev-row__loc svg{stroke:var(--muted);flex-shrink:0}

/* Title */
.hev-row__title{
  font-size:.95rem;
  font-weight:700;
  color:var(--navy);
  margin:0;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  transition:color .2s;
}
.hev-row:hover .hev-row__title{color:var(--teal-dark)}

/* Arrow */
.hev-row__arrow{
  flex-shrink:0;
  width:40px;
  height:40px;
  border-radius:50%;
  background:var(--surface);
  border:1px solid var(--border);
  display:flex;
  align-items:center;
  justify-content:center;
  margin-right:18px;
  color:var(--muted);
  transition:background .2s,color .2s,transform .2s var(--spring),border-color .2s;
}
.hev-row:hover .hev-row__arrow{
  background:var(--teal);
  border-color:var(--teal);
  color:#fff;
  transform:translateX(3px);
}

/* Remove old home-events-grid definition that conflicts */
.home-events-grid{display:block} /* overridden — grid replaced by .hev-list */

@media(max-width:600px){
  .hev-row__date{width:72px;padding:16px 10px}
  .hev-row__day{font-size:1.05rem}
  .hev-row__info{padding:14px 14px}
  .hev-row__title{white-space:normal}
  .hev-row__arrow{margin-right:12px;width:34px;height:34px}
}

/* ================================================================
   HOME DETAIL MODAL  (.hm-*)
   ================================================================ */
.hm-overlay{
  position:fixed;inset:0;z-index:2000;
  background:rgba(13,31,45,.55);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  display:flex;align-items:center;justify-content:center;
  padding:20px;
  opacity:0;pointer-events:none;
  transition:opacity .25s var(--ease);
}
.hm-overlay.open{
  opacity:1;pointer-events:auto;
}

.hm-panel{
  position:relative;
  background:#fff;
  border-radius:var(--radius-xl);
  width:100%;max-width:560px;
  max-height:90vh;
  overflow-y:auto;
  box-shadow:0 32px 80px rgba(0,0,0,.28);
  transform:scale(.94) translateY(16px);
  transition:transform .3s var(--spring),opacity .25s var(--ease);
  opacity:0;
}
.hm-overlay.open .hm-panel{
  transform:scale(1) translateY(0);
  opacity:1;
}

.hm-close{
  position:sticky;top:14px;
  float:right;
  margin:14px 14px -36px auto;
  width:36px;height:36px;
  border-radius:50%;
  background:rgba(0,0,0,.35);
  color:#fff;
  display:flex;align-items:center;justify-content:center;
  z-index:10;
  transition:background .2s,transform .2s var(--spring);
  flex-shrink:0;
}
.hm-close:hover{background:rgba(0,0,0,.6);transform:scale(1.1)}

/* Header band (image or gradient) */
.hmd-header{
  padding:32px 28px 24px;
  display:flex;
  flex-direction:column;
  gap:10px;
  border-radius:var(--radius-xl) var(--radius-xl) 0 0;
  min-height:180px;
  justify-content:flex-end;
}

.hmd-title{
  color:#fff;
  font-size:clamp(1.2rem,4vw,1.55rem);
  font-weight:800;
  line-height:1.2;
  margin:0;
  text-shadow:0 2px 12px rgba(0,0,0,.4);
}

.hmd-meta{
  display:flex;
  flex-wrap:wrap;
  gap:16px;
  color:rgba(255,255,255,.8);
  font-size:.82rem;
  font-weight:500;
}
.hmd-meta span{
  display:inline-flex;
  align-items:center;
  gap:5px;
}
.hmd-meta svg{stroke:rgba(255,255,255,.7);flex-shrink:0}

/* Body */
.hmd-body{
  padding:24px 28px 28px;
  display:flex;
  flex-direction:column;
  gap:20px;
}

.hmd-desc{
  color:var(--body);
  font-size:.95rem;
  line-height:1.75;
  margin:0;
}

.hmd-content{
  color:var(--body);
  font-size:.95rem;
  line-height:1.75;
}

.hmd-reg-btn{
  width:100%;
  justify-content:center;
  padding:14px;
}

/* Inline registration form */
.hmd-reg-form{
  display:flex;
  flex-direction:column;
  gap:0;
}

.hmd-reg-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-bottom:0;
}

.hmd-field{
  display:flex;
  flex-direction:column;
  gap:5px;
}

.hmd-label{
  font-size:.78rem;
  font-weight:700;
  color:var(--charcoal);
  text-transform:uppercase;
  letter-spacing:.07em;
}

.hmd-input{
  padding:10px 13px;
  border:1.5px solid var(--border);
  border-radius:10px;
  font-size:.88rem;
  font-family:inherit;
  color:var(--charcoal);
  background:#fff;
  transition:border-color .2s,box-shadow .2s;
  outline:none;
  width:100%;
}
.hmd-input:focus{
  border-color:var(--teal-dark);
  box-shadow:0 0 0 3px rgba(0,191,165,.14);
}

.hmd-textarea{
  resize:vertical;
  min-height:68px;
}

.hmd-reg-actions{
  display:flex;
  gap:10px;
  margin-top:18px;
  justify-content:flex-end;
}

/* Success state */
.hmd-success{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  gap:12px;
  padding:8px 0 8px;
}
.hmd-success__icon{
  width:56px;height:56px;
  border-radius:50%;
  background:var(--teal-light);
  display:flex;align-items:center;justify-content:center;
  color:var(--teal-dark);
}
.hmd-success h3{font-size:1.1rem;color:var(--navy)}
.hmd-success p{font-size:.88rem;color:var(--muted);max-width:320px;margin:0}

@media(max-width:560px){
  .hm-panel{border-radius:var(--radius-lg)}
  .hmd-header{border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:24px 20px 20px}
  .hmd-body{padding:18px 20px 22px}
  .hmd-reg-grid{grid-template-columns:1fr}
  .hmd-reg-actions{flex-direction:column}
  .hmd-reg-actions .btn{width:100%;justify-content:center}
}

/* ================================================================
   DETAIL PAGES — news-article.html & event-detail.html  (.art-*)
   ================================================================ */

/* ── Hero ── */
.art-hero{
  position:relative;
  min-height:420px;
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  padding-top:var(--nav-h);
}

.art-hero--event{ min-height:380px }

.art-hero__bg{
  position:absolute;inset:0;
  background:linear-gradient(140deg,#006355,#00897B);
  background-size:cover;
  background-position:center;
  animation:hero-kenburns 20s ease-in-out infinite alternate;
  z-index:0;
}

.art-hero__overlay{
  position:absolute;inset:0;z-index:1;
  background:linear-gradient(to top, rgba(0,0,0,.72) 0%, rgba(0,0,0,.3) 55%, rgba(0,0,0,.12) 100%);
}

.art-hero__inner{
  position:relative;z-index:2;
  padding:40px 0 44px;
  width:100%;
}

.art-hero__content{
  display:flex;
  flex-direction:column;
  gap:12px;
  max-width:700px;
}

.art-hero__title{
  color:#fff;
  font-size:clamp(1.6rem,4.5vw,2.8rem);
  font-weight:800;
  line-height:1.15;
  margin:0;
  text-shadow:0 2px 16px rgba(0,0,0,.4);
}

.art-hero__meta{
  display:flex;
  flex-wrap:wrap;
  gap:20px;
  color:rgba(255,255,255,.8);
  font-size:.85rem;
  font-weight:500;
}
.art-hero__meta span{
  display:inline-flex;align-items:center;gap:6px;
}
.art-hero__meta svg{ stroke:rgba(255,255,255,.7); flex-shrink:0 }

/* Skeleton loading */
.art-skel{
  background:rgba(255,255,255,.15);
  border-radius:8px;
  animation:art-pulse 1.4s ease-in-out infinite;
}
.art-skel--tag { width:80px; height:26px; border-radius:99px }
.art-skel--h1  { width:70%;  height:40px }
.art-skel--meta{ width:45%;  height:18px; border-radius:4px }
@keyframes art-pulse { 0%,100%{opacity:.4} 50%{opacity:.8} }

/* ── Body layout ── */
.art-section{ padding-top:64px }

.art-layout{
  display:grid;
  grid-template-columns:1fr 320px;
  gap:40px;
  align-items:start;
}

/* ── Article body ── */
.art-body{
  min-width:0;
}

.art-loading{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:14px;
  padding:80px 0;
  color:var(--muted);
  font-size:.9rem;
}

.art-spinner{
  width:36px;height:36px;
  border:3px solid var(--border);
  border-top-color:var(--teal);
  border-radius:50%;
  animation:art-spin .8s linear infinite;
}
@keyframes art-spin{ to{transform:rotate(360deg)} }

.art-error{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  gap:10px;
  padding:80px 0;
  color:var(--muted);
}
.art-error h3{ color:var(--charcoal) }

.art-article-body{
  display:flex;
  flex-direction:column;
  gap:24px;
}

.art-lead{
  font-size:1.1rem;
  color:var(--charcoal);
  line-height:1.75;
  font-weight:500;
  border-left:4px solid var(--teal);
  padding-left:20px;
}

.art-content p{
  color:var(--body);
  font-size:.975rem;
  line-height:1.85;
  margin-bottom:16px;
}
.art-content p:last-child{ margin-bottom:0 }

/* Event info chips */
.art-ev-chips{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-bottom:8px;
}
.art-ev-chip{
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:12px;
  padding:12px 18px;
  display:flex;
  flex-direction:column;
  gap:3px;
  min-width:120px;
}
.art-ev-chip__label{
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--muted);
}
.art-ev-chip__value{
  font-size:.92rem;
  font-weight:700;
  color:var(--navy);
  font-family:'Poppins',sans-serif;
}

.art-footer-tags{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  padding-top:8px;
  border-top:1px solid var(--border);
}
.art-tag-chip{
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  padding:4px 12px;
  border-radius:99px;
  background:var(--teal-light);
  color:var(--teal-dark);
}

.art-back-inline{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:.85rem;
  font-weight:700;
  color:var(--teal-dark);
  transition:gap .2s;
}
.art-back-inline:hover{ gap:10px }
.art-back-inline svg{ stroke:var(--teal-dark); flex-shrink:0 }

/* ── Sidebar ── */
.art-sidebar{
  position:sticky;
  top:108px;
  display:flex;
  flex-direction:column;
  gap:14px;
}

.art-sidebar__card{
  background:#fff;
  border:1px solid var(--border);
  border-radius:var(--radius-lg);
  padding:22px;
  box-shadow:var(--shadow-xs);
}

.art-sidebar__heading{
  font-size:.75rem;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--muted);
  margin-bottom:14px;
}

/* Share buttons */
.art-share{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.art-share__btn{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:9px 14px;
  border-radius:10px;
  font-size:.85rem;
  font-weight:600;
  color:var(--charcoal);
  background:var(--surface);
  border:1px solid var(--border);
  text-decoration:none;
  transition:background .2s,border-color .2s,color .2s,transform .15s var(--spring);
  cursor:pointer;
  font-family:inherit;
  width:100%;
  text-align:left;
}
.art-share__btn:hover{
  background:var(--teal-light);
  border-color:var(--teal-mid);
  color:var(--teal-dark);
  transform:translateX(3px);
}
.art-share__btn svg{ flex-shrink:0 }

.art-back-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:.87rem;
  font-weight:700;
  color:var(--teal-dark);
  transition:gap .2s;
}
.art-back-link:hover{ gap:12px }
.art-back-link svg{ stroke:var(--teal-dark) }

/* ── Registration form (event detail sidebar) ── */
.art-reg-card{ padding:24px }

.art-reg-form{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.art-reg-field{
  display:flex;
  flex-direction:column;
  gap:4px;
}

.art-reg-label{
  font-size:.74rem;
  font-weight:700;
  letter-spacing:.07em;
  text-transform:uppercase;
  color:var(--charcoal);
}

.art-reg-input{
  padding:9px 12px;
  border:1.5px solid var(--border);
  border-radius:9px;
  font-size:.88rem;
  font-family:inherit;
  color:var(--charcoal);
  background:#fff;
  outline:none;
  transition:border-color .2s,box-shadow .2s;
  width:100%;
}
.art-reg-input:focus{
  border-color:var(--teal-dark);
  box-shadow:0 0 0 3px rgba(0,191,165,.13);
}

.art-reg-textarea{ resize:vertical; min-height:72px }

.art-reg-error{
  color:#c0392b;
  font-size:.82rem;
  margin:0;
}

.art-reg-submit{
  width:100%;
  justify-content:center;
  padding:12px;
  margin-top:4px;
}

/* Registration success */
.art-reg-success{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  gap:12px;
  padding:12px 0;
}
.art-reg-success__icon{
  width:54px;height:54px;
  border-radius:50%;
  background:var(--teal-light);
  display:flex;align-items:center;justify-content:center;
  color:var(--teal-dark);
}
.art-reg-success h3{ font-size:1.05rem;color:var(--navy) }
.art-reg-success p{ font-size:.85rem;color:var(--muted);max-width:240px;margin:0;line-height:1.6 }

/* ── Responsive ── */
@media(max-width:960px){
  .art-layout{
    grid-template-columns:1fr;
  }
  .art-sidebar{
    position:static;
    flex-direction:row;
    flex-wrap:wrap;
  }
  .art-sidebar__card{
    flex:1;
    min-width:240px;
  }
}

@media(max-width:600px){
  .art-hero{ min-height:320px }
  .art-hero__inner{ padding:28px 0 32px }
  .art-section{ padding-top:40px }
  .art-sidebar{ flex-direction:column }
  .art-sidebar__card{ min-width:0 }
  .art-ev-chips{ gap:8px }
  .art-ev-chip{ min-width:0;flex:1 }
}

/* ================================================================
   POLICY PAGES (Privacy & Terms)
   ================================================================ */
.policy-wrap{max-width:780px;margin:0 auto}
.policy-section{margin-bottom:48px}
.policy-section h2{font-family:'Poppins',sans-serif;font-size:1.15rem;font-weight:700;color:var(--navy);margin-bottom:14px;padding-bottom:10px;border-bottom:2px solid var(--teal-light)}
.policy-section p{font-size:.95rem;color:var(--body);line-height:1.8;margin-bottom:14px}
.policy-section ul{margin:0 0 14px 0;padding-left:20px;display:flex;flex-direction:column;gap:8px}
.policy-section ul li{font-size:.95rem;color:var(--body);line-height:1.7}
.policy-section a{color:var(--teal-dark);text-decoration:underline}
.policy-section a:hover{color:var(--teal-vivid)}
