/* ═══════════════════════════════════════════════════════════════════
   AISPHERE — Custom CSS
   Design: Modern Agency / Bold & Clean
   Palette: Purple + Blue (Republic Marketing inspired)
   Laravel 12: /public/css/app.css
   ═══════════════════════════════════════════════════════════════════ */

:root {
  /* ── Core backgrounds ── */
  --white:#FFFFFF;
  --off-white:#F8F7FF;
  --cream:#F5F3EE;
  --cream-dark:#EAE7F8;
  --surface:#F0EEFF;

  /* ── Primary: Purple ── */
  --purple:#000000;
  --purple-light:#A78BFA;
  --purple-dark:#000000;
  --purple-wash:rgba(124,58,237,0.07);

  /* ── Accent: Electric Blue ── */
  --blue:#000000;
  --blue-light:#93C5FD;
  --blue-wash:rgba(37,99,235,0.07);

  /* ── Dark sections / footer ── */
  --dark:#080615;
  --dark-mid:#110D2E;

  /* ── Text ── */
  --charcoal:#0B0720;
  --ink:#0B0720;
  --stone:#64607A;
  --pebble:#9A96B0;
  --mist:#DDD8F0;

  /* ── Borders ── */
  --border:rgba(124,58,237,0.10);
  --border-hover:rgba(37,99,235,0.28);

  /* ── Compat aliases ── */
  --sage:#000000;
  --sage-light:#A78BFA;
  --sage-wash:rgba(124,58,237,0.07);
  --terracotta:#2563EB;
  --terra-wash:rgba(37,99,235,0.07);

  /* ── Typography ── */
  --font-body:'Poppins',sans-serif;
  --font-cursive:'Cormorant Garamond','Georgia',serif;

  /* ── Spacing ── */
  --s-4:4px;--s-8:8px;--s-10:10px;--s-12:12px;--s-16:16px;--s-20:20px;
  --s-24:24px;--s-28:28px;--s-32:32px;--s-40:40px;--s-48:48px;
  --s-56:56px;--s-64:64px;--s-72:72px;--s-80:80px;--s-96:96px;
  --s-100:100px;--s-120:120px;--s-160:160px;

  /* ── Radii ── */
  --r-sm:8px;--r-md:12px;--r-lg:20px;--r-xl:28px;--r-2xl:40px;--r-pill:100px;

  --ease:cubic-bezier(0.16,1,0.3,1);

  /* ── Shadows ── */
  --shadow-sm:0 2px 8px rgba(11,7,32,0.06);
  --shadow-md:0 8px 32px rgba(11,7,32,0.08);
  --shadow-lg:0 16px 48px rgba(11,7,32,0.12);
  --shadow-card:0 12px 40px rgba(11,7,32,0.07);
  --shadow-nav:0 4px 24px rgba(11,7,32,0.10),0 0 0 1px rgba(11,7,32,0.05);
}

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;}
body{background:#fff;color:var(--charcoal);font-family:var(--font-body);font-weight:400;font-size:16px;line-height:1.65;overflow-x:hidden;}
::selection{background:rgba(124,58,237,0.14);color:var(--charcoal);}
::-webkit-scrollbar{width:6px;}
::-webkit-scrollbar-track{background:#fff;}
::-webkit-scrollbar-thumb{background:var(--mist);border-radius:3px;}
img{max-width:100%;height:auto;display:block;}
a{color:inherit;text-decoration:none;}
button{font:inherit;cursor:pointer;border:none;background:none;}
ul,ol{list-style:none;}

.container{max-width:1380px;margin:0 auto;padding-left:var(--s-40);padding-right:var(--s-40);}
.cursive{font-family:var(--font-cursive);font-style:italic;font-weight:400;}

/* ─── REVEALS ─── */
.reveal{opacity:0;transform:translateY(44px);transition:opacity 0.9s var(--ease),transform 0.9s var(--ease);}
.reveal.from-left{transform:translateX(-44px);}
.reveal.from-right{transform:translateX(44px);}
.reveal.from-scale{transform:scale(0.94);}
.reveal.visible{opacity:1;transform:translate(0) scale(1);}
.reveal-d1{transition-delay:.1s;}.reveal-d2{transition-delay:.2s;}.reveal-d3{transition-delay:.3s;}
.reveal-d4{transition-delay:.4s;}.reveal-d5{transition-delay:.5s;}.reveal-d6{transition-delay:.6s;}

@keyframes fadeUp{from{opacity:0;transform:translateY(28px);}to{opacity:1;transform:translateY(0);}}
@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}
@keyframes slideUp{from{transform:translateY(110%);}to{transform:translateY(0);}}
@keyframes float{0%,100%{transform:translateY(0);}50%{transform:translateY(-14px);}}
@keyframes spinSlow{to{transform:rotate(360deg);}}
@keyframes marquee{to{transform:translateX(-50%);}}
@keyframes pulse{0%,100%{opacity:.4;transform:scale(1);}50%{opacity:1;transform:scale(1.05);}}
@keyframes wiggle{0%,100%{transform:rotate(-3deg);}50%{transform:rotate(3deg);}}

/* ─── EYEBROW ─── */
.eyebrow{font-size:11px;font-weight:600;letter-spacing:0.18em;text-transform:uppercase;color:var(--sage);display:flex;align-items:center;gap:var(--s-12);margin-bottom:var(--s-20);}
.eyebrow::before{content:'';width:28px;height:2px;background:var(--sage);border-radius:1px;}
.eyebrow--center{justify-content:center;}

/* ─── BUTTONS ─── */
.btn{display:inline-flex;align-items:center;gap:var(--s-8);font-weight:600;font-size:14px;border-radius:var(--r-pill);transition:all 0.45s var(--ease);letter-spacing:0.01em;white-space:nowrap;}
.btn--primary{padding:16px 36px;background:var(--sage);color:var(--cream);}
.btn--primary:hover{background:var(--charcoal);box-shadow:0 8px 28px rgba(61,90,71,0.2);transform:translateY(-2px);}
.btn--outline{padding:16px 32px;background:transparent;color:var(--charcoal);border:1.5px solid var(--mist);}
.btn--outline:hover{border-color:var(--sage);color:var(--sage);background:var(--sage-wash);}
.btn--ghost{padding:0;color:var(--sage);font-size:14px;font-weight:600;}
.btn--ghost:hover{gap:14px;}
.btn--terra{padding:16px 36px;background:var(--terracotta);color:#fff;}
.btn--terra:hover{background:var(--charcoal);transform:translateY(-2px);}
.btn--ghost-light{padding:16px 32px;background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,0.3);border-radius:var(--r-pill);font-weight:600;font-size:14px;display:inline-flex;align-items:center;gap:var(--s-8);letter-spacing:.01em;white-space:nowrap;transition:all .45s var(--ease);}
.btn--ghost-light:hover{border-color:rgba(255,255,255,0.7);background:rgba(255,255,255,0.08);}
.btn--lg{padding:18px 44px;font-size:15px;}
.btn__arrow{font-size:16px;transition:transform 0.3s;}
.btn:hover .btn__arrow{transform:translateX(3px);}

.tag{font-size:11px;font-weight:500;padding:5px 14px;border-radius:var(--r-pill);background:var(--sage-wash);color:var(--sage);letter-spacing:0.02em;display:inline-block;}

/* ═══════ NAVBAR ═══════ */
.site-header{position:fixed;top:0;left:0;right:0;z-index:1000;padding:var(--s-16) var(--s-32);transition:padding 0.4s var(--ease);background:transparent;}
.site-header.scrolled{padding:var(--s-12) var(--s-32);}
.site-header__inner{display:flex;align-items:center;justify-content:space-between;max-width:1280px;margin:0 auto;background:rgba(255,255,255,0.94);backdrop-filter:blur(20px) saturate(1.8);-webkit-backdrop-filter:blur(20px) saturate(1.8);border-radius:var(--r-pill);padding:8px 8px 8px var(--s-24);box-shadow:var(--shadow-nav);}
.logo{display:flex;align-items:center;gap:var(--s-10);}
.logo__mark{width:36px;height:36px;border-radius:var(--r-md);background:var(--purple);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:13px;color:#fff;transition:transform 0.4s var(--ease);flex-shrink:0;}
.logo:hover .logo__mark{transform:rotate(-6deg) scale(1.06);}
.logo__text{font-weight:700;font-size:17px;color:var(--charcoal);letter-spacing:-0.02em;}
.logo__text-accent{font-family:var(--font-cursive);font-style:italic;font-weight:400;color:var(--purple);}
.main-nav{display:flex;align-items:center;gap:28px;}
.main-nav__link{font-size:14px;font-weight:500;color:var(--charcoal);position:relative;transition:color 0.3s;}
.main-nav__link::after{content:'';position:absolute;bottom:-3px;left:0;width:0;height:2px;background:var(--purple);border-radius:1px;transition:width 0.4s var(--ease);}
.main-nav__link:hover,.main-nav__link.active{color:var(--charcoal);}
.main-nav__link:hover::after,.main-nav__link.active::after{width:100%;}
.nav__cta-btn{display:inline-flex;align-items:center;gap:6px;padding:9px 22px;background:var(--sage);color:#fff;border-radius:var(--r-pill);font-size:13.5px;font-weight:700;letter-spacing:.01em;white-space:nowrap;text-decoration:none;transition:background .35s var(--ease),box-shadow .35s var(--ease),transform .25s var(--ease);flex-shrink:0;}
.nav__cta-btn:hover{background:var(--sage-light);box-shadow:0 4px 18px rgba(61,90,71,0.28);transform:translateY(-1px);}
.nav__cta-btn--active{background:var(--sage-light);}
.hamburger{display:none;flex-direction:column;gap:5px;padding:var(--s-8);z-index:1001;}
.hamburger__bar{width:22px;height:2px;background:var(--charcoal);border-radius:1px;transition:all 0.4s var(--ease);}
body.nav-open .hamburger__bar:nth-child(1){transform:rotate(45deg) translate(4px,5px);}
body.nav-open .hamburger__bar:nth-child(2){opacity:0;}
body.nav-open .hamburger__bar:nth-child(3){transform:rotate(-45deg) translate(4px,-5px);}
.mobile-menu{position:fixed;inset:0;background:#fff;z-index:999;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:var(--s-24);opacity:0;pointer-events:none;transition:opacity 0.5s;}
body.nav-open .mobile-menu{opacity:1;pointer-events:all;}
.mobile-menu__link{font-size:42px;font-weight:800;color:var(--mist);letter-spacing:-0.03em;transition:all 0.4s;transform:translateY(20px);opacity:0;}
body.nav-open .mobile-menu__link{transform:translateY(0);opacity:1;}
body.nav-open .mobile-menu__link:nth-child(1){transition-delay:.05s;}
body.nav-open .mobile-menu__link:nth-child(2){transition-delay:.10s;}
body.nav-open .mobile-menu__link:nth-child(3){transition-delay:.15s;}
body.nav-open .mobile-menu__link:nth-child(4){transition-delay:.20s;}
body.nav-open .mobile-menu__link:nth-child(5){transition-delay:.25s;}
body.nav-open .mobile-menu__link:nth-child(6){transition-delay:.30s;}
body.nav-open .mobile-menu__link:nth-child(7){transition-delay:.35s;}
.mobile-menu__link:hover,.mobile-menu__link.active{color:var(--purple);}
.floating-cta{position:fixed;bottom:var(--s-32);right:var(--s-32);z-index:900;background:var(--purple);color:#fff;padding:14px 26px;border-radius:var(--r-pill);font-size:14px;font-weight:600;box-shadow:0 8px 32px rgba(11,7,32,0.25);transition:all 0.3s var(--ease);display:inline-block;letter-spacing:0.01em;}
.floating-cta:hover{background:var(--purple-dark);transform:translateY(-2px);}
.contact-page .floating-cta,.admin-body .floating-cta{display:none !important;}

/* ═══════ HERO ═══════ */
.hero{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:var(--s-64);padding:140px var(--s-40) var(--s-80);max-width:1380px;margin:0 auto;position:relative;}
.hero__content{position:relative;z-index:2;}
.hero__badge{display:inline-flex;align-items:center;gap:var(--s-8);padding:8px 18px;background:var(--sage-wash);border-radius:var(--r-pill);font-size:12px;font-weight:600;color:var(--sage);margin-bottom:var(--s-32);opacity:0;animation:fadeUp 0.8s var(--ease) 0.2s forwards;}
.hero__badge-dot{width:7px;height:7px;border-radius:50%;background:var(--sage);animation:pulse 2s infinite;}
.hero__title{font-weight:800;font-size:clamp(44px,6.5vw,88px);line-height:0.98;color:var(--charcoal);letter-spacing:-0.04em;margin-bottom:var(--s-32);}
.hero__title .line{display:block;overflow:hidden;}
.hero__title .line__inner{display:block;transform:translateY(110%);animation:slideUp 1s var(--ease) forwards;}
.hero__title .line:nth-child(1) .line__inner{animation-delay:0.3s;}
.hero__title .line:nth-child(2) .line__inner{animation-delay:0.5s;}
.hero__title .line:nth-child(3) .line__inner{animation-delay:0.7s;}
.hero__title .cursive{font-size:1.05em;color:var(--sage);}
.hero__subtitle{font-size:17px;line-height:1.75;color:var(--stone);max-width:460px;margin-bottom:var(--s-40);opacity:0;animation:fadeUp 0.9s var(--ease) 0.9s forwards;}
.hero__actions{display:flex;align-items:center;gap:var(--s-16);flex-wrap:wrap;opacity:0;animation:fadeUp 0.9s var(--ease) 1.1s forwards;}
.hero__visual{position:relative;opacity:0;animation:fadeUp 1s var(--ease) 0.6s forwards;}
.hero__img-primary{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:var(--r-xl);box-shadow:var(--shadow-lg);}
.hero__img-secondary{position:absolute;width:55%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r-lg);bottom:-40px;left:-48px;box-shadow:var(--shadow-lg);border:5px solid var(--cream);}
.hero__floating-badge{position:absolute;top:32px;right:-28px;width:110px;height:110px;border-radius:50%;background:var(--sage);color:var(--cream);display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:12px;font-weight:600;line-height:1.3;box-shadow:var(--shadow-md);animation:float 6s ease-in-out infinite;z-index:3;}
.hero__floating-badge strong{font-size:28px;font-weight:800;letter-spacing:-0.03em;line-height:1;}
.hero__decor-circle{position:absolute;width:180px;height:180px;border-radius:50%;border:1.5px dashed var(--mist);top:-40px;right:-20px;animation:spinSlow 30s linear infinite;z-index:0;}
.hero__stats{display:flex;gap:var(--s-40);margin-top:var(--s-64);padding-top:var(--s-32);border-top:1.5px solid var(--border);opacity:0;animation:fadeIn 1s 1.3s forwards;}
.stat__number{font-weight:800;font-size:38px;color:var(--charcoal);letter-spacing:-0.03em;line-height:1;}
.stat__label{font-size:12px;color:var(--pebble);margin-top:var(--s-4);letter-spacing:0.03em;}

/* ═══════ MARQUEE ═══════ */
.marquee{overflow:hidden;padding:var(--s-20) 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--white);}
.marquee__track{display:flex;animation:marquee 35s linear infinite;width:max-content;}
.marquee__item{font-weight:700;font-size:15px;letter-spacing:0.1em;text-transform:uppercase;color:transparent;-webkit-text-stroke:1px var(--mist);white-space:nowrap;padding:0 var(--s-32);display:flex;align-items:center;gap:var(--s-24);transition:all 0.3s;}
.marquee__item:hover{color:var(--sage);-webkit-text-stroke:0;}
.marquee__leaf{font-size:14px;opacity:0.3;}

/* ═══════ ABOUT ═══════ */
.about-section{padding:var(--s-160) 0;}
.about__grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-80);align-items:center;}
.about__image-wrap{position:relative;}
.about__image-wrap img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--r-xl);box-shadow:var(--shadow-card);transition:transform 0.7s var(--ease);}
.about__image-wrap:hover img{transform:scale(1.02);}
.about__decor{position:absolute;bottom:-24px;right:-24px;width:50%;height:50%;border-radius:var(--r-xl);background:var(--sage-wash);z-index:-1;}
.about__title{font-weight:700;font-size:clamp(30px,3.5vw,48px);color:var(--charcoal);letter-spacing:-0.03em;line-height:1.15;margin-bottom:var(--s-24);}
.about__text{font-size:16px;line-height:1.8;color:var(--stone);margin-bottom:var(--s-16);}
.values-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-16);margin-top:var(--s-32);}
.value-card{padding:var(--s-24);background:var(--white);border:1.5px solid var(--border);border-radius:var(--r-lg);transition:all 0.4s var(--ease);position:relative;overflow:hidden;}
.value-card::before{content:'';position:absolute;top:0;left:0;width:3px;height:0;background:var(--sage);border-radius:0 2px 2px 0;transition:height 0.5s var(--ease);}
.value-card:hover{border-color:var(--border-hover);box-shadow:var(--shadow-sm);}
.value-card:hover::before{height:100%;}
.value-card__icon{font-size:20px;margin-bottom:var(--s-12);}
.value-card__title{font-weight:600;font-size:15px;color:var(--charcoal);margin-bottom:var(--s-4);}
.value-card__desc{font-size:13px;color:var(--pebble);line-height:1.6;}

/* ═══════ SERVICES ═══════ */
.services-section{padding:var(--s-160) 0;background:var(--white);}
.services-section__header{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:var(--s-24);margin-bottom:var(--s-48);}
.services-scroll-wrap{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:var(--s-16);}
.services-scroll-wrap::-webkit-scrollbar{display:none;}
.services-track{display:flex;gap:var(--s-24);padding-left:var(--s-40);padding-right:var(--s-40);width:max-content;}
.service-card{width:340px;flex-shrink:0;padding:var(--s-40);background:var(--cream);border:1.5px solid var(--border);border-radius:var(--r-xl);transition:all 0.5s var(--ease);position:relative;overflow:hidden;cursor:pointer;}
.service-card:hover{border-color:var(--sage);transform:translateY(-6px);box-shadow:var(--shadow-card);}
.service-card__num{font-size:64px;font-weight:900;color:rgba(26,26,26,0.03);line-height:1;letter-spacing:-0.04em;margin-bottom:var(--s-16);transition:color 0.4s;}
.service-card:hover .service-card__num{color:var(--sage-wash);}
.service-card__icon{width:48px;height:48px;border-radius:var(--r-md);background:var(--sage);color:var(--cream);display:flex;align-items:center;justify-content:center;font-size:22px;margin-bottom:var(--s-24);transition:transform 0.4s var(--ease);}
.service-card:hover .service-card__icon{transform:rotate(-8deg) scale(1.08);}
.service-card__title{font-weight:700;font-size:20px;color:var(--charcoal);letter-spacing:-0.02em;margin-bottom:var(--s-12);}
.service-card__desc{font-size:14px;color:var(--stone);line-height:1.7;margin-bottom:var(--s-20);}
.service-card__tags{display:flex;gap:var(--s-8);flex-wrap:wrap;}
.services-detail-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--s-24);padding-bottom:var(--s-120);}

/* ═══════ PORTFOLIO ═══════ */
.portfolio-section{padding:var(--s-160) 0;}
.portfolio-section__header{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:var(--s-24);margin-bottom:var(--s-64);}
.portfolio-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-32);}
.portfolio-grid>:nth-child(even){margin-top:var(--s-64);}
.case-card{position:relative;border-radius:var(--r-xl);overflow:hidden;cursor:pointer;background:var(--white);border:1.5px solid var(--border);transition:all 0.5s var(--ease);}
.case-card:hover{border-color:transparent;box-shadow:var(--shadow-lg);transform:translateY(-6px);}
.case-card__img{width:100%;aspect-ratio:16/11;object-fit:cover;transition:transform 0.7s var(--ease);}
.case-card:hover .case-card__img{transform:scale(1.04);}
.case-card__body{padding:var(--s-24) var(--s-32);}
.case-card__category{font-size:11px;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;margin-bottom:var(--s-8);display:inline-flex;align-items:center;gap:var(--s-8);}
.case-card__dot{width:7px;height:7px;border-radius:50%;display:inline-block;}
.case-card__title{font-weight:700;font-size:clamp(18px,2vw,24px);color:var(--charcoal);letter-spacing:-0.02em;margin-bottom:var(--s-8);}
.case-card__desc{font-size:14px;color:var(--stone);line-height:1.6;}
.case-card__year{position:absolute;top:var(--s-16);right:var(--s-16);font-size:11px;font-weight:600;color:#fff;background:rgba(26,26,26,0.5);backdrop-filter:blur(8px);padding:4px 12px;border-radius:var(--r-pill);}
.case-card__arrow{position:absolute;top:var(--s-16);left:var(--s-16);width:36px;height:36px;border-radius:50%;background:var(--white);display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--charcoal);opacity:0;transform:scale(0.7) rotate(-45deg);transition:all 0.5s var(--ease);box-shadow:var(--shadow-sm);}
.case-card:hover .case-card__arrow{opacity:1;transform:scale(1) rotate(0deg);}

/* ═══════ TESTIMONIALS ═══════ */
.testimonials-section{padding:var(--s-120) var(--s-40);background:var(--sage);color:var(--cream);position:relative;overflow:hidden;}
.testimonials-section::before{content:'';position:absolute;top:-100px;right:-100px;width:400px;height:400px;border-radius:50%;background:rgba(255,255,255,0.03);}
.testimonials__inner{max-width:900px;margin:0 auto;text-align:center;position:relative;z-index:1;}
.testimonials__mark{font-family:var(--font-cursive);font-size:140px;color:rgba(255,255,255,0.06);position:absolute;top:-60px;left:50%;transform:translateX(-50%);pointer-events:none;line-height:1;}
.testimonials__quote-wrap{min-height:200px;display:flex;align-items:center;justify-content:center;margin-bottom:var(--s-40);}
.testimonials__quote{font-family:var(--font-cursive);font-style:italic;font-weight:500;font-size:clamp(22px,3vw,34px);line-height:1.45;color:var(--cream);}
.testimonial-slide{display:none;}
.testimonial-slide.active{display:block;animation:fadeUp 0.6s var(--ease);}
.testimonials__author{display:flex;align-items:center;justify-content:center;gap:var(--s-16);margin-bottom:var(--s-32);}
.testimonials__avatar{width:50px;height:50px;border-radius:50%;object-fit:cover;border:3px solid rgba(255,255,255,0.15);}
.testimonials__name{font-weight:600;font-size:15px;}
.testimonials__role{font-size:13px;opacity:0.6;}
.testimonials__author-info{text-align:left;}
.testimonials__dots{display:flex;justify-content:center;gap:var(--s-12);}
.testimonials__dot{width:28px;height:3px;border-radius:2px;background:rgba(255,255,255,0.15);transition:all 0.4s;padding:0;}
.testimonials__dot.active{background:var(--cream);width:44px;}

/* ═══════ CTA ═══════ */
.cta-section{padding:var(--s-100) var(--s-40);margin:0 var(--s-40) var(--s-80);border-radius:var(--r-xl);background:var(--cream-dark);border:1.5px solid var(--border);text-align:center;position:relative;overflow:hidden;}
.cta-section__decor{position:absolute;border-radius:50%;border:1.5px dashed var(--mist);pointer-events:none;}
.cta-section__decor--1{width:200px;height:200px;top:-60px;left:-60px;}
.cta-section__decor--2{width:300px;height:300px;bottom:-80px;right:-40px;}
.cta-section__content{position:relative;z-index:2;max-width:640px;margin:0 auto;}
.cta-section__title{font-weight:800;font-size:clamp(30px,4.5vw,52px);color:var(--charcoal);letter-spacing:-0.03em;line-height:1.1;margin-bottom:var(--s-16);}
.cta-section__text{font-size:16px;color:var(--stone);margin-bottom:var(--s-32);line-height:1.7;}

/* ═══════ FOOTER ═══════ */
.site-footer{padding:var(--s-80) 0 var(--s-40);border-top:none;background:var(--dark);}
.footer__top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:var(--s-48);margin-bottom:var(--s-64);}
.footer__brand-desc{font-size:14px;color:rgba(255,255,255,0.50);line-height:1.75;margin-top:var(--s-16);max-width:280px;}
.footer__col-title{font-weight:700;font-size:12px;color:#fff;letter-spacing:0.08em;text-transform:uppercase;margin-bottom:var(--s-16);}
.footer__link{display:block;font-size:14px;color:rgba(255,255,255,0.55);padding:5px 0;transition:color 0.3s;}
.footer__link:hover{color:var(--blue-light);}
.footer__bottom{display:flex;justify-content:space-between;align-items:center;padding-top:var(--s-32);border-top:1px solid rgba(255,255,255,0.08);flex-wrap:wrap;gap:var(--s-16);}
.footer__copy{font-size:13px;color:rgba(255,255,255,0.35);}
.footer__socials{display:flex;gap:var(--s-20);}
.footer__social{font-size:13px;color:rgba(255,255,255,0.50);transition:color 0.3s;}
.footer__social:hover{color:var(--blue-light);}
.site-footer .logo__mark{background:var(--purple);}
.site-footer .logo__text{color:#fff;}
.site-footer .logo__text-accent{color:var(--purple-light);}
.footer__separator{display:flex;align-items:center;gap:0;margin-bottom:var(--s-64);}
.footer__separator::before,.footer__separator::after{content:'';flex:1;height:1px;background:rgba(255,255,255,0.08);}
.footer__separator-dot{width:8px;height:8px;border-radius:50%;background:var(--purple-light);margin:0 var(--s-16);flex-shrink:0;}

/* ═══════ PAGE HERO ═══════ */
.page-hero{padding:200px var(--s-40) 80px;max-width:1380px;margin:0 auto;}
.page-hero__title{font-weight:800;font-size:clamp(38px,5.5vw,72px);color:var(--charcoal);letter-spacing:-0.04em;line-height:1;margin-bottom:var(--s-20);}
.page-hero__subtitle{font-size:17px;color:var(--stone);max-width:560px;line-height:1.7;}

/* ═══════ ABOUT PAGE ═══════ */
.about-page__split{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-80);align-items:center;padding-bottom:var(--s-120);}
.about-page__img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r-xl);box-shadow:var(--shadow-card);}
.about-page__heading{font-weight:700;font-size:clamp(26px,3vw,40px);color:var(--charcoal);letter-spacing:-0.02em;line-height:1.2;margin-bottom:var(--s-24);}
.timeline-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s-24);padding-bottom:var(--s-120);}
.timeline-card{padding:var(--s-32);background:var(--white);border:1.5px solid var(--border);border-radius:var(--r-lg);transition:all 0.4s;}
.timeline-card:hover{border-color:var(--border-hover);box-shadow:var(--shadow-sm);}
.timeline-card__year{font-weight:800;font-size:36px;color:var(--sage);margin-bottom:var(--s-12);line-height:1;}
.timeline-card__title{font-weight:600;font-size:16px;color:var(--charcoal);margin-bottom:var(--s-8);}
.timeline-card__desc{font-size:13px;color:var(--pebble);line-height:1.6;}

