/* Pages intérieures + touche Rock N Snow (courbes de niveau, bouquetin) */
.topo-lines{position:absolute;inset:0;pointer-events:none;background:url("/img/topo.svg") right top/cover no-repeat;opacity:.13}
.site-footer{position:relative;overflow:hidden}
.site-footer .topo-lines{opacity:.06}
.site-footer .wrap{position:relative}
#main-nav a[aria-current="page"]{border-color:var(--orange)}

.narrow{max-width:860px}
.p-hero{position:relative;color:#fff;background:var(--teal-900);overflow:hidden}
.p-hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.p-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,52,55,.9) 0%,rgba(28,74,78,.72) 45%,rgba(28,74,78,.2) 80%,rgba(28,74,78,.05) 100%)}
.p-hero .topo-lines{z-index:1;opacity:.12}
.p-hero-inner{position:relative;z-index:2;padding:110px 24px 96px;display:flex;flex-direction:column;gap:18px}
.p-hero .kicker{margin:0;font-weight:600;letter-spacing:.16em;text-transform:uppercase;font-size:15px;color:var(--peach)}
.p-hero h1{font-size:clamp(48px,7vw,84px);line-height:.95;max-width:820px}
.p-hero .desc{margin:0;font-size:19px;color:#E1EAEA;max-width:620px}
.p-hero .actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:6px}
@media (max-width:640px){.p-hero::after{background:linear-gradient(180deg,rgba(20,52,55,.55),rgba(20,52,55,.92) 60%)}.p-hero-inner{padding:84px 16px 64px}.p-hero .actions .btn{flex:1 1 100%}}

