/* SesseRoots Academy — main.css v6 2026-04-17 */
:root{
  --cream:#fdf9f2;--cream2:#f5efe3;--cream3:#ede3d2;
  --emerald:#062e1f;--emerald2:#0a4a32;--emerald3:#0f6645;
  --emerald-light:rgba(6,46,31,.08);--emerald-mid:rgba(6,46,31,.15);
  --gold:#c8860a;--gold2:#e8a020;--gold3:#f5c842;--gold-bg:rgba(200,134,10,.1);--gold-brd:rgba(200,134,10,.25);
  --text:#1a1a2e;--text2:#4a4a6a;--text3:#8a8aa8;
  --white:#ffffff;--border:rgba(26,26,46,.1);--border2:rgba(26,26,46,.06);
  --green-ok:#16a34a;--red:#dc2626;--star:#f59e0b;
  --shadow:0 2px 16px rgba(26,26,46,.08);--shadow2:0 8px 40px rgba(26,26,46,.12);--shadow3:0 20px 60px rgba(6,46,31,.15);
  --card-radius:18px;
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:'DM Sans',sans-serif;background:var(--cream);color:var(--text);overflow-x:hidden;}
img{display:block;}
a{text-decoration:none;color:inherit;}
button{font-family:'DM Sans',sans-serif;cursor:pointer;}

