
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=Outfit:wght@300;400;500;600;700;800&display=swap');

:root{
  --navy:#0A1628;
  --navy-2:#11203A;
  --navy-3:#173056;
  --gold:#C5A55A;
  --gold-2:#E0C98D;
  --gold-glow:rgba(197,165,90,.14);
  --blue:#2563EB;
  --blue-soft:#EAF1FF;
  --success:#14B86A;
  --success-soft:#EAFBF2;
  --danger:#E15757;
  --danger-soft:#FEF1F1;
  --warning:#F59E0B;
  --warning-soft:#FFF7E8;
  --ink:#122033;
  --text:#243449;
  --muted:#6B7280;
  --line:#E6EAF1;
  --line-strong:#D9DFEA;
  --bg:#F7F8FC;
  --card:#FFFFFF;
  --shadow-sm:0 10px 30px rgba(10,22,40,.07);
  --shadow-md:0 18px 40px rgba(10,22,40,.10);
  --shadow-lg:0 26px 60px rgba(10,22,40,.14);
  --radius-sm:12px;
  --radius-md:18px;
  --radius-lg:26px;
  --radius-pill:999px;
  --container:1200px;
  --font-display:'Cormorant Garamond', Georgia, serif;
  --font-body:'Outfit', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--font-body);color:var(--text);background:linear-gradient(180deg,#F8F9FC 0%,#F4F7FB 100%);line-height:1.6}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
main{display:block}
.container{width:min(var(--container),calc(100% - 32px));margin-inline:auto}
.container-narrow{width:min(920px,calc(100% - 32px));margin-inline:auto}
.skip-link{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.skip-link:focus{left:16px;top:16px;width:auto;height:auto;overflow:visible;padding:12px 16px;background:#fff;color:var(--navy);border-radius:12px;z-index:3000;box-shadow:var(--shadow-md)}
.page-wrap{padding-top:96px}
.section{padding:84px 0;position:relative}
.section.is-soft{background:radial-gradient(circle at top right, rgba(197,165,90,.08), transparent 28%), linear-gradient(180deg,#FCFCFE 0%,#F3F6FB 100%)}
.section.is-dark{background:linear-gradient(135deg,var(--navy) 0%,var(--navy-3) 100%);color:#fff}
.section-header{max-width:820px;margin:0 auto 34px;text-align:center}
.section-tag,.eyebrow,.overline{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:var(--radius-pill);background:rgba(197,165,90,.12);color:#8E7130;font-size:.78rem;letter-spacing:.08em;font-weight:700;text-transform:uppercase}
.section-header h1,.section-header h2,.section-header h3,h1,h2,h3{font-family:var(--font-display);color:var(--navy);line-height:1.05;margin:0 0 14px}
h1{font-size:clamp(3rem,6vw,5.6rem)}
h2{font-size:clamp(2.3rem,4vw,3.8rem)}
h3{font-size:clamp(1.25rem,2vw,1.75rem)}
p{margin:0 0 12px}
.lead,.subtitle,.section-header p{font-size:1.08rem;color:var(--muted)}
.gold{color:var(--gold)}
.muted{color:var(--muted)}
.small{font-size:.92rem;color:var(--muted)}
.section-divider{width:84px;height:3px;margin:18px auto;background:linear-gradient(90deg,transparent,var(--gold),transparent);border-radius:999px}
.page-hero{padding:112px 0 54px;position:relative;overflow:hidden}
.page-hero::before,.hero::before{content:"";position:absolute;inset:0;background:
  radial-gradient(circle at 10% 20%, rgba(197,165,90,.12), transparent 20%),
  radial-gradient(circle at 85% 10%, rgba(37,99,235,.12), transparent 24%),
  linear-gradient(135deg,rgba(255,255,255,.88),rgba(247,248,252,.94));z-index:0}
.page-hero::after,.hero::after{content:"";position:absolute;inset:auto -120px -140px auto;width:420px;height:420px;border:1px solid rgba(197,165,90,.18);border-radius:50%;box-shadow:0 0 0 50px rgba(197,165,90,.05),0 0 0 120px rgba(37,99,235,.03);z-index:0}
.hero,.page-hero > .container{position:relative;z-index:1}
.hero{padding:112px 0 70px;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:32px;align-items:center}
.hero-card,.glass-card{background:rgba(255,255,255,.82);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.66);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}
.hero-copy{padding:28px 0}
.hero-badge{display:inline-flex;gap:10px;align-items:center;padding:10px 14px;border-radius:999px;background:rgba(10,22,40,.92);color:#fff;font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:18px}
.hero-logo{width:106px;height:106px;border-radius:24px;object-fit:cover;padding:8px;background:#fff;border:1px solid rgba(197,165,90,.35);box-shadow:0 18px 35px rgba(10,22,40,.12),0 0 0 8px rgba(197,165,90,.08);margin-bottom:18px}
.hero-actions,.cta-row,.button-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:24px}
.btn-primary,.btn-gold,.btn-outline,.btn-secondary,.card-btn,.pill-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 20px;border-radius:999px;font-weight:700;border:1px solid transparent;transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease, background .22s ease, color .22s ease}
.btn-primary,.card-btn{background:linear-gradient(135deg,var(--navy) 0%, var(--navy-3) 100%);color:#fff;box-shadow:0 14px 30px rgba(10,22,40,.16)}
.btn-gold{background:linear-gradient(135deg,#D6BA7B 0%,var(--gold) 100%);color:var(--navy);box-shadow:0 14px 30px rgba(197,165,90,.25)}
.btn-secondary{background:linear-gradient(135deg,var(--blue) 0%,#4D7EFF 100%);color:#fff;box-shadow:0 14px 30px rgba(37,99,235,.22)}
.btn-outline{background:rgba(255,255,255,.72);color:var(--navy);border-color:rgba(10,22,40,.14)}
.btn-primary:hover,.btn-gold:hover,.btn-outline:hover,.btn-secondary:hover,.card-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}
.stats-bar,.kpi-grid,.cards-grid,.grid-2,.grid-3,.grid-4,.feature-grid,.subjects-grid,.cycle-grid,.class-grid,.quiz-grid,.course-grid,.contact-grid,.values-grid,.exam-grid,.testimonial-grid{display:grid;gap:18px}
.stats-bar,.grid-4,.values-grid,.subjects-grid,.feature-grid,.quiz-grid,.course-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.grid-3,.cycle-grid,.class-grid,.exam-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid-2,.contact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.card,.stat-card,.info-card,.feature-card,.subject-card,.cycle-card,.class-card,.quiz-card-mini,.contact-card,.value-card,.exam-card,.testimonial-card,.metric-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:22px;position:relative;overflow:hidden;transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease}
.card:hover,.stat-card:hover,.info-card:hover,.feature-card:hover,.subject-card:hover,.cycle-card:hover,.class-card:hover,.quiz-card-mini:hover,.contact-card:hover,.value-card:hover,.exam-card:hover,.testimonial-card:hover,.metric-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:rgba(197,165,90,.4)}
.card::before,.feature-card::before,.subject-card::before,.cycle-card::before,.class-card::before,.quiz-card-mini::before,.metric-card::before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:linear-gradient(90deg,var(--gold),transparent)}
.stat-card{text-align:center;padding:24px 18px}
.stat-number{font-size:clamp(2rem,4vw,3rem);font-weight:800;font-family:var(--font-body);color:var(--navy);letter-spacing:-.03em}
.stat-label{color:var(--muted);font-size:.94rem}
.stat-kicker{font-size:.78rem;font-weight:800;color:var(--gold);letter-spacing:.08em;text-transform:uppercase}
.subject-icon,.value-icon,.metric-icon,.contact-icon,.cycle-icon,.class-icon,.account-avatar{width:54px;height:54px;border-radius:18px;display:grid;place-items:center;font-weight:800;font-size:1.2rem;background:linear-gradient(135deg,var(--navy) 0%,var(--navy-3) 100%);color:#fff;box-shadow:0 14px 28px rgba(10,22,40,.16);margin-bottom:14px}
.subject-maths .subject-icon,.accent-maths{background:linear-gradient(135deg,#0F2444,#1B4A8E)}
.subject-francais .subject-icon,.accent-francais{background:linear-gradient(135deg,#5A2B3F,#9A4C67)}
.subject-anglais .subject-icon,.accent-anglais{background:linear-gradient(135deg,#173056,#2563EB)}
.subject-sciences .subject-icon,.accent-sciences{background:linear-gradient(135deg,#0F4D47,#0E9F6E)}
.subject-economie .subject-icon,.accent-economie{background:linear-gradient(135deg,#4A3620,#B7862E)}
.card-title-row,.quiz-card-head,.course-card-head,.contact-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px}
.card p,.feature-card p,.subject-card p,.cycle-card p,.class-card p,.quiz-card-mini p,.contact-card p,.value-card p{color:var(--muted)}
.card-meta,.meta-row,.chip-row,.subject-pills,.filter-bar,.toolbar-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.chip,.meta-pill,.filter-btn,.status-badge,.difficulty-badge,.exam-badge,.account-chip,.inline-pill,.score-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;font-size:.82rem;font-weight:700;border:1px solid rgba(10,22,40,.08);background:#fff;color:var(--navy)}
.meta-pill{background:var(--bg);border-color:var(--line)}
.status-badge.success,.score-badge.high{background:var(--success-soft);color:var(--success);border-color:rgba(20,184,106,.22)}
.status-badge.warning,.score-badge.mid{background:var(--warning-soft);color:#AD7000;border-color:rgba(245,158,11,.25)}
.status-badge.danger,.score-badge.low{background:var(--danger-soft);color:var(--danger);border-color:rgba(225,87,87,.25)}
.difficulty-badge[data-level='Débutant'],.difficulty-badge[data-level='Facile']{background:var(--success-soft);color:var(--success);border-color:rgba(20,184,106,.2)}
.difficulty-badge[data-level='Intermédiaire'],.difficulty-badge[data-level='Moyen']{background:var(--warning-soft);color:#AD7000;border-color:rgba(245,158,11,.2)}
.difficulty-badge[data-level='Avancé'],.difficulty-badge[data-level='Expert']{background:rgba(37,99,235,.08);color:var(--blue);border-color:rgba(37,99,235,.18)}
.exam-badge{font-size:.86rem;padding:12px 16px;background:linear-gradient(180deg,#fff,#FAFBFE);box-shadow:var(--shadow-sm)}
.filter-bar{padding:14px;border:1px solid var(--line);background:rgba(255,255,255,.85);border-radius:16px}
.filter-btn{cursor:pointer;background:#fff;color:var(--muted);transition:all .2s ease}
.filter-btn.active,.filter-btn:hover{background:var(--navy);color:#fff;border-color:var(--navy)}
.top-strip{background:linear-gradient(90deg,var(--navy) 0%, var(--navy-3) 100%);color:#fff;font-size:.84rem}
.top-strip-inner{width:min(var(--container),calc(100% - 32px));margin:auto;display:flex;justify-content:space-between;align-items:center;padding:10px 0;gap:12px;flex-wrap:wrap}
.topline-contact{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.topline-contact a{opacity:.95}
.navbar{position:fixed;inset:0 0 auto 0;z-index:2000;padding:12px 0;transition:all .28s ease;background:rgba(247,248,252,.72);backdrop-filter:blur(12px);border-bottom:1px solid rgba(230,234,241,.7)}
.navbar.is-scrolled{padding:8px 0;background:rgba(255,255,255,.88);box-shadow:0 10px 32px rgba(10,22,40,.08)}
.nav-inner{width:min(var(--container),calc(100% - 32px));margin:auto;display:flex;align-items:center;gap:18px;justify-content:space-between}
.nav-brand{display:flex;align-items:center;gap:12px;min-width:0}
.nav-brand img{width:56px;height:56px;border-radius:18px;object-fit:cover;padding:4px;background:#fff;border:1px solid rgba(197,165,90,.36);box-shadow:0 12px 24px rgba(10,22,40,.12)}
.nav-brand-text{min-width:0}
.brand-name{font-family:var(--font-display);font-size:1.55rem;line-height:1;color:var(--navy);font-weight:700}
.brand-sub{font-size:.85rem;color:var(--muted)}
.nav-actions{display:flex;align-items:center;gap:12px}
.nav-links{list-style:none;display:flex;align-items:center;gap:8px;margin:0;padding:0}
.nav-links a{display:inline-flex;align-items:center;gap:8px;padding:11px 14px;border-radius:999px;font-size:.96rem;font-weight:600;color:var(--muted);transition:all .2s ease}
.nav-links a:hover,.nav-links a.active{background:#fff;color:var(--navy);box-shadow:var(--shadow-sm)}
.nav-phone{display:inline-flex;align-items:center;gap:10px;padding:11px 14px;border-radius:999px;background:rgba(197,165,90,.12);color:var(--navy);font-weight:800;border:1px solid rgba(197,165,90,.22);animation:pulseGlow 2.8s infinite}
.lang-toggle{display:flex;gap:6px;padding:6px;border-radius:999px;background:rgba(10,22,40,.06)}
.lang-toggle-btn{border:none;background:transparent;color:var(--muted);padding:8px 12px;border-radius:999px;font-weight:700}
.lang-toggle-btn.active{background:var(--navy);color:#fff}
.account-chip{background:rgba(37,99,235,.09);border-color:rgba(37,99,235,.18);color:var(--blue)}
.nav-toggle{display:none;border:none;background:#fff;width:46px;height:46px;border-radius:16px;box-shadow:var(--shadow-sm);color:var(--navy);font-size:1.15rem}
.footer{margin-top:56px;background:linear-gradient(135deg,var(--navy) 0%,var(--navy-3) 100%);color:#fff;position:relative;overflow:hidden}
.footer::before{content:"";position:absolute;inset:-20% auto auto -10%;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(197,165,90,.18),transparent 70%)}
.footer-inner{width:min(var(--container),calc(100% - 32px));margin:auto;padding:42px 0 26px;display:grid;grid-template-columns:1.1fr .9fr .9fr;gap:28px;position:relative;z-index:1}
.footer-brand{display:flex;gap:14px;align-items:flex-start}
.footer-brand img{width:56px;height:56px;border-radius:16px;padding:4px;background:#fff}
.footer-title{font-family:var(--font-display);font-size:1.75rem;line-height:1.05;color:#fff}
.footer-copy{padding:0 0 26px;width:min(var(--container),calc(100% - 32px));margin:auto;color:rgba(255,255,255,.72);font-size:.92rem;border-top:1px solid rgba(255,255,255,.09);padding-top:18px}
.footer-list{display:grid;gap:10px}
.footer-list a{color:rgba(255,255,255,.8)}
.footer-list a:hover{color:#fff}
.hero-side{padding:22px;display:grid;gap:16px}
.hero-feature{display:flex;gap:14px;align-items:flex-start;padding:16px;border-radius:18px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-sm)}
.hero-feature strong{display:block;color:var(--navy)}
.hero-feature p{margin:2px 0 0;color:var(--muted);font-size:.92rem}
.feature-dot{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,var(--gold),#E3CB91);color:var(--navy);font-weight:800;flex-shrink:0}
.cta-panel{padding:28px;border-radius:28px;background:linear-gradient(135deg,var(--navy) 0%,var(--navy-3) 100%);color:#fff;box-shadow:var(--shadow-lg)}
.cta-panel h2,.cta-panel h3{color:#fff}
.timeline{display:grid;gap:16px}
.timeline-item{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:flex-start;padding:16px 18px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-sm);color:var(--text)}
.timeline-item strong{display:block;color:var(--navy)}
.timeline-item p{margin:4px 0 0;color:var(--muted)}
.timeline-num{width:40px;height:40px;border-radius:14px;display:grid;place-items:center;background:rgba(10,22,40,.92);color:#fff;font-weight:800}
.notice{padding:18px 20px;border-radius:18px;background:rgba(37,99,235,.08);color:var(--navy);border:1px solid rgba(37,99,235,.14)}
.notice.warning{background:var(--warning-soft);border-color:rgba(245,158,11,.18)}
.notice.success{background:var(--success-soft);border-color:rgba(20,184,106,.18)}
.empty-state{padding:34px 22px;text-align:center;background:#fff;border-radius:24px;border:1px dashed rgba(10,22,40,.16);color:var(--muted)}
.empty-icon{font-size:2rem;margin-bottom:10px}
.table-wrap{background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:var(--shadow-sm)}
.scores-table{width:100%;border-collapse:collapse}
.scores-table th,.scores-table td{padding:14px 16px;border-bottom:1px solid var(--line);text-align:left;font-size:.95rem;vertical-align:top}
.scores-table thead th{background:#F8FAFD;color:var(--navy);font-size:.82rem;text-transform:uppercase;letter-spacing:.05em}
.scores-table tbody tr:hover{background:#FCFCFE}
.chart-card{padding:22px;background:#fff;border-radius:24px;border:1px solid var(--line);box-shadow:var(--shadow-sm)}
.chart-wrap{position:relative;height:260px}
.form-grid{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}
.form-group{display:grid;gap:8px}
label{font-size:.9rem;font-weight:700;color:var(--navy)}
input,select,textarea{width:100%;padding:14px 16px;border-radius:16px;border:1px solid var(--line-strong);background:#fff;color:var(--text);transition:border-color .2s ease, box-shadow .2s ease, transform .2s ease}
input:focus,select:focus,textarea:focus{outline:none;border-color:rgba(37,99,235,.42);box-shadow:0 0 0 4px rgba(37,99,235,.09)}
textarea{min-height:160px;resize:vertical}
.form-panel{padding:24px;border-radius:26px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-sm)}
.form-success{display:none}
.map-embed{border:none;width:100%;height:100%;min-height:360px;border-radius:24px;box-shadow:var(--shadow-sm)}
.hours-list{display:grid;gap:10px}
.hours-row{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px dashed var(--line)}
.auth-shell{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:stretch}
.auth-tabs{display:flex;gap:10px;margin-bottom:16px}
.auth-tab{padding:10px 14px;border-radius:999px;border:1px solid var(--line);background:#fff;font-weight:700;color:var(--muted)}
.auth-tab.active{background:var(--navy);color:#fff;border-color:var(--navy)}
.hidden{display:none !important}
.floating-wa,.floating-call{position:fixed;right:18px;z-index:1900;display:inline-flex;align-items:center;gap:10px;padding:14px 16px;border-radius:999px;box-shadow:var(--shadow-lg);font-weight:800}
.floating-wa{bottom:20px;background:linear-gradient(135deg,#1FBF63,#18A757);color:#fff;animation:bounceIn 1.1s ease both}
.floating-call{bottom:86px;background:linear-gradient(135deg,var(--navy),var(--navy-3));color:#fff}
.mobile-only{display:none}
.offline-banner{position:fixed;left:50%;transform:translateX(-50%);bottom:18px;background:rgba(10,22,40,.96);color:#fff;padding:10px 14px;border-radius:999px;z-index:2500;box-shadow:var(--shadow-md);opacity:0;pointer-events:none;transition:opacity .2s ease}
body.is-offline .offline-banner{opacity:1}
.quiz-shell,.course-shell{width:min(980px,calc(100% - 32px));margin:118px auto 0}
.quiz-wrapper,.course-viewer,.scores-page{padding-bottom:56px}
.quiz-card,.course-content{background:#fff;border:1px solid var(--line);border-radius:26px;box-shadow:var(--shadow-sm);padding:22px}
.progress-wrap{height:12px;background:#EDF1F7;border-radius:999px;overflow:hidden}
.progress-bar{height:100%;background:linear-gradient(90deg,var(--navy),var(--gold));border-radius:999px}
.reveal{opacity:0;transform:translateY(12px);transition:opacity .5s ease, transform .5s ease}
.reveal.is-visible{opacity:1;transform:none}
.stagger > *{animation:fadeUp .6s ease both}
.stagger > *:nth-child(2){animation-delay:.05s}.stagger > *:nth-child(3){animation-delay:.1s}.stagger > *:nth-child(4){animation-delay:.15s}.stagger > *:nth-child(5){animation-delay:.2s}.stagger > *:nth-child(6){animation-delay:.25s}
@keyframes fadeUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes pulseGlow{0%,100%{box-shadow:0 0 0 0 rgba(197,165,90,.35)}50%{box-shadow:0 0 0 12px rgba(197,165,90,0)}}
@keyframes bounceIn{0%{opacity:0;transform:translateY(16px) scale(.94)}60%{opacity:1;transform:translateY(-4px) scale(1.02)}100%{transform:none}}
@media (max-width:1100px){
  .hero-grid,.footer-inner,.auth-shell,.grid-2,.contact-grid{grid-template-columns:1fr}
  .stats-bar,.kpi-grid,.grid-4,.values-grid,.subjects-grid,.feature-grid,.quiz-grid,.course-grid,.cycle-grid,.class-grid,.grid-3,.exam-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .nav-phone{display:none}
}
@media (max-width:760px){
  .page-wrap{padding-top:88px}
  .hero,.page-hero{padding-top:102px}
  .stats-bar,.kpi-grid,.grid-4,.values-grid,.subjects-grid,.feature-grid,.quiz-grid,.course-grid,.cycle-grid,.class-grid,.grid-3,.exam-grid,.form-grid{grid-template-columns:1fr}
  .nav-toggle{display:grid;place-items:center}
  .nav-links{position:absolute;left:16px;right:16px;top:78px;display:none;flex-direction:column;align-items:stretch;padding:14px;background:rgba(255,255,255,.98);border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow-md)}
  .nav-links.open{display:flex}
  .nav-links a,.nav-links .account-chip{width:100%;justify-content:flex-start}
  .mobile-only{display:inline-flex}
  .hero-logo{width:90px;height:90px}
  .top-strip-inner{justify-content:center;text-align:center}
}


.inline-icon{width:18px;height:18px;display:block}
.topline-contact a{display:inline-flex;align-items:center;gap:8px}
.nav-actions{display:flex;align-items:center;gap:14px}
.nav-phone{
  display:inline-flex;
  align-items:center;
  gap:12px;
  min-height:56px;
  padding:10px 16px;
  border-radius:18px;
  background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(197,165,90,.10));
  border:1px solid rgba(197,165,90,.28);
  box-shadow:0 12px 28px rgba(10,22,40,.10);
  color:var(--navy);
  white-space:nowrap;
  animation:pulseGlow 3.2s infinite;
}
.nav-phone:hover{transform:translateY(-1px);box-shadow:0 16px 34px rgba(10,22,40,.14)}
.nav-phone-icon{
  width:36px;
  height:36px;
  border-radius:12px;
  display:grid;
  place-items:center;
  color:var(--navy);
  background:rgba(197,165,90,.16);
  flex-shrink:0;
}
.nav-phone-copy{display:flex;align-items:center;gap:10px;justify-content:center;line-height:1;white-space:nowrap}
.nav-phone-label{font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:800;padding-right:10px;border-right:1px solid rgba(10,22,40,.12)}
.nav-phone-copy strong{font-size:1rem;font-weight:800;letter-spacing:.02em;color:var(--navy);white-space:nowrap}
.lang-toggle{margin-left:4px}
.account-chip{background:rgba(37,99,235,.09);border:1px solid rgba(37,99,235,.16);color:var(--blue)}
.hero-home{
  padding-top:154px;
  background:
    radial-gradient(circle at top left, rgba(197,165,90,.18), transparent 30%),
    radial-gradient(circle at right center, rgba(37,99,235,.08), transparent 28%),
    linear-gradient(180deg,#F8FAFD 0%,#F5F7FB 100%);
}
.home-hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:28px;align-items:center}
.home-hero-copy h1{font-size:4rem;max-width:760px}
.hero-trust-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.hero-trust-list span{
  display:inline-flex;align-items:center;padding:10px 14px;border-radius:999px;
  border:1px solid var(--line);background:rgba(255,255,255,.82);color:var(--muted);font-size:.9rem
}
.home-hero-panel{
  position:relative;
  padding:24px;
  border-radius:28px;
  background:linear-gradient(145deg,var(--navy) 0%,var(--navy-3) 100%);
  box-shadow:var(--shadow-lg);
  overflow:hidden;
}
.home-hero-panel::before{
  content:"";
  position:absolute;
  inset:auto -80px -80px auto;
  width:220px;height:220px;border-radius:50%;
  background:radial-gradient(circle, rgba(197,165,90,.24), transparent 70%);
}
.hero-panel-card{position:relative;z-index:1}
.hero-panel-kicker{font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-2);font-weight:700;margin-bottom:14px}
.hero-panel-points{display:grid;gap:14px}
.hero-panel-point{
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.10);
  border-radius:20px;
  padding:16px 18px;
}
.hero-panel-point strong{display:block;color:#fff;margin-bottom:4px}
.hero-panel-point p{margin:0;color:rgba(255,255,255,.76);font-size:.95rem}
.home-hero-panel .hero-logo{
  width:96px;height:96px;border-radius:26px;background:#fff;padding:6px;margin-bottom:18px;
  border:1px solid rgba(197,165,90,.42);box-shadow:0 18px 36px rgba(10,22,40,.28)
}
.home-subject-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.home-subject-card{
  background:#fff;border:1px solid var(--line);border-radius:24px;padding:24px;
  box-shadow:var(--shadow-sm);position:relative;overflow:hidden;transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease
}
.home-subject-card::before{
  content:"";position:absolute;inset:0 0 auto 0;height:4px;background:linear-gradient(90deg,var(--gold),transparent)
}
.home-subject-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:rgba(197,165,90,.4)}
.home-subject-card.is-wide{grid-column:span 2}
.home-subject-icon{
  width:54px;height:54px;border-radius:18px;display:grid;place-items:center;
  background:rgba(10,22,40,.06);color:var(--navy);font-weight:800;font-size:1.15rem;margin-bottom:18px
}
.home-subject-card h3{margin-bottom:10px}
.home-subject-card p{margin:0;color:var(--muted)}
.public-exam-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.exam-card-public p{min-height:96px}
.pillar-card{
  background:#fff;border:1px solid var(--line);border-radius:22px;padding:22px;box-shadow:var(--shadow-sm)
}
.pillar-card h3{margin-bottom:8px}
.pillar-card p{margin:0;color:var(--muted)}
.cta-band{
  display:flex;justify-content:space-between;align-items:center;gap:22px;
  padding:28px;border-radius:28px;background:linear-gradient(135deg,var(--navy) 0%,var(--navy-3) 100%);
  color:#fff;box-shadow:var(--shadow-lg)
}
.cta-band h2{color:#fff}
.cta-band p{color:rgba(255,255,255,.78);margin:0}
.quiz-stage-shell{min-height:560px}
.quiz-intro-card,.quiz-result-card{
  background:#fff;border:1px solid var(--line);border-radius:30px;padding:34px;box-shadow:var(--shadow-md)
}
.quiz-intro-badge{
  display:inline-flex;align-items:center;padding:9px 14px;border-radius:999px;
  background:rgba(197,165,90,.12);color:#8E7130;font-weight:700;font-size:.82rem;letter-spacing:.06em;text-transform:uppercase
}
.quiz-intro-card h1,.quiz-result-card h1{margin-top:14px}
.quiz-intro-text{max-width:740px;color:var(--muted);font-size:1.02rem}
.quiz-intro-meta{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0}
.quiz-meta-chip{
  display:flex;flex-direction:column;gap:4px;padding:14px 16px;border-radius:18px;border:1px solid var(--line);background:var(--bg);min-width:130px
}
.quiz-meta-chip span{font-size:.76rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:700}
.quiz-meta-chip strong{color:var(--navy);font-size:1rem}
.quiz-name-panel{display:grid;gap:10px;max-width:420px;margin-bottom:22px}
.quiz-name-panel input{font-size:1rem}
.quiz-stage{display:grid;gap:18px}
.quiz-stage-header{display:grid;gap:14px}
.quiz-stage-meta{display:flex;flex-wrap:wrap;gap:10px}
.quiz-chip{
  display:inline-flex;align-items:center;padding:10px 14px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--navy);font-weight:700;font-size:.88rem
}
.quiz-chip-timer.is-alert,.quiz-chip-timer.is-alert strong{color:var(--danger)}
.quiz-progress-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:16px 18px;box-shadow:var(--shadow-sm)}
.quiz-progress-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:10px;font-size:.92rem;color:var(--muted);font-weight:700}
.quiz-progress-track,.quiz-breakdown-track{
  height:12px;border-radius:999px;background:#E8EDF4;overflow:hidden
}
.quiz-progress-fill,.quiz-breakdown-fill{
  height:100%;border-radius:999px;background:linear-gradient(90deg,var(--navy),var(--gold));transition:width .4s ease
}
.quiz-question-card{
  position:relative;background:#fff;border:1px solid var(--line);border-radius:30px;padding:28px;
  box-shadow:var(--shadow-md);overflow:hidden
}
.quiz-question-card::before{
  content:"";position:absolute;inset:0 0 auto 0;height:5px;background:linear-gradient(90deg,var(--gold),var(--navy),var(--blue))
}
.quiz-question-topline{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:18px}
.quiz-question-number{
  display:inline-flex;align-items:center;padding:10px 14px;border-radius:999px;background:rgba(10,22,40,.06);color:var(--navy);font-weight:800
}
.quiz-question-category{font-size:.9rem;color:var(--muted);font-weight:700}
.quiz-question-body{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:flex-start;margin-bottom:22px}
.quiz-question-icon{
  width:56px;height:56px;border-radius:18px;display:grid;place-items:center;background:rgba(197,165,90,.14);font-size:1.4rem
}
.quiz-question-title{font-size:2.15rem;line-height:1.16;margin-bottom:10px}
.quiz-question-context{margin:0;color:var(--muted);font-size:1rem;white-space:pre-line}
.quiz-answer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.quiz-answer-card{
  text-align:left;display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:flex-start;
  padding:18px;border-radius:20px;border:1px solid var(--line);background:#fff;
  box-shadow:0 10px 22px rgba(10,22,40,.05);transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease
}
.quiz-answer-card:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(10,22,40,.08);border-color:rgba(197,165,90,.38)}
.quiz-answer-card.is-selected{transform:scale(.992);border-color:rgba(197,165,90,.54);box-shadow:0 0 0 4px rgba(197,165,90,.12)}
.quiz-answer-card.is-locked{cursor:default}
.quiz-answer-card.is-correct{border-color:rgba(20,184,106,.28);background:var(--success-soft)}
.quiz-answer-card.is-incorrect{border-color:rgba(225,87,87,.28);background:var(--danger-soft)}
.quiz-answer-letter{
  width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:#F2F5FA;color:var(--navy);font-weight:800;flex-shrink:0
}
.quiz-answer-card.is-correct .quiz-answer-letter{background:rgba(20,184,106,.18);color:var(--success)}
.quiz-answer-card.is-incorrect .quiz-answer-letter{background:rgba(225,87,87,.14);color:var(--danger)}
.quiz-answer-text{font-weight:600;color:var(--text)}
.quiz-feedback-card{
  display:grid;grid-template-columns:auto 1fr;gap:14px;margin-top:18px;padding:18px;border-radius:22px;border:1px solid var(--line)
}
.quiz-feedback-card.is-correct{background:var(--success-soft);border-color:rgba(20,184,106,.18)}
.quiz-feedback-card.is-incorrect{background:var(--warning-soft);border-color:rgba(245,158,11,.18)}
.quiz-feedback-icon{
  width:48px;height:48px;border-radius:16px;display:grid;place-items:center;background:#fff;font-size:1.25rem
}
.quiz-feedback-card strong{display:block;color:var(--navy);margin-bottom:6px;font-size:1.14rem}
.quiz-feedback-card p{margin:0;color:var(--text)}
.quiz-feedback-tip{margin-top:10px;color:var(--muted);font-size:.94rem}
.quiz-chip-streak strong{margin-left:4px}
.quiz-feedback-card.has-stars{background:linear-gradient(135deg,#FFF9E8 0%, #FFFFFF 100%);border-color:rgba(197,165,90,.24)}
.quiz-feedback-card.has-premium-glow{background:linear-gradient(135deg,#FFF7E6 0%, #FFFFFF 100%)}
.quiz-feedback-card.has-einstein,.quiz-feedback-card.has-genius{background:linear-gradient(135deg,rgba(197,165,90,.18),rgba(255,255,255,.98));border-color:rgba(197,165,90,.34)}
.quiz-feedback-card.has-owl-dance,.quiz-feedback-card.has-owl-shake{background:linear-gradient(135deg,#F7FAFF 0%,#FFFFFF 100%)}
.quiz-feedback-card.has-sad,.quiz-feedback-card.has-light-shake,.quiz-feedback-card.has-focus{background:linear-gradient(135deg,#FFF7EC 0%,#FFFFFF 100%)}
.quiz-feedback-card.has-focus{border-color:rgba(245,158,11,.28)}
.quiz-feedback-mascot{margin-top:12px;width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:rgba(10,22,40,.06);font-size:1.8rem}
.quiz-feedback-mascot.owl-dance{animation:owlDance .9s ease-in-out infinite}
.quiz-feedback-mascot.owl-shake{animation:owlShake .7s ease-in-out infinite}
.quiz-next-zone{display:flex;justify-content:flex-end;margin-top:18px}
.quiz-next-btn{
  min-width:220px;padding:15px 22px;border-radius:999px;border:none;
  background:linear-gradient(135deg,var(--gold) 0%,#E0C98D 100%);
  color:var(--navy);font-weight:800;box-shadow:0 16px 28px rgba(197,165,90,.28)
}
.quiz-result-hero{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:center}
.quiz-result-emoji{
  width:104px;height:104px;border-radius:28px;display:grid;place-items:center;
  background:linear-gradient(135deg,rgba(197,165,90,.18),rgba(37,99,235,.10));font-size:2.8rem
}
.quiz-result-kicker{font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:800}
.quiz-result-copy h1{font-size:4.6rem;line-height:1;margin:8px 0 6px}
.quiz-result-copy h2{margin:0 0 10px}
.quiz-result-copy p{margin:0;color:var(--muted);max-width:700px}
.quiz-result-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:24px 0}
.quiz-result-stat{padding:18px;border-radius:22px;background:var(--bg);border:1px solid var(--line)}
.quiz-result-stat span{display:block;font-size:.78rem;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);font-weight:700;margin-bottom:6px}
.quiz-result-stat strong{font-size:1.2rem;color:var(--navy)}
.quiz-result-breakdown,.quiz-review-card{
  margin-top:22px;padding:22px;border-radius:24px;border:1px solid var(--line);background:#fff
}
.quiz-breakdown-list,.quiz-review-list{display:grid;gap:14px}
.quiz-breakdown-head{display:flex;justify-content:space-between;gap:12px;font-weight:700;color:var(--navy);margin-bottom:8px}
.quiz-review-item{padding:18px;border-radius:18px;background:var(--bg);border:1px solid var(--line)}
.quiz-review-item h4{font-size:1rem;margin-bottom:10px}
.quiz-review-item p{margin:6px 0;color:var(--text)}
.quiz-no-error{
  margin-top:22px;padding:20px;border-radius:20px;text-align:center;
  background:var(--success-soft);border:1px solid rgba(20,184,106,.18);font-weight:800;color:var(--success)
}
.quiz-burst-layer{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.quiz-burst-piece{
  position:absolute;top:48%;animation:quizBurst 1.2s ease forwards
}
.quiz-burst-piece.is-confetti{border-radius:999px;box-shadow:0 4px 10px rgba(10,22,40,.14)}
.quiz-burst-piece.is-emoji{font-size:1.18rem}
.is-shaking{animation:quizShake .42s ease}
.is-premium-glow{animation:quizGlow 1.05s ease}
.is-gold-flash{animation:quizGoldFlash 1.2s ease}
.is-sad-wave{animation:quizSadWave .85s ease}
@keyframes quizBurst{
  0%{opacity:0;transform:translateY(0) scale(.7)}
  15%{opacity:1}
  100%{opacity:0;transform:translateY(-92px) rotate(18deg) scale(1.16)}
}
@keyframes quizShake{
  0%,100%{transform:translateX(0)}
  20%{transform:translateX(-6px)}
  40%{transform:translateX(6px)}
  60%{transform:translateX(-4px)}
  80%{transform:translateX(4px)}
}
@keyframes quizGlow{
  0%,100%{box-shadow:var(--shadow-md)}
  50%{box-shadow:0 24px 48px rgba(197,165,90,.28)}
}
@keyframes quizGoldFlash{
  0%,100%{box-shadow:var(--shadow-md)}
  35%{box-shadow:0 0 0 6px rgba(197,165,90,.10), 0 28px 56px rgba(197,165,90,.22)}
  70%{box-shadow:0 0 0 14px rgba(197,165,90,0)}
}
@keyframes quizSadWave{
  0%,100%{transform:translateY(0)}
  40%{transform:translateY(4px)}
  70%{transform:translateY(-2px)}
}
@keyframes owlDance{
  0%,100%{transform:rotate(0deg) translateY(0)}
  25%{transform:rotate(-10deg) translateY(-2px)}
  50%{transform:rotate(10deg) translateY(0)}
  75%{transform:rotate(-8deg) translateY(-2px)}
}
@keyframes owlShake{
  0%,100%{transform:rotate(0deg)}
  25%{transform:rotate(-10deg)}
  50%{transform:rotate(10deg)}
  75%{transform:rotate(-8deg)}
}
@media (max-width:1100px){
  .home-hero-grid,.public-exam-grid{grid-template-columns:1fr 1fr}
  .home-subject-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .nav-phone{padding:10px 14px}
  .nav-phone-copy strong{font-size:.94rem}
}
@media (max-width:760px){
  .hero-home{padding-top:128px}
  .home-hero-grid,.public-exam-grid,.quiz-answer-grid,.quiz-result-stats,.cta-band{grid-template-columns:1fr}
  .cta-band{display:grid}
  .home-subject-grid{grid-template-columns:1fr}
  .home-subject-card.is-wide{grid-column:auto}
  .nav-phone{
    min-height:44px;padding:8px 12px;border-radius:14px;gap:8px;
    background:rgba(255,255,255,.96)
  }
  .nav-phone-icon{width:32px;height:32px;border-radius:10px}
  .nav-phone-label{display:none}
  .nav-phone-copy{gap:0}
  .nav-phone-copy strong{font-size:.88rem}
  .top-strip{display:none}
  .quiz-shell{width:min(980px,calc(100% - 20px));margin:104px auto 0}
  .quiz-intro-card,.quiz-result-card,.quiz-question-card{padding:22px}
  .quiz-question-body,.quiz-result-hero{grid-template-columns:1fr}
  .quiz-question-title{font-size:1.65rem}
  .quiz-next-zone{justify-content:stretch}
  .quiz-next-btn{width:100%}
}


.quiz-text-answer{display:grid;gap:14px;margin-top:10px}
.quiz-text-label{font-weight:700;color:#173056}
.quiz-text-input{width:100%;padding:16px 18px;border-radius:18px;border:2px solid rgba(23,48,86,.16);font-size:1rem;background:#fff;transition:border-color .2s ease, box-shadow .2s ease}
.quiz-text-input:focus{outline:none;border-color:#C5A55A;box-shadow:0 0 0 4px rgba(197,165,90,.16)}
.quiz-text-input.is-correct{border-color:#2e8b57;background:#f3fff8}
.quiz-text-input.is-incorrect{border-color:#b42318;background:#fff6f5}
.quiz-text-submit{justify-self:start}


/* Mobile stability + install banner */
html,body{overflow-x:hidden}
.page-wrap{overflow-x:clip}
.btn-gold,.btn-outline,.btn-secondary,.quiz-next-btn,.quiz-text-submit{display:inline-flex;align-items:center;justify-content:center}
body.nav-open{overflow:hidden}
.install-banner{
  position:fixed;left:12px;right:12px;bottom:calc(14px + env(safe-area-inset-bottom));
  z-index:2200;display:none;gap:14px;align-items:center;justify-content:space-between;
  padding:16px 18px;border-radius:22px;background:rgba(10,22,40,.98);color:#fff;
  box-shadow:0 22px 42px rgba(10,22,40,.28);border:1px solid rgba(197,165,90,.22)
}
.install-banner.is-visible{display:flex;animation:bounceIn .35s ease}
.install-banner-copy{display:grid;gap:4px}
.install-banner-copy strong{font-size:1rem;color:#fff}
.install-banner-copy p{margin:0;color:rgba(255,255,255,.78);font-size:.92rem;line-height:1.35}
.install-banner-actions{display:flex;gap:10px;align-items:center;flex-shrink:0}
.install-banner-btn,.install-banner-close{
  border:none;border-radius:999px;font-weight:800;cursor:pointer
}
.install-banner-btn{
  padding:12px 16px;background:linear-gradient(135deg,var(--gold),#e6c778);color:#13263f
}
.install-banner-close{
  width:42px;height:42px;background:rgba(255,255,255,.12);color:#fff;font-size:1.1rem
}
.install-banner-tips{display:none}
@media (max-width:760px){
  .nav-inner{gap:10px}
  .navbar{padding:10px 0}
  .nav-actions{margin-left:auto}
  .nav-links{
    position:fixed;left:12px;right:12px;top:78px;display:none;flex-direction:column;align-items:stretch;
    padding:14px;background:rgba(255,255,255,.99);border:1px solid var(--line);border-radius:24px;
    box-shadow:0 20px 38px rgba(10,22,40,.16);max-height:calc(100dvh - 110px);overflow:auto;z-index:2100
  }
  .hero-actions > *, .button-row > *, .cta-row > *{width:100%}
  .hero-trust-list span{width:100%;justify-content:center}
  .floating-wa,.floating-call{right:12px}
  .floating-wa{bottom:14px}
  .floating-call{bottom:78px}
  .install-banner{left:10px;right:10px;bottom:calc(12px + env(safe-area-inset-bottom));padding:14px 14px 16px;align-items:flex-start}
  .install-banner-actions{width:100%;justify-content:space-between}
  .install-banner-btn{flex:1}
}


.subject-langues .subject-icon,.accent-langues{background:linear-gradient(135deg,#5B2D91,#A855F7)}
.home-subject-card.subject-langues .home-subject-icon{background:rgba(168,85,247,.12);color:#6D28D9}
.course-nav-pills{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 18px}
.course-nav-pill{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:999px;background:var(--bg);border:1px solid var(--line);color:var(--navy);font-weight:700}
.course-nav-pill.active{background:linear-gradient(135deg,var(--navy),var(--navy-3));color:#fff;border-color:transparent}
.lesson-index{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:22px 0 30px}
.lesson-index .card-btn{width:100%}
.course-callout,.example-box,.tip-box,.warning-box,.activity-card{padding:16px 18px;border-radius:18px;border:1px solid var(--line);margin:14px 0;box-shadow:var(--shadow-sm)}
.course-callout,.example-box{background:#F8FAFD}
.tip-box{background:var(--success-soft);border-color:rgba(20,184,106,.18)}
.warning-box{background:var(--warning-soft);border-color:rgba(245,158,11,.2)}
.activity-card{background:#fff}
.lesson-block{padding-top:10px;margin-top:24px;border-top:1px solid var(--line)}
.quick-badges{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0 20px}
.quiz-links-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0 8px}
.answer-key{margin-top:10px}
.answer-key li{margin-bottom:6px}
@media (max-width:760px){
  .lesson-index,.quiz-links-grid{grid-template-columns:1fr}
}
