/* =====================================================
   HANWOO PARIS — main.css  v4  PREMIUM
   ===================================================== */

/* ── Reset ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  /* Colors */
  --c-black:#050302;
  --c-deep:#0D0804;
  --c-mid:#1A0E06;
  --c-surface:#221208;
  --c-gold:#C4956A;
  --c-gold-lt:#DDB88A;
  --c-gold-dk:#9A6E3E;
  --c-gold-pale:#F0D9B8;
  --c-gold-dim:rgba(196,149,106,.15);
  --c-cream:#FBF5EB;
  --c-cream-dark:#F0E6D2;
  --c-cream-dk:#EDE4D0;
  --c-white:#FFFFFF;
  --c-brown:#4A2E18;
  --c-brown-m:#6B4226;
  /* Easing */
  --ease:cubic-bezier(0.16,1,0.3,1);
  --ease-s:cubic-bezier(0.4,0,0.2,1);
  --ease-smooth:cubic-bezier(0.4,0,0.2,1);
  --ease-premium:cubic-bezier(0.19,1,0.22,1);
  --ease-out:cubic-bezier(0,0,0.2,1);
  /* Nav height */
  --nav-h:80px;
}

html{scroll-behavior:smooth;font-size:18px;-webkit-text-size-adjust:100%;overflow-x:hidden}
body{
  font-family:'Inter','Helvetica Neue',sans-serif;
  background:var(--c-deep);
  color:var(--c-cream);
  overflow-x:hidden;
  line-height:1.6;
  cursor:none;
}
body.menu-open{overflow:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
::-webkit-scrollbar{width:4px}
::-webkit-scrollbar-track{background:var(--c-black)}
::-webkit-scrollbar-thumb{background:var(--c-gold);border-radius:2px}
@media(hover:none){body{cursor:auto}}

/* ── Cursor ── */
#cursor-dot,#cursor-ring{
  position:fixed;pointer-events:none;z-index:9999;
  border-radius:50%;transform:translate(-50%,-50%);
  will-change:transform,left,top;
}
#cursor-dot{
  width:5px;height:5px;
  background:var(--c-gold);
  transition:transform .18s var(--ease),width .3s,height .3s;
}
#cursor-ring{
  width:36px;height:36px;
  border:1px solid rgba(196,149,106,.55);
  transition:width .38s var(--ease),height .38s var(--ease),opacity .3s,border-color .3s;
}
#cursor-dot.hovering{transform:translate(-50%,-50%) scale(0);opacity:0}
#cursor-ring.hovering{width:52px;height:52px;border-color:var(--c-gold);opacity:.7}
@media(hover:none){#cursor-dot,#cursor-ring{display:none}}

/* ── Page curtain ── */
.page-curtain{
  position:fixed;inset:0;
  background:var(--c-black);
  transform:scaleY(0);transform-origin:bottom;
  z-index:8000;pointer-events:none;
  transition:transform .6s var(--ease-premium);
}
.page-curtain.active{transform:scaleY(1);transform-origin:top}

/* ── Grain noise ── */
.noise-layer{
  position:fixed;inset:0;opacity:.028;pointer-events:none;z-index:4;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size:200px;
}

/* ══════════════════════════════════════════
   NAVIGATION — PREMIUM
══════════════════════════════════════════ */
#main-nav{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  height:var(--nav-h);
  display:flex;align-items:center;justify-content:space-between;gap:1.5rem;
  padding:0 2.25rem;
  transition:height .4s var(--ease),background .5s,border-color .5s;
  border-bottom:1px solid transparent;
}
#main-nav.scrolled{
  height:62px;
  background:rgba(5,3,2,.95);
  backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);
  border-bottom-color:rgba(196,149,106,.1);
  box-shadow:0 1px 40px rgba(0,0,0,.5);
}
/* Sur mobile : NE PAS réduire la hauteur au scroll — le burger doit rester visible */