/* ── UTILITY ── */
.inner{max-width:1200px;margin:0 auto;padding:0 2rem;}
.section{padding:4.5rem 0;}
.slbl{font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--emerald3);margin-bottom:.6rem;}
h2{font-family:'Playfair Display',serif;font-size:clamp(1.6rem,2.8vw,2.3rem);font-weight:700;line-height:1.2;color:var(--emerald);}
h2 em{font-style:italic;color:var(--gold);}
.sub{font-size:1rem;line-height:1.75;color:var(--text2);max-width:520px;margin-top:.8rem;}
.btn-primary{background:var(--emerald);color:#fff;padding:.85rem 2rem;border-radius:2rem;font-weight:600;font-size:.95rem;border:none;transition:all .25s;display:inline-flex;align-items:center;gap:.5rem;}
.btn-primary:hover{background:var(--emerald2);transform:translateY(-1px);box-shadow:var(--shadow2);}
.btn-gold{background:var(--gold2);color:#fff;padding:.85rem 2rem;border-radius:2rem;font-weight:600;font-size:.95rem;border:none;transition:all .25s;display:inline-flex;align-items:center;gap:.5rem;}
.btn-gold:hover{background:var(--gold);transform:translateY(-1px);box-shadow:0 8px 30px rgba(200,134,10,.3);}
.btn-outline{background:transparent;color:var(--emerald);padding:.85rem 2rem;border-radius:2rem;font-weight:600;font-size:.95rem;border:2px solid var(--emerald);transition:all .25s;display:inline-flex;align-items:center;gap:.5rem;}
.btn-outline:hover{background:var(--emerald);color:#fff;}
.btn-outline-gold{background:transparent;color:var(--gold);padding:.85rem 2rem;border-radius:2rem;font-weight:600;font-size:.95rem;border:2px solid var(--gold-brd);transition:all .25s;display:inline-flex;align-items:center;gap:.5rem;}
.btn-outline-gold:hover{background:var(--gold-bg);}
.badge{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .85rem;border-radius:2rem;font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;}
.badge-emerald{background:var(--emerald-light);color:var(--emerald3);}
.badge-gold{background:var(--gold-bg);border:1px solid var(--gold-brd);color:var(--gold);}
.badge-green{background:rgba(22,163,74,.1);color:var(--green-ok);}

/* ── NAV ── */
header{position:fixed;top:0;width:100%;z-index:300;background:rgba(253,249,242,.96);backdrop-filter:blur(20px);border-bottom:1px solid var(--border2);}
.nav-inner{display:flex;align-items:center;justify-content:space-between;padding:.7rem 1.5rem;max-width:1400px;margin:0 auto;}
.logo{font-family:'Playfair Display',serif;font-size:1.15rem;font-weight:700;color:var(--emerald);display:flex;align-items:center;gap:.4rem;}
.logo-img{height:32px;width:32px;object-fit:contain;flex-shrink:0;border-radius:4px;}
.logo .dot{color:var(--gold2);font-size:1.8rem;line-height:0;margin-bottom:-.2rem;}
.logo .acc{color:var(--gold);font-style:italic;font-weight:500;}
nav ul{display:flex;align-items:center;gap:1rem;list-style:none;}
nav a{font-size:.8rem;font-weight:500;color:var(--text2);transition:color .2s;}
nav a:hover{color:var(--emerald);}
.nav-r{display:flex;align-items:center;gap:.5rem;}
.ltog{display:flex;gap:.15rem;background:var(--cream2);border-radius:2rem;padding:.15rem;}
.lbtn{padding:.25rem .75rem;border-radius:2rem;border:none;font-family:'DM Sans',sans-serif;font-size:.72rem;font-weight:600;cursor:pointer;background:transparent;color:var(--text3);transition:all .2s;}
.lbtn.on{background:var(--white);color:var(--emerald);box-shadow:0 1px 4px rgba(0,0,0,.1);}
.nav-signin{background:transparent;color:var(--text2);padding:.5rem 1rem;border-radius:2rem;font-weight:500;font-size:.88rem;border:none;transition:color .2s;}
.nav-signin:hover{color:var(--emerald);}
.nav-cta{background:var(--emerald);color:#fff;padding:.45rem 1rem;border-radius:2rem;font-weight:600;font-size:.78rem;border:none;transition:all .2s;}
.nav-cta:hover{background:var(--emerald2);}
.nav-reserve{background:transparent;color:var(--emerald);padding:.45rem 1rem;border-radius:2rem;font-weight:700;font-size:.78rem;border:1.5px solid var(--emerald);transition:all .2s;text-decoration:none;display:inline-flex;align-items:center;letter-spacing:-.01em;}
.nav-reserve:hover{background:var(--emerald);color:#fff;}
.nav-tutor{background:var(--gold-bg);color:var(--gold);padding:.45rem 1rem;border-radius:2rem;font-weight:600;font-size:.78rem;border:1px solid var(--gold-brd);transition:all .2s;}
.nav-tutor:hover{background:var(--gold2);color:#fff;border-color:var(--gold2);}
.mob-menu-btn{display:none;width:38px;height:38px;border-radius:10px;border:1px solid var(--border);background:var(--white);color:var(--emerald);font-size:1.15rem;font-weight:700;align-items:center;justify-content:center;line-height:1;}
.mnav-backdrop{display:none;position:fixed;inset:0;background:rgba(6,46,31,.45);backdrop-filter:blur(3px);z-index:349;opacity:0;pointer-events:none;transition:opacity .25s;}
.mnav-backdrop.on{opacity:1;pointer-events:auto;}
.mnav{display:none;position:fixed;top:0;right:0;height:100vh;width:min(360px,88vw);background:var(--white);z-index:350;transform:translateX(100%);transition:transform .28s ease;border-left:1px solid var(--border2);padding:5.3rem 1.2rem 1.4rem;box-shadow:-14px 0 50px rgba(6,46,31,.16);overflow-y:auto;}
.mnav.on{transform:translateX(0);}
.mnav-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;}
.mnav-ttl{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--emerald3);}
.mnav-close{width:34px;height:34px;border-radius:10px;border:1px solid var(--border);background:var(--cream);color:var(--text2);font-size:1rem;}
.mnav-links{list-style:none;display:flex;flex-direction:column;gap:.2rem;margin:1rem 0 1.2rem;}
.mnav-links a{display:flex;padding:.82rem .75rem;border-radius:12px;font-size:.92rem;font-weight:600;color:var(--emerald);}
.mnav-links a:hover{background:var(--cream2);}
.mnav-actions{display:flex;flex-direction:column;gap:.65rem;}
.mnav-actions button{width:100%;justify-content:center;}
.sticky-cta-mobile{display:none;position:fixed;left:0;right:0;bottom:0;z-index:320;background:rgba(253,249,242,.97);border-top:1px solid var(--border);padding:.65rem .9rem calc(.65rem + env(safe-area-inset-bottom));backdrop-filter:blur(12px);gap:.6rem;}
.sticky-cta-mobile .btn-primary,.sticky-cta-mobile .btn-gold{flex:1;justify-content:center;font-size:.84rem;padding:.72rem .95rem;border-radius:12px;}

/* ── HERO ── */
.hero{padding:9rem 0 5rem;position:relative;overflow:hidden;}
.hero-bg{position:absolute;inset:0;background:linear-gradient(135deg,var(--cream) 0%,var(--cream2) 50%,rgba(232,160,32,.08) 100%);z-index:0;}
.hero-pattern{position:absolute;inset:0;background-image:radial-gradient(circle,rgba(6,46,31,.06) 1px,transparent 1px);background-size:28px 28px;z-index:0;}
.hero-blob{position:absolute;border-radius:50%;filter:blur(80px);pointer-events:none;z-index:0;}
.hb1{width:600px;height:600px;right:-100px;top:-100px;background:rgba(200,134,10,.07);}
.hb2{width:400px;height:400px;left:-80px;bottom:-80px;background:rgba(6,46,31,.05);}
.hero-inner{position:relative;z-index:1;max-width:1200px;margin:0 auto;padding:0 2rem;}
.hero-tag{display:inline-flex;align-items:center;gap:.5rem;background:var(--white);border:1px solid var(--border);border-radius:2rem;padding:.4rem 1rem;font-size:.78rem;font-weight:600;color:var(--emerald);margin-bottom:1.8rem;box-shadow:var(--shadow);animation:fadeUp .6s ease both;}
.hero-tag .pulse{width:7px;height:7px;border-radius:50%;background:var(--green-ok);animation:pulse 2s infinite;}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(1.8)}}
h1{font-family:'Playfair Display',serif;font-size:clamp(2rem,4vw,3.4rem);font-weight:900;line-height:1.12;color:var(--emerald);max-width:720px;animation:fadeUp .6s .05s ease both;}
h1 em{font-style:italic;color:var(--gold);}
.hero-sub{font-size:1.1rem;line-height:1.8;color:var(--text2);max-width:540px;margin:1.4rem 0 2.5rem;animation:fadeUp .6s .1s ease both;}
/* Hero feature strip — replaces fluency-spotlight cards */
.hero-features-strip{display:flex;align-items:center;flex-wrap:wrap;gap:.3rem .5rem;max-width:680px;margin:0 0 1.4rem;background:rgba(255,255,255,.8);border:1px solid var(--border);border-radius:2rem;padding:.55rem 1.1rem;animation:fadeUp .6s .12s ease both;backdrop-filter:blur(4px);}
.hfs-item{display:flex;align-items:center;gap:.35rem;font-size:.8rem;font-weight:600;color:var(--emerald);white-space:nowrap;}
.hfs-ic{font-size:.9rem;}
.hfs-sep{width:1px;height:14px;background:var(--border);flex-shrink:0;}
@media(max-width:640px){.hero-features-strip{gap:.5rem;border-radius:1rem;}.hfs-sep{display:none;}.hfs-item{font-size:.75rem;}}
/* legacy kept for graceful degradation */
.fluency-spotlight{display:none;}
.hero-cta-row{display:flex;gap:.7rem;flex-wrap:wrap;margin:.4rem 0 1.2rem;animation:fadeUp .6s .13s ease both;}
.hero-proof{display:flex;flex-wrap:wrap;gap:.5rem;animation:fadeUp .6s .14s ease both;margin-bottom:1.2rem;}
.hero-proof-item{background:var(--white);border:1px solid var(--border);border-radius:999px;padding:.34rem .72rem;font-size:.76rem;font-weight:600;color:var(--emerald3);}

/* search bar */
.search-bar{background:var(--white);border-radius:3rem;box-shadow:var(--shadow2);padding:.5rem .5rem .5rem 1.5rem;display:flex;align-items:center;gap:.75rem;max-width:700px;animation:fadeUp .6s .15s ease both;border:1px solid var(--border);}
.sb-icon{font-size:1.1rem;flex-shrink:0;}
.sb-divider{width:1px;height:28px;background:var(--border);flex-shrink:0;}
.sb-select{border:none;background:transparent;font-family:'DM Sans',sans-serif;font-size:.9rem;color:var(--text2);outline:none;padding:.2rem .5rem;flex:1;cursor:pointer;}
.sb-btn{background:var(--emerald);color:#fff;padding:.75rem 1.8rem;border-radius:2.5rem;border:none;font-weight:700;font-size:.9rem;flex-shrink:0;transition:all .2s;}
.sb-btn:hover{background:var(--emerald2);}

/* hero stats */
.hero-stats{display:flex;align-items:center;gap:2.5rem;margin-top:2.5rem;animation:fadeUp .6s .2s ease both;flex-wrap:wrap;}
.hstat .n{font-family:'DM Mono',monospace;font-size:1.6rem;font-weight:500;color:var(--emerald);line-height:1;}
.hstat .l{font-size:.8rem;color:var(--text3);margin-top:.2rem;}
.hstat-div{width:1px;height:36px;background:var(--border);}

/* hero tutor cards floating */
.hero-cards{position:absolute;right:2rem;top:50%;transform:translateY(-45%);display:flex;flex-direction:column;gap:1rem;z-index:1;animation:fadeUp .6s .25s ease both;}
.hero-art{position:absolute;right:1.5rem;top:7rem;width:min(36vw,460px);height:min(52vw,580px);border-radius:28px;border:1px solid var(--border);box-shadow:var(--shadow3);z-index:0;opacity:1;object-fit:cover;pointer-events:none;}
.mini-tutor{background:var(--white);border:1px solid var(--border);border-radius:16px;padding:1rem 1.2rem;display:flex;align-items:center;gap:.9rem;box-shadow:var(--shadow2);width:260px;transition:transform .3s;}
.mini-tutor:hover{transform:translateX(-4px);}
.mt-av{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0;font-weight:700;font-family:'Playfair Display',serif;}
.mt-av.a{background:linear-gradient(135deg,#0a4a32,#0f6645);color:#fff;}
.mt-av.b{background:linear-gradient(135deg,#b45309,#d97706);color:#fff;}
.mt-av.c{background:linear-gradient(135deg,#1e40af,#3b82f6);color:#fff;}
.mt-info .name{font-weight:600;font-size:.9rem;color:var(--text);}
.mt-info .spec{font-size:.75rem;color:var(--text3);margin-top:.1rem;}
.mt-info .stars{color:var(--star);font-size:.75rem;margin-top:.2rem;}
.mt-info .mt-meta{font-size:.72rem;color:var(--text3);margin-top:.22rem;}
.mt-price{margin-left:auto;text-align:right;flex-shrink:0;}
.mt-price .pr{font-family:'DM Mono',monospace;font-size:.82rem;font-weight:500;color:var(--emerald);}
.mt-price .hr{font-size:.65rem;color:var(--text3);}
.mt-badge{position:absolute;top:-8px;right:-8px;background:var(--green-ok);color:#fff;font-size:.6rem;font-weight:700;padding:.15rem .5rem;border-radius:2rem;}

/* ── HOW IT WORKS ── */
.hw-tabs{display:flex;gap:.5rem;background:var(--white);border:1px solid var(--border);border-radius:3rem;padding:.35rem;width:fit-content;margin:2.5rem 0;}
.hw-tab{padding:.6rem 1.8rem;border-radius:2.5rem;border:none;font-weight:600;font-size:.88rem;transition:all .25s;color:var(--text2);}
.hw-tab.on{background:var(--emerald);color:#fff;box-shadow:var(--shadow);}
.hw-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:1rem;}
.step{background:var(--white);border:1px solid var(--border);border-radius:var(--card-radius);padding:2rem;position:relative;transition:all .3s;}
.step:hover{box-shadow:var(--shadow2);transform:translateY(-3px);}
.step-n{width:40px;height:40px;border-radius:50%;background:var(--emerald);color:#fff;display:flex;align-items:center;justify-content:center;font-family:'DM Mono',monospace;font-weight:500;font-size:.9rem;margin-bottom:1.2rem;}
.step.gold .step-n{background:var(--gold2);}
.step h3{font-family:'Playfair Display',serif;font-size:1.15rem;font-weight:700;color:var(--emerald);margin-bottom:.6rem;}
.step p{font-size:.88rem;color:var(--text2);line-height:1.7;}
.step-arrow{position:absolute;right:-20px;top:50%;transform:translateY(-50%);font-size:1.2rem;color:var(--text3);z-index:2;}

/* ── TUTORS ── */
.tutors-bg{background:var(--white);}
.tutor-filters{display:flex;gap:.6rem;flex-wrap:wrap;margin:2rem 0 1.5rem;}
.filter-btn{background:var(--cream);border:1px solid var(--border);color:var(--text2);padding:.4rem 1.1rem;border-radius:2rem;font-size:.82rem;font-weight:500;cursor:pointer;transition:all .2s;}
.filter-btn.on,.filter-btn:hover{background:var(--emerald);color:#fff;border-color:var(--emerald);}
.tutors-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;}
.tutor-card{background:var(--cream);border:1px solid var(--border);border-radius:var(--card-radius);overflow:hidden;transition:all .3s;cursor:pointer;}
.tutor-card:hover{transform:translateY(-5px);box-shadow:var(--shadow3);border-color:transparent;}
.tc-top{padding:1.5rem 1.5rem 1rem;display:flex;align-items:flex-start;gap:1rem;}
.tc-av{width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Playfair Display',serif;font-size:1.5rem;font-weight:700;flex-shrink:0;position:relative;}
.tc-av .online{position:absolute;bottom:2px;right:2px;width:12px;height:12px;border-radius:50%;background:var(--green-ok);border:2px solid var(--cream);}
.tc-info .tc-name{font-weight:700;font-size:1rem;color:var(--emerald);}
.tc-info .tc-title{font-size:.8rem;color:var(--text2);margin:.2rem 0;}
.tc-info .tc-stars{color:var(--star);font-size:.8rem;}
.tc-info .tc-reviews{font-size:.75rem;color:var(--text3);margin-left:.3rem;}
.tc-info .tc-meta{font-size:.75rem;color:var(--text3);margin-top:.2rem;}
.tc-cert{margin-left:auto;flex-shrink:0;}
.tc-body{padding:0 1.5rem 1rem;}
.tc-langs{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:.8rem;}
.tc-lang{background:var(--white);border:1px solid var(--border);border-radius:2rem;padding:.2rem .65rem;font-size:.72rem;font-weight:600;color:var(--emerald);}
.tc-bio{font-size:.82rem;color:var(--text3);line-height:1.6;font-style:italic;}
.tc-prog-link{display:inline-block;margin-top:.75rem;font-size:.8rem;font-weight:700;color:var(--emerald3);text-decoration:none;border-bottom:1px solid var(--emerald3);padding-bottom:.1rem;transition:opacity .2s;}
.tc-prog-link:hover{opacity:.7;}
.tc-footer{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-top:1px solid var(--border2);}
.tc-price .amount{font-family:'DM Mono',monospace;font-size:1.1rem;font-weight:500;color:var(--emerald);}
.tc-price .per{font-size:.75rem;color:var(--text3);}
.tc-btn{background:var(--emerald);color:#fff;padding:.5rem 1.2rem;border-radius:2rem;font-weight:600;font-size:.8rem;border:none;transition:all .2s;}
.tc-btn:hover{background:var(--emerald2);}
.see-more{text-align:center;margin-top:2.5rem;}

/* ── LEVEL TEST ── */
.test-bg{background:linear-gradient(135deg,var(--emerald) 0%,var(--emerald2) 100%);position:relative;overflow:hidden;}
.test-bg::before{content:'';position:absolute;inset:0;background-image:radial-gradient(circle,rgba(255,255,255,.04) 1px,transparent 1px);background-size:24px 24px;}
.test-inner{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;}
.test-left h2{color:var(--white);}
.test-left h2 em{color:var(--gold3);}
.test-left .sub{color:rgba(255,255,255,.75);}
.section-art{width:100%;max-width:520px;border-radius:18px;border:1px solid rgba(255,255,255,.18);box-shadow:0 18px 46px rgba(0,0,0,.22);margin:1.1rem 0 1.4rem;}
.test-levels{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-top:1.5rem;}
.tlvl{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);border-radius:14px;padding:1rem;text-align:center;cursor:pointer;transition:all .2s;}
.tlvl:hover,.tlvl.on{background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.4);}
.tlvl .ln{font-family:'DM Mono',monospace;font-size:1.1rem;font-weight:500;color:var(--white);}
.tlvl .ll{font-size:.7rem;color:rgba(255,255,255,.6);margin-top:.2rem;}
.test-right{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:24px;padding:2rem;backdrop-filter:blur(10px);}
.test-right h4{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold3);margin-bottom:1.2rem;font-weight:600;}
#tq-text{font-family:'Playfair Display',serif;font-size:1.2rem;color:var(--white);line-height:1.5;min-height:60px;margin-bottom:1.2rem;}
#t-opts{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem;}
.t-opt{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);color:rgba(255,255,255,.9);padding:.75rem 1rem;border-radius:10px;font-size:.88rem;cursor:pointer;transition:all .2s;text-align:left;font-family:'DM Sans',sans-serif;}
.t-opt:hover{background:rgba(255,255,255,.15);border-color:rgba(255,255,255,.35);}
.t-opt.ok{background:rgba(22,163,74,.25)!important;border-color:rgba(134,239,172,.5)!important;color:#86efac!important;}
.t-opt.ko{background:rgba(220,38,38,.2)!important;border-color:rgba(252,165,165,.4)!important;color:#fca5a5!important;}
.t-opt:disabled{cursor:default;}
#t-fb{display:none;padding:.6rem .9rem;border-radius:8px;font-size:.82rem;margin-bottom:.8rem;}
#t-fb.ok2{background:rgba(22,163,74,.15);border:1px solid rgba(134,239,172,.3);color:#86efac;display:block;}
#t-fb.ko2{background:rgba(220,38,38,.12);border:1px solid rgba(252,165,165,.3);color:#fca5a5;display:block;}
.t-prog{display:flex;justify-content:space-between;align-items:center;}
.t-bar{flex:1;height:4px;background:rgba(255,255,255,.15);border-radius:2px;margin-right:1rem;overflow:hidden;}
.t-fill{height:100%;background:var(--gold3);border-radius:2px;transition:width .4s ease;}
#t-next{background:var(--gold2);color:#fff;padding:.5rem 1.2rem;border-radius:2rem;font-weight:600;font-size:.82rem;border:none;display:none;cursor:pointer;}
.t-start-msg{color:rgba(255,255,255,.7);font-size:.9rem;font-style:italic;}
#t-result{display:none;text-align:center;padding:1rem 0;}
#t-result .big{font-family:'DM Mono',monospace;font-size:2.5rem;font-weight:500;color:var(--gold3);margin:.5rem 0;}
#t-result p{color:rgba(255,255,255,.75);font-size:.9rem;margin-bottom:1.2rem;}
#t-result button{width:100%;}
.test-mode{display:flex;gap:.6rem;margin:1rem 0 1.2rem;flex-wrap:wrap;}
.test-mode button{border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.08);color:#fff;padding:.48rem .9rem;border-radius:999px;cursor:pointer;font-size:.78rem;font-weight:600;}
.test-mode button.on{background:var(--gold2);border-color:var(--gold2);}
#t-meta{font-size:.76rem;color:rgba(255,255,255,.66);margin-bottom:.75rem;}
#t-res-breakdown{margin:.4rem 0 1rem;font-size:.82rem;color:rgba(255,255,255,.82);line-height:1.5;text-align:left;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:.75rem .8rem;}
.audio-wave-widget{display:flex;align-items:flex-end;gap:6px;height:44px;padding:.55rem .75rem;border-radius:12px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);margin:.2rem 0 .9rem;}
.audio-wave-widget .bar{width:6px;min-height:8px;border-radius:999px;background:rgba(245,200,66,.65);transform-origin:bottom center;animation:wavePulse 1.1s ease-in-out infinite;animation-play-state:paused;}
.audio-wave-widget.active .bar{animation-play-state:running;}
.audio-wave-widget .bar:nth-child(2){animation-delay:.08s}
.audio-wave-widget .bar:nth-child(3){animation-delay:.16s}
.audio-wave-widget .bar:nth-child(4){animation-delay:.24s}
.audio-wave-widget .bar:nth-child(5){animation-delay:.32s}
.audio-wave-widget .bar:nth-child(6){animation-delay:.4s}
.audio-wave-widget .bar:nth-child(7){animation-delay:.48s}
.audio-wave-widget .bar:nth-child(8){animation-delay:.56s}
.audio-wave-label{font-size:.76rem;color:rgba(255,255,255,.78);margin-bottom:.7rem;}
@keyframes wavePulse{
  0%,100%{height:10px;opacity:.45}
  30%{height:30px;opacity:1}
  60%{height:18px;opacity:.75}
}

/* ── WHY US ── */
.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;margin-top:3rem;}
.why-card{background:var(--white);border:1px solid var(--border);border-radius:var(--card-radius);padding:2rem;text-align:center;transition:all .3s;}
.why-card:hover{box-shadow:var(--shadow2);transform:translateY(-3px);border-color:var(--cream3);}
.why-ic{font-size:2rem;margin-bottom:1rem;}
.why-card h3{font-family:'Playfair Display',serif;font-size:1.05rem;font-weight:700;color:var(--emerald);margin-bottom:.5rem;}
.why-card p{font-size:.83rem;color:var(--text2);line-height:1.65;}
.about-home{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:2rem;align-items:start;}
.about-copy{background:var(--white);border:1px solid var(--border);border-radius:var(--card-radius);padding:2rem;box-shadow:var(--shadow);}
.about-copy p{font-size:.95rem;color:var(--text2);line-height:1.85;margin-top:1rem;}
.about-actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.5rem;}
.about-note{margin-top:1.2rem;background:var(--cream2);border:1px solid var(--border2);border-radius:16px;padding:1rem 1.1rem;font-size:.88rem;color:var(--text2);line-height:1.7;}
.about-home .why-grid{grid-template-columns:repeat(2,1fr);margin-top:0;}

/* ── PRICING ── */
.pricing{background:var(--white);border-top:1px solid var(--border2);border-bottom:1px solid var(--border2);}
.pricing-shell{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.85fr);gap:1.4rem;align-items:start;margin-top:2rem;}
.pricing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;}
.price-card{background:var(--cream);border:1px solid var(--border);border-radius:var(--card-radius);padding:1.5rem;box-shadow:var(--shadow);}
.price-card.featured{background:linear-gradient(180deg,rgba(232,160,32,.12) 0%,rgba(255,255,255,.95) 100%);border-color:var(--gold-brd);box-shadow:0 16px 40px rgba(200,134,10,.12);}
.price-tag{display:inline-flex;align-items:center;gap:.35rem;padding:.28rem .7rem;border-radius:999px;background:var(--white);border:1px solid var(--border);font-size:.72rem;font-weight:700;color:var(--emerald3);margin-bottom:1rem;}
.price-card h3{font-family:'Playfair Display',serif;font-size:1.15rem;color:var(--emerald);margin-bottom:.45rem;}
.price-main{font-family:'DM Mono',monospace;font-size:1.45rem;color:var(--emerald);margin-bottom:.45rem;}
.price-card p{font-size:.84rem;color:var(--text2);line-height:1.6;}
.price-card ul,.pricing-note ul{list-style:none;margin-top:1rem;display:flex;flex-direction:column;gap:.55rem;}
.price-card li,.pricing-note li{position:relative;padding-left:1rem;font-size:.82rem;color:var(--text2);line-height:1.55;}
.price-card li::before,.pricing-note li::before{content:"•";position:absolute;left:0;color:var(--gold);font-weight:700;}
.pricing-note{background:var(--cream2);border:1px solid var(--border);border-radius:22px;padding:1.6rem;box-shadow:var(--shadow);}
.pricing-note h3{font-family:'Playfair Display',serif;font-size:1.25rem;color:var(--emerald);margin-bottom:.6rem;}
.pricing-note p{font-size:.9rem;color:var(--text2);line-height:1.7;}
.pricing-note .btn-outline{margin-top:1.1rem;}

/* ── BECOME TUTOR ── */
.tutor-cta{background:var(--cream2);border-top:1px solid var(--cream3);border-bottom:1px solid var(--cream3);}
.tc-inner{display:grid;grid-template-columns:1.2fr 1fr;gap:5rem;align-items:center;}
.tc-perks{display:flex;flex-direction:column;gap:.85rem;margin:1.5rem 0 2rem;}
.perk{display:flex;align-items:flex-start;gap:.85rem;}
.perk-ic{width:36px;height:36px;border-radius:10px;background:var(--emerald-light);display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0;}
.perk-txt h4{font-weight:600;font-size:.9rem;color:var(--emerald);}
.perk-txt p{font-size:.82rem;color:var(--text2);margin-top:.15rem;line-height:1.5;}
.tc-visual{background:var(--white);border:1px solid var(--border);border-radius:24px;padding:2rem;box-shadow:var(--shadow2);}
.tc-visual-art{width:100%;border-radius:14px;border:1px solid var(--border);margin-bottom:1rem;}
.tc-v-title{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--emerald3);font-weight:600;margin-bottom:1.2rem;}
.earn-calc{background:var(--cream);border-radius:14px;padding:1.2rem;margin-bottom:1rem;}
.ec-row{display:flex;justify-content:space-between;font-size:.85rem;margin-bottom:.5rem;}
.ec-row .key{color:var(--text2);}
.ec-row .val{font-family:'DM Mono',monospace;font-weight:500;color:var(--emerald);}
.ec-row.total{border-top:1px solid var(--border);padding-top:.75rem;margin-top:.75rem;}
.ec-row.total .val{color:var(--gold);font-size:1.1rem;}
.cert-process{display:flex;flex-direction:column;gap:.6rem;}
.cp-step{display:flex;align-items:center;gap:.75rem;font-size:.83rem;color:var(--text2);}
.cp-n{width:22px;height:22px;border-radius:50%;background:var(--emerald);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.65rem;font-weight:700;flex-shrink:0;}

/* ── FAQ ── */
.faq-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:2rem;}
.faq-item{background:var(--white);border:1px solid var(--border);border-radius:18px;padding:1rem 1.1rem;box-shadow:var(--shadow);}
.faq-item summary{list-style:none;cursor:pointer;font-weight:700;color:var(--emerald);display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;line-height:1.5;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:"+";font-size:1.1rem;color:var(--gold);line-height:1;flex-shrink:0;}
.faq-item[open] summary::after{content:"−";}
.faq-item p{margin-top:.9rem;font-size:.88rem;color:var(--text2);line-height:1.75;}

/* ── FINAL CTA ── */
.final-cta{background:linear-gradient(135deg,var(--emerald) 0%,#0a3d28 100%);position:relative;overflow:hidden;text-align:center;}
.final-cta::before{content:'';position:absolute;inset:0;background-image:radial-gradient(circle,rgba(232,160,32,.1) 1px,transparent 1px);background-size:30px 30px;}
.final-cta .inner{position:relative;z-index:1;}
.final-cta h2{color:var(--white);font-size:clamp(2rem,4vw,3rem);}
.final-cta h2 em{color:var(--gold3);}
.final-cta .sub{color:rgba(255,255,255,.7);margin:1rem auto 2.5rem;text-align:center;}
.cta-row{display:flex;align-items:center;justify-content:center;gap:1rem;flex-wrap:wrap;}

/* ── FOOTER ── */
footer{background:var(--emerald);color:rgba(255,255,255,.8);}
.footer-top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:3rem;padding:4rem 0 3rem;max-width:1200px;margin:0 auto;padding-left:2rem;padding-right:2rem;}
.flogo{font-family:'Playfair Display',serif;font-size:1.3rem;font-weight:700;color:#fff;margin-bottom:.5rem;}
.flogo .acc{color:var(--gold3);font-style:italic;}
.fdesc{font-size:.85rem;line-height:1.7;margin-bottom:1.2rem;color:rgba(255,255,255,.65);}
.fsocials{display:flex;gap:.6rem;}
.fsoc{width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;font-size:.9rem;transition:background .2s;cursor:pointer;}
.fsoc:hover{background:rgba(255,255,255,.2);}
.flinks h4{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold3);font-weight:600;margin-bottom:1rem;}
.flinks ul{list-style:none;display:flex;flex-direction:column;gap:.5rem;}
.flinks li a{font-size:.85rem;color:rgba(255,255,255,.65);transition:color .2s;}
.flinks li a:hover{color:#fff;}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding:1.5rem 2rem;display:flex;align-items:center;justify-content:space-between;max-width:1200px;margin:0 auto;flex-wrap:wrap;gap:1rem;}
.footer-bottom p{font-size:.78rem;color:rgba(255,255,255,.7);}

/* ── MODAL ── */
.mov{position:fixed;inset:0;z-index:500;background:rgba(6,46,31,.4);backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;padding:1.5rem;opacity:0;pointer-events:none;transition:opacity .3s;}
.mov.on{opacity:1;pointer-events:all;}
.modal{background:var(--white);border-radius:24px;padding:2.5rem;width:100%;max-width:520px;position:relative;transform:translateY(16px);transition:transform .3s;max-height:90vh;overflow-y:auto;box-shadow:0 40px 80px rgba(6,46,31,.25);}
.mov.on .modal{transform:none;}
.mcls{position:absolute;top:1.2rem;right:1.2rem;width:34px;height:34px;border-radius:50%;background:var(--cream);border:none;cursor:pointer;color:var(--text2);font-size:1rem;display:flex;align-items:center;justify-content:center;transition:all .2s;}
.mcls:hover{background:var(--cream2);color:var(--text);}
.modal-type{display:flex;gap:.5rem;background:var(--cream);border-radius:2rem;padding:.3rem;margin-bottom:2rem;width:fit-content;}
.mt-tab{padding:.5rem 1.4rem;border-radius:2rem;border:none;font-family:'DM Sans',sans-serif;font-size:.85rem;font-weight:600;cursor:pointer;background:transparent;color:var(--text2);transition:all .2s;}
.mt-tab.on{background:var(--white);color:var(--emerald);box-shadow:var(--shadow);}
.modal h2{font-family:'Playfair Display',serif;font-size:1.7rem;font-weight:700;color:var(--emerald);margin-bottom:.4rem;}
.modal .msub{font-size:.88rem;color:var(--text2);margin-bottom:1.8rem;line-height:1.6;}
.fgd{display:grid;grid-template-columns:1fr 1fr;gap:.85rem;}
.ff{display:flex;flex-direction:column;gap:.35rem;}
.ff.full{grid-column:1/-1;}
.ff label{font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--emerald);}
.ff input,.ff select{background:var(--cream);border:1.5px solid var(--border);border-radius:10px;padding:.8rem 1rem;color:var(--text);font-family:'DM Sans',sans-serif;font-size:.9rem;outline:none;transition:border-color .2s;width:100%;}
.ff input:focus,.ff select:focus{border-color:var(--emerald);}
.ff input::placeholder{color:var(--text3);}
.ff select option{background:var(--white);}
.form-note{margin-top:.3rem;font-size:.74rem;color:var(--text3);line-height:1.45;}
.fsub-btn{width:100%;margin-top:1.2rem;background:var(--emerald);color:#fff;padding:.95rem;border-radius:2rem;font-weight:700;font-size:.95rem;border:none;cursor:pointer;transition:all .3s;font-family:'DM Sans',sans-serif;}
.fsub-btn:hover{background:var(--emerald2);}
.fsub-btn:disabled{opacity:.6;cursor:default;}
.form-proof{margin-top:.7rem;display:flex;flex-wrap:wrap;gap:.45rem;}
.form-proof-item{background:var(--cream);border:1px solid var(--border2);color:var(--text2);font-size:.74rem;border-radius:999px;padding:.26rem .58rem;}
.fsucc{display:none;text-align:center;padding:2rem 0;}
.fsucc .ck{font-size:3rem;margin-bottom:.8rem;}
.fsucc h3{font-family:'Playfair Display',serif;font-size:1.6rem;font-weight:700;color:var(--emerald);margin-bottom:.5rem;}
.fsucc p{font-size:.88rem;color:var(--text2);line-height:1.6;}

/* ── REVEAL ── */
.rev{opacity:0;transform:translateY(20px);transition:opacity .65s ease,transform .65s ease;}
.rev.vis{opacity:1;transform:none;}
@keyframes fadeUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}

/* ── RESPONSIVE ── */
@media(max-width:1024px){
  .hero-art{display:none;}
  .hero-cards{display:none;}
  h1{max-width:100%;}
}
@media(max-width:900px){
  body{padding-bottom:82px;}
  header .nav-inner{padding:.8rem 1.2rem;}
  nav ul{display:none;}
  .nav-signin,.nav-tutor,.nav-cta,.nav-reserve{display:none;}
  .mob-menu-btn{display:inline-flex;}
  .mnav,.mnav-backdrop{display:block;}
  .sticky-cta-mobile{display:flex;}
  .hero{padding:7rem 0 4rem;}
  .hero-inner{padding:0 1.2rem;}
  .section{padding:3rem 0;}
  .inner{padding:0 1.2rem;}
  .hw-steps,.tutors-grid,.why-grid,.faq-grid,.pricing-grid{grid-template-columns:1fr;}
  .test-inner,.tc-inner,.about-home,.pricing-shell{grid-template-columns:1fr;gap:2.5rem;}
  .about-home .why-grid{grid-template-columns:1fr;}
  .footer-top{grid-template-columns:1fr 1fr;}
  .footer-bottom{flex-direction:column;text-align:center;}
  .fgd{grid-template-columns:1fr;}
  .pgd{max-width:100%;}
  .step-arrow{display:none;}
  .search-bar{flex-wrap:wrap;border-radius:1.2rem;padding:1rem;}
  .sb-btn{width:100%;}
  .fluency-spotlight{grid-template-columns:1fr;}
}

/* ── Social proof badges sur tutor cards ── */
.tc-proof{
  margin-top:10px;
  font-size:12px;
  font-weight:600;
  color:var(--text2);
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:4px;
}

/* ── SECTION COMPTEURS DYNAMIQUES ── */
.stats-section{
  background:var(--emerald);
  padding:4.5rem 0;
  position:relative;
  overflow:hidden;
}
.stats-section::before{
  content:'';
  position:absolute;
  inset:0;
  background-image:radial-gradient(circle,rgba(255,255,255,.04) 1px,transparent 1px);
  background-size:28px 28px;
  pointer-events:none;
}
.stats-section .slbl{
  color:var(--gold3);
  text-align:center;
}
.stats-section h2{
  color:#fff;
  text-align:center;
  margin-bottom:3rem;
}
.stats-section h2 em{
  color:var(--gold3);
}
.stats-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1.5rem;
  position:relative;
  z-index:1;
}
.stat-card{
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.12);
  border-radius:18px;
  padding:2rem 1.5rem;
  text-align:center;
  transition:transform .25s,background .25s;
}
.stat-card:hover{
  background:rgba(255,255,255,.12);
  transform:translateY(-3px);
}
.stat-card .stat-icon{
  font-size:2rem;
  margin-bottom:.75rem;
  display:block;
}
.stat-card .stat-num{
  font-family:'Playfair Display',serif;
  font-size:clamp(1.8rem,3vw,2.5rem);
  font-weight:700;
  color:#fff;
  line-height:1;
  margin-bottom:.5rem;
}
.stat-card .stat-num .stat-suffix{
  font-size:1.2rem;
  font-weight:500;
  color:var(--gold3);
}
.stat-card .stat-label{
  font-size:.82rem;
  font-weight:600;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:rgba(255,255,255,.65);
}
.stat-card .stat-bar{
  margin-top:1rem;
  height:3px;
  background:rgba(255,255,255,.12);
  border-radius:99px;
  overflow:hidden;
}
.stat-card .stat-bar-fill{
  height:100%;
  background:var(--gold3);
  border-radius:99px;
  width:0%;
  transition:width 1.5s ease;
}

/* Responsive stats */
@media(max-width:900px){
  .stats-grid{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:540px){
  .stats-grid{grid-template-columns:1fr 1fr;gap:1rem;}
  .stat-card{padding:1.5rem 1rem;}
}

/* ── Photos intégrées ── */
.about-visual-col{display:flex;flex-direction:column;gap:1.5rem;}
.about-photo{width:100%;border-radius:20px;object-fit:cover;max-height:260px;box-shadow:var(--shadow2);}
.hw-layout{display:grid;grid-template-columns:280px 1fr;gap:2.5rem;align-items:start;}
.hw-photo{width:100%;border-radius:20px;object-fit:cover;height:420px;box-shadow:var(--shadow2);position:sticky;top:6rem;}

@media(max-width:768px){
  .hw-layout{grid-template-columns:1fr;}
  .hw-photo{display:none;}
}

/* ── Founder card ── */
.founder-card{display:flex;align-items:center;gap:1rem;margin-top:2rem;padding:1rem 1.2rem;background:var(--white);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow1);}
.founder-photo{width:52px;height:52px;border-radius:50%;object-fit:cover;object-position:top;flex-shrink:0;border:2px solid var(--cream3);}
.founder-name{font-family:'Playfair Display',serif;font-weight:700;font-size:.95rem;color:var(--emerald);}
.founder-title{font-size:.78rem;color:var(--text2);margin-top:.15rem;}

/* ── Section separators ── */
.section{border-top:1px solid var(--border2);}
.section.stats-section,.section.test-bg,.hero{border-top:none;}

/* ══ LAYOUT v2 — Breathing & Visual Rhythm ══ */

/* More air between sections */
.section{padding:5.6rem 0;}
@media(max-width:900px){.section{padding:3.4rem 0;}}

/* Alternating section backgrounds */
#about-section{background:var(--white);}
#how{background:var(--cream);}
#faq{background:var(--white);}

/* Section header: clearer hierarchy */
.section .slbl{margin-bottom:.9rem;}
.section h2{margin-bottom:.6rem;}
.section .sub{margin-bottom:2.2rem;}

/* Hero: tighter after removing search bar */
.hero{padding:9rem 0 6rem;}
.hero-cta-row{margin:2rem 0 3rem;gap:1rem;}
.hero-stats{margin-top:3.5rem;padding-top:2rem;border-top:1px solid var(--border);}

/* Why-grid: 2×2 on medium screens before collapsing to 1 */
@media(max-width:1100px){
  .why-grid{grid-template-columns:repeat(2,1fr);gap:1.4rem;}
  .about-home{grid-template-columns:1fr;}
  .about-home .why-grid{grid-template-columns:repeat(2,1fr);margin-top:2rem;}
  .tc-inner{gap:3rem;}
}

/* Tutor cards: more gap */
.tutors-grid{gap:1.8rem;}

/* FAQ: more comfortable padding */
.faq-item{padding:1.4rem 1.5rem;}
.faq-item summary{font-size:.97rem;}
.faq-grid{gap:1.2rem;}

/* Nav: cleaner spacing */
nav ul{gap:1.3rem;}
nav a{font-size:.82rem;}

/* Final CTA: more padding */
.final-cta{padding:8rem 0;}
.final-cta h2{margin-bottom:1rem;}
.cta-row{gap:1.2rem;margin-top:2.5rem;}

/* ══════════════════════════════════════════════════════════════════════
   PREMIUM DESIGN v3 — SesseRoots Academy
   Direction : premium chaleureux · éditorial · enraciné · signature
   ══════════════════════════════════════════════════════════════════════ */

/* ── Variables enrichies ── */
:root{
  --parchment:#f2ead8;
  --emerald-deep:#041e14;
  --shadow-warm:0 4px 24px rgba(6,46,31,.1);
  --shadow-editorial:0 2px 8px rgba(6,46,31,.05),0 12px 40px rgba(6,46,31,.1);
  --shadow-gold-warm:0 8px 32px rgba(200,134,10,.18);
  --tr:all .32s cubic-bezier(.25,.46,.45,.94);
}

/* ── Typographie — hiérarchie éditoriale ── */
h1{
  font-size:clamp(2.5rem,4.8vw,4.1rem);
  font-weight:900;
  letter-spacing:-.025em;
  line-height:1.07;
}
h2{
  font-size:clamp(1.85rem,3.2vw,2.75rem);
  letter-spacing:-.015em;
  line-height:1.14;
}
h1 em,h2 em{
  font-style:italic;
  font-weight:700;
  color:var(--gold);
}
.slbl{
  font-size:.68rem;
  letter-spacing:.2em;
  font-weight:700;
  color:var(--gold);
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  margin-bottom:.85rem;
}
.sub{
  font-size:1.02rem;
  line-height:1.82;
  color:var(--text2);
}

/* ── Navigation — plus raffinée ── */
header{
  background:rgba(253,249,242,.96);
  backdrop-filter:blur(28px) saturate(1.6);
  border-bottom:1px solid rgba(6,46,31,.06);
  box-shadow:0 1px 20px rgba(6,46,31,.04);
}
nav a{
  font-size:.82rem;
  font-weight:500;
  letter-spacing:.015em;
  transition:color .2s;
}
.nav-cta{
  font-size:.8rem;
  font-weight:700;
  letter-spacing:.02em;
  padding:.52rem 1.2rem;
  box-shadow:0 3px 12px rgba(6,46,31,.18);
  border-radius:999px;
}
.nav-reserve{
  font-size:.8rem;
  font-weight:700;
  letter-spacing:.02em;
  padding:.52rem 1.15rem;
  border-radius:999px;
  border-width:1.5px;
}
.logo{
  font-size:1.18rem;
  letter-spacing:-.015em;
}

/* ── Nav dropdown Explorer ── */
.nav-explorer{position:relative;}
.nav-explorer-toggle{cursor:pointer;user-select:none;color:var(--text2);font-size:.82rem;font-weight:500;letter-spacing:.015em;transition:color .2s;}
.nav-explorer-toggle:hover{color:var(--emerald);}
.nav-explorer-menu{
  display:none;
  position:absolute;
  top:calc(100% + 10px);
  left:50%;
  transform:translateX(-50%);
  background:var(--white);
  border:1px solid var(--border);
  border-radius:14px;
  box-shadow:0 8px 32px rgba(6,46,31,.12);
  min-width:200px;
  padding:6px 0;
  z-index:400;
}
.nav-explorer:hover .nav-explorer-menu,
.nav-explorer:focus-within .nav-explorer-menu{display:block;}
.nav-explorer-menu a{
  display:block;
  padding:9px 16px;
  color:var(--text) !important;
  font-size:.82rem;
  font-weight:500;
  text-decoration:none;
  transition:background .15s,color .15s;
  border-radius:8px;
  margin:2px 6px;
}
.nav-explorer-menu a:hover{background:var(--cream2);color:var(--emerald) !important;}

/* ── Feature strip : masqué sur mobile (réduction bruit cognitif) ── */
@media(max-width:640px){
  .hero-features-strip{display:none;}
}

/* ── Séparateur menu mobile ── */
.mnav-sep{height:1px;background:var(--border);margin:.4rem .75rem;list-style:none;}

/* ── Boutons signature ── */
.btn-gold{
  background:linear-gradient(140deg,var(--gold2) 0%,#c87d0b 100%);
  box-shadow:0 4px 18px rgba(200,134,10,.32),inset 0 1px 0 rgba(255,255,255,.18);
  padding:.92rem 2.3rem;
  font-size:.96rem;
  font-weight:700;
  letter-spacing:.015em;
  border-radius:999px;
}
.btn-gold:hover{
  background:linear-gradient(140deg,#d4920a 0%,var(--gold) 100%);
  box-shadow:0 8px 30px rgba(200,134,10,.42),inset 0 1px 0 rgba(255,255,255,.12);
  transform:translateY(-2px);
}
.btn-outline{
  padding:.9rem 2.2rem;
  font-size:.93rem;
  font-weight:600;
  letter-spacing:.015em;
  border-radius:999px;
  border-width:1.5px;
  transition:var(--tr);
}
.btn-outline:hover{
  background:var(--emerald);
  color:#fff;
  box-shadow:0 6px 22px rgba(6,46,31,.22);
  transform:translateY(-2px);
}
.btn-primary{
  padding:.9rem 2.2rem;
  font-size:.93rem;
  font-weight:700;
  letter-spacing:.015em;
  border-radius:999px;
  box-shadow:0 4px 18px rgba(6,46,31,.22);
  transition:var(--tr);
}
.btn-primary:hover{
  box-shadow:0 10px 28px rgba(6,46,31,.3);
  transform:translateY(-2px);
}
.btn-outline-gold{
  padding:.9rem 2.2rem;
  font-size:.93rem;
  font-weight:600;
  letter-spacing:.015em;
  border-radius:999px;
  border-width:1.5px;
  transition:var(--tr);
}
.btn-outline-gold:hover{
  background:rgba(200,134,10,.08);
  transform:translateY(-1px);
}

/* ── Hero — majestueux et assumé ── */
.hero{
  padding:10rem 0 7rem;
}
.hero-bg{
  background:linear-gradient(152deg,#faf6ef 0%,#f2ead8 50%,rgba(200,134,10,.07) 100%);
}
.hero-pattern{
  background-image:radial-gradient(circle,rgba(6,46,31,.04) 1px,transparent 1px),linear-gradient(150deg,transparent 60%,rgba(200,134,10,.03) 100%);
  background-size:32px 32px,100% 100%;
}
.hb1{
  width:700px;height:700px;right:-120px;top:-150px;
  background:radial-gradient(circle,rgba(200,134,10,.08),transparent 70%);
  filter:blur(100px);
}
.hb2{
  width:500px;height:500px;left:-100px;bottom:-100px;
  background:radial-gradient(circle,rgba(6,46,31,.06),transparent 70%);
  filter:blur(90px);
}
.hero-tag{
  background:rgba(255,255,255,.96);
  border:1px solid rgba(200,134,10,.22);
  box-shadow:0 2px 14px rgba(6,46,31,.07),0 0 0 1px rgba(200,134,10,.07);
  padding:.48rem 1.2rem .48rem .9rem;
  font-size:.76rem;
  letter-spacing:.025em;
  font-weight:600;
  border-radius:999px;
}
.hero-features-strip{
  background:rgba(255,255,255,.93);
  border:1px solid rgba(6,46,31,.07);
  border-radius:999px;
  padding:.62rem 1.35rem;
  box-shadow:0 2px 14px rgba(6,46,31,.07);
  backdrop-filter:blur(6px);
  gap:.4rem .85rem;
  max-width:720px;
}
.hfs-item{
  font-size:.8rem;
  letter-spacing:.015em;
  color:var(--emerald);
  font-weight:600;
}
.hfs-sep{
  width:1px;height:16px;
  background:rgba(6,46,31,.12);
}
.hero-sub{
  font-size:1.12rem;
  line-height:1.82;
  color:var(--text2);
  max-width:550px;
  margin:1.5rem 0 2.2rem;
}
/* Stats hero — chiffres clés premium */
.hero-stats{
  display:flex;
  align-items:center;
  gap:3.2rem;
  margin-top:3.8rem;
  padding-top:2.4rem;
  border-top:1px solid rgba(6,46,31,.09);
  flex-wrap:wrap;
}
.hstat .n{
  font-family:'Playfair Display',serif;
  font-size:1.85rem;
  font-weight:700;
  font-style:italic;
  color:var(--emerald);
  line-height:1;
  letter-spacing:-.02em;
}
.hstat .l{
  font-size:.76rem;
  color:var(--text3);
  margin-top:.3rem;
  letter-spacing:.03em;
  font-weight:500;
}
.hstat-div{
  width:1px;height:46px;
  background:rgba(6,46,31,.1);
}
@media(max-width:600px){
  h1{font-size:clamp(2.2rem,7vw,2.9rem);}
  .hero{padding:7.5rem 0 5rem;}
  .hero-cta-row{flex-direction:column;gap:.8rem;}
  .hero-cta-row .btn-gold,.hero-cta-row .btn-outline{width:100%;justify-content:center;}
  .hero-stats{gap:1.6rem;flex-wrap:wrap;}
  .hstat-div{display:none;}
  .hstat .n{font-size:1.55rem;}
  .hero-features-strip{border-radius:18px;}
  .hfs-sep{display:none;}
}

/* ── About section — éditoriale ── */
#about-section{background:var(--white);}
.about-copy{
  background:var(--white);
  border:1px solid rgba(6,46,31,.06);
  border-radius:28px;
  padding:2.8rem;
  box-shadow:0 4px 28px rgba(6,46,31,.07),0 1px 4px rgba(6,46,31,.04);
}
.about-copy p{
  font-size:.97rem;
  line-height:1.9;
  color:var(--text2);
}
.about-note{
  background:linear-gradient(135deg,var(--cream2) 0%,rgba(200,134,10,.05) 100%);
  border:1px solid rgba(200,134,10,.2);
  border-left:3px solid var(--gold);
  border-radius:0 18px 18px 0;
  border-left-width:3px;
  padding:1.1rem 1.3rem 1.1rem 1.2rem;
  font-size:.88rem;
  font-style:italic;
  color:var(--text2);
  line-height:1.75;
  margin-top:1.4rem;
}
.founder-card{
  background:var(--cream);
  border:1px solid rgba(200,134,10,.2);
  border-radius:18px;
  padding:1.15rem 1.3rem;
  box-shadow:0 3px 14px rgba(6,46,31,.07);
  margin-top:2rem;
}
.founder-photo{
  border:2px solid rgba(200,134,10,.28);
  box-shadow:0 3px 12px rgba(6,46,31,.12);
}

/* Why-cards — profondeur et désirabilité */
.why-card{
  background:var(--white);
  border:1px solid rgba(6,46,31,.06);
  border-radius:22px;
  padding:2.1rem 1.8rem;
  box-shadow:0 2px 10px rgba(6,46,31,.05);
  transition:transform .2s, box-shadow .2s;
  position:relative;
  overflow:hidden;
}
.why-card::after{
  content:'';position:absolute;bottom:0;left:0;right:0;
  height:2px;
  background:linear-gradient(90deg,transparent,rgba(200,134,10,.45),transparent);
  opacity:0;
  transition:opacity .3s;
}
.why-card:hover{
  box-shadow:0 14px 44px rgba(6,46,31,.11),0 2px 8px rgba(6,46,31,.06);
  transform:translateY(-5px);
  border-color:rgba(200,134,10,.18);
}
.why-card:hover::after{opacity:1;}
.why-ic{
  font-size:1.7rem;
  margin-bottom:1.1rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:52px;height:52px;
  background:linear-gradient(135deg,var(--cream2),var(--cream3));
  border-radius:16px;
  line-height:1;
  border:1px solid rgba(6,46,31,.06);
}
.why-card h3{
  font-size:1.02rem;
  letter-spacing:-.01em;
  margin-bottom:.55rem;
}
.why-card p{
  font-size:.84rem;
  line-height:1.7;
}

/* ── Section How it Works ── */
#how{background:linear-gradient(180deg,var(--cream) 0%,var(--parchment) 100%);}
.hw-tabs{
  background:var(--white);
  border:1px solid var(--border);
  border-radius:999px;
  padding:.3rem;
  box-shadow:0 2px 12px rgba(6,46,31,.06);
}
.hw-tab{
  font-size:.86rem;
  font-weight:600;
  padding:.62rem 2.1rem;
  border-radius:999px;
  letter-spacing:.01em;
  transition:var(--tr);
}
.hw-tab.on{
  background:var(--emerald);
  color:#fff;
  box-shadow:0 4px 16px rgba(6,46,31,.22);
}
.step{
  background:var(--white);
  border:1px solid rgba(6,46,31,.06);
  border-radius:24px;
  padding:2.2rem;
  box-shadow:0 3px 14px rgba(6,46,31,.06);
  transition:var(--tr);
}
.step:hover{
  box-shadow:0 18px 52px rgba(6,46,31,.13);
  transform:translateY(-5px);
  border-color:rgba(200,134,10,.15);
}
.step-n{
  width:46px;height:46px;
  border-radius:14px;
  background:var(--emerald);
  font-family:'DM Mono',monospace;
  font-size:.85rem;
  font-weight:500;
  margin-bottom:1.4rem;
  box-shadow:0 5px 16px rgba(6,46,31,.28);
}
.step.gold .step-n{
  background:linear-gradient(140deg,#c8860a,#e8a020);
  box-shadow:0 5px 16px rgba(200,134,10,.32);
}
.step h3{
  font-size:1.1rem;
  letter-spacing:-.01em;
  margin-bottom:.7rem;
}
.step p{
  font-size:.87rem;
  line-height:1.78;
  color:var(--text2);
}
.hw-photo{
  border-radius:24px;
  box-shadow:0 24px 64px rgba(6,46,31,.18);
  border:1px solid rgba(6,46,31,.07);
}
.hw-layout{gap:3.2rem;}

/* ── Tutor cards — premium et désirables ── */
.tutors-bg{background:var(--cream);}
.tutor-card{
  background:var(--white);
  border:1px solid rgba(6,46,31,.07);
  border-radius:24px;
  overflow:hidden;
  transition:var(--tr);
  box-shadow:0 3px 14px rgba(6,46,31,.07);
}
.tutor-card:hover{
  transform:translateY(-7px);
  box-shadow:0 28px 68px rgba(6,46,31,.15),0 6px 18px rgba(6,46,31,.08);
  border-color:rgba(200,134,10,.22);
}
.tc-top{
  padding:1.9rem 1.9rem 1.1rem;
  background:linear-gradient(180deg,rgba(6,46,31,.028) 0%,transparent 100%);
  border-bottom:none;
}
.tc-av{
  width:66px;height:66px;
  border-radius:20px;
  font-size:1.4rem;
  box-shadow:0 5px 18px rgba(6,46,31,.22);
}
.tc-av.a{background:linear-gradient(145deg,#041e14,#0f6645);}
.tc-info .tc-name{
  font-size:1.03rem;
  letter-spacing:-.01em;
  font-weight:700;
}
.tc-info .tc-title{
  font-size:.8rem;
  color:var(--text2);
  margin:.22rem 0;
}
.tc-info .tc-meta{
  font-size:.73rem;
  color:var(--text3);
  margin-top:.28rem;
}
.badge-gold{
  background:linear-gradient(135deg,rgba(200,134,10,.1),rgba(232,160,32,.07));
  border:1px solid rgba(200,134,10,.28);
  color:#8a5a00;
  font-size:.63rem;
  font-weight:700;
  letter-spacing:.07em;
  text-transform:uppercase;
  padding:.28rem .8rem;
  border-radius:999px;
}
.tc-body{padding:0 1.9rem 1.2rem;}
.tc-lang{
  background:rgba(6,46,31,.05);
  border:1px solid rgba(6,46,31,.08);
  border-radius:999px;
  padding:.22rem .72rem;
  font-size:.69rem;
  font-weight:600;
  color:var(--emerald3);
  letter-spacing:.025em;
}
.tc-bio{
  font-size:.84rem;
  color:var(--text2);
  line-height:1.72;
  font-style:normal;
  margin-top:.85rem;
}
.tc-prog-link{
  margin-top:.95rem;
  font-size:.79rem;
  color:var(--emerald3);
  border-bottom:1px solid rgba(15,102,69,.28);
  font-weight:700;
  letter-spacing:.01em;
  transition:all .2s;
  display:inline-block;
}
.tc-prog-link:hover{
  color:var(--gold);
  border-bottom-color:var(--gold);
  opacity:1;
}
.tc-footer{
  padding:1.15rem 1.9rem;
  background:rgba(6,46,31,.022);
  border-top:1px solid rgba(6,46,31,.07);
}
.tc-price .amount{
  font-family:'Playfair Display',serif;
  font-size:1.05rem;
  font-weight:700;
  font-style:italic;
  color:var(--emerald);
}
.tc-btn{
  background:var(--emerald);
  padding:.57rem 1.45rem;
  border-radius:999px;
  font-size:.8rem;
  font-weight:700;
  letter-spacing:.015em;
  box-shadow:0 4px 12px rgba(6,46,31,.22);
  transition:var(--tr);
}
.tc-btn:hover{
  background:var(--emerald2);
  box-shadow:0 8px 22px rgba(6,46,31,.28);
  transform:translateY(-1px);
}
.filter-btn{
  background:rgba(255,255,255,.85);
  border:1px solid rgba(6,46,31,.11);
  color:var(--text2);
  padding:.46rem 1.25rem;
  border-radius:999px;
  font-size:.81rem;
  font-weight:600;
  letter-spacing:.015em;
  transition:var(--tr);
  backdrop-filter:blur(4px);
}
.filter-btn.on,.filter-btn:hover{
  background:var(--emerald);
  color:#fff;
  border-color:var(--emerald);
  box-shadow:0 4px 16px rgba(6,46,31,.22);
}

/* ── Test de niveau — sérieux et haut de gamme ── */
.test-bg{
  background:linear-gradient(152deg,#041e14 0%,var(--emerald2) 55%,#0d5a38 100%);
}
.test-right{
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.13);
  border-radius:28px;
  padding:2.5rem;
  backdrop-filter:blur(18px);
  box-shadow:0 28px 70px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.1);
}
.test-right h4{
  font-size:.67rem;
  letter-spacing:.16em;
  color:var(--gold3);
  margin-bottom:1.3rem;
  font-weight:700;
}
.tlvl{
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.11);
  border-radius:16px;
  transition:var(--tr);
}
.tlvl:hover,.tlvl.on{
  background:rgba(255,255,255,.16);
  border-color:rgba(245,200,66,.42);
  box-shadow:0 5px 18px rgba(0,0,0,.16);
  transform:translateY(-2px);
}
.tlvl .ln{
  font-family:'Playfair Display',serif;
  font-size:1.2rem;
  font-weight:700;
  font-style:italic;
}
.tlvl .ll{
  font-size:.68rem;
  color:rgba(255,255,255,.55);
  margin-top:.2rem;
}

/* ── Pricing — cartes premium ── */
#pricing{
  background:linear-gradient(180deg,var(--white) 0%,var(--cream) 100%);
}
.plan-card{
  background:var(--white);
  border:1px solid rgba(6,46,31,.07);
  border-radius:24px;
  padding:2.1rem 1.7rem;
  box-shadow:0 3px 14px rgba(6,46,31,.07);
  transition:var(--tr);
}
.plan-card:hover{
  transform:translateY(-5px);
  box-shadow:0 22px 52px rgba(6,46,31,.13);
  border-color:rgba(6,46,31,.12);
}
.plan-featured{
  background:linear-gradient(160deg,rgba(232,160,32,.1) 0%,#fff 65%);
  border-color:rgba(200,134,10,.3);
  box-shadow:0 8px 40px rgba(200,134,10,.15),0 2px 10px rgba(200,134,10,.08);
}
.plan-featured:hover{
  box-shadow:0 28px 64px rgba(200,134,10,.22),0 6px 18px rgba(200,134,10,.1);
  border-color:rgba(200,134,10,.42);
}
.plan-badge{
  background:linear-gradient(135deg,var(--gold),var(--gold2));
  color:#fff;
  font-size:.67rem;
  font-weight:700;
  letter-spacing:.09em;
  text-transform:uppercase;
  padding:.32rem 1.1rem;
  border-radius:0 0 12px 12px;
  box-shadow:0 4px 14px rgba(200,134,10,.32);
}
.plan-tier{
  font-family:'Playfair Display',serif;
  font-size:1.22rem;
  font-weight:700;
  color:var(--emerald);
  letter-spacing:-.01em;
}
.plan-price{
  font-family:'Playfair Display',serif;
  font-size:1.85rem;
  font-weight:700;
  font-style:italic;
  color:var(--emerald);
  line-height:1.1;
  margin:.45rem 0;
  letter-spacing:-.02em;
}
.plan-features li::before{
  content:'✓';
  color:var(--emerald3);
  font-weight:700;
  font-size:.8rem;
}
.plan-cta{
  border-radius:999px;
  padding:.78rem 1.2rem;
  font-size:.87rem;
  font-weight:700;
  letter-spacing:.015em;
}
.pstart-card{
  background:var(--white);
  border:1px solid rgba(6,46,31,.07);
  border-radius:22px;
  padding:1.9rem 1.5rem;
  box-shadow:0 3px 14px rgba(6,46,31,.06);
  transition:var(--tr);
}
.pstart-card:hover{
  box-shadow:0 14px 40px rgba(6,46,31,.11);
  transform:translateY(-3px);
}
.pstart-featured{
  background:linear-gradient(160deg,rgba(232,160,32,.1) 0%,#fff 80%);
  border-color:rgba(200,134,10,.3);
  box-shadow:0 8px 34px rgba(200,134,10,.15);
}
.pstart-name{
  font-family:'Playfair Display',serif;
  font-size:1.08rem;
  font-weight:700;
  letter-spacing:-.01em;
}
.pstart-price{
  font-family:'Playfair Display',serif;
  font-style:italic;
  font-size:1.65rem;
  font-weight:700;
  letter-spacing:-.02em;
}
.ptab-btn{
  border-radius:999px;
  font-size:.87rem;
  font-weight:600;
  letter-spacing:.015em;
  padding:.58rem 1.4rem;
  transition:var(--tr);
}
.ptab-btn.active{
  background:var(--emerald);
  border-color:var(--emerald);
  color:#fff;
  box-shadow:0 4px 16px rgba(6,46,31,.22);
}

/* ── Become Tutor — premium ── */
.tutor-cta{
  background:linear-gradient(152deg,var(--cream2) 0%,var(--parchment) 100%);
  border-top:1px solid rgba(200,134,10,.1);
  border-bottom:1px solid rgba(200,134,10,.1);
}
.tc-visual{
  background:var(--white);
  border:1px solid rgba(6,46,31,.07);
  border-radius:28px;
  padding:2.5rem;
  box-shadow:0 18px 56px rgba(6,46,31,.11),0 4px 18px rgba(6,46,31,.06);
}
.tc-v-title{
  font-size:.67rem;
  letter-spacing:.16em;
  color:var(--gold);
  margin-bottom:1.1rem;
  font-weight:700;
  border-top:1px solid rgba(6,46,31,.07);
  padding-top:1.3rem;
  margin-top:1.3rem;
}
.earn-calc{
  background:linear-gradient(135deg,var(--cream) 0%,rgba(200,134,10,.04) 100%);
  border-radius:18px;
  padding:1.5rem;
  border:1px solid rgba(6,46,31,.06);
}
.ec-row{
  font-size:.87rem;
  margin-bottom:.6rem;
  display:flex;
  justify-content:space-between;
  align-items:center;
}
.ec-row.total{
  border-top:1px solid rgba(6,46,31,.09);
  padding-top:.85rem;
  margin-top:.85rem;
}
.ec-row.total .val{
  font-family:'Playfair Display',serif;
  font-style:italic;
  font-size:1.18rem;
  font-weight:700;
  color:var(--gold);
}
.cp-step{
  font-size:.83rem;
  line-height:1.55;
  gap:.85rem;
}
.cp-n{
  width:26px;height:26px;
  border-radius:50%;
  background:var(--emerald);
  color:#fff;
  font-size:.68rem;
  font-weight:700;
  box-shadow:0 3px 10px rgba(6,46,31,.22);
  flex-shrink:0;
}
.perk-ic{
  width:42px;height:42px;
  border-radius:14px;
  background:rgba(6,46,31,.07);
  border:1px solid rgba(6,46,31,.08);
  font-size:1.1rem;
  transition:var(--tr);
}
.perk:hover .perk-ic{
  background:rgba(6,46,31,.11);
  transform:scale(1.06);
}
.perk-txt h4{
  font-size:.93rem;
  letter-spacing:-.01em;
  font-weight:700;
}

/* ── FAQ — éditoriale et raffinée ── */
#faq{background:var(--white);}
.faq-item{
  background:var(--white);
  border:1px solid rgba(6,46,31,.07);
  border-radius:20px;
  padding:1.7rem 1.9rem;
  box-shadow:0 2px 10px rgba(6,46,31,.05);
  transition:var(--tr);
}
.faq-item[open]{
  border-color:rgba(200,134,10,.26);
  box-shadow:0 8px 30px rgba(200,134,10,.09);
}
.faq-item summary{
  font-size:.97rem;
  font-weight:700;
  color:var(--emerald);
  letter-spacing:-.01em;
  line-height:1.5;
}
.faq-item summary::after{
  content:'+';
  width:30px;height:30px;
  background:var(--cream2);
  border:1px solid rgba(6,46,31,.08);
  border-radius:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:1.25rem;
  color:var(--gold);
  flex-shrink:0;
  font-weight:300;
  line-height:1;
  transition:var(--tr);
}
.faq-item[open] summary::after{
  content:'−';
  background:linear-gradient(135deg,rgba(200,134,10,.12),rgba(232,160,32,.07));
  border-color:rgba(200,134,10,.22);
  color:var(--gold);
}
.faq-item p{
  font-size:.91rem;
  line-height:1.82;
  color:var(--text2);
  margin-top:1.1rem;
  padding-top:1.1rem;
  border-top:1px solid rgba(6,46,31,.06);
}
.faq-grid{gap:1.1rem;}

/* ── Final CTA — dramatique et noble ── */
.final-cta{
  background:linear-gradient(152deg,#041e14 0%,var(--emerald) 50%,#0a3d28 100%);
  padding:9rem 0;
}
.final-cta::before{
  background-image:
    radial-gradient(ellipse at top right,rgba(200,134,10,.15),transparent 55%),
    radial-gradient(circle,rgba(232,160,32,.06) 1px,transparent 1px);
  background-size:100% 100%,30px 30px;
}
.final-cta h2{
  font-size:clamp(2.3rem,4.6vw,3.6rem);
  letter-spacing:-.025em;
  line-height:1.06;
  margin-bottom:1.2rem;
}
.final-cta .sub{
  font-size:1.1rem;
  line-height:1.82;
  color:rgba(255,255,255,.72);
  max-width:520px;
  margin:0 auto 3rem;
}

/* ── Stat cards ── */
.stat-card{
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
  border-radius:22px;
  backdrop-filter:blur(8px);
  transition:var(--tr);
}
.stat-card:hover{
  background:rgba(255,255,255,.14);
  transform:translateY(-5px);
  box-shadow:0 18px 44px rgba(0,0,0,.16);
  border-color:rgba(255,255,255,.22);
}
.stat-card .stat-num{
  font-family:'Playfair Display',serif;
  font-style:italic;
  font-size:clamp(2.1rem,3.5vw,2.9rem);
  letter-spacing:-.02em;
}
.stat-card .stat-bar-fill{
  background:linear-gradient(90deg,var(--gold3),rgba(245,200,66,.5));
}


/* ── About photo ── */
.about-photo{
  border-radius:24px;
  box-shadow:0 18px 52px rgba(6,46,31,.16);
  border:1px solid rgba(6,46,31,.06);
}

/* ── Section separators ── */
.section{border-top:1px solid rgba(6,46,31,.05);}
.section.stats-section,.section.test-bg,.hero{border-top:none;}

/* ── Scroll reveal — animation noble ── */
.rev{
  opacity:0;
  transform:translateY(16px);
  transition:opacity .72s cubic-bezier(.25,.46,.45,.94),transform .72s cubic-bezier(.25,.46,.45,.94);
}
.rev.vis{opacity:1;transform:none;}

/* ── Responsive mobile premium ── */
@media(max-width:900px){
  .about-copy{padding:2rem;border-radius:22px;}
  .tc-visual{padding:1.9rem;border-radius:24px;}
  .faq-item{padding:1.45rem 1.5rem;border-radius:18px;}
  .tutor-card{border-radius:20px;}
  .step{border-radius:20px;padding:1.85rem;}
  .plan-card{border-radius:20px;}
  .final-cta{padding:6rem 0;}
  .final-cta h2{font-size:clamp(2rem,5vw,2.8rem);}
  h2{font-size:clamp(1.7rem,4vw,2.3rem);}
}

/* ── Labels de section par identité ── */
#about-section .slbl{color:var(--emerald3);}
#how .slbl{color:var(--emerald3);}
#tutors .slbl,#test-section .slbl,#become-tutor .slbl{color:var(--gold);}
#pricing .slbl,#faq .slbl{color:var(--emerald3);}

/* ── Plan features : checkmark vert ── */
.plan-features li{padding-left:1.2rem;}
.plan-features li::before{left:0;font-size:.78rem;top:.08em;}

/* ── Mobile sticky bar premium ── */
.sticky-cta-mobile .btn-primary,.sticky-cta-mobile .btn-gold{
  font-size:.86rem;
  font-weight:700;
  padding:.75rem 1rem;
  border-radius:14px;
  letter-spacing:.01em;
}

/* ══════════════════════════════════════════════════════
   PREMIUM v5 — Shine · Accents dorés · Relief
   ══════════════════════════════════════════════════════ */

/* ── Shine sweep sur boutons au hover ── */
.btn-primary,.btn-gold,.btn-outline,.nav-cta{
  position:relative;
  overflow:hidden;
}
.btn-primary::after,.btn-gold::after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(
    118deg,
    transparent 20%,
    rgba(255,255,255,.26) 48%,
    transparent 76%
  );
  background-size:280% 100%;
  background-position:220% 0;
  transition:background-position .6s ease;
  pointer-events:none;
  border-radius:inherit;
}
.btn-primary:hover::after,.btn-gold:hover::after{
  background-position:-20% 0;
}

/* ── Section labels — trait doré signature ── */
.slbl::before{
  content:'';
  display:inline-block;
  width:20px;
  height:1.5px;
  background:linear-gradient(90deg,var(--gold),var(--gold3));
  border-radius:2px;
  flex-shrink:0;
  opacity:.9;
  align-self:center;
}

/* ── Plan featured — bandeau doré en haut ── */
.plan-featured{
  position:relative;
}
.plan-featured::before{
  content:'';
  position:absolute;
  top:0;left:0;right:0;
  height:3px;
  background:linear-gradient(90deg,transparent 0%,var(--gold) 25%,var(--gold3) 55%,var(--gold) 78%,transparent 100%);
  border-radius:24px 24px 0 0;
  pointer-events:none;
  z-index:1;
}

/* ── Final CTA — liseret doré en haut ── */
.final-cta::after{
  content:'';
  position:absolute;
  top:0;left:8%;right:8%;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(245,200,66,.55),transparent);
  pointer-events:none;
}

/* ── Stat cards — lueur dorée au hover ── */
.stat-card:hover{
  border-color:rgba(245,200,66,.3);
  box-shadow:0 24px 60px rgba(0,0,0,.22),0 0 0 1px rgba(245,200,66,.14);
}

/* ── Steps gold — gradient renforcé ── */
.step-n{
  background:linear-gradient(140deg,var(--emerald) 0%,var(--emerald2) 100%);
}

/* ── Tutor card : fond top doré au hover ── */
.tutor-card:hover .tc-top{
  background:linear-gradient(180deg,rgba(200,134,10,.05) 0%,transparent 100%);
}

/* ── Mini hero tutors : ombre plus riche ── */
.mini-tutor{
  box-shadow:0 8px 28px rgba(6,46,31,.12),0 2px 8px rgba(6,46,31,.06);
}
.mini-tutor:hover{
  box-shadow:0 14px 40px rgba(6,46,31,.18),0 4px 12px rgba(6,46,31,.08);
  transform:translateX(-6px) translateY(-2px);
}

/* ── About note — accent or gauche renforcé ── */
.about-note{
  border-left:3px solid var(--gold);
  background:linear-gradient(135deg,rgba(200,134,10,.06) 0%,rgba(253,249,242,.8) 100%);
}

/* ── Scroll des cartes ── */
.why-card,.step,.tutor-card,.faq-item,.plan-card,.pstart-card{
  will-change:transform;
}

/* ══ AMÉLIORATIONS UI v4 ══ */


/* ── Hero desktop : padding-right pour éviter overlap texte/image ── */
@media(min-width:1025px){
  .hero-inner{padding-right:calc(min(38vw,510px) + 2rem);}
}


/* ── Stats section : titre et sous-titre ── */
.stats-section-header{text-align:center;margin-bottom:2.5rem;position:relative;z-index:1;}
.stats-section-header h2{margin-bottom:0;}

/* ── Transition douce du plan-card featured ── */
.plan-featured,.plan-card.featured{
  transform:translateY(-4px);
  box-shadow:0 20px 50px rgba(200,134,10,.18);
}
.plan-featured:hover,.plan-card.featured:hover{
  transform:translateY(-7px);
}

/* ══════════════════════════════════════════════════════════════════════
   PREMIUM v6 — Hero sombre · Contours dégradés or · Relief profond
   ══════════════════════════════════════════════════════════════════════ */

/* ── 1. HERO : fond émeraude sombre ── */
.hero-bg{
  background:linear-gradient(142deg,#020d06 0%,#041e14 42%,#083525 78%,#0a3d28 100%);
}
.hero-pattern{
  background-image:
    radial-gradient(circle,rgba(255,255,255,.028) 1px,transparent 1px),
    radial-gradient(ellipse 75% 55% at 80% 15%,rgba(200,134,10,.09),transparent 62%);
  background-size:32px 32px,100% 100%;
}
.hb1{background:radial-gradient(circle,rgba(200,134,10,.11),transparent 70%);filter:blur(120px);}
.hb2{background:radial-gradient(circle,rgba(15,102,69,.12),transparent 70%);filter:blur(100px);}

/* Textes & éléments hero sur fond sombre */
.hero h1{color:#fff;}
.hero h1 em{color:var(--gold3);}
.hero .hero-sub{color:rgba(255,255,255,.72);}

/* Bouton outline dans le hero — couleurs adaptées au fond sombre */
.hero .btn-outline{
  color:rgba(255,255,255,.9);
  border-color:rgba(255,255,255,.38);
  background:transparent;
}
.hero .btn-outline:hover{
  background:rgba(255,255,255,.1);
  color:#fff;
  border-color:rgba(255,255,255,.6);
  box-shadow:0 6px 22px rgba(0,0,0,.22);
  transform:translateY(-2px);
}
/* Bouton secondary dans le hero — fond frosté blanc, texte blanc */
.btn-secondary-hero{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  padding:.75rem 1.8rem;
  border-radius:2rem;
  font-size:1rem;
  font-weight:600;
  cursor:pointer;
  border:2px solid rgba(255,255,255,.5);
  background:rgba(255,255,255,.12);
  color:#fff;
  backdrop-filter:blur(4px);
  transition:all .2s;
  font-family:inherit;
}
.btn-secondary-hero:hover{
  background:rgba(255,255,255,.22);
  border-color:rgba(255,255,255,.8);
}
@media(max-width:600px){
  .btn-secondary-hero{
    background:rgba(255,255,255,.18);
    border-color:rgba(255,255,255,.7);
    color:#fff;
    width:100%;
    justify-content:center;
  }
}
/* Bouton outline-gold dans le hero */
.hero .btn-outline-gold{
  color:var(--gold3);
  border-color:rgba(245,200,66,.42);
}
.hero .btn-outline-gold:hover{
  background:rgba(245,200,66,.1);
  color:var(--gold3);
}
.hero .hero-tag{
  background:rgba(255,255,255,.09);
  border-color:rgba(255,255,255,.16);
  color:rgba(255,255,255,.9);
  box-shadow:0 2px 16px rgba(0,0,0,.22);
}
.hero .hero-tag .pulse{background:#4ade80;box-shadow:0 0 0 4px rgba(74,222,128,.15);}
.hero .hero-features-strip{
  background:rgba(255,255,255,.11);
  border-color:rgba(255,255,255,.18);
  box-shadow:0 2px 18px rgba(0,0,0,.22);
}
.hero .hfs-item{color:rgba(255,255,255,.95);font-size:.88rem;}
.hero .hfs-sep{background:rgba(255,255,255,.22);}
.hero .hero-proof-item{
  background:rgba(255,255,255,.09);
  border-color:rgba(255,255,255,.13);
  color:rgba(255,255,255,.76);
}
.hero .hero-stats{border-top-color:rgba(255,255,255,.1);}
.hero .hstat .n{
  color:#fff;
  background:none;
  -webkit-text-fill-color:#fff;
  text-shadow:0 0 24px rgba(200,134,10,.28);
}
.hero .hstat .l{color:rgba(255,255,255,.72);font-size:.82rem;}
.hero .hstat-div{background:rgba(255,255,255,.12);}

/* Image hero — premium sur fond sombre */
.hero-art{
  border-color:rgba(200,134,10,.22);
  box-shadow:0 32px 90px rgba(0,0,0,.45),0 0 0 1px rgba(200,134,10,.1),0 8px 24px rgba(0,0,0,.22);
}

/* Mini tutor cards — fond clair sur bg sombre */
.mini-tutor{
  background:rgba(255,255,255,.96);
  border-color:rgba(255,255,255,.2);
  box-shadow:0 16px 42px rgba(0,0,0,.3),0 4px 12px rgba(0,0,0,.18);
}

/* ── 2. GRADIENT BORDERS — matière luxueuse sur les cartes ── */

/* Plan featured : contour or dégradé */
.plan-featured,.plan-card.featured{
  background:
    linear-gradient(#fffdf8,#fff) padding-box,
    linear-gradient(150deg,rgba(200,134,10,.65) 0%,rgba(232,160,32,.18) 50%,rgba(200,134,10,.5) 100%) border-box;
  border:1.5px solid transparent;
}
.plan-featured:hover,.plan-card.featured:hover{
  background:
    linear-gradient(#fffcf4,#fff) padding-box,
    linear-gradient(150deg,var(--gold) 0%,rgba(245,200,66,.45) 50%,var(--gold) 100%) border-box;
  border:1.5px solid transparent;
}

/* Why-cards : contour or subtil au hover */
.why-card:hover{
  background:
    linear-gradient(var(--white),var(--white)) padding-box,
    linear-gradient(135deg,rgba(200,134,10,.38) 0%,rgba(200,134,10,.06) 65%) border-box;
  border:1px solid transparent;
}

/* Tutor cards : contour or au hover */
.tutor-card:hover{
  background:
    linear-gradient(var(--white),var(--white)) padding-box,
    linear-gradient(135deg,rgba(200,134,10,.32) 0%,rgba(200,134,10,.05) 70%) border-box;
  border:1px solid transparent;
}

/* Step cards : contour or au hover */
.step:hover{
  background:
    linear-gradient(var(--white),var(--white)) padding-box,
    linear-gradient(135deg,rgba(200,134,10,.3) 0%,rgba(200,134,10,.04) 72%) border-box;
  border:1px solid transparent;
}

/* FAQ open : contour or subtil */
.faq-item[open]{
  background:
    linear-gradient(#fff,#fff) padding-box,
    linear-gradient(150deg,rgba(200,134,10,.28) 0%,rgba(200,134,10,.04) 60%) border-box;
  border:1px solid transparent;
}

/* About copy card */
.about-copy:hover{
  background:
    linear-gradient(var(--white),var(--white)) padding-box,
    linear-gradient(135deg,rgba(200,134,10,.22) 0%,rgba(200,134,10,.03) 70%) border-box;
  border:1px solid transparent;
  transition:var(--tr);
}

/* ── 3. FINAL CTA & FOOTER — plus sombres, plus nobles ── */
.final-cta{
  background:linear-gradient(145deg,#020d06 0%,#041e14 35%,#062e1f 65%,#0a3d28 100%);
}
footer{
  background:linear-gradient(180deg,#020d06 0%,#030f08 100%);
  border-top:1px solid rgba(200,134,10,.14);
}

/* ── 4. STAT CARDS — backdrop-filter premium ── */
.stat-card{
  backdrop-filter:blur(14px) saturate(1.5);
  -webkit-backdrop-filter:blur(14px) saturate(1.5);
}
.stat-card .stat-num{
  text-shadow:0 0 30px rgba(200,134,10,.22);
}

/* ── 5. SECTION TUTEURS — parchemin profond ── */
.tutors-bg{
  background:linear-gradient(180deg,var(--cream2) 0%,#ede3d2 100%);
}

/* ── 6. MODAL — écrin plus haut de gamme ── */
.modal{
  box-shadow:0 60px 120px rgba(6,46,31,.3),0 20px 40px rgba(6,46,31,.18),0 0 0 1px rgba(6,46,31,.04);
}

/* ── 7. SECTION ABOUT — liseret or sur card ── */
.about-copy{
  border-top:2px solid rgba(200,134,10,.18);
}

/* ── 8. SEARCH BAR — plus de profondeur ── */
.search-bar{
  box-shadow:0 14px 44px rgba(6,46,31,.14),0 3px 10px rgba(6,46,31,.07);
}

/* ── Responsive v6 ── */
@media(max-width:900px){
  .hero .hero-features-strip{border-radius:18px;}
}

/* ══════════════════════════════════════════════════════════════════════
   MOBILE UX — petits écrans (≤ 480px) et très petits (≤ 360px)
   ══════════════════════════════════════════════════════════════════════ */

@media(max-width:600px){
  /* Footer : 1 colonne dès 600px */
  .footer-top{grid-template-columns:1fr !important;gap:1.8rem;padding-top:2.5rem;padding-bottom:2rem;}
}

@media(max-width:480px){
  /* Espacement horizontal réduit */
  .inner{padding:0 1rem;}

  /* Sections moins hautes */
  .section{padding:2.5rem 0;}
  .stats-section{padding:3rem 0;}
  .final-cta{padding:4.5rem 0;}

  /* Hero */
  .hero{padding:6.5rem 0 3.5rem;}
  .hero-stats{gap:1rem;margin-top:2.5rem;padding-top:1.6rem;}
  .hero-cta-row{gap:.65rem;}

  /* Cacher les blobs décoratifs (perf + pas de débordement) */
  .hb1,.hb2{display:none;}

  /* Cartes et panneaux */
  .about-copy{padding:1.5rem;}
  .tc-visual{padding:1.5rem;}
  .faq-item{padding:1.1rem 1.2rem;}
  .step{padding:1.5rem;}

  /* Grilles */
  .faq-grid{gap:.75rem;}
  .tutors-grid{gap:1rem;}
  .why-grid{gap:1rem;}
  .stats-grid{grid-template-columns:1fr 1fr;gap:.85rem;}

  /* Footer : une seule colonne sur mobile */
  .footer-top{grid-template-columns:1fr !important;gap:2rem;padding-top:2.5rem;padding-bottom:2rem;}

  /* Boutons : légèrement moins de padding */
  .btn-gold,.btn-primary{padding:.82rem 1.8rem;}
  .btn-outline,.btn-outline-gold,.btn-secondary-hero{padding:.82rem 1.8rem;}

  /* Modal */
  .modal{padding:1.5rem 1.2rem;border-radius:18px;}

  /* Formulaire */
  .ff label{word-break:break-word;}
  .faq-item summary{word-break:break-word;}

  /* How it works tabs */
  .hw-tabs{flex-wrap:wrap;}
  .hw-tab{padding:.55rem 1.4rem;}
}

@media(max-width:360px){
  /* Espacement encore plus réduit */
  .inner{padding:0 .85rem;}

  /* Typographie */
  h1{font-size:clamp(1.85rem,8.5vw,2.4rem);}
  h2{font-size:clamp(1.4rem,7vw,1.85rem);}

  /* Hero */
  .hero{padding:5.5rem 0 3rem;}

  /* Modal encore plus compact */
  .modal{padding:1.1rem 1rem;border-radius:14px;}

  /* Cards */
  .about-copy{padding:1.1rem;}
  .faq-item{padding:.9rem 1rem;}
  .faq-item summary{font-size:.88rem;}
  .tc-visual{padding:1.1rem;}

  /* Proof items */
  .hero-proof-item{font-size:.68rem;padding:.28rem .55rem;}

  /* Feature strip : trop étroite sous 360px */
  .hero-features-strip{display:none;}

  /* Sticky bar */
  .sticky-cta-mobile{gap:.4rem;padding:.75rem 1rem;}
}

