:root{--paper:#f8f4eb;--ink:#080808;--red:#bd1117;--rule:#202020;--muted:#4d4943}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Georgia,'Times New Roman',serif}a{color:inherit;text-decoration:none}.wrap{width:calc(100% - 80px);max-width:1500px;margin:auto}.type{font-family:'American Typewriter','Courier New',monospace}.top{height:92px}.mast{height:116px;display:grid;grid-template-columns:310px 215px 1fr 142px;align-items:center;border-bottom:1px solid #56616a;gap:0}.brand{font-size:40px;line-height:.86;font-weight:700;letter-spacing:-1.7px;position:relative;padding-left:14px}.brand:after{content:'';position:absolute;left:16px;bottom:-18px;width:72px;height:5px;background:var(--red);transform:rotate(-6deg);border-radius:50%}.tag{border-left:1px solid var(--rule);border-right:1px solid var(--rule);padding:5px 20px;font-size:14px;line-height:1.35}.nav{height:100%;display:flex;align-items:center;justify-content:center;gap:29px;font-size:14px;white-space:nowrap}.nav a{height:100%;display:flex;align-items:center;position:relative}.nav a.active{color:var(--red)}.nav a.active:after{content:'';position:absolute;bottom:32px;left:0;right:0;height:4px;background:var(--red)}.search{height:42px;border-left:1px solid var(--rule);display:flex;align-items:center;justify-content:center;font-size:29px}.contact{justify-self:end;background:var(--red);color:#fff;padding:13px 20px;border-radius:2px;font-size:16px;white-space:nowrap}.hero{display:grid;grid-template-columns:56.5% 43.5%;min-height:578px;border-bottom:1px solid var(--rule);padding:19px 0 20px}.hero-copy{padding:26px 34px 0 18px}.kicker,.eyebrow{font-family:'American Typewriter','Courier New',monospace;text-transform:uppercase;letter-spacing:3px;color:var(--red);font-size:14px;font-weight:700}.hero h1{font-size:71px;line-height:1.02;letter-spacing:-3px;margin:28px 0 22px;font-weight:700}.dash{font-size:45px;line-height:.65;margin:0 0 25px}.manifesto{font-size:31px;line-height:1.24;margin:0;max-width:760px}.actions{display:flex;gap:20px;margin-top:54px}.btn{height:62px;display:flex;align-items:center;justify-content:space-between;border:1px solid var(--ink);padding:0 31px;min-width:333px;font-size:21px}.btn.red{background:var(--red);border-color:var(--red);color:#fff}.manuscript{margin:0 4px 0 0;align-self:start;height:535px;background:url('recueillement-reference.png') center/cover no-repeat}.strip{display:grid;grid-template-columns:36% 30% 34%;height:282px}.feature{position:relative;padding:29px 28px 22px 8px;overflow:hidden}.feature+.feature{border-left:1px solid var(--rule);padding-left:25px}.feature h2{font-size:28px;line-height:1.05;margin:18px 0 13px;font-weight:400;max-width:330px}.feature h2 em{font-size:30px}.feature p{font-size:16px;line-height:1.42;max-width:290px;margin:0}.feature .more{position:absolute;left:8px;bottom:28px;color:var(--red);font-size:17px}.feature+.feature .more{left:25px}.feature.hasimg{padding-right:205px}.cardimg{position:absolute;right:28px;top:42px;width:205px;height:220px;object-fit:cover}.feature:nth-child(2){padding-right:165px}.feature:nth-child(2) .cardimg{width:130px;height:200px;top:30px;right:20px}.feature:nth-child(3){padding-right:175px}.feature:nth-child(3) .cardimg{width:145px;height:230px;top:29px;right:0}.footer{display:none}
/* method page */
.pagehead{display:grid;grid-template-columns:1.1fr .72fr;gap:70px;padding:60px 18px 50px;border-bottom:1px solid var(--rule)}.pagehead h1{font-size:66px;line-height:1;letter-spacing:-2.5px;margin:18px 0 20px}.lede{font-size:27px;line-height:1.28}.side-note{border-left:1px solid var(--rule);padding-left:32px;align-self:end}.side-note p{font-size:19px;line-height:1.45}.method-section{padding:58px 18px;border-bottom:1px solid var(--rule)}.method-grid{display:grid;grid-template-columns:300px 1fr;gap:70px}.method-grid h2{font-size:38px;line-height:1.05;margin:10px 0}.prose{max-width:850px}.prose p{font-size:21px;line-height:1.55}.formula{font-family:'American Typewriter','Courier New',monospace;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:24px 0;margin:30px 0;font-size:24px}.aphorism-callout{display:grid;grid-template-columns:.72fr 1.28fr;gap:34px;background:#eee4d3;padding:30px;margin-top:34px}.aphorism-callout .big{font-size:34px;line-height:1.15}.exercise-wrap{padding:60px 18px}.exercise-intro{display:grid;grid-template-columns:1fr 1fr;gap:70px;margin-bottom:38px}.exercise-intro h2{font-size:44px;line-height:1;margin:10px 0}.exercise-intro p{font-size:18px;line-height:1.45}.exercise{border-top:1px solid var(--rule);padding:34px 0 15px}.quote{font-size:27px;line-height:1.3;max-width:980px;margin-bottom:25px}.author{font-family:'American Typewriter','Courier New',monospace;font-size:13px;letter-spacing:2px;text-transform:uppercase;color:var(--muted)}.choices{display:grid;gap:10px;max-width:1050px;margin-top:22px}.choice{font:inherit;text-align:left;background:transparent;border:1px solid #777;padding:16px 18px;font-size:17px;cursor:pointer}.choice:hover{border-color:var(--red)}.choice.correct{background:#e6ecdf;border-color:#596d49}.choice.wrong{background:#f2dfdb;border-color:#9b4c43}.feedback{display:none;margin-top:14px;padding:18px 20px;border-left:4px solid var(--red);background:#eee5d5;font-size:17px;line-height:1.45;max-width:1050px}.feedback.show{display:block}.next{display:inline-block;margin-top:28px;color:var(--red);font-size:18px}
@media(max-width:1050px){.wrap{width:calc(100% - 32px)}.mast{grid-template-columns:1fr auto}.tag,.nav,.search{display:none}.brand{font-size:34px}.hero{grid-template-columns:1fr;min-height:auto}.hero-copy{padding:35px 10px}.hero h1{font-size:52px}.manifesto{font-size:24px}.manuscript{height:440px;margin:0}.actions{flex-direction:column}.btn{min-width:0;width:100%}.strip{grid-template-columns:1fr;height:auto}.feature{min-height:280px;border-top:1px solid var(--rule)}.feature+.feature{border-left:0}.pagehead,.method-grid,.exercise-intro{grid-template-columns:1fr}.aphorism-callout{grid-template-columns:1fr}}

/* Étude de texte — Le Joujou du pauvre */
.text-study{max-width:1180px;margin:0 auto;padding:72px 28px 100px}.study-head{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr);gap:72px;border-bottom:1px solid #1b1b18;padding-bottom:42px;margin-bottom:52px}.study-kicker{font-family:'Courier New',monospace;text-transform:uppercase;letter-spacing:.16em;font-size:12px;color:#8d241c;margin-bottom:18px}.study-head h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(48px,6vw,82px);line-height:.94;margin:0 0 18px}.study-author{font-family:'Courier New',monospace;letter-spacing:.14em;text-transform:uppercase;font-size:13px}.study-intro{align-self:end;font-family:Georgia,'Times New Roman',serif;font-size:21px;line-height:1.45}.literary-text{max-width:760px;margin:0 auto 70px}.literary-text .label,.method-path .label{font-family:'Courier New',monospace;text-transform:uppercase;letter-spacing:.16em;font-size:12px;color:#8d241c;margin-bottom:22px}.literary-text p{font-family:Georgia,'Times New Roman',serif;font-size:19px;line-height:1.72;margin:0 0 20px}.literary-text .source{font-size:14px;line-height:1.5;margin-top:30px}.notes{font-size:14px!important;line-height:1.55!important;border-top:1px solid #aaa;padding-top:18px}.method-path{border-top:1px solid #1b1b18;padding-top:44px;max-width:980px;margin:0 auto}.method-path h2{font-family:Georgia,'Times New Roman',serif;font-size:42px;font-weight:400;margin:0 0 28px}.formula{font-family:'Courier New',monospace;font-size:20px;letter-spacing:.04em;margin:25px 0 36px}.method-step{display:grid;grid-template-columns:80px 1fr;gap:22px;padding:24px 0;border-top:1px solid #c8c0b5}.method-step .stepmark{font-family:'Courier New',monospace;color:#8d241c;font-weight:bold}.method-step h3{font-family:Georgia,'Times New Roman',serif;font-size:25px;font-weight:400;margin:0 0 8px}.method-step p{margin:0;font-size:17px;line-height:1.55}.study-back{display:inline-block;margin-top:44px;font-family:'Courier New',monospace;color:inherit;text-decoration:none;border-bottom:1px solid #8d241c;padding-bottom:4px}@media(max-width:760px){.study-head{grid-template-columns:1fr;gap:30px}.study-head h1{font-size:52px}.literary-text p{font-size:18px}.method-step{grid-template-columns:52px 1fr}}
/* coherent secondary pages */
.library-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;border-top:1px solid var(--rule)}.library-card{padding:34px 30px 36px 0;min-height:310px;position:relative}.library-card+.library-card{border-left:1px solid var(--rule);padding-left:30px}.library-card h2{font-size:34px;font-weight:400;line-height:1.05;margin:20px 0 18px}.library-card p{font-size:18px;line-height:1.5;max-width:380px}.soon{position:absolute;bottom:30px;font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted)}.principles{display:grid;grid-template-columns:1fr 1fr}.principles article{padding:30px 38px 38px 0;border-top:1px solid var(--rule);min-height:210px}.principles article:nth-child(even){border-left:1px solid var(--rule);padding-left:38px}.principles span{font-family:'American Typewriter','Courier New',monospace;color:var(--red)}.principles h2{font-size:30px;margin:14px 0}.principles p{font-size:18px;line-height:1.5}.course-path{border-top:1px solid var(--rule);max-width:900px}.course-path div{display:grid;grid-template-columns:80px 1fr;padding:20px 0;border-bottom:1px solid #b9b0a3;font-size:21px}.course-path b{font-family:'American Typewriter','Courier New',monospace;color:var(--red)}.course-cta{margin-top:35px;width:390px}.contact-clean{max-width:760px;display:grid;gap:24px}.contact-clean label{display:grid;gap:8px;font-family:'American Typewriter','Courier New',monospace;font-size:13px;text-transform:uppercase;letter-spacing:1px}.contact-clean input,.contact-clean select,.contact-clean textarea{font:18px Georgia,'Times New Roman',serif;background:transparent;border:0;border-bottom:1px solid var(--rule);padding:12px 4px;outline:none}.contact-clean textarea{border:1px solid var(--rule);padding:14px}.quiz-next{display:none;margin-top:18px;background:var(--red);color:#fff;border:0;padding:13px 20px;font:16px Georgia,'Times New Roman',serif;cursor:pointer}.quiz-next.show{display:inline-block}@media(max-width:1050px){.library-grid,.principles{grid-template-columns:1fr}.library-card+.library-card,.principles article:nth-child(even){border-left:0;padding-left:0}.library-card{border-top:1px solid var(--rule)}.course-cta{width:100%}}
/* Gammes, annales, diagnostic */
.scale-grid{display:grid;grid-template-columns:repeat(5,1fr);border-bottom:1px solid var(--rule)}.scale-card{min-height:310px;padding:32px 28px;border-right:1px solid var(--rule);border-top:1px solid var(--rule);position:relative}.scale-card:nth-child(4n){border-right:0}.scale-card span{font-family:'American Typewriter','Courier New',monospace;color:var(--red);font-size:13px;letter-spacing:2px}.scale-card h2{font-size:34px;font-weight:400;margin:35px 0 14px}.scale-card p{font-size:17px;line-height:1.45}.scale-card b{position:absolute;bottom:28px;color:var(--red);font-weight:400}.scale-card.dark{background:#181715;color:var(--paper)}.scale-card.concert{background:var(--red);color:#fff}.scale-card.concert span,.scale-card.concert b{color:#fff}.filters{display:flex;gap:8px;padding:28px 18px;border-bottom:1px solid var(--rule);flex-wrap:wrap}.filter{background:transparent;border:1px solid #827d74;padding:10px 15px;font:14px 'American Typewriter','Courier New',monospace;cursor:pointer}.filter.active{background:var(--ink);color:var(--paper)}.annales-grid{display:grid;grid-template-columns:repeat(2,1fr)}.annale{padding:38px 34px 34px 18px;border-bottom:1px solid var(--rule);min-height:330px;position:relative}.annale:nth-child(even){border-left:1px solid var(--rule);padding-left:34px}.annale.featured{background:#eee4d3}.annale-meta,.skill{font:12px 'American Typewriter','Courier New',monospace;letter-spacing:1.4px;color:var(--red)}.annale h2{font-size:36px;line-height:1.05;font-weight:400;margin:20px 0}.annale .question{font-size:18px;line-height:1.45;max-width:570px}.skill{margin-top:25px}.annale-actions{position:absolute;left:18px;right:34px;bottom:28px;display:flex;justify-content:space-between;gap:20px;font-size:15px}.annale:nth-child(even) .annale-actions{left:34px}.annale-actions a{color:var(--red);border-bottom:1px solid var(--red)}.diagnostic{max-width:1000px;padding:55px 18px 90px}.diag-progress{font:13px 'American Typewriter','Courier New',monospace;color:var(--red);letter-spacing:2px;margin-bottom:22px}.diag-question{font-size:36px;line-height:1.12;margin-bottom:28px}.diag-context{font-size:20px;line-height:1.5;background:#eee4d3;padding:22px;margin-bottom:24px}.diag-options{display:grid;gap:10px}.diag-option{background:transparent;border:1px solid #777;padding:17px;text-align:left;font:17px Georgia,'Times New Roman',serif;cursor:pointer}.diag-option:hover{border-color:var(--red)}.diag-result{border-top:1px solid var(--rule);padding-top:35px}.diag-result h2{font-size:44px;margin:0 0 18px}.diag-result .prescription{background:#eee4d3;padding:25px;margin:25px 0;font-size:20px;line-height:1.45}.official-link{display:inline-block;margin-top:15px;color:var(--red);border-bottom:1px solid var(--red);font:14px 'American Typewriter','Courier New',monospace}.bac-work{max-width:1040px;margin:0 auto;padding:48px 0;border-bottom:1px solid var(--rule)}.bac-work>.label{font:12px 'American Typewriter','Courier New',monospace;letter-spacing:2px;color:var(--red)}.bac-work h2{font-size:42px;font-weight:400;margin:18px 0 28px}.work-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.work-card{border:1px solid #9b9488;padding:25px;min-height:200px}.work-card>span{font:14px 'American Typewriter','Courier New',monospace;color:var(--red)}.work-card h3{font-size:27px;font-weight:400;margin:22px 0 10px}.work-card p{font-size:18px;line-height:1.5}.work-card.accent{background:#eee4d3}.reveal-btn{background:transparent;border:0;border-bottom:1px solid var(--red);color:var(--red);padding:0 0 4px;font:15px Georgia,'Times New Roman',serif;cursor:pointer}.hidden-answer{display:none;margin-top:18px;padding-top:18px;border-top:1px solid #aaa;font-size:17px;line-height:1.5}.hidden-answer.show{display:block}.turn{text-align:center;padding:34px}.turn-word{font:17px 'American Typewriter','Courier New',monospace;color:var(--red);letter-spacing:3px}.turn p{font-size:21px}.instruction{font-size:20px}.plan-line{display:grid;grid-template-columns:70px 1fr;border-top:1px solid #aaa;padding:24px 0}.plan-line b{font:26px 'American Typewriter','Courier New',monospace;color:var(--red)}.plan-line strong{font-size:22px;font-weight:400}.plan-line p{font-size:17px;line-height:1.45}.remaining{margin:0 0 0 70px;padding:18px 22px;background:#eee4d3}.remaining span,.chain span{font:11px 'American Typewriter','Courier New',monospace;color:var(--red);letter-spacing:1.5px}.remaining p{margin:8px 0 0;font-size:17px;line-height:1.45}.chain{display:grid;grid-template-columns:1fr 35px 1fr 35px 1fr;align-items:stretch}.chain>div{border:1px solid #999;padding:22px}.chain i{align-self:center;text-align:center;font-size:24px}.chain p{font-size:17px;line-height:1.45}.transfer-box{margin-top:40px;background:#181715;color:var(--paper);padding:32px}.transfer-box h3{font-size:31px;font-weight:400;margin:12px 0}.transfer-box p{font-size:18px;line-height:1.5;max-width:760px}.btn.small{min-width:280px;width:max-content;height:50px;font-size:16px;margin-top:15px}
@media(max-width:1050px){.scale-grid{grid-template-columns:1fr 1fr}.scale-card:nth-child(odd){border-right:1px solid var(--rule)}.scale-card:nth-child(even){border-right:0}.annales-grid{grid-template-columns:1fr}.annale:nth-child(even){border-left:0;padding-left:18px}.annale:nth-child(even) .annale-actions{left:18px}.work-grid,.chain{grid-template-columns:1fr}.chain i{transform:rotate(90deg)}.bac-work{padding-left:10px;padding-right:10px}}@media(max-width:650px){.scale-grid{grid-template-columns:1fr}.scale-card{border-right:0!important}.annale-actions{position:static;margin-top:30px;flex-direction:column}.annale{min-height:0}.work-grid{grid-template-columns:1fr}.remaining{margin-left:0}}
.offer-grid{display:grid;grid-template-columns:2fr 1fr;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);margin-bottom:70px}.offer-main{padding:45px 55px 55px 0}.offer-main h2{font-size:52px;line-height:1.02;font-weight:400;margin:18px 0}.offer-promise{font-size:21px;line-height:1.5;max-width:760px}.price-note{border-left:1px solid var(--rule);padding:48px 0 48px 38px}.price-note .type{font-size:12px;letter-spacing:1.5px;color:var(--red)}.price{font-size:70px;margin:30px 0 15px}.price-note p{font-size:17px;line-height:1.5;margin-bottom:25px}@media(max-width:900px){.offer-grid{grid-template-columns:1fr}.price-note{border-left:0;border-top:1px solid var(--rule);padding-left:0}.offer-main{padding-right:0}}

.hero-note{margin:0 4px 0 0;align-self:start;min-height:535px;border-left:1px solid var(--rule);padding:48px 44px;background:#eee9df;display:flex;flex-direction:column;justify-content:center}.hero-note ol{list-style:none;padding:0;margin:34px 0}.hero-note li{display:grid;grid-template-columns:52px 1fr;gap:18px;padding:20px 0;border-top:1px solid var(--rule);font-size:22px;line-height:1.2}.hero-note li:last-child{border-bottom:1px solid var(--rule)}.hero-note li b{font-family:'American Typewriter','Courier New',monospace;color:var(--red);font-size:14px;letter-spacing:2px}.hero-note>p{font-size:18px;letter-spacing:1px;margin-top:12px}
/* V8 — parcours, corpus, mode bac */
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:28px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.module-card,.corpus-card,.stage-card{border-top:3px solid #8e2d24;padding:20px 0 10px}.module-card h3,.corpus-card h3,.stage-card h3{margin:6px 0 10px}.badge{font-family:'Courier New',monospace;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;border:1px solid #b9b0a2;padding:4px 7px;display:inline-block;margin:0 5px 6px 0}.pathline{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:22px 0}.pathline span{font-family:'Courier New',monospace;border:1px solid #c8bfb2;padding:7px 9px}.pathline i{font-style:normal;color:#8e2d24}.workbench{border:1px solid #cfc5b6;padding:26px;margin:26px 0;background:#fbf8f1}.workbench textarea{width:100%;min-height:130px;border:1px solid #bdb3a5;background:#fffdf8;padding:14px;font:1rem Georgia,serif;box-sizing:border-box}.rubric{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:20px 0}.rubric div{border:1px solid #cfc5b6;padding:12px;font-size:.88rem}.corpus-index{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.status-ready{color:#245d3a}.status-build{color:#8e2d24}.micro{font-size:.86rem;color:#625c54}.sequence{counter-reset:seq}.sequence .stage-card{counter-increment:seq}.sequence .stage-card h3:before{content:counter(seq,decimal-leading-zero) ' · ';font-family:'Courier New',monospace;color:#8e2d24}.offer-band{border:1px solid #8e2d24;padding:28px;margin:36px 0}.offer-band h2{margin-top:0}@media(max-width:800px){.grid-2,.grid-3,.corpus-index,.rubric{grid-template-columns:1fr}.pathline i{display:none}}
.ai-lab{max-width:900px;margin:3rem auto 6rem;padding:2.2rem;border-top:4px solid #8f2f24;border-bottom:1px solid #bbb;background:#faf8f2}.ai-lab h2{font-size:2.2rem;margin:.4rem 0}.ai-lab h3{font-size:1.25rem;line-height:1.45;margin:1.6rem 0 .7rem}.ai-context{font-size:1.08rem;line-height:1.65;max-width:760px}.ai-lab textarea{width:100%;box-sizing:border-box;padding:1rem;font:inherit;font-size:1.05rem;line-height:1.55;background:#fff;border:1px solid #777;resize:vertical}.ai-actions{display:flex;align-items:center;gap:1rem;margin-top:1rem}.ai-feedback{display:none;white-space:pre-wrap;margin-top:1.5rem;padding:1.25rem 1.4rem;border-left:4px solid #8f2f24;background:#fff;line-height:1.6}.ai-feedback.show{display:block}.ai-feedback strong{font-family:American Typewriter,Courier New,monospace}.ai-feedback p{margin:.5rem 0 0}


/* V1 accueil stratégique — 2026-10 */
.home-hero{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(360px,.82fr);gap:0;border-bottom:1px solid var(--rule);min-height:610px}
.home-hero-copy{padding:72px 64px 58px 18px;display:flex;flex-direction:column;justify-content:center}
.home-hero h1{font-size:clamp(58px,6.3vw,96px);line-height:.94;letter-spacing:-4px;margin:26px 0 28px;max-width:980px}
.home-lede{font-size:28px;line-height:1.35;max-width:800px;margin:0}
.home-actions{display:flex;align-items:center;gap:28px;margin-top:42px}
.home-actions .btn{min-width:370px}
.home-text-link{color:var(--red);border-bottom:1px solid var(--red);font-size:17px;padding-bottom:3px}
.home-proofline{margin:44px 0 0;font-size:12px;letter-spacing:1.7px;color:var(--muted)}
.home-demo{background:#eee4d3;border-left:1px solid var(--rule);padding:64px 48px;display:flex;flex-direction:column;justify-content:center}
.home-demo-quote{font-size:30px;line-height:1.28;margin:28px 0 18px}
.home-demo-answer{font-size:21px;line-height:1.5;margin:0}
.home-demo-chain{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);margin:34px 0 24px;padding:18px 0;font-size:12px;letter-spacing:1.4px}
.home-demo-chain i{font-style:normal;color:var(--red)}
.home-demo-link{color:var(--red);font-size:17px}
.home-entry,.home-difference,.home-experience,.home-texts,.home-audiences{padding-top:68px;padding-bottom:68px;border-bottom:1px solid var(--rule)}
.home-section-head{display:grid;grid-template-columns:1fr minmax(300px,.72fr);gap:70px;align-items:end;margin-bottom:36px}
.home-section-head.compact{grid-template-columns:1fr;margin-bottom:28px}
.home-section-head h2,.home-audiences h2{font-size:48px;line-height:1.05;font-weight:400;margin:14px 0 0}
.home-section-head>p{font-size:19px;line-height:1.5;margin:0;max-width:620px}
.home-tracks{display:grid;grid-template-columns:1.2fr 1fr 1fr;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.home-track{min-height:300px;padding:30px;position:relative}
.home-track+.home-track{border-left:1px solid var(--rule)}
.home-track.active{background:#181715;color:var(--paper)}
.home-track.future{background:#f1ece3}
.home-status{font:12px 'American Typewriter','Courier New',monospace;letter-spacing:1.5px;text-transform:uppercase;color:var(--red)}
.home-track.active .home-status{color:#fff}
.home-track h3{font-size:32px;font-weight:400;line-height:1.08;margin:42px 0 16px}
.home-track p{font-size:17px;line-height:1.48;max-width:390px}
.home-track a{position:absolute;left:30px;bottom:28px;color:#fff;border-bottom:1px solid #fff;padding-bottom:3px}
.home-muted{position:absolute;left:30px;bottom:28px;font:13px 'American Typewriter','Courier New',monospace;color:var(--muted)}
.home-pillars{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--rule)}
.home-pillars article{padding:30px 28px 10px 0;min-height:260px}
.home-pillars article+article{border-left:1px solid var(--rule);padding-left:28px}
.home-pillars span{font:13px 'American Typewriter','Courier New',monospace;color:var(--red);letter-spacing:1.5px}
.home-pillars h3{font-size:30px;font-weight:400;margin:32px 0 14px}
.home-pillars p{font-size:17px;line-height:1.5;margin:0}
.home-experience{display:grid;grid-template-columns:1fr 1fr;gap:80px}
.home-experience-copy h2{font-size:52px;line-height:1.03;font-weight:400;margin:16px 0 20px}
.home-experience-copy p{font-size:20px;line-height:1.5;max-width:650px}
.home-experience-side{border-left:1px solid var(--rule);padding-left:48px;display:flex;flex-direction:column;justify-content:center}
.home-steps{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:12px;letter-spacing:1.2px}
.home-steps i{font-style:normal;color:var(--red)}
.home-experience blockquote{font-size:30px;line-height:1.3;margin:36px 0}
.home-text-cards{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.home-text-cards a{padding:30px 30px 34px 0;min-height:260px;position:relative}
.home-text-cards a+a{border-left:1px solid var(--rule);padding-left:30px}
.home-text-cards span{font:12px 'American Typewriter','Courier New',monospace;text-transform:uppercase;letter-spacing:1.6px;color:var(--red)}
.home-text-cards h3{font-size:30px;font-weight:400;margin:28px 0 12px}
.home-text-cards p{font-size:17px;line-height:1.45;max-width:390px}
.home-text-cards b{position:absolute;bottom:28px;font-weight:400;color:var(--red)}
.home-audiences{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;border-bottom:0}
.home-audience-links{display:grid;border-top:1px solid var(--rule)}
.home-audience-links a{display:flex;justify-content:space-between;gap:20px;padding:22px 0;border-bottom:1px solid var(--rule);font-size:19px}
.home-audience-links span{color:var(--red)}
@media(max-width:1050px){
  .home-hero{grid-template-columns:1fr}
  .home-hero-copy{padding:54px 10px}
  .home-demo{border-left:0;border-top:1px solid var(--rule);padding:46px 28px}
  .home-actions{align-items:stretch;flex-direction:column}
  .home-actions .btn{min-width:0}
  .home-section-head,.home-experience,.home-audiences{grid-template-columns:1fr;gap:32px}
  .home-tracks{grid-template-columns:1fr}
  .home-track+.home-track{border-left:0;border-top:1px solid var(--rule)}
  .home-pillars{grid-template-columns:1fr 1fr}
  .home-pillars article:nth-child(3){border-left:0}
  .home-experience-side{border-left:0;border-top:1px solid var(--rule);padding:36px 0 0}
  .home-text-cards{grid-template-columns:1fr}
  .home-text-cards a+a{border-left:0;border-top:1px solid var(--rule);padding-left:0}
}
@media(max-width:650px){
  .home-hero h1{font-size:48px;letter-spacing:-2px}
  .home-lede{font-size:22px}
  .home-pillars{grid-template-columns:1fr}
  .home-pillars article+article{border-left:0;border-top:1px solid var(--rule);padding-left:0}
  .home-section-head h2,.home-audiences h2,.home-experience-copy h2{font-size:38px}
  .home-demo-quote{font-size:25px}
}

/* Architecture examens — Bac & Brevet */
.exam-hub{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;padding:52px 18px 70px}
.exam-card{border-top:4px solid var(--red);padding:26px 24px 32px;min-height:255px;background:#f3eee5;position:relative}
.exam-card.ready{background:#181715;color:var(--paper)}
.exam-card span{font:12px 'American Typewriter','Courier New',monospace;letter-spacing:1.4px;text-transform:uppercase;color:var(--red)}
.exam-card.ready span{color:#fff}.exam-card h2{font-size:38px;font-weight:400;margin:35px 0 12px}.exam-card p{font-size:18px;line-height:1.48;max-width:560px}.exam-card b{position:absolute;bottom:24px;color:var(--red);font-weight:400}.exam-card.ready b{color:#fff}
.sequence{padding:40px 18px 70px}.stage-card{padding:24px;border-top:3px solid var(--red);background:#f3eee5;min-height:170px}.stage-card h3{font-size:28px;font-weight:400}.stage-card p{font-size:17px;line-height:1.5}
.oral-flow{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:52px 18px}.oral-flow article{border-top:3px solid var(--red);padding:24px;background:#f3eee5}.oral-flow article.wide{grid-column:1/-1}.oral-flow article>span,.manip-grid article>span{font:13px 'American Typewriter','Courier New',monospace;color:var(--red)}.oral-flow h2,.manip-grid h2{font-size:31px;font-weight:400;margin:18px 0 12px}.oral-flow p,.manip-grid p{font-size:17px;line-height:1.5}
.timer-box{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:20px;padding-top:18px;border-top:1px solid #aaa}.timer-display{font:34px 'American Typewriter','Courier New',monospace;min-width:145px}.timer-box button,.record-btn{background:transparent;border:1px solid var(--rule);padding:10px 14px;font:15px Georgia,'Times New Roman',serif;cursor:pointer}.timer-box button:first-of-type,.record-btn{background:var(--red);color:#fff;border-color:var(--red)}
.model-rubric,.result-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:20px 0}.model-rubric b,.result-grid>div{border:1px solid #aaa;padding:14px;font-weight:400}.audio-prototype{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:20px}.record-playback{display:none;width:100%}.record-status{font-size:14px;color:var(--muted)}
.field-label,.grammar-sample label{display:grid;gap:8px;font:13px 'American Typewriter','Courier New',monospace;text-transform:uppercase;letter-spacing:1px}.field-label input,.grammar-sample textarea{font:18px Georgia,'Times New Roman',serif;background:#fffdf8;border:1px solid #aaa;padding:12px}.question-bank{margin-top:26px;border-top:1px solid #aaa;padding-top:18px}.question-bank h3{font-size:23px;font-weight:400}
.manip-grid{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--rule);margin:45px 18px}.manip-grid article{padding:24px;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);min-height:220px}.manip-grid article:nth-child(4n){border-right:0}
.writing-sim{padding:52px 18px}.writing-top{display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:end}.writing-top h2{font-size:42px;font-weight:400;margin:12px 0}.exam-writing-area{width:100%;min-height:520px;margin-top:28px;padding:22px;font:18px/1.6 Georgia,'Times New Roman',serif;background:#fffdf8;border:1px solid #999}.writing-meta{display:flex;justify-content:space-between;gap:20px;font-size:14px;color:var(--muted);padding-top:10px}
.home-track.future .future-link{position:absolute;left:30px;bottom:28px;color:var(--red);border-bottom:1px solid var(--red);padding-bottom:3px;font-family:Georgia,'Times New Roman',serif}
@media(max-width:900px){.exam-hub,.oral-flow,.writing-top{grid-template-columns:1fr}.oral-flow article.wide{grid-column:auto}.manip-grid{grid-template-columns:1fr 1fr}.manip-grid article:nth-child(4n){border-right:1px solid var(--rule)}.manip-grid article:nth-child(even){border-right:0}.model-rubric,.result-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.manip-grid,.model-rubric,.result-grid{grid-template-columns:1fr}.manip-grid article{border-right:0!important}.writing-meta{flex-direction:column}.timer-display{font-size:28px}}


/* Annales officielles — Bac & Brevet */
.archive-section,.guided-section{padding:58px 18px;border-bottom:1px solid var(--rule)}
.archive-head{display:grid;grid-template-columns:1fr minmax(320px,.72fr);gap:70px;align-items:end;margin-bottom:28px}
.archive-head h2{font-size:48px;line-height:1.05;font-weight:400;margin:12px 0 0}
.archive-head>p{font-size:18px;line-height:1.5;margin:0;max-width:620px}
.archive-years{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--rule);border-left:1px solid var(--rule)}
.archive-card{min-height:255px;padding:26px;position:relative;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.archive-card.current{background:#eee4d3}
.archive-year{font:13px 'American Typewriter','Courier New',monospace;letter-spacing:1.8px;color:var(--red)}
.archive-card h3{font-size:27px;font-weight:400;margin:28px 0 12px}
.archive-card p{font-size:16px;line-height:1.45;margin:0 0 20px}
.archive-card>a,.archive-actions a{color:var(--red);border-bottom:1px solid var(--red);font:13px 'American Typewriter','Courier New',monospace}
.archive-actions{display:flex;gap:16px;flex-wrap:wrap}
.archive-note{margin-top:24px;padding:20px 24px;background:#f0ebe2;border-left:4px solid var(--red);font-size:16px;line-height:1.5}
.guided-section .filters{padding-left:0;padding-right:0}
@media(max-width:1050px){.archive-head{grid-template-columns:1fr;gap:24px}.archive-years{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.archive-years{grid-template-columns:1fr}.archive-card{min-height:0}}


/* Entraînement annales — IA + chronomètres */
.annale-training{padding-bottom:80px}
.timer-bar{display:grid;grid-template-columns:1fr 1fr auto;gap:24px;align-items:center;padding:22px 18px;border-bottom:1px solid var(--rule);background:#eee4d3}
.timer-bar>div{display:flex;flex-direction:column;gap:6px}
.timer-bar strong{font:32px 'American Typewriter','Courier New',monospace}
.timer-bar strong.over{color:var(--red)}
.timer-actions{flex-direction:row!important;align-items:center;gap:10px!important}
.timer-actions button{background:transparent;border:1px solid var(--rule);padding:10px 14px;font:13px 'American Typewriter','Courier New',monospace;cursor:pointer}
.annale-workspace{max-width:980px;margin:0 auto;padding:48px 18px}
.annale-progress{font-size:13px;letter-spacing:1.5px;color:var(--red);margin-bottom:20px}
.annale-step-card{border-top:3px solid var(--red);padding-top:28px}
.annale-step-card h2,.annale-summary h2{font-size:44px;font-weight:400;line-height:1.05;margin:12px 0 18px}
.annale-hint{background:#f0ebe2;padding:14px 16px;border-left:3px solid var(--red)}
.annale-step-card textarea{width:100%;min-height:230px;background:#fffdf8;border:1px solid #8d877e;padding:16px;font:18px Georgia,'Times New Roman',serif;line-height:1.55;resize:vertical}
.annale-training-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:18px}
.annale-training-actions .btn{border:1px solid var(--rule);background:transparent;color:var(--ink);cursor:pointer}
.annale-training-actions .btn.red{background:var(--red);color:#fff;border-color:var(--red)}
.annale-ai-feedback{margin-top:22px}
.annale-summary{border-top:3px solid var(--red);padding-top:28px}
.summary-step{padding:20px 0;border-top:1px solid #bbb}
.summary-step h3{font-size:22px;font-weight:400;margin:0 0 8px}
.summary-step p{font-size:17px;line-height:1.5;white-space:pre-wrap}
.annale-training-links{display:flex;gap:18px;flex-wrap:wrap}
@media(max-width:760px){.timer-bar{grid-template-columns:1fr 1fr}.timer-actions{grid-column:1/-1}.annale-step-card h2,.annale-summary h2{font-size:34px}}


/* Oral : import d'extrait */
.oral-source{padding:48px 18px;border-bottom:1px solid var(--rule)}
.oral-source h2{font-size:42px;font-weight:400;margin:12px 0 10px}
.oral-source>p{font-size:18px;line-height:1.5;max-width:820px}
.oral-source-grid{display:grid;grid-template-columns:1fr 1fr 1.4fr;gap:18px;margin:28px 0}
.oral-source-card{border:1px solid #8b857a;padding:22px;display:flex;flex-direction:column;gap:10px;background:#fbf8f1}
.oral-source-card strong{font-size:21px}.oral-source-card span{font-size:14px;color:var(--muted)}
.oral-source-card input{margin-top:auto}.oral-source-card textarea{width:100%;padding:12px;font:16px Georgia,'Times New Roman',serif}
.oral-source-meta{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}
.oral-source-meta label{display:flex;flex-direction:column;gap:7px;font-size:14px}
.oral-source-meta input{padding:12px;border:1px solid #8b857a;background:#fffdf8;font:16px Georgia,'Times New Roman',serif}
#oral-source-status{margin-top:16px}

/* Accès gratuit / premium */
.access-status{padding:12px 18px;border-bottom:1px solid var(--rule);font-size:12px;letter-spacing:1.4px;color:var(--muted)}
.access-status.premium{color:var(--red)}
.paywall-box{padding:24px;background:#eee4d3;border-left:4px solid var(--red)}
.paywall-box h3{font-size:28px;font-weight:400;margin:10px 0}
.paywall-box p{font-size:17px;line-height:1.5}
.offer-price{font-size:44px;font-weight:400}
.offer-access-grid{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--rule)}
.offer-access-grid article{padding:48px 36px;min-height:340px}
.offer-access-grid article+article{border-left:1px solid var(--rule)}
.offer-access-grid span{font:12px 'American Typewriter','Courier New',monospace;letter-spacing:2px;color:var(--red)}
.offer-access-grid h2{font-size:38px;font-weight:400;margin:16px 0}
.offer-access-grid p{font-size:19px;line-height:1.5}
.offer-access-grid .premium{background:#eee4d3}
.payment-coming{margin-top:26px;padding-top:20px;border-top:1px solid #999}
@media(max-width:760px){.oral-source-grid,.oral-source-meta,.offer-access-grid{grid-template-columns:1fr}.offer-access-grid article+article{border-left:0;border-top:1px solid var(--rule)}}


/* Présentation enseignants */
.teacher-levels{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--rule)}
.teacher-level{padding:38px 30px;border-top:1px solid var(--rule);min-height:230px}
.teacher-level+.teacher-level{border-left:1px solid var(--rule)}
.teacher-level span{font:13px 'American Typewriter','Courier New',monospace;color:var(--red);letter-spacing:2px;text-transform:uppercase}
.teacher-level h2{font-size:36px;font-weight:400;margin:18px 0 12px}
.teacher-level p{font-size:18px;line-height:1.5;margin:0}
.teacher-sequence{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;padding:54px 18px;border-bottom:1px solid var(--rule)}
.teacher-sequence h2{font-size:40px;font-weight:400;line-height:1.05;margin:12px 0}
.sequence-spec{display:grid;grid-template-columns:1fr 1fr;gap:0 34px}
.sequence-spec p{font-size:17px;line-height:1.5;margin:0;padding:18px 0;border-top:1px solid #b8b0a5}
@media(max-width:760px){.teacher-levels,.teacher-sequence,.sequence-spec{grid-template-columns:1fr}.teacher-level+.teacher-level{border-left:0}.teacher-level{border-top:1px solid var(--rule)}}


/* Parcours pédagogiques complets — textes, exercices, corrigés, accès */
.complete-path{padding-bottom:80px}
.access-label{font-family:'American Typewriter','Courier New',monospace;font-size:12px;letter-spacing:1.7px;text-transform:uppercase;color:var(--red);border-top:1px solid var(--rule);padding:18px 0 0;margin-top:34px}
.path-free,.premium-section{position:relative}
.literary-text{max-width:980px;margin:34px auto;padding:34px 40px;background:#fffdf8;border:1px solid #c9c0b4}
.literary-text .label,.model-commentary .label{font-family:'American Typewriter','Courier New',monospace;text-transform:uppercase;letter-spacing:1.6px;color:var(--red);font-size:12px;margin-bottom:24px}
.literary-text p,.model-commentary p{font-size:18px;line-height:1.7}
.literary-text .source{font-size:14px;color:var(--muted);margin-top:26px}
.literary-text .notes{font-size:14px;line-height:1.55;border-top:1px solid #bbb;padding-top:16px}
.big-aphorism{font-size:34px!important;line-height:1.35!important}
.workbench{max-width:1100px;margin:36px auto;background:#f3eee5}
.workbench h2{font-size:36px;font-weight:400;margin:12px 0 20px}
.workbench h3{font-size:25px;font-weight:400;margin:28px 0 14px}
.workbench textarea,.qcm-full textarea{width:100%;min-height:120px;border:1px solid #9b9388;background:#fffdf8;padding:14px;font:17px/1.5 Georgia,'Times New Roman',serif;margin-top:10px}
.full-questions{padding-left:24px;max-width:960px}
.full-questions li{font-size:18px;line-height:1.55;margin:0 0 16px;padding-left:8px}
.correction{margin-top:24px;border-top:1px solid #aaa;border-bottom:1px solid #aaa;padding:0}
.correction summary{cursor:pointer;padding:16px 0;color:var(--red);font-family:'American Typewriter','Courier New',monospace;font-size:13px;letter-spacing:1px;text-transform:uppercase}
.correction p{font-size:17px;line-height:1.55}
.model-commentary{max-width:980px;margin:42px auto;padding:38px 42px;background:#fffdf8;border-left:4px solid var(--red)}
.transition-question{padding:18px 22px;background:#eee4d3;font-weight:700}
.exercise-list{max-width:1100px;margin:24px auto}
.qcm-full{border-top:1px solid var(--rule);padding:30px 0 34px;position:relative}
.qcm-num{position:absolute;right:0;top:28px;font:34px 'American Typewriter','Courier New',monospace;color:#b8afa3}
.qcm-full h2{font-size:28px;font-weight:400;margin:0 0 14px}
.qcm-full blockquote{font-size:23px;line-height:1.4;margin:14px 0 18px;max-width:920px}
.qcm-options{display:grid;gap:8px;max-width:980px}
.qcm-options p{border:1px solid #b8b0a5;padding:13px 15px;margin:0;background:#fffdf8}
.qcm-full label{display:block;margin-top:18px;font-family:'American Typewriter','Courier New',monospace;font-size:12px;letter-spacing:.8px;text-transform:uppercase}
.premium-section{margin-top:50px}
.premium-locked{min-height:280px}
.premium-locked > *:not(.premium-cover){display:none!important}
.premium-cover{display:block!important;background:#eee4d3;border-left:4px solid var(--red);padding:34px 38px;margin:30px 0}
.premium-cover h3{font-size:32px;font-weight:400;margin:12px 0}
.premium-cover p{font-size:18px;line-height:1.5;max-width:800px}
@media(max-width:700px){
 .literary-text,.model-commentary{padding:24px 20px}
 .big-aphorism{font-size:28px!important}
 .qcm-num{position:static;margin-bottom:8px}
 .premium-cover{padding:26px 22px}
}


/* Navigation V2 — 4 portes + menu, sans rangée d'onglets */
.top{height:auto;position:relative;z-index:50;background:var(--paper)}
.mast-v2{min-height:112px;height:auto;display:grid;grid-template-columns:280px 1fr auto;align-items:stretch;border-bottom:1px solid var(--rule)}
.brand-v2{display:flex;align-items:center;font-size:34px;line-height:.9;padding:0 22px 0 14px}
.brand-v2:after{bottom:20px}
.nav-portals{display:grid;grid-template-columns:repeat(5,minmax(105px,1fr));border-left:1px solid var(--rule)}
.portal{display:flex;flex-direction:column;justify-content:center;gap:6px;padding:20px 22px;border-right:1px solid var(--rule);min-height:112px;transition:background .15s ease}
.portal:hover,.portal.active{background:#eee4d3}
.portal span{font-size:22px;line-height:1}
.portal small{font:11px 'American Typewriter','Courier New',monospace;text-transform:uppercase;letter-spacing:.7px;color:var(--muted);white-space:normal;line-height:1.35}
.portal.active span{color:var(--red)}
.menu-toggle{align-self:center;margin-left:18px;background:var(--ink);color:var(--paper);border:0;padding:14px 18px;font:13px 'American Typewriter','Courier New',monospace;letter-spacing:1.2px;text-transform:uppercase;cursor:pointer}
.site-menu{background:#181715;color:var(--paper);border-bottom:4px solid var(--red)}
.site-menu[hidden]{display:none}
.site-menu-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:60px;padding-top:34px;padding-bottom:38px}
.site-menu-grid>div{display:grid;align-content:start}
.site-menu-grid a{padding:11px 0;border-bottom:1px solid #4b4843;font-size:18px}
.menu-kicker{font:11px 'American Typewriter','Courier New',monospace;letter-spacing:1.7px;text-transform:uppercase;color:#e76b6f;margin-bottom:8px}
.student-doors{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--rule);border-left:1px solid var(--rule);margin:40px 0 80px}
.student-door{min-height:290px;padding:30px;position:relative;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);background:#f3eee5}
.student-door.dark{background:#181715;color:var(--paper)}
.student-door span{font:12px 'American Typewriter','Courier New',monospace;letter-spacing:1.6px;color:var(--red)}
.student-door.dark span{color:#fff}
.student-door h2{font-size:36px;font-weight:400;margin:44px 0 14px}
.student-door p{font-size:18px;line-height:1.5;max-width:520px}
.student-door b{position:absolute;bottom:28px;font-weight:400;color:var(--red)}
.student-door.dark b{color:#fff}
@media(max-width:1050px){
 .mast-v2{grid-template-columns:1fr auto}
 .nav-portals{grid-column:1/-1;grid-template-columns:repeat(5,1fr);border-left:0;border-top:1px solid var(--rule)}
 .portal{min-height:86px;padding:14px 16px}
 .portal span{font-size:19px}
 .menu-toggle{grid-column:2;grid-row:1;margin-right:0}
 .site-menu-grid{grid-template-columns:1fr 1fr;gap:30px}
}
@media(max-width:700px){
 .nav-portals{grid-template-columns:1fr 1fr}
 .portal:nth-child(odd){border-left:1px solid var(--rule)}
 .student-doors{grid-template-columns:1fr}
 .site-menu-grid{grid-template-columns:1fr}
}

/* Statut IA explicite */
.ai-status-note{font:12px 'American Typewriter','Courier New',monospace;letter-spacing:.8px;color:var(--muted);text-transform:uppercase}


/* Navigation pédagogique v3 */
.top{height:auto}
.mast-v3{height:98px;display:grid;grid-template-columns:280px 1fr auto auto;align-items:center;border-bottom:1px solid var(--rule);gap:24px}
.mast-v3 .brand{font-size:34px;line-height:.9;padding-left:10px}
.nav-portals{height:100%;display:grid;grid-template-columns:repeat(5,minmax(105px,1fr));align-items:stretch}
.portal{display:flex;flex-direction:column;justify-content:center;padding:0 18px;border-left:1px solid #c4bbae}
.portal:last-child{border-right:1px solid #c4bbae}
.portal span{font-size:18px;line-height:1.1}
.portal small{margin-top:5px;font:11px 'American Typewriter','Courier New',monospace;letter-spacing:.4px;color:var(--muted)}
.portal.active{background:#eee4d3}
.portal.active span{color:var(--red)}
.nav-offer{background:var(--red);color:#fff;padding:13px 17px;white-space:nowrap}
.menu-toggle{background:transparent;border:1px solid var(--rule);padding:12px 14px;font:14px Georgia,'Times New Roman',serif;cursor:pointer}
.context-tabs{border-bottom:1px solid var(--rule);background:#f1eadf}
.context-tabs .wrap{display:flex;align-items:center;gap:0;overflow-x:auto}
.context-tabs a{flex:0 0 auto;padding:14px 22px;border-right:1px solid #c8bfb3;font:13px 'American Typewriter','Courier New',monospace;letter-spacing:.4px}
.context-tabs a:first-child{border-left:1px solid #c8bfb3}
.context-tabs a:hover,.context-tabs a.active{background:var(--ink);color:var(--paper)}
.site-menu{border-bottom:1px solid var(--rule);background:#eee4d3;padding:30px 0}
.site-menu-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:50px}
.site-menu-grid>div{display:grid;gap:10px}
.menu-kicker{font:12px 'American Typewriter','Courier New',monospace;letter-spacing:2px;color:var(--red);text-transform:uppercase;margin-bottom:6px}

/* Anthologies */
.anthology-grid{display:grid;grid-template-columns:repeat(2,1fr);border-bottom:1px solid var(--rule)}
.anthology-card{padding:42px 34px;border-top:1px solid var(--rule);min-height:350px;display:flex;flex-direction:column}
.anthology-card:nth-child(even){border-left:1px solid var(--rule)}
.anthology-card.featured{background:#eee4d3}
.anthology-meta{font:12px 'American Typewriter','Courier New',monospace;letter-spacing:1.4px;color:var(--red);text-transform:uppercase}
.anthology-card h2{font-size:34px;font-weight:400;line-height:1.08;margin:18px 0 12px}
.anthology-card>p{font-size:18px;line-height:1.45;margin:0 0 22px}
.anthology-skills{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 24px}
.anthology-skills span{border:1px solid #9f978b;padding:7px 10px;font:11px 'American Typewriter','Courier New',monospace}
.anthology-card>a{color:var(--red);font-size:16px;margin-top:9px}
.anthology-links{display:grid}
.anthology-links a{display:flex;justify-content:space-between;gap:20px;padding:18px 0;border-top:1px solid #b8b0a5;font-size:17px}
.anthology-links a span{color:var(--muted);text-align:right}

@media(max-width:1050px){
  .mast-v3{grid-template-columns:1fr auto auto;height:88px}
  .nav-portals{display:none}
  .context-tabs .wrap{width:100%;padding-left:16px}
  .nav-offer{font-size:14px;padding:11px 13px}
}
@media(max-width:760px){
  .mast-v3{grid-template-columns:1fr auto}.nav-offer{display:none}
  .anthology-grid,.site-menu-grid{grid-template-columns:1fr}
  .anthology-card:nth-child(even){border-left:0}
  .anthology-links a{display:grid}.anthology-links a span{text-align:left}
  .context-tabs a{padding:12px 15px}
}


/* Funnel stratégique */
.funnel-hero{display:grid;grid-template-columns:1.25fr .75fr;gap:64px;padding:76px 18px 66px;border-bottom:1px solid var(--rule)}
.funnel-copy h1{font-size:72px;line-height:.98;letter-spacing:-3px;margin:20px 0 24px}
.funnel-copy>p{font-size:27px;line-height:1.32;max-width:790px;margin:0}
.funnel-actions{display:flex;align-items:center;gap:26px;margin-top:38px;flex-wrap:wrap}
.funnel-proof{align-self:end;border-left:1px solid var(--rule);padding:26px 0 26px 32px}
.funnel-proof>span{display:block;color:var(--red);font-size:12px;letter-spacing:2px;margin-bottom:16px}
.funnel-proof strong{display:block;font-size:31px;line-height:1.12;font-weight:400}
.funnel-proof p{font-size:17px;line-height:1.5}
.section-intro{display:grid;grid-template-columns:.8fr 1.2fr;gap:50px;padding:52px 18px 30px}
.section-intro h2{font-size:46px;line-height:1.04;font-weight:400;margin:10px 0}
.section-intro>p{align-self:end;font-size:18px;line-height:1.5;margin:0}
.funnel-choice,.funnel-anthologies,.funnel-method,.funnel-free{border-bottom:1px solid var(--rule)}
.training-rhythm{display:flex;flex-direction:column;align-items:flex-start;gap:.08em;line-height:1.08}
.training-rhythm span{display:block}
.training-rhythm-final{margin-top:.12em;color:var(--red)}

.funnel-two{display:grid;grid-template-columns:1fr 1fr}
.funnel-two>a{padding:42px 34px 46px 18px;border-top:1px solid var(--rule);min-height:330px}
.funnel-two>a+a{border-left:1px solid var(--rule);padding-left:34px}
.funnel-two>a span{font:12px 'American Typewriter','Courier New',monospace;letter-spacing:2px;color:var(--red)}
.funnel-two>a h3{font-size:38px;font-weight:400;line-height:1.08;margin:18px 0}
.funnel-two>a p{font-size:18px;line-height:1.5;max-width:570px}
.funnel-two>a b{display:block;margin-top:28px;color:var(--red);font-weight:400}
.funnel-two.compact>a{min-height:285px}
.funnel-steps{display:grid;grid-template-columns:repeat(5,1fr)}
.funnel-steps article{padding:32px 24px 38px 18px;border-top:1px solid var(--rule);min-height:250px}
.funnel-steps article+article{border-left:1px solid var(--rule)}
.funnel-steps span,.journey-number{font:13px 'American Typewriter','Courier New',monospace;color:var(--red)}
.funnel-steps h3{font-size:30px;font-weight:400;margin:26px 0 12px}
.funnel-steps p{font-size:17px;line-height:1.5}
.free-trials{display:grid;grid-template-columns:repeat(5,1fr)}
.free-trials a{padding:28px 18px;border-top:1px solid var(--rule);display:grid;gap:10px;min-height:130px}
.free-trials a+a{border-left:1px solid var(--rule)}
.free-trials strong{font-size:21px;font-weight:400}
.free-trials span{color:var(--red)}
.funnel-offer{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center;padding:50px 18px;background:#eee4d3;border-bottom:1px solid var(--rule)}
.funnel-offer h2{font-size:42px;font-weight:400;margin:10px 0}
.funnel-offer p{font-size:18px;line-height:1.5;max-width:760px}
.funnel-offer.inner{margin-top:0}
.funnel-teachers{display:grid;grid-template-columns:1fr auto;align-items:end;gap:40px;padding:50px 18px 65px}
.funnel-teachers h2{font-size:40px;font-weight:400;margin:10px 0}
.funnel-teachers p{font-size:18px}

/* Parcours verticaux Bac / Brevet */
.journey-block{display:grid;grid-template-columns:90px 1fr;gap:28px;padding:48px 18px;border-bottom:1px solid var(--rule)}
.journey-block.primary{background:#eee4d3}
.journey-number{font-size:15px;padding-top:8px}
.journey-block h2{font-size:46px;font-weight:400;line-height:1.05;margin:10px 0 14px}
.journey-block p{font-size:20px;line-height:1.5;max-width:880px}
.journey-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:22px}
.journey-grid{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--rule)}
.journey-grid.four{grid-template-columns:repeat(5,1fr)}
.journey-grid a{padding:38px 28px;border-right:1px solid var(--rule);min-height:300px}
.journey-grid a:last-child{border-right:0}
.journey-grid span{font:13px 'American Typewriter','Courier New',monospace;color:var(--red)}
.journey-grid h2{font-size:32px;font-weight:400;margin:24px 0 12px}
.journey-grid p{font-size:17px;line-height:1.5}
.journey-grid b{display:block;margin-top:24px;color:var(--red);font-weight:400}
.journey-free{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:end;padding:42px 18px;border-bottom:1px solid var(--rule)}
.journey-free h2{font-size:36px;font-weight:400;margin:10px 0}
.journey-free p{font-size:18px;line-height:1.5;max-width:760px}

@media(max-width:900px){
  .funnel-hero,.section-intro,.funnel-offer,.funnel-teachers,.journey-free{grid-template-columns:1fr}
  .funnel-copy h1{font-size:54px}
  .funnel-proof{border-left:0;border-top:1px solid var(--rule);padding-left:0}
  .funnel-two,.funnel-steps,.free-trials,.journey-grid,.journey-grid.four{grid-template-columns:1fr}
  .funnel-two>a+a,.funnel-steps article+article,.free-trials a+a{border-left:0}
  .journey-grid a{border-right:0;border-bottom:1px solid var(--rule)}
  .journey-block{grid-template-columns:50px 1fr}
}


/* Atelier Procédés */
.procedure-principle{display:grid;grid-template-columns:repeat(5,1fr);border-bottom:1px solid var(--rule)}
.procedure-principle>div{padding:34px 28px;border-top:1px solid var(--rule);min-height:220px}
.procedure-principle>div+div{border-left:1px solid var(--rule)}
.procedure-principle span{font:12px 'American Typewriter','Courier New',monospace;color:var(--red);letter-spacing:2px}
.procedure-principle h2{font-size:30px;font-weight:400;margin:22px 0 10px}
.procedure-principle p{font-size:17px;line-height:1.45}
.procedure-families,.procedure-modes{border-bottom:1px solid var(--rule)}
.procedure-family-grid{display:grid;grid-template-columns:repeat(5,1fr)}
.procedure-family-grid span{padding:20px 18px;border-top:1px solid var(--rule);border-right:1px solid var(--rule);font:14px 'American Typewriter','Courier New',monospace}
.procedure-mode-grid{display:grid;grid-template-columns:repeat(5,1fr)}
.procedure-mode-grid a{padding:30px 24px;border-top:1px solid var(--rule);border-right:1px solid var(--rule);min-height:270px;position:relative}
.procedure-mode-grid a.premium{background:#eee4d3}
.procedure-mode-grid span{font:11px 'American Typewriter','Courier New',monospace;color:var(--red);letter-spacing:1.4px}
.procedure-mode-grid h3{font-size:29px;font-weight:400;line-height:1.08;margin:20px 0 12px}
.procedure-mode-grid p{font-size:16px;line-height:1.45}
.procedure-mode-grid b{position:absolute;bottom:24px;color:var(--red);font-weight:400}
.procedure-workbench{padding:44px 18px 60px}
.procedure-progress{font-size:12px;letter-spacing:1.2px;color:var(--muted);margin-bottom:24px}
.procedure-source{padding:28px 0 32px;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);margin-bottom:28px}
.procedure-source blockquote{font-size:32px;line-height:1.25;margin:18px 0 0;max-width:980px}
.procedure-workbench label{display:grid;gap:8px;margin:18px 0;font:13px 'American Typewriter','Courier New',monospace;text-transform:uppercase;letter-spacing:1px}
.procedure-lock{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center;background:#eee4d3;padding:40px 18px 46px;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.procedure-lock h2{font-size:38px;font-weight:400;margin:10px 0}
.procedure-lock p{font-size:18px;line-height:1.5;max-width:760px}
.procedure-compare{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:22px}
.procedure-compare>div{border:1px solid #999;padding:20px}
.procedure-compare p{font-size:20px;line-height:1.4}
@media(max-width:900px){
  .procedure-principle,.procedure-family-grid,.procedure-mode-grid{grid-template-columns:1fr 1fr}
  .procedure-lock,.procedure-compare{grid-template-columns:1fr}
}
@media(max-width:620px){
  .procedure-principle,.procedure-family-grid,.procedure-mode-grid{grid-template-columns:1fr}
  .procedure-principle>div+div{border-left:0}
}

/* Ontologie annales + aide procédés ponctuelle */
.manual-help{margin-top:18px;padding:20px;border:1px solid #9b9488;background:#f1eadf}
.manual-help p{font-size:16px;line-height:1.5;max-width:850px}
.manual-choice-list{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}
.manual-choice{background:transparent;border:1px solid #777;padding:9px 12px;font:13px 'American Typewriter','Courier New',monospace;cursor:pointer}
.manual-choice:hover,.manual-choice.selected{border-color:var(--red);color:var(--red);background:#fff8f4}
.annale-step-card textarea:disabled{opacity:.55}
.anthology-card .meta{margin:14px 0}
.anthology-card .badge{margin-right:6px}


/* Navigation déroulante — accès direct aux parcours */
.portal-wrap{position:relative;height:100%;min-width:0}
.portal-wrap>.portal{height:100%;position:relative;padding-right:34px}
.portal-wrap>.portal i{position:absolute;right:14px;top:50%;transform:translateY(-50%);font-style:normal;font-size:16px;color:var(--muted);transition:transform .15s ease}
.portal-wrap.open>.portal i,.portal-wrap:focus-within>.portal i{transform:translateY(-50%) rotate(180deg)}
.portal-dropdown{display:none;position:absolute;left:0;top:100%;z-index:80;min-width:300px;max-width:360px;background:#f8f4eb;color:#080808;border:1px solid #202020;box-shadow:0 14px 28px rgba(0,0,0,.16)}
.portal-wrap.open .portal-dropdown,.portal-wrap:focus-within .portal-dropdown{display:grid}
.portal-dropdown a{display:grid;gap:3px;padding:13px 16px;border-bottom:1px solid #c8bfb3;background:#f8f4eb;color:#080808}
.portal-dropdown a:last-child{border-bottom:0}
.portal-dropdown a:hover,.portal-dropdown a:focus{background:#eee4d3;outline:none}
.portal-dropdown strong{font-size:16px;font-weight:400;color:#080808}
.portal-dropdown small{font:11px 'American Typewriter','Courier New',monospace;line-height:1.35;color:#4d4943}
.portal-wrap:nth-child(n+4) .portal-dropdown{left:auto;right:0}
@media(max-width:1050px){
  .portal-dropdown{display:none!important}
}


/* Micro-expérience d’accueil */
.home-demo{border-bottom:1px solid var(--rule);padding-bottom:34px}
.home-demo-grid{display:grid;grid-template-columns:.9fr 1.1fr;border-top:1px solid var(--rule)}
.home-demo-text,.home-demo-work{padding:34px 28px}
.home-demo-work{border-left:1px solid var(--rule);background:#f1eadf}
.home-demo-text .quote{font-size:31px;line-height:1.25;margin:22px 0 10px}
.home-demo-work h3{font-size:28px;font-weight:400;margin:0 0 18px}
.home-demo-work textarea{width:100%;min-height:140px;border:1px solid #9f978b;background:#fffdf8;padding:15px;font:18px Georgia,'Times New Roman',serif;resize:vertical}
.free-response-tools{margin-top:14px}
.free-response-tools .btn.small{min-width:0;width:auto;height:auto;padding:12px 18px;font-size:16px}
.response-feedback.show{display:block}
.offer-proof{margin-top:18px;padding-top:16px;border-top:1px solid #b9b0a3}
@media(max-width:760px){
  .home-demo-grid{grid-template-columns:1fr}
  .home-demo-work{border-left:0;border-top:1px solid var(--rule)}
}


/* Annales — modes d'entraînement et aide progressive */
.training-mode{margin:34px 0 26px;padding:28px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.training-mode>.kicker{margin-bottom:18px}
.training-mode-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #b8b0a5}
.training-mode-card{appearance:none;text-align:left;background:transparent;border:0;border-right:1px solid #b8b0a5;padding:20px 22px;min-height:110px;cursor:pointer;color:inherit;font:inherit;display:grid;gap:8px}
.training-mode-card:last-child{border-right:0}
.training-mode-card strong{font-size:21px;font-weight:400}
.training-mode-card span{font-size:14px;line-height:1.4;color:var(--muted)}
.training-mode-card:hover,.training-mode-card.active{background:#eee4d3}
.training-mode-card.active strong{color:var(--red)}
.targeted-picker{padding:26px 0 0}
.targeted-picker-head{display:flex;justify-content:space-between;gap:30px;align-items:baseline;margin-bottom:16px}
.targeted-picker-head strong{font-size:24px;font-weight:400}
.targeted-picker-head span{font-size:14px;color:var(--muted)}
.targeted-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.targeted-card{appearance:none;background:#fffdf8;border:1px solid #b8b0a5;padding:18px;text-align:left;cursor:pointer;display:grid;grid-template-columns:auto 1fr;gap:7px 12px;align-items:start;color:inherit}
.targeted-card>span{grid-row:1/3;font:12px 'American Typewriter','Courier New',monospace;color:var(--red);padding-top:3px}
.targeted-card strong{font-size:19px;font-weight:400}
.targeted-card small{grid-column:2;font-size:13px;line-height:1.4;color:var(--muted)}
.targeted-card:hover,.targeted-card.active{border-color:var(--red);background:#f4ece1}
.progressive-help{display:flex;align-items:center;gap:14px;margin:12px 0 2px}
.progressive-help .reveal-btn{font-size:14px}
.annale-hint{margin:15px 0;padding:14px 16px;background:#eee4d3;border-left:3px solid var(--red);font-size:14px!important;line-height:1.45}
.manual-help{margin:18px 0;padding:22px;background:#f0e8dc;border:1px solid #c6bbaa}
.manual-choice-list{display:flex;flex-wrap:wrap;gap:9px;margin:14px 0}
.manual-choice{background:#fffdf8;border:1px solid #8e877c;padding:10px 13px;font:15px Georgia,'Times New Roman',serif;cursor:pointer}
.manual-choice:hover,.manual-choice.selected{border-color:var(--red);background:#fff5f3}
.timer-bar strong.over{color:var(--red)}
@media(max-width:900px){
  .training-mode-grid,.targeted-grid{grid-template-columns:1fr}
  .training-mode-card{border-right:0;border-bottom:1px solid #b8b0a5}
  .training-mode-card:last-child{border-bottom:0}
  .targeted-picker-head{display:grid;gap:6px}
}


/* SEO — guides du commentaire */
.seo-guide{padding-bottom:80px}
.seo-body{max-width:1040px;margin:0 auto;padding:54px 18px 20px}
.seo-body>h2{font-size:38px;font-weight:400;margin:42px 0 16px}
.seo-body>p{font-size:20px;line-height:1.62;max-width:850px}
.seo-links{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--rule);margin-top:30px}
.seo-links a{display:grid;gap:8px;padding:24px 20px;border-bottom:1px solid var(--rule)}
.seo-links a:nth-child(even){border-left:1px solid var(--rule)}
.seo-links strong{font-size:24px;font-weight:400}
.seo-links span{color:var(--red);font-size:15px}
.seo-steps{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border-top:1px solid var(--rule);margin:24px 0}
.seo-steps article{padding:24px 24px 26px 0;border-bottom:1px solid var(--rule)}
.seo-steps article:nth-child(even){border-left:1px solid var(--rule);padding-left:24px}
.seo-steps b{font:13px 'American Typewriter','Courier New',monospace;color:var(--red)}
.seo-steps h3{font-size:28px;font-weight:400;margin:12px 0 8px}
.seo-steps p{font-size:17px;line-height:1.5;margin:0}
.seo-rule{background:#eee4d3;padding:22px 24px;border-left:4px solid var(--red)}
.seo-chain{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;gap:12px;align-items:center;margin:28px 0;padding:22px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.seo-chain span{font:14px 'American Typewriter','Courier New',monospace;text-align:center}
.seo-chain i{font-style:normal;color:var(--red)}
.seo-nav{display:flex;justify-content:space-between;gap:20px;margin-top:44px;padding-top:22px;border-top:1px solid var(--rule)}
.seo-nav a{color:var(--red);border-bottom:1px solid var(--red)}
.seo-cta{margin-top:48px;padding:30px;background:#181715;color:var(--paper)}
.seo-cta h2{font-size:34px;font-weight:400;margin:0 0 12px}
.seo-cta p{font-size:18px;line-height:1.5;max-width:760px}
@media(max-width:760px){
  .seo-links,.seo-steps{grid-template-columns:1fr}
  .seo-links a:nth-child(even),.seo-steps article:nth-child(even){border-left:0;padding-left:0}
  .seo-chain{grid-template-columns:1fr}
  .seo-chain i{transform:rotate(90deg);text-align:center}
  .seo-nav{display:grid}
}


/* Fiches d'annales Bac indexables */
.annale-seo-page{padding-bottom:90px}
.seo-breadcrumb{display:flex;gap:9px;align-items:center;padding:18px 18px 0;font:12px 'American Typewriter','Courier New',monospace;color:var(--muted);flex-wrap:wrap}
.seo-breadcrumb a{color:var(--red)}
.annale-seo-page .pagehead h1 span{font-size:.68em;line-height:1.05;font-weight:400}
.annale-seo-intro{display:grid;grid-template-columns:.8fr 1.2fr;gap:50px;padding:48px 18px 26px;border-bottom:1px solid var(--rule)}
.annale-seo-intro h2{font-size:42px;font-weight:400;line-height:1.05;margin:12px 0}
.annale-seo-intro p{font-size:18px;line-height:1.55;align-self:end}
.annale-skill-grid{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--rule)}
.annale-skill-card{display:grid;grid-template-columns:auto 1fr;gap:7px 14px;padding:26px 24px 28px 18px;border-top:1px solid var(--rule);min-height:150px}
.annale-skill-card:nth-child(3n+2),.annale-skill-card:nth-child(3n+3){border-left:1px solid var(--rule)}
.annale-skill-card:hover{background:#eee4d3}
.annale-skill-card>span{grid-row:1/3;font:12px 'American Typewriter','Courier New',monospace;color:var(--red);padding-top:3px}
.annale-skill-card strong{font-size:22px;font-weight:400}
.annale-skill-card small{grid-column:2;font-size:14px;line-height:1.42;color:var(--muted)}
.annale-seo-method{max-width:980px;margin:0 auto;padding:50px 18px}
.annale-seo-method h2{font-size:40px;font-weight:400;margin:14px 0}
.annale-seo-method p{font-size:19px;line-height:1.6}
@media(max-width:900px){
  .annale-seo-intro{grid-template-columns:1fr}
  .annale-skill-grid{grid-template-columns:1fr}
  .annale-skill-card:nth-child(3n+2),.annale-skill-card:nth-child(3n+3){border-left:0}
}


/* Index statique des annales — utile aux élèves et aux moteurs */
.annales-static-index{margin:38px 0 12px;padding:28px 0;border-top:1px solid var(--rule)}
.annales-static-index h3{font-size:32px;font-weight:400;margin:12px 0 20px}
.annales-static-links{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--rule)}
.annales-static-links a{display:grid;gap:5px;padding:18px 16px 18px 0;border-bottom:1px solid var(--rule)}
.annales-static-links a:nth-child(even){border-left:1px solid var(--rule);padding-left:16px}
.annales-static-links strong{font-size:18px;font-weight:400}
.annales-static-links span{font-size:14px;line-height:1.4;color:var(--muted)}
.annales-static-links a:hover strong{color:var(--red)}
@media(max-width:760px){
  .annales-static-links{grid-template-columns:1fr}
  .annales-static-links a:nth-child(even){border-left:0;padding-left:0}
}


/* Finition visuelle — en-tête plus sobre */
.brand:after,.brand-v2:after{display:none}
.mast-v3{border-bottom-color:#b9b1a6}
.mast-v3 .brand{padding-left:0;letter-spacing:-1.1px}
.nav-portals{border-left-color:#d4ccc1}
.portal{border-left-color:#d4ccc1}
.portal:last-child{border-right-color:#d4ccc1}
.portal.active{background:#f0e9df}
.portal.active span{color:var(--ink)}
.nav-offer{background:var(--ink);color:var(--paper);border:1px solid var(--ink)}
.context-tabs{background:#f4efe7;border-bottom-color:#c8c0b5}


/* Homepage polish — editorial conversion system */
:root{
  --paper:#f6f1e8;
  --ink:#11100e;
  --red:#9f2529;
  --muted:#615b54;
  --soft:#ece4d8;
  --soft-2:#f0e9df;
  --line:#c9c0b5;
}
body{background:var(--paper)}
.wrap{max-width:1440px}
.mast-v3{height:92px;grid-template-columns:260px 1fr auto auto;gap:18px}
.mast-v3 .brand{font-size:31px;line-height:.92;letter-spacing:-1.35px}
.portal{padding:0 16px}
.portal span{font-size:17px}
.portal small{font-size:10px;letter-spacing:.65px}
.nav-offer{background:var(--ink);border-radius:999px;padding:12px 18px}
.menu-toggle{border-color:#aaa096;border-radius:999px;padding:11px 15px}
.context-tabs a{font-size:12px}
.funnel-hero{
  grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr);
  gap:82px;
  padding:92px 20px 78px;
  align-items:end;
}
.funnel-copy .kicker{font-size:12px;letter-spacing:2.3px}
.funnel-copy h1{
  font-size:clamp(56px,6.15vw,88px);
  line-height:.96;
  letter-spacing:-4px;
  margin:24px 0 28px;
  max-width:940px;
}
.funnel-copy>p{
  max-width:790px;
  font-size:24px;
  line-height:1.42;
  color:#282520;
}
.hero-trust{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:26px;
}
.hero-trust span{
  border:1px solid var(--line);
  border-radius:999px;
  padding:8px 12px 7px;
  font:11px 'American Typewriter','Courier New',monospace;
  letter-spacing:.35px;
  color:var(--muted);
  background:rgba(255,255,255,.18);
}
.funnel-actions{margin-top:34px;gap:22px}
.funnel-actions .btn{min-width:300px;height:56px;padding:0 24px;font-size:18px}
.btn.red{background:var(--ink);border-color:var(--ink);color:var(--paper);border-radius:3px}
.home-text-link{font-size:16px;border-bottom:1px solid #9e9589;padding-bottom:3px}
.funnel-proof{
  border-left:0;
  border-top:1px solid var(--ink);
  padding:24px 0 2px;
  align-self:end;
}
.funnel-proof>span{color:var(--muted);margin-bottom:13px}
.funnel-proof strong{font-size:30px;line-height:1.14}
.funnel-proof p{font-size:16px;line-height:1.55;color:#37332e;max-width:390px}
.proof-link{display:inline-block;margin-top:8px;font-size:15px;border-bottom:1px solid #9e9589;padding-bottom:2px}
.home-demo{padding-top:8px;padding-bottom:12px}
.section-intro{padding:56px 20px 30px;gap:64px}
.section-intro h2{font-size:44px}
.funnel-two>a{padding-top:38px;padding-bottom:42px}
.funnel-two>a h3{font-size:35px}
.funnel-steps article{min-height:225px}
.funnel-free{padding-bottom:12px}
.free-trials a{min-height:118px}
.funnel-offer{
  background:var(--soft-2);
  padding:54px 20px;
}
.funnel-offer h2{font-size:40px;margin-bottom:6px}
.offer-price{font:14px 'American Typewriter','Courier New',monospace!important;letter-spacing:.4px;color:var(--ink);margin:0 0 18px!important}
.funnel-offer .btn{min-width:330px}
.funnel-teachers{padding-left:20px;padding-right:20px}
@media(max-width:1050px){
  .funnel-hero{grid-template-columns:1fr;gap:42px;padding-top:64px}
  .funnel-copy h1{font-size:clamp(52px,9vw,76px)}
  .funnel-proof{max-width:720px}
}
@media(max-width:700px){
  .funnel-hero{padding:48px 8px 44px}
  .funnel-copy h1{font-size:47px;letter-spacing:-2.4px}
  .funnel-copy>p{font-size:20px}
  .hero-trust{gap:6px}
  .hero-trust span{font-size:10px;padding:7px 9px}
  .funnel-actions{align-items:stretch;flex-direction:column}
  .funnel-actions .btn{min-width:0;width:100%}
  .section-intro{padding-left:8px;padding-right:8px}
  .section-intro h2{font-size:38px}
  .funnel-two{grid-template-columns:1fr}
  .funnel-two>a+a{border-left:0;padding-left:18px}
  .funnel-steps{grid-template-columns:1fr 1fr}
  .funnel-steps article:nth-child(odd){border-left:0}
  .free-trials{grid-template-columns:1fr 1fr}
  .free-trials a:nth-child(odd){border-left:0}
  .funnel-offer{grid-template-columns:1fr;padding-left:8px;padding-right:8px}
  .funnel-offer .btn{min-width:0}
}


/* Direction artistique globale — octobre 2026 */
body{
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
main.wrap{overflow:hidden}
.pagehead{
  grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);
  gap:84px;
  padding:76px 20px 62px;
  align-items:end;
}
.pagehead h1{
  font-size:clamp(52px,5.3vw,78px);
  line-height:.98;
  letter-spacing:-3.2px;
  max-width:980px;
  margin:20px 0 22px;
}
.lede{
  max-width:820px;
  font-size:23px;
  line-height:1.42;
  color:#2f2b27;
}
.side-note{
  border-left:0;
  border-top:1px solid var(--ink);
  padding:22px 0 0;
  max-width:430px;
}
.side-note p{
  font-size:16px;
  line-height:1.55;
  color:#37322d;
  margin:0 0 14px;
}
.kicker,.eyebrow{
  color:var(--muted);
  font-size:11px;
  letter-spacing:2.1px;
}
.journey-block{
  grid-template-columns:70px 1fr;
  gap:34px;
  padding:58px 20px;
}
.journey-block.primary{background:var(--soft-2)}
.journey-block h2{font-size:43px}
.journey-block p{font-size:19px;max-width:840px}
.journey-number{color:var(--muted)}
.journey-grid>a,
.funnel-two>a,
.procedure-mode-grid>a,
.teacher-level,
.archive-card,
.annales-static-links a,
.seo-links a{
  transition:background .16s ease,transform .16s ease,border-color .16s ease;
}
.journey-grid>a:hover,
.funnel-two>a:hover,
.procedure-mode-grid>a:hover,
.teacher-level:hover,
.archive-card:hover,
.annales-static-links a:hover,
.seo-links a:hover{
  background:#f0e9df;
}
.journey-grid>a:focus-visible,
.funnel-two>a:focus-visible,
.procedure-mode-grid>a:focus-visible,
.teacher-level:focus-visible,
.annales-static-links a:focus-visible,
.seo-links a:focus-visible,
.btn:focus-visible,
.nav-offer:focus-visible,
.menu-toggle:focus-visible{
  outline:2px solid var(--ink);
  outline-offset:3px;
}
.btn{
  border-radius:2px;
  min-height:52px;
  height:auto;
  padding:14px 22px;
  font-size:17px;
  gap:20px;
}
.btn.small{min-width:0}
.btn:not(.red){background:transparent}
.official-link,
.seo-links a span,
.annales-static-links a span,
.journey-grid b,
.funnel-two b,
.procedure-mode-grid b{
  color:#5f5952;
}
.journey-grid b,
.funnel-two b,
.procedure-mode-grid b{
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:4px;
}
.archive-section,.guided-section,.procedure-modes,.teacher-sequence{
  padding-left:20px;
  padding-right:20px;
}
.archive-head{
  grid-template-columns:minmax(0,1fr) minmax(300px,.75fr);
  gap:64px;
}
.archive-head h2{
  font-size:clamp(38px,4vw,58px);
  letter-spacing:-1.6px;
}
.archive-head p{font-size:17px;line-height:1.55}
.archive-card{
  background:transparent;
  border-color:var(--line)!important;
}
.archive-card.current{background:var(--soft-2)}
.annales-static-index{margin-top:52px}
.annales-static-links a{padding:20px 16px}
.offer-access-grid{
  gap:0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.offer-access-grid article{
  padding:46px 34px;
  background:transparent;
}
.offer-access-grid article+article{
  border-left:1px solid var(--line);
}
.offer-access-grid article.premium{background:var(--soft-2)}
.offer-access-grid h2{
  font-size:36px;
  line-height:1.08;
  font-weight:400;
}
.offer-access-grid p{font-size:17px;line-height:1.55}
.payment-coming{
  border-top:1px solid var(--line);
  margin-top:28px;
  padding-top:20px;
}
.offer-band{
  background:transparent;
  border-top:1px solid var(--line);
  padding:54px 20px;
}
.offer-band h2{
  max-width:980px;
  font-size:40px;
  line-height:1.08;
  font-weight:400;
}
.offer-band p{max-width:880px;font-size:17px;line-height:1.6}
.teacher-levels{border-color:var(--line)}
.teacher-level{padding:40px 28px;min-height:260px}
.teacher-level h2{font-size:34px;font-weight:400}
.teacher-level p{font-size:17px;line-height:1.5}
.teacher-sequence{padding-top:58px;padding-bottom:58px}
.teacher-sequence h2{font-size:42px;font-weight:400}
.sequence-spec{border-top:1px solid var(--line)}
.sequence-spec p{font-size:16px;line-height:1.55}
.seo-body{
  max-width:1120px;
  padding:58px 20px 80px;
}
.seo-body>h2{
  font-size:44px;
  font-weight:400;
  margin-top:0;
}
.seo-body>p{
  max-width:850px;
  font-size:19px;
  line-height:1.65;
}
.seo-links{
  margin-top:34px;
  border-top:1px solid var(--line);
}
.seo-links a{
  min-height:110px;
  padding:24px 18px;
  border-color:var(--line);
}
.seo-links strong{font-size:22px;font-weight:400}
.context-tabs{
  position:sticky;
  top:0;
  z-index:40;
  backdrop-filter:blur(8px);
  background:rgba(246,241,232,.94);
}
.portal-dropdown{
  box-shadow:0 16px 40px rgba(0,0,0,.08);
  border-color:var(--line)!important;
}
.portal-dropdown a:hover{background:#f0e9df}
@media(max-width:1050px){
  .pagehead{grid-template-columns:1fr;gap:38px;padding-top:58px}
  .side-note{max-width:720px}
  .archive-head{grid-template-columns:1fr}
  .context-tabs{position:static}
}
@media(max-width:700px){
  .wrap{width:calc(100% - 24px)}
  .mast-v3{height:78px}
  .mast-v3 .brand{font-size:27px}
  .pagehead{padding:44px 6px 40px}
  .pagehead h1{font-size:46px;letter-spacing:-2.2px}
  .lede{font-size:19px}
  .journey-block{grid-template-columns:44px 1fr;padding:42px 6px}
  .journey-block h2{font-size:35px}
  .archive-section,.guided-section,.procedure-modes,.teacher-sequence{padding-left:6px;padding-right:6px}
  .offer-access-grid{grid-template-columns:1fr}
  .offer-access-grid article{padding:36px 18px}
  .offer-access-grid article+article{border-left:0;border-top:1px solid var(--line)}
  .offer-band{padding:42px 6px}
  .offer-band h2{font-size:34px}
  .seo-body{padding:44px 6px 64px}
}


/* 2026-10 — navigation unique et moteur pédagogique */
.procedure-library{padding:58px 18px;border-bottom:1px solid var(--rule)}
.procedure-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:28px}
.procedure-card-grid article{background:#fbf8f1;border:1px solid #cfc6ba;padding:22px;min-height:250px}
.procedure-card-grid article>span{font:11px 'American Typewriter','Courier New',monospace;letter-spacing:1.6px;color:var(--red);text-transform:uppercase}
.procedure-card-grid h3{font-size:25px;margin:10px 0 14px}
.procedure-card-grid p{font-size:16px;line-height:1.5;margin:8px 0}
.brevet-feedback-principle,.annales-matrix{padding:58px 18px;border-bottom:1px solid var(--rule)}
.brevet-feedback-principle .offer-band{margin-top:30px}
.annales-matrix .procedure-mode-grid article{border:1px solid #cfc6ba;padding:22px;background:#fbf8f1}
.annales-matrix .procedure-mode-grid article span{font:11px 'American Typewriter','Courier New',monospace;color:var(--red);letter-spacing:1px}
@media(max-width:1050px){.procedure-card-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.procedure-card-grid{grid-template-columns:1fr}.procedure-card-grid article{min-height:0}}


/* 2026-10-03 — navigation principale toujours visible */
.mast-v3{
  grid-template-columns:220px minmax(0,1fr) auto;
  gap:0;
}
.nav-portals{
  display:grid !important;
  min-width:0;
  overflow:visible;
}
.portal-wrap>.portal{
  color:var(--ink);
  background:var(--paper);
}
.portal-wrap>.portal span{
  color:var(--ink);
}
.portal-wrap>.portal small,
.portal-wrap>.portal i{
  color:var(--muted);
}
.portal-wrap>.portal:hover,
.portal-wrap>.portal:focus,
.portal-wrap.open>.portal,
.portal-wrap:focus-within>.portal{
  background:#eee4d3;
}
.portal-dropdown{
  color:var(--ink);
  background:var(--paper);
}
.portal-dropdown a,
.portal-dropdown strong,
.portal-dropdown small{
  color:var(--ink);
}
.portal-dropdown small{color:var(--muted)}
.menu-toggle,
.site-menu{
  display:none !important;
}

@media(max-width:950px){
  .mast-v3{
    height:auto;
    min-height:0;
    grid-template-columns:1fr auto;
    align-items:center;
  }
  .mast-v3 .brand{
    min-height:78px;
    display:flex;
    align-items:center;
  }
  .nav-offer{
    margin-right:0;
  }
  .nav-portals{
    grid-column:1/-1;
    grid-row:2;
    width:100%;
    grid-template-columns:repeat(5,minmax(130px,1fr));
    overflow-x:auto;
    border-top:1px solid var(--rule);
    border-left:0;
    scrollbar-width:thin;
  }
  .portal-wrap{
    min-width:130px;
    height:72px;
  }
  .portal-wrap>.portal{
    min-height:72px;
    padding:10px 28px 10px 14px;
    border-left:0;
    border-right:1px solid #c4bbae;
  }
  .portal-dropdown{
    display:none !important;
  }
}

@media(max-width:620px){
  .mast-v3{
    grid-template-columns:1fr;
  }
  .mast-v3 .brand{
    min-height:72px;
  }
  .nav-offer{
    display:none;
  }
  .nav-portals{
    grid-row:2;
  }
  .portal-wrap{
    min-width:124px;
  }
  .portal-wrap>.portal span{
    font-size:16px;
  }
  .portal-wrap>.portal small{
    font-size:9px;
  }
}


/* 2026-10-03 — navigation marketing : 4 portes fermées + menus déroulants */
.mast-v3{
  grid-template-columns:220px minmax(0,1fr) auto;
  gap:18px;
  padding:12px 0;
  height:auto;
  min-height:104px;
  align-items:center;
}
.nav-portals{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(155px,1fr));
  gap:10px;
  height:auto;
  overflow:visible;
  border:0;
}
.portal-wrap{
  height:72px;
  min-width:0;
}
.portal-wrap>.portal{
  min-height:72px;
  height:72px;
  border:1px solid #9f978b !important;
  background:#fffdf8;
  padding:12px 34px 12px 15px;
  display:flex;
  justify-content:center;
  position:relative;
}
.portal-wrap>.portal:hover,
.portal-wrap>.portal:focus,
.portal-wrap.open>.portal,
.portal-wrap:focus-within>.portal{
  background:#eee4d3;
  border-color:var(--ink) !important;
}
.portal-wrap>.portal.active{
  background:#eee4d3;
  border-color:var(--red) !important;
}
.portal-wrap>.portal span{
  font:700 15px 'American Typewriter','Courier New',monospace;
  letter-spacing:1.2px;
  color:var(--ink);
}
.portal-wrap>.portal small{
  margin-top:4px;
  font:10px 'American Typewriter','Courier New',monospace;
  letter-spacing:.3px;
  text-transform:none;
  color:var(--muted);
}
.portal-wrap>.portal i{
  right:12px;
  color:var(--red);
}
.portal-dropdown{
  top:calc(100% + 8px);
  min-width:310px;
  max-width:360px;
  padding:6px;
  background:#fffdf8;
  border:1px solid var(--ink);
  box-shadow:0 18px 38px rgba(0,0,0,.14);
}
.portal-dropdown:before{
  content:'';
  position:absolute;
  top:-9px;
  left:20px;
  width:16px;
  height:16px;
  background:#fffdf8;
  border-left:1px solid var(--ink);
  border-top:1px solid var(--ink);
  transform:rotate(45deg);
}
.portal-dropdown a{
  position:relative;
  z-index:1;
  background:#fffdf8;
  padding:12px 13px;
  border-bottom:1px solid #d8d0c5;
}
.portal-dropdown a:last-child{border-bottom:0}
.portal-dropdown a:hover,
.portal-dropdown a:focus{
  background:#eee4d3;
}
.portal-dropdown strong{
  font-size:16px;
  color:var(--ink);
}
.portal-dropdown small{
  color:var(--muted);
}
.portal-wrap:nth-child(3) .portal-dropdown,
.portal-wrap:nth-child(4) .portal-dropdown{
  left:auto;
  right:0;
}
.portal-wrap:nth-child(3) .portal-dropdown:before,
.portal-wrap:nth-child(4) .portal-dropdown:before{
  left:auto;
  right:20px;
}
.nav-offer{
  border:1px solid var(--red);
  padding:14px 16px;
  font-size:14px;
  white-space:nowrap;
}

@media(max-width:1050px){
  .mast-v3{
    grid-template-columns:1fr auto;
    gap:10px;
  }
  .nav-portals{
    grid-column:1/-1;
    grid-row:2;
    grid-template-columns:repeat(4,minmax(145px,1fr));
    width:100%;
    overflow:visible;
    border-top:0;
  }
  .portal-wrap{
    min-width:0;
    height:68px;
  }
  .portal-wrap>.portal{
    min-height:68px;
    height:68px;
  }
  .portal-dropdown{
    display:none;
  }
  .portal-wrap.open .portal-dropdown,
  .portal-wrap:focus-within .portal-dropdown{
    display:grid;
  }
}

@media(max-width:760px){
  .nav-portals{
    overflow-x:auto;
    grid-template-columns:repeat(4,minmax(140px,1fr));
    scrollbar-width:thin;
  }
  .portal-dropdown{
    display:none !important;
  }
}


/* 2026-10-03 — menus par intention + offre discrète */
.mast-v3{
  grid-template-columns:220px minmax(0,1fr);
}
.portal-dropdown{
  min-width:340px;
  max-width:390px;
}
.portal-dropdown-head{
  padding:10px 13px 9px;
  border-bottom:1px solid #d8d0c5;
  background:#f3eee5;
}
.portal-dropdown-head strong{
  font:11px 'American Typewriter','Courier New',monospace;
  letter-spacing:1.2px;
  text-transform:uppercase;
  color:var(--muted);
}
.portal-dropdown a{
  padding:13px 14px;
}
.portal-dropdown a strong{
  display:block;
  margin-bottom:3px;
}
.portal-offer{
  margin-top:6px;
  border-top:1px solid var(--ink) !important;
  border-bottom:0 !important;
  background:#181715 !important;
}
.portal-offer strong,
.portal-offer small{
  color:#fff !important;
}
.portal-offer:hover,
.portal-offer:focus{
  background:#2a2825 !important;
}
.nav-offer{display:none !important;}

@media(max-width:1050px){
  .mast-v3{
    grid-template-columns:1fr;
  }
  .mast-v3 .brand{
    grid-row:1;
  }
  .nav-portals{
    grid-column:1;
    grid-row:2;
  }
}


/* 2026-10-03 — FIX DÉFINITIF MENUS DÉROULANTS
   Le survol seul doit ouvrir le panneau sur ordinateur. */
.top{
  position:relative;
  z-index:1000;
  overflow:visible !important;
}
.mast-v3,
.nav-portals,
.portal-wrap{
  overflow:visible !important;
}
.portal-wrap{
  position:relative;
  z-index:1;
}
.portal-wrap:hover,
.portal-wrap.open,
.portal-wrap:focus-within{
  z-index:1100;
}
.portal-dropdown{
  top:100% !important;
  z-index:1200 !important;
  margin-top:0 !important;
}

/* Desktop et petits portables : CSS pur, aucun clic nécessaire. */
@media (min-width:761px){
  .nav-portals{
    display:grid !important;
  }
  .portal-wrap .portal-dropdown{
    display:none !important;
  }
  .portal-wrap:hover .portal-dropdown,
  .portal-wrap.open .portal-dropdown,
  .portal-wrap:focus-within .portal-dropdown{
    display:grid !important;
  }
}

/* À largeur intermédiaire, garder les 4 portes visibles au lieu de les masquer. */
@media (min-width:761px) and (max-width:1050px){
  .mast-v3{
    grid-template-columns:1fr !important;
    min-height:0;
    height:auto !important;
    gap:0 !important;
  }
  .mast-v3 .brand{
    min-height:72px;
  }
  .nav-portals{
    grid-column:1 !important;
    grid-row:2 !important;
    grid-template-columns:repeat(4,minmax(135px,1fr)) !important;
    overflow:visible !important;
    border-top:1px solid var(--rule);
  }
  .portal-wrap{
    min-width:0 !important;
    height:68px !important;
  }
  .portal-wrap>.portal{
    min-height:68px !important;
    height:68px !important;
  }
  .portal-dropdown{
    min-width:300px !important;
  }
}

/* Téléphone : pas de faux hover ; navigation horizontale simple. */
@media (max-width:760px){
  .nav-portals{
    display:grid !important;
    grid-template-columns:repeat(4,minmax(135px,1fr)) !important;
    overflow-x:auto !important;
    overflow-y:visible !important;
  }
  .portal-dropdown{
    display:none !important;
  }
}


/* Pied de page de confiance */
.site-footer{border-top:1px solid var(--rule);margin-top:56px;padding:24px 0 34px;font-size:14px;color:var(--muted)}
.site-footer .wrap{display:flex;gap:24px;flex-wrap:wrap}
.site-footer a{border-bottom:1px solid transparent}
.site-footer a:hover{border-bottom-color:var(--red);color:var(--ink)}
.correction-lock-note{margin:10px 0 0;color:var(--red)}
@media(max-width:760px){.site-footer .wrap{gap:14px 20px}}


/* Homepage marketing refinement — compact, literary, high-contrast */
.hero-lead strong{font-weight:600;color:var(--ink)}
.marketing-contrast{padding:18px 0 62px;border-top:1px solid var(--rule)}
.marketing-contrast-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:18px}
.marketing-contrast-head h2{font-size:clamp(34px,4vw,54px);font-weight:400;line-height:1;margin:8px 0 0}
.marketing-contrast-grid{display:grid;grid-template-columns:1fr 1.18fr;border:1px solid var(--rule);background:#f3eee5}
.marketing-contrast-card{padding:28px 30px;min-height:180px}
.marketing-contrast-card+ .marketing-contrast-card{border-left:1px solid var(--rule)}
.marketing-contrast-card span{display:block;font:12px 'American Typewriter','Courier New',monospace;letter-spacing:1.8px;color:var(--red);margin-bottom:18px}
.marketing-contrast-card p{font-size:21px;line-height:1.55;margin:0}
.marketing-contrast-card.muted-card{color:#5e5a53}
.marketing-contrast-card.strong-card{background:var(--ink);color:var(--paper)}
.marketing-contrast-card.strong-card span{color:#d9a49c}
.marketing-contrast-card.strong-card strong{font-weight:600}
.funnel-copy h1{max-width:900px}
.funnel-copy .hero-lead{max-width:760px}
@media(max-width:760px){
  .marketing-contrast{padding-bottom:44px}
  .marketing-contrast-head{display:block}
  .marketing-contrast-grid{grid-template-columns:1fr}
  .marketing-contrast-card+ .marketing-contrast-card{border-left:0;border-top:1px solid var(--rule)}
  .marketing-contrast-card{min-height:0;padding:24px 22px}
  .marketing-contrast-card p{font-size:19px}
}


/* Pot-Bouille — progression didactique et fiches, octobre 2026 */
.didactic-flow{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  border-top:1px solid var(--line);
  border-left:1px solid var(--line);
  margin-top:28px;
}
.didactic-flow article{
  padding:24px 22px;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
  min-height:190px;
}
.didactic-flow article>span{
  display:block;
  font:700 11px 'American Typewriter','Courier New',monospace;
  color:var(--red);
  letter-spacing:1.6px;
  margin-bottom:14px;
}
.didactic-flow strong{
  display:block;
  font-size:19px;
  margin-bottom:9px;
}
.didactic-flow p{
  font-size:15px!important;
  line-height:1.5!important;
  margin:0!important;
}
.didactic-cards>div{
  border:1px solid var(--line);
  padding:22px;
  background:#fbf8f1;
}
.didactic-cards strong{
  display:block;
  font:700 12px 'American Typewriter','Courier New',monospace;
  letter-spacing:1px;
  color:var(--red);
  margin-bottom:10px;
}
.didactic-note{
  border:1px solid #bbb2a6;
  background:#eeeae3;
  padding:20px 22px;
  margin:24px 0;
}
.didactic-note.compact{max-width:880px}
.didactic-note>strong{
  display:block;
  font:700 11px 'American Typewriter','Courier New',monospace;
  letter-spacing:1.4px;
  color:var(--red);
  margin-bottom:8px;
}
.didactic-note p{
  margin:0!important;
  font-size:15px!important;
  line-height:1.5!important;
}
.method-strip{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border:1px solid #a9a196;
  margin:24px 0 16px;
}
.method-strip>div{
  padding:18px 16px;
  min-height:112px;
}
.method-strip>div+div{border-left:1px solid #a9a196}
.method-strip strong{
  display:block;
  font:700 11px 'American Typewriter','Courier New',monospace;
  letter-spacing:.7px;
  margin-bottom:9px;
}
.method-strip span{
  display:block;
  font-size:14px;
  line-height:1.4;
}
.problem-choice{
  max-width:940px;
  margin:22px 0 18px;
  border-top:1px solid var(--line);
}
.problem-choice p{
  padding:16px 4px;
  margin:0!important;
  border-bottom:1px solid var(--line);
}
@media(max-width:900px){
  .didactic-flow{grid-template-columns:1fr 1fr}
  .method-strip{grid-template-columns:1fr 1fr}
  .method-strip>div:nth-child(3){border-left:0;border-top:1px solid #a9a196}
  .method-strip>div:nth-child(4){border-top:1px solid #a9a196}
}
@media(max-width:620px){
  .didactic-flow{grid-template-columns:1fr}
  .method-strip{grid-template-columns:1fr}
  .method-strip>div+div{border-left:0;border-top:1px solid #a9a196}
}


/* Pot-Bouille — identité typographique des documents */
.pot-bouille-doc main,
.pot-bouille-doc .offer-band,
.pot-bouille-doc .teacher-sequence,
.pot-bouille-doc .sequence-spec,
.pot-bouille-doc .didactic-note,
.pot-bouille-doc .didactic-flow,
.pot-bouille-doc .didactic-cards,
.pot-bouille-doc .method-strip,
.pot-bouille-doc .problem-choice{
  font-family:'American Typewriter','Courier New',monospace;
}
.pot-bouille-doc em{
  font-family:Georgia,'Times New Roman',serif;
  font-style:italic;
}
.pot-bouille-doc ul,
.pot-bouille-doc ol{
  list-style:none;
  padding-left:0;
}
.pot-bouille-doc .offer-band{
  padding-top:58px;
  padding-bottom:58px;
}
.pot-bouille-doc .sequence-spec p{
  padding-top:20px;
  padding-bottom:20px;
  line-height:1.62;
}
.pot-bouille-doc .excerpt-sheet{
  background:#fff;
}
.pot-bouille-doc .excerpt-sheet .excerpt-meta,
.pot-bouille-doc .excerpt-sheet .micro{
  font-family:Arial,Helvetica,sans-serif;
}
.pot-bouille-doc .excerpt-sheet .literary-extract{
  display:block;
  max-width:820px;
  margin:26px auto 18px;
  padding:28px 34px;
  background:#fff;
  border:0;
  font-family:Arial,Helvetica,sans-serif;
  font-size:12pt;
  line-height:1.48;
}
.pot-bouille-doc .excerpt-sheet .literary-extract p{
  font-family:Arial,Helvetica,sans-serif;
  font-size:12pt;
  line-height:1.48;
  margin:0 0 12pt;
  padding:0;
  border:0;
}
@media print{
  .pot-bouille-doc .excerpt-sheet{
    margin:0;
    padding:12mm 14mm;
    border:0;
  }
  .pot-bouille-doc .excerpt-sheet .literary-extract{
    max-width:none;
    margin:0;
    padding:0;
    font-family:Arial,Helvetica,sans-serif;
    font-size:12pt;
    line-height:1.45;
  }
  .pot-bouille-doc .excerpt-sheet .literary-extract p{
    font-family:Arial,Helvetica,sans-serif;
    font-size:12pt;
    line-height:1.45;
  }
}


/* Marketing conversion — octobre 2026 */
.current-program{
  border-top:1px solid var(--rule);
  border-bottom:1px solid var(--rule);
  padding:18px 20px 48px;
  background:#f0ebe2;
}
.current-program .section-intro{
  padding-left:0;
  padding-right:0;
  padding-bottom:18px;
}
.current-program-actions{
  display:flex;
  align-items:center;
  gap:26px;
  flex-wrap:wrap;
}
.current-program-actions .btn{min-width:320px}
.lead-form{
  max-width:760px;
  margin-top:26px;
  display:grid;
  gap:18px;
}
.lead-form label{
  display:grid;
  gap:8px;
  font:13px 'American Typewriter','Courier New',monospace;
  letter-spacing:.5px;
}
.lead-form input[type="email"],
.lead-form select{
  width:100%;
  border:1px solid #8f887e;
  background:#fffdf8;
  padding:14px;
  font:17px Georgia,'Times New Roman',serif;
}
.lead-form .lead-consent{
  grid-template-columns:22px 1fr;
  align-items:start;
  font-family:Georgia,'Times New Roman',serif;
  font-size:15px;
  letter-spacing:0;
  line-height:1.45;
}
.lead-form .lead-consent input{margin-top:4px}
.hidden-field{display:none!important}
.faq-list{
  max-width:900px;
  border-top:1px solid var(--line);
  margin-top:24px;
}
.faq-list details{
  border-bottom:1px solid var(--line);
  padding:18px 0;
}
.faq-list summary{
  cursor:pointer;
  font-size:19px;
  font-weight:600;
}
.faq-list details p{
  margin:12px 0 0;
  max-width:760px;
}
.corpus-card.featured-program{
  background:#eee4d3;
  border-top-color:var(--red);
}
@media(max-width:700px){
  .current-program{padding-left:8px;padding-right:8px}
  .current-program-actions{align-items:stretch;flex-direction:column}
  .current-program-actions .btn{min-width:0;width:100%}
}


/* SEO navigation: server-rendered breadcrumb trail */
.seo-breadcrumbs{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.45rem;
  padding-top:1rem;
  padding-bottom:.25rem;
  font-size:.88rem;
  line-height:1.4;
}
.seo-breadcrumbs a{
  text-decoration:none;
}
.seo-breadcrumbs [aria-current="page"]{
  opacity:.72;
}

/* Laboratoire de l'effet ici */
.effect-proof-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border-top:1px solid var(--rule);border-left:1px solid var(--rule);margin:50px 18px 70px}
.effect-proof-grid article{padding:30px;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);min-height:320px}
.effect-proof-grid article>span{font:12px 'American Typewriter','Courier New',monospace;letter-spacing:1.5px;color:var(--red)}
.effect-proof-grid h2{font-size:34px;font-weight:400;margin:24px 0 16px}
.quote-small{font-size:21px;line-height:1.4}
.weak-effect{padding:14px 16px;background:#eee4d3;border-left:4px solid #777}
.effect-lab{padding-top:20px}
.effect-lab-controls{display:grid;grid-template-columns:1fr 320px;gap:14px;margin:24px 0 12px}
.effect-lab-controls input,.effect-lab-controls select{font:16px Georgia,'Times New Roman',serif;background:#fffdf8;border:1px solid #999;padding:13px 14px}
@media(max-width:800px){.effect-proof-grid{grid-template-columns:1fr}.effect-lab-controls{grid-template-columns:1fr}}


/* Philosophie — laboratoire unique + diagnostic */
.philo-lab-filters{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.philo-filter,.philo-reset{border:1px solid var(--line,#c9c0b5);background:transparent;padding:10px 14px;cursor:pointer;font:13px 'American Typewriter','Courier New',monospace}
.philo-filter:hover,.philo-filter.selected,.philo-reset:hover{background:var(--ink,#11100e);color:var(--paper,#f6f1e8);border-color:var(--ink,#11100e)}
.philo-lab-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--rule);border-left:1px solid var(--rule);margin:0 0 48px}
.philo-lab-card{display:flex;flex-direction:column;min-height:250px;padding:24px;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);background:#f6f1e8}
.philo-lab-card:hover{background:#eee4d3}
.philo-lab-card>span{font:11px 'American Typewriter','Courier New',monospace;letter-spacing:1.2px;text-transform:uppercase;color:var(--red)}
.philo-lab-card h2{font-size:27px;font-weight:400;line-height:1.08;margin:24px 0 12px}
.philo-lab-card p{font-size:17px;line-height:1.45;margin:0 0 24px}
.philo-lab-card b{margin-top:auto;color:var(--red);font-weight:400}
.philo-diagnostic{max-width:920px;margin:0 auto 60px;padding:38px 0}
.philo-diagnostic .diag-options{display:grid;gap:12px}
.philo-diagnostic .diag-option{width:100%;background:#fffdf8;border:1px solid #918a80;padding:16px 18px;text-align:left;font:18px Georgia,'Times New Roman',serif;line-height:1.4;cursor:pointer}
.philo-diagnostic .diag-option:hover{border-color:var(--red);background:#f3ece2}
.philo-diagnostic .diag-progress{font:12px 'American Typewriter','Courier New',monospace;letter-spacing:1.6px;color:var(--red);margin-bottom:18px}
.philo-diagnostic .diag-question{font-size:38px;font-weight:400;line-height:1.08;margin:18px 0 24px}
.philo-diagnostic .diag-context{font-size:19px;line-height:1.5;background:#eee4d3;padding:20px;margin-bottom:22px}
.philo-diagnostic .diag-result{border-top:1px solid var(--rule);padding-top:28px}
.philo-diagnostic .diag-result h2{font-size:46px;font-weight:400;margin:8px 0 14px}
.philo-diagnostic .prescription{background:#eee4d3;padding:22px;margin:22px 0;font-size:19px;line-height:1.5}
@media(max-width:900px){.philo-lab-grid{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.philo-lab-grid{grid-template-columns:1fr}.philo-diagnostic .diag-question{font-size:30px}}

/* Priority conversion gateway */
.priority-gateway{padding-top:34px;padding-bottom:44px}
.priority-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.priority-grid>a{padding:28px 26px 30px;min-height:220px;display:flex;flex-direction:column;gap:10px;transition:transform .15s ease,background .15s ease}
.priority-grid>a+a{border-left:1px solid var(--rule)}
.priority-grid>a:hover{background:#eee4d3;transform:translateY(-2px)}
.priority-grid span{font-family:'American Typewriter','Courier New',monospace;font-size:12px;letter-spacing:1.7px;color:var(--red);font-weight:700}
.priority-grid strong{font-size:29px;line-height:1.05}
.priority-grid p{font-size:17px;line-height:1.4;margin:0;max-width:360px}
.priority-grid b{margin-top:auto;color:var(--red);font-size:17px}
@media(max-width:900px){.priority-grid{grid-template-columns:1fr}.priority-grid>a+a{border-left:0;border-top:1px solid var(--rule)}}


/* Performance et accessibilité 2026 */
.skip-link{
  position:fixed;left:12px;top:12px;z-index:9999;
  transform:translateY(-160%);background:var(--ink);color:var(--paper);
  padding:12px 16px;border:2px solid var(--paper);font-weight:700
}
.skip-link:focus{transform:translateY(0)}
:focus-visible{outline:3px solid var(--red);outline-offset:3px}
.portal-dropdown a:focus-visible{outline:3px solid var(--red);outline-offset:-3px}

/* Les longues pages pédagogiques évitent le rendu hors écran jusqu'à l'approche du viewport. */
main>section:nth-of-type(n+3){
  content-visibility:auto;
  contain-intrinsic-size:auto 680px;
}

.mobile-nav-toggle{
  display:none;background:transparent;border:1px solid var(--rule);
  padding:11px 14px;font:14px 'American Typewriter','Courier New',monospace;
  color:var(--ink);cursor:pointer
}
.mobile-nav{display:none;border-bottom:1px solid var(--rule);background:var(--paper)}
.mobile-nav a{display:grid;gap:3px;padding:15px 4px;border-top:1px solid #c8bfb3}
.mobile-nav strong{font-size:18px;font-weight:400}
.mobile-nav span{font:11px 'American Typewriter','Courier New',monospace;color:var(--muted);letter-spacing:.3px}

@media(max-width:1050px){
  .mobile-nav-toggle{display:block;justify-self:end}
  .mobile-nav:not([hidden]){display:grid}
}
@media(max-width:760px){
  .mobile-nav{width:calc(100% - 32px)}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
}

/* ---------- Navigation : six portails (HLP ajouté) ---------- */
.nav-portals{grid-template-columns:repeat(6,minmax(92px,1fr))}
.nav-portals .portal{padding-left:16px;padding-right:16px}

/* ---------- HLP : banque d'annales ---------- */
.hlp-filters{display:grid;gap:18px;margin:18px 0 8px}
.hlp-filter-label{display:block;font:12px 'American Typewriter','Courier New',monospace;letter-spacing:1.2px;text-transform:uppercase;color:var(--muted)}
.hlp-filter-group .manual-choice-list{margin:8px 0 0}
.hlp-search input{display:block;width:100%;max-width:560px;margin-top:8px;padding:11px 13px;border:1px solid #8e877c;background:#fffdf8;font:16px 'American Typewriter','Courier New',monospace}
.hlp-search input:focus{outline:2px solid var(--red);outline-offset:1px}
.hlp-count{font:13px 'American Typewriter','Courier New',monospace;color:var(--muted);margin:20px 0 0}
.hlp-bank{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--rule);margin-top:10px}
.hlp-card{padding:24px 22px 22px 0;border-bottom:1px solid var(--rule);display:flex;flex-direction:column;gap:6px}
.hlp-card:nth-child(even){border-left:1px solid var(--rule);padding-left:22px}
.hlp-card header{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;font:12px 'American Typewriter','Courier New',monospace;letter-spacing:.8px;text-transform:uppercase}
.hlp-when{color:var(--red)}
.hlp-code{color:var(--muted)}
.hlp-card h3{font-size:26px;font-weight:400;margin:8px 0 0}
.hlp-work{margin:0;font-size:17px;color:var(--muted)}
.hlp-card dl{margin:12px 0 4px}
.hlp-card dt{font:12px 'American Typewriter','Courier New',monospace;letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin-top:12px}
.hlp-card dd{margin:4px 0 0;font-size:18px;line-height:1.45}
.hlp-entree{margin:8px 0 0;font-size:15px}
.hlp-entree span{color:var(--muted)}
.hlp-actions{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:auto;padding-top:10px}
.hlp-actions a{color:var(--red);font-size:16px}
.hlp-actions a:hover{text-decoration:underline}
.hlp-stats{width:100%;border-collapse:collapse;font-size:16px;margin-top:10px}
.hlp-stats th{text-align:left;font:12px 'American Typewriter','Courier New',monospace;letter-spacing:1px;text-transform:uppercase;color:var(--muted);padding:10px 12px 10px 0;border-bottom:1px solid var(--rule)}
.hlp-stats td{padding:12px 12px 12px 0;border-bottom:1px solid var(--rule)}
.hlp-stats td:nth-child(n+3),.hlp-stats th:nth-child(n+3){text-align:right}
@media(max-width:760px){
  .hlp-bank{grid-template-columns:1fr}
  .hlp-card,.hlp-card:nth-child(even){border-left:0;padding-left:0;padding-right:0}
  .hlp-stats th:nth-child(2),.hlp-stats td:nth-child(2){display:none}
}

/* ---------- HLP : fiches statiques et pages sujet ---------- */
.hlp-card[hidden]{display:none}
.hlp-card h3 a:hover{color:var(--red)}
.hlp-note{margin:8px 0 0;padding:10px 12px;border-left:3px solid var(--red);background:#eee4d3;font-size:15px;line-height:1.45}
.hlp-stats caption{caption-side:bottom;text-align:left;padding-top:10px}
.hlp-questions{margin-top:18px}
.offer-band .hlp-q,.hlp-q{font-size:24px;line-height:1.35;margin:10px 0 0}
.hlp-step h3{font-size:26px;font-weight:400;margin:10px 0 6px}
.hlp-step textarea{width:100%;min-height:110px;margin-top:12px;padding:14px;border:1px solid #8d877e;background:#fffdf8;font:18px/1.5 Georgia,'Times New Roman',serif;resize:vertical;box-sizing:border-box}
.hlp-step textarea:focus{outline:2px solid var(--red);outline-offset:1px}
.hlp-step .correction ul{margin:0 0 16px;padding-left:20px;font-size:17px;line-height:1.5}
.hlp-sujet-page .side-note p{font-size:17px}
@media(max-width:760px){.offer-band .hlp-q,.hlp-q{font-size:20px}.hlp-step h3{font-size:22px}}

/* ---------- Navigation à six portails : tablette et téléphone ---------- */
@media (min-width:761px) and (max-width:1050px){
  .nav-portals{grid-template-columns:repeat(3,minmax(0,1fr)) !important}
}
@media (max-width:760px){
  .nav-portals{grid-template-columns:repeat(2,minmax(0,1fr)) !important;overflow:visible !important;width:100%}
  .portal-wrap{min-width:0 !important;height:auto !important}
  .portal-wrap>.portal{min-height:52px !important;height:auto !important;padding:10px 12px !important}
  .portal-wrap>.portal small{display:none}
  .portal-wrap>.portal span{font-size:16px}
}
@media (min-width:1051px) and (max-width:1280px){
  .nav-portals .portal{padding-left:11px !important;padding-right:11px !important}
  .nav-portals .portal span{font-size:15px;letter-spacing:.6px}
  .nav-portals .portal small{display:none}
  .nav-portals .portal i{display:none}
  .mast-v3 .brand{font-size:25px !important}
}

/* ---------- En-tête : le titre du site ne doit jamais chevaucher les onglets ---------- */
/* La colonne du titre prend la largeur réelle du texte (quelle que soit la police
   installée sur l'ordinateur) ; les onglets se partagent l'espace qui reste. */
@media (min-width:1051px){
  .mast-v3{grid-template-columns:max-content minmax(0,1fr) auto auto !important;column-gap:24px !important}
  .mast-v3 .brand{white-space:nowrap;min-width:max-content;padding-right:0 !important}
  .nav-portals{min-width:0;grid-template-columns:repeat(6,minmax(0,1fr)) !important}
  .nav-portals .portal{min-width:0;overflow:hidden}
  .nav-portals .portal span,.nav-portals .portal small{overflow:hidden;text-overflow:ellipsis}
}
@media (min-width:1051px) and (max-width:1199px){
  .nav-portals .portal{padding-left:8px !important;padding-right:8px !important}
  .nav-portals .portal span{font-size:13px !important;letter-spacing:.2px !important}
}

/* Philosophie : tableaux de méthode et QCM de problématique */
.philo-table-wrap{overflow-x:auto;margin:22px 0;-webkit-overflow-scrolling:touch}
.philo-table{border-collapse:collapse;width:100%;min-width:640px;font-size:17px;line-height:1.42}
.philo-table th,.philo-table td{border-top:1px solid var(--rule,#c9c0b5);padding:12px 14px 12px 0;text-align:left;vertical-align:top}
.philo-table th{font:12px 'American Typewriter','Courier New',monospace;letter-spacing:1.4px;color:var(--red);text-transform:uppercase;font-weight:400}
.philo-table td:first-child{font-weight:600;white-space:nowrap}
.philo-table td.src{font-size:14px;color:#6b655c}
.philo-qcm{margin-top:12px}
.philo-qcm .qcm-options{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.philo-qcm .qcm-option{width:100%;background:#fffdf8;border:1px solid #918a80;padding:15px 17px;text-align:left;font:18px Georgia,'Times New Roman',serif;line-height:1.42;cursor:pointer;color:inherit}
.philo-qcm .qcm-option:hover{border-color:var(--red)}
.philo-qcm li.is-ok .qcm-option{border:2px solid #2f6b3a;background:#eef4ec;cursor:default}
.philo-qcm li.is-named .qcm-option{border-color:#9b9488;color:#6b655c}
.philo-qcm .qcm-detail{padding:10px 2px 4px;font-size:16px;line-height:1.45}
.philo-qcm select{font:15px Georgia,'Times New Roman',serif;padding:6px 8px;margin-left:6px;max-width:100%}
.philo-qcm .qcm-feedback{margin-top:14px;font-size:17px}
.philo-matrice td:first-child{white-space:normal;min-width:110px}
@media (max-width:640px){.philo-table{font-size:15px}.philo-qcm .qcm-option{font-size:16px}}
@media (max-width:640px){.philo-table{min-width:0}.philo-table thead{display:none}.philo-table tr{display:block;border-top:1px solid var(--rule,#c9c0b5);padding:12px 0}.philo-table td{display:block;border:0;padding:3px 0}.philo-table td:first-child{white-space:normal;color:var(--red)}}
.chiasme-fig{margin:22px 0;max-width:760px}.chiasme-fig svg{width:100%;height:auto;display:block}
@media (max-width:640px){.chiasme-fig{overflow-x:auto;-webkit-overflow-scrolling:touch}.chiasme-fig svg{min-width:620px}}
.philo-diagnostic .diag-option:disabled{cursor:default;opacity:.75}
.philo-diagnostic .diag-option.is-good{border:2px solid #2f6b3a;background:#eef4ec;opacity:1}
.philo-diagnostic .diag-option.is-wrong{border:2px solid var(--red);opacity:1}
.diag-feedback{margin-top:18px;font-size:18px;line-height:1.5}.diag-feedback .btn{margin-top:10px}
.philo-diagnostic .diag-option:disabled{opacity:1;color:#4a453f}
.correction ol{padding-left:22px}.correction ol li{margin-bottom:8px;line-height:1.5;font-size:17px}
.plan-sous{margin:4px 0 14px;padding-left:20px}.plan-sous li{margin-bottom:8px;line-height:1.5;font-size:17px}
.plan-transition{background:#eee4d3;padding:12px 16px;font-size:17px;line-height:1.5}
.correction + .correction{margin-top:10px}

/* Philosophie : sommaire de page, groupes d’annales, impression des fiches */
.page-toc{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:baseline;padding:18px 18px 20px;border-bottom:1px solid var(--rule);font-size:16px}
.page-toc strong{font-family:'American Typewriter','Courier New',monospace;font-size:12px;letter-spacing:1.6px;color:var(--muted);font-weight:400;text-transform:uppercase}
.page-toc a{color:var(--ink);border-bottom:1px solid var(--red)}
.annales-group{font-size:22px;font-weight:400;margin:28px 0 10px}
.philo-print{font:inherit;font-size:15px;background:transparent;border:1px solid var(--rule);padding:8px 14px;cursor:pointer}
.philo-print:hover{border-color:var(--red)}
.philo-doors-more{font-size:17px;margin-top:16px}
@media print{
  header.top,.skip-link,.breadcrumb,nav,.free-response-tools,.print-line,.page-toc,footer,.site-footer{display:none !important}
  body{background:#fff !important}
  .offer-band,.exercise-wrap,.pagehead{border:0 !important;padding:8mm 0 !important;break-inside:auto}
  textarea{display:none !important}
  details{display:block}
  details>summary{list-style:none;font-weight:700}
  .seo-links,.priority-grid{display:none !important}
  .reveal,section{opacity:1 !important;transform:none !important}
  a{color:#000;text-decoration:none}
}

/* Atelier d’une notion */
.atelier-progress{font-family:'American Typewriter','Courier New',monospace;font-size:12px;letter-spacing:1.6px;color:var(--red);text-transform:uppercase;margin-bottom:6px}
.atelier-step h2{font-size:34px;line-height:1.1;margin:0 0 18px}
.atelier-nav{margin-top:26px}
.atelier-choice{display:grid;gap:10px;max-width:1050px;margin:6px 0 26px}
.atelier-why p{background:#eee5d5;border-left:4px solid var(--red);padding:12px 16px;font-size:17px;line-height:1.45;margin:6px 0}
.atelier-ordre{margin:10px 0 30px}
.ordre-item{border:1px solid var(--rule);padding:14px 16px;margin:10px 0;background:#fffdf8}
.ordre-item p{margin:0 0 10px;font-size:17px;line-height:1.5}
.ordre-item select{font:inherit;font-size:16px;padding:4px 6px;margin-left:6px}
.ordre-item.is-ok{border-color:#596d49;background:#eef2e8}
.ordre-item.is-wrong{border-color:#9b4c43;background:#f7e8e5}
.essentiel-sub{font-size:22px;font-weight:400;margin:26px 0 8px}
.essentiel-use{display:block;color:var(--muted);font-size:16px;margin-top:4px}
.atelier-done{font-size:18px;margin-top:24px;color:var(--red)}
@media print{.atelier-step[hidden]{display:block !important}.atelier-nav,.atelier-all{display:none !important}}

/* La copie à 20 */
.c20-block{margin-bottom:28px}
.c20-h{font-family:'American Typewriter','Courier New',monospace;font-size:13px;letter-spacing:1.6px;color:var(--red);font-weight:400;margin:10px 0 12px}
.c20-section-heading{display:block;color:var(--red);font-family:inherit;font-size:14px;font-weight:750;letter-spacing:.04em;text-transform:uppercase;border-bottom:2px solid var(--red);padding:8px 0;margin:24px 0 10px;line-height:1.35}
.c20-section-heading:first-child{margin-top:4px}
.c20-s{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:26px;margin:0;padding:7px 0;border-bottom:1px dotted var(--rule)}
.c20-t{font-size:19px;line-height:1.55}
.c20-f{font-size:14px;line-height:1.4;color:var(--red);border-left:2px solid var(--red);padding-left:10px;align-self:start}
.c20-plain .c20-s{display:inline;border:0;padding:0}
.c20-plain .c20-f{display:none}
.c20-plain .c20-t::after{content:" "}
.c20-plain .c20-block{margin-bottom:22px;font-size:19px;line-height:1.6}
@media(max-width:700px){.c20-s{grid-template-columns:1fr;gap:4px}.c20-f{order:-1;border-left:0;padding-left:0;font-size:12px;letter-spacing:.5px;text-transform:uppercase}}
.c20 .c20-h{font-size:13px;line-height:1.3;letter-spacing:1.6px;margin:10px 0 12px}
.c20-bar{display:block;height:11px;margin:6px 0;background:linear-gradient(90deg,#d9d0c1 0,#d9d0c1 92%,transparent 92%);border-radius:2px;opacity:.8}
.c20-locked .c20-s{padding:4px 0}
.c20-cover{background:#eee4d3;padding:18px 20px;margin-top:10px}
.c20-teaser .c20{margin-top:14px}
.consigne-simple{max-width:900px;margin:6px 0 14px;padding-left:22px;font-size:18px;line-height:1.5}
.consigne-simple li{margin-bottom:8px}

/* Philosophie : cadres d'écriture pleine largeur, accès direct aux sujets */
.exercise textarea{display:block;width:100%;box-sizing:border-box;min-height:130px;padding:14px;font:17px/1.5 Georgia,"Times New Roman",serif;background:#fffdf8;border:1px solid #9b9388;border-radius:4px;margin:6px 0 12px}
.sujet-label{display:block;font-weight:700;margin-top:12px}
.sujet-jump{margin-top:18px;padding:14px 18px;border-left:3px solid var(--red);background:#fbf7ef;max-width:760px}
.sujet-jump p{margin:0 0 6px}
.sujet-jump ul{margin:0;padding-left:20px}
.sujet-jump li{margin:4px 0}

/* Philosophie : boussole des exercices et page « Je bloque sur… » */
.boussole{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:4px 0 16px;border:1px solid #d9d0c2;background:#fbf7ef}
.boussole p{margin:0;padding:12px 14px;font-size:16px;line-height:1.45;border-right:1px solid #e6ddcf}
.boussole p:nth-child(3){border-right:0}
.boussole b{display:block;font:700 12px/1.3 "American Typewriter","Courier New",monospace;letter-spacing:.06em;text-transform:uppercase;color:var(--red);margin-bottom:4px}
.boussole .boussole-back{grid-column:1/-1;border-right:0;border-top:1px solid #e6ddcf;padding:6px 14px;font-size:14px;text-align:right}
@media (max-width:700px){.boussole{grid-template-columns:1fr}.boussole p{border-right:0;border-bottom:1px solid #e6ddcf}.boussole .boussole-back{text-align:left;border-bottom:0}}
.bloque-nav{margin-top:18px}
.bloque-nav ul{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:6px}
.bloque-nav a{display:block;padding:9px 12px;border:1px solid #d9d0c2;background:#fffdf8;text-decoration:none;font-size:17px}
.bloque-nav a:hover{border-color:var(--red)}
.bloque-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px;margin-top:12px}
.bloque-card{display:flex;flex-direction:column;gap:6px;padding:14px 16px;border:1px solid #d9d0c2;background:#fffdf8;text-decoration:none;color:inherit}
.bloque-card:hover{border-color:var(--red)}
.bloque-card strong{font-size:18px}
.bloque-card span{font-size:15px;line-height:1.45}
.bloque-card i{margin-top:auto;font-style:normal;color:var(--red);font-size:14px}
.bloque-extra{background:#f4efe6}
.parcours-next{border-left:4px solid var(--red)}
.page-boussole p{font-size:17px;line-height:1.45;margin:0 0 14px}
.page-boussole b{display:block;font:700 12px/1.3 "American Typewriter","Courier New",monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--red);margin-bottom:3px}
.page-boussole a{color:var(--red);border-bottom:1px solid var(--red)}
.side-note .ici b{display:block;font:700 12px/1.3 "American Typewriter","Courier New",monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--red);margin-bottom:3px}
.parcours-strip{display:flex;flex-wrap:wrap;align-items:stretch;gap:0;margin:18px 18px 0;border:1px solid var(--rule);font-size:14px}
.parcours-strip a{display:flex;align-items:center;gap:8px;padding:9px 12px;border-right:1px solid #cfc6b8;flex:1 1 auto}
.parcours-strip a:last-child{border-right:0}
.parcours-strip .parcours-home{flex:0 0 auto;font:700 12px "American Typewriter","Courier New",monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--red)}
.parcours-strip b{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;border:1px solid var(--rule);font-size:13px;flex:0 0 24px}
.parcours-strip a[aria-current]{background:var(--ink);color:var(--paper)}
.parcours-strip a[aria-current] b{border-color:var(--paper)}
.parcours-strip a.done b{background:#596d49;border-color:#596d49;color:#fff;font-size:0}
.parcours-strip a.done b:after{content:'✓';font-size:13px}
@media(max-width:800px){.parcours-strip{margin:12px 0 0}.parcours-strip a span{display:none}.parcours-strip a{flex:1 1 0;justify-content:center}.parcours-strip .parcours-home{flex:1 0 100%;justify-content:flex-start;border-right:0;border-bottom:1px solid #cfc6b8}}
.parcours-done{display:inline-block;margin:6px 0 10px;background:transparent;border:1px solid #596d49;color:#3f5233;padding:9px 14px;font:16px Georgia,"Times New Roman",serif;cursor:pointer}
.parcours-done.is-done{background:#e6ecdf}
.parcours-check{margin-left:10px;font-size:15px;color:#3f5233;white-space:nowrap;cursor:pointer}
[data-parcours].done strong{text-decoration:line-through;text-decoration-color:#596d49}
.parcours-status{font-size:18px;color:#3f5233;margin:4px 0 0}

/* Accueil : promesse, portes, preuve */
.home-hero h1{font-size:clamp(44px,6vw,78px);line-height:1;letter-spacing:-2px}
.home-sign{margin-top:22px;font-size:16px;color:var(--muted);font-style:italic}
.home-doors{grid-template-columns:repeat(4,1fr)}
.home-doors strong{font-size:25px}
@media(max-width:1100px) and (min-width:901px){.home-doors{grid-template-columns:1fr 1fr}.home-doors>a:nth-child(3){border-left:0;border-top:1px solid var(--rule)}.home-doors>a:nth-child(4){border-top:1px solid var(--rule)}}
.home-proof-subject{margin:8px 0 14px}
.home-proof-copy{max-width:1100px}
.home-proof-gap .c20-t{color:var(--muted)}
.home-steps{grid-template-columns:repeat(3,1fr)}
@media(max-width:900px){.home-steps{grid-template-columns:1fr}}
.home-figures-grid strong{font-size:28px;display:block;margin-bottom:6px}
.home-lead .lead-form{max-width:620px}
@media(max-width:900px){.home-doors{grid-template-columns:1fr}}
.home-steps article{transform:none!important;margin:0!important}
.capture{margin-top:30px}
.capture .lead-form{max-width:620px}

/* Téléphone : en-tête sur une ligne (logo + Menu) ; les rubriques passent dans le tiroir */
@media (max-width:760px){
  .nav-portals{display:none!important}
  .top .mast{display:flex!important;align-items:center;justify-content:space-between;height:auto!important;min-height:0;padding:10px 0;gap:12px}
  .top .mast .brand{font-size:24px}
  .top .mast .mobile-nav-toggle{display:inline-flex!important;margin:0}
  .top{height:auto!important}
}
/* Propositions à lire (non cliquables) : ne pas les dessiner comme des boutons */
div.qcm-options>p{border:0!important;background:none!important;box-shadow:none!important;cursor:auto!important;padding:4px 0 4px 14px!important;border-left:3px solid #d9d0c2!important}

/* Chaîne « Trouver le problème » pas à pas */
.chaine-wrap{padding:34px 18px 50px;border-bottom:1px solid var(--rule)}
#chaine-app{max-width:900px}
.chaine-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--rule);margin-bottom:22px}
.chaine-tabs button{font:inherit;background:transparent;border:0;border-right:1px solid var(--rule);padding:12px 10px;cursor:pointer;text-align:left;display:grid;gap:2px}
.chaine-tabs button:last-child{border-right:0}
.chaine-tabs button b{font:12px 'American Typewriter','Courier New',monospace;letter-spacing:1.5px;text-transform:uppercase;color:var(--red)}
.chaine-tabs button span{font-size:17px}
.chaine-tabs button.on{background:#181715;color:var(--paper)}
.chaine-tabs button.on b{color:#f0c9c2}
.chaine-tabs button:focus-visible,.chaine-opt:focus-visible,.chaine-sujets button:focus-visible{outline:3px solid var(--red);outline-offset:2px}
.chaine-sujets{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:18px}
.chaine-sujets>span{font:12px 'American Typewriter','Courier New',monospace;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted)}
.chaine-sujets button{font:15px Georgia,'Times New Roman',serif;background:transparent;border:1px solid #9b9488;padding:7px 11px;cursor:pointer;text-align:left}
.chaine-sujets button.on{border-color:var(--ink);background:#eee4d3}
.chaine-sujet{font-size:26px;line-height:1.25;margin:6px 0 14px}
.chaine-sujet span{display:inline-block;font:12px 'American Typewriter','Courier New',monospace;letter-spacing:1.5px;text-transform:uppercase;color:var(--red);vertical-align:middle;margin-left:6px}
.chaine-carte{list-style:none;padding:0;margin:0 0 20px;display:grid;grid-template-columns:1fr 1fr auto;gap:10px;font-size:13px}
.chaine-carte .grp{border:1px solid #c9bfb0;padding:8px 10px;background:#fbf7ef}
.chaine-carte .grp>b{display:block;font:12px 'American Typewriter','Courier New',monospace;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:6px}
.chaine-carte ol{list-style:none;padding:0;margin:0;display:flex;gap:4px}
.chaine-carte ol li{flex:1;border-bottom:4px solid #ddd3c4;padding-bottom:3px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chaine-carte ol li.done{border-color:#596d49;color:var(--ink)}
.chaine-carte ol li.now{border-color:var(--red);color:var(--ink);font-weight:700}
.chaine-carte .grp.pb{display:flex;align-items:center;border-bottom:4px solid #ddd3c4}
.chaine-carte .grp.pb.now{border-color:var(--red)}
.chaine-carte .grp.pb.done{border-color:#596d49}
.chaine-carte .grp.pb>b{margin:0}
.chaine-step{border-top:1px solid var(--rule);padding-top:20px}
.chaine-num{font:12px 'American Typewriter','Courier New',monospace;letter-spacing:2px;text-transform:uppercase;color:var(--red);margin-bottom:10px}
.chaine-enonce{font-size:19px;line-height:1.45;background:#eee4d3;padding:14px 16px;margin:0 0 16px}
.chaine-enonce u{text-decoration-color:var(--red);text-decoration-thickness:3px;text-underline-offset:4px}
.chaine-q{display:block;font-size:24px;line-height:1.25;margin:0 0 14px;font-weight:700}
.chaine-opts{display:grid;gap:10px}
.chaine-opt{font:17px/1.4 Georgia,'Times New Roman',serif;text-align:left;background:#fff;border:1px solid #8a8378;padding:14px 16px;cursor:pointer;color:var(--ink)}
.chaine-opt:hover:not(:disabled){border-color:var(--ink)}
.chaine-opt.picked.ok{background:#e6ecdf;border-color:#596d49}
.chaine-opt.picked.def{background:#f3ead2;border-color:#9a7a2c}
.chaine-opt.no{background:#f2dfdb;border-color:#9b4c43;opacity:.75;cursor:default}
.chaine-fb{display:none;margin-top:14px;padding:14px 16px;border-left:4px solid var(--red);background:#eee5d5;font-size:17px;line-height:1.45}
.chaine-fb.show{display:block}
.chaine-fb.ok{border-color:#596d49;background:#e6ecdf}
.chaine-fb.def{border-color:#9a7a2c;background:#f6efdc}
.chaine-fb.no{border-color:#9b4c43;background:#f5e6e2}
.chaine-fb .btn.small{display:inline-flex;margin:12px 0 0;min-width:0;height:auto;padding:10px 16px}
#chaine-w{width:100%;font:18px/1.45 Georgia,'Times New Roman',serif;border:1px solid var(--rule);padding:12px;background:#fff}
.chaine-brouillon{margin-top:26px;border:1px dashed #9b9488;padding:14px 16px;background:#fbf7ef}
.chaine-brouillon>div{margin-top:10px}
.chaine-brouillon p{margin:4px 0 0;font-size:16px;line-height:1.45}
.chaine-brouillon em{font-style:normal;color:var(--muted)}
.chaine-fin{border-top:1px solid var(--rule);padding-top:20px}
.chaine-fin h2{font-size:34px;margin:8px 0 12px}
.chaine-pb{font-size:22px;line-height:1.4;border-left:4px solid var(--red);padding:6px 0 6px 16px;margin:12px 0}
.chaine-nav{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:16px}
.chaine-nav .btn.small{margin:0;min-width:0;height:auto;padding:12px 18px}
.chaine-nav button.home-text-link{background:none;border:0;border-bottom:1px solid var(--red);cursor:pointer;font-family:inherit;padding:0 0 3px}
.bloque-card.bloque-first{border-color:var(--ink);background:#eee4d3}
@media(max-width:760px){
 .chaine-wrap{padding:22px 0 36px}
 .chaine-tabs button{padding:9px 7px}.chaine-tabs button span{font-size:14px}
 .chaine-carte{grid-template-columns:1fr 1fr;font-size:12px}.chaine-carte .grp.pb{grid-column:1/-1}
 .chaine-sujet{font-size:21px}.chaine-q{font-size:20px}
 .chaine-sujets{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px}.chaine-sujets button{flex:0 0 auto;max-width:240px;white-space:normal}
}
.chaine-invite{font-size:18px;line-height:1.45;background:#eee4d3;padding:12px 14px;margin:0 0 10px}
@media(max-width:760px){.chaine-aside{display:none}.chaine-sujets>span{white-space:nowrap}}
@media(max-width:760px){.chaine-head{padding-top:24px;padding-bottom:18px}.chaine-head h1{font-size:38px;margin:10px 0 12px}.chaine-head h1 br{display:none}.chaine-head .lede{font-size:19px}.chaine-head .boussole p{padding:7px 12px;font-size:15px}.chaine-head .boussole b{display:inline;margin-right:6px}}
.chaine-annale{font-size:17px;margin:10px 0 0}

/* === Banque d’exemples (philosophie) === */
.ex-wrap{padding:30px 18px 50px;border-bottom:1px solid var(--rule)}
#exemples-app{max-width:980px}
.ex-controls{display:grid;gap:16px;border:1px solid var(--rule);background:#fbf7ef;padding:16px;margin-bottom:22px}
.ex-row>b,.ex-row>label>b{display:block;font:12px 'American Typewriter','Courier New',monospace;letter-spacing:1.5px;text-transform:uppercase;color:var(--red);margin-bottom:8px}
.ex-sujet-line,.ex-line{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.ex-sujet-line select{flex:1 1 320px;min-width:0;font:17px Georgia,'Times New Roman',serif;padding:10px;border:1px solid var(--ink);background:#fff}
.ex-sujet-line .btn.small{margin:0;min-width:0;height:auto;padding:10px 14px}
.ex-line{margin-top:10px}
.ex-line select,.ex-line input[type=search]{font:15px Georgia,'Times New Roman',serif;padding:8px;border:1px solid #8a8378;background:#fff}
.ex-line input[type=search]{flex:1 1 220px;min-width:0}
.ex-verif{font-size:15px;display:flex;gap:6px;align-items:center}
.ex-chips{display:flex;flex-wrap:wrap;gap:6px}
.ex-chips button{font:14px Georgia,'Times New Roman',serif;background:transparent;border:1px solid #9b9488;padding:6px 10px;cursor:pointer}
.ex-chips button.on{background:#181715;color:var(--paper);border-color:#181715}
.ex-count{font-size:17px;color:var(--muted);margin:0 0 10px}
.ex-h{font-size:28px;margin:26px 0 4px}.ex-h small{font:13px 'American Typewriter','Courier New',monospace;color:var(--red);vertical-align:middle}
.ex-hint{font-size:16px;color:var(--muted);margin:0 0 12px}
.ex-carte{border:1px solid #c9bfb0;background:#fff;padding:16px 18px;margin:0 0 14px}
.ex-carte.ex-top{border-color:var(--ink);border-left:5px solid var(--red)}
.ex-meta{font:12px 'American Typewriter','Courier New',monospace;letter-spacing:1px;text-transform:uppercase;color:var(--muted)}
.ex-badge{color:#3e5a2e}
.ex-carte h3{font-size:23px;margin:6px 0 8px;line-height:1.2}.ex-carte h3 span{font-size:16px;font-weight:400;color:var(--muted)}
.ex-scene{font-size:17px;line-height:1.5;margin:0 0 10px}
.ex-cit{margin:10px 0 4px;padding:8px 0 8px 16px;border-left:3px solid var(--ink)}
.ex-cit p{font-size:19px;line-height:1.45;margin:0;font-style:italic}
.ex-cit footer{font-size:14px;color:var(--muted);margin-top:4px}
.ex-verifiee{font-size:13px;color:#3e5a2e;margin:0 0 8px}.ex-verifiee a{text-decoration:underline}
.ex-nocit,.ex-ref{font-size:14px;color:var(--muted);margin:4px 0 8px}
.ex-usage{background:#eee4d3;padding:12px 14px;margin-top:10px}
.ex-usage p{margin:6px 0 0;font-size:16px;line-height:1.45}
.ex-usage p b{display:block;font:12px 'American Typewriter','Courier New',monospace;letter-spacing:1px;text-transform:uppercase;color:var(--red)}
.ex-usage ul{margin:6px 0 0;padding-left:18px}
.ex-link{background:none;border:0;padding:0;font:16px Georgia,'Times New Roman',serif;text-align:left;color:var(--ink);text-decoration:underline;cursor:pointer}
.ex-avous textarea{width:100%;margin-top:8px;font:16px/1.45 Georgia,'Times New Roman',serif;padding:10px;border:1px solid var(--ink)}
@media(max-width:760px){.ex-wrap{padding:20px 0 36px}.ex-head h1{font-size:38px}.ex-head h1 br{display:none}.ex-head .lede{font-size:19px}.ex-aside{display:none}.ex-carte h3{font-size:20px}.ex-chips{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px}.ex-chips button{flex:0 0 auto}}
.ex-controls>*{min-width:0}.ex-sujet-line select{width:100%;max-width:100%}.ex-controls{grid-template-columns:minmax(0,1fr)}

/* === Offre === */
.offer-table-wrap{overflow-x:auto}
.offer-table{width:100%;border-collapse:collapse;font-size:17px;line-height:1.45;margin-top:12px;min-width:560px}
.offer-table th,.offer-table td{border-top:1px solid var(--rule);padding:12px 10px;text-align:left;vertical-align:top}
.offer-table thead th{font:12px 'American Typewriter','Courier New',monospace;letter-spacing:1.5px;text-transform:uppercase;color:var(--red)}
.offer-table tbody th{font-size:18px;white-space:nowrap}
.legal-text h2{font-size:24px;margin:26px 0 6px}.legal-text p,.legal-text li{font-size:18px;line-height:1.55;max-width:820px}

/* === Accueil : la différence === */
.home-diff-sujet{font-size:21px;margin:6px 0 14px}
.home-diff-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.home-diff-col{border:1px solid #c9bfb0;background:#fff;padding:16px 18px}
.home-diff-col>span{font:12px 'American Typewriter','Courier New',monospace;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted)}
.home-diff-ici{border:2px solid var(--ink)}.home-diff-ici>span{color:var(--red)}
.home-diff-col ol{margin:10px 0;padding-left:22px}.home-diff-col li{font-size:17px;line-height:1.5;margin-bottom:8px}
.home-diff-col em{color:var(--red);font-style:italic}
.home-diff-cta{margin:18px 0 4px}
@media(max-width:760px){.home-diff-grid{grid-template-columns:1fr}}

/* === Texte d’examen : présentation aux normes === */
.texte-examen{max-width:68ch;margin:0;padding:14px 0 14px 3.4em;font:18px/1.7 Georgia,'Times New Roman',serif;background:#fff;border:1px solid #d9d0c2;padding-right:18px;counter-reset:none}
.texte-examen p{position:relative;margin:0 0 .6em;text-indent:1.5em;text-align:justify;hyphens:auto}
.texte-examen .line-no{position:absolute;left:-3em;width:2.2em;text-align:right;text-indent:0;font:12px/1.7 'American Typewriter','Courier New',monospace;color:var(--muted);margin-top:.35em}
.texte-examen sup{font-size:.7em}
.texte-examen .vers{text-indent:0;text-align:left;margin:0}
.texte-examen .didascalie{font-style:italic;text-indent:0}
.texte-examen .locuteur{margin-top:.8em;text-align:center;letter-spacing:.06em}
.texte-examen + .micro{max-width:68ch}
.texte-absent{font-size:18px;line-height:1.5;max-width:60ch}
.texte-flottant{position:fixed;right:16px;bottom:16px;z-index:50;background:#181715;color:var(--paper);border:0;border-radius:999px;padding:12px 18px;font:15px Georgia,'Times New Roman',serif;box-shadow:0 4px 14px rgba(0,0,0,.25);cursor:pointer}
.texte-dialog{width:min(760px,96vw);max-height:90vh;border:1px solid var(--rule);padding:0;background:var(--paper)}
.texte-dialog::backdrop{background:rgba(0,0,0,.45)}
.texte-dialog-head{position:sticky;top:0;display:flex;justify-content:space-between;align-items:center;gap:12px;background:var(--paper);border-bottom:1px solid var(--rule);padding:10px 14px}
.texte-dialog-head button{background:none;border:1px solid var(--ink);padding:6px 10px;font:14px Georgia,serif;cursor:pointer}
.texte-dialog .texte-examen{border:0;margin:8px 0}
@media(max-width:760px){.texte-examen{font-size:17px;padding-left:2.6em}.texte-examen .line-no{left:-2.5em}}
#stepInstruction{white-space:pre-line}
/* Les textes étudiés : prose justifiée, alinéa en tête de paragraphe, aussi sur téléphone. Les vers et les répliques gardent leur disposition. */
.literary-text:not(.hialmar-poeme)>p:not(.c20-chapeau):not(.source):not(.notes):not(.big-aphorism):not(:has(br)){text-align:justify;text-indent:1.5em;hyphens:auto;-webkit-hyphens:auto}

/* === Annales philo : niveaux et brouillon === */
.chaine-tabs a{display:grid;gap:2px;padding:12px 10px;border-right:1px solid var(--rule);text-decoration:none;color:inherit}
.chaine-tabs a:last-child{border-right:0}
.chaine-tabs a b{font:12px 'American Typewriter','Courier New',monospace;letter-spacing:1.5px;text-transform:uppercase;color:var(--red)}
.chaine-tabs a span{font-size:17px}
.chaine-tabs a.on{background:#181715;color:var(--paper)}.chaine-tabs a.on b{color:#f0c9c2}
.annale-niveaux{padding-bottom:0}.annale-niveaux .chaine-tabs{max-width:900px;margin:0}
.brouillon-annale{max-width:900px;margin:0 18px;border:1px dashed #9b9488;background:#fbf7ef;padding:12px 16px}
.brouillon-annale p{margin:6px 0 0;font-size:16px;line-height:1.45}.brouillon-annale b{display:block;font:12px 'American Typewriter','Courier New',monospace;letter-spacing:1px;text-transform:uppercase;color:var(--muted)}
@media(max-width:760px){.chaine-tabs a{padding:9px 7px}.chaine-tabs a span{font-size:14px}.brouillon-annale{margin:0}}
.prob-tabs{margin:14px 0 4px;max-width:720px}
.tag-lire,.tag-faire{display:inline-block;font:11px 'American Typewriter','Courier New',monospace;letter-spacing:1.5px;padding:2px 7px;border-radius:2px;vertical-align:middle}
.tag-lire{background:#e6ecdf;color:#3e5a2e}
.tag-faire{background:var(--red);color:#fff}
.afaire-link{margin-top:18px;font-size:18px}.afaire-link a{color:var(--red);border-bottom:1px solid var(--red)}
.diag-option.is-def{background:#f3ead2;border-color:#9a7a2c}
.plan-carte{grid-template-columns:1fr 1fr 1fr}
.plan-hasard{font:14px Georgia,'Times New Roman',serif;background:#181715;color:var(--paper);border:0;padding:7px 11px;cursor:pointer}
@media(max-width:760px){.plan-carte{grid-template-columns:1fr}}
.comm-carte{grid-template-columns:repeat(4,auto)}
.comm-details summary{cursor:pointer;font-size:18px;margin-bottom:10px}
.comm-texte-band .texte-examen{margin-top:8px}
.comm-texte-band .texte-examen div{display:contents}
@media(max-width:760px){.comm-carte{grid-template-columns:1fr 1fr}}
.annales-officiels{font-size:22px;margin:26px 0 10px}

/* === texte-vers : un vers trop long pour l’écran se poursuit en retrait, pour qu’on voie où commence le vers suivant === */
.texte-examen .vers{padding-left:1.2em;text-indent:-1.2em}
.texte-examen p.micro{text-indent:0}

/* === annales bac : étapes du sujet écrites dans la page (scripts/build-bac-annales.js) === */
.sujet-etapes{border-top:1px solid var(--rule);padding:48px 0 12px}
.sujet-etapes h2{font-size:32px;line-height:1.15;margin:8px 0 10px;max-width:900px}
.sujet-etapes>p{font-size:17px;line-height:1.55;max-width:760px;color:var(--muted)}
.sujet-etapes-liste{list-style:none;margin:24px 0 0;padding:0;display:grid;gap:14px;max-width:900px}
.sujet-etape{border:1px solid #c9bfb0;background:#fffdf8;padding:18px 20px}
.sujet-etape h3{font-size:21px;margin:0 0 8px;font-weight:700}
.sujet-etape h3 span{font-family:'American Typewriter','Courier New',monospace;color:var(--red);margin-right:4px}
.sujet-etape p{font-size:17px;line-height:1.55;margin:0 0 10px}
.sujet-etape details{margin:4px 0 10px}
.sujet-etape summary{cursor:pointer;color:var(--red);font-size:16px}
.sujet-etape details p{margin:8px 0 0;padding-left:14px;border-left:3px solid var(--rule)}
.sujet-etape-lien{color:var(--red);font-size:16px}
.sujet-suite{margin:22px 0 0;max-width:900px}
.sujet-suite p{font-size:17px;line-height:1.55}
.sujet-suite .btn{display:inline-flex;min-width:0;gap:18px;height:52px;font-size:18px}
@media(max-width:760px){.sujet-etapes h2{font-size:26px}.sujet-etape{padding:16px 14px}}

/* === accueil mobile : blocs vitrines centrés, avec une marge intérieure lisible === */
.home-proof.offer-band.wrap,.home-diff.offer-band.wrap{margin-left:auto;margin-right:auto}
@media(max-width:760px){.home-proof.offer-band,.home-diff.offer-band{padding-left:18px;padding-right:18px}}

/* === dissertation : lien vers la méthode complète === */
.dissertation-methode-lien{padding:26px 18px 0;margin:0;font-size:19px}
.dissertation-methode-lien a{color:var(--red);border-bottom:1px solid var(--red)}

/* === plan pas à pas (philosophie) : mise en page aérée, plan qui se construit à côté === */
.chaine-sujets .plan-hasard{background:#181715;color:var(--paper);border-color:#181715}
#plan-app .plan-barre{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 16px;padding:12px 0;border-bottom:1px solid #c9bfb0;margin-bottom:18px}
#plan-app .plan-niv{font:12px 'American Typewriter','Courier New',monospace;letter-spacing:1.5px;text-transform:uppercase;color:var(--red)}
#plan-app .plan-suj{font-size:21px;line-height:1.3;flex:1 1 320px}
#plan-app .plan-suj i{font:12px 'American Typewriter','Courier New',monospace;font-style:normal;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);margin-left:6px}
#plan-app .plan-changer{font:15px Georgia,'Times New Roman',serif;background:none;border:0;border-bottom:1px solid var(--red);color:var(--red);padding:2px 0;cursor:pointer}
#plan-app .plan-choix{padding:4px 0 18px;border-bottom:1px solid #c9bfb0;margin-bottom:18px}
#plan-app .plan-choix .chaine-tabs{margin-bottom:16px}
#plan-app .plan-repere{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:15px;margin-bottom:6px}
#plan-app .plan-repere b{font-weight:700}
#plan-app .plan-repere span{color:var(--muted)}
#plan-app .plan-jauge{display:flex;gap:3px;margin-bottom:26px}
#plan-app .plan-jauge i{flex:1;height:5px;background:#ddd3c4}
#plan-app .plan-jauge i.sep{margin-left:9px}
#plan-app .plan-jauge i.done{background:#596d49}
#plan-app .plan-jauge i.now{background:var(--red)}
#plan-app .plan-grille{display:grid;grid-template-columns:1fr;gap:28px}
@media(min-width:1000px){#plan-app .plan-grille{grid-template-columns:minmax(0,1fr) 360px;align-items:start}#plan-app .plan-cote{position:sticky;top:16px;max-height:calc(100vh - 32px);overflow:auto}}
#plan-app .plan-step{border-top:0;padding-top:0}
#plan-app .plan-pb{margin:0 0 20px;background:#eee4d3;padding:10px 16px}
#plan-app .plan-pb summary{cursor:pointer;font:12px 'American Typewriter','Courier New',monospace;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted)}
#plan-app .plan-pb p{font-size:18px;line-height:1.45;margin:8px 0 2px}
#plan-app .chaine-opts{gap:12px}
#plan-app .plan-cote{border:1px dashed #9b9488;background:#fbf7ef;padding:12px 16px}
#plan-app .plan-cote summary{cursor:pointer;font:12px 'American Typewriter','Courier New',monospace;letter-spacing:1.5px;text-transform:uppercase;color:var(--ink)}
#plan-app .plan-cote summary span{color:var(--muted);margin-left:6px}
#plan-app .plan-bloc{margin-top:12px}
#plan-app .plan-bloc strong{display:block;font-size:15px;margin-bottom:4px}
#plan-app .plan-bloc p{font-size:15px;line-height:1.45;margin:0 0 6px}
#plan-app .plan-bloc p em{display:block;font:11px 'American Typewriter','Courier New',monospace;font-style:normal;letter-spacing:1px;text-transform:uppercase;color:var(--muted)}
#plan-app .plan-bloc p.vide{color:#a59d90}
#plan-app .plan-bloc p.now em{color:var(--red)}
#plan-app .plan-trans{margin:12px 0 0;padding:6px 0 6px 12px;border-left:3px solid var(--red);font-style:italic}
@media(max-width:760px){#plan-app .plan-choix .chaine-sujets{flex-wrap:wrap;overflow:visible}#plan-app .plan-choix .chaine-sujets button{flex:1 1 100%;max-width:none}}

/* « Trouver le problème » : une ligne de choix, un repère OUI / NON / problématique, la carte du problème à côté (ordinateur) ou repliée (téléphone). */
#chaine-app{max-width:1180px}
#chaine-app .pb-barre{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 16px;padding:0 0 12px;border-bottom:1px solid #c9bfb0;margin-bottom:18px}
#chaine-app .pb-niv{font:12px 'American Typewriter','Courier New',monospace;letter-spacing:1.5px;text-transform:uppercase;color:var(--red)}
#chaine-app .pb-suj{font-size:22px;line-height:1.3;flex:1 1 320px}
#chaine-app .pb-suj i{font:12px 'American Typewriter','Courier New',monospace;font-style:normal;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);margin-left:6px;white-space:nowrap}
#chaine-app .pb-changer{font:15px Georgia,'Times New Roman',serif;background:none;border:0;border-bottom:1px solid var(--red);color:var(--red);padding:2px 0;cursor:pointer}
#chaine-app .pb-choix{padding:4px 0 18px;border-bottom:1px solid #c9bfb0;margin-bottom:18px}
#chaine-app .pb-choix .chaine-sujets{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px}
#chaine-app .pb-choix .chaine-sujets>span{grid-column:1/-1}
#chaine-app .pb-choix .chaine-sujets button{max-width:none;white-space:normal;padding:10px 12px}
#chaine-app .chaine-sujets small{display:block;font:11px 'American Typewriter','Courier New',monospace;letter-spacing:1px;text-transform:uppercase;color:#596d49;margin-top:4px}
#chaine-app .pb-repere{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:15px;margin-bottom:6px}
#chaine-app .pb-repere b{font-weight:700}
#chaine-app .pb-repere span{color:var(--muted)}
#chaine-app .pb-jauge{display:grid;grid-template-columns:repeat(3,1fr) 9px repeat(3,1fr) 9px 1fr;column-gap:3px;row-gap:3px;margin-bottom:24px}
#chaine-app .pb-jauge i{height:6px;background:#ddd3c4}
#chaine-app .pb-jauge i.sep{grid-column:auto}
#chaine-app .pb-jauge i:nth-of-type(4){grid-column:5}
#chaine-app .pb-jauge i:nth-of-type(7){grid-column:9}
#chaine-app .pb-jauge i.done{background:#596d49}
#chaine-app .pb-jauge i.now{background:var(--red)}
#chaine-app .pb-jauge span{grid-row:2;font:10px 'American Typewriter','Courier New',monospace;letter-spacing:1px;text-transform:uppercase;color:var(--muted)}
#chaine-app .pb-jauge span:nth-of-type(1){grid-column:1/4}
#chaine-app .pb-jauge span:nth-of-type(2){grid-column:5/8}
#chaine-app .pb-jauge span:nth-of-type(3){grid-column:9}
#chaine-app .pb-grille{display:grid;grid-template-columns:1fr;gap:28px}
#chaine-app .pb-step{border-top:0;padding-top:0}
#chaine-app .pb-pied{margin-top:22px;gap:22px;font-size:15px}
#chaine-app .pb-pied .home-text-link{color:var(--muted);border-bottom-color:#c9bfb0}
#chaine-app .pb-carte{border:1px dashed #9b9488;background:#fbf7ef;padding:12px 16px}
#chaine-app .pb-carte summary{cursor:pointer;font:12px 'American Typewriter','Courier New',monospace;letter-spacing:1.5px;text-transform:uppercase;color:var(--ink)}
#chaine-app .pb-carte summary span{color:var(--muted);margin-left:6px}
#chaine-app .pb-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin-top:12px}
#chaine-app .pb-col{border-top:3px solid #c9bfb0;padding-top:8px}
#chaine-app .pb-col>strong{display:block;font-size:15px;line-height:1.35;margin-bottom:6px}
#chaine-app .pb-carte p{font-size:15px;line-height:1.45;margin:0 0 8px}
#chaine-app .pb-carte em,#chaine-app .pb-pbm em{display:block;font:11px 'American Typewriter','Courier New',monospace;font-style:normal;letter-spacing:1px;text-transform:uppercase;color:var(--muted)}
#chaine-app .pb-carte .vide{color:#a59d90}
#chaine-app .pb-carte .now em{color:var(--red)}
#chaine-app .pb-pbm{position:relative;margin-top:16px;padding:10px 12px;border-left:4px solid var(--red);background:#eee4d3;font-size:16px;line-height:1.45}
#chaine-app .pb-pbm::before{content:'↘ ↙';position:absolute;top:-17px;left:50%;transform:translateX(-50%);font-size:13px;color:#9b9488;letter-spacing:6px}
#chaine-app .pb-pbm.vide{border-left-color:#c9bfb0;font-style:italic}
#chaine-app .pb-pbm.now{border-left-color:var(--red)}
@media(min-width:1000px){#chaine-app .pb-grille{grid-template-columns:minmax(0,1fr) 420px;align-items:start}#chaine-app .pb-carte{position:sticky;top:16px;max-height:calc(100vh - 32px);overflow:auto}}
@media(max-width:760px){#chaine-app .pb-suj{font-size:19px;flex-basis:100%}#chaine-app .pb-choix .chaine-sujets{display:grid;grid-template-columns:1fr;overflow:visible}#chaine-app .pb-choix .chaine-sujets button{flex:none}}
#chaine-app .pb-fin{border-top:0;padding-top:0}
#chaine-app .pb-fin h2{font-size:32px}
#chaine-app .pb-bilan{border-top:1px solid #c9bfb0;margin-top:18px;padding-top:14px}
#chaine-app .pb-bilan p{margin:0 0 8px;font-size:17px;line-height:1.45}
#chaine-app .pb-valide{color:#596d49}
#chaine-app .pb-a-revoir{color:#9b4c43}
#chaine-app .pb-score span{color:var(--muted)}
#chaine-app .pb-pastilles{display:inline-flex;gap:5px;margin-right:10px;vertical-align:1px}
#chaine-app .pb-pastilles i{width:11px;height:11px;border-radius:50%;border:1.5px solid #596d49}
#chaine-app .pb-pastilles i.on{background:#596d49}
#chaine-app .pb-suite{margin-top:24px;border-top:1px solid #c9bfb0;padding-top:12px}
#chaine-app .pb-suite ul{list-style:none;padding:0;margin:8px 0 0;display:grid;gap:8px;font-size:17px}
@media(max-width:760px){#chaine-app .pb-fin h2{font-size:28px}#chaine-app .pb-fin .chaine-nav .btn{width:100%;justify-content:center}}

/* === brevet : boussoles des exercices, parcours, choix en trois états, réponses possibles (tâche fr-brevet) === */
.brevet-parcours{margin:14px 0 0;padding-left:22px;font-size:18px;line-height:1.5}
.brevet-parcours li{margin:6px 0}
.brevet-parcours a,.next-steps a{color:var(--red);border-bottom:1px solid var(--red)}
.next-steps{margin-top:26px;border-top:1px solid var(--rule);padding-top:14px;font-size:17px;line-height:1.5}
.next-steps ul{margin:8px 0 0;padding-left:20px}
.next-steps li{margin:6px 0}
.brevet-qcm .chaine-opts{max-width:1050px;margin-top:14px}
.brevet-qcm .chaine-opt.picked.no{background:#f2dfdb;border-color:#9b4c43}
.annale-step-card .brevet-step-boussole{margin:6px 0 14px}
.annale-step-card .brevet-step-boussole p{font-size:15px;padding:9px 12px}
.annale-step-card .brevet-step-boussole[hidden]{display:none}
@media (max-width:700px){.brevet-parcours{font-size:17px;padding-left:20px}}
/* === Dissertation de français : « Trouver le problème du sujet » (bac-dissertation.html) et méthode (bac-dissertation-methode.html) === */
.diss-pb{max-width:980px}
.diss-pb .chaine-tabs{grid-template-columns:repeat(2,1fr)}
.diss-forme{font-size:17px;line-height:1.45;margin:0 0 10px;color:var(--muted)}
.diss-forme b{color:var(--ink)}
.diss-pb .diss-step+.diss-step{margin-top:22px}
.diss-pb .chaine-fin{margin-top:22px}
.diss-pb .diss-n2{padding-top:18px}
.diss-area{width:100%;min-height:180px;margin:10px 0 6px;padding:14px;font:18px/1.5 Georgia,'Times New Roman',serif;background:#fffdf8;border:1px solid #999}
.diss-fbm p{margin:0 0 8px}
.diss-sources{margin-top:22px}
.diss-plan-exemple{border-left:4px solid var(--red);padding:6px 0 6px 16px;margin:14px 0}
.diss-plan-exemple p{margin:0 0 8px}
@media(max-width:760px){.diss-pb .chaine-q{font-size:20px}.diss-pb .chaine-opt{font-size:16px;padding:12px 13px}}
/* === Commentaire pas à pas : barre, repère et jauge, carte du commentaire, niveau 3 (#comm-app) === */
#comm-app{max-width:1180px}
#comm-app .cc-barre{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 16px;padding:0 0 12px;border-bottom:1px solid #c9bfb0;margin-bottom:18px}
#comm-app .cc-niv{font:12px 'American Typewriter','Courier New',monospace;letter-spacing:1.5px;text-transform:uppercase;color:var(--red)}
#comm-app .cc-suj{font-size:22px;line-height:1.3;flex:1 1 320px}
#comm-app .cc-suj i{font:12px 'American Typewriter','Courier New',monospace;font-style:normal;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);margin-left:6px}
#comm-app .cc-changer{font:15px Georgia,'Times New Roman',serif;background:none;border:0;border-bottom:1px solid var(--red);color:var(--red);padding:2px 0;cursor:pointer}
#comm-app .cc-choix{padding:4px 0 18px;border-bottom:1px solid #c9bfb0;margin-bottom:18px}
#comm-app .cc-choix .chaine-tabs{margin-bottom:16px}
#comm-app .cc-choix .chaine-sujets{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:8px}
#comm-app .cc-choix .chaine-sujets>span{grid-column:1/-1}
#comm-app .cc-choix .chaine-sujets button{max-width:none;white-space:normal;padding:10px 12px}
#comm-app .chaine-sujets small{display:block;font:11px 'American Typewriter','Courier New',monospace;letter-spacing:1px;text-transform:uppercase;color:#596d49;margin-top:4px}
#comm-app .chaine-sujets small.cc-genre{color:var(--muted)}
#comm-app .cc-repere{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:15px;margin-bottom:6px}
#comm-app .cc-repere span{color:var(--muted)}
#comm-app .cc-jauge{display:flex;gap:9px;margin-bottom:24px}
#comm-app .cc-jg{flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:3px}
#comm-app .cc-segs{display:flex;gap:3px}
#comm-app .cc-segs i{flex:1;height:6px;background:#ddd3c4}
#comm-app .cc-segs i.done{background:#596d49}
#comm-app .cc-segs i.now{background:var(--red)}
#comm-app .cc-jg small{font:10px 'American Typewriter','Courier New',monospace;letter-spacing:1px;text-transform:uppercase;color:var(--muted);white-space:nowrap;overflow:hidden}
#comm-app .cc-jt small{text-align:center}
#comm-app .cc-grille{display:grid;grid-template-columns:1fr;gap:28px}
#comm-app .cc-main{min-width:0}
#comm-app .cc-step{border-top:0;padding-top:0}
#comm-app .cc-texte{margin:0 0 18px}
#comm-app .cc-texte summary{cursor:pointer;font-size:17px;margin-bottom:8px}
#comm-app .cc-texte .texte-examen{max-height:60vh;overflow:auto}
#comm-app .cc-relire{margin:0 0 12px;font-size:15px}
#comm-app .cc-relire button,#comm-app .chaine-nav button.home-text-link{background:none;border:0;border-bottom:1px solid var(--red);cursor:pointer;font-family:inherit;font-size:inherit;padding:0 0 3px;color:inherit}
#comm-app .cc-enonce{font-size:17px;display:grid;gap:6px}
#comm-app .cc-ctx em{font:11px 'American Typewriter','Courier New',monospace;font-style:normal;letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin-right:4px}
#comm-app .cc-def{font-size:16px;line-height:1.45;color:var(--muted);margin:-6px 0 14px;border-left:3px solid #c9bfb0;padding-left:10px}
#comm-app .cc-aide{margin:0 0 10px;font-size:16px}
#comm-app .cc-aide summary{cursor:pointer;color:var(--red)}
#comm-app .cc-aide p{margin:6px 0 0;line-height:1.45}
#comm-app textarea{width:100%;font:18px/1.45 Georgia,'Times New Roman',serif;border:1px solid #8a8378;padding:12px;background:#fff;color:var(--ink)}
#comm-app .cc-check{margin:10px 0 6px;padding-left:20px;font-size:16px;line-height:1.45}
#comm-app .cc-warn{margin:0 0 10px;padding:8px 10px;background:#f5e6e2;border-left:3px solid #9b4c43;font-size:16px;line-height:1.45}
#comm-app .cc-pied{margin-top:22px;gap:22px;font-size:15px}
#comm-app .cc-pied .home-text-link{color:var(--muted);border-bottom-color:#c9bfb0}
#comm-app .cc-carte{border:1px dashed #9b9488;background:#fbf7ef;padding:12px 16px}
#comm-app .cc-carte summary{cursor:pointer;font:12px 'American Typewriter','Courier New',monospace;letter-spacing:1.5px;text-transform:uppercase}
#comm-app .cc-carte summary span{color:var(--muted);margin-left:6px}
#comm-app .cc-bloc{border-top:3px solid #c9bfb0;padding-top:8px;margin-top:12px}
#comm-app .cc-bloc>strong{display:block;font-size:15px;margin-bottom:4px}
#comm-app .cc-carte p{font-size:15px;line-height:1.45;margin:0 0 8px}
#comm-app .cc-carte em{display:block;font:11px 'American Typewriter','Courier New',monospace;font-style:normal;letter-spacing:1px;text-transform:uppercase;color:var(--muted)}
#comm-app .cc-carte .vide{color:#a59d90}
#comm-app .cc-carte .now em{color:var(--red)}
#comm-app .cc-pbm{margin-top:12px;padding:10px 12px;border-left:4px solid var(--red);background:#eee4d3;font-size:16px;line-height:1.45}
#comm-app .cc-pbm.vide{border-left-color:#c9bfb0;font-style:italic}
#comm-app .cc-trans{margin:10px 0 0 14px;padding:6px 10px;border-left:2px dashed #9b9488;font-size:15px;line-height:1.45;font-style:italic}
#comm-app .cc-trans.now{border-left-color:var(--red)}
#comm-app .cc-trans.vide{color:#a59d90}
#comm-app .cc-fin{border-top:0;padding-top:0}
#comm-app .cc-fin h2{font-size:32px}
#comm-app .cc-bilan{border-top:1px solid #c9bfb0;margin-top:18px;padding-top:14px}
#comm-app .cc-bilan p{margin:0 0 8px;font-size:17px;line-height:1.45}
#comm-app .cc-valide{color:#596d49}
#comm-app .cc-a-revoir{color:#9b4c43}
#comm-app .cc-score span{color:var(--muted)}
#comm-app .cc-pastilles{display:inline-flex;gap:5px;margin-right:10px;vertical-align:1px}
#comm-app .cc-pastilles i{width:11px;height:11px;border-radius:50%;border:1.5px solid #596d49}
#comm-app .cc-pastilles i.on{background:#596d49}
#comm-app .cc-suite{margin-top:24px;border-top:1px solid #c9bfb0;padding-top:12px}
#comm-app .cc-suite ul{list-style:none;padding:0;margin:8px 0 0;font-size:17px}
#comm-app .cc-n3 h2{font-size:30px;margin:8px 0 10px}
#comm-app .cc-n3>p{font-size:17px;line-height:1.45}
#comm-app .cc-form{display:grid;gap:14px;margin-top:10px}
#comm-app .cc-f label{display:block;font-weight:700;font-size:17px;margin-bottom:6px}
#comm-app .cc-f-trans{margin-left:18px;padding-left:12px;border-left:2px dashed #9b9488}
#comm-app .cc-f-opt label{font-weight:400;color:var(--muted)}
#comm-app .cc-modele{margin-top:8px;padding:10px 12px;background:#e6ecdf;border-left:4px solid #596d49;font-size:16px;line-height:1.45}
#comm-app .cc-modele em{display:block;font:11px 'American Typewriter','Courier New',monospace;font-style:normal;letter-spacing:1px;text-transform:uppercase;color:#596d49;margin-bottom:4px}
@media(min-width:1000px){#comm-app .cc-grille{grid-template-columns:minmax(0,1fr) 400px;align-items:start}#comm-app .cc-carte{position:sticky;top:16px;max-height:calc(100vh - 32px);overflow:auto}}
@media(max-width:760px){#comm-app .cc-suj{font-size:19px;flex-basis:100%}#comm-app .cc-choix .chaine-sujets{grid-template-columns:1fr}#comm-app .cc-jauge{gap:5px}#comm-app .cc-jg small{font-size:9px;letter-spacing:0}#comm-app .cc-fin h2{font-size:28px}#comm-app .cc-fin .chaine-nav .btn{width:100%;justify-content:center}#comm-app .cc-f-trans{margin-left:6px}#comm-app .cc-texte .texte-examen{max-height:none}}
/* === Commentaire du bac : pourtant, problématique condensée, transitions (fr-commentaire) === */
.seo-body .prob-forms,.seo-body .prob-tests{font-size:19px;line-height:1.55;padding-left:24px;margin:10px 0 22px;max-width:860px}
.seo-body .prob-forms li,.seo-body .prob-tests li{margin:0 0 10px}
.seo-body .prob-forms{list-style:none;padding-left:0}
.seo-body .prob-forms li{border-left:3px solid #d9d0c2;padding:4px 0 4px 14px}
.seo-body .prob-exercice{margin:40px 0;padding:26px 0 8px;border-top:1px solid #c9bfb0;border-bottom:1px solid #c9bfb0}
.seo-body .prob-exercice h2{font-size:30px;margin:6px 0 14px}
.seo-body .prob-exercice>p{font-size:18px;line-height:1.5}
.seo-body .prob-exercice .chaine-opts{margin:16px 0 4px}
.seo-body .transition-pairs{display:grid;gap:18px;margin:14px 0 22px}
.seo-body .transition-pairs article{border-left:3px solid #d9d0c2;padding:4px 0 4px 16px}
.seo-body .transition-pairs h3{font-size:20px;margin:0 0 8px;font-weight:400}
.seo-body .transition-pairs p{font-size:18px;line-height:1.5;margin:0 0 6px}
.gammes-list{margin:34px 0;padding:24px 0;border-top:1px solid #c9bfb0}
.gammes-list h2{font-size:28px;font-weight:400;margin:6px 0 10px}
.gammes-list p{font-size:18px;line-height:1.7}
.gammes-list a{color:var(--red);border-bottom:1px solid var(--red)}
#scale-boussole{margin:0 0 22px}
@media(max-width:700px){.seo-body .prob-exercice h2,.gammes-list h2{font-size:24px}}

/* === Dissertation de français : copie à 20 sur le Cahier de Douai (bac-dissertation-copie-20-cahier-de-douai.html) === */
.dc20-page .dc20.c20-plain .c20-h{display:none}
.dc20-page .dc20.c20-plain .c20-block{margin-bottom:16px;text-indent:1.5em}
.dc20-page .dc20{margin-top:14px;max-width:980px}
.dc20-page .dc20-meta{font-size:16px;line-height:1.45}
.dc20-page .dc20-badge{display:inline-block;font:12px 'American Typewriter','Courier New',monospace;letter-spacing:1.5px;text-transform:uppercase;color:var(--red);border:1px solid var(--red);padding:5px 9px}
.dc20-page .dc20-toggle[aria-pressed="true"]{border-color:var(--red);color:var(--red)}
.dc20-page .dc20-note{margin-top:18px}
@media(max-width:700px){.dc20-page .dc20.c20-plain .c20-block{font-size:18px}.dc20-page .c20-t{font-size:18px}}
/* === Commentaires à 20, phrase par phrase (commentaire-copie20.js, modèles de commentaire) === */
.model-commentary .c20c-bar{margin:-8px 0 26px;padding:0 0 18px;border-bottom:1px dotted var(--rule)}
.model-commentary .c20c-bar .c20c-aide{font-size:15px;line-height:1.5;color:var(--muted);margin:10px 0 0}
.model-commentary .c20c-toggle{border-color:var(--red);color:var(--red)}
.model-commentary.c20c-on > p{display:none}
.model-commentary .c20c-view .c20-t{overflow-wrap:anywhere}
@media(max-width:700px){.model-commentary .c20c-view .c20-t{font-size:17px}.model-commentary .c20c-view .c20-s{padding:9px 0}}
/* === Commentaires courts à 20 : « Repérer les éléments du plan » (commentaire-reperer.js) et Petit manuel v6 (manuel-procedes.html) === */
.rep-section .rep-legende{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:6px 22px;margin:14px 0}
.rep-section .rep-legende div{display:block;padding:6px 0;border-top:1px dotted #bdb3a5}
.rep-section .rep-legende dt{display:inline;font:700 13px 'American Typewriter','Courier New',monospace;letter-spacing:.05em;text-transform:uppercase;color:var(--red)}
.rep-section .rep-legende dt::after{content:" : "}
.rep-section .rep-legende dd{display:inline;margin:0;font-size:16px;line-height:1.45}
.rep-section .rep-zone{margin:18px 0}
.rep-section .rep-toggle{border-color:var(--red);color:var(--red)}
.rep-view{margin-top:16px;background:#fffdf8;border-left:4px solid var(--red);padding:18px 22px}
.rep-view .rep-chips{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 16px;padding-bottom:14px;border-bottom:1px dotted #bdb3a5}
.rep-view .rep-chip{font:13px 'American Typewriter','Courier New',monospace;padding:5px 9px;border:1px solid #6b645b;color:#1d1b18;cursor:pointer;line-height:1.3}
.rep-view .rep-chip[aria-pressed="false"]{opacity:.45;text-decoration:line-through}
.rep-view .rep-tout{background:#fff}
.rep-view .rep-p{display:grid;grid-template-columns:8.5em minmax(0,1fr);gap:14px;padding:8px 0}
.rep-view .rep-p p{margin:0;font-size:18px;line-height:2.15;overflow-wrap:anywhere}
.rep-view .rep-p-tr p{font-weight:700}
.rep-view .rep-marge{font:700 12px/2.6 'American Typewriter','Courier New',monospace;letter-spacing:.08em;color:var(--red);text-align:right;border-right:1px solid #cfc5b6;padding-right:10px}
.rep-view [data-k]{-webkit-box-decoration-break:clone;box-decoration-break:clone;padding:1px 2px;color:#111}
.rep-view [data-k]::before{font:700 9px/1 'Courier New',monospace;letter-spacing:.04em;vertical-align:super;padding:1px 2px;margin-right:2px;border:1px solid currentColor;background:#fff;color:#111;text-decoration:none;display:inline-block}
.rep-view .rep-chip[data-k]::before{vertical-align:middle;margin-right:6px}
.rep-view [data-k="rep"]{background:#fef08a;border-bottom:3px solid #a16207}
.rep-view [data-k="rep"]::before{content:"RÉP"}
.rep-view [data-k="nec"]{background:#e9d5ff;border-bottom:2px dashed #7e22ce}
.rep-view [data-k="nec"]::before{content:"NÉC"}
.rep-view [data-k="tr"]{background:#c7d2fe;outline:2px solid #4338ca;outline-offset:1px}
.rep-view [data-k="tr"]::before{content:"TR"}
.rep-view [data-k="rea"]{background:#bbf7d0;border-bottom:2px solid #15803d}
.rep-view [data-k="rea"]::before{content:"RÉA"}
.rep-view [data-k="el"]{background:#bae6fd;border-bottom:2px dotted #0369a1}
.rep-view [data-k="el"]::before{content:"ÉL"}
.rep-view [data-k="pro"]{background:#fbcfe8;border-bottom:3px double #be185d}
.rep-view [data-k="pro"]::before{content:"PR"}
.rep-view [data-k="eff"]{background:#fed7aa;text-decoration:underline wavy #c2410c;text-underline-offset:4px}
.rep-view [data-k="eff"]::before{content:"EF"}
.rep-view a.rep-manuel{text-decoration-line:underline;text-decoration-color:#be185d;text-decoration-thickness:2px}
.rep-view a.rep-manuel::after,.c20c-view a.rep-manuel::after{content:"↗";font-size:.7em;margin-left:1px}
.c20c-view a.rep-manuel{color:inherit;text-decoration:underline;text-decoration-color:var(--red)}
.rep-view.rep-off-rep .rep-p [data-k="rep"],.rep-view.rep-off-nec .rep-p [data-k="nec"],.rep-view.rep-off-tr .rep-p [data-k="tr"],.rep-view.rep-off-rea .rep-p [data-k="rea"],.rep-view.rep-off-el .rep-p [data-k="el"],.rep-view.rep-off-pro .rep-p [data-k="pro"],.rep-view.rep-off-eff .rep-p [data-k="eff"]{background:none;border-bottom:0;outline:0;text-decoration:none}
.rep-view.rep-off-rep .rep-p [data-k="rep"]::before,.rep-view.rep-off-nec .rep-p [data-k="nec"]::before,.rep-view.rep-off-tr .rep-p [data-k="tr"]::before,.rep-view.rep-off-rea .rep-p [data-k="rea"]::before,.rep-view.rep-off-el .rep-p [data-k="el"]::before,.rep-view.rep-off-pro .rep-p [data-k="pro"]::before,.rep-view.rep-off-eff .rep-p [data-k="eff"]::before{content:none}
.rep-view.rep-off-pro .rep-p a.rep-manuel{text-decoration-color:#bdb3a5}
.rep-maxime{margin:26px 0 4px;padding:18px 22px;border:1px solid #cfc5b6;background:#fffdf8}
.rep-maxime .rep-maxime-tete{font-weight:700;margin:0 0 12px}
.rep-maxime blockquote{margin:0 0 14px;padding-left:16px;border-left:3px solid var(--red);font-size:19px;line-height:1.5}
.rep-maxime blockquote p{margin:0}
.rep-maxime blockquote footer{font-size:14px;color:var(--muted);margin-top:6px}
.rep-maxime dl{margin:0}
.rep-maxime dl div{padding:6px 0;border-top:1px dotted #bdb3a5}
.rep-maxime dt{display:inline;font:700 12px 'American Typewriter','Courier New',monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--red)}
.rep-maxime dt::after{content:" — "}
.rep-maxime dd{display:inline;margin:0;font-size:16px;line-height:1.5}
.rep-maxime a{color:inherit;text-decoration-color:var(--red)}
.model-commentary span[id^="c20-"]{scroll-margin-top:90px}
.model-commentary span[id^="c20-"]:target{background:#fef08a;outline:2px solid #a16207;outline-offset:2px}
.hialmar-poeme p{line-height:1.6}
.hialmar-poeme .vn{display:inline-block;width:2.2em;font:12px 'American Typewriter','Courier New',monospace;color:var(--muted)}
.manuel-v6 .mv6-nav a{padding:20px 18px;border-top:1px solid var(--rule);border-right:1px solid var(--rule);font:14px 'American Typewriter','Courier New',monospace;color:inherit;text-decoration:none}
.manuel-v6 .mv6-nav a:hover,.manuel-v6 .mv6-nav a:focus-visible{background:#f3eee5;color:var(--red)}
.manuel-v6 .mv6-nav b{color:var(--red);margin-right:4px}
.manuel-v6 .mv6-usage{padding:30px 18px;border-bottom:1px solid var(--rule);max-width:980px}
.manuel-v6 .mv6-usage p{font-size:17px;line-height:1.5;margin:8px 0}
.manuel-v6 .mv6-family,.manuel-v6 .mv6-sub,.manuel-v6 .procedure-card-grid article{scroll-margin-top:20px}
.manuel-v6 .mv6-sub{font-size:26px;font-weight:400;margin:40px 0 6px}
.manuel-v6 .mv6-lead{font-size:17px;line-height:1.5;max-width:900px;margin:6px 0}
.manuel-v6 .procedure-card-grid article{min-height:0}
.manuel-v6 .procedure-card-grid article:target{outline:3px solid var(--red);outline-offset:2px;background:#fff8dc}
.manuel-v6 .mv6-row+.mv6-row{border-top:1px dotted #bdb3a5;margin-top:10px;padding-top:6px}
.manuel-v6 .mv6-renvoi a,.manuel-v6 .mv6-voir a,.manuel-v6 .mv6-notes a{color:var(--red)}
.manuel-v6 .procedure-card-grid .mv6-voir{margin-top:12px;font:13px 'American Typewriter','Courier New',monospace}
.manuel-v6 .mv6-notes{margin:18px 0 0;padding:14px 18px;border-left:3px solid var(--red);background:#fbf8f1;max-width:980px}
.manuel-v6 .mv6-notes p{font-size:16px;line-height:1.5;margin:6px 0}
@media(max-width:700px){
  .rep-view{padding:14px 12px}
  .rep-view .rep-p{grid-template-columns:1fr;gap:2px}
  .rep-view .rep-marge{text-align:left;border-right:0;line-height:1.6}
  .rep-view .rep-marge:empty{display:none}
  .rep-view .rep-p p{font-size:17px;line-height:2.1}
  .manuel-v6 .mv6-sub{font-size:22px}
}

/* === dissertation-sujets-20 : banque des vrais sujets de dissertation (bac-dissertation-sujets.html) === */
.vs-page .vs-prog p{font-size:17px;line-height:1.5;margin:0 0 10px}
.vs-page .vs-alerte{background:#eee4d3;padding:16px 18px;font-size:16px;line-height:1.5}
.vs-page .vs-formes-list{padding-left:20px;font-size:17px;line-height:1.5}
.vs-page .vs-oeuvre{margin-top:30px}
.vs-page .vs-oeuvre h3{font-size:26px;font-weight:400;margin:0 0 4px}
.vs-page .vs-parcours{font:13px 'American Typewriter','Courier New',monospace;letter-spacing:1px;color:var(--red);margin:0 0 12px}
.vs-page .vs-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}
.vs-page .vs-item{padding:14px 0;border-bottom:1px dotted var(--rule)}
.vs-page .vs-q{font-size:19px;line-height:1.45;margin:0 0 6px;overflow-wrap:anywhere}
.vs-page .vs-meta{font:13px 'American Typewriter','Courier New',monospace;letter-spacing:.5px;color:var(--muted);margin:0 0 4px}
.vs-page .vs-forme{font-size:15px;line-height:1.45;margin:0 0 4px}
.vs-page .vs-src{font-size:14px;margin:0;display:flex;flex-wrap:wrap;gap:6px 16px}
.vs-page .vs-src a{color:var(--red);border-bottom:1px solid var(--red)}
.vs-page .vs-ver{color:var(--muted)}
.vs-page .side-note p{overflow-wrap:anywhere}
@media(max-width:700px){.vs-page .vs-q{font-size:17px}.vs-page .vs-oeuvre h3{font-size:22px}}
/* === brevet : sujets de rédaction, copies à 20, connecteurs, exemples (tâche brevet-redaction-20) === */
.bred-page .section-intro a,.bred-page .prose a,.bred-page .micro a,.bred-page .bred-liste a,.bred-page .bsr-links a{color:var(--red);border-bottom:1px solid var(--red)}
.bred-page .bsr-links{display:flex;flex-wrap:wrap;gap:8px 22px;list-style:none;padding:0;margin:12px 0;font-size:18px}
.bred-page .bsr-section{border-bottom:1px solid var(--rule);padding-bottom:30px}
.bred-page .bsr-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;padding:0 18px}
.bred-page .bsr-card{border-top:3px solid var(--red);background:#fbf7ef;padding:20px 22px 14px;scroll-margin-top:20px;min-width:0}
.bred-page .bsr-card:target{outline:3px solid var(--red);outline-offset:2px}
.bred-page .bsr-meta{font:700 12px/1.4 'American Typewriter','Courier New',monospace;letter-spacing:1.4px;color:var(--red);margin:0 0 10px}
.bred-page .bsr-consigne{margin:0 0 14px;padding:0 0 0 14px;border-left:3px solid #d9d0c2;font-size:18px;line-height:1.5}
.bred-page .bsr-contexte,.bred-page .bsr-piege{font-size:16px;line-height:1.5;margin:8px 0}
.bred-page .bsr-piege{background:#f3ead2;padding:8px 12px}
.bred-page .bsr-actions{display:flex;flex-wrap:wrap;gap:4px 20px;margin:12px 0 4px}
.bred-page .bsr-actions .official-link{margin-top:6px}
.bred-page .bsr-code{font:12px 'American Typewriter','Courier New',monospace;color:var(--muted);margin:8px 0 0}
.bred-page .bsr-ecrire .exam-writing-area{min-height:420px}
.bred-page textarea.bred-small{min-height:0;margin-top:10px}
.bred-page .bred-attentes-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:14px}
.bred-page .bred-attentes-grid b{font:700 13px 'American Typewriter','Courier New',monospace;letter-spacing:1px;text-transform:uppercase;color:var(--red)}
.bred-page .bred-attentes-grid p{font-size:17px;line-height:1.5;margin:6px 0}
.bred-page .bred-sous{font-size:18px;line-height:1.45}
.bred-page .bred-contrat{padding-left:22px}
.bred-page .bred-contrat li{font-size:19px;line-height:1.5;margin:0 0 14px}
.bred-page .bred-ex{display:block;font-size:15px;color:var(--muted);margin-top:2px}
.bred-page .bred-liste{font-size:18px;line-height:1.7}
.bred-page .bc20-copy{padding:44px 18px;border-bottom:1px solid var(--rule);scroll-margin-top:20px}
.bred-page .bc20-head h2{font-size:38px;line-height:1.05;margin:10px 0 12px;font-weight:400}
.bred-page .bc20-meta{font-size:16px;line-height:1.45}
.bred-page .bc20-toggle[aria-pressed="true"]{border-color:var(--red);color:var(--red)}
.bred-page .bc20-texte{max-width:980px}
.bred-page .bc20-valorise{margin:26px 0 0;padding:16px 20px;border-left:4px solid var(--red);background:#eee5d5;max-width:980px}
.bred-page .bc20-valorise ul{margin:8px 0 0;padding-left:20px}
.bred-page .bc20-valorise li{font-size:17px;line-height:1.5;margin:6px 0}
.bred-page .bniv-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 18px}
.bred-page .bniv-tabs button{font:14px 'American Typewriter','Courier New',monospace;background:transparent;border:1px solid #827d74;padding:10px 14px;cursor:pointer;color:var(--ink)}
.bred-page .bniv-tabs button[aria-selected="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.bred-page .bniv-aide{font-size:17px;color:var(--muted);margin:0 0 6px}
.bred-page .bniv-nav{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0 0;padding-top:18px;border-top:1px dotted var(--rule)}
.bred-page .bniv-nav button{font:15px Georgia,'Times New Roman',serif;background:transparent;border:1px solid var(--rule);padding:9px 14px;cursor:pointer;color:var(--ink)}
.bred-page .bniv-nav .bniv-next{background:var(--red);border-color:var(--red);color:#fff}
.bred-page .brevet-qcm .chaine-opts{max-width:1050px;margin-top:14px}
.bred-page .bordre-items{display:grid;gap:10px;max-width:1050px;margin-top:14px}
.bred-page .bordre-item{display:grid;grid-template-columns:34px minmax(0,1fr);gap:8px;text-align:left;font:17px/1.45 Georgia,'Times New Roman',serif;background:#fff;border:1px solid #8a8378;padding:12px 14px;cursor:pointer;color:var(--ink)}
.bred-page .bordre-item.done{background:#f3eee5;cursor:default}
.bred-page .bordre-n{font:700 15px 'American Typewriter','Courier New',monospace;color:var(--red)}
.bred-page .bordre-again{display:inline-flex;margin:10px 0 0;min-width:0;height:auto;padding:8px 14px;font-size:15px}
.bred-page .bchasse-texte{font-size:18px;line-height:2;max-width:1050px}
.bred-page .bchasse-texte .chaine-opt{display:inline;padding:2px 6px;font-size:18px;line-height:1.7;border-style:dashed;text-align:left}
.bred-page .bco-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:16px}
.bred-page .bco-card{border-top:3px solid var(--red);background:#fbf7ef;padding:16px 20px;min-width:0}
.bred-page .bco-card h3{font-size:26px;font-weight:400;margin:4px 0}
.bred-page .bco-card p{font-size:16px;line-height:1.5;margin:6px 0}
.bred-page .bco-mots{font:15px 'American Typewriter','Courier New',monospace;color:var(--red)}
.bred-page .bco-ex{font-style:italic;border-left:3px solid #d9d0c2;padding-left:10px}
.bred-page .bco-ex u{text-decoration-color:var(--red);text-decoration-thickness:2px}
.bred-page .bco-piege{background:#f3ead2;padding:6px 10px}
.bred-page .bex-section{padding:40px 18px;border-bottom:1px solid var(--rule)}
.bred-page .bex-filtres{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 0}
.bred-page .bex-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:20px}
.bred-page .bex-card{border-top:3px solid var(--red);background:#fbf7ef;padding:16px 18px;min-width:0;scroll-margin-top:20px}
.bred-page .bex-card h3{font-size:22px;font-weight:400;margin:2px 0}
.bred-page .bex-card p{font-size:16px;line-height:1.5;margin:6px 0}
.bred-page .bex-auteur{color:var(--muted)}
.bred-page .bex-prouve{background:#f3ead2;padding:6px 10px}
.bred-page .bex-sujets a{color:var(--red);border-bottom:1px solid var(--red)}
.bred-page .bex-themes{font:12px 'American Typewriter','Courier New',monospace;color:var(--muted)}
@media(max-width:1050px){.bred-page .bex-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.bred-page .bsr-grid,.bred-page .bred-attentes-grid,.bred-page .bco-grid,.bred-page .bex-grid{grid-template-columns:1fr}.bred-page .bsr-grid{padding:0}.bred-page .bc20-copy{padding:32px 6px}.bred-page .bc20-head h2{font-size:30px}.bred-page .bsr-consigne{font-size:17px}.bred-page .bniv-tabs button{flex:1 1 100%;text-align:left}}
.brevet-redaction-liens{padding:0 18px}.brevet-redaction-liens a{color:var(--red);border-bottom:1px solid var(--red)}

/* === Bibliothèque, annales et navigation simplifiée — octobre 2026 === */
.library-doors,.home-resources{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-block:32px}
.library-doors>a,.home-resources>a{display:grid;gap:12px;border:1px solid var(--rule);padding:28px;text-decoration:none;background:var(--paper);color:inherit}
.library-doors>a:hover,.home-resources>a:hover{border-color:var(--red)}
.library-doors h2,.library-doors p{margin:0}.library-doors span{font-size:13px;letter-spacing:1px}.home-resources strong{font-size:27px}.home-resources span{line-height:1.5}
.library-other{margin-block:32px}.annales-jump{display:flex;flex-wrap:wrap;gap:12px;margin-block:24px}.annales-jump a{border:1px solid var(--rule);padding:10px 16px;text-decoration:none}
@media(min-width:1051px){.nav-portals .portal span{font-size:clamp(10px,1.05vw,15px)!important;letter-spacing:0!important}.nav-portals .portal{padding-inline:6px!important}.nav-portals .portal small{font-size:9px!important}}
@media(max-width:650px){.library-doors,.home-resources{grid-template-columns:1fr}.library-doors>a,.home-resources>a{padding:22px}}

.portal-wrap:not(.open) .portal-dropdown{opacity:0;visibility:hidden;pointer-events:none}

/* === Clin d’œil philosophique : vignette légère dans la signature du site === */
.brand-signature{display:flex;align-items:center;gap:12px;min-width:0}
.site-wink{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;border-radius:5px;overflow:hidden;line-height:0;transition:transform .15s ease}
.site-wink img{display:block;width:42px;height:53px;object-fit:contain}
.site-wink:hover{transform:rotate(-4deg)}
.site-wink:focus-visible{outline:3px solid var(--red);outline-offset:4px}
.wink-page{max-width:760px;padding:40px 0 56px;text-align:center}
.wink-page h1{font-size:clamp(30px,5vw,48px);line-height:1.12}
.wink-figure{margin:28px auto;max-width:560px}
.wink-figure img{display:block;width:100%;height:auto;border-radius:6px}
.wink-figure figcaption{font-size:16px;line-height:1.6;margin-top:16px;color:var(--muted)}
.wink-page .wink-back{display:inline-block;border-bottom:1px solid var(--red);padding-bottom:5px;font-size:18px}
@media(max-width:760px){.brand-signature{gap:9px}.site-wink img{width:35px;height:44px}.wink-page{padding-top:24px}}
@media(prefers-reduced-motion:reduce){.site-wink{transition:none}.site-wink:hover{transform:none}}

/* === La Phrase juste : nom court dans l’en-tête, signature sur l’accueil === */
.home-site-name{font:700 25px/1.2 Georgia,'Times New Roman',serif;letter-spacing:-.5px;margin:0 0 8px;color:var(--red)}
.home-site-tagline{font:17px/1.5 Georgia,'Times New Roman',serif;margin:0 0 24px;max-width:36ch;color:var(--muted)}
@media(max-width:760px){.home-site-name{font-size:22px}.home-site-tagline{font-size:16px;margin-bottom:20px}}

/* === Dissertation : cinq étapes lisibles et explications alignées === */
.dissertation-five{grid-template-columns:repeat(5,minmax(0,1fr));margin-block:28px 36px;border-bottom:1px solid var(--rule)}
.dissertation-five>article{min-width:0;padding:24px 20px 28px;border-top:1px solid var(--rule)}
.dissertation-five>article+article{border-left:1px solid var(--rule)}
.dissertation-five h3{font-size:24px;line-height:1.2;min-height:3.6em;margin:16px 0}
.dissertation-five p{font-size:16px;line-height:1.6;margin:0;text-align:left;overflow-wrap:break-word}
@media(max-width:1050px){
  .dissertation-five{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dissertation-five>article:nth-child(odd){border-left:0}
  .dissertation-five h3{min-height:2.4em}
}
@media(max-width:620px){
  .dissertation-five{grid-template-columns:minmax(0,1fr)}
  .dissertation-five>article+article{border-left:0}
  .dissertation-five h3{min-height:0}
}

/* === Audit typographie et respiration des pages — octobre 2026 === */
/* Titres : laisser respirer les accents et les lignes, sans changer les polices. */
.pagehead{gap:clamp(24px,4.4vw,60px);padding-block:clamp(36px,4.4vw,60px)}
.pagehead h1{line-height:1.08;letter-spacing:-.035em;overflow-wrap:break-word}
:is(.method-grid,.exercise-intro,.journey-block,.section-intro,.teacher-sequence) h2{line-height:1.18}
:is(.module-card,.corpus-card,.stage-card,.hlp-card,.procedure-mode-grid) h3{line-height:1.25}
/* Une mesure de lecture régulière pour les explications, pas pour les vers. */
.prose,.seo-body>p{max-width:70ch}
.prose p{line-height:1.65}
.seo-body>h2:not(:first-child){margin-top:40px;margin-bottom:18px;line-height:1.18}
.seo-body>h3{font-size:26px;line-height:1.25;margin:30px 0 14px}
.seo-body>ul,.seo-body>ol{max-width:70ch;font-size:18px;line-height:1.65;padding-left:1.4em}
.seo-body>ul>li+li,.seo-body>ol>li+li{margin-top:10px}
:is(.module-card,.corpus-card,.stage-card,.workbench,.exercise)>p{font-size:17px;line-height:1.6;max-width:70ch}
:is(.module-card,.corpus-card,.stage-card) h3{font-size:24px;margin:10px 0 14px}
/* Les colonnes doivent pouvoir rétrécir, même avec un titre long. */
.grid-2,.corpus-index{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
:is(.grid-2,.grid-3,.method-grid,.exercise-intro,.corpus-index)>*{min-width:0}
:is(.module-card,.corpus-card,.stage-card){overflow-wrap:break-word}
/* Les boutons et les aides ne doivent pas comprimer une phrase sur une ligne. */
main .btn{max-width:100%;white-space:normal;text-align:left;line-height:1.4}
main :is(.actions,.funnel-actions,.atelier-nav,.chaine-nav){flex-wrap:wrap;row-gap:12px}
.correction summary{line-height:1.6}
.c20-f{min-width:0;line-height:1.55;overflow-wrap:break-word}
.boussole{grid-template-columns:repeat(3,minmax(0,1fr))}
.boussole p{min-width:0;line-height:1.55}
/* Les renvois restent lisibles, sans devenir aussi imposants que le texte. */
:is(.literary-text .source,.literary-text .notes,.micro){line-height:1.6}
@media(max-width:800px){.grid-2,.grid-3,.corpus-index{grid-template-columns:minmax(0,1fr)}}
@media(max-width:700px){
  .pagehead h1{font-size:clamp(36px,9.4vw,46px);letter-spacing:-.025em}
  .pagehead .lede{line-height:1.55}
  .boussole{grid-template-columns:minmax(0,1fr)}
  .workbench{padding:22px 16px}
  .model-commentary{padding:28px 18px}
  .c20-f{font-size:13px;letter-spacing:.02em;line-height:1.55}
  main .btn{min-width:0}
  .seo-body>h2{font-size:32px}
  .seo-body>h3{font-size:24px}
}

/* Deux entrées principales en philosophie, ressources complémentaires en dessous. */
.philo-choices{margin:24px 0 0}
.philo-choices h3{font-size:30px;font-weight:400;line-height:1.2;margin:0}
.philo-choices p{font-size:18px;line-height:1.6;margin:0}
.philo-choices span{color:var(--red);text-decoration:underline;text-underline-offset:4px}
.philo-resources ul{font-size:18px;line-height:1.65;padding-left:1.4em}
.philo-resources li+li{margin-top:10px}
#dissertation{scroll-margin-top:24px}
/* Les quatre gestes du manuel occupent toute la ligne, sans cinquième colonne vide. */
@media(min-width:901px){
  .procedure-principle:has(>div:nth-child(4):last-child){grid-template-columns:repeat(4,minmax(0,1fr))}
}

/* Copies à 20 : deux modes de lecture communs à tout le site (copie-modes.js) */
.cm-bar{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 20px}
.cm-mode{font:inherit;font-size:15px;background:transparent;color:inherit;border:1px solid var(--ink,#1c1a17);padding:9px 14px;cursor:pointer;border-radius:2px}
.cm-mode[aria-pressed="true"]{background:var(--red,#8e3028);border-color:var(--red,#8e3028);color:#fff}
.cm-mode:focus-visible{outline:3px solid var(--red,#8e3028);outline-offset:3px}
.cm-plain{max-width:860px;font-size:19px;line-height:1.65}
.cm-plain p{text-align:justify;-webkit-hyphens:auto;hyphens:auto;text-indent:1.5em;margin:0 0 .85em}
.cm-plain p.cm-part{margin-top:1.7em}
.cm-detail .c20-t,.cm-detail .mr-text,.cm-commentaire > p:not(.label){text-align:justify;-webkit-hyphens:auto;hyphens:auto}
.cm-commentaire > p:not(.label):not(.c20c-aide){text-indent:1.5em}
.cm-old{display:none!important}
@media(max-width:700px){.cm-plain{font-size:18px}.cm-mode{flex:1 1 100%;text-align:left}}
@media print{.cm-bar{display:none!important}}

/* Onglets intérieurs (onglets.js), dans le style du menu principal */
.onglets-barre{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);border:1px solid var(--rule);background:var(--paper,#f4efe6);margin:8px 0 28px;position:sticky;top:0;z-index:5}
.onglets-barre [role="tab"]{font:inherit;background:transparent;border:0;border-right:1px solid var(--rule);color:var(--ink,#1c1a17);padding:16px 18px;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:5px;min-height:64px}
.onglets-barre [role="tab"]:last-child{border-right:0}
.onglets-barre [role="tab"] b{font-size:19px;font-weight:400;line-height:1.1}
.onglets-barre [role="tab"] small{font:11px 'American Typewriter','Courier New',monospace;letter-spacing:.6px;text-transform:uppercase;color:var(--muted)}
.onglets-barre [role="tab"]:hover,.onglets-barre [role="tab"][aria-selected="true"]{background:#eee4d3}
.onglets-barre [role="tab"][aria-selected="true"] b{color:var(--red)}
.onglets-barre [role="tab"]:focus-visible{outline:3px solid var(--red,#8e3028);outline-offset:-3px}
.onglets:not(.onglets-actifs) .onglets-barre{display:none}
.onglet:focus{outline:none}
@media(max-width:700px){.onglets-barre [role="tab"]{padding:12px 10px;min-height:56px}.onglets-barre [role="tab"] b{font-size:16px}.onglets-barre [role="tab"] small{display:none}}

/* Pages de sujet : étapes d’entraînement (etapes.js) */
.etapes-nav{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px;padding:0;list-style:none}
.etapes-nav button{font:inherit;font-size:15px;background:transparent;border:1px solid #9b9488;padding:8px 12px;cursor:pointer;text-align:left;color:var(--ink)}
.etapes-nav button.on{border-color:var(--ink);background:#eee4d3}
.etapes-nav button:focus-visible{outline:3px solid var(--red);outline-offset:2px}
.etape{border-top:1px solid var(--rule);padding-top:18px}
.etape-niveau{font:12px 'American Typewriter','Courier New',monospace;letter-spacing:1.6px;text-transform:uppercase;color:var(--red);margin:22px 0 8px}
.etape-q{margin:0 0 22px}
.etape-passage{font-size:19px;line-height:1.5;border-left:3px solid var(--red);padding:6px 0 6px 16px;margin:6px 0 16px}
.etape-autre{background:#eee4d3;padding:14px 16px;margin:8px 0 14px}
.etape-autre p{margin:0}
.etape-ecrit textarea{width:100%;box-sizing:border-box;padding:12px;font:inherit;line-height:1.55;min-height:150px}
.etape-comment{margin:4px 0 14px}
.etape-comment summary{cursor:pointer;font-weight:600}
.etape-direct{font:inherit;font-size:15px;background:transparent;border:0;border-bottom:1px solid currentColor;padding:0;color:var(--muted);cursor:pointer;margin:0 0 12px}
.etape-fin{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 0}
.sujet-libelle{font-size:24px;line-height:1.4;text-align:justify;-webkit-hyphens:auto;hyphens:auto;margin:6px 0 16px}
@media(max-width:700px){.sujet-libelle{font-size:20px}.etape-passage{font-size:17px}}
.etape-sujet{margin:0 0 6px;font-size:18px;line-height:1.45;text-align:justify;hyphens:auto}
.etape-sujet b{font:700 12px 'American Typewriter','Courier New',monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--red);margin-right:6px}
.oeuvres-choix{display:grid;gap:10px;margin:22px 0}
.oeuvre-choix{border:1px solid var(--rule);background:#fffdf8}
.oeuvre-choix summary{cursor:pointer;padding:16px 18px;font-size:20px;list-style-position:inside}
.oeuvre-choix summary small{font:12px 'American Typewriter','Courier New',monospace;letter-spacing:.08em;color:var(--muted);margin-left:8px}
.oeuvre-choix ul{list-style:none;margin:0;padding:0 18px 4px}
.oeuvre-choix li{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 14px;padding:12px 0;border-top:1px solid #d8cfc0;font-size:18px}
.oeuvre-choix li a{border-bottom:1px solid var(--red)}
.oeuvre-choix>p{padding:0 18px 12px;margin:0}
.badge,.badge-ok{text-transform:none;font:12px 'American Typewriter','Courier New',monospace;letter-spacing:.06em;padding:3px 8px;border:1px solid #9b9488;white-space:nowrap}
.badge-ok{background:#e6ecdf;border-color:#596d49}
.difficultes{list-style:none;margin:18px 0 44px;padding:0;border-top:1px solid var(--rule)}
.difficultes li{display:grid;grid-template-columns:1fr auto;gap:10px 24px;align-items:center;padding:16px 0;border-bottom:1px solid var(--rule)}
.difficultes b{font-size:21px;font-weight:400}
.difficultes p{margin:4px 0 0;font-size:16px;line-height:1.4;color:var(--muted)}
.difficulte-liens{display:flex;flex-wrap:wrap;gap:8px 18px;justify-content:flex-end}
.difficulte-liens a:not(.btn){color:var(--red);border-bottom:1px solid var(--red);font-size:17px}
.difficulte-liens .btn.small{margin-top:0;min-width:0}
@media(max-width:700px){.difficultes li{grid-template-columns:1fr}.difficulte-liens{justify-content:flex-start}}
.sujet-acces{display:flex;gap:8px;flex-wrap:wrap}
.oeuvre-choix li a.badge,.oeuvre-choix li a.badge-ok{border-bottom:1px solid #9b9488}
.oeuvre-choix li a.badge-ok{border-color:#596d49}
