:root{
  color-scheme: dark;
  --ink:#0F0E0C; --ink-2:#181613; --ink-3:#23201B;
  --paper:#F3EFE7; --muted:#A39D93; --line:rgba(243,239,231,.14);
  --orange:#F39320; --amber:#FFC54D; --on-orange:#140F08;
  --display:"Big Shoulders Display","Arial Narrow","Helvetica Neue",Arial,sans-serif;
  --body:"Figtree","Helvetica Neue",Arial,sans-serif;
  --wrap:1160px;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html,body{overflow-x:clip}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ink);color:var(--paper);font-family:var(--body);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit}
img{max-width:100%;display:block}
.wrap{max-width:var(--wrap);margin:0 auto;padding-inline:clamp(16px,4vw,40px)}
.eyebrow{font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--orange)}
h1,h2,h3{font-family:var(--display);font-weight:900;text-transform:uppercase;line-height:.92;letter-spacing:.005em;margin:0;text-wrap:balance}
h2{font-size:clamp(44px,6.4vw,84px)}
h3{font-size:30px;font-weight:800}
p{margin:0}
.lead{font-size:clamp(18px,1.6vw,21px);color:var(--paper);max-width:58ch}
.muted{color:var(--muted)}
:focus-visible{outline:2px solid var(--amber);outline-offset:3px}

/* nav */
html{scroll-padding-top:calc(69px + env(safe-area-inset-top,0px) + 1rem)}
.nav{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:rgba(15,14,12,.86);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:68px}
.mark{display:flex;flex-direction:column;text-decoration:none;line-height:.86}
.mark b{font-family:var(--display);font-weight:900;font-size:22px;text-transform:uppercase;letter-spacing:.02em}
.mark b span{color:var(--orange)}
.mark small{font-size:9.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--muted);margin-top:5px}
.links{display:flex;gap:26px;align-items:center}
.links a{text-decoration:none;font-size:14px;font-weight:600;color:var(--muted);transition:color .2s}
.links a:hover{color:var(--paper)}
.links a.btn,.links a.btn:hover{color:var(--on-orange)}
.btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--body);font-weight:700;font-size:15px;text-decoration:none;border-radius:999px;padding:13px 22px;border:1.5px solid transparent;cursor:pointer;transition:transform .15s,background .2s,color .2s}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--orange);color:var(--on-orange)}
.btn-primary:hover{background:var(--amber)}
.btn-ghost{border-color:rgba(243,239,231,.4);color:var(--paper);background:transparent}
.btn-ghost:hover{border-color:var(--paper)}
/* rangee de boutons : respiration par defaut entre le texte et les boutons
   (le hero garde sa propre valeur, son conteneur espace deja les blocs) */
.ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.nav .btn{padding:10px 18px;font-size:14px}
@media (max-width:900px){.links a:not(.btn){display:none}}


.mark img{height:50px;width:auto}
.hero-logo{width:clamp(200px,26vw,340px);height:auto;margin-bottom:6px}
.videos{margin-top:56px;display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:24px;align-items:end}
.videos-text{display:grid;gap:12px;align-self:center}
.videos-text h3{font-size:clamp(30px,3.2vw,40px)}
.vid{margin:0;display:grid;gap:10px}
.vid video{width:100%;aspect-ratio:9/16;object-fit:cover;background:var(--ink-3);border-radius:4px;display:block}
.vid figcaption{font-size:13px;font-weight:600;color:var(--muted);letter-spacing:.04em}
@media (max-width:820px){.videos{grid-template-columns:1fr 1fr}.videos-text{grid-column:1/-1}}
@media (max-width:460px){.videos{grid-template-columns:1fr}}