/* Logo */
.nav-logo{display:flex;align-items:center;gap:12px;flex-shrink:0;z-index:1001;transition:opacity .3s}
.nav-logo:hover{opacity:.85}
.nav-logo img{height:46px;width:auto;filter:drop-shadow(0 0 12px rgba(196,149,106,.4));transition:filter .4s}
.nav-logo:hover img{filter:drop-shadow(0 0 20px rgba(196,149,106,.65))}
.nav-logo-texts{display:flex;flex-direction:column;line-height:1.1}
.nav-logo-name{
  font-family:'Cormorant Garamond',serif;
  font-size:1.25rem;font-weight:600;
  color:var(--c-gold-lt);letter-spacing:.06em;
  transition:color .3s;
}
.nav-logo-sub{
  font-family:'Noto Serif KR',serif;
  font-size:.56rem;color:rgba(196,149,106,.5);letter-spacing:.2em;
}

/* Desktop nav links */
.nav-center{
  display:flex;align-items:center;gap:1.4rem;
  list-style:none;z-index:1;
  flex:1;justify-content:center;min-width:0;flex-wrap:nowrap;
}
.nav-center a{
  font-size:.6rem;font-weight:400;letter-spacing:.2em;text-transform:uppercase;white-space:nowrap;
  color:rgba(251,245,235,.48);
  position:relative;padding-bottom:4px;
  transition:color .35s;
}
.nav-center a::after{
  content:'';position:absolute;bottom:0;left:50%;right:50%;height:1px;
  background:var(--c-gold);
  transition:left .4s var(--ease),right .4s var(--ease);
}
.nav-center a:hover{color:var(--c-cream)}
.nav-center a.active{color:var(--c-gold-lt)}
.nav-center a:hover::after,.nav-center a.active::after{left:0;right:0}

/* Réserver CTA */
.nav-reserve{
  font-size:.58rem;font-weight:400;letter-spacing:.3em;text-transform:uppercase;
  color:var(--c-gold-lt);
  border:1px solid rgba(196,149,106,.38);
  padding:9px 26px 8px;z-index:1;
  position:relative;overflow:hidden;
  transition:color .4s,border-color .4s;
}
.nav-reserve::before{
  content:'';position:absolute;inset:0;
  background:var(--c-gold);
  transform:translateX(-101%);
  transition:transform .45s var(--ease-premium);
}
.nav-reserve span{position:relative;z-index:1;display:block}
.nav-reserve:hover{color:var(--c-deep);border-color:var(--c-gold)}
.nav-reserve:hover::before{transform:translateX(0)}

/* ── Burger button ── */
.nav-burger{
  display:none;
  flex-direction:column;justify-content:center;align-items:flex-end;
  width:36px;height:36px;gap:7px;
  background:transparent;border:none;
  cursor:pointer;z-index:1002;padding:0;position:relative;
}
.nav-burger span{
  display:block;height:1.5px;
  background:var(--c-gold-lt);border-radius:2px;
  transition:transform .5s var(--ease-premium),opacity .4s,width .5s var(--ease-premium);
}
.nav-burger span:nth-child(1){width:24px}
.nav-burger span:nth-child(2){width:16px}
.nav-burger span:nth-child(3){width:20px}
.nav-burger:hover span{width:24px!important}
/* → croix animée */
.nav-burger.open span:nth-child(1){transform:translateY(8.5px) rotate(45deg);width:24px}
.nav-burger.open span:nth-child(2){opacity:0;width:0}
.nav-burger.open span:nth-child(3){transform:translateY(-8.5px) rotate(-45deg);width:24px}

/* ── Mobile overlay ── */
.mobile-overlay{
  position:fixed;inset:0;
  background:rgba(5,3,2,.72);
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
  z-index:998;opacity:0;pointer-events:none;
  transition:opacity .5s var(--ease-s);
}
.mobile-overlay.show{opacity:1;pointer-events:all}

/* menu ouvert : nav reste au dessus du drawer */
body.menu-open #main-nav{z-index:1001}


/* ── Mobile drawer ── */


/* ══════════════════════════════════════════
   FOOTER — PREMIUM
══════════════════════════════════════════ */
footer{
  background:var(--c-black);
  color:var(--c-cream);
  padding:6rem 4rem 0;
  border-top:1px solid rgba(196,149,106,.06);
  position:relative;
  overflow:hidden;
  text-align:center;
}
footer::before{
  content:'';
  position:absolute;top:-120px;left:50%;transform:translateX(-50%);
  width:600px;height:300px;
  background:radial-gradient(ellipse,rgba(196,149,106,.04) 0%,transparent 70%);
  pointer-events:none;
}

