:root{
  --paper:#efeadf; --ink:#111; --flash:#d400ff; --sun:#ffe400; --grey:#8d8a82;
}
*{box-sizing:border-box;margin:0}
body{background:var(--paper);color:var(--ink);font:17px/1.55 Karla,sans-serif;
  background-image:radial-gradient(rgba(0,0,0,.07) 1px,transparent 1px);background-size:5px 5px}
a{color:inherit}
.wrap{max-width:1080px;margin:0 auto;padding:0 20px}
h1,h2,h3{font-family:'Bebas Neue',sans-serif;font-weight:400;letter-spacing:.02em;line-height:.95}
.type{font-family:'Special Elite',monospace}

/* header */
header{border-bottom:4px solid var(--ink);background:var(--paper)}
header .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 20px;flex-wrap:wrap}
.brand{font-family:'Bebas Neue';font-size:34px;text-decoration:none;letter-spacing:.03em}
.brand span{background:var(--sun);padding:0 8px;box-shadow:3px 3px 0 var(--ink)}
nav a{font-family:'Bebas Neue';font-size:20px;text-decoration:none;margin-left:18px;border-bottom:3px solid transparent}
nav a:hover{border-color:var(--flash)}

/* hero */
.hero{display:grid;grid-template-columns:1fr 1.1fr;gap:40px;align-items:center;padding:56px 0 40px}
.photo{position:relative;aspect-ratio:4/5;background:
  repeating-linear-gradient(45deg,#cfc9bb 0 10px,#d9d4c7 10px 20px);border:3px solid var(--ink);
  display:grid;place-items:center;transform:rotate(-2deg);box-shadow:8px 8px 0 var(--ink)}
.photo b{font-family:'Special Elite';font-size:14px;background:var(--paper);padding:6px 10px;border:2px solid var(--ink)}
.photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 20%;filter:grayscale(1) contrast(1.15)}
.tape{z-index:1;position:absolute;top:-16px;left:50%;width:120px;height:34px;background:rgba(255,228,0,.85);transform:translateX(-50%) rotate(3deg);border:1px dashed rgba(0,0,0,.25)}
.kicker{display:inline-block;background:var(--ink);color:var(--paper);font-family:'Special Elite';padding:4px 10px;font-size:14px;transform:rotate(-1.5deg)}
.hero h1{font-size:clamp(52px,8vw,96px);margin:16px 0}
.hero h1 em{font-style:normal;background:var(--sun);padding:0 .12em;box-shadow:5px 5px 0 var(--flash)}
.hero p.lead{font-size:19px;max-width:30em}
.baseline{margin-top:14px;font-family:'Special Elite';font-size:15px;color:#333}

/* signup */
.signup{margin-top:26px;border:3px solid var(--ink);background:#fff;padding:16px;transform:rotate(.8deg);box-shadow:6px 6px 0 var(--flash);max-width:520px}
.signup label{font-family:'Bebas Neue';font-size:24px;display:block;margin-bottom:8px}
.signup .row{display:flex;gap:8px;flex-wrap:wrap}
.signup input{flex:1 1 200px;font:inherit;padding:12px;border:2px solid var(--ink);background:var(--paper)}
.btn{font-family:'Bebas Neue';font-size:22px;letter-spacing:.04em;background:var(--flash);color:#fff;border:3px solid var(--ink);padding:10px 20px;cursor:pointer;text-decoration:none;display:inline-block;box-shadow:4px 4px 0 var(--ink);transition:transform .1s}
.btn:hover{transform:translate(-2px,-2px)}
.btn.alt{background:var(--sun);color:var(--ink)}
.signup small{display:block;margin-top:8px;color:var(--grey);font-size:13px}

/* doors */
.doors{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;padding:30px 0 50px}
.door{border:3px solid var(--ink);background:#fff;padding:22px;text-decoration:none;position:relative;transition:transform .15s}
.door:nth-child(1){transform:rotate(-1.2deg)}.door:nth-child(2){transform:rotate(1deg)}.door:nth-child(3){transform:rotate(-.6deg)}
.door:hover{transform:rotate(0) translateY(-4px)}
.door .n{font-family:'Special Elite';font-size:13px;color:var(--grey)}
.door h3{font-size:44px;margin:6px 0 8px}
.door:nth-child(1) h3 span{background:var(--sun)}
.door:nth-child(2) h3 span{background:var(--flash);color:#fff;padding:0 6px}
.door:nth-child(3) h3 span{border-bottom:6px solid var(--ink)}
.sticker{position:absolute;right:-12px;top:-14px;background:var(--sun);border:3px solid var(--ink);font-family:'Bebas Neue';padding:2px 12px;transform:rotate(8deg);font-size:18px}

/* sections */
section.block{padding:40px 0;border-top:4px solid var(--ink)}
.sec-head{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:28px;flex-wrap:wrap}
.sec-head h2{font-size:clamp(44px,6vw,72px)}
.sec-head p{max-width:28em;font-family:'Special Elite';font-size:14px}

.chroniques{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.card{background:#fff;border:3px solid var(--ink);display:flex;flex-direction:column;box-shadow:6px 6px 0 var(--ink)}
.card .img{aspect-ratio:1;background:repeating-linear-gradient(-45deg,#f6f2e6 0 12px,#eee8d8 12px 24px);display:grid;place-items:center;border-bottom:3px solid var(--ink);font-family:'Special Elite';font-size:13px;text-align:center;padding:12px}
.card .body{padding:18px;display:flex;flex-direction:column;gap:8px;flex:1}
.card h3{font-size:32px}
.card p{font-size:15px}
.card a.more{margin-top:auto;font-family:'Bebas Neue';font-size:20px;color:var(--flash);text-decoration:none}
.card a.more:hover{text-decoration:underline}

.videos{display:grid;grid-template-columns:2fr 1fr 1fr;gap:24px;align-items:start}
.videos .main{grid-column:auto}
.vid.tall{aspect-ratio:9/16}
.videos .row2{grid-column:1/-1}
.vid{aspect-ratio:16/9;background:#111;color:var(--paper);display:grid;place-items:center;border:3px solid var(--ink);box-shadow:6px 6px 0 var(--sun);position:relative;font-family:'Special Elite'}
.vid::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(255,255,255,.05) 0 2px,transparent 2px 4px)}
.vid .play{width:70px;height:70px;border-radius:50%;background:var(--sun);display:grid;place-items:center;color:#111;font-size:28px;border:3px solid var(--paper);z-index:1}
.vid small{position:absolute;bottom:10px;left:12px;z-index:1}
.vstack{display:grid;gap:24px}
.vid.v{aspect-ratio:auto;min-height:130px}

.book{display:grid;grid-template-columns:260px 1fr;gap:40px;align-items:center}
.cover{aspect-ratio:3/4;background:var(--ink);color:var(--paper);display:flex;flex-direction:column;justify-content:space-between;padding:20px;transform:rotate(-3deg);box-shadow:8px 8px 0 var(--flash)}
.cover h3{font-size:56px;color:var(--sun)}
.cover span{font-family:'Special Elite';font-size:13px}
.book h2{font-size:clamp(40px,5vw,64px);margin-bottom:12px}

footer{background:var(--ink);color:var(--paper);padding:36px 0;margin-top:40px}
footer .wrap{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;align-items:center}
footer a{color:var(--sun)}
footer .brand{font-size:28px}
.pro{font-family:'Special Elite';font-size:14px;opacity:.85;width:100%;border-top:1px dashed #555;padding-top:16px;margin-top:6px}

@media(max-width:820px){
  .hero,.book{grid-template-columns:1fr}
  .videos{grid-template-columns:1fr 1fr}.videos .main{grid-column:1/-1}
  .doors,.chroniques{grid-template-columns:1fr}
  .photo{max-width:380px}
  .cover{max-width:240px}
}

/* ---- ajouts site réel ---- */
.skip{position:absolute;left:-999px;top:0;background:var(--sun);padding:8px 12px;z-index:100}
.skip:focus{left:8px;top:8px}
.hero h1{font-size:clamp(40px,6vw,78px);line-height:1}
.hero .photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 20%;filter:grayscale(1) contrast(1.15)}
.tape{z-index:1}
.door h2{font-family:'Bebas Neue';font-weight:400;font-size:44px;margin:6px 0 8px;line-height:.95}
.door:nth-child(1) h2 span{background:var(--sun)}
.door:nth-child(2) h2 span{background:var(--flash);color:#fff;padding:0 6px}
.door:nth-child(3) h2 span{border-bottom:6px solid var(--ink)}
.card h3 a{text-decoration:none}
.card h3 a:hover{background:var(--sun)}
.mt{margin-top:28px}
.links{display:flex;gap:12px;flex-wrap:wrap}
.wide{max-width:34em;margin-bottom:20px}
.videos{grid-template-columns:2fr 1fr 1fr;align-items:start}
.vid.tall{aspect-ratio:9/16}
.vid.main{aspect-ratio:16/9}

.article-wrap{max-width:820px;padding-top:34px;padding-bottom:50px}
.article-wrap h1{font-size:clamp(44px,7vw,84px);margin:12px 0 14px}
.article-wrap h2{font-size:clamp(30px,4vw,44px);margin:36px 0 12px}
.article-wrap h3{font-family:'Bebas Neue';font-weight:400;font-size:28px;margin:22px 0 4px}
.article-wrap .chroniques{grid-template-columns:1fr 1fr}
.crumbs{font-family:'Special Elite';font-size:14px}
.crumbs a{text-decoration:underline}
.meta{font-family:'Special Elite';font-size:14px;color:#444;margin-bottom:20px}
.lead{font-size:19px}
.illus{margin:0 0 10px}
.illus .img{aspect-ratio:4/3;background:repeating-linear-gradient(-45deg,#f6f2e6 0 12px,#eee8d8 12px 24px);border:3px solid var(--ink);box-shadow:6px 6px 0 var(--ink);display:grid;place-items:center;font-family:'Special Elite';font-size:13px;text-align:center;padding:12px}
.illus figcaption{font-family:'Special Elite';font-size:13px;margin-top:12px;color:#444}
blockquote{border-left:6px solid var(--flash);padding:4px 0 4px 18px;margin:10px 0 16px;font-size:19px}
blockquote p{margin:0 0 12px}
.todo{border:2px dashed var(--flash);background:#fff;padding:10px 14px;font-family:'Special Elite';font-size:14px;color:var(--flash)}
.cta{margin-top:40px;border:3px solid var(--ink);background:#fff;padding:22px;box-shadow:6px 6px 0 var(--flash)}
.cta h2{margin-top:0}
.cta .signup{box-shadow:none;border:0;padding:0;transform:none;margin-top:14px}
.others ul{padding-left:20px}
.others a{text-decoration:underline}
.about-grid{display:grid;grid-template-columns:280px 1fr;gap:34px;align-items:start;margin:24px 0}
.photo.small{aspect-ratio:4/5;position:relative}
.photo.small img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 20%;filter:grayscale(1) contrast(1.15)}
.about-grid p{margin-bottom:14px}
@media(max-width:820px){
  .videos{grid-template-columns:1fr 1fr}.videos .main{grid-column:1/-1}
  .article-wrap .chroniques,.about-grid{grid-template-columns:1fr}
  .about-grid .photo{max-width:260px}
}
.illus img{display:block;width:100%;height:auto;border:3px solid var(--ink);box-shadow:6px 6px 0 var(--ink);background:#fff}
.card .img{display:block;aspect-ratio:1;overflow:hidden;padding:0;background:#fff}
.card .img img{display:block;width:100%;height:100%;object-fit:cover}
.gap{text-align:center;letter-spacing:.3em;color:var(--grey)}

.videos{align-items:start}
.vmain{margin:0}
.vmain figcaption{margin-top:14px}
.vmain h3{font-family:'Bebas Neue';font-weight:400;font-size:30px;line-height:1;margin-bottom:6px}
.vmain p{font-size:15px}
.frame{border:3px solid var(--ink);box-shadow:6px 6px 0 var(--sun);background:#111;overflow:hidden}
.frame16{aspect-ratio:16/9}
.frameig{aspect-ratio:6/13}
.frame iframe{display:block;width:100%;height:100%;border:0}
@media(max-width:820px){.vmain{grid-column:1/-1}}
@media(max-width:600px){.videos{grid-template-columns:1fr}.frameig{width:100%;max-width:360px;margin:0 auto}}

/* ---- consentement ---- */
#consent{position:fixed;left:16px;right:16px;bottom:16px;max-width:780px;margin:0 auto;z-index:1000;background:#fff;border:3px solid var(--ink);box-shadow:6px 6px 0 var(--flash);padding:18px 20px}
#consent h2{font-family:'Bebas Neue';font-weight:400;font-size:30px;line-height:1;margin-bottom:6px}
#consent p{font-size:15px;margin-bottom:14px}
#consent a{text-decoration:underline}
#consent .row{display:flex;gap:12px;flex-wrap:wrap}
#consent .btn{flex:1 1 160px;justify-content:center;text-align:center}
.ph{height:100%;display:flex;flex-direction:column;justify-content:center;gap:14px;padding:18px;color:var(--paper);font-size:14px;line-height:1.4;background:#111}
.ph strong{font-family:'Bebas Neue';font-weight:400;font-size:24px;letter-spacing:.03em;color:var(--sun)}
.phr{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.ph .btn{font-size:18px;min-height:0;padding:8px 14px}
.ph a{color:var(--paper);text-decoration:underline}
.frameig .ph{font-size:13px;padding:14px}
.legal{font-family:'Special Elite',monospace;font-size:13px;width:100%;margin-top:4px}
.legal a{color:var(--sun)}
.linkbtn{background:none;border:0;color:var(--sun);font:inherit;text-decoration:underline;cursor:pointer;padding:0}
#consent .cfg{display:grid;gap:10px;margin-bottom:14px;padding:12px;border:2px dashed var(--ink)}
#consent .cfg[hidden]{display:none}
#consent .cfg label{display:flex;gap:10px;align-items:center;font-size:15px;cursor:pointer}
#consent .cfg input{width:20px;height:20px;accent-color:var(--flash)}
#consent .cfg .btn{justify-self:start}
code{font-family:'Special Elite',monospace;background:#fff;padding:0 4px}
