/* Les Échecs — palette et composants communs à toutes les pages. */
:root{--bg:#fbfaf7;--surface:#fffdf8;--surface-2:#f4eee3;--text:#292018;--muted:#6b5e53;--brand:#3a1706;--brand-2:#843f19;--gold:#edbc68;--line:#e8dccd;--radius:18px;--shadow:0 12px 32px #3a17060b;--max:1160px;--chess-brown:#843f19;--chess-brown-dark:#3a1706;--chess-copper:#843f19;--chess-muted:#6b5e53}
.site-page{background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.7}
.site-page [hidden]{display:none!important}
.site-page :is(a,button,input,summary):focus-visible{outline:3px solid #ab641d;outline-offset:4px}
.site-page :is(section,article,main,h2)[id]{scroll-margin-top:110px}
.site-page :is(button,input){font:inherit}
.site-page :is(h1,h2,h3,p){overflow-wrap:break-word}
.site-page :is(h1,h2){font-family:Georgia,"Times New Roman",serif;letter-spacing:-.025em}
.site-page :is(.page-hero,.course-hero,.home-hero,.ex-hero){background:radial-gradient(ellipse at 87% 32%,#f2d5a455,transparent 60%);border-bottom:1px solid var(--line);padding:52px 0 62px}
.site-page :is(.home-hero,.course-hero)::after{display:none}
.site-page :is(.page-hero,.course-hero,.home-hero,.ex-hero) h1{color:var(--brand);font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.3rem,4.8vw,4.4rem);font-weight:700;line-height:1.09;letter-spacing:-.035em;margin:0 0 22px}
.site-page :is(.home-hero h1 span,.course-hero h1 span,.ex-hero h1 em){color:var(--brand-2)}
.site-page :is(.page-lead,.course-hero-lead,.home-hero-lead,.ex-lead){color:var(--muted);font-size:1.08rem;line-height:1.75;max-width:720px}
.site-page :is(.kicker,.eyebrow,.ex-kicker){color:var(--brand-2);font-weight:800;font-size:.74rem;letter-spacing:.13em;text-transform:uppercase}
.site-page .page-hero-inner{max-width:1160px;padding:0}
.site-page .breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding-block:19px;margin-bottom:0;font-size:.83rem;color:#786657}
.site-page .breadcrumb a{text-underline-offset:4px}
.site-page .site-header{position:sticky;top:0;z-index:50;border-bottom:1px solid var(--line);background:rgba(251,250,247,.96);backdrop-filter:blur(14px)}
.site-page .header-inner{position:relative;display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:88px}
.site-page .brand{display:block;flex:0 0 158px;width:158px}
.site-page .brand img{display:block;width:100%;height:auto}
.site-page .main-nav{position:static;display:flex;align-items:center;flex-wrap:nowrap;gap:20px;padding:0;background:transparent;border:0;box-shadow:none;max-height:none;overflow:visible;visibility:visible;opacity:1;transform:none}
.site-page .main-nav a{display:inline-flex;align-items:center;gap:5px;padding:10px 0;color:#514032;font-size:.83rem;font-weight:650;line-height:1.4;white-space:nowrap;text-decoration:none;border:0}
.site-page .main-nav a:hover,.site-page .main-nav a[aria-current=page]{color:var(--brand);text-decoration:underline;text-decoration-color:#bc8436;text-underline-offset:7px}
.site-page .main-nav .nav-coaching{padding:10px 15px;border:1px solid #dbc3a5;border-radius:8px;color:var(--brand);background:#f5ebda}
.site-page .main-nav .nav-private{font-size:.77rem;color:#76604c}
.site-page .menu-toggle{display:none;min-height:44px;padding:9px 13px;border:1px solid #d8c6af;border-radius:8px;background:#fffaf2;color:var(--brand);font-weight:700;cursor:pointer}
.site-page .btn,.site-page .ex-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:13px 21px;border-radius:10px;font-size:.92rem;font-weight:750;line-height:1.4;border:1px solid transparent;text-decoration:none;cursor:pointer;transition:background .16s,box-shadow .16s}
.site-page .btn:hover,.site-page .ex-btn:hover{transform:none;box-shadow:0 5px 16px #3a17061a}
.site-page .btn-primary,.site-page .btn-dark,.site-page .ex-btn-brown{background:#3a1706;color:#fff8ee;border-color:#3a1706}
.site-page .btn-primary:hover,.site-page .btn-dark:hover{background:#632d11}
.site-page .btn-accent,.site-page .ex-btn-gold{background:#efc174;color:#321607;border-color:#e3ae59}
.site-page .btn-ghost,.site-page .btn-secondary,.site-page .ex-btn-light{background:#fffdf8;color:#3a1706;border-color:#d8c6af}
.site-page .hero-actions,.site-page .cta-row{display:flex;align-items:center;flex-wrap:wrap;gap:12px}
.site-page :is(.card,.mini-card,.content-card,.about-card,.quote-card,.hero-roadmap,.home-learning-card){border-color:var(--line);border-radius:18px}
.site-page :is(.card,.mini-card,.content-card,.about-card){background:#fffdf8}
.site-page :is(.mini-card h2,.mini-card h3,.content-card h2,.about-card h2){font-family:Georgia,"Times New Roman",serif;line-height:1.23;color:var(--brand)}
.site-page .mini-card h2{font-size:1.45rem;margin:15px 0 10px}
.site-page .grid-2,.site-page .grid-3{display:grid;gap:24px;min-width:0}
.site-page .grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.site-page .grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.site-page .mini-card{padding:26px;border:1px solid var(--line);box-shadow:var(--shadow)}
.site-page .mini-card h3{font-size:1.45rem;margin:16px 0 12px}
.site-page .mini-card p{margin:0;color:var(--muted)}
.site-page .pill{display:inline-block;padding:4px 9px;border:1px solid #e0cdb2;border-radius:6px;background:#f6eddf;color:#784d28;font-size:.73rem;font-weight:750}
.site-page .card:not(.legal){padding:32px;border:1px solid var(--line);border-radius:18px}
.site-page .quote-card{padding:30px;border:1px solid var(--line);border-left:4px solid #ca8b36;background:#f4ebdc}
.site-page .quote-card p{margin-top:0}
.site-page .topic-list{margin-top:28px}
.site-page .topic-row{display:grid;grid-template-columns:1fr 1fr;gap:22px;padding:19px 0;border-bottom:1px solid var(--line)}
.site-page .topic-row span{color:var(--muted);font-size:.91rem}
.site-page .training-form-card{background:#fffdf8;color:var(--text);border:1px solid #dfcbaa;box-shadow:var(--shadow)}
.site-page .training-form-card h3{color:var(--brand)}
.site-page .training-form-card>p{color:var(--muted)}
.site-page .home-site-card{min-width:0;overflow-wrap:anywhere}
.site-page .two-level-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.site-page .level-card,.site-page .level-head>div{min-width:0}
.site-page .video-course-section{background:radial-gradient(ellipse at 90% 0,#6d351c66,transparent 65%),linear-gradient(140deg,#261209,#160c07)}
.site-page .video-lesson,.site-page .featured-video{background:#472817;border-color:#d7a66633}
.site-page .video-lesson h3{font-family:Georgia,"Times New Roman",serif}
.site-page .video-course-section .kicker,.site-page .level-card-dark .kicker,.site-page .home-method-section .kicker{color:#efc174}
.site-page .grid-2>* ,.site-page .grid-3>*{min-width:0}
.site-page .section{margin-top:40px;margin-bottom:40px}
.site-page :is(.course-section,.home-section,.ex-section){padding-block:54px}
.site-page .shared-section{margin-block:56px}
.site-page .coaching-banner{display:grid;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:26px;padding:36px;background:linear-gradient(115deg,#3a1d0f,#241309);border:1px solid #5c3821;border-radius:20px;color:#f8ebdb}
.coaching-symbol{display:grid;place-items:center;width:64px;height:72px;font:60px/1 Georgia,serif;color:#edbc68}
.site-page .coaching-banner .kicker{color:#efc174;margin:0 0 10px}
.site-page .coaching-banner h2{margin:0 0 12px;font-size:clamp(1.6rem,2.6vw,2.1rem);line-height:1.17;color:#fff6e9}
.site-page .coaching-banner p:not(.kicker){margin:0;color:#e2cdb9;font-size:.94rem;max-width:650px}
.site-page .coaching-banner .btn{max-width:240px}
.site-page .capture-section{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,1fr);gap:48px;align-items:center;padding:42px;border:1px solid #dfcbaa;border-radius:20px;background:#f6eddf;box-shadow:none}
.site-page .capture-copy h2{color:var(--brand);margin:0 0 18px;font-size:clamp(1.8rem,3vw,2.5rem);line-height:1.15}
.site-page .capture-copy>p:not(.kicker){color:#665340}
.site-page .capture-benefits{display:flex;gap:8px 18px;flex-wrap:wrap;list-style:none;padding:0;font-size:.8rem;font-weight:700;color:#674421}
.capture-benefits li::before{content:'✓';margin-right:5px}
.site-page .already-member{font-size:.84rem;margin-top:26px}
.site-page .capture-form{min-width:0;padding:26px;border:1px solid #e8dccb;border-radius:14px;background:#fffdf8}
.site-page .capture-form h3{font-size:1.24rem;font-family:Georgia,serif;color:var(--brand);margin:0 0 20px}
.site-page .site-footer{padding-block:40px;margin-top:50px;border-top:1px solid var(--line);background:#f1e9de;color:#665340}
.site-page .footer-inner{display:flex;justify-content:space-between;align-items:flex-start;gap:30px}
.site-page .footer-brand{font:700 1.65rem/1.1 Georgia,serif;text-decoration:none;color:var(--brand)}
.site-page .footer-inner p{margin:10px 0;font-size:.84rem}
.site-page .footer-inner small{font-size:.72rem}
.site-page .footer-inner nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:14px 22px;max-width:570px}
.site-page .footer-inner nav a{font-size:.8rem;color:#5c4939;text-underline-offset:4px}
.site-page .legal{max-width:980px;padding:clamp(23px,4vw,48px);margin-top:14px}
.site-page .legal h1{color:var(--brand);font-size:clamp(2rem,4vw,3.2rem);line-height:1.15}
.site-page .legal h2{font-size:clamp(1.45rem,2vw,1.8rem);line-height:1.25;color:var(--brand)}
.site-page .legal h3{color:var(--brand);line-height:1.35}
.site-page .legal-toc{background:#f6eddf;border-color:var(--line)}
.site-page .legal-section{scroll-margin-top:110px}
.site-page .legal-contact,.site-page .legal-notice{background:#f6eddf;border-color:#dec59f;color:#58422b}
.site-page .consent-video{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;aspect-ratio:16/9;width:100%;min-width:0;overflow:hidden;background:radial-gradient(ellipse at 25% 10%,#754724,#26150c);color:#fff6e8}
.site-page .video-accept{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;width:100%;flex:1;padding:22px 18px 40px;background:transparent;color:#fff6e8;border:0;cursor:pointer;font-weight:700;font-size:.92rem;text-align:center}
.site-page .video-accept small{font-size:.68rem;color:#e8d2bc;font-weight:400;max-width:330px}
.site-page .video-glyph{display:grid;place-items:center;width:48px;height:48px;background:#f1be70;border-radius:50%;color:#3a1706;font-size:18px;padding-left:3px}
.site-page .video-external{position:absolute;bottom:12px;left:16px;color:#efc174;font-size:.73rem;text-underline-offset:3px;z-index:2}
.site-page .consent-video iframe{position:absolute;inset:0;width:100%;height:calc(100% - 36px);border:0}
.site-page .video-close{position:absolute;right:10px;bottom:5px;background:transparent;color:#fff4e5;border:0;font-size:.72rem;text-decoration:underline;padding:4px;cursor:pointer;z-index:2}
.site-page .consent-video.is-loaded .video-external{bottom:8px}
.site-page .ex-puzzle-stage.is-loaded[data-provider=shredder]{width:min(312px,100%);max-width:100%;overflow:auto}
.site-page .coaching-topics{margin-top:28px}
.site-page .coach-contact{display:grid;grid-template-columns:1.2fr 1fr;gap:44px;align-items:center}
.site-page .coach-contact h2{font-size:clamp(1.9rem,3vw,2.5rem);line-height:1.18;color:var(--brand)}
.site-page .coach-contact-card{display:flex;align-items:center;flex-direction:column;gap:15px;padding:32px;border:1px solid #dec59f;border-radius:18px;background:#f6eddf;text-align:center;min-width:0}
.site-page .coach-contact-card h3,.site-page .coach-contact-card p{margin:0}
.site-page .coach-contact-card p{font-size:.8rem;color:#715940}
.site-page .contact-address{overflow-wrap:anywhere;font-size:.9rem}
@media(max-width:1050px){.site-page .main-nav{gap:12px}.site-page .main-nav a{font-size:.77rem}.site-page .brand{flex-basis:140px;width:140px}.site-page .header-inner{gap:16px}.site-page .coaching-banner{grid-template-columns:48px minmax(0,1fr)}.site-page .coaching-banner>.btn{grid-column:2;justify-self:start}}
@media(max-width:900px){.site-page .header-inner{min-height:78px;flex-wrap:wrap;padding-block:8px}.site-page .brand{width:142px;flex-basis:142px}.js .site-page .menu-toggle{display:inline-flex;gap:12px;align-items:center}.site-page .main-nav{flex:0 0 100%;flex-wrap:wrap;padding:12px 0;gap:6px 24px}.site-page .main-nav a{font-size:.9rem}.js .site-page .main-nav{display:none}.js .site-page .main-nav.is-open{display:flex}.site-page .capture-section{gap:26px;padding:28px}.site-page .coaching-banner{padding:28px}.site-page :is(section,article,main,h2)[id]{scroll-margin-top:100px}}
@media(max-width:700px){.site-page .container{width:calc(100% - 32px)}.site-page .capture-section,.site-page .coach-contact{grid-template-columns:minmax(0,1fr)}.site-page .capture-section{padding:24px;gap:22px}.site-page .capture-form{padding:22px}.site-page .shared-section{margin-block:38px}.site-page .coaching-banner{grid-template-columns:minmax(0,1fr);gap:20px}.site-page .coaching-banner>.coaching-symbol{display:none}.site-page .coaching-banner>.btn{grid-column:auto;max-width:none}.site-page :is(.home-hero,.course-hero,.page-hero,.ex-hero){padding:34px 0 42px}.site-page :is(.course-section,.home-section,.ex-section){padding-block:38px}.site-page .footer-inner{flex-direction:column;gap:24px}.site-page .footer-inner nav{justify-content:flex-start}.site-page .grid-3,.site-page .grid-2{grid-template-columns:minmax(0,1fr)}.site-page .section{margin-block:28px}.site-page .legal{padding:24px}.site-page .consent-video{min-height:225px}.site-page .hero-actions .btn{width:auto;max-width:100%}.site-page .coaching-banner .btn{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{transition:none!important;animation:none!important}}
@media(max-width:700px){.site-page .topic-row{grid-template-columns:minmax(0,1fr);gap:8px}.site-page .home-sites-grid,.site-page .two-level-grid{grid-template-columns:minmax(0,1fr)}.site-page .level-head{align-items:flex-start}.site-page .level-head h2{overflow-wrap:anywhere}}