.footer-main{
  display:grid;grid-template-columns:1.6fr 1.1fr 1fr;
  gap:5rem;padding-bottom:4rem;
  border-bottom:1px solid rgba(251,245,235,.05);
  position:relative;z-index:1;
}
.footer-brand{display:flex;flex-direction:column;align-items:center;text-align:center;}
.footer-logo-img{
  height:auto;
  width:clamp(120px,18vw,180px); /* width fixe, pas height = pas d'écrasement */
  max-width:180px;
  margin-bottom:1.75rem;
  opacity:.9;
  filter:drop-shadow(0 4px 20px rgba(196,149,106,.2));
  object-fit:contain;
}
.footer-tagline{
  font-family:'Cormorant Garamond',serif;
  font-style:italic;font-size:1.05rem;
  color:rgba(251,245,235,.38);line-height:1.7;margin-bottom:2rem;
}

/* Social SVG */
.footer-social{display:flex;gap:.65rem;align-items:center;justify-content:center}
.footer-social a{
  display:flex;align-items:center;justify-content:center;
  width:36px;height:36px;
  border:1px solid rgba(196,149,106,.14);border-radius:50%;
  transition:all .4s var(--ease);position:relative;overflow:hidden;
}
.footer-social a::before{
  content:'';position:absolute;inset:0;background:var(--c-gold);
  transform:scale(0);border-radius:50%;
  transition:transform .4s var(--ease-premium);
}
.footer-social a:hover{border-color:var(--c-gold)}
.footer-social a:hover::before{transform:scale(1)}
.footer-social a:hover svg path{fill:var(--c-deep)}
.footer-social svg{width:14px;height:14px;position:relative;z-index:1}
.footer-social svg path{fill:rgba(251,245,235,.5);transition:fill .3s}

.footer-col{display:flex;flex-direction:column;align-items:center;text-align:center;}
.footer-col-title{
  font-size:.55rem;letter-spacing:.42em;text-transform:uppercase;
  color:var(--c-gold);margin-bottom:1.75rem;font-weight:500;
}
.footer-col-subtitle{
  font-size:.65rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
  color:rgba(251,245,235,.28);margin-bottom:.5rem;margin-top:1.4rem;
}
.footer-col p,.footer-col a{
  display:block;font-size:.82rem;line-height:1.95;
  color:rgba(251,245,235,.38);transition:color .3s;
}
.footer-col a:hover{color:var(--c-gold-lt)}
.footer-reserve-cta{
  display:inline-block;margin-top:2rem;
  font-size:.56rem;letter-spacing:.3em;text-transform:uppercase;text-align:center;
  border:1px solid rgba(196,149,106,.28);padding:10px 28px 9px;
  color:var(--c-cream)!important;
  position:relative;overflow:hidden;
  transition:color .4s,border-color .4s!important;
}
.footer-reserve-cta::before{
  content:'';position:absolute;inset:0;background:var(--c-gold);
  transform:translateX(-101%);
  transition:transform .45s var(--ease-premium)!important;
}
.footer-reserve-cta span{position:relative;z-index:1}
.footer-reserve-cta:hover{color:var(--c-deep)!important;border-color:var(--c-gold)!important}
.footer-reserve-cta:hover::before{transform:translateX(0)!important}

.footer-bottom{
  padding:1.5rem 0;position:relative;z-index:1;
  display:flex;justify-content:center;align-items:center;
  flex-wrap:wrap;gap:1rem 1.75rem;
  font-size:.65rem;letter-spacing:.08em;
  color:rgba(251,245,235,.18);
  text-align:center;
}
.footer-bottom a{color:rgba(251,245,235,.22);transition:color .3s}
.footer-bottom a:hover{color:var(--c-gold-lt)}
.footer-legal-links{display:flex;gap:1.75rem;flex-wrap:wrap;justify-content:center}

