/* ============================================================
   ICSA — style.css
   Single stylesheet for all pages.
   Sections:
   01. Reset & Variables
   02. Base
   03. Topbar
   04. Nav & Mobile Menu
   05. Buttons
   06. Section Utilities
   07. Scroll Reveal
   08. Page Hero (shared: contact, courses, news, terms, privacy)
   09. CTA Band
   10. Branches Section
   11. Footer
   12. Image Placeholder
   13. Filter Bar (base)
   ── PAGE-SPECIFIC ──
   14. About
   15. Articles
   16. Contact
   17. Courses
   18. Gallery
   19. Index (Home)
   20. News
   21. Legal (Terms & Privacy)
   22. Responsive
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@400;600;700;800&family=Playfair+Display:ital,wght@0,700;0,800;1,700&display=swap');
/* ── 01. RESET & VARIABLES ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --navy:#0A1628;--navy-mid:#12213D;--blue:#1563FF;--cyan:#00C2CB;
  --white:#FFFFFF;--off-white:#F8F9FF;--gray-50:#F1F5F9;--gray-100:#E2E8F0;
  --gray-300:#94A3B8;--gray-500:#64748B;--gray-700:#334155;--gray-900:#0F172A;
  --gold:#F59E0B;--green:#16A34A;--orange:#EA580C;--purple:#7C3AED;--teal:#0F766E;
  --font:'Nunito',sans-serif;--display:'Playfair Display',serif;
  --radius-sm:6px;--radius-md:12px;--radius-lg:20px;--radius-xl:28px;
  --t:all .3s cubic-bezier(.4,0,.2,1);
}

/* ── 02. BASE ── */
html{scroll-behavior:smooth}
body{font-family:var(--font);color:var(--gray-900);background:var(--white);overflow-x:hidden}

/* ── 03. TOPBAR ── */
.topbar{background:var(--navy);color:rgba(255,255,255,.8);font-size:.82rem;padding:9px 0}
.tb-inner{max-width:1260px;margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
.tb-contacts{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.tb-contacts span{display:flex;align-items:center;gap:6px}
.tb-contacts svg{width:12px;height:12px;opacity:.55;flex-shrink:0}
.tb-contacts a{color:rgba(255,255,255,.8);text-decoration:none;transition:var(--t)}
.tb-contacts a:hover{color:var(--cyan)}
.tb-right a{color:rgba(255,255,255,.55);font-size:.8rem;text-decoration:none;transition:var(--t)}
.tb-right a:hover{color:var(--white)}

/* ── 04. NAV & MOBILE MENU ── */
nav{position:sticky;top:0;z-index:100;background:var(--white);border-bottom:1px solid var(--gray-100);transition:box-shadow .3s}
nav.scrolled{box-shadow:0 2px 20px rgba(10,22,40,.1)}
.nav-inner{max-width:1260px;margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between;height:100px}
.nav-logo{display:flex;align-items:center;gap:10px;text-decoration:none;flex-shrink:0}
.logo-txt strong{font-family:var(--font);font-size:1.05rem;font-weight:700;color:var(--navy);display:block;line-height:1.1}
.logo-txt small{font-size:.6rem;color:var(--gray-500);letter-spacing:.06em;text-transform:uppercase}
.nav-links{display:flex;align-items:center;gap:2px}
.nav-links a{font-family:var(--font);font-size:.87rem;color:var(--gray-700);text-decoration:none;padding:7px 13px;border-radius:var(--radius-sm);transition:var(--t)}
.nav-links a:hover,.nav-links a.active{color:var(--blue);background:rgba(21,99,255,.06)}
.nav-cta{margin-left:6px;background:var(--navy)!important;color:var(--white)!important;border-radius:var(--radius-sm);padding:9px 20px!important;font-weight:700!important}
.nav-cta:hover{background:var(--blue)!important}
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:8px;border:none;background:none;flex-shrink:0}
.hamburger span{display:block;width:22px;height:2px;background:var(--navy);border-radius:2px;transition:var(--t)}
.mobile-menu{display:none;position:fixed;inset:0;z-index:200;background:var(--white);flex-direction:column;padding:24px;overflow-y:auto}
.mobile-menu.open{display:flex}
.mm-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:32px}
.mm-close{background:none;border:none;cursor:pointer;padding:6px}
.mm-close svg{width:24px;height:24px;color:var(--navy)}
.mm-links{display:flex;flex-direction:column;gap:4px}
.mm-links a,.mobile-menu>a{font-family:var(--font);font-size:1.4rem;font-weight:700;color:var(--navy);text-decoration:none;padding:12px 16px;border-radius:var(--radius-sm);transition:var(--t);display:block}
.mm-links a:hover,.mobile-menu>a:hover{background:var(--gray-50);color:var(--blue)}
.mm-cta{margin-top:24px}

/* ── 05. BUTTONS ── */
.btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--font);font-weight:700;font-size:.95rem;padding:13px 26px;border-radius:var(--radius-sm);text-decoration:none;transition:var(--t);border:none;cursor:pointer;line-height:1}
.btn-blue{background:var(--blue);color:var(--white)}
.btn-blue:hover{background:#0d52e8;transform:translateY(-2px);box-shadow:0 8px 24px rgba(21,99,255,.4)}
.btn-blue svg,.btn-ghost svg{width:16px;height:16px;transition:transform .3s;flex-shrink:0}
.btn-blue:hover svg{transform:translateX(3px)}
.btn-ghost{background:transparent;color:rgba(255,255,255,.8);border:1px solid rgba(255,255,255,.22)}
.btn-ghost:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.45);color:var(--white)}
.btn-white{background:var(--white);color:var(--navy)}
.btn-white:hover{background:var(--off-white);transform:translateY(-2px)}
.btn-cyan-outline,.btn-outline-white{background:transparent;color:rgba(255,255,255,.8);border:1px solid rgba(255,255,255,.22)}
.btn-cyan-outline:hover,.btn-outline-white:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.45);color:var(--white)}

/* ── 06. SECTION UTILITIES ── */
.section{padding:88px 0}
.s-inner{max-width:1260px;margin:0 auto;padding:0 24px}
.s-tag{display:inline-flex;align-items:center;gap:6px;font-family:var(--font);font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--blue);margin-bottom:14px}
.s-tag::before{content:'';width:18px;height:2px;background:var(--blue);border-radius:2px;flex-shrink:0}
.s-title{font-family:var(--font);font-size:clamp(1.8rem,3vw,2.6rem);font-weight:700;color:var(--navy);line-height:1.15;margin-bottom:16px}
.s-title .accent{color:var(--blue)}
.s-sub{font-size:1rem;color:var(--gray-500);line-height:1.75;max-width:560px}
.s-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:52px;flex-wrap:wrap}
.s-head-left{flex:1;min-width:260px}

/* ── 07. SCROLL REVEAL ── */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .65s cubic-bezier(.4,0,.2,1),transform .65s cubic-bezier(.4,0,.2,1)}
.reveal.visible{opacity:1;transform:none}
.reveal-left{opacity:0;transform:translateX(-32px);transition:opacity .7s cubic-bezier(.4,0,.2,1),transform .7s cubic-bezier(.4,0,.2,1)}
.reveal-left.visible{opacity:1;transform:none}
.reveal-right{opacity:0;transform:translateX(32px);transition:opacity .7s cubic-bezier(.4,0,.2,1),transform .7s cubic-bezier(.4,0,.2,1)}
.reveal-right.visible{opacity:1;transform:none}

/* ── 08. PAGE HERO ── */
.page-hero{background:var(--navy);padding:64px 0 52px;position:relative;overflow:hidden}
.ph-glow{position:absolute;width:500px;height:500px;border-radius:50%;background:rgba(21,99,255,.18);right:-80px;top:-180px;filter:blur(80px);pointer-events:none}
.ph-dots{position:absolute;left:0;bottom:0;width:280px;height:280px;opacity:.09;background-image:radial-gradient(circle,rgba(255,255,255,.9) 1.5px,transparent 1.5px);background-size:22px 22px;pointer-events:none}
.ph-inner{max-width:1260px;margin:0 auto;padding:0 24px;position:relative;z-index:2}
.ph-breadcrumb{display:flex;align-items:center;gap:8px;margin-bottom:16px}
.ph-breadcrumb a{font-size:.8rem;color:rgba(255,255,255,.4);text-decoration:none;transition:var(--t)}
.ph-breadcrumb a:hover{color:var(--cyan)}
.ph-breadcrumb span{font-size:.8rem;color:rgba(255,255,255,.22)}
.ph-breadcrumb strong{font-size:.8rem;color:rgba(255,255,255,.6)}
.ph-tag{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.13);border-radius:50px;padding:5px 14px;font-size:.72rem;font-weight:700;color:var(--cyan);letter-spacing:.08em;text-transform:uppercase;margin-bottom:16px}
.ph-title{font-family:var(--font);font-size:clamp(2rem,3.5vw,3rem);font-weight:700;color:var(--white);line-height:1.12;margin-bottom:14px}
.ph-title .accent{color:var(--cyan)}
.ph-sub{font-size:.95rem;color:rgba(255,255,255,.5);max-width:540px;line-height:1.72}
.ph-meta{display:flex;align-items:center;gap:20px;margin-top:24px;flex-wrap:wrap}
.ph-meta span{display:flex;align-items:center;gap:7px;font-size:.78rem;color:rgba(255,255,255,.4)}
.ph-meta svg{width:13px;height:13px;opacity:.6;flex-shrink:0}
.ph-pills{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:28px}
.ph-pill{display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);border-radius:50px;padding:7px 16px;font-size:.78rem;color:rgba(255,255,255,.65);font-weight:700;text-decoration:none;transition:var(--t)}
.ph-pill:hover{background:rgba(255,255,255,.12);color:var(--white)}
.ph-pill svg{width:13px;height:13px;opacity:.7}

