@font-face{font-family:CormorantLocal;src:url('../assets/fonts/cormorant-garamond-latin-600-normal.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:CormorantLocal;src:url('../assets/fonts/cormorant-garamond-latin-700-normal.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:SoraLocal;src:url('../assets/fonts/sora-latin-400-normal.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:SoraLocal;src:url('../assets/fonts/sora-latin-500-normal.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:SoraLocal;src:url('../assets/fonts/sora-latin-700-normal.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:PlexMonoLocal;src:url('../assets/fonts/ibm-plex-mono-latin-500-normal.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}

:root{
  --cannes-void:#05080C;
  --bay-ink:#071824;
  --blue-hour:#102D42;
  --liquid-amber:#C9822E;
  --brass-glow:#E6B768;
  --marble-warm:#E8DECD;
  --sea-reflection:#4FB8C6;
  --vermouth:#8E332A;
  --smoked-glass:rgba(232,222,205,.08);
  --ink-soft:rgba(232,222,205,.74);
  --ink-muted:rgba(232,222,205,.56);
  --line:rgba(232,222,205,.18);
  --shadow:0 24px 80px rgba(1,12,20,.52);
  --radius-sm:14px;
  --radius-md:24px;
  --radius-lg:38px;
  --ease:cubic-bezier(.16,1,.3,1);
  --space-page:clamp(18px,4vw,64px);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--cannes-void);color:var(--marble-warm);overflow-x:hidden}
body{margin:0;font-family:SoraLocal,system-ui,sans-serif;background:radial-gradient(circle at 70% 8%,rgba(79,184,198,.14),transparent 24rem),linear-gradient(180deg,var(--cannes-void),var(--bay-ink) 38%,var(--cannes-void));color:var(--marble-warm);overflow-x:hidden;min-width:320px}
body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:25;opacity:.038;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 220 220' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.72' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='220' height='220' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E");mix-blend-mode:soft-light}
body:after{content:"";position:fixed;inset:0;z-index:26;pointer-events:none;background:radial-gradient(circle at 50% 42%,transparent 0 42%,rgba(5,8,12,.18) 68%,rgba(5,8,12,.52) 100%);mix-blend-mode:multiply}
body.is-video-paused video{filter:saturate(.72) brightness(.72)}
img,video,canvas,svg{display:block;max-width:100%}
[hidden]{display:none!important}
a{color:inherit;text-decoration:none}
button,input,select{font:inherit}
button{border:0;cursor:pointer}
::selection{background:rgba(201,130,46,.55);color:var(--marble-warm)}

.skip-link{position:fixed;left:1rem;top:.75rem;z-index:200;transform:translateY(-140%);background:var(--marble-warm);color:var(--cannes-void);padding:.75rem 1rem;border-radius:999px;transition:transform .25s var(--ease)}
.skip-link:focus{transform:translateY(0)}

.nocturne-intro{position:fixed;inset:0;z-index:260;display:grid;place-items:center;background:radial-gradient(circle at 50% 46%,rgba(230,183,104,.16),transparent 20rem),var(--cannes-void);pointer-events:none;overflow:hidden}
.intro-veil{position:absolute;inset:-12%;background:linear-gradient(115deg,transparent 0 36%,rgba(230,183,104,.22) 45%,transparent 57%);filter:blur(12px);transform:translateX(-42%) rotate(-6deg)}
.intro-mark{position:relative;font-family:CormorantLocal,serif;font-size:clamp(7rem,18vw,16rem);line-height:.72;color:var(--brass-glow);text-shadow:0 0 38px rgba(230,183,104,.25),0 24px 90px rgba(1,12,20,.8);transform:scale(.92);opacity:0}
.cinema-cursor{position:fixed;left:0;top:0;z-index:240;width:18px;height:18px;pointer-events:none;border-radius:50%;border:1px solid rgba(230,183,104,.92);background:rgba(230,183,104,.86);box-shadow:0 0 0 12px rgba(230,183,104,.08),0 0 42px rgba(230,183,104,.24);transform:translate3d(-80px,-80px,0);opacity:0;transition:opacity .25s var(--ease),width .32s var(--ease),height .32s var(--ease),background-color .32s var(--ease)}
.cinema-cursor span{position:absolute;inset:-26px;border-radius:50%;border:1px solid rgba(79,184,198,.16)}
body.cursor-live .cinema-cursor{opacity:1}body.cursor-hover .cinema-cursor{width:38px;height:38px;background:rgba(230,183,104,.22);box-shadow:0 0 0 18px rgba(230,183,104,.08),0 0 70px rgba(230,183,104,.34)}

#liquid-canvas{position:fixed;inset:0;width:100vw;height:100dvh;z-index:18;pointer-events:none;opacity:0;mix-blend-mode:screen}
.liquid-mask{position:fixed;inset:auto -12vw -16vh -12vw;height:38vh;z-index:17;pointer-events:none;opacity:0;background:radial-gradient(circle at 50% 0%,rgba(230,183,104,.72),rgba(79,184,198,.18) 38%,transparent 68%);filter:blur(18px);transform:translate3d(0,120%,0) scaleX(1.1)}

.site-header{position:fixed;inset:0 0 auto 0;height:72px;z-index:100;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1.4rem;padding:0 var(--space-page);background:linear-gradient(180deg,rgba(5,8,12,.82),rgba(5,8,12,.16));backdrop-filter:blur(16px);border-bottom:1px solid rgba(232,222,205,.08)}
.brand-mark{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;font-family:CormorantLocal,serif;font-size:1.8rem;font-weight:700;color:var(--brass-glow);border:1px solid rgba(230,183,104,.44);background:rgba(5,8,12,.42);box-shadow:inset 0 0 18px rgba(230,183,104,.14)}
.main-nav{display:flex;align-items:center;justify-content:center;gap:clamp(.7rem,1.8vw,1.8rem);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);white-space:nowrap}
.main-nav a,.nav-cta,.hero-cta,.submit-btn,.event-card a{transition:transform .35s var(--ease),background-color .35s var(--ease),color .35s var(--ease),border-color .35s var(--ease)}
.main-nav a:hover{color:var(--brass-glow);transform:translateY(-1px)}
.nav-cta,.hero-cta,.submit-btn,.event-card a{display:inline-flex;align-items:center;justify-content:center;min-height:46px;border-radius:999px;padding:.85rem 1.15rem;background:var(--liquid-amber);color:#071824;color:var(--bay-ink);font-weight:700;letter-spacing:.02em;box-shadow:0 12px 34px rgba(201,130,46,.22)}
.cta-short,.menu-toggle{display:none}
.menu-toggle{width:44px;height:44px;border-radius:999px;background:rgba(5,8,12,.72);border:1px solid rgba(232,222,205,.2);align-items:center;justify-content:center;gap:5px;flex-direction:column;color:var(--marble-warm)}
.menu-toggle span{width:18px;height:1px;background:currentColor;transition:transform .35s var(--ease),opacity .35s var(--ease)}
.mobile-menu{position:fixed;inset:0;z-index:160;display:grid;place-items:center;background:radial-gradient(circle at 65% 20%,rgba(201,130,46,.22),transparent 22rem),linear-gradient(180deg,rgba(5,8,12,.98),rgba(7,24,36,.98));opacity:0;visibility:hidden;pointer-events:none;transition:opacity .42s var(--ease),visibility .42s var(--ease)}
.mobile-menu.is-open{opacity:1;visibility:visible;pointer-events:auto}
.menu-close{position:absolute;top:18px;right:18px;width:46px;height:46px;border-radius:999px;background:rgba(232,222,205,.08);border:1px solid rgba(232,222,205,.18);color:var(--marble-warm);font-size:2rem;line-height:1}
.mobile-menu-nav{display:grid;gap:.45rem;text-align:center}
.mobile-menu-nav a{font-family:CormorantLocal,serif;font-size:clamp(3.1rem,15vw,5.8rem);line-height:.9;letter-spacing:-.045em;color:var(--marble-warm);padding:.18rem .8rem;transition:color .25s var(--ease),transform .25s var(--ease)}
.mobile-menu-nav a:hover,.mobile-menu-nav a:focus-visible{color:var(--brass-glow);transform:translateY(-2px)}
body.menu-open{overflow:hidden}
.nav-cta:hover,.hero-cta:hover,.submit-btn:hover,.event-card a:hover{background:var(--brass-glow);transform:translateY(-2px)}
.nav-cta:active,.hero-cta:active,.submit-btn:active,.event-card a:active{transform:translateY(1px) scale(.99)}

.section{position:relative;min-height:100dvh;padding:clamp(76px,10vw,132px) var(--space-page);isolation:isolate}
.section-kicker,.eyebrow,.chapter-rail,.mono,time,.cocktail-meta span,.menu-list b,.under-hood strong{font-family:PlexMonoLocal,ui-monospace,monospace;font-variant-numeric:tabular-nums;letter-spacing:.08em;text-transform:uppercase}
.section-kicker{font-size:.78rem;color:var(--brass-glow);margin-bottom:1.2rem}
h1,h2,h3,p{margin:0}
h1,h2{font-family:CormorantLocal,serif;font-weight:700;letter-spacing:-.045em;line-height:.9;text-wrap:balance}
h2{font-size:clamp(3.1rem,8vw,8.3rem);max-width:10ch}
p{line-height:1.72;color:var(--ink-soft)}
.reveal-group,.reveal-media{will-change:transform,opacity}

.hero{display:grid;place-items:center;min-height:100dvh;padding-top:72px;overflow:hidden}
.hero-video-frame,.hero-video,.hero-scrim{position:absolute;inset:0;width:100%;height:100%}
.hero-video{object-fit:cover;filter:saturate(.82) contrast(1.06) brightness(.72)}
.hero-video-frame,.hero-inner{will-change:transform,opacity}
.hero-scrim{z-index:1;background:linear-gradient(90deg,rgba(5,8,12,.88),rgba(5,8,12,.32) 45%,rgba(5,8,12,.72)),radial-gradient(circle at 68% 48%,rgba(201,130,46,.2),transparent 28rem)}
.hero-inner{position:relative;z-index:2;width:min(calc(100vw - (var(--space-page) * 2)),1320px);padding-top:2rem}
.eyebrow{font-size:.78rem;color:var(--brass-glow);margin-bottom:clamp(1rem,2.2vw,1.7rem)}
.hero-title{font-size:clamp(5.8rem,13vw,14rem);letter-spacing:-.075em;line-height:.76;text-shadow:0 22px 72px rgba(5,8,12,.78)}
.hero-copy{max-width:38rem;font-size:clamp(1.02rem,1.6vw,1.32rem);margin:1.3rem 0 1.8rem;color:rgba(232,222,205,.86)}
.chapter-rail{position:absolute;right:var(--space-page);bottom:34px;z-index:2;display:flex;gap:.9rem;align-items:center;font-size:.72rem;color:rgba(232,222,205,.58)}
.chapter-rail span:first-child{color:var(--brass-glow)}

.place{background:linear-gradient(180deg,var(--bay-ink),var(--cannes-void))}
.place-grid{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(2rem,6vw,7rem);align-items:center;max-width:1460px;margin:0 auto}
.place-copy{position:sticky;top:110px;align-self:start;padding-top:4vh}
.place-copy p{max-width:47rem;margin-top:1.15rem}
.place-stack{display:grid;grid-template-columns:1.1fr .75fr;grid-template-rows:36vh 30vh;gap:1rem;perspective:1200px}
.media-card{margin:0;border-radius:var(--radius-lg);overflow:hidden;border:1px solid rgba(232,222,205,.13);box-shadow:var(--shadow);background:var(--smoked-glass)}
.media-card img{width:100%;height:100%;object-fit:cover;filter:saturate(.88) brightness(.88)}
.place-main{grid-row:1/3}.place-small{transform:translateY(8vh)}.place-tall{transform:translateY(-2vh)}

.section-heading-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,420px);align-items:end;gap:2rem;max-width:1380px;margin:0 auto 2rem}
.section-heading-row p{font-size:1rem;max-width:34rem}
.cocktails{background:radial-gradient(circle at 15% 8%,rgba(201,130,46,.15),transparent 24rem),var(--cannes-void);overflow:hidden}
.cocktails{overflow-x:clip}
.cocktail-rail{display:grid;grid-template-columns:repeat(6,minmax(300px,340px));gap:1.1rem;width:max-content;margin:0 auto;perspective:1600px}
.cocktail-card{position:relative;min-height:clamp(420px,56vw,640px);border-radius:var(--radius-lg);overflow:hidden;border:1px solid rgba(232,222,205,.14);background:linear-gradient(180deg,rgba(232,222,205,.08),rgba(7,24,36,.72));box-shadow:0 26px 90px rgba(1,12,20,.48);transform-style:preserve-3d;will-change:transform}
.cocktail-card img{width:100%;height:100%;object-fit:cover;filter:saturate(.92) brightness(.78);transform:translateZ(0) scale(1.04)}
.cocktail-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 32%,rgba(5,8,12,.9));pointer-events:none}
.cocktail-card:before{content:"";position:absolute;inset:0;z-index:2;opacity:0;background:radial-gradient(circle at 52% 38%,rgba(230,183,104,.2),transparent 20%),linear-gradient(115deg,transparent 20%,rgba(232,222,205,.18) 43%,transparent 54%);mix-blend-mode:screen;transform:translateX(-14%);transition:opacity .45s var(--ease),transform .75s var(--ease);pointer-events:none}
.cocktail-card:hover:before,.cocktail-card.is-active:before{opacity:1;transform:translateX(14%)}
.card-glare{position:absolute;inset:-40%;background:radial-gradient(circle at var(--mx,50%) var(--my,50%),rgba(230,183,104,.28),transparent 22%);opacity:0;transition:opacity .45s var(--ease);mix-blend-mode:screen;pointer-events:none;z-index:2}
.cocktail-card:hover .card-glare,.cocktail-card.is-active .card-glare{opacity:1}
.cocktail-meta{position:absolute;inset:auto 1.1rem 1.1rem;z-index:3;display:grid;gap:.45rem;transform:translateZ(52px)}
.cocktail-meta span{font-size:.7rem;color:var(--brass-glow)}
.cocktail-meta strong{font-family:CormorantLocal,serif;font-size:clamp(2.1rem,3.6vw,3.6rem);line-height:.9;letter-spacing:-.045em}
.cocktail-meta em{font-style:normal;color:rgba(232,222,205,.76);line-height:1.45;transform:translateY(10px);opacity:.72;transition:transform .45s var(--ease),opacity .45s var(--ease)}.cocktail-meta b{font-family:PlexMonoLocal,monospace;color:var(--marble-warm);width:max-content;border-radius:999px;padding:.28rem .55rem;background:rgba(5,8,12,.34);border:1px solid rgba(232,222,205,.16)}
.cocktail-card:hover .cocktail-meta em,.cocktail-card.is-active .cocktail-meta em{transform:translateY(0);opacity:1}