/* ══════════════════════════════════════════
   TYPOGRAPHY
══════════════════════════════════════════ */
.label{
  display:inline-flex;align-items:center;gap:.85rem;
  font-size:.56rem;font-weight:500;letter-spacing:.45em;text-transform:uppercase;
  color:var(--c-gold);
}
.label::before{content:'';display:inline-block;width:28px;height:1px;background:var(--c-gold);flex-shrink:0}
.h1{font-family:'Cormorant Garamond',serif;font-size:clamp(3.5rem,8vw,9.5rem);font-weight:300;line-height:.87;letter-spacing:-.025em}
.h2{font-family:'Cormorant Garamond',serif;font-size:clamp(2.2rem,5vw,5.5rem);font-weight:300;line-height:1.0;letter-spacing:-.015em}
.h3{font-family:'Cormorant Garamond',serif;font-size:clamp(1.5rem,3vw,2.8rem);font-weight:400;line-height:1.1}
.italic{font-style:italic}
.body-text{font-size:.88rem;line-height:1.9;color:rgba(251,245,235,.52)}

/* ══════════════════════════════════════════
   BUTTONS — premium avec fill animation
══════════════════════════════════════════ */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font-family:'Inter',sans-serif;
  font-size:.58rem;font-weight:500;letter-spacing:.38em;text-transform:uppercase;
  padding:14px 42px;
  border-radius:0;
  transition:transform .38s var(--ease),box-shadow .38s var(--ease),color .32s;
  cursor:pointer;-webkit-tap-highlight-color:transparent;
  position:relative;overflow:hidden;
  white-space:nowrap;line-height:1;
}
.btn-inner{display:block;position:relative;z-index:1}
.btn-gold{background:var(--c-gold);color:var(--c-black)}
.btn-gold::before{content:'';position:absolute;inset:0;background:var(--c-gold-lt);transform:translateX(-101%);transition:transform .52s var(--ease-premium)}
.btn-gold:hover{transform:translateY(-2px);box-shadow:0 8px 32px rgba(196,149,106,.32)}
.btn-gold:hover::before{transform:translateX(0)}
.btn-gold:active{transform:none;box-shadow:none}
.btn-dark{background:transparent;color:var(--c-cream);border:1px solid rgba(196,149,106,.35)}
.btn-dark::before{content:'';position:absolute;inset:0;background:var(--c-gold);transform:translateX(-101%);transition:transform .52s var(--ease-premium)}
.btn-dark:hover{color:var(--c-black);border-color:var(--c-gold);transform:translateY(-2px);box-shadow:0 6px 24px rgba(196,149,106,.22)}
.btn-dark:hover::before{transform:translateX(0)}
.btn-outline{background:transparent;border:1px solid rgba(251,245,235,.2);color:rgba(251,245,235,.65)}
.btn-outline::before{content:'';position:absolute;inset:0;background:rgba(251,245,235,.06);transform:scaleX(0);transform-origin:left;transition:transform .42s var(--ease)}
.btn-outline:hover{border-color:rgba(251,245,235,.55);color:var(--c-cream);transform:translateY(-2px)}
.btn-outline:hover::before{transform:scaleX(1)}
.btn-text{background:transparent;border:none;padding:4px 0;color:var(--c-gold-lt);letter-spacing:.22em;display:inline-flex;align-items:center;gap:8px;font-size:.58rem;font-weight:500;text-transform:uppercase;cursor:pointer;position:relative}
.btn-text::after{content:'';position:absolute;bottom:0;left:0;width:0;height:1px;background:var(--c-gold);transition:width .42s var(--ease)}
.btn-text:hover{color:var(--c-gold)}.btn-text:hover::after{width:100%}
.btn-sm{padding:10px 28px;font-size:.52rem;letter-spacing:.3em}

/* ══════════════════════════════════════════
   ANIMATIONS PREMIUM
══════════════════════════════════════════ */
/* Scroll reveals */
.reveal,.reveal-left,.reveal-right,.reveal-scale{
  opacity:0;
  transition:opacity 1s var(--ease-premium),transform 1s var(--ease-premium);
}
.reveal{transform:translateY(44px)}
.reveal-left{transform:translateX(-44px)}
.reveal-right{transform:translateX(44px)}
.reveal-scale{transform:scale(.94)}
.reveal.visible,.reveal-left.visible,.reveal-right.visible,.reveal-scale.visible{opacity:1;transform:none}
.d1{transition-delay:.08s}.d2{transition-delay:.18s}.d3{transition-delay:.3s}.d4{transition-delay:.42s}.d5{transition-delay:.54s}