/* ---- immersion ---- */
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:60;opacity:.07;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.hero img.bg{animation:kenburns 16s ease-out both}
@keyframes kenburns{from{transform:scale(1.12)}to{transform:scale(1)}}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(circle 460px at var(--sx,70%) var(--sy,38%),rgba(255,197,77,.17),rgba(255,197,77,0) 62%);mix-blend-mode:screen;transition:background .2s}
.hero h1 em{text-shadow:0 0 18px rgba(243,147,32,.55),0 0 42px rgba(243,147,32,.35);animation:neon 2.2s .5s both}
@keyframes neon{0%{opacity:.15;text-shadow:none}8%{opacity:1}11%{opacity:.25}16%{opacity:1}22%{opacity:.5}28%,100%{opacity:1}}
.interlude{position:relative;isolation:isolate;overflow:hidden;min-height:clamp(420px,62vh,640px);display:grid;align-items:end;border-block:1px solid var(--line);padding:0}
.interlude video,.interlude .poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.interlude .poster{z-index:-1;transition:opacity .8s}
.interlude::before{z-index:0}
.interlude::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(15,14,12,.96) 0%,rgba(15,14,12,.7) 45%,rgba(15,14,12,.4) 100%)}
.interlude .wrap{position:relative;z-index:1;padding-block:clamp(48px,7vw,90px);display:grid;gap:16px}
.interlude blockquote{margin:0;font-family:var(--display);font-weight:900;text-transform:uppercase;line-height:.9;font-size:clamp(46px,7.5vw,104px);max-width:12ch;text-wrap:balance}
.interlude blockquote em{font-style:normal;color:var(--orange)}
.setlist li{transition:background .5s,padding .5s}
.setlist li.on{background:linear-gradient(90deg,rgba(243,147,32,.12),rgba(243,147,32,0));padding-left:14px}
.setlist li.on time{text-shadow:0 0 16px rgba(243,147,32,.6)}
.will-reveal{opacity:0;transform:translateY(26px)}
.revealed{opacity:1;transform:none;transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
.photo img{transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.photo:hover img{transform:scale(1.04)}
@media (prefers-reduced-motion:reduce){.hero img.bg,.hero h1 em{animation:none}.will-reveal{opacity:1;transform:none}.photo:hover img{transform:none}}

/* hero */
.hero{position:relative;isolation:isolate;overflow:hidden;border-bottom:1px solid var(--line)}
.hero img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:62% 40%;z-index:-2}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(15,14,12,.96) 0%,rgba(15,14,12,.82) 38%,rgba(15,14,12,.25) 72%,rgba(15,14,12,.35) 100%),linear-gradient(0deg,rgba(15,14,12,.9) 0%,rgba(15,14,12,0) 35%)}
.hero .wrap{padding-block:clamp(72px,11vw,140px) clamp(56px,7vw,90px);display:grid;gap:28px}
.hero h1{font-size:clamp(64px,11vw,148px);max-width:9ch}
.hero h1 em{font-style:normal;color:var(--orange)}
.hero .ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:6px}
.proof{display:flex;flex-wrap:wrap;gap:10px 28px;margin-top:22px;padding-top:22px;border-top:1px solid var(--line);max-width:760px}
.proof div{font-size:14px;color:var(--muted)}
.proof strong{display:block;font-family:var(--display);font-size:34px;font-weight:800;color:var(--paper);line-height:1;letter-spacing:.01em}

/* tape */
.tape{background:var(--orange);color:var(--on-orange);transform:rotate(-1.6deg);margin-block:-14px;position:relative;z-index:5;overflow:hidden;border-block:3px solid var(--ink);box-shadow:0 10px 30px rgba(0,0,0,.35)}
.tape-track{display:flex;width:max-content;animation:roll 38s linear infinite}
.tape span{font-family:var(--display);font-weight:900;font-size:26px;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;padding:12px 18px}
.tape span i{font-style:normal;opacity:.55;margin-left:18px}
@keyframes roll{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.tape-track{animation:none}html{scroll-behavior:auto}.btn:hover{transform:none}}

section{padding-block:clamp(72px,9vw,120px)}
.sec-head{display:grid;gap:18px;margin-bottom:48px;max-width:780px}

