/* ============================================================
   AI Elites Academy — Master Stylesheet
   Design: Clean dark-navy hero + white card sections
   Fonts: Playfair Display (headings) · Space Grotesk (UI) · Outfit (body)
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800;900&family=Playfair+Display:ital,wght@0,700;0,800;0,900;1,700;1,800&family=Space+Grotesk:wght@400;500;600;700;800&display=swap');

/* ── Tokens ── */
:root {
  --navy:       #0b1220;
  --navy-2:     #111c32;
  --navy-3:     #1a2845;
  --accent:     #f97316;
  --accent-2:   #ea6c0a;
  --violet:     #7c3aed;
  --blue:       #2563eb;
  --green:      #16a34a;
  --bg:         #ffffff;
  --bg-2:       #f8f9fc;
  --bg-3:       #f0f2f8;
  --card:       #ffffff;
  --border:     #e4e8f0;
  --text-1:     #0b1220;
  --text-2:     #3d4f6e;
  --text-3:     #6b7a99;
  --shadow-sm:  0 1px 4px rgba(11,18,32,.07);
  --shadow-md:  0 4px 20px rgba(11,18,32,.10);
  --shadow-lg:  0 12px 40px rgba(11,18,32,.14);
  --shadow-xl:  0 24px 64px rgba(11,18,32,.18);
  --r:          12px;
  --r-lg:       20px;
  --r-xl:       28px;
}
[data-theme="dark"] {
  --bg:    #0b1220; --bg-2: #111c32; --bg-3: #1a2845;
  --card:  #111c32; --border: #1e2d4a;
  --text-1:#eef2ff; --text-2:#a8b8d8; --text-3:#6b82a8;
  --shadow-sm:0 1px 4px rgba(0,0,0,.3); --shadow-md:0 4px 20px rgba(0,0,0,.4); --shadow-lg:0 12px 40px rgba(0,0,0,.5);
}

/* ── Reset ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px;overflow-x:hidden}
body{font-family:'Outfit',sans-serif;background:var(--bg);color:var(--text-1);overflow-x:hidden;line-height:1.7;-webkit-font-smoothing:antialiased;width:100%;max-width:100vw}
img{max-width:100%;display:block;object-fit:cover}
a{text-decoration:none;color:inherit}
ul{list-style:none}
button{cursor:pointer;font-family:inherit;border:none;outline:none}
input,select,textarea{font-family:inherit}

/* ── Typography ── */
h1{font-family:'Playfair Display',serif;font-size:clamp(2.8rem,6vw,5rem);font-weight:900;line-height:1.06;letter-spacing:-.03em;color:var(--text-1)}
h2{font-family:'Playfair Display',serif;font-size:clamp(2rem,4.5vw,3.4rem);font-weight:800;line-height:1.14;letter-spacing:-.02em;color:var(--text-1)}
h3{font-family:'Space Grotesk',sans-serif;font-size:clamp(1.1rem,2vw,1.4rem);font-weight:700;line-height:1.3;color:var(--text-1)}
h4{font-family:'Space Grotesk',sans-serif;font-size:clamp(1rem,1.6vw,1.15rem);font-weight:700;color:var(--text-1)}
p {font-family:'Outfit',sans-serif;font-size:clamp(.97rem,1.5vw,1.07rem);color:var(--text-2);line-height:1.78}