/* ═══════ CONTACT ═══════ */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-80);padding-bottom:var(--s-160);}
.contact-form{display:flex;flex-direction:column;gap:var(--s-24);}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-24);}
.form-field{display:flex;flex-direction:column;gap:var(--s-8);}
.form-label{font-size:13px;font-weight:500;color:var(--stone);letter-spacing:0.02em;}
.form-input,.form-textarea{font-family:var(--font-body);font-size:15px;padding:var(--s-16);background:var(--white);border:1.5px solid var(--border);border-radius:var(--r-md);color:var(--charcoal);outline:none;transition:border-color 0.3s,box-shadow 0.3s;}
.form-input:focus,.form-textarea:focus{border-color:var(--sage);box-shadow:0 0 0 3px var(--sage-wash);}
.form-input::placeholder,.form-textarea::placeholder{color:var(--mist);}
.form-textarea{resize:vertical;min-height:120px;}
.form-submit{align-self:flex-start;margin-top:var(--s-8);}
.contact-info{display:flex;flex-direction:column;gap:var(--s-32);}
.contact-info__label{font-size:11px;font-weight:600;letter-spacing:0.15em;text-transform:uppercase;color:var(--sage);margin-bottom:var(--s-8);}
.contact-info__value{font-size:15px;color:var(--stone);line-height:1.7;}
.contact-info__value a{color:var(--charcoal);transition:color 0.3s;}
.contact-info__value a:hover{color:var(--sage);}
.form-success{text-align:center;padding:var(--s-80) 0;display:none;}
.form-success.visible{display:block;animation:fadeUp 0.6s var(--ease);}
.form-success__icon{width:64px;height:64px;border-radius:50%;background:var(--sage-wash);color:var(--sage);display:flex;align-items:center;justify-content:center;font-size:28px;margin:0 auto var(--s-24);}
.form-success__title{font-weight:700;font-size:28px;color:var(--charcoal);margin-bottom:var(--s-12);}
.form-success__text{color:var(--stone);}

/* ═══════ RESPONSIVE ═══════ */
@media(max-width:1024px){
  .container{padding-left:var(--s-24);padding-right:var(--s-24);}
  .hero{grid-template-columns:1fr;gap:var(--s-48);padding:130px var(--s-24) var(--s-48);}
  .hero__visual{max-width:500px;margin:0 auto;}
  .hero__img-secondary{width:45%;bottom:-24px;left:-20px;}
  .hero__floating-badge{width:90px;height:90px;right:-12px;top:16px;}
  .hero__floating-badge strong{font-size:22px;}
  .hero__stats{gap:var(--s-24);flex-wrap:wrap;}
  .services-detail-grid{grid-template-columns:1fr 1fr;}
  .footer__top{grid-template-columns:1fr 1fr;}
}
@media(max-width:768px){
  .site-header{padding:var(--s-16) var(--s-20);}
  .site-header.scrolled{padding:var(--s-12) var(--s-20);}
  .main-nav,.btn--nav-desktop{display:none !important;}
  .hamburger{display:flex;}
  .hero{min-height:auto;padding:120px var(--s-20) var(--s-40);}
  .hero__decor-circle{display:none;}
  .hero__subtitle{font-size:15px;}
  .hero__actions{flex-direction:column;align-items:flex-start;}
  .stat__number{font-size:30px;}
  .about-section{padding:var(--s-80) 0;}
  .about__grid{grid-template-columns:1fr;gap:var(--s-40);}
  .about__decor{display:none;}
  .values-grid{grid-template-columns:1fr;}
  .services-section{padding:var(--s-80) 0;}
  .portfolio-section{padding:var(--s-80) 0;}
  .portfolio-grid{grid-template-columns:1fr;}
  .portfolio-grid>:nth-child(even){margin-top:0;}
  .testimonials-section{padding:var(--s-80) var(--s-20);}
  .cta-section{padding:var(--s-80) var(--s-24);margin:0 var(--s-20) var(--s-48);}
  .site-footer{padding:var(--s-48) 0 var(--s-24);}
  .footer__top{grid-template-columns:1fr;}
  .page-hero{padding:140px var(--s-20) var(--s-48);}
  .services-detail-grid{grid-template-columns:1fr;}
  .about-page__split{grid-template-columns:1fr;gap:var(--s-40);}
  .timeline-grid{grid-template-columns:1fr 1fr;}
  .contact-grid{grid-template-columns:1fr;gap:var(--s-48);}
  .form-row{grid-template-columns:1fr;}
}
@media(max-width:480px){
  .mobile-menu__link{font-size:32px;}
  .stat__number{font-size:26px;}
  .timeline-grid{grid-template-columns:1fr;}
  .hero__img-secondary{display:none;}
}

/* ═══════════════════════════════════════════════════════════════════
   ADMIN PANEL STYLES
   ═══════════════════════════════════════════════════════════════════ */
body.admin-body{background:var(--cream);overflow-x:hidden;}
.admin-wrap{display:flex;min-height:100vh;}
.admin-sidebar{width:260px;min-width:260px;background:var(--charcoal);display:flex;flex-direction:column;position:fixed;top:0;left:0;height:100vh;overflow-y:auto;z-index:200;transition:transform 0.4s var(--ease);}
.admin-sidebar::-webkit-scrollbar{width:4px;}
.admin-sidebar::-webkit-scrollbar-track{background:transparent;}
.admin-sidebar::-webkit-scrollbar-thumb{background:rgba(255,255,255,0.08);border-radius:2px;}
.admin-sidebar__brand{padding:var(--s-24) var(--s-24) var(--s-20);border-bottom:1px solid rgba(255,255,255,0.06);display:flex;align-items:center;gap:var(--s-12);}
.admin-sidebar__logo-mark{width:36px;height:36px;border-radius:var(--r-md);background:var(--sage);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:13px;color:var(--cream);flex-shrink:0;}
.admin-sidebar__brand-text{font-weight:700;font-size:15px;color:var(--white);letter-spacing:-0.02em;}
.admin-sidebar__brand-sub{font-size:11px;color:rgba(255,255,255,0.35);font-weight:400;}
.admin-nav{flex:1;padding:var(--s-16) 0;}
.admin-nav__section{padding:var(--s-12) var(--s-24) var(--s-8);font-size:10px;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;color:rgba(255,255,255,0.25);}
.admin-nav__item{display:flex;align-items:center;gap:var(--s-12);padding:10px var(--s-24);font-size:13px;font-weight:500;color:rgba(255,255,255,0.5);transition:all 0.3s;position:relative;cursor:pointer;}
.admin-nav__item:hover{color:var(--white);background:rgba(255,255,255,0.04);}
.admin-nav__item.active{color:var(--white);background:rgba(124,58,237,0.18);}
.admin-nav__item.active::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--purple-light);border-radius:0 2px 2px 0;}
.admin-nav__icon{font-size:15px;width:20px;text-align:center;flex-shrink:0;}
.admin-nav__badge{margin-left:auto;font-size:10px;font-weight:600;padding:2px 7px;border-radius:var(--r-pill);background:var(--purple);color:#fff;}
.admin-sidebar__footer{padding:var(--s-16) var(--s-24);border-top:1px solid rgba(255,255,255,0.06);}
.admin-sidebar__user{display:flex;align-items:center;gap:var(--s-12);}
.admin-sidebar__avatar{width:32px;height:32px;border-radius:50%;background:var(--sage);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:var(--cream);flex-shrink:0;}
.admin-sidebar__user-name{font-size:13px;font-weight:600;color:var(--white);}
.admin-sidebar__user-role{font-size:11px;color:rgba(255,255,255,0.35);}
.admin-sidebar__logout{margin-left:auto;font-size:16px;color:rgba(255,255,255,0.3);transition:color 0.3s;flex-shrink:0;}
.admin-sidebar__logout:hover{color:var(--terracotta);}
.admin-main{flex:1;margin-left:260px;display:flex;flex-direction:column;min-height:100vh;}
.admin-topbar{background:var(--white);border-bottom:1px solid var(--border);padding:0 var(--s-40);height:64px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100;}
.admin-topbar__left{display:flex;align-items:center;gap:var(--s-16);}
.admin-topbar__toggle{display:none;flex-direction:column;gap:4px;padding:var(--s-8);cursor:pointer;}
.admin-topbar__toggle span{display:block;width:20px;height:2px;background:var(--charcoal);border-radius:1px;}
.admin-breadcrumb{display:flex;align-items:center;gap:var(--s-8);font-size:13px;color:var(--pebble);}
.admin-breadcrumb__sep{color:var(--mist);}
.admin-breadcrumb__current{color:var(--charcoal);font-weight:500;}
.admin-topbar__right{display:flex;align-items:center;gap:var(--s-16);}
.admin-topbar__view-site{display:inline-flex;align-items:center;gap:var(--s-8);font-size:13px;font-weight:500;color:var(--stone);padding:7px 16px;border:1.5px solid var(--border);border-radius:var(--r-pill);transition:all 0.3s;}
.admin-topbar__view-site:hover{border-color:var(--sage);color:var(--sage);}
.admin-content{flex:1;padding:var(--s-40);max-width:1200px;width:100%;}
.admin-page-header{margin-bottom:var(--s-32);}
.admin-page-header__title{font-weight:800;font-size:28px;color:var(--charcoal);letter-spacing:-0.03em;line-height:1;margin-bottom:var(--s-4);}
.admin-page-header__sub{font-size:14px;color:var(--pebble);}
.admin-page-header__actions{display:flex;align-items:center;gap:var(--s-12);margin-top:var(--s-16);}
.admin-card{background:var(--white);border:1.5px solid var(--border);border-radius:var(--r-lg);overflow:hidden;}
.admin-card__header{padding:var(--s-24) var(--s-32);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:var(--s-16);}
.admin-card__title{font-weight:600;font-size:15px;color:var(--charcoal);}
.admin-card__body{padding:var(--s-32);}
.admin-stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s-20);margin-bottom:var(--s-32);}
.admin-stat-card{background:var(--white);border:1.5px solid var(--border);border-radius:var(--r-lg);padding:var(--s-24);position:relative;overflow:hidden;}
.admin-stat-card::after{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--sage);opacity:0;transition:opacity 0.3s;}
.admin-stat-card:hover::after{opacity:1;}
.admin-stat-card__label{font-size:11px;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;color:var(--pebble);margin-bottom:var(--s-8);}
.admin-stat-card__value{font-weight:800;font-size:32px;color:var(--charcoal);letter-spacing:-0.03em;line-height:1;}
.admin-stat-card__icon{position:absolute;top:var(--s-20);right:var(--s-20);font-size:22px;color:var(--sage);opacity:0.4;}
.admin-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-24);}
.admin-form-grid--3{grid-template-columns:1fr 1fr 1fr;}
.admin-form-grid--full{grid-template-columns:1fr;}
.admin-field{display:flex;flex-direction:column;gap:var(--s-8);}
.admin-field--full{grid-column:1 / -1;}
.admin-label{font-size:12px;font-weight:600;color:var(--stone);letter-spacing:0.04em;text-transform:uppercase;}
.admin-input,.admin-textarea,.admin-select{font-family:var(--font-body);font-size:14px;padding:11px var(--s-16);background:var(--cream);border:1.5px solid var(--border);border-radius:var(--r-md);color:var(--charcoal);outline:none;transition:border-color 0.3s,box-shadow 0.3s;width:100%;}
.admin-input:focus,.admin-textarea:focus,.admin-select:focus{border-color:var(--sage);box-shadow:0 0 0 3px var(--sage-wash);background:var(--white);}
.admin-input::placeholder,.admin-textarea::placeholder{color:var(--mist);}
.admin-textarea{resize:vertical;min-height:100px;}
.admin-select{cursor:pointer;}
.admin-hint{font-size:12px;color:var(--pebble);margin-top:var(--s-4);}
.admin-file-wrap{position:relative;}
.admin-file-label{display:flex;align-items:center;gap:var(--s-12);padding:var(--s-12) var(--s-16);background:var(--cream);border:1.5px dashed var(--mist);border-radius:var(--r-md);cursor:pointer;transition:all 0.3s;font-size:13px;color:var(--pebble);}
.admin-file-label:hover{border-color:var(--sage);color:var(--sage);}
.admin-file-input{position:absolute;inset:0;opacity:0;cursor:pointer;font-size:0;}
.admin-file-preview{margin-top:var(--s-12);}
.admin-file-preview img{max-height:80px;border-radius:var(--r-md);border:1.5px solid var(--border);}
.admin-btn{display:inline-flex;align-items:center;gap:var(--s-8);font-family:var(--font-body);font-size:13px;font-weight:600;padding:10px 20px;border-radius:var(--r-md);transition:all 0.3s var(--ease);cursor:pointer;border:none;letter-spacing:0.01em;white-space:nowrap;}
.admin-btn--primary{background:var(--sage);color:var(--cream);}
.admin-btn--primary:hover{background:var(--charcoal);box-shadow:var(--shadow-sm);}
.admin-btn--secondary{background:var(--cream);color:var(--stone);border:1.5px solid var(--border);}
.admin-btn--secondary:hover{border-color:var(--sage);color:var(--sage);}
.admin-btn--danger{background:var(--terra-wash);color:var(--terracotta);border:1.5px solid rgba(196,112,75,0.15);}
.admin-btn--danger:hover{background:var(--terracotta);color:#fff;border-color:var(--terracotta);}
.admin-btn--sm{padding:6px 14px;font-size:12px;}
.admin-btn--icon{padding:8px;border-radius:var(--r-sm);}
.admin-table-wrap{overflow-x:auto;}
.admin-table{width:100%;border-collapse:collapse;}
.admin-table th{font-size:11px;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;color:var(--pebble);padding:var(--s-12) var(--s-16);border-bottom:1.5px solid var(--border);text-align:left;white-space:nowrap;}
.admin-table td{font-size:13px;color:var(--stone);padding:var(--s-16);border-bottom:1px solid var(--border);vertical-align:middle;}
.admin-table tr:last-child td{border-bottom:none;}
.admin-table tr:hover td{background:var(--sage-wash);}
.admin-table__name{font-weight:600;color:var(--charcoal);font-size:14px;}
.admin-table__thumb{width:44px;height:44px;border-radius:var(--r-sm);object-fit:cover;flex-shrink:0;}
.admin-table__actions{display:flex;align-items:center;gap:var(--s-8);}
.admin-badge{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;padding:3px 10px;border-radius:var(--r-pill);letter-spacing:0.03em;}
.admin-badge::before{content:'';width:5px;height:5px;border-radius:50%;flex-shrink:0;}
.admin-badge--active{background:rgba(61,90,71,0.08);color:var(--sage);}
.admin-badge--active::before{background:var(--sage);}
.admin-badge--inactive{background:var(--terra-wash);color:var(--terracotta);}
.admin-badge--inactive::before{background:var(--terracotta);}
.admin-alert{padding:var(--s-16) var(--s-20);border-radius:var(--r-md);font-size:13px;display:flex;align-items:center;gap:var(--s-12);margin-bottom:var(--s-24);}
.admin-alert--success{background:rgba(61,90,71,0.08);color:var(--sage);border:1px solid rgba(61,90,71,0.15);}
.admin-alert--error{background:var(--terra-wash);color:var(--terracotta);border:1px solid rgba(196,112,75,0.2);}
.admin-section-title{font-size:11px;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;color:var(--pebble);padding-bottom:var(--s-16);margin-bottom:var(--s-24);border-bottom:1px solid var(--border);grid-column:1 / -1;}
.admin-toggle-wrap{display:flex;align-items:center;gap:var(--s-12);}
.admin-toggle{position:relative;width:40px;height:22px;flex-shrink:0;}
.admin-toggle input{opacity:0;width:0;height:0;position:absolute;}
.admin-toggle__slider{position:absolute;inset:0;background:var(--mist);border-radius:var(--r-pill);cursor:pointer;transition:background 0.3s;}
.admin-toggle__slider::before{content:'';position:absolute;width:16px;height:16px;border-radius:50%;background:var(--white);top:3px;left:3px;transition:transform 0.3s var(--ease);box-shadow:var(--shadow-sm);}
.admin-toggle input:checked + .admin-toggle__slider{background:var(--sage);}
.admin-toggle input:checked + .admin-toggle__slider::before{transform:translateX(18px);}
.admin-toggle__label{font-size:13px;font-weight:500;color:var(--stone);}
.admin-empty{text-align:center;padding:var(--s-80) var(--s-40);}
.admin-empty__icon{font-size:40px;margin-bottom:var(--s-16);opacity:0.3;}
.admin-empty__title{font-weight:600;font-size:16px;color:var(--charcoal);margin-bottom:var(--s-8);}
.admin-empty__text{font-size:13px;color:var(--pebble);margin-bottom:var(--s-24);}
.drag-handle{color:var(--mist);cursor:grab;font-size:16px;padding:var(--s-4);transition:color 0.3s;}
.drag-handle:hover{color:var(--sage);}
.drag-handle:active{cursor:grabbing;}
.admin-login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--cream);padding:var(--s-24);}
.admin-login-box{width:100%;max-width:400px;}
.admin-login-box__logo{display:flex;align-items:center;gap:var(--s-12);justify-content:center;margin-bottom:var(--s-40);}
.admin-login-box__title{font-weight:800;font-size:26px;color:var(--charcoal);letter-spacing:-0.03em;text-align:center;margin-bottom:var(--s-8);}
.admin-login-box__sub{font-size:14px;color:var(--pebble);text-align:center;margin-bottom:var(--s-32);}
.admin-login-card{background:var(--white);border:1.5px solid var(--border);border-radius:var(--r-xl);padding:var(--s-40);box-shadow:var(--shadow-card);}
.admin-login-form{display:flex;flex-direction:column;gap:var(--s-20);}
.admin-login-form .admin-btn--primary{width:100%;justify-content:center;padding:14px;border-radius:var(--r-md);font-size:14px;margin-top:var(--s-8);}
@media(max-width:1024px){.admin-stats-row{grid-template-columns:1fr 1fr;}}
@media(max-width:768px){
  .admin-sidebar{transform:translateX(-100%);}
  .admin-sidebar.open{transform:translateX(0);box-shadow:var(--shadow-lg);}
  .admin-main{margin-left:0;}
  .admin-topbar{padding:0 var(--s-20);}
  .admin-topbar__toggle{display:flex;}
  .admin-content{padding:var(--s-24) var(--s-20);}
  .admin-stats-row{grid-template-columns:1fr 1fr;}
  .admin-form-grid{grid-template-columns:1fr;}
  .admin-form-grid--3{grid-template-columns:1fr;}
  .admin-card__body{padding:var(--s-20);}
  .admin-card__header{padding:var(--s-16) var(--s-20);}
}
@media(max-width:480px){.admin-stats-row{grid-template-columns:1fr;}}

/* ═══════════════════════════════════════════════════════════════════
   FRONTEND — HOMEPAGE & SHARED SECTION STYLES
   ═══════════════════════════════════════════════════════════════════ */
@keyframes heroGlow{from{opacity:0.6;}to{opacity:1;}}
.home-hero-wrap{background:var(--charcoal);position:relative;overflow:hidden;}
.home-hero-wrap::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 20% 50%,rgba(61,90,71,0.25) 0%,transparent 60%),radial-gradient(ellipse at 80% 20%,rgba(196,112,75,0.12) 0%,transparent 50%);animation:heroGlow 12s ease-in-out infinite alternate;pointer-events:none;}
.home-hero{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:120px var(--s-40) var(--s-80);max-width:1380px;margin:0 auto;gap:var(--s-64);position:relative;z-index:1;}
.home-hero__content{display:flex;flex-direction:column;align-items:flex-start;}
.home-hero__badge{display:inline-flex;align-items:center;gap:var(--s-8);padding:8px 18px;background:rgba(61,90,71,0.3);border:1px solid rgba(61,90,71,0.5);border-radius:var(--r-pill);font-size:12px;font-weight:600;color:#8DB49E;letter-spacing:0.06em;text-transform:uppercase;margin-bottom:var(--s-32);}
.home-hero__badge-dot{width:6px;height:6px;border-radius:50%;background:#8DB49E;animation:pulse 2s infinite;flex-shrink:0;}
.home-hero__title{font-weight:700;font-size:clamp(42px,5.5vw,82px);line-height:0.95;color:#fff;letter-spacing:-0.04em;margin-bottom:var(--s-32);}
.home-hero__title .line{display:block;overflow:hidden;}
.home-hero__title .line__inner{display:block;transform:translateY(110%);animation:slideUp 1s var(--ease) forwards;}
.home-hero__title .line:nth-child(1) .line__inner{animation-delay:0.3s;}
.home-hero__title .line:nth-child(2) .line__inner{animation-delay:0.5s;}
.home-hero__title .line:nth-child(3) .line__inner{animation-delay:0.7s;}
.home-hero__title .ht-cursive{font-family:'Cormorant Garamond',serif;color:#8DB49E;font-size:1.05em;font-style:italic;font-weight:700;}
.home-hero__subtitle{font-size:17px;line-height:1.75;color:rgba(255,255,255,0.6);max-width:460px;margin-bottom:var(--s-40);}
.home-hero__actions{display:flex;align-items:center;gap:var(--s-16);flex-wrap:wrap;}
.btn--hero-outline{display:inline-flex;align-items:center;gap:var(--s-8);padding:16px 32px;background:transparent;color:#fff;font-weight:600;font-size:14px;border:1.5px solid rgba(255,255,255,0.25);border-radius:var(--r-pill);transition:all 0.45s var(--ease);letter-spacing:0.01em;text-decoration:none;}
.btn--hero-outline:hover{border-color:#fff;background:rgba(255,255,255,0.06);}
.home-hero__stats{display:flex;gap:var(--s-40);margin-top:var(--s-64);padding-top:var(--s-32);border-top:1px solid rgba(255,255,255,0.1);flex-wrap:wrap;width:100%;}
.home-hero__stat-num{font-weight:800;font-size:38px;color:#fff;letter-spacing:-0.03em;line-height:1;}
.home-hero__stat-label{font-size:12px;color:rgba(255,255,255,0.45);letter-spacing:0.04em;margin-top:4px;}
.home-hero__visual{display:flex;align-items:center;justify-content:center;position:relative;}
.home-hero__svg{width:100%;max-width:560px;height:auto;overflow:visible;}
.svg-node-pulse{animation:pulse 3s ease-in-out infinite;}
.svg-node-pulse-2{animation:pulse 3s ease-in-out 1.5s infinite;}
.svg-ring-spin{animation:spinSlow 40s linear infinite;transform-origin:260px 240px;}
.svg-float-1{animation:float 6s ease-in-out infinite;}
.svg-float-2{animation:float 6s ease-in-out 2s infinite;}
@media(max-width:1024px){.home-hero{grid-template-columns:1fr;padding:130px var(--s-24) var(--s-64);gap:var(--s-40);}.home-hero__visual{max-width:420px;margin:0 auto;}}
@media(max-width:768px){.home-hero{padding:110px var(--s-20) var(--s-48);gap:var(--s-32);}.home-hero__stats{gap:var(--s-24);}.home-hero__subtitle{font-size:16px;}}
@media(max-width:480px){.home-hero__visual{display:none;}.home-hero__title{font-size:clamp(36px,10vw,52px);}.home-hero__stats{gap:var(--s-20);}.home-hero__stat-num{font-size:28px;}}
@media(max-width:360px){.home-hero{padding:100px var(--s-16) var(--s-40);}.home-hero__title{font-size:32px;}.home-hero__actions{flex-direction:column;align-items:flex-start;}.home-hero__stats{gap:var(--s-16);}}

/* ─── Section Utilities ─── */
.section{padding:var(--s-120) 0;}
.section--alt{background:var(--off-white);}
.section--sage{background:var(--dark);color:#fff;}
.section--cream{background:var(--off-white);}
.section--dark{background:var(--dark-mid);}
.section__title{font-weight:700;font-size:clamp(28px,3.5vw,44px);color:var(--charcoal);letter-spacing:-0.03em;line-height:1.15;margin-bottom:var(--s-16);}
.section--sage .section__title,.section--dark .section__title{color:inherit;}
.section__subtitle{font-size:16px;color:var(--stone);max-width:560px;line-height:1.7;}
.section--sage .section__subtitle,.section--dark .section__subtitle{color:rgba(255,255,255,0.7);}
.section__header{margin-bottom:var(--s-48);}
.section__header--center{text-align:center;margin-bottom:var(--s-56);}
.section__header--center .section__eyebrow{justify-content:center;}
.section__header--center .section__subtitle{margin:0 auto;}
.section__eyebrow{font-size:11px;font-weight:600;letter-spacing:0.18em;text-transform:uppercase;color:var(--sage);display:flex;align-items:center;gap:var(--s-12);margin-bottom:var(--s-20);}
.section__eyebrow::before{content:'';width:28px;height:2px;background:var(--sage);border-radius:1px;flex-shrink:0;}
.section--sage .section__eyebrow,.section--dark .section__eyebrow{color:rgba(255,255,255,0.6);}
.section--sage .section__eyebrow::before,.section--dark .section__eyebrow::before{background:rgba(255,255,255,0.4);}
.container--narrow{max-width:780px;margin:0 auto;}
.prose{font-size:16px;line-height:1.85;color:var(--stone);}
.prose h2{font-weight:700;font-size:24px;color:var(--charcoal);margin:32px 0 16px;}
.prose p{margin-bottom:16px;}
@media(max-width:768px){.section{padding:var(--s-80) 0;}.section__header{margin-bottom:var(--s-40);}}
@media(max-width:480px){.section{padding:var(--s-64) 0;}}
@media(max-width:360px){.section{padding:var(--s-48) 0;}.container{padding-left:var(--s-16);padding-right:var(--s-16);}}

/* ─── Service Card Sub-components ─── */
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-24);}
.service-card__media{aspect-ratio:16/10;overflow:hidden;background:var(--sage-wash);position:relative;}
.service-card__image{width:100%;height:100%;object-fit:cover;transition:transform 0.7s var(--ease);}
.service-card:hover .service-card__image{transform:scale(1.04);}
.service-card__icon-box{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:48px;background:var(--sage-wash);min-height:160px;}
.service-card__body{padding:var(--s-32);}
.service-card__tagline{font-size:12px;font-weight:600;color:var(--sage);letter-spacing:0.06em;text-transform:uppercase;margin-bottom:var(--s-8);}
.service-card__desc{font-size:14px;color:var(--stone);line-height:1.7;margin-bottom:var(--s-16);}
.service-card__features{display:flex;flex-direction:column;gap:var(--s-8);list-style:none;padding:0;margin:0;}
.service-card__feature{display:flex;align-items:flex-start;gap:var(--s-8);font-size:13px;color:var(--stone);line-height:1.5;}
.service-card__feature-icon{color:var(--sage);font-size:14px;flex-shrink:0;margin-top:1px;}
@media(max-width:1024px){.services-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:640px){.services-grid{grid-template-columns:1fr;}}

/* ─── Blog Card ─── */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-24);}
.blog-featured{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-32);margin-bottom:var(--s-48);}
.blog-card{background:var(--white);border:1.5px solid var(--border);border-radius:var(--r-xl);overflow:hidden;transition:all 0.4s var(--ease);display:flex;flex-direction:column;}
.blog-card:hover{box-shadow:var(--shadow-card);transform:translateY(-4px);}
.blog-card--featured{display:grid;grid-template-columns:1fr 1fr;flex-direction:unset;}
.blog-card__media{overflow:hidden;aspect-ratio:16/10;flex-shrink:0;}
.blog-card--featured .blog-card__media{aspect-ratio:unset;min-height:280px;}
.blog-card__image{width:100%;height:100%;object-fit:cover;transition:transform 0.7s var(--ease);}
.blog-card:hover .blog-card__image{transform:scale(1.04);}
.blog-card__image-placeholder{width:100%;height:100%;background:var(--sage-wash);display:flex;align-items:center;justify-content:center;font-size:40px;min-height:180px;}
.blog-card__body{padding:var(--s-24);display:flex;flex-direction:column;gap:var(--s-12);flex:1;}
.blog-card__category{display:inline-block;font-size:11px;font-weight:600;padding:4px 12px;border-radius:var(--r-pill);letter-spacing:0.03em;align-self:flex-start;}
.blog-card__title{font-weight:700;font-size:clamp(16px,1.8vw,20px);color:var(--charcoal);letter-spacing:-0.02em;line-height:1.3;text-decoration:none;display:block;}
.blog-card__title:hover{color:var(--sage);}
.blog-card__excerpt{font-size:14px;color:var(--stone);line-height:1.6;}
.blog-card__meta{display:flex;align-items:center;gap:var(--s-16);font-size:12px;color:var(--pebble);margin-top:auto;padding-top:var(--s-12);border-top:1px solid var(--border);}
@media(max-width:1024px){.blog-grid{grid-template-columns:1fr 1fr;}.blog-featured{grid-template-columns:1fr;}.blog-card--featured{grid-template-columns:1fr;flex-direction:column;}.blog-card--featured .blog-card__media{min-height:220px;}}
@media(max-width:640px){.blog-grid{grid-template-columns:1fr;}}

/* ─── Course Card ─── */
.courses-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-24);}
.courses-featured{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-32);margin-bottom:var(--s-48);}
.course-card{background:var(--white);border:1.5px solid var(--border);border-radius:var(--r-xl);overflow:hidden;transition:all 0.4s var(--ease);display:flex;flex-direction:column;}
.course-card:hover{box-shadow:var(--shadow-card);transform:translateY(-4px);}
.course-card--featured{display:grid;grid-template-columns:1fr 1fr;flex-direction:unset;}
.course-card__media{aspect-ratio:16/9;overflow:hidden;position:relative;flex-shrink:0;}
.course-card--featured .course-card__media{aspect-ratio:unset;min-height:280px;}
.course-card__image{width:100%;height:100%;object-fit:cover;transition:transform 0.7s var(--ease);}
.course-card:hover .course-card__image{transform:scale(1.04);}
.course-card__placeholder{width:100%;height:100%;background:var(--sage-wash);display:flex;align-items:center;justify-content:center;font-size:52px;min-height:160px;}
.course-card__body{padding:var(--s-24);display:flex;flex-direction:column;gap:var(--s-12);flex:1;}
.course-card__badges{display:flex;gap:var(--s-8);flex-wrap:wrap;}
.course-card__level,.course-card__duration{font-size:11px;font-weight:600;padding:4px 12px;border-radius:var(--r-pill);background:var(--sage-wash);color:var(--sage);}
.course-card__title{font-weight:700;font-size:clamp(16px,1.8vw,20px);color:var(--charcoal);letter-spacing:-0.02em;line-height:1.3;text-decoration:none;display:block;}
.course-card__title:hover{color:var(--sage);}
.course-card__excerpt{font-size:14px;color:var(--stone);line-height:1.6;}
.course-card__footer{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:var(--s-12);border-top:1px solid var(--border);}
.course-card__price{font-weight:700;font-size:16px;color:var(--sage);}
.course-card__price--paid{color:var(--terracotta);}
.course-card__cta{font-size:13px;font-weight:600;color:var(--sage);text-decoration:none;display:flex;align-items:center;gap:4px;transition:gap 0.3s var(--ease);}
.course-card__cta:hover{gap:8px;}
@media(max-width:1024px){.courses-grid{grid-template-columns:1fr 1fr;}.courses-featured{grid-template-columns:1fr;}.course-card--featured{grid-template-columns:1fr;flex-direction:column;}.course-card--featured .course-card__media{min-height:220px;}}
@media(max-width:640px){.courses-grid{grid-template-columns:1fr;}}

