:root {
    --yellow: #FFD700;
    --red: #E8273A;
    --blue: #1E4DA1;
    --blue-dark: #163A7D;
    --text-dark: #1A1A2E;
    --text-muted: #666;
}
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
body { font-family: 'Nunito', sans-serif; color: var(--text-dark); overflow-x: hidden; }

/* ── NAVBAR ── */
.navbar {
    background: linear-gradient(135deg, #1E4DA1 0%, #163A7D 100%);
    padding: 10px 0;
    position: sticky; top: 0; z-index: 1050;
    box-shadow: 0 4px 20px rgba(0,0,0,.3);
}
.navbar-brand img { height: 56px; object-fit: contain; filter: drop-shadow(0 2px 6px rgba(0,0,0,.4)); }
.navbar-nav .nav-link { color: rgba(255,255,255,.9) !important; font-weight: 700; font-size: .93rem; padding: 8px 14px !important; transition: color .2s; }
.navbar-nav .nav-link:hover, .navbar-nav .nav-link.active { color: var(--yellow) !important; }
.btn-login { background: var(--yellow) !important; color: var(--blue) !important; font-weight: 900 !important; border-radius: 50px !important; padding: 8px 24px !important; border: none !important; font-size: .93rem !important; transition: all .2s; box-shadow: 0 4px 12px rgba(0,0,0,.25); }
.btn-login:hover { transform: translateY(-2px); box-shadow: 0 8px 20px rgba(0,0,0,.3); }
.navbar-toggler { border: 2px solid rgba(255,255,255,.4); padding: 4px 8px; }
.navbar-toggler-icon { filter: invert(1); }

/* ── HERO ── */
.hero {
    background: linear-gradient(150deg, #FFE135 0%, #FFD700 45%, #FFC200 100%);
    padding: 60px 0 0; position: relative; overflow: hidden; min-height: 500px;
}
.hero::before {
    content: ''; position: absolute; inset: 0;
    background: radial-gradient(ellipse 55% 75% at 75% 40%, rgba(255,255,255,.38) 0%, transparent 65%),
                radial-gradient(circle 180px at 2% 90%, rgba(255,200,0,.5) 0%, transparent 70%);
    pointer-events: none;
}
.hero-dec { position: absolute; border-radius: 50%; pointer-events: none; }
.hd1 { width:280px; height:280px; background:#1E4DA1; opacity:.12; top:-80px; right:32%; }
.hd2 { width:130px; height:130px; background:#E8273A; opacity:.14; bottom:10px; left:3%; }

.hero-badge { display:inline-block; background:var(--red); color:#fff; font-size:.72rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; padding:5px 16px; border-radius:50px; margin-bottom:16px; }
.hero h1 { font-family:'Poppins',sans-serif; font-weight:900; font-size:clamp(2rem,4.5vw,3.1rem); line-height:1.1; color:var(--red); margin-bottom:18px; }
.hero .lead { color:#3a3a3a; font-size:1.05rem; max-width:430px; line-height:1.6; }
.btn-apply { background:var(--blue); color:#fff; font-weight:800; border-radius:50px; padding:13px 34px; border:none; font-size:1rem; box-shadow:0 6px 22px rgba(30,77,161,.42); transition:all .25s; text-decoration:none; display:inline-block; }
.btn-apply:hover { background:var(--blue-dark); color:#fff; transform:translateY(-3px); box-shadow:0 12px 28px rgba(30,77,161,.5); }
.btn-ghost { background:transparent; color:var(--blue); font-weight:800; border-radius:50px; padding:12px 30px; border:2.5px solid var(--blue); font-size:1rem; transition:all .25s; text-decoration:none; display:inline-block; }
.btn-ghost:hover { background:var(--blue); color:#fff; transform:translateY(-3px); }
.btn-trial { background:var(--yellow); color:var(--blue); font-weight:900; border:none; border-radius:50px; padding:16px 52px; font-size:1.05rem; letter-spacing:.02em; box-shadow:0 8px 28px rgba(255,193,7,.45); transition:all .2s; text-decoration:none; display:inline-block; }
.btn-trial:hover { transform:translateY(-3px); box-shadow:0 14px 38px rgba(255,193,7,.6); color:var(--blue); }
.btn-view { background:transparent; color:var(--blue); font-weight:800; border-radius:50px; padding:12px 30px; border:2.5px solid var(--blue); font-size:1rem; transition:all .25s; text-decoration:none; display:inline-block; }
.btn-view:hover { background:var(--blue); color:#fff; transform:translateY(-3px); }

.hero-img-wrap { position:relative; display:flex; align-items:flex-end; justify-content:center; }
.hero-photo { width:100%; max-height:460px; object-fit:cover; object-position:top center; border-radius:22px 22px 0 0; display:block; box-shadow:0 -6px 40px rgba(0,0,0,.18); }

.stat-pill { position:absolute; background:#fff; border-radius:50px; padding:9px 18px; display:flex; align-items:center; gap:10px; box-shadow:0 8px 30px rgba(0,0,0,.18); white-space:nowrap; z-index:5; }
.stat-pill .sp-icon { font-size:1.5rem; }
.stat-pill .sp-text strong { display:block; font-weight:900; font-size:.95rem; color:var(--blue); line-height:1.1; }
.stat-pill .sp-text small { font-size:.72rem; color:var(--text-muted); }
.sp1 { left:-10px; top:50px; animation:spf 3.5s ease-in-out infinite; }
.sp2 { right:-10px; top:100px; animation:spf 3.5s ease-in-out infinite 1s; }
.sp3 { left:50%; transform:translateX(-50%); bottom:40px; animation:spf3 3.5s ease-in-out infinite 2s; }
@keyframes spf  { 0%,100%{transform:translateY(0);}       50%{transform:translateY(-10px);} }
@keyframes spf3 { 0%,100%{transform:translateX(-50%) translateY(0);} 50%{transform:translateX(-50%) translateY(-10px);} }
@media(max-width:991px){ .stat-pill{display:none;} }

/* ── TRUST BAR ── */
.trust-bar { background:#fff; border-bottom:1px solid #e8e8e8; padding:20px 0; }
.trust-item { display:flex; align-items:center; justify-content:center; gap:10px; font-weight:700; font-size:.88rem; color:var(--text-dark); }
.trust-item i { font-size:1.5rem; color:var(--blue); }

/* ── SECTION HEADINGS ── */
.sec-title { font-family:'Poppins',sans-serif; font-weight:900; font-size:clamp(1.8rem,3.5vw,2.4rem); color:var(--text-dark); }
.hl-blue { color:var(--blue); }
.hl-red  { color:var(--red);  }

/* ── PROGRAMS ── */
.programs-section { padding:80px 0; background:#f7f8fc; }
.prog-card { background:#fff; border-radius:22px; overflow:hidden; box-shadow:0 6px 30px rgba(0,0,0,.09); transition:transform .3s,box-shadow .3s; height:100%; }
.prog-card:hover { transform:translateY(-8px); box-shadow:0 18px 45px rgba(0,0,0,.16); }
.prog-card-head { padding:16px 20px; font-family:'Poppins',sans-serif; font-weight:800; font-size:1.05rem; letter-spacing:.04em; text-align:center; }
.pch-primary { background:var(--yellow); color:var(--red); }
.pch-junior  { background:var(--yellow); color:var(--blue); }
.pch-senior  { background:var(--yellow); color:var(--red); }
.prog-card-body { padding:22px; text-align:center; }
.prog-card-body img { width:100%; height:170px; object-fit:cover; border-radius:14px; margin-bottom:14px; }
.prog-card-body p { font-size:.93rem; color:var(--text-muted); margin-bottom:18px; }
.btn-explore { background:var(--blue); color:#fff; border-radius:50px; padding:10px 30px; font-weight:700; border:none; transition:all .2s; text-decoration:none; display:inline-block; }
.btn-explore:hover { background:var(--blue-dark); color:#fff; transform:translateY(-2px); }

/* ── STATS BAND ── */
.stats-band { background:var(--yellow); padding:44px 0; }
.stat-box { text-align:center; }
.stat-num { font-family:'Poppins',sans-serif; font-weight:900; font-size:2.4rem; color:var(--blue); line-height:1; }
.stat-lbl { font-weight:700; font-size:.9rem; color:#333; margin-top:4px; }

/* ── SUBJECTS ── */
.subjects-section { padding:80px 0; background:linear-gradient(145deg,#1E4DA1 0%,#163A7D 100%); position:relative; overflow:hidden; }
.subjects-section::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse 55% 60% at 85% 15%,rgba(255,255,255,.07) 0%,transparent 60%); }

.subj-card { background:rgba(255,255,255,.97); border-radius:18px; padding:18px 16px 20px; display:flex; flex-direction:column; gap:10px; box-shadow:0 5px 22px rgba(0,0,0,.14); transition:transform .3s,box-shadow .3s; height:100%; }
.subj-card:hover { transform:translateY(-7px); box-shadow:0 16px 38px rgba(0,0,0,.26); }
.subj-top { display:flex; align-items:center; gap:12px; }
.subj-icon { width:48px; height:48px; border-radius:13px; display:flex; align-items:center; justify-content:center; font-size:1.4rem; flex-shrink:0; }
.si-math    { background:#EBF8FF; color:#2B6CB0; }
.si-english { background:#EFF6FF; color:#2563EB; }
.si-physics { background:#FFFBEB; color:#D97706; }
.si-chem    { background:#F0FFF4; color:#16A34A; }
.si-bio     { background:#FFF5F5; color:#DC2626; }
.si-coding  { background:#FAF5FF; color:#7C3AED; }
.subj-name { font-weight:800; font-size:.98rem; color:var(--text-dark); line-height:1.2; }
.subj-desc { font-size:.77rem; color:var(--text-muted); }
.btn-enroll { background:var(--red); color:#fff; border-radius:50px; padding:7px 22px; font-weight:700; font-size:.84rem; border:none; align-self:flex-start; transition:all .2s; cursor:pointer; }
.btn-enroll:hover { background:#c41e2e; color:#fff; transform:translateY(-2px); }
.btn-explore-all { background:transparent; border:2px solid rgba(255,255,255,.75); color:#fff; border-radius:50px; padding:12px 40px; font-weight:700; font-size:1rem; transition:all .2s; text-decoration:none; display:inline-block; }
.btn-explore-all:hover { background:rgba(255,255,255,.15); color:#fff; }

/* ── TESTIMONIALS ── */
.testimonials-section { padding:80px 0; background:linear-gradient(170deg,#FFF9D6 0%,#fff 60%); }
.testi-card { background:#fff; border-radius:24px; padding:32px; box-shadow:0 8px 40px rgba(0,0,0,.1); border:1px solid #f0ede0; max-width:660px; margin:0 auto; }
.testi-avatar { width:68px; height:68px; border-radius:50%; border:3px solid var(--yellow); flex-shrink:0; object-fit:cover; }
.testi-name { font-weight:900; font-size:1.05rem; color:var(--text-dark); }
.testi-stars { color:var(--yellow); font-size:1.1rem; letter-spacing:2px; }
.testi-text { font-size:.97rem; line-height:1.75; color:#333; margin-top:14px; }
.testi-hl { font-weight:800; color:var(--blue); }
.carousel-btn { background:var(--blue); color:#fff; border:none; border-radius:50px; width:44px; height:44px; display:flex; align-items:center; justify-content:center; font-size:.95rem; transition:all .2s; cursor:pointer; }
.carousel-btn:hover { background:var(--blue-dark); transform:scale(1.08); }
.btn-trial { background:var(--yellow); color:var(--blue); font-weight:900; border:none; border-radius:50px; padding:16px 52px; font-size:1.05rem; letter-spacing:.02em; box-shadow:0 8px 28px rgba(255,193,7,.45); transition:all .2s; text-decoration:none; display:inline-block; }
.btn-trial:hover { transform:translateY(-3px); box-shadow:0 14px 38px rgba(255,193,7,.6); color:var(--blue); }

/* ── FOOTER ── */
.footer { background:var(--blue-dark); color:rgba(255,255,255,.72); padding:50px 0 24px; font-size:.88rem; }
.footer a { color:rgba(255,255,255,.72); text-decoration:none; transition:color .2s; }
.footer a:hover { color:var(--yellow); }
.footer-heading { color:var(--yellow); font-weight:800; font-size:.95rem; margin-bottom:14px; display:block; }
.footer ul { list-style:none; padding:0; }
.footer ul li { margin-bottom:8px; }
.footer-social a { width:38px; height:38px; background:rgba(255,255,255,.1); border-radius:50%; display:inline-flex; align-items:center; justify-content:center; transition:all .2s; }
.footer-social a:hover { background:var(--yellow); color:var(--blue) !important; }

/* ══════════════════════════ WHATSAPP FLOAT ══════════════════════════ */
.wa-float { position:fixed; bottom:32px; right:28px; z-index:999; background:#25D366; color:#fff; width:58px; height:58px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:1.6rem; box-shadow:0 6px 22px rgba(37,211,102,.5); text-decoration:none; transition:all .25s; }
.wa-float:hover { transform:scale(1.12) translateY(-4px); color:#fff; }

/* ── SCROLL FADE ── */
.fu { opacity:0; transform:translateY(28px); transition:opacity .65s ease,transform .65s ease; }
.fu.in { opacity:1; transform:translateY(0); }


/* ABOUT US */
/* ════════════ PAGE HERO ════════════ */
.about-hero {
    background: linear-gradient(150deg, #FFE135 0%, #FFD700 45%, #FFC200 100%);
    padding: 60px 0 0;
    position: relative;
    overflow: hidden;
    min-height: 480px;
}
.about-hero::before {
    content:''; position:absolute; inset:0;
    background:
    radial-gradient(ellipse 55% 75% at 75% 40%, rgba(255,255,255,.38) 0%, transparent 65%),
    radial-gradient(circle 180px at 2% 90%, rgba(255,200,0,.5) 0%, transparent 70%);
    pointer-events:none;
}
.hero-dec { position:absolute; border-radius:50%; pointer-events:none; }
.hd1 { width:280px;height:280px;background:#1E4DA1;opacity:.12;top:-80px;right:32%; }
.hd2 { width:130px;height:130px;background:#E8273A;opacity:.14;bottom:10px;left:3%; }

.about-hero .hero-badge { display:inline-block; background:var(--red); color:#fff; font-size:.72rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; padding:5px 16px; border-radius:50px; margin-bottom:16px; }
.about-hero h1 { font-family:'Poppins',sans-serif; font-weight:900; font-size:clamp(2rem,4.5vw,3rem); line-height:1.1; color:var(--red); margin-bottom:18px; }
.about-hero .lead { color:#3a3a3a; font-size:1.05rem; max-width:460px; line-height:1.65; }

.about-hero-img { width:100%; max-height:440px; object-fit:cover; object-position:top center; border-radius:22px 22px 0 0; display:block; box-shadow:0 -6px 40px rgba(0,0,0,.18); }

/* ════════════ BREADCRUMB ════════════ */
.breadcrumb-bar {
    background: #fff;
    border-bottom: 1px solid #e8e8e8;
    padding: 14px 0;
}
.breadcrumb-bar .breadcrumb { margin:0; font-size:.88rem; font-weight:600; }
.breadcrumb-item a { color:var(--blue); text-decoration:none; }
.breadcrumb-item a:hover { color:var(--red); }
.breadcrumb-item.active { color:var(--text-muted); }
.breadcrumb-item + .breadcrumb-item::before { color:var(--text-muted); }

/* ════════════ WHO WE ARE ════════════ */
.who-section { padding:80px 0; background:#fff; }
.who-img {
    width:100%; border-radius:22px;
    box-shadow:0 12px 40px rgba(0,0,0,.12);
    object-fit:cover;
    max-height:380px;
}
.who-section h2 { font-family:'Poppins',sans-serif; font-weight:900; font-size:clamp(1.8rem,3vw,2.3rem); color:var(--text-dark); margin-bottom:6px; }
.who-divider { width:52px; height:4px; background:var(--yellow); border-radius:4px; margin-bottom:20px; }
.who-section p { font-size:1rem; line-height:1.75; color:#444; }
.who-check { list-style:none; padding:0; margin:20px 0; }
.who-check li { display:flex; align-items:center; gap:10px; font-weight:700; font-size:.97rem; color:var(--text-dark); margin-bottom:10px; }
.who-check li i { color:var(--blue); font-size:1rem; background:#EBF8FF; width:26px; height:26px; border-radius:50%; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.who-section .mission-note { font-style:italic; color:var(--text-muted); font-size:.95rem; border-left:4px solid var(--yellow); padding-left:16px; margin-top:20px; }

/* ════════════ MISSION & VISION ════════════ */
.mv-section { padding:80px 0; background:#f7f8fc; }
.mv-card {
    background:#fff;
    border-radius:22px;
    padding:36px 30px;
    height:100%;
    box-shadow:0 6px 30px rgba(0,0,0,.08);
    transition:transform .3s, box-shadow .3s;
    border-top:5px solid transparent;
}
.mv-card:hover { transform:translateY(-6px); box-shadow:0 18px 45px rgba(0,0,0,.14); }
.mv-card.mission { border-color:var(--yellow); }
.mv-card.vision  { border-color:var(--blue); }
.mv-card .mv-icon { font-size:2.2rem; margin-bottom:16px; }
.mv-card h3 { font-family:'Poppins',sans-serif; font-weight:900; font-size:1.35rem; color:var(--text-dark); margin-bottom:12px; }
.mv-card p { font-size:.97rem; line-height:1.75; color:#444; }
.mv-card strong { color:var(--blue); }

/* ════════════ STATS BAND (same as index) ════════════ */
.stats-band { background:var(--yellow); padding:48px 0; }
.stat-box { text-align:center; }
.stat-num { font-family:'Poppins',sans-serif; font-weight:900; font-size:2.5rem; color:var(--blue); line-height:1; }
.stat-lbl { font-weight:700; font-size:.9rem; color:#333; margin-top:6px; }

/* ════════════ CORE VALUES ════════════ */
.values-section { padding:80px 0; background:#fff; }
.val-card {
    background:#f7f8fc;
    border-radius:18px;
    padding:26px 22px;
    height:100%;
    transition:transform .3s, box-shadow .3s, background .3s;
    border:2px solid transparent;
}
.val-card:hover { transform:translateY(-6px); box-shadow:0 14px 36px rgba(0,0,0,.1); background:#fff; border-color:var(--yellow); }
.val-icon { font-size:2rem; margin-bottom:12px; }
.val-card h4 { font-family:'Poppins',sans-serif; font-weight:800; font-size:1.05rem; color:var(--text-dark); margin-bottom:6px; }
.val-card p { font-size:.87rem; color:var(--text-muted); line-height:1.6; }

/* ════════════ WHY CHOOSE US ════════════ */
.why-section {
    padding:80px 0;
    background:linear-gradient(145deg, #1E4DA1 0%, #163A7D 100%);
    position:relative; overflow:hidden;
}
.why-section::before {
    content:''; position:absolute; inset:0;
    background:radial-gradient(ellipse 55% 60% at 85% 15%, rgba(255,255,255,.07) 0%, transparent 60%);
}
.why-card {
    background:rgba(255,255,255,.97);
    border-radius:20px;
    padding:28px 22px;
    height:100%;
    box-shadow:0 5px 22px rgba(0,0,0,.14);
    transition:transform .3s, box-shadow .3s;
    text-align:center;
}
.why-card:hover { transform:translateY(-7px); box-shadow:0 16px 38px rgba(0,0,0,.26); }
.why-card .wc-icon { width:64px; height:64px; border-radius:18px; display:flex; align-items:center; justify-content:center; font-size:1.8rem; margin:0 auto 16px; }
.wci-1 { background:#EBF8FF; }
.wci-2 { background:#FFF5F5; }
.wci-3 { background:#F0FFF4; }
.wci-4 { background:#FFFBEB; }
.why-card h4 { font-family:'Poppins',sans-serif; font-weight:800; font-size:1.05rem; color:var(--text-dark); margin-bottom:8px; }
.why-card p { font-size:.88rem; color:var(--text-muted); line-height:1.6; margin-bottom:18px; }
.btn-enroll { background:var(--red); color:#fff; border-radius:50px; padding:8px 24px; font-weight:700; font-size:.87rem; border:none; transition:all .2s; cursor:pointer; }
.btn-enroll:hover { background:#c41e2e; transform:translateY(-2px); }

/* ════════════ FOUNDER ════════════ */
.founder-section { padding:80px 0; background:#f7f8fc; }
.founder-img-wrap { position:relative; }
.founder-img {
    width:100%;
    max-height:440px;
    object-fit:cover;
    object-position:top;
    border-radius:22px;
    box-shadow:0 14px 45px rgba(0,0,0,.16);
}
.founder-badge {
    position:absolute;
    bottom:24px; left:-18px;
    background:var(--yellow);
    border-radius:16px;
    padding:14px 20px;
    box-shadow:0 8px 28px rgba(0,0,0,.2);
    font-family:'Poppins',sans-serif;
}
.founder-badge .fb-num { font-weight:900; font-size:1.6rem; color:var(--blue); line-height:1; }
.founder-badge .fb-lbl { font-size:.78rem; font-weight:700; color:#333; }

.founder-tag { display:inline-block; background:var(--yellow); color:var(--blue); font-size:.75rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; padding:5px 16px; border-radius:50px; margin-bottom:14px; }
.founder-section h2 { font-family:'Poppins',sans-serif; font-weight:900; font-size:clamp(1.7rem,3vw,2.2rem); color:var(--text-dark); margin-bottom:6px; }
.founder-sub { font-size:1.05rem; color:var(--text-muted); margin-bottom:20px; }
.founder-section p { font-size:.98rem; line-height:1.8; color:#444; }
.founder-stat { display:flex; align-items:center; gap:10px; }
.founder-stat span { font-weight:800; font-size:1rem; color:var(--text-dark); }
.founder-stat i { font-size:1.3rem; }
.flags { display:flex; gap:8px; flex-wrap:wrap; }
.flag-item { font-size:1.6rem; }

/* ════════════ TEACHING TEAM ════════════ */
.team-section { padding:80px 0; background:#fff; }
.tutor-card {
    background:#f7f8fc;
    border-radius:22px;
    padding:28px 20px 24px;
    text-align:center;
    height:100%;
    transition:transform .3s, box-shadow .3s;
    border:2px solid transparent;
}
.tutor-card:hover { transform:translateY(-8px); box-shadow:0 18px 45px rgba(0,0,0,.12); border-color:var(--yellow); background:#fff; }
.tutor-avatar {
    width:100px; height:100px;
    border-radius:50%;
    object-fit:cover;
    border:4px solid var(--yellow);
    margin:0 auto 16px;
    display:block;
    box-shadow:0 4px 18px rgba(0,0,0,.15);
}
.tutor-name { font-family:'Poppins',sans-serif; font-weight:800; font-size:1.05rem; color:var(--text-dark); margin-bottom:4px; }
.tutor-role { font-size:.83rem; font-weight:700; color:var(--blue); background:#EBF8FF; display:inline-block; padding:3px 12px; border-radius:50px; margin-bottom:10px; }
.tutor-bio { font-size:.85rem; color:var(--text-muted); line-height:1.6; }

/* ════════════ GLOBAL REACH ════════════ */
.global-section {
    padding:70px 0;
    background:linear-gradient(135deg, #163A7D 0%, #1E4DA1 100%);
    text-align:center;
    position:relative; overflow:hidden;
}
.global-section::before {
    content:''; position:absolute; inset:0;
    background:radial-gradient(ellipse 70% 60% at 50% 50%, rgba(255,255,255,.05) 0%, transparent 70%);
}
.global-section h2 { font-family:'Poppins',sans-serif; font-weight:900; font-size:clamp(1.8rem,3.5vw,2.3rem); color:#fff; margin-bottom:12px; }
.global-section h2 span { color:var(--yellow); }
.global-section p { color:rgba(255,255,255,.8); font-size:1rem; max-width:580px; margin:0 auto 40px; line-height:1.7; }
.globe-flags { display:flex; flex-wrap:wrap; justify-content:center; gap:12px; margin-bottom:40px; }
.globe-flag { background:rgba(255,255,255,.1); border-radius:12px; padding:10px 18px; display:flex; align-items:center; gap:8px; font-size:.88rem; font-weight:700; color:#fff; transition:background .2s; }
.globe-flag:hover { background:rgba(255,255,255,.2); }
.globe-flag .flag-emoji { font-size:1.4rem; }

/* ════════════ TESTIMONIAL (same as index) ════════════ */
.testimonials-section { padding:80px 0; background:linear-gradient(170deg,#FFF9D6 0%,#fff 60%); }
.testi-card { background:#fff; border-radius:24px; padding:32px; box-shadow:0 8px 40px rgba(0,0,0,.1); border:1px solid #f0ede0; max-width:660px; margin:0 auto; }
.testi-avatar { width:68px; height:68px; border-radius:50%; border:3px solid var(--yellow); flex-shrink:0; object-fit:cover; }
.testi-name { font-weight:900; font-size:1.05rem; color:var(--text-dark); }
.testi-stars { color:var(--yellow); font-size:1.1rem; letter-spacing:2px; }
.testi-text { font-size:.97rem; line-height:1.75; color:#333; margin-top:14px; }
.testi-hl { font-weight:800; color:var(--blue); }
.carousel-btn { background:var(--blue); color:#fff; border:none; border-radius:50px; width:44px; height:44px; display:flex; align-items:center; justify-content:center; font-size:.95rem; transition:all .2s; cursor:pointer; }
.carousel-btn:hover { background:var(--blue-dark); transform:scale(1.08); }

/* ════════════ FOOTER (identical to index) ════════════ */
.footer { background:var(--blue-dark); color:rgba(255,255,255,.72); padding:50px 0 24px; font-size:.88rem; }
.footer a { color:rgba(255,255,255,.72); text-decoration:none; transition:color .2s; }
.footer a:hover { color:var(--yellow); }
.footer-heading { color:var(--yellow); font-weight:800; font-size:.95rem; margin-bottom:14px; display:block; }
.footer ul { list-style:none; padding:0; }
.footer ul li { margin-bottom:8px; }
.footer-social a { width:38px; height:38px; background:rgba(255,255,255,.1); border-radius:50%; display:inline-flex; align-items:center; justify-content:center; transition:all .2s; }
.footer-social a:hover { background:var(--yellow); color:var(--blue) !important; }

/* Tutors Page */
/* ══════════════════════════════════════
       PAGE HERO
    ══════════════════════════════════════ */
    .page-hero {
      background: linear-gradient(150deg, #FFE135 0%, #FFD700 45%, #FFC200 100%);
      padding: 60px 0 0;
      position: relative;
      overflow: hidden;
      min-height: 460px;
    }
    .page-hero::before {
      content: ''; position: absolute; inset: 0;
      background:
        radial-gradient(ellipse 55% 75% at 75% 40%, rgba(255,255,255,.38) 0%, transparent 65%),
        radial-gradient(circle 180px at 2% 90%, rgba(255,200,0,.5) 0%, transparent 70%);
      pointer-events: none;
    }
    .hero-dec { position:absolute; border-radius:50%; pointer-events:none; }
    .hd1 { width:280px;height:280px;background:#1E4DA1;opacity:.12;top:-80px;right:32%; }
    .hd2 { width:130px;height:130px;background:#E8273A;opacity:.14;bottom:10px;left:3%; }
    .hd3 { width:70px;height:70px;background:#fff;opacity:.18;top:60px;left:44%; }

    .hero-badge { display:inline-block; background:var(--red); color:#fff; font-size:.72rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; padding:5px 16px; border-radius:50px; margin-bottom:16px; }
    .page-hero h1 { font-family:'Poppins',sans-serif; font-weight:900; font-size:clamp(2rem,4.5vw,3rem); line-height:1.1; color:var(--red); margin-bottom:18px; }
    .page-hero .lead { color:#3a3a3a; font-size:1.05rem; max-width:480px; line-height:1.65; }
    .hero-photo { width:100%; max-height:440px; object-fit:cover; object-position:top center; border-radius:22px 22px 0 0; display:block; box-shadow:0 -6px 40px rgba(0,0,0,.18); }

    /* ══════════════════════════════════════
       BREADCRUMB
    ══════════════════════════════════════ */
    .breadcrumb-bar { background:#fff; border-bottom:1px solid #e8e8e8; padding:14px 0; }
    .breadcrumb-bar .breadcrumb { margin:0; font-size:.88rem; font-weight:600; }
    .breadcrumb-item a { color:var(--blue); text-decoration:none; }
    .breadcrumb-item a:hover { color:var(--red); }
    .breadcrumb-item.active { color:var(--text-muted); }
    .breadcrumb-item + .breadcrumb-item::before { color:var(--text-muted); }

    /* ══════════════════════════════════════
       INTRO STRIP
    ══════════════════════════════════════ */
    .intro-strip { background:#fff; padding:60px 0; }
    .intro-strip h2 { font-family:'Poppins',sans-serif; font-weight:900; font-size:clamp(1.7rem,3vw,2.2rem); }
    .intro-strip p { font-size:1rem; line-height:1.8; color:#444; max-width:680px; margin:14px auto 0; }
    .intro-stat { text-align:center; }
    .intro-stat .num { font-family:'Poppins',sans-serif; font-weight:900; font-size:2rem; color:var(--blue); }
    .intro-stat .lbl { font-size:.85rem; font-weight:700; color:var(--text-muted); margin-top:3px; }

    /* ══════════════════════════════════════
       FILTER BAR
    ══════════════════════════════════════ */
    .filter-bar { background:#f7f8fc; padding:28px 0; border-top:1px solid #eee; border-bottom:1px solid #eee; }
    .filter-wrap { display:flex; flex-wrap:wrap; gap:10px; align-items:center; justify-content:center; }
    .filter-btn {
      background:#fff;
      border:2px solid #e0e0e0;
      border-radius:50px;
      padding:8px 22px;
      font-family:'Nunito',sans-serif;
      font-weight:700;
      font-size:.88rem;
      color:var(--text-dark);
      cursor:pointer;
      transition:all .2s;
    }
    .filter-btn:hover,
    .filter-btn.active {
      background:var(--blue);
      border-color:var(--blue);
      color:#fff;
    }
    .filter-search {
      display:flex; align-items:center;
      background:#fff;
      border:2px solid #e0e0e0;
      border-radius:50px;
      padding:6px 18px;
      gap:8px;
      transition:border-color .2s;
    }
    .filter-search:focus-within { border-color:var(--blue); }
    .filter-search input { border:none; outline:none; font-family:'Nunito',sans-serif; font-weight:600; font-size:.88rem; background:transparent; color:var(--text-dark); width:180px; }
    .filter-search i { color:var(--text-muted); font-size:.9rem; }

    /* ══════════════════════════════════════
       TUTOR GRID
    ══════════════════════════════════════ */
    .tutors-section { padding:70px 0 90px; background:#f7f8fc; }

    .tutor-card {
      background:#fff;
      border-radius:24px;
      overflow:hidden;
      box-shadow:0 6px 30px rgba(0,0,0,.08);
      transition:transform .3s, box-shadow .3s;
      height:100%;
      display:flex; flex-direction:column;
    }
    .tutor-card:hover { transform:translateY(-8px); box-shadow:0 20px 50px rgba(0,0,0,.15); }

    /* Card top band */
    .tc-band {
      height:8px;
    }
    .band-blue   { background:var(--blue); }
    .band-yellow { background:var(--yellow); }
    .band-red    { background:var(--red); }

    .tc-body { padding:28px 24px 24px; flex:1; display:flex; flex-direction:column; }

    .tc-avatar-wrap { position:relative; width:90px; height:90px; margin:0 auto 16px; }
    .tc-avatar {
      width:90px; height:90px;
      border-radius:50%;
      object-fit:cover;
      border:4px solid var(--yellow);
      display:block;
      box-shadow:0 4px 16px rgba(0,0,0,.14);
    }
    .tc-online {
      position:absolute; bottom:4px; right:4px;
      width:16px; height:16px;
      background:#22c55e;
      border-radius:50%;
      border:2.5px solid #fff;
    }

    .tc-name { font-family:'Poppins',sans-serif; font-weight:800; font-size:1.08rem; color:var(--text-dark); text-align:center; margin-bottom:4px; }
    .tc-role { display:inline-block; background:#EBF8FF; color:var(--blue); font-size:.78rem; font-weight:700; padding:3px 14px; border-radius:50px; margin-bottom:12px; }
    .tc-role.red { background:#FFF5F5; color:var(--red); }
    .tc-role.green { background:#F0FFF4; color:#16A34A; }
    .tc-role.purple { background:#FAF5FF; color:#7C3AED; }
    .tc-role.orange { background:#FFFBEB; color:#D97706; }

    .tc-subjects { display:flex; flex-wrap:wrap; gap:5px; justify-content:center; margin-bottom:14px; }
    .tc-subject-tag { background:#f7f8fc; color:var(--text-muted); font-size:.75rem; font-weight:700; padding:3px 10px; border-radius:20px; border:1px solid #eee; }

    .tc-stars { color:var(--yellow); font-size:.95rem; text-align:center; letter-spacing:2px; margin-bottom:4px; }
    .tc-rating-label { font-size:.78rem; color:var(--text-muted); font-weight:700; text-align:center; margin-bottom:14px; }

    .tc-meta { display:flex; justify-content:center; gap:18px; margin-bottom:16px; }
    .tc-meta-item { text-align:center; }
    .tc-meta-item .tm-num { font-family:'Poppins',sans-serif; font-weight:900; font-size:1.05rem; color:var(--blue); }
    .tc-meta-item .tm-lbl { font-size:.7rem; color:var(--text-muted); font-weight:700; }

    .tc-divider { height:1px; background:#f0f0f0; margin:0 -24px 16px; }

    .tc-bio { font-size:.86rem; line-height:1.65; color:#444; flex:1; text-align:center; margin-bottom:20px; }

    .tc-flags { display:flex; gap:6px; justify-content:center; margin-bottom:16px; flex-wrap:wrap; }
    .tc-flag { font-size:1.15rem; }

    .tc-actions { display:flex; gap:10px; }
    .tc-btn-main {
      flex:1;
      background:var(--blue);
      color:#fff;
      font-weight:800;
      font-size:.87rem;
      border:none;
      border-radius:50px;
      padding:10px 16px;
      cursor:pointer;
      transition:all .2s;
    }
    .tc-btn-main:hover { background:var(--blue-dark); transform:translateY(-2px); }
    .tc-btn-ghost {
      width:42px; height:42px;
      border:2px solid #e0e0e0;
      border-radius:50%;
      background:transparent;
      color:var(--text-muted);
      font-size:.95rem;
      display:flex; align-items:center; justify-content:center;
      cursor:pointer;
      transition:all .2s;
      flex-shrink:0;
    }
    .tc-btn-ghost:hover { border-color:var(--red); color:var(--red); }

    /* ══════════════════════════════════════
       FEATURED TUTOR (full-width spotlight)
    ══════════════════════════════════════ */
    .spotlight-section { padding:80px 0; background:#fff; }
    .spotlight-img {
      width:100%;
      max-height:460px;
      object-fit:cover;
      object-position:top;
      border-radius:22px;
      box-shadow:0 14px 45px rgba(0,0,0,.14);
    }
    .spotlight-tag { display:inline-block; background:var(--yellow); color:var(--blue); font-size:.75rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; padding:5px 16px; border-radius:50px; margin-bottom:14px; }
    .spotlight-section h2 { font-family:'Poppins',sans-serif; font-weight:900; font-size:clamp(1.7rem,3vw,2.2rem); color:var(--text-dark); margin-bottom:6px; }
    .spotlight-section p { font-size:.98rem; line-height:1.8; color:#444; }
    .spotlight-divider { width:50px; height:4px; background:var(--yellow); border-radius:4px; margin:8px 0 18px; }
    .spot-check { list-style:none; padding:0; margin:18px 0; }
    .spot-check li { display:flex; align-items:center; gap:10px; font-weight:700; font-size:.95rem; color:var(--text-dark); margin-bottom:10px; }
    .spot-check li i { color:var(--blue); background:#EBF8FF; width:26px; height:26px; border-radius:50%; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
    .spot-badge-row { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:24px; }
    .spot-badge { background:#f7f8fc; border:1px solid #e8e8e8; border-radius:12px; padding:10px 16px; text-align:center; }
    .spot-badge .sb-num { font-family:'Poppins',sans-serif; font-weight:900; font-size:1.3rem; color:var(--blue); }
    .spot-badge .sb-lbl { font-size:.73rem; font-weight:700; color:var(--text-muted); }

    /* ══════════════════════════════════════
       HOW IT WORKS
    ══════════════════════════════════════ */
    .how-section {
      padding:80px 0;
      background:linear-gradient(145deg, #1E4DA1 0%, #163A7D 100%);
      position:relative; overflow:hidden;
    }
    .how-section::before {
      content:''; position:absolute; inset:0;
      background:radial-gradient(ellipse 55% 60% at 85% 15%, rgba(255,255,255,.07) 0%, transparent 60%);
    }
    .how-card {
      background:rgba(255,255,255,.97);
      border-radius:20px;
      padding:32px 24px 28px;
      text-align:center;
      height:100%;
      position:relative;
      box-shadow:0 5px 22px rgba(0,0,0,.14);
      transition:transform .3s, box-shadow .3s;
    }
    .how-card:hover { transform:translateY(-7px); box-shadow:0 16px 38px rgba(0,0,0,.26); }
    .how-step-num {
      width:44px; height:44px;
      background:var(--yellow);
      border-radius:50%;
      display:flex; align-items:center; justify-content:center;
      font-family:'Poppins',sans-serif;
      font-weight:900;
      font-size:1.1rem;
      color:var(--blue);
      margin:0 auto 18px;
      box-shadow:0 4px 14px rgba(255,193,7,.5);
    }
    .how-icon { font-size:2.2rem; margin-bottom:12px; }
    .how-card h4 { font-family:'Poppins',sans-serif; font-weight:800; font-size:1.05rem; color:var(--text-dark); margin-bottom:8px; }
    .how-card p { font-size:.88rem; color:var(--text-muted); line-height:1.65; }
    /* connector arrows (desktop only) */
    .how-arrow {
      position:absolute;
      top:50%; right:-22px;
      transform:translateY(-50%);
      font-size:1.4rem;
      color:rgba(255,255,255,.4);
      z-index:2;
    }

/* ══════════════════════════════════════
       STATS BAND
    ══════════════════════════════════════ */
    .stats-band { background:var(--yellow); padding:48px 0; }
    .stat-box { text-align:center; }
    .stat-num { font-family:'Poppins',sans-serif; font-weight:900; font-size:2.5rem; color:var(--blue); line-height:1; }
    .stat-lbl { font-weight:700; font-size:.9rem; color:#333; margin-top:6px; }

    /* ══════════════════════════════════════
       SUBJECTS TAUGHT
    ══════════════════════════════════════ */
    .subjects-section { padding:80px 0; background:#f7f8fc; }
    .subj-pill {
      background:#fff;
      border:2px solid #e8e8e8;
      border-radius:60px;
      padding:14px 24px;
      display:flex;
      align-items:center;
      gap:12px;
      font-weight:800;
      font-size:.93rem;
      color:var(--text-dark);
      transition:all .25s;
      cursor:pointer;
    }
    .subj-pill:hover { border-color:var(--blue); color:var(--blue); background:#EBF8FF; transform:translateY(-3px); box-shadow:0 8px 22px rgba(30,77,161,.12); }
    .subj-pill .sp-icon { width:42px; height:42px; border-radius:12px; display:flex; align-items:center; justify-content:center; font-size:1.3rem; flex-shrink:0; }
    .spi-math    { background:#EBF8FF; }
    .spi-english { background:#EFF6FF; }
    .spi-physics { background:#FFFBEB; }
    .spi-chem    { background:#F0FFF4; }
    .spi-bio     { background:#FFF5F5; }
    .spi-coding  { background:#FAF5FF; }
    .spi-hist    { background:#FFF7ED; }
    .spi-geo     { background:#ECFDF5; }

    /* ══════════════════════════════════════
       TESTIMONIAL
    ══════════════════════════════════════ */
    .testimonials-section { padding:80px 0; background:linear-gradient(170deg,#FFF9D6 0%,#fff 60%); }
    .testi-card { background:#fff; border-radius:24px; padding:32px; box-shadow:0 8px 40px rgba(0,0,0,.1); border:1px solid #f0ede0; max-width:660px; margin:0 auto; }
    .testi-avatar { width:68px; height:68px; border-radius:50%; border:3px solid var(--yellow); flex-shrink:0; object-fit:cover; }
    .testi-name { font-weight:900; font-size:1.05rem; color:var(--text-dark); }
    .testi-stars { color:var(--yellow); font-size:1.1rem; letter-spacing:2px; }
    .testi-text { font-size:.97rem; line-height:1.75; color:#333; margin-top:14px; }
    .testi-hl { font-weight:800; color:var(--blue); }
    .carousel-btn { background:var(--blue); color:#fff; border:none; border-radius:50px; width:44px; height:44px; display:flex; align-items:center; justify-content:center; font-size:.95rem; transition:all .2s; cursor:pointer; }
    .carousel-btn:hover { background:var(--blue-dark); transform:scale(1.08); }

    /* ══════════════════════════════════════
       CTA BAND
    ══════════════════════════════════════ */
    .cta-section {
      padding:80px 0;
      background:linear-gradient(150deg, #FFE135 0%, #FFD700 50%, #FFC200 100%);
      text-align:center;
      position:relative; overflow:hidden;
    }
    .cta-section::before {
      content:''; position:absolute; inset:0;
      background:radial-gradient(ellipse 60% 70% at 50% 50%, rgba(255,255,255,.3) 0%, transparent 70%);
    }
    .cta-section h2 { font-family:'Poppins',sans-serif; font-weight:900; font-size:clamp(1.8rem,3.5vw,2.5rem); color:var(--red); position:relative; margin-bottom:14px; }
    .cta-section p { font-size:1.05rem; color:#3a3a3a; max-width:560px; margin:0 auto 32px; line-height:1.7; position:relative; }


    /* Testimonials Page*/
    /* floating trust pills on hero */
    .trust-pill { position:absolute; background:#fff; border-radius:50px; padding:9px 18px; display:flex; align-items:center; gap:10px; box-shadow:0 8px 30px rgba(0,0,0,.16); white-space:nowrap; z-index:5; }
    .trust-pill .tp-icon { font-size:1.4rem; }
    .trust-pill .tp-text strong { display:block; font-weight:900; font-size:.92rem; color:var(--blue); line-height:1.1; }
    .trust-pill .tp-text small { font-size:.7rem; color:var(--text-muted); }
    .tp1 { left:-10px; top:50px; animation:tpf 3.5s ease-in-out infinite; }
    .tp2 { right:-10px; top:110px; animation:tpf 3.5s ease-in-out infinite 1.2s; }
    .tp3 { left:50%; transform:translateX(-50%); bottom:42px; animation:tpf3 3.5s ease-in-out infinite 2.2s; }
    @keyframes tpf  { 0%,100%{transform:translateY(0);}       50%{transform:translateY(-10px);} }
    @keyframes tpf3 { 0%,100%{transform:translateX(-50%) translateY(0);} 50%{transform:translateX(-50%) translateY(-10px);} }

    /* ══════════════════════════════════════
       BREADCRUMB
    ══════════════════════════════════════ */
    .breadcrumb-bar { background:#fff; border-bottom:1px solid #e8e8e8; padding:14px 0; }
    .breadcrumb-bar .breadcrumb { margin:0; font-size:.88rem; font-weight:600; }
    .breadcrumb-item a { color:var(--blue); text-decoration:none; }
    .breadcrumb-item a:hover { color:var(--red); }
    .breadcrumb-item.active { color:var(--text-muted); }
    .breadcrumb-item+.breadcrumb-item::before { color:var(--text-muted); }

    /* ══════════════════════════════════════
       TRUST STATS BAR
    ══════════════════════════════════════ */
    .trust-bar { background:#fff; padding:38px 0; border-bottom:1px solid #eee; }
    .ts-item { text-align:center; }
    .ts-num { font-family:'Poppins',sans-serif; font-weight:900; font-size:2rem; color:var(--blue); line-height:1; }
    .ts-lbl { font-size:.83rem; font-weight:700; color:var(--text-muted); margin-top:5px; }

    /* ══════════════════════════════════════
       FILTER BAR
    ══════════════════════════════════════ */
    .filter-bar { background:#f7f8fc; padding:26px 0; border-bottom:1px solid #eee; position:sticky; top:76px; z-index:100; }
    .filter-wrap { display:flex; flex-wrap:wrap; gap:10px; align-items:center; justify-content:center; }
    .filter-btn { background:#fff; border:2px solid #e0e0e0; border-radius:50px; padding:8px 22px; font-family:'Nunito',sans-serif; font-weight:700; font-size:.88rem; color:var(--text-dark); cursor:pointer; transition:all .2s; }
    .filter-btn:hover, .filter-btn.active { background:var(--blue); border-color:var(--blue); color:#fff; }
    .filter-btn.active-red { background:var(--red); border-color:var(--red); color:#fff; }

    /* ══════════════════════════════════════
       FEATURED TESTIMONIAL (big hero card)
    ══════════════════════════════════════ */
    .featured-section { padding:80px 0; background:linear-gradient(170deg,#FFF9D6 0%,#fff 60%); }
    .featured-card {
      background:#fff;
      border-radius:28px;
      padding:48px 44px;
      box-shadow:0 12px 60px rgba(0,0,0,.1);
      border:2px solid #f5eecc;
      position:relative;
      overflow:hidden;
    }
    .featured-card::before {
      content:'\201C';
      position:absolute; top:-10px; left:30px;
      font-size:14rem; line-height:1;
      color:var(--yellow); opacity:.25;
      font-family:'Georgia',serif;
      pointer-events:none;
    }
    .featured-avatar {
      width:90px; height:90px;
      border-radius:50%; object-fit:cover;
      border:4px solid var(--yellow);
      box-shadow:0 6px 22px rgba(0,0,0,.15);
    }
    .featured-name { font-family:'Poppins',sans-serif; font-weight:900; font-size:1.2rem; color:var(--text-dark); }
    .featured-meta { font-size:.87rem; color:var(--text-muted); font-weight:700; margin-top:2px; }
    .featured-stars { color:var(--yellow); font-size:1.3rem; letter-spacing:3px; margin:10px 0; }
    .featured-text { font-size:1.15rem; line-height:1.8; color:#333; font-style:italic; position:relative; z-index:1; }
    .featured-text strong { color:var(--blue); font-style:normal; }
    .featured-tag { display:inline-block; background:#EBF8FF; color:var(--blue); font-size:.75rem; font-weight:800; padding:4px 14px; border-radius:50px; margin-top:16px; }
    .featured-badge { position:absolute; top:24px; right:24px; background:var(--yellow); border-radius:16px; padding:10px 18px; text-align:center; box-shadow:0 6px 20px rgba(255,193,7,.4); }
    .featured-badge .fb-num { font-family:'Poppins',sans-serif; font-weight:900; font-size:1.4rem; color:var(--blue); line-height:1; }
    .featured-badge .fb-lbl { font-size:.7rem; font-weight:700; color:#333; }

    /* ══════════════════════════════════════
       TESTIMONIAL GRID CARDS
    ══════════════════════════════════════ */
    .reviews-section { padding:80px 0 90px; background:#f7f8fc; }

    .review-card {
      background:#fff;
      border-radius:22px;
      padding:28px 26px 24px;
      box-shadow:0 6px 30px rgba(0,0,0,.07);
      transition:transform .3s, box-shadow .3s;
      height:100%;
      display:flex; flex-direction:column;
      border-top:4px solid transparent;
      position:relative;
    }
    .review-card:hover { transform:translateY(-8px); box-shadow:0 20px 50px rgba(0,0,0,.13); }
    .review-card.bt-yellow { border-top-color:var(--yellow); }
    .review-card.bt-blue   { border-top-color:var(--blue); }
    .review-card.bt-red    { border-top-color:var(--red); }

    .rc-quote { font-size:2.5rem; color:var(--yellow); line-height:1; margin-bottom:6px; font-family:'Georgia',serif; }
    .rc-text { font-size:.93rem; line-height:1.75; color:#333; flex:1; margin-bottom:18px; font-style:italic; }
    .rc-text strong { color:var(--blue); font-style:normal; }

    .rc-divider { height:1px; background:#f0f0f0; margin:0 -26px 18px; }

    .rc-avatar { width:52px; height:52px; border-radius:50%; object-fit:cover; border:3px solid var(--yellow); flex-shrink:0; }
    .rc-name { font-family:'Poppins',sans-serif; font-weight:800; font-size:.97rem; color:var(--text-dark); }
    .rc-location { font-size:.78rem; color:var(--text-muted); font-weight:700; }
    .rc-stars { color:var(--yellow); font-size:.88rem; letter-spacing:2px; margin-top:3px; }
    .rc-tag { display:inline-block; font-size:.72rem; font-weight:800; padding:3px 10px; border-radius:20px; margin-top:8px; }
    .rt-primary { background:#FFF9DB; color:#B7791F; }
    .rt-junior  { background:#EBF8FF; color:var(--blue); }
    .rt-senior  { background:#FFF5F5; color:var(--red); }
    .rt-family  { background:#FAF5FF; color:#7C3AED; }
    .rt-maths   { background:#F0FFF4; color:#16A34A; }
    .rt-english { background:#EFF6FF; color:#2563EB; }
    .rt-science { background:#FFFBEB; color:#D97706; }
    .rt-coding  { background:#FAF5FF; color:#7C3AED; }

    /* verified badge */
    .rc-verified { position:absolute; top:18px; right:18px; background:#F0FFF4; color:#16A34A; font-size:.7rem; font-weight:800; padding:3px 10px; border-radius:20px; }

    /* ══════════════════════════════════════
       VIDEO TESTIMONIALS SECTION
    ══════════════════════════════════════ */
    .video-section {
      padding:80px 0;
      background:linear-gradient(145deg,#1E4DA1 0%,#163A7D 100%);
      position:relative; overflow:hidden;
    }
    .video-section::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse 55% 60% at 85% 15%,rgba(255,255,255,.07) 0%,transparent 60%); }

    .video-card {
      background:rgba(255,255,255,.97);
      border-radius:20px; overflow:hidden;
      box-shadow:0 8px 30px rgba(0,0,0,.2);
      transition:transform .3s, box-shadow .3s;
      height:100%;
    }
    .video-card:hover { transform:translateY(-7px); box-shadow:0 20px 50px rgba(0,0,0,.3); }
    .video-thumb {
      position:relative; cursor:pointer;
      overflow:hidden;
    }
    .video-thumb img { width:100%; height:180px; object-fit:cover; display:block; transition:transform .4s; }
    .video-card:hover .video-thumb img { transform:scale(1.05); }
    .video-play {
      position:absolute; inset:0;
      display:flex; align-items:center; justify-content:center;
      background:rgba(0,0,0,.3);
    }
    .video-play .vp-btn {
      width:54px; height:54px;
      background:var(--yellow);
      border-radius:50%;
      display:flex; align-items:center; justify-content:center;
      font-size:1.3rem; color:var(--blue);
      box-shadow:0 6px 20px rgba(255,193,7,.55);
      transition:transform .2s, box-shadow .2s;
    }
    .video-card:hover .vp-btn { transform:scale(1.12); box-shadow:0 10px 28px rgba(255,193,7,.7); }
    .video-card-body { padding:20px 20px 22px; }
    .video-card-body .vc-name { font-family:'Poppins',sans-serif; font-weight:800; font-size:.97rem; color:var(--text-dark); margin-bottom:2px; }
    .video-card-body .vc-meta { font-size:.78rem; color:var(--text-muted); font-weight:700; margin-bottom:8px; }
    .video-card-body .vc-quote { font-size:.85rem; color:#444; line-height:1.6; font-style:italic; }
    .video-card-body .vc-stars { color:var(--yellow); font-size:.85rem; letter-spacing:2px; margin-top:10px; }

    
    /* VIDEO MODAL */
    #videoModal{display:none;position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.88);align-items:center;justify-content:center;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:modalFadeIn .25s ease;}
    #videoModal.open{display:flex;}
    @keyframes modalFadeIn{from{opacity:0}to{opacity:1}}
    .vm-container{position:relative;width:100%;max-width:860px;margin:0 16px;animation:modalSlideUp .3s ease;}
    @keyframes modalSlideUp{from{transform:translateY(32px);opacity:0}to{transform:translateY(0);opacity:1}}
    .vm-close{position:absolute;top:-44px;right:0;background:rgba(255,255,255,.12);border:1.5px solid rgba(255,255,255,.22);border-radius:50%;width:38px;height:38px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;font-size:1rem;transition:all .2s;z-index:2;}
    .vm-close:hover{background:rgba(232,39,58,.85);border-color:transparent;transform:scale(1.1);}
    .vm-video-wrap{position:relative;width:100%;padding-top:56.25%;border-radius:18px;overflow:hidden;background:#000;box-shadow:0 28px 80px rgba(0,0,0,.7);}
    .vm-video-wrap video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
    .vm-caption{margin-top:14px;display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
    .vm-caption-avatar{width:44px;height:44px;border-radius:50%;object-fit:cover;border:2.5px solid rgba(255,215,0,.6);flex-shrink:0;}
    .vm-caption-name{font-family:'Poppins',sans-serif;font-weight:900;font-size:.98rem;color:#fff;line-height:1.2;}
    .vm-caption-meta{font-size:.8rem;font-weight:700;color:rgba(255,255,255,.6);margin-top:2px;}
    .vm-caption-stars{margin-left:auto;color:#FFD700;font-size:1rem;letter-spacing:2px;}
    /* Card hover polish */
    .video-play{cursor:pointer;}
    .video-play:hover .vp-btn{transform:scale(1.12);background:rgba(255,215,0,1);color:#1E4DA1;}
    .video-thumb{position:relative;overflow:hidden;}
    .video-thumb img{transition:transform .35s ease;display:block;width:100%;}
    .video-thumb:hover img{transform:scale(1.05);}

    /* ══════════════════════════════════════
       SUCCESS STORIES (full-width spotlight)
    ══════════════════════════════════════ */
    .stories-section { padding:80px 0; background:#fff; }
    .story-card {
      background:#f7f8fc;
      border-radius:24px;
      overflow:hidden;
      box-shadow:0 8px 36px rgba(0,0,0,.08);
      transition:transform .35s, box-shadow .35s;
      height:100%;
    }
    .story-card:hover { transform:translateY(-8px); box-shadow:0 22px 55px rgba(0,0,0,.14); }
    .story-card img { width:100%; height:200px; object-fit:cover; display:block; }
    .story-body { padding:26px 24px 28px; }
    .story-tag { display:inline-block; font-size:.72rem; font-weight:800; padding:4px 12px; border-radius:20px; margin-bottom:12px; }
    .story-body h4 { font-family:'Poppins',sans-serif; font-weight:800; font-size:1.08rem; color:var(--text-dark); margin-bottom:10px; line-height:1.35; }
    .story-body p { font-size:.88rem; line-height:1.7; color:#444; margin-bottom:16px; }
    .story-result { display:flex; align-items:center; gap:10px; font-size:.87rem; font-weight:800; }
    .story-result .sr-icon { width:34px; height:34px; border-radius:10px; display:flex; align-items:center; justify-content:center; font-size:1rem; flex-shrink:0; }
    .story-result.sr-up   { color:#16A34A; }
    .story-result.sr-up .sr-icon { background:#F0FFF4; }
    .story-result.sr-star { color:var(--blue); }
    .story-result.sr-star .sr-icon { background:#EBF8FF; }

    /* ══════════════════════════════════════
       STATS BAND
    ══════════════════════════════════════ */
    .stats-band { background:var(--yellow); padding:48px 0; }
    .stat-box { text-align:center; }
    .stat-num { font-family:'Poppins',sans-serif; font-weight:900; font-size:2.5rem; color:var(--blue); line-height:1; }
    .stat-lbl { font-weight:700; font-size:.9rem; color:#333; margin-top:6px; }

    /* ══════════════════════════════════════
       COUNTRIES SECTION
    ══════════════════════════════════════ */
    .countries-section { padding:70px 0; background:#f7f8fc; }
    .country-pill {
      background:#fff; border:2px solid #eee;
      border-radius:50px; padding:12px 20px;
      display:flex; align-items:center; gap:10px;
      font-weight:700; font-size:.88rem; color:var(--text-dark);
      transition:all .22s; cursor:default;
    }
    .country-pill:hover { border-color:var(--blue); background:#EBF8FF; color:var(--blue); transform:translateY(-3px); box-shadow:0 8px 22px rgba(30,77,161,.1); }
    .country-pill .cp-flag { font-size:1.5rem; }
    .country-pill .cp-count { margin-left:auto; font-size:.75rem; color:var(--text-muted); font-weight:800; }

    /* ══════════════════════════════════════
       SUBMIT A REVIEW SECTION
    ══════════════════════════════════════ */
    .submit-section { padding:80px 0; background:#fff; }
    .submit-card {
      background:linear-gradient(135deg,#1E4DA1 0%,#163A7D 100%);
      border-radius:28px; padding:52px 48px;
      position:relative; overflow:hidden;
      box-shadow:0 16px 55px rgba(30,77,161,.3);
    }
    .submit-card::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse 70% 60% at 80% 20%,rgba(255,255,255,.09) 0%,transparent 70%); }
    .submit-card h2 { font-family:'Poppins',sans-serif; font-weight:900; font-size:clamp(1.7rem,3vw,2.2rem); color:#fff; margin-bottom:10px; position:relative; }
    .submit-card p { color:rgba(255,255,255,.82); font-size:1rem; line-height:1.7; max-width:520px; position:relative; }
    .submit-form-wrap { position:relative; }
    .submit-form .sf-field {
      background:rgba(255,255,255,.12);
      border:2px solid rgba(255,255,255,.25);
      border-radius:14px; padding:14px 18px;
      font-family:'Nunito',sans-serif; font-weight:600;
      font-size:.95rem; color:#fff; width:100%;
      transition:border-color .2s; outline:none;
      margin-bottom:14px;
    }
    .submit-form .sf-field::placeholder { color:rgba(255,255,255,.55); }
    .submit-form .sf-field:focus { border-color:var(--yellow); }
    .submit-form textarea.sf-field { min-height:110px; resize:vertical; }
    .star-rating { display:flex; gap:6px; margin-bottom:16px; }
    .star-rating i { font-size:1.6rem; color:rgba(255,255,255,.35); cursor:pointer; transition:color .15s; }
    .star-rating i.lit { color:var(--yellow); }
    .btn-submit {
      background:var(--yellow); color:var(--blue);
      font-family:'Poppins',sans-serif; font-weight:900;
      font-size:1rem; border:none; border-radius:50px;
      padding:14px 40px; cursor:pointer; transition:all .2s;
      box-shadow:0 6px 22px rgba(255,193,7,.5);
    }
    .btn-submit:hover { transform:translateY(-3px); box-shadow:0 12px 30px rgba(255,193,7,.65); }
    .sf-select {
      background:rgba(255,255,255,.12);
      border:2px solid rgba(255,255,255,.25);
      border-radius:14px; padding:14px 18px;
      font-family:'Nunito',sans-serif; font-weight:600;
      font-size:.95rem; color:#fff; width:100%;
      transition:border-color .2s; outline:none;
      margin-bottom:14px;
      -webkit-appearance:none; appearance:none;
    }
    .sf-select option { background:#1E4DA1; color:#fff; }
    .sf-select:focus { border-color:var(--yellow); }

/* SUBJECTS PAGE */
/* floating subject bubbles on hero */
    .hero-floats { position:absolute; inset:0; pointer-events:none; }
    .hf { position:absolute; background:#fff; border-radius:50px; padding:8px 16px; font-size:.78rem; font-weight:800; color:var(--blue); box-shadow:0 6px 22px rgba(0,0,0,.13); white-space:nowrap; animation:hfloat 4s ease-in-out infinite; }
    .hf:nth-child(1){ top:18%; left:2%;  animation-delay:0s; }
    .hf:nth-child(2){ top:38%; left:3%;  animation-delay:.8s; }
    .hf:nth-child(3){ top:58%; left:1%;  animation-delay:1.6s; }
    .hf:nth-child(4){ top:74%; left:4%;  animation-delay:2.4s; }
    @keyframes hfloat { 0%,100%{transform:translateY(0);} 50%{transform:translateY(-10px);} }

    /* ══════════════════════════ STICKY SUBJECT TABS ══════════════════════════ */
    .tabs-bar { background:#fff; border-bottom:2px solid #eee; position:sticky; top:76px; z-index:100; }
    .tabs-scroll { display:flex; overflow-x:auto; scrollbar-width:none; }
    .tabs-scroll::-webkit-scrollbar { display:none; }
    .stab { flex-shrink:0; padding:17px 20px; font-family:'Poppins',sans-serif; font-weight:700; font-size:.86rem; color:var(--text-muted); border:none; background:transparent; cursor:pointer; border-bottom:3px solid transparent; transition:all .2s; white-space:nowrap; display:flex; align-items:center; gap:7px; }
    .stab:hover { color:var(--blue); }
    .stab.active { color:var(--blue); border-bottom-color:var(--blue); }
    .stab-dot { width:9px; height:9px; border-radius:50%; display:inline-block; }

    /* ══════════════════════════ OVERVIEW STRIP ══════════════════════════ */
    .overview-strip { background:#fff; padding:70px 0; }
    .ov-stat { text-align:center; }
    .ov-stat .onum { font-family:'Poppins',sans-serif; font-weight:900; font-size:2.1rem; color:var(--blue); line-height:1; }
    .ov-stat .olbl { font-size:.83rem; font-weight:700; color:var(--text-muted); margin-top:5px; }

    /* ══════════════════════════ SUBJECT EXPLORER (interactive grid) ══════════════════════════ */
    .explorer-section { padding:80px 0 90px; background:#f7f8fc; }

    /* filter buttons */
    .exp-filters { display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin-bottom:44px; }
    .exp-btn { background:#fff; border:2px solid #e0e0e0; border-radius:50px; padding:9px 22px; font-family:'Nunito',sans-serif; font-weight:700; font-size:.88rem; color:var(--text-dark); cursor:pointer; transition:all .2s; }
    .exp-btn:hover, .exp-btn.active { background:var(--blue); border-color:var(--blue); color:#fff; }

    /* subject detail card */
    .sc {
      background:#fff; border-radius:24px; overflow:hidden;
      box-shadow:0 6px 28px rgba(0,0,0,.08);
      transition:transform .32s, box-shadow .32s;
      height:100%; display:flex; flex-direction:column;
      border-top:5px solid var(--blue);
    }
    .sc:hover { transform:translateY(-9px); box-shadow:0 22px 52px rgba(0,0,0,.14); }

    /* per-subject top colours */
    .sc-maths   { border-top-color:#1E4DA1; }
    .sc-english { border-top-color:#2563EB; }
    .sc-physics { border-top-color:#D97706; }
    .sc-chem    { border-top-color:#16A34A; }
    .sc-bio     { border-top-color:#E8273A; }
    .sc-coding  { border-top-color:#7C3AED; }
    .sc-hist    { border-top-color:#92400E; }
    .sc-geo     { border-top-color:#0F766E; }
    .sc-relig   { border-top-color:#B45309; }
    .sc-french  { border-top-color:#9333EA; }
    .sc-econ    { border-top-color:#0369A1; }
    .sc-arts    { border-top-color:#DB2777; }
    .sc-cs      { border-top-color:#7C3AED; }
    .sc-social  { border-top-color:#0F766E; }
    .sc-lit     { border-top-color:#2563EB; }

    .sc-banner { height:160px; position:relative; overflow:hidden; flex-shrink:0; }
    .sc-banner img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .5s; }
    .sc:hover .sc-banner img { transform:scale(1.06); }
    .sc-banner-overlay { position:absolute; inset:0; background:linear-gradient(to top,rgba(0,0,0,.45) 0%,transparent 60%); }
    .sc-level-pills { position:absolute; bottom:10px; left:12px; display:flex; gap:5px; flex-wrap:wrap; }
    .slp { font-size:.68rem; font-weight:800; padding:3px 9px; border-radius:20px; }
    .slp-p { background:var(--yellow); color:#333; }
    .slp-j { background:var(--blue);   color:#fff; }
    .slp-s { background:var(--red);    color:#fff; }

    .sc-body { padding:22px 20px 18px; flex:1; display:flex; flex-direction:column; }
    .sc-head { display:flex; align-items:center; gap:11px; margin-bottom:12px; }
    .sc-emo { width:44px; height:44px; border-radius:12px; display:flex; align-items:center; justify-content:center; font-size:1.4rem; flex-shrink:0; }
    .sc-name { font-family:'Poppins',sans-serif; font-weight:900; font-size:1.05rem; color:var(--text-dark); line-height:1.2; }
    .sc-cat  { font-size:.72rem; font-weight:800; color:var(--text-muted); text-transform:uppercase; letter-spacing:.06em; margin-top:1px; }
    .sc-desc { font-size:.87rem; line-height:1.7; color:#444; margin-bottom:14px; flex:1; }

    .sc-topics { display:flex; flex-wrap:wrap; gap:5px; margin-bottom:16px; }
    .sc-topic { background:#f7f8fc; border:1px solid #eee; color:var(--text-muted); font-size:.72rem; font-weight:700; padding:3px 9px; border-radius:20px; }

    /* mini tutor count inside card */
    .sc-meta { display:flex; align-items:center; justify-content:space-between; border-top:1px solid #f0f0f0; padding-top:14px; margin-top:auto; }
    .sc-tutor-count { font-size:.78rem; font-weight:700; color:var(--text-muted); }
    .sc-tutor-count strong { color:var(--blue); font-weight:900; }
    .btn-sc-enroll { background:var(--blue); color:#fff; border:none; border-radius:50px; padding:9px 20px; font-weight:800; font-size:.83rem; cursor:pointer; transition:all .2s; text-decoration:none; display:inline-block; }
    .btn-sc-enroll:hover { background:var(--blue-dark); color:#fff; transform:translateY(-2px); }
    .btn-sc-enroll.btn-yellow { background:var(--yellow); color:var(--blue); }
    .btn-sc-enroll.btn-yellow:hover { background:#e6c200; }
    .btn-sc-enroll.btn-red { background:var(--red); color:#fff; }
    .btn-sc-enroll.btn-red:hover { background:#c41e2e; }

    /* no results */
    #noSubjects { display:none; text-align:center; padding:60px 0; }

    /* ══════════════════════════ SUBJECT SPOTLIGHT (alternating) ══════════════════════════ */
    .spotlight-section { padding:0; background:#fff; }
    .spotlight-row { padding:72px 0; border-bottom:1px solid #f0f0f0; }
    .spotlight-row:last-child { border-bottom:none; }
    .sp-img { width:100%; border-radius:22px; object-fit:cover; max-height:400px; display:block; box-shadow:0 12px 40px rgba(0,0,0,.12); }
    .sp-accent { display:inline-block; font-size:.72rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; padding:5px 14px; border-radius:50px; margin-bottom:12px; }
    .sp-title { font-family:'Poppins',sans-serif; font-weight:900; font-size:clamp(1.5rem,2.8vw,2rem); color:var(--text-dark); margin-bottom:8px; }
    .sp-divider { height:4px; width:50px; border-radius:4px; margin:6px 0 16px; }
    .sp-text { font-size:.97rem; line-height:1.8; color:#444; }
    .sp-list { list-style:none; padding:0; margin:16px 0 22px; }
    .sp-list li { display:flex; align-items:flex-start; gap:10px; font-size:.93rem; font-weight:700; color:var(--text-dark); margin-bottom:10px; line-height:1.5; }
    .sp-list li .spi { width:22px; height:22px; border-radius:50%; display:flex; align-items:center; justify-content:center; flex-shrink:0; margin-top:1px; font-size:.7rem; }
    .sp-mini-stats { display:flex; flex-wrap:wrap; gap:12px; margin-bottom:24px; }
    .sp-mstat { background:#f7f8fc; border-radius:12px; padding:12px 16px; text-align:center; border:1px solid #eee; flex:1; min-width:80px; }
    .sp-mstat .smn { font-family:'Poppins',sans-serif; font-weight:900; font-size:1.2rem; color:var(--blue); }
    .sp-mstat .sml { font-size:.7rem; font-weight:700; color:var(--text-muted); }
    .sp-boards { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:24px; }
    .sp-board { background:#EBF8FF; color:var(--blue); font-size:.75rem; font-weight:800; padding:5px 14px; border-radius:20px; }
    .sp-floating-badge { position:absolute; bottom:20px; right:-12px; background:var(--yellow); border-radius:16px; padding:14px 18px; box-shadow:0 8px 28px rgba(0,0,0,.16); font-family:'Poppins',sans-serif; }
    .sp-floating-badge .sfbn { font-weight:900; font-size:1.5rem; color:var(--blue); line-height:1; }
    .sp-floating-badge .sfbl { font-size:.7rem; font-weight:700; color:#333; }

    /* ══════════════════════════ EXAM BOARDS (dark blue) ══════════════════════════ */
    .exams-section { padding:80px 0; background:linear-gradient(145deg,#1E4DA1 0%,#163A7D 100%); position:relative; overflow:hidden; }
    .exams-section::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse 55% 60% at 85% 15%,rgba(255,255,255,.07) 0%,transparent 60%); }
    .eb-card { background:rgba(255,255,255,.97); border-radius:20px; padding:26px 20px 22px; text-align:center; height:100%; box-shadow:0 5px 22px rgba(0,0,0,.14); transition:transform .3s,box-shadow .3s; }
    .eb-card:hover { transform:translateY(-7px); box-shadow:0 18px 40px rgba(0,0,0,.28); }
    .eb-icon { font-size:2.4rem; margin-bottom:12px; }
    .eb-card h4 { font-family:'Poppins',sans-serif; font-weight:800; font-size:1rem; color:var(--text-dark); margin-bottom:6px; }
    .eb-card p { font-size:.82rem; color:var(--text-muted); line-height:1.55; margin-bottom:14px; }
    .eb-pills { display:flex; flex-wrap:wrap; gap:4px; justify-content:center; }
    .eb-pill { font-size:.7rem; font-weight:700; background:#f7f8fc; border:1px solid #eee; color:var(--text-muted); padding:2px 8px; border-radius:20px; }

    /* ══════════════════════════ LEVEL MATRIX ══════════════════════════ */
    .matrix-section { padding:80px 0; background:#f7f8fc; }
    .mtx-wrap { border-radius:20px; overflow:hidden; box-shadow:0 8px 36px rgba(0,0,0,.08); overflow-x:auto; }
    .mtx-wrap table { width:100%; border-collapse:collapse; background:#fff; min-width:620px; }
    .mtx-wrap thead th { padding:18px 14px; text-align:center; font-family:'Poppins',sans-serif; font-weight:800; font-size:.87rem; border-bottom:2px solid #f0f0f0; }
    .mtx-wrap thead th:first-child { text-align:left; color:var(--text-muted); font-size:.76rem; text-transform:uppercase; letter-spacing:.07em; }
    .mtx-wrap thead .th-hl { background:#EBF8FF; color:var(--blue); }
    .mtx-wrap tbody tr { border-bottom:1px solid #f5f5f5; }
    .mtx-wrap tbody tr:hover { background:#fafafa; }
    .mtx-wrap td { padding:12px 14px; font-size:.87rem; font-weight:600; text-align:center; }
    .mtx-wrap td:first-child { text-align:left; font-weight:700; color:var(--text-dark); }
    .mtx-wrap td.td-hl { background:#EBF8FF; }
    .mt-y { color:#16A34A; font-size:1rem; }
    .mt-n { color:#ccc;    font-size:1rem; }
    .mt-v { color:var(--blue); font-weight:800; font-size:.8rem; }
    .mtx-wrap .sec-row td { background:#f7f8fc; font-family:'Poppins',sans-serif; font-weight:800; font-size:.74rem; text-transform:uppercase; letter-spacing:.07em; color:var(--text-muted); text-align:left; padding:9px 14px; }

    /* ══════════════════════════ HOW IT WORKS ══════════════════════════ */
    .how-section { padding:80px 0; background:#fff; }
    .how-card { background:#f7f8fc; border-radius:22px; padding:30px 24px; text-align:center; height:100%; box-shadow:0 4px 20px rgba(0,0,0,.06); transition:transform .3s,box-shadow .3s; position:relative; }
    .how-card:hover { transform:translateY(-7px); box-shadow:0 16px 38px rgba(0,0,0,.12); }
    .how-num { width:46px; height:46px; background:var(--yellow); border-radius:50%; display:flex; align-items:center; justify-content:center; font-family:'Poppins',sans-serif; font-weight:900; font-size:1.1rem; color:var(--blue); margin:0 auto 16px; box-shadow:0 4px 14px rgba(255,193,7,.5); }
    .how-icon { font-size:2.3rem; margin-bottom:12px; }
    .how-card h4 { font-family:'Poppins',sans-serif; font-weight:800; font-size:1.05rem; color:var(--text-dark); margin-bottom:10px; }
    .how-card p { font-size:.87rem; color:var(--text-muted); line-height:1.65; }
    .how-arr { position:absolute; top:50%; right:-18px; font-size:1.2rem; color:#ddd; z-index:2; }

    /* ══════════════════════════ STATS BAND ══════════════════════════ */
    .stats-band { background:var(--yellow); padding:48px 0; }
    .stat-box { text-align:center; }
    .stat-num { font-family:'Poppins',sans-serif; font-weight:900; font-size:2.5rem; color:var(--blue); line-height:1; }
    .stat-lbl { font-weight:700; font-size:.9rem; color:#333; margin-top:6px; }

    /* ══════════════════════════ SUBJECT COMPARISON TABLE ══════════════════════════ */
    .compare-section { padding:80px 0; background:#fff; }
    .cmp-wrap { border-radius:20px; overflow:hidden; box-shadow:0 8px 36px rgba(0,0,0,.08); overflow-x:auto; }
    .cmp-wrap table { width:100%; border-collapse:collapse; background:#fff; min-width:580px; }
    .cmp-wrap thead th { padding:16px 14px; font-family:'Poppins',sans-serif; font-weight:800; font-size:.87rem; border-bottom:2px solid #f0f0f0; text-align:center; }
    .cmp-wrap thead th:first-child { text-align:left; }
    .cmp-wrap thead .cth-popular { background:#EBF8FF; color:var(--blue); }
    .cmp-wrap tbody tr { border-bottom:1px solid #f5f5f5; }
    .cmp-wrap tbody tr:hover { background:#fafafa; }
    .cmp-wrap td { padding:13px 14px; font-size:.87rem; font-weight:600; color:var(--text-dark); text-align:center; }
    .cmp-wrap td:first-child { text-align:left; font-weight:700; }
    .cmp-wrap td.td-pop { background:#EBF8FF; }
    .cpill { font-size:.72rem; font-weight:800; padding:3px 10px; border-radius:20px; }
    .cpill-y  { background:#FFF9DB; color:#B7791F; }
    .cpill-b  { background:#EBF8FF; color:var(--blue); }
    .cpill-r  { background:#FFF5F5; color:var(--red); }
    .cmp-wrap .cmp-btn-row td { padding:14px; }

    /* ══════════════════════════ FAQ ══════════════════════════ */
    .faq-section { padding:80px 0; background:#f7f8fc; }
    .faq-section .accordion-button { font-family:'Poppins',sans-serif; font-weight:700; font-size:.97rem; color:var(--text-dark); background:#fff; }
    .faq-section .accordion-button:not(.collapsed) { color:var(--blue); background:#EBF8FF; box-shadow:none; }
    .faq-section .accordion-button:not(.collapsed)::after { filter:invert(27%) sepia(90%) saturate(500%) hue-rotate(200deg); }
    .faq-section .accordion-item { border:1px solid #e8e8e8; border-radius:14px !important; margin-bottom:12px; overflow:hidden; }
    .faq-section .accordion-body { font-size:.93rem; line-height:1.75; color:#444; }
    .faq-section .accordion-button:focus { box-shadow:none; }

    /* ══════════════════════════ TESTIMONIALS ══════════════════════════ */
    .testi-section { padding:80px 0; background:linear-gradient(170deg,#FFF9D6 0%,#fff 60%); }
    .testi-card { background:#fff; border-radius:24px; padding:32px; box-shadow:0 8px 40px rgba(0,0,0,.1); border:1px solid #f0ede0; max-width:660px; margin:0 auto; }
    .testi-avatar { width:68px; height:68px; border-radius:50%; border:3px solid var(--yellow); flex-shrink:0; object-fit:cover; }
    .testi-name { font-weight:900; font-size:1.05rem; color:var(--text-dark); }
    .testi-stars { color:var(--yellow); font-size:1.1rem; letter-spacing:2px; }
    .testi-text { font-size:.97rem; line-height:1.75; color:#333; margin-top:14px; }
    .testi-hl { font-weight:800; color:var(--blue); }
    .cbtn { background:var(--blue); color:#fff; border:none; border-radius:50px; width:44px; height:44px; display:flex; align-items:center; justify-content:center; font-size:.95rem; transition:all .2s; cursor:pointer; }
    .cbtn:hover { background:var(--blue-dark); transform:scale(1.08); }

    /* PROGRAMS */
    /* ══════════════════════════════════
       PROGRAM OVERVIEW TABS
    ══════════════════════════════════ */
    .prog-tabs-bar {
      background:#fff;
      border-bottom:2px solid #eee;
      padding:0;
      position:sticky;
      top:76px;
      z-index:100;
    }
    .prog-tabs { display:flex; overflow-x:auto; scrollbar-width:none; gap:0; }
    .prog-tabs::-webkit-scrollbar { display:none; }
    .prog-tab {
      flex-shrink:0;
      padding:18px 28px;
      font-family:'Poppins',sans-serif;
      font-weight:700;
      font-size:.9rem;
      color:var(--text-muted);
      border:none;
      background:transparent;
      cursor:pointer;
      border-bottom:3px solid transparent;
      transition:all .2s;
      white-space:nowrap;
    }
    .prog-tab:hover { color:var(--blue); }
    .prog-tab.active { color:var(--blue); border-bottom-color:var(--blue); }
    .prog-tab .tab-dot {
      display:inline-block;
      width:8px; height:8px;
      border-radius:50%;
      margin-right:7px;
      vertical-align:middle;
    }

    /* ══════════════════════════════════
       INTRO / OVERVIEW
    ══════════════════════════════════ */
    .overview-section { padding:70px 0; background:#fff; }
    .overview-section h2 { font-family:'Poppins',sans-serif; font-weight:900; font-size:clamp(1.7rem,3vw,2.2rem); }
    .overview-section p { font-size:1rem; line-height:1.8; color:#444; }

    .ov-stat { text-align:center; }
    .ov-stat .num { font-family:'Poppins',sans-serif; font-weight:900; font-size:2rem; color:var(--blue); line-height:1; }
    .ov-stat .lbl { font-size:.83rem; font-weight:700; color:var(--text-muted); margin-top:4px; }

    .feature-pill {
      display:flex; align-items:center; gap:10px;
      background:#f7f8fc; border-radius:14px;
      padding:14px 18px; font-weight:700; font-size:.9rem;
    }
    .feature-pill i { color:var(--blue); font-size:1.1rem; width:22px; text-align:center; }

    /* ══════════════════════════════════
       PROGRAMME LEVEL CARDS (big)
    ══════════════════════════════════ */
    .programs-section { padding:80px 0; background:#f7f8fc; }

    .level-card {
      background:#fff;
      border-radius:26px;
      overflow:hidden;
      box-shadow:0 8px 36px rgba(0,0,0,.09);
      transition:transform .35s, box-shadow .35s;
      height:100%;
    }
    .level-card:hover { transform:translateY(-10px); box-shadow:0 24px 60px rgba(0,0,0,.16); }

    .level-card-img {
      width:100%; height:220px;
      object-fit:cover;
      display:block;
    }
    .level-ribbon {
      padding:14px 24px;
      font-family:'Poppins',sans-serif;
      font-weight:900;
      font-size:1rem;
      letter-spacing:.04em;
      text-align:center;
    }
    .lr-primary { background:var(--yellow); color:var(--red); }
    .lr-junior  { background:var(--blue);   color:#fff; }
    .lr-senior  { background:var(--red);    color:#fff; }

    .level-card-body { padding:28px 26px 30px; }
    .level-age-badge {
      display:inline-block;
      background:#EBF8FF; color:var(--blue);
      font-size:.75rem; font-weight:800;
      padding:4px 14px; border-radius:50px;
      margin-bottom:14px;
    }
    .level-card-body h3 {
      font-family:'Poppins',sans-serif;
      font-weight:900; font-size:1.3rem;
      color:var(--text-dark); margin-bottom:10px;
    }
    .level-card-body p { font-size:.93rem; line-height:1.7; color:#444; margin-bottom:20px; }

    .level-subjects { list-style:none; padding:0; margin-bottom:22px; }
    .level-subjects li {
      display:flex; align-items:center; gap:10px;
      font-size:.88rem; font-weight:700;
      color:var(--text-dark);
      padding:8px 0;
      border-bottom:1px solid #f5f5f5;
    }
    .level-subjects li:last-child { border-bottom:none; }
    .level-subjects li .ls-icon {
      width:32px; height:32px;
      border-radius:9px;
      display:flex; align-items:center; justify-content:center;
      font-size:1rem; flex-shrink:0;
    }
    .lsi-blue   { background:#EBF8FF; }
    .lsi-green  { background:#F0FFF4; }
    .lsi-yellow { background:#FFFBEB; }
    .lsi-red    { background:#FFF5F5; }
    .lsi-purple { background:#FAF5FF; }

    .level-outcomes {
      background:#f7f8fc;
      border-radius:14px;
      padding:16px 18px;
      margin-bottom:22px;
    }
    .level-outcomes h5 {
      font-family:'Poppins',sans-serif;
      font-weight:800; font-size:.88rem;
      color:var(--text-dark); margin-bottom:10px;
    }
    .level-outcomes ul { list-style:none; padding:0; }
    .level-outcomes ul li {
      font-size:.85rem; color:#444;
      display:flex; align-items:flex-start; gap:8px;
      margin-bottom:7px; line-height:1.5;
    }
    .level-outcomes ul li i { color:var(--blue); margin-top:2px; flex-shrink:0; }

    .level-card-footer {
      display:flex; gap:10px;
    }
    .btn-enroll-card {
      flex:1; background:var(--blue); color:#fff;
      font-weight:800; font-size:.9rem;
      border:none; border-radius:50px;
      padding:12px 20px; cursor:pointer;
      transition:all .2s; text-align:center;
      text-decoration:none; display:inline-block;
    }
    .btn-enroll-card:hover { background:var(--blue-dark); color:#fff; transform:translateY(-2px); }
    .btn-enroll-card.yellow { background:var(--yellow); color:var(--blue); }
    .btn-enroll-card.yellow:hover { background:#e6c200; color:var(--blue); }
    .btn-enroll-card.red { background:var(--red); color:#fff; }
    .btn-enroll-card.red:hover { background:#c41e2e; }
    .btn-info-card {
      width:46px; height:46px;
      border:2px solid #e0e0e0; border-radius:50%;
      background:transparent; color:var(--text-muted);
      display:flex; align-items:center; justify-content:center;
      font-size:.9rem; cursor:pointer;
      transition:all .2s; flex-shrink:0;
    }
    .btn-info-card:hover { border-color:var(--blue); color:var(--blue); }

    /* ══════════════════════════════════
       CURRICULUM SPOTLIGHT
    ══════════════════════════════════ */
    .curriculum-section { padding:80px 0; background:#fff; }
    .curr-img {
      width:100%; border-radius:22px;
      box-shadow:0 12px 40px rgba(0,0,0,.12);
      object-fit:cover; max-height:400px;
    }
    .curr-tag { display:inline-block; background:var(--yellow); color:var(--blue); font-size:.75rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; padding:5px 16px; border-radius:50px; margin-bottom:14px; }
    .curr-divider { width:50px; height:4px; background:var(--yellow); border-radius:4px; margin:8px 0 18px; }
    .curriculum-section h2 { font-family:'Poppins',sans-serif; font-weight:900; font-size:clamp(1.7rem,3vw,2.2rem); margin-bottom:6px; }
    .curriculum-section p { font-size:.98rem; line-height:1.8; color:#444; }

    .curr-check { list-style:none; padding:0; margin:18px 0; }
    .curr-check li { display:flex; align-items:flex-start; gap:12px; font-weight:700; font-size:.95rem; color:var(--text-dark); margin-bottom:12px; line-height:1.5; }
    .curr-check li i { color:var(--blue); background:#EBF8FF; width:26px; height:26px; border-radius:50%; display:flex; align-items:center; justify-content:center; flex-shrink:0; margin-top:1px; }

    .curr-badges { display:flex; flex-wrap:wrap; gap:10px; margin-top:20px; }
    .curr-badge {
      background:#f7f8fc; border:1px solid #e8e8e8;
      border-radius:12px; padding:10px 16px; text-align:center;
    }
    .curr-badge .cb-num { font-family:'Poppins',sans-serif; font-weight:900; font-size:1.25rem; color:var(--blue); }
    .curr-badge .cb-lbl { font-size:.72rem; font-weight:700; color:var(--text-muted); }

    /* ══════════════════════════════════
       SUBJECTS GRID
    ══════════════════════════════════ */
    .subjects-section {
      padding:80px 0;
      background:linear-gradient(145deg,#1E4DA1 0%,#163A7D 100%);
      position:relative; overflow:hidden;
    }
    .subjects-section::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse 55% 60% at 85% 15%,rgba(255,255,255,.07) 0%,transparent 60%); }

    .subj-card {
      background:rgba(255,255,255,.97);
      border-radius:18px; padding:24px 18px 22px;
      display:flex; flex-direction:column; gap:10px;
      box-shadow:0 5px 22px rgba(0,0,0,.14);
      transition:transform .3s,box-shadow .3s;
      height:100%;
    }
    .subj-card:hover { transform:translateY(-7px); box-shadow:0 16px 38px rgba(0,0,0,.26); }
    .subj-top { display:flex; align-items:center; gap:12px; }
    .subj-icon { width:48px; height:48px; border-radius:13px; display:flex; align-items:center; justify-content:center; font-size:1.4rem; flex-shrink:0; }
    .si-math    { background:#EBF8FF; }
    .si-english { background:#EFF6FF; }
    .si-physics { background:#FFFBEB; }
    .si-chem    { background:#F0FFF4; }
    .si-bio     { background:#FFF5F5; }
    .si-coding  { background:#FAF5FF; }
    .si-hist    { background:#FFF7ED; }
    .si-geo     { background:#ECFDF5; }
    .si-relig   { background:#FFF9F0; }
    .si-arts    { background:#FFF5FB; }
    .si-civic   { background:#F0F4FF; }
    .si-french  { background:#FFFBF0; }

    .subj-name { font-weight:800; font-size:.98rem; color:var(--text-dark); line-height:1.2; }
    .subj-levels { font-size:.76rem; color:var(--text-muted); font-weight:700; margin-top:2px; }
    .subj-desc { font-size:.82rem; line-height:1.55; color:#555; flex:1; }
    .btn-enroll-s {
      background:var(--red); color:#fff;
      border-radius:50px; padding:7px 20px;
      font-weight:700; font-size:.82rem;
      border:none; align-self:flex-start;
      transition:all .2s; cursor:pointer;
    }
    .btn-enroll-s:hover { background:#c41e2e; transform:translateY(-2px); }

    /* ══════════════════════════════════
       HOW OUR PROGRAMS WORK
    ══════════════════════════════════ */
    .how-section { padding:80px 0; background:#f7f8fc; }
    .how-step-card {
      background:#fff; border-radius:22px;
      padding:32px 26px 28px;
      text-align:center; height:100%;
      box-shadow:0 6px 28px rgba(0,0,0,.08);
      transition:transform .3s,box-shadow .3s;
      position:relative;
    }
    .how-step-card:hover { transform:translateY(-7px); box-shadow:0 18px 45px rgba(0,0,0,.14); }
    .step-num {
      width:48px; height:48px;
      background:var(--yellow); border-radius:50%;
      display:flex; align-items:center; justify-content:center;
      font-family:'Poppins',sans-serif; font-weight:900;
      font-size:1.15rem; color:var(--blue);
      margin:0 auto 18px;
      box-shadow:0 4px 14px rgba(255,193,7,.5);
    }
    .step-icon { font-size:2.4rem; margin-bottom:14px; }
    .how-step-card h4 { font-family:'Poppins',sans-serif; font-weight:800; font-size:1.08rem; color:var(--text-dark); margin-bottom:10px; }
    .how-step-card p { font-size:.88rem; color:var(--text-muted); line-height:1.65; }
    .how-connector { position:absolute; top:50%; right:-18px; font-size:1.3rem; color:#ccc; z-index:2; }
    

    /* ══════════════════════════════════
       EXAM BOARDS
    ══════════════════════════════════ */
    .exams-section { padding:70px 0; background:#fff; }
    .exam-card {
      background:#f7f8fc; border:2px solid #eee;
      border-radius:18px; padding:24px 20px;
      text-align:center; height:100%;
      transition:all .25s;
    }
    .exam-card:hover { border-color:var(--blue); background:#fff; transform:translateY(-5px); box-shadow:0 12px 32px rgba(30,77,161,.12); }
    .exam-icon { font-size:2.2rem; margin-bottom:10px; }
    .exam-card h4 { font-family:'Poppins',sans-serif; font-weight:800; font-size:1rem; color:var(--text-dark); margin-bottom:6px; }
    .exam-card p { font-size:.83rem; color:var(--text-muted); line-height:1.55; }

    /* ══════════════════════════════════
       STATS BAND
    ══════════════════════════════════ */
    .stats-band { background:var(--yellow); padding:48px 0; }
    .stat-box { text-align:center; }
    .stat-num { font-family:'Poppins',sans-serif; font-weight:900; font-size:2.5rem; color:var(--blue); line-height:1; }
    .stat-lbl { font-weight:700; font-size:.9rem; color:#333; margin-top:6px; }

    /* ══════════════════════════════════
       FAQ ACCORDION
    ══════════════════════════════════ */
    .faq-section { padding:80px 0; background:#f7f8fc; }
    .faq-section .accordion-button {
      font-family:'Poppins',sans-serif;
      font-weight:700; font-size:.97rem;
      color:var(--text-dark);
      background:#fff;
    }
    .faq-section .accordion-button:not(.collapsed) { color:var(--blue); background:#EBF8FF; box-shadow:none; }
    .faq-section .accordion-button::after { filter:none; }
    .faq-section .accordion-button:not(.collapsed)::after { filter:invert(27%) sepia(90%) saturate(500%) hue-rotate(200deg); }
    .faq-section .accordion-item { border:1px solid #e8e8e8; border-radius:14px !important; margin-bottom:12px; overflow:hidden; }
    .faq-section .accordion-body { font-size:.93rem; line-height:1.75; color:#444; }
    .faq-section .accordion-button:focus { box-shadow:none; }

    /* ══════════════════════════════════
       TESTIMONIALS
    ══════════════════════════════════ */
    .testimonials-section { padding:80px 0; background:linear-gradient(170deg,#FFF9D6 0%,#fff 60%); }
    .testi-card { background:#fff; border-radius:24px; padding:32px; box-shadow:0 8px 40px rgba(0,0,0,.1); border:1px solid #f0ede0; max-width:660px; margin:0 auto; }
    .testi-avatar { width:68px; height:68px; border-radius:50%; border:3px solid var(--yellow); flex-shrink:0; object-fit:cover; }
    .testi-name { font-weight:900; font-size:1.05rem; color:var(--text-dark); }
    .testi-stars { color:var(--yellow); font-size:1.1rem; letter-spacing:2px; }
    .testi-text { font-size:.97rem; line-height:1.75; color:#333; margin-top:14px; }
    .testi-hl { font-weight:800; color:var(--blue); }
    .carousel-btn { background:var(--blue); color:#fff; border:none; border-radius:50px; width:44px; height:44px; display:flex; align-items:center; justify-content:center; font-size:.95rem; transition:all .2s; cursor:pointer; }
    .carousel-btn:hover { background:var(--blue-dark); transform:scale(1.08); }

/* PRICING PAGE */

    /* ══════════════════════════════════════
       BILLING TOGGLE
    ══════════════════════════════════════ */
    .billing-toggle-wrap { display:flex; align-items:center; justify-content:center; gap:16px; margin-bottom:52px; flex-wrap:wrap; }
    .toggle-label { font-weight:800; font-size:.97rem; color:var(--text-muted); transition:color .2s; cursor:pointer; }
    .toggle-label.active { color:var(--text-dark); }
    .toggle-save-badge { background:var(--red); color:#fff; font-size:.68rem; font-weight:800; padding:2px 8px; border-radius:20px; margin-left:6px; vertical-align:middle; }
    .toggle-switch { position:relative; width:52px; height:28px; flex-shrink:0; }
    .toggle-switch input { opacity:0; width:0; height:0; }
    .toggle-slider { position:absolute; inset:0; background:#e0e0e0; border-radius:50px; cursor:pointer; transition:background .2s; }
    .toggle-slider::before { content:''; position:absolute; height:20px; width:20px; left:4px; bottom:4px; background:#fff; border-radius:50%; transition:transform .2s; box-shadow:0 2px 6px rgba(0,0,0,.2); }
    .toggle-switch input:checked + .toggle-slider { background:var(--blue); }
    .toggle-switch input:checked + .toggle-slider::before { transform:translateX(24px); }

    /* ══════════════════════════════════════
       PRICING CARDS
    ══════════════════════════════════════ */
    .pricing-section { padding:80px 0 90px; background:#f7f8fc; }

    .price-card { background:#fff; border-radius:28px; overflow:hidden; box-shadow:0 8px 36px rgba(0,0,0,.09); transition:transform .35s,box-shadow .35s; height:100%; display:flex; flex-direction:column; position:relative; border:2.5px solid transparent; }
    .price-card:hover { transform:translateY(-10px); box-shadow:0 24px 60px rgba(0,0,0,.15); }
    .price-card.popular { border-color:var(--blue); transform:scale(1.03); box-shadow:0 16px 55px rgba(30,77,161,.22); }
    .price-card.popular:hover { transform:scale(1.03) translateY(-8px); }

    .popular-badge { position:absolute; top:18px; right:18px; background:var(--blue); color:#fff; font-size:.7rem; font-weight:800; letter-spacing:.07em; text-transform:uppercase; padding:4px 14px; border-radius:50px; }

    /* colour band on top of each card */
    .pc-band { height:6px; }
    .pcb-blue   { background:var(--blue); }
    .pcb-yellow { background:var(--yellow); }
    .pcb-red    { background:var(--red); }
    .pcb-purple { background:#7C3AED; }

    .price-card-header { padding:30px 26px 22px; border-bottom:1px solid #f0f0f0; }
    .plan-icon { font-size:2.2rem; margin-bottom:12px; }
    .plan-name { font-family:'Poppins',sans-serif; font-weight:900; font-size:1.2rem; margin-bottom:6px; }
    .plan-desc { font-size:.87rem; color:var(--text-muted); line-height:1.55; margin-bottom:20px; }

    .price-display { display:flex; align-items:flex-end; gap:4px; margin-bottom:5px; }
    .price-currency { font-family:'Poppins',sans-serif; font-weight:800; font-size:1.3rem; line-height:1; padding-bottom:5px; }
    .price-amount   { font-family:'Poppins',sans-serif; font-weight:900; font-size:3.1rem; line-height:1; }
    .price-period   { font-size:.87rem; color:var(--text-muted); font-weight:700; padding-bottom:6px; }
    .price-sub { font-size:.78rem; color:var(--text-muted); font-weight:600; margin-bottom:4px; }
    .price-annual-note { font-size:.78rem; color:var(--red); font-weight:800; display:none; }

    .pc-starter .plan-name, .pc-starter .price-amount { color:var(--blue); }
    .pc-growth  .plan-name, .pc-growth  .price-amount { color:var(--blue); }
    .pc-elite   .plan-name, .pc-elite   .price-amount { color:var(--red); }
    .pc-family  .plan-name, .pc-family  .price-amount { color:#7C3AED; }

    .price-card-body { padding:24px 26px; flex:1; }
    .features-title { font-size:.75rem; font-weight:800; color:var(--text-muted); text-transform:uppercase; letter-spacing:.08em; margin-bottom:14px; }
    .feature-list { list-style:none; padding:0; }
    .feature-list li { display:flex; align-items:flex-start; gap:10px; font-size:.9rem; font-weight:600; color:var(--text-dark); margin-bottom:11px; line-height:1.45; }
    .feature-list li i { font-size:.85rem; margin-top:2px; flex-shrink:0; }
    .fi-yes { color:#16A34A; }
    .fi-no  { color:#ccc; }
    .feature-list li.dim { color:var(--text-muted); }

    .price-card-footer { padding:0 26px 28px; }
    .btn-plan { display:block; width:100%; text-align:center; font-family:'Poppins',sans-serif; font-weight:800; font-size:.97rem; border-radius:50px; padding:14px 20px; border:none; cursor:pointer; transition:all .25s; text-decoration:none; }
    .btn-plan-blue    { background:var(--blue);   color:#fff;        box-shadow:0 6px 20px rgba(30,77,161,.35); }
    .btn-plan-blue:hover    { background:var(--blue-dark); color:#fff; transform:translateY(-2px); }
    .btn-plan-yellow  { background:var(--yellow); color:var(--blue); box-shadow:0 6px 20px rgba(255,193,7,.45); }
    .btn-plan-yellow:hover  { background:#e6c200;  color:var(--blue); transform:translateY(-2px); }
    .btn-plan-red     { background:var(--red);    color:#fff;        box-shadow:0 6px 20px rgba(232,39,58,.35); }
    .btn-plan-red:hover     { background:#c41e2e;  color:#fff; transform:translateY(-2px); }
    .btn-plan-outline { background:transparent; color:var(--blue); border:2.5px solid var(--blue); }
    .btn-plan-outline:hover { background:var(--blue); color:#fff; }

    /* ══════════════════════════════════════
       TRUST GUARANTEES BAR
    ══════════════════════════════════════ */
    .guarantee-bar { background:#fff; padding:38px 0; border-top:1px solid #eee; border-bottom:1px solid #eee; }
    .g-item { display:flex; align-items:center; justify-content:center; gap:14px; }
    .g-item .gi-icon { font-size:1.9rem; flex-shrink:0; }
    .g-item h5 { font-family:'Poppins',sans-serif; font-weight:800; font-size:.93rem; color:var(--text-dark); margin:0 0 3px; }
    .g-item p  { font-size:.8rem; color:var(--text-muted); margin:0; line-height:1.4; }

    /* ══════════════════════════════════════
       COMPARISON TABLE
    ══════════════════════════════════════ */
    .compare-section { padding:80px 0; background:#f7f8fc; }
    .compare-wrap { border-radius:20px; overflow:hidden; box-shadow:0 8px 36px rgba(0,0,0,.08); overflow-x:auto; }
    .compare-wrap table { width:100%; border-collapse:collapse; background:#fff; min-width:620px; }
    .compare-wrap thead th { padding:20px 16px; text-align:center; font-family:'Poppins',sans-serif; font-weight:800; font-size:.88rem; border-bottom:2px solid #f0f0f0; }
    .compare-wrap thead th:first-child { text-align:left; color:var(--text-muted); font-size:.78rem; text-transform:uppercase; letter-spacing:.07em; }
    .compare-wrap thead .th-pop { background:#EBF8FF; color:var(--blue); }
    .compare-wrap tbody tr { border-bottom:1px solid #f5f5f5; }
    .compare-wrap tbody tr:last-child { border-bottom:none; }
    .compare-wrap tbody tr:hover { background:#fafafa; }
    .compare-wrap td { padding:13px 16px; font-size:.88rem; font-weight:600; color:var(--text-dark); text-align:center; }
    .compare-wrap td:first-child { text-align:left; }
    .compare-wrap td.td-pop { background:#EBF8FF; }
    .compare-wrap .ct-y  { color:#16A34A; font-size:1.05rem; }
    .compare-wrap .ct-n  { color:#ccc;    font-size:1.05rem; }
    .compare-wrap .ct-v  { color:var(--blue); font-weight:800; }
    .compare-wrap .sec-row td { background:#f7f8fc; font-family:'Poppins',sans-serif; font-weight:800; font-size:.75rem; text-transform:uppercase; letter-spacing:.07em; color:var(--text-muted); text-align:left; padding:10px 16px; }

    /* ══════════════════════════════════════
       ADD-ONS
    ══════════════════════════════════════ */
    .addons-section { padding:80px 0; background:#fff; }
    .addon-card { background:#f7f8fc; border:2px solid #eee; border-radius:20px; padding:28px 24px; height:100%; transition:all .25s; display:flex; flex-direction:column; gap:12px; }
    .addon-card:hover { border-color:var(--blue); background:#fff; transform:translateY(-5px); box-shadow:0 14px 36px rgba(30,77,161,.1); }
    .addon-icon { font-size:2rem; }
    .addon-card h4 { font-family:'Poppins',sans-serif; font-weight:800; font-size:1.05rem; color:var(--text-dark); }
    .addon-card p { font-size:.87rem; color:var(--text-muted); line-height:1.6; flex:1; }
    .addon-price { font-family:'Poppins',sans-serif; font-weight:900; font-size:1.15rem; color:var(--blue); }
    .addon-price span { font-size:.78rem; font-weight:700; color:var(--text-muted); }
    .btn-addon { background:var(--blue); color:#fff; border:none; border-radius:50px; padding:9px 22px; font-weight:700; font-size:.85rem; cursor:pointer; transition:all .2s; align-self:flex-start; text-decoration:none; display:inline-block; }
    .btn-addon:hover { background:var(--blue-dark); color:#fff; transform:translateY(-2px); }

    /* ══════════════════════════════════════
       HOW BILLING WORKS
    ══════════════════════════════════════ */
    .billing-section { padding:80px 0; background:linear-gradient(145deg,#1E4DA1 0%,#163A7D 100%); position:relative; overflow:hidden; }
    .billing-section::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse 55% 60% at 85% 15%,rgba(255,255,255,.07) 0%,transparent 60%); }
    .billing-card { background:rgba(255,255,255,.97); border-radius:20px; padding:30px 24px 26px; text-align:center; height:100%; box-shadow:0 5px 22px rgba(0,0,0,.14); transition:transform .3s,box-shadow .3s; }
    .billing-card:hover { transform:translateY(-6px); box-shadow:0 16px 38px rgba(0,0,0,.22); }
    .billing-card .bc-icon { font-size:2.4rem; margin-bottom:14px; }
    .billing-card h4 { font-family:'Poppins',sans-serif; font-weight:800; font-size:1.05rem; color:var(--text-dark); margin-bottom:10px; }
    .billing-card p { font-size:.88rem; color:var(--text-muted); line-height:1.65; }


/* CONTACT US */
    /* floating contact method pills on hero */
    .hero-pill { position:absolute; background:#fff; border-radius:50px; padding:10px 18px; display:flex; align-items:center; gap:10px; box-shadow:0 8px 28px rgba(0,0,0,.15); white-space:nowrap; z-index:5; }
    .hero-pill .hp-icon { font-size:1.3rem; }
    .hero-pill .hp-text strong { display:block; font-weight:900; font-size:.88rem; color:var(--blue); line-height:1.1; }
    .hero-pill .hp-text small { font-size:.7rem; color:var(--text-muted); }
    .hp1 { left:0; top:55px; animation:hpf 3.6s ease-in-out infinite; }
    .hp2 { right:0; top:115px; animation:hpf 3.6s ease-in-out infinite 1.2s; }
    .hp3 { left:50%; transform:translateX(-50%); bottom:38px; animation:hpf3 3.6s ease-in-out infinite 2.4s; }
    @keyframes hpf  { 0%,100%{transform:translateY(0);}       50%{transform:translateY(-10px);} }
    @keyframes hpf3 { 0%,100%{transform:translateX(-50%) translateY(0);} 50%{transform:translateX(-50%) translateY(-10px);} }

    /* ══════════════════════════ WHATSAPP FLOAT ══════════════════════════ */
    .wa-float { position:fixed; bottom:32px; right:28px; z-index:999; background:#25D366; color:#fff; width:58px; height:58px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:1.6rem; box-shadow:0 6px 22px rgba(37,211,102,.5); text-decoration:none; transition:all .25s; }
    .wa-float:hover { transform:scale(1.12) translateY(-4px); box-shadow:0 12px 32px rgba(37,211,102,.65); color:#fff; }
    .wa-float::before { content:'Chat on WhatsApp'; position:absolute; right:68px; background:#333; color:#fff; font-size:.75rem; font-weight:700; padding:5px 12px; border-radius:8px; white-space:nowrap; opacity:0; transition:opacity .2s; pointer-events:none; font-family:'Nunito',sans-serif; }
    .wa-float:hover::before { opacity:1; }

    /* ══════════════════════════ CONTACT CHANNELS STRIP ══════════════════════════ */
    .channels-strip { background:#fff; padding:56px 0; border-bottom:1px solid #eee; }
    .channel-card {
      background:#f7f8fc; border-radius:22px; padding:28px 22px;
      text-align:center; height:100%;
      border:2px solid transparent;
      transition:all .3s; cursor:pointer;
    }
    .channel-card:hover { background:#fff; border-color:var(--blue); box-shadow:0 12px 40px rgba(30,77,161,.12); transform:translateY(-6px); }
    .channel-card:hover .cc-icon-wrap { background:var(--blue); color:#fff; }
    .cc-icon-wrap { width:62px; height:62px; border-radius:18px; background:#EBF8FF; color:var(--blue); display:flex; align-items:center; justify-content:center; font-size:1.55rem; margin:0 auto 16px; transition:all .3s; }
    .channel-card.red-ch:hover .cc-icon-wrap   { background:var(--red); }
    .channel-card.red-ch .cc-icon-wrap         { background:#FFF5F5; color:var(--red); }
    .channel-card.yellow-ch:hover .cc-icon-wrap { background:#B7791F; }
    .channel-card.yellow-ch .cc-icon-wrap       { background:#FFF9DB; color:#B7791F; }
    .channel-card.green-ch:hover .cc-icon-wrap  { background:#16A34A; }
    .channel-card.green-ch .cc-icon-wrap        { background:#F0FFF4; color:#16A34A; }
    .cc-title { font-family:'Poppins',sans-serif; font-weight:800; font-size:1rem; color:var(--text-dark); margin-bottom:6px; }
    .cc-detail { font-size:.88rem; color:var(--text-muted); line-height:1.6; }
    .cc-detail strong { display:block; font-size:.95rem; color:var(--text-dark); font-weight:800; margin-bottom:2px; }
    .cc-action { display:inline-block; margin-top:14px; font-size:.82rem; font-weight:800; color:var(--blue); text-decoration:none; padding:6px 16px; border:2px solid var(--blue); border-radius:50px; transition:all .2s; }
    .cc-action:hover { background:var(--blue); color:#fff; }

    /* ══════════════════════════ MAIN CONTACT SECTION ══════════════════════════ */
    .contact-section { padding:80px 0 90px; background:#f7f8fc; }

    /* LEFT PANEL — info cards */
    .info-card { background:#fff; border-radius:20px; padding:26px 22px; box-shadow:0 6px 28px rgba(0,0,0,.07); margin-bottom:18px; display:flex; align-items:flex-start; gap:16px; transition:transform .3s,box-shadow .3s; }
    .info-card:hover { transform:translateY(-4px); box-shadow:0 14px 38px rgba(0,0,0,.12); }
    .ic-icon { width:50px; height:50px; border-radius:14px; display:flex; align-items:center; justify-content:center; font-size:1.4rem; flex-shrink:0; }
    .ic-title { font-family:'Poppins',sans-serif; font-weight:800; font-size:.97rem; color:var(--text-dark); margin-bottom:4px; }
    .ic-text { font-size:.87rem; color:var(--text-muted); line-height:1.65; }
    .ic-text a { color:var(--blue); font-weight:700; text-decoration:none; }
    .ic-text a:hover { color:var(--red); }

    /* Response time badge */
    .resp-badge { background:#F0FFF4; border:1px solid #D1FAE5; border-radius:14px; padding:14px 18px; display:flex; align-items:center; gap:12px; margin-top:6px; }
    .resp-badge .rb-dot { width:10px; height:10px; background:#16A34A; border-radius:50%; flex-shrink:0; animation:pulse 2s infinite; }
    @keyframes pulse { 0%,100%{box-shadow:0 0 0 0 rgba(22,163,74,.4);} 50%{box-shadow:0 0 0 8px rgba(22,163,74,0);} }
    .resp-badge .rb-text { font-size:.84rem; font-weight:700; color:#166534; }
    .resp-badge .rb-text strong { font-size:.9rem; }

    /* Social links panel */
    .social-panel { background:linear-gradient(135deg,var(--blue),var(--blue-dark)); border-radius:20px; padding:26px 22px; box-shadow:0 8px 30px rgba(30,77,161,.3); margin-top:18px; }
    .social-panel h4 { font-family:'Poppins',sans-serif; font-weight:800; color:#fff; font-size:1rem; margin-bottom:16px; }
    .soc-link { display:flex; align-items:center; gap:12px; padding:10px 14px; border-radius:12px; margin-bottom:8px; background:rgba(255,255,255,.1); transition:all .2s; text-decoration:none; }
    .soc-link:hover { background:rgba(255,255,255,.2); transform:translateX(5px); }
    .soc-link .sl-icon { width:36px; height:36px; border-radius:10px; display:flex; align-items:center; justify-content:center; font-size:1rem; flex-shrink:0; }
    .soc-link .sl-name { font-weight:800; color:#fff; font-size:.9rem; }
    .soc-link .sl-handle { color:rgba(255,255,255,.65); font-size:.78rem; }

    /* RIGHT PANEL — contact form */
    .form-card {
      background:#fff; border-radius:24px; padding:44px 40px;
      box-shadow:0 12px 55px rgba(0,0,0,.1);
    }
    .form-card h3 { font-family:'Poppins',sans-serif; font-weight:900; font-size:1.5rem; color:var(--text-dark); margin-bottom:6px; }
    .form-card p.form-sub { font-size:.93rem; color:var(--text-muted); margin-bottom:28px; line-height:1.6; }

    /* subject tabs inside form */
    .inquiry-tabs { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:26px; }
    .itab { background:#f7f8fc; border:2px solid #e0e0e0; border-radius:50px; padding:7px 16px; font-size:.82rem; font-weight:800; color:var(--text-muted); cursor:pointer; transition:all .2s; }
    .itab:hover, .itab.active { background:var(--blue); border-color:var(--blue); color:#fff; }

    .form-label { font-weight:800; font-size:.88rem; color:var(--text-dark); margin-bottom:6px; display:block; }
    .form-field {
      width:100%; padding:13px 16px;
      border:2px solid #e8e8e8; border-radius:13px;
      font-family:'Nunito',sans-serif; font-weight:600; font-size:.95rem;
      color:var(--text-dark); background:#fff;
      transition:border-color .2s, box-shadow .2s;
      outline:none;
    }
    .form-field:focus { border-color:var(--blue); box-shadow:0 0 0 4px rgba(30,77,161,.1); }
    .form-field::placeholder { color:#bbb; }
    .form-field-wrap { position:relative; }
    .form-field-wrap .ff-icon { position:absolute; left:14px; top:50%; transform:translateY(-50%); color:#bbb; font-size:.95rem; pointer-events:none; }
    .form-field-wrap .form-field { padding-left:40px; }
    textarea.form-field { min-height:120px; resize:vertical; }
    select.form-field { appearance:none; -webkit-appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23999' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 14px center; padding-right:40px; }

    .char-count { font-size:.75rem; font-weight:700; color:var(--text-muted); text-align:right; margin-top:4px; }

    .btn-send { width:100%; background:var(--blue); color:#fff; font-family:'Poppins',sans-serif; font-weight:900; font-size:1rem; border:none; border-radius:50px; padding:16px; cursor:pointer; transition:all .25s; box-shadow:0 8px 26px rgba(30,77,161,.42); display:flex; align-items:center; justify-content:center; gap:10px; }
    .btn-send:hover { background:var(--blue-dark); transform:translateY(-3px); box-shadow:0 14px 36px rgba(30,77,161,.55); }

    /* success state */
    .form-success { display:none; text-align:center; padding:20px 0; }
    .fs-icon { font-size:4rem; margin-bottom:16px; }
    .form-success h4 { font-family:'Poppins',sans-serif; font-weight:900; font-size:1.4rem; color:var(--text-dark); margin-bottom:10px; }
    .form-success p { color:var(--text-muted); font-size:.95rem; line-height:1.7; max-width:340px; margin:0 auto 22px; }

    /* ══════════════════════════ OFFICE / TIMEZONE MAP ══════════════════════════ */
    .offices-section { padding:80px 0; background:#fff; }
    .office-card { background:#f7f8fc; border-radius:22px; padding:28px 24px; height:100%; border:2px solid transparent; transition:all .3s; }
    .office-card:hover { border-color:var(--blue); background:#fff; box-shadow:0 12px 40px rgba(30,77,161,.1); transform:translateY(-6px); }
    .oc-flag { font-size:2.4rem; margin-bottom:12px; display:block; }
    .oc-region { font-family:'Poppins',sans-serif; font-weight:900; font-size:1.05rem; color:var(--text-dark); margin-bottom:4px; }
    .oc-tz { font-size:.82rem; font-weight:800; color:var(--text-muted); margin-bottom:14px; }
    .oc-hours { font-size:.87rem; font-weight:700; color:var(--text-dark); margin-bottom:10px; line-height:1.65; }
    .oc-hours span { display:block; }
    .oc-contact { font-size:.84rem; color:var(--text-muted); }
    .oc-contact a { color:var(--blue); font-weight:700; text-decoration:none; }
    .oc-contact a:hover { color:var(--red); }
    .oc-badge { display:inline-block; font-size:.7rem; font-weight:800; padding:3px 10px; border-radius:20px; margin-bottom:14px; }
    .oc-badge-open  { background:#F0FFF4; color:#166534; }
    .oc-badge-soon  { background:#FFF9DB; color:#B7791F; }
    .oc-badge-after { background:#FFF5F5; color:var(--red); }

  /* BOOK TRAIL */
    /* trust pills floating on hero */
    .trust-pill { position:absolute; background:#fff; border-radius:50px; padding:9px 16px; display:flex; align-items:center; gap:9px; box-shadow:0 8px 26px rgba(0,0,0,.16); white-space:nowrap; z-index:5; }
    .trust-pill .tp-icon { font-size:1.3rem; }
    .trust-pill .tp-text strong { display:block; font-weight:900; font-size:.87rem; color:var(--blue); line-height:1.1; }
    .trust-pill .tp-text small { font-size:.68rem; color:var(--text-muted); }
    .tp1 { left:0;  top:50px;  animation:tpfl 3.5s ease-in-out infinite; }
    .tp2 { right:0; top:115px; animation:tpfl 3.5s ease-in-out infinite 1.2s; }
    .tp3 { left:50%; transform:translateX(-50%); bottom:40px; animation:tpfl3 3.5s ease-in-out infinite 2.2s; }
    @keyframes tpfl  { 0%,100%{transform:translateY(0);}       50%{transform:translateY(-10px);} }
    @keyframes tpfl3 { 0%,100%{transform:translateX(-50%) translateY(0);} 50%{transform:translateX(-50%) translateY(-10px);} }


    /* ══════════════════════════ WHAT YOU GET STRIP ══════════════════════════ */
    .what-strip { background:#fff; padding:60px 0; border-bottom:1px solid #f0f0f0; }
    .wg-card { background:#f7f8fc; border-radius:20px; padding:26px 20px; text-align:center; height:100%; transition:transform .3s,box-shadow .3s; border:2px solid transparent; }
    .wg-card:hover { background:#fff; border-color:var(--blue); box-shadow:0 12px 36px rgba(30,77,161,.1); transform:translateY(-6px); }
    .wg-icon { font-size:2.2rem; margin-bottom:12px; }
    .wg-card h4 { font-family:'Poppins',sans-serif; font-weight:800; font-size:1rem; color:var(--text-dark); margin-bottom:8px; }
    .wg-card p  { font-size:.86rem; color:var(--text-muted); line-height:1.65; }
    .wg-badge { display:inline-block; background:var(--yellow); color:var(--blue); font-size:.7rem; font-weight:900; padding:3px 12px; border-radius:20px; margin-bottom:14px; }

    /* ══════════════════════════ BOOKING FORM SECTION ══════════════════════════ */
    .booking-section { padding:80px 0 90px; background:#f7f8fc; }

    /* ── PROGRESS BAR ── */
    .progress-bar-wrap { max-width:560px; margin:0 auto 44px; }
    .step-bar { display:flex; align-items:center; justify-content:center; gap:0; }
    .step-dot { width:40px; height:40px; border-radius:50%; background:#e0e0e0; display:flex; align-items:center; justify-content:center; font-family:'Poppins',sans-serif; font-weight:900; font-size:.9rem; color:#aaa; transition:all .35s; flex-shrink:0; position:relative; z-index:1; }
    .step-dot.done   { background:var(--blue); color:#fff; box-shadow:0 4px 14px rgba(30,77,161,.4); }
    .step-dot.active { background:var(--yellow); color:var(--blue); box-shadow:0 4px 16px rgba(255,193,7,.55); transform:scale(1.15); }
    .step-line { flex:1; height:3px; background:#e0e0e0; transition:background .35s; margin:0 -2px; }
    .step-line.done { background:var(--blue); }
    .step-labels { display:flex; justify-content:space-between; margin-top:10px; }
    .step-labels span { font-size:.73rem; font-weight:800; color:var(--text-muted); text-align:center; flex:1; }
    .step-labels span.lbl-active { color:var(--blue); }
    .step-labels span.lbl-done   { color:var(--blue); }

    /* ── BOOKING CARD ── */
    .booking-card { background:#fff; border-radius:28px; padding:46px 44px; box-shadow:0 12px 55px rgba(0,0,0,.1); max-width:820px; margin:0 auto; }
    .booking-card h3 { font-family:'Poppins',sans-serif; font-weight:900; font-size:1.4rem; color:var(--text-dark); margin-bottom:6px; }
    .booking-card .step-intro { font-size:.94rem; color:var(--text-muted); margin-bottom:28px; line-height:1.6; }

    /* ── FORM FIELDS ── */
    .f-label { font-weight:800; font-size:.88rem; color:var(--text-dark); margin-bottom:6px; display:block; }
    .f-field {
      width:100%; padding:13px 16px;
      border:2px solid #e8e8e8; border-radius:13px;
      font-family:'Nunito',sans-serif; font-weight:600; font-size:.95rem;
      color:var(--text-dark); background:#fff;
      transition:border-color .2s, box-shadow .2s; outline:none;
    }
    .f-field:focus { border-color:var(--blue); box-shadow:0 0 0 4px rgba(30,77,161,.1); }
    .f-field::placeholder { color:#bbb; }
    .f-icon-wrap { position:relative; }
    .f-icon-wrap .fi { position:absolute; left:14px; top:50%; transform:translateY(-50%); color:#bbb; font-size:.9rem; pointer-events:none; }
    .f-icon-wrap .f-field { padding-left:40px; }
    select.f-field { appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23999' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 14px center; padding-right:40px; }
    .f-error { color:var(--red); font-size:.78rem; font-weight:700; margin-top:4px; display:none; }

    /* ── SUBJECT PICKER GRID (step 1) ── */
    .subject-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(130px,1fr)); gap:10px; margin-bottom:6px; }
    .subj-pick { background:#f7f8fc; border:2px solid #eee; border-radius:14px; padding:14px 10px; text-align:center; cursor:pointer; transition:all .22s; }
    .subj-pick:hover  { border-color:var(--blue); background:#EBF8FF; }
    .subj-pick.picked { border-color:var(--blue); background:var(--blue); color:#fff; }
    .subj-pick.picked .sp-emoji { filter:brightness(10); }
    .sp-emoji { font-size:1.6rem; display:block; margin-bottom:6px; }
    .sp-name  { font-size:.78rem; font-weight:800; }

    /* ── LEVEL PICKER CARDS (step 1) ── */
    .level-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
    .level-pick { background:#f7f8fc; border:2px solid #eee; border-radius:16px; padding:20px 14px; text-align:center; cursor:pointer; transition:all .22s; }
    .level-pick:hover { border-color:var(--blue); background:#EBF8FF; }
    .level-pick.picked { border-color:var(--yellow); background:var(--yellow); }
    .level-pick.picked .lp-icon { background:var(--blue); color:#fff; }
    .level-pick.picked .lp-name { color:var(--blue); }
    .level-pick.picked .lp-age  { color:var(--blue-dark); }
    .lp-icon { width:48px; height:48px; border-radius:14px; background:#EBF8FF; color:var(--blue); display:flex; align-items:center; justify-content:center; font-size:1.5rem; margin:0 auto 10px; transition:all .22s; }
    .lp-name { font-family:'Poppins',sans-serif; font-weight:800; font-size:.92rem; color:var(--text-dark); margin-bottom:3px; }
    .lp-age  { font-size:.74rem; font-weight:700; color:var(--text-muted); }

    /* ── TIME SLOT PICKER (step 2) ── */
    .slot-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(115px,1fr)); gap:9px; }
    .slot-pick { background:#f7f8fc; border:2px solid #eee; border-radius:12px; padding:11px 8px; text-align:center; cursor:pointer; transition:all .2s; font-size:.82rem; font-weight:800; color:var(--text-muted); }
    .slot-pick:hover { border-color:var(--blue); background:#EBF8FF; color:var(--blue); }
    .slot-pick.picked { border-color:var(--blue); background:var(--blue); color:#fff; }
    .slot-pick.unavail { background:#f0f0f0; color:#ccc; cursor:not-allowed; border-color:#e0e0e0; text-decoration:line-through; }

    /* ── DAY PICKER ── */
    .day-grid { display:grid; grid-template-columns:repeat(7,1fr); gap:8px; margin-bottom:6px; }
    .day-pick { background:#f7f8fc; border:2px solid #eee; border-radius:12px; padding:10px 4px; text-align:center; cursor:pointer; transition:all .2s; }
    .day-pick:hover { border-color:var(--blue); background:#EBF8FF; }
    .day-pick.picked { border-color:var(--yellow); background:var(--yellow); }
    .day-pick.picked .dp-day { color:var(--blue); }
    .dp-day  { font-family:'Poppins',sans-serif; font-weight:800; font-size:.78rem; color:var(--text-muted); }
    .dp-date { font-family:'Poppins',sans-serif; font-weight:900; font-size:1.1rem; color:var(--text-dark); }
    .day-pick.picked .dp-date { color:var(--blue); }

    /* ── TIMEZONE SELECTOR ── */
    .tz-note { background:#EBF8FF; border-radius:12px; padding:12px 16px; font-size:.84rem; color:var(--blue); font-weight:700; margin-bottom:16px; display:flex; align-items:center; gap:8px; }

    /* ── NAV BUTTONS ── */
    .step-nav { display:flex; align-items:center; justify-content:space-between; margin-top:32px; padding-top:24px; border-top:1px solid #f0f0f0; }
    .btn-back-step { background:#f7f8fc; color:var(--text-muted); font-family:'Poppins',sans-serif; font-weight:800; font-size:.95rem; border:2px solid #e0e0e0; border-radius:50px; padding:12px 28px; cursor:pointer; transition:all .2s; }
    .btn-back-step:hover { background:#eee; }
    .btn-next-step { background:var(--blue); color:#fff; font-family:'Poppins',sans-serif; font-weight:900; font-size:.97rem; border:none; border-radius:50px; padding:14px 36px; cursor:pointer; transition:all .25s; box-shadow:0 6px 22px rgba(30,77,161,.38); display:flex; align-items:center; gap:8px; }
    .btn-next-step:hover { background:var(--blue-dark); transform:translateY(-3px); }
    .btn-confirm { background:var(--yellow); color:var(--blue); font-family:'Poppins',sans-serif; font-weight:900; font-size:1rem; border:none; border-radius:50px; padding:16px 46px; cursor:pointer; transition:all .25s; box-shadow:0 8px 26px rgba(255,193,7,.5); display:flex; align-items:center; gap:8px; }
    .btn-confirm:hover { background:#e6c200; transform:translateY(-3px); box-shadow:0 14px 34px rgba(255,193,7,.65); }

    /* ── REVIEW SUMMARY (step 3) ── */
    .review-box { background:#f7f8fc; border-radius:18px; padding:26px 22px; border:1px solid #eee; }
    .rb-row { display:flex; align-items:flex-start; gap:12px; padding:12px 0; border-bottom:1px solid #f0f0f0; }
    .rb-row:last-child { border-bottom:none; }
    .rb-icon { width:36px; height:36px; border-radius:10px; display:flex; align-items:center; justify-content:center; flex-shrink:0; font-size:.95rem; }
    .rb-label { font-size:.78rem; font-weight:800; color:var(--text-muted); text-transform:uppercase; letter-spacing:.06em; margin-bottom:2px; }
    .rb-value { font-weight:800; font-size:.97rem; color:var(--text-dark); }
    .rb-edit  { margin-left:auto; font-size:.78rem; font-weight:800; color:var(--blue); cursor:pointer; text-decoration:underline; }

    /* ── CONSENT CHECKBOX ── */
    .consent-row { display:flex; align-items:flex-start; gap:10px; margin-top:18px; font-size:.84rem; color:var(--text-muted); line-height:1.6; }
    .consent-row input { margin-top:3px; flex-shrink:0; accent-color:var(--blue); width:16px; height:16px; cursor:pointer; }
    .consent-row a { color:var(--blue); font-weight:700; text-decoration:none; }

    /* ══════════════════════════ SUCCESS SCREEN ══════════════════════════ */
    .success-screen { display:none; text-align:center; }
    .ss-confetti { font-size:4rem; margin-bottom:16px; animation:bounce .6s ease; }
    @keyframes bounce { 0%,100%{transform:scale(1);} 50%{transform:scale(1.3);} }
    .success-screen h2 { font-family:'Poppins',sans-serif; font-weight:900; font-size:1.8rem; color:var(--text-dark); margin-bottom:10px; }
    .success-screen p { font-size:.97rem; color:var(--text-muted); max-width:460px; margin:0 auto 24px; line-height:1.75; }
    .booking-ref { background:var(--yellow); border-radius:16px; padding:16px 24px; display:inline-block; font-family:'Poppins',sans-serif; font-weight:900; font-size:1.1rem; color:var(--blue); margin-bottom:24px; letter-spacing:.05em; }
    .ss-detail-grid { background:#f7f8fc; border-radius:18px; padding:22px; text-align:left; max-width:480px; margin:0 auto 28px; }
    .ssd-row { display:flex; gap:10px; padding:9px 0; border-bottom:1px solid #eee; font-size:.88rem; }
    .ssd-row:last-child { border-bottom:none; }
    .ssd-label { font-weight:800; color:var(--text-muted); min-width:110px; }
    .ssd-val   { font-weight:700; color:var(--text-dark); }
    .ss-next-steps { background:linear-gradient(135deg,var(--blue),var(--blue-dark)); border-radius:20px; padding:28px 24px; max-width:540px; margin:0 auto 28px; text-align:left; }
    .ss-next-steps h4 { font-family:'Poppins',sans-serif; font-weight:800; color:#fff; margin-bottom:16px; }
    .ss-step { display:flex; align-items:flex-start; gap:12px; margin-bottom:12px; }
    .ss-step:last-child { margin-bottom:0; }
    .ss-step-num { width:26px; height:26px; background:var(--yellow); border-radius:50%; display:flex; align-items:center; justify-content:center; font-family:'Poppins',sans-serif; font-weight:900; font-size:.78rem; color:var(--blue); flex-shrink:0; }
    .ss-step p { font-size:.88rem; color:rgba(255,255,255,.88); line-height:1.6; margin:0; }
    .ss-step p strong { color:#fff; }

    /* ══════════════════════════ SIDE BENEFITS PANEL ══════════════════════════ */
    .benefit-panel { background:linear-gradient(145deg,var(--blue),var(--blue-dark)); border-radius:24px; padding:36px 28px; color:#fff; position:sticky; top:90px; box-shadow:0 14px 50px rgba(30,77,161,.3); }
    .benefit-panel h4 { font-family:'Poppins',sans-serif; font-weight:900; font-size:1.1rem; color:var(--yellow); margin-bottom:20px; }
    .benefit-item { display:flex; align-items:flex-start; gap:12px; margin-bottom:18px; }
    .benefit-item:last-of-type { margin-bottom:0; }
    .bi-icon { width:38px; height:38px; border-radius:11px; background:rgba(255,255,255,.12); display:flex; align-items:center; justify-content:center; font-size:1.1rem; flex-shrink:0; }
    .bi-text strong { display:block; font-weight:800; font-size:.93rem; color:#fff; margin-bottom:2px; }
    .bi-text span { font-size:.82rem; color:rgba(255,255,255,.75); line-height:1.5; }
    .benefit-divider { height:1px; background:rgba(255,255,255,.12); margin:20px 0; }
    .guarantee-box { background:var(--yellow); border-radius:16px; padding:16px; text-align:center; }
    .guarantee-box .gb-icon { font-size:2rem; margin-bottom:6px; }
    .guarantee-box p { font-family:'Poppins',sans-serif; font-weight:800; font-size:.9rem; color:var(--blue); line-height:1.4; margin:0; }

    /* mini testimonials */
    .mini-testi { background:rgba(255,255,255,.1); border-radius:14px; padding:14px 16px; margin-top:18px; }
    .mt-stars { color:var(--yellow); font-size:.85rem; letter-spacing:2px; margin-bottom:6px; }
    .mt-text { font-size:.83rem; color:rgba(255,255,255,.9); line-height:1.55; font-style:italic; margin-bottom:8px; }
    .mt-author { font-size:.78rem; font-weight:800; color:rgba(255,255,255,.65); }
    .mt-dots { display:flex; justify-content:center; gap:5px; margin-top:12px; }
    .mt-dot { width:7px; height:7px; border-radius:50%; background:rgba(255,255,255,.3); cursor:pointer; transition:background .2s; }
    .mt-dot.active { background:var(--yellow); }

    /* ══════════════════════════ HOW IT WORKS ══════════════════════════ */
    .how-section { padding:80px 0; background:#fff; }
    .how-card { background:#f7f8fc; border-radius:22px; padding:30px 22px; text-align:center; height:100%; box-shadow:0 4px 20px rgba(0,0,0,.06); transition:transform .3s,box-shadow .3s; position:relative; }
    .how-card:hover { transform:translateY(-7px); box-shadow:0 16px 38px rgba(0,0,0,.12); }
    .how-num { width:46px; height:46px; background:var(--yellow); border-radius:50%; display:flex; align-items:center; justify-content:center; font-family:'Poppins',sans-serif; font-weight:900; font-size:1.1rem; color:var(--blue); margin:0 auto 14px; box-shadow:0 4px 14px rgba(255,193,7,.5); }
    .how-icon { font-size:2.2rem; margin-bottom:12px; }
    .how-card h4 { font-family:'Poppins',sans-serif; font-weight:800; font-size:1rem; color:var(--text-dark); margin-bottom:8px; }
    .how-card p { font-size:.86rem; color:var(--text-muted); line-height:1.65; }
    .how-arr { position:absolute; top:50%; right:-18px; font-size:1.2rem; color:#ddd; z-index:2; }

/* BLOG */
    /* floating topic pills */
    .topic-float { position:absolute; background:#fff; border-radius:50px; padding:8px 16px; display:flex; align-items:center; gap:8px; box-shadow:0 8px 26px rgba(0,0,0,.16); white-space:nowrap; z-index:5; font-size:.82rem; font-weight:800; }
    .topic-float .tf-dot { width:8px; height:8px; border-radius:50%; flex-shrink:0; }
    .tf1 { left:0;  top:40px;  animation:tffl 3.8s ease-in-out infinite; }
    .tf2 { right:0; top:110px; animation:tffl 3.8s ease-in-out infinite 1.3s; }
    .tf3 { left:50%;transform:translateX(-50%); bottom:42px; animation:tffl3 3.8s ease-in-out infinite 2.4s; }
    @keyframes tffl  { 0%,100%{transform:translateY(0);}       50%{transform:translateY(-10px);} }
    @keyframes tffl3 { 0%,100%{transform:translateX(-50%) translateY(0);} 50%{transform:translateX(-50%) translateY(-10px);} }

    /* ══════════════════════════ FEATURED POST ══════════════════════════ */
    .featured-section { background:#fff; padding:64px 0 0; }
    .featured-card {
      border-radius:28px; overflow:hidden;
      box-shadow:0 12px 55px rgba(0,0,0,.1);
      display:grid; grid-template-columns:1fr 1fr;
      background:#fff;
      border:1px solid #f0f0f0;
      transition:box-shadow .3s, transform .3s;
    }
    .featured-card:hover { transform:translateY(-5px); box-shadow:0 22px 70px rgba(0,0,0,.14); }
    .featured-img-wrap { position:relative; overflow:hidden; min-height:380px; }
    .featured-img-wrap img { width:100%; height:100%; object-fit:cover; transition:transform .5s; }
    .featured-card:hover .featured-img-wrap img { transform:scale(1.04); }
    .fc-overlay { position:absolute; inset:0; background:linear-gradient(to right,rgba(0,0,0,.15) 0%,transparent 60%); pointer-events:none; }
    .fc-cat-badge { position:absolute; top:20px; left:20px; background:var(--yellow); color:var(--blue); font-size:.7rem; font-weight:900; padding:4px 14px; border-radius:20px; text-transform:uppercase; letter-spacing:.06em; }
    .fc-body { padding:40px 38px; display:flex; flex-direction:column; justify-content:center; }
    .fc-featured-label { display:inline-flex; align-items:center; gap:6px; background:#FFF9DB; color:#B7791F; font-size:.72rem; font-weight:900; text-transform:uppercase; letter-spacing:.1em; padding:4px 12px; border-radius:20px; margin-bottom:14px; }
    .fc-title { font-family:'Poppins',sans-serif; font-weight:900; font-size:clamp(1.25rem,2vw,1.7rem); color:var(--text-dark); line-height:1.25; margin-bottom:14px; }
    .fc-title a { color:inherit; text-decoration:none; transition:color .2s; }
    .fc-title a:hover { color:var(--blue); }
    .fc-excerpt { font-size:.95rem; color:var(--text-muted); line-height:1.75; margin-bottom:22px; }
    .fc-meta { display:flex; align-items:center; gap:14px; flex-wrap:wrap; margin-bottom:24px; font-size:.82rem; color:var(--text-muted); font-weight:700; }
    .fc-author { display:flex; align-items:center; gap:8px; }
    .fc-author img { width:32px; height:32px; border-radius:50%; object-fit:cover; border:2px solid var(--yellow); }
    .fc-read-link { display:inline-flex; align-items:center; gap:8px; color:var(--blue); font-weight:800; font-size:.92rem; text-decoration:none; transition:gap .2s, color .2s; }
    .fc-read-link:hover { gap:14px; color:var(--red); }


    /* ══════════════════════════ CATEGORY TABS ══════════════════════════ */
    .cat-tabs-bar { background:#fff; padding:18px 0 0; border-bottom:2px solid #eee; position:sticky; top:76px; z-index:100; box-shadow:0 2px 10px rgba(0,0,0,.06); }
    .cat-tabs { display:flex; gap:0; overflow-x:auto; scrollbar-width:none; padding:0 0 0 0; }
    .cat-tabs::-webkit-scrollbar { display:none; }
    .cat-tab { flex-shrink:0; padding:12px 22px; font-weight:800; font-size:.88rem; color:var(--text-muted); cursor:pointer; border-bottom:3px solid transparent; transition:all .22s; display:flex; align-items:center; gap:7px; background:none; border-top:none; border-left:none; border-right:none; }
    .cat-tab:hover { color:var(--blue); }
    .cat-tab.active { color:var(--blue); border-bottom-color:var(--blue); }
    .cat-dot { width:7px; height:7px; border-radius:50%; flex-shrink:0; }
    .cat-count { background:#f0f0f0; color:var(--text-muted); font-size:.7rem; font-weight:900; padding:1px 7px; border-radius:10px; }
    .cat-tab.active .cat-count { background:var(--blue); color:#fff; }

    /* ══════════════════════════ BLOG GRID + SIDEBAR ══════════════════════════ */
    .blog-section { padding:60px 0 80px; background:#f7f8fc; }

    /* ── ARTICLE CARD ── */
    .article-card {
      background:#fff; border-radius:22px; overflow:hidden;
      box-shadow:0 5px 28px rgba(0,0,0,.07);
      border:1px solid #f0f0f0;
      height:100%;
      display:flex; flex-direction:column;
      transition:transform .3s, box-shadow .3s;
    }
    .article-card:hover { transform:translateY(-8px); box-shadow:0 18px 55px rgba(0,0,0,.13); }
    .ac-img-wrap { position:relative; overflow:hidden; height:195px; }
    .ac-img-wrap img { width:100%; height:100%; object-fit:cover; transition:transform .45s; }
    .article-card:hover .ac-img-wrap img { transform:scale(1.06); }
    .ac-cat { position:absolute; bottom:14px; left:14px; font-size:.68rem; font-weight:900; text-transform:uppercase; letter-spacing:.06em; padding:4px 12px; border-radius:20px; }
    .ac-read-time { position:absolute; top:12px; right:12px; background:rgba(0,0,0,.55); color:#fff; font-size:.7rem; font-weight:800; padding:3px 10px; border-radius:20px; backdrop-filter:blur(4px); }
    .ac-body { padding:22px 22px 20px; flex:1; display:flex; flex-direction:column; }
    .ac-title { font-family:'Poppins',sans-serif; font-weight:800; font-size:1rem; color:var(--text-dark); line-height:1.35; margin-bottom:10px; }
    .ac-title a { color:inherit; text-decoration:none; transition:color .2s; }
    .ac-title a:hover { color:var(--blue); }
    .ac-excerpt { font-size:.84rem; color:var(--text-muted); line-height:1.68; flex:1; margin-bottom:16px; }
    .ac-footer { display:flex; align-items:center; justify-content:space-between; padding-top:14px; border-top:1px solid #f0f0f0; }
    .ac-author { display:flex; align-items:center; gap:8px; }
    .ac-author img { width:28px; height:28px; border-radius:50%; object-fit:cover; border:2px solid var(--yellow); }
    .ac-author-name { font-size:.78rem; font-weight:800; color:var(--text-dark); }
    .ac-date { font-size:.74rem; font-weight:600; color:var(--text-muted); }
    .ac-arrow { color:var(--blue); font-size:.82rem; transition:transform .2s; }
    .article-card:hover .ac-arrow { transform:translateX(5px); }

    /* no-results */
    .no-results { display:none; text-align:center; padding:60px 20px; }
    .no-results .nr-icon { font-size:3.5rem; margin-bottom:14px; }
    .no-results h4 { font-family:'Poppins',sans-serif; font-weight:800; color:var(--text-dark); margin-bottom:8px; }
    .no-results p { font-size:.9rem; color:var(--text-muted); }

    /* ── LOAD MORE ── */
    .load-more-wrap { text-align:center; margin-top:44px; }
    .btn-load-more { background:#fff; color:var(--blue); font-weight:800; border:2px solid var(--blue); border-radius:50px; padding:13px 38px; font-size:.97rem; cursor:pointer; transition:all .25s; box-shadow:0 4px 18px rgba(30,77,161,.12); }
    .btn-load-more:hover { background:var(--blue); color:#fff; transform:translateY(-3px); }

    /* ══════════════════════════ SIDEBAR ══════════════════════════ */
    .sidebar-section { padding:60px 0 80px; }
    .sidebar-card { background:#fff; border-radius:20px; padding:26px 22px; box-shadow:0 5px 26px rgba(0,0,0,.07); margin-bottom:24px; border:1px solid #f0f0f0; }
    .sc-title { font-family:'Poppins',sans-serif; font-weight:900; font-size:1rem; color:var(--text-dark); margin-bottom:16px; display:flex; align-items:center; gap:8px; }
    .sc-title .sc-icon { width:28px; height:28px; border-radius:8px; background:#EBF8FF; color:var(--blue); display:flex; align-items:center; justify-content:center; font-size:.8rem; }

    /* search */
    .sb-search { display:flex; gap:8px; }
    .sb-search input { flex:1; padding:10px 14px; border:2px solid #eee; border-radius:12px; font-family:'Nunito',sans-serif; font-weight:600; font-size:.9rem; outline:none; transition:border-color .2s; }
    .sb-search input:focus { border-color:var(--blue); }
    .sb-search button { background:var(--blue); color:#fff; border:none; border-radius:12px; padding:10px 16px; cursor:pointer; font-size:.9rem; transition:background .2s; }
    .sb-search button:hover { background:var(--blue-dark); }

    /* categories */
    .sb-cat-list { list-style:none; padding:0; }
    .sb-cat-list li { display:flex; align-items:center; justify-content:space-between; padding:9px 0; border-bottom:1px solid #f5f5f5; cursor:pointer; transition:color .2s; }
    .sb-cat-list li:last-child { border-bottom:none; }
    .sb-cat-list li:hover .sbl-name { color:var(--blue); }
    .sbl-left { display:flex; align-items:center; gap:9px; }
    .sbl-dot { width:8px; height:8px; border-radius:50%; flex-shrink:0; }
    .sbl-name { font-weight:800; font-size:.88rem; color:var(--text-dark); transition:color .2s; }
    .sbl-count { font-size:.74rem; font-weight:800; background:#f0f0f0; color:var(--text-muted); padding:2px 9px; border-radius:12px; }

    /* popular posts */
    .pop-post { display:flex; gap:12px; padding:10px 0; border-bottom:1px solid #f5f5f5; cursor:pointer; transition:all .2s; }
    .pop-post:last-child { border-bottom:none; }
    .pop-post:hover .pp-title { color:var(--blue); }
    .pop-post:hover .pp-thumb { transform:scale(1.05); }
    .pp-thumb { width:58px; height:58px; border-radius:12px; object-fit:cover; flex-shrink:0; transition:transform .25s; }
    .pp-title { font-weight:800; font-size:.84rem; color:var(--text-dark); line-height:1.35; margin-bottom:4px; transition:color .2s; }
    .pp-date { font-size:.74rem; color:var(--text-muted); font-weight:600; }

    /* tags */
    .tags-wrap { display:flex; flex-wrap:wrap; gap:8px; }
    .tag-pill { background:#f0f0f0; color:var(--text-muted); font-size:.78rem; font-weight:800; padding:5px 13px; border-radius:20px; cursor:pointer; transition:all .2s; }
    .tag-pill:hover { background:var(--blue); color:#fff; }

    /* newsletter sidebar */
    .nl-sidebar { background:linear-gradient(135deg,var(--blue),var(--blue-dark)); border-radius:20px; padding:28px 22px; color:#fff; text-align:center; }
    .nl-sidebar .nls-icon { font-size:2.5rem; margin-bottom:12px; }
    .nl-sidebar h4 { font-family:'Poppins',sans-serif; font-weight:900; font-size:1.05rem; color:var(--yellow); margin-bottom:8px; }
    .nl-sidebar p { font-size:.84rem; color:rgba(255,255,255,.82); line-height:1.6; margin-bottom:18px; }
    .nl-sidebar input { width:100%; padding:11px 14px; border:none; border-radius:12px; font-family:'Nunito',sans-serif; font-weight:700; font-size:.9rem; outline:none; margin-bottom:10px; }
    .nl-sidebar button { width:100%; background:var(--yellow); color:var(--blue); font-weight:900; border:none; border-radius:50px; padding:12px; font-size:.95rem; cursor:pointer; transition:all .2s; }
    .nl-sidebar button:hover { background:#e6c200; transform:translateY(-2px); }

    /* ══════════════════════════ NEWSLETTER BAND ══════════════════════════ */
    .newsletter-section { padding:80px 0; background:linear-gradient(135deg,var(--blue) 0%,var(--blue-dark) 100%); position:relative; overflow:hidden; }
    .newsletter-section::before { content:''; position:absolute; inset:0; background:radial-gradient(circle 400px at 80% 50%,rgba(255,215,0,.1) 0%,transparent 70%); pointer-events:none; }
    .nl-heading { font-family:'Poppins',sans-serif; font-weight:900; font-size:clamp(1.6rem,3vw,2.2rem); color:#fff; margin-bottom:10px; }
    .nl-sub { font-size:1rem; color:rgba(255,255,255,.8); max-width:440px; line-height:1.65; margin-bottom:28px; }
    .nl-form { display:flex; gap:10px; max-width:460px; }
    .nl-form input { flex:1; padding:14px 18px; border:none; border-radius:50px; font-family:'Nunito',sans-serif; font-weight:700; font-size:.95rem; outline:none; }
    .nl-form button { background:var(--yellow); color:var(--blue); font-weight:900; border:none; border-radius:50px; padding:14px 28px; font-size:.95rem; cursor:pointer; transition:all .2s; white-space:nowrap; box-shadow:0 6px 20px rgba(255,193,7,.4); }
    .nl-form button:hover { background:#e6c200; transform:translateY(-2px); }
    .nl-perks { display:flex; flex-direction:column; gap:10px; }
    .nl-perk { display:flex; align-items:center; gap:10px; font-size:.88rem; color:rgba(255,255,255,.85); }
    .nl-perk i { color:var(--yellow); font-size:.9rem; }

    /* BLOG POST */
    /* ══════════════════════════ POST HERO ══════════════════════════ */
    .post-hero { background:#f7f8fc; padding:56px 0 0; }
    .post-cat-badge { display:inline-block; background:var(--red); color:#fff; font-size:.72rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; padding:5px 16px; border-radius:50px; margin-bottom:18px; }
    .post-title { font-family:'Poppins',sans-serif; font-weight:900; font-size:clamp(1.7rem,3.5vw,2.6rem); line-height:1.18; color:var(--text-dark); margin-bottom:18px; }
    .post-excerpt-lead { font-size:1.08rem; color:var(--text-muted); line-height:1.75; max-width:760px; margin-bottom:26px; }
    .post-meta-row { display:flex; flex-wrap:wrap; align-items:center; gap:16px; padding-bottom:22px; border-bottom:2px solid #eee; margin-bottom:0; font-size:.84rem; color:var(--text-muted); font-weight:700; }
    .pm-author { display:flex; align-items:center; gap:10px; }
    .pm-author img { width:40px; height:40px; border-radius:50%; object-fit:cover; border:2.5px solid var(--yellow); }
    .pm-author-name { font-weight:900; color:var(--text-dark); font-size:.92rem; }
    .pm-author-role { font-size:.74rem; color:var(--text-muted); }
    .pm-divider { width:1px; height:20px; background:#ddd; }
    .pm-badge { background:#EBF8FF; color:var(--blue); padding:3px 10px; border-radius:12px; font-size:.74rem; font-weight:800; }

    /* hero image */
    .post-hero-img { width:100%; max-height:500px; object-fit:cover; object-position:center; border-radius:0; display:block; box-shadow:0 4px 40px rgba(0,0,0,.15); }

    /* ══════════════════════════ FLOATING SHARE BAR (desktop left) ══════════════════════════ */
    .share-bar {
      position:sticky; top:100px;
      display:flex; flex-direction:column; align-items:center; gap:10px;
      width:52px;
    }
    .share-bar .sb-label { font-size:.68rem; font-weight:900; color:var(--text-muted); text-transform:uppercase; letter-spacing:.08em; writing-mode:vertical-lr; transform:rotate(180deg); margin-bottom:4px; }
    .share-btn { width:42px; height:42px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:.9rem; cursor:pointer; transition:all .22s; text-decoration:none; border:none; }
    .sb-fb  { background:#1877F2; color:#fff; }
    .sb-tw  { background:#1DA1F2; color:#fff; }
    .sb-wa  { background:#25D366; color:#fff; }
    .sb-li  { background:#0077B5; color:#fff; }
    .sb-cp  { background:#f0f0f0; color:var(--text-muted); }
    .share-btn:hover { transform:scale(1.18) translateY(-2px); box-shadow:0 6px 18px rgba(0,0,0,.2); }

    /* ══════════════════════════ ARTICLE BODY ══════════════════════════ */
    .article-wrap { padding:52px 0 72px; background:#fff; }

    .article-body { max-width:760px; }

    /* Typography for long-form content */
    .article-body p {
      font-family:'Lora',Georgia,serif;
      font-size:1.08rem; line-height:1.88;
      color:#2c2c2c; margin-bottom:22px;
    }
    .article-body h2 {
      font-family:'Poppins',sans-serif; font-weight:900;
      font-size:clamp(1.3rem,2.2vw,1.6rem); color:var(--text-dark);
      margin:44px 0 16px; padding-left:18px;
      border-left:5px solid var(--yellow);
    }
    .article-body h3 {
      font-family:'Poppins',sans-serif; font-weight:800;
      font-size:1.15rem; color:var(--text-dark);
      margin:32px 0 12px;
    }
    .article-body ul, .article-body ol {
      padding-left:22px; margin-bottom:22px;
    }
    .article-body li {
      font-family:'Lora',Georgia,serif;
      font-size:1.05rem; line-height:1.8;
      color:#2c2c2c; margin-bottom:8px;
    }
    .article-body strong { font-weight:700; color:var(--text-dark); }
    .article-body a { color:var(--blue); font-weight:700; text-decoration:underline; text-underline-offset:3px; }
    .article-body a:hover { color:var(--red); }

    /* Pullquote */
    .pullquote {
      border-left:5px solid var(--blue);
      background:#EBF8FF;
      border-radius:0 16px 16px 0;
      padding:22px 26px;
      margin:32px 0;
    }
    .pullquote p {
      font-family:'Lora',Georgia,serif;
      font-size:1.15rem; font-style:italic;
      color:var(--blue); line-height:1.7;
      margin:0; font-weight:600;
    }
    .pullquote cite {
      display:block; font-size:.84rem;
      font-weight:800; color:var(--blue-dark);
      font-style:normal; margin-top:10px;
    }

    /* Callout / tip box */
    .tip-box {
      background:linear-gradient(135deg,#FFFBEB,#FFF9DB);
      border:2px solid var(--yellow);
      border-radius:16px; padding:22px 24px;
      margin:32px 0; display:flex; gap:14px; align-items:flex-start;
    }
    .tip-box .tb-icon { font-size:1.8rem; flex-shrink:0; margin-top:2px; }
    .tip-box .tb-title { font-family:'Poppins',sans-serif; font-weight:900; font-size:.97rem; color:#B7791F; margin-bottom:6px; }
    .tip-box p { font-family:'Nunito',sans-serif; font-size:.95rem; line-height:1.7; color:#78350F; margin:0; }

    /* Warning box */
    .warn-box {
      background:#FFF5F5; border:2px solid #FECACA; border-radius:16px;
      padding:20px 24px; margin:28px 0; display:flex; gap:14px; align-items:flex-start;
    }
    .warn-box .wb-icon { font-size:1.6rem; flex-shrink:0; }
    .warn-box .wb-title { font-family:'Poppins',sans-serif; font-weight:900; font-size:.95rem; color:var(--red); margin-bottom:5px; }
    .warn-box p { font-family:'Nunito',sans-serif; font-size:.93rem; line-height:1.7; color:#7F1D1D; margin:0; }

    /* Success box */
    .success-box {
      background:#F0FFF4; border:2px solid #D1FAE5; border-radius:16px;
      padding:20px 24px; margin:28px 0; display:flex; gap:14px; align-items:flex-start;
    }
    .success-box .sb2-icon { font-size:1.6rem; flex-shrink:0; }
    .success-box .sb2-title { font-family:'Poppins',sans-serif; font-weight:900; font-size:.95rem; color:#16A34A; margin-bottom:5px; }
    .success-box p { font-family:'Nunito',sans-serif; font-size:.93rem; line-height:1.7; color:#14532D; margin:0; }

    /* Inline image */
    .article-img { width:100%; border-radius:18px; margin:28px 0; display:block; box-shadow:0 6px 30px rgba(0,0,0,.1); }
    .article-img-caption { font-size:.82rem; color:var(--text-muted); text-align:center; margin-top:-18px; margin-bottom:28px; font-style:italic; }

    /* Topic list numbered */
    .topic-list { counter-reset:topic; list-style:none; padding:0; margin-bottom:28px; }
    .topic-list li { counter-increment:topic; display:flex; align-items:flex-start; gap:14px; margin-bottom:16px; }
    .topic-list li::before {
      content:counter(topic); min-width:36px; height:36px;
      background:var(--blue); color:#fff;
      border-radius:50%; display:flex; align-items:center; justify-content:center;
      font-family:'Poppins',sans-serif; font-weight:900; font-size:.88rem;
      flex-shrink:0; margin-top:2px;
    }
    .tl-text strong { font-family:'Poppins',sans-serif; font-weight:800; font-size:1rem; display:block; margin-bottom:4px; color:var(--text-dark); }
    .tl-text span { font-family:'Lora',Georgia,serif; font-size:.97rem; color:#444; line-height:1.7; }

    /* Exam topic table */
    .exam-table { width:100%; border-collapse:separate; border-spacing:0; border-radius:16px; overflow:hidden; box-shadow:0 4px 22px rgba(0,0,0,.09); margin:28px 0; }
    .exam-table thead tr { background:var(--blue); }
    .exam-table thead th { color:#fff; font-family:'Poppins',sans-serif; font-weight:800; font-size:.88rem; padding:14px 16px; text-align:left; }
    .exam-table tbody tr { border-bottom:1px solid #f0f0f0; }
    .exam-table tbody tr:last-child { border-bottom:none; }
    .exam-table tbody tr:hover { background:#EBF8FF; }
    .exam-table td { padding:13px 16px; font-size:.9rem; font-family:'Nunito',sans-serif; font-weight:700; vertical-align:middle; }
    .et-pill { display:inline-block; font-size:.72rem; font-weight:900; padding:2px 10px; border-radius:20px; }
    .et-high   { background:#FFF5F5; color:var(--red); }
    .et-medium { background:#FFF9DB; color:#B7791F; }
    .et-low    { background:#F0FFF4; color:#16A34A; }

    /* Table of contents */
    .toc-box {
      background:#f7f8fc; border:1px solid #e8e8e8;
      border-radius:18px; padding:26px 26px 22px;
      margin:0 0 36px;
    }
    .toc-title { font-family:'Poppins',sans-serif; font-weight:900; font-size:.97rem; color:var(--text-dark); margin-bottom:14px; display:flex; align-items:center; gap:8px; }
    .toc-list { list-style:none; padding:0; }
    .toc-list li { margin-bottom:8px; }
    .toc-list a { color:var(--blue); font-size:.9rem; font-weight:700; text-decoration:none; display:flex; align-items:center; gap:7px; transition:color .2s; font-family:'Nunito',sans-serif; }
    .toc-list a::before { content:''; width:6px; height:6px; border-radius:50%; background:var(--yellow); flex-shrink:0; }
    .toc-list a:hover { color:var(--red); }

    /* Tags footer */
    .post-tags { display:flex; flex-wrap:wrap; gap:8px; margin:32px 0 0; padding-top:24px; border-top:2px solid #f0f0f0; }
    .post-tag { background:#f0f0f0; color:var(--text-muted); font-size:.8rem; font-weight:800; padding:5px 14px; border-radius:20px; text-decoration:none; transition:all .2s; }
    .post-tag:hover { background:var(--blue); color:#fff; }

    /* Social share footer */
    .share-footer { background:#f7f8fc; border-radius:18px; padding:22px 24px; margin-top:32px; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:14px; }
    .sf-label { font-family:'Poppins',sans-serif; font-weight:800; font-size:.97rem; color:var(--text-dark); }
    .sf-btns { display:flex; gap:9px; }
    .sf-btn { display:flex; align-items:center; gap:7px; padding:8px 16px; border-radius:50px; font-size:.82rem; font-weight:800; cursor:pointer; border:none; transition:all .2s; text-decoration:none; }
    .sf-btn:hover { transform:translateY(-2px); }
    .sf-fb { background:#1877F2; color:#fff; }
    .sf-tw { background:#1DA1F2; color:#fff; }
    .sf-wa { background:#25D366; color:#fff; }
    .sf-cp { background:#f0f0f0; color:var(--text-muted); }

    /* ══════════════════════════ AUTHOR BOX ══════════════════════════ */
    .author-box { background:#fff; border:2px solid #f0f0f0; border-radius:22px; padding:30px; margin-top:44px; display:flex; gap:22px; box-shadow:0 6px 28px rgba(0,0,0,.07); }
    .author-box img { width:90px; height:90px; border-radius:50%; object-fit:cover; border:3px solid var(--yellow); flex-shrink:0; }
    .ab-name { font-family:'Poppins',sans-serif; font-weight:900; font-size:1.1rem; color:var(--text-dark); margin-bottom:2px; }
    .ab-role { font-size:.82rem; font-weight:800; color:var(--blue); margin-bottom:10px; }
    .ab-bio { font-size:.91rem; color:var(--text-muted); line-height:1.7; margin-bottom:14px; }
    .ab-socials a { display:inline-flex; align-items:center; justify-content:center; width:34px; height:34px; border-radius:50%; background:#f0f0f0; color:var(--text-muted); margin-right:6px; font-size:.85rem; transition:all .2s; text-decoration:none; }
    .ab-socials a:hover { background:var(--blue); color:#fff; }

    /* ══════════════════════════ SIDEBAR ══════════════════════════ */
    .sidebar-card { background:#fff; border-radius:20px; padding:26px 22px; box-shadow:0 5px 26px rgba(0,0,0,.07); margin-bottom:24px; border:1px solid #f0f0f0; }
    .sc-title { font-family:'Poppins',sans-serif; font-weight:900; font-size:1rem; color:var(--text-dark); margin-bottom:16px; display:flex; align-items:center; gap:8px; }
    .sc-icon { width:28px; height:28px; border-radius:8px; background:#EBF8FF; color:var(--blue); display:flex; align-items:center; justify-content:center; font-size:.8rem; flex-shrink:0; }

    /* post TOC sidebar */
    .s-toc-list { list-style:none; padding:0; }
    .s-toc-list li { margin-bottom:8px; }
    .s-toc-list a { color:var(--text-muted); font-size:.87rem; font-weight:700; text-decoration:none; display:flex; align-items:flex-start; gap:8px; line-height:1.45; transition:color .2s; }
    .s-toc-list a::before { content:''; width:6px; height:6px; border-radius:50%; background:#ddd; flex-shrink:0; margin-top:6px; transition:background .2s; }
    .s-toc-list a:hover, .s-toc-list a.toc-active { color:var(--blue); }
    .s-toc-list a:hover::before, .s-toc-list a.toc-active::before { background:var(--blue); }

    /* related posts */
    .rel-post { display:flex; gap:12px; padding:10px 0; border-bottom:1px solid #f5f5f5; text-decoration:none; transition:all .2s; }
    .rel-post:last-child { border-bottom:none; }
    .rel-post:hover .rp-title { color:var(--blue); }
    .rp-thumb { width:62px; height:62px; border-radius:12px; object-fit:cover; flex-shrink:0; transition:transform .25s; }
    .rel-post:hover .rp-thumb { transform:scale(1.06); }
    .rp-cat { font-size:.68rem; font-weight:900; text-transform:uppercase; color:var(--red); margin-bottom:3px; letter-spacing:.04em; }
    .rp-title { font-weight:800; font-size:.85rem; color:var(--text-dark); line-height:1.35; transition:color .2s; }
    .rp-date { font-size:.74rem; color:var(--text-muted); font-weight:600; margin-top:3px; }

    /* free trial cta card sidebar */
    .trial-cta-card { background:linear-gradient(145deg,var(--blue),var(--blue-dark)); border-radius:20px; padding:28px 22px; text-align:center; box-shadow:0 10px 34px rgba(30,77,161,.35); }
    .trial-cta-card .tc-icon { font-size:2.4rem; margin-bottom:12px; }
    .trial-cta-card h4 { font-family:'Poppins',sans-serif; font-weight:900; color:var(--yellow); font-size:1.05rem; margin-bottom:8px; }
    .trial-cta-card p { font-size:.86rem; color:rgba(255,255,255,.82); line-height:1.65; margin-bottom:18px; }
    .trial-cta-card a { display:block; background:var(--yellow); color:var(--blue); font-weight:900; border-radius:50px; padding:13px; font-size:.95rem; text-decoration:none; transition:all .2s; box-shadow:0 6px 20px rgba(255,193,7,.45); }
    .trial-cta-card a:hover { background:#e6c200; transform:translateY(-2px); color:var(--blue); }

    /* newsletter sidebar */
    .nl-sidebar { background:linear-gradient(135deg,var(--blue),var(--blue-dark)); border-radius:20px; padding:26px 22px; color:#fff; text-align:center; }
    .nl-sidebar .nls-icon { font-size:2.2rem; margin-bottom:10px; }
    .nl-sidebar h4 { font-family:'Poppins',sans-serif; font-weight:900; font-size:1rem; color:var(--yellow); margin-bottom:8px; }
    .nl-sidebar p { font-size:.83rem; color:rgba(255,255,255,.82); line-height:1.6; margin-bottom:16px; }
    .nl-sidebar input { width:100%; padding:11px 14px; border:none; border-radius:12px; font-family:'Nunito',sans-serif; font-weight:700; font-size:.9rem; outline:none; margin-bottom:9px; }
    .nl-sidebar button { width:100%; background:var(--yellow); color:var(--blue); font-weight:900; border:none; border-radius:50px; padding:12px; font-size:.93rem; cursor:pointer; transition:all .2s; }
    .nl-sidebar button:hover { background:#e6c200; }

    /* tags sidebar */
    .tags-wrap { display:flex; flex-wrap:wrap; gap:8px; }
    .tag-pill { background:#f0f0f0; color:var(--text-muted); font-size:.78rem; font-weight:800; padding:5px 13px; border-radius:20px; cursor:pointer; transition:all .2s; text-decoration:none; }
    .tag-pill:hover { background:var(--blue); color:#fff; }

    /* ══════════════════════════ COMMENTS ══════════════════════════ */
    .comments-section { padding:52px 0 60px; background:#f7f8fc; }
    .comment-card { background:#fff; border-radius:18px; padding:24px; margin-bottom:16px; box-shadow:0 4px 18px rgba(0,0,0,.06); border:1px solid #f0f0f0; }
    .cc-avatar { width:46px; height:46px; border-radius:50%; object-fit:cover; border:2.5px solid var(--yellow); flex-shrink:0; }
    .cc-name { font-family:'Poppins',sans-serif; font-weight:800; font-size:.97rem; color:var(--text-dark); }
    .cc-date { font-size:.76rem; color:var(--text-muted); font-weight:600; }
    .cc-badge { background:#EBF8FF; color:var(--blue); font-size:.68rem; font-weight:900; padding:2px 9px; border-radius:10px; }
    .cc-text { font-size:.93rem; line-height:1.72; color:#444; margin-top:12px; }
    .cc-reply { font-size:.8rem; font-weight:800; color:var(--blue); cursor:pointer; background:none; border:none; padding:6px 0 0; transition:color .2s; }
    .cc-reply:hover { color:var(--red); }
    .comment-indent { margin-left:52px; margin-top:10px; }

    /* comment form */
    .comment-form { background:#fff; border-radius:20px; padding:30px; box-shadow:0 5px 28px rgba(0,0,0,.07); }
    .cf-field { width:100%; padding:12px 14px; border:2px solid #e8e8e8; border-radius:13px; font-family:'Nunito',sans-serif; font-weight:600; font-size:.93rem; outline:none; transition:border-color .2s, box-shadow .2s; margin-bottom:14px; }
    .cf-field:focus { border-color:var(--blue); box-shadow:0 0 0 4px rgba(30,77,161,.1); }
    .cf-field::placeholder { color:#bbb; }
    textarea.cf-field { min-height:110px; resize:vertical; }
    .btn-comment { background:var(--blue); color:#fff; font-family:'Poppins',sans-serif; font-weight:900; font-size:.97rem; border:none; border-radius:50px; padding:13px 34px; cursor:pointer; transition:all .25s; box-shadow:0 6px 22px rgba(30,77,161,.38); display:flex; align-items:center; gap:8px; }
    .btn-comment:hover { background:var(--blue-dark); transform:translateY(-3px); }

    /* ══════════════════════════ RELATED POSTS SECTION ══════════════════════════ */
    .related-section { padding:70px 0; background:#fff; }
    .related-card { background:#f7f8fc; border-radius:20px; overflow:hidden; height:100%; border:1px solid #f0f0f0; transition:transform .3s, box-shadow .3s; display:flex; flex-direction:column; }
    .related-card:hover { transform:translateY(-7px); box-shadow:0 18px 50px rgba(0,0,0,.12); }
    .rc-img { height:185px; overflow:hidden; position:relative; }
    .rc-img img { width:100%; height:100%; object-fit:cover; transition:transform .4s; }
    .related-card:hover .rc-img img { transform:scale(1.06); }
    .rc-cat { position:absolute; bottom:12px; left:12px; font-size:.68rem; font-weight:900; text-transform:uppercase; padding:3px 11px; border-radius:18px; }
    .rc-body { padding:20px 20px 18px; flex:1; display:flex; flex-direction:column; }
    .rc-title { font-family:'Poppins',sans-serif; font-weight:800; font-size:.97rem; color:var(--text-dark); line-height:1.35; margin-bottom:10px; flex:1; text-decoration:none; display:block; transition:color .2s; }
    .rc-title:hover { color:var(--blue); }
    .rc-footer { display:flex; align-items:center; justify-content:space-between; font-size:.78rem; color:var(--text-muted); font-weight:700; padding-top:12px; border-top:1px solid #eee; }

    /* ══════════════════════════ NEWSLETTER BAND ══════════════════════════ */
    .newsletter-section { padding:72px 0; background:linear-gradient(135deg,var(--blue),var(--blue-dark)); }
    .newsletter-section::before { content:''; position:absolute; inset:0; background:radial-gradient(circle 400px at 80% 50%,rgba(255,215,0,.08) 0%,transparent 70%); pointer-events:none; }
    .nl-heading { font-family:'Poppins',sans-serif; font-weight:900; font-size:clamp(1.5rem,2.8vw,2rem); color:#fff; margin-bottom:10px; }
    .nl-form { display:flex; gap:10px; max-width:460px; }
    .nl-form input { flex:1; padding:14px 18px; border:none; border-radius:50px; font-family:'Nunito',sans-serif; font-weight:700; font-size:.95rem; outline:none; }
    .nl-form button { background:var(--yellow); color:var(--blue); font-weight:900; border:none; border-radius:50px; padding:14px 26px; font-size:.93rem; cursor:pointer; transition:all .2s; white-space:nowrap; }
    .nl-form button:hover { background:#e6c200; transform:translateY(-2px); }