/* Les Margotteries — DA « A2 » : crème, encre, accents couleurs des feuilles du logo.
   Mise en page : colonne centrée max 1240px, grands visuels arrondis, titres Fraunces avec un mot en italique coloré. */
:root{
  --creme:#FBF7F0; --papier:#FFFFFF; --sable:#F3ECE0; --ligne:#E4DCCD; --ligne-f:#D9CDBB;
  --encre:#1D1B1A; --texte:#4A4541; --doux:#6B645E;
  --magenta:#D42E8C; --orange:#EE8A3C; --terre:#B9562A; --lavande:#B9AED6;
  --vert:#3F8F4A; --moutarde:#E3A83B; --nuit:#1F3A64; --ciel:#7AA8DD;
  --f-titre:'Fraunces', Georgia, 'Times New Roman', serif;
  --f-texte:'Jost', 'Avenir Next', 'Segoe UI', system-ui, sans-serif;
  --r-l:28px; --r-m:20px; --r-s:14px;
  --max:1240px; --gut:clamp(16px,4vw,56px);
  color-scheme: light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{overflow-x:clip}
body{margin:0;background:var(--creme);color:var(--encre);font-family:var(--f-texte);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
img,video{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
:focus-visible{outline:2px solid var(--magenta);outline-offset:3px;border-radius:6px}
h1,h2,h3{font-family:var(--f-titre);font-weight:400;margin:0;line-height:1.08;text-wrap:balance;letter-spacing:-.01em}
h1{font-size:clamp(40px,6vw,76px)}
h2{font-size:clamp(34px,4.4vw,56px)}
h3{font-size:clamp(22px,2vw,27px);line-height:1.2}
p{margin:0}
em.c,h1 em,h2 em{font-style:italic}
.m{color:var(--magenta)} .o{color:var(--orange)} .t{color:var(--terre)} .v{color:var(--vert)} .n{color:var(--nuit)}
.wrap{max-width:var(--max);margin:0 auto;padding-inline:var(--gut)}
.eyebrow{font-size:13px;letter-spacing:.22em;text-transform:uppercase;color:var(--terre);font-weight:500}
.lead{font-size:clamp(17px,1.5vw,19px);color:var(--texte);max-width:60ch}
.section{padding-block:clamp(64px,9vw,112px)}
.section-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px 48px;margin-bottom:clamp(28px,4vw,48px)}
.section-head.center{flex-direction:column;align-items:center;text-align:center}
.section-head .stack{display:flex;flex-direction:column;gap:14px;min-width:0}
.link{font-weight:500;border-bottom:2px solid var(--magenta);padding-bottom:3px;white-space:nowrap}
.link:hover{color:var(--magenta)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;padding:14px 26px;font-weight:500;font-size:16px;letter-spacing:.02em;border:1.5px solid transparent;cursor:pointer;font-family:var(--f-texte);transition:background .2s,color .2s}
.btn-ink{background:var(--encre);color:var(--creme)} .btn-ink:hover{background:var(--magenta)}
.btn-m{background:var(--magenta);color:#fff} .btn-m:hover{background:#b8207a}
.btn-line{border-color:var(--encre)} .btn-line:hover{background:var(--encre);color:var(--creme)}
.dot{width:12px;height:12px;border-radius:50%;flex-shrink:0;display:inline-block}

/* ---------- En-tête : une ligne, menu « Vos séjours » ---------- */
.site-header{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:color-mix(in srgb,var(--creme) 94%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--ligne)}
.site-header .bar{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:20px;min-height:76px}
.brand img{height:48px;width:auto}
.nav{display:flex;justify-content:center;align-items:center;gap:clamp(12px,1.6vw,24px);font-weight:500;font-size:15px;white-space:nowrap}
.nav a,.dd-btn{padding-block:6px;border-bottom:2px solid transparent}
.nav a:hover,.dd-btn:hover{color:var(--terre)}
.nav > a[aria-current="page"],.dd.on > .dd-btn{border-bottom-color:var(--magenta)}
.dd{position:relative}
.dd-btn{display:inline-flex;align-items:center;gap:6px;background:none;border-top:0;border-left:0;border-right:0;font:inherit;color:inherit;cursor:pointer;padding-inline:0}
.dd-btn svg{width:11px;height:8px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s}
.dd-menu{position:absolute;left:50%;top:calc(100% + 10px);transform:translateX(-50%);background:var(--papier);border-radius:var(--r-s);box-shadow:0 14px 34px rgba(29,27,26,.14);padding:8px;display:flex;flex-direction:column;gap:2px;min-width:220px;opacity:0;visibility:hidden;transition:opacity .15s,visibility .15s}
.dd-menu::before{content:"";position:absolute;left:0;right:0;top:-12px;height:12px}
.dd-menu a{padding:10px 14px;border-radius:10px;border-bottom:none}
.dd-menu a:hover,.dd-menu a[aria-current="page"]{background:var(--sable);color:var(--encre)}
.dd-menu a[aria-current="page"]{box-shadow:inset 3px 0 0 var(--magenta)}
.dd:hover .dd-menu,.dd:focus-within .dd-menu,.dd.open .dd-menu{opacity:1;visibility:visible}
.dd:hover .dd-btn svg,.dd.open .dd-btn svg{transform:rotate(180deg)}
.nav .m-only{display:none}
.tools{display:flex;align-items:center;gap:12px}
.lang{display:inline-flex;border:1.5px solid var(--encre);border-radius:999px;overflow:hidden;font-size:13px;font-weight:600;letter-spacing:.06em}
.lang a,.lang span{padding:7px 11px}
.lang span{background:var(--encre);color:var(--creme)}
.lang a:hover{background:var(--sable)}
.header-cta{padding:11px 20px;font-size:15px}
@media (max-width:1180px){
  .site-header .bar{grid-template-columns:1fr auto;min-height:0;padding-top:10px;row-gap:2px}
  .brand img{height:42px}
  .nav{grid-column:1/-1;grid-row:2;justify-content:flex-start;overflow-x:auto;scrollbar-width:none;gap:22px;padding-bottom:6px;margin-inline:calc(-1 * var(--gut));padding-inline:var(--gut);-webkit-mask-image:linear-gradient(90deg,#000 88%,transparent);mask-image:linear-gradient(90deg,#000 88%,transparent)}
  .nav::-webkit-scrollbar{display:none}
  .nav a{padding-block:8px}
  .nav .dd{display:none}
  .nav .m-only{display:inline-block}
  .nav a.m-only[aria-current="page"]{border-bottom-color:var(--magenta)}
}
@media (max-width:560px){.header-cta{display:none}.brand img{height:38px}}
@media (prefers-reduced-motion:reduce){.dd-menu,.dd-btn svg{transition:none}}

/* ---------- Accueil : logo animé + photo en parallaxe ---------- */
.hero{padding-top:clamp(20px,3vw,36px)}
.hero-logo{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}
.hero-logo video,.hero-logo img{width:clamp(270px,34vw,440px);height:auto;aspect-ratio:640/612;mix-blend-mode:multiply}
.hero-sub{font-size:15px;letter-spacing:.14em;text-transform:uppercase;color:var(--doux);margin-top:-10px;text-wrap:balance}
.hero-photo{position:relative;margin-top:clamp(18px,2.5vw,28px)}
.parallax{position:relative;overflow:hidden;border-radius:var(--r-l);height:clamp(340px,62vw,760px);background:var(--sable)}
.parallax img{position:absolute;inset:-12% 0 auto 0;width:100%;height:124%;object-fit:cover;object-position:center 40%;will-change:transform}
.hero-photo .leaves{position:absolute;left:-34px;bottom:-54px;width:clamp(120px,15vw,220px);pointer-events:none}
.hero-photo .bird{position:absolute;right:-12px;top:-26px;width:clamp(40px,4vw,60px);pointer-events:none}
.scroll-hint{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);background:var(--creme);border-radius:999px;padding:10px 20px;font-size:14px;font-weight:500;display:flex;gap:10px;align-items:center;box-shadow:0 6px 24px rgba(29,27,26,.12)}
.scroll-hint svg{animation:bob 1.8s ease-in-out infinite}
@keyframes bob{50%{transform:translateY(4px)}}
.intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(24px,5vw,80px);align-items:start}
.intro .facts{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.chip{display:inline-flex;align-items:center;gap:8px;background:var(--papier);border:1px solid var(--ligne);border-radius:999px;padding:8px 16px;font-size:15px;font-weight:500}
@media (max-width:820px){.intro{grid-template-columns:1fr}}

/* ---------- Occasions : 4 cartes centrées ---------- */
.occasions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.occ{background:var(--papier);border-radius:var(--r-m);padding:12px 12px 26px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;transition:transform .25s}
.occ:hover{transform:translateY(-4px)}
.occ img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--r-s);margin-bottom:6px}
.occ h3{display:flex;align-items:center;gap:10px}
.occ p{color:var(--texte);font-size:16px;line-height:1.5;padding-inline:10px}
.big-title{font-size:clamp(40px,5.6vw,72px)}
.big-title em{font-weight:500}
@media (max-width:980px){.occasions{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:480px){.occasions{grid-template-columns:1fr}}

/* ---------- Carrousels ---------- */
.carousel{position:relative}
.track{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding-bottom:6px;scrollbar-width:none}
.track::-webkit-scrollbar{display:none}
.slide{flex:0 0 clamp(250px,31%,400px);scroll-snap-align:start;margin:0;display:flex;flex-direction:column;gap:12px}
.slide img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--r-m)}
.slide.wide{flex-basis:clamp(280px,44%,560px)}
.slide.wide img{aspect-ratio:4/3}
.slide figcaption{display:flex;align-items:center;gap:10px;font-size:17px;font-weight:500}
.car-nav{display:flex;gap:10px}
.car-btn{width:48px;height:48px;border-radius:50%;border:1.5px solid var(--encre);background:transparent;color:var(--encre);display:grid;place-items:center;cursor:pointer;transition:background .2s,color .2s}
.car-btn:hover{background:var(--encre);color:var(--creme)}
.car-btn:disabled{opacity:.3;cursor:default;background:transparent;color:var(--encre)}
.rooms-title{font-size:clamp(40px,5.4vw,70px)}
.rooms-title .n1{font-family:var(--f-titre)}
.rooms-title .n2{font-style:italic;color:var(--orange);font-weight:500}
.maison-band{background:var(--sable);border-radius:var(--r-l);padding:clamp(28px,5vw,64px) clamp(18px,4vw,56px)}
.maison-title em{color:var(--vert)}

/* ---------- Activités (liste + photos décalées) ---------- */
.acts{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(28px,5vw,72px);align-items:center}
.acts .txt{display:flex;flex-direction:column;gap:22px;min-width:0}
.list{list-style:none;margin:0;padding:0;border-top:1px solid var(--ligne-f)}
.list li{display:flex;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid var(--ligne-f);font-size:19px}
.stagger{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;position:relative}
.stagger img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--r-m)}
.stagger img:nth-child(even){margin-top:56px}
.stagger .deco{position:absolute;left:-50px;bottom:-40px;width:190px;aspect-ratio:auto;border-radius:0;pointer-events:none}
@media (max-width:900px){.acts{grid-template-columns:1fr}.stagger .deco{display:none}}