.cards4.cols-3{grid-template-columns:repeat(3,1fr)}
.cards4.cols-2{grid-template-columns:repeat(2,1fr)}
@media (max-width:1020px){.cards4.cols-3{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.cards4.cols-3,.cards4.cols-2{grid-template-columns:1fr}}
.u-card .lead-sm{color:var(--teal-900)!important;font-weight:600}
.section.sand2{background:var(--sand-2)}
.section.white{background:#fff}

/* FAQ */
.faq{display:flex;flex-direction:column;gap:12px}
.faq-item{background:#fff;border:1px solid var(--line);border-radius:16px;padding:0 22px}
.faq-item summary{cursor:pointer;list-style:none;padding:18px 32px 18px 0;font-weight:600;font-size:18px;position:relative}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";position:absolute;right:0;top:50%;transform:translateY(-50%);font-size:26px;color:var(--teal);font-weight:400}
.faq-item[open] summary::after{content:"–"}
.faq-a{padding:0 0 18px;color:var(--ink-2)}
.faq-a p{margin:0 0 8px}
.faq-a ul{margin:0 0 8px;padding-left:1.2em}

/* Bande d'appel */
.cta-band{position:relative;overflow:hidden;background:var(--teal-900);color:#fff;border-radius:24px;padding:44px 48px;display:flex;flex-wrap:wrap;gap:24px;align-items:center;justify-content:space-between}
.cta-band h2{font-size:clamp(30px,4vw,44px)}
.cta-band p{margin:0;color:#D3DEE0;font-size:18px;max-width:560px}
.cta-band .actions{display:flex;flex-wrap:wrap;gap:12px}
.cta-band .goat{position:absolute;right:-18px;bottom:-28px;width:190px;opacity:.12;filter:invert(1)}
@media (max-width:640px){.cta-band{padding:30px 22px}}

/* Team */
.team{display:flex;flex-direction:column;gap:28px}
.member{display:grid;grid-template-columns:320px 1fr;gap:36px;background:#fff;border:1px solid var(--line);border-radius:22px;padding:28px;align-items:start}
.member img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:16px}
.member .role{margin:0;font-weight:600;letter-spacing:.12em;text-transform:uppercase;font-size:13px;color:var(--teal)}
.member h2{font-size:44px;margin:6px 0 12px}
.member p{margin:0 0 12px;color:var(--ink-2)}
.member ul{margin:6px 0 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:8px}
.member li{background:var(--sand);border:1px solid var(--line);border-radius:999px;padding:6px 14px;font-size:14px;font-weight:600;color:var(--teal-900)}
.member details summary{cursor:pointer;color:var(--teal);font-weight:600;margin-bottom:10px}
@media (max-width:860px){.member{grid-template-columns:1fr;padding:20px}.member img{aspect-ratio:4/3}}

/* Tarifs */
.prices{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.price{background:#fff;border:1px solid var(--line);border-radius:20px;padding:26px;display:flex;flex-direction:column;gap:6px}
.price.featured{border:2px solid var(--teal-900)}
.price h3{font-size:30px;margin-bottom:8px}
.price dl{margin:0;display:grid;grid-template-columns:1fr auto;row-gap:10px}
.price dt{color:var(--ink-2)}
.price dd{margin:0;font-family:var(--cond);font-weight:700;font-size:22px;color:var(--teal-900);text-align:right}
.note{color:var(--muted);font-size:15px;margin:16px 0 0}
.bullets{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:8px}
.bullets div{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px}
.bullets b{display:block;font-family:var(--cond);font-size:24px;color:var(--teal-900);margin-bottom:4px}
.bullets p{margin:0;color:var(--ink-2);font-size:16px}
@media (max-width:900px){.prices{grid-template-columns:1fr}.bullets{grid-template-columns:1fr}}

/* Contact */
.contact-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:28px}
.c-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:28px;display:flex;flex-direction:column;gap:14px}
.c-line{display:flex;gap:14px;align-items:flex-start;text-decoration:none;color:var(--ink)}
.c-line .ico{flex:none;width:44px;height:44px;border-radius:12px;background:var(--sand-2);color:var(--teal-900);display:flex;align-items:center;justify-content:center}
.c-line b{display:block}
.c-line span{color:var(--muted)}
a.c-line:hover b{color:var(--teal)}
@media (max-width:860px){.contact-grid{grid-template-columns:1fr}}
/* Mouvements discrets (désactivés si l'utilisateur préfère moins d'animations) */
@keyframes rise{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
.hero .kicker,.hero h1,.hero .sub,.hero .desc,.hero .actions,.hero .next-up,.hero .g-rating,
.p-hero .kicker,.p-hero h1,.p-hero .desc,.p-hero .actions{animation:rise .8s cubic-bezier(.2,.7,.2,1) both}
.hero h1,.p-hero h1{animation-delay:.08s}
.hero .sub{animation-delay:.16s}
.hero .desc,.p-hero .desc{animation-delay:.24s}
.hero .actions,.p-hero .actions{animation-delay:.34s}
.hero .next-up,.hero .g-rating{animation-delay:.46s}
.reveal{opacity:0;transform:translateY(26px);transition:opacity .75s cubic-bezier(.2,.7,.2,1),transform .75s cubic-bezier(.2,.7,.2,1);transition-delay:var(--d,0s)}
.reveal.in{opacity:1;transform:none}
.btn-orange{box-shadow:0 6px 18px rgba(169,70,30,.0);transition:background .15s,color .15s,transform .2s,box-shadow .2s}
.btn-orange:hover{box-shadow:0 10px 24px rgba(169,70,30,.28)}
.hero .p-hero-img,.hero .hero-img,.p-hero .p-hero-img{animation:slowzoom 18s ease-out both}
@keyframes slowzoom{from{transform:scale(1.07)}to{transform:scale(1)}}
@media (prefers-reduced-motion:reduce){
  .hero *,.p-hero *{animation:none!important}
  .reveal{opacity:1;transform:none;transition:none}
}

/* Courbes de niveau sur les fonds clairs */
.events,.reviews,.section.white{position:relative}
.events::before,.reviews::before,.section.white::before{content:"";position:absolute;inset:0;pointer-events:none;background:url("/img/topo-dark.svg") right top/cover no-repeat;opacity:.07}
.reviews::before{background-position:left bottom;opacity:.05}
.events>.wrap,.reviews>.wrap,.section.white>.wrap{position:relative}

/* Instagram */
.insta-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}
.insta-grid a{position:relative;display:block;aspect-ratio:1;border-radius:14px;overflow:hidden;background:var(--stone)}
.insta-grid img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.insta-grid a::after{content:"";position:absolute;inset:0;background:rgba(28,74,78,0);transition:background .25s}
.insta-grid a:hover img{transform:scale(1.06)}
.insta-grid a:hover::after{background:rgba(28,74,78,.25)}
.insta-handle{display:inline-flex;align-items:center;gap:10px;font-weight:600;text-decoration:none}
@media (max-width:900px){.insta-grid{grid-template-columns:repeat(3,1fr)}}
/* Sous-pages : cartes, galeries, fiches pratiques */
.rich h3{margin-top:18px}
.rich h4{font-family:var(--cond);font-size:20px;letter-spacing:.02em;text-transform:uppercase;color:var(--teal);margin-top:14px}
.rich ul,.icard ul{margin:0;padding-left:20px;display:grid;gap:6px}
.kv{margin:0!important}
.kv strong{color:var(--teal-900)}
.kv-price{font-family:var(--cond);font-weight:700;font-size:24px;color:var(--orange)!important;margin:2px 0 0!important}
.icards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:22px;margin-top:8px}
.icard{background:#fff;border-radius:20px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 1px 0 rgba(28,74,78,.06);transition:transform .25s,box-shadow .25s}
.section.white .icard{background:var(--sand)}
.icard:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(28,74,78,.12)}
.icard .img{display:block;aspect-ratio:4/3;overflow:hidden;background:var(--stone)}
.icard .img img{width:100%;height:100%;object-fit:cover}
.icard.icon .img{aspect-ratio:auto;background:none;padding:26px 26px 0}
.icard.icon .img img{width:72px;height:72px;object-fit:contain}
.icard .txt{padding:22px 24px 26px;display:grid;gap:8px}
.icard .txt h3{font-size:24px}
.icard .txt p{margin:0}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;margin-top:32px}
.gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:16px}
.head .rich{margin-top:10px;max-width:760px}
.split:has(.rich){align-items:start}
@media (min-width:900px){.split:has(.rich) .split-img{position:sticky;top:110px}}

.price-line{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-top:4px}
.price-line span:last-child{color:var(--ink-2);font-size:15px}
.icards.courses{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));align-items:start}
.icards.courses h3{color:var(--teal-900)}
.icards.courses .txt p{word-break:break-word}

