@font-face{font-family:"Bookman";src:url("fonts/URWBookman-Demi.woff2") format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Bookman";src:url("fonts/URWBookman-Light.woff2") format("woff2");font-weight:400;font-display:swap}
:root{
  --papier:#F3EAD6;--papier2:#EADDC2;--encre:#16263A;--prusse:#1F3A5F;--ocre:#C98B2B;--or:#E2A03C;--brique:#A8452E;--trait:#16263A;
  --max:1100px;
}
*{box-sizing:border-box}
html{color-scheme:light}
body{margin:0;background:var(--papier);color:var(--encre);font-family:"Bookman",Georgia,"Times New Roman",serif;font-size:18px;line-height:1.65}
img{max-width:100%;height:auto;display:block}
a{color:var(--brique);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--prusse)}
.wrap{max-width:var(--max);margin:0 auto;padding:0 20px}

/* En-tête */
.top{background:var(--prusse);color:var(--papier);border-bottom:6px solid var(--ocre)}
.top .wrap{display:flex;align-items:center;gap:14px;min-height:72px;flex-wrap:wrap}
.top a{color:var(--papier);text-decoration:none}
.brand{display:flex;align-items:center;gap:12px;font-weight:700;font-size:1.05rem;line-height:1.2;margin-right:auto}
.brand img{width:46px;height:46px;border-radius:50%;border:2px solid var(--or)}
.top nav{display:flex;gap:18px;flex-wrap:wrap;font-size:.95rem}
.top nav a:hover,.top nav a[aria-current]{color:var(--or)}

/* Héro */
.hero{position:relative;background:var(--encre)}
.hero img{width:100%;max-height:520px;object-fit:cover;opacity:.92}
.hero .titre{position:absolute;left:0;right:0;bottom:0;padding:22px 20px 26px;background:rgba(22,38,58,.82)}
.hero h1{margin:0 auto;max-width:var(--max);color:var(--or);font-size:clamp(1.7rem,4.2vw,3rem);line-height:1.15}
.hero p{margin:8px auto 0;max-width:var(--max);color:var(--papier);font-size:clamp(1rem,2vw,1.2rem)}

h1,h2,h3{font-weight:700;line-height:1.2;color:var(--prusse)}
h2{font-size:clamp(1.4rem,3vw,2rem);margin:48px 0 14px}
h3{font-size:1.2rem;margin:28px 0 8px}
.intro{font-size:1.12rem;max-width:820px}
.filet{border:0;border-top:2px solid var(--trait);margin:40px 0;position:relative}

/* Cartes épisodes */
.episodes{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:26px;margin:22px 0}
.carte{background:var(--papier2);border:2px solid var(--trait);display:flex;flex-direction:column;text-decoration:none;color:var(--encre);box-shadow:6px 6px 0 var(--prusse)}
.carte:hover{transform:translate(-2px,-2px);box-shadow:8px 8px 0 var(--brique);color:var(--encre)}
.carte .corps{padding:16px 18px 20px}
.carte h3{margin:0 0 6px}
.carte .lieu{font-size:.9rem;color:var(--brique);font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.carte p{margin:8px 0 0}
.bientot{border-style:dashed;box-shadow:none;opacity:.85}

/* Page épisode */
.fil{font-size:.9rem;margin:22px 0 0}
.page-titre{margin:10px 0 4px;font-size:clamp(1.6rem,4vw,2.6rem)}
.sous{margin:0 0 20px;color:var(--brique);font-weight:700}
.video{position:relative;aspect-ratio:16/9;background:var(--encre);border:2px solid var(--trait);box-shadow:6px 6px 0 var(--prusse)}
.video button{all:unset;cursor:pointer;position:absolute;inset:0;display:block}
.video button img{width:100%;height:100%;object-fit:cover}
.video .play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:var(--brique);color:var(--papier);border:3px solid var(--papier);padding:14px 26px;font-weight:700;font-size:1.1rem}
.video button:hover .play,.video button:focus-visible .play{background:var(--prusse)}
.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.note-video{font-size:.85rem;margin:14px 0 0;opacity:.85}

.grille2{display:grid;grid-template-columns:1.4fr 1fr;gap:34px;margin-top:20px}
@media (max-width:820px){.grille2{grid-template-columns:1fr}}
.encart{background:var(--papier2);border:2px solid var(--trait);padding:6px 20px 16px}
.encart h3{margin-top:16px}
.encart ul{padding-left:20px;margin:6px 0}
ol.chapitres{padding-left:0;list-style:none;margin:6px 0}
ol.chapitres li{display:flex;gap:12px;padding:4px 0;border-bottom:1px dotted rgba(22,38,58,.35)}
ol.chapitres time{font-weight:700;color:var(--brique);min-width:3.2em}
figure{margin:28px 0}
figcaption{font-size:.88rem;margin-top:8px;font-style:italic}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:20px}
@media (max-width:640px){.duo{grid-template-columns:1fr}}
.duo img,figure img{border:2px solid var(--trait)}
.etiquette{display:inline-block;background:var(--prusse);color:var(--or);font-weight:700;font-size:.8rem;padding:2px 10px;letter-spacing:.05em;text-transform:uppercase}
.legende{border-left:6px solid var(--brique);padding:4px 0 4px 18px;margin:24px 0}
.histoire{border-left:6px solid var(--prusse);padding:4px 0 4px 18px;margin:24px 0}
.bouton{display:inline-block;background:var(--brique);color:var(--papier);text-decoration:none;font-weight:700;padding:10px 20px;border:2px solid var(--trait);margin:6px 8px 6px 0}
.bouton:hover{background:var(--prusse);color:var(--papier)}
.bouton.alt{background:var(--papier2);color:var(--encre)}

/* Pied */
footer{margin-top:64px;background:var(--prusse);color:var(--papier);border-top:6px solid var(--ocre);font-size:.92rem}
footer .wrap{padding-top:26px;padding-bottom:30px}
footer a{color:var(--or)}
footer p{margin:6px 0}
:focus-visible{outline:3px solid var(--or);outline-offset:2px}

/* SEO/GEO : en bref, FAQ, transcription */
.bref{background:var(--papier2);border:2px solid var(--trait);border-left:8px solid var(--ocre);padding:4px 22px 14px;margin:26px 0}
.bref h2{margin:14px 0 8px;font-size:1.3rem}
.bref dl{display:grid;grid-template-columns:max-content 1fr;gap:6px 18px;margin:0}
.bref dt{font-weight:700;color:var(--brique)}
.bref dd{margin:0}
@media (max-width:640px){.bref dl{grid-template-columns:1fr}.bref dd{margin-bottom:8px}}
details.faq{border:2px solid var(--trait);background:var(--papier2);margin:10px 0;padding:0 18px}
details.faq summary{cursor:pointer;font-weight:700;color:var(--prusse);padding:12px 0}
details.faq p{margin:0 0 14px}
#transcription h3 a{text-decoration:none;color:var(--brique);margin-right:8px}
.replique{margin:6px 0}
.replique strong{color:var(--prusse)}
.maj{font-size:.85rem;opacity:.8;margin-top:30px}