/* ---------- Tout est prévu ---------- */
.included{background:var(--papier);border-radius:var(--r-l);padding:clamp(28px,5vw,60px)}
.feat{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.feat div{display:flex;align-items:center;gap:14px;background:var(--creme);border-radius:var(--r-s);padding:18px 20px;font-weight:500;font-size:17px;min-width:0}
.feat svg{width:30px;height:30px;flex-shrink:0;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
@media (max-width:980px){.feat{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:460px){.feat{grid-template-columns:1fr}}

/* ---------- Avis (carrousel) ---------- */
.review{background:var(--nuit);color:var(--creme);border-radius:var(--r-l);padding:clamp(40px,6vw,84px) clamp(18px,5vw,80px) clamp(32px,4vw,52px);position:relative;overflow:hidden;text-align:center;margin:0}
.review .deco{position:absolute;right:-30px;top:-30px;width:clamp(120px,18vw,260px);pointer-events:none}
.review .deco2{position:absolute;left:-40px;bottom:-50px;width:clamp(110px,15vw,220px);pointer-events:none;opacity:.95}
.review .eyebrow{color:var(--moutarde);margin-bottom:16px;position:relative}
.review h2{color:var(--creme);margin-bottom:8px;position:relative}
.stars{display:flex;justify-content:center;gap:6px;color:var(--moutarde);margin:18px 0 22px}
.stars svg{width:26px;height:26px;fill:currentColor}
.rev-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;position:relative}
.rev-track::-webkit-scrollbar{display:none}
.rev{flex:0 0 100%;scroll-snap-align:center;display:flex;flex-direction:column;align-items:center;gap:22px;padding-inline:clamp(0px,4vw,60px)}
.rev blockquote{margin:0;max-width:30ch;font-family:var(--f-titre);font-style:italic;font-weight:300;font-size:clamp(24px,3.2vw,42px);line-height:1.25}
.rev figcaption{font-size:14px;letter-spacing:.16em;text-transform:uppercase;color:#D8DEEA}
.rev figcaption b{color:var(--creme);font-weight:600}
.rev-nav{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:30px;position:relative}
.rev-nav .car-btn{border-color:var(--creme);color:var(--creme)}
.rev-nav .car-btn:hover{background:var(--creme);color:var(--nuit)}
.dots{display:flex;gap:8px}
.dots button{width:10px;height:10px;border-radius:50%;border:1.5px solid var(--creme);background:transparent;padding:0;cursor:pointer}
.dots button[aria-current="true"]{background:var(--moutarde);border-color:var(--moutarde)}
.rev-note{font-size:13px;color:#B9C3D6;margin-top:14px;position:relative}

/* ---------- Blog ---------- */
.posts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.post-card{background:var(--papier);border-radius:var(--r-m);padding:12px 12px 22px;display:flex;flex-direction:column;gap:12px;min-width:0;transition:transform .25s}
.post-card:hover{transform:translateY(-4px)}
.post-card img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r-s)}
.post-card .body{padding-inline:8px;display:flex;flex-direction:column;gap:8px}
.post-card time{font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--terre);font-weight:500}
.post-card h3{font-size:22px}
.post-card p{color:var(--texte);font-size:15.5px;line-height:1.55}
.posts .post-card.feature{grid-column:span 2}
.posts .post-card.feature img{aspect-ratio:16/9}
.posts .post-card.feature h3{font-size:clamp(24px,2.4vw,32px)}
@media (max-width:980px){.posts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.posts{grid-template-columns:1fr}.posts .post-card.feature{grid-column:auto}}
.article{max-width:720px;margin:0 auto}
.article-head{display:flex;flex-direction:column;gap:16px;padding-block:clamp(36px,5vw,64px) 28px}
.article-head h1{font-size:clamp(34px,4.6vw,56px)}
.article-head time{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--terre);font-weight:500}
.article-cover{width:100%;max-width:1040px;margin:0 auto;display:block;border-radius:var(--r-l);aspect-ratio:16/9;object-fit:cover}
.prose{font-size:18px;line-height:1.75;color:#2E2A27;display:flex;flex-direction:column;gap:18px;padding-block:40px}
.prose h2{font-size:clamp(26px,2.8vw,34px);margin-top:18px}
.prose ul{margin:0;padding-left:1.2em;display:flex;flex-direction:column;gap:6px}
.back{font-weight:500}

/* ---------- Réservation ---------- */
.resa{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(28px,5vw,72px);align-items:start}
.resa .txt{display:flex;flex-direction:column;gap:22px;min-width:0}
.contact-lines{display:flex;flex-direction:column;gap:4px;font-size:18px}
.contact-lines strong{font-weight:500}
form.book{background:var(--papier);border-radius:var(--r-l);padding:clamp(22px,4vw,40px);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
form.book label{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:500;min-width:0}
form.book .full{grid-column:1/-1}
form.book input,form.book textarea{border:1px solid var(--ligne);border-radius:12px;padding:13px 15px;font:17px var(--f-texte);background:var(--creme);color:var(--encre);width:100%}
form.book input:focus,form.book textarea:focus{outline:2px solid var(--magenta);outline-offset:0;border-color:transparent}
form.book textarea{resize:vertical;min-height:120px}
form.book .btn{grid-column:1/-1;padding:17px}
.form-ok{grid-column:1/-1;background:#EAF3EA;color:#24502B;border-radius:12px;padding:14px 16px;font-size:16px}
@media (max-width:900px){.resa{grid-template-columns:1fr}}
@media (max-width:520px){form.book{grid-template-columns:1fr}}

/* ---------- Pages intérieures ---------- */
.page-hero{padding-block:clamp(40px,6vw,80px) clamp(28px,4vw,48px);display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(24px,5vw,72px);align-items:end}
.page-hero .stack{display:flex;flex-direction:column;gap:18px;min-width:0}
@media (max-width:860px){.page-hero{grid-template-columns:1fr}}
.cover{border-radius:var(--r-l);width:100%;height:clamp(260px,42vw,540px);object-fit:cover}
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
@media (max-width:900px){.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.grid-2,.grid-3{grid-template-columns:1fr}}
.card{background:var(--papier);border-radius:var(--r-m);padding:14px 14px 24px;display:flex;flex-direction:column;gap:12px;min-width:0}
.card img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r-s)}
.card.tall img{aspect-ratio:4/5}
.card .body{padding-inline:8px;display:flex;flex-direction:column;gap:8px}
.card p{color:var(--texte);font-size:16px;line-height:1.55}
.card h3{display:flex;align-items:center;gap:10px}
.card.flat{padding:28px}
.tag{display:inline-block;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;color:var(--terre)}
.note{background:var(--sable);border-radius:var(--r-m);padding:22px 26px;color:var(--texte);font-size:16px}
.gallery{columns:3 260px;column-gap:18px}
.gallery img{width:100%;border-radius:var(--r-m);margin-bottom:18px;break-inside:avoid}
.services{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.service{background:var(--papier);border-radius:var(--r-m);padding:26px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px 18px;align-items:start}
.service svg{grid-row:span 2;width:34px;height:34px;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.service h3{font-size:22px}
.service p{color:var(--texte);font-size:16px}
@media (max-width:720px){.services{grid-template-columns:1fr}}

/* Tarifs */
.table-wrap{overflow-x:auto;background:var(--papier);border-radius:var(--r-l);padding:clamp(12px,3vw,28px)}
table.tarifs{width:100%;border-collapse:collapse;min-width:620px;font-variant-numeric:tabular-nums}
table.tarifs th,table.tarifs td{text-align:left;padding:16px 14px;border-bottom:1px solid var(--ligne)}
table.tarifs thead th{font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--doux);font-weight:500}
table.tarifs tbody th{font-family:var(--f-titre);font-weight:400;font-size:21px}
table.tarifs tbody th small{display:block;font-family:var(--f-texte);font-size:14px;color:var(--doux)}
table.tarifs td{font-size:18px;font-weight:500}
table.tarifs tr:last-child th,table.tarifs tr:last-child td{border-bottom:none}
.price-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column}
.price-list li{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--ligne);font-variant-numeric:tabular-nums}
.price-list li:last-child{border-bottom:none}
.price-list b{font-weight:500;text-align:right}
.formula{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.formula .card{padding:26px;align-items:flex-start}
.formula .price{font-family:var(--f-titre);font-size:40px;line-height:1}
.formula .price small{font-family:var(--f-texte);font-size:15px;color:var(--doux)}
@media (max-width:980px){.formula{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:480px){.formula{grid-template-columns:1fr}}
.prog{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}
.prog li{display:grid;grid-template-columns:110px minmax(0,1fr);gap:16px;padding-bottom:14px;border-bottom:1px solid var(--ligne)}
.prog li b{font-family:var(--f-titre);font-weight:400;font-size:20px}
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,5vw,64px);align-items:center}
.split > *{min-width:0}
.split img{width:100%;border-radius:var(--r-l);aspect-ratio:4/5;object-fit:cover}
@media (max-width:860px){.split{grid-template-columns:1fr}}
.subnav{display:flex;flex-wrap:wrap;gap:10px}
.places{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.place{background:var(--papier);border-radius:var(--r-m);padding:26px;display:flex;flex-direction:column;gap:8px}
.place .km{font-family:var(--f-titre);font-style:italic;font-size:30px;color:var(--terre);line-height:1}
.place p{color:var(--texte);font-size:16px}
@media (max-width:720px){.places{grid-template-columns:1fr}}
.cta-band{background:var(--magenta);color:#fff;border-radius:var(--r-l);padding:clamp(32px,5vw,60px);display:flex;flex-wrap:wrap;gap:24px;justify-content:space-between;align-items:center}
.cta-band h2{font-size:clamp(30px,3.6vw,46px)}
.cta-band .btn{background:var(--creme);color:var(--encre)}
.cta-band .btn:hover{background:var(--encre);color:var(--creme)}

/* ---------- Pied de page ---------- */
.site-footer{background:var(--encre);color:var(--creme);margin-top:clamp(64px,9vw,112px);padding-block:56px 32px}
.site-footer .cols{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:36px}
.site-footer img{width:220px}
.site-footer h4{margin:0 0 10px;font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--moutarde);font-weight:500}
.site-footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.site-footer a:hover{color:var(--moutarde)}
.site-footer .legal{margin-top:40px;padding-top:20px;border-top:1px solid #3A3634;font-size:14px;color:#B8B0A6;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px}
@media (max-width:860px){.site-footer .cols{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.site-footer .cols{grid-template-columns:1fr}}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .occ,.scroll-hint svg{transition:none;animation:none}
}

/* ---------- Couchages ---------- */
.room .sleeps{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:4px;padding-top:12px;border-top:1px solid var(--ligne);font-size:15px;color:var(--texte)}
.room .sleeps b{color:var(--encre);font-weight:600}
.bed-icons{display:inline-flex;gap:6px;align-items:flex-end}
.bed-icons svg{height:18px;width:auto;fill:none;stroke:var(--terre);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.beds-table td{text-align:center}
.beds-table thead th:not(:first-child){text-align:center}
.beds-table tbody th{display:flex;align-items:center;gap:10px}
.beds-table tfoot th,.beds-table tfoot td{border-top:2px solid var(--encre);border-bottom:none;font-weight:600}
.beds-table tfoot th{font-family:var(--f-texte);font-size:16px;text-transform:uppercase;letter-spacing:.12em}

/* ---------- Le mot de Margo ---------- */
.margo{margin:0 auto;max-width:900px;position:relative;text-align:center;display:flex;flex-direction:column;align-items:center;gap:18px;padding:clamp(36px,5vw,64px) clamp(20px,5vw,72px);background:var(--papier);border-radius:var(--r-l)}
.margo blockquote{margin:0;font-family:var(--f-titre);font-weight:300;font-size:clamp(20px,2.2vw,26px);line-height:1.5;color:var(--encre);max-width:52ch}
.margo figcaption{display:flex;flex-direction:column;gap:2px;font-size:14px;letter-spacing:.14em;text-transform:uppercase;color:var(--doux)}
.margo .sig{font-family:var(--f-titre);font-style:italic;font-size:40px;letter-spacing:0;text-transform:none;color:var(--magenta);line-height:1.1}
.margo-deco{position:absolute;right:-26px;top:-30px;width:clamp(110px,14vw,180px);pointer-events:none}

/* ---------- Carte dessinée ---------- */
.carte{margin:0;background:var(--papier);border-radius:var(--r-l);padding:clamp(10px,2vw,24px)}
.carte-scroll{overflow-x:auto;border-radius:var(--r-m)}
.carte svg{display:block;width:100%;min-width:720px;height:auto}
.carte figcaption{font-size:14px;color:var(--doux);padding:12px 8px 2px;text-align:center}
.carte .m-name{font-family:var(--f-titre);font-style:italic;font-size:25px;fill:var(--encre)}
.carte .m-time{font-family:var(--f-texte);font-size:15px;font-weight:600;fill:var(--encre)}
.carte .m-sub{font-family:var(--f-texte);font-size:15px;fill:var(--doux)}
.carte .m-home{font-family:var(--f-titre);font-size:30px;fill:var(--encre)}
.carte .m-lake{font-family:var(--f-titre);font-style:italic;font-size:20px;fill:#3E6E9E}
.carte .m-ridge{font-family:var(--f-texte);font-size:17px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;fill:var(--terre)}
.carte .m-compass text{font-family:var(--f-texte);font-size:14px;font-weight:600;fill:var(--encre)}
.routes{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px}
.route{background:var(--papier);border-radius:var(--r-m);padding:22px;display:flex;gap:14px;align-items:flex-start;min-width:0}
.route .dot{margin-top:9px}
.route h3{font-size:21px}
.route .dur{font-family:var(--f-titre);font-style:italic;font-size:26px;color:var(--terre);margin:4px 0 6px;line-height:1.1}
.route p{color:var(--texte);font-size:15.5px}

/* ---------- Pages légales ---------- */
.subnav .chip.on{background:var(--encre);color:var(--creme);border-color:var(--encre)}
.legal-prose h2{font-size:clamp(22px,2.2vw,28px)}
.legal-prose .link{white-space:normal}
mark.todo{background:#FFF1B8;color:#6B4E00;border-radius:6px;padding:1px 6px}
.updated{font-size:14px;color:var(--doux)}
.legal-links a:hover{color:var(--moutarde)}

/* ---------- Bouton réserver mobile ---------- */
.mobile-cta{display:none}
@media (max-width:760px){
  .mobile-cta{display:flex;position:fixed;left:16px;right:16px;bottom:calc(14px + env(safe-area-inset-bottom,0px));z-index:60;justify-content:center;align-items:center;background:var(--magenta);color:#fff;border-radius:999px;padding:15px 20px;font-weight:600;font-size:16px;letter-spacing:.02em;box-shadow:0 10px 30px rgba(29,27,26,.25)}
  .site-footer{padding-bottom:110px}
}

@media (max-width:700px){.margo-deco{display:none}}

/* Orientation des chambres */
.room .orient{display:flex;align-items:center;gap:10px;font-size:15px;color:var(--texte)}
.room .orient svg{width:18px;height:18px;fill:none;stroke:var(--moutarde);stroke-width:1.8;stroke-linecap:round}

/* À proximité : liste compacte */
.page-hero-compact{grid-template-columns:1fr;padding-block:clamp(36px,5vw,64px) clamp(20px,3vw,32px)}
.page-hero-compact .lead{max-width:62ch}
.places-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:48px;border-top:1px solid var(--ligne-f)}
.pl{padding:16px 0;border-bottom:1px solid var(--ligne-f);display:flex;flex-direction:column;gap:4px;min-width:0}
.pl-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px}
.pl h3{font-size:20px}
.pl .km{font-family:var(--f-titre);font-style:italic;color:var(--terre);font-size:18px;white-space:nowrap}
.pl p{color:var(--texte);font-size:15px;line-height:1.5}
@media (max-width:720px){.places-list{grid-template-columns:1fr}}

/* ---------- Jeux ---------- */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.games{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:20px}
.game-card{background:var(--papier);border-radius:var(--r-l);padding:14px 14px 28px;display:flex;flex-direction:column;gap:18px;min-width:0;transition:transform .25s}
a.game-card:hover{transform:translateY(-4px)}
.game-card .body{padding-inline:12px;display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.game-card h2{font-size:clamp(30px,3.4vw,44px)}
.game-card p{color:var(--texte)}
.game-card.soon{background:var(--sable);justify-content:center}
.game-art{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:10px;align-items:end}
.game-art img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:var(--r-s)}
.game-art img:nth-child(1){transform:rotate(-3deg)}.game-art img:nth-child(2){transform:rotate(2deg) translateY(-10px)}.game-art img:nth-child(3){transform:rotate(-1.5deg)}
@media (max-width:820px){.games{grid-template-columns:1fr}}
.games-teaser{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px 20px;background:var(--papier);border-radius:var(--r-m);padding:20px 26px;border:1.5px dashed var(--magenta)}
.games-teaser .gt-title{font-family:var(--f-titre);font-size:24px}
.games-teaser .gt-text{grid-column:2;color:var(--texte);font-size:15.5px}
.games-teaser .link{grid-row:1/span 2;grid-column:3}
@media (max-width:620px){.games-teaser{grid-template-columns:1fr}.games-teaser .gt-text,.games-teaser .link{grid-column:auto;grid-row:auto;justify-self:start}}

.jeu{max-width:860px;padding-block:clamp(28px,4vw,48px) 0}
.jeu-head{display:flex;flex-direction:column;gap:10px;margin-bottom:24px}
.jeu-head .back{align-self:flex-start}
.jeu-head h1{font-size:clamp(38px,5vw,60px)}
.g-screen{display:flex;flex-direction:column;gap:18px}
.g-screen[hidden]{display:none!important}
.g-center{align-items:center;text-align:center;padding-block:clamp(30px,6vw,70px)}
.g-huge{font-size:clamp(34px,6vw,58px)}
.g-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.g-steps li{background:var(--sable);border-radius:var(--r-s);padding:16px;display:flex;gap:12px;align-items:flex-start;font-size:15.5px;line-height:1.45;min-width:0}
.g-step{flex-shrink:0;width:28px;height:28px;border-radius:50%;background:var(--magenta);color:#fff;display:grid;place-items:center;font-weight:600;font-size:14px}
@media (max-width:700px){.g-steps{grid-template-columns:1fr}}
.g-panel{background:var(--papier);border-radius:var(--r-m);padding:clamp(18px,3vw,28px);display:flex;flex-direction:column;gap:12px}
.g-panel h2{font-size:26px}
.g-panel-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.g-count{font-weight:600;color:var(--terre);font-variant-numeric:tabular-nums}
.g-help{color:var(--texte);font-size:15px}
.g-field{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:500}
.g-field input,.g-player-add input{border:1px solid var(--ligne);border-radius:12px;padding:13px 15px;font:17px var(--f-texte);background:var(--creme);color:var(--encre);width:100%;min-width:0}
.g-photos{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.g-row{display:flex;align-items:center;gap:12px;background:var(--creme);border-radius:var(--r-s);padding:8px 10px;min-width:0}
.g-row img{width:64px;height:64px;object-fit:cover;border-radius:10px;flex-shrink:0}
.g-num{width:26px;text-align:center;font-family:var(--f-titre);font-size:22px;color:var(--terre);flex-shrink:0}
.g-tag{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--doux);font-weight:500}
.g-tag.new{color:var(--magenta)}
.g-row-btns{margin-left:auto;display:flex;gap:6px;flex-shrink:0}
.g-mini{width:40px;height:40px;border-radius:50%;border:1.5px solid var(--ligne-f);background:var(--papier);color:var(--encre);font-size:18px;cursor:pointer}
.g-mini:disabled{opacity:.3;cursor:default}
.g-mini.x{color:var(--terre)}
.g-add{align-self:flex-start;cursor:pointer}
.g-add input{position:absolute;width:1px;height:1px;opacity:0}
.g-add:focus-within{outline:2px solid var(--magenta);outline-offset:3px}
.g-privacy{font-size:14px;color:var(--vert);font-weight:500}
.g-msg{font-size:14.5px;color:var(--terre);min-height:1em}
.g-player-add{display:flex;gap:10px}
.g-players{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.g-players .chip{padding:6px 8px 6px 16px}
.g-x{border:none;background:var(--sable);border-radius:50%;width:28px;height:28px;cursor:pointer;font-size:16px;color:var(--encre)}
.g-start-row{display:flex;flex-direction:column;align-items:center;gap:8px;padding-top:8px}
.g-big{font-size:18px;padding:18px 34px}
.btn:disabled{opacity:.4;cursor:not-allowed}
.g-playbar{display:flex;justify-content:space-between;align-items:center;background:var(--encre);color:var(--creme);border-radius:999px;padding:12px 22px;position:sticky;top:calc(96px + env(safe-area-inset-top,0px));z-index:5}
.g-play-name{font-family:var(--f-titre);font-size:22px}
.g-timer{font-variant-numeric:tabular-nums;font-weight:600;font-size:20px;color:var(--moutarde)}
.g-hint{text-align:center;font-weight:500;color:var(--texte)}
.g-board{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
.g-card{position:relative;padding:0;border:3px solid transparent;border-radius:var(--r-s);background:var(--papier);cursor:pointer;overflow:hidden;aspect-ratio:1}
.g-card img{width:100%;height:100%;object-fit:cover;display:block;transition:opacity .15s}
.g-card.on{border-color:var(--magenta)}
.g-card.on img{opacity:.55}
.g-badge{position:absolute;inset:0;margin:auto;width:56px;height:56px;border-radius:50%;background:var(--magenta);color:#fff;display:grid;place-items:center;font-family:var(--f-titre);font-size:30px;box-shadow:0 6px 18px rgba(0,0,0,.25)}
@media (max-width:480px){.g-board{grid-template-columns:repeat(2,minmax(0,1fr))}}
.g-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.g-rank{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.g-rank-row{background:var(--papier);border-radius:var(--r-m);padding:14px 18px;display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:6px 16px}
.g-rank-row.first{background:var(--nuit);color:var(--creme)}
.g-pos{font-family:var(--f-titre);font-size:30px;width:34px;text-align:center;color:var(--terre)}
.g-rank-row.first .g-pos{color:var(--moutarde)}
.g-who{font-family:var(--f-titre);font-size:22px;display:flex;flex-direction:column;min-width:0;overflow-wrap:anywhere}
.g-who small{font-family:var(--f-texte);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--moutarde)}
.g-score{font-weight:600;font-size:19px;font-variant-numeric:tabular-nums}
.g-time{font-size:15px;opacity:.8;font-variant-numeric:tabular-nums}
.g-strip{grid-column:1/-1;display:flex;gap:6px;flex-wrap:wrap;padding-top:4px}
.g-dot{width:40px;height:40px;border-radius:8px;overflow:hidden;border:3px solid}
.g-dot img{width:100%;height:100%;object-fit:cover}
.g-dot.ok{border-color:#3F8F4A}.g-dot.ko{border-color:#D9CDBB;opacity:.6}
.g-answer{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:10px}
.g-ans{margin:0;position:relative}
.g-ans img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:10px}
.g-ans figcaption{position:absolute;left:6px;top:6px;background:var(--creme);border-radius:999px;min-width:26px;height:26px;display:grid;place-items:center;font-weight:600;font-size:14px}
@media (max-width:520px){.g-rank-row{grid-template-columns:auto 1fr auto}.g-time{grid-column:2}}

.mobile-cta[hidden],.jeu-head[hidden]{display:none!important}
#jeu{scroll-margin-top:110px}

/* ---------- Accueil : photos arrondies qui flottent autour du logo ---------- */
.hero-top{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:clamp(12px,2vw,32px)}
.hero-side{position:relative;height:clamp(290px,28vw,400px)}
.floaty{position:absolute;margin:0;width:clamp(120px,11.5vw,170px);--r:0deg;transform:rotate(var(--r));animation:floaty 7s ease-in-out infinite}
.floaty img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--r-m);box-shadow:0 14px 34px rgba(29,27,26,.16)}
.floaty figcaption{position:absolute;left:50%;bottom:-14px;transform:translateX(-50%);white-space:nowrap;background:var(--papier);border-radius:999px;padding:6px 14px;font-family:var(--f-titre);font-style:italic;font-size:15px;color:var(--encre);box-shadow:0 6px 16px rgba(29,27,26,.1)}
.p1{left:2%;top:0;--r:-6deg}
.p2{right:0;bottom:6%;--r:5deg;animation-delay:-2.5s}
.p3{right:2%;top:0;--r:6deg;animation-delay:-1.2s}
.p4{left:0;bottom:6%;--r:-5deg;animation-delay:-4s}
.p1 figcaption{border:1.5px solid var(--vert)}.p2 figcaption{border:1.5px solid var(--lavande)}.p3 figcaption{border:1.5px solid var(--magenta)}.p4 figcaption{border:1.5px solid var(--orange)}
@keyframes floaty{0%,100%{transform:rotate(var(--r)) translateY(0)}50%{transform:rotate(calc(var(--r) * -0.4)) translateY(-10px)}}
.hero-side .deco{position:absolute;pointer-events:none}
.d2{width:clamp(80px,8vw,120px);left:-4%;bottom:-10%;transform:rotate(-12deg)}
.d3{width:clamp(90px,9vw,140px);right:-4%;bottom:-6%}
.d4{width:clamp(34px,3vw,46px);left:14%;top:6%;transform:rotate(-10deg)}
@media (max-width:900px){.hero-top{grid-template-columns:1fr}.hero-side{display:none}}
@media (prefers-reduced-motion:reduce){.floaty{animation:none}}

/* ---------- Activités sans photo ---------- */
.act-text{position:relative;overflow:hidden;justify-content:flex-end;min-height:200px;background:color-mix(in srgb,var(--acc) 12%,var(--papier))}
.act-mark{position:absolute;right:-30px;top:-30px;width:120px;height:120px;border-radius:50% 0 50% 0;background:var(--acc);opacity:.25;transform:rotate(20deg)}

/* ---------- EVJF / créatif ---------- */
.formules{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;align-items:start}
.formule{background:var(--papier);border-radius:var(--r-m);border:1.5px solid var(--ligne)}
.formule[open]{border-color:var(--magenta)}
.formule summary{list-style:none;cursor:pointer;padding:24px;display:flex;flex-direction:column;gap:8px}
.formule summary::-webkit-details-marker{display:none}
.formule .price,.formule-c .price{font-family:var(--f-titre);font-size:40px;line-height:1}
.formule .price small,.formule-c .price small{font-family:var(--f-texte);font-size:15px;color:var(--doux)}
.formule .short{color:var(--texte)}
.formule .more{font-weight:500;font-size:15px;color:var(--magenta);display:flex;align-items:center;gap:6px}
.formule .more::after{content:"+";font-size:20px;line-height:1}
.formule[open] .more::after{content:"–"}
.formule.hot{background:var(--magenta);border-color:var(--magenta);color:#fff}
.formule.hot .tag,.formule.hot .short,.formule.hot .price small,.formule.hot .more{color:#fff}
.incl{list-style:none;margin:0;padding:0 24px 24px;display:flex;flex-direction:column;gap:8px}
.incl li{display:flex;gap:10px;align-items:flex-start;font-size:15.5px}
.incl li::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--vert);margin-top:8px;flex-shrink:0}
.formule.hot .incl li::before{background:#fff}
.incl li.todo-li::before{display:none}
.formule-c{align-items:flex-start;gap:12px}
.formule-c .incl{padding:6px 0 0}
.formule-c.hot{background:var(--lavande)}
@media (max-width:980px){.formules{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.formules{grid-template-columns:1fr}}
.mini-acts{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}
.mini-acts.two{grid-template-columns:repeat(3,minmax(0,1fr))}
.mini-act{margin:0;display:flex;flex-direction:column;gap:8px}
.mini-act img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--r-s)}
.mini-act figcaption{font-weight:500;font-size:15px}
@media (max-width:900px){.mini-acts{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:480px){.mini-acts,.mini-acts.two{grid-template-columns:repeat(2,minmax(0,1fr))}}
.steps3{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.steps3 li{background:var(--papier);border-radius:var(--r-m);padding:24px;display:flex;gap:14px;align-items:flex-start}
.steps3 h3{font-size:22px;margin-bottom:4px}
.steps3 p{color:var(--texte);font-size:15.5px}
@media (max-width:760px){.steps3{grid-template-columns:1fr}}
.strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.strip img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:var(--r-s)}
.strip img:nth-child(even){margin-top:28px}
@media (max-width:760px){.strip{grid-template-columns:repeat(3,minmax(0,1fr))}.strip img:nth-child(even){margin-top:0}}
.quote-band{margin:0;background:var(--nuit);color:var(--creme);border-radius:var(--r-l);padding:clamp(32px,5vw,64px);text-align:center;display:flex;flex-direction:column;gap:18px;align-items:center}
.quote-band blockquote{margin:0;max-width:32ch;font-family:var(--f-titre);font-style:italic;font-weight:300;font-size:clamp(22px,2.8vw,36px);line-height:1.3}
.quote-band figcaption{font-size:14px;letter-spacing:.14em;text-transform:uppercase;color:#D8DEEA}
.next-date{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;background:var(--lavande);border-radius:var(--r-l);padding:clamp(28px,4vw,48px) clamp(24px,4vw,56px)}
.next-date .eyebrow{color:var(--encre)}
.nd-date{font-family:var(--f-titre);font-size:clamp(40px,6vw,76px);line-height:1;margin-top:8px}
.nd-date span{font-size:.38em;font-style:italic;vertical-align:middle}
.nd-arrow{font-style:normal!important;color:var(--magenta)}
.nd-month{font-family:var(--f-titre);font-style:italic;font-size:clamp(22px,2.6vw,32px);color:var(--magenta)}
.nd-right{display:flex;flex-direction:column;gap:14px;align-items:flex-start;font-weight:500}
.teasers{gap:20px}
.teaser{background:var(--papier);border-radius:var(--r-l);padding:12px 12px 26px;display:flex;flex-direction:column;gap:16px;transition:transform .25s}
.teaser:hover{transform:translateY(-4px)}
.teaser img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:var(--r-m)}
.teaser .body{padding-inline:12px;display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.teaser h2{font-size:clamp(28px,3vw,40px)}
.teaser p{color:var(--texte)}
@media (prefers-reduced-motion:reduce){.teaser{transition:none}}

/* Sous-titre de l'accueil */
.hero-sub{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 18px;margin-top:30px;text-transform:none;letter-spacing:0;font-family:var(--f-titre);font-style:italic;font-size:clamp(20px,2.3vw,30px);color:var(--encre)}
.hero-sub .t1{color:var(--terre)}.hero-sub .t2{color:var(--magenta);font-weight:500}.hero-sub .t3{color:var(--vert)}
.hs-dot{width:11px;height:11px;border-radius:50% 0 50% 0;background:var(--moutarde);transform:rotate(45deg);flex-shrink:0}
@media (max-width:900px){.hero-sub{margin-top:4px}}
.acts-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.acts-grid .card h3{font-size:20px}
.acts-text{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:16px}
.acts-text .act-text{min-height:0;justify-content:flex-start;padding:24px}
@media (max-width:1100px){.acts-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.acts-text{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.acts-grid,.acts-text{grid-template-columns:repeat(2,minmax(0,1fr))}.acts-grid .card h3{font-size:17px}}
@media (max-width:380px){.acts-text{grid-template-columns:1fr}}

.form-ko{background:#FBE7E4;color:#8A2A1B}

/* Bandeau cookies */
.cookie-banner{position:fixed;left:16px;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:80;max-width:720px;margin:0 auto;background:var(--papier);color:var(--encre);border:1px solid var(--ligne);border-radius:20px;padding:18px 20px;box-shadow:0 14px 40px rgba(29,27,26,.18);display:flex;gap:16px 20px;align-items:center;flex-wrap:wrap}
.cookie-banner p{margin:0;flex:1 1 320px;font-size:15px;line-height:1.5;color:var(--texte)}
.cookie-banner a{color:var(--encre);text-decoration:underline;text-underline-offset:3px}
.cookie-actions{display:flex;gap:10px;flex:0 0 auto}
.cookie-actions .btn{padding:11px 20px;font-size:15px}
body.has-cookie-banner .mobile-cta{display:none}
.cookie-link{background:none;border:0;padding:0;font:inherit;color:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.cookie-link[hidden]{display:none}
@media (max-width:520px){.cookie-actions{width:100%}.cookie-actions .btn{flex:1}}