/* ─── Global Responsive ─── */
@media(max-width:360px){
  .container{padding-left:var(--s-16);padding-right:var(--s-16);}
  .page-hero{padding:120px var(--s-16) var(--s-40);}
  .btn{font-size:13px;padding:12px 20px;}
  .cta-section{padding:var(--s-64) var(--s-16);margin:0 var(--s-16) var(--s-48);}
  .footer__top{gap:var(--s-32);}
}
@media(max-width:280px){
  .container{padding-left:var(--s-12);padding-right:var(--s-12);}
  .logo__mark{width:32px;height:32px;font-size:12px;}
  .logo__text{font-size:15px;}
  .btn{font-size:12px;padding:10px 16px;}
  .page-hero__title{font-size:28px;}
  .page-hero{padding:100px var(--s-12) var(--s-32);}
  .testimonials-section{padding:var(--s-64) var(--s-12);}
  .cta-section{margin:0 var(--s-12) var(--s-32);padding:var(--s-48) var(--s-12);}
  .footer__top{grid-template-columns:1fr;gap:var(--s-24);}
  .mobile-menu__link{font-size:26px;}
  .about-section{padding:var(--s-64) 0;}
  .services-section{padding:var(--s-64) 0;}
}

/* ─── About Page ─── */
.about-hero-wrap{position:relative;width:100%;min-height:100vh;display:flex;align-items:center;overflow:hidden;background:linear-gradient(135deg, #ece8ff 0%, #c8e8f8 28%, #a4eedd 60%, #7fe8c2 100%);position:relative;width:100%;min-height: 100vh;display:flex;align-items:center;overflow:hidden;background:linear-gradient(135deg, #ece8ff 0%, #c8e8f8 28%, #a4eedd 60%, #7fe8c2 100%);}
.about-hero__bg{display:none;}
.about-hero__overlay{display:none;}
.about-hero__inner{position:relative;z-index:2;width:100%;max-width:100%;margin:0;padding:130px var(--s-40) var(--s-56);display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:var(--s-24);}
.about-hero__eyebrow{display:inline-flex;align-items:center;gap:8px;background: rgba(255,255,255,0.55);border:1px solid rgba(255,255,255,0.80);border-radius:var(--r-pill);padding:7px 20px;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(10,10,18,0.70);backdrop-filter:blur(8px);}
.about-hero__title{font-size:clamp(52px, 9vw, 120px);font-weight: 900;line-height: 1.0;letter-spacing: -0.04em;color:#0a0a12;margin:0;}
.about-hero__title em{font-style:italic;font-family:'Cormorant Garamond',serif;color:#8DB49E;font-weight:700;}
.about-hero__subtitle{font-size:clamp(15px,1.6vw,18px);color:rgba(10,10,18,0.62);max-width:560px;line-height:1.8;margin:0 auto;}
.about-hero__cta{display:flex;align-items:center;justify-content: flex-start;gap:var(--s-16);flex-wrap:wrap;}
.stats-bar{background:#fff;border-top:1.5px solid var(--border);border-bottom:1.5px solid var(--border);padding:var(--s-40) 0;}
.stats-bar__inner{max-width:1380px;margin:0 auto;padding:0 var(--s-40);display:grid;grid-template-columns:repeat(4,1fr);gap:0;}
.stats-bar__item{display:flex;flex-direction:column;align-items:center;gap:4px;padding:var(--s-20) var(--s-16);border-right:1px solid var(--border);}
.stats-bar__item:last-child{border-right:none;}
.stats-bar__number{font-size:clamp(28px,3.2vw,44px);font-weight:800;letter-spacing:-0.03em;color:var(--purple);line-height:1;}
.stats-bar__number span{color:var(--purple);}
.stats-bar__label{font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,0.48);margin-top:4px;}
.about-story__media{position:relative;border-radius:var(--r-xl);overflow:hidden;}
.about-story__media img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;}
.about-story__badge{position:absolute;bottom:var(--s-24);left:var(--s-24);background:var(--purple);color:#fff;border-radius:var(--r-lg);padding:var(--s-16) var(--s-20);display:flex;flex-direction:column;gap:2px;box-shadow:0 8px 32px rgba(0,0,0,0.25);}
.about-story__badge-num{font-size:28px;font-weight:800;line-height:1;letter-spacing:-0.03em;}
.about-story__badge-label{font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;opacity:.8;}
.about-story__body{display:flex;flex-direction:column;justify-content:center;gap:var(--s-24);}
.about-story__body p{font-size:clamp(15px,1.4vw,17px);line-height:1.85;color:var(--stone);}
.about-story__pillars{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-16);margin-top:var(--s-8);}
.about-pillar{display:flex;align-items:flex-start;gap:var(--s-12);padding:var(--s-16);background:var(--cream-dark);border-radius:var(--r-lg);border:1px solid var(--border);}
.about-pillar__icon{font-size:22px;line-height:1;flex-shrink:0;margin-top:2px;}
.about-pillar__title{font-size:13px;font-weight:700;color:var(--charcoal);margin-bottom:2px;}
.about-pillar__desc{font-size:12px;color:var(--stone);line-height:1.5;}
.about-values-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s-24);}
.about-value-card{padding:var(--s-32) var(--s-24);background:#fff;border-radius:var(--r-xl);border:1px solid var(--border);text-align:center;transition:box-shadow .25s,transform .25s;display:flex;flex-direction:column;align-items:center;gap:var(--s-16);}
.about-value-card:hover{box-shadow:var(--shadow-card);transform:translateY(-4px);}
.about-value-card__icon{width:64px;height:64px;border-radius:50%;background:var(--sage-wash);display:flex;align-items:center;justify-content:center;font-size:28px;}
.about-value-card__title{font-size:16px;font-weight:700;color:var(--charcoal);}
.about-value-card__desc{font-size:14px;line-height:1.7;color:var(--stone);}
.faq-list{display:flex;flex-direction:column;gap:var(--s-12);max-width:800px;margin:0 auto;}
.faq-item{background:#fff;border:1px solid var(--border);border-radius:var(--r-xl);overflow:hidden;transition:box-shadow .2s;}
.faq-item:hover{box-shadow:var(--shadow-card);}
.faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:var(--s-16);padding:var(--s-20) var(--s-24);cursor:pointer;font-size:16px;font-weight:600;color:var(--charcoal);list-style:none;user-select:none;transition:color .2s;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:'+';font-size:22px;font-weight:300;color:var(--blue);flex-shrink:0;transition:transform .3s var(--ease);line-height:1;}
.faq-item[open] summary{color:var(--purple);}
.faq-item[open] summary::after{content:'-';}
.faq-item__body{padding:0 var(--s-24) var(--s-20);font-size:15px;line-height:1.85;color:var(--stone);border-top:1px solid var(--cream-dark);}
@media(max-width:1100px){.about-values-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:768px){.about-hero-wrap{min-height:460px;min-height: 100vh;}.about-hero__inner{position:relative;z-index:2;width:100%;max-width:100%;margin:0;padding:130px var(--s-40) var(--s-56);display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:var(--s-24);}.stats-bar__inner{grid-template-columns:repeat(2,1fr);}.about-story__pillars{grid-template-columns:1fr;}.about-values-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:480px){.about-hero-wrap{min-height:400px;min-height: 100vh;}.stats-bar__inner{grid-template-columns:1fr 1fr;}.about-values-grid{grid-template-columns:1fr;}.faq-item summary{font-size:14px;padding:var(--s-16) var(--s-20);}.faq-item__body{padding:0 var(--s-20) var(--s-16);font-size:14px;}}
@media(max-width:360px){.about-hero__title{font-size:clamp(52px, 9vw, 120px);}.stats-bar__number{font-size:clamp(22px,7vw,32px);}.about-values-grid{grid-template-columns:1fr;}}


/* ═══════════════════════════════════════════════════════════════════
   ABOUT PAGE — Full Polish Pass
   ═══════════════════════════════════════════════════════════════════ */

/* ── 1. HERO ── */
.about-hero-wrap {
  position: relative;
  width: 100%;
  min-height: 100vh;
  display: flex;
  align-items: center;
  overflow: hidden;
  background: linear-gradient(135deg, #ece8ff 0%, #c8e8f8 28%, #a4eedd 60%, #7fe8c2 100%);

  position: relative;
  width: 100%;
  min-height: 100vh;
  display: flex;
  align-items: center;
  overflow: hidden;
  background: linear-gradient(135deg, #ece8ff 0%, #c8e8f8 28%, #a4eedd 60%, #7fe8c2 100%);
}
.about-hero__bg { display: none; }
.about-hero__overlay { display: none; }

/* Floating orbs */
.about-hero__orb {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
  z-index: 1;
}
.about-hero__orb--1 {
  width: 500px; height: 500px;
  top: -120px; right: -80px;
  background: radial-gradient(circle, rgba(124,58,237,0.08) 0%, transparent 70%);
  animation: orbFloat1 14s ease-in-out infinite;
}
.about-hero__orb--2 {
  width: 360px; height: 360px;
  bottom: -60px; left: 5%;
  background: radial-gradient(circle, rgba(37,99,235,0.06) 0%, transparent 70%);
  animation: orbFloat2 18s ease-in-out infinite;
}

.about-hero__inner {  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 130px var(--s-40) var(--s-56);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
  gap: var(--s-24);
}
.about-hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(255,255,255,0.55);
  border: 1px solid rgba(255,255,255,0.80);
  border-radius: var(--r-pill);
  padding: 7px 20px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(10,10,18,0.70);
  backdrop-filter: blur(8px);
}
.about-hero__title {
  font-family: 'Poppins', sans-serif;
  font-size: clamp(52px, 9vw, 120px);
  font-weight: 900;
  line-height: 1.0;
  letter-spacing: -0.04em;
  color: #0a0a12;
  
  margin: 0;
}
.about-hero__title em {
  font-style: italic;
  font-family: 'Cormorant Garamond', serif;
  color: #8DB49E;
  font-weight: 700;
  font-size: 1.05em;
}
.about-hero__subtitle {
  font-size: clamp(15px, 1.6vw, 18px);
  color: rgba(10,10,18,0.62);
  max-width: 560px;
  line-height: 1.8;
  margin: 0;
}
.about-hero__cta {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: var(--s-16);
  flex-wrap: wrap;
}

/* Scroll cue */
.about-hero__scroll { display: none; }
.about-hero__scroll span {
  display: block;
  width: 1.5px;
  height: 44px;
  background: linear-gradient(to bottom, rgba(10,10,18,0.30), transparent);
  animation: scrollCue 2s ease-in-out infinite;
}
@keyframes scrollCue {
  0%, 100% { transform: scaleY(1); opacity: .7; }
  50% { transform: scaleY(0.5); opacity: .3; }
}

/* Hero responsive */
@media (max-width: 768px) {
  .about-hero__inner {  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 130px var(--s-40) var(--s-56);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
  gap: var(--s-24);
}
  .about-hero__title { font-size: clamp(36px, 8vw, 72px); }
  .about-hero__orb--1 { width: 300px; height: 300px; }
}
@media (max-width: 480px) {
  .about-hero__inner {  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 130px var(--s-40) var(--s-56);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
  gap: var(--s-24);
}
  .about-hero__title { font-size: clamp(36px, 8vw, 72px); letter-spacing: -0.04em; }
  .about-hero__cta { flex-direction: column; align-items: stretch; width: 100%; }
  .about-hero__cta .btn { justify-content: center; }
  .about-hero__scroll { display: none; }
  .about-hero__orb { display: none; }
}
@media (max-width: 360px) {
  .about-hero__inner {  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 130px var(--s-40) var(--s-56);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
  gap: var(--s-24);
}
  .about-hero__title { font-size: clamp(36px, 8vw, 72px); }
}


/* ── 2. STATS BAR ── */
.stats-bar {
  background: #fff;
  border-top: 1.5px solid var(--border);
  border-bottom: 1.5px solid var(--border);
  padding: var(--s-40) 0;
}
.stats-bar__inner {
  max-width: 1380px;
  margin: 0 auto;
  padding: 0 var(--s-40);
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
}
.stats-bar__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  padding: var(--s-32) var(--s-20);
  border-right: 1px solid var(--border);
  position: relative;
}
.stats-bar__item:last-child { border-right: none; }
.stats-bar__item::before {
  content: '';
  position: absolute;
  bottom: 0; left: 50%;
  transform: translateX(-50%) scaleX(0);
  width: 40px; height: 2px;
  background: var(--purple);
  border-radius: 1px;
  transition: transform 0.4s var(--ease);
}
.stats-bar__item:hover::before { transform: translateX(-50%) scaleX(1); }
.stats-bar__number {
  font-size: clamp(28px, 3.2vw, 46px);
  font-weight: 800;
  letter-spacing: -0.04em;
  color: #fff;
  line-height: 1;
}
.stats-bar__number span { color: var(--purple-light); }
.stats-bar__label {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.42);
}

@media (max-width: 768px) {
  .stats-bar__inner { grid-template-columns: repeat(2, 1fr); padding: 0 var(--s-24); }
  .stats-bar__item:nth-child(2) { border-right: none; }
  .stats-bar__item { padding: var(--s-24) var(--s-16); }
}
@media (max-width: 480px) {
  .stats-bar__inner { padding: 0 var(--s-16); }
  .stats-bar__item { padding: var(--s-20) var(--s-12); }
  .stats-bar__number { font-size: clamp(22px, 7vw, 34px); }
}
@media (max-width: 360px) {
  .stats-bar__inner { grid-template-columns: 1fr 1fr; }
}


/* ── 3. OUR STORY ── */
.about-page__split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--s-80);
  align-items: center;
}
.about-story__media {
  position: relative;
  border-radius: var(--r-xl);
  overflow: hidden;
  box-shadow: var(--shadow-lg);
}
.about-story__media img {
  width: 100%;
  aspect-ratio: 4/5;
  object-fit: cover;
  display: block;
  transition: transform 0.7s var(--ease);
}
.about-story__media:hover img { transform: scale(1.03); }
.about-story__badge {
  position: absolute;
  bottom: var(--s-24);
  left: var(--s-24);
  background: var(--purple);
  color: #fff;
  border-radius: var(--r-lg);
  padding: var(--s-16) var(--s-20);
  display: flex;
  flex-direction: column;
  gap: 2px;
  box-shadow: 0 8px 32px rgba(0,0,0,0.25);
  backdrop-filter: blur(4px);
}
.about-story__badge--alt {
  bottom: auto;
  top: var(--s-24);
  left: auto;
  right: var(--s-24);
  background: rgba(255,255,255,0.95);
  color: var(--charcoal);
  border: 1.5px solid var(--border);
}
.about-story__badge--alt .about-story__badge-num { font-size: 20px; }
.about-story__badge--alt .about-story__badge-label { color: var(--stone); }
.about-story__badge-num {
  font-size: 28px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: -0.03em;
}
.about-story__badge-label {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.8;
}
.about-story__body {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: var(--s-20);
}
.about-story__body > p {
  font-size: clamp(15px, 1.4vw, 17px);
  line-height: 1.85;
  color: var(--stone);
  margin: 0;
}
.about-page__heading {
  font-weight: 800;
  font-size: clamp(28px, 3.5vw, 44px);
  color: var(--charcoal);
  letter-spacing: -0.03em;
  line-height: 1.15;
  margin-bottom: var(--s-8);
}
.about-story__pillars {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--s-12);
  margin-top: var(--s-4);
}
.about-pillar {
  display: flex;
  align-items: flex-start;
  gap: var(--s-12);
  padding: var(--s-16);
  background: var(--off-white);
  border-radius: var(--r-lg);
  border: 1.5px solid var(--border);
  transition: border-color 0.3s, background 0.3s;
}
.about-pillar:hover {
  border-color: var(--purple);
  background: var(--purple-wash);
}
.about-pillar__icon { font-size: 20px; line-height: 1; flex-shrink: 0; margin-top: 2px; }
.about-pillar__title { font-size: 13px; font-weight: 700; color: var(--charcoal); margin-bottom: 3px; }
.about-pillar__desc  { font-size: 12px; color: var(--stone); line-height: 1.55; }

@media (max-width: 960px) {
  .about-page__split { grid-template-columns: 1fr; gap: var(--s-48); }
  .about-story__media { max-width: 520px; margin: 0 auto; }
  .about-story__media img { aspect-ratio: 4/3; }
}
@media (max-width: 600px) {
  .about-story__pillars { grid-template-columns: 1fr; }
  .about-page__heading { font-size: clamp(26px, 7vw, 38px); }
}


/* ── 4. VALUES ── */
.about-values-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--s-24);
}
.about-value-card {
  padding: var(--s-40) var(--s-28);
  background: var(--white);
  border-radius: var(--r-xl);
  border: 1.5px solid var(--border);
  text-align: center;
  transition: all 0.4s var(--ease);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--s-16);
  position: relative;
  overflow: hidden;
}
.about-value-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: var(--purple);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.45s var(--ease);
}
.about-value-card:hover {
  border-color: var(--border-hover);
  box-shadow: var(--shadow-card);
  transform: translateY(-5px);
}
.about-value-card:hover::before { transform: scaleX(1); }
.about-value-card__icon {
  width: 68px;
  height: 68px;
  border-radius: 50%;
  background: var(--purple-wash);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 28px;
  transition: transform 0.4s var(--ease);
}
.about-value-card:hover .about-value-card__icon { transform: scale(1.1) rotate(-5deg); }
.about-value-card__title { font-size: 17px; font-weight: 700; color: var(--charcoal); letter-spacing: -0.01em; }
.about-value-card__desc  { font-size: 14px; line-height: 1.72; color: var(--stone); }

@media (max-width: 1100px) { .about-values-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px)  { .about-values-grid { grid-template-columns: 1fr; gap: var(--s-16); } }


/* ── 5. WHAT WE DO (services on dark bg) ── */
.about-services-section {
  background: var(--dark-mid) !important;
}
.about-services__eyebrow { color: rgba(255,255,255,0.55) !important; }
.about-services__eyebrow::before { background: rgba(255,255,255,0.35) !important; }
.about-services__title { color: #fff !important; }

.about-services-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--s-20);
  margin-top: var(--s-8);
}
/* Last two cards span wider to centre them */
.about-services-grid .about-service-card:nth-child(4),
.about-services-grid .about-service-card:nth-child(5) {
  grid-column: auto;
}
/* 5-card trick: centre the last row of 2 on 3-col */
.about-services-grid::after {
  content: '';
  display: block;
}

.about-service-card {
  display: flex;
  align-items: flex-start;
  gap: var(--s-20);
  padding: var(--s-28);
  background: rgba(255,255,255,0.04);
  border: 1.5px solid rgba(255,255,255,0.08);
  border-radius: var(--r-xl);
  transition: all 0.4s var(--ease);
  position: relative;
  overflow: hidden;
}
.about-service-card::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(124,58,237,0.08), transparent);
  opacity: 0;
  transition: opacity 0.4s;
}
.about-service-card:hover {
  border-color: rgba(124,58,237,0.35);
  background: rgba(124,58,237,0.08);
  transform: translateY(-4px);
}
.about-service-card:hover::before { opacity: 1; }

.about-service-card__icon-wrap {
  font-size: 28px;
  width: 56px;
  height: 56px;
  border-radius: var(--r-lg);
  background: rgba(124,58,237,0.15);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: transform 0.4s var(--ease);
}
.about-service-card:hover .about-service-card__icon-wrap { transform: scale(1.1) rotate(-5deg); }

.about-service-card__body { flex: 1; }
.about-service-card__title {
  font-size: 16px;
  font-weight: 700;
  color: #fff;
  letter-spacing: -0.01em;
  margin-bottom: var(--s-8);
}
.about-service-card__desc {
  font-size: 13px;
  color: rgba(255,255,255,0.55);
  line-height: 1.7;
}
.about-service-card__link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(255,255,255,0.08);
  color: rgba(255,255,255,0.55);
  font-size: 16px;
  flex-shrink: 0;
  transition: all 0.3s;
  align-self: center;
  text-decoration: none;
}
.about-service-card:hover .about-service-card__link {
  background: var(--purple);
  color: #fff;
  transform: translateX(3px);
}

@media (max-width: 1024px) { .about-services-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px)  {
  .about-services-grid { grid-template-columns: 1fr; gap: var(--s-16); }
  .about-service-card { padding: var(--s-20); gap: var(--s-16); }
  .about-service-card__icon-wrap { width: 48px; height: 48px; font-size: 22px; }
}