/* ── 09. CTA BAND ── */
.cta-band{background:linear-gradient(135deg,var(--navy) 0%,#1a3460 100%);padding:80px 0;overflow:hidden;position:relative}
.cta-glow{position:absolute;width:500px;height:500px;border-radius:50%;background:rgba(21,99,255,.2);left:50%;top:50%;transform:translate(-50%,-50%);filter:blur(80px);pointer-events:none}
.cta-inner{max-width:1260px;margin:0 auto;padding:0 24px;text-align:center;position:relative;z-index:2}
.cta-inner h2{font-family:var(--font);font-size:clamp(2rem,3.5vw,3rem);font-weight:700;color:var(--white);margin-bottom:16px;line-height:1.2}
.cta-inner p{font-size:1rem;color:rgba(255,255,255,.55);margin-bottom:36px;line-height:1.7;max-width:480px;margin-left:auto;margin-right:auto}
.cta-actions{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap}

/* ── 10. BRANCHES SECTION ── */
.branches{background:var(--off-white);padding:88px 0}
.br-inner{max-width:1260px;margin:0 auto;padding:0 24px}
.br-header{text-align:center;margin-bottom:56px}
.br-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.br-card{background:var(--white);border-radius:var(--radius-xl);overflow:hidden;border:1px solid var(--gray-100);transition:var(--t)}
.br-card:hover{box-shadow:0 20px 48px rgba(10,22,40,.1);border-color:transparent;transform:translateY(-4px)}
.br-img{width:100%;aspect-ratio:8/9;overflow:hidden;background:var(--gray-50);position:relative;display:block}
.br-img img{width:100%;height:100%;object-fit:cover;object-position:center center;display:block}
.br-img-badge{position:absolute;top:14px;left:14px;background:var(--navy);color:var(--white);font-family:var(--font);font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:5px 12px;border-radius:20px;z-index:2}
.br-body{padding:28px 28px 32px}
.br-name{font-family:var(--font);font-size:1.3rem;font-weight:700;color:var(--navy);margin-bottom:20px;line-height:1.2}
.br-info{display:flex;flex-direction:column;gap:13px;margin-bottom:24px}
.br-row{display:flex;align-items:flex-start;gap:11px}
.br-row-icon{width:34px;height:34px;border-radius:9px;background:#EFF6FF;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px}
.br-row-icon svg{width:16px;height:16px;color:var(--blue)}
.br-row-text{flex:1}
.br-row-label{font-family:var(--font);font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gray-300);margin-bottom:3px}
.br-row-val{font-family:var(--font);font-size:.88rem;color:var(--gray-700);line-height:1.55}
.br-row-val a{color:var(--gray-700);text-decoration:none;transition:var(--t)}
.br-row-val a:hover{color:var(--blue)}
.br-map-btn{display:inline-flex;align-items:center;gap:8px;width:100%;justify-content:center;background:var(--navy);color:var(--white);font-family:var(--font);font-weight:700;font-size:.9rem;padding:13px 24px;border-radius:var(--radius-sm);text-decoration:none;transition:var(--t)}
.br-map-btn:hover{background:var(--blue);transform:translateY(-1px);box-shadow:0 6px 20px rgba(21,99,255,.35)}
.br-map-btn svg{width:16px;height:16px;flex-shrink:0}

/* ── 11. FOOTER ── */
footer{background:var(--navy-mid);color:rgba(255,255,255,.55);padding:68px 0 0}
.foot-inner{max-width:1260px;margin:0 auto;padding:0 24px;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:44px}
.foot-brand p{font-size:.82rem;line-height:1.75;margin-top:14px;max-width:270px;color:rgba(255,255,255,.42)}
.foot-contact{margin-top:18px;display:flex;flex-direction:column;gap:8px}
.foot-contact a{display:flex;align-items:center;gap:8px;font-size:.79rem;color:rgba(255,255,255,.46);text-decoration:none;transition:var(--t)}
.foot-contact a:hover{color:var(--cyan)}
.foot-contact svg{width:12px;height:12px;opacity:.5;flex-shrink:0}
.foot-col h4{font-family:var(--font);font-weight:700;font-size:.88rem;color:var(--white);margin-bottom:16px}
.foot-col ul{list-style:none;display:flex;flex-direction:column;gap:9px}
.foot-col ul li a{font-size:.81rem;color:rgba(255,255,255,.42);text-decoration:none;transition:var(--t)}
.foot-col ul li a:hover{color:var(--cyan)}
.foot-bottom{max-width:1260px;margin:44px auto 0;padding:18px 24px;border-top:1px solid rgba(255,255,255,.06);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}
.foot-bottom p{font-size:.77rem;color:rgba(255,255,255,.28)}
.foot-social{display:flex;gap:9px}
.soc-btn{width:32px;height:32px;border-radius:7px;border:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;text-decoration:none;transition:var(--t)}
.soc-btn:hover{border-color:rgba(255,255,255,.28);background:rgba(255,255,255,.06)}
.soc-btn svg{width:14px;height:14px;color:rgba(255,255,255,.42)}

/* ── 12. IMAGE PLACEHOLDER ── */
.img-placeholder-block{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:linear-gradient(135deg,#EFF6FF,#F8F9FF)}
.img-placeholder-block svg{width:32px;height:32px;color:var(--gray-300)}
.img-placeholder-block span{font-size:.72rem;color:var(--gray-300);letter-spacing:.04em;text-align:center;padding:0 12px}

/* ── 13. FILTER BAR (base) ── */
.filter-bar{background:var(--white);border-bottom:1px solid var(--gray-100);position:sticky;top:100px;z-index:90}
.filter-inner{max-width:1260px;margin:0 auto;padding:0 24px;display:flex;align-items:center;gap:4px;overflow-x:auto;scrollbar-width:none;height:56px}
.filter-inner::-webkit-scrollbar{display:none}
.ftab{font-family:var(--font);font-size:.82rem;font-weight:700;color:var(--gray-500);padding:14px 16px;border:none;background:none;cursor:pointer;border-bottom:2px solid transparent;white-space:nowrap;transition:var(--t)}
.ftab:hover{color:var(--navy)}
.ftab.active{color:var(--blue);border-bottom-color:var(--blue)}

/* ==========================================================
   14. ABOUT PAGE
   ========================================================== */
.about-hero{position:relative;min-height:72vh;background:var(--navy);display:flex;align-items:center;overflow:hidden}
.ah-glow1{position:absolute;width:700px;height:700px;border-radius:50%;background:rgba(21,99,255,.18);right:-200px;top:-200px;filter:blur(100px);pointer-events:none}
.ah-glow2{position:absolute;width:400px;height:400px;border-radius:50%;background:rgba(0,194,203,.12);left:-100px;bottom:-100px;filter:blur(70px);pointer-events:none}
.ah-dots{position:absolute;left:0;bottom:0;width:320px;height:320px;opacity:.1;background-image:radial-gradient(circle,rgba(255,255,255,.9) 1.5px,transparent 1.5px);background-size:22px 22px;pointer-events:none}
.ah-inner{max-width:1260px;margin:0 auto;padding:80px 24px;display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;position:relative;z-index:2;width:100%}
.ah-breadcrumb{display:flex;align-items:center;gap:8px;margin-bottom:20px}
.ah-breadcrumb a{font-size:.8rem;color:rgba(255,255,255,.4);text-decoration:none;transition:var(--t)}
.ah-breadcrumb a:hover{color:var(--cyan)}
.ah-breadcrumb span{font-size:.8rem;color:rgba(255,255,255,.25)}
.ah-breadcrumb strong{font-size:.8rem;color:rgba(255,255,255,.6)}
.ah-tag{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.13);border-radius:50px;padding:6px 16px;font-size:.73rem;font-weight:700;color:var(--cyan);letter-spacing:.1em;text-transform:uppercase;margin-bottom:20px}
.ah-title{font-family:var(--font);font-size:clamp(2.2rem,4.5vw,3.8rem);font-weight:700;color:var(--white);line-height:1.1;letter-spacing:-.01em;margin-bottom:20px}
.ah-title .accent{color:var(--cyan)}
.ah-desc{font-size:1rem;color:rgba(255,255,255,.58);line-height:1.78;max-width:480px;margin-bottom:36px}
.ah-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.ah-btn-outline{display:inline-flex;align-items:center;gap:8px;font-family:var(--font);font-weight:700;font-size:.9rem;padding:12px 24px;border-radius:var(--radius-sm);text-decoration:none;border:1px solid rgba(255,255,255,.22);color:rgba(255,255,255,.8);transition:var(--t)}
.ah-btn-outline:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.4);color:var(--white)}
.ah-visual{position:relative;display:flex;align-items:center;justify-content:center;height:420px}
.ah-img-main{width:300px;height:360px;border-radius:var(--radius-xl);overflow:hidden;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);position:relative;z-index:2}
.ah-img-main img,.ah-img-small img,.team-card img,.who-img-main img,.commit-img-main img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}
.ah-img-small{position:absolute;width:160px;height:130px;border-radius:var(--radius-lg);overflow:hidden;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12)}
.ah-img-small.pos1{top:10px;right:-20px;z-index:3}
.ah-img-small.pos2{bottom:10px;left:-20px;z-index:3}
.ah-stat-badge{position:absolute;background:var(--white);border-radius:var(--radius-md);padding:12px 16px;box-shadow:0 8px 28px rgba(0,0,0,.2);display:flex;align-items:center;gap:10px}
.ah-stat-badge.sb1{bottom:60px;right:-30px;z-index:4}
.ah-stat-badge.sb2{top:40px;left:-30px;z-index:4}
.sb-icon{width:34px;height:34px;border-radius:9px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.sb-num{font-family:var(--font);font-size:.95rem;font-weight:700;color:var(--navy);line-height:1}
.sb-lbl{font-size:.66rem;color:var(--gray-500);margin-top:2px}
/* Stats strip */
.story-strip{background:var(--off-white);border-top:1px solid var(--gray-100);border-bottom:1px solid var(--gray-100)}
.strip-inner{max-width:1260px;margin:0 auto;padding:0 24px;display:grid;grid-template-columns:repeat(4,1fr)}
.strip-item{padding:40px 20px;text-align:center;border-right:1px solid var(--gray-100)}
.strip-item:last-child{border-right:none}
.strip-num{font-family:var(--font);font-size:2.6rem;font-weight:700;color:var(--blue);line-height:1;margin-bottom:7px}
.strip-lbl{font-size:.84rem;color:var(--gray-500)}
/* Who we are */
.who{background:var(--white)}
.who-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.who-img-blob{position:relative;width:100%;max-width:460px}
.who-img-main{width:100%;aspect-ratio:4/3;border-radius:var(--radius-xl);overflow:hidden;background:var(--gray-50);border:1px solid var(--gray-100);position:relative;z-index:2}
.who-blob-accent{position:absolute;width:200px;height:200px;border-radius:50%;background:rgba(21,99,255,.08);bottom:-24px;right:-24px;z-index:1}
.who-blob-accent2{position:absolute;width:120px;height:120px;border-radius:50%;background:rgba(0,194,203,.1);top:-16px;left:-16px;z-index:1}
.who-floating{position:absolute;background:var(--white);border:1px solid var(--gray-100);border-radius:var(--radius-md);padding:14px 18px;box-shadow:0 8px 28px rgba(10,22,40,.1);bottom:-16px;right:-16px;z-index:3;display:flex;align-items:center;gap:12px}
.wf-icon{width:40px;height:40px;background:#EFF6FF;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.wf-icon svg{width:22px;height:22px;color:var(--blue)}
.wf-num{font-family:var(--font);font-size:1.1rem;font-weight:700;color:var(--navy)}
.wf-lbl{font-size:.72rem;color:var(--gray-500)}
.who-lead{font-size:1.1rem;color:var(--navy);line-height:1.75;margin-bottom:20px}
.who-para{font-size:.95rem;color:var(--gray-500);line-height:1.8;margin-bottom:16px}
.who-checks{margin-top:28px;display:flex;flex-direction:column;gap:13px}
.who-check{display:flex;align-items:flex-start;gap:12px}
.chk-icon{width:22px;height:22px;border-radius:50%;background:#EFF6FF;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}
.chk-icon svg{width:12px;height:12px;color:var(--blue)}
.chk-text{font-size:.9rem;color:var(--gray-700);line-height:1.55}
/* Timeline */
.timeline-section{background:var(--navy);padding:96px 0;overflow:hidden}
.timeline{position:relative;max-width:900px;margin:0 auto;padding:0 24px}
.timeline::before{content:'';position:absolute;left:50%;top:0;bottom:0;width:1px;background:rgba(255,255,255,.1);transform:translateX(-50%)}
.tl-item{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin-bottom:56px;position:relative}
.tl-item:nth-child(odd) .tl-content{grid-column:1;text-align:right}
.tl-item:nth-child(odd) .tl-spacer{grid-column:2}
.tl-item:nth-child(even) .tl-spacer{grid-column:1}
.tl-item:nth-child(even) .tl-content{grid-column:2}
.tl-year{font-family:var(--font);font-size:2rem;font-weight:700;color:var(--blue);line-height:1;margin-bottom:8px}
.tl-item:nth-child(odd) .tl-year{color:var(--cyan)}
.tl-content h4{font-family:var(--font);font-size:1.1rem;font-weight:700;color:var(--white);margin-bottom:8px;line-height:1.3}
.tl-content p{font-size:.86rem;color:rgba(255,255,255,.5);line-height:1.7}
.tl-dot{position:absolute;left:50%;top:8px;width:14px;height:14px;border-radius:50%;background:var(--blue);border:3px solid var(--navy);transform:translateX(-50%);z-index:2}
.tl-item:nth-child(odd) .tl-dot{background:var(--cyan)}
/* Values */
.values{background:var(--off-white)}
.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.val-card{background:var(--white);border-radius:var(--radius-lg);padding:32px 28px;border:1px solid var(--gray-100);transition:var(--t);position:relative;overflow:hidden}
.val-card::after{content:'';position:absolute;top:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,var(--blue),var(--cyan));opacity:0;transition:opacity .3s}
.val-card:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(10,22,40,.09);border-color:transparent}
.val-card:hover::after{opacity:1}
.val-num{font-family:var(--font);font-size:3rem;font-weight:700;color:var(--gray-100);line-height:1;margin-bottom:16px}
.val-icon{width:48px;height:48px;border-radius:13px;display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.val-icon svg{width:24px;height:24px}
.val-card:nth-child(1) .val-icon{background:#EFF6FF} .val-card:nth-child(1) .val-icon svg{color:var(--blue)}
.val-card:nth-child(2) .val-icon{background:#F0FDF4} .val-card:nth-child(2) .val-icon svg{color:#16A34A}
.val-card:nth-child(3) .val-icon{background:#FFF7ED} .val-card:nth-child(3) .val-icon svg{color:#EA580C}
.val-card:nth-child(4) .val-icon{background:#FDF4FF} .val-card:nth-child(4) .val-icon svg{color:#9333EA}
.val-card:nth-child(5) .val-icon{background:#F0FDFA} .val-card:nth-child(5) .val-icon svg{color:#0F766E}
.val-card:nth-child(6) .val-icon{background:#FFF1F2} .val-card:nth-child(6) .val-icon svg{color:#E11D48}
.val-card h3{font-family:var(--font);font-size:1.05rem;font-weight:700;color:var(--navy);margin-bottom:10px}
.val-card p{font-size:.85rem;color:var(--gray-500);line-height:1.68}
/* Vision & Mission */
.vm-section{background:var(--white)}
.vm-grid{display:grid;grid-template-columns:1fr 1fr;gap:3px}
.vm-card{padding:56px 48px;position:relative;overflow:hidden}
.vm-card.vision{background:var(--navy)}
.vm-card.mission{background:var(--off-white)}
.vm-glow{position:absolute;width:300px;height:300px;border-radius:50%;background:rgba(21,99,255,.2);right:-100px;bottom:-100px;filter:blur(60px);pointer-events:none}
.vm-num{font-family:var(--font);font-size:5rem;font-weight:700;opacity:.06;line-height:1;position:absolute;top:24px;right:32px}
.vm-card.vision .vm-num{color:var(--white)} .vm-card.mission .vm-num{color:var(--navy)}
.vm-tag{font-family:var(--font);font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;margin-bottom:20px;display:flex;align-items:center;gap:8px}
.vm-card.vision .vm-tag{color:var(--cyan)} .vm-card.mission .vm-tag{color:var(--blue)}
.vm-tag::before{content:'';width:22px;height:2px;border-radius:2px}
.vm-card.vision .vm-tag::before{background:var(--cyan)} .vm-card.mission .vm-tag::before{background:var(--blue)}
.vm-card h3{font-family:var(--font);font-size:clamp(1.6rem,2.5vw,2.2rem);font-weight:700;line-height:1.2;margin-bottom:20px}
.vm-card.vision h3{color:var(--white)} .vm-card.mission h3{color:var(--navy)}
.vm-card p{font-size:.95rem;line-height:1.8;max-width:420px}
.vm-card.vision p{color:rgba(255,255,255,.55)} .vm-card.mission p{color:var(--gray-500)}
/* Commitment */
.commit{background:var(--off-white)}
.commit-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.commit-img{position:relative}
.commit-img-main{width:100%;aspect-ratio:4/3.2;border-radius:var(--radius-xl);overflow:hidden;background:var(--gray-50);border:1px solid var(--gray-100);position:relative;z-index:2}
.commit-blob1{position:absolute;width:220px;height:220px;border-radius:50%;background:rgba(21,99,255,.1);bottom:-28px;left:-28px;z-index:1}
.commit-blob2{position:absolute;width:130px;height:130px;border-radius:50%;background:rgba(0,194,203,.12);top:-18px;right:-18px;z-index:1}
.commit-badge{position:absolute;top:20px;left:-20px;z-index:3;background:var(--white);border-radius:var(--radius-md);padding:12px 16px;box-shadow:0 8px 24px rgba(10,22,40,.1);display:flex;align-items:center;gap:10px}
.cb-icon{width:38px;height:38px;background:#EFF6FF;border-radius:10px;display:flex;align-items:center;justify-content:center}
.cb-icon svg{width:20px;height:20px;color:var(--blue)}
.cb-num{font-family:var(--font);font-size:1rem;font-weight:700;color:var(--navy)}
.cb-lbl{font-size:.68rem;color:var(--gray-500)}
.commit-highlights{margin-top:28px;display:grid;grid-template-columns:1fr 1fr;gap:16px}
.commit-hi{background:var(--white);border:1px solid var(--gray-100);border-radius:var(--radius-md);padding:16px}
.commit-hi svg{width:20px;height:20px;color:var(--blue);margin-bottom:8px}
.commit-hi h4{font-family:var(--font);font-size:.88rem;font-weight:700;color:var(--navy);margin-bottom:4px}
.commit-hi p{font-size:.78rem;color:var(--gray-500);line-height:1.5}
.expand-links{margin-top:28px;display:flex;flex-direction:column;border:1px solid var(--gray-100);border-radius:var(--radius-md);overflow:hidden}
.expand-item{border-bottom:1px solid var(--gray-100)}
.expand-item:last-child{border-bottom:none}
.expand-btn{width:100%;display:flex;align-items:center;justify-content:space-between;padding:14px 18px;background:none;border:none;cursor:pointer;font-family:var(--font);font-size:.9rem;font-weight:700;color:var(--navy);transition:var(--t);text-align:left}
.expand-btn:hover{background:var(--gray-50);color:var(--blue)}
.expand-btn svg{width:16px;height:16px;color:var(--blue);flex-shrink:0;transition:transform .3s}
.expand-btn.open svg{transform:rotate(45deg)}
.expand-body{display:none;padding:0 18px 16px;font-size:.85rem;color:var(--gray-500);line-height:1.7}
.expand-body.open{display:block}
/* Team */
.team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,280px));gap:24px;justify-content:center}
.team-card img{width:100%;height:320px;object-fit:cover;object-position:top;border-radius:20px;display:block}
.team-name{font-family:var(--font);font-size:.97rem;font-weight:700;color:var(--navy);margin-bottom:4px;text-align:center;margin-top:20px}
.team-role{font-size:.8rem;color:var(--gray-500);text-align:center}

/* ==========================================================
   15. ARTICLES PAGE
   ========================================================== */
.articles-hero{background:var(--navy);padding:72px 0 0;position:relative;overflow:hidden}
.hero-grid-bg{position:absolute;inset:0;opacity:.04;background-image:linear-gradient(rgba(255,255,255,.5) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.5) 1px,transparent 1px);background-size:40px 40px;pointer-events:none}
.articles-hero .hero-glow-1{position:absolute;width:600px;height:600px;border-radius:50%;background:rgba(21,99,255,.18);right:-100px;top:-200px;filter:blur(90px);pointer-events:none}
.articles-hero .hero-glow-2{position:absolute;width:300px;height:300px;border-radius:50%;background:rgba(0,194,203,.12);left:10%;bottom:-100px;filter:blur(70px);pointer-events:none}
.hero-inner{max-width:1260px;margin:0 auto;padding:0 24px 60px;position:relative;z-index:2}
.hero-eyebrow{display:flex;align-items:center;gap:10px;margin-bottom:20px}
.hero-tag{display:inline-flex;align-items:center;gap:7px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:50px;padding:5px 14px;font-size:.72rem;font-weight:700;color:var(--cyan);letter-spacing:.1em;text-transform:uppercase}
.hero-line{height:1px;width:40px;background:rgba(255,255,255,.15)}
.hero-title{font-family:var(--display);font-size:clamp(2.2rem,4.5vw,3.8rem);font-weight:800;color:var(--white);line-height:1.1;margin-bottom:18px;letter-spacing:-.02em}
.hero-title .accent{color:var(--cyan);font-style:italic}
.hero-sub{font-size:.97rem;color:rgba(255,255,255,.5);max-width:540px;line-height:1.75;margin-bottom:36px}
.hero-stats{display:flex;align-items:center;gap:32px;flex-wrap:wrap}
.hero-stat strong{font-family:var(--display);font-size:1.8rem;font-weight:700;color:var(--white);display:block;line-height:1}
.hero-stat span{font-size:.72rem;color:rgba(255,255,255,.35);letter-spacing:.08em;text-transform:uppercase;margin-top:4px;display:block}
.hero-divider{width:1px;height:40px;background:rgba(255,255,255,.1)}
.ticker-wrap{background:rgba(255,255,255,.04);border-top:1px solid rgba(255,255,255,.06);padding:12px 0;overflow:hidden;position:relative;margin-top:48px}
.ticker-wrap::before,.ticker-wrap::after{content:'';position:absolute;top:0;width:80px;height:100%;z-index:2;pointer-events:none}
.ticker-wrap::before{left:0;background:linear-gradient(90deg,var(--navy),transparent)}
.ticker-wrap::after{right:0;background:linear-gradient(-90deg,var(--navy),transparent)}
.ticker-track{display:flex;animation:ticker 28s linear infinite;width:max-content}
.ticker-track:hover{animation-play-state:paused}
.ticker-item{display:flex;align-items:center;gap:12px;padding:0 24px;font-size:.76rem;color:rgba(255,255,255,.35);white-space:nowrap;letter-spacing:.06em;text-transform:uppercase;font-weight:700}
.ticker-dot{width:4px;height:4px;border-radius:50%;background:var(--cyan);flex-shrink:0}
@keyframes ticker{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
/* Articles filter */
.articles-filter-bar{background:var(--white);border-bottom:1px solid var(--gray-100);position:sticky;top:100px;z-index:90;padding:0}
.articles-filter-inner{max-width:1260px;margin:0 auto;padding:0 24px;display:flex;align-items:center;gap:8px;overflow-x:auto;scrollbar-width:none;height:56px}
.articles-filter-inner::-webkit-scrollbar{display:none}
.filter-btn{font-family:var(--font);font-size:.8rem;font-weight:700;color:var(--gray-500);background:none;border:1.5px solid transparent;border-radius:50px;padding:6px 16px;cursor:pointer;transition:var(--t);white-space:nowrap;flex-shrink:0}
.filter-btn:hover{color:var(--navy);background:var(--gray-50);border-color:var(--gray-100)}
.filter-btn.active{color:var(--blue);background:#EFF6FF;border-color:rgba(21,99,255,.25)}
.filter-count{font-size:.65rem;background:var(--gray-100);color:var(--gray-500);border-radius:50px;padding:2px 7px;margin-left:4px;font-weight:700}
.filter-btn.active .filter-count{background:rgba(21,99,255,.15);color:var(--blue)}
.page-wrap{max-width:1260px;margin:0 auto;padding:56px 24px 96px}
/* Featured article */
.featured-label{display:flex;align-items:center;gap:10px;margin-bottom:20px}
.featured-label span{font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gray-400)}
.featured-label::after{content:'';flex:1;height:1px;background:var(--gray-100)}
.featured-card{display:grid;grid-template-columns:1fr 1fr;background:var(--navy);border-radius:var(--radius-xl);overflow:hidden;margin-bottom:56px;min-height:420px;opacity:0;transform:translateY(20px);transition:opacity .5s ease,transform .5s ease}
.featured-card.visible{opacity:1;transform:translateY(0)}
.featured-img{position:relative;overflow:hidden;min-height:320px}
.featured-img .art{width:100%;height:100%;display:flex;align-items:center;justify-content:center;position:relative}
.featured-body{padding:48px 44px;display:flex;flex-direction:column;justify-content:center}
/* Art backgrounds */
.art-ai{background:linear-gradient(135deg,#0a0f2c 0%,#0d1f5c 40%,#1563FF 75%,#00C2CB 100%)}
.art-skills{background:linear-gradient(135deg,#0f2027 0%,#203a43 50%,#2c5364 100%)}
.art-cyber{background:linear-gradient(135deg,#0a2e0a 0%,#0d5e0d 45%,#00ff88 100%)}
.art-dev{background:linear-gradient(135deg,#2c0a0a 0%,#6b1010 50%,#ff4444 90%,#ff8c00 100%)}
.art-nocode{background:linear-gradient(135deg,#1a0533 0%,#3d1a7a 50%,#8b5cf6 90%,#c4b5fd 100%)}
.art-newbie{background:linear-gradient(135deg,#0a1628 0%,#12213D 50%,#1563FF 100%)}
.art-pattern{position:absolute;inset:0;opacity:.06}
.art-float{position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:32px;text-align:center}
.art-icon{width:72px;height:72px;border-radius:20px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.15);display:flex;align-items:center;justify-content:center;backdrop-filter:blur(10px)}
.art-icon svg{width:34px;height:34px;color:rgba(255,255,255,.85)}
.art-icon-label{font-family:var(--display);font-size:1rem;font-weight:700;color:rgba(255,255,255,.7);letter-spacing:.02em}
.orb{position:absolute;border-radius:50%;filter:blur(40px);pointer-events:none}
.orb-1{width:120px;height:120px;background:rgba(255,255,255,.12);top:20%;left:15%}
.orb-2{width:80px;height:80px;background:rgba(0,194,203,.2);bottom:25%;right:20%}
.orb-3{width:60px;height:60px;background:rgba(21,99,255,.25);top:60%;left:55%}
/* Article categories */
.article-cat{display:inline-flex;align-items:center;gap:6px;font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;border-radius:50px;padding:4px 12px;margin-bottom:18px;width:fit-content}
.cat-ai{background:rgba(21,99,255,.15);color:#60a5fa}
.cat-career{background:rgba(0,194,203,.12);color:var(--cyan)}
.cat-cyber{background:rgba(0,180,60,.12);color:#22c55e}
.cat-tech{background:rgba(139,92,246,.12);color:#a78bfa}
.cat-industry{background:rgba(239,68,68,.12);color:#f87171}
.cat-learning{background:rgba(245,158,11,.12);color:#fbbf24}
.featured-title{font-family:var(--display);font-size:clamp(1.4rem,2.2vw,2rem);font-weight:700;color:var(--white);line-height:1.25;margin-bottom:16px}
.featured-excerpt{font-size:.9rem;color:rgba(255,255,255,.5);line-height:1.8;margin-bottom:28px}
.featured-meta{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:28px}
.meta-item{display:flex;align-items:center;gap:6px;font-size:.76rem;color:rgba(255,255,255,.35)}
.meta-item svg{width:12px;height:12px;opacity:.7;flex-shrink:0}
.read-btn{display:inline-flex;align-items:center;gap:8px;background:var(--blue);color:var(--white);font-family:var(--font);font-weight:700;font-size:.85rem;padding:11px 22px;border-radius:var(--radius-sm);text-decoration:none;transition:var(--t);width:fit-content}
.read-btn:hover{background:#0d52e8;transform:translateY(-2px);box-shadow:0 8px 24px rgba(21,99,255,.35)}
.read-btn svg{width:14px;height:14px;transition:transform .3s}
.read-btn:hover svg{transform:translateX(3px)}
.grid-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px;flex-wrap:wrap;gap:12px}
.grid-title{font-family:var(--display);font-size:1.3rem;font-weight:700;color:var(--navy)}
.grid-sub{font-size:.82rem;color:var(--gray-400)}
.articles-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.article-card{background:var(--white);border:1px solid var(--gray-100);border-radius:var(--radius-lg);overflow:hidden;transition:opacity .5s ease,transform .5s ease,box-shadow .3s,border-color .3s;display:flex;flex-direction:column;cursor:pointer;opacity:0;transform:translateY(20px)}
.article-card.visible{opacity:1;transform:translateY(0)}
.article-card:hover{transform:translateY(-4px);box-shadow:0 20px 48px rgba(10,22,40,.1);border-color:var(--gray-200)}
.card-img{height:200px;position:relative;overflow:hidden}
.card-img .art{width:100%;height:100%;position:relative}
.card-img-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,transparent 50%,rgba(10,22,40,.4) 100%)}
.card-body{padding:22px 24px;flex:1;display:flex;flex-direction:column}
.card-title{font-family:var(--display);font-size:1.05rem;font-weight:700;color:var(--navy);line-height:1.3;margin-bottom:10px;transition:var(--t)}
.article-card:hover .card-title{color:var(--blue)}
.card-excerpt{font-size:.84rem;color:var(--gray-500);line-height:1.72;margin-bottom:16px;flex:1}
.card-footer{display:flex;align-items:center;justify-content:space-between;padding-top:14px;border-top:1px solid var(--gray-100);margin-top:auto}
.card-meta{display:flex;align-items:center;gap:10px}
.meta-dot{width:3px;height:3px;border-radius:50%;background:var(--gray-300)}
.card-meta span{font-size:.74rem;color:var(--gray-400);font-weight:600}
.card-arrow{width:30px;height:30px;border-radius:50%;border:1.5px solid var(--gray-100);display:flex;align-items:center;justify-content:center;transition:var(--t);flex-shrink:0}
.article-card:hover .card-arrow{background:var(--blue);border-color:var(--blue)}
.card-arrow svg{width:13px;height:13px;color:var(--gray-400);transition:var(--t)}
.article-card:hover .card-arrow svg{color:var(--white)}
.article-card.wide{grid-column:span 2}
.article-card.wide .card-img{height:240px}
.article-card.wide .card-title{font-size:1.2rem}
/* Newsletter */
.newsletter-strip{background:linear-gradient(135deg,var(--navy) 0%,#1a2f5e 100%);border-radius:var(--radius-xl);padding:44px 48px;margin:56px 0;display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap;position:relative;overflow:hidden}
.nl-glow{position:absolute;width:300px;height:300px;border-radius:50%;background:rgba(21,99,255,.2);right:-60px;top:-80px;filter:blur(60px);pointer-events:none}
.nl-glow-2{position:absolute;width:200px;height:200px;border-radius:50%;background:rgba(0,194,203,.1);left:30%;bottom:-80px;filter:blur(50px);pointer-events:none}
.nl-body{position:relative;z-index:2}
.nl-tag{font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--cyan);margin-bottom:10px}
.nl-title{font-family:var(--display);font-size:1.6rem;font-weight:700;color:var(--white);margin-bottom:8px;line-height:1.2}
.nl-sub{font-size:.87rem;color:rgba(255,255,255,.45);line-height:1.6;max-width:360px}
.nl-form{display:flex;gap:10px;position:relative;z-index:2;flex-shrink:0;flex-wrap:wrap}
.nl-input{font-family:var(--font);font-size:.87rem;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);border-radius:var(--radius-sm);padding:12px 18px;color:var(--white);outline:none;transition:var(--t);min-width:240px}
.nl-input::placeholder{color:rgba(255,255,255,.3)}
.nl-input:focus{border-color:rgba(21,99,255,.6);background:rgba(255,255,255,.12)}
.nl-btn{font-family:var(--font);font-weight:700;font-size:.87rem;background:var(--blue);color:var(--white);border:none;border-radius:var(--radius-sm);padding:12px 22px;cursor:pointer;transition:var(--t);white-space:nowrap}
.nl-btn:hover{background:#0d52e8;transform:translateY(-1px)}
/* Topics */
.topics-row{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:36px}
.topic-chip{display:flex;align-items:center;gap:8px;background:var(--off-white);border:1px solid var(--gray-100);border-radius:var(--radius-md);padding:10px 16px;text-decoration:none;transition:var(--t);cursor:pointer}
.topic-chip:hover{background:var(--white);border-color:var(--blue);box-shadow:0 4px 16px rgba(21,99,255,.1)}
.topic-chip-icon{width:28px;height:28px;border-radius:7px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.topic-chip-icon svg{width:14px;height:14px}
.topic-chip span{font-size:.8rem;font-weight:700;color:var(--navy)}
.topic-chip small{font-size:.7rem;color:var(--gray-400);margin-left:2px}

/* ==========================================================
   16. CONTACT PAGE
   ========================================================== */
.contact-section{padding:88px 0;background:var(--white)}
.contact-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:64px;align-items:start}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}
.form-row.full{grid-template-columns:1fr}
.form-group{display:flex;flex-direction:column;gap:7px}
.form-group label{font-family:var(--font);font-size:.78rem;font-weight:700;color:var(--navy);letter-spacing:.04em;text-transform:uppercase}
.form-group label .req{color:var(--blue);margin-left:2px}
.form-group input,.form-group select,.form-group textarea{font-family:var(--font);font-size:.92rem;color:var(--gray-900);background:var(--off-white);border:1.5px solid var(--gray-100);border-radius:var(--radius-sm);padding:12px 14px;transition:var(--t);outline:none;width:100%;appearance:none;-webkit-appearance:none}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--blue);background:var(--white);box-shadow:0 0 0 3px rgba(21,99,255,.1)}
.form-group input::placeholder,.form-group textarea::placeholder{color:var(--gray-300)}
.form-group textarea{resize:vertical;min-height:110px}
.form-group select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394A3B8' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px}
.form-submit{margin-top:24px}
.form-submit .btn{width:100%;justify-content:center;padding:15px 24px;font-size:1rem}
.form-note{font-size:.76rem;color:var(--gray-300);text-align:center;margin-top:12px}
.form-success{display:none;background:#F0FDF4;border:1px solid #BBF7D0;border-radius:var(--radius-md);padding:20px 24px;text-align:center}
.form-success svg{width:36px;height:36px;color:var(--green);margin-bottom:10px}
.form-success h4{font-family:var(--font);font-weight:700;color:#166534;margin-bottom:6px}
.form-success p{font-size:.85rem;color:#16A34A}
.ci-quick{display:flex;flex-direction:column;gap:16px;margin-bottom:32px}
.ci-card{background:var(--off-white);border:1px solid var(--gray-100);border-radius:var(--radius-lg);padding:20px}
.ci-card-head{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.ci-icon{width:40px;height:40px;border-radius:10px;background:#EFF6FF;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.ci-icon svg{width:18px;height:18px;color:var(--blue)}
.ci-card-head h4{font-family:var(--font);font-size:.95rem;font-weight:700;color:var(--navy)}
.ci-rows{display:flex;flex-direction:column;gap:6px}
.ci-row{font-size:.84rem;color:var(--gray-600);display:flex;align-items:center;gap:8px}
.ci-row a{color:var(--gray-700);text-decoration:none;transition:var(--t)}
.ci-row a:hover{color:var(--blue)}
.ci-row svg{width:13px;height:13px;color:var(--gray-300);flex-shrink:0}
.hours-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px 16px}
.hours-row{display:flex;justify-content:space-between;align-items:center;font-size:.82rem;padding:6px 0;border-bottom:1px solid var(--gray-100)}
.hours-row:last-child{border-bottom:none}
.hours-row .day{color:var(--gray-700)}
.hours-row .time{color:var(--navy);font-weight:700}
.hours-row .closed{color:var(--gray-300)}
/* Book appointment */
.book-section{padding:88px 0;background:var(--off-white)}
.book-inner{max-width:1260px;margin:0 auto;padding:0 24px}
.book-header{text-align:center;margin-bottom:52px}
.book-wrap{max-width:820px;margin:0 auto;background:var(--white);border-radius:var(--radius-xl);border:1px solid var(--gray-100);overflow:hidden;box-shadow:0 12px 40px rgba(10,22,40,.07)}
.book-tabs{display:grid;grid-template-columns:1fr 1fr;border-bottom:2px solid var(--gray-100)}
.book-tab{padding:20px 24px;text-align:center;cursor:pointer;transition:var(--t);border:none;background:none;font-family:var(--font);display:flex;flex-direction:column;align-items:center;gap:8px;border-bottom:2px solid transparent;margin-bottom:-2px}
.book-tab svg{width:22px;height:22px;color:var(--gray-300);transition:var(--t)}
.book-tab span{font-size:.88rem;font-weight:700;color:var(--gray-400);transition:var(--t)}
.book-tab small{font-size:.72rem;color:var(--gray-300);transition:var(--t)}
.book-tab.active{border-bottom-color:var(--blue)}
.book-tab.active svg{color:var(--blue)} .book-tab.active span{color:var(--navy)} .book-tab.active small{color:var(--blue)}
.book-tab:hover:not(.active){background:var(--off-white)}
.book-body{padding:36px 40px 40px}
.branch-selector{display:none;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:24px}
.branch-selector.visible{display:grid}
.branch-opt{border:2px solid var(--gray-100);border-radius:var(--radius-md);padding:16px;cursor:pointer;transition:var(--t);position:relative}
.branch-opt:hover{border-color:rgba(21,99,255,.3);background:rgba(21,99,255,.02)}
.branch-opt.selected{border-color:var(--blue);background:#EFF6FF}
.branch-opt input{position:absolute;opacity:0;width:0;height:0}
.branch-opt .bo-name{font-family:var(--font);font-size:.9rem;font-weight:700;color:var(--navy);margin-bottom:3px}
.branch-opt .bo-addr{font-size:.75rem;color:var(--gray-500);line-height:1.4}
.branch-opt .bo-check{position:absolute;top:12px;right:12px;width:18px;height:18px;border-radius:50%;border:2px solid var(--gray-200);background:var(--white);display:flex;align-items:center;justify-content:center;transition:var(--t)}
.branch-opt.selected .bo-check{border-color:var(--blue);background:var(--blue)}
.branch-opt.selected .bo-check::after{content:'';width:6px;height:6px;border-radius:50%;background:var(--white)}
.datetime-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}
.time-slots{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:6px}
.ts{padding:9px 6px;border:1.5px solid var(--gray-100);border-radius:var(--radius-sm);font-family:var(--font);font-size:.78rem;color:var(--gray-600);text-align:center;cursor:pointer;transition:var(--t);background:var(--off-white);user-select:none}
.ts:hover{border-color:rgba(21,99,255,.4);color:var(--blue);background:#EFF6FF}
.ts.selected{border-color:var(--blue);background:var(--blue);color:var(--white)}
.book-submit{margin-top:28px}
.book-submit .btn{width:100%;justify-content:center;padding:15px 24px;font-size:1rem}
.book-note{font-size:.76rem;color:var(--gray-300);text-align:center;margin-top:12px}

/* ==========================================================
   17. COURSES PAGE
   ========================================================== */
.courses-section{padding:72px 0 88px}
.cs-inner{max-width:1260px;margin:0 auto;padding:0 24px}
.section-divider{border:none;border-top:1px solid var(--gray-100);margin:64px 0}
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:40px;flex-wrap:wrap}
.sec-tag{display:inline-flex;align-items:center;gap:6px;font-family:var(--font);font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--blue);margin-bottom:10px}
.sec-tag::before{content:'';width:18px;height:2px;background:var(--blue);border-radius:2px;flex-shrink:0}
.sec-title{font-family:var(--font);font-size:clamp(1.6rem,2.8vw,2.2rem);font-weight:700;color:var(--navy);line-height:1.2;margin-bottom:8px}
.sec-title .accent{color:var(--blue)}
.sec-sub{font-size:.9rem;color:var(--gray-500);line-height:1.7;max-width:540px}
.sec-count{font-family:var(--font);font-size:.78rem;font-weight:700;color:var(--gray-300);align-self:flex-end;padding-bottom:4px}
.courses-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.c-card{background:var(--white);border:1px solid var(--gray-100);border-radius:var(--radius-lg);overflow:hidden;transition:var(--t);display:flex;flex-direction:column;position:relative}
.c-card:hover{transform:translateY(-5px);box-shadow:0 20px 48px rgba(10,22,40,.11);border-color:transparent}
.c-img{width:100%;aspect-ratio:16/9;overflow:hidden;background:var(--gray-50);position:relative;flex-shrink:0}
.c-img img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;transition:transform .4s cubic-bezier(.4,0,.2,1)}
.c-card:hover .c-img img{transform:scale(1.04)}
.c-img-ph{width:100%;height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px}
.c-img-ph svg{width:36px;height:36px;color:rgba(255,255,255,.4)}
.c-img-ph span{font-family:var(--font);font-size:.72rem;font-weight:700;color:rgba(255,255,255,.4);letter-spacing:.04em;text-align:center;padding:0 16px}
.t-blue .c-img-ph{background:linear-gradient(135deg,#1e3a6e,#1563FF)}
.t-purple .c-img-ph{background:linear-gradient(135deg,#4c1d95,#7c3aed)}
.t-teal .c-img-ph{background:linear-gradient(135deg,#134e4a,#0f766e)}
.t-orange .c-img-ph{background:linear-gradient(135deg,#7c2d12,#ea580c)}
.t-navy .c-img-ph{background:linear-gradient(135deg,#0a1628,#1e40af)}
.t-green .c-img-ph{background:linear-gradient(135deg,#14532d,#16a34a)}
.t-rose .c-img-ph{background:linear-gradient(135deg,#881337,#e11d48)}
.t-amber .c-img-ph{background:linear-gradient(135deg,#78350f,#d97706)}
.t-slate .c-img-ph{background:linear-gradient(135deg,#1e293b,#475569)}
.c-cat{position:absolute;top:12px;left:12px;font-family:var(--font);font-size:.65rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;padding:4px 10px;border-radius:20px;background:rgba(255,255,255,.92);color:var(--navy);z-index:2}
.c-body{padding:20px 20px 22px;flex:1;display:flex;flex-direction:column}
.c-title{font-family:var(--font);font-size:1rem;font-weight:700;color:var(--navy);line-height:1.3;margin-bottom:8px}
.c-desc{font-size:.82rem;color:var(--gray-500);line-height:1.65;flex:1;margin-bottom:14px}
.c-units{list-style:none;display:flex;flex-direction:column;gap:5px;margin-bottom:14px;flex:1}
.c-units li{display:flex;align-items:flex-start;gap:7px;font-size:.8rem;color:var(--gray-700);line-height:1.45}
.c-units li::before{content:'✓';color:var(--green);font-weight:700;font-size:.75rem;flex-shrink:0;margin-top:1px}
.c-units-label{font-family:var(--font);font-size:.7rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--gray-300);margin-bottom:6px;margin-top:8px}
.c-units-label:first-child{margin-top:0}
.c-meta{display:flex;align-items:center;gap:14px;padding-top:12px;border-top:1px solid var(--gray-100);margin-bottom:16px;flex-wrap:wrap}
.c-meta span{display:flex;align-items:center;gap:5px;font-size:.74rem;color:var(--gray-500)}
.c-meta svg{width:12px;height:12px;color:var(--gray-300)}
.c-meta .c-credits{display:flex;align-items:center;gap:5px;font-size:.74rem;color:var(--blue);font-weight:700}
.c-cta{display:inline-flex;align-items:center;gap:7px;font-family:var(--font);font-size:.82rem;font-weight:700;color:var(--white);background:var(--blue);text-decoration:none;padding:10px 18px;border-radius:var(--radius-sm);transition:var(--t);width:100%;justify-content:center}
.c-cta:hover{background:#0d52e8;transform:translateY(-1px)}
.c-cta svg{width:13px;height:13px;transition:transform .3s}
.c-cta:hover svg{transform:translateX(3px)}
.diploma-badge{position:absolute;top:12px;right:12px;background:var(--gold);color:var(--navy);font-family:var(--font);font-size:.62rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;padding:4px 9px;border-radius:20px;z-index:2}

/* ==========================================================
   18. GALLERY PAGE
   ========================================================== */
/* Entire page is dark — body background override */
.gallery-page{background:var(--navy);color:rgba(255,255,255,.6);min-height:100vh}
/* Gallery has dark nav override */
.gallery-page nav{background:var(--navy);border-bottom:1px solid rgba(255,255,255,.08)}
.gallery-page nav.scrolled{box-shadow:0 4px 32px rgba(0,0,0,.5)}
.gallery-page .nav-inner{max-width:1400px}
.gallery-page .logo-txt strong{color:var(--white)}
.gallery-page .logo-txt small{color:rgba(255,255,255,.35)}
.gallery-page .nav-links a{color:rgba(255,255,255,.55)}
.gallery-page .nav-links a:hover{color:var(--white);background:rgba(255,255,255,.06)}
.gallery-page .nav-links a.active{color:var(--gold);background:transparent}
.gallery-page .nav-cta{background:var(--blue)!important}
.gallery-page .hamburger span{background:rgba(255,255,255,.7)}
.gallery-page .mobile-menu{background:var(--navy)}
.gallery-page .mm-close svg{color:var(--white)}
.gallery-page .mm-links a{color:rgba(255,255,255,.75)}
.gallery-page .mm-links a:hover{color:var(--gold);background:rgba(245,158,11,.06)}
.gallery-page .tb-inner{max-width:1400px}
.gallery-page .topbar{background:rgba(255,255,255,.04);border-bottom:1px solid rgba(255,255,255,.07)}
/* Gallery hero */
.gallery-hero{position:relative;padding:100px 32px 80px;text-align:center;overflow:hidden;background:var(--navy)}
.gallery-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 60% at 80% 20%,rgba(21,99,255,.18) 0%,transparent 70%),radial-gradient(ellipse 50% 50% at 20% 80%,rgba(0,194,203,.12) 0%,transparent 70%);pointer-events:none}
.gallery-hero::after{content:'';position:absolute;inset:0;background-image:radial-gradient(circle,rgba(255,255,255,.06) 1px,transparent 1px);background-size:28px 28px;pointer-events:none}
.gallery-hero-inner{position:relative;z-index:2;max-width:680px;margin:0 auto}
.gh-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin-bottom:20px}
.gh-eyebrow::before,.gh-eyebrow::after{content:'';width:24px;height:1px;background:var(--gold);opacity:.5}
.gallery-hero h1{font-family:var(--font);font-size:clamp(2.2rem,5vw,3.8rem);font-weight:700;color:var(--white);line-height:1.1;letter-spacing:-.01em;margin-bottom:18px}
.gallery-hero h1 em{color:var(--gold);font-style:normal}
.gallery-hero p{font-size:.97rem;color:rgba(255,255,255,.42);line-height:1.75;max-width:480px;margin:0 auto 40px}
.gallery-stats{display:flex;align-items:stretch;justify-content:center;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-lg);background:rgba(255,255,255,.04);overflow:hidden;max-width:400px;margin:0 auto}
.gs{flex:1;padding:18px 12px;text-align:center;border-right:1px solid rgba(255,255,255,.08)}
.gs:last-child{border-right:none}
.gs-num{font-family:var(--font);font-size:1.55rem;font-weight:700;color:var(--white);line-height:1}
.gs-lbl{font-size:.65rem;color:rgba(255,255,255,.3);letter-spacing:.07em;text-transform:uppercase;margin-top:5px}
/* Gallery filter */
.gallery-filter-bar{position:sticky;top:80px;z-index:100;background:var(--navy);border-bottom:1px solid rgba(255,255,255,.08);padding:0 32px}
.gallery-filter-inner{max-width:1400px;margin:0 auto;display:flex;align-items:center;gap:6px;overflow-x:auto;padding:14px 0;scrollbar-width:none}
.gallery-filter-inner::-webkit-scrollbar{display:none}
.f-btn{flex-shrink:0;font-family:var(--font);font-size:.78rem;font-weight:700;padding:8px 18px;border-radius:50px;border:1px solid rgba(255,255,255,.12);background:transparent;color:rgba(255,255,255,.45);cursor:pointer;transition:var(--t);white-space:nowrap;letter-spacing:.02em}
.f-btn:hover{border-color:rgba(255,255,255,.3);color:rgba(255,255,255,.8)}
.f-btn.active{background:var(--gold);color:var(--navy);border-color:var(--gold)}
/* Gallery grid */
.gallery-wrap{padding:40px 32px 100px;max-width:1400px;margin:0 auto}
.masonry{columns:4 260px;column-gap:14px}
.g-item{break-inside:avoid;margin-bottom:14px;border-radius:var(--radius-md);overflow:hidden;position:relative;cursor:pointer;display:block;opacity:0;transform:translateY(18px);transition:opacity .45s ease,transform .45s ease,box-shadow .3s}
.g-item.visible{opacity:1;transform:none}
.g-item:hover{box-shadow:0 24px 64px rgba(0,0,0,.6)}
.g-item[data-hidden]{display:none!important}
.g-item img{width:100%;height:auto;display:block;transition:transform .55s cubic-bezier(.4,0,.2,1)}
.g-item:hover img{transform:scale(1.07)}
.g-overlay{position:absolute;inset:0;background:rgba(245,158,11,.9);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:24px;opacity:0;transition:opacity .3s}
.g-item:hover .g-overlay{opacity:1}
.g-plus{width:52px;height:52px;border-radius:50%;border:2px solid rgba(10,22,40,.28);display:flex;align-items:center;justify-content:center;color:var(--navy);transition:transform .3s}
.g-item:hover .g-plus{transform:scale(1.1)}
.g-plus svg{width:24px;height:24px}
.g-caption{font-family:var(--font);font-size:.85rem;font-weight:700;color:var(--navy);text-align:center;line-height:1.45}
.g-pill{font-size:.62rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;background:rgba(10,22,40,.14);color:var(--navy);border-radius:50px;padding:4px 12px}
.empty-state{display:none;text-align:center;padding:80px 20px;color:rgba(255,255,255,.2)}
.empty-state.show{display:block}
.empty-state svg{width:48px;height:48px;margin:0 auto 16px;display:block;opacity:.2}
.empty-state p{font-size:.9rem;line-height:1.7}
/* Lightbox */
.lb{position:fixed;inset:0;z-index:500;background:rgba(5,11,20,.97);display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;pointer-events:none;transition:opacity .25s}
.lb.open{opacity:1;pointer-events:all}
.lb-wrap{position:relative;max-width:1000px;width:100%;display:flex;flex-direction:column;align-items:center;gap:14px}
.lb-img{max-width:100%;max-height:80vh;object-fit:contain;border-radius:var(--radius-lg);display:block;box-shadow:0 40px 100px rgba(0,0,0,.7);transition:opacity .18s}
.lb-meta{display:flex;align-items:center;gap:16px}
.lb-caption{font-family:var(--font);font-size:.88rem;color:rgba(255,255,255,.38);letter-spacing:.02em}
.lb-counter{font-size:.72rem;color:rgba(255,255,255,.2);letter-spacing:.06em}
.lb-close{position:fixed;top:20px;right:24px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:50%;width:44px;height:44px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--white);transition:var(--t);z-index:10}
.lb-close:hover{background:var(--gold);border-color:var(--gold);color:var(--navy)}
.lb-close svg{width:18px;height:18px}
.lb-arr{position:fixed;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);color:rgba(255,255,255,.6);width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--t);z-index:10}
.lb-arr:hover{background:var(--gold);border-color:var(--gold);color:var(--navy)}
.lb-arr svg{width:22px;height:22px}
.lb-prev{left:20px} .lb-next{right:20px}
/* Gallery Instagram section */
.ig-section{text-align:center;padding:5rem 2rem}
.ig-label{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:white;margin-bottom:.6rem}
.ig-heading{color:white;font-size:34px;font-weight:500;margin-bottom:2.8rem}
.ig-branches{display:flex;align-items:center;justify-content:center;gap:1.25rem;flex-wrap:wrap}
.ig-branch{display:flex;flex-direction:column;align-items:center;gap:.6rem}
.ig-branch h3{font-size:13px;font-weight:400;letter-spacing:.06em;color:white}
.ig-btn{background-color:var(--off-white);display:inline-flex;align-items:center;gap:7px;font-size:13px;letter-spacing:.04em;text-decoration:none;color:inherit;border:.5px solid rgba(0,0,0,.3);border-radius:2px;padding:10px 22px;transition:background .18s,border-color .18s}
.ig-btn:hover{background:#c8c8c8;border-color:rgba(0,0,0,.5)}
.ig-divider{width:1px;height:64px;background:rgba(0,0,0,.12)}
/* Gallery dark footer */
.gallery-page footer{background:var(--navy-mid);border-top:1px solid rgba(255,255,255,.07)}
.gallery-page .foot-inner{max-width:1400px;padding:60px 32px 40px;grid-template-columns:2fr 1fr 1fr 1fr}
.gallery-page .foot-col h4{font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.22);margin-bottom:18px}
.gallery-page .foot-col>p{font-size:.84rem;line-height:1.75;margin-top:14px;max-width:270px;color:rgba(255,255,255,.42)}
.gallery-page .foot-col ul li a{color:rgba(255,255,255,.45);font-size:.84rem}
.gallery-page .foot-bottom{max-width:1400px;padding:24px 32px}
.gallery-page .soc-btn:hover{border-color:var(--cyan);color:var(--cyan);background:rgba(0,194,203,.08)}

/* ==========================================================
   19. INDEX (HOME) PAGE
   ========================================================== */
.hero{position:relative;min-height:90vh;background:var(--navy);overflow:hidden;display:flex;align-items:center}
.hero-glow1{position:absolute;width:600px;height:600px;border-radius:50%;background:rgba(21,99,255,.2);right:-120px;top:-160px;filter:blur(90px);pointer-events:none}
.hero-glow2{position:absolute;width:450px;height:450px;border-radius:50%;background:rgba(0,194,203,.13);left:-80px;bottom:-120px;filter:blur(70px);pointer-events:none}
.hero-dots{position:absolute;right:0;top:0;width:380px;height:380px;opacity:.12;background-image:radial-gradient(circle,rgba(255,255,255,.9) 1.5px,transparent 1.5px);background-size:22px 22px;pointer-events:none}
.hero-inner-home{max-width:1260px;margin:0 auto;padding:80px 48px;display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;position:relative;z-index:2;width:100%}
.hero-content{display:flex;flex-direction:column;justify-content:center}
.hero-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:50px;padding:6px 16px;font-size:.75rem;font-family:var(--font);font-weight:700;color:var(--cyan);letter-spacing:.08em;text-transform:uppercase;margin-bottom:22px}
.hero-badge .dot{width:6px;height:6px;border-radius:50%;background:var(--cyan);display:inline-block;animation:blink 2s infinite}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.3}}
.hero-title-main{font-family:var(--font);font-size:clamp(2.2rem,4.2vw,3.5rem);font-weight:700;color:var(--white);line-height:1.12;letter-spacing:-.01em;margin-bottom:18px}
.hero-title-main .accent{color:var(--cyan)}
.hero-title-main .blue{color:#7AB8FF}
.hero-sub-main{font-size:1rem;color:rgba(255,255,255,.58);line-height:1.75;max-width:460px;margin-bottom:34px}
.hero-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:44px}
.hero-trust{display:flex;align-items:center;gap:16px}
.trust-avs{display:flex}
.trust-avs .av{width:34px;height:34px;border-radius:50%;border:2.5px solid var(--navy);display:flex;align-items:center;justify-content:center;font-family:var(--font);font-weight:700;font-size:.68rem;color:var(--white);margin-left:-9px;flex-shrink:0}
.trust-avs .av:first-child{margin-left:0}
.trust-txt{font-size:.8rem;color:rgba(255,255,255,.55);line-height:1.45}
.trust-txt strong{color:rgba(255,255,255,.88);font-weight:700;display:block}
/* Hero visual */
.hero-visual{display:flex;align-items:center;justify-content:center;position:relative}
.hv-wrap{position:relative;width:100%;max-width:520px;padding:28px 28px 28px 0}
.hv-img-frame{position:relative;width:100%;border-radius:var(--radius-xl);overflow:hidden;background:#000;box-shadow:0 24px 60px rgba(0,0,0,.55)}
.hv-img-frame img{width:100%;height:auto;max-height:480px;display:block;object-fit:cover;object-position:center top}
.hv-img-frame::after{content:'';position:absolute;inset:0;border-radius:var(--radius-xl);box-shadow:inset 0 0 40px rgba(0,0,0,.4);pointer-events:none}
.hv-badge{position:absolute;background:var(--white);border-radius:var(--radius-md);padding:10px 14px;box-shadow:0 8px 28px rgba(0,0,0,.25);display:flex;align-items:center;gap:10px;z-index:4}
.hv-badge.top-left{top:0;left:-24px}
.hv-badge.bot-right{bottom:0;right:0}
.hv-badge .bi{width:34px;height:34px;border-radius:9px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.hv-badge .bi-blue{background:#EFF6FF} .hv-badge .bi-green{background:#F0FDF4}
.hv-badge .bnum{font-family:var(--font);font-size:1rem;font-weight:700;color:var(--navy);line-height:1}
.hv-badge .blbl{font-size:.68rem;color:var(--gray-500);margin-top:2px}
/* Stats */
.stats{background:var(--off-white);border-top:1px solid var(--gray-100);border-bottom:1px solid var(--gray-100)}
.stats-inner{max-width:1260px;margin:0 auto;padding:0 24px;display:grid;grid-template-columns:repeat(4,1fr)}
.stat-item{padding:40px 20px;text-align:center;border-right:1px solid var(--gray-100)}
.stat-item:last-child{border-right:none}
.stat-num{font-family:var(--font);font-size:2.5rem;font-weight:700;color:var(--blue);line-height:1;margin-bottom:7px}
.stat-lbl{font-size:.84rem;color:var(--gray-500)}
/* Offer cards */
.offer{background:var(--white)}
.offer-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.offer-card{background:var(--white);border:1px solid var(--gray-100);border-radius:var(--radius-lg);padding:26px 22px;transition:var(--t);position:relative;overflow:hidden}
.offer-card::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(21,99,255,.05),transparent);opacity:0;transition:opacity .3s}
.offer-card:hover{border-color:rgba(21,99,255,.22);transform:translateY(-4px);box-shadow:0 14px 36px rgba(21,99,255,.1)}
.offer-card:hover::before{opacity:1}
.o-icon{width:50px;height:50px;border-radius:13px;display:flex;align-items:center;justify-content:center;margin-bottom:18px}
.o-icon svg{width:24px;height:24px}
.offer-card h3{font-family:var(--font);font-size:1rem;font-weight:700;color:var(--navy);margin-bottom:9px;line-height:1.3}
.offer-card p{font-size:.84rem;color:var(--gray-500);line-height:1.65}
.o-tag{display:inline-block;margin-top:14px;font-size:.7rem;font-weight:700;padding:3px 10px;border-radius:20px;letter-spacing:.04em;font-family:var(--font)}
/* Home courses grid */
.courses{background:var(--off-white)}
.home-courses-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.hc-card{background:var(--white);border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--gray-100);transition:var(--t);display:flex;flex-direction:column}
.hc-card:hover{transform:translateY(-5px);box-shadow:0 18px 44px rgba(10,22,40,.11);border-color:transparent}
.hc-thumb{height:185px;position:relative;overflow:hidden}
.hc-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.hc-thumb-bg{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
.hc-thumb-icon{width:66px;height:66px;border-radius:18px;background:rgba(255,255,255,.14);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.2)}
.hc-thumb-icon svg{width:34px;height:34px;color:white}
.hc-cat{position:absolute;top:13px;left:13px;font-family:var(--font);font-size:.68rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;padding:4px 10px;border-radius:20px;background:rgba(255,255,255,.9);color:var(--navy)}
.hc-body{padding:20px 18px;flex:1;display:flex;flex-direction:column}
.hc-body h3{font-family:var(--font);font-size:.97rem;font-weight:700;color:var(--navy);margin-bottom:7px;line-height:1.3}
.hc-body p{font-size:.82rem;color:var(--gray-500);line-height:1.65;flex:1;margin-bottom:14px}
.hc-meta{display:flex;align-items:center;gap:14px;margin-bottom:16px;padding-top:13px;border-top:1px solid var(--gray-100)}
.hc-meta span{display:flex;align-items:center;gap:5px;font-size:.74rem;color:var(--gray-500)}
.hc-meta svg{width:12px;height:12px;color:var(--gray-300)}
.hc-link,.c-link{display:inline-flex;align-items:center;gap:6px;font-family:var(--font);font-size:.82rem;font-weight:700;color:var(--blue);text-decoration:none;transition:var(--t)}
.hc-link svg,.c-link svg{width:13px;height:13px;transition:transform .3s;flex-shrink:0}
.hc-link:hover,.c-link:hover{color:#0d52e8}
.hc-link:hover svg,.c-link:hover svg{transform:translateX(3px)}
.ct-blue .hc-thumb-bg{background:linear-gradient(135deg,#1e40af,#3b82f6)}
.ct-purple .hc-thumb-bg{background:linear-gradient(135deg,#6d28d9,#a855f7)}
.ct-teal .hc-thumb-bg{background:linear-gradient(135deg,#0f766e,#14b8a6)}
.ct-orange .hc-thumb-bg{background:linear-gradient(135deg,#c2410c,#f97316)}
.ct-navy .hc-thumb-bg{background:linear-gradient(135deg,#0a1628,#1563ff)}
.ct-green .hc-thumb-bg{background:linear-gradient(135deg,#166534,#22c55e)}
.courses-cta{text-align:center;margin-top:44px}
/* Scroll words */
.scroll-words{position:relative;background:var(--navy);height:calc(100vh * 9)}
.sw-sticky{position:sticky;top:0;height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden}
.sw-bg-glow{position:absolute;inset:0;pointer-events:none}
.sw-bg-glow::before{content:'';position:absolute;width:500px;height:500px;border-radius:50%;background:rgba(21,99,255,.15);left:50%;top:50%;transform:translate(-50%,-50%);filter:blur(80px);transition:background .4s}
.sw-item{position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;opacity:0;transform:translateY(40px) scale(.94);transition:opacity .35s cubic-bezier(.4,0,.2,1),transform .35s cubic-bezier(.4,0,.2,1);pointer-events:none;text-align:center;width:90%;max-width:900px}
.sw-item.active{opacity:1;transform:translateY(0) scale(1)}
.sw-item.exit{opacity:0;transform:translateY(-40px) scale(1.04)}
.sw-word{font-family:var(--font);font-weight:700;font-size:clamp(3.5rem,11vw,8.5rem);color:var(--white);line-height:1;letter-spacing:-.02em;white-space:nowrap}
.sw-word.is-emoji{font-size:clamp(4rem,13vw,10rem);line-height:1}
.sw-word.color-cyan{color:var(--cyan)}
.sw-word.color-blue{color:#7AB8FF}
.sw-sub{font-family:var(--font);font-size:clamp(.85rem,2vw,1.1rem);color:rgba(255,255,255,.38);letter-spacing:.12em;text-transform:uppercase;margin-top:8px}
.sw-progress{position:absolute;bottom:40px;left:50%;transform:translateX(-50%);display:flex;gap:8px;align-items:center}
.sw-dot{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.18);transition:var(--t)}
.sw-dot.active{background:var(--cyan);transform:scale(1.4)}
.sw-scroll-hint{position:absolute;bottom:44px;right:36px;display:flex;flex-direction:column;align-items:center;gap:6px;opacity:.35}
.sw-scroll-hint span{font-family:var(--font);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--white)}
.sw-scroll-hint svg{width:18px;height:18px;color:var(--white);animation:bob .9s ease-in-out infinite alternate}
@keyframes bob{from{transform:translateY(0)}to{transform:translateY(5px)}}
/* Reviews */
.reviews{background:var(--navy);padding:88px 0;overflow:hidden}
.rev-inner{max-width:1260px;margin:0 auto;padding:0 24px}
.reviews .s-tag{color:var(--cyan)} .reviews .s-tag::before{background:var(--cyan)}
.reviews .s-title{color:var(--white)}
.reviews .s-sub{color:rgba(255,255,255,.45)}
.rev-track-wrap{overflow:hidden;margin:0 -24px;padding:6px 24px}
.rev-track{display:flex;gap:22px;transition:transform .55s cubic-bezier(.4,0,.2,1)}
.rev-card{min-width:330px;max-width:330px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.09);border-radius:var(--radius-lg);padding:26px 22px;flex-shrink:0;position:relative}
.rev-card::before{content:'\201C';font-family:var(--font);font-size:4.5rem;font-weight:700;color:rgba(21,99,255,.35);position:absolute;top:8px;left:18px;line-height:1;pointer-events:none}
.rev-head{display:flex;align-items:center;gap:11px;margin:10px 0 14px;flex-wrap:wrap}
.rev-branch{margin-left:auto;font-size:.65rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:rgba(21,99,255,.18);color:#7AB8FF;border:1px solid rgba(21,99,255,.25);border-radius:50px;padding:3px 9px;flex-shrink:0}
.rev-branch-mah{background:rgba(0,194,203,.15);color:var(--cyan);border-color:rgba(0,194,203,.25)}
.rev-av{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font);font-weight:700;font-size:.82rem;color:var(--white);flex-shrink:0}
.rev-name{font-family:var(--font);font-weight:700;font-size:.9rem;color:var(--white);line-height:1.2}
.rev-date{font-size:.72rem;color:rgba(255,255,255,.38);margin-top:2px}
.rev-stars{display:flex;gap:3px;margin-bottom:12px}
.rev-stars svg{width:14px;height:14px;fill:var(--gold);color:var(--gold);flex-shrink:0}
.rev-text{font-size:.83rem;color:rgba(255,255,255,.58);line-height:1.72}
.rev-src{display:flex;align-items:center;gap:6px;margin-top:16px;padding-top:12px;border-top:1px solid rgba(255,255,255,.07)}
.rev-src span{font-size:.71rem;color:rgba(255,255,255,.28);letter-spacing:.03em}
.rev-controls{display:flex;align-items:center;justify-content:space-between;margin-top:36px;flex-wrap:wrap;gap:12px}
.rev-dots{display:flex;gap:7px;align-items:center}
.rdot{width:26px;height:3px;border-radius:2px;background:rgba(255,255,255,.14);cursor:pointer;transition:var(--t)}
.rdot.active{width:46px;background:var(--cyan)}
.rev-arrows{display:flex;gap:9px}
.rarrow{width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.14);background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--t)}
.rarrow:hover{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.3)}
.rarrow svg{width:17px;height:17px;color:rgba(255,255,255,.55)}
/* Partners */
.partners{background:var(--white);padding:68px 0;border-bottom:1px solid var(--gray-100)}
.part-inner{max-width:1260px;margin:0 auto;padding:0 24px}
.part-label{text-align:center;font-family:var(--font);font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gray-300);margin-bottom:34px}
.part-logos{display:flex;align-items:center;justify-content:center;gap:32px 48px;flex-wrap:wrap}
.part-logo{width:160px;height:80px;display:flex;align-items:center;justify-content:center;transition:var(--t);flex-shrink:0}
.part-logo img{width:100%;height:100%;object-fit:contain;object-position:center;display:block}

/* ==========================================================
   20. NEWS PAGE
   ========================================================== */
.featured-news{padding:56px 0 0;background:var(--white)}
.featured-news-card{display:grid;grid-template-columns:1.1fr 1fr;border-radius:var(--radius-xl);overflow:hidden;border:1px solid var(--gray-100);box-shadow:0 8px 32px rgba(10,22,40,.08)}
.fc-img{position:relative;min-height:420px}
.fc-img img{width:100%;height:100%;object-fit:cover;display:block}
.fc-img-ph{width:100%;height:100%;min-height:420px;background:linear-gradient(135deg,#1e3a6e,#1563FF);display:flex;align-items:center;justify-content:center}
.fc-img-ph svg{width:48px;height:48px;color:rgba(255,255,255,.3)}
.fc-badge{position:absolute;top:18px;left:18px;background:var(--blue);color:var(--white);font-family:var(--font);font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:5px 12px;border-radius:20px}
.fc-badge.featured-badge{background:var(--gold);color:var(--navy)}
.fc-body{padding:40px;background:var(--white);display:flex;flex-direction:column;justify-content:center}
.fc-meta{display:flex;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}
.fc-source{display:flex;align-items:center;gap:6px;font-size:.75rem;font-weight:700;color:var(--blue);letter-spacing:.04em}
.fc-source svg{width:13px;height:13px}
.fc-date{font-size:.75rem;color:var(--gray-300)}
.fc-cat{font-size:.7rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;background:var(--gray-50);color:var(--gray-500);padding:3px 9px;border-radius:20px}
.fc-title{font-family:var(--font);font-size:clamp(1.4rem,2.2vw,2rem);font-weight:700;color:var(--navy);line-height:1.25;margin-bottom:14px}
.fc-excerpt{font-size:.9rem;color:var(--gray-500);line-height:1.75;margin-bottom:24px}
.fc-read{display:inline-flex;align-items:center;gap:8px;font-family:var(--font);font-size:.85rem;font-weight:700;color:var(--blue);text-decoration:none;transition:var(--t)}
.fc-read svg{width:14px;height:14px;transition:transform .3s}
.fc-read:hover{color:#0d52e8} .fc-read:hover svg{transform:translateX(3px)}
.news-grid-section{padding:48px 0 88px;background:var(--white)}
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.nc{background:var(--white);border:1px solid var(--gray-100);border-radius:var(--radius-lg);overflow:hidden;transition:var(--t);display:flex;flex-direction:column}
.nc:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(10,22,40,.1);border-color:transparent}
.nc-img{width:100%;aspect-ratio:16/9;overflow:hidden;background:var(--gray-50);position:relative;flex-shrink:0}
.nc-img img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block;transition:transform .4s cubic-bezier(.4,0,.2,1)}
.nc:hover .nc-img img{transform:scale(1.04)}
.nc-badge{position:absolute;top:12px;left:12px;font-family:var(--font);font-size:.65rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;padding:3px 9px;border-radius:20px;background:var(--white);color:var(--navy)}
.nc-body{padding:20px 18px 22px;flex:1;display:flex;flex-direction:column}
.nc-meta{display:flex;align-items:center;gap:10px;margin-bottom:12px;flex-wrap:wrap}
.nc-cat{font-size:.68rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--blue)}
.nc-date{font-size:.72rem;color:var(--gray-300)}
.nc-dot{width:3px;height:3px;border-radius:50%;background:var(--gray-300);flex-shrink:0}
.nc-title{font-family:var(--font);font-size:1.02rem;font-weight:700;color:var(--navy);line-height:1.3;margin-bottom:10px;flex:1}
.nc-excerpt{font-size:.82rem;color:var(--gray-500);line-height:1.68;margin-bottom:16px}
.nc-read{display:inline-flex;align-items:center;gap:6px;font-family:var(--font);font-size:.8rem;font-weight:700;color:var(--blue);text-decoration:none;transition:var(--t);margin-top:auto}
.nc-read svg{width:13px;height:13px;transition:transform .3s}
.nc-read:hover{color:#0d52e8} .nc-read:hover svg{transform:translateX(3px)}
/* Video card */
.nc.video-card{grid-column:span 2}
.vc-inner{display:grid;grid-template-columns:1.2fr 1fr;gap:0;height:100%}
.vc-video{position:relative;overflow:hidden;background:#000;min-height:280px;cursor:pointer;text-decoration:none;display:block}
.vc-video img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s cubic-bezier(.4,0,.2,1);opacity:.85}
.vc-video:hover img{transform:scale(1.03);opacity:1}
.vc-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:2}
.vc-play-btn{width:72px;height:72px;border-radius:50%;background:rgba(255,255,255,.95);display:flex;align-items:center;justify-content:center;transition:var(--t);box-shadow:0 4px 24px rgba(0,0,0,.4)}
.vc-video:hover .vc-play-btn{transform:scale(1.1);box-shadow:0 8px 32px rgba(0,0,0,.5)}
.vc-play-btn svg{width:28px;height:28px;color:#FF0000;margin-left:4px}
.vc-yt-label{position:absolute;bottom:14px;left:14px;background:rgba(0,0,0,.7);color:#fff;font-family:var(--font);font-size:.72rem;font-weight:700;letter-spacing:.04em;padding:4px 10px;border-radius:4px;display:flex;align-items:center;gap:6px}
.vc-yt-label svg{width:14px;height:14px}
.vc-body{padding:28px 24px;display:flex;flex-direction:column;justify-content:center}
/* Press */
.press-section{padding:72px 0;background:var(--off-white);border-top:1px solid var(--gray-100)}
.press-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:36px}
.press-card{background:var(--white);border:1px solid var(--gray-100);border-radius:var(--radius-lg);padding:24px;display:flex;flex-direction:column;gap:12px;transition:var(--t)}
.press-card:hover{transform:translateY(-3px);box-shadow:0 10px 28px rgba(10,22,40,.08);border-color:transparent}
.press-src{display:flex;align-items:center;gap:8px;font-size:.75rem;font-weight:700;color:var(--gray-400);letter-spacing:.04em;text-transform:uppercase}
.press-src svg{width:14px;height:14px;color:var(--gray-300)}
.press-title{font-family:var(--font);font-size:.97rem;font-weight:700;color:var(--navy);line-height:1.35}
.press-excerpt{font-size:.82rem;color:var(--gray-500);line-height:1.65;flex:1}
.press-link{display:inline-flex;align-items:center;gap:6px;font-family:var(--font);font-size:.78rem;font-weight:700;color:var(--blue);text-decoration:none;margin-top:4px;transition:var(--t)}
.press-link svg{width:12px;height:12px;transition:transform .3s}
.press-link:hover svg{transform:translateX(2px)}
.press-date{font-size:.72rem;color:var(--gray-300)}

/* ==========================================================
   21. LEGAL (TERMS & PRIVACY)
   ========================================================== */
.terms-layout{max-width:1260px;margin:0 auto;padding:64px 24px 96px;display:grid;grid-template-columns:260px 1fr;gap:56px;align-items:start}
.toc{position:sticky;top:88px}
.toc-label{font-family:var(--font);font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gray-300);margin-bottom:14px}
.toc-list{list-style:none;display:flex;flex-direction:column;gap:2px}
.toc-list li a{display:flex;align-items:center;gap:9px;font-family:var(--font);font-size:.82rem;color:var(--gray-500);text-decoration:none;padding:7px 10px;border-radius:var(--radius-sm);transition:var(--t);border-left:2px solid transparent;line-height:1.3}
.toc-list li a:hover{color:var(--navy);background:var(--gray-50);border-left-color:var(--gray-200)}
.toc-list li a.active{color:var(--blue);background:#EFF6FF;border-left-color:var(--blue);font-weight:700}
.toc-list li a .toc-num{font-size:.68rem;font-weight:700;color:var(--gray-300);min-width:18px;flex-shrink:0}
.toc-list li a.active .toc-num{color:var(--blue)}
.toc-divider{height:1px;background:var(--gray-100);margin:14px 0}
.toc-contact{background:var(--off-white);border:1px solid var(--gray-100);border-radius:var(--radius-md);padding:16px;margin-top:16px}
.toc-contact p{font-size:.78rem;color:var(--gray-500);line-height:1.6;margin-bottom:10px}
.toc-contact a{display:inline-flex;align-items:center;gap:6px;font-family:var(--font);font-size:.8rem;font-weight:700;color:var(--blue);text-decoration:none;transition:var(--t)}
.toc-contact a:hover{color:#0d52e8}
.toc-contact a svg{width:13px;height:13px}
.updated-banner{background:var(--off-white);border:1px solid var(--gray-100);border-left:3px solid var(--blue);border-radius:var(--radius-sm);padding:14px 18px;margin-bottom:40px;display:flex;align-items:center;gap:12px}
.updated-banner svg{width:16px;height:16px;color:var(--blue);flex-shrink:0}
.updated-banner p{font-size:.83rem;color:var(--gray-600);line-height:1.5}
.updated-banner p strong{color:var(--navy);font-weight:700}
.tc-section{margin-bottom:48px;scroll-margin-top:96px}
.tc-section-header{display:flex;align-items:flex-start;gap:16px;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--gray-100)}
.tc-num{font-family:var(--font);font-size:.7rem;font-weight:700;color:rgba(21,99,255,.5);letter-spacing:.1em;background:#EFF6FF;padding:4px 9px;border-radius:4px;flex-shrink:0;margin-top:4px}
.tc-title{font-family:var(--font);font-size:1.2rem;font-weight:700;color:var(--navy);line-height:1.25}
.tc-body p{font-size:.93rem;color:var(--gray-700);line-height:1.85;margin-bottom:14px}
.tc-body p:last-child{margin-bottom:0}
.tc-body strong{color:var(--navy);font-weight:700}
.tc-list{list-style:none;display:flex;flex-direction:column;gap:10px;margin:16px 0}
.tc-list li{display:flex;align-items:flex-start;gap:11px;font-size:.93rem;color:var(--gray-700);line-height:1.7}
.tc-list li::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--blue);flex-shrink:0;margin-top:9px}
.tc-highlight{background:linear-gradient(135deg,#EFF6FF,#F8F9FF);border:1px solid rgba(21,99,255,.15);border-radius:var(--radius-md);padding:20px 22px;margin:20px 0;display:flex;gap:14px;align-items:flex-start}
.tc-highlight svg{width:18px;height:18px;color:var(--blue);flex-shrink:0;margin-top:2px}
.tc-highlight p{font-size:.87rem;color:var(--gray-700);line-height:1.72;margin:0}
.tc-highlight p strong{color:var(--navy)}
.tc-warning{background:#FFF7ED;border:1px solid rgba(234,88,12,.2);border-radius:var(--radius-md);padding:18px 22px;margin:20px 0;display:flex;gap:14px;align-items:flex-start}
.tc-warning svg{width:18px;height:18px;color:#EA580C;flex-shrink:0;margin-top:2px}
.tc-warning p{font-size:.87rem;color:#7C2D12;line-height:1.72;margin:0}
.tc-table-wrap{overflow-x:auto;margin:20px 0;border-radius:var(--radius-md);border:1px solid var(--gray-100)}
.tc-table{width:100%;border-collapse:collapse;font-size:.88rem}
.tc-table th{background:var(--off-white);font-family:var(--font);font-weight:700;color:var(--navy);padding:12px 16px;text-align:left;font-size:.78rem;letter-spacing:.04em;text-transform:uppercase;border-bottom:1px solid var(--gray-100)}
.tc-table td{padding:12px 16px;color:var(--gray-700);border-bottom:1px solid var(--gray-50);line-height:1.5;vertical-align:top}
.tc-table tr:last-child td{border-bottom:none}
.tc-table tr:nth-child(even) td{background:var(--off-white)}
.tc-sep{height:1px;background:var(--gray-100);margin:48px 0}
.sig-block{background:var(--navy);border-radius:var(--radius-lg);padding:32px 36px;margin-top:48px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.sig-block p{font-size:.88rem;color:rgba(255,255,255,.55);line-height:1.65;max-width:480px}
.sig-block strong{color:var(--white);font-weight:700;font-size:.95rem;display:block;margin-bottom:4px}
.sig-btn{display:inline-flex;align-items:center;gap:8px;background:var(--blue);color:var(--white);font-family:var(--font);font-weight:700;font-size:.88rem;padding:12px 22px;border-radius:var(--radius-sm);text-decoration:none;transition:var(--t);flex-shrink:0}
.sig-btn:hover{background:#0d52e8;transform:translateY(-1px)}
.sig-btn svg{width:15px;height:15px}

/* ==========================================================
   22. RESPONSIVE
   ========================================================== */
@media(max-width:1024px){
  /* Shared */
  .foot-inner{grid-template-columns:1fr 1fr;gap:32px}
  .br-grid{grid-template-columns:repeat(2,1fr)}
  /* About */
  .ah-inner{grid-template-columns:1fr;gap:0;padding:56px 24px 40px}
  .ah-visual{display:none}
  .who-grid,.commit-grid{grid-template-columns:1fr;gap:40px}
  .vm-grid{grid-template-columns:1fr}
  .values-grid{grid-template-columns:repeat(2,1fr)}
  .strip-inner{grid-template-columns:repeat(2,1fr)}
  .strip-item:nth-child(2){border-right:none}
  .strip-item:nth-child(3){border-top:1px solid var(--gray-100)}
  .strip-item:nth-child(4){border-top:1px solid var(--gray-100);border-right:none}
  /* Articles */
  .articles-grid{grid-template-columns:repeat(2,1fr)}
  .article-card.wide{grid-column:span 2}
  .featured-card{grid-template-columns:1fr}
  .featured-img{min-height:260px}
  /* Contact */
  .contact-grid{grid-template-columns:1fr;gap:48px}
  /* Courses */
  .courses-grid{grid-template-columns:repeat(2,1fr)}
  /* Home */
  .hero-inner-home{grid-template-columns:1fr;padding:56px 24px 48px;gap:0}
  .hero-visual{display:none}
  .stats-inner{grid-template-columns:repeat(2,1fr)}
  .stat-item:nth-child(2){border-right:none}
  .stat-item:nth-child(3){border-right:1px solid var(--gray-100);border-top:1px solid var(--gray-100)}
  .stat-item:nth-child(4){border-top:1px solid var(--gray-100);border-right:none}
  .offer-grid{grid-template-columns:repeat(2,1fr)}
  .home-courses-grid{grid-template-columns:repeat(2,1fr)}
  /* News */
  .featured-news-card{grid-template-columns:1fr}
  .fc-img{min-height:300px}
  .news-grid{grid-template-columns:repeat(2,1fr)}
  .nc.video-card{grid-column:span 2}
  .press-grid{grid-template-columns:repeat(2,1fr)}
  /* Legal */
  .terms-layout{grid-template-columns:220px 1fr;gap:40px}
}
@media(max-width:768px){
  /* Shared */
  .tb-right{display:none}
  .nav-links{display:none}
  .hamburger{display:flex}
  .section{padding:60px 0}
  .s-head{flex-direction:column;align-items:flex-start}
  .foot-inner{grid-template-columns:1fr;gap:28px}
  .foot-bottom{flex-direction:column;align-items:flex-start}
  .cta-actions{flex-direction:column;align-items:stretch}
  .cta-actions .btn{justify-content:center}
  .br-grid{grid-template-columns:1fr;gap:20px}
  .br-img{aspect-ratio:16/9}
  .branches{padding:60px 0}
  /* About */
  .ah-title{font-size:2rem}
  .timeline::before{left:16px}
  .tl-item{grid-template-columns:1fr;gap:0}
  .tl-item:nth-child(odd) .tl-content,.tl-item:nth-child(even) .tl-content{grid-column:1;text-align:left;padding-left:40px}
  .tl-item:nth-child(odd) .tl-spacer,.tl-item:nth-child(even) .tl-spacer{display:none}
  .tl-dot{left:16px}
  .values-grid{grid-template-columns:1fr}
  .commit-highlights{grid-template-columns:1fr}
  .vm-card{padding:40px 24px}
  /* Articles */
  .articles-grid{grid-template-columns:1fr}
  .article-card.wide{grid-column:span 1}
  .newsletter-strip{flex-direction:column;padding:32px 28px}
  .nl-form{width:100%}
  .nl-input{min-width:0;flex:1}
  /* Contact */
  .contact-section,.book-section{padding:60px 0}
  .form-row{grid-template-columns:1fr}
  .datetime-row{grid-template-columns:1fr}
  .time-slots{grid-template-columns:repeat(3,1fr)}
  .book-body{padding:24px 20px 28px}
  .branch-selector{grid-template-columns:1fr}
  .book-tabs .book-tab{padding:16px 12px}
  /* Courses */
  .courses-grid{grid-template-columns:1fr}
  .courses-section{padding:52px 0 64px}
  .sec-head{flex-direction:column;align-items:flex-start}
  /* Gallery */
  .gallery-wrap{padding:28px 20px 80px}
  .gallery-filter-bar{padding:0 20px}
  .gallery-hero{padding:70px 20px 60px}
  .lb-arr{width:40px;height:40px}
  .lb-prev{left:8px} .lb-next{right:8px}
  /* Home */
  .hero-title-main{font-size:2rem}
  .hero-actions{flex-direction:column;align-items:stretch}
  .hero-actions .btn{justify-content:center}
  .offer-grid{grid-template-columns:1fr}
  .home-courses-grid{grid-template-columns:1fr}
  .rev-card{min-width:280px;max-width:280px}
  /* News */
  .news-grid{grid-template-columns:1fr}
  .nc.video-card{grid-column:span 1}
  .vc-inner{grid-template-columns:1fr;grid-template-rows:260px 1fr}
  .vc-video{min-height:260px}
  .press-grid{grid-template-columns:1fr}
  .featured-news-card{border-radius:var(--radius-lg)}
  .fc-body{padding:24px}
  /* Legal */
  .terms-layout{grid-template-columns:1fr;padding:40px 16px 72px}
  .toc{display:none}
  .sig-block{flex-direction:column;align-items:flex-start;padding:24px}
  .tc-table{font-size:.8rem}
  /* Gallery social */
  .ig-divider{display:none}
  .ig-branches{flex-direction:column;gap:1.5rem}
}
@media(max-width:480px){
  .s-inner,.tb-inner,.nav-inner,.ph-inner,.br-inner,.foot-inner,.foot-bottom,
  .book-inner,.cs-inner,.rev-inner,.part-inner{padding-left:16px;padding-right:16px}
  .s-title{font-size:1.65rem}
  .tb-contacts span:last-child{display:none}
  .strip-inner{grid-template-columns:repeat(2,1fr)}
  .ah-title{font-size:1.75rem}
  .team-grid{grid-template-columns:1fr}
  .featured-body{padding:28px 24px}
  .time-slots{grid-template-columns:repeat(2,1fr)}
  .hero-title-main{font-size:1.75rem}
  .stat-num{font-size:2rem}
  .page-wrap{padding-left:16px;padding-right:16px}
  .gallery-wrap{padding:20px 16px 60px}
  .masonry{column-gap:10px}
  .g-item{margin-bottom:10px}
  .gallery-hero{padding:60px 16px 50px}
  .topbar{display:none}
  .gallery-filter-bar{top:80px}
  .br-body{padding:20px 16px 24px}
  .fc-title{font-size:1.3rem}
}

/* ==========================================================
   23. COURSE INNER PAGES
   Per-page theme vars set on <body>:
   --course-accent  (main accent colour)
   --course-light   (light tint)
   --orb-color      (hero orb glow)
   --hero-grad      (full hero background gradient)
   ========================================================== */

/* ── COURSE HERO ── */
.cp-hero{position:relative;min-height:78vh;background:var(--hero-grad,linear-gradient(135deg,#020617 0%,#1e3a8a 40%,#2563eb 100%));display:flex;align-items:center;overflow:hidden}
.cp-orb1{position:absolute;width:600px;height:600px;border-radius:50%;background:var(--orb-color,rgba(37,99,235,.3));right:-100px;top:-150px;filter:blur(90px);pointer-events:none}
.cp-orb2{position:absolute;width:350px;height:350px;border-radius:50%;background:rgba(255,255,255,.04);left:-80px;bottom:-80px;filter:blur(70px);pointer-events:none}
.cp-dots{position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.06) 1.5px,transparent 1.5px);background-size:28px 28px;pointer-events:none}
.cp-hero-inner{max-width:1260px;margin:0 auto;padding:80px 24px;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;position:relative;z-index:2;width:100%}
.cp-breadcrumb{display:flex;align-items:center;gap:8px;margin-bottom:18px;flex-wrap:wrap}
.cp-breadcrumb a{font-size:.78rem;color:rgba(255,255,255,.38);text-decoration:none;transition:var(--t)}
.cp-breadcrumb a:hover{color:var(--course-light,#bfdbfe)}
.cp-breadcrumb span{font-size:.78rem;color:rgba(255,255,255,.2)}
.cp-breadcrumb strong{font-size:.78rem;color:rgba(255,255,255,.55)}
.cp-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);border-radius:50px;padding:6px 16px;font-size:.72rem;font-weight:700;color:var(--course-light,#bfdbfe);letter-spacing:.08em;text-transform:uppercase;margin-bottom:20px}
.cp-badge svg{width:12px;height:12px}
h1.htitle{font-size:clamp(2.2rem,4.5vw,3.4rem);font-weight:700;color:#fff;line-height:1.1;margin-bottom:16px}
h1.htitle .acc{color:var(--course-light,#bfdbfe)}
.cp-desc{font-size:.97rem;color:rgba(255,255,255,.52);line-height:1.8;max-width:480px;margin-bottom:28px}
.cp-meta-bar{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-bottom:32px}
.hm{display:flex;align-items:center;gap:7px;font-size:.82rem;color:rgba(255,255,255,.65)}
.hm svg{width:14px;height:14px;color:var(--course-light,#bfdbfe);flex-shrink:0}
.hm strong{color:#fff}
.cp-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
/* Course page buttons */
.btn-course{background:var(--course-accent,#2563eb);color:#fff}
.btn-course:hover{filter:brightness(1.15);transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.35)}
.btn-course svg,.btn-ghost-w svg{width:15px;height:15px;flex-shrink:0}
/* Hero visual */
.cp-visual{position:relative}
.cp-frame{width:100%;aspect-ratio:4/3;border-radius:var(--radius-xl);overflow:hidden;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;position:relative}
.cp-frame img{width:110%;height:100%;object-fit:cover;object-position:center}
.hv-ph{display:flex;flex-direction:column;align-items:center;gap:10px;padding:20px;text-align:center}
.hv-ph svg{width:48px;height:48px;color:rgba(255,255,255,.2)}
.hv-ph span{font-size:.8rem;color:rgba(255,255,255,.25)}
.cp-stats-bar{position:absolute;bottom:0;left:0;right:0;background:rgba(0,0,0,.7);backdrop-filter:blur(10px);padding:14px 20px;display:flex;justify-content:space-around;border-top:1px solid rgba(255,255,255,.07)}
.cp-stat-item{text-align:center}
.cp-stat-num{font-size:1.3rem;font-weight:700;color:var(--course-light,#bfdbfe);line-height:1}
.cp-stat-lbl{font-size:.63rem;color:rgba(255,255,255,.4);margin-top:2px;letter-spacing:.05em;text-transform:uppercase}

/* ── HIGHLIGHTS STRIP ── */
.highlights{background:var(--off-white);padding:56px 0;border-bottom:1px solid var(--gray-100)}
.hi-inner{max-width:1260px;margin:0 auto;padding:0 24px}
.hi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.hc{background:var(--white);border:1px solid var(--gray-100);border-radius:var(--radius-lg);padding:24px 20px;text-align:center;transition:var(--t);position:relative;overflow:hidden}
.hc::after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;opacity:0;transition:opacity .3s}
.hc:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(10,22,40,.09);border-color:transparent}
.hc:hover::after{opacity:1}
.hc:nth-child(1)::after{background:linear-gradient(90deg,var(--gold),#fbbf24)}
.hc:nth-child(2)::after{background:linear-gradient(90deg,var(--course-accent,#2563eb),var(--course-light,#bfdbfe))}
.hc:nth-child(3)::after{background:linear-gradient(90deg,var(--green),#34d399)}
.hc:nth-child(4)::after{background:linear-gradient(90deg,var(--blue),var(--cyan))}
.hc-icon{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;margin:0 auto 14px}
.hc:nth-child(1) .hc-icon{background:#fef9e7} .hc:nth-child(1) .hc-icon svg{color:var(--gold)}
.hc:nth-child(2) .hc-icon{background:#eff6ff} .hc:nth-child(2) .hc-icon svg{color:var(--course-accent,#2563eb)}
.hc:nth-child(3) .hc-icon{background:#f0fdf4} .hc:nth-child(3) .hc-icon svg{color:var(--green)}
.hc:nth-child(4) .hc-icon{background:#eff6ff} .hc:nth-child(4) .hc-icon svg{color:var(--blue)}
.hc-icon svg{width:26px;height:26px}
.hc h3{font-size:.97rem;font-weight:700;color:var(--navy);margin-bottom:7px}
.hc p{font-size:.8rem;color:var(--gray-500);line-height:1.6}

/* ── COURSE BODY ── */
.course-body{padding:72px 0}
.cbi{max-width:1260px;margin:0 auto;padding:0 24px;display:grid;grid-template-columns:1fr 340px;gap:56px;align-items:start}
.slabel{font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--course-accent,#2563eb);display:flex;align-items:center;gap:6px;margin-bottom:11px}
.slabel::before{content:'';width:16px;height:2px;background:var(--course-accent,#2563eb);border-radius:2px;flex-shrink:0}
.stitle{font-size:clamp(1.5rem,2.4vw,1.95rem);font-weight:700;color:var(--navy);line-height:1.2;margin-bottom:14px}
.para{font-size:.93rem;color:var(--gray-700);line-height:1.82;margin-bottom:13px}
.learn-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:18px 0 32px}
.li{display:flex;align-items:flex-start;gap:9px;background:var(--off-white);border:1px solid var(--gray-100);border-radius:var(--radius-md);padding:11px 13px}
.li svg{width:15px;height:15px;color:var(--green);flex-shrink:0;margin-top:2px}
.li span{font-size:.82rem;color:var(--gray-700);line-height:1.45}

/* ── COURSE OUTLINE ── */
.outline{border:1px solid var(--gray-100);border-radius:var(--radius-lg);overflow:hidden;margin:14px 0 32px}
.oi{border-bottom:1px solid var(--gray-100)}
.oi:last-child{border-bottom:none}
.oh{display:flex;align-items:center;justify-content:space-between;padding:13px 17px;cursor:pointer;transition:var(--t);background:var(--white)}
.oh:hover{background:var(--gray-50)}
.oh-l{display:flex;align-items:center;gap:11px}
.on{width:26px;height:26px;border-radius:50%;background:#eff6ff;display:flex;align-items:center;justify-content:center;font-size:.67rem;font-weight:700;color:var(--course-accent,#2563eb);flex-shrink:0}
.oh-title{font-size:.88rem;font-weight:700;color:var(--navy)}
.oh-sub{font-size:.73rem;color:var(--gray-300);margin-top:1px}
.oa{width:18px;height:18px;color:var(--gray-300);transition:transform .3s;flex-shrink:0}
.oi.open .oa{transform:rotate(180deg)}
.ob{display:none;padding:0 17px 14px 54px}
.ob.open{display:block}
.ob ul{list-style:none;display:flex;flex-direction:column;gap:6px}
.ob ul li{display:flex;align-items:flex-start;gap:7px;font-size:.82rem;color:var(--gray-500);line-height:1.5}
.ob ul li::before{content:'›';color:var(--course-accent,#2563eb);font-weight:700;flex-shrink:0}

/* ── SIDEBAR ── */
.sidebar{position:sticky;top:88px}
.sc{background:var(--white);border:1px solid var(--gray-100);border-radius:var(--radius-xl);overflow:hidden;box-shadow:0 8px 32px rgba(10,22,40,.07)}
.sc-head{background:linear-gradient(135deg,#020617,var(--course-accent,#2563eb));padding:22px}
.sc-lbl{font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.4);margin-bottom:5px}
.sc-name{font-size:1rem;font-weight:700;color:#fff;line-height:1.3;margin-bottom:14px}
.sc-tags{display:flex;gap:7px;flex-wrap:wrap}
.sc-tag{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.14);border-radius:20px;padding:3px 9px;font-size:.66rem;font-weight:700;color:rgba(255,255,255,.65)}
.sc-body{padding:18px}
.sd-list{display:flex;flex-direction:column;gap:10px;margin-bottom:18px}
.sd{display:flex;align-items:center;gap:9px}
.sd-icon{width:30px;height:30px;border-radius:7px;background:var(--off-white);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.sd-icon svg{width:14px;height:14px;color:var(--course-accent,#2563eb)}
.sd-text{font-size:.81rem;color:var(--gray-700);line-height:1.3}
.sd-text strong{color:var(--navy);font-weight:700;display:block;font-size:.78rem}
.enroll-btn{width:100%;background:var(--course-accent,#2563eb);color:#fff;font-family:var(--font);font-weight:700;font-size:.97rem;padding:13px;border-radius:var(--radius-sm);border:none;cursor:pointer;transition:var(--t);display:flex;align-items:center;justify-content:center;gap:9px;margin-bottom:10px}
.enroll-btn:hover{filter:brightness(1.12);transform:translateY(-1px);box-shadow:0 8px 24px rgba(0,0,0,.3)}
.enroll-btn svg{width:16px;height:16px}
.wa-btn{width:100%;background:#25D366;color:#fff;font-family:var(--font);font-weight:700;font-size:.88rem;padding:11px;border-radius:var(--radius-sm);border:none;cursor:pointer;transition:var(--t);display:flex;align-items:center;justify-content:center;gap:8px;text-decoration:none}
.wa-btn:hover{background:#1ebe5d}
.sc-note{font-size:.72rem;color:var(--gray-300);text-align:center;margin-top:10px;line-height:1.5}
.sc-div{height:1px;background:var(--gray-100);margin:14px 0}
.share-row{text-align:center}
.share-row p{font-size:.7rem;color:var(--gray-300);margin-bottom:7px}
.share-btns{display:flex;justify-content:center;gap:7px}
.share-btn{width:30px;height:30px;border-radius:6px;border:1px solid var(--gray-100);display:flex;align-items:center;justify-content:center;text-decoration:none;background:var(--off-white);transition:var(--t)}
.share-btn:hover{border-color:var(--course-accent,#2563eb);background:#eff6ff}
.share-btn svg{width:13px;height:13px;color:var(--gray-500)}

/* ── FAQ ── */
.faq-section{padding:72px 0;background:var(--off-white)}
.faq-inner{max-width:1260px;margin:0 auto;padding:0 24px;display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.faq-img-wrap{width:100%;aspect-ratio:4/3.5;border-radius:var(--radius-xl);overflow:hidden;background:var(--gray-100);display:flex;align-items:center;justify-content:center}
.faq-img-wrap img{width:100%;height:100%;object-fit:cover;display:block}
.faq-ph{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;padding:20px}
.faq-ph svg{width:36px;height:36px;color:var(--gray-300)}
.faq-ph span{font-size:.75rem;color:var(--gray-300)}
.faq-list{display:flex;flex-direction:column}
.fq{border-bottom:1px solid var(--gray-100)}
.fq-q{display:flex;align-items:center;justify-content:space-between;padding:15px 0;cursor:pointer;gap:12px}
.fq-q span{font-size:.91rem;font-weight:700;color:var(--navy);line-height:1.3}
.fq-icon{width:22px;height:22px;border-radius:50%;background:#eff6ff;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:var(--t)}
.fq-icon svg{width:11px;height:11px;color:var(--course-accent,#2563eb);transition:transform .3s}
.fq.open .fq-icon{background:var(--course-accent,#2563eb)}
.fq.open .fq-icon svg{color:#fff;transform:rotate(45deg)}
.fq-a{display:none;font-size:.85rem;color:var(--gray-700);line-height:1.75;padding-bottom:14px}
.fq-a.open{display:block}

/* ── RELATED COURSES ── */
.related{padding:72px 0}
.rel-i{max-width:1260px;margin:0 auto;padding:0 24px}
.rel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:28px}
.rc{border:1px solid var(--gray-100);border-radius:var(--radius-lg);overflow:hidden;transition:var(--t);text-decoration:none;display:block;background:var(--white)}
.rc:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(10,22,40,.1);border-color:transparent}
.rc-img{height:130px;display:flex;align-items:center;justify-content:center;font-size:.75rem;color:rgba(255,255,255,.45);font-family:var(--font)}
.rc-body{padding:14px}
.rc-cat{font-size:.66rem;font-weight:700;color:var(--course-accent,#2563eb);letter-spacing:.07em;text-transform:uppercase;margin-bottom:4px}
.rc-title{font-size:.9rem;font-weight:700;color:var(--navy);line-height:1.3;margin-bottom:5px}
.rc-meta{font-size:.75rem;color:var(--gray-300)}

/* ── COURSE CTA ── */
.cp-cta{background:linear-gradient(135deg,#020617,#1e3a8a 50%,#2563eb);padding:72px 0;text-align:center;position:relative;overflow:hidden}
.cp-cta::before{content:'';position:absolute;width:500px;height:500px;border-radius:50%;background:var(--orb-color,rgba(37,99,235,.25));left:50%;top:50%;transform:translate(-50%,-50%);filter:blur(80px);pointer-events:none}
.cp-cta-inner{max-width:680px;margin:0 auto;padding:0 24px;position:relative;z-index:2}
.cp-cta-inner h2{font-size:clamp(1.8rem,3vw,2.5rem);font-weight:700;color:#fff;margin-bottom:12px;line-height:1.2}
.cp-cta-inner p{font-size:.93rem;color:rgba(255,255,255,.5);margin-bottom:28px;line-height:1.7}
.cp-cta-btns{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}
.cp-cta-btns .btn-white{background:#fff;color:var(--navy)}
.cp-cta-btns .btn-white:hover{background:var(--off-white);transform:translateY(-2px)}
.cp-cta-btns .btn-ghost{background:transparent;color:rgba(255,255,255,.8);border:1px solid rgba(255,255,255,.22)}
.cp-cta-btns .btn-ghost:hover{background:rgba(255,255,255,.08);color:#fff}

/* ── COURSE FOOTER ── */
.course-page footer{background:#010314}
.course-page .foot-bottom{border-top-color:rgba(255,255,255,.05)}
.course-page .foot-col h4{color:#fff}
.course-page .foot-col ul li a:hover{color:var(--course-light,#bfdbfe)}
.course-page .foot-contact a:hover{color:var(--course-light,#bfdbfe)}

/* ── ENROLMENT MODAL ── */
.modal-bg{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:1000;display:none;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(4px)}
.modal-bg.show{display:flex}
.modal{background:#fff;border-radius:20px;width:100%;max-width:520px;max-height:92vh;overflow-y:auto;box-shadow:0 24px 64px rgba(0,0,0,.25)}
.modal::-webkit-scrollbar{width:4px}
.modal::-webkit-scrollbar-thumb{background:var(--gray-100);border-radius:2px}
.modal-top{background:linear-gradient(135deg,#020617,var(--course-accent,#2563eb));padding:26px 26px 22px;border-radius:20px 20px 0 0;position:relative}
.modal-top h3{font-size:1.1rem;font-weight:700;color:#fff;margin-bottom:5px}
.modal-top p{font-size:.8rem;color:rgba(255,255,255,.48);line-height:1.5}
.modal-badge{display:inline-flex;align-items:center;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);border-radius:50px;padding:4px 12px;font-size:.7rem;font-weight:700;color:var(--course-light,#bfdbfe);margin-bottom:12px}
.modal-x{position:absolute;top:14px;right:14px;background:rgba(255,255,255,.1);border:none;cursor:pointer;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:var(--t)}
.modal-x:hover{background:rgba(255,255,255,.2)}
.modal-x svg{width:14px;height:14px;color:#fff}
.modal-body{padding:22px 26px 26px}
.mfr{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.mg{display:flex;flex-direction:column;gap:5px;margin-bottom:12px}
.mg label{font-size:.69rem;font-weight:700;color:var(--gray-700);letter-spacing:.06em;text-transform:uppercase}
.mg input,.mg select,.mg textarea{font-family:var(--font);font-size:.87rem;color:var(--gray-900);border:1.5px solid var(--gray-100);border-radius:7px;padding:9px 12px;outline:none;transition:var(--t);background:var(--gray-50);width:100%}
.mg input:focus,.mg select:focus,.mg textarea:focus{border-color:var(--course-accent,#2563eb);background:#fff;box-shadow:0 0 0 3px rgba(37,99,235,.1)}
.mg textarea{resize:vertical;min-height:75px}
.mg input::placeholder,.mg textarea::placeholder{color:var(--gray-300)}
.modal-submit{width:100%;background:#25D366;color:#fff;font-family:var(--font);font-weight:700;font-size:.97rem;padding:13px;border-radius:9px;border:none;cursor:pointer;transition:var(--t);display:flex;align-items:center;justify-content:center;gap:9px;margin-top:4px}
.modal-submit:hover{background:#1ebe5d;transform:translateY(-1px)}
.modal-note{font-size:.71rem;color:var(--gray-300);text-align:center;margin-top:8px;line-height:1.5}
.modal-success{display:none;text-align:center;padding:32px 26px}
.modal-success svg{width:48px;height:48px;color:var(--green);margin-bottom:12px}
.modal-success h3{font-size:1.15rem;font-weight:700;color:var(--navy);margin-bottom:7px}
.modal-success p{font-size:.86rem;color:var(--gray-500);line-height:1.7;margin-bottom:18px}
.modal-success a{color:var(--course-accent,#2563eb);font-weight:700;text-decoration:none}

/* ── COURSE PAGE RESPONSIVE ── */
@media(max-width:1024px){
  .cp-hero-inner,.cbi{grid-template-columns:1fr;gap:40px}
  .cp-visual,.sidebar{display:none}
  .faq-inner{grid-template-columns:1fr;gap:36px}
  .faq-img-wrap{display:none}
  .hi-grid{grid-template-columns:repeat(2,1fr)}
  .learn-grid{grid-template-columns:1fr}
  .rel-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:768px){
  .cp-hero-inner{padding:56px 16px 48px}
  .rel-grid{grid-template-columns:1fr}
  .hi-grid{grid-template-columns:1fr 1fr}
  .cp-cta-btns{flex-direction:column;align-items:stretch}
  .cp-cta-btns .btn{justify-content:center}
  .faq-section,.related,.course-body{padding:52px 0}
  .cbi{padding:0 16px}
  .mfr{grid-template-columns:1fr}
}
@media(max-width:480px){
  .hi-grid{grid-template-columns:1fr}
  h1.htitle{font-size:1.9rem}
  .cp-hero-inner{padding:44px 16px}
  .rel-i,.hi-inner,.faq-inner,.cp-cta-inner{padding-left:16px;padding-right:16px}
}

/* ==========================================================
   24. ARTICLE INNER PAGES
   ========================================================== */
/* ── PROGRESS BAR ── */
.progress-bar{position:fixed;top:0;left:0;height:3px;background:linear-gradient(90deg,var(--blue),var(--cyan));z-index:999;transition:width .1s linear;width:0%}

/* ── ARTICLE HERO ── */
.article-hero{background:var(--navy);padding:60px 0 0;position:relative;overflow:hidden}
.hero-bg-art{position:absolute;inset:0}
.hba-gradient{position:absolute;inset:0;background:linear-gradient(135deg,#060e1e 0%,#0a1628 40%,#0e1f4a 70%,#0d1a3a 100%)}
.hba-glow{position:absolute;width:700px;height:700px;border-radius:50%;background:rgba(21,99,255,.15);right:-150px;top:-250px;filter:blur(100px);pointer-events:none}
.hba-glow2{position:absolute;width:400px;height:400px;border-radius:50%;background:rgba(0,194,203,.08);left:-50px;bottom:-200px;filter:blur(80px);pointer-events:none}
.hba-grid{position:absolute;inset:0;opacity:.03;background-image:linear-gradient(rgba(255,255,255,1) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,1) 1px,transparent 1px);background-size:48px 48px}
.article-hero .hero-inner{max-width:1260px;margin:0 auto;padding:0 24px;position:relative;z-index:2}
.hero-breadcrumb{display:flex;align-items:center;gap:8px;margin-bottom:24px}
.hero-breadcrumb a{font-size:.78rem;color:rgba(255,255,255,.35);text-decoration:none;transition:var(--t)}
.hero-breadcrumb a:hover{color:var(--cyan)}
.hero-breadcrumb span{font-size:.78rem;color:rgba(255,255,255,.2)}
.hero-breadcrumb strong{font-size:.78rem;color:rgba(255,255,255,.5)}
.hero-cat{display:inline-flex;align-items:center;gap:7px;background:rgba(21,99,255,.2);border:1px solid rgba(21,99,255,.35);border-radius:50px;padding:5px 14px;font-size:.7rem;font-weight:700;color:#7eb8ff;letter-spacing:.1em;text-transform:uppercase;margin-bottom:20px}
.article-hero .hero-title{font-family:var(--display);font-size:clamp(1.9rem,4vw,3.2rem);font-weight:800;color:var(--white);line-height:1.15;margin-bottom:22px;letter-spacing:-.02em;max-width:820px}
.article-hero .hero-title .accent{color:var(--cyan);font-style:italic}
.hero-meta-row{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-bottom:40px}
.hero-meta-item{display:flex;align-items:center;gap:7px;font-size:.78rem;color:rgba(255,255,255,.4)}
.hero-meta-item svg{width:13px;height:13px;flex-shrink:0;opacity:.7}
.meta-divider{width:1px;height:16px;background:rgba(255,255,255,.12)}
.hero-share{display:flex;align-items:center;gap:8px}
.share-label{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.25)}
.article-hero .share-btn{width:30px;height:30px;border-radius:7px;border:1px solid rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;text-decoration:none;cursor:pointer;transition:var(--t);background:none}
.article-hero .share-btn:hover{border-color:rgba(255,255,255,.3);background:rgba(255,255,255,.07)}
.article-hero .share-btn svg{width:13px;height:13px;color:rgba(255,255,255,.45)}
.hero-image-slot{margin-top:48px;height:400px;border-radius:var(--radius-xl) var(--radius-xl) 0 0;overflow:hidden;position:relative}
.hero-image-slot img{width:100%;height:100%;object-fit:cover;border-radius:var(--radius-xl) var(--radius-xl) 0 0;display:block}

/* ── ARTICLE LAYOUT ── */
.article-layout{max-width:1260px;margin:56px auto 0;padding:0 24px 96px;display:grid;grid-template-columns:1fr 320px;gap:60px;align-items:start}
.article-page .sidebar{top:116px}

/* ── ARTICLE BODY ── */
.article-body h2{font-family:var(--display);font-size:1.55rem;font-weight:700;color:var(--navy);line-height:1.25;margin:48px 0 16px;letter-spacing:-.01em}
.article-body h2:first-child{margin-top:0}
.article-body h3{font-family:var(--display);font-size:1.15rem;font-weight:700;color:var(--navy);line-height:1.3;margin:32px 0 12px}
.article-body p{font-size:.97rem;color:var(--gray-700);line-height:1.95;margin-bottom:18px}
.article-body p:last-child{margin-bottom:0}
.article-body strong{color:var(--navy);font-weight:700}
.article-body em{font-style:italic;color:var(--gray-500)}
.article-body a{color:var(--blue);text-decoration:none;border-bottom:1px solid rgba(21,99,255,.25);transition:var(--t)}
.article-body a:hover{border-bottom-color:var(--blue)}
.section-rule{height:1px;background:var(--gray-100);margin:40px 0}

/* ── CONTENT ELEMENTS ── */
.pull-quote{border-left:3px solid var(--blue);padding:20px 28px;margin:32px 0;background:var(--off-white);border-radius:0 var(--radius-md) var(--radius-md) 0}
.pull-quote blockquote{font-family:var(--display);font-size:1.15rem;font-style:italic;color:var(--navy);line-height:1.55;margin-bottom:10px}
.pull-quote cite{font-size:.78rem;font-weight:700;color:var(--gray-400);letter-spacing:.06em;text-transform:uppercase;font-style:normal}
.highlight-box{background:linear-gradient(135deg,#EFF6FF,#F8F9FF);border:1px solid rgba(21,99,255,.15);border-radius:var(--radius-md);padding:22px 26px;margin:28px 0;display:flex;gap:16px;align-items:flex-start}
.highlight-box svg{width:20px;height:20px;color:var(--blue);flex-shrink:0;margin-top:2px}
.highlight-box p{font-size:.9rem;color:var(--gray-700);line-height:1.75;margin:0}
.warning-box{background:#FFF7ED;border:1px solid rgba(234,88,12,.2);border-radius:var(--radius-md);padding:20px 24px;margin:28px 0;display:flex;gap:14px;align-items:flex-start}
.warning-box svg{width:20px;height:20px;color:#EA580C;flex-shrink:0;margin-top:2px}
.warning-box p{font-size:.9rem;color:#7C2D12;line-height:1.75;margin:0}
.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:28px 0}
.stat-card{background:var(--navy);border-radius:var(--radius-md);padding:20px;text-align:center}
.stat-card .stat-num{font-family:var(--display);font-size:2rem;font-weight:800;color:var(--cyan);display:block;line-height:1}
.stat-card .stat-label{font-size:.75rem;color:rgba(255,255,255,.45);margin-top:6px;display:block;line-height:1.4}
.img-slot{margin:32px 0;border-radius:var(--radius-lg);overflow:hidden;position:relative}
.img-caption{font-size:.77rem;color:var(--gray-400);text-align:center;margin-top:10px;font-style:italic;line-height:1.5}
.num-list{list-style:none;display:flex;flex-direction:column;gap:18px;margin:20px 0}
.num-list li{display:flex;gap:16px;align-items:flex-start}
.num-list .num{width:30px;height:30px;border-radius:50%;background:var(--blue);color:var(--white);font-size:.75rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}
.num-list .num-title{font-weight:700;color:var(--navy);font-size:.95rem;margin-bottom:4px}
.num-list .num-text{font-size:.9rem;color:var(--gray-500);line-height:1.7}
.bullet-list{list-style:none;display:flex;flex-direction:column;gap:10px;margin:16px 0}
.bullet-list li{display:flex;align-items:flex-start;gap:11px;font-size:.93rem;color:var(--gray-700);line-height:1.7}
.bullet-list li::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--blue);flex-shrink:0;margin-top:9px}
.verdict-box{background:var(--navy);border-radius:var(--radius-xl);padding:32px 36px;margin:40px 0;position:relative;overflow:hidden}
.vb-glow{position:absolute;width:300px;height:300px;border-radius:50%;background:rgba(21,99,255,.2);right:-60px;top:-60px;filter:blur(60px);pointer-events:none}
.verdict-box .verdict-label{font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--cyan);margin-bottom:12px}
.verdict-box h3{font-family:var(--display);font-size:1.4rem;font-weight:700;color:var(--white);margin-bottom:16px;position:relative;z-index:2}
.verdict-box p{font-size:.9rem;color:rgba(255,255,255,.55);line-height:1.8;position:relative;z-index:2}
.source-tag{display:inline-flex;align-items:center;gap:5px;background:var(--gray-50);border:1px solid var(--gray-100);border-radius:4px;padding:2px 8px;font-size:.72rem;font-weight:700;color:var(--gray-400);letter-spacing:.04em;vertical-align:middle;margin-left:4px}

/* ── ARTICLE SIDEBAR ── */
.sidebar-block{background:var(--off-white);border:1px solid var(--gray-100);border-radius:var(--radius-lg);padding:22px;margin-bottom:20px}
.sb-label{font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gray-300);margin-bottom:14px}
.sb-author{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.sb-avatar{width:44px;height:44px;border-radius:50%;background:var(--navy);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.sb-avatar span{font-size:.85rem;font-weight:700;color:var(--white)}
.sb-author-info strong{font-size:.88rem;font-weight:700;color:var(--navy);display:block}
.sb-author-info small{font-size:.74rem;color:var(--gray-400)}
.sb-author-bio{font-size:.8rem;color:var(--gray-500);line-height:1.6}
.sb-toc-list{list-style:none;display:flex;flex-direction:column;gap:2px}
.sb-toc-list li a{display:flex;align-items:center;gap:8px;font-size:.8rem;color:var(--gray-500);text-decoration:none;padding:6px 8px;border-radius:var(--radius-sm);border-left:2px solid transparent;transition:var(--t);line-height:1.35}
.sb-toc-list li a:hover{color:var(--navy);background:var(--white);border-left-color:var(--gray-200)}
.sb-toc-list li a.active{color:var(--blue);background:var(--white);border-left-color:var(--blue);font-weight:700}
.sb-toc-num{font-size:.65rem;font-weight:700;color:var(--gray-300);min-width:16px}
.sb-toc-list li a.active .sb-toc-num{color:var(--blue)}
.related-card{display:flex;gap:12px;align-items:flex-start;padding:10px 0;border-bottom:1px solid var(--gray-100);text-decoration:none}
.related-card:last-child{border-bottom:none;padding-bottom:0}
.related-card:first-child{padding-top:0}
.rc-dot{width:36px;height:36px;border-radius:8px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:.9rem}
.related-card p{font-size:.8rem;font-weight:700;color:var(--navy);line-height:1.3;transition:var(--t)}
.related-card:hover p{color:var(--blue)}
.related-card small{font-size:.72rem;color:var(--gray-400);margin-top:3px;display:block}
.sb-cta{background:var(--navy);border-radius:var(--radius-lg);padding:22px;text-align:center}
.sb-cta p{font-size:.82rem;color:rgba(255,255,255,.5);line-height:1.6;margin-bottom:14px}
.sb-cta strong{color:var(--white);font-size:.88rem;display:block;margin-bottom:8px}
.sb-cta a{display:inline-flex;align-items:center;gap:7px;background:var(--blue);color:var(--white);font-family:var(--font);font-weight:700;font-size:.82rem;padding:10px 18px;border-radius:var(--radius-sm);text-decoration:none;transition:var(--t)}
.sb-cta a:hover{background:#0d52e8}

/* ── ARTICLE RESPONSIVE ── */
@media(max-width:1024px){
  .article-layout{grid-template-columns:1fr;gap:40px}
  .article-page .sidebar{position:static}
  .stat-row{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:768px){
  .hero-image-slot{height:260px}
  .stat-row{grid-template-columns:1fr 1fr}
  .article-layout{padding:0 16px 72px;margin-top:40px}
}
@media(max-width:480px){
  .article-layout{padding:0 16px 56px}
  .stat-row{grid-template-columns:1fr}
  .pull-quote blockquote{font-size:1rem}
  .article-body h2{font-size:1.3rem}
  .verdict-box{padding:24px 20px}
  .hero-image-slot{height:200px}
}
