:root{color-scheme:light;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}html{scroll-padding-top:env(safe-area-inset-top,0px)}body{margin:0;padding:0;font:14px -apple-system,BlinkMacSystemFont,sans-serif;background:#fff;color:#000}img{max-width:100%}[hidden]:not([hidden=until-found i]){display:none!important}

*,*::before,*::after{box-sizing:border-box}
:root{
  color-scheme:light;
  --ink:#0E2240; --ink-2:#3E5470; --ink-3:#6B7F96;
  --bg:#FBFCFD; --bg-2:#F0F5F9; --bg-3:#E3ECF3;
  --line:#DCE5EE; --line-2:#C6D4E2;
  --marine:#0B2F5B; --nuit:#061A33; --ardoise:#4A7FA5;
  --brand:#0B2F5B; --brand-2:#4A7FA5; --brand-soft:#E4EEF6;
  --aube:#F2C08F; --aube-ink:#7A4A14; --aube-soft:#FCEEDD;
  --on-dark:#F4F8FC;
  --r:14px; --maxw:52rem;
  --f-d:"Secular One","Trebuchet MS",system-ui,sans-serif;
  --f-b:"Figtree","Avenir Next","Segoe UI",system-ui,sans-serif;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    color-scheme:dark;
    --ink:#E9F0F7; --ink-2:#B4C3D3; --ink-3:#8296AC;
    --bg:#081629; --bg-2:#0E2038; --bg-3:#152B48;
    --line:#1C3352; --line-2:#284368;
    --brand:#9CC3E4; --brand-2:#7FAED3; --brand-soft:#132A47;
    --aube:#F2C08F; --aube-ink:#F5CFA4; --aube-soft:#2E2618;
    --nuit:#040E1D;
  }
}
:root[data-theme="dark"]{
  color-scheme:dark;
  --ink:#E9F0F7; --ink-2:#B4C3D3; --ink-3:#8296AC;
  --bg:#081629; --bg-2:#0E2038; --bg-3:#152B48;
  --line:#1C3352; --line-2:#284368;
  --brand:#9CC3E4; --brand-2:#7FAED3; --brand-soft:#132A47;
  --aube:#F2C08F; --aube-ink:#F5CFA4; --aube-soft:#2E2618;
  --nuit:#040E1D;
}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);
  font:400 16px/1.6 var(--f-b);overflow-x:hidden}
img{max-width:100%}
a{color:inherit}
h1,h2,h3,h4{font-weight:400}
:focus-visible{outline:2px solid var(--brand-2);outline-offset:3px;border-radius:6px}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* langue */
html[data-lang="fr"] [data-l="en"]{display:none!important}
html[data-lang="en"] [data-l="fr"]{display:none!important}

/* barre, comme l'en-tête du site */
.bar{position:sticky;top:0;z-index:30;background:var(--nuit);color:var(--on-dark);
  padding-top:env(safe-area-inset-top,0px)}
.bar-in{max-width:var(--maxw);margin:0 auto;padding:.55rem 1rem;
  display:flex;align-items:center;gap:.75rem;justify-content:space-between}
