:root {
  --ink:#101411;
  --cream:#fffaf0;
  --cream-2:#fff3d2;
  --yellow:#ffd92f;
  --yellow-soft:#ffe86b;
  --red:#d7192d;
  --red-dark:#a70c1e;
  --green:#0d5a42;
  --green-deep:#064b37;
  --river:#8bdcf4;
  --river-deep:#1fa5c9;
  --leaf:#216b49;
  --shadow:0 16px 45px rgba(18,42,31,.14);
  --radius:28px;
  --max:1160px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--cream);color:var(--ink)}
body{margin:0;font-family:Comfortaa,"Trebuchet MS",system-ui,-apple-system,sans-serif;background:var(--cream);line-height:1.45;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,a{ -webkit-tap-highlight-color:transparent }
.container{width:min(var(--max),calc(100% - 36px));margin-inline:auto}
.script{font-family:"Comic Neue","Comic Sans MS",cursive;font-weight:700;letter-spacing:-.03em}
.eyebrow{font-size:.76rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.section-title{font:700 clamp(2rem,4vw,3.4rem)/.96 "Comic Neue","Comic Sans MS",cursive;margin:0;color:var(--ink);letter-spacing:-.04em}
.section-title .accent{color:var(--green)}
.marker{position:relative;display:inline-block}
.marker::after{content:"";position:absolute;left:7%;right:-2%;bottom:-.16em;height:.23em;background:var(--yellow);border-radius:99px;transform:rotate(-1deg);z-index:-1}

.topbar{background:var(--green-deep);color:#fff;font-size:.76rem;font-weight:700}
.topbar .container{min-height:34px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.topbar-group{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.topbar strong{color:var(--yellow)}
.topbar a:hover{text-decoration:underline}

.site-header{position:sticky;top:0;z-index:50;background:rgba(255,250,240,.96);backdrop-filter:blur(12px);border-bottom:1px solid rgba(16,20,17,.08)}
.navbar{height:78px;display:grid;grid-template-columns:160px 1fr auto;align-items:center;gap:24px}
.logo{width:128px;transform:translateY(4px);filter:drop-shadow(0 7px 12px rgba(0,0,0,.12))}
.navlinks{display:flex;justify-content:center;gap:28px;align-items:center;font-size:.93rem;font-weight:800}
.navlinks a{position:relative;padding:28px 0 23px}
.navlinks a::after{content:"";position:absolute;left:14%;right:14%;bottom:17px;height:4px;border-radius:99px;background:var(--yellow);transform:scaleX(0);transition:.2s transform}
.navlinks a:hover::after,.navlinks a[aria-current="page"]::after{transform:scaleX(1)}
.reserve-btn,.primary-btn,.secondary-btn,.mini-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:999px;font-weight:900;transition:.2s ease;cursor:pointer}
.reserve-btn{background:var(--red);color:#fff;padding:13px 23px;border:2px solid var(--ink);box-shadow:0 5px 0 var(--red-dark)}
.reserve-btn:hover,.primary-btn:hover{transform:translateY(-2px);filter:saturate(1.08)}
.menu-toggle{display:none;background:var(--yellow);border:2px solid var(--ink);width:46px;height:46px;border-radius:50%;font-size:1.25rem}

.hero{position:relative;min-height:565px;overflow:hidden;background:#ccecf2}
.hero-media{position:absolute;inset:0}
.hero-media img{width:100%;height:100%;object-fit:cover;object-position:center 48%}
.hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(17,59,42,.22) 0%,rgba(0,0,0,.02) 50%,rgba(5,50,36,.12) 100%)}
.hero .container{position:relative;z-index:2;min-height:565px;display:flex;align-items:center;padding:52px 0 92px}
.hero-copy{width:min(610px,60%);background:linear-gradient(135deg,#ffe66b,#ffd631 70%);padding:35px 38px 30px;border:3px solid rgba(16,20,17,.08);border-radius:42% 58% 38% 45% / 30% 34% 49% 50%;box-shadow:var(--shadow);position:relative}
.hero-copy::before,.hero-copy::after{content:"";position:absolute;background:var(--yellow);height:11px;width:80px;border-radius:99px;right:16px;top:-16px;transform:rotate(72deg);box-shadow:0 22px 0 var(--yellow),0 -22px 0 var(--yellow)}
.hero h1{margin:0 0 13px;font:700 clamp(3.2rem,6vw,5.25rem)/.86 "Comic Neue","Comic Sans MS",cursive;letter-spacing:-.06em}
.hero h1 span{display:block;color:var(--green);font-size:.78em;margin-top:.13em}
.hero p{font-size:1rem;font-weight:700;margin:0 0 21px;max-width:510px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.primary-btn{background:var(--red);color:#fff;padding:14px 22px;border:2px solid var(--ink);box-shadow:0 5px 0 var(--red-dark)}
.secondary-btn{background:#fff7da;padding:14px 22px;border:2px solid var(--ink);box-shadow:0 4px 0 #e1bc28}
.hero-note{position:absolute;right:2%;top:92px;color:white;font:700 clamp(1.45rem,2.4vw,2.25rem)/1.04 "Comic Neue",cursive;text-align:center;transform:rotate(-5deg);text-shadow:0 2px 10px rgba(0,0,0,.4);width:210px}
.hero-note::after{content:"♡";display:block;font-size:2rem;margin-top:4px}
.wave-bottom{position:absolute;z-index:4;left:-3%;right:-3%;bottom:-20px;height:90px;background:var(--cream);border-radius:50% 45% 0 0 / 48% 50% 0 0}
.wave-bottom::before,.wave-bottom::after{content:"";position:absolute;left:0;right:0;border-radius:50%;height:24px}
.wave-bottom::before{top:-12px;border-top:9px solid white;transform:rotate(.4deg)}
.wave-bottom::after{top:1px;border-top:8px solid var(--river-deep);transform:rotate(-.8deg)}

.highlights{position:relative;padding:20px 0 45px;background:var(--cream)}
.highlight-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:18px;text-align:center}
.highlight{padding:8px 4px}
.icon-bubble{width:78px;height:62px;border-radius:48% 52% 45% 55%;display:grid;place-items:center;margin:0 auto 10px;background:var(--yellow-soft);font-size:2rem;border:2px solid rgba(16,20,17,.06);transform:rotate(-2deg)}
.highlight:nth-child(even) .icon-bubble{transform:rotate(2deg)}
.highlight h3{font:700 1.25rem/1 "Comic Neue",cursive;margin:0 0 5px}
.highlight p{font-size:.78rem;margin:0;font-weight:700;opacity:.82}

.section{padding:58px 0;position:relative}
.section-cream{background:linear-gradient(#fffaf0,#fff5dc)}
.section-blue{background:linear-gradient(180deg,#dff6ff 0%,#bfeeff 55%,#e8f9ff 100%)}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:28px}
.section-head p{margin:0;max-width:500px;color:#415049;font-weight:700}
.link-pill{display:inline-flex;align-items:center;gap:8px;border:2px solid var(--ink);padding:10px 15px;border-radius:999px;font-weight:900;background:#fffdf6;font-size:.84rem}

.stay-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:15px}
.card{background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 9px 25px rgba(35,56,44,.12);border:1px solid rgba(16,20,17,.08);transition:transform .22s ease,box-shadow .22s ease;min-width:0}
.card:hover{transform:translateY(-5px) rotate(-.2deg);box-shadow:0 17px 35px rgba(35,56,44,.17)}
.card-media{aspect-ratio:1.45/1;overflow:hidden}
.card-media img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.card:hover .card-media img{transform:scale(1.04)}
.card-body{padding:14px 14px 15px;position:relative}
.card h3{font:700 1.1rem/1 "Comic Neue",cursive;margin:0 0 5px}
.card p{margin:0;font-size:.74rem;font-weight:700;color:#4b5851;padding-right:30px}
.card-arrow{position:absolute;right:12px;bottom:13px;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--yellow);border:1.5px solid var(--ink);font-weight:900}

.experience-wrap{display:grid;grid-template-columns:260px 1fr;gap:25px;align-items:center}
.experience-copy p{font-size:.86rem;font-weight:700}
.activity-row{display:grid;grid-template-columns:repeat(7,1fr);gap:10px;align-items:end}
.activity{text-align:center}
.activity-photo{aspect-ratio:1/1.06;border-radius:50% 50% 43% 57% / 45% 53% 47% 55%;overflow:hidden;border:4px solid #fff;box-shadow:0 7px 17px rgba(0,0,0,.11);background:#fff}
.activity-photo img{width:100%;height:100%;object-fit:cover}
.activity:nth-child(even) .activity-photo{transform:translateY(8px) rotate(2deg)}
.activity:nth-child(odd) .activity-photo{transform:rotate(-2deg)}
.activity span{display:inline-block;margin-top:8px;padding:5px 11px;background:var(--yellow);border-radius:999px;font:700 .86rem/1 "Comic Neue",cursive;transform:rotate(-2deg)}

.services{padding:46px 0 52px;background:#fff7dd;border-top:12px solid #ffe993;border-bottom:12px solid #ffe993}
.service-layout{display:grid;grid-template-columns:190px 1fr;gap:24px;align-items:start}
.service-title{color:var(--red);font:700 2.1rem/1 "Comic Neue",cursive;margin:0}.service-title span{display:block;color:var(--ink);font-size:.68em;margin-top:7px}
.service-grid{display:grid;grid-template-columns:repeat(10,1fr);gap:12px}
.service{text-align:center;font-size:.7rem;font-weight:800}
.service .service-icon{width:48px;height:48px;border-radius:50%;background:var(--yellow-soft);display:grid;place-items:center;margin:0 auto 8px;font-size:1.55rem;border:1px solid rgba(0,0,0,.06)}
.service strong{display:block;font:700 .92rem/1 "Comic Neue",cursive;margin-bottom:4px}

.curist{background:linear-gradient(180deg,#fff8e5,#fffdf5);padding:50px 0}
.curist-grid{display:grid;grid-template-columns:1.15fr 1.65fr 1fr;gap:18px;align-items:stretch}
.curist-photo{border-radius:0 28px 28px 0;overflow:hidden;min-height:235px}.curist-photo.right{border-radius:28px 0 0 28px}
.curist-photo img{width:100%;height:100%;object-fit:cover}
.curist-copy{padding:10px 18px;display:flex;flex-direction:column;justify-content:center}
.curist-copy h2{font:700 2.45rem/1 "Comic Neue",cursive;margin:0 0 10px}.curist-copy h2 span{color:var(--green)}
.curist-copy p{font-size:.84rem;font-weight:700;margin:0 0 14px}
.thermal-chip{display:flex;gap:14px;align-items:center;padding:13px 16px;border-radius:22px;background:#bcefff;font-weight:900;width:max-content;max-width:100%}
.mini-btn{background:var(--yellow);padding:9px 15px;border:1.5px solid var(--ink);align-self:flex-start;font-size:.78rem}

.destinations{padding:48px 0 58px;background:var(--cream)}
.dest-grid{display:grid;grid-template-columns:240px repeat(5,1fr);gap:12px;align-items:stretch}
.dest-intro{display:flex;flex-direction:column;justify-content:center}.dest-intro h2{font:700 2.05rem/.95 "Comic Neue",cursive;margin:0 0 9px}.dest-intro h2 span{color:var(--green)}.dest-intro p{font-size:.74rem;font-weight:700;margin:0 0 12px}
.destination{background:#fff;border-radius:16px;overflow:hidden;border:1px solid rgba(0,0,0,.08);box-shadow:0 7px 20px rgba(35,56,44,.09)}
.destination img{width:100%;height:104px;object-fit:cover}.destination strong{font:700 .9rem/1 "Comic Neue",cursive;display:block;padding:8px 9px 10px}

.site-footer{background:var(--green-deep);color:#fff;padding:28px 0 25px;position:relative;overflow:hidden}
.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1.2fr;gap:30px;align-items:center;position:relative;z-index:2}
.footer-brand{display:flex;align-items:center;gap:18px}.footer-brand img{width:86px}.footer-brand strong{font:700 1.4rem/1.05 "Comic Neue",cursive}.footer-info{font-size:.77rem;font-weight:700}.footer-info a{display:block;margin-top:4px}.footer-river{position:absolute;right:-40px;bottom:-35px;width:300px;height:120px;border:5px solid #fff;border-color:#fff transparent transparent transparent;border-radius:50%;transform:rotate(-8deg);opacity:.75}.footer-river::before,.footer-river::after{content:"";position:absolute;width:230px;height:80px;border:4px solid #78d7ef;border-color:#78d7ef transparent transparent transparent;border-radius:50%;left:35px;top:16px}.footer-river::after{top:39px;left:60px;width:180px}

.reveal{opacity:1;transform:none}.reveal.is-visible{opacity:1;transform:none}

@media (max-width:1050px){
 .navbar{grid-template-columns:130px 1fr auto}.navlinks{gap:17px;font-size:.84rem}.logo{width:112px}.hero-copy{width:min(650px,67%)}
 .stay-grid{grid-template-columns:repeat(3,1fr)}.activity-row{grid-template-columns:repeat(4,1fr)}.service-grid{grid-template-columns:repeat(5,1fr)}
 .dest-grid{grid-template-columns:repeat(3,1fr)}.dest-intro{grid-column:1/-1}.curist-grid{grid-template-columns:1fr 1.6fr}.curist-photo.right{display:none}
}
@media (max-width:780px){
 .topbar .container{justify-content:center}.topbar-group:last-child{display:none}
 .site-header{position:sticky}.navbar{height:70px;grid-template-columns:1fr auto auto}.logo{width:92px}.navlinks{position:fixed;left:18px;right:18px;top:108px;background:#fffaf0;border:2px solid var(--ink);box-shadow:var(--shadow);border-radius:24px;padding:16px;display:none;flex-direction:column;gap:0}.navlinks.open{display:flex}.navlinks a{padding:12px 8px;width:100%;text-align:center}.navlinks a::after{bottom:5px}.menu-toggle{display:grid;place-items:center}.reserve-btn{padding:10px 14px;font-size:.82rem}
 .hero{min-height:665px}.hero .container{min-height:665px;align-items:flex-end;padding-bottom:110px}.hero-media img{object-position:64% center}.hero-copy{width:100%;padding:28px 24px 26px;border-radius:36px}.hero h1{font-size:3.35rem}.hero-note{top:95px;right:12px;width:150px;font-size:1.35rem}
 .highlight-grid{grid-template-columns:repeat(3,1fr);gap:12px}.section{padding:46px 0}.section-head{align-items:flex-start;flex-direction:column}.stay-grid{grid-template-columns:repeat(2,1fr)}
 .experience-wrap{grid-template-columns:1fr}.activity-row{grid-template-columns:repeat(3,1fr)}
 .service-layout{grid-template-columns:1fr}.service-grid{grid-template-columns:repeat(3,1fr)}.service-title{text-align:center}
 .curist-grid{grid-template-columns:1fr}.curist-photo{border-radius:24px;min-height:220px}.curist-copy{padding:12px 0}.dest-grid{grid-template-columns:repeat(2,1fr)}
 .footer-grid{grid-template-columns:1fr;gap:20px}.footer-river{opacity:.35}
}
@media (max-width:520px){
 .container{width:min(100% - 24px,var(--max))}.reserve-btn span{display:none}.hero h1{font-size:2.9rem}.hero-copy{padding:24px 20px}.hero p{font-size:.9rem}.hero-note{display:none}.highlight-grid{grid-template-columns:repeat(2,1fr)}
 .stay-grid{grid-template-columns:1fr}.activity-row{grid-template-columns:repeat(2,1fr)}.service-grid{grid-template-columns:repeat(2,1fr)}.dest-grid{grid-template-columns:1fr}.destination img{height:150px}.thermal-chip{font-size:.82rem}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.card,.card-media img,.reserve-btn,.primary-btn{transition:none}}

/* === V2 · Hébergements & emplacements === */
.lodging-page{background:#fffaf0}
.lodging-hero{position:relative;min-height:420px;overflow:hidden;background:#ccecf2}
.lodging-hero-media{position:absolute;inset:0}.lodging-hero-media img{width:100%;height:100%;object-fit:cover;object-position:center 47%}
.lodging-hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,67,48,.22),rgba(0,0,0,.02) 48%,rgba(5,50,36,.2))}
.lodging-hero-inner{position:relative;z-index:2;min-height:420px;display:flex;align-items:center;padding:38px 0 76px}
.lodging-hero-copy{width:min(620px,61%);padding:28px 34px 30px;background:linear-gradient(135deg,#ffe86d,#ffd72c);border-radius:40% 58% 42% 50% / 33% 42% 48% 57%;box-shadow:var(--shadow);position:relative}
.lodging-hero-copy::before{content:"";position:absolute;right:5px;top:-15px;width:76px;height:9px;background:var(--yellow);border-radius:99px;transform:rotate(68deg);box-shadow:0 21px 0 var(--yellow),0 -21px 0 var(--yellow)}
.lodging-hero-copy h1{font:700 clamp(3rem,5.5vw,5rem)/.86 "Comic Neue","Comic Sans MS",cursive;letter-spacing:-.055em;margin:0 0 13px}.lodging-hero-copy h1 span{display:block;color:var(--green);font-size:.82em;margin-top:.1em}
.lodging-hero-copy p{max-width:535px;margin:0 0 8px;font-weight:800;font-size:.96rem}.lodging-hero-copy .lodging-hero-note{font-size:.8rem;color:#29443a;margin:8px 0 0}
.lodging-floating-note{position:absolute;right:0;top:54px;color:#fff;font:700 1.7rem/1.05 "Comic Neue",cursive;text-align:center;transform:rotate(-4deg);text-shadow:0 3px 14px rgba(0,0,0,.55)}
.lodging-wave{position:absolute;z-index:4;left:-3%;right:-3%;bottom:-26px;height:78px;background:#fffaf0;border-radius:48% 52% 0 0 / 58% 46% 0 0}.lodging-wave::before,.lodging-wave::after{content:"";position:absolute;left:0;right:0;border-radius:50%;height:24px}.lodging-wave::before{top:-10px;border-top:8px solid #fff;transform:rotate(.5deg)}.lodging-wave::after{top:3px;border-top:8px solid var(--river-deep);transform:rotate(-.7deg)}

.filter-zone{background:#fffaf0;padding:28px 0 26px;border-bottom:10px solid #ffe99a}.filter-layout{display:grid;grid-template-columns:215px 1fr;align-items:center;gap:24px}.filter-kicker{font:700 1.7rem/1 "Comic Neue",cursive}.filter-layout h2{font:700 2rem/.9 "Comic Neue",cursive;margin:3px 0 0;position:relative;display:inline-block}.filter-layout h2::after{content:"";position:absolute;left:8%;right:-4%;height:7px;bottom:-10px;background:var(--yellow);border-radius:99px;transform:rotate(-2deg)}
.filter-chips{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.filter-chip{appearance:none;border:2px solid rgba(16,20,17,.22);background:#fffdf8;color:var(--ink);padding:10px 15px;border-radius:999px;font:800 .78rem/1 Comfortaa,"Trebuchet MS",sans-serif;cursor:pointer;box-shadow:0 3px 0 rgba(16,20,17,.08);transition:.18s ease}.filter-chip:hover{transform:translateY(-2px);border-color:var(--ink)}.filter-chip.is-active{background:var(--red);color:#fff;border-color:var(--red-dark);box-shadow:0 4px 0 var(--red-dark)}

.lodging-catalog{padding:45px 0 48px}.catalog-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:24px}.catalog-head p{margin:0;font-size:.78rem;font-weight:800;text-align:right}.catalog-head p strong{color:var(--green);font-size:1.25rem}.lodging-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.lodging-card{background:#fff;border:1px solid rgba(16,20,17,.08);border-radius:16px;overflow:hidden;box-shadow:0 8px 24px rgba(34,59,45,.12);display:flex;flex-direction:column;min-width:0;transition:transform .2s ease,box-shadow .2s ease}.lodging-card:hover{transform:translateY(-4px);box-shadow:0 15px 32px rgba(34,59,45,.17)}.lodging-card[hidden]{display:none}.lodging-card-media{aspect-ratio:1.58/1;overflow:hidden;background:#e7eee8}.lodging-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.lodging-card:hover .lodging-card-media img{transform:scale(1.045)}.lodging-card-body{padding:12px 11px 10px;display:flex;flex-direction:column;flex:1}.lodging-card h3{font:700 1rem/1.02 "Comic Neue",cursive;margin:0 0 7px}.lodging-card h3 span{display:block;margin-top:2px}.capacity{font-size:.68rem;font-weight:900;margin:0 0 5px}.lodging-desc{font-size:.67rem;font-weight:700;color:#546159;line-height:1.25;margin:0 0 11px;min-height:34px}.lodging-detail{margin-top:auto;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(90deg,var(--yellow),#ffe865);border-radius:999px;padding:8px 9px 8px 12px;font-size:.72rem;font-weight:900}.lodging-detail span{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#fff4a8;border:1px solid rgba(0,0,0,.1)}.filter-empty{text-align:center;font-weight:800;padding:30px;background:#fff;border-radius:20px}

.stay-picker{padding:34px 0;background:#fff9e7;border-top:10px solid #ffeca7;border-bottom:10px solid #ffeca7}.stay-picker-layout{display:grid;grid-template-columns:220px 1fr;gap:26px;align-items:center}.stay-picker-title{background:var(--yellow);padding:17px 19px;border-radius:42% 58% 50% 40% / 48% 44% 56% 52%;transform:rotate(-2deg);text-align:center}.stay-picker-title small,.stay-picker-title strong{display:block;font:700 1.65rem/.93 "Comic Neue",cursive}.stay-picker-title strong{font-size:1.3rem;margin-top:4px}.stay-type-grid{display:grid;grid-template-columns:repeat(5,1fr)}.stay-type-grid article{text-align:center;padding:5px 15px;border-left:1px solid rgba(16,20,17,.14)}.stay-type-grid article:first-child{border-left:0}.stay-type-grid article>div{font-size:2.2rem}.stay-type-grid h3{font:700 1.25rem/1 "Comic Neue",cursive;margin:6px 0}.stay-type-grid p{font-size:.68rem;font-weight:700;line-height:1.3;margin:0;color:#536057}

.camp-map-section{padding:42px 0 46px;background:linear-gradient(180deg,#e8f9ff,#cceffd)}.camp-map-layout{display:grid;grid-template-columns:310px 1fr;gap:26px;align-items:center}.camp-map-copy h2{font:700 2.45rem/.95 "Comic Neue",cursive;margin:0 0 10px}.camp-map-copy p{font-size:.82rem;font-weight:700;margin:0 0 16px}.map-icon{font-size:2.2rem;display:inline-block;margin-bottom:7px}.camp-map-frame{position:relative;border:5px solid #fff;border-radius:30px;overflow:hidden;box-shadow:0 14px 32px rgba(31,89,68,.16);background:#fff}.camp-map-frame img{width:100%;height:270px;object-fit:cover}.map-zoom{position:absolute;right:13px;bottom:13px;background:#fffaf0;border:1.5px solid var(--ink);padding:7px 12px;border-radius:999px;font-size:.7rem;font-weight:900;box-shadow:0 4px 10px rgba(0,0,0,.12)}

.lodging-cta{position:relative;overflow:hidden;min-height:250px}.lodging-cta-media{position:absolute;inset:0}.lodging-cta-media img{width:100%;height:100%;object-fit:cover}.lodging-cta-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,75,55,.38),rgba(255,250,240,.72) 42%,rgba(255,250,240,.92) 100%)}.lodging-cta-inner{position:relative;z-index:2;display:grid;grid-template-columns:330px 1fr;gap:34px;align-items:center;min-height:250px;padding:28px 0}.lodging-cta-bubble{background:var(--yellow);padding:23px 25px;border-radius:45% 55% 48% 52% / 46% 42% 58% 54%;transform:rotate(-2deg);box-shadow:var(--shadow)}.lodging-cta-bubble strong{font:700 2rem/.95 "Comic Neue",cursive;display:block}.lodging-cta-bubble span{display:block;font-size:.78rem;font-weight:800;margin-top:10px}.lodging-cta-actions{justify-self:end;max-width:620px}.lodging-cta-actions p{font-weight:800;margin:0 0 14px}.lodging-cta-actions>div{display:flex;gap:12px;flex-wrap:wrap}

@media (max-width:1100px){.lodging-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.filter-layout{grid-template-columns:1fr}.filter-chips{justify-content:flex-start}.stay-picker-layout{grid-template-columns:1fr}.stay-picker-title{width:260px}.camp-map-layout{grid-template-columns:260px 1fr}}
@media (max-width:780px){.lodging-hero{min-height:620px}.lodging-hero-inner{min-height:620px;align-items:flex-end;padding-bottom:90px}.lodging-hero-copy{width:100%;border-radius:34px;padding:27px 24px}.lodging-hero-copy h1{font-size:3.25rem}.lodging-floating-note{top:70px;right:12px;font-size:1.35rem}.filter-zone{padding-top:22px}.lodging-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-head{align-items:flex-start;flex-direction:column}.catalog-head p{text-align:left}.stay-type-grid{grid-template-columns:repeat(2,1fr);gap:14px}.stay-type-grid article{border:0;background:#fff;border-radius:18px;padding:15px}.camp-map-layout{grid-template-columns:1fr}.camp-map-frame img{height:250px}.lodging-cta-inner{grid-template-columns:1fr}.lodging-cta-actions{justify-self:start}.lodging-cta-media::after{background:rgba(255,250,240,.76)}}
@media (max-width:520px){.lodging-hero-copy h1{font-size:2.7rem}.lodging-floating-note{display:none}.filter-chips{gap:8px}.filter-chip{padding:9px 11px;font-size:.7rem}.lodging-grid{grid-template-columns:1fr}.lodging-card-media{aspect-ratio:1.7/1}.stay-type-grid{grid-template-columns:1fr}.stay-picker-title{width:100%}.camp-map-frame img{height:185px}.lodging-cta-bubble strong{font-size:1.65rem}.lodging-cta-actions>div{flex-direction:column;align-items:stretch}.lodging-cta-actions .primary-btn,.lodging-cta-actions .secondary-btn{width:100%}}

/* === V3–V6 · Pages internes finales === */
.inner-page{background:#fffaf0;color:var(--ink)}
.inner-page .site-header{position:relative;z-index:30}
.page-hero{position:relative;min-height:390px;overflow:hidden;background:#d7eef1}
.page-hero-media{position:absolute;inset:0}.page-hero-media img{width:100%;height:100%;object-fit:cover;filter:saturate(1.03)}
.page-hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,52,38,.36),rgba(3,52,38,.08) 50%,rgba(3,52,38,.25))}
.page-hero-inner{position:relative;z-index:2;min-height:390px;display:flex;align-items:center;padding:38px 0 76px}
.page-hero-copy{width:min(650px,64%);padding:28px 34px 30px;background:linear-gradient(135deg,#ffe96c,#ffd734);border-radius:42% 58% 46% 54% / 36% 46% 54% 64%;box-shadow:var(--shadow)}
.page-hero-copy h1{font:700 clamp(3rem,5.7vw,5.15rem)/.86 "Comic Neue","Comic Sans MS",cursive;letter-spacing:-.055em;margin:0 0 14px}.page-hero-copy h1 span{display:block;color:var(--green);font-size:.77em;margin-top:.1em}
.page-hero-copy p{max-width:555px;margin:0;font-weight:800;font-size:.95rem}.page-hero-copy .hero-small{font-size:.78rem;margin-top:9px;color:#29443a}
.page-hero-note{position:absolute;right:0;top:64px;color:#fff;font:700 1.65rem/1.05 "Comic Neue",cursive;text-align:center;transform:rotate(-4deg);text-shadow:0 3px 14px rgba(0,0,0,.55)}
.page-wave{position:absolute;z-index:4;left:-3%;right:-3%;bottom:-27px;height:78px;background:#fffaf0;border-radius:48% 52% 0 0 / 58% 46% 0 0}.page-wave::before,.page-wave::after{content:"";position:absolute;left:0;right:0;border-radius:50%;height:24px}.page-wave::before{top:-11px;border-top:8px solid #fff;transform:rotate(.5deg)}.page-wave::after{top:2px;border-top:8px solid var(--river-deep);transform:rotate(-.7deg)}
.page-section{padding:48px 0}.page-section.alt{background:#eaf8fb}.page-section.warm{background:#fff6d8}.page-section.greenwash{background:#ecf7de}.page-section-title{font:700 clamp(2.3rem,4vw,3.65rem)/.92 "Comic Neue",cursive;margin:0 0 9px;letter-spacing:-.04em}.page-section-title .green{color:var(--green)}.page-section-title .red{color:var(--red)}.page-section-sub{font-weight:800;color:#48584e;margin:0 0 24px;max-width:760px}.scribble-line{display:inline-block;position:relative}.scribble-line::after{content:"";position:absolute;left:4%;right:-3%;bottom:-8px;height:7px;background:var(--yellow);border-radius:999px;transform:rotate(-1.5deg)}
.icon-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:14px}.icon-card{background:#fffdf6;border-radius:23px;padding:18px 14px;text-align:center;border:1px solid rgba(16,20,17,.08);box-shadow:0 8px 22px rgba(35,74,55,.08)}.icon-card .emoji{width:64px;height:64px;border-radius:43% 57% 48% 52%;background:#ffe56e;display:grid;place-items:center;margin:0 auto 9px;font-size:2rem}.icon-card h3{font:700 1.08rem/1 "Comic Neue",cursive;margin:0 0 5px}.icon-card p{font-size:.68rem;line-height:1.28;margin:0;color:#56635b;font-weight:700}
.photo-card-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:12px}.photo-card{background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 8px 24px rgba(34,59,45,.12);border:1px solid rgba(16,20,17,.08);min-width:0;display:flex;flex-direction:column}.photo-card img{width:100%;aspect-ratio:1.1/1;object-fit:cover}.photo-card-body{padding:11px 11px 13px}.photo-card h3{font:700 1rem/1 "Comic Neue",cursive;margin:0 0 5px}.photo-card p{font-size:.66rem;font-weight:700;line-height:1.3;color:#59645d;margin:0}.photo-card .small-link{display:inline-flex;margin-top:9px;background:var(--yellow);width:28px;height:28px;border-radius:50%;align-items:center;justify-content:center;font-weight:900}
.split-band{display:grid;grid-template-columns:360px 1fr;gap:34px;align-items:center}.split-photo{border-radius:30px;overflow:hidden;box-shadow:var(--shadow)}.split-photo img{width:100%;height:250px;object-fit:cover}.split-copy{min-width:0}.split-copy p{font-weight:700;color:#45554c}.signature{font:700 2.25rem/1 "Comic Neue",cursive;margin:5px 0}.signature span{color:var(--green)}
.page-cta{padding:34px 0;background:linear-gradient(90deg,#ffe16b,#ffed9b)}.page-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:22px}.page-cta-copy strong{font:700 2rem/.96 "Comic Neue",cursive;display:block}.page-cta-copy span{font-size:.76rem;font-weight:800}.page-cta-actions{display:flex;flex-wrap:wrap;gap:11px}

/* Services */
.service-all-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:13px}.service-all-grid .icon-card:nth-child(n+8){background:#f6fbef}.season-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:22px}.season-heading .page-section-sub{margin:0}.host-band{background:#dff5fb;padding:26px 0}.host-layout{display:grid;grid-template-columns:330px 1fr 360px;gap:30px;align-items:center}.host-photo{border-radius:30px;overflow:hidden;box-shadow:var(--shadow)}.host-photo img{width:100%;height:180px;object-fit:cover}.host-note{background:#ffe66d;border-radius:30px;padding:20px;font-weight:800}.host-note a{margin-top:12px}

/* Ardèche */
.guide-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.adventure-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.wellness-explore{display:grid;grid-template-columns:1fr 1.45fr;gap:24px;align-items:stretch}.wellness-card{display:grid;grid-template-columns:1.15fr 1fr;background:#fff;border-radius:30px;overflow:hidden;box-shadow:0 10px 28px rgba(35,74,55,.12)}.wellness-card img{width:100%;height:100%;min-height:260px;object-fit:cover}.wellness-card div{padding:24px}.explore-map{background:#f4f8d6;border-radius:30px;padding:16px;box-shadow:0 10px 28px rgba(35,74,55,.11)}.explore-map img{width:100%;height:100%;min-height:260px;object-fit:cover;border-radius:20px}.must-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.must-card{background:#fff;border-radius:17px;overflow:hidden;box-shadow:0 8px 20px rgba(34,59,45,.1)}.must-card img{width:100%;height:115px;object-fit:cover}.must-card div{padding:10px}.must-card strong{font:700 .95rem/1 "Comic Neue",cursive}.must-card span{display:block;font-size:.63rem;font-weight:700;color:#5b665f;margin-top:3px}

/* Curistes */
.thermal-locations{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:center}.thermal-location-card{display:grid;grid-template-columns:150px 1fr;background:#e7f8ff;border-radius:26px;overflow:hidden;align-items:center}.thermal-location-card img{width:100%;height:150px;object-fit:cover}.thermal-location-card div{padding:18px}.thermal-location-card h3{font:700 1.35rem/1 "Comic Neue",cursive;margin:0 0 6px}.care-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}.care-card{text-align:center;padding:12px}.care-card .emoji{width:72px;height:72px;margin:0 auto 9px;background:#ffe56e;border-radius:50%;display:grid;place-items:center;font-size:2rem}.care-card h3{font:700 1.15rem/1 "Comic Neue",cursive;margin:0 0 5px}.care-card p{font-size:.68rem;font-weight:700;color:#59645d}.why-thermal{display:grid;grid-template-columns:360px 1fr;gap:28px;align-items:center}.why-photo{border-radius:28px;overflow:hidden;position:relative}.why-photo img{width:100%;height:280px;object-fit:cover}.why-points{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.why-point{text-align:center;background:#fff;border-radius:20px;padding:16px}.why-point div{font-size:2rem}.why-point h3{font:700 1rem/1 "Comic Neue",cursive;margin:6px 0}.why-point p{font-size:.64rem;font-weight:700;color:#58655d}.thermal-rate{background:#dff5ff;padding:28px 0}.thermal-rate-inner{display:grid;grid-template-columns:220px 1fr 260px;gap:24px;align-items:center}.rate-badge{font:700 1.65rem/.95 "Comic Neue",cursive}.rate-badge::before{content:"%";display:inline-grid;place-items:center;width:56px;height:56px;border-radius:50%;background:var(--yellow);margin-right:10px}.download-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.download-card{background:#fff;border:1px solid rgba(0,0,0,.12);border-radius:20px;padding:17px;display:flex;align-items:center;gap:13px}.download-card .doc-icon{font-size:2rem}.download-card strong{display:block}.download-card span{font-size:.7rem}.contact-assist{background:#e7f8ff;border-radius:26px;padding:20px;display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.contact-assist div{text-align:center;font-size:.75rem;font-weight:800}.contact-assist b{display:block;font-size:1.5rem;margin-bottom:5px}

/* Contact */
.contact-top{display:grid;grid-template-columns:.95fr 1.05fr;gap:34px}.contact-details{display:grid;grid-template-columns:1fr 220px;gap:20px;align-items:start}.contact-list{display:grid;gap:14px}.contact-item{display:grid;grid-template-columns:52px 1fr;gap:12px;align-items:center}.contact-item .cicon{width:52px;height:52px;border-radius:50%;background:#ffe66d;display:grid;place-items:center;font-size:1.5rem}.contact-item strong{display:block;font-size:1.05rem}.contact-item a,.contact-item span{font-weight:700;color:var(--ink)}.polaroid{background:#fff;padding:10px 10px 36px;transform:rotate(-2deg);box-shadow:0 10px 25px rgba(0,0,0,.13)}.polaroid img{width:100%;height:200px;object-fit:cover}.polaroid p{font:700 1.05rem/1 "Comic Neue",cursive;text-align:center;margin:9px 0 0}.contact-form{background:#fff6de;border-radius:30px;padding:24px}.contact-form h2{font:700 2.15rem/.95 "Comic Neue",cursive;margin:0 0 18px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.form-grid .full{grid-column:1/-1}.contact-form label{display:block;font-size:.7rem;font-weight:900;margin:0 0 5px}.contact-form input,.contact-form textarea{width:100%;border:1.5px solid rgba(16,20,17,.2);border-radius:12px;padding:12px 13px;background:#fff;font:700 .82rem Comfortaa,"Trebuchet MS",sans-serif;color:var(--ink)}.contact-form textarea{min-height:125px;resize:vertical}.form-help{font-size:.65rem;color:#667168;font-weight:700;margin:9px 0 0}.form-status{font-size:.7rem;font-weight:900;color:var(--green);margin-top:8px;min-height:18px}.location-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:22px;align-items:stretch}.map-panel,.river-panel{border-radius:28px;overflow:hidden;box-shadow:0 10px 28px rgba(35,74,55,.12);position:relative;background:#fff}.map-panel img,.river-panel img{width:100%;height:310px;object-fit:cover}.gps-chip{position:absolute;right:15px;bottom:15px;background:#fff3b5;border-radius:22px;padding:13px 16px;font-size:.72rem;font-weight:900;box-shadow:0 8px 20px rgba(0,0,0,.12)}.route-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.route-card{background:#fff;border-radius:24px;overflow:hidden;box-shadow:0 8px 22px rgba(35,74,55,.09)}.route-card img{width:100%;height:135px;object-fit:cover}.route-card div{padding:16px}.route-card h3{font:700 1.35rem/1 "Comic Neue",cursive;margin:0 0 8px}.route-card p{font-size:.72rem;font-weight:700;color:#4f5d54;margin:0;line-height:1.45}
.legal-row{display:flex;gap:16px;flex-wrap:wrap;margin-top:18px}.legal-row a{font-size:.68rem;font-weight:800;text-decoration:underline}

/* Utility/footer final */
.site-footer .footer-info small{font-size:.64rem;color:#e8f6ef}.footer-legal{margin-top:10px;display:flex;gap:12px;flex-wrap:wrap}.footer-legal a{font-size:.62rem;color:#d9efe5;text-decoration:underline}
.skip-link{position:absolute;left:-9999px;top:8px;background:#fff;color:#111;padding:8px 12px;z-index:1000}.skip-link:focus{left:8px}

@media (max-width:1120px){.icon-grid,.service-all-grid{grid-template-columns:repeat(4,1fr)}.photo-card-grid{grid-template-columns:repeat(4,1fr)}.guide-grid,.adventure-grid,.must-grid{grid-template-columns:repeat(3,1fr)}.host-layout{grid-template-columns:260px 1fr}.host-note{grid-column:1/-1}.why-points{grid-template-columns:repeat(3,1fr)}.thermal-rate-inner{grid-template-columns:190px 1fr}.thermal-rate-inner>img{display:none}}
@media (max-width:820px){.page-hero{min-height:590px}.page-hero-inner{min-height:590px;align-items:flex-end;padding-bottom:90px}.page-hero-copy{width:100%;border-radius:34px;padding:26px 24px}.page-hero-copy h1{font-size:3.35rem}.page-hero-note{top:60px;right:12px;font-size:1.35rem}.split-band,.why-thermal,.contact-top,.location-grid,.wellness-explore{grid-template-columns:1fr}.service-all-grid,.icon-grid{grid-template-columns:repeat(3,1fr)}.photo-card-grid{grid-template-columns:repeat(3,1fr)}.host-layout{grid-template-columns:1fr}.host-photo img{height:230px}.guide-grid,.adventure-grid,.must-grid{grid-template-columns:repeat(2,1fr)}.wellness-card{grid-template-columns:1fr}.wellness-card img{min-height:210px}.thermal-locations{grid-template-columns:1fr}.care-grid{grid-template-columns:repeat(3,1fr)}.why-points{grid-template-columns:repeat(2,1fr)}.thermal-rate-inner{grid-template-columns:1fr}.contact-details{grid-template-columns:1fr}.polaroid{max-width:280px}.route-grid{grid-template-columns:1fr}.route-card{display:grid;grid-template-columns:220px 1fr}.route-card img{height:100%}.page-cta-inner{align-items:flex-start;flex-direction:column}}
@media (max-width:560px){.page-hero-copy h1{font-size:2.75rem}.page-hero-note{display:none}.page-section{padding:38px 0}.service-all-grid,.icon-grid,.photo-card-grid,.care-grid{grid-template-columns:repeat(2,1fr)}.guide-grid,.adventure-grid,.must-grid{grid-template-columns:1fr}.must-card{display:grid;grid-template-columns:130px 1fr}.must-card img{height:100%}.why-points{grid-template-columns:1fr}.contact-assist{grid-template-columns:1fr}.download-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.route-card{grid-template-columns:1fr}.route-card img{height:150px}.thermal-location-card{grid-template-columns:110px 1fr}.thermal-location-card img{height:130px}.page-cta-actions{width:100%;flex-direction:column}.page-cta-actions a{width:100%;justify-content:center}}
.high-season-grid{grid-template-columns:repeat(6,1fr)}
.thermal-doc-contact{display:grid;grid-template-columns:.9fr 1.1fr;gap:28px;align-items:start}
@media (max-width:1120px){.high-season-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:820px){.thermal-doc-contact{grid-template-columns:1fr}}
@media (max-width:560px){.high-season-grid{grid-template-columns:1fr 1fr}}
