/* ================================================================
   EduBadi — styles.css
   Design: Ultra-clean, Apple-inspired, spacious
   Fonts:  Instrument Serif (display) + Geist (body)
================================================================ */
@import url('https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=Geist:wght@300;400;500;600&display=swap');

:root {
  --white:#ffffff; --bg:#fafaf9; --stone-100:#f4f3f0; --stone-200:#e8e6e1;
  --stone-400:#b5b0a8; --stone-600:#6b6560; --stone-900:#1c1917;
  --ink:#141210; --ink-mid:#3d3830; --ink-soft:#6b6560; --ink-faint:#9b958e;
  --border:#e4e2dc; --border-lt:#f0eee8;
  --serif:'Instrument Serif',Georgia,serif;
  --sans:'Geist',-apple-system,'Helvetica Neue',sans-serif;
  --nav-h:58px; --max:1100px; --pad:64px;
  --r-sm:8px; --r-md:14px; --r-lg:20px; --r-xl:24px; --r-2xl:32px; --r-pill:999px;
  --shadow-xs:0 1px 2px rgba(0,0,0,0.05); --shadow-sm:0 2px 8px rgba(0,0,0,0.07);
  --shadow-md:0 6px 24px rgba(0,0,0,0.09); --shadow-lg:0 16px 48px rgba(0,0,0,0.11);
  --ease:cubic-bezier(0.22,1,0.36,1); --spring:cubic-bezier(0.34,1.56,0.64,1);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth;}
body{font-family:var(--sans);color:var(--ink);background:var(--white);line-height:1.6;overflow-x:hidden;font-size:16px;}
a{text-decoration:none;color:inherit;}
ul{list-style:none;}
svg{display:block;flex-shrink:0;}
button{font-family:var(--sans);cursor:pointer;border:none;background:none;}
input,select,textarea{font-family:var(--sans);}
img{display:block;max-width:100%;}
.container{max-width:var(--max);margin:0 auto;padding:0 28px;}
.content-wrap{max-width:820px;}
.section{padding:var(--pad) 0;}
.section-alt{background:var(--stone-100);}
.fade-in{opacity:0;transform:translateY(18px);transition:opacity 0.55s var(--ease),transform 0.55s var(--ease);}
.fade-in.visible{opacity:1;transform:translateY(0);}