/* ── 6. TIMELINE ── */
.timeline-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--s-24);
}
.timeline-card {
  padding: var(--s-32);
  background: var(--white);
  border: 1.5px solid var(--border);
  border-radius: var(--r-xl);
  transition: all 0.4s var(--ease);
  position: relative;
  overflow: hidden;
}
.timeline-card::before {
  content: '';
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: 3px;
  background: var(--purple);
  transform: scaleY(0);
  transform-origin: top;
  transition: transform 0.45s var(--ease);
}
.timeline-card:hover {
  border-color: var(--border-hover);
  box-shadow: var(--shadow-card);
  transform: translateY(-4px);
}
.timeline-card:hover::before { transform: scaleY(1); }
.timeline-card__emoji {
  font-size: 28px;
  margin-bottom: var(--s-12);
  display: block;
}
.timeline-card__year {
  font-weight: 800;
  font-size: clamp(28px, 3vw, 40px);
  color: var(--purple);
  margin-bottom: var(--s-8);
  line-height: 1;
  letter-spacing: -0.03em;
}
.timeline-card__title {
  font-weight: 700;
  font-size: 16px;
  color: var(--charcoal);
  margin-bottom: var(--s-8);
  letter-spacing: -0.01em;
}
.timeline-card__desc {
  font-size: 13px;
  color: var(--stone);
  line-height: 1.65;
}

@media (max-width: 1024px) { .timeline-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px)  {
  .timeline-grid { grid-template-columns: 1fr; gap: var(--s-16); }
  .timeline-card { padding: var(--s-24); }
}


/* ── 7. FAQ (about page layout) ── */
.about-faq__inner {
  display: grid;
  grid-template-columns: 1fr 1.6fr;
  gap: var(--s-80);
  align-items: start;
}
.about-faq__header { position: sticky; top: 110px; }
.about-faq__list   { max-width: 100%; margin: 0; }

/* Polish the details/summary faq */
.faq-list { display: flex; flex-direction: column; gap: var(--s-10); }
.faq-item {
  background: var(--white);
  border: 1.5px solid var(--border);
  border-radius: var(--r-xl);
  overflow: hidden;
  transition: box-shadow 0.3s, border-color 0.3s;
}
.faq-item:hover { box-shadow: var(--shadow-card); border-color: var(--border-hover); }
.faq-item[open]  { border-color: var(--purple); }
.faq-item summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--s-16);
  padding: var(--s-20) var(--s-24);
  cursor: pointer;
  font-size: 15px;
  font-weight: 600;
  color: var(--charcoal);
  list-style: none;
  user-select: none;
  transition: color 0.25s;
}
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after {
  content: '+';
  font-size: 22px;
  font-weight: 300;
  color: var(--purple);
  flex-shrink: 0;
  transition: transform 0.35s var(--ease);
  line-height: 1;
  width: 24px;
  text-align: center;
}
.faq-item[open] summary { color: var(--purple); }
.faq-item[open] summary::after { content: '−'; }
.faq-item__body {
  padding: 0 var(--s-24) var(--s-20);
  font-size: 15px;
  line-height: 1.85;
  color: var(--stone);
  border-top: 1px solid var(--cream-dark);
}

@media (max-width: 900px) {
  .about-faq__inner { grid-template-columns: 1fr; gap: var(--s-40); }
  .about-faq__header { position: static; }
}
@media (max-width: 480px) {
  .faq-item summary { font-size: 14px; padding: var(--s-16) var(--s-20); }
  .faq-item__body   { padding: 0 var(--s-20) var(--s-16); font-size: 14px; }
}


/* ── 8. CTA ── */
.about-cta-section {
  position: relative;
  overflow: hidden;
  background: var(--dark);
}
.about-cta__inner {
  max-width: 700px;
  margin: 0 auto;
  padding: var(--s-120) var(--s-40);
  text-align: center;
  position: relative;
  z-index: 2;
}
.about-cta__orb {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
  z-index: 1;
}
.about-cta__orb--1 {
  width: 600px; height: 600px;
  top: -200px; right: -150px;
  background: radial-gradient(circle, rgba(124,58,237,0.14) 0%, transparent 70%);
}
.about-cta__orb--2 {
  width: 400px; height: 400px;
  bottom: -100px; left: -80px;
  background: radial-gradient(circle, rgba(37,99,235,0.12) 0%, transparent 70%);
}
.about-cta__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.45);
  margin-bottom: var(--s-20);
}
.about-cta__title {
  font-size: clamp(32px, 5vw, 60px);
  font-weight: 900;
  color: #fff;
  letter-spacing: -0.035em;
  line-height: 1.1;
  margin-bottom: var(--s-20);
}
.about-cta__title em {
  font-style: italic;
  font-family: 'Cormorant Garamond', serif;
  color: var(--purple-light);
  font-weight: 600;
  font-size: 1.05em;
}
.about-cta__sub {
  font-size: 17px;
  color: rgba(255,255,255,0.60);
  line-height: 1.75;
  max-width: 520px;
  margin: 0 auto var(--s-40);
}
.about-cta__actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--s-16);
  flex-wrap: wrap;
}
.about-cta__contacts {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--s-32);
  flex-wrap: wrap;
  margin-top: var(--s-48);
  padding-top: var(--s-40);
  border-top: 1px solid rgba(255,255,255,0.09);
}
.about-cta__contact-link {
  display: flex;
  align-items: center;
  gap: 8px;
  color: rgba(255,255,255,0.55);
  font-size: 14px;
  text-decoration: none;
  transition: color 0.25s;
}
.about-cta__contact-link:hover { color: #fff; }

@media (max-width: 768px) {
  .about-cta__inner { padding: var(--s-80) var(--s-24); }
  .about-cta__title { font-size: clamp(28px, 7vw, 48px); }
}
@media (max-width: 480px) {
  .about-cta__inner { padding: var(--s-64) var(--s-20); }
  .about-cta__actions { flex-direction: column; align-items: stretch; }
  .about-cta__actions .btn { justify-content: center; }
  .about-cta__contacts { gap: var(--s-16); margin-top: var(--s-32); padding-top: var(--s-24); }
}
@media (max-width: 360px) {
  .about-cta__inner { padding: var(--s-48) var(--s-16); }
  .about-cta__title { font-size: 26px; }
}


/* ═══════════════════════════════════════════════════════════════════
   SERVICES PAGE — Full Polish Pass
   ═══════════════════════════════════════════════════════════════════ */

/* ── 1. HERO ── */
.services-hero-wrap {
  position: relative;
  width: 100%;
  min-height: 100vh;
  display: flex;
  align-items: center;
  overflow: hidden;
  background: linear-gradient(135deg, #ece8ff 0%, #c8e8f8 28%, #a4eedd 60%, #7fe8c2 100%);

  position: relative;
  width: 100%;
  min-height: 100vh;
  display: flex;
  align-items: center;
  overflow: hidden;
  background: linear-gradient(135deg, #ece8ff 0%, #c8e8f8 28%, #a4eedd 60%, #7fe8c2 100%);
}
.services-hero__bg { display: none; }
.services-hero__overlay { display: none; }
.services-hero__orb {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
  z-index: 1;
}
.services-hero__orb--1 {
  width: 560px; height: 560px;
  top: -140px; right: -100px;
  background: radial-gradient(circle, rgba(124,58,237,0.08) 0%, transparent 70%);
}
.services-hero__orb--2 {
  width: 380px; height: 380px;
  bottom: -80px; left: 4%;
  background: radial-gradient(circle, rgba(37,99,235,0.06) 0%, transparent 70%);
}
.services-hero__inner {  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 130px var(--s-40) var(--s-56);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
  gap: var(--s-24);
}
.services-hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(255,255,255,0.55);
  border: 1px solid rgba(255,255,255,0.80);
  border-radius: var(--r-pill);
  padding: 7px 20px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(10,10,18,0.70);
  backdrop-filter: blur(8px);
}
.services-hero__title {
  font-family: 'Poppins', sans-serif;
  font-size: clamp(52px, 9vw, 120px);
  font-weight: 900;
  line-height: 1.0;
  letter-spacing: -0.04em;
  color: #0a0a12;
  
  margin: 0;
}
.services-hero__title em {
  font-style: italic;
  font-family: 'Cormorant Garamond', serif;
  color: #8DB49E;
  font-weight: 700;
  font-size: 1.05em;
}
.services-hero__subtitle {
  font-size: clamp(15px, 1.6vw, 18px);
  color: rgba(10,10,18,0.62);
  max-width: 560px;
  line-height: 1.8;
  margin: 0;
}
.services-hero__cta {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: var(--s-16);
  flex-wrap: wrap;
}

@media (max-width: 768px) {
  .services-hero__inner {  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 130px var(--s-40) var(--s-56);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
  gap: var(--s-24);
}
  .services-hero__title { font-size: clamp(36px, 8vw, 72px); }
}
@media (max-width: 480px) {
  .services-hero__inner {  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 130px var(--s-40) var(--s-56);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
  gap: var(--s-24);
}
  .services-hero__title { font-size: clamp(36px, 8vw, 72px); letter-spacing: -0.04em; }
  .services-hero__cta { flex-direction: column; align-items: stretch; width: 100%; }
  .services-hero__cta .btn { justify-content: center; }
  .services-hero__orb { display: none; }
}
@media (max-width: 360px) {
  .services-hero__inner {  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 130px var(--s-40) var(--s-56);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
  gap: var(--s-24);
}
  .services-hero__title { font-size: clamp(36px, 8vw, 72px); }
}


/* ── 2. SERVICE NAV — CENTRED ── */
.services-nav {
  background: #fff;
  border-bottom: 1.5px solid var(--border);
  position: sticky;
  top: 72px;
  z-index: 90;
  box-shadow: 0 2px 16px rgba(0,0,0,0.06);
}
.services-nav__inner {
  max-width: 1380px;
  margin: 0 auto;
  padding: 0 var(--s-40);
  display: flex;
  align-items: center;
  justify-content: center;   /* ← CENTRED */
  gap: 0;
  overflow-x: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.services-nav__inner::-webkit-scrollbar { display: none; }

.services-nav__link {
  flex-shrink: 0;
  padding: var(--s-16) var(--s-20);
  font-size: 13px;
  font-weight: 600;
  color: var(--stone);
  text-decoration: none;
  border-bottom: 2px solid transparent;
  transition: color 0.25s, border-color 0.25s, background 0.25s;
  white-space: nowrap;
  display: flex;
  align-items: center;
  gap: 7px;
  position: relative;
}
.services-nav__link:hover { color: var(--charcoal); background: rgba(124,58,237,0.04); }
.services-nav__link.s-nav-active {
  color: var(--purple);
  border-bottom-color: var(--purple);
}
.services-nav__icon { font-size: 15px; line-height: 1; }

/* Mobile: scrollable but still appears centred when all items fit */
@media (max-width: 960px) {
  .services-nav__inner {
    justify-content: flex-start; /* let it scroll naturally on small screens */
    padding: 0 var(--s-24);
  }
  .services-nav__link { padding: var(--s-14) var(--s-16); }
}
@media (max-width: 600px) {
  .services-nav__inner { padding: 0 var(--s-16); gap: 0; }
  .services-nav__link { padding: var(--s-12) var(--s-12); font-size: 12px; gap: 5px; }
  .services-nav__icon { font-size: 14px; }
}
@media (max-width: 400px) {
  .services-nav__link span:last-child { display: none; } /* show icon only */
  .services-nav__icon { font-size: 18px; }
  .services-nav__link {
    padding: var(--s-12) var(--s-14);
    flex-direction: column;
    gap: 0;
    align-items: center;
    border-bottom-width: 2px;
  }
}


/* ── 3. SERVICE DETAIL SECTIONS ── */
.service-detail {
  padding: var(--s-96) 0;
  border-bottom: 1.5px solid var(--border);
  overflow: hidden;
}
.service-detail:last-of-type { border-bottom: none; }

.service-detail__inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 var(--s-48);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--s-80);
  align-items: center;
}
.service-detail--reverse .service-detail__inner {
  direction: rtl;
}
.service-detail--reverse .service-detail__content,
.service-detail--reverse .service-detail__visual {
  direction: ltr;
}

/* Visual side */
.service-detail__visual {
  position: relative;
}
.service-detail__img-wrap {
  position: relative;
  border-radius: var(--r-xl);
  overflow: hidden;
  box-shadow: var(--shadow-lg);
}
.service-detail__img {
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
  display: block;
  transition: transform 0.7s var(--ease);
}
.service-detail__img-wrap:hover .service-detail__img { transform: scale(1.04); }

.service-detail__badge {
  position: absolute;
  bottom: var(--s-24);
  right: var(--s-24);
  background: rgba(18,18,28,0.92);
  backdrop-filter: blur(8px);
  color: #fff;
  padding: var(--s-12) var(--s-20);
  border-radius: var(--r-lg);
  font-size: 13px;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 8px;
  box-shadow: 0 8px 32px rgba(0,0,0,0.28);
  border: 1px solid rgba(255,255,255,0.08);
}
.service-detail__badge-dot {
  width: 8px; height: 8px;
  border-radius: 50%;
  background: var(--purple-light);
  flex-shrink: 0;
  animation: pulse 2s ease-in-out infinite;
}

/* Large background number */
.service-detail__bg-num {
  position: absolute;
  top: -20px;
  left: -16px;
  font-size: clamp(100px, 14vw, 180px);
  font-weight: 900;
  color: rgba(124,58,237,0.06);
  line-height: 1;
  letter-spacing: -0.06em;
  pointer-events: none;
  user-select: none;
  z-index: -1;
}

/* Content side */
.service-detail__content {
  display: flex;
  flex-direction: column;
  gap: var(--s-20);
}
.service-detail__eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--purple);
  display: flex;
  align-items: center;
  gap: var(--s-10);
}
.service-detail__eyebrow::before {
  content: '';
  width: 24px; height: 2px;
  background: var(--purple);
  border-radius: 1px;
  flex-shrink: 0;
}
.service-detail__title {
  font-size: clamp(26px, 3vw, 44px);
  font-weight: 800;
  letter-spacing: -0.03em;
  color: var(--charcoal);
  line-height: 1.12;
  margin: 0;
}
.service-detail__tagline {
  font-size: clamp(15px, 1.4vw, 17px);
  font-weight: 500;
  color: var(--purple);
  line-height: 1.55;
  padding: var(--s-12) var(--s-16);
  background: var(--purple-wash);
  border-left: 3px solid var(--purple);
  border-radius: 0 var(--r-md) var(--r-md) 0;
}
.service-detail__desc {
  font-size: clamp(14px, 1.3vw, 16px);
  line-height: 1.85;
  color: var(--stone);
}
.service-detail__features {
  display: flex;
  flex-direction: column;
  gap: var(--s-10);
  list-style: none;
  padding: 0;
  margin: 0;
}
.service-detail__feature {
  display: flex;
  align-items: center;
  gap: var(--s-12);
  font-size: 14px;
  font-weight: 500;
  color: var(--charcoal);
}
.service-detail__feature-check {
  width: 24px; height: 24px;
  border-radius: 50%;
  background: var(--purple-wash);
  border: 1.5px solid var(--purple);
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 10px;
  color: var(--purple);
  font-weight: 700;
}
.service-detail__cta {
  display: flex;
  gap: var(--s-16);
  flex-wrap: wrap;
  margin-top: var(--s-8);
}

/* Service detail responsive */
@media (max-width: 1024px) {
  .service-detail__inner { padding: 0 var(--s-32); gap: var(--s-48); }
}
@media (max-width: 860px) {
  .service-detail__inner {
    grid-template-columns: 1fr;
    gap: var(--s-36);
    padding: 0 var(--s-24);
  }
  .service-detail--reverse .service-detail__inner { direction: ltr; }
  .service-detail { padding: var(--s-64) 0; }
  .service-detail__bg-num { left: auto; right: -8px; font-size: 100px; opacity: 0.7; }
}
@media (max-width: 600px) {
  .service-detail { padding: var(--s-48) 0; }
  .service-detail__inner { padding: 0 var(--s-20); gap: var(--s-28); }
  .service-detail__cta { flex-direction: column; align-items: flex-start; }
  .service-detail__cta .btn { width: 100%; justify-content: center; }
  .service-detail__bg-num { display: none; }
}
@media (max-width: 360px) {
  .service-detail__inner { padding: 0 var(--s-16); }
  .service-detail__title { font-size: clamp(22px, 8vw, 32px); }
}


/* ── 4. PROCESS / HOW WE WORK ── */
.svc-process-section { background: var(--dark-mid) !important; }
.svc-process-eyebrow { color: rgba(255,255,255,0.55) !important; }
.svc-process-eyebrow::before { background: rgba(255,255,255,0.35) !important; }
.svc-process-title { color: #fff !important; }

.process-steps {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--s-4);
  position: relative;
  margin-top: var(--s-8);
}
/* Connecting line between steps */
.process-steps::before {
  content: '';
  position: absolute;
  top: 27px;
  left: calc(12.5% + 27px);
  right: calc(12.5% + 27px);
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(124,58,237,0.45), transparent);
  z-index: 0;
}
.process-step {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: var(--s-20);
  padding: var(--s-32) var(--s-20);
  position: relative;
  z-index: 1;
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: var(--r-xl);
  transition: background 0.35s, border-color 0.35s, transform 0.35s;
}
.process-step:hover {
  background: rgba(124,58,237,0.10);
  border-color: rgba(124,58,237,0.30);
  transform: translateY(-4px);
}
.process-step__num {
  width: 54px; height: 54px;
  border-radius: 50%;
  background: var(--purple);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 17px;
  font-weight: 800;
  flex-shrink: 0;
  box-shadow: 0 4px 20px rgba(124,58,237,0.35);
  position: relative;
  z-index: 1;
}
.process-step__body { display: flex; flex-direction: column; gap: var(--s-8); }
.process-step__title { font-size: 16px; font-weight: 700; color: #fff; }
.process-step__desc  { font-size: 13px; line-height: 1.7; color: rgba(255,255,255,0.55); }

@media (max-width: 900px) {
  .process-steps { grid-template-columns: repeat(2, 1fr); gap: var(--s-16); }
  .process-steps::before { display: none; }
}
@media (max-width: 540px) {
  .process-steps { grid-template-columns: 1fr; gap: var(--s-12); }
  .process-step { flex-direction: row; text-align: left; padding: var(--s-20); align-items: flex-start; gap: var(--s-16); }
  .process-step__num { flex-shrink: 0; }
}


/* ── 5. WHY CHOOSE ── */
.services-why-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--s-24);
}
.services-why-card {
  padding: var(--s-36) var(--s-28);
  background: var(--off-white);
  border-radius: var(--r-xl);
  border: 1.5px solid var(--border);
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--s-16);
  transition: all 0.4s var(--ease);
  position: relative;
  overflow: hidden;
}
.services-why-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: var(--purple);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.45s var(--ease);
}
.services-why-card:hover {
  border-color: var(--border-hover);
  box-shadow: var(--shadow-card);
  transform: translateY(-5px);
  background: #fff;
}
.services-why-card:hover::before { transform: scaleX(1); }
.services-why-card__icon {
  width: 68px; height: 68px;
  border-radius: 50%;
  background: var(--purple-wash);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 28px;
  transition: transform 0.4s var(--ease);
}
.services-why-card:hover .services-why-card__icon { transform: scale(1.1) rotate(-6deg); }
.services-why-card__title { font-size: 17px; font-weight: 700; color: var(--charcoal); letter-spacing: -0.01em; }
.services-why-card__desc  { font-size: 14px; line-height: 1.72; color: var(--stone); }

@media (max-width: 900px) { .services-why-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .services-why-grid { grid-template-columns: 1fr; gap: var(--s-16); } }


/* ── 6. TESTIMONIALS ── */
.svc-testi-section { background: var(--dark) !important; }
.svc-testi-eyebrow { color: rgba(255,255,255,0.45) !important; }
.svc-testi-eyebrow::before { background: rgba(255,255,255,0.3) !important; }
.svc-testi-title { color: #fff !important; }

.services-testi-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--s-24);
}
.svc-testi-card {
  background: rgba(255,255,255,0.04);
  border: 1.5px solid rgba(255,255,255,0.08);
  border-radius: var(--r-xl);
  padding: var(--s-36) var(--s-32);
  display: flex;
  flex-direction: column;
  gap: var(--s-20);
  transition: all 0.4s var(--ease);
}
.svc-testi-card:hover {
  background: rgba(124,58,237,0.08);
  border-color: rgba(124,58,237,0.25);
  transform: translateY(-4px);
}
.svc-testi-card__stars {
  font-size: 14px;
  letter-spacing: 2px;
  color: #f59e0b;
}
.svc-testi-card__quote {
  font-size: 15px;
  line-height: 1.82;
  color: rgba(255,255,255,0.72);
  margin: 0;
  flex: 1;
  font-style: italic;
}
.svc-testi-card__footer {
  display: flex;
  align-items: center;
  gap: var(--s-14);
  padding-top: var(--s-20);
  border-top: 1px solid rgba(255,255,255,0.07);
}
.svc-testi-card__avatar {
  width: 42px; height: 42px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: 800;
  color: #fff;
  flex-shrink: 0;
  letter-spacing: 0.03em;
}
.svc-testi-card__name { font-size: 14px; font-weight: 700; color: #fff; margin: 0; }
.svc-testi-card__role { font-size: 12px; color: rgba(255,255,255,0.45); margin: 0; }

@media (max-width: 768px) { .services-testi-grid { grid-template-columns: 1fr; } }
@media (max-width: 480px) {
  .svc-testi-card { padding: var(--s-24) var(--s-20); }
  .svc-testi-card__quote { font-size: 14px; }
}


/* ── 7. SERVICES CTA ── */
.svc-cta-section {
  position: relative;
  overflow: hidden;
  background: var(--dark);
  border-top: 1px solid rgba(255,255,255,0.06);
}
.svc-cta__inner {
  max-width: 700px;
  margin: 0 auto;
  padding: var(--s-120) var(--s-40);
  text-align: center;
  position: relative;
  z-index: 2;
}
.svc-cta__orb {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
  z-index: 1;
}
.svc-cta__orb--1 {
  width: 600px; height: 600px;
  top: -200px; right: -150px;
  background: radial-gradient(circle, rgba(124,58,237,0.14) 0%, transparent 70%);
}
.svc-cta__orb--2 {
  width: 400px; height: 400px;
  bottom: -100px; left: -80px;
  background: radial-gradient(circle, rgba(37,99,235,0.10) 0%, transparent 70%);
}
.svc-cta__eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.42);
  display: block;
  margin-bottom: var(--s-20);
}
.svc-cta__title {
  font-size: clamp(32px, 5vw, 60px);
  font-weight: 900;
  color: #fff;
  letter-spacing: -0.035em;
  line-height: 1.1;
  margin-bottom: var(--s-20);
}
.svc-cta__title em {
  font-style: italic;
  font-family: 'Cormorant Garamond', serif;
  color: var(--purple-light);
  font-weight: 600;
  font-size: 1.05em;
}
.svc-cta__sub {
  font-size: 17px;
  color: rgba(255,255,255,0.55);
  line-height: 1.75;
  max-width: 500px;
  margin: 0 auto var(--s-40);
}
.svc-cta__actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--s-16);
  flex-wrap: wrap;
}
@media (max-width: 768px) {
  .svc-cta__inner { padding: var(--s-80) var(--s-24); }
  .svc-cta__title { font-size: clamp(28px, 7vw, 48px); }
}
@media (max-width: 480px) {
  .svc-cta__inner { padding: var(--s-64) var(--s-20); }
  .svc-cta__actions { flex-direction: column; align-items: stretch; }
  .svc-cta__actions .btn { justify-content: center; }
}
@media (max-width: 360px) {
  .svc-cta__inner { padding: var(--s-48) var(--s-16); }
  .svc-cta__title { font-size: 26px; }
}

/* ─── Utility Grids ─── */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-28);}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s-24);}
.services-why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-28);}
.services-testi-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s-24);}
@media(max-width:900px){.grid-3{grid-template-columns:repeat(2,1fr);}.services-why-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:600px){.services-why-grid,.services-testi-grid{grid-template-columns:1fr;}}
@media(max-width:540px){.grid-3,.grid-2{grid-template-columns:1fr;}}


/* ═══════════════════════════════════════════════════════════════════
   COURSES PAGE — Full Polish Pass
   ═══════════════════════════════════════════════════════════════════ */

/* ── 1. HERO — white-to-purple gradient ── */
.courses-hero-wrap {
  position: relative;
  min-height: 100vh;
  display: flex;
  align-items: center;
  overflow: hidden;
  /* Crisp white → airy lavender → vivid purple */
  background: linear-gradient(135deg, #ece8ff 0%, #c8e8f8 28%, #a4eedd 60%, #7fe8c2 100%);

  position: relative;
  min-height: 100vh;
  display: flex;
  align-items: center;
  overflow: hidden;
  /* Crisp white → airy lavender → vivid purple */
  background: linear-gradient(135deg, #ece8ff 0%, #c8e8f8 28%, #a4eedd 60%, #7fe8c2 100%);
}

/* Subtle dot-grid texture overlay */
.courses-hero__grid-bg {
  position: absolute;
  inset: 0;
  background-image:
    radial-gradient(circle, rgba(124,58,237,0.08) 1px, transparent 1px);
  background-size: 32px 32px;
  pointer-events: none;
  z-index: 0;
}

/* Floating orbs */
.courses-hero__orb {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
  z-index: 0;
}
.courses-hero__orb--1 {
  width: 640px; height: 640px;
  top: -180px; right: -120px;
  background: radial-gradient(circle, rgba(124,58,237,0.07) 0%, transparent 65%);
  animation: orbFloat1 16s ease-in-out infinite;
}
.courses-hero__orb--2 {
  width: 420px; height: 420px;
  bottom: -100px; left: -60px;
  background: radial-gradient(circle, rgba(37,99,235,0.06) 0%, transparent 65%);
  animation: orbFloat2 20s ease-in-out infinite;
}
.courses-hero__orb--3 {
  width: 280px; height: 280px;
  top: 30%; left: 55%;
  background: radial-gradient(circle, rgba(255,255,255,0.18) 0%, transparent 70%);
  animation: orbFloat1 12s ease-in-out infinite reverse;
}

.courses-hero__inner {  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 130px var(--s-40) var(--s-56);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
  gap: var(--s-24);
}

/* Badge / eyebrow */
.courses-hero__badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(255,255,255,0.55);
  border: 1.5px solid rgba(255,255,255,0.80);
  border-radius: var(--r-pill);
  padding: 7px 20px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(10,10,18,0.70);
  backdrop-filter: blur(4px);
}
.courses-hero__badge-dot {
  width: 8px; height: 8px;
  border-radius: 50%;
  background: var(--purple);
  animation: pulse 2s ease-in-out infinite;
  flex-shrink: 0;
}

/* Title */
.courses-hero__title {
  font-size: clamp(52px, 9vw, 120px);
  font-weight: 900;
  line-height: 1.0;
  letter-spacing: -0.04em;
  color: #0a0a12;
  margin: 0;
}
.courses-hero__title em {
  font-style: italic;
  font-family: 'Cormorant Garamond', serif;
  color: #8DB49E;
  font-weight: 700;
  font-size: 1.06em;
}

/* Subtitle */
.courses-hero__subtitle {
  font-size: clamp(15px, 1.7vw, 18px);
  color: rgba(10,10,18,0.62);
  max-width: 560px;
  line-height: 1.8;
  margin: 0;
}

/* CTA */
.courses-hero__cta {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: var(--s-14);
  flex-wrap: wrap;
}

/* Outline purple button variant */
.btn--outline-purple {
  background: transparent;
  border: 2px solid var(--purple);
  color: var(--purple);
  border-radius: var(--r-pill);
  padding: 14px 28px;
  font-weight: 700;
  font-size: 14px;
  transition: all 0.3s var(--ease);
  display: inline-flex;
  align-items: center;
  gap: var(--s-8);
}
.btn--outline-purple:hover {
  background: var(--purple);
  color: #fff;
}

/* Trust row */
.courses-hero__trust {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--s-16);
  flex-wrap: wrap;
  margin-top: var(--s-8);
}
.courses-hero__trust-item {
  font-size: 13px;
  font-weight: 600;
  color: #0a0a12;
  opacity: 0.65;
}
.courses-hero__trust-sep {
  color: rgba(10,10,18,0.20);
  font-size: 18px;
  line-height: 1;
}