/* Pages détail cours enfants */
.course-facts h2{margin-bottom:6px}
/* Bandeau photo des événements plus haut */
.ev-hero .band{height:min(72vh,680px)}
.ev-hero .band img{object-position:center 38%}
/* Pictos maison à la place des émojis */
.tick{display:inline-block;width:1.15em;height:1.15em;border-radius:50%;vertical-align:-.22em;margin-right:.4em;background:var(--teal) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12.5l4 4 8-9' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/72% no-repeat}
.checks{list-style:none;padding:0;margin:4px 0;display:grid;gap:10px}
.checks li{display:flex;gap:12px;align-items:flex-start;font-weight:500;color:var(--teal-900)}
.checks li::before,.h-tick::before{content:"";flex:none;width:24px;height:24px;border-radius:50%;background:var(--teal) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12.5l4 4 8-9' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/72% no-repeat}
.h-tick{display:flex;align-items:center;gap:12px}
.spark{display:inline-block;width:1em;height:1em;vertical-align:-.12em;margin-right:.35em;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 1.5c.8 5.6 4.9 9.7 10.5 10.5-5.6.8-9.7 4.9-10.5 10.5-.8-5.6-4.9-9.7-10.5-10.5C7.1 11.2 11.2 7.1 12 1.5z' fill='%23A9461E'/%3E%3C/svg%3E") center/contain no-repeat}
.callout{background:#fff;border-left:4px solid var(--orange);border-radius:12px;padding:14px 18px}
/* Pictos « Pourquoi nous » plus vivants */
.why .ico.fun{width:76px;height:76px;display:grid;place-items:center;background:#fff;border-radius:24px 30px 22px 28px;box-shadow:0 8px 22px rgba(28,74,78,.10);transition:transform .35s cubic-bezier(.3,1.6,.5,1)}
.why .ico.fun svg{width:48px;height:48px}
.why > div:hover .ico.fun{transform:rotate(-8deg) scale(1.08)}
/* Événements dans une colonne */
.ev-grid.ev-2{grid-template-columns:1fr 1fr;margin:6px 0 10px}
@media (max-width:600px){.ev-grid.ev-2{grid-template-columns:1fr}}
/* Bouquetin en filigrane dans le pied de page */
.site-footer{position:relative;overflow:hidden}
.f-goat{position:absolute;right:max(16px,calc(50% - 640px));top:36px;height:330px;width:auto;opacity:.16;filter:invert(1);clip-path:inset(0 0 24% 0);pointer-events:none}
.site-footer .wrap{position:relative;z-index:1}
@media (max-width:760px){.f-goat{height:210px;right:-20px;top:auto;bottom:70px;opacity:.12}}
/* Cartes d'événements : cadrage un peu plus bas */
.ev-grid img{object-position:50% 66%!important}
/* Coaching : dates en cartes */
.date-cards{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:8px}
.date-cards>div{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px 18px}
.date-cards h4{margin:0 0 8px!important;font-size:17px!important}
.date-cards ul{margin:0;padding-left:18px;font-weight:600;color:var(--teal-900)}
@media (max-width:600px){.date-cards{grid-template-columns:1fr}}
/* Camps : boutons sous les cartes */
.camp-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:30px}
.btn-wa{background:#25D366;color:#fff!important;display:inline-flex;align-items:center;gap:8px}
.btn-wa:hover{background:#1ebe5b}/* Coaching : étapes et encadré tarifs */
.steps{list-style:none;counter-reset:st;padding:0;margin:4px 0;display:grid;gap:12px}
.steps li{counter-increment:st;position:relative;padding-left:48px;min-height:34px}
.steps li::before{content:counter(st);position:absolute;left:0;top:0;width:34px;height:34px;border-radius:50%;background:var(--orange);color:#fff;font-family:var(--cond);font-weight:700;font-size:18px;display:grid;place-items:center}
.steps li b{display:block;color:var(--teal-900);font-family:var(--cond);font-size:19px;letter-spacing:.01em}
.price-box{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px 22px;margin-top:8px}
.price-box h3{margin:0 0 10px!important;font-size:21px}/* Menu déroulant (comme l'ancien site) */
.nav-dd{position:relative;display:flex;align-items:center}
.nav-dd .dd{position:absolute;top:100%;left:-18px;min-width:250px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 18px 40px rgba(28,74,78,.14);padding:8px 18px;display:none;flex-direction:column;z-index:60}
.nav-dd:hover .dd,.nav-dd:focus-within .dd{display:flex}
.nav-dd .dd a{padding:10px 0!important;border-bottom:1px solid var(--line)!important;font-weight:500}
.nav-dd .dd a:last-child{border-bottom:0!important}
.nav-dd .dd-top::after{content:" ▾";font-size:.75em;color:var(--teal)}
@media (min-width:1021px) and (max-width:1400px){#main-nav{gap:6px 16px;font-size:15px}}
@media (max-width:1020px){
  .nav-toggle{display:inline-flex;align-items:center;justify-content:center;padding:0 12px}
  #main-nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--line);flex-direction:column;padding:8px 24px 18px;max-height:80vh;overflow:auto}
  #main-nav.open{display:flex}
  #main-nav a{padding:12px 0;border-bottom:1px solid var(--line)}
  .nav-dd{display:block}
  .nav-dd .dd{position:static;display:flex;border:0;box-shadow:none;padding:0 0 0 16px;min-width:0;background:none}
  .nav-dd .dd-top::after{content:""}
}
/* Alex */
.alex2{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:64px;align-items:center}
.alex2-ph{position:relative}
.alex2-ph img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:22px}
.alex2-badge{position:absolute;right:-20px;bottom:30px;background:var(--orange);color:#fff;border-radius:18px;padding:14px 18px;font-family:var(--cond);font-weight:700;font-size:18px;line-height:1.1;box-shadow:0 14px 28px rgba(0,0,0,.16)}
.alex2-badge b{display:block;font-size:40px}
.alex2-role{font-weight:600;color:var(--teal)!important}
.btn-wa{background:#25D366;color:#fff!important}
@media (max-width:860px){.alex2{grid-template-columns:1fr;gap:32px}.alex2-badge{right:12px}}
/* De la salle à la paroi */
.prog2{background:var(--teal-900);color:#F5F2EC;position:relative;overflow:hidden}
.prog2 h2{color:#F5F2EC}
.prog2 .eyebrow{color:var(--peach)!important}
.prog2-lead{max-width:380px;color:#BFD6D3}
.prog2-svg{width:100%;height:auto;display:block;margin:28px 0 6px}
.prog2-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.prog2-steps a{text-decoration:none;color:#F5F2EC;border-top:1px solid #3F7B7C;padding-top:16px;display:grid;gap:6px;align-content:start}
.prog2-steps a.last{border-color:var(--orange)}
.prog2-steps .no{font-family:var(--cond);font-weight:700;font-size:34px;color:var(--peach);line-height:1}
.prog2-steps b{font-family:var(--cond);font-size:22px}
.prog2-steps span{font-size:15px;color:#BFD6D3;line-height:1.45}
.prog2-steps em{font-style:normal;color:var(--peach);font-weight:600;font-size:14px}
.prog2-steps a:hover b{color:var(--peach)}
@media (max-width:860px){.prog2-steps{grid-template-columns:1fr 1fr}}
/* Courbes de niveau plus présentes derrière les événements */
.events::before{opacity:.16!important}
/* « On se voit là-haut ? » dans le pied de page */
.f-hi{position:relative;z-index:1;padding-top:8px;padding-bottom:30px}
.f-hi p{margin:0;font-family:var(--cond);font-weight:700;font-size:clamp(38px,5vw,60px);line-height:1;color:#F5F2EC}
.f-hi em{font-style:italic;color:var(--peach)}/* Marque plus visible dans le héros */
.brandline{margin:0;font-family:var(--cond);font-weight:700;font-size:clamp(34px,4.4vw,56px);letter-spacing:.1em;line-height:1;color:var(--peach)}
.brandline span{display:block;font-size:15px;letter-spacing:.24em;font-weight:600;color:#F5F2EC;opacity:.85;margin-top:10px;text-transform:uppercase}
/* Plus d'air entre les cartes « De la salle au rocher » */
#escalade .cards4{gap:30px}
#escalade .head{margin-bottom:40px}
/* Format des photos respecté */

.icard .img img,.u-card .img img{width:100%;height:100%;object-fit:cover}
.split-img.land{aspect-ratio:4/3}
.gallery img.por{aspect-ratio:3/4}
.ev-grid img.por-ev{object-fit:contain!important;background:#1C4A4E}
/* Cours enfants : cartes texte */
.ocards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px}
.ocard{display:flex;flex-direction:column;gap:6px;background:var(--sand);border:1px solid var(--line);border-left:0;border-radius:18px;padding:22px 24px;text-decoration:none;color:var(--ink);position:relative;overflow:hidden;transition:transform .2s,box-shadow .2s}
.ocard::before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:var(--orange)}
.ocard:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(28,74,78,.12)}
.ocard b{font-family:var(--cond);font-size:24px;line-height:1.1;color:var(--teal-900)}
.ocard .who{font-weight:700;color:var(--orange)}
.ocard span{color:var(--ink-2);font-size:15.5px}
.ocard em{font-style:normal;font-weight:600;color:var(--teal);margin-top:8px}
/* Petits grimpeurs sur la ligne de progression */
.prog2-svg .stick{animation:none}
/* Cartes texte numérotées */
.icards.five{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}
.icards.five .icard .txt{padding:26px 24px}
.icard .nb{font-family:var(--cond);font-weight:700;font-size:15px;letter-spacing:.18em;text-transform:uppercase;color:var(--orange)}
/* Bandeau « site en construction » */
.build-bar{background:#FFD23F;color:#1B2422;overflow:hidden;white-space:nowrap;font-family:var(--cond);font-weight:700;font-size:17px;letter-spacing:.14em;text-transform:uppercase;padding:9px 0;border-bottom:2px solid #1B2422}
.build-track{display:inline-flex;align-items:center;gap:26px;animation:build 28s linear infinite;padding-left:26px}
.build-track i{width:14px;height:14px;background:repeating-linear-gradient(45deg,#1B2422 0 4px,#FFD23F 4px 8px);border-radius:3px;display:inline-block}
@keyframes build{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.build-track{animation:none}}
/* Bloc Sail & Climb */
.sail{background:#1C4A4E;color:#F5F2EC;position:relative;overflow:hidden}
.sail .topo-lines{opacity:.25}
.sail-in{position:relative;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:60px;align-items:center}
.sail-ph{position:relative}
.sail-ph img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:24px}
.sail-tag{position:absolute;left:18px;top:18px;background:#FFD23F;color:#1B2422;font-family:var(--cond);font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:8px 14px;border-radius:999px;font-size:14px}
.sail h2{color:#F5F2EC;font-size:clamp(44px,5.4vw,72px)}
.sail .eyebrow{color:var(--peach)!important}
.sail-lead{font-size:19px;color:#DCEAE8!important;max-width:560px}
.sail-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:560px}
.sail-facts span{background:rgba(245,242,236,.08);border:1px solid rgba(245,242,236,.18);border-radius:16px;padding:14px 16px;font-size:14px;color:#BFD6D3}
.sail-facts b{display:block;font-family:var(--cond);font-size:22px;color:#F5F2EC;letter-spacing:.01em}
@media (max-width:860px){.sail-in{grid-template-columns:1fr;gap:28px}}

/* Listes à pictos plus lisibles */
.sparks{list-style:none;padding:0;margin:6px 0;display:grid;gap:12px}
.sparks li{position:relative;padding-left:30px;color:#2F403D;font-size:17px;line-height:1.55}
.sparks li::before{content:"";position:absolute;left:0;top:.25em;width:18px;height:18px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 1.5c.8 5.6 4.9 9.7 10.5 10.5-5.6.8-9.7 4.9-10.5 10.5-.8-5.6-4.9-9.7-10.5-10.5C7.1 11.2 11.2 7.1 12 1.5z' fill='%23A9461E'/%3E%3C/svg%3E") center/contain no-repeat}
/* Textes plus lisibles */
.rich p{color:#2F403D;font-size:17px;line-height:1.65}
.rich h2+p{font-size:19px;color:#1B2422}
/* Photos qui apparaissent en douceur */
.split-img.reveal img{transform:scale(1.08);transition:transform 1.4s cubic-bezier(.2,.7,.2,1)}
.split-img.reveal.in img{transform:none}
.gallery img{transition:transform .5s}
.gallery img:hover{transform:scale(1.03)}
@media (prefers-reduced-motion:reduce){.split-img.reveal img{transform:none;transition:none}}
/* — Retours mobile 7 nov — */
.f-hi{text-align:center;padding-top:40px;padding-bottom:36px}
.f-hi p{font-size:clamp(20px,2.4vw,30px);letter-spacing:.16em;text-transform:uppercase;color:#C9D2D0;font-weight:600}
.f-hi em{display:block;margin:12px auto 0;font-size:clamp(64px,13vw,176px);line-height:.86;letter-spacing:0;text-transform:none;font-style:italic;color:var(--peach);transform:rotate(-4deg);text-shadow:0 5px 0 rgba(0,0,0,.18)}
.f-hi em::after{content:"";display:block;width:min(520px,82%);height:24px;margin:18px auto 0;transform:rotate(4deg);background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 24'%3E%3Cpath d='M4 14 C 44 2, 74 24, 114 12 S 186 2, 226 13 S 274 22, 292 9' fill='none' stroke='%23E9B48F' stroke-width='3' stroke-dasharray='9 7' stroke-linecap='round'/%3E%3Ccircle cx='293' cy='9' r='4.5' fill='%23E9B48F'/%3E%3C/svg%3E") center/100% 100% no-repeat}
@media (max-width:640px){
  .f-hi{padding-top:30px;padding-bottom:22px}
  .f-actions{flex-direction:column;align-items:stretch}
  .f-actions .btn{width:100%;max-width:100%;justify-content:center;text-align:center;font-size:16px;padding-left:12px;padding-right:12px;overflow-wrap:anywhere}
}
.ev-grid img.fixpos{object-position:var(--pos,50% 50%)!important}
.ev-grid img.fixpos.por-ev{object-fit:cover!important;background:none}
@media (max-width:640px){
  .p-hero.hero-full .p-hero-img{position:relative;inset:auto;display:block;height:auto;aspect-ratio:16/10;object-position:71% 50%!important;animation:none}
  .p-hero.hero-full::after{display:none}
  .p-hero.hero-full .p-hero-inner{padding-top:28px}
}

/* Réservation en ligne */
.book-panel{max-width:780px;margin:8px auto 40px;padding:24px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 12px 34px rgba(28,74,78,.08);display:flex;flex-direction:column;gap:14px}
.book-panel h3{margin:0;font-family:var(--cond);font-size:28px;color:var(--teal-900)}
.bk-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;padding:14px 0;border-top:1px dashed var(--line)}
.bk-name{flex:1 1 220px;display:flex;flex-direction:column;gap:2px}
.bk-name span{color:#A9461E;font-weight:700}
.bk-name small{color:var(--ink-2)}
.bk-q{display:flex;align-items:center;gap:8px;font-size:15px;color:var(--ink-2)}
.book-panel select{font:inherit;padding:8px 12px;border:1px solid var(--line);border-radius:10px;background:#fff}
.bk-err{margin:0;color:#A9461E;font-weight:600;min-height:1em}
.book-panel .btn{align-self:flex-start}
.bk-note{color:var(--ink-2)}
@media (max-width:640px){.book-panel{padding:18px}.book-panel .btn{align-self:stretch;justify-content:center}}

.rs-form{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px}
.rs-field{display:flex;flex-direction:column;gap:6px}
.rs-field.wide,.rs-form .bk-err,.rs-form .btn,.rs-checks{grid-column:1/-1}
.rs-field label,.rs-checks legend{font-weight:600;font-size:15px}
.rs-form input,.rs-form textarea,.rs-form select{font:inherit;padding:11px 14px;border:1px solid var(--line);border-radius:12px;background:#fff;width:100%;box-sizing:border-box}
.rs-form input:focus,.rs-form textarea:focus,.rs-form select:focus{outline:2px solid var(--teal);outline-offset:1px}
.rs-checks{border:0;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px 18px}
@media (max-width:640px){.rs-form{grid-template-columns:1fr}}

/* — Retours 7 nov (2) — */
/* Menu complet sur une ligne jusqu'aux écrans moyens */
@media (min-width:1021px) and (max-width:1200px){
  #main-nav{gap:4px 11px;font-size:14px}
  .header-cta{padding:8px 14px;font-size:14px;min-height:40px}
  .brand img{height:42px}
}
/* Infos pratiques des cours enfants */
.cf-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:4px 0}
.cf{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px 16px;display:flex;flex-direction:column;gap:4px}
.cf .k{font-size:12.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#A9461E}
.cf b{font-weight:600;color:var(--ink);line-height:1.35}
.cf.wide{grid-column:1/-1}
.cf-dates{background:#E3EEEC;border-radius:16px;padding:16px 18px;display:flex;flex-direction:column;gap:10px;margin-top:4px}
.cf-dates h4{margin:0;font-family:var(--cond);font-size:22px;color:var(--teal-900)}
.cf-dates p{margin:0;color:var(--ink-2);font-size:15px}
.cf-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.cf-row b{min-width:86px;font-family:var(--cond);font-size:18px;color:var(--teal-900)}
.cf-row span{background:#fff;border-radius:999px;padding:3px 10px;font-size:14px;font-variant-numeric:tabular-nums}
.cf-price{background:var(--teal-900);color:#fff;border-radius:18px;padding:18px 20px;display:flex;flex-direction:column;gap:12px;margin-top:6px}
.cf-price h4{margin:0;font-family:var(--cond);font-size:22px;color:var(--peach)}
.cf-pl{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px}
.cf-pl b{font-family:var(--cond);font-size:34px;line-height:1;color:#fff}
.cf-pl span{color:#CFE0DE}
.cf-price ul{margin:0;padding:12px 0 0;list-style:none;display:flex;flex-direction:column;gap:6px;border-top:1px solid rgba(255,255,255,.18)}
.cf-price li{padding-left:24px;position:relative;color:#E8F0EF;margin:0}
.cf-price li::before{content:"✓";position:absolute;left:0;color:var(--peach);font-weight:700}
.cf-price li strong{color:#fff}
@media (max-width:640px){.cf-grid{grid-template-columns:1fr}}
/* Grandes voies : pourquoi */
.why3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.why3 article{background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px 22px;display:flex;flex-direction:column;gap:10px}
.why3 .ic{width:52px;height:52px;border-radius:14px;background:#E3EEEC;display:grid;place-items:center}
.why3 .ic svg{width:30px;height:30px}
.why3 h3{margin:0;font-family:var(--cond);font-size:26px;line-height:1.05;color:var(--teal-900)}
.why3 p{margin:0;color:var(--ink-2);line-height:1.55}
@media (max-width:860px){.why3{grid-template-columns:1fr}}