.mark{display:flex;align-items:center;gap:.6rem;min-width:0}
.mark img{width:30px;height:30px;flex:none;border-radius:50%;object-fit:cover;
  background:#fff;box-shadow:0 0 0 2px rgba(255,255,255,.18)}
.mark b{font:400 1.08rem/1.2 var(--f-d);letter-spacing:.005em;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lang{display:flex;flex:none;border:1px solid rgba(255,255,255,.35);border-radius:99px;
  overflow:hidden;font:400 .78rem/1 var(--f-d)}
.lang button{appearance:none;background:none;border:0;color:inherit;
  padding:.42rem .65rem;cursor:pointer;font:inherit}
.lang button[aria-pressed="true"]{background:var(--on-dark);color:var(--nuit)}

/* menu des sections : séparateurs verticaux comme le menu du site */
.nav{position:sticky;top:var(--barh,48px);z-index:25;background:var(--bg);
  border-bottom:1px solid var(--line)}
.nav-in{max-width:var(--maxw);margin:0 auto;padding:.15rem .5rem;
  display:flex;overflow-x:auto;scrollbar-width:none}
.nav-in::-webkit-scrollbar{display:none}
.nav a{flex:none;text-decoration:none;font:400 .92rem/1 var(--f-d);
  padding:.8rem .8rem;color:var(--ink-2);white-space:nowrap;position:relative}
.nav a+a::before{content:"";position:absolute;left:0;top:.65rem;bottom:.65rem;
  width:1px;background:var(--line-2)}
.nav a:hover{color:var(--ink)}
.nav a::after{content:"";position:absolute;left:.8rem;right:.8rem;bottom:.35rem;height:2px;
  background:var(--brand-2);transform:scaleX(0);transition:transform .2s}
.nav a:hover::after{transform:scaleX(1)}

/* trame */
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 1rem 4rem}

/* accueil : photo pleine largeur, ciel d'aube, crête du logo */
.hero{position:relative;margin:0 calc(50% - 50vw);min-height:min(78vh,40rem);
  display:flex;align-items:flex-end;color:#fff;isolation:isolate;
  scroll-margin-top:calc(var(--barh,48px) + 3.2rem)}
.hero-img{position:absolute;inset:0;z-index:-2;margin:0;background:var(--marine)}
.hero-img img{display:block;width:100%;height:100%;object-fit:cover}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:
    linear-gradient(180deg,rgba(74,127,165,.55) 0%,rgba(74,127,165,0) 34%),
    linear-gradient(0deg,rgba(6,26,51,.88) 0%,rgba(11,47,91,.55) 38%,rgba(242,192,143,.12) 70%,rgba(242,192,143,0) 100%)}
.hero-tx{width:100%;max-width:var(--maxw);margin:0 auto;padding:6rem 1rem 6.2rem;pointer-events:none}
.hero-tx a{pointer-events:auto}
.hero h1{font:400 clamp(2.5rem,9vw,4.6rem)/.98 var(--f-d);margin:0;letter-spacing:-.012em;
  text-wrap:balance;max-width:14ch;text-shadow:0 2px 24px rgba(6,26,51,.35)}
.hero .sub{font-size:clamp(1.02rem,2.4vw,1.15rem);color:rgba(255,255,255,.9);margin:1rem 0 0;max-width:32rem}
.hero .loc{margin:1.1rem 0 0;font:400 .92rem/1.3 var(--f-d);color:var(--aube);
  display:flex;align-items:center;gap:.4rem}
.hero .loc .ic-s{width:16px;height:16px}
.ridge{position:absolute;left:0;right:0;bottom:-1px;width:100%;height:clamp(48px,9vw,96px);
  display:block;color:var(--bg);pointer-events:none}
.hero .img-link{cursor:zoom-in}
.hero-after{display:flex;flex-wrap:wrap;gap:.6rem 1rem;align-items:center;padding:.4rem 0 .6rem}

/* bouton étiquette, comme « Je veux réserver » sur le site */
.nl,.btn{display:inline-flex;align-items:center;gap:.55rem;text-decoration:none;
  font:400 .98rem/1.25 var(--f-d);color:#fff;background:var(--marine);
  padding:.8rem 2.1rem .8rem 1.15rem;border-radius:8px 0 0 8px;
  clip-path:polygon(0 0,calc(100% - 1rem) 0,100% 50%,calc(100% - 1rem) 100%,0 100%);
  transition:background .15s}
.nl:hover,.btn:hover{background:var(--ardoise)}
.nl .ic-s,.btn .ic-s{width:16px;height:16px;flex:none;color:var(--aube)}
.nl{margin:0}
.hint{display:inline-flex;align-items:center;gap:.45rem;text-decoration:none;
  font:500 .9rem/1.35 var(--f-b);color:var(--ink-2)}