/* Hero responsive */
@media (max-width: 768px) {
  .courses-hero__inner {  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 130px var(--s-40) var(--s-56);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
  gap: var(--s-24);
}
  .courses-hero__title { font-size: clamp(36px, 8vw, 72px); }
  .courses-hero__orb--3 { display: none; }
}
@media (max-width: 480px) {
  .courses-hero__inner {  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 130px var(--s-40) var(--s-56);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
  gap: var(--s-24);
}
  .courses-hero__title { font-size: clamp(36px, 8vw, 72px); letter-spacing: -0.04em; }
  .courses-hero__cta   { flex-direction: column; align-items: stretch; width: 100%; }
  .courses-hero__cta .btn { justify-content: center; }
  .courses-hero__trust { gap: var(--s-10); }
  .courses-hero__trust-sep { display: none; }
  .courses-hero__trust-item { font-size: 12px; }
  .courses-hero__orb { display: none; }
  .courses-hero__grid-bg { opacity: 0.5; }
}
@media (max-width: 360px) {
  .courses-hero__inner {  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 130px var(--s-40) var(--s-56);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
  gap: var(--s-24);
}
  .courses-hero__title { font-size: clamp(36px, 8vw, 72px); }
}


/* ── 2. STATS STRIP ── */
.courses-stats-strip {
  background: #fff;
  border-top: 1.5px solid var(--border);
  border-bottom: 1.5px solid var(--border);
  padding: var(--s-8) 0;
}
.courses-stats-strip__inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  flex-wrap: nowrap;
}
.courses-stats-strip__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  color: #fff;
  padding: var(--s-24) var(--s-40);
  flex: 1;
  max-width: 220px;
  position: relative;
}
.courses-stats-strip__item::after {
  content: '';
  position: absolute;
  bottom: 10px;
  right: 0;
  top: 10px;
  width: 1px;
  background: rgba(255,255,255,0.18);
}
.courses-stats-strip__item:last-child::after { display: none; }
.courses-stats-strip__num {
  font-size: clamp(22px, 3vw, 36px);
  font-weight: 900;
  letter-spacing: -0.03em;
  line-height: 1;
  color: var(--purple);
}
.courses-stats-strip__label {
  font-size: 11px;
  font-weight: 600;
  color: var(--stone);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.courses-stats-strip__divider { display: none; } /* replaced by ::after */

@media (max-width: 768px) {
  .courses-stats-strip__inner { flex-wrap: wrap; gap: 0; }
  .courses-stats-strip__item  { max-width: 50%; width: 50%; flex: none; padding: var(--s-20) var(--s-16); }
  .courses-stats-strip__item:nth-child(2)::after { display: none; }
  .courses-stats-strip__item:nth-child(4)::after { display: none; }
  .courses-stats-strip__item:nth-child(3),
  .courses-stats-strip__item:nth-child(4) {
    border-top: 1px solid rgba(255,255,255,0.14);
  }
}
@media (max-width: 400px) {
  .courses-stats-strip__item { max-width: 100%; width: 100%; }
  .courses-stats-strip__item::after { display: none; }
  .courses-stats-strip__item + .courses-stats-strip__item {
    border-top: 1px solid rgba(255,255,255,0.14);
  }
}


/* ── 3. FEATURED COURSES SECTION ── */
.courses-featured-section { background: var(--off-white); }
.courses-featured {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--s-32);
  margin-top: var(--s-8);
}

/* ── COURSE CARDS ── */
.course-card {
  background: var(--white);
  border: 1.5px solid var(--border);
  border-radius: var(--r-xl);
  overflow: hidden;
  transition: all 0.4s var(--ease);
  display: flex;
  flex-direction: column;
}
.course-card:hover {
  box-shadow: var(--shadow-card);
  transform: translateY(-5px);
  border-color: var(--border-hover);
}

/* Featured card: side-by-side on desktop */
.course-card--featured {
  display: grid;
  grid-template-columns: 1fr 1fr;
  flex-direction: unset;
}

.course-card__media {
  position: relative;
  overflow: hidden;
  flex-shrink: 0;
  aspect-ratio: 16/9;
}
.course-card--featured .course-card__media {
  aspect-ratio: unset;
  min-height: 260px;
}
.course-card__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.7s var(--ease);
}
.course-card:hover .course-card__image { transform: scale(1.05); }
.course-card__media-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(10,6,30,0.25) 0%, transparent 60%);
  pointer-events: none;
}

/* Badges on image */
.course-card__level-badge {
  position: absolute;
  top: var(--s-12);
  left: var(--s-12);
  background: var(--purple);
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  padding: 3px 10px;
  border-radius: var(--r-pill);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.course-card__featured-badge {
  font-size: 11px;
  font-weight: 700;
  color: #d97706;
  background: #fef3c7;
  border: 1px solid #fde68a;
  border-radius: var(--r-pill);
  padding: 3px 10px;
}

/* Card body */
.course-card__body {
  padding: var(--s-24) var(--s-24) var(--s-28);
  display: flex;
  flex-direction: column;
  gap: var(--s-10);
  flex: 1;
}
.course-card__tags {
  display: flex;
  align-items: center;
  gap: var(--s-8);
  flex-wrap: wrap;
}
.course-card__category {
  font-size: 11px;
  font-weight: 700;
  padding: 3px 10px;
  border-radius: var(--r-pill);
  letter-spacing: 0.04em;
}
.course-card__level {
  font-size: 11px;
  font-weight: 600;
  padding: 3px 10px;
  border-radius: var(--r-pill);
  background: var(--purple-wash);
  color: var(--purple);
  border: 1px solid rgba(124,58,237,0.2);
}
.course-card__title {
  font-weight: 800;
  font-size: clamp(16px, 1.8vw, 20px);
  color: var(--charcoal);
  letter-spacing: -0.02em;
  line-height: 1.3;
  text-decoration: none;
  display: block;
  transition: color 0.25s;
}
.course-card__title:hover { color: var(--purple); }
.course-card__tagline {
  font-size: 13px;
  font-weight: 500;
  color: var(--purple);
  line-height: 1.5;
}
.course-card__excerpt {
  font-size: 13px;
  color: var(--stone);
  line-height: 1.65;
  flex: 1;
}
.course-card__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: auto;
  padding-top: var(--s-12);
  border-top: 1px solid var(--border);
  flex-wrap: wrap;
  gap: var(--s-8);
}
.course-card__duration {
  font-size: 12px;
  color: var(--stone);
  font-weight: 500;
}
.course-card__price {
  font-weight: 800;
  font-size: 16px;
  color: var(--purple);
  letter-spacing: -0.02em;
}
.course-card__price--free {
  color: #059669;
}
.course-card__cta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 700;
  color: var(--purple);
  text-decoration: none;
  margin-top: var(--s-4);
  transition: gap 0.3s var(--ease), opacity 0.25s;
}
.course-card__cta:hover { gap: 10px; opacity: 0.8; }

/* Featured card responsive */
@media (max-width: 1024px) {
  .courses-featured { grid-template-columns: 1fr; }
  .course-card--featured {
    grid-template-columns: 1fr;
    flex-direction: column;
  }
  .course-card--featured .course-card__media {
    aspect-ratio: 16/9;
    min-height: unset;
  }
}
@media (max-width: 600px) {
  .course-card__body { padding: var(--s-20); }
}


/* ── 4. ALL COURSES GRID ── */
.courses-all-section { background: var(--white); }
.courses-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--s-24);
  margin-top: var(--s-8);
}
.courses-pagination {
  display: flex;
  justify-content: center;
  margin-top: var(--s-48);
}
.courses-empty {
  text-align: center;
  color: var(--stone);
  padding: var(--s-64) 0;
  font-size: 15px;
  grid-column: 1 / -1;
}

/* Filter tabs */
.course-filter {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--s-8);
  flex-wrap: wrap;
  margin-bottom: var(--s-40);
}
.course-filter__btn {
  padding: 9px 22px;
  border-radius: var(--r-pill);
  border: 1.5px solid var(--border);
  background: transparent;
  color: var(--stone);
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s var(--ease);
  font-family: inherit;
  letter-spacing: 0.01em;
}
.course-filter__btn:hover {
  border-color: var(--purple);
  color: var(--purple);
  background: var(--purple-wash);
}
.course-filter__btn.active {
  background: var(--purple);
  border-color: var(--purple);
  color: #fff;
  box-shadow: 0 4px 14px rgba(124,58,237,0.25);
}

@media (max-width: 1024px) { .courses-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px)  {
  .courses-grid { grid-template-columns: 1fr; gap: var(--s-16); }
  .course-filter { gap: var(--s-6); }
  .course-filter__btn { padding: 8px 16px; font-size: 12px; }
}


/* ── 5. WHY LEARN ── */
/* ── WHY LEARN SECTION ── */
.why-learn-section { background: var(--off-white); }

.why-learn-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--s-20);
}

.why-learn-card {
  background: var(--white);
  border: 1.5px solid var(--border);
  border-radius: 20px;
  padding: var(--s-32) var(--s-28) var(--s-32);
  display: flex;
  flex-direction: column;
  gap: 0;
  transition: box-shadow 0.4s var(--ease), transform 0.4s var(--ease), border-color 0.35s;
  position: relative;
  overflow: visible; /* allow icon to be fully visible */
}

.why-learn-card:hover {
  box-shadow: 0 12px 48px rgba(124,58,237,0.13);
  transform: translateY(-6px);
  border-color: rgba(124,58,237,0.3);
}

/* Soft purple gradient wash in bottom-right corner on hover */
.why-learn-card::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 20px;
  background: radial-gradient(ellipse at 100% 100%, rgba(124,58,237,0.06) 0%, transparent 60%);
  opacity: 0;
  transition: opacity 0.45s;
  pointer-events: none;
}
.why-learn-card:hover::after { opacity: 1; }

/* Icon — large, square-rounded, sits fully inside the card */
.why-learn-card__icon-wrap {
  width: 60px;
  height: 60px;
  border-radius: 16px;
  background: linear-gradient(135deg, #ede9fe 0%, #ddd6fe 100%);
  border: 1.5px solid rgba(124,58,237,0.15);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 26px;
  flex-shrink: 0;
  margin-bottom: var(--s-20);
  transition: transform 0.4s var(--ease), box-shadow 0.4s;
}
.why-learn-card:hover .why-learn-card__icon-wrap {
  transform: scale(1.1) rotate(-6deg);
  box-shadow: 0 6px 20px rgba(124,58,237,0.20);
}

/* Number tag top-right */
.why-learn-card__num {
  position: absolute;
  top: var(--s-20);
  right: var(--s-24);
  font-size: 11px;
  font-weight: 800;
  color: rgba(124,58,237,0.18);
  letter-spacing: 0.08em;
}

.why-learn-card__title {
  font-weight: 800;
  font-size: 16px;
  color: var(--charcoal);
  letter-spacing: -0.015em;
  line-height: 1.3;
  margin-bottom: var(--s-10);
}

.why-learn-card__desc {
  font-size: 13.5px;
  color: var(--stone);
  line-height: 1.75;
  flex: 1;
}

/* Bottom accent line slides in on hover */
.why-learn-card__line {
  height: 2px;
  border-radius: 1px;
  background: linear-gradient(90deg, var(--purple), var(--purple-light));
  margin-top: var(--s-20);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.45s var(--ease);
}
.why-learn-card:hover .why-learn-card__line { transform: scaleX(1); }

/* Responsive */
@media (max-width: 1100px) {
  .why-learn-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
  .why-learn-grid { grid-template-columns: 1fr; gap: var(--s-14); }
  .why-learn-card { padding: var(--s-24) var(--s-20); border-radius: 16px; }
  .why-learn-card__icon-wrap { width: 52px; height: 52px; font-size: 22px; margin-bottom: var(--s-16); }
}


/* ── 6. CTA BAND ── */
.courses-cta-section {
  position: relative;
  overflow: hidden;
  background: var(--dark);
  padding: var(--s-120) 0;
}
.courses-cta__orb {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
  z-index: 0;
}
.courses-cta__orb--1 {
  width: 600px; height: 600px;
  top: -200px; right: -120px;
  background: radial-gradient(circle, rgba(124,58,237,0.14) 0%, transparent 70%);
}
.courses-cta__orb--2 {
  width: 380px; height: 380px;
  bottom: -100px; left: -60px;
  background: radial-gradient(circle, rgba(167,139,250,0.10) 0%, transparent 70%);
}
.courses-cta__inner {
  position: relative;
  z-index: 2;
  text-align: center;
  max-width: 640px;
  margin: 0 auto;
}
.courses-cta__eyebrow {
  display: block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.42);
  margin-bottom: var(--s-20);
}
.courses-cta__title {
  font-size: clamp(30px, 5vw, 58px);
  font-weight: 900;
  color: #fff;
  letter-spacing: -0.035em;
  line-height: 1.1;
  margin-bottom: var(--s-20);
}
.courses-cta__sub {
  font-size: 16px;
  color: rgba(255,255,255,0.58);
  line-height: 1.75;
  max-width: 500px;
  margin: 0 auto var(--s-40);
}
.courses-cta__actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--s-16);
  flex-wrap: wrap;
}

@media (max-width: 768px) {
  .courses-cta-section { padding: var(--s-80) 0; }
  .courses-cta__title  { font-size: clamp(26px, 7vw, 44px); }
}
@media (max-width: 480px) {
  .courses-cta-section { padding: var(--s-64) 0; }
  .courses-cta__actions { flex-direction: column; align-items: stretch; }
  .courses-cta__actions .btn { justify-content: center; }
  .courses-cta__orb { display: none; }
}
@media (max-width: 360px) {
  .courses-cta__title { font-size: 24px; }
}

/* ─── Blog Page ─── */
.blog-hero-wrap{position:relative;min-height:82vh;display:flex;align-items:center;overflow:hidden;background:linear-gradient(135deg, #ece8ff 0%, #c8e8f8 28%, #a4eedd 60%, #7fe8c2 100%);position:relative;min-height: 100vh;display:flex;align-items:center;overflow:hidden;background:linear-gradient(135deg, #ece8ff 0%, #c8e8f8 28%, #a4eedd 60%, #7fe8c2 100%);}
.blog-hero__bg{display:none;}
.blog-hero__overlay{display:none;}
.blog-hero__inner{position:relative;z-index:2;width:100%;max-width:100%;margin:0;padding:130px var(--s-40) var(--s-56);display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:var(--s-24);}
.blog-hero__eyebrow{display:inline-flex;align-items:center;gap:var(--s-8);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(10,10,18,0.70);padding:7px 20px;border:1px solid rgba(255,255,255,0.80);border-radius:var(--r-pill);width:fit-content;background: rgba(255,255,255,0.55);backdrop-filter:blur(8px);}
.blog-hero__title{font-family:'Poppins',sans-serif;font-size: clamp(52px, 9vw, 120px);font-weight: 900;color:#0a0a12;line-height: 1.0;letter-spacing: -0.04em;}
.blog-hero__title em{font-style:italic;font-family:'Cormorant Garamond',serif;color:#8DB49E;font-weight:700;}
.blog-hero__subtitle{font-size:clamp(15px,1.6vw,18px);color:rgba(10,10,18,0.62);line-height:1.8;max-width:540px;}
.blog-hero__meta{display:flex;align-items:center;justify-content:center;gap:var(--s-24);flex-wrap:wrap;}
.blog-hero__stat{display:flex;flex-direction:column;gap:2px;}
.blog-hero__stat-num{font-size:clamp(22px,2.8vw,32px);font-weight:900;color:#0a0a12;letter-spacing:-0.03em;}
.blog-hero__stat-label{font-size:11px;color:rgba(10,10,18,0.50);text-transform:uppercase;letter-spacing:.08em;font-weight:600;}
.blog-hero__divider{width:1px;height:36px;background:rgba(10,10,18,0.14);}
.blog-filter{display:flex;align-items:center;gap:var(--s-8);flex-wrap:wrap;margin-bottom:var(--s-32);}
.blog-filter__btn{padding:8px 18px;border-radius:var(--r-pill);border:1.5px solid var(--border);background:transparent;color:var(--stone);font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .3s var(--ease);font-family:inherit;}
.blog-filter__btn:hover{border-color:var(--purple);color:var(--purple);}
.blog-filter__btn.active{background:var(--purple);border-color:var(--purple);color:#fff;}
.blog-card__read-more{font-size:13px;font-weight:600;color:var(--purple);text-decoration:none;display:inline-flex;align-items:center;gap:4px;margin-top:auto;padding-top:var(--s-12);transition:gap .3s var(--ease);}
.blog-card__read-more:hover{gap:8px;}
.blog-newsletter{background:var(--dark);border-radius:var(--r-2xl);padding:var(--s-48);margin-top:var(--s-64);display:grid;grid-template-columns:1fr auto;align-items:center;gap:var(--s-32);}
.blog-newsletter__eyebrow{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,0.6);margin-bottom:var(--s-8);}
.blog-newsletter__title{font-size:clamp(18px,2.5vw,26px);font-weight:700;color:#fff;line-height:1.25;margin-bottom:var(--s-8);}
.blog-newsletter__sub{font-size:14px;color:rgba(255,255,255,0.7);line-height:1.6;}
.blog-newsletter__form{display:flex;gap:var(--s-8);min-width:340px;}
.blog-newsletter__input{flex:1;padding:14px 20px;border-radius:var(--r-pill);border:1.5px solid rgba(255,255,255,0.2);background:rgba(255,255,255,0.1);color:#fff;font-size:14px;font-family:inherit;outline:none;transition:background .3s,border-color .3s;}
.blog-newsletter__input::placeholder{color:rgba(255,255,255,0.4);}
.blog-newsletter__input:focus{background:rgba(255,255,255,0.18);border-color:rgba(255,255,255,0.5);}
.blog-newsletter__btn{padding:14px 24px;border-radius:var(--r-pill);background:#fff;color:var(--purple);border:none;font-size:13px;font-weight:700;cursor:pointer;white-space:nowrap;font-family:inherit;transition:all .3s var(--ease);}
.blog-newsletter__btn:hover{background:var(--cream);transform:translateY(-2px);}
@media(max-width:1024px){.blog-newsletter{grid-template-columns:1fr;gap:var(--s-24);}.blog-newsletter__form{min-width:0;}}
@media(max-width:768px){.blog-hero-wrap{min-height:60vh;min-height: 100vh;}.blog-filter__btn{padding:6px 14px;font-size:11px;}.blog-newsletter{padding:var(--s-32) var(--s-24);}}
@media(max-width:640px){.blog-hero__title{font-size:clamp(52px, 9vw, 120px);}.blog-newsletter__form{flex-direction:column;}.blog-newsletter__btn{width:100%;text-align:center;}}
@media(max-width:480px){.blog-hero-wrap{min-height:auto;min-height: 100vh;}.blog-newsletter{margin-top:var(--s-40);border-radius:var(--r-xl);}}


/* ═══════════════════════════════════════════════════════════════════
   CONTACT PAGE — Full Polish Pass
   ═══════════════════════════════════════════════════════════════════ */

/* ── 1. HERO ── */
.contact-hero-wrap {
  position: relative;
  min-height: 72vh;
  display: flex;
  align-items: center;
  overflow: hidden;
  background: linear-gradient(135deg, #ece8ff 0%, #c8e8f8 28%, #a4eedd 60%, #7fe8c2 100%);

  position: relative;
  min-height: 90vh;
  display: flex;
  align-items: center;
  overflow: hidden;
  background: linear-gradient(135deg, #ece8ff 0%, #c8e8f8 28%, #a4eedd 60%, #7fe8c2 100%);
}
.contact-hero__bg { display: none; }
.contact-hero__overlay { display: none; }
.contact-hero__orb {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
  z-index: 1;
}
.contact-hero__orb--1 {
  width: 520px; height: 520px;
  top: -140px; right: -80px;
  background: radial-gradient(circle, rgba(124,58,237,0.08) 0%, transparent 70%);
  animation: orbFloat1 16s ease-in-out infinite;
}
.contact-hero__orb--2 {
  width: 340px; height: 340px;
  bottom: -80px; left: 5%;
  background: radial-gradient(circle, rgba(37,99,235,0.06) 0%, transparent 70%);
  animation: orbFloat2 20s ease-in-out infinite;
}
.contact-hero__inner {  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 130px var(--s-40) var(--s-56);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
  gap: var(--s-24);
}
.contact-hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(255,255,255,0.55);
  border: 1px solid rgba(255,255,255,0.80);
  border-radius: var(--r-pill);
  padding: 7px 20px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(10,10,18,0.70);
  backdrop-filter: blur(8px);
}
.contact-hero__title {
  font-size: clamp(52px, 9vw, 120px);
  font-weight: 900;
  line-height: 1.0;
  letter-spacing: -0.04em;
  color: #0a0a12;
  margin: 0;
}
.contact-hero__title em {
  font-style: italic;
  font-family: 'Cormorant Garamond', serif;
  color: #8DB49E;
  font-weight: 700;
  font-size: 1.05em;
}
.contact-hero__subtitle {
  font-size: clamp(14px, 1.6vw, 17px);
  color: rgba(10,10,18,0.62);
  max-width: 520px;
  line-height: 1.8;
  margin: 0;
}
.contact-hero__badges {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--s-10);
  flex-wrap: wrap;
  margin-top: var(--s-4);
}
.contact-hero__badge {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 12px;
  font-weight: 600;
  color: rgba(10,10,18,0.70);
  padding: 6px 16px;
  border: 1px solid rgba(10,10,18,0.15);
  border-radius: var(--r-pill);
  background: rgba(255,255,255,0.55);
  backdrop-filter: blur(8px);
}
.contact-hero__badge-dot {
  width: 7px; height: 7px;
  border-radius: 50%;
  background: #4ade80;
  animation: pulse 2.2s ease-in-out infinite;
  flex-shrink: 0;
}

@media (max-width: 768px) {
  .contact-hero__inner {  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 130px var(--s-40) var(--s-56);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
  gap: var(--s-24);
}
  .contact-hero__title { font-size: clamp(36px, 8vw, 72px); }
  .contact-hero__orb--1 { width: 320px; height: 320px; }
}
@media (max-width: 480px) {
  .contact-hero__inner {  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 130px var(--s-40) var(--s-56);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
  gap: var(--s-24);
}
  .contact-hero__title { font-size: clamp(36px, 8vw, 72px); letter-spacing: -0.04em; }
  .contact-hero__badges { gap: var(--s-8); }
  .contact-hero__badge { font-size: 11px; padding: 5px 12px; }
  .contact-hero__orb { display: none; }
}
@media (max-width: 360px) {
  .contact-hero__title { font-size: clamp(52px, 9vw, 120px); }
  .contact-hero__inner {  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 130px var(--s-40) var(--s-56);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
  gap: var(--s-24);
}
}


/* ── 2. CONTACT LAYOUT ── */
.contact-main-section { background: var(--off-white); }
.contact-layout {
  display: grid;
  grid-template-columns: 3fr 2fr;
  gap: var(--s-56);
  align-items: start;
}

/* Form card */
.contact-form-wrap {
  background: var(--white);
  border: 1.5px solid var(--border);
  border-radius: 24px;
  padding: var(--s-48);
  box-shadow: 0 4px 40px rgba(0,0,0,0.04);
}
.contact-form-wrap__header { margin-bottom: var(--s-32); }
.contact-form-wrap__heading {
  font-size: clamp(20px, 2.5vw, 26px);
  font-weight: 800;
  color: var(--charcoal);
  letter-spacing: -0.025em;
  margin-bottom: var(--s-8);
}
.contact-form-wrap__sub {
  font-size: 14px;
  color: var(--stone);
  line-height: 1.65;
}

/* Form elements */
.contact-form {
  display: flex;
  flex-direction: column;
  gap: var(--s-20);
}
.contact-form__row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--s-16);
}
.contact-form__field {
  display: flex;
  flex-direction: column;
  gap: var(--s-6);
  position: relative;
}
.contact-form__label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--charcoal);
  transition: color 0.25s;
}
.contact-form__field.is-focused .contact-form__label { color: var(--purple); }
.contact-form__required { color: var(--purple); margin-left: 2px; }

.contact-form__input {
  width: 100%;
  padding: 14px 18px;
  border: 1.5px solid var(--border);
  border-radius: 12px;
  background: var(--off-white);
  font-size: 14px;
  font-family: inherit;
  color: var(--charcoal);
  outline: none;
  transition: border-color 0.3s, background 0.3s, box-shadow 0.3s;
  appearance: none;
}
.contact-form__input:focus {
  border-color: var(--purple);
  background: var(--white);
  box-shadow: 0 0 0 3px rgba(124,58,237,0.10);
}
.contact-form__input.is-invalid { border-color: #ef4444; }
.contact-form__input.is-invalid:focus { box-shadow: 0 0 0 3px rgba(239,68,68,0.10); }
.contact-form__input::placeholder { color: var(--pebble); }

/* Select arrow */
.contact-form__select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364607a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  padding-right: 42px;
  cursor: pointer;
}
.contact-form__textarea {
  resize: vertical;
  min-height: 140px;
  line-height: 1.65;
}

/* Footer row: submit + privacy note */
.contact-form__footer {
  display: flex;
  align-items: center;
  gap: var(--s-20);
  flex-wrap: wrap;
  margin-top: var(--s-4);
}
.contact-form__submit { flex-shrink: 0; }
.contact-form__privacy {
  font-size: 12px;
  color: var(--stone);
  line-height: 1.5;
  flex: 1;
  min-width: 180px;
}

/* Error banner */
.contact-form__error-banner {
  background: #fef2f2;
  border: 1.5px solid #fecaca;
  border-radius: 10px;
  padding: 12px 16px;
  font-size: 13px;
  color: #dc2626;
  font-weight: 500;
}

/* Success state */
.contact-success {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: var(--s-56) var(--s-24);
}
.contact-success__icon {
  width: 72px; height: 72px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--purple-wash), rgba(124,58,237,0.15));
  border: 2px solid rgba(124,58,237,0.2);
  color: var(--purple);
  font-size: 30px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: var(--s-24);
}
.contact-success__title {
  font-size: 24px;
  font-weight: 800;
  color: var(--charcoal);
  letter-spacing: -0.02em;
  margin-bottom: var(--s-12);
}
.contact-success__text {
  font-size: 15px;
  color: var(--stone);
  line-height: 1.7;
  max-width: 380px;
}


/* ── RIGHT: INFO PANEL ── */
.contact-info-panel {
  display: flex;
  flex-direction: column;
  gap: var(--s-20);
  position: sticky;
  top: 100px;
}
.contact-info-card {
  background: var(--white);
  border: 1.5px solid var(--border);
  border-radius: 20px;
  padding: var(--s-28) var(--s-28);
  box-shadow: 0 2px 20px rgba(0,0,0,0.03);
}
.contact-info-card__title-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--s-12);
  margin-bottom: var(--s-20);
}
.contact-info-card__title {
  font-size: 15px;
  font-weight: 800;
  color: var(--charcoal);
  letter-spacing: -0.01em;
  margin-bottom: var(--s-20);
}
.contact-info-card__title-row .contact-info-card__title { margin-bottom: 0; }

