  :root{--rice:#F4EFE4;--warm:#E7E0D2;--gold:#C8A063;--bordeaux:#762F3E;--green:#3E4A3D;--ink:#26231F;--muted:#6A635A}
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{background:var(--rice);color:var(--ink);font-family:'Jost',sans-serif;font-weight:300;line-height:1.75;-webkit-font-smoothing:antialiased}
  body[data-active="fr"] [data-lang]:not([data-lang="fr"]),body[data-active="en"] [data-lang]:not([data-lang="en"]),body[data-active="th"] [data-lang]:not([data-lang="th"]){display:none}
  .thai{font-family:'Noto Sans Thai',sans-serif}
  a:focus-visible,button:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
  header{min-height:76px;padding:1rem clamp(1.2rem,5vw,4rem);display:flex;align-items:center;justify-content:space-between;gap:1rem;background:var(--green);color:var(--rice);border-bottom:1px solid rgba(200,160,99,.72)}
  .brand{color:var(--gold);text-decoration:none;font-size:.9rem;font-weight:500;letter-spacing:.26em;text-transform:uppercase}
  .langs{display:flex;align-items:center;gap:.08rem;padding:.28rem .42rem;border:1px solid rgba(200,160,99,.55);background:rgba(10,17,13,.2)}
  .langs button{min-width:35px;padding:.3rem .42rem;border:0;background:none;color:var(--rice);font:500 .76rem 'Jost',sans-serif;letter-spacing:.12em;cursor:pointer;opacity:.58}
  .langs button.on{color:var(--gold);opacity:1}
  .hero{min-height:68vh;display:grid;place-items:center;padding:clamp(5rem,10vw,9rem) 1.2rem;position:relative;isolation:isolate;text-align:center;color:var(--rice);background:linear-gradient(180deg,rgba(35,43,36,.63),rgba(35,43,36,.91)),url('../assets/hero-assiette-thai-v2.webp') center 43%/cover no-repeat}
  .hero::after{content:"";position:absolute;left:8%;right:8%;bottom:0;height:1px;background:linear-gradient(90deg,transparent,var(--gold),var(--bordeaux),var(--gold),transparent)}
  .hero-inner{width:min(940px,100%)}
  .back{display:inline-block;margin-bottom:2.2rem;color:var(--gold);font-size:.65rem;font-weight:500;letter-spacing:.2em;text-decoration:none;text-transform:uppercase;border-bottom:1px solid rgba(200,160,99,.58);padding-bottom:.4rem}
  .kicker{color:var(--gold);font-size:.68rem;font-weight:500;letter-spacing:.32em;text-transform:uppercase}
  h1{max-width:1050px;margin:1.25rem auto 0;font-size:clamp(2.8rem,7vw,6.2rem);font-weight:300;font-style:italic;line-height:.98;text-wrap:balance}
  .hero-lead{max-width:66ch;margin:1.8rem auto 0;color:rgba(244,239,228,.82);font-size:clamp(1rem,1.7vw,1.22rem);line-height:1.8}
  .manifesto{padding:clamp(5rem,10vw,8rem) 1.2rem;text-align:center;background:var(--warm)}
  .manifesto-inner{width:min(900px,100%);margin:0 auto}
  .signature{display:flex;align-items:center;justify-content:center;gap:1rem;color:var(--bordeaux);font-size:.7rem;font-weight:500;letter-spacing:.26em;text-transform:uppercase}
  .signature::before,.signature::after{content:"◆";color:var(--gold);font-size:.62em}
  .manifesto blockquote{margin:1.8rem auto 0;font-size:clamp(1.65rem,4vw,3rem);font-weight:300;font-style:italic;line-height:1.35;text-wrap:balance}
  .story{width:min(1120px,calc(100% - 2.4rem));margin:0 auto;padding:clamp(4rem,8vw,7rem) 0}
  .chapter{display:grid;grid-template-columns:minmax(190px,.7fr) minmax(0,1.6fr);gap:clamp(2rem,7vw,7rem);padding:clamp(3.2rem,7vw,5.5rem) 0;border-top:1px solid rgba(200,160,99,.72)}
  .chapter:first-child{border-top:0;padding-top:0}
  /* 13 px au bureau et non 10,4 : la colonne de gauche fait 190 px de large au
     minimum et ne portait qu'un libelle minuscule, illisible de loin — demande
     d'Eugen du 16/09 apres le test sur ecran. L'interlettrage baisse en meme
     temps que le corps monte, sinon le libelle s'etale et passe a la ligne : en
     thai, « การเลือก » et « อาหาร » n'ont pas les memes chasses qu'en latin.
     Le telephone garde le corps d'avant (voir @media(max-width:720px)) : la
     colonne y devient une simple ligne au-dessus du titre, elle n'a pas le
     meme travail a faire. */
  .chapter-label{color:var(--bordeaux);font-size:.82rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase}
  .chapter h2{color:var(--green);font-size:clamp(2rem,4vw,3.5rem);font-weight:300;font-style:italic;line-height:1.08;text-wrap:balance}
  .chapter p{max-width:70ch;margin-top:1.25rem;color:var(--muted);font-size:clamp(.95rem,1.4vw,1.08rem);line-height:1.9}
  .chapter p:first-of-type{margin-top:1.5rem}
  .chapter .accent{color:var(--bordeaux);font-weight:400}
  .closing{position:relative;padding:clamp(5rem,10vw,8rem) 1.2rem;text-align:center;background:var(--bordeaux);color:var(--rice);border-top:1px solid var(--gold)}
  .closing::before{content:"◆";display:block;margin-bottom:1.5rem;color:var(--gold);font-size:.75rem}
  .closing h2{max-width:900px;margin:0 auto;font-size:clamp(2.3rem,5vw,4.4rem);font-weight:300;font-style:italic;line-height:1.08;text-wrap:balance}
  .closing p{max-width:64ch;margin:1.5rem auto 0;color:rgba(244,239,228,.8);font-size:1rem}
  .actions{margin-top:2.5rem;display:flex;justify-content:center;gap:1rem;flex-wrap:wrap}
  .button{min-height:48px;padding:.85rem 1.5rem;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--gold);color:var(--rice);text-decoration:none;font-size:.66rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;transition:.25s}
  .button.primary{background:var(--gold);color:var(--ink)}
  .button:hover{transform:translateY(-2px);background:var(--green);color:var(--rice)}
  footer{padding:2rem clamp(1.2rem,5vw,4rem);display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;background:var(--green);color:rgba(244,239,228,.68);border-top:1px solid var(--gold);font-size:.68rem;letter-spacing:.1em}
  .footer-links{display:flex;gap:1.1rem;flex-wrap:wrap}.footer-links a{color:var(--rice);text-decoration:none}.footer-links a:hover{color:var(--gold)}
  @media(max-width:720px){.chapter{grid-template-columns:1fr;gap:1rem}.chapter-label{margin-bottom:.3rem;font-size:.65rem;letter-spacing:.25em}.hero{min-height:60vh}.story{width:min(100% - 2rem,1120px)}}
  @media(max-width:520px){header{min-height:70px;padding:.85rem 1rem}.brand{font-size:.75rem;letter-spacing:.18em}.langs button{min-height:40px;font-size:.76rem}.hero{padding:4.5rem 1rem}.hero-lead{font-size:.96rem}.manifesto{padding-left:1rem;padding-right:1rem}.signature{font-size:.61rem;letter-spacing:.16em}.story{width:calc(100% - 2rem)}.chapter{padding:3.2rem 0}.actions{flex-direction:column}.button{width:100%}footer{align-items:flex-start;flex-direction:column}.footer-links{flex-direction:column;gap:.65rem}}
  @media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}