/* Page fade */
.page-fade{animation:pageFadeIn .65s var(--ease-premium) both}
@keyframes pageFadeIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}

/* Marquee */
.marquee-wrap{overflow:hidden;background:var(--c-black);padding:13px 0;border-top:1px solid rgba(196,149,106,.05);border-bottom:1px solid rgba(196,149,106,.05)}
.marquee-track{display:flex;animation:marqueeRun 36s linear infinite;width:max-content}
.marquee-track:hover{animation-play-state:paused}
.marquee-item{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:600;font-size:1rem;color:rgba(251,245,235,.55);padding:0 2.5rem;display:flex;align-items:center;gap:2.5rem;white-space:nowrap}
.marquee-dot{width:3px;height:3px;border-radius:50%;background:var(--c-gold);flex-shrink:0;opacity:.7}
@keyframes marqueeRun{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* Parallax */
.parallax-band{position:relative;height:42vh;min-height:280px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:var(--c-black)}
.parallax-bg{position:absolute;inset:0;background-size:cover;background-repeat:no-repeat;background-position:center;will-change:transform}
.parallax-overlay{position:absolute;inset:0;background:rgba(5,3,2,.58)}
.parallax-text{position:relative;z-index:2;text-align:center;padding:0 5vw}

/* Page hero */
.page-hero{position:relative;height:52vh;min-height:340px;overflow:hidden;display:flex;align-items:flex-end;padding-bottom:6.5rem}
.page-hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.0);transition:transform 8s ease}
.page-hero-vignette{position:absolute;inset:0;background:linear-gradient(to top,rgba(5,3,2,.98) 0%,rgba(5,3,2,.35) 55%,rgba(5,3,2,.08) 100%)}
.page-hero-content{position:relative;z-index:2;padding:0 5vw}
.page-hero-eyebrow{font-size:.62rem;letter-spacing:.48em;text-transform:uppercase;color:var(--c-gold);margin-bottom:1.5rem;display:flex;align-items:center;gap:14px;animation:hUp .9s .2s var(--ease) both}
.page-hero-eyebrow::before{content:'';width:22px;height:1px;background:currentColor;flex-shrink:0}
.page-hero-label{font-size:.58rem;letter-spacing:.42em;text-transform:uppercase;color:var(--c-gold);margin-bottom:1rem}
.page-hero-title{font-family:'Cormorant Garamond',serif;font-size:clamp(2.8rem,8vw,8rem);font-weight:300;line-height:.88;letter-spacing:-.025em;animation:hUp 1s .35s var(--ease) both}
.page-hero-title em{font-style:italic;color:var(--c-gold-pale)}
@keyframes hUp{from{opacity:0;transform:translateY(32px)}to{opacity:1;transform:translateY(0)}}