.ritual{min-height:470dvh;padding:0;background:linear-gradient(180deg,var(--cannes-void),#081520 45%,var(--cannes-void));overflow:clip}
.ritual-pin{height:100dvh;display:grid;grid-template-columns:minmax(280px,.42fr) minmax(0,1fr);gap:clamp(2rem,5vw,6rem);align-items:center;padding:86px var(--space-page) 48px;max-width:1560px;margin:0 auto}
.ritual-copy{position:relative;z-index:3;align-self:center}.ritual-copy h2{font-size:clamp(4rem,8.2vw,9.4rem);max-width:6ch}.ritual-copy p{max-width:24rem;margin-top:1.1rem;color:rgba(232,222,205,.78)}
.ritual-stage{position:relative;min-height:min(72dvh,760px);border-radius:var(--radius-lg);overflow:hidden;border:1px solid rgba(232,222,205,.12);box-shadow:0 34px 120px rgba(1,12,20,.62);background:radial-gradient(circle at 54% 46%,rgba(79,184,198,.16),transparent 20rem),linear-gradient(135deg,rgba(232,222,205,.05),rgba(5,8,12,.92))}
.ritual-stage:before{content:"";position:absolute;inset:0;z-index:5;background:radial-gradient(circle at 58% 46%,transparent 0 34%,rgba(5,8,12,.12) 60%,rgba(5,8,12,.66) 100%),linear-gradient(90deg,rgba(5,8,12,.24),transparent 35%,rgba(5,8,12,.2));pointer-events:none}.ritual-stage:after{content:"";position:absolute;left:8%;right:8%;bottom:7%;height:1px;z-index:6;background:linear-gradient(90deg,transparent,var(--brass-glow),transparent);opacity:.58;filter:drop-shadow(0 0 16px rgba(230,183,104,.38))}
.ritual-stage canvas{position:absolute;inset:0;width:100%;height:100%;display:block}.ritual-stage .sequence-loader{left:5%;top:6%;bottom:auto;z-index:8}
.ritual-stage .ritual-cta{position:absolute;left:auto;right:4.5%;bottom:16%;z-index:9;opacity:0;transform:translateY(16px);pointer-events:none;transition:opacity .5s var(--ease),transform .5s var(--ease)}
.ritual-stage .ritual-cta.is-live{opacity:1;transform:translateY(0);pointer-events:auto}
.ritual-media{position:absolute;inset:0;opacity:0;transform:scale(1.025);will-change:opacity,transform,clip-path}.ritual-media:first-child{opacity:1}.ritual-media img{width:100%;height:100%;object-fit:cover;filter:saturate(.92) contrast(1.04) brightness(.82)}
.ritual-media.is-placeholder{display:grid;place-items:center;background:radial-gradient(circle at 52% 42%,rgba(79,184,198,.2),transparent 22rem),radial-gradient(circle at 48% 58%,rgba(230,183,104,.2),transparent 18rem),linear-gradient(135deg,#071824,#05080C)}.ritual-media.is-placeholder img{display:none}.ritual-media.is-placeholder:before{content:"Keyframe en arrivée";font-family:PlexMonoLocal,monospace;letter-spacing:.1em;text-transform:uppercase;color:rgba(232,222,205,.7);border:1px solid rgba(232,222,205,.16);border-radius:999px;padding:.8rem 1rem;background:rgba(5,8,12,.44)}
.ritual-wipe{position:absolute;inset:0;z-index:7;pointer-events:none;opacity:0;background:linear-gradient(112deg,transparent 0 36%,rgba(79,184,198,.22) 44%,rgba(230,183,104,.36) 51%,transparent 62%);filter:blur(9px);mix-blend-mode:screen;transform:translateX(-36%) skewX(-7deg)}
.ritual-steps{position:absolute;left:clamp(1rem,2vw,1.6rem);bottom:clamp(1rem,2vw,1.6rem);right:clamp(1rem,2vw,1.6rem);z-index:8;display:grid;grid-template-columns:repeat(4,1fr);gap:.55rem;margin:0;padding:0;list-style:none}.ritual-steps li{min-height:48px;border-radius:999px;padding:.64rem .76rem;display:flex;align-items:center;gap:.5rem;background:rgba(5,8,12,.46);border:1px solid rgba(232,222,205,.12);color:rgba(232,222,205,.62);font-family:PlexMonoLocal,monospace;text-transform:uppercase;letter-spacing:.06em;font-size:.68rem;transition:color .35s var(--ease),border-color .35s var(--ease),background-color .35s var(--ease),transform .35s var(--ease)}.ritual-steps span{color:var(--brass-glow)}.ritual-steps li.is-current{color:var(--marble-warm);border-color:rgba(230,183,104,.45);background:rgba(201,130,46,.16);transform:translateY(-2px)}
.ritual-payoff{height:auto;min-height:44dvh;display:grid;place-items:center;position:relative;padding:84px var(--space-page);background:radial-gradient(circle at 50% 42%,rgba(230,183,104,.13),transparent 26rem),linear-gradient(180deg,#081520,var(--cannes-void))}.ritual-payoff canvas{width:min(1120px,92vw);aspect-ratio:16/9;height:auto;border-radius:var(--radius-lg);border:1px solid rgba(232,222,205,.14);box-shadow:0 34px 130px rgba(1,12,20,.66);background:linear-gradient(135deg,#071824,#05080C)}.sequence-loader{position:absolute;left:var(--space-page);bottom:34px;color:rgba(232,222,205,.58);font-size:.72rem;text-transform:uppercase}.ritual-cta{position:absolute;right:var(--space-page);bottom:24px;min-height:48px;border-radius:999px;padding:.86rem 1.2rem;background:var(--brass-glow);color:var(--bay-ink);font-weight:700;box-shadow:0 16px 44px rgba(230,183,104,.2);transition:transform .35s var(--ease),background-color .35s var(--ease)}.ritual-cta:hover{background:var(--liquid-amber);transform:translateY(-2px)}

.menu{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(2rem,6vw,6rem);align-items:center;background:linear-gradient(180deg,var(--cannes-void),#08111a)}
.menu-board{max-width:760px}.menu-board h2{max-width:11ch}
.menu-list{display:grid;gap:0;margin-top:2.2rem;border-top:1px solid var(--line)}
.menu-list article{display:grid;grid-template-columns:1fr auto;gap:.7rem 1rem;padding:1.15rem 0;border-bottom:1px solid var(--line)}
.menu-list span{font-family:CormorantLocal,serif;font-size:clamp(1.55rem,2.5vw,2.45rem);line-height:1}.menu-list p{grid-column:1/2;color:var(--ink-muted)}.menu-list b{color:var(--brass-glow);font-size:.9rem}
.menu-media{display:grid;grid-template-columns:.72fr 1fr;gap:1rem;align-items:end}
.menu-media img{width:100%;height:clamp(340px,50vw,680px);object-fit:cover;border-radius:var(--radius-lg);border:1px solid rgba(232,222,205,.12);box-shadow:var(--shadow);filter:saturate(.86) brightness(.82)}
.menu-media img:first-child{height:clamp(280px,35vw,480px);transform:translateY(8vh)}

.gallery{background:linear-gradient(180deg,#08111a,var(--bay-ink));overflow:hidden}
.gallery-intro{max-width:1300px;margin:0 auto 3.4rem}.gallery-intro h2{max-width:22ch}
.gallery-mosaic{position:relative;display:grid;grid-template-columns:1.05fr .66fr .9fr;grid-auto-rows:18vw;gap:1rem;max-width:1460px;margin:0 auto;min-height:740px}
.mosaic-item{position:relative;margin:0;overflow:hidden;border-radius:var(--radius-lg);border:1px solid rgba(232,222,205,.13);box-shadow:var(--shadow);will-change:transform;background:var(--smoked-glass)}
.mosaic-item img,.mosaic-item video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.86) brightness(.78)}
.mosaic-item.wide{grid-column:1/3;grid-row:1/3}.mosaic-item.vertical{grid-column:3/4;grid-row:1/4}.mosaic-item.detail{grid-column:1/2;grid-row:3/5}.mosaic-item.tall{grid-column:2/3;grid-row:3/6}.mosaic-item.pour{grid-column:3/4;grid-row:4/6}

.nights{background:linear-gradient(180deg,var(--bay-ink),var(--cannes-void))}
.nights-layout{display:grid;grid-template-columns:minmax(260px,380px) minmax(0,1fr);gap:clamp(2rem,6vw,6rem);max-width:1340px;margin:0 auto;align-items:start}
.bay-clock{position:sticky;top:112px;border-radius:var(--radius-lg);border:1px solid rgba(230,183,104,.22);background:radial-gradient(circle at 50% 12%,rgba(230,183,104,.12),transparent 14rem),linear-gradient(180deg,rgba(232,222,205,.07),rgba(7,24,36,.66));padding:2rem 1.6rem;box-shadow:var(--shadow)}
.bay-clock .ring-progress{filter:drop-shadow(0 0 8px rgba(230,183,104,.55))}
.bay-clock svg{width:min(100%,260px);margin:auto;transform:rotate(-90deg)}
.ring-bg,.ring-progress{fill:none;stroke-width:5}.ring-bg{stroke:rgba(232,222,205,.14)}.ring-progress{stroke:var(--brass-glow);stroke-linecap:round;stroke-dasharray:364;stroke-dashoffset:140;filter:drop-shadow(0 0 12px rgba(230,183,104,.38))}
.bay-clock p{font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;color:var(--brass-glow);margin-top:1rem}.bay-clock strong{display:block;font-size:clamp(1.6rem,4vw,3rem);margin:.35rem 0}.bay-clock span{color:var(--ink-muted);line-height:1.5}
.nights-heading{max-width:1340px;margin:0 auto 3rem}.nights-heading h2{max-width:16ch;margin-top:.6rem}
.event-list{display:grid;gap:0;border-top:1px solid rgba(232,222,205,.16)}
.event-card{position:relative;display:grid;grid-template-columns:110px minmax(0,1fr) auto;gap:clamp(1.2rem,3vw,2.6rem);align-items:center;min-height:0;padding:1.9rem .6rem;border:0;border-bottom:1px solid rgba(232,222,205,.16);border-radius:0;background:transparent;overflow:visible;transition:background-color .45s var(--ease),padding-left .45s var(--ease)}
.event-card:after{content:"";position:absolute;left:0;bottom:-1px;height:1px;width:0;background:linear-gradient(90deg,var(--brass-glow),transparent);transition:width .6s var(--ease)}
.event-card:hover{background:linear-gradient(90deg,rgba(230,183,104,.06),transparent 72%);padding-left:1.2rem}
.event-card:hover:after{width:100%}
.event-card>*{position:relative}
.event-card time{display:grid;justify-items:center;gap:.1rem;padding:.75rem .4rem;border:1px solid rgba(230,183,104,.34);border-radius:18px;background:rgba(7,24,36,.5);color:var(--brass-glow)}
.event-card .event-day{font-family:PlexMonoLocal,monospace;font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-muted)}
.event-card .event-date{font-family:CormorantLocal,serif;font-size:2.1rem;line-height:1;color:var(--marble-warm)}
.event-card .event-month{font-family:PlexMonoLocal,monospace;font-size:.6rem;letter-spacing:.14em;text-transform:uppercase}
.event-card h3{font-family:CormorantLocal,serif;font-size:clamp(1.9rem,2.6vw,2.9rem);line-height:1;letter-spacing:-.03em;transition:color .35s var(--ease)}
.event-card:hover h3{color:var(--brass-glow)}
.event-card p{max-width:44ch;color:var(--ink-muted);margin-top:.45rem;font-size:.95rem}
.event-card a{min-height:46px;padding:.75rem 1.25rem;font-size:.86rem;white-space:nowrap;background:transparent;box-shadow:none;border:1px solid rgba(230,183,104,.5);color:var(--brass-glow);gap:.5rem}
.event-card a .arrow{display:inline-block;transition:transform .35s var(--ease)}
.event-card a:hover{background:var(--brass-glow);color:var(--bay-ink);border-color:var(--brass-glow)}
.event-card a:hover .arrow{transform:translateX(5px)}
.status{justify-self:end;border-radius:999px;padding:.72rem 1.15rem;background:transparent;border:1px solid rgba(142,51,42,.75);color:color-mix(in srgb,var(--marble-warm),var(--vermouth) 30%);font-weight:600;font-size:.84rem;letter-spacing:.04em}
.sold-out{opacity:.72}.sold-out h3{text-decoration:line-through;text-decoration-thickness:1px;text-decoration-color:rgba(232,222,205,.4)}

.booking{display:grid;grid-template-columns:minmax(0,.9fr) minmax(320px,640px);gap:clamp(2rem,7vw,7rem);align-items:center;background:radial-gradient(circle at 80% 20%,rgba(201,130,46,.16),transparent 26rem),var(--cannes-void)}
.booking-copy h2{max-width:11ch}.booking-copy p{max-width:38rem;margin-top:1.2rem}
.booking-form{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:1rem;padding:clamp(1rem,3vw,2rem);border-radius:var(--radius-lg);background:linear-gradient(180deg,rgba(232,222,205,.1),rgba(7,24,36,.76));border:1px solid rgba(232,222,205,.15);box-shadow:var(--shadow);transition:border-color .5s var(--ease),box-shadow .5s var(--ease)}
.booking-form:focus-within{border-color:rgba(230,183,104,.45);box-shadow:0 0 0 1px rgba(230,183,104,.18),0 30px 90px rgba(1,12,20,.6),0 0 68px rgba(230,183,104,.1)}
.booking-form:before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:linear-gradient(130deg,rgba(230,183,104,.5),transparent 32%,transparent 68%,rgba(79,184,198,.35));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;opacity:.6}
.submit-btn{position:relative;overflow:hidden}
.submit-btn .shine{content:"";position:absolute;top:0;bottom:0;width:44%;background:linear-gradient(115deg,transparent,rgba(255,255,255,.42),transparent);transform:translateX(-220%) skewX(-18deg);pointer-events:none}
.submit-btn:hover .shine{animation:btnShine .85s var(--ease) forwards}
@keyframes btnShine{to{transform:translateX(360%) skewX(-18deg)}}
.form-row{display:grid;gap:.45rem}.form-row.wide{grid-column:1/3}.form-row label{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--brass-glow)}
.form-row input,.form-row select{min-height:54px;border-radius:var(--radius-sm);border:1px solid rgba(232,222,205,.2);background:rgba(5,8,12,.64);color:var(--marble-warm);padding:.85rem 1rem;outline:none;transition:border-color .25s var(--ease),box-shadow .25s var(--ease),background-color .25s var(--ease)}
.form-row input::placeholder{color:rgba(232,222,205,.5)}.form-row input:focus,.form-row select:focus{border-color:var(--brass-glow);box-shadow:0 0 0 4px rgba(230,183,104,.14);background:rgba(5,8,12,.9)}
.error{min-height:1.1rem;color:#F0A193;color:color-mix(in srgb,var(--marble-warm),var(--vermouth) 42%);font-size:.78rem}.form-row.is-invalid input,.form-row.is-invalid select{border-color:var(--vermouth)}
.submit-btn{grid-column:1/3;margin-top:.4rem}.booking-confirmation[hidden]{display:none!important}.booking-confirmation{grid-column:1/3;border-radius:var(--radius-md);padding:1rem;background:rgba(79,184,198,.12);border:1px solid rgba(79,184,198,.32);display:grid;gap:.35rem;transform-origin:top}.booking-confirmation strong{color:var(--marble-warm)}.booking-confirmation span{color:var(--ink-soft);font-size:.9rem;line-height:1.5}

.footer{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:1rem;padding:2.2rem var(--space-page);background:#05080C;background:var(--cannes-void);border-top:1px solid rgba(232,222,205,.12);color:var(--ink-soft)}
.footer strong{display:block;color:var(--marble-warm);margin-bottom:.4rem}.footer p{font-size:.9rem;color:var(--ink-muted)}.under-hood{border-radius:var(--radius-md);padding:1rem;background:rgba(232,222,205,.06);border:1px solid rgba(232,222,205,.12)}
/* video-toggle supprimé (ordre owner 19/07) */

.magnetic{will-change:transform}.split-line{overflow:hidden}.is-hidden{opacity:0;transform:translate3d(0,36px,0)}
:focus-visible{outline:3px solid var(--sea-reflection);outline-offset:4px;border-radius:10px}

@media (max-width:1100px){
  .site-header{grid-template-columns:auto 1fr;height:68px}.nav-cta{display:none}.main-nav{justify-content:end;font-size:.66rem;gap:.8rem}
  .place-grid,.menu,.booking,.nights-layout{grid-template-columns:1fr}.place-copy,.bay-clock{position:relative;top:auto}.cocktail-rail{display:flex;width:auto;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:1rem}.cocktail-card{flex:0 0 min(76vw,390px);scroll-snap-align:center}.section-heading-row{grid-template-columns:1fr}.ritual-pin{grid-template-columns:1fr;align-content:center}.ritual-copy{align-self:end}.ritual-copy h2{font-size:clamp(4rem,14vw,8rem)}.ritual-stage{min-height:60dvh}.gallery-mosaic{grid-auto-rows:28vw;min-height:640px}.event-card{grid-template-columns:1fr;align-items:start}.event-card a,.status{justify-self:start}
}
@media (max-width:760px){
  :root{--space-page:18px}.site-header{height:64px;padding:0 14px;grid-template-columns:auto 1fr auto;gap:.75rem}.brand-mark{width:38px;height:38px}.main-nav{display:none}.menu-toggle{display:inline-flex}.nav-cta{display:inline-flex;justify-self:end;min-height:40px;padding:.68rem .9rem;font-size:.76rem}.cta-full{display:none}.cta-short{display:inline}.cinema-cursor{display:none}.section{padding:84px var(--space-page);min-height:auto}.hero{min-height:100dvh;padding-top:64px}.hero-inner{align-self:end;padding-bottom:92px}.hero-title{font-size:clamp(3.3rem,16.2vw,4.55rem);letter-spacing:-.055em}.hero-copy{font-size:1rem;max-width:20rem;margin:1rem 0 1.3rem}.chapter-rail{display:none}.hero-video-frame{width:100%;height:100%}h2{font-size:clamp(3rem,15vw,5rem);max-width:8.8ch}.place-stack{grid-template-columns:1fr;grid-template-rows:48vh 36vh 36vh}.place-main,.place-small,.place-tall{grid-row:auto;transform:none}.media-card,.mosaic-item,.cocktail-card,.menu-media img{border-radius:24px}.cocktail-card{min-height:480px}.ritual{min-height:430dvh}.ritual-pin{height:100dvh;padding:72px 12px 24px;gap:1rem}.ritual-copy{padding:0 6px}.ritual-copy h2{font-size:clamp(3.7rem,18vw,5.8rem);max-width:7ch}.ritual-copy p{font-size:.92rem;max-width:19rem}.ritual-stage{min-height:58dvh;border-radius:24px}.ritual-media img{object-fit:cover}.ritual-steps{grid-template-columns:1fr 1fr;gap:.42rem}.ritual-steps li{min-height:40px;font-size:.6rem;padding:.5rem .55rem}.ritual-payoff{padding:74px 12px 96px}.ritual-payoff canvas{width:calc(100vw - 24px);aspect-ratio:9/16}.sequence-loader{left:18px;bottom:58px}.ritual-cta{left:18px;right:18px;bottom:14px;justify-content:center}.menu-media{grid-template-columns:1fr}.menu-media img,.menu-media img:first-child{height:62vw;min-height:260px;transform:none}.gallery-mosaic{display:flex;overflow-x:auto;gap:1rem;min-height:0;scroll-snap-type:x mandatory}.mosaic-item{flex:0 0 84vw;height:58vh;min-height:420px;scroll-snap-align:center}.mosaic-item.vertical{flex-basis:74vw}.bay-clock{position:sticky;top:72px;z-index:5}.booking-form{grid-template-columns:1fr}.form-row.wide,.submit-btn,.booking-confirmation{grid-column:1}.footer{grid-template-columns:1fr;padding-bottom:5.5rem}.liquid-mask{display:block}#liquid-canvas{display:none}
}
@media (max-width:430px){.main-nav{font-size:.6rem}.hero-cta,.submit-btn{width:100%}.cocktail-card{flex-basis:86vw}.mosaic-item{flex-basis:88vw;height:66vh}.booking-copy p{font-size:.94rem}}
@media (pointer:fine){body{cursor:none}a,button,.tilt-card{cursor:none}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.liquid-mask,#liquid-canvas,.cinema-cursor{display:none!important}.nocturne-intro{opacity:0!important;visibility:hidden!important}.ritual{min-height:auto;padding:84px var(--space-page)}.ritual-pin{height:auto}.ritual-media{position:relative;inset:auto;opacity:1!important;transform:none!important;min-height:54dvh}.ritual-media:not(:last-of-type){display:none}.ritual-payoff{height:auto;min-height:60dvh}.cocktail-card,.mosaic-item{transform:none!important}}