.hint:hover{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.hint .ic-s{width:15px;height:15px;color:var(--brand-2)}

/* sections */
.sec{padding:3rem 0 2.6rem;border-bottom:1px solid var(--line);
  scroll-margin-top:calc(var(--barh,48px) + 3.2rem)}
.sec:last-of-type{border-bottom:0}
.sec-h{display:flex;gap:.9rem;align-items:center;margin:0 0 1.5rem}
.ic-h{width:46px;height:46px;flex:none;padding:11px;border-radius:50%;
  color:#fff;background:var(--marine);stroke-width:1.7}
.sec-t{font:400 clamp(1.6rem,4.4vw,2.1rem)/1.1 var(--f-d);margin:0;color:var(--ink);text-wrap:balance}
.sec-s{margin:.2rem 0 0;color:var(--ink-3);font-size:.98rem}

/* listes d'adresses */
.grp+.grp{margin-top:2rem}
.grp-t{font:400 1.12rem/1.2 var(--f-d);color:var(--brand-2);margin:0 0 .3rem}
.itms{display:grid;grid-template-columns:1fr;gap:0}
@media (min-width:680px){.itms{grid-template-columns:1fr 1fr;gap:0 2.2rem}}
.itm{padding:1.05rem 0;border-bottom:1px solid var(--line)}
.itm-n{font:400 1.12rem/1.25 var(--f-d);margin:0;color:var(--ink)}
.itm-d{margin:.3rem 0 0;font-size:.95rem;color:var(--ink-2)}
.itm-a{margin:.35rem 0 0;font-size:.86rem;color:var(--ink-3)}
.itm-t{margin:.55rem 0 0;font-size:.9rem;color:var(--aube-ink);background:var(--aube-soft);
  padding:.45rem .7rem;border-radius:8px}
.acts{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.65rem}
.act{display:inline-flex;align-items:center;gap:.35rem;text-decoration:none;
  font:600 .82rem/1 var(--f-b);color:var(--brand);background:var(--brand-soft);
  border:1px solid transparent;padding:.45rem .7rem;border-radius:99px}
.act:hover{border-color:var(--brand-2)}
.ic-s{width:13px;height:13px;flex:none}

/* photos de section */
.sec-img{margin:0 0 1.6rem;border-radius:var(--r);overflow:hidden;
  background:var(--bg-3);aspect-ratio:16/9}
@media (min-width:640px){.sec-img{aspect-ratio:21/9}}
.sec-img img{display:block;width:100%;height:100%;object-fit:cover}

/* partenaires et rabais */
.pub-ad{display:flex;gap:1.1rem;align-items:center;text-decoration:none;
  background:var(--bg-2);border:1px solid var(--line);border-left:4px solid var(--aube);
  border-radius:var(--r);padding:1rem 1.15rem;margin:2.2rem 0}
.pub-ad img{width:96px;height:124px;flex:none;border-radius:10px;object-fit:contain;
  background:var(--bg-3)}
.pub-ad .pub-tx b{display:block;font:400 1.25rem/1.2 var(--f-d);color:var(--ink)}
.pub-ad .pub-tx span{display:block;margin-top:.25rem;font-size:.98rem;color:var(--ink-2)}
.pub-ad .pub-tx em{display:inline-block;margin-top:.6rem;font-style:normal;
  font:400 .95rem/1.2 var(--f-d);color:var(--aube-ink);background:var(--aube-soft);
  padding:.4rem .7rem;border-radius:6px}
.pub-ad .pub-tx a{color:var(--brand);text-decoration:none;white-space:nowrap;font-weight:600}
@media (max-width:420px){.pub-ad{gap:.85rem;padding:.9rem}.pub-ad img{width:78px;height:102px}}

/* avis */
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:0 0 2rem;
  background:var(--marine);color:#fff;border-radius:var(--r);overflow:hidden}
.stat{padding:1.15rem .6rem;text-align:center}
.stat+.stat{border-left:1px solid rgba(255,255,255,.14)}
.stat-n{display:block;font:400 clamp(1.5rem,5vw,2.1rem)/1 var(--f-d);
  font-variant-numeric:tabular-nums}
.stat-l{display:block;margin-top:.4rem;font-size:.84rem;color:rgba(255,255,255,.75)}
.qts{display:grid;grid-template-columns:1fr;gap:1.6rem}
@media (min-width:680px){.qts{grid-template-columns:1fr 1fr;gap:1.8rem 2.2rem}}
.qt{margin:0}
.stars{display:flex;gap:2px;color:var(--aube);margin-bottom:.5rem}
.ic-st{width:14px;height:14px;fill:currentColor;stroke:none}
.qt blockquote{margin:0;font-size:1.02rem;line-height:1.6;color:var(--ink)}
.qt blockquote p{margin:0}
.qt figcaption{margin-top:.55rem;font:400 .95rem/1 var(--f-d);color:var(--brand-2)}
.note{margin-top:2rem;padding:1.1rem 1.2rem;background:var(--brand-soft);
  border-radius:var(--r);font-size:.98rem;color:var(--ink-2)}
.note strong{color:var(--ink)}
.cta-row{margin-top:1rem}
.btn{font-size:.95rem}

/* Groupe Séjour */
.gs{padding:2.8rem 0 0}
.gs-k{font:400 1rem/1 var(--f-d);color:var(--brand-2);margin:0 0 .5rem}
.gs h2{font:400 clamp(1.5rem,4vw,1.85rem)/1.15 var(--f-d);margin:0 0 .4rem;text-wrap:balance}
.gs .gs-s{margin:0 0 1.4rem;color:var(--ink-3);font-size:.98rem;max-width:34rem}
.sib{display:grid;grid-template-columns:1fr;gap:.7rem}
@media (min-width:640px){.sib{grid-template-columns:repeat(3,1fr)}}
.sib a{display:flex;gap:.75rem;align-items:flex-start;text-decoration:none;
  background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r);padding:1rem}
.sib a:hover{border-color:var(--brand-2)}
.sib .ic-h{width:34px;height:34px;padding:8px;background:var(--ardoise)}
.sib b{display:block;font:400 1.02rem/1.2 var(--f-d);color:var(--ink)}
.sib span{display:block;margin-top:.15rem;font-size:.84rem;color:var(--ink-3)}
.sib em{display:block;margin-top:.35rem;font-style:normal;font-size:.88rem;color:var(--ink-2)}

/* autre information */
.info{padding:3rem 0 0;margin-top:2.8rem;border-top:1px solid var(--line);
  scroll-margin-top:calc(var(--barh,48px) + 3.2rem)}
.acc{border:1px solid var(--line);border-radius:var(--r);background:var(--bg-2);overflow:hidden}
.acc+.acc{margin-top:.7rem}
.acc>summary{display:flex;align-items:center;gap:.7rem;cursor:pointer;list-style:none;
  padding:1rem 1.15rem;font:400 1.1rem/1.2 var(--f-d);color:var(--ink)}
.acc>summary::-webkit-details-marker{display:none}
.acc>summary::marker{content:""}
.acc>summary:hover{background:var(--bg-3)}
.acc .chev{margin-left:auto;width:18px;height:18px;flex:none;color:var(--ink-3);transition:transform .2s}
.acc[open]>summary .chev{transform:rotate(180deg)}
.acc[open]>summary{border-bottom:1px solid var(--line)}
.acc-b{padding:.15rem 1.15rem 1rem}
.acc-b .rules{padding-top:.9rem}
.ic-p{width:20px;height:20px;flex:none;color:var(--brand-2);margin-top:.15rem}
.acc>summary .ic-p{margin-top:0}
.prs{display:flex;flex-direction:column}
.pr{display:grid;grid-template-columns:22px 8.5rem 1fr;gap:.4rem .85rem;
  align-items:start;padding:.9rem 0;border-bottom:1px solid var(--line)}
.pr:last-child{border-bottom:0}
.pr-l{font:400 .98rem/1.4 var(--f-d);color:var(--ink)}
.pr-v{font-size:.95rem;color:var(--ink-2);min-width:0}
.pr-sub{display:block;margin-top:.2rem;font-size:.85rem;color:var(--ink-3)}
@media (max-width:560px){
  .pr{grid-template-columns:22px 1fr;gap:.15rem .75rem}
  .pr-l,.pr-v{grid-column:2}
}
.rules{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:.55rem}
@media (min-width:640px){.rules{grid-template-columns:1fr 1fr;gap:.55rem 1.8rem}}
.rules li{position:relative;padding-left:1.2rem;font-size:.95rem;color:var(--ink-2)}
.rules li::before{content:"";position:absolute;left:0;top:.5em;width:0;height:0;
  border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:8px solid var(--brand-2)}

/* pied */
.foot{background:var(--nuit);color:var(--on-dark);padding:0 1rem 2.6rem;text-align:center}
.ridge-top{display:block;width:calc(100% + 2rem);margin:0 -1rem;height:clamp(40px,7vw,72px);color:var(--bg)}
.foot-in{padding-top:1.2rem}
.foot img.flogo{width:58px;height:58px;border-radius:50%;background:#fff;display:block;margin:0 auto .8rem}
.foot .fn{font:400 1.35rem/1.2 var(--f-d);margin:0}
.foot .fl{margin:.5rem 0 0;font-size:.9rem;color:rgba(244,248,252,.7)}
.foot a{color:#fff;text-decoration:none}
.foot .fl a{white-space:nowrap;border-bottom:1px solid rgba(255,255,255,.3)}
.foot .fl a:hover{border-color:#fff}
.up{display:inline-flex;align-items:center;gap:.4rem;margin-top:1.3rem;
  font:400 .9rem/1 var(--f-d);border:1px solid rgba(255,255,255,.35);border-radius:99px;padding:.6rem 1rem}
.up:hover{background:rgba(255,255,255,.08)}

/* agrandir les photos */
.img-link{display:contents;cursor:zoom-in}
.lb{position:fixed;inset:0;z-index:60;background:rgba(4,14,29,.92);
  display:flex;align-items:center;justify-content:center;padding:1.5rem;cursor:zoom-out}
.lb img{max-width:100%;max-height:100%;border-radius:8px;object-fit:contain}
.lb[hidden]{display:none!important}

/* entrée de la page : un seul moment */
@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.hero h1,.hero .sub,.hero .loc{animation:rise .8s cubic-bezier(.2,.7,.2,1) both}
.hero .sub{animation-delay:.12s}.hero .loc{animation-delay:.22s}

.lb:not([open]){display:none}.lb{border:0;margin:0;max-width:none;max-height:none;width:100vw;height:100dvh;z-index:100}.guide-close{position:absolute;top:20px;right:20px;border:0;border-radius:50%;background:#fff;color:#30364f;font-size:30px;width:44px;height:44px;cursor:pointer}.guide-site-header{position:sticky;top:0;z-index:40;background:#fff;color:#30364f;font-family:Manrope,Arial,sans-serif}.guide-site-header .header-inner{width:min(1400px,calc(100% - 48px));margin:auto;display:flex;align-items:center;gap:24px;min-height:88px}.guide-site-header .brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-size:19px;font-weight:800;line-height:1.1;white-space:nowrap}.guide-site-header .brand img{width:48px;height:48px}.guide-site-header .main-nav{display:flex;margin-left:auto;gap:22px;align-items:center}.guide-site-header a{text-decoration:none}.guide-site-header .main-nav a{font-size:15px;font-weight:700;white-space:nowrap}.guide-site-header .header-actions{display:flex;align-items:center;gap:16px}.guide-site-header .lang{border:0;font:700 14px Manrope,Arial,sans-serif}.guide-site-header .button{background:#30364f;color:#fff;border-radius:6px;padding:12px 20px;font-weight:700}.guide-site-header .menu-toggle{display:none;background:transparent;color:#30364f;border:1px solid #dbe0e5;border-radius:5px;padding:9px;font:inherit}.guide-site-header .icon{width:22px;height:22px;stroke:currentColor;fill:none}.guide-site-header .brand span{display:block}.nav{top:var(--barh,88px)}.site-footer.compact-footer{color:#30364f;background:#edf2f6}.site-footer.compact-footer .brand img{width:52px}.site-footer.compact-footer .footer-reserve{background:#30364f;color:white}.site-footer.compact-footer .family-row{border-color:#dbe0e5}.site-footer.compact-footer .footer-symbol{filter:none}@media(max-width:1200px){.guide-site-header .main-nav{display:none;position:absolute;top:100%;left:0;right:0;background:white;padding:20px 24px;flex-direction:column;align-items:start}.guide-site-header .main-nav.open{display:flex}.guide-site-header .menu-toggle{display:block}.guide-site-header .header-actions{margin-left:auto}.guide-site-header .header-inner{min-height:76px}}@media(max-width:600px){.guide-site-header .header-inner{width:calc(100% - 28px);gap:12px}.guide-site-header .brand span{font-size:14px}.guide-site-header .brand img{width:36px;height:36px}.guide-site-header .header-actions{gap:12px}.guide-site-header .button{display:none}.hero-tx{padding-top:3rem}.hero{min-height:540px}}

:root{--maxw:72rem}.guide-site-header .brand img{border-radius:50%}.footer-pages{display:flex;justify-content:center;flex-wrap:wrap;gap:12px 26px;padding-top:18px;font-size:12px}.img-link:focus-visible{outline:0}.img-link:focus-visible img{outline:3px solid #9cc3e4;outline-offset:4px}@media(min-width:900px){body{font-size:18px}.hero h1{font-size:clamp(4rem,6vw,6rem)}.hero .sub{font-size:22px;max-width:42rem}.nav a{font-size:17px}.pub-tx{font-size:18px}}