/* ══════════════════════════════════════════
   COMPOSANTS PARTAGÉS
══════════════════════════════════════════ */
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:3px;background:rgba(196,149,106,.07)}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;background:rgba(196,149,106,.07)}
.card-item{background:rgba(10,7,4,.55);padding:2.5rem 2.25rem;transition:background .35s var(--ease);position:relative;overflow:hidden}
.card-item::after{content:'';position:absolute;bottom:0;left:0;right:0;height:1.5px;background:var(--c-gold);transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease-premium)}
.card-item:hover{background:rgba(26,14,6,.9)}
.card-item:hover::after{transform:scaleX(1)}
.card-badge{position:absolute;top:1rem;right:1rem;background:var(--c-gold);color:var(--c-deep);font-size:.5rem;letter-spacing:.28em;text-transform:uppercase;padding:3px 9px;font-weight:700}
.card-korean{font-family:'Noto Serif KR',serif;font-size:.75rem;color:var(--c-gold);letter-spacing:.08em;margin-bottom:6px}
.card-name{font-family:'Cormorant Garamond',serif;font-size:1.3rem;font-weight:500;color:var(--c-cream);margin-bottom:7px;line-height:1.15}
.card-desc{font-size:.8rem;line-height:1.75;color:rgba(251,245,235,.44);margin-bottom:1.2rem}
.card-price{font-family:'Cormorant Garamond',serif;font-size:1.2rem;color:var(--c-gold-lt);font-weight:400}
.split-img{position:relative;overflow:hidden;min-height:400px}
.split-img img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease-s)}
.split-img:hover img{transform:scale(1.05)}
.horaires-split{background:var(--c-black);padding:7.5rem 5vw;display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:center}
.horaires-row,.hours-row{display:flex;justify-content:space-between;align-items:center;padding:1.1rem 0;border-bottom:1px solid rgba(196,149,106,.06);font-size:.86rem}
.horaires-row:last-child,.hours-row:last-child{border-bottom:none}
.horaires-day,.hours-day{color:rgba(251,245,235,.38);letter-spacing:.08em}
.horaires-time,.hours-time{color:var(--c-gold-lt);font-weight:500}
.horaires-closed,.hours-closed{color:rgba(251,245,235,.18);font-style:italic}
.hours-table{margin-top:2rem}
.section{padding:8rem 5vw}
.section-white{background:var(--c-cream)}
.section-heading{font-family:'Cormorant Garamond',serif;font-size:clamp(1.8rem,4vw,3.5rem);font-weight:300;color:var(--c-deep);margin:1.5rem 0 1.2rem}
.section-sub{font-size:.9rem;line-height:1.88;color:rgba(74,46,24,.6);max-width:540px}
.section-divider{width:44px;height:1px;background:var(--c-gold);margin:2rem 0}
.form-input,.form-select,.form-textarea{width:100%;background:rgba(251,245,235,.04);border:1px solid rgba(196,149,106,.14);color:var(--c-cream);font-family:'Inter',sans-serif;font-size:.88rem;padding:1rem 1.25rem;outline:none;transition:border-color .35s,background .35s;-webkit-appearance:none;border-radius:0}
.form-input::placeholder,.form-textarea::placeholder{color:rgba(251,245,235,.26)}
.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--c-gold);background:rgba(196,149,106,.06)}
.form-textarea{min-height:140px;resize:vertical}
.section-white .form-input,.section-white .form-select,.section-white .form-textarea{background:var(--c-white);border-color:rgba(42,26,10,.13);color:var(--c-deep)}
.section-white .form-input::placeholder,.section-white .form-textarea::placeholder{color:rgba(42,26,10,.32)}
.section-white .form-input:focus,.section-white .form-textarea:focus{border-color:var(--c-gold)}
.legal-hero{background:var(--c-deep);padding:12rem 5vw 5rem;border-bottom:1px solid rgba(196,149,106,.08)}
.legal-hero .h2{margin:1.25rem 0}
.legal-body{max-width:780px;margin:0 auto;padding:5rem 5vw 7rem}
.legal-body h2{font-family:'Cormorant Garamond',serif;font-size:1.7rem;font-weight:400;color:var(--c-cream);margin:3rem 0 1rem;padding-bottom:.75rem;border-bottom:1px solid rgba(196,149,106,.1)}
.legal-body h3{font-family:'Cormorant Garamond',serif;font-size:1.2rem;font-weight:400;color:var(--c-gold-lt);margin:2rem 0 .75rem}
.legal-body p,.legal-body li{font-size:.88rem;line-height:1.92;color:rgba(251,245,235,.52);margin-bottom:.75rem}
.legal-body ul{padding-left:1.5rem;margin-bottom:1rem}
.legal-body a{color:var(--c-gold);text-decoration:underline}
.legal-body strong{color:var(--c-cream);font-weight:600}
.legal-updated{font-size:.7rem;color:rgba(251,245,235,.26);margin-bottom:3rem;letter-spacing:.1em}

/* ══════════════════════════════════════════
   RESPONSIVE TABLET 960px
══════════════════════════════════════════ */

/* RESPONSIVE MOBILE 600px */

/* ── Mobile : nav toujours solide et burger toujours visible ── */