.gradient-text{background:linear-gradient(135deg,var(--accent) 0%,var(--violet) 55%,var(--blue) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;background-size:200%;animation:gradShift 5s ease infinite}
@keyframes gradShift{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}

/* ── Layout ── */
.container{width:100%;max-width:1200px;margin:0 auto;padding:0 clamp(.9rem,4vw,2rem)}
.section{padding:clamp(3rem,5vw,5.5rem) 0}
.section-sm{padding:clamp(2rem,3.5vw,3.5rem) 0}
.section-header{text-align:center;margin-bottom:clamp(2rem,3.5vw,3.2rem)}
.section-header p{max-width:600px;margin:.8rem auto 0;font-size:clamp(1rem,1.6vw,1.1rem)}

/* Tag labels */
.tag-pill{display:inline-block;background:rgba(124,58,237,.1);color:var(--violet);font-size:.72rem;font-weight:700;padding:.3rem .95rem;border-radius:50px;margin-bottom:.8rem;letter-spacing:.08em;text-transform:uppercase;font-family:'Space Grotesk',sans-serif;border:1px solid rgba(124,58,237,.2)}
.tag-pill-orange{background:rgba(249,115,22,.1);color:var(--accent);border-color:rgba(249,115,22,.25)}
.tag-pill-navy{background:rgba(255,255,255,.15);color:rgba(255,255,255,.92);border-color:rgba(255,255,255,.25)}

/* ── Reveal animations ── */
.reveal,.reveal-left,.reveal-right{opacity:0}
.reveal{transform:translateY(30px);transition:opacity .65s ease,transform .65s ease}
.reveal-left{transform:translateX(-36px);transition:opacity .7s ease,transform .7s ease}
.reveal-right{transform:translateX(36px);transition:opacity .7s ease,transform .7s ease}
/* Animated cards — start visible by default as fallback, animate when JS kicks in */
.feat-card{opacity:1;transform:none;transition:opacity .5s ease,transform .5s ease,box-shadow .3s,border-color .3s}
.feat-card.anim-ready{opacity:0;transform:translateY(22px) scale(.97)}
.cert-feat{opacity:1;transform:none;transition:opacity .5s ease,transform .5s ease}
.cert-feat.anim-ready{opacity:0;transform:translateY(20px)}
.why-num-item{opacity:1;transform:none;transition:opacity .55s ease,transform .55s ease}
.why-num-item.anim-ready{opacity:0;transform:translateX(-24px)}
.reveal.visible,.reveal-left.visible,.reveal-right.visible{opacity:1;transform:none}
.feat-card.anim-ready.visible{opacity:1;transform:none}
.cert-feat.anim-ready.visible{opacity:1;transform:none}
.why-num-item.anim-ready.visible{opacity:1;transform:none}
.feat-card.anim-ready:nth-child(2).visible{transition-delay:.1s}
.feat-card.anim-ready:nth-child(3).visible{transition-delay:.2s}
.feat-card.anim-ready:nth-child(4).visible{transition-delay:.3s}
.cert-feat.anim-ready:nth-child(2).visible{transition-delay:.1s}
.cert-feat.anim-ready:nth-child(3).visible{transition-delay:.2s}
.cert-feat.anim-ready:nth-child(4).visible{transition-delay:.3s}
.why-num-item.anim-ready:nth-child(2){transition-delay:.07s}
.why-num-item.anim-ready:nth-child(3){transition-delay:.14s}
.why-num-item.anim-ready:nth-child(4){transition-delay:.21s}
.why-num-item.anim-ready:nth-child(5){transition-delay:.28s}

/* ── Keyframes ── */
@keyframes slideDown{from{opacity:0;transform:translateY(-18px)}to{opacity:1;transform:none}}
@keyframes fadeUp{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
@keyframes scaleIn{from{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}
@keyframes floatY{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
@keyframes pulseGlow{0%,100%{box-shadow:0 0 0 0 rgba(249,115,22,.45)}70%{box-shadow:0 0 0 14px rgba(249,115,22,0)}}
@keyframes shimmer{0%{background-position:-200% center}100%{background-position:200% center}}
@keyframes marquee{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
@keyframes announcescroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* ── Top phone bar ── */
.topbar{background:var(--navy);color:#fff;padding:.45rem 0;font-family:'Space Grotesk',sans-serif}
.topbar-inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.4rem}
.topbar-left{display:flex;gap:1.4rem;flex-wrap:wrap}
.topbar-phone{display:flex;align-items:center;gap:.35rem;color:#fff;font-weight:800;font-size:.92rem;transition:color .2s;letter-spacing:.01em}
.topbar-phone:hover{color:var(--accent)}
.topbar-email{font-size:.85rem;color:rgba(255,255,255,.6);font-weight:500}
.topbar-email:hover{color:var(--accent)}
@media(max-width:640px){.topbar-right{display:none}.topbar-phone{font-size:.82rem}}

/* ── Announcement bar ── */
.announce-bar{background:var(--accent);display:flex;align-items:center;gap:.9rem;padding:.45rem 1.2rem;overflow:hidden}
.announce-badge{flex-shrink:0;background:rgba(255,255,255,.22);border:1.5px solid rgba(255,255,255,.38);color:#fff;font-size:.82rem;font-weight:900;padding:.24rem .85rem;border-radius:30px;white-space:nowrap;font-family:'Space Grotesk',sans-serif;letter-spacing:.04em}
.announce-track-wrap{flex:1;overflow:hidden;mask-image:linear-gradient(to right,transparent,#000 50px,#000 calc(100% - 50px),transparent);-webkit-mask-image:linear-gradient(to right,transparent,#000 50px,#000 calc(100% - 50px),transparent)}
.announce-track{display:flex;gap:2.5rem;width:max-content;white-space:nowrap;animation:announcescroll 22s linear infinite;font-size:.95rem;font-weight:800;color:#fff;font-family:'Space Grotesk',sans-serif;letter-spacing:.01em}
.announce-track:hover{animation-play-state:paused}
.announce-cta{flex-shrink:0;background:#fff;color:var(--accent);font-weight:900;font-size:.88rem;padding:.38rem 1.1rem;border-radius:30px;transition:transform .2s;white-space:nowrap;font-family:'Space Grotesk',sans-serif;letter-spacing:.02em}
.announce-cta:hover{transform:scale(1.07)}
@media(max-width:640px){.announce-badge{display:none}}

/* ── Navbar ── */
.navbar{position:sticky;top:0;left:0;right:0;z-index:950;background:rgba(255,255,255,.94);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--border);padding:.9rem 0;transition:box-shadow .3s;animation:slideDown .45s ease both;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}
[data-theme="dark"] .navbar{background:rgba(11,18,32,.94)}
.navbar.scrolled{box-shadow:var(--shadow-md)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.nav-logo{display:flex;align-items:center;gap:.65rem;text-decoration:none}
.nav-logo-img{height:44px;width:auto;max-width:50px;object-fit:contain;border-radius:8px}
.nav-logo-name{font-family:'Playfair Display',serif;font-size:clamp(1.15rem,2vw,1.45rem);font-weight:900;color:var(--text-1);letter-spacing:-.01em}
.nav-links{display:flex;align-items:center;gap:clamp(.6rem,2vw,2rem)}
.nav-links a{font-family:'Space Grotesk',sans-serif;font-size:.97rem;font-weight:700;color:var(--text-2);padding:.3rem 0;position:relative;min-height:44px;display:flex;align-items:center;transition:color .2s;letter-spacing:.01em}
.nav-links a::after{content:'';position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--accent);transition:width .25s;border-radius:2px}
.nav-links a:hover,.nav-links a.active{color:var(--accent)}
.nav-links a:hover::after,.nav-links a.active::after{width:100%}
.nav-actions{display:flex;align-items:center;gap:.7rem}
.btn-theme{background:var(--bg-3,#f0f2f8);border:1px solid var(--border);border-radius:50px;padding:.42rem .9rem;font-size:.82rem;font-weight:700;color:var(--text-2);display:flex;align-items:center;gap:.35rem;transition:all .2s;min-height:40px;font-family:'Space Grotesk',sans-serif}
.btn-theme:hover{border-color:var(--accent);color:var(--accent)}
.nav-enrol-btn{background:var(--navy)!important;color:#fff!important;font-family:'Space Grotesk',sans-serif!important;font-weight:800!important;font-size:.95rem!important;padding:.6rem 1.6rem!important;border-radius:50px!important;transition:all .25s!important;min-height:42px;display:inline-flex;align-items:center;letter-spacing:.02em}
.nav-enrol-btn:hover{background:var(--accent)!important;transform:translateY(-2px)!important;box-shadow:0 8px 24px rgba(249,115,22,.35)!important}
.hamburger{display:none;flex-direction:column;gap:5px;background:none;padding:.5rem;min-height:44px;min-width:44px;align-items:center;justify-content:center;border-radius:8px;transition:background .2s}
.hamburger:hover{background:var(--bg-3)}
.hamburger span{display:block;width:22px;height:2px;background:var(--text-1);border-radius:2px;transition:all .3s}
.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.hamburger.open span:nth-child(2){opacity:0}
.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mobile-nav{position:fixed;inset:0;background:var(--bg);z-index:999;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.4rem;transform:translateX(100%);transition:transform .35s cubic-bezier(.4,0,.2,1);overflow-y:auto;padding:2rem 1.5rem}
.mobile-nav.open{transform:translateX(0)}
.mobile-nav a{font-family:'Space Grotesk',sans-serif;font-size:1.4rem;font-weight:800;color:var(--text-1);transition:color .2s;min-height:44px;display:flex;align-items:center;letter-spacing:-.01em}
.mobile-nav a:hover{color:var(--accent)}
.mobile-nav a.btn,.mobile-nav a.nav-enrol-btn{background:linear-gradient(135deg,var(--accent),#ea6c0a)!important;color:#fff!important;border-radius:50px!important;padding:.75rem 2rem!important;font-size:1.1rem!important;font-weight:800!important;justify-content:center!important;box-shadow:0 6px 24px rgba(249,115,22,.4)!important;margin-top:.5rem;width:80%;max-width:300px}
.mobile-nav a.btn:hover,.mobile-nav a.nav-enrol-btn:hover{background:linear-gradient(135deg,#ea6c0a,var(--accent))!important;transform:translateY(-2px)!important;box-shadow:0 10px 32px rgba(249,115,22,.5)!important}
.mobile-nav-close{position:absolute;top:max(1.2rem,env(safe-area-inset-top,1.2rem));right:max(1.5rem,env(safe-area-inset-right,1.5rem));background:none;font-size:1.8rem;color:var(--text-1);min-height:44px;min-width:44px;display:flex;align-items:center;justify-content:center}
.mobile-nav-brand{display:flex;align-items:center;gap:.8rem;margin-bottom:.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}
.mobile-nav-brand .mobile-nav-logo-img{height:42px;width:auto;border-radius:8px}

/* ── Buttons ── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:clamp(.7rem,1.5vw,.9rem) clamp(1.3rem,3vw,2rem);border-radius:50px;font-family:'Space Grotesk',sans-serif;font-size:clamp(.9rem,1.3vw,1rem);font-weight:800;transition:all .25s cubic-bezier(.34,1.56,.64,1);cursor:pointer;min-height:46px;white-space:nowrap;letter-spacing:.02em;max-width:100%}
.btn-primary{background:var(--navy);color:#fff;box-shadow:0 4px 20px rgba(11,18,32,.25)}
.btn-primary:hover{background:var(--accent);transform:translateY(-3px);box-shadow:0 10px 30px rgba(249,115,22,.4)}
.btn-outline{background:transparent;border:2px solid var(--accent);color:var(--accent)}
.btn-outline:hover{background:var(--accent);color:#fff;transform:translateY(-3px)}
.btn-white{background:#fff;color:var(--navy);font-weight:800}
.btn-white:hover{background:var(--bg-3);transform:translateY(-3px)}
.btn-ghost{background:rgba(255,255,255,.12);color:#fff;border:1.5px solid rgba(255,255,255,.3)}
.btn-ghost:hover{background:rgba(255,255,255,.2);transform:translateY(-2px)}
.btn-sm{padding:.5rem 1.2rem;font-size:.87rem;min-height:38px}
.btn-lg{padding:1.05rem 2.4rem;font-size:1.08rem}
.hero-btn-primary{background:var(--navy);color:#fff;display:inline-flex;align-items:center;gap:.5rem;padding:1rem 2.2rem;border-radius:50px;font-family:'Space Grotesk',sans-serif;font-weight:800;font-size:1.05rem;box-shadow:0 8px 28px rgba(11,18,32,.3);transition:all .25s;letter-spacing:.02em}
.hero-btn-primary:hover{background:var(--accent);transform:translateY(-3px);box-shadow:0 14px 36px rgba(249,115,22,.45)}
.hero-btn-outline{background:rgba(255,255,255,.1);color:#fff;display:inline-flex;align-items:center;gap:.5rem;padding:.98rem 2.1rem;border-radius:50px;font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:1.05rem;border:1.5px solid rgba(255,255,255,.32);backdrop-filter:blur(8px);transition:all .25s}
.hero-btn-outline:hover{background:rgba(255,255,255,.2);transform:translateY(-3px)}

/* ── Hero Section — dark navy ── */
.hero-section{background:var(--navy);padding:4.5rem 0 3.5rem;position:relative;overflow:hidden}
.hero-section::before{content:'';position:absolute;top:-200px;right:-200px;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(124,58,237,.18) 0%,transparent 70%);pointer-events:none}
.hero-section::after{content:'';position:absolute;bottom:-150px;left:-150px;width:450px;height:450px;border-radius:50%;background:radial-gradient(circle,rgba(249,115,22,.12) 0%,transparent 70%);pointer-events:none}
.hero-inner{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4rem);align-items:center;position:relative;z-index:2}
.hero-content{animation:fadeUp .6s .2s ease both}
.hero-h1{font-family:'Playfair Display',serif;font-size:clamp(2.6rem,6vw,4.6rem);font-weight:900;line-height:1.06;letter-spacing:-.03em;color:#fff;margin-bottom:1.3rem}
.hero-h1 em{font-style:italic;color:var(--accent)}
.hero-lead{font-size:clamp(1.02rem,1.7vw,1.15rem);color:rgba(255,255,255,.75);max-width:500px;margin-bottom:2rem;line-height:1.75}
.hero-ctas{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:1.8rem}
.hero-pills{display:flex;flex-wrap:wrap;gap:.55rem}
.hero-pills span{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.18);border-radius:50px;padding:.3rem .9rem;font-size:.9rem;font-weight:600;color:rgba(255,255,255,.82);font-family:'Space Grotesk',sans-serif;transition:all .2s}
.hero-pills span:hover{background:rgba(249,115,22,.25);border-color:var(--accent);color:#fff}
.hero-media{position:relative;border-radius:var(--r-xl);overflow:hidden;background:var(--navy-3);min-height:clamp(300px,44vw,500px);box-shadow:0 24px 64px rgba(0,0,0,.45);animation:scaleIn .7s .3s ease both}
.hero-img{width:100%;height:clamp(300px,44vw,500px)}
.hero-img-placeholder{display:none;position:absolute;inset:0;align-items:center;justify-content:center;flex-direction:column;gap:.8rem;padding:2rem;text-align:center}
.hero-media-empty .hero-img-placeholder{display:flex}
.hip-icon{font-size:3rem}
.hip-text strong{display:block;font-size:1rem;font-weight:700;color:rgba(255,255,255,.8);margin-bottom:.3rem}
.hip-text span{font-size:.88rem;color:rgba(255,255,255,.5)}
.hip-text code{background:rgba(255,255,255,.1);padding:.15rem .5rem;border-radius:6px;font-size:.82rem;color:var(--accent);font-family:monospace}
@media(max-width:900px){.hero-inner{grid-template-columns:1fr}.hero-media{order:-1;min-height:260px}.hero-img{height:260px}}
@media(max-width:480px){.hero-inner{grid-template-columns:1fr}.hero-media{min-height:200px}.hero-img{height:200px}.hero-section{padding:3.5rem 0 2.5rem}}

/* ── Marquee ── */
.marquee-wrapper{overflow:hidden;width:100%;padding:1rem 0;background:var(--bg-2);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.marquee-track{display:flex;gap:1rem;width:max-content;animation:marquee 25s linear infinite}
.marquee-wrapper:hover .marquee-track{animation-play-state:paused}
.marquee-pill{display:inline-flex;align-items:center;gap:.4rem;background:var(--card);border:1px solid var(--border);border-radius:50px;padding:.45rem 1.1rem;font-size:.9rem;font-weight:700;color:var(--text-2);white-space:nowrap;transition:all .2s;font-family:'Space Grotesk',sans-serif}
.marquee-pill:hover{background:var(--accent);border-color:var(--accent);color:#fff;transform:scale(1.05)}
.marquee-pill .dot{width:7px;height:7px;border-radius:50%;background:var(--accent);flex-shrink:0}

/* ── Why numbered list ── */
.why-section{background:var(--bg)}
.why-numbered-list{max-width:800px;margin:0 auto;display:flex;flex-direction:column}
.why-num-item{display:flex;align-items:flex-start;gap:1.8rem;padding:1.5rem 0;border-bottom:1px solid var(--border);transition:transform .25s}
.why-num-item:last-child{border-bottom:none}
.why-num-item:hover{transform:translateX(8px)}
.why-num{flex-shrink:0;width:60px;height:60px;border-radius:50%;background:var(--bg-2);border:2px solid var(--border);display:flex;align-items:center;justify-content:center;font-family:'Space Grotesk',sans-serif;font-size:1.2rem;font-weight:900;color:var(--accent);transition:all .3s;position:relative;z-index:1}
.why-num-item:hover .why-num{background:linear-gradient(135deg,var(--accent),var(--violet));color:#fff;border-color:transparent;transform:scale(1.1);box-shadow:0 6px 20px rgba(249,115,22,.35)}
.why-num-content{flex:1;padding-top:.35rem}
.why-num-content h3{font-family:'Space Grotesk',sans-serif;font-size:1.2rem!important;font-weight:800!important;margin-bottom:.4rem;color:var(--text-1)!important;line-height:1.3}
.why-num-content p{font-size:1rem!important;color:var(--text-2)!important;margin:0;line-height:1.68}
@media(max-width:540px){.why-num-item{gap:1.1rem}.why-num{width:48px;height:48px;font-size:1rem}}

/* ── Features section ── */
.features-section{background:var(--bg-2)}
.features-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;margin-bottom:1.8rem}
.feat-card{background:var(--card);border:1.5px solid var(--border);border-radius:var(--r-lg);padding:1.8rem 1.5rem;transition:transform .3s,box-shadow .3s,border-color .3s}
.feat-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg);border-color:var(--accent)}
.feat-icon{font-size:2.2rem;margin-bottom:.9rem;display:block}
.feat-card:hover .feat-icon{animation:floatY .8s ease-in-out infinite}
.feat-card h3{font-size:1.05rem!important;font-weight:800!important;margin-bottom:.5rem;line-height:1.3}
.feat-card p{font-size:.97rem!important;line-height:1.68;margin:0}
/* features responsive handled in global media queries below */

/* ── Bonus highlight ── */
.bonus-highlight{background:linear-gradient(135deg,#fffbf5,#f8f0ff);border:2px solid var(--accent);border-radius:var(--r-xl);overflow:hidden;position:relative}
[data-theme="dark"] .bonus-highlight{background:linear-gradient(135deg,rgba(249,115,22,.1),rgba(124,58,237,.08))}
.bonus-inner{display:flex;align-items:center;gap:2rem;padding:2rem 2.2rem;position:relative;z-index:1}
.bonus-icon-wrap{flex-shrink:0;width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--violet));display:flex;align-items:center;justify-content:center;font-size:2rem;box-shadow:0 8px 28px rgba(249,115,22,.4);animation:floatY 3s ease-in-out infinite}
.bonus-content{flex:1}
.bonus-badge{display:inline-block;background:linear-gradient(135deg,var(--accent),var(--violet));color:#fff;font-size:.7rem;font-weight:900;letter-spacing:.12em;padding:.22rem .85rem;border-radius:50px;margin-bottom:.6rem;font-family:'Space Grotesk',sans-serif;text-transform:uppercase;box-shadow:0 3px 12px rgba(249,115,22,.3)}
.bonus-title{font-family:'Space Grotesk',sans-serif!important;font-size:1.4rem!important;font-weight:900!important;color:var(--accent);margin-bottom:.4rem}
.bonus-desc{font-size:1rem!important;color:var(--text-2);line-height:1.72;margin:0}
.bonus-decoration{position:absolute;right:-30px;top:-30px;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(249,115,22,.12) 0%,transparent 70%);pointer-events:none}
@media(max-width:640px){.bonus-inner{flex-direction:column;gap:1.2rem;padding:1.5rem}.bonus-icon-wrap{width:64px;height:64px;font-size:1.6rem}}

/* ── About section ── */
.about-section{background:var(--bg)}
.about-layout{display:grid;grid-template-columns:380px 1fr;gap:clamp(2rem,4vw,4rem);align-items:start}
.about-photo-frame{position:relative;border-radius:var(--r-xl);overflow:hidden;border:3px solid var(--accent);min-height:480px;background:linear-gradient(145deg,var(--accent),var(--violet));box-shadow:0 20px 60px rgba(249,115,22,.22);transition:transform .4s,box-shadow .4s}
.about-photo-frame:hover{transform:scale(1.015);box-shadow:0 28px 72px rgba(249,115,22,.3)}
.about-photo{width:100%;min-height:480px;max-height:600px;object-fit:cover;object-position:top;display:block;position:relative;z-index:1}
.about-photo-badge{position:absolute;bottom:.8rem;left:.8rem;right:.8rem;background:rgba(0,0,0,.8);backdrop-filter:blur(8px);color:#fff;font-size:.85rem;font-weight:800;padding:.5rem 1rem;border-radius:10px;text-align:center;display:flex;align-items:center;justify-content:center;gap:.45rem;z-index:2;font-family:'Space Grotesk',sans-serif;letter-spacing:.01em}
.badge-dot{width:9px;height:9px;border-radius:50%;background:#22c55e;flex-shrink:0;animation:pulseGlow 2s ease-out infinite}
.about-photo-placeholder{position:absolute;inset:0;z-index:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2rem}
.about-quote-text{font-family:'Playfair Display',serif;font-style:italic;font-size:clamp(1.5rem,3vw,2rem)!important;font-weight:900!important;background:linear-gradient(135deg,var(--accent),var(--violet));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:1rem;line-height:1.25}
.about-bullets{display:flex;flex-direction:column;gap:.6rem;margin:1.1rem 0}
.about-bullet{display:flex;align-items:flex-start;gap:.85rem;padding:.72rem 1rem;border-radius:12px;border:1.5px solid var(--border);background:var(--bg-2);transition:border-color .2s,transform .25s}
.about-bullet:hover{border-color:var(--accent);transform:translateX(5px)}
.ab-icon{font-size:1.15rem;flex-shrink:0;margin-top:.1rem}
.about-bullet strong{display:block;font-size:.98rem;font-weight:800;color:var(--text-1);margin-bottom:.1rem;font-family:'Space Grotesk',sans-serif}
.about-bullet p{font-size:.92rem;margin:0;color:var(--text-2);line-height:1.55}
.about-ctas{margin-top:1.4rem}
@media(max-width:640px){.about-layout{grid-template-columns:1fr}.about-photo-frame{max-width:320px;margin:0 auto;min-height:380px}.about-photo{min-height:380px}}

/* ── Courses strip ── */
.courses-section{background:var(--bg-2)}
.course-strip-wrap{position:relative;overflow:hidden;padding:.5rem 0 1rem}
.course-strip{display:flex;gap:1.4rem;overflow-x:auto;overflow-y:visible;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;padding:.8rem .2rem 1.2rem;scrollbar-width:none;-ms-overflow-style:none;cursor:grab}
.course-strip:active{cursor:grabbing}
.course-strip::-webkit-scrollbar{display:none}
.cs-card{flex:0 0 280px;background:var(--card);border:1.5px solid var(--border);border-radius:var(--r-lg);overflow:hidden;text-decoration:none;color:inherit;display:flex;flex-direction:column;position:relative;transition:transform .3s cubic-bezier(.34,1.56,.64,1),box-shadow .3s,border-color .3s;box-shadow:var(--shadow-sm)}
.cs-card:hover{transform:translateY(-10px) scale(1.02);box-shadow:var(--shadow-xl);border-color:var(--accent)}
.cs-img-wrap{width:100%;height:168px;overflow:hidden;flex-shrink:0}
.cs-img-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.cs-card:hover .cs-img-wrap img{transform:scale(1.07)}
.cs-icon{position:absolute;top:138px;left:1.1rem;width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.2rem;box-shadow:0 4px 16px rgba(0,0,0,.2);z-index:1;border:2.5px solid #fff}
.cs-card:hover .cs-icon{animation:floatY .7s ease-in-out infinite}
.cs-body{padding:1.1rem 1.1rem 1rem;margin-top:.6rem;flex:1;display:flex;flex-direction:column}
.cs-tag{font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:var(--accent);background:rgba(249,115,22,.1);padding:.18rem .65rem;border-radius:50px;display:inline-block;margin-bottom:.5rem;font-family:'Space Grotesk',sans-serif;border:1px solid rgba(249,115,22,.2)}
.cs-body h3{font-family:'Space Grotesk',sans-serif;font-size:1.07rem!important;font-weight:800!important;color:var(--text-1);margin-bottom:.4rem;line-height:1.25}
.cs-body p{font-size:.9rem!important;color:var(--text-2);line-height:1.55;flex:1;margin-bottom:.8rem}
.cs-footer{display:flex;align-items:center;justify-content:flex-end;border-top:1px solid var(--border);padding-top:.65rem;margin-top:auto}
.cs-arrow{width:30px;height:30px;background:var(--accent);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.9rem;font-weight:700;transition:transform .2s}
.cs-card:hover .cs-arrow{transform:translateX(4px)}
.cs-nav{position:absolute;top:50%;transform:translateY(-60%);width:46px;height:46px;border-radius:50%;border:2px solid var(--border);background:var(--card);color:var(--text-1);font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-md);transition:all .22s;z-index:10}
.cs-nav:hover{background:var(--accent);border-color:var(--accent);color:#fff;transform:translateY(-60%) scale(1.1)}
.cs-nav-left{left:-16px}
.cs-nav-right{right:-16px}
@media(max-width:768px){.cs-nav{display:none}.cs-card{flex:0 0 min(85vw,320px)}}

/* ── Steps — navy dark ── */
.steps-section{background:var(--navy)!important;position:relative;overflow:hidden}
.steps-section::before{content:'';position:absolute;top:-100px;right:-100px;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,rgba(124,58,237,.2) 0%,transparent 70%);pointer-events:none}
.steps-row{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-top:1.2rem;position:relative;z-index:1}
.step-item{text-align:center;color:#fff;position:relative}
.step-circle{width:66px;height:66px;border-radius:50%;background:linear-gradient(135deg,var(--violet),var(--blue));color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:900;margin:0 auto 1rem;box-shadow:0 8px 28px rgba(124,58,237,.45);font-family:'Space Grotesk',sans-serif;position:relative;z-index:1;transition:transform .3s,box-shadow .3s}
.step-item:hover .step-circle{transform:scale(1.12);box-shadow:0 12px 36px rgba(124,58,237,.6)}
.step-line{position:absolute;top:33px;left:calc(50% + 36px);width:calc(100% - 72px);height:2px;background:linear-gradient(90deg,rgba(124,58,237,.4),rgba(37,99,235,.4));z-index:0}
.step-item{transition:transform .25s}
.step-item:hover{transform:translateY(-6px)}
.step-item h3{font-family:'Space Grotesk',sans-serif;font-size:1.08rem!important;font-weight:800!important;color:#fff;margin-bottom:.5rem;letter-spacing:-.01em}
.step-item p{font-size:.95rem!important;color:rgba(255,255,255,.65);margin:0;line-height:1.65}
/* steps responsive handled in global media queries below */

/* ── Certification ── */
.cert-section{background:var(--bg)}
.cert-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:clamp(2rem,4vw,4rem);align-items:center}
.cert-mock-card{background:var(--card);border:3px solid #d4a017;border-radius:var(--r-xl);padding:2.2rem 1.8rem;text-align:center;position:relative;box-shadow:0 16px 48px rgba(212,160,23,.18)}
.cert-mock-card::before{content:'';position:absolute;inset:8px;border:1px solid rgba(212,160,23,.3);border-radius:16px;pointer-events:none}
.cert-mock-badge{display:inline-flex;align-items:center;gap:.4rem;background:linear-gradient(135deg,#d4a017,#f59e0b);color:#fff;font-size:.77rem;font-weight:900;padding:.28rem .9rem;border-radius:50px;margin-bottom:1rem;font-family:'Space Grotesk',sans-serif;letter-spacing:.04em}
.cert-mock-logo{font-family:'Playfair Display',serif;font-size:1.2rem;font-weight:900;color:var(--text-1)}
.cert-mock-sub{font-size:.75rem;color:var(--text-3);margin-bottom:1rem}
.cert-mock-line{height:1px;background:linear-gradient(90deg,transparent,#d4a017,transparent);margin:.7rem 0}
.cert-mock-text{font-size:.75rem;color:var(--text-3);text-transform:uppercase;letter-spacing:.1em}
.cert-mock-name{font-family:'Playfair Display',serif;font-size:1.45rem;font-style:italic;font-weight:800;color:var(--text-1);margin:.35rem 0}
.cert-mock-course{font-size:.82rem;color:var(--text-3)}
.cert-mock-title{font-family:'Space Grotesk',sans-serif;font-size:1rem;font-weight:900;color:#d4a017;margin:.5rem 0;letter-spacing:.04em}
.cert-mock-sigs{display:flex;justify-content:space-around;margin-top:1rem;padding-top:.8rem;border-top:1px solid var(--border)}
.cert-mock-sigs small{font-size:.7rem;color:var(--text-3);line-height:1.5}
.cert-sig-line{display:block;width:80px;height:1px;background:var(--border);margin:0 auto .3rem}
.cert-features{display:flex;flex-direction:column;gap:1.2rem}
.cert-feat{display:flex;align-items:flex-start;gap:1rem;transition:transform .25s}
.cert-feat:hover{transform:translateX(5px)}
.cert-feat-icon{width:38px;height:38px;border-radius:50%;flex-shrink:0;background:linear-gradient(135deg,var(--accent),var(--violet));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:.9rem;margin-top:.1rem;box-shadow:0 4px 14px rgba(249,115,22,.3)}
.cert-feat strong{display:block;font-size:1.02rem;font-weight:800;color:var(--text-1);margin-bottom:.2rem;font-family:'Space Grotesk',sans-serif}
.cert-feat p{font-size:.97rem;color:var(--text-2);margin:0;line-height:1.65}
/* cert-layout responsive handled in global media queries below */

/* ── Gallery ── */
.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}
.gallery-item{border-radius:var(--r);overflow:hidden;cursor:pointer;position:relative;aspect-ratio:4/3;transition:transform .35s cubic-bezier(.34,1.56,.64,1),box-shadow .3s}
.gallery-item:hover{transform:scale(1.04);box-shadow:var(--shadow-lg)}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.gallery-item:hover img{transform:scale(1.08)}
.gallery-overlay{position:absolute;inset:0;background:rgba(11,18,32,.5);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s;color:#fff;font-size:1.6rem}
.gallery-item:hover .gallery-overlay{opacity:1}
.lightbox{position:fixed;inset:0;z-index:2000;background:rgba(0,0,0,.94);display:none;align-items:center;justify-content:center}
.lightbox.open{display:flex}
.lightbox img{max-width:90vw;max-height:86vh;border-radius:var(--r-lg);box-shadow:0 0 60px rgba(0,0,0,.5)}
.lightbox-close{position:absolute;top:1.3rem;right:1.8rem;color:#fff;font-size:2rem;background:none;min-height:44px;min-width:44px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:color .2s}
.lightbox-close:hover{color:var(--accent)}

/* ── FAQ ── */
.faq-list{max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:.7rem}
.faq-item{background:var(--card);border:1.5px solid var(--border);border-radius:var(--r-lg);overflow:hidden;transition:border-color .25s,box-shadow .25s}
.faq-item.open{border-color:var(--accent);box-shadow:0 4px 20px rgba(249,115,22,.1)}
.faq-question{width:100%;background:none;text-align:left;padding:1.15rem 1.4rem;font-size:1.05rem;font-weight:700;color:var(--text-1);display:flex;justify-content:space-between;align-items:center;gap:1rem;min-height:56px;cursor:pointer;font-family:'Space Grotesk',sans-serif;transition:color .2s}
.faq-question:hover{color:var(--accent)}
.faq-icon{width:30px;height:30px;border-radius:50%;background:var(--bg-3);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:1.1rem;transition:background .2s,transform .3s;color:var(--text-3)}
.faq-item.open .faq-icon{background:var(--accent);color:#fff;transform:rotate(45deg)}
.faq-answer{max-height:0;overflow:hidden;transition:max-height .35s ease}
.faq-answer p{padding:0 1.4rem 1.2rem;font-size:1rem;color:var(--text-2);margin:0;line-height:1.72}

/* ── CTA Banner ── */
.cta-banner{background:linear-gradient(135deg,var(--navy) 0%,var(--navy-3) 50%,#1a1a3e 100%);border-radius:var(--r-xl);padding:clamp(2.5rem,5vw,4.5rem) clamp(1.5rem,4vw,3.5rem);text-align:center;position:relative;overflow:hidden;box-shadow:0 24px 64px rgba(11,18,32,.3)}
.cta-banner::before{content:'';position:absolute;top:-80px;right:-80px;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(249,115,22,.2) 0%,transparent 70%);pointer-events:none}
.cta-banner::after{content:'';position:absolute;bottom:-80px;left:-80px;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,rgba(124,58,237,.15) 0%,transparent 70%);pointer-events:none}
.cta-banner h2{color:#fff;position:relative;z-index:1;margin-bottom:.8rem}
.cta-banner p{color:rgba(255,255,255,.75);position:relative;z-index:1;margin-bottom:2rem;font-size:1.1rem}
.cta-btns{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap;position:relative;z-index:1}

/* ── Footer ── */
.footer{background:var(--navy);color:rgba(255,255,255,.75);padding:3.5rem 0 0}
.footer-grid{display:grid;grid-template-columns:1.8fr 1fr 1fr;gap:2rem;margin-bottom:2.5rem;padding-bottom:2.5rem;border-bottom:1px solid rgba(255,255,255,.1)}
.footer-academy-name{font-family:'Space Grotesk',sans-serif;font-size:1.15rem;font-weight:900;color:#fff;letter-spacing:.05em;margin-bottom:.2rem}
.footer-unit{font-size:.9rem;font-weight:700;color:var(--accent);margin-bottom:.9rem}
.footer-contact-list{display:flex;flex-direction:column;gap:.55rem}
.footer-contact-item{display:flex;align-items:flex-start;gap:.5rem;font-size:.92rem;color:rgba(255,255,255,.7);text-decoration:none;transition:color .2s,padding-left .2s;line-height:1.5;font-weight:500}
.footer-contact-item:hover{color:var(--accent);padding-left:4px}
.footer-contact-icon{font-size:.92rem;flex-shrink:0;margin-top:.1rem}
.footer-logo-link{display:inline-block;margin-bottom:.6rem}
.footer-logo-img{height:48px;width:auto;max-width:160px;object-fit:contain}
.footer-col h4{font-family:'Space Grotesk',sans-serif;font-size:.97rem;font-weight:800;color:#fff;margin-bottom:1rem;letter-spacing:.02em}
.footer-col ul{display:flex;flex-direction:column;gap:.5rem}
.footer-col ul li a{font-size:.93rem;color:rgba(255,255,255,.6);transition:color .2s,padding-left .2s;display:inline-block;font-weight:500}
.footer-col ul li a:hover{color:var(--accent);padding-left:4px}
.footer-bottom{padding:1.2rem 0;text-align:center;font-size:.87rem;color:rgba(255,255,255,.38);font-weight:500;font-family:'Space Grotesk',sans-serif}
.footer-socials{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:.9rem}
.footer-social{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;transition:all .25s;flex-shrink:0;overflow:hidden;border:none}
.footer-social svg{width:17px;height:17px;display:block}
.footer-social:hover{transform:translateY(-5px) scale(1.12);box-shadow:0 8px 20px rgba(0,0,0,.3)}
.footer-social[title="Instagram"]{background:#e1306c}
.footer-social[title="YouTube"]  {background:#ff0000}
.footer-social[title="Facebook"] {background:#1877f2}
.footer-social[title="LinkedIn"] {background:#0077b5}
.footer-social[title="WhatsApp"] {background:#25d366}
/* footer-grid responsive handled in global media queries below */

/* ── Forms, contact, detail pages ── */
.page-header{padding:7rem 0 3.5rem;background:var(--navy);text-align:center;border-bottom:1px solid rgba(255,255,255,.1)}
.page-header h1{color:#fff;margin-bottom:.5rem}
.page-header p{color:rgba(255,255,255,.7);max-width:560px;margin:.8rem auto 0}
.page-header .tag-pill{background:rgba(255,255,255,.12);color:rgba(255,255,255,.9);border-color:rgba(255,255,255,.25)}
.breadcrumb{display:flex;align-items:center;gap:.4rem;font-size:.87rem;flex-wrap:wrap;justify-content:center;margin-bottom:1rem;font-family:'Space Grotesk',sans-serif}
.breadcrumb a{color:var(--accent)}
.breadcrumb span{color:rgba(255,255,255,.5)}
.page-hero-sm{padding:6.5rem 0 2.8rem;background:var(--navy);border-bottom:1px solid rgba(255,255,255,.1);text-align:center}
.page-hero-sm h1{color:#fff;margin-bottom:.4rem}
.page-hero-sm p{color:rgba(255,255,255,.7);max-width:540px;margin:.6rem auto 0}
.form-group{margin-bottom:1.2rem}
.form-group label{display:block;font-size:.97rem;font-weight:700;margin-bottom:.4rem;color:var(--text-1);font-family:'Space Grotesk',sans-serif}
.form-control{width:100%;padding:.78rem 1rem;border:1.5px solid var(--border);border-radius:var(--r);background:var(--bg-2);color:var(--text-1);font-size:.97rem;transition:border-color .2s,box-shadow .2s;min-height:46px}
.form-control:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(249,115,22,.12)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.form-error{font-size:.8rem;color:#ef4444;margin-top:.3rem;display:none}
.form-error.show{display:block}
.pass-wrap{position:relative}
.pass-toggle{position:absolute;right:1rem;top:50%;transform:translateY(-50%);background:none;font-size:.85rem;color:var(--text-3);min-height:44px;min-width:44px;display:flex;align-items:center;justify-content:center}
.tag-pill-sm{display:inline-block;padding:.22rem .7rem;border-radius:50px;font-size:.75rem;font-weight:700;background:var(--bg-3);color:var(--text-2);border:1px solid var(--border);font-family:'Space Grotesk',sans-serif}
.detail-grid{display:grid;grid-template-columns:1fr 330px;gap:2.5rem;align-items:start}
.detail-stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin:1.5rem 0}
.detail-stat{text-align:center;padding:.8rem;background:var(--bg-2);border-radius:var(--r);border:1px solid var(--border)}
.detail-stat .label{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-3);margin-bottom:.3rem;font-family:'Space Grotesk',sans-serif}
.detail-stat .value{font-size:.97rem;font-weight:800;color:var(--accent);font-family:'Space Grotesk',sans-serif}
.learn-grid{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;margin-top:1rem}
.learn-item{display:flex;align-items:center;gap:.6rem;font-size:.95rem}
.learn-item .ck{color:var(--accent);font-weight:800}
.sidebar-enroll-card{position:sticky;top:90px;background:var(--card);border:1.5px solid var(--border);border-radius:var(--r-xl);padding:1.5rem;box-shadow:var(--shadow-lg)}
.enroll-features{display:flex;flex-direction:column;gap:.6rem;margin:1rem 0}
.enroll-feat{display:flex;align-items:center;gap:.6rem;font-size:.92rem}
.enroll-feat .fc{color:var(--accent)}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,4vw,4rem)}
.contact-info-card{display:flex;align-items:flex-start;gap:1rem;padding:1.2rem;background:var(--card);border:1.5px solid var(--border);border-radius:var(--r-lg);margin-bottom:1rem;transition:border-color .2s,transform .25s}
.contact-info-card:hover{border-color:var(--accent);transform:translateX(4px)}
.contact-icon{width:44px;height:44px;border-radius:12px;flex-shrink:0;background:linear-gradient(135deg,rgba(249,115,22,.13),rgba(124,58,237,.09));display:flex;align-items:center;justify-content:center;font-size:1.1rem}
.contact-info-card strong{display:block;font-size:1rem;font-weight:800;color:var(--text-1);margin-bottom:.2rem;font-family:'Space Grotesk',sans-serif}
.contact-info-card span{font-size:.95rem;color:var(--text-2)}
.map-embed{border-radius:var(--r-lg);overflow:hidden;border:1.5px solid var(--border);margin-top:1.5rem}
.map-embed iframe{width:100%;height:320px;border:none}
.filter-pill{padding:.42rem .9rem;border-radius:50px;font-size:.87rem;font-weight:700;border:1.5px solid var(--border);background:none;color:var(--text-2);cursor:pointer;transition:all .2s;min-height:38px;font-family:'Space Grotesk',sans-serif}
.filter-pill.active{border-color:var(--accent);color:var(--accent);background:rgba(249,115,22,.08)}
.material-item{display:flex;align-items:center;gap:1rem;padding:1.1rem 1.3rem;background:var(--card);border:1.5px solid var(--border);border-radius:var(--r-lg);margin-bottom:.8rem;transition:border-color .2s,transform .25s}
.material-item:hover{border-color:var(--accent);transform:translateX(4px)}
.mat-icon{width:44px;height:44px;border-radius:12px;flex-shrink:0;background:linear-gradient(135deg,var(--accent),var(--violet));display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.1rem}
.mat-info strong{display:block;font-size:.97rem;font-weight:800;margin-bottom:.2rem;font-family:'Space Grotesk',sans-serif}
.mat-info p{font-size:.88rem;color:var(--text-3);margin:0}
.apply-social-links{display:flex;flex-wrap:wrap;gap:.6rem}
.apply-social{display:inline-flex;align-items:center;gap:.45rem;padding:.5rem 1rem;border-radius:50px;border:1.5px solid var(--border);background:var(--card);color:var(--text-2);font-size:.9rem;font-weight:700;text-decoration:none;transition:all .22s;min-height:40px;font-family:'Space Grotesk',sans-serif}
.apply-social:hover{transform:translateY(-2px);color:#fff}
.apply-social[title="Instagram"]:hover{background:#e1306c;border-color:#e1306c}
.apply-social[title="YouTube"]:hover{background:#ff0000;border-color:#ff0000}
.apply-social[title="Facebook"]:hover{background:#1877f2;border-color:#1877f2}
.apply-social[title="WhatsApp"]:hover{background:#25d366;border-color:#25d366}
.apply-social[title="LinkedIn"]:hover{background:#0077b5;border-color:#0077b5}

/* ── Global utility ── */
.section-header{text-align:center;margin-bottom:clamp(2rem,3.5vw,3.2rem)}
.section-header h2{margin-bottom:.55rem}
.section-header p{max-width:600px;margin:.7rem auto 0;font-size:clamp(1rem,1.6vw,1.1rem)}

/* ── Responsive breakpoints ── */

/* Tablets & large phones (≤900px) */
@media(max-width:900px){
  .detail-grid{grid-template-columns:1fr}
  .sidebar-enroll-card{position:static}
  .detail-stats-row{grid-template-columns:1fr 1fr}
  .learn-grid{grid-template-columns:1fr}
  .about-layout{grid-template-columns:1fr !important}
  .about-photo-col{order:1}
  .about-content-col{order:2;text-align:center}
  .about-content-col .about-bullets{text-align:left}
  .about-content-col .about-ctas{display:flex;justify-content:center}
  .about-photo-frame{max-width:380px;margin:0 auto}
  .features-grid{grid-template-columns:1fr !important}
  .dark-feat-grid{grid-template-columns:1fr !important}
  .steps-row{grid-template-columns:repeat(2,1fr)}
  .step-line{display:none}
  .nav-links{display:none}
  .hamburger{display:flex}
  .nav-enrol-btn{display:none}
  /* Cert: image centered */
  .cert-layout{grid-template-columns:1fr}
  .cert-mock-card{max-width:420px;margin:0 auto 2rem}
}

/* Tablets (≤768px) */
@media(max-width:768px){
  .contact-grid{grid-template-columns:1fr}
  .form-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
  .cs-nav{display:none}
  .cert-nav{display:none}
  .cert-tile{flex:0 0 260px}
  .cs-card{flex:0 0 min(85vw,320px)}
}

/* Large phones (≤640px) */
@media(max-width:640px){
  .about-layout{grid-template-columns:1fr !important}
  .about-photo-col{order:1}
  .about-content-col{order:2;text-align:center}
  .about-content-col .about-bullets{text-align:left}
  .about-content-col .about-ctas{display:flex;justify-content:center}
  .about-photo-frame{max-width:300px;margin:0 auto;min-height:320px}
  .about-photo{min-height:320px}
  .dark-feat-grid{grid-template-columns:1fr !important}
  .bonus-inner{flex-direction:column;gap:1.2rem;padding:1.5rem}
  .bonus-icon-wrap{width:64px;height:64px;font-size:1.6rem}
  .footer-grid{grid-template-columns:1fr}
  .cta-banner{border-radius:var(--r-lg)}
  .topbar-right{display:none}
  .topbar-phone{font-size:.82rem}
  .announce-badge{display:none}
  .hero-stats{padding:1rem}
  .hero-stat{padding:.5rem 1rem;width:50%}
  .hero-stat-div{display:none}
  .hero-stat{border-bottom:1px solid rgba(255,255,255,.1)}
  .hero-stat:last-child,.hero-stat:nth-last-child(2){border-bottom:none}
  /* Cert image centered on phones */
  .cert-mock-card{max-width:340px;margin:0 auto 1.5rem}
}

/* Small phones (≤480px) */
@media(max-width:480px){
  .features-grid{grid-template-columns:1fr !important}
  .dark-feat-grid{grid-template-columns:1fr !important}
  .steps-row{grid-template-columns:1fr}
  .detail-stats-row{grid-template-columns:1fr 1fr}
  .cert-tile{flex:0 0 220px}
  .cs-card{flex:0 0 min(82vw,300px)}
  .cta-btns{flex-direction:column;align-items:center}
  .page-header{padding:5.5rem 0 2.5rem}
  .page-hero-sm{padding:5rem 0 2rem}
  .footer-grid{grid-template-columns:1fr}
  .cert-mock-card{max-width:100%;margin:0 auto 1.5rem}
}

/* Very small phones (≤360px) */
@media(max-width:360px){
  .hero-ctas{flex-direction:column}
  .hero-stat{width:100%;border-bottom:1px solid rgba(255,255,255,.1)}
  .topbar-left{gap:.8rem}
  .btn{padding:.65rem 1.2rem;font-size:.95rem}
}

@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
body{padding-bottom:env(safe-area-inset-bottom)}

/* ============================================================
   VISIBILITY SAFETY NET — all text always readable
   ============================================================ */

/* Force all section text to always be visible */
.why-num-content h3,
.why-num-content p,
.feat-card h3,
.feat-card p,
.cert-feat strong,
.cert-feat p,
.step-item h3,
.step-item p,
.about-bullet strong,
.about-bullet p {
  opacity: 1 !important;
}

/* Section background fixes */
.why-section         { background: #ffffff; }
.features-section    { background: #f8f9fc; }
.about-section       { background: #ffffff; }
.courses-section     { background: #f8f9fc; }
.cert-section        { background: #ffffff; }
[data-theme="dark"] .why-section      { background: var(--navy-2); }
[data-theme="dark"] .features-section { background: var(--navy-3); }
[data-theme="dark"] .about-section    { background: var(--navy-2); }
[data-theme="dark"] .courses-section  { background: var(--navy-3); }
[data-theme="dark"] .cert-section     { background: var(--navy-2); }

/* Ensure why section has enough padding and visible dividers */
.why-section .section { padding: 4rem 0; }
.why-numbered-list { background: transparent; }
.why-num-item { background: transparent; }

/* Feat cards always visible */
.feat-card {
  background: #ffffff;
  border: 1.5px solid #e4e8f0;
}
[data-theme="dark"] .feat-card {
  background: var(--navy-3);
  border-color: var(--navy-3);
}
.feat-card h3 { color: #0b1220 !important; }
.feat-card p  { color: #3d4f6e !important; }
[data-theme="dark"] .feat-card h3 { color: #eef2ff !important; }
[data-theme="dark"] .feat-card p  { color: #a8b8d8 !important; }

/* Cert features */
.cert-feat strong { color: #0b1220 !important; font-family: 'Space Grotesk', sans-serif; }
.cert-feat p      { color: #3d4f6e !important; }
[data-theme="dark"] .cert-feat strong { color: #eef2ff !important; }
[data-theme="dark"] .cert-feat p      { color: #a8b8d8 !important; }

/* Steps on navy — always white */
.steps-section .step-item h3 { color: #ffffff !important; }
.steps-section .step-item p  { color: rgba(255,255,255,.7) !important; }

/* About bullets */
.about-bullet { background: #f8f9fc; border-color: #e4e8f0; }
[data-theme="dark"] .about-bullet { background: var(--navy-3); border-color: var(--navy-3); }

/* Why section heading always visible */
.why-section h2 { color: #0b1220; }
[data-theme="dark"] .why-section h2 { color: #eef2ff; }
.why-section p.section-header ~ p { color: #3d4f6e; }

/* Fix why list for dark mode */
[data-theme="dark"] .why-num-content h3 { color: #eef2ff !important; }
[data-theme="dark"] .why-num-content p  { color: #a8b8d8 !important; }
[data-theme="dark"] .why-num  { background: var(--navy-3); border-color: var(--navy-3); }

/* Cert mock card always visible */
.cert-mock-card { background: #ffffff; }
[data-theme="dark"] .cert-mock-card { background: var(--navy-3); }
.cert-mock-logo { color: #0b1220; }
[data-theme="dark"] .cert-mock-logo { color: #eef2ff; }
.cert-mock-name { color: #0b1220; }
[data-theme="dark"] .cert-mock-name { color: #eef2ff; }

/* Bonus highlight always visible */
.bonus-title { color: var(--accent) !important; }
.bonus-desc  { color: #3d4f6e !important; }
[data-theme="dark"] .bonus-desc { color: #a8b8d8 !important; }

/* Gallery and FAQ always white bg */
#gallery-preview { background: #f8f9fc; }
.faq-list .faq-item { background: #ffffff; }
[data-theme="dark"] #gallery-preview { background: var(--navy-3); }
[data-theme="dark"] .faq-list .faq-item { background: var(--navy-2); }
.faq-question { color: #0b1220; }
.faq-answer p { color: #3d4f6e; }
[data-theme="dark"] .faq-question { color: #eef2ff; }
[data-theme="dark"] .faq-answer p { color: #a8b8d8; }

/* Remove any lingering CSS transition bugs on first load */
body.loaded .feat-card,
body.loaded .cert-feat,
body.loaded .why-num-item { transition: opacity .5s ease, transform .5s ease, box-shadow .3s, border-color .3s; }

/* ============================================================
   TEXT-ONLY HERO + HERO STATS + CERTIFICATE AUTO-GALLERY
   ============================================================ */

/* ── Text-only hero — centered, full width ── */
.hero-text-only { grid-template-columns: 1fr !important; }
.hero-content-centered { max-width: 780px; margin: 0 auto; text-align: center; }
.hero-content-centered .hero-tag { display: inline-flex; }
.hero-content-centered .hero-lead { margin-left: auto; margin-right: auto; }
.hero-content-centered .hero-ctas { justify-content: center; }
.hero-content-centered .hero-pills { justify-content: center; }
.hero-section { padding: 5.5rem 0 4rem; }

/* Hero stats row */
.hero-stats {
  display: flex; align-items: center; justify-content: center;
  gap: 0; flex-wrap: wrap; margin-top: 2.2rem;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 18px; padding: 1.2rem 1.8rem;
  backdrop-filter: blur(8px);
}
.hero-stat {
  display: flex; align-items: center; gap: .75rem;
  padding: .5rem 1.8rem;
  text-align: left;
}
.hero-stat .hs-icon { font-size: 1.5rem; flex-shrink: 0; }
.hero-stat strong {
  display: block; font-family: 'Space Grotesk', sans-serif;
  font-size: 1.08rem; font-weight: 800; color: #fff; line-height: 1.2;
}
.hero-stat span {
  font-size: .82rem; color: rgba(255,255,255,.65); font-weight: 500;
}
.hero-stat-div {
  width: 1px; height: 36px; background: rgba(255,255,255,.18); flex-shrink: 0;
}
@media (max-width: 640px) {
  .hero-stats { gap: 0; padding: 1rem; }
  .hero-stat { padding: .5rem 1rem; }
  .hero-stat-div { display: none; }
  .hero-stat { border-bottom: 1px solid rgba(255,255,255,.1); width: 50%; }
  .hero-stat:nth-child(7), .hero-stat:nth-child(8) { border-bottom: none; }
}

/* ── Certificate auto-gallery ── */
.cert-gallery {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 1.3rem;
  min-height: 120px;
}
.cert-tile {
  border-radius: var(--r-lg, 20px);
  overflow: hidden;
  cursor: pointer;
  position: relative;
  border: 2px solid #e8d99a;
  box-shadow: 0 4px 20px rgba(212,160,23,.15);
  transition: transform .35s cubic-bezier(.34,1.56,.64,1), box-shadow .3s, opacity .4s;
  background: #fffdf0;
  aspect-ratio: 1.414;
  opacity: 0;
}
.cert-tile:hover {
  transform: translateY(-8px) scale(1.02);
  box-shadow: 0 16px 40px rgba(212,160,23,.35);
  border-color: #d4a017;
}
.cert-tile img {
  width: 100%; height: 100%;
  object-fit: cover; display: block;
  transition: transform .4s;
}
.cert-tile:hover img { transform: scale(1.04); }
.cert-tile-overlay {
  position: absolute; inset: 0;
  background: rgba(11,18,32,.45);
  display: flex; align-items: center; justify-content: center;
  opacity: 0; transition: opacity .3s;
  color: #fff; font-size: 1.8rem;
}
.cert-tile:hover .cert-tile-overlay { opacity: 1; }

/* Cert empty state */
.cert-empty {
  grid-column: 1 / -1;
  text-align: center; padding: 3.5rem 1.5rem;
  background: #fffdf0;
  border: 2px dashed #e8d99a;
  border-radius: var(--r-lg, 20px);
}
.cert-empty .ce-icon { font-size: 3rem; margin-bottom: .7rem; }
.cert-empty h3 {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 1.1rem; font-weight: 800; color: #0b1220; margin-bottom: .5rem;
}
.cert-empty p { font-size: .97rem; color: #6b7a99; }
.cert-empty code {
  background: #f0f2f8; padding: .15rem .55rem;
  border-radius: 6px; font-size: .88rem; color: #f97316; font-family: monospace;
}
.cert-empty .path-box {
  display: inline-block;
  background: linear-gradient(135deg, rgba(212,160,23,.12), rgba(249,115,22,.08));
  border: 1.5px solid #e8d99a;
  border-radius: 12px; padding: .65rem 1.4rem;
  margin-top: .9rem; font-size: .95rem;
  font-weight: 700; color: #0b1220; font-family: monospace;
}

/* Cert lightbox */
#certLightbox { position: fixed; inset: 0; z-index: 2000; background: rgba(0,0,0,.94); display: none; align-items: center; justify-content: center; }
#certLightbox.open { display: flex; }
#certLightbox img { max-width: 90vw; max-height: 88vh; border-radius: 12px; box-shadow: 0 0 60px rgba(0,0,0,.6); border: 2px solid #d4a017; }
#certLightbox .lightbox-close { position: absolute; top: 1.3rem; right: 1.8rem; color: #fff; font-size: 2rem; background: none; cursor: pointer; min-height: 44px; min-width: 44px; display: flex; align-items: center; justify-content: center; }

/* Cert features below gallery */
.cert-features {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.2rem;
}
@media (max-width: 640px) { .cert-features { grid-template-columns: 1fr; } }

/* Remove old cert layout styles that no longer apply */
.cert-layout { display: block; }

/* ── Hide duration everywhere ── */
.cfc-duration, .cs-dur { display: none !important; }
/* Hide dark theme button globally ── */
.btn-theme { display: none !important; }
/* Hero white text for Hands-On ── */
.hero-white { color: #ffffff !important; -webkit-text-fill-color: #ffffff !important; }

/* ── Hide duration stat in course detail ── */
.detail-stat:has(#statDuration) { display: none !important; }
/* Fallback for browsers without :has() — hide via label text */
.detail-stat .label { font-size: .7rem; }

/* ── Dark feature cards — Netflix/reference style ── */
.dark-feat-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.4rem;
  margin-bottom: 2rem;
}
/* dark-feat-grid responsive handled in global media queries below */

.dark-feat-card {
  background: #111827;
  border: 1.5px solid rgba(255,255,255,.08);
  border-radius: 20px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: transform .3s cubic-bezier(.34,1.56,.64,1), box-shadow .3s, border-color .3s;
  cursor: default;
}
.dark-feat-card:hover {
  transform: translateY(-10px) scale(1.02);
  box-shadow: 0 24px 56px rgba(0,0,0,.5);
  border-color: rgba(249,115,22,.4);
}
.dark-feat-card--accent {
  border-color: rgba(249,115,22,.25);
}

/* Top visual area with gradient + SVG icon */
.dark-feat-visual {
  height: 130px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  position: relative;
  overflow: hidden;
}
.dark-feat-visual::after {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at center bottom, rgba(255,255,255,.06) 0%, transparent 70%);
  pointer-events: none;
}
.dark-feat-visual svg {
  position: relative;
  z-index: 1;
  filter: drop-shadow(0 4px 16px rgba(0,0,0,.4));
}

/* Card body */
.dark-feat-body {
  padding: 1.4rem 1.3rem 1.5rem;
  flex: 1;
  display: flex;
  flex-direction: column;
}

/* Tag badge */
.dark-feat-tag {
  display: inline-block;
  background: rgba(124,58,237,.2);
  color: #a78bfa;
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
  padding: .22rem .75rem;
  border-radius: 50px;
  border: 1px solid rgba(124,58,237,.3);
  margin-bottom: .75rem;
  font-family: 'Space Grotesk', sans-serif;
  width: fit-content;
}
.dark-feat-tag--orange {
  background: rgba(249,115,22,.2);
  color: #fb923c;
  border-color: rgba(249,115,22,.35);
}
.dark-feat-tag--green {
  background: rgba(52,211,153,.15);
  color: #34d399;
  border-color: rgba(52,211,153,.3);
}

.dark-feat-body h3 {
  font-family: 'Space Grotesk', sans-serif !important;
  font-size: 1.08rem !important;
  font-weight: 800 !important;
  color: #f1f5f9 !important;
  margin-bottom: .5rem;
  line-height: 1.28;
}
.dark-feat-body p {
  font-size: .93rem !important;
  color: rgba(255,255,255,.58) !important;
  line-height: 1.65;
  flex: 1;
  margin-bottom: .95rem;
}

/* Tech pills */
.dark-feat-pills {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
  margin-top: auto;
}
.dark-feat-pills span {
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.12);
  color: rgba(255,255,255,.75);
  font-size: .75rem;
  font-weight: 700;
  padding: .2rem .65rem;
  border-radius: 50px;
  font-family: 'Space Grotesk', sans-serif;
  transition: all .2s;
}
.dark-feat-card:hover .dark-feat-pills span {
  background: rgba(249,115,22,.18);
  border-color: rgba(249,115,22,.35);
  color: #fb923c;
}

/* Features section background — dark to contrast cards */
.features-section { background: #0b1220 !important; }
.features-section .section-header h2 { color: #fff; }
.features-section .section-header p   { color: rgba(255,255,255,.65); }

/* ============================================================
   GRID BACKGROUND PATTERN + CERT ARROWS + COURSE ARROWS
   ============================================================ */

/* ── Grid dot pattern background ── */
.bg-grid {
  background-color: #f8f9fc;
  background-image:
    linear-gradient(rgba(99,102,241,.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(99,102,241,.08) 1px, transparent 1px);
  background-size: 40px 40px;
}
[data-theme="dark"] .bg-grid {
  background-color: #0b1220;
  background-image:
    linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
}

/* ── Grid line pattern (finer) ── */
.bg-grid-sm {
  background-color: #f0f2f8;
  background-image:
    linear-gradient(rgba(99,102,241,.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(99,102,241,.06) 1px, transparent 1px);
  background-size: 24px 24px;
}
[data-theme="dark"] .bg-grid-sm {
  background-color: #111c32;
  background-image:
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
}

/* ── Dot pattern ── */
.bg-dots {
  background-color: #f8f9fc;
  background-image: radial-gradient(rgba(99,102,241,.18) 1.2px, transparent 1.2px);
  background-size: 28px 28px;
}
[data-theme="dark"] .bg-dots {
  background-color: #0b1220;
  background-image: radial-gradient(rgba(255,255,255,.07) 1.2px, transparent 1.2px);
}

/* ── Certificate gallery arrows ── */
.cert-gallery-wrap {
  position: relative;
  overflow: hidden;
  padding: 0 .5rem;
}
.cert-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 48px; height: 48px;
  border-radius: 50%;
  border: 2px solid var(--border, #e4e8f0);
  background: var(--card, #fff);
  color: var(--text-1, #0b1220);
  font-size: 1.2rem;
  cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 4px 16px rgba(0,0,0,.1);
  transition: all .22s;
  z-index: 10;
}
.cert-nav:hover { background: var(--accent, #f97316); border-color: var(--accent, #f97316); color: #fff; transform: translateY(-50%) scale(1.08); }
.cert-nav-left  { left: -16px; }
.cert-nav-right { right: -16px; }

/* Certificate gallery as scrollable strip */
.cert-gallery {
  display: flex;
  gap: 1.3rem;
  overflow-x: auto;
  overflow-y: visible;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  padding: .8rem .2rem 1.2rem;
  scrollbar-width: none;
  -ms-overflow-style: none;
  cursor: grab;
  min-height: 100px;
  justify-content: center;
}
@media(max-width:900px){
  .cert-gallery{
    justify-content: center;
    padding-left: 1rem;
    padding-right: 1rem;
  }
  .cert-tile{
    flex: 0 0 min(85vw, 420px) !important;
    margin: 0 auto;
  }
}
.cert-gallery:active { cursor: grabbing; }
.cert-gallery::-webkit-scrollbar { display: none; }

.cert-tile {
  flex: 0 0 320px;
  border-radius: 16px;
  overflow: hidden;
  cursor: pointer;
  position: relative;
  border: 2px solid #e8d99a;
  box-shadow: 0 4px 20px rgba(212,160,23,.15);
  transition: transform .35s cubic-bezier(.34,1.56,.64,1), box-shadow .3s, opacity .4s;
  background: #fffdf0;
  aspect-ratio: 1.414;
  opacity: 0;
}
.cert-tile:hover { transform: translateY(-8px) scale(1.02); box-shadow: 0 16px 40px rgba(212,160,23,.35); border-color: #d4a017; }
.cert-tile img  { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s; }
.cert-tile:hover img { transform: scale(1.04); }
.cert-tile-overlay { position: absolute; inset: 0; background: rgba(11,18,32,.45); display: flex; align-items: center; justify-content: center; opacity: 0; transition: opacity .3s; color: #fff; font-size: 1.8rem; }
.cert-tile:hover .cert-tile-overlay { opacity: 1; }

@media(max-width:768px){ .cert-nav{ display:none; } .cert-tile{ flex:0 0 260px; } }

/* ── Course strip arrow override (ensure visible) ── */
.cs-nav-left  { left: -16px !important; }
.cs-nav-right { right: -16px !important; }
.cs-nav {
  background: #fff !important;
  border: 2px solid #e4e8f0 !important;
  color: #0b1220 !important;
  box-shadow: 0 4px 16px rgba(0,0,0,.12) !important;
}
.cs-nav:hover {
  background: var(--accent, #f97316) !important;
  border-color: var(--accent, #f97316) !important;
  color: #fff !important;
}


/* ============================================================
   FONT SIZE INCREASES — All small text bumped up for readability
   ============================================================ */

/* Base body text — +1px bump */
body { font-size: 18px !important; }
p    { font-size: clamp(1.06rem, 1.5vw, 1.16rem) !important; }

/* Tag pills */
.tag-pill, .tag-pill-orange, .tag-pill-navy, .tag-pill-light { font-size: .94rem !important; }
.tag-pill-sm     { font-size: .94rem !important; }
.dark-feat-tag   { font-size: .91rem !important; }
.cs-tag          { font-size: .91rem !important; }

/* Announcement bar */
.announce-badge  { font-size: 1.01rem !important; }
.announce-track  { font-size: 1.08rem !important; }
.announce-cta    { font-size: 1.06rem !important; }

/* Top bar */
.topbar-phone    { font-size: 1.08rem !important; }
.topbar-email    { font-size: 1.03rem !important; }
@media(max-width:640px){ .topbar-phone { font-size: 1.01rem !important; } }

/* Navbar */
.nav-links a     { font-size: 1.11rem !important; }
.nav-enrol-btn   { font-size: 1.08rem !important; }

/* Buttons — all sizes */
.btn             { font-size: clamp(1.06rem, 1.4vw, 1.14rem) !important; }
.btn-sm          { font-size: 1.03rem !important; }
.btn-lg          { font-size: 1.16rem !important; }

/* Hero */
.hero-tag        { font-size: 1.03rem !important; }
.hero-pills span { font-size: 1.06rem !important; }
.hero-lead       { font-size: clamp(1.11rem, 1.7vw, 1.24rem) !important; }
.hero-stat span  { font-size: .99rem  !important; }
.hero-stat strong{ font-size: 1.21rem !important; }

/* Marquee */
.marquee-pill    { font-size: 1.06rem !important; }

/* Why section */
.why-num-content h3 { font-size: 1.26rem !important; }
.why-num-content p  { font-size: 1.11rem !important; }
.why-num            { font-size: 1.26rem !important; }

/* Feature cards (dark) */
.dark-feat-body h3  { font-size: 1.18rem !important; }
.dark-feat-body p   { font-size: 1.06rem !important; }
.dark-feat-pills span { font-size: .93rem !important; }

/* Bonus section */
.bonus-badge        { font-size: .93rem  !important; }
.bonus-title        { font-size: 1.51rem !important; }
.bonus-desc         { font-size: 1.13rem !important; }

/* About section */
.about-quote-text   { font-size: clamp(1.56rem, 3vw, 2.06rem) !important; }
.about-bullet p     { font-size: 1.06rem !important; }
.about-bullet strong{ font-size: 1.11rem !important; }
.about-photo-badge  { font-size: .98rem  !important; }

/* Course strip */
.cs-body h3         { font-size: 1.18rem !important; }
.cs-body p          { font-size: 1.06rem !important; }

/* Steps */
.step-item h3       { font-size: 1.18rem !important; }
.step-item p        { font-size: 1.08rem !important; }

/* Certification */
.cert-feat strong   { font-size: 1.14rem !important; }
.cert-feat p        { font-size: 1.08rem !important; }
.cert-empty h3      { font-size: 1.24rem !important; }
.cert-empty p       { font-size: 1.06rem !important; }
.cert-empty code    { font-size: 1.03rem !important; }
.cert-mock-logo     { font-size: 1.26rem !important; }
.cert-mock-name     { font-size: 1.51rem !important; }
.cert-mock-title    { font-size: 1.06rem !important; }

/* FAQ */
.faq-question       { font-size: 1.16rem !important; }
.faq-answer p       { font-size: 1.11rem !important; }

/* Footer */
.footer-academy-name      { font-size: 1.28rem !important; }
.footer-unit              { font-size: 1.06rem !important; }
.footer-col h4            { font-size: 1.14rem !important; }
.footer-col ul li a       { font-size: 1.06rem !important; }
.footer-contact-item      { font-size: 1.06rem !important; }
.footer-contact-item span { font-size: 1.06rem !important; }
.footer-bottom            { font-size: 1.01rem !important; }
footer p                  { font-size: 1.03rem !important; }

/* Contact page info cards */
.contact-info-card strong { font-size: 1.11rem !important; }
.contact-info-card span   { font-size: 1.06rem !important; }

/* Forms — all pages */
.form-group label   { font-size: 1.11rem !important; }
.form-control       { font-size: 1.11rem !important; }
textarea.form-control { font-size: 1.11rem !important; }
select.form-control   { font-size: 1.11rem !important; }
.form-error         { font-size: .98rem  !important; }

/* Breadcrumb */
.breadcrumb         { font-size: 1.03rem !important; }
.breadcrumb a, .breadcrumb span { font-size: 1.03rem !important; }

/* Page header subtext */
.page-header p      { font-size: 1.11rem !important; }
.page-hero-sm p     { font-size: 1.11rem !important; }

/* Gallery page */
.gal-label          { font-size: 1.06rem !important; }
.vid-info h3        { font-size: 1.14rem !important; }
.vid-num            { font-size: 1.03rem !important; }
.media-empty h3     { font-size: 1.24rem !important; }
.media-empty p      { font-size: 1.08rem !important; }
.media-empty code   { font-size: 1.03rem !important; }

/* Courses grid page */
.cfc-body > p       { font-size: 1.06rem !important; }
.cfc-body h3        { font-size: 1.21rem !important; }
.cfc-duration       { font-size: 1.03rem !important; }
.filter-pill        { font-size: 1.01rem !important; }

/* Course detail page */
.detail-stat .label { font-size: .88rem  !important; }
.detail-stat .value { font-size: 1.06rem !important; }
.learn-item         { font-size: 1.06rem !important; }
.enroll-feat        { font-size: 1.06rem !important; }

/* Apply page */
.course-opt         { font-size: 1.03rem !important; }
.cp-name            { font-size: 1.21rem !important; }
.cp-level           { font-size: 1.01rem !important; }
.cp-stat-label      { font-size: .88rem  !important; }
.cp-stat-val        { font-size: 1.06rem !important; }
.cp-desc            { font-size: 1.03rem !important; }
.cp-topic           { font-size: .94rem  !important; }
.info-strip         { font-size: 1.06rem !important; }
.info-strip strong  { font-size: 1.08rem !important; }

/* Materials page */
.mat-info strong    { font-size: 1.06rem !important; }
.mat-info p         { font-size: 1.03rem !important; }

/* Section header subtext */
.section-header p   { font-size: clamp(1.08rem, 1.6vw, 1.18rem) !important; }

/* CTA banner */
.cta-banner p       { font-size: 1.18rem !important; }

/* ============================================================
   BONUS CARD UPGRADE + ABOUT TEXT SIZE
   ============================================================ */

/* Bonus card — more attractive */
.bonus-highlight {
  background: linear-gradient(135deg, #fff7ed, #fdf4ff, #eff6ff);
  border: 2.5px solid var(--accent);
  border-radius: 28px;
  overflow: hidden;
  position: relative;
  box-shadow: 0 8px 40px rgba(249,115,22,.18), 0 2px 8px rgba(124,58,237,.1);
}
[data-theme="dark"] .bonus-highlight {
  background: linear-gradient(135deg, rgba(249,115,22,.12), rgba(124,58,237,.1), rgba(37,99,235,.08));
}
.bonus-inner {
  display: flex;
  align-items: center;
  gap: 2.2rem;
  padding: 2.4rem 2.6rem;
  position: relative;
  z-index: 1;
}
.bonus-icon-wrap {
  flex-shrink: 0;
  width: 90px; height: 90px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--accent), var(--violet));
  display: flex; align-items: center; justify-content: center;
  font-size: 2.2rem;
  box-shadow: 0 10px 32px rgba(249,115,22,.45);
  animation: floatY 3s ease-in-out infinite;
}
.bonus-badge {
  display: inline-block;
  background: linear-gradient(135deg, var(--accent), var(--violet));
  color: #fff;
  font-size: .82rem !important;
  font-weight: 900;
  letter-spacing: .1em;
  padding: .28rem 1.1rem;
  border-radius: 50px;
  margin-bottom: .75rem;
  font-family: 'Space Grotesk', sans-serif;
  text-transform: uppercase;
  box-shadow: 0 4px 14px rgba(249,115,22,.35);
}
.bonus-title {
  font-family: 'Space Grotesk', sans-serif !important;
  font-size: 1.75rem !important;
  font-weight: 900 !important;
  color: var(--accent) !important;
  margin-bottom: .55rem;
  line-height: 1.15;
}
.bonus-desc {
  font-size: 1.08rem !important;
  color: var(--text-2);
  line-height: 1.75;
  margin: 0 0 1rem;
}
/* Bonus skill chips */
.bonus-chips {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin-top: .3rem;
}
.bonus-chips span {
  background: rgba(249,115,22,.1);
  border: 1.5px solid rgba(249,115,22,.3);
  color: var(--accent);
  font-size: .88rem;
  font-weight: 700;
  padding: .3rem .85rem;
  border-radius: 50px;
  font-family: 'Space Grotesk', sans-serif;
  transition: all .2s;
}
.bonus-highlight:hover .bonus-chips span {
  background: rgba(249,115,22,.18);
  border-color: var(--accent);
}
[data-theme="dark"] .bonus-chips span {
  background: rgba(249,115,22,.15);
  color: #fb923c;
}
@media(max-width:640px) {
  .bonus-inner { flex-direction: column; gap: 1.4rem; padding: 1.8rem 1.5rem; }
  .bonus-icon-wrap { width: 72px; height: 72px; }
  .bonus-title { font-size: 1.45rem !important; }
}

#visitor-counter {
    position: fixed;
    top: 15px;
    right: 15px;
    background: #1a1a2e;
    color: #fff;
    padding: 8px 14px;
    border-radius: 20px;
    font-size: 13px;
    font-weight: 600;
    z-index: 9999;
    box-shadow: 0 2px 10px rgba(0,0,0,0.3);
    display: flex;
    align-items: center;
    gap: 6px;
}

#visitor-counter span {
    color: #00d4ff;
}