/* concept */
.uses{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.use{background:var(--ink);padding:28px 24px 30px;display:grid;gap:10px;align-content:start}
.use h3{font-size:28px}
.use p{font-size:15.5px;color:var(--muted)}
@media (max-width:960px){.uses{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.uses{grid-template-columns:1fr}}

/* setlist */
.soiree{background:var(--ink-2);border-block:1px solid var(--line)}
.soiree-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(32px,5vw,72px);align-items:center}
.photo{position:relative;border-radius:4px;overflow:hidden;background:var(--ink-3)}
.photo img{width:100%;height:100%;object-fit:cover}
.photo figcaption{position:absolute;left:14px;bottom:12px;font-size:12px;font-weight:600;letter-spacing:.06em;color:var(--paper);background:rgba(15,14,12,.72);padding:6px 10px;border-radius:3px}
.setlist{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.setlist li{display:grid;grid-template-columns:118px 1fr;gap:20px;padding:20px 0;border-bottom:1px solid var(--line);align-items:baseline}
.setlist time{font-family:var(--display);font-weight:800;font-size:40px;line-height:1;color:var(--orange);font-variant-numeric:tabular-nums}
.setlist b{display:block;font-size:19px;font-weight:700}
.setlist span{font-size:15px;color:var(--muted)}
@media (max-width:860px){.soiree-grid{grid-template-columns:1fr}.setlist li{grid-template-columns:92px 1fr}.setlist time{font-size:32px}}

/* editions */
.editions{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.edition{display:grid;gap:18px}
.edition .photo{aspect-ratio:3/2}
.edition .meta{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.tag{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--line);border-radius:999px;padding:5px 11px;color:var(--muted)}
.tag.hot{border-color:var(--orange);color:var(--orange)}
.lineup{font-size:15.5px;color:var(--muted)}
.lineup strong{color:var(--paper);font-weight:600}
@media (max-width:820px){.editions{grid-template-columns:1fr}}
.press{margin-top:56px;display:grid;grid-template-columns:auto 1fr;gap:clamp(24px,4vw,56px);align-items:center;padding:28px;border:1px solid var(--line);border-radius:4px;background:var(--ink-2)}
.press-imgs{display:flex;gap:12px}
.press-imgs img{width:130px;border-radius:2px;box-shadow:0 12px 30px rgba(0,0,0,.45)}
.press-imgs img:nth-child(2){transform:translateY(14px) rotate(2deg)}
.press blockquote{margin:0;font-family:var(--display);font-weight:800;font-size:clamp(26px,3vw,36px);text-transform:uppercase;line-height:1}
@media (max-width:700px){.press{grid-template-columns:1fr}.press-imgs img{width:42%}}

/* bande cocktail et networking : mosaique 4 colonnes, la premiere image occupe 2x2 */
.bande{background:var(--ink-2);border-block:1px solid var(--line)}
.bande .wrap{display:grid;gap:clamp(24px,3vw,38px)}
.mosaique{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:1fr;gap:14px}
.mosaique .photo{aspect-ratio:3/2}
.mosaique .photo:first-child{grid-column:span 2;grid-row:span 2;aspect-ratio:auto}
@media (max-width:860px){.mosaique{grid-template-columns:repeat(2,1fr);grid-auto-rows:auto}.mosaique .photo:first-child{grid-column:span 2;grid-row:span 1;aspect-ratio:16/10}}

/* clients */
.clients{border-top:1px solid var(--line);padding-block:44px}
.clients .wrap{display:grid;gap:18px}
.client-list{display:flex;flex-wrap:wrap;gap:8px 30px;font-family:var(--display);font-weight:800;font-size:clamp(20px,2.2vw,26px);text-transform:uppercase;color:rgba(243,239,231,.52);letter-spacing:.02em}

/* offres */
.offres{background:var(--paper);color:var(--ink)}
.offres .eyebrow{color:#B8620A}
.offres .lead{color:#3A352E}
.offer-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.offer{background:#FBF8F2;border:1px solid #DDD5C7;border-radius:4px;padding:26px 22px;display:flex;flex-direction:column;gap:14px}
.offer .seats{font-family:var(--display);font-weight:900;font-size:64px;line-height:.85;color:var(--ink)}
.offer .seats small{font-size:18px;font-weight:800;margin-left:6px;letter-spacing:.04em}
.offer h3{font-size:26px;color:var(--ink)}
.offer .per{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#B8620A;margin-top:-6px}
.offer.premium .per{color:var(--amber)}
.offer p{font-size:15px;color:#4A443B}
.offer ul{margin:0;padding:0;list-style:none;display:grid;gap:7px;font-size:14.5px;color:#2B2721}
.offer li{padding-left:18px;position:relative}
.offer li::before{content:"";position:absolute;left:0;top:.62em;width:8px;height:2px;background:var(--orange)}
.offer .for{margin-top:auto;padding-top:14px;border-top:1px solid #E4DCCF;font-size:13px;font-weight:600;color:#6C655A}
.offer.premium{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.offer.premium .seats,.offer.premium h3{color:var(--paper)}
.offer.premium p,.offer.premium li{color:#CFC9BE}
.offer.premium .for{border-color:rgba(243,239,231,.18);color:var(--amber)}
.offres-foot{margin-top:28px;display:flex;flex-wrap:wrap;gap:16px 28px;align-items:center;justify-content:space-between}
.offres-foot p{font-size:15px;color:#3A352E;max-width:62ch}
@media (max-width:1000px){.offer-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.offer-grid{grid-template-columns:1fr}}


/* annee */
.annee-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(32px,5vw,72px);align-items:start}
.annee-list{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line)}
.annee-item{background:var(--ink);padding:24px 22px;display:grid;gap:8px;align-content:start}
.annee-item .season{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--orange)}
.annee-item h3{font-size:26px}
.annee-item p{font-size:15px;color:var(--muted)}
@media (max-width:900px){.annee-grid{grid-template-columns:1fr}}
@media (max-width:520px){.annee-list{grid-template-columns:1fr}}


/* cocktail + entreprise */
.cocktail{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:22px}
.cocktail .photo{margin:0;aspect-ratio:3/2}
.entreprise{background:var(--ink-2);border-block:1px solid var(--line)}
.entreprise-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(32px,5vw,72px);align-items:center}
.occasions{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line)}
.occasions li{background:var(--ink-2);padding:18px 18px 20px;display:grid;gap:4px}
.occasions b{font-size:16.5px}
.occasions span{font-size:14.5px;color:var(--muted)}
@media (max-width:860px){.entreprise-grid{grid-template-columns:1fr}}
@media (max-width:520px){.occasions{grid-template-columns:1fr}}

/* villes */
.city-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.city{background:var(--ink);padding:26px 24px;display:grid;gap:8px;align-content:start}
.city h3{font-size:40px}
.city .when{font-size:15px;color:var(--muted)}
.city .tag{justify-self:start;margin-top:6px}
.soon{margin-top:26px;display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.soon > span{font-size:14px;font-weight:600;color:var(--muted);margin-right:6px}
@media (max-width:1000px){.city-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.city-grid{grid-template-columns:1fr}}

/* contact */
.contact{background:var(--ink-2);border-top:1px solid var(--line)}
.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(32px,5vw,72px)}
.direct{display:grid;gap:22px;margin-top:30px}
.direct div{display:grid;gap:2px}
.direct small{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:700}
.direct span{font-size:19px;font-weight:600;user-select:all}
form{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field{display:grid;gap:7px}
.field.full{grid-column:1/-1}
label{font-size:13px;font-weight:600;color:var(--muted)}
input,select,textarea{font:inherit;font-size:16px;color:var(--paper);background:var(--ink);border:1px solid rgba(243,239,231,.22);border-radius:4px;padding:12px 14px;width:100%}
textarea{min-height:110px;resize:vertical}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--orange)}
.form-foot{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between;margin-top:4px}
.form-foot p{font-size:13px;color:var(--muted);max-width:44ch}
.done{grid-column:1/-1;border:1px solid var(--orange);border-radius:4px;padding:24px;display:grid;gap:8px}
.done h3{font-size:32px}
@media (max-width:860px){.contact-grid{grid-template-columns:1fr}}
@media (max-width:520px){form{grid-template-columns:1fr}}

footer{border-top:1px solid var(--line);padding-block:34px;font-size:13.5px;color:var(--muted)}
footer .wrap{display:flex;flex-wrap:wrap;gap:14px 30px;justify-content:space-between;align-items:center}
footer nav{display:flex;flex-wrap:wrap;gap:8px 20px}
footer a{text-decoration:none}
footer a:hover{color:var(--paper)}

/* ===== pages intérieures (offres, villes, conseils) ===== */
.hero-page .wrap{padding-block:clamp(56px,8vw,104px) clamp(32px,4vw,56px);max-width:var(--wrap)}
.hero-page h1{font-size:clamp(38px,6vw,78px);max-width:22ch}
.hero-page .lead{max-width:62ch;color:var(--muted)}
.crumbs{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:13px;color:var(--muted);
  letter-spacing:.04em;padding-block:22px 0}
.crumbs a{color:var(--muted);text-decoration:none;border-bottom:1px solid rgba(243,239,231,.2)}
.crumbs a:hover{color:var(--paper)}
.crumbs span{opacity:.5}
.pbody{padding-bottom:clamp(40px,6vw,72px)}
.prose{max-width:74ch;padding-top:10px}
.prose h2{font-size:clamp(26px,3.2vw,38px);margin:2.4rem 0 .9rem;color:var(--paper)}
.prose h2:first-child{margin-top:1.4rem}
.prose p{margin:0 0 1.05em;font-size:16.5px;line-height:1.72;color:rgba(243,239,231,.84)}
.prose strong{color:var(--paper);font-weight:700}
.prose em{font-style:italic;color:var(--paper)}
.prose a{color:var(--amber);text-decoration:none;border-bottom:1px solid rgba(255,197,77,.35)}
.prose a:hover{border-color:var(--amber)}
.prose ul{margin:0 0 1.3em;padding:0;list-style:none;display:grid;gap:.75em}
.prose li{position:relative;padding-left:22px;font-size:16.5px;line-height:1.7;color:rgba(243,239,231,.84)}
.prose li::before{content:"";position:absolute;left:4px;top:.72em;width:7px;height:7px;border-radius:50%;
  background:var(--orange)}
.prose .ess{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1px;
  background:var(--line);border:1px solid var(--line);border-radius:4px;overflow:hidden;margin:0 0 1.6em}
.prose .ess>div{background:var(--ink-2);padding:18px 20px;display:grid;gap:6px}
.prose .ess b{font-family:var(--display);font-weight:800;text-transform:uppercase;letter-spacing:.02em;
  font-size:17px;color:var(--paper)}
.prose .ess span{font-size:14.5px;line-height:1.55;color:var(--muted)}
.faq{border-top:1px solid var(--line);background:var(--ink-2)}
.faq .wrap{padding-block:clamp(40px,5vw,64px);display:grid;gap:14px;max-width:860px}
.faq h2{font-size:clamp(26px,3vw,36px);margin-bottom:6px}
.faq details{border-bottom:1px solid var(--line);padding:14px 0}
.faq summary{cursor:pointer;font-weight:700;font-size:16.5px;color:var(--paper);list-style:none;
  display:flex;justify-content:space-between;gap:16px}
.faq summary::after{content:"+";color:var(--orange);font-weight:800}
.faq details[open] summary::after{content:"–"}
.faq p{margin:.7em 0 0;font-size:16px;line-height:1.7;color:rgba(243,239,231,.8)}
.suite{border-top:1px solid var(--line)}
.suite .wrap{padding-block:clamp(36px,4vw,56px);display:grid;gap:14px}
.suite h2{font-size:clamp(22px,2.4vw,30px)}
.plinks{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px 20px}
.plinks a{color:var(--paper);text-decoration:none;font-weight:600;font-size:15.5px;
  border-bottom:1px solid rgba(243,239,231,.25)}
.plinks a:hover{border-color:var(--orange);color:var(--amber)}
.secteurs{border-top:1px solid var(--line);margin:.4rem 0 1.6em}
.secteurs>div{padding:14px 0;border-bottom:1px solid var(--line)}
.secteurs b{display:block;font-family:var(--display);font-weight:800;text-transform:uppercase;
  font-size:16px;letter-spacing:.02em;color:var(--paper)}
.secteurs p{margin:.35rem 0 0;font-size:15px;line-height:1.85;color:var(--muted)}
.secteurs a{color:rgba(243,239,231,.86);text-decoration:none;border-bottom:1px solid rgba(243,239,231,.18)}
.secteurs a:hover{color:var(--amber);border-color:var(--amber)}
@media (max-width:700px){.prose h2{font-size:clamp(23px,6vw,30px)}}

/* pied de page : colonnes */
footer .wrap{align-items:flex-start}
footer .org{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:22px 30px;width:100%;margin-bottom:22px}
footer .org b{color:var(--paper);display:block;margin-bottom:6px}
footer .org p{margin:0;line-height:1.7}

/* ---------------------------------------------------------------------------
   Confort de lecture et de touche sur téléphone.
   Mesuré en 390 px : le corps de texte descendait à 12 px, les bandeaux de FAQ
   à 26 px de haut et les liens de pied de page à 16 px. On relève le plancher
   du texte et on donne une vraie surface de touche, sans rien changer au-delà
   de 767 px.
   ------------------------------------------------------------------------- */
@media (max-width: 767px) {
  /* Les étiquettes en petites capitales restent plus petites que le texte
     courant — c'est leur rôle — mais pas en dessous de 13 px. */
  .eyebrow,
  .tag,
  .annee-item .season,
  .direct small,
  .photo figcaption { font-size: 13px; }

  /* Tout le reste du texte lisible : 15 px minimum. */
  .vid figcaption,
  .offer .per,
  .offer .for,
  label,
  .form-foot p,
  footer { font-size: 15px; }

  /* Les questions de FAQ sont la commande principale de ces pages.
     44 px est la hauteur de touche admise. */
  .faq details { padding: 4px 0; }
  .faq summary {
    min-height: 44px;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 0;
  }

  /* Les liens de pied de page étaient tassés sur 16 px sans espacement :
     on touchait le voisin une fois sur trois. */
  footer nav { gap: 4px 18px; }
  footer nav a,
  footer .org a {
    display: inline-block;
    padding: 9px 0;
    line-height: 1.3;
  }
  footer .org p { line-height: 2; }
  footer nav a,
  footer .org a { padding: 11px 0; }

  /* Fil d'Ariane et liens « A voir aussi » : c'est de la navigation, pas de
     la decoration. Ils meritent la meme surface de touche. */
  .crumbs { font-size: 14px; gap: 10px; }
  .crumbs a { display: inline-block; padding: 10px 0; }
  .plinks { gap: 2px 16px; }
  .plinks a,
  .suite a { display: inline-block; padding: 11px 0; font-size: 15px; }
}