/* Info items */
.contact-info__item {
  display: flex;
  align-items: flex-start;
  gap: var(--s-14);
  padding: var(--s-16) 0;
  border-bottom: 1px solid var(--border);
}
.contact-info__item:first-of-type { padding-top: 0; }
.contact-info__item:last-child { padding-bottom: 0; border-bottom: none; }
.contact-info__icon {
  width: 42px; height: 42px;
  border-radius: 12px;
  background: var(--purple-wash);
  border: 1.5px solid rgba(124,58,237,0.12);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  flex-shrink: 0;
  transition: transform 0.3s;
}
.contact-info__item:hover .contact-info__icon { transform: scale(1.08) rotate(-5deg); }
.contact-info__content { flex: 1; min-width: 0; }
.contact-info__label {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--purple);
  margin-bottom: 4px;
}
.contact-info__value {
  font-size: 14px;
  color: var(--stone);
  line-height: 1.6;
}
.contact-info__link {
  color: var(--charcoal);
  font-weight: 600;
  text-decoration: none;
  transition: color 0.25s;
  word-break: break-all;
}
.contact-info__link:hover { color: var(--purple); }

/* Social links */
.contact-social {
  display: flex;
  gap: var(--s-8);
  margin-top: var(--s-8);
  flex-wrap: wrap;
}
.contact-social__link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px; height: 36px;
  border-radius: 10px;
  background: var(--off-white);
  border: 1.5px solid var(--border);
  color: var(--stone);
  font-size: 12px;
  font-weight: 700;
  text-decoration: none;
  transition: all 0.3s var(--ease);
}
.contact-social__link:hover {
  background: var(--purple);
  border-color: var(--purple);
  color: #fff;
  transform: translateY(-2px);
}

/* Hours */
.contact-hours-list { display: flex; flex-direction: column; gap: var(--s-10); }
.contact-hours__row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 13px;
  padding: var(--s-6) 0;
  border-bottom: 1px solid var(--border);
}
.contact-hours__row:last-of-type { border-bottom: none; }
.contact-hours__day  { color: var(--stone); }
.contact-hours__time { font-weight: 700; color: var(--charcoal); }
.contact-hours__time--closed { font-weight: 500; color: var(--pebble); }
.contact-hours__timezone {
  font-size: 11px;
  color: var(--pebble);
  margin-top: var(--s-8);
}
.contact-hours__badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 10px;
  font-weight: 700;
  background: rgba(74,222,128,0.12);
  color: #16a34a;
  border: 1px solid rgba(74,222,128,0.3);
  padding: 3px 10px;
  border-radius: var(--r-pill);
  white-space: nowrap;
}

/* Newsletter card */
.contact-newsletter {
  background: var(--dark);
  border-radius: 20px;
  padding: var(--s-28);
  position: relative;
  overflow: hidden;
}
.contact-newsletter::before {
  content: '';
  position: absolute;
  top: -60px; right: -60px;
  width: 200px; height: 200px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(124,58,237,0.18) 0%, transparent 70%);
  pointer-events: none;
}
.contact-newsletter__icon {
  font-size: 28px;
  margin-bottom: var(--s-12);
  display: block;
}
.contact-newsletter__heading {
  font-size: 16px;
  font-weight: 800;
  color: #fff;
  letter-spacing: -0.01em;
  margin-bottom: var(--s-8);
}
.contact-newsletter__sub {
  font-size: 13px;
  color: rgba(255,255,255,0.60);
  line-height: 1.65;
  margin-bottom: var(--s-20);
}
.contact-newsletter__form {
  display: flex;
  flex-direction: column;
  gap: var(--s-10);
}
.contact-newsletter__input {
  padding: 12px 18px;
  border-radius: 10px;
  border: 1.5px solid rgba(255,255,255,0.15);
  background: rgba(255,255,255,0.08);
  color: #fff;
  font-size: 13px;
  font-family: inherit;
  outline: none;
  transition: all 0.3s;
}
.contact-newsletter__input::placeholder { color: rgba(255,255,255,0.35); }
.contact-newsletter__input:focus {
  background: rgba(255,255,255,0.14);
  border-color: rgba(124,58,237,0.60);
  box-shadow: 0 0 0 3px rgba(124,58,237,0.15);
}
.contact-newsletter__btn {
  padding: 12px 20px;
  border-radius: 10px;
  background: var(--purple);
  color: #fff;
  border: none;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  font-family: inherit;
  transition: all 0.3s var(--ease);
  letter-spacing: 0.02em;
}
.contact-newsletter__btn:hover {
  background: var(--purple-dark);
  transform: translateY(-1px);
  box-shadow: 0 4px 16px rgba(124,58,237,0.30);
}
.contact-newsletter__feedback {
  font-size: 12px;
  margin-top: var(--s-8);
  color: rgba(255,255,255,0.75);
  min-height: 18px;
}

/* Contact layout responsive */
@media (max-width: 1100px) {
  .contact-layout { gap: var(--s-40); }
}
@media (max-width: 1024px) {
  .contact-layout { grid-template-columns: 1fr; gap: var(--s-40); }
  .contact-info-panel {
    position: static;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--s-20);
  }
  .contact-newsletter { grid-column: 1 / -1; }
}
@media (max-width: 768px) {
  .contact-form-wrap { padding: var(--s-32); border-radius: 20px; }
  .contact-info-panel { grid-template-columns: 1fr; }
  .contact-newsletter { grid-column: unset; }
}
@media (max-width: 600px) {
  .contact-form__row { grid-template-columns: 1fr; }
  .contact-form-wrap { padding: var(--s-24); border-radius: 16px; }
  .contact-form__footer { flex-direction: column; align-items: flex-start; gap: var(--s-12); }
  .contact-form__submit { width: 100%; justify-content: center; }
}
@media (max-width: 420px) {
  .contact-form-wrap { padding: var(--s-20); }
  .contact-info-card { padding: var(--s-20); }
}


