*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f3efe6;color:#090a0b;font-family:"DM Sans",sans-serif}a{color:inherit}.topbar{height:68px;border-bottom:1px solid #111;display:grid;grid-template-columns:1fr 1fr auto;align-items:center;padding:0 3.5vw;font-size:9px;letter-spacing:.14em}.wordmark{text-decoration:none;font-weight:700;font-size:13px}.topbar button{border:0;background:none;color:#9b3d34;font:700 10px "DM Sans";letter-spacing:.16em}.menu{position:fixed;inset:0;background:#11100f;color:#f3efe6;z-index:99;padding:5vw;transform:translateY(-105%);transition:.45s}.menu.open{transform:none}.menu button{float:right;border:0;background:none;color:white}.menu nav{display:grid;margin-top:12vh}.menu a{font:clamp(38px,7vw,100px)/1.08 "Libre Caslon Display";text-decoration:none;border-bottom:1px solid #ffffff35;padding:10px 0}
.cover{min-height:1080px;position:relative;overflow:hidden;border-bottom:1px solid;padding:4.5vw 3.5vw}.ghost{position:absolute;right:-2vw;top:-3vw;font:700 clamp(210px,38vw,570px)/.75 "DM Sans";letter-spacing:-.1em;color:#11100f0b}.kicker{position:absolute;left:3.5vw;top:5vw;font-size:9px;line-height:1.8;letter-spacing:.15em}.hero-photo{position:absolute;right:5vw;top:10vw;width:42vw;height:650px;margin:0}.hero-photo img,.manifesto img,.idea-photo img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);display:block}.hero-photo figcaption,.manifesto figcaption,.idea-photo figcaption{font-size:7px;letter-spacing:.08em;margin-top:6px}.cover h1{position:absolute;z-index:2;left:3.5vw;top:29vw;margin:0;font:700 clamp(54px,7.4vw,112px)/.79 "DM Sans";letter-spacing:-.068em}.cover h1 span{display:block}.type-line{position:absolute;z-index:3;left:12vw;top:700px;font:italic clamp(38px,5vw,72px)/1.05 "Libre Caslon Display";white-space:nowrap}.type-line i{display:inline-block;width:2px;height:.95em;background:#9b3d34;margin-left:5px;vertical-align:-.06em;animation:blink .75s steps(1) infinite}@keyframes blink{50%{opacity:0}}.read{position:absolute;left:3.5vw;top:820px;text-decoration:none;font-size:10px;font-weight:600;letter-spacing:.14em;border-bottom:1px solid;padding:9px 0}.read b{color:#9b3d34}.manifesto{min-height:780px;padding:7vw 3.5vw;display:grid;grid-template-columns:.7fr 1fr 1.15fr;gap:3vw}.big-no{font:700 clamp(170px,24vw,360px)/.72 "DM Sans";letter-spacing:-.1em;color:#11100f}.manifesto-copy{padding-top:9vw}.manifesto-copy span,.section-tag,.terrain span,.letter>span{font-size:9px;letter-spacing:.15em}.manifesto-copy h2{font:clamp(34px,4vw,58px)/1 "Libre Caslon Display"}.manifesto-copy h2 em,.prisme .lead em,.terrain h2 em,.letter h2 em{font-style:italic;color:inherit}.manifesto-copy p{font:17px/1.5 "Libre Caslon Display"}.manifesto figure{height:560px;margin:0}.prisme{background:#11100f;color:#f3efe6;padding:7vw 3.5vw 8vw}.prisme h2{font:700 clamp(100px,19vw,290px)/.72 "DM Sans";letter-spacing:-.08em;margin:4vw 0 1vw}.prisme .lead{font:clamp(25px,3vw,45px)/1.1 "Libre Caslon Display";text-align:right}.steps{display:grid;grid-template-columns:repeat(6,1fr);border-top:1px solid #ffffff55;margin-top:6vw}.steps article{min-height:260px;padding:22px 12px;border-right:1px solid #ffffff35}.steps b{font:80px "Libre Caslon Display"}.steps h3{font-size:10px;letter-spacing:.13em}.steps p{font:15px/1.4 "Libre Caslon Display"}.ideas{padding:7vw 3.5vw;display:grid;grid-template-columns:1.1fr .9fr;gap:2vw}.ideas>.section-tag{grid-column:1/-1}.story{position:relative;text-decoration:none;border-top:1px solid;padding:28px 0;min-height:600px}.story small{font-size:9px;letter-spacing:.15em}.story h2{font:700 clamp(44px,5.8vw,88px)/.85 "DM Sans";letter-spacing:-.06em}.story h2 em{font:italic .72em "Libre Caslon Display"}.story p{max-width:450px;font:18px/1.5 "Libre Caslon Display"}.story strong{position:absolute;right:20px;bottom:20px;color:#9b3d34;font-size:36px}.idea-photo{height:610px;margin:0}.explain{grid-column:2;margin-top:-110px;background:#e7e2d8;padding:34px;min-height:440px}.explain h2{font-size:76px;margin-bottom:8px}.explain h3{font:36px/1 "Libre Caslon Display"}.terrain{min-height:620px;border-top:1px solid;display:grid;grid-template-columns:.6fr 1.35fr .85fr;gap:3vw;padding:7vw 3.5vw;align-items:end}.terrain-no{font:700 clamp(130px,22vw,330px)/.7 "DM Sans";letter-spacing:-.1em;color:#11100f}.terrain h2{font:700 clamp(44px,5.8vw,88px)/.85 "DM Sans";letter-spacing:-.06em}.terrain>p{font:20px/1.5 "Libre Caslon Display"}.letter{background:#11100f;color:#f3efe6;padding:8vw 4vw}.letter h2{font:clamp(55px,8vw,120px)/.9 "Libre Caslon Display";margin:3vw 0}.letter form{display:flex;border-bottom:1px solid #ffffff88}.letter input{flex:1;background:none;border:0;color:white;font:28px "Libre Caslon Display";padding:20px 0;outline:0}.letter button{background:none;border:0;color:#c45a4d;letter-spacing:.14em}footer{padding:25px 3.5vw;display:flex;justify-content:space-between;font-size:8px;letter-spacing:.14em}
@media(max-width:760px){.topbar{grid-template-columns:1fr auto;height:82px;padding:0 5vw}.topbar>span{display:none}.cover{min-height:910px;padding:8vw 5vw}.ghost{top:2vw;right:-12vw;font-size:55vw}.kicker{top:7vw;left:5vw}.hero-photo{top:25vw;right:-1vw;width:64vw;height:435px}.cover h1{left:5vw;top:94vw;font-size:13.2vw;line-height:.81;max-width:94vw}.type-line{left:11vw;top:151vw;font-size:8.6vw;white-space:normal;width:84vw;min-height:2.2em}.read{left:5vw;top:174vw}.manifesto{grid-template-columns:1fr 1fr;padding:14vw 5vw;min-height:auto}.big-no{grid-column:1/-1}.manifesto-copy{padding:0}.manifesto figure{height:390px}.prisme{padding:14vw 5vw}.prisme h2{font-size:24vw}.prisme .lead{text-align:left}.steps{grid-template-columns:1fr 1fr}.steps article{min-height:200px}.ideas{grid-template-columns:1fr;padding:14vw 5vw}.idea-photo{height:450px}.explain{grid-column:1;margin:0}.terrain{grid-template-columns:1fr;padding:14vw 5vw;min-height:auto}.terrain-no{font-size:44vw}.letter{padding:16vw 5vw}.letter form{display:block}.letter input{width:100%;font-size:20px}.letter button{padding:20px 0}}
@media(prefers-reduced-motion:reduce){.type-line i{animation:none}}

/* V0.4 — lisibilité + rouge ancien */
:root{
  --paper:#f3efe6;
  --ink:#090a0b;
  --old-red:#9b3d34;
}
.cover h1 em{
  color:var(--old-red);
  font-style:normal;
}
.cover h1 span{
  width:max-content;
  max-width:100%;
}
.type-line i{background:var(--old-red)}
.topbar button{color:var(--old-red)}
.read b{color:var(--old-red)}
.story strong{color:var(--old-red)}
.letter button{color:#d36a5d}

/* Le titre reste en collision avec l'image, mais chaque ligne possède
   une réserve papier : le texte ne disparaît plus dans la photographie. */
@media(max-width:760px){
  .cover{
    min-height:930px;
  }
  .hero-photo{
    top:25vw;
    right:-1vw;
    width:63vw;
    height:435px;
  }
  .cover h1{
    top:91vw;
    left:5vw;
    font-size:12.2vw;
    line-height:.83;
    letter-spacing:-.064em;
    max-width:94vw;
  }
  .cover h1 span{
    display:table;
    background:var(--paper);
    padding:0 .055em .035em 0;
    margin-bottom:-.025em;
  }
  .cover h1 span:nth-child(2){
    padding-right:.16em;
  }
  .type-line{
    left:10vw;
    top:147vw;
    width:86vw;
    font-size:7.9vw;
    line-height:1.08;
  }
  .read{
    left:5vw;
    top:171vw;
  }
  .ghost{
    color:rgba(155,61,52,.055);
  }
}

/* Desktop : même principe, plus discret. */
@media(min-width:761px){
  .cover h1 span{
    display:table;
    background:var(--paper);
    padding-right:.08em;
  }
  .ghost{color:rgba(155,61,52,.05)}
}
