:root{--bg:#f5f6f7;--bg-elevated-2:#edf0f2;--border:#d5dce2;--border-soft:#e1e6eb;--shadow-card:0 8px 24px -16px #17304435}[data-theme=dark]{--bg:#0c121b;--bg-elevated-2:#1a2432;--border:#344358;--border-soft:#263347}.site-header{background:var(--surface);box-shadow:0 2px 16px #11283b07}.site-header .nav-links__connexion{border-radius:7px}.page-hero.page-hero{background:var(--bg);color:var(--text);text-align:left;border-bottom:1px solid var(--border-soft)}.page-hero:has(>.container){padding:clamp(32px,4vw,52px) 0}.page-hero>.container{max-width:1280px}.page-hero h1{color:var(--text);font-size:clamp(2rem,4vw,3.4rem);letter-spacing:-.025em;line-height:1.13;margin:10px 0 16px;text-wrap:balance;overflow-wrap:anywhere}.page-hero .eyebrow{color:var(--accent);font-size:.875rem;letter-spacing:.09em;line-height:1.5}.page-hero p{color:var(--text-dim);max-width:70ch;margin-inline:0;font-size:1.05rem;line-height:1.65}.public-hero-v3--compact{padding:0 0 28px;margin-bottom:30px;border-radius:0}.page-hero :is(.puzzles-hero__stats,.ouvertures-hero__stats,.bots-hero__repères){justify-content:flex-start}.page-hero :is(.puzzles-hero__stats,.ouvertures-hero__stats) span{background:var(--surface);color:var(--text-dim);border-color:var(--border);border-radius:6px;font-size:.875rem}.public-hero-v3 .soutiens-raccourcis a{color:var(--text);background:var(--surface);border-color:var(--border)}.public-hero-v3 .soutiens-raccourcis a>span{color:var(--accent);background:var(--accent-soft)}.public-hero-v3 .soutiens-raccourcis a:hover{background:var(--bg-elevated-2)}.site-footer{border-top-width:3px}.page-hero.public-hero-v3--editorial{padding:32px 0 0;margin-bottom:24px;border:0}.public-hero-v3--editorial>.container{max-width:1200px}.public-hero-v3__panel{display:grid;grid-template-columns:minmax(0,1fr);gap:24px 48px;align-items:center;padding:clamp(24px,4vw,48px);border:1px solid var(--border-soft);border-radius:24px;background:var(--surface)}.public-hero-v3__copy{min-width:0}.learning-hero__copy:before,.public-hero-v3__copy:before{content:"";display:block;width:44px;height:3px;background:var(--accent);margin-bottom:24px;border-radius:2px}.public-hero-v3--editorial .eyebrow{font-size:.74rem;font-weight:750;letter-spacing:.13em}.public-hero-v3--editorial h1{font-size:clamp(2.35rem,4.6vw,3.65rem);line-height:1.08;letter-spacing:-.04em;margin:16px 0 20px}.public-hero-v3--editorial p{font-size:1rem;line-height:1.8;max-width:65ch}.public-hero-v3__extras{grid-column:1/-1;min-width:0;padding-top:20px;border-top:1px solid var(--border-soft)}.public-hero-v3__extras>:first-child{margin-top:0}main:has(>.public-hero-v3--editorial)>.section{padding-block:40px;border-top:0}main:has(>.public-hero-v3--editorial)>.section>.container{max-width:1200px}main:has(>.public-hero-v3--editorial)>.section>.colonne-lecture{max-width:880px}main:has(>.public-hero-v3--editorial)>.section h2{font-family:var(--font-display);font-size:clamp(1.65rem,2.8vw,2.35rem);line-height:1.2;letter-spacing:-.025em}main:has(>.public-hero-v3--editorial)>.section .card{border-radius:16px;border-color:var(--border-soft);background:var(--surface)}main:has(>.public-hero-v3--editorial)>.section .btn{border-radius:9px;min-height:44px}main:has(>.public-hero-v3--editorial)>.section .btn--primary{background:#773440;color:#fff}main:has(>.public-hero-v3--editorial)>.section .btn--primary:hover{background:#592631}main:has(>.public-hero-v3--editorial) .article-body{padding:clamp(22px,4vw,42px);background:var(--surface);border:1px solid var(--border-soft);border-radius:18px;line-height:1.85;overflow-wrap:anywhere}main:has(>.public-hero-v3--editorial) .article-body h2{margin:1.5em 0 .7em}main:has(>.public-hero-v3--editorial) .article-body h3{font-size:1.35rem;margin:1.4em 0 .6em}main:has(>.public-hero-v3--editorial) .article-body>:first-child{margin-top:0}@media (max-width:760px){.public-hero-v3__panel{grid-template-columns:minmax(0,1fr);border-radius:18px;gap:20px}.page-hero.public-hero-v3--editorial{padding-top:20px}.public-hero-v3--editorial h1{font-size:clamp(2.15rem,7vw,3rem)}main:has(>.public-hero-v3--editorial)>.section{padding-block:28px}}@media (max-width:600px){.page-hero:has(>.container){padding-block:28px}.page-hero h1{font-size:clamp(2rem,8vw,2.5rem);margin-bottom:12px}.page-hero p{font-size:1rem}}