/* ── 3. PROCESS ── */
.contact-process-section { background: var(--dark-mid) !important; }
.contact-process-eyebrow { color: rgba(255,255,255,0.50) !important; }
.contact-process-eyebrow::before { background: rgba(255,255,255,0.30) !important; }
.contact-process-title { color: #fff !important; }

.contact-process {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--s-16);
  position: relative;
}
/* Connecting dashed line */
.contact-process::before {
  content: '';
  position: absolute;
  top: 30px;
  left: calc(12.5% + 24px);
  right: calc(12.5% + 24px);
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(124,58,237,0.4), transparent);
  z-index: 0;
  pointer-events: none;
}
.contact-process__step {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: var(--s-16);
  padding: var(--s-32) var(--s-20);
  background: rgba(255,255,255,0.04);
  border: 1.5px solid rgba(255,255,255,0.07);
  border-radius: var(--r-xl);
  position: relative;
  z-index: 1;
  transition: background 0.35s, border-color 0.35s, transform 0.35s;
}
.contact-process__step:hover {
  background: rgba(124,58,237,0.10);
  border-color: rgba(124,58,237,0.30);
  transform: translateY(-4px);
}
.contact-process__num {
  width: 52px; height: 52px;
  border-radius: 50%;
  background: var(--purple);
  color: #fff;
  font-size: 16px;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-shadow: 0 4px 20px rgba(124,58,237,0.35);
  position: relative;
  z-index: 1;
}
.contact-process__icon { font-size: 28px; line-height: 1; }
.contact-process__body { display: flex; flex-direction: column; gap: var(--s-8); }
.contact-process__title { font-size: 15px; font-weight: 700; color: #fff; }
.contact-process__desc  { font-size: 13px; line-height: 1.68; color: rgba(255,255,255,0.55); }

@media (max-width: 900px) {
  .contact-process { grid-template-columns: repeat(2, 1fr); gap: var(--s-16); }
  .contact-process::before { display: none; }
}
@media (max-width: 540px) {
  .contact-process { grid-template-columns: 1fr; gap: var(--s-12); }
  .contact-process__step {
    flex-direction: row;
    text-align: left;
    align-items: flex-start;
    gap: var(--s-16);
    padding: var(--s-20);
  }
  .contact-process__icon { display: none; }
  .contact-process__num { flex-shrink: 0; }
}


/* ── 4. TRUST BAND ── */
.contact-trust-band {
  background: var(--dark);
  border-top: 1px solid rgba(255,255,255,0.06);
  padding: var(--s-56) 0;
}
.contact-trust-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  text-align: center;
}
.contact-trust-item {
  padding: var(--s-20) var(--s-16);
  position: relative;
}
.contact-trust-item::after {
  content: '';
  position: absolute;
  right: 0; top: 20%; bottom: 20%;
  width: 1px;
  background: rgba(255,255,255,0.08);
}
.contact-trust-item:last-child::after { display: none; }
.contact-trust-item__num {
  font-size: clamp(28px, 3.5vw, 44px);
  font-weight: 900;
  color: #fff;
  letter-spacing: -0.04em;
  line-height: 1;
  margin-bottom: var(--s-8);
}
.contact-trust-item__label {
  font-size: 11px;
  font-weight: 600;
  color: rgba(255,255,255,0.42);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

@media (max-width: 768px) {
  .contact-trust-grid { grid-template-columns: repeat(2, 1fr); }
  .contact-trust-item:nth-child(2)::after { display: none; }
  .contact-trust-item:nth-child(3),
  .contact-trust-item:nth-child(4) {
    border-top: 1px solid rgba(255,255,255,0.08);
  }
}
@media (max-width: 400px) {
  .contact-trust-band { padding: var(--s-40) 0; }
  .contact-trust-grid { grid-template-columns: 1fr 1fr; }
}

/* ─── Portfolio Page ─── */
.portfolio-hero-wrap{position:relative;min-height:82vh;display:flex;align-items:center;overflow:hidden;background:linear-gradient(135deg, #ece8ff 0%, #c8e8f8 28%, #a4eedd 60%, #7fe8c2 100%);position:relative;min-height: 100vh;display:flex;align-items:center;overflow:hidden;background:linear-gradient(135deg, #ece8ff 0%, #c8e8f8 28%, #a4eedd 60%, #7fe8c2 100%);}
.portfolio-hero__bg{display:none;}
.portfolio-hero__overlay{display:none;}
.portfolio-hero__inner{position:relative;z-index:2;width:100%;max-width:100%;margin:0;padding:130px var(--s-40) var(--s-56);display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:var(--s-24);}
.portfolio-hero__eyebrow{display:inline-flex;align-items:center;gap:var(--s-8);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(10,10,18,0.70);padding:7px 20px;border:1px solid rgba(255,255,255,0.80);border-radius:var(--r-pill);width:fit-content;background: rgba(255,255,255,0.55);backdrop-filter:blur(8px);}
.portfolio-hero__title{font-family:'Poppins',sans-serif;font-size: clamp(52px, 9vw, 120px);font-weight: 900;color:#0a0a12;line-height: 1.0;letter-spacing: -0.04em;}
.portfolio-hero__title em{font-style:italic;font-family:'Cormorant Garamond',serif;color:#8DB49E;font-weight:700;}
.portfolio-hero__subtitle{font-size:clamp(15px,1.6vw,18px);color:rgba(10,10,18,0.62);line-height:1.8;max-width:560px;}
.portfolio-hero__cta{display:flex;align-items:center;justify-content: flex-start;gap:var(--s-12);flex-wrap:wrap;}
.portfolio-stats-strip{background:#fff;border-top:1.5px solid var(--border);border-bottom:1.5px solid var(--border);padding:var(--s-32) 0;}
.portfolio-stats-strip__inner{display:flex;align-items:center;justify-content:center;gap:var(--s-48);flex-wrap:wrap;}
.portfolio-stats-strip__item{display:flex;align-items:center;gap:var(--s-12);color:#fff;}
.portfolio-stats-strip__num{font-size:20px;font-weight:800;letter-spacing:-0.02em;}
.portfolio-stats-strip__label{font-size:11px;font-weight:500;opacity:.72;text-transform:uppercase;letter-spacing:.07em;}
.portfolio-stats-strip__divider{width:1px;height:28px;background:rgba(255,255,255,0.22);}
.portfolio-filter{display:flex;align-items:center;gap:var(--s-8);flex-wrap:wrap;margin-bottom:var(--s-40);}
.portfolio-filter__btn{padding:8px 20px;border-radius:var(--r-pill);border:1.5px solid var(--border);background:transparent;color:var(--stone);font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .3s var(--ease);font-family:inherit;}
.portfolio-filter__btn:hover{border-color:var(--purple);color:var(--purple);}
.portfolio-filter__btn.active{background:var(--purple);border-color:var(--purple);color:#fff;}
.case-card__client{font-size:12px;font-weight:700;color:var(--purple);text-transform:uppercase;letter-spacing:.08em;margin-bottom:var(--s-4);}
.case-card__result-box{background:var(--purple-wash);border-radius:var(--r-lg);padding:var(--s-16) var(--s-20);margin-top:var(--s-16);display:flex;align-items:center;gap:var(--s-12);}
.case-card__result-stat{font-size:28px;font-weight:800;color:var(--purple);letter-spacing:-0.03em;line-height:1;white-space:nowrap;}
.case-card__result-label{font-size:12px;color:var(--stone);line-height:1.5;}
.case-card__service-tag{position:absolute;bottom:var(--s-16);left:var(--s-16);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#fff;background:rgba(26,26,26,0.55);backdrop-filter:blur(8px);padding:4px 12px;border-radius:var(--r-pill);}
@media(max-width:768px){.portfolio-hero-wrap{min-height:60vh;min-height: 100vh;}.portfolio-stats-strip__inner{gap:var(--s-24);}.portfolio-stats-strip__divider{display:none;}.portfolio-filter__btn{padding:7px 14px;font-size:11px;}}
@media(max-width:640px){.portfolio-hero__title{font-size:clamp(52px, 9vw, 120px);}.portfolio-hero__cta{flex-direction:column;align-items:center;}.portfolio-grid{grid-template-columns:1fr;}.portfolio-grid>:nth-child(even){margin-top:0;}}
@media(max-width:480px){.portfolio-hero-wrap{min-height:auto;min-height: 100vh;}}

/* ─── Canvas / Figma BG ─── */
.home-hero__canvas{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;}
.hc-svg{width:100%;height:100%;display:block;}
.hc-label{font-family:ui-monospace,'JetBrains Mono','Cascadia Code','Courier New',monospace;font-size:10px;fill:rgba(154,154,154,0.60);letter-spacing:0.08em;text-anchor:start;dominant-baseline:auto;}
.hc-badge-text{font-family:ui-monospace,'JetBrains Mono',monospace;font-size:9px;fill:rgba(250,248,244,0.92);text-anchor:middle;dominant-baseline:middle;letter-spacing:0.06em;}
.hc-frame-a{animation:hcFloatA 10s ease-in-out infinite alternate;transform-origin:388px 464px;}
.hc-frame-b{animation:hcFloatB 12s ease-in-out 1.8s infinite alternate;transform-origin:1098px 178px;}
.hc-frame-c{animation:hcFloatA 14s ease-in-out 3.5s infinite alternate;transform-origin:1172px 631px;}
.hc-bezier-path{stroke-dasharray:1200;stroke-dashoffset:1200;animation:hcDrawPath 2.4s cubic-bezier(0.4,0,0.2,1) 0.6s forwards;}
.hc-handle{opacity:0;animation:hcFadeIn 0.5s ease-out 2.8s forwards;}
.hc-anchor{opacity:0;animation:hcFadeIn 0.5s ease-out 2.8s forwards;}
.hc-ctrl{opacity:0;animation:hcFadeIn 0.5s ease-out 2.9s forwards;}
.hc-node-main{opacity:0;transform-box:fill-box;transform-origin:center;animation:hcNodePop 0.65s var(--ease) 1.6s forwards;}
.hc-nd1{opacity:0;transform-box:fill-box;transform-origin:center;animation:hcNodePop 0.50s var(--ease) 1.80s forwards;}
.hc-nd2{opacity:0;transform-box:fill-box;transform-origin:center;animation:hcNodePop 0.50s var(--ease) 1.92s forwards;}
.hc-nd3{opacity:0;transform-box:fill-box;transform-origin:center;animation:hcNodePop 0.50s var(--ease) 2.04s forwards;}
.hc-nd4{opacity:0;transform-box:fill-box;transform-origin:center;animation:hcNodePop 0.50s var(--ease) 2.16s forwards;}
.hc-nd5{opacity:0;transform-box:fill-box;transform-origin:center;animation:hcNodePop 0.50s var(--ease) 2.28s forwards;}
.hc-nd6{opacity:0;transform-box:fill-box;transform-origin:center;animation:hcNodePop 0.50s var(--ease) 2.40s forwards;}
.hc-node-pulse{transform-box:fill-box;transform-origin:center;animation:hcNodePulse 2.8s ease-out 2.5s infinite;}
.hc-cursor{opacity:0;animation:hcFadeIn 0.7s ease-out 1.0s forwards,hcCursorDrift 16s ease-in-out 2.0s infinite alternate;}
.hc-swatch{opacity:0;}
.hc-palette{animation:hcFadeIn 1.0s ease-out 1.4s forwards;}
.hc-palette .hc-swatch:nth-child(2){animation:hcFadeIn 0.4s ease 1.6s forwards;}
.hc-palette .hc-swatch:nth-child(3){animation:hcFadeIn 0.4s ease 1.8s forwards;}
.hc-palette .hc-swatch:nth-child(4){animation:hcFadeIn 0.4s ease 2.0s forwards;}
.hc-palette .hc-swatch:nth-child(5){animation:hcFadeIn 0.4s ease 2.2s forwards;}
.hc-scan{animation:hcScanLine 7s linear 0s infinite;}
@keyframes hcFloatA{from{transform:translateY(0px);}to{transform:translateY(-12px);}}
@keyframes hcFloatB{from{transform:translateY(0px);}to{transform:translateY(10px);}}
@keyframes hcDrawPath{from{stroke-dashoffset:1200;}to{stroke-dashoffset:0;}}
@keyframes hcFadeIn{from{opacity:0;}to{opacity:1;}}
@keyframes hcNodePop{0%{opacity:0;transform:scale(0);}65%{transform:scale(1.35);}100%{opacity:1;transform:scale(1);}}
@keyframes hcNodePulse{0%{transform:scale(1);opacity:0.55;stroke-width:1.5;}100%{transform:scale(4.0);opacity:0;stroke-width:0.4;}}
@keyframes hcCursorDrift{0%{transform:translate(0px,0px);}20%{transform:translate(-8px,14px);}45%{transform:translate(-16px,6px);}68%{transform:translate(-6px,-10px);}85%{transform:translate(6px,8px);}100%{transform:translate(10px,-4px);}}
@keyframes hcScanLine{0%{transform:translateY(-150px);opacity:0;}8%{opacity:1;}90%{opacity:0.8;}100%{transform:translateY(900px);opacity:0;}}
@media(max-width:640px){.home-hero__canvas{display:none;}}

/* ─── Responsive misc ─── */
@media(max-width:480px){
  .footer__top{gap:var(--s-32);}
  .footer__bottom{flex-direction:column;align-items:flex-start;gap:var(--s-12);}
  .blog-grid,.courses-grid{gap:var(--s-16);}
  .why-learn-grid{gap:var(--s-16);}
  .why-learn-card{padding:var(--s-20) var(--s-16);}
  .services-grid{gap:var(--s-16);}
}
@media(max-width:360px){
  .section__eyebrow{font-size:10px;letter-spacing:0.12em;}
  .section__title{font-size:22px;}
  .section__subtitle{font-size:13px;}
  .blog-grid,.courses-grid{gap:var(--s-12);}
  .mobile-menu__link{font-size:28px;}
}
@media(max-width:1024px){.portfolio-grid>:nth-child(even){margin-top:var(--s-32);}}
@media(max-width:768px){.portfolio-grid>:nth-child(even){margin-top:0;}}

/* ─── Additional animation keyframes ─── */
@keyframes fadeUpSlow{from{transform:translateY(24px);opacity:0;}to{transform:translateY(0);opacity:1;}}
@keyframes slideUpBlur{from{transform:translateY(80%);opacity:0;filter:blur(8px);}to{transform:translateY(0);opacity:1;filter:blur(0);}}
@keyframes scaleIn{from{transform:scale(0.8);opacity:0;}to{transform:scale(1);opacity:1;}}
@keyframes nodePop{0%{transform:scale(0);opacity:0;}65%{transform:scale(1.25);}100%{transform:scale(1);opacity:1;}}
@keyframes spinCounterSlow{to{transform:rotate(-360deg);}}
@keyframes wordReveal{0%{transform:translateY(115%);opacity:0;filter:blur(10px);}55%{filter:blur(0);}100%{transform:translateY(0);opacity:1;filter:blur(0);}}
@keyframes badgeBounce{0%{transform:scale(0.25) translateY(10px);opacity:0;}52%{transform:scale(1.18) translateY(-2px);opacity:1;}72%{transform:scale(0.95) translateY(1px);}87%{transform:scale(1.04) translateY(0);}100%{transform:scale(1) translateY(0);opacity:1;}}
@keyframes heroSvgFade{0%{opacity:0;}100%{opacity:0.18;}}
@keyframes orbFloat1{0%,100%{transform:translate(0,0) scale(1);}33%{transform:translate(-45px,35px) scale(1.08);}66%{transform:translate(28px,-22px) scale(0.94);}}

/* Nav responsive */
@media(max-width:768px){
  .site-header{padding:var(--s-12) var(--s-16);}
  .site-header.scrolled{padding:var(--s-10) var(--s-16);}
  .site-header__inner{border-radius:var(--r-xl);padding:8px 8px 8px var(--s-16);}
  .floating-cta{bottom:var(--s-20);right:var(--s-20);padding:12px 20px;font-size:13px;}
  .nav__cta-btn{display:none;}
}
@media(max-width:480px){.floating-cta{bottom:var(--s-16);right:var(--s-16);padding:10px 18px;font-size:12px;}}


/* ═══════════════════════════════════════════════════════════════════
   FINAL OVERRIDES v3
   — Navbar: always opaque white pill
   — Hero: Republic Marketing full-bleed gradient + pill images
   — Global Poppins
   — Full responsiveness
   ═══════════════════════════════════════════════════════════════════ */

/* ─── 1. NAVBAR — ALWAYS OPAQUE WHITE PILL ─── */
.site-header__inner {
  background: rgba(255,255,255,0.96) !important;
  backdrop-filter: blur(20px) saturate(1.8) !important;
  -webkit-backdrop-filter: blur(20px) saturate(1.8) !important;
  box-shadow: var(--shadow-nav) !important;
}

/* All nav links — always dark, no white overrides */
.main-nav__link,
.home-page    .site-header:not(.scrolled) .main-nav__link,
.about-page   .site-header:not(.scrolled) .main-nav__link,
.services-page  .site-header:not(.scrolled) .main-nav__link,
.courses-page   .site-header:not(.scrolled) .main-nav__link,
.blog-page      .site-header:not(.scrolled) .main-nav__link,
.contact-page   .site-header:not(.scrolled) .main-nav__link,
.portfolio-page .site-header:not(.scrolled) .main-nav__link {
  color: var(--stone) !important;
}

.main-nav__link:hover, .main-nav__link.active,
.home-page    .site-header:not(.scrolled) .main-nav__link:hover,
.home-page    .site-header:not(.scrolled) .main-nav__link.active,
.about-page   .site-header:not(.scrolled) .main-nav__link:hover,
.about-page   .site-header:not(.scrolled) .main-nav__link.active,
.services-page  .site-header:not(.scrolled) .main-nav__link:hover,
.services-page  .site-header:not(.scrolled) .main-nav__link.active,
.courses-page   .site-header:not(.scrolled) .main-nav__link:hover,
.courses-page   .site-header:not(.scrolled) .main-nav__link.active,
.blog-page      .site-header:not(.scrolled) .main-nav__link:hover,
.blog-page      .site-header:not(.scrolled) .main-nav__link.active,
.contact-page   .site-header:not(.scrolled) .main-nav__link:hover,
.contact-page   .site-header:not(.scrolled) .main-nav__link.active,
.portfolio-page .site-header:not(.scrolled) .main-nav__link:hover,
.portfolio-page .site-header:not(.scrolled) .main-nav__link.active {
  color: var(--charcoal) !important;
}

.main-nav__link::after { background: var(--purple) !important; }

/* Logo text — always dark */
.logo__text,
.home-page    .site-header:not(.scrolled) .logo__text,
.about-page   .site-header:not(.scrolled) .logo__text,
.services-page  .site-header:not(.scrolled) .logo__text,
.courses-page   .site-header:not(.scrolled) .logo__text,
.blog-page      .site-header:not(.scrolled) .logo__text,
.contact-page   .site-header:not(.scrolled) .logo__text,
.portfolio-page .site-header:not(.scrolled) .logo__text {
  color: var(--charcoal) !important;
}

.logo__text-accent,
.home-page    .site-header:not(.scrolled) .logo__text-accent,
.about-page   .site-header:not(.scrolled) .logo__text-accent,
.services-page  .site-header:not(.scrolled) .logo__text-accent,
.courses-page   .site-header:not(.scrolled) .logo__text-accent,
.blog-page      .site-header:not(.scrolled) .logo__text-accent,
.contact-page   .site-header:not(.scrolled) .logo__text-accent,
.portfolio-page .site-header:not(.scrolled) .logo__text-accent {
  color: var(--purple) !important;
}

.logo__mark,
.home-page    .site-header:not(.scrolled) .logo__mark,
.about-page   .site-header:not(.scrolled) .logo__mark,
.services-page  .site-header:not(.scrolled) .logo__mark,
.courses-page   .site-header:not(.scrolled) .logo__mark,
.blog-page      .site-header:not(.scrolled) .logo__mark,
.contact-page   .site-header:not(.scrolled) .logo__mark,
.portfolio-page .site-header:not(.scrolled) .logo__mark {
  background: var(--purple) !important;
  color: #fff !important;
  border-color: transparent !important;
}

.hamburger__bar,
.home-page    .site-header:not(.scrolled) .hamburger__bar,
.about-page   .site-header:not(.scrolled) .hamburger__bar,
.services-page  .site-header:not(.scrolled) .hamburger__bar,
.courses-page   .site-header:not(.scrolled) .hamburger__bar,
.blog-page      .site-header:not(.scrolled) .hamburger__bar,
.contact-page   .site-header:not(.scrolled) .hamburger__bar,
.portfolio-page .site-header:not(.scrolled) .hamburger__bar {
  background: var(--charcoal) !important;
}

/* Nav CTA — always purple solid */
.nav__cta-btn,
.home-page    .site-header:not(.scrolled) .nav__cta-btn,
.about-page   .site-header:not(.scrolled) .nav__cta-btn,
.services-page  .site-header:not(.scrolled) .nav__cta-btn,
.courses-page   .site-header:not(.scrolled) .nav__cta-btn,
.blog-page      .site-header:not(.scrolled) .nav__cta-btn,
.contact-page   .site-header:not(.scrolled) .nav__cta-btn,
.portfolio-page .site-header:not(.scrolled) .nav__cta-btn {
  background: var(--purple) !important;
  color: #fff !important;
  border: none !important;
}
.nav__cta-btn:hover,
.home-page    .site-header:not(.scrolled) .nav__cta-btn:hover,
.about-page   .site-header:not(.scrolled) .nav__cta-btn:hover,
.services-page  .site-header:not(.scrolled) .nav__cta-btn:hover,
.courses-page   .site-header:not(.scrolled) .nav__cta-btn:hover,
.blog-page      .site-header:not(.scrolled) .nav__cta-btn:hover,
.contact-page   .site-header:not(.scrolled) .nav__cta-btn:hover,
.portfolio-page .site-header:not(.scrolled) .nav__cta-btn:hover {
  background: var(--purple-dark) !important;
  border: none !important;
}




/* ═══════════════════════════════════════════════════════════════════
   2. HOME HERO — Republic Marketing style
      Full-bleed gradient · Giant Poppins 900 · Inline pill images
   ═══════════════════════════════════════════════════════════════════ */

/* Wrapper: full-bleed gradient bg */
.home-hero-wrap {
  background: linear-gradient(135deg,
    #ece8ff 0%,
    #c8e8f8 28%,
    #a4eedd 60%,
    #7fe8c2 100%) !important;
  overflow: hidden !important;
  position: relative !important;
  width: 100% !important;
}

.home-hero-wrap::before,
.home-hero-wrap::after { display: none !important; }
.home-hero__blob { display: none !important; }

/* Hero container: full-width, flex column, bottom-anchored */
.home-hero {
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
  align-items: stretch !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  min-height: 100vh !important;
  padding: 130px var(--s-40) var(--s-48) !important;
  box-sizing: border-box !important;
  position: relative !important;
  gap: 0 !important;
}

/* Content block stretches full width */
.home-hero__content {
  width: 100% !important;
  max-width: 100% !important;
  text-align: left !important;
  align-items: flex-start !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
}

/* Eyebrow pill */
.home-hero__eyebrow {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  background: rgba(255,255,255,0.55) !important;
  border: 1px solid rgba(255,255,255,0.75) !important;
  border-radius: 100px !important;
  padding: 7px 18px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  color: rgba(10,10,18,0.70) !important;
  letter-spacing: 0.04em !important;
  margin-bottom: var(--s-28) !important;
  backdrop-filter: blur(8px) !important;
}
.home-hero__eyebrow-dot {
  width: 7px !important;
  height: 7px !important;
  border-radius: 50% !important;
  background: var(--purple) !important;
  animation: pulse 2s infinite !important;
  flex-shrink: 0 !important;
}

/* ── Giant headline ── */
.home-hero__title {
  font-family: 'Poppins', sans-serif !important;
  font-size: clamp(52px, 9vw, 120px) !important;
  font-weight: 900 !important;
  line-height: 1.0 !important;
  letter-spacing: -0.04em !important;
  color: #0a0a12 !important;
  margin: 0 0 var(--s-40) 0 !important;
  width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0.02em !important;
}

/* Each title line: flex row to hold text + pills */
.hero-line {
  display: flex !important;
  align-items: center !important;
  gap: 0.2em !important;
  flex-wrap: nowrap !important;
  line-height: 1.0 !important;
}

/* Accent italic word */
.hero-accent {
  font-style: italic !important;
  color: #8DB49E !important;
  font-weight: 900 !important;
}

/* ── Pill images ── */
.hero-pill {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 100px !important;
  overflow: hidden !important;
  flex-shrink: 0 !important;
  vertical-align: middle !important;
  box-shadow: 0 10px 40px rgba(0,0,0,0.20) !important;
}
.hero-pill--sm {
  width: clamp(100px, 12vw, 180px) !important;
  height: clamp(50px, 5.5vw, 84px) !important;
}
.hero-pill--md {
  width: clamp(130px, 15vw, 220px) !important;
  height: clamp(58px, 6.5vw, 100px) !important;
}
.hero-pill img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  border-radius: 0 !important;
  display: block !important;
}

/* ── Bottom row: subtitle+CTA left, stats right ── */
.home-hero__bottom {
  display: flex !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  gap: var(--s-48) !important;
  width: 100% !important;
  flex-wrap: wrap !important;
}

.home-hero__sub-col {
  display: flex !important;
  flex-direction: column !important;
  gap: var(--s-24) !important;
  max-width: 480px !important;
}

.home-hero__subtitle {
  font-size: clamp(15px, 1.5vw, 18px) !important;
  color: rgba(10,10,18,0.62) !important;
  line-height: 1.7 !important;
  margin: 0 !important;
}

/* CTA buttons */
.home-hero__actions {
  display: flex !important;
  align-items: center !important;
  gap: var(--s-12) !important;
  flex-wrap: wrap !important;
}

.btn--hero-primary {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 15px 32px !important;
  background: #0a0a12 !important;
  color: #fff !important;
  border-radius: 100px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 0.01em !important;
  transition: all 0.35s var(--ease) !important;
  white-space: nowrap !important;
}
.btn--hero-primary:hover {
  background: var(--purple) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 28px rgba(124,58,237,0.30) !important;
}

.btn--hero-ghost {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 15px 28px !important;
  background: rgba(255,255,255,0.55) !important;
  color: #0a0a12 !important;
  border: 1.5px solid rgba(10,10,18,0.18) !important;
  border-radius: 100px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  backdrop-filter: blur(8px) !important;
  transition: all 0.35s var(--ease) !important;
  white-space: nowrap !important;
}
.btn--hero-ghost:hover {
  background: rgba(255,255,255,0.85) !important;
  border-color: rgba(10,10,18,0.35) !important;
  transform: translateY(-2px) !important;
}

/* Stats block */
.home-hero__stats {
  display: flex !important;
  align-items: flex-end !important;
  gap: var(--s-32) !important;
  flex-wrap: wrap !important;
  position: static !important;
  background: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  opacity: 1 !important;
  animation: none !important;
  width: auto !important;
  grid-template-columns: unset !important;
}

.home-hero__stat {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 2px !important;
  padding: 0 !important;
  border: none !important;
}
.home-hero__stat:not(:first-child) {
  padding-left: var(--s-32) !important;
  border-left: 1px solid rgba(10,10,18,0.15) !important;
}

.home-hero__stat-num {
  font-size: clamp(22px, 2.8vw, 38px) !important;
  font-weight: 800 !important;
  color: #0a0a12 !important;
  letter-spacing: -0.04em !important;
  line-height: 1 !important;
}
.home-hero__stat-label {
  font-size: 11px !important;
  font-weight: 500 !important;
  color: rgba(10,10,18,0.52) !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  text-align: left !important;
  margin-top: 0 !important;
}

/* Trust bar */
.home-hero__trust {
  display: flex !important;
  align-items: center !important;
  gap: var(--s-16) !important;
  flex-wrap: wrap !important;
  margin-top: var(--s-48) !important;
  padding-top: var(--s-24) !important;
  border-top: 1px solid rgba(10,10,18,0.10) !important;
  width: 100% !important;
}

.home-hero__trust-label {
  font-size: 12px !important;
  font-weight: 600 !important;
  color: rgba(10,10,18,0.45) !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}

.home-hero__trust-badge {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 6px 14px !important;
  background: rgba(255,255,255,0.55) !important;
  border: 1px solid rgba(255,255,255,0.80) !important;
  border-radius: 100px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  color: rgba(10,10,18,0.70) !important;
  backdrop-filter: blur(6px) !important;
  white-space: nowrap !important;
  transition: background 0.3s !important;
}
.home-hero__trust-badge:hover {
  background: rgba(255,255,255,0.80) !important;
}

/* Hero entrance animation */
@keyframes heroReveal {
  from { opacity: 0; transform: translateY(36px); }
  to   { opacity: 1; transform: translateY(0); }
}
.home-hero__eyebrow { opacity: 0; animation: heroReveal 0.8s var(--ease) 0.1s forwards; }
.home-hero__title   { opacity: 0; animation: heroReveal 0.9s var(--ease) 0.25s forwards; }
.home-hero__bottom  { opacity: 0; animation: heroReveal 0.9s var(--ease) 0.50s forwards; }
.home-hero__trust   { opacity: 0; animation: heroReveal 0.85s var(--ease) 0.70s forwards; }

/* Hide old SVG visual */
.home-hero__visual { display: none !important; }


/* ═══════════════════════════════════════════════════════════════════
   3. GLOBAL POPPINS
   ═══════════════════════════════════════════════════════════════════ */
*, *::before, *::after { font-family: 'Poppins', sans-serif !important; }

h1,h2,h3,h4,h5,h6,
body,.main-nav__link,.btn,.tag,
.eyebrow,.section__eyebrow,
.form-label,.admin-label,
.footer__link,.footer__copy,
.nav__cta-btn,.floating-cta {
  font-family: 'Poppins', sans-serif !important;
}

/* Cormorant only for explicit .cursive */
.cursive { font-family: 'Cormorant Garamond', Georgia, serif !important; }


/* ═══════════════════════════════════════════════════════════════════
   4. SECTION COLOR VISIBILITY
   ═══════════════════════════════════════════════════════════════════ */
.about__title, .cta-section__title { color: var(--charcoal) !important; }
.about__text, .cta-section__text   { color: var(--stone) !important; }
.value-card__title  { color: var(--charcoal) !important; }
.value-card__desc   { color: var(--pebble) !important; }
.service-card__title { color: var(--charcoal) !important; }
.service-card__desc  { color: var(--stone) !important; }

.eyebrow, .section__eyebrow                 { color: var(--purple) !important; }
.eyebrow::before, .section__eyebrow::before { background: var(--purple) !important; }

.tag         { background: var(--purple-wash) !important; color: var(--purple) !important; }
.btn--ghost  { color: var(--purple) !important; }
.btn--ghost:hover { gap: 14px !important; }

.testimonials-section { background: var(--dark) !important; }
.marquee { background: var(--white) !important; }
.marquee__item:hover { color: var(--purple) !important; }

.floating-cta       { background: var(--purple) !important; color: #fff !important; }
.floating-cta:hover { background: var(--purple-dark) !important; }

.site-footer .logo__mark        { background: var(--purple) !important; }
.site-footer .logo__text        { color: #fff !important; }
.site-footer .logo__text-accent { color: var(--purple-light) !important; }
.footer__separator-dot          { background: var(--purple-light) !important; }


/* ═══════════════════════════════════════════════════════════════════
   5. HEADING WEIGHT BOOST
   ═══════════════════════════════════════════════════════════════════ */
/* section titles */
.section__title, .about__title, .about-page__heading, .cta-section__title, .page-hero__title {
  font-weight: 700 !important;
}
/* hero headlines stay 900 */
.home-hero__title, .hero__title,
.services-hero__title, .blog-hero__title,
.courses-hero__title, .portfolio-hero__title,
.contact-hero__title, .about-hero__title {
  font-weight: 900;
}


/* ═══════════════════════════════════════════════════════════════════
   6. FULL RESPONSIVE SYSTEM
   ═══════════════════════════════════════════════════════════════════ */

/* ── Hero breakpoints ── */
@media (max-width: 1280px) {
  .home-hero { padding: 120px var(--s-32) var(--s-40) !important; }
}
@media (max-width: 1024px) {
  .home-hero { padding: 110px var(--s-28) var(--s-40) !important; }
  .home-hero__title { font-size: clamp(46px, 8vw, 96px) !important; }
  .home-hero__bottom { gap: var(--s-32) !important; }
}
/* ── 768px: hide pills, title becomes natural block text ── */
@media (max-width: 768px) {
  .home-hero {
    padding: 100px var(--s-24) var(--s-32) !important;
    min-height: 100svh !important;
  }
  /* Kill flex on title lines — let text wrap naturally like a heading */
  .home-hero__title {
    font-size: clamp(38px, 10vw, 68px) !important;
    display: block !important;
    letter-spacing: -0.035em !important;
  }
  .hero-line {
    display: block !important;       /* plain block, no flex, no wrap issues */
    white-space: normal !important;
    line-height: 1.05 !important;
    margin-bottom: 0.04em !important;
  }
  /* Hide pills on all mobile — they cause flex-break artefacts */
  .hero-pill { display: none !important; }

  .home-hero__bottom {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: var(--s-28) !important;
  }
  .home-hero__sub-col { max-width: 100% !important; }
  .home-hero__stats { gap: var(--s-20) !important; }
  .home-hero__stat:not(:first-child) { padding-left: var(--s-20) !important; }
}

@media (max-width: 600px) {
  .home-hero { padding: 88px var(--s-20) var(--s-28) !important; }
  .home-hero__title { font-size: clamp(34px, 10vw, 56px) !important; }
  .home-hero__trust { gap: var(--s-10) !important; margin-top: var(--s-28) !important; }
  .home-hero__trust-badge { font-size: 11px !important; padding: 5px 11px !important; }
  .home-hero__trust-label { display: none !important; } /* save space on small screens */
}

@media (max-width: 480px) {
  .home-hero { padding: 84px var(--s-16) var(--s-24) !important; }
  .home-hero__title { font-size: clamp(30px, 9.5vw, 48px) !important; letter-spacing: -0.03em !important; }
  .home-hero__eyebrow { font-size: 11px !important; padding: 6px 14px !important; }
  .home-hero__subtitle { font-size: 14px !important; }
  .home-hero__stats {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: var(--s-8) !important;
    width: 100% !important;
  }
  .home-hero__stat:not(:first-child) {
    padding-left: var(--s-8) !important;
    border-left: 1px solid rgba(10,10,18,0.12) !important;
  }
  .home-hero__stat-num { font-size: clamp(18px, 5vw, 26px) !important; }
  .home-hero__stat-label { font-size: 9px !important; letter-spacing: 0.03em !important; }
  .home-hero__actions {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: var(--s-10) !important;
    width: 100% !important;
  }
  .btn--hero-primary,
  .btn--hero-ghost { width: 100% !important; justify-content: center !important; }
  .home-hero__trust { display: none !important; } /* hide on smallest screens for clean look */
}

@media (max-width: 380px) {
  .home-hero { padding: 80px var(--s-12) var(--s-20) !important; }
  .home-hero__title { font-size: 28px !important; }
  .home-hero__stats { grid-template-columns: 1fr !important; gap: var(--s-8) !important; }
  .home-hero__stat:not(:first-child) {
    padding-left: 0 !important;
    border-left: none !important;
    padding-top: var(--s-8) !important;
    border-top: 1px solid rgba(10,10,18,0.10) !important;
  }
}

/* ── About section breakpoints ── */
@media (max-width: 900px) {
  .about__grid { grid-template-columns: 1fr !important; gap: var(--s-48) !important; }
  .about__image-wrap { max-width: 480px !important; margin: 0 auto !important; }
  .about__decor { display: none !important; }
}
@media (max-width: 600px) {
  .about-section { padding: var(--s-80) 0 !important; }
  .values-grid { grid-template-columns: 1fr !important; }
  .about__title { font-size: clamp(26px, 7vw, 38px) !important; }
}

/* ── Services section breakpoints ── */
@media (max-width: 768px) {
  .services-section__header { flex-direction: column !important; align-items: flex-start !important; gap: var(--s-12) !important; }
  .services-track { padding-left: var(--s-24) !important; padding-right: var(--s-24) !important; }
  .service-card { width: 280px !important; padding: var(--s-28) !important; }
}
@media (max-width: 480px) {
  .services-track { padding-left: var(--s-16) !important; padding-right: var(--s-16) !important; gap: var(--s-16) !important; }
  .service-card { width: 260px !important; padding: var(--s-24) !important; }
}

/* ── Testimonials breakpoints ── */
@media (max-width: 768px) {
  .testimonials__inner { padding: var(--s-64) var(--s-24) !important; }
  .testimonials__quote { font-size: clamp(18px, 4vw, 26px) !important; }
}
@media (max-width: 480px) {
  .testimonials__inner { padding: var(--s-48) var(--s-16) !important; }
  .testimonials__mark  { font-size: 80px !important; top: var(--s-12) !important; }
}

/* ── CTA section breakpoints ── */
@media (max-width: 768px) {
  .cta-section { padding: var(--s-80) var(--s-24) !important; }
  .cta-section__title { font-size: clamp(30px, 7vw, 48px) !important; }
}
@media (max-width: 480px) {
  .cta-section { padding: var(--s-64) var(--s-16) !important; }
  .cta-section__title { font-size: clamp(26px, 8vw, 40px) !important; }
  .cta-section__content > div { flex-direction: column !important; align-items: stretch !important; }
  .cta-section__content .btn { justify-content: center !important; }
}

/* ── Marquee breakpoints ── */
@media (max-width: 480px) {
  .marquee { padding: var(--s-16) 0 !important; }
  .marquee__item { font-size: 13px !important; padding: 0 var(--s-20) !important; }
}

/* ── Container tighter on small screens ── */
@media (max-width: 600px) {
  .container { padding-left: var(--s-20) !important; padding-right: var(--s-20) !important; }
}
@media (max-width: 400px) {
  .container { padding-left: var(--s-16) !important; padding-right: var(--s-16) !important; }
}


/* ═══════════════════════════════════════════════════════════════════
   7. REDUCED MOTION ACCESSIBILITY
   ═══════════════════════════════════════════════════════════════════ */

/* ═══════════════════════════════════════════════════════════════════
   NEW HOME SECTIONS — Features · Why · Services Grid · FAQ · Blog
   ═══════════════════════════════════════════════════════════════════ */

/* ── Shared section helpers ── */
.section__title {
  font-size: clamp(28px, 4vw, 52px);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.1;
  color: var(--charcoal);
  margin-bottom: var(--s-16);
}
.section__sub {
  font-size: 16px;
  color: var(--stone);
  line-height: 1.75;
  max-width: 600px;
}


/* ─────────────────────────────
   FEATURES SECTION
───────────────────────────── */
.features-section {
  padding: var(--s-120) 0;
  background: var(--off-white);
}
.features-section__header {
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: var(--s-64);
}
.features-section__header .section__sub {
  text-align: center;
  margin-top: var(--s-16);
}

.features-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--s-24);
}

.feature-card {
  background: var(--white);
  border: 1.5px solid var(--border);
  border-radius: var(--r-xl);
  padding: var(--s-32);
  display: flex;
  flex-direction: column;
  gap: var(--s-20);
  transition: all 0.45s var(--ease);
  position: relative;
  overflow: hidden;
}
.feature-card::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 3px;
  background: var(--purple);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.45s var(--ease);
  border-radius: 0 0 2px 2px;
}
.feature-card:hover {
  border-color: var(--border-hover);
  box-shadow: var(--shadow-card);
  transform: translateY(-4px);
}
.feature-card:hover::after { transform: scaleX(1); }

.feature-card__icon-wrap {
  width: 56px;
  height: 56px;
  border-radius: var(--r-lg);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.feature-card__icon-wrap--purple { background: rgba(124,58,237,0.10); color: var(--purple); }
.feature-card__icon-wrap--blue   { background: rgba(37,99,235,0.10);  color: var(--blue); }
.feature-card__icon-wrap--green  { background: rgba(16,185,129,0.10); color: #10b981; }
.feature-card__icon-wrap--orange { background: rgba(249,115,22,0.10); color: #f97316; }

.feature-card__title {
  font-size: 17px;
  font-weight: 700;
  color: var(--charcoal);
  letter-spacing: -0.02em;
}
.feature-card__desc {
  font-size: 14px;
  color: var(--stone);
  line-height: 1.7;
  margin: 0;
}

@media (max-width: 1024px) {
  .features-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
  .features-section { padding: var(--s-80) 0; }
  .features-grid { grid-template-columns: 1fr; gap: var(--s-16); }
  .features-section__header { margin-bottom: var(--s-40); }
}


/* ─────────────────────────────
   WHY CHOOSE SECTION
───────────────────────────── */
.why-section {
  padding: var(--s-120) 0;
  background: var(--white);
}
.why-section__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--s-80);
  align-items: center;
}

.why-section__img-wrap {
  position: relative;
  border-radius: var(--r-xl);
  overflow: hidden;
  aspect-ratio: 4/5;
}
.why-section__img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.7s var(--ease);
}
.why-section__img-wrap:hover img { transform: scale(1.03); }

.why-section__badge {
  position: absolute;
  display: flex;
  align-items: center;
  gap: var(--s-8);
  background: rgba(255,255,255,0.96);
  border: 1.5px solid var(--border);
  border-radius: var(--r-lg);
  padding: 10px 16px;
  font-size: 13px;
  font-weight: 600;
  color: var(--charcoal);
  box-shadow: var(--shadow-md);
  backdrop-filter: blur(4px);
}
.why-section__badge--top    { top: var(--s-32); right: var(--s-24); }
.why-section__badge--bottom { bottom: var(--s-32); left: var(--s-24); background: var(--purple); color: #fff; border-color: transparent; }
.why-section__badge-icon    { font-size: 16px; }

.why-section__stats {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: var(--s-16);
  margin-top: var(--s-24);
}
.why-section__stat {
  background: var(--off-white);
  border: 1.5px solid var(--border);
  border-radius: var(--r-lg);
  padding: var(--s-20) var(--s-16);
  text-align: center;
  transition: all 0.35s var(--ease);
}
.why-section__stat:hover {
  border-color: var(--purple);
  background: var(--purple-wash);
}
.why-section__stat-num {
  font-size: clamp(22px, 2.5vw, 32px);
  font-weight: 800;
  color: var(--purple);
  letter-spacing: -0.03em;
  line-height: 1;
}
.why-section__stat-label {
  font-size: 11px;
  font-weight: 600;
  color: var(--stone);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-top: 4px;
}

.why-section__text {
  font-size: 16px;
  color: var(--stone);
  line-height: 1.8;
  margin-bottom: var(--s-32);
}

.why-section__checklist {
  display: flex;
  flex-direction: column;
  gap: var(--s-16);
}
.why-section__checklist li {
  display: flex;
  align-items: center;
  gap: var(--s-12);
  font-size: 15px;
  font-weight: 500;
  color: var(--charcoal);
}
.why-section__check {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: var(--purple-wash);
  color: var(--purple);
  font-size: 13px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

@media (max-width: 900px) {
  .why-section__grid { grid-template-columns: 1fr; gap: var(--s-48); }
  .why-section__img-wrap { max-width: 480px; margin: 0 auto; }
}
@media (max-width: 600px) {
  .why-section { padding: var(--s-80) 0; }
  .why-section__stats { grid-template-columns: repeat(3,1fr); gap: var(--s-8); }
  .why-section__stat  { padding: var(--s-12) var(--s-8); }
}
@media (max-width: 400px) {
  .why-section__stats { grid-template-columns: 1fr; }
}


/* ─────────────────────────────
   SERVICES HOME GRID
───────────────────────────── */
.services-section--home {
  padding: var(--s-120) 0;
  background: var(--off-white);
}
.services-section--home .services-section__header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  flex-wrap: wrap;
  gap: var(--s-24);
  margin-bottom: var(--s-56);
}

.services-home-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--s-28);
}
/* 5th card spans full last row on 3-col */
.services-home-grid .service-home-card:nth-child(4),
.services-home-grid .service-home-card:nth-child(5) {
  /* normal — let CSS grid auto-place */
}

.service-home-card {
  background: var(--white);
  border: 1.5px solid var(--border);
  border-radius: var(--r-xl);
  overflow: hidden;
  transition: all 0.45s var(--ease);
  display: flex;
  flex-direction: column;
}
.service-home-card:hover {
  border-color: var(--border-hover);
  box-shadow: var(--shadow-card);
  transform: translateY(-5px);
}

.service-home-card__img {
  position: relative;
  aspect-ratio: 16/9;
  overflow: hidden;
}
.service-home-card__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.6s var(--ease);
}
.service-home-card:hover .service-home-card__img img { transform: scale(1.05); }

.service-home-card__num {
  position: absolute;
  top: var(--s-16);
  left: var(--s-16);
  background: var(--purple);
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  padding: 4px 10px;
  border-radius: var(--r-pill);
  letter-spacing: 0.05em;
}

.service-home-card__body {
  padding: var(--s-28);
  display: flex;
  flex-direction: column;
  flex: 1;
  gap: var(--s-12);
}
.service-home-card__title {
  font-size: 18px;
  font-weight: 700;
  color: var(--charcoal);
  letter-spacing: -0.02em;
}
.service-home-card__desc {
  font-size: 14px;
  color: var(--stone);
  line-height: 1.7;
  flex: 1;
}
.service-home-card__link {
  margin-top: var(--s-8);
  align-self: flex-start;
  font-size: 13px;
}

@media (max-width: 1024px) {
  .services-home-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
  .services-section--home { padding: var(--s-80) 0; }
  .services-home-grid { grid-template-columns: 1fr; gap: var(--s-20); }
  .services-section--home .services-section__header {
    flex-direction: column;
    align-items: flex-start;
  }
}


/* ─────────────────────────────
   TESTIMONIALS HEADER
───────────────────────────── */
.testimonials__header {
  text-align: center;
  margin-bottom: var(--s-48);
}
.testimonials__header .eyebrow::before { background: rgba(255,255,255,0.4); }


/* ─────────────────────────────
   FAQ SECTION
───────────────────────────── */
.faq-section {
  padding: var(--s-120) 0;
  background: var(--white);
}
.faq-section__inner {
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: var(--s-80);
  align-items: start;
}

.faq-section__header { position: sticky; top: 120px; }
.faq-section__sub {
  font-size: 15px;
  color: var(--stone);
  line-height: 1.75;
  margin-top: var(--s-16);
}

.faq-list {
  display: flex;
  flex-direction: column;
  gap: 0;
  border-top: 1.5px solid var(--border);
}

.faq-item {
  border-bottom: 1.5px solid var(--border);
  overflow: hidden;
}
.faq-item__trigger {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--s-16);
  padding: var(--s-24) 0;
  background: none;
  border: none;
  cursor: pointer;
  text-align: left;
  font-size: 16px;
  font-weight: 600;
  color: var(--charcoal);
  transition: color 0.3s;
}
.faq-item__trigger:hover { color: var(--purple); }
.faq-item--open .faq-item__trigger { color: var(--purple); }

.faq-item__icon {
  flex-shrink: 0;
  color: var(--stone);
  transition: transform 0.4s var(--ease), color 0.3s;
}
.faq-item--open .faq-item__icon {
  transform: rotate(180deg);
  color: var(--purple);
}

.faq-item__body {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.45s var(--ease);
}
.faq-item--open .faq-item__body { grid-template-rows: 1fr; }
.faq-item__body > p {
  overflow: hidden;
  font-size: 15px;
  color: var(--stone);
  line-height: 1.75;
  padding-bottom: var(--s-24);
  margin: 0;
}

@media (max-width: 900px) {
  .faq-section__inner { grid-template-columns: 1fr; gap: var(--s-48); }
  .faq-section__header { position: static; }
}
@media (max-width: 600px) {
  .faq-section { padding: var(--s-80) 0; }
  .faq-item__trigger { font-size: 15px; padding: var(--s-20) 0; }
}


/* ─────────────────────────────
   BLOG PREVIEW SECTION
───────────────────────────── */
.blog-preview-section {
  padding: var(--s-120) 0;
  background: var(--off-white);
}
.blog-preview__header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  flex-wrap: wrap;
  gap: var(--s-24);
  margin-bottom: var(--s-48);
}

.blog-preview__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--s-32);
}

.blog-preview-card {
  background: var(--white);
  border: 1.5px solid var(--border);
  border-radius: var(--r-xl);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: all 0.45s var(--ease);
}
.blog-preview-card:hover {
  border-color: var(--border-hover);
  box-shadow: var(--shadow-card);
  transform: translateY(-4px);
}

.blog-preview-card__img-wrap {
  display: block;
  position: relative;
  aspect-ratio: 16/9;
  overflow: hidden;
}
.blog-preview-card__img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.6s var(--ease);
}
.blog-preview-card:hover .blog-preview-card__img-wrap img { transform: scale(1.05); }

.blog-preview-card__category {
  position: absolute;
  top: var(--s-16);
  left: var(--s-16);
  background: var(--purple);
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  padding: 4px 12px;
  border-radius: var(--r-pill);
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.blog-preview-card__body {
  padding: var(--s-28);
  display: flex;
  flex-direction: column;
  gap: var(--s-12);
  flex: 1;
}
.blog-preview-card__meta {
  display: flex;
  align-items: center;
  gap: var(--s-16);
  font-size: 12px;
  color: var(--pebble);
  flex-wrap: wrap;
}
.blog-preview-card__author { font-weight: 600; }

.blog-preview-card__title {
  font-size: 20px;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--charcoal);
  line-height: 1.3;
}
.blog-preview-card__title a {
  color: inherit;
  transition: color 0.3s;
}
.blog-preview-card__title a:hover { color: var(--purple); }

.blog-preview-card__excerpt {
  font-size: 14px;
  color: var(--stone);
  line-height: 1.7;
  flex: 1;
}
.blog-preview-card__more {
  align-self: flex-start;
  font-size: 13px;
  margin-top: var(--s-8);
}

@media (max-width: 768px) {
  .blog-preview__grid { grid-template-columns: 1fr; gap: var(--s-24); }
  .blog-preview__header { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 600px) {
  .blog-preview-section { padding: var(--s-80) 0; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}


/* ═══════════════════════════════════════════════════════════════════
   NEW HOME PAGE SECTIONS
   ═══════════════════════════════════════════════════════════════════ */

/* ── 8. FEATURES SECTION ── */
.features-section {
  padding: var(--s-120) 0;
  background: var(--white);
}

.features-section__header {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--s-64);
  align-items: flex-start;
  margin-bottom: var(--s-64);
}

.features-section__header-left .section__title {
  margin-top: var(--s-16);
  margin-bottom: 0;
  font-size: clamp(28px, 3.5vw, 44px);
  line-height: 1.15;
  letter-spacing: -0.03em;
}

.features-section__lead {
  font-size: 16px;
  line-height: 1.8;
  color: var(--stone);
  margin-bottom: var(--s-32);
}

.features-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--s-24);
}