@media(max-width:700px){
  .grid-3,.grid-2{grid-template-columns:1fr !important}
}
@media(max-width:600px){
  .h1{font-size:clamp(3rem,13vw,5.5rem)}
  .h2{font-size:clamp(2rem,9vw,3.5rem)}
  .h3{font-size:clamp(1.4rem,6vw,2rem)}
  .btn{padding:11px 32px 10px;font-size:.54rem;letter-spacing:.26em}
  .label{font-size:.5rem;letter-spacing:.32em}
  .marquee-item{font-size:.76rem;padding:0 1.4rem;gap:1.4rem}
  #main-nav{padding:0 1rem !important;gap:.5rem}
  .nav-logo{gap:8px;min-width:0;flex:1 1 auto;overflow:hidden}
  .nav-logo img{height:34px}
  .nav-logo-texts{min-width:0;overflow:hidden}
  .nav-logo-name{font-size:.95rem;white-space:nowrap}
  .nav-logo-sub{font-size:.5rem;letter-spacing:.14em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .page-hero{height:50vh;min-height:320px}
  .page-hero-title{font-size:clamp(2.2rem,10vw,4rem)}
  footer{padding:3rem 1.25rem 0}
  .footer-logo-img{width:clamp(90px,28vw,130px)}
  .legal-hero{padding:9rem 1.25rem 3rem}
  .legal-body{padding:3rem 1.25rem 5rem}
  .section{padding:3.5rem 1.25rem}
}
@media(max-width:380px){
  .nav-logo-sub{display:none}
  .nav-logo img{height:30px}
  .nav-logo-name{font-size:.9rem}
}
/* RESPONSIVE SMALL 480px */
@media(max-width:480px){
  .footer-bottom{flex-direction:column;align-items:center;gap:.65rem}
  .footer-legal-links{flex-wrap:wrap;gap:.65rem}
}

/* ═══════════════════════════════════════════
   RESPONSIVE 1200px — MOBILE/TABLET
═══════════════════════════════════════════ */
@media(max-width:1200px){

  /* ── Variables ── */
  :root{ --nav-h:68px }

  /* ── Nav base ── */
  #main-nav{
    padding:0 1.5rem;
    overflow:visible;
    z-index:1000;
    /* Fond TOUJOURS opaque sur mobile */
    background:rgba(5,3,2,.97) !important;
    backdrop-filter:blur(20px) !important;
    -webkit-backdrop-filter:blur(20px) !important;
    border-bottom:1px solid rgba(196,149,106,.1) !important;
  }
  /* Hauteur fixe même au scroll */
  #main-nav.scrolled{
    height:var(--nav-h) !important;
  }
  /* Nav au dessus du drawer quand menu ouvert */
  body.menu-open #main-nav{
    z-index:1001;
  }

  /* ── Masquer éléments desktop ── */
  .nav-reserve{ display:none }

  /* ── Burger visible ── */
  .nav-burger{
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;
    z-index:1002 !important;
    position:relative !important;
  }

  /* ═══════════════════════════════
     DRAWER LATÉRAL — MOBILE MENU
  ═══════════════════════════════ */
  .nav-center{
    /* Positionnement */
    position:fixed !important;
    top:0 !important;
    right:0 !important;
    left:auto !important;
    bottom:auto !important;
    width:clamp(260px,78vw,320px) !important;
    height:100% !important;
    min-height:100vh !important;

    /* Transformation : caché par défaut */
    transform:translateX(110%) !important;
    transition:transform .5s cubic-bezier(0.19,1,0.22,1) !important;

    /* Style */
    background:#080502 !important;
    border-left:1px solid rgba(196,149,106,.18) !important;
    box-shadow:-20px 0 60px rgba(0,0,0,.7) !important;

    /* Layout */
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
    gap:0 !important;
    padding:0 !important;
    list-style:none !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    z-index:999 !important;
  }

  /* Ouvert */
  .nav-center.open{
    transform:translateX(0) !important;
  }

  /* ── Liens dans le drawer ── */
  .nav-center li{
    display:block !important;
    width:100% !important;
    border-bottom:1px solid rgba(196,149,106,.08) !important;
    padding:0 2rem !important;
    /* Animation stagger */
    opacity:0;
    transform:translateX(18px);
    transition:opacity .38s ease, transform .38s ease;
  }

  /* Quand ouvert : les li deviennent visibles avec stagger */
  .nav-center.open li{ opacity:1 !important; transform:translateX(0) !important; }
  .nav-center.open li:nth-child(1){ transition-delay:.07s }
  .nav-center.open li:nth-child(2){ transition-delay:.12s }
  .nav-center.open li:nth-child(3){ transition-delay:.17s }
  .nav-center.open li:nth-child(4){ transition-delay:.22s }
  .nav-center.open li:nth-child(5){ transition-delay:.27s }
  .nav-center.open li:nth-child(6){ transition-delay:.32s }
  .nav-center.open li:nth-child(7){ transition-delay:.37s }

  .nav-center a{
    display:flex !important;
    align-items:center !important;
    gap:0 !important;
    padding:1.25rem 0 !important;
    font-size:.8rem !important;
    letter-spacing:.22em !important;
    text-transform:uppercase !important;
    color:rgba(251,245,235,.55) !important;
    transition:color .3s, gap .35s cubic-bezier(0.16,1,0.3,1) !important;
    border:none !important;
  }
  .nav-center a::before{
    content:'';
    display:inline-block;
    width:0; height:1px;
    background:var(--c-gold);
    transition:width .4s cubic-bezier(0.16,1,0.3,1), margin-right .4s;
    flex-shrink:0;
    margin-right:0;
  }
  .nav-center a::after{ display:none !important }
  .nav-center a:hover{ color:var(--c-gold-lt) !important; gap:.75rem !important }
  .nav-center a.active{ color:var(--c-gold-lt) !important }
  .nav-center a:hover::before{ width:14px; margin-right:.75rem }
  .nav-center a.active::before{ width:14px; margin-right:.75rem }

  /* Header du drawer (pseudo element) */
  .nav-center::before{
    content:'Menu';
    display:block !important;
    padding:5rem 2rem 1.5rem !important;
    font-family:'Cormorant Garamond',serif;
    font-size:.55rem;
    letter-spacing:.65em;
    text-transform:uppercase;
    color:rgba(196,149,106,.35);
    flex-shrink:0;
    border-bottom:1px solid rgba(196,149,106,.06);
    margin-bottom:.5rem;
  }

  /* Bouton Réserver dans le drawer (pseudo) */
  .nav-center::after{
    content:'Réserver une table';
    display:block !important;
    margin:2rem 2rem 3rem !important;
    padding:12px 0 !important;
    font-size:.58rem;
    letter-spacing:.24em;
    text-transform:uppercase;
    color:var(--c-gold-lt);
    border:1px solid rgba(196,149,106,.3);
    text-align:center;
    flex-shrink:0;
  }

  /* ── Layout responsive ── */
  .footer-main{ grid-template-columns:1fr !important; gap:2.5rem; text-align:center !important }
  footer{ padding:4rem 1.5rem 0; text-align:center !important }
  .footer-brand,.footer-col{ align-items:center !important; text-align:center !important }
  .footer-brand *,.footer-col *{ text-align:center !important }
  .footer-social{ justify-content:center !important }
  .footer-reserve-cta{ align-self:center !important }
  .footer-bottom{ justify-content:center !important; text-align:center !important; flex-direction:column; align-items:center !important }
  .footer-legal-links{ gap:1rem; justify-content:center !important }
  .grid-2,.grid-3{ grid-template-columns:1fr 1fr }
  .horaires-split{ grid-template-columns:1fr; gap:3rem; padding:5rem 1.5rem }
  .page-hero{ height:55vh; min-height:380px; padding-bottom:4rem }
  .section{ padding:5rem 1.5rem }
  .parallax-band{ height:40vh; min-height:240px }
  .footer-logo-img{ width:clamp(100px,25vw,150px) }
  .split-img{ min-height:280px }
}

/* keyframes drawer — HORS du @media pour éviter le déséquilibre */
@keyframes drawerItemIn{
  from{ opacity:0; transform:translateX(18px) }
  to{ opacity:1; transform:translateX(0) }
}

.form-group{margin-bottom:1.5rem}
.form-label{display:block;font-size:.58rem;letter-spacing:.3em;text-transform:uppercase;color:rgba(251,245,235,.38);margin-bottom:.55rem;font-weight:500}
