/* ============================================================
   NAVIGATION UNIFIÉE — Le Studio. (identique sur les 9 pages)
   ============================================================ */
.sn{position:fixed;top:0;left:0;right:0;z-index:100;padding:1.3rem 3rem;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;background:rgba(244,239,230,.85);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid rgba(26,25,22,.06);transition:padding .4s ease}
.sn.scrolled{padding:.9rem 3rem}
.sn__brand{justify-self:start;display:inline-flex;align-items:center;gap:.55rem;font-family:'Fraunces',serif;font-size:1.4rem;font-weight:500;letter-spacing:-.02em;font-style:italic;color:var(--charcoal);text-decoration:none;transition:opacity .2s}
.sn__sigle{height:26px;width:26px;flex:none;display:block}
@media (max-width:968px){.sn__sigle{height:24px;width:24px}}
.sn__brand:hover{opacity:.7}.sn__brand .sn__name{color:var(--charcoal)}.sn__brand .sn__name span{color:var(--gold)}
.sn__links{justify-self:center;display:flex;gap:2.3rem;list-style:none;margin:0;padding:0;align-items:center}
.sn__links>li{position:static;margin:0;padding:0}
.sn__links a.sn__top{color:var(--charcoal);text-decoration:none;font-size:.8rem;letter-spacing:.09em;text-transform:uppercase;font-weight:500;position:relative;transition:color .3s;display:inline-flex;align-items:center;gap:.45rem;padding:.2rem 0;white-space:nowrap}
.sn__links a.sn__top::after{content:'';position:absolute;bottom:-3px;left:0;width:0;height:1px;background:var(--gold);transition:width .4s ease}
.sn__links a.sn__top:hover,.sn__links a.sn__top.current{color:var(--gold)}
.sn__links a.sn__top:hover::after,.sn__links a.sn__top.current::after{width:100%}
.sn__links a.sn__top:focus-visible{outline:1px solid var(--gold);outline-offset:5px}
.sn__links a.sn__top svg{width:9px;height:9px;opacity:.55;transition:transform .3s ease}
.sn__has-panel:hover>a.sn__top svg,.sn__has-panel:focus-within>a.sn__top svg{transform:rotate(180deg)}
/* Zone-pont invisible entre le lien et le panneau : la souris peut descendre sans fermer */
.sn__has-panel>a.sn__top::before{content:'';position:absolute;left:-1.5rem;right:-1.5rem;top:100%;height:1.9rem}
/* Panneau Séjours (ordinateur) */
.sn__panel{position:absolute;top:100%;left:0;right:0;background:rgba(244,239,230,.97);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-bottom:1px solid rgba(26,25,22,.08);box-shadow:0 24px 48px -24px rgba(26,25,22,.25);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .28s ease,transform .28s ease,visibility 0s linear .28s;will-change:opacity,transform}
.sn__has-panel:hover .sn__panel,.sn__has-panel:focus-within .sn__panel{opacity:1;visibility:visible;transform:translateY(0);transition:opacity .28s ease,transform .28s ease,visibility 0s}
.sn__panel-inner{max-width:1240px;margin:0 auto;padding:2.4rem 3rem 2.8rem;display:grid;grid-template-columns:repeat(5,1fr)}
.sn__card{display:block;text-decoration:none;color:var(--charcoal);padding:.3rem 1.6rem .3rem 1.5rem;border-left:1px solid rgba(26,25,22,.08);transition:transform .3s ease}
.sn__card:first-child{border-left:0;padding-left:0}
.sn__card:hover{transform:translateY(-2px)}
.sn__card:hover .sn__title{color:var(--gold)}
.sn__card:focus-visible{outline:1px solid var(--gold);outline-offset:6px}
.sn__eyebrow{display:block;font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:.6rem;font-weight:500;white-space:nowrap}
.sn__title{display:block;font-family:'Fraunces',serif;font-size:1.22rem;font-weight:400;line-height:1.2;letter-spacing:-.01em;margin-bottom:.5rem;transition:color .3s}
.sn__line{display:block;font-size:.82rem;line-height:1.5;color:var(--stone,#8a8478)}
.sn__right{justify-self:end;display:flex;align-items:center;gap:1.2rem}
.sn__cta{background:var(--charcoal);color:var(--cream);padding:.7rem 1.5rem;border-radius:100px;font-size:.8rem;letter-spacing:.05em;text-transform:uppercase;font-weight:500;text-decoration:none;transition:background .3s,transform .3s;white-space:nowrap}
.sn__cta:hover{background:var(--gold);transform:translateY(-1px)}
/* Bouton Menu (mobile et tablette) */
.sn__burger{display:none;background:none;border:0;cursor:pointer;align-items:center;gap:.55rem;padding:.6rem .2rem;color:var(--charcoal);font:500 .72rem/1 'Manrope',sans-serif;letter-spacing:.14em;text-transform:uppercase}
.sn__burger i{display:block;width:20px;height:9px;position:relative}
.sn__burger i::before,.sn__burger i::after{content:'';position:absolute;left:0;right:0;height:1px;background:var(--charcoal)}
.sn__burger i::before{top:0}.sn__burger i::after{bottom:0}
/* Menu plein écran (mobile et tablette) */
.sn-mobile{position:fixed;inset:0;z-index:200;background:var(--cream);opacity:0;visibility:hidden;transition:opacity .32s ease,visibility 0s linear .32s;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
.sn-mobile.is-open{opacity:1;visibility:visible;transition:opacity .32s ease,visibility 0s}
html.sn-lock,html.sn-lock body{overflow:hidden}
.sn-mobile__head{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.3rem;border-bottom:1px solid rgba(26,25,22,.06);position:sticky;top:0;background:var(--cream)}
.sn-mobile__close{background:none;border:0;cursor:pointer;color:var(--charcoal);font:500 .72rem/1 'Manrope',sans-serif;letter-spacing:.14em;text-transform:uppercase;padding:.6rem .2rem;display:inline-flex;align-items:center;gap:.5rem}
.sn-mobile__close svg{width:14px;height:14px}
.sn-mobile__body{padding:1.4rem 1.6rem 3rem;max-width:560px;margin:0 auto}
.sn-mobile__eyebrow{font-size:.64rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin:1.8rem 0 .5rem;font-weight:500}
.sn-mobile__body a.sn-mobile__link{display:block;text-decoration:none;color:var(--charcoal);font-family:'Fraunces',serif;font-size:1.55rem;line-height:1.25;padding:.5rem 0;letter-spacing:-.01em;border-bottom:1px solid rgba(26,25,22,.05);opacity:0;transform:translateY(8px);transition:opacity .4s ease,transform .4s ease}
.sn-mobile.is-open .sn-mobile__body a.sn-mobile__link{opacity:1;transform:translateY(0)}
.sn-mobile.is-open .sn-mobile__body a.sn-mobile__link:nth-child(2){transition-delay:.04s}.sn-mobile.is-open .sn-mobile__body a.sn-mobile__link:nth-child(4){transition-delay:.07s}.sn-mobile.is-open .sn-mobile__body a.sn-mobile__link:nth-child(5){transition-delay:.1s}.sn-mobile.is-open .sn-mobile__body a.sn-mobile__link:nth-child(6){transition-delay:.13s}.sn-mobile.is-open .sn-mobile__body a.sn-mobile__link:nth-child(7){transition-delay:.16s}.sn-mobile.is-open .sn-mobile__body a.sn-mobile__link:nth-child(8){transition-delay:.19s}.sn-mobile.is-open .sn-mobile__body a.sn-mobile__link:nth-child(10){transition-delay:.22s}.sn-mobile.is-open .sn-mobile__body a.sn-mobile__link:nth-child(11){transition-delay:.25s}.sn-mobile.is-open .sn-mobile__body a.sn-mobile__link:nth-child(12){transition-delay:.28s}
.sn-mobile__body a.sn-mobile__link.current{color:var(--gold)}
.sn-mobile__body a.sn-mobile__link small{display:block;font-family:'Manrope',sans-serif;font-size:.78rem;color:var(--stone,#8a8478);letter-spacing:0;margin-top:.15rem;line-height:1.4}
.sn-mobile__cta{display:flex;justify-content:center;align-items:center;margin-top:2.2rem;background:var(--charcoal);color:var(--cream);text-decoration:none;padding:1.05rem 1.5rem;border-radius:100px;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;font-weight:500}
.sn-mobile__lang{display:block;text-align:center;margin-top:1.4rem;font-size:.78rem;color:var(--stone,#8a8478);text-decoration:none;letter-spacing:.04em}
@media (max-width:968px){
  .sn{padding:1rem 1.3rem;grid-template-columns:1fr auto}.sn.scrolled{padding:.7rem 1.3rem}
  .sn__links{display:none}
  .sn__burger{display:inline-flex}
  .sn__cta{padding:.62rem 1.15rem;font-size:.74rem}
}
@media (prefers-reduced-motion:reduce){.sn,.sn *,.sn-mobile,.sn-mobile *{transition:none!important}}