.feature-card {
  background: var(--off-white);
  border: 1.5px solid var(--border);
  border-radius: var(--r-xl);
  padding: var(--s-32);
  transition: all 0.4s var(--ease);
  position: relative;
  overflow: hidden;
}
.feature-card::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 3px;
  background: var(--purple);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.4s var(--ease);
}
.feature-card:hover { border-color: var(--border-hover); box-shadow: var(--shadow-md); transform: translateY(-4px); }
.feature-card:hover::after { transform: scaleX(1); }

.feature-card__icon-wrap {
  width: 52px; height: 52px;
  border-radius: var(--r-md);
  background: var(--purple);
  display: flex; align-items: center; justify-content: center;
  font-size: 22px;
  margin-bottom: var(--s-20);
}
.feature-card__icon-wrap--blue  { background: var(--blue); }
.feature-card__icon-wrap--dark  { background: var(--charcoal); }
.feature-card__icon-wrap--terra { background: var(--terracotta); }

.feature-card__label {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--purple);
  margin-bottom: var(--s-8);
}
.feature-card__title {
  font-size: 17px;
  font-weight: 700;
  color: var(--charcoal);
  letter-spacing: -0.02em;
  margin-bottom: var(--s-10);
}
.feature-card__desc {
  font-size: 14px;
  color: var(--stone);
  line-height: 1.7;
}

/* ── 9. WHY CHOOSE US ── */
.why-section {
  padding: var(--s-120) 0;
  background: var(--surface);
}

.why-section__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--s-80);
  align-items: center;
}

.why-section__image-frame {
  position: relative;
  border-radius: var(--r-xl);
  overflow: hidden;
}
.why-section__img {
  width: 100%;
  aspect-ratio: 4/5;
  object-fit: cover;
  display: block;
  border-radius: var(--r-xl);
}

.why-section__img-badge {
  position: absolute;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  padding: 12px 18px;
  border-radius: var(--r-lg);
  box-shadow: var(--shadow-md);
}
.why-section__img-badge--white {
  top: var(--s-32); right: var(--s-24);
  background: rgba(255,255,255,0.96);
  border: 1.5px solid var(--border);
  backdrop-filter: blur(4px);
}
.why-section__img-badge--purple {
  bottom: var(--s-32); left: var(--s-24);
  background: var(--purple);
  color: #fff;
}
.why-section__img-badge-num {
  font-size: 20px;
  font-weight: 800;
  letter-spacing: -0.04em;
  line-height: 1;
  color: inherit;
}
.why-section__img-badge--white .why-section__img-badge-num { color: var(--charcoal); }
.why-section__img-badge-text {
  font-size: 11px;
  font-weight: 500;
  opacity: 0.7;
  color: inherit;
}
.why-section__img-badge--white .why-section__img-badge-text { color: var(--stone); }

.why-section__title-sub {
  display: block;
  font-size: 0.7em;
  font-weight: 400;
  color: var(--stone);
  letter-spacing: 0;
  margin-top: var(--s-8);
}

.why-section__body {
  font-size: 16px;
  color: var(--stone);
  line-height: 1.8;
  margin-bottom: var(--s-32);
}

.why-section__list {
  display: flex;
  flex-direction: column;
  gap: var(--s-12);
  margin-bottom: var(--s-40);
}
.why-section__list-item {
  display: flex;
  align-items: center;
  gap: var(--s-12);
  font-size: 15px;
  font-weight: 500;
  color: var(--charcoal);
}
.why-section__list-icon {
  width: 26px; height: 26px;
  border-radius: 50%;
  background: var(--purple);
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}

/* ── 10. SERVICES (updated with thumb images) ── */
.service-card__thumb {
  width: 100%;
  aspect-ratio: 16/9;
  overflow: hidden;
  border-radius: var(--r-lg) var(--r-lg) 0 0;
  margin: calc(-1 * var(--s-40)) calc(-1 * var(--s-40)) var(--s-28);
  width: calc(100% + var(--s-80));
}
.service-card__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.6s var(--ease);
}
.service-card:hover .service-card__thumb img { transform: scale(1.05); }

.service-card__body { display: flex; flex-direction: column; flex: 1; }

.service-card__link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 700;
  color: var(--purple);
  margin-top: auto;
  padding-top: var(--s-16);
  transition: gap 0.3s;
}
.service-card__link:hover { gap: 10px; }

/* Section shared header */
.section__header {
  text-align: center;
  margin-bottom: var(--s-56);
}
.section__title {
  font-size: clamp(26px, 3.5vw, 42px);
  font-weight: 700;
  color: var(--charcoal);
  letter-spacing: -0.03em;
  line-height: 1.15;
  margin-top: var(--s-12);
}
.section__subtitle {
  font-size: 16px;
  color: var(--stone);
  margin-top: var(--s-8);
}

/* ── 11. FAQ SECTION ── */
.faq-section {
  padding: var(--s-120) 0;
  background: var(--white);
}

.faq-section__header {
  max-width: 640px;
  margin-bottom: var(--s-56);
}
.faq-section__subtitle {
  font-size: 16px;
  color: var(--stone);
  line-height: 1.75;
  margin-top: var(--s-16);
}

.faq-list {
  display: flex;
  flex-direction: column;
  gap: 0;
  border-top: 1.5px solid var(--border);
}

.faq-item {
  border-bottom: 1.5px solid var(--border);
  overflow: hidden;
}

.faq-item__question {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--s-16);
  padding: var(--s-24) 0;
  font-size: clamp(15px, 1.6vw, 17px);
  font-weight: 600;
  color: var(--charcoal);
  text-align: left;
  cursor: pointer;
  background: none;
  border: none;
  transition: color 0.3s;
}
.faq-item__question:hover { color: var(--purple); }

.faq-item__icon {
  width: 32px; height: 32px;
  border-radius: 50%;
  border: 1.5px solid var(--border);
  display: flex; align-items: center; justify-content: center;
  font-size: 18px;
  font-weight: 400;
  color: var(--stone);
  flex-shrink: 0;
  transition: all 0.35s var(--ease);
}
.faq-item--open .faq-item__icon {
  background: var(--purple);
  border-color: var(--purple);
  color: #fff;
  transform: rotate(45deg);
}
.faq-item--open .faq-item__question { color: var(--purple); }

.faq-item__answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.5s var(--ease), padding 0.4s var(--ease);
}
.faq-item--open .faq-item__answer {
  max-height: 400px;
}
.faq-item__answer p {
  font-size: 15px;
  color: var(--stone);
  line-height: 1.8;
  padding-bottom: var(--s-24);
  margin: 0;
}

/* ── 12. STATS BAND ── */
.stats-band {
  padding: var(--s-120) 0;
  background: var(--dark);
}

.stats-band__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--s-80);
  align-items: center;
}

.stats-band .eyebrow { color: var(--purple-light) !important; }
.stats-band .eyebrow::before { background: var(--purple-light) !important; }

.stats-band .section__title {
  color: #fff !important;
  margin-top: var(--s-16);
  margin-bottom: var(--s-24);
}

.stats-band__body {
  font-size: 16px;
  color: rgba(255,255,255,0.60);
  line-height: 1.8;
  margin-bottom: var(--s-40);
}

.stats-band .btn--primary {
  background: var(--purple) !important;
  color: #fff !important;
}
.stats-band .btn--primary:hover {
  background: var(--purple-dark) !important;
}

.stats-band__counters {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--s-4);
}

.stats-band__counter {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: var(--r-xl);
  padding: var(--s-32) var(--s-24);
  text-align: center;
  transition: background 0.4s var(--ease);
}
.stats-band__counter:hover {
  background: rgba(124,58,237,0.12);
  border-color: rgba(124,58,237,0.25);
}
.stats-band__counter-icon {
  font-size: 28px;
  margin-bottom: var(--s-16);
  display: block;
}
.stats-band__counter-num {
  font-size: clamp(30px, 3.5vw, 48px);
  font-weight: 900;
  color: #fff;
  letter-spacing: -0.04em;
  line-height: 1;
  margin-bottom: var(--s-8);
}
.stats-band__counter-label {
  font-size: 12px;
  font-weight: 700;
  color: var(--purple-light);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  margin-bottom: var(--s-4);
}
.stats-band__counter-sublabel {
  font-size: 12px;
  color: rgba(255,255,255,0.40);
}

/* ── 13. BLOG SECTION ── */
.blog-section {
  padding: var(--s-120) 0;
  background: var(--cream);
}

.blog-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--s-32);
}

.blog-card {
  background: var(--white);
  border-radius: var(--r-xl);
  overflow: hidden;
  border: 1.5px solid var(--border);
  transition: all 0.45s var(--ease);
}
.blog-card:hover {
  transform: translateY(-6px);
  box-shadow: var(--shadow-lg);
  border-color: var(--border-hover);
}

.blog-card__image-link { display: block; }
.blog-card__image-wrap {
  aspect-ratio: 16/9;
  overflow: hidden;
}
.blog-card__image {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.6s var(--ease);
}
.blog-card:hover .blog-card__image { transform: scale(1.05); }

.blog-card__body { padding: var(--s-28) var(--s-32); }

.blog-card__meta {
  display: flex;
  align-items: center;
  gap: var(--s-16);
  margin-bottom: var(--s-12);
  flex-wrap: wrap;
}
.blog-card__author,
.blog-card__date {
  font-size: 12px;
  color: var(--pebble);
  font-weight: 500;
}

.blog-card__title {
  font-size: clamp(18px, 2vw, 22px);
  font-weight: 700;
  color: var(--charcoal);
  letter-spacing: -0.02em;
  line-height: 1.3;
  margin-bottom: var(--s-20);
}
.blog-card__title a {
  color: inherit;
  transition: color 0.3s;
}
.blog-card__title a:hover { color: var(--purple); }

.blog-card__cta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 700;
  color: var(--purple);
  transition: gap 0.3s;
}
.blog-card__cta:hover { gap: 10px; }


/* ═══════════════════════════════════════════════════════════════════
   RESPONSIVE — NEW SECTIONS
   ═══════════════════════════════════════════════════════════════════ */

/* Features */
@media (max-width: 1100px) {
  .features-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
  .features-section__header { grid-template-columns: 1fr; gap: var(--s-24); }
  .features-section { padding: var(--s-80) 0; }
}
@media (max-width: 480px) {
  .features-grid { grid-template-columns: 1fr; }
}

/* Why choose us */
@media (max-width: 900px) {
  .why-section__grid { grid-template-columns: 1fr; gap: var(--s-48); }
  .why-section__image-frame { max-width: 480px; margin: 0 auto; }
  .why-section { padding: var(--s-80) 0; }
}

/* Stats band */
@media (max-width: 900px) {
  .stats-band__grid { grid-template-columns: 1fr; gap: var(--s-48); }
  .stats-band { padding: var(--s-80) 0; }
}
@media (max-width: 640px) {
  .stats-band__counters { grid-template-columns: 1fr; gap: var(--s-12); }
}

/* FAQ */
@media (max-width: 768px) {
  .faq-section { padding: var(--s-80) 0; }
  .faq-section__header { max-width: 100%; }
}

/* Blog */
@media (max-width: 768px) {
  .blog-grid { grid-template-columns: 1fr; }
  .blog-section { padding: var(--s-80) 0; }
}
@media (max-width: 480px) {
  .blog-card__body { padding: var(--s-20) var(--s-20); }
}

/* Service cards with thumbs */
@media (max-width: 768px) {
  .service-card__thumb {
    width: calc(100% + var(--s-56));
    margin: calc(-1 * var(--s-28)) calc(-1 * var(--s-28)) var(--s-20);
  }
}


/* ═══════════════════════════════════════════════════════════════════
   ██  UNIVERSAL HERO THEME — matches homepage exactly
   ══ All page hero backgrounds, text, accents locked to one palette
   ═══════════════════════════════════════════════════════════════════ */

/* 1 · Shared gradient background on every hero wrap */
.about-hero-wrap,
.services-hero-wrap,
.contact-hero-wrap,
.courses-hero-wrap,
.blog-hero-wrap,
.portfolio-hero-wrap {
  background: linear-gradient(135deg, #ece8ff 0%, #c8e8f8 28%, #a4eedd 60%, #7fe8c2 100%);

  background: linear-gradient(135deg, #ece8ff 0%, #c8e8f8 28%, #a4eedd 60%, #7fe8c2 100%);
}

/* 2 · Kill photo bg + overlay on every page */
.about-hero__bg,
.about-hero__overlay,
.services-hero__bg,
.services-hero__overlay,
.contact-hero__bg,
.contact-hero__overlay,
.blog-hero__bg,
.blog-hero__overlay,
.portfolio-hero__bg,
.portfolio-hero__overlay { display: none !important; }

/* 3 · All hero headlines — Poppins 900 black */
.about-hero__title,
.services-hero__title,
.contact-hero__title,
.courses-hero__title,
.blog-hero__title,
.portfolio-hero__title {
  font-family: 'Poppins', sans-serif !important;
  font-weight: 900;
  color: #0a0a12;
  letter-spacing: -0.04em;
}

/* 4 · Italic accent word — sage green on every page */
.about-hero__title em,
.services-hero__title em,
.contact-hero__title em,
.courses-hero__title em,
.blog-hero__title em,
.portfolio-hero__title em,
.hero-accent {
  font-style: italic !important;
  font-family: 'Cormorant Garamond', serif !important;
  color: #8DB49E !important;
  font-weight: 700 !important;
}

/* 5 · Subtitles — dark charcoal at 62% opacity */
.about-hero__subtitle,
.services-hero__subtitle,
.contact-hero__subtitle,
.courses-hero__subtitle,
.blog-hero__subtitle,
.portfolio-hero__subtitle {
  color: rgba(10,10,18,0.62);
}

/* 6 · Eyebrow pills — frosted glass, dark text */
.about-hero__eyebrow,
.services-hero__eyebrow,
.contact-hero__eyebrow,
.courses-hero__badge,
.blog-hero__eyebrow,
.portfolio-hero__eyebrow {
  background: rgba(255,255,255,0.55) !important;
  border: 1px solid rgba(255,255,255,0.80) !important;
  color: rgba(10,10,18,0.70);
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
}

/* 7 · Eyebrow dot stays purple */
.about-hero__eyebrow-dot,
.services-hero__eyebrow-dot,
.contact-hero__eyebrow-dot,
.courses-hero__badge-dot,
.blog-hero__eyebrow-dot,
.portfolio-hero__eyebrow-dot {
  background: var(--purple) !important;
}

/* 8 · Stat numbers — dark */
.blog-hero__stat-num,
.portfolio-hero__stat-num {
  color: #0a0a12 !important;
}
.blog-hero__stat-label,
.portfolio-hero__stat-label {
  color: rgba(10,10,18,0.50) !important;
}
.blog-hero__divider,
.portfolio-stats-strip__divider {
  background: rgba(10,10,18,0.14) !important;
}

/* 9 · Hero CTA buttons match homepage buttons */
.about-hero__cta .btn--primary,
.services-hero__cta .btn--primary,
.contact-hero__cta .btn--primary,
.courses-hero__cta .btn--primary,
.portfolio-hero__cta .btn--primary {
  background: #0a0a12 !important;
  color: #fff !important;
  border: none !important;
}
.about-hero__cta .btn--primary:hover,
.services-hero__cta .btn--primary:hover,
.contact-hero__cta .btn--primary:hover,
.courses-hero__cta .btn--primary:hover,
.portfolio-hero__cta .btn--primary:hover {
  background: var(--purple) !important;
  box-shadow: 0 8px 28px rgba(124,58,237,0.30) !important;
}
.about-hero__cta .btn--ghost-light,
.services-hero__cta .btn--ghost-light,
.contact-hero__cta .btn--ghost-light,
.courses-hero__cta .btn--ghost-light,
.portfolio-hero__cta .btn--ghost-light {
  background: rgba(255,255,255,0.55) !important;
  color: #0a0a12 !important;
  border: 1.5px solid rgba(10,10,18,0.18) !important;
  backdrop-filter: blur(8px) !important;
}


/* ═══════════════════════════════════════════════════════════════════
   PAGE HERO GLOBAL ALIGNMENT — matches homepage exactly
   ═══════════════════════════════════════════════════════════════════ */
.about-hero__inner,
.services-hero__inner,
.contact-hero__inner,
.courses-hero__inner,
.blog-hero__inner,
.portfolio-hero__inner {
  text-align: left !important;
  align-items: flex-start !important;
  max-width: 100% !important;
  padding: 130px var(--s-40) var(--s-56) !important;
}

.about-hero__title,
.services-hero__title,
.contact-hero__title,
.courses-hero__title,
.blog-hero__title,
.portfolio-hero__title {
  font-size: clamp(52px, 9vw, 120px) !important;
  font-weight: 900 !important;
  line-height: 1.0 !important;
  letter-spacing: -0.04em !important;
  color: #0a0a12 !important;
  max-width: 100% !important;
}

.about-hero__title em,
.services-hero__title em,
.contact-hero__title em,
.courses-hero__title em,
.blog-hero__title em,
.portfolio-hero__title em {
  font-style: italic;
  font-family: 'Cormorant Garamond', serif !important;
  color: #8DB49E !important;
  font-weight: 900 !important;
}

.about-hero__subtitle,
.services-hero__subtitle,
.contact-hero__subtitle,
.courses-hero__subtitle,
.blog-hero__subtitle,
.portfolio-hero__subtitle {
  font-size: clamp(15px, 1.5vw, 18px) !important;
  color: rgba(10,10,18,0.62) !important;
  line-height: 1.7 !important;
  max-width: 520px !important;
  text-align: left !important;
  margin: 0 !important;
}

.about-hero__eyebrow,
.services-hero__eyebrow,
.contact-hero__eyebrow,
.courses-hero__badge,
.blog-hero__eyebrow,
.portfolio-hero__eyebrow {
  background: rgba(255,255,255,0.55) !important;
  border: 1px solid rgba(255,255,255,0.75) !important;
  color: rgba(10,10,18,0.70) !important;
  border-radius: 100px !important;
  padding: 7px 18px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  backdrop-filter: blur(8px) !important;
}

.about-hero__cta,
.services-hero__cta,
.contact-hero__cta,
.courses-hero__cta,
.blog-hero__meta,
.portfolio-hero__cta {
  justify-content: flex-start !important;
  align-items: center !important;
}

/* Stats strips — white bg matching light gradient flow */
.stats-bar,
.courses-stats-strip,
.portfolio-stats-strip {
  background: #fff !important;
  border-top: 1.5px solid var(--border) !important;
  border-bottom: 1.5px solid var(--border) !important;
}
.stats-bar__num,
.stats-bar__number,
.courses-stats-strip__num,
.portfolio-stats-strip__num {
  color: var(--purple) !important;
}
.stats-bar__label,
.stats-bar__text,
.courses-stats-strip__label,
.portfolio-stats-strip__label {
  color: var(--stone) !important;
}
.stats-bar__item,
.stats-bar__divider,
.portfolio-stats-strip__divider,
.courses-stats-strip__item::after {
  border-color: var(--border) !important;
  background: var(--border) !important;
}

/* Responsive: maintain left-align on mobile */
@media (max-width: 768px) {
  .about-hero__inner,
  .services-hero__inner,
  .contact-hero__inner,
  .courses-hero__inner,
  .blog-hero__inner,
  .portfolio-hero__inner {
    padding: 110px var(--s-24) var(--s-40) !important;
  }
  .about-hero__title,
  .services-hero__title,
  .contact-hero__title,
  .courses-hero__title,
  .blog-hero__title,
  .portfolio-hero__title {
    font-size: clamp(38px, 9vw, 72px) !important;
  }
}

@media (max-width: 480px) {
  .about-hero__inner,
  .services-hero__inner,
  .contact-hero__inner,
  .courses-hero__inner,
  .blog-hero__inner,
  .portfolio-hero__inner {
    padding: 100px var(--s-20) var(--s-32) !important;
  }
  .about-hero__title,
  .services-hero__title,
  .contact-hero__title,
  .courses-hero__title,
  .blog-hero__title,
  .portfolio-hero__title {
    font-size: clamp(32px, 10vw, 56px) !important;
    letter-spacing: -0.03em !important;
  }
  .about-hero__cta,
  .services-hero__cta,
  .contact-hero__cta,
  .courses-hero__cta,
  .portfolio-hero__cta {
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
  }
  .about-hero__subtitle,
  .services-hero__subtitle,
  .contact-hero__subtitle,
  .courses-hero__subtitle,
  .blog-hero__subtitle,
  .portfolio-hero__subtitle {
    max-width: 100% !important;
  }
}