/* ── HEADER ── */
.header{position:fixed;top:0;left:0;right:0;z-index:100;height:var(--nav-h);background:rgba(255,255,255,0.82);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid transparent;transition:border-color 0.3s,background 0.3s,box-shadow 0.3s;}
.header.scrolled{background:rgba(255,255,255,0.96);border-bottom-color:var(--border-lt);box-shadow:var(--shadow-xs);}
.header-inner{max-width:var(--max);margin:0 auto;padding:0 28px;height:100%;display:flex;align-items:center;gap:1.5rem;}
.logo{display:flex;align-items:center;gap:9px;flex-shrink:0;user-select:none;}
.logo-img{width:48px;height:48px;object-fit:contain;padding:2px;}
.logo-text{display:none;}
.nav{display:flex;flex:1;justify-content:center;gap:2px;}
.nav-link{font-size:13.5px;font-weight:400;color:var(--ink-soft);padding:5px 14px;border-radius:var(--r-pill);transition:color 0.15s,background 0.15s;}
.nav-link:hover{color:var(--ink);background:var(--stone-100);}
.header-right{display:flex;align-items:center;gap:10px;flex-shrink:0;}
.search-wrap{position:relative;}
.search-btn{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:var(--r-pill);color:var(--ink-soft);transition:background 0.15s,color 0.15s;}
.search-btn:hover{background:var(--stone-100);color:var(--ink);}
.search-panel{position:absolute;top:calc(100% + 10px);right:0;width:320px;background:var(--white);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);overflow:hidden;opacity:0;pointer-events:none;transform:translateY(-6px) scale(0.98);transform-origin:top right;transition:opacity 0.2s var(--ease),transform 0.2s var(--ease);}
.search-panel.open{opacity:1;pointer-events:auto;transform:translateY(0) scale(1);}
.search-input{width:100%;padding:13px 16px;font-size:14px;border:none;outline:none;border-bottom:1px solid var(--border-lt);color:var(--ink);background:transparent;}
.search-input::placeholder{color:var(--ink-faint);}
.search-results{display:none;}
.search-results.active{display:block;}
.sr-item{display:flex;flex-direction:column;gap:2px;padding:11px 16px;border-bottom:1px solid var(--border-lt);cursor:pointer;transition:background 0.15s;}
.sr-item:last-child{border-bottom:none;}
.sr-item:hover{background:var(--stone-100);}
.sr-title{font-size:13.5px;font-weight:500;color:var(--ink);}
.sr-meta{font-size:11.5px;color:var(--ink-faint);}
.sr-empty{padding:16px;font-size:13px;color:var(--ink-soft);}
.coffee-btn{font-size:12.5px;font-weight:500;padding:7px 16px;background:#fbbf24;color:#1c1917;border-radius:var(--r-pill);transition:all 0.18s;white-space:nowrap;}
.coffee-btn:hover{background:#f59e0b;transform:translateY(-1px);box-shadow:0 4px 12px rgba(251,191,36,0.4);}
.burger{display:none;flex-direction:column;gap:5.5px;padding:6px;margin-left:auto;}
.burger span{display:block;width:20px;height:1.2px;background:var(--ink);border-radius:2px;transition:all 0.25s var(--ease);transform-origin:center;}
.burger.open span:nth-child(1){transform:translateY(6.7px) rotate(45deg);}
.burger.open span:nth-child(2){transform:translateY(-6.7px) rotate(-45deg);}
.mobile-menu{display:none;position:absolute;top:var(--nav-h);left:0;right:0;background:rgba(255,255,255,0.98);backdrop-filter:blur(20px);border-bottom:1px solid var(--border-lt);padding:10px 0 20px;box-shadow:var(--shadow-md);}
.mobile-menu.open{display:block;}
.mobile-link{display:block;padding:12px 28px;font-size:16px;color:var(--ink-mid);transition:color 0.15s;}
.mobile-link:hover{color:var(--ink);}
.mobile-search{padding:12px 28px 4px;}
.mobile-search-input{width:100%;padding:10px 14px;font-size:14px;border:1px solid var(--border);border-radius:var(--r-md);outline:none;color:var(--ink);background:var(--stone-100);}
.mobile-search-input::placeholder{color:var(--ink-faint);}
.mobile-coffee{display:block;margin:12px 28px 0;padding:10px 16px;background:#fbbf24;color:#1c1917;border-radius:var(--r-pill);font-size:14px;font-weight:500;text-align:center;}

/* ── BUTTONS ── */
.btn-primary{display:inline-flex;align-items:center;padding:13px 30px;background:var(--ink);color:var(--white);font-size:15px;font-weight:500;border-radius:var(--r-pill);transition:all 0.2s;letter-spacing:0.1px;}
.btn-primary:hover{background:var(--ink-mid);transform:translateY(-1px);box-shadow:var(--shadow-md);}
.btn-outline{display:inline-flex;align-items:center;padding:13px 28px;background:transparent;color:var(--ink-mid);font-size:15px;font-weight:400;border-radius:var(--r-pill);border:1px solid var(--stone-200);transition:all 0.2s;}
.btn-outline:hover{background:var(--stone-100);border-color:var(--stone-400);color:var(--ink);}

/* ── AD SLOTS ── */
.ad-slot{display:flex;align-items:center;justify-content:center;background:var(--stone-100);border-top:1px solid var(--border-lt);border-bottom:1px solid var(--border-lt);}
.ad-label{font-size:10px;font-weight:500;letter-spacing:1px;text-transform:uppercase;color:var(--ink-faint);padding:5px 14px;border:1px solid var(--border);border-radius:var(--r-pill);background:var(--white);}
.ad-banner{min-height:90px;padding:12px 28px;}
.ad-inline{min-height:100px;border-radius:var(--r-xl);border:1px dashed var(--border);margin:24px 0;}
.ad-inline-seo{min-height:90px;border-radius:var(--r-lg);border:1px dashed var(--border);margin:24px 0;}
.ad-sidebar{min-height:200px;border-radius:var(--r-lg);border:1px dashed var(--border);width:100%;margin-bottom:14px;}

/* ── HERO ── */
.hero{padding-top:calc(var(--nav-h) + 60px);padding-bottom:60px;text-align:center;position:relative;overflow:hidden;}
.hero::before{content:'';position:absolute;inset:0;z-index:0;background:radial-gradient(ellipse 70% 50% at 50% -10%,rgba(99,102,241,0.06) 0%,transparent 70%);pointer-events:none;}
.hero-inner{max-width:720px;margin:0 auto;padding:0 28px;position:relative;z-index:1;}
.hero-tag{display:inline-block;font-size:11.5px;font-weight:500;letter-spacing:1.4px;text-transform:uppercase;color:var(--ink-faint);margin-bottom:22px;border:1px solid var(--border);padding:5px 16px;border-radius:var(--r-pill);}
.hero-title{font-family:var(--serif);font-size:clamp(40px,7vw,72px);font-weight:400;line-height:1.05;letter-spacing:-2.5px;color:var(--ink);margin-bottom:22px;}
.hero-title em{font-style:italic;color:#4338ca;}
.hero-sub{font-size:clamp(16px,2vw,18px);color:var(--ink-soft);font-weight:300;line-height:1.75;max-width:480px;margin:0 auto 38px;}
.hero-cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-bottom:36px;}
.hero-stats{display:inline-flex;align-items:center;background:var(--white);border:1px solid var(--border);border-radius:var(--r-pill);padding:14px 32px;box-shadow:var(--shadow-sm);}
.stat{display:flex;flex-direction:column;align-items:center;padding:0 24px;gap:2px;}
.stat-n{font-family:var(--serif);font-size:24px;font-weight:400;color:var(--ink);letter-spacing:-0.8px;line-height:1;}
.stat-l{font-size:11px;color:var(--ink-faint);font-weight:400;}
.stat-sep{width:1px;height:26px;background:var(--border);}

/* ── SECTION HEADERS ── */
.section-label{font-size:11px;font-weight:600;letter-spacing:1.8px;text-transform:uppercase;color:var(--ink-faint);margin-bottom:10px;}
.section-title{font-family:var(--serif);font-size:clamp(26px,4vw,42px);font-weight:400;letter-spacing:-1.5px;line-height:1.1;margin-bottom:32px;color:var(--ink);}

/* ── CLASS CARDS ── */
.class-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;margin-top:0;}
.class-card{display:flex;align-items:center;gap:16px;padding:22px;background:var(--white);border:1px solid var(--border-lt);border-radius:var(--r-xl);cursor:pointer;transition:all 0.25s var(--ease);position:relative;overflow:hidden;}
.class-card::before{content:'';position:absolute;inset:0;border-radius:inherit;background:linear-gradient(135deg,var(--tint,#eef2ff) 0%,transparent 60%);opacity:0;transition:opacity 0.3s;}
.class-card:hover{border-color:var(--accent,#4338ca);box-shadow:var(--shadow-md);transform:translateY(-3px);}
.class-card:hover::before{opacity:1;}
.class-card-grade{font-family:var(--serif);font-size:34px;font-weight:400;color:var(--badge,#dbeafe);letter-spacing:-1.5px;line-height:1;flex-shrink:0;transition:color 0.25s;}
.class-card:hover .class-card-grade{color:var(--accent,#4338ca);}
.class-card-body{flex:1;}
.class-card-label{font-size:15px;font-weight:500;color:var(--ink);}
.class-card-meta{font-size:12px;color:var(--ink-faint);margin-top:2px;}
.class-card-arrow{color:var(--stone-400);transition:color 0.2s,transform 0.25s var(--spring);flex-shrink:0;}
.class-card:hover .class-card-arrow{color:var(--accent,#4338ca);transform:translateX(4px);}

/* ── STEPS ── */
.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--border-lt);border-radius:var(--r-xl);overflow:hidden;}
.step{padding:28px 28px;background:var(--white);transition:background 0.2s;}
.step:hover{background:var(--stone-100);}
.step-n{font-family:var(--serif);font-size:42px;font-weight:400;color:var(--stone-200);letter-spacing:-2px;line-height:1;margin-bottom:20px;}
.step h3{font-size:16px;font-weight:500;margin-bottom:8px;color:var(--ink);}
.step p{font-size:14px;color:var(--ink-soft);font-weight:300;line-height:1.7;}

/* ── PAGE HERO ── */
.page-hero{padding-top:calc(var(--nav-h) + 28px);padding-bottom:28px;background:var(--stone-100);border-bottom:1px solid var(--border-lt);}
.page-hero-sm{padding-bottom:22px;}
.page-title{font-family:var(--serif);font-size:clamp(28px,5vw,50px);font-weight:400;letter-spacing:-2px;line-height:1.06;margin-bottom:10px;color:var(--ink);}
.page-sub{font-size:16px;color:var(--ink-soft);font-weight:300;line-height:1.7;max-width:500px;}
.breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:4px;margin-bottom:16px;font-size:13px;}
.breadcrumb a{color:#4338ca;transition:opacity 0.15s;}
.breadcrumb a:hover{opacity:0.7;}
.bc-sep{color:var(--stone-400);font-size:12px;}
.bc-cur{color:var(--ink-soft);}

/* ── CLASS PAGE ── */
.subject-block{margin-bottom:40px;}
.subject-hdr{display:flex;align-items:center;gap:12px;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--border-lt);}
.subject-icon{width:34px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:var(--r-sm);font-size:14px;flex-shrink:0;}
.subject-name{font-size:15px;font-weight:500;flex:1;}
.subject-count{font-size:12px;color:var(--ink-faint);}
.chapter-list{display:flex;flex-direction:column;gap:1px;background:var(--border-lt);border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--border-lt);}
.chapter-row{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;background:var(--white);cursor:pointer;transition:background 0.15s;}
.chapter-row:hover{background:var(--stone-100);}
.chapter-row-left{display:flex;align-items:center;gap:14px;}
.chapter-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:var(--r-sm);font-size:14px;flex-shrink:0;}
.chapter-name{font-size:14.5px;font-weight:500;color:var(--ink);}
.chapter-meta{font-size:12px;color:var(--ink-faint);margin-top:2px;}
.chapter-arrow{color:var(--stone-400);transition:color 0.18s,transform 0.22s var(--spring);}
.chapter-row:hover .chapter-arrow{color:#4338ca;transform:translateX(3px);}

/* ── TOPIC LIST ── */
.topic-list{display:flex;flex-direction:column;gap:1px;background:var(--border-lt);border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--border-lt);}
.topic-row{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;background:var(--white);cursor:pointer;transition:background 0.15s;gap:12px;}
.topic-row:hover{background:var(--stone-100);}
.topic-row-left{display:flex;align-items:center;gap:14px;}
.topic-icon{width:38px;height:38px;display:flex;align-items:center;justify-content:center;border-radius:var(--r-sm);font-size:14px;flex-shrink:0;}
.topic-title{font-size:14.5px;font-weight:500;color:var(--ink);}
.topic-desc{font-size:12px;color:var(--ink-faint);margin-top:2px;font-weight:300;}
.topic-go{display:flex;align-items:center;gap:5px;font-size:13px;font-weight:500;color:var(--stone-400);white-space:nowrap;flex-shrink:0;transition:color 0.18s,transform 0.22s var(--spring);opacity:0;}
.topic-row:hover .topic-go{color:#4338ca;transform:translateX(3px);opacity:1;}

/* ── LESSON PAGE ── */
.lesson-grid{display:grid;grid-template-columns:1fr 280px;gap:28px;align-items:start;}
.lesson-main{min-width:0;}
.lesson-sidebar{display:flex;flex-direction:column;gap:14px;position:sticky;top:calc(var(--nav-h) + 20px);}

/* PPT */
.ppt-shell{border-radius:var(--r-2xl);overflow:hidden;border:1px solid var(--border-lt);box-shadow:var(--shadow-md);}
.ppt-frame-box{position:relative;background:#0a0a0a;border-radius:var(--r-2xl) var(--r-2xl) 0 0;overflow:hidden;}
.ppt-frame{display:block;width:100%;aspect-ratio:16/9;border:none;background:#111;}
.ppt-cover{position:absolute;bottom:0;left:0;right:0;height:46px;background:#0a0a0a;z-index:5;}
.ppt-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:13px 18px;background:#0f0f0f;border-radius:0 0 var(--r-2xl) var(--r-2xl);}
.ppt-hint{font-size:11.5px;color:rgba(255,255,255,0.25);display:flex;align-items:center;gap:8px;}
kbd{background:rgba(255,255,255,0.07);border:1px solid rgba(255,255,255,0.12);border-radius:4px;padding:2px 7px;font-size:10px;font-family:'SF Mono',monospace;color:rgba(255,255,255,0.4);}
.ppt-actions{display:flex;gap:8px;flex-wrap:wrap;}
.ppt-btn-outline{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:500;padding:7px 16px;border-radius:var(--r-pill);color:rgba(255,255,255,0.65);border:1px solid rgba(255,255,255,0.12);background:rgba(255,255,255,0.05);transition:all 0.18s;font-family:var(--sans);}
.ppt-btn-outline:hover{background:rgba(255,255,255,0.1);color:#fff;}
.ppt-btn-primary{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:500;padding:7px 16px;border-radius:var(--r-pill);color:#1c1917;background:#fbbf24;border:none;transition:all 0.18s;font-family:var(--sans);}
.ppt-btn-primary:hover{background:#f59e0b;transform:translateY(-1px);}
.ppt-placeholder{aspect-ratio:16/9;background:var(--stone-100);border:1.5px dashed var(--border);border-radius:var(--r-2xl);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;padding:40px;}
.ppt-placeholder-icon{font-size:28px;color:var(--stone-400);}
.ppt-placeholder-title{font-size:17px;font-weight:500;color:var(--ink-soft);}
.ppt-placeholder-sub{font-size:13px;color:var(--ink-faint);font-weight:300;line-height:1.7;}

/* SEO Content */
.seo-content{margin-top:32px;}
.seo-content h2{font-family:var(--serif);font-size:20px;font-weight:400;letter-spacing:-0.5px;margin:28px 0 10px;color:var(--ink);}
.seo-content h2:first-child{margin-top:0;}
.seo-content p{font-size:15px;color:var(--ink-soft);line-height:1.8;margin-bottom:16px;font-weight:300;}
.seo-content strong{font-weight:600;color:var(--ink-mid);}

/* Sidebar */
.sidebar-box{background:var(--stone-100);border:1px solid var(--border-lt);border-radius:var(--r-lg);padding:16px;}
.sidebar-box-title{font-size:11px;font-weight:600;letter-spacing:1.2px;text-transform:uppercase;color:var(--ink-faint);margin-bottom:10px;}
.more-item{display:flex;justify-content:space-between;align-items:center;padding:9px 10px;font-size:13.5px;color:var(--ink-mid);border-radius:var(--r-sm);font-weight:300;transition:background 0.15s,color 0.15s;cursor:pointer;}
.more-item:hover{background:var(--white);color:var(--ink);}

/* Promo box */
.promo-box{border-radius:var(--r-lg);overflow:hidden;margin-bottom:14px;}
.promo-quote{background:linear-gradient(135deg,#1e1b4b 0%,#312e81 100%);padding:22px 18px;}
.promo-quote-mark{font-family:var(--serif);font-size:48px;color:rgba(255,255,255,0.2);line-height:0.6;margin-bottom:10px;}
.promo-quote-text{font-size:13.5px;color:rgba(255,255,255,0.85);line-height:1.7;font-weight:300;font-style:italic;margin-bottom:10px;}
.promo-quote-author{font-size:12px;color:rgba(255,255,255,0.4);font-weight:500;}
.promo-advertise{background:var(--stone-100);padding:12px 18px;border:1px solid var(--border-lt);border-top:none;border-radius:0 0 var(--r-lg) var(--r-lg);}
.promo-advertise-link{font-size:12px;font-weight:600;color:#4338ca;display:block;margin-bottom:3px;}
.promo-advertise-sub{font-size:11px;color:var(--ink-faint);}

/* ── PDF VIEWER ── */
.pdf-section{margin-top:24px;border-radius:var(--r-xl);overflow:hidden;border:1px solid var(--border-lt);box-shadow:var(--shadow-md);background:#0f0d1a;}
.pdf-section::before{content:'';display:block;height:3px;background:linear-gradient(90deg,#1d4ed8 0%,#4338ca 50%,#7c3aed 100%);}
.pdf-section:fullscreen,.pdf-section:-webkit-full-screen{border-radius:0;display:flex;flex-direction:column;background:#1c1a2e;}
.pdf-section:fullscreen .pdf-canvas-wrap,.pdf-section:-webkit-full-screen .pdf-canvas-wrap{
  flex:1;
  overflow:hidden; /* zero scrolling in fullscreen */
  display:flex;
  align-items:center;
  justify-content:center;
  padding:16px;
}
.pdf-bar{display:flex;align-items:center;justify-content:space-between;padding:0 16px;height:48px;background:linear-gradient(135deg,#0f0d1a 0%,#1a1535 100%);border-bottom:0.5px solid rgba(255,255,255,0.07);gap:10px;flex-shrink:0;}
.pdf-bar-left{display:flex;align-items:center;gap:9px;flex:1;min-width:0;color:rgba(255,255,255,0.5);}
.pdf-bar-title{font-size:13px;font-weight:500;color:rgba(255,255,255,0.8);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.pdf-bar-badge{font-size:9px;font-weight:700;letter-spacing:1px;text-transform:uppercase;background:#dc2626;color:#fff;padding:3px 8px;border-radius:var(--r-pill);flex-shrink:0;}
.pdf-bar-center{display:flex;align-items:center;gap:4px;flex-shrink:0;}
.pdf-nav-btn{width:32px;height:32px;border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,0.06);border:0.5px solid rgba(255,255,255,0.1);color:rgba(255,255,255,0.7);cursor:pointer;transition:all 0.18s;}
.pdf-nav-btn:hover{background:rgba(99,102,241,0.2);border-color:rgba(99,102,241,0.4);color:#a5b4fc;transform:scale(1.08);}
.pdf-cur{font-size:13px;font-weight:500;color:rgba(255,255,255,0.9);min-width:20px;text-align:center;}
.pdf-goto{width:64px;height:28px;background:rgba(255,255,255,0.07);border:0.5px solid rgba(255,255,255,0.15);border-radius:var(--r-sm);color:rgba(255,255,255,0.85);font-size:12px;text-align:center;padding:0 6px;outline:none;margin:0 5px;-moz-appearance:textfield;}
.pdf-goto::-webkit-outer-spin-button,.pdf-goto::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
.pdf-goto::placeholder{color:rgba(255,255,255,0.2);font-size:11px;}
.pdf-goto:focus{border-color:rgba(99,102,241,0.5);}
.pdf-sep{font-size:12px;color:rgba(255,255,255,0.4);margin-right:4px;}
.pdf-bar-right{display:flex;align-items:center;gap:4px;flex-shrink:0;}
.pdf-zoom-btn,.pdf-fs-btn{width:32px;height:32px;border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,0.06);border:0.5px solid rgba(255,255,255,0.1);color:rgba(255,255,255,0.55);cursor:pointer;transition:all 0.18s;}
.pdf-zoom-btn:hover{background:rgba(255,255,255,0.12);color:#fff;}
.pdf-fs-btn{background:rgba(99,102,241,0.2);border-color:rgba(99,102,241,0.3);color:#a5b4fc;}
.pdf-fs-btn:hover{background:rgba(99,102,241,0.35);color:#fff;}
.pdf-canvas-wrap{background:#1c1a2e;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:24px 16px;min-height:500px;position:relative;overflow-y:auto;}
.pdf-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:80px 20px;color:rgba(255,255,255,0.3);font-size:13px;font-weight:300;position:absolute;inset:0;}
.pdf-spinner{width:26px;height:26px;border:2px solid rgba(99,102,241,0.15);border-top-color:#6366f1;border-radius:50%;animation:pdfSpin 0.8s linear infinite;}
@keyframes pdfSpin{to{transform:rotate(360deg);}}
.pdf-error{color:rgba(255,100,100,0.8);font-size:13px;text-align:center;max-width:320px;line-height:1.7;}
.pdf-canvas{display:none;border-radius:3px;box-shadow:0 2px 8px rgba(0,0,0,0.4),0 16px 48px rgba(0,0,0,0.5);max-width:100%;background:#fff;}
.pdf-anno-layer{pointer-events:none;z-index:10;}
.pdf-anno-layer a{pointer-events:auto;display:block;border-radius:2px;transition:background 0.15s;}
.pdf-anno-layer a:hover{background:rgba(99,102,241,0.15);}

/* ── VIDEO OVERLAY ── */
#eb-video-overlay{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity 0.28s;pointer-events:none;}
#eb-video-overlay.open{opacity:1;pointer-events:auto;}
.voverlay-bd{position:absolute;inset:0;background:rgba(0,0,0,0.85);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);cursor:pointer;}
.voverlay-box{position:relative;z-index:1;width:min(860px,94vw);border-radius:var(--r-xl);overflow:hidden;box-shadow:0 32px 80px rgba(0,0,0,0.6);transform:translateY(20px) scale(0.97);transition:transform 0.3s var(--ease);}
#eb-video-overlay.open .voverlay-box{transform:translateY(0) scale(1);}
.voverlay-bar{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;background:#0f0d1a;}
.voverlay-title{font-size:13px;font-weight:500;color:rgba(255,255,255,0.7);}
.voverlay-close{width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:var(--r-sm);background:rgba(255,255,255,0.06);border:0.5px solid rgba(255,255,255,0.1);color:rgba(255,255,255,0.6);cursor:pointer;transition:all 0.18s;}
.voverlay-close:hover{background:rgba(255,50,50,0.2);color:#fff;}
.voverlay-frame{position:relative;width:100%;aspect-ratio:16/9;background:#000;}
.voverlay-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:none;}

/* ── STATIC / LEGAL PAGES ── */
.static-content h2{font-family:var(--serif);font-size:22px;font-weight:400;letter-spacing:-0.5px;margin:28px 0 10px;color:var(--ink);}
.static-content h2:first-child{margin-top:0;}
.static-content p{font-size:15px;color:var(--ink-soft);line-height:1.8;margin-bottom:14px;font-weight:300;}
.static-content ul{margin:0 0 16px 20px;list-style:disc;}
.static-content ul li{font-size:15px;color:var(--ink-soft);line-height:1.8;margin-bottom:6px;font-weight:300;}
.static-content a{color:#4338ca;text-decoration:underline;text-underline-offset:2px;}
.static-content em{font-style:italic;color:var(--ink-faint);}

/* ── CONTACT ── */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;}
.contact-info h2,.contact-form-wrap h2{font-family:var(--serif);font-size:22px;font-weight:400;letter-spacing:-0.5px;margin-bottom:14px;}
.contact-info p{font-size:15px;color:var(--ink-soft);line-height:1.75;margin-bottom:16px;font-weight:300;}
.contact-item{margin-bottom:20px;}
.contact-label{font-size:11px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--ink-faint);display:block;margin-bottom:6px;}
.contact-info a,.contact-note a{color:#4338ca;}
.contact-form{display:flex;flex-direction:column;gap:14px;}
.form-group{display:flex;flex-direction:column;gap:6px;}
.form-group label{font-size:13px;font-weight:500;color:var(--ink-mid);}
.form-input{padding:10px 14px;font-size:14px;border:1px solid var(--border);border-radius:var(--r-md);outline:none;color:var(--ink);background:var(--white);transition:border-color 0.18s;}
.form-input:focus{border-color:#4338ca;}
.form-textarea{resize:vertical;min-height:120px;}
.contact-note{font-size:12.5px;color:var(--ink-faint);line-height:1.7;}

/* ── NOT FOUND ── */
.not-found{padding:120px 28px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:20px;padding-top:calc(var(--nav-h) + 120px);}
.not-found h2{font-family:var(--serif);font-size:32px;color:var(--ink);}
.not-found p{color:var(--ink-soft);}

/* ── FOOTER ── */
.footer{background:#0f0e0c;color:rgba(255,255,255,0.65);padding:56px 0 0;}
.footer-inner{max-width:var(--max);margin:0 auto;padding:0 28px 48px;display:grid;grid-template-columns:220px 1fr;gap:60px;border-bottom:1px solid rgba(255,255,255,0.07);}
.footer-brand{}
.footer-logo{display:flex;align-items:center;gap:9px;font-family:var(--serif);font-size:18px;font-style:italic;color:rgba(255,255,255,0.9);margin-bottom:12px;}
.footer-logo-img{width:22px;height:22px;object-fit:contain;opacity:0.85;}
.footer-desc{font-size:13px;color:rgba(255,255,255,0.35);font-weight:300;line-height:1.75;margin-bottom:6px;}
.footer-boards{font-size:12px;color:rgba(255,255,255,0.2);font-weight:300;}
.footer-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;}
.footer-col{display:flex;flex-direction:column;gap:10px;}
.footer-col-title{font-size:10.5px;font-weight:600;letter-spacing:1.3px;text-transform:uppercase;color:rgba(255,255,255,0.2);margin-bottom:4px;}
.footer-col a{font-size:13.5px;color:rgba(255,255,255,0.42);font-weight:300;transition:color 0.15s;}
.footer-col a:hover{color:rgba(255,255,255,0.85);}
.footer-bottom{max-width:var(--max);margin:0 auto;padding:18px 28px;display:flex;justify-content:space-between;font-size:11.5px;color:rgba(255,255,255,0.18);font-weight:300;flex-wrap:wrap;gap:6px;}

/* ── PRESENT PAGE STYLES (present.html) ── */
.present-bar{position:fixed;top:0;left:0;right:0;height:52px;background:rgba(6,4,18,0.97);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);display:flex;align-items:center;justify-content:space-between;padding:0 22px;z-index:100;border-bottom:0.5px solid rgba(255,255,255,0.06);transition:transform 0.4s var(--ease),opacity 0.4s;}
.present-bar.hidden{transform:translateY(-100%);opacity:0;pointer-events:none;}
.present-hover-strip{position:fixed;top:0;left:0;right:0;height:8px;z-index:200;cursor:pointer;}
.present-hover-pill{position:fixed;top:14px;left:50%;transform:translateX(-50%) translateY(-10px);background:rgba(12,8,30,0.95);backdrop-filter:blur(12px);border:0.5px solid rgba(99,102,241,0.28);border-radius:var(--r-pill);padding:8px 22px;font-size:12px;font-weight:500;color:rgba(255,255,255,0.75);z-index:201;pointer-events:none;opacity:0;transition:opacity 0.22s,transform 0.3s var(--spring);white-space:nowrap;}
.present-hover-pill.show{opacity:1;transform:translateX(-50%) translateY(0);}

/* ── RESPONSIVE ── */
@media(max-width:960px){
  :root{--pad:68px;}
  .nav,.header-right .coffee-btn{display:none;}
  .burger{display:flex;}
  .lesson-grid{grid-template-columns:1fr;}
  .lesson-sidebar{position:static;}
  .steps-grid{grid-template-columns:1fr;}
  .steps-grid .step+.step{border-top:1px solid var(--border-lt);}
  .footer-inner{grid-template-columns:1fr;gap:40px;}
  .contact-grid{grid-template-columns:1fr;}
}
@media(max-width:640px){
  :root{--pad:52px;}
  .hero-title{letter-spacing:-1.5px;}
  .hero-stats{flex-direction:column;padding:14px 24px;border-radius:var(--r-xl);}
  .stat-sep{width:40px;height:1px;}
  .stat{padding:8px 0;}
  .class-grid{grid-template-columns:1fr;}
  .footer-cols{grid-template-columns:1fr 1fr;}
  .ppt-toolbar{flex-direction:column;align-items:flex-start;}
  .hero-cta{flex-direction:column;align-items:center;}
  .pdf-bar-title{display:none;}
}

/* ── SEO key points list ── */
.seo-points{margin:0 0 20px 0;padding:0;list-style:none;}
.seo-points li{font-size:14.5px;color:var(--ink-soft);line-height:1.75;font-weight:300;padding:9px 0 9px 22px;border-bottom:1px solid var(--border-lt);position:relative;}
.seo-points li:last-child{border-bottom:none;}
.seo-points li::before{content:"";position:absolute;left:0;top:18px;width:7px;height:7px;border-radius:50%;background:#4338ca;opacity:0.5;}
