/* ========================================================
   Amaya Cà Phê — premium tropical · Coffee · Brunch · Workspace
   Palette : espresso / terra / or / jade / crème
   ======================================================== */

:root{
  --espresso:#2a1f17;
  --espresso-2:#1c1410;
  --terra:#c8633a;
  --terra-d:#a04e2c;
  --gold:#d4a85a;
  --gold-d:#b08940;
  --jade:#6b8c5a;
  --jade-d:#4d6a3f;
  --cream:#f7f1e6;
  --cream-2:#efe4cf;
  --ink:#22150e;
  --ink-soft:#5a4838;
  --line:rgba(42,31,23,.10);

  --serif:'Cormorant Garamond', 'Be Vietnam Pro', Georgia, serif;
  --sans:'Manrope', 'Be Vietnam Pro', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;

  --shadow-soft: 0 10px 40px -12px rgba(42,31,23,.18);
  --shadow-card: 0 18px 60px -22px rgba(42,31,23,.28);
  --shadow-photo: 0 30px 80px -30px rgba(42,31,23,.55);

  --radius: 18px;
  --maxw: 1240px;

  --t-fast: .25s cubic-bezier(.2,.7,.2,1);
  --t-med:  .55s cubic-bezier(.2,.7,.2,1);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--cream)}
html,body{overflow-x:clip}
body{
  margin:0;
  font-family:var(--sans);
  color:var(--ink);
  background:var(--cream);
  -webkit-font-smoothing:antialiased;
  line-height:1.55;
  font-size:16px;
}
img{display:block;max-width:100%;height:auto}
svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font-family:inherit}

html[data-lang="vn"] body{font-family:'Be Vietnam Pro', var(--sans);}

/* ============ NAV ============ */
.nav{
  position:fixed; top:0; left:0; right:0; z-index:50;
  display:flex; align-items:center; gap:24px;
  padding:10px 34px 22px;
  background:linear-gradient(180deg, rgba(247,241,230,.96), rgba(247,241,230,.86) 70%, rgba(247,241,230,0));
  backdrop-filter:blur(14px) saturate(1.1);
  -webkit-backdrop-filter:blur(14px) saturate(1.1);
  transition:padding .5s ease, background .55s ease-out, box-shadow .55s ease-out;
}
.nav.is-scrolled{
  padding:6px 34px 18px;
  background:linear-gradient(180deg,
    rgba(247,241,230,.97) 0%,
    rgba(247,241,230,.93) 55%,
    rgba(247,241,230,.78) 80%,
    rgba(247,241,230,.40) 94%,
    rgba(247,241,230,0) 100%);
  box-shadow:0 12px 32px -16px rgba(42,31,23,.10);
}
.brand{display:flex; align-items:center; gap:12px}
.brand-mark{display:inline-flex; align-items:center; width:48px; height:48px; filter:drop-shadow(0 4px 10px rgba(200,99,58,.28))}
.brand-mark img{width:100%; height:100%; object-fit:contain; display:block}
.brand-text{display:flex; flex-direction:column; line-height:1}
.brand-name{font-family:var(--serif); font-size:1.55rem; font-weight:600; color:var(--espresso); letter-spacing:.005em}
.brand-sub{font-family:var(--serif); font-style:italic; font-size:.78rem; color:var(--terra); letter-spacing:.12em; margin-top:3px; text-transform:uppercase}

.nav-links{display:flex; gap:28px; margin-left:auto; margin-right:14px}
.nav-links a{
  font-size:.92rem; font-weight:500; color:var(--ink-soft);
  position:relative; padding:6px 0; transition:color var(--t-fast);
}
.nav-links a::after{
  content:""; position:absolute; left:0; right:100%; bottom:0; height:1.5px;
  background:var(--terra); transition:right var(--t-med);
}
.nav-links a:hover{color:var(--espresso)}
.nav-links a:hover::after{right:0}

.lang-switch{
  display:inline-flex; gap:2px;
  background:rgba(42,31,23,.06); border:1px solid var(--line);
  padding:3px; border-radius:999px;
}
.lang-switch button{
  appearance:none; border:0; background:transparent;
  padding:6px 12px; border-radius:999px;
  font-size:.78rem; font-weight:600; letter-spacing:.06em;
  color:var(--ink-soft); cursor:pointer; transition:all var(--t-fast);
}
.lang-switch button:hover{color:var(--espresso)}
.lang-switch button.is-active{
  background:var(--espresso); color:var(--cream);
  box-shadow:0 2px 8px -2px rgba(42,31,23,.35);
}

.burger{
  display:none; appearance:none; border:0; background:transparent;
  width:40px; height:40px; padding:8px; cursor:pointer;
  flex-direction:column; justify-content:space-between; align-items:stretch;
}
.burger span{height:2px; background:var(--espresso); border-radius:2px; transition:all var(--t-fast)}

/* ============ HERO (split text + photo) ============ */
.hero{
  position:relative; min-height:100vh; min-height:100svh;
  display:flex; align-items:center;
  padding:120px 6vw 90px;
  overflow:hidden;
  color:var(--cream);
  isolation:isolate;
}
.hero-bg{position:absolute; inset:0; z-index:-1; overflow:hidden; background:var(--espresso)}
.hero-grad{
  position:absolute; inset:0;
  background:
    radial-gradient(120% 80% at 20% 20%, rgba(212,168,90,.22), transparent 60%),
    radial-gradient(80% 80% at 100% 100%, rgba(200,99,58,.32), transparent 65%),
    linear-gradient(160deg, #2a1f17 0%, #1c1410 70%);
}
.hero-aura{position:absolute; border-radius:50%; filter:blur(80px); opacity:.55}
.hero-aura-1{width:520px; height:520px; top:-120px; left:-120px; background:radial-gradient(circle, rgba(212,168,90,.6), transparent 70%); animation:auraFloat 14s ease-in-out infinite}
.hero-aura-2{width:620px; height:620px; bottom:-180px; right:-160px; background:radial-gradient(circle, rgba(200,99,58,.55), transparent 70%); animation:auraFloat 18s ease-in-out infinite reverse}
@keyframes auraFloat{
  0%,100%{transform:translate(0,0)}
  50%{transform:translate(40px,-30px)}
}

.hero-wrap{
  position:relative; width:100%; max-width:var(--maxw); margin:0 auto;
  display:grid; grid-template-columns:1.1fr .85fr; gap:80px; align-items:center;
}
.hero-content{animation:heroIn 1.1s cubic-bezier(.2,.7,.2,1) both}
@keyframes heroIn{
  from{opacity:0; transform:translateY(28px)}
  to{opacity:1; transform:none}
}
.hero-eyebrow{
  display:inline-block;
  font-size:.78rem; font-weight:600; letter-spacing:.22em; text-transform:uppercase;
  color:var(--gold);
  padding:8px 16px; border:1px solid rgba(212,168,90,.4);
  border-radius:999px; backdrop-filter:blur(6px);
  background:rgba(42,31,23,.3);
  margin-bottom:28px;
}
.hero-title{
  font-family:var(--serif); font-weight:500;
  font-size:clamp(3.2rem, 7vw, 6.4rem);
  line-height:.95; letter-spacing:-.015em;
  margin:0 0 16px;
}
.hero-title-1{display:block; color:var(--cream)}
.hero-title-2{
  display:block; font-style:italic; font-weight:400;
  background:linear-gradient(120deg, #f4d289, #d4a85a 40%, #c8633a);
  -webkit-background-clip:text; background-clip:text; color:transparent;
  margin-left:.08em;
}
.hero-baseline{
  font-size:.85rem; font-weight:600; letter-spacing:.32em; text-transform:uppercase;
  color:rgba(247,241,230,.7);
  margin:0 0 26px;
  position:relative; display:inline-block;
}
.hero-baseline::before, .hero-baseline::after{
  content:""; position:absolute; top:50%; width:18px; height:1px; background:rgba(212,168,90,.5);
}
.hero-baseline::before{right:calc(100% + 12px)}
.hero-baseline::after{left:calc(100% + 12px)}
.hero-tagline{
  font-size:clamp(1.02rem, 1.35vw, 1.18rem);
  line-height:1.65; color:rgba(247,241,230,.82);
  max-width:540px; margin:0 0 36px;
  font-weight:300;
}
.hero-cta{display:flex; gap:14px; flex-wrap:wrap; margin-bottom:32px}
.hero-meta{display:flex; align-items:center; gap:10px; font-size:.85rem; color:rgba(247,241,230,.7)}
.meta-dot{width:8px; height:8px; border-radius:50%; background:var(--gold); box-shadow:0 0 0 0 rgba(212,168,90,.6); animation:dotPulse 2s ease-out infinite; flex-shrink:0}
@keyframes dotPulse{
  0%{box-shadow:0 0 0 0 rgba(212,168,90,.6)}
  100%{box-shadow:0 0 0 14px rgba(212,168,90,0)}
}

.hero-photo{
  position:relative;
  animation:photoIn 1.3s cubic-bezier(.2,.7,.2,1) both;
  animation-delay:.2s;
}
@keyframes photoIn{
  from{opacity:0; transform:translateY(40px) scale(.96)}
  to{opacity:1; transform:none}
}
.hero-photo picture{display:block; position:relative; z-index:2}
.hero-photo img{
  width:100%; aspect-ratio:3/4; object-fit:cover;
  border-radius:24px; box-shadow:var(--shadow-photo);
  border:1px solid rgba(247,241,230,.08);
}
.hero-photo-deco{
  position:absolute; inset:-22px -22px 22px 22px;
  border:1.5px solid rgba(212,168,90,.4);
  border-radius:24px; z-index:1;
}

.hero-scroll{
  position:absolute; bottom:24px; left:50%; transform:translateX(-50%);
  width:24px; height:38px; border:1.5px solid rgba(247,241,230,.4);
  border-radius:14px; display:flex; justify-content:center; padding-top:7px;
}
.scroll-dot{width:3px; height:7px; border-radius:2px; background:var(--gold); animation:scrollDot 1.8s ease-in-out infinite}
@keyframes scrollDot{
  0%{opacity:0; transform:translateY(0)}
  30%{opacity:1}
  100%{opacity:0; transform:translateY(14px)}
}

/* ============ BUTTONS ============ */
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:14px 26px; border-radius:999px;
  font-size:.92rem; font-weight:600; letter-spacing:.02em;
  transition:all var(--t-fast); cursor:pointer; border:1.5px solid transparent;
  white-space:nowrap;
}
.btn-primary{
  background:linear-gradient(135deg, var(--terra), var(--gold-d));
  color:#fff;
  box-shadow:0 8px 24px -10px rgba(200,99,58,.6);
}
.btn-primary:hover{transform:translateY(-2px); box-shadow:0 14px 32px -10px rgba(200,99,58,.7)}
.btn-ghost{
  background:transparent; color:var(--cream);
  border-color:rgba(247,241,230,.4);
}
.btn-ghost:hover{background:rgba(247,241,230,.08); border-color:var(--cream)}
.btn-outline{
  background:transparent; color:var(--espresso);
  border-color:var(--terra);
}
.btn-outline:hover{background:var(--terra); color:#fff; transform:translateY(-2px)}

/* ============ SECTIONS ============ */
.sec{padding:110px 6vw; position:relative}
.sec-in{max-width:var(--maxw); margin:0 auto}
.sec-cream{background:var(--cream)}
.sec-warm{background:linear-gradient(180deg, var(--cream) 0%, var(--cream-2) 100%)}
.sec-dark{
  position:relative; isolation:isolate; color:var(--cream); overflow:hidden;
  background:
    radial-gradient(120% 80% at 18% 22%, rgba(212,168,90,.22), transparent 60%),
    radial-gradient(80% 80% at 100% 100%, rgba(200,99,58,.30), transparent 65%),
    linear-gradient(160deg, #2a1f17 0%, #1c1410 100%);
}
.sec-dark::before{
  content:''; position:absolute; pointer-events:none; z-index:0;
  width:520px; height:520px; border-radius:50%; filter:blur(80px); opacity:.45;
  top:-140px; left:-140px;
  background:radial-gradient(circle, rgba(212,168,90,.55), transparent 70%);
}
.sec-dark::after{
  content:''; position:absolute; pointer-events:none; z-index:0;
  width:620px; height:620px; border-radius:50%; filter:blur(80px); opacity:.40;
  bottom:-200px; right:-180px;
  background:radial-gradient(circle, rgba(200,99,58,.50), transparent 70%);
}
.sec-dark > *{ position:relative; z-index:1; }

.kicker{
  display:inline-block;
  font-size:.78rem; font-weight:600; letter-spacing:.22em; text-transform:uppercase;
  color:var(--terra); margin-bottom:20px;
  position:relative; padding-left:36px;
}
.kicker::before{
  content:""; position:absolute; left:0; top:50%; width:24px; height:1px;
  background:var(--terra);
}
.kicker-light{color:var(--gold)}
.kicker-light::before{background:var(--gold)}

.h2{
  font-family:var(--serif); font-weight:500;
  font-size:clamp(2.2rem, 4vw, 3.4rem);
  line-height:1.1; letter-spacing:-.01em;
  margin:0 0 28px;
  color:var(--espresso); max-width:780px;
}
.h2-light{color:var(--cream)}

.lead{font-size:1.1rem; color:var(--ink-soft); max-width:680px; margin:0 0 40px; line-height:1.65}
.lead-light{font-size:1.1rem; color:rgba(247,241,230,.78); max-width:680px; margin:0 0 50px; line-height:1.65}
.lead-light strong{color:var(--gold); font-weight:600}

/* ============ STORY ============ */
.story-grid{display:grid; grid-template-columns:1.2fr 1fr; gap:70px; align-items:start; margin-top:10px}
.story-text p{font-size:1.05rem; color:var(--ink-soft); margin:0 0 22px; line-height:1.75}
.story-text p:first-of-type{font-size:1.18rem; color:var(--espresso); font-weight:400}
.story-sig{font-family:var(--serif); font-style:italic; font-size:1.15rem !important; color:var(--terra) !important; margin:30px 0 0 !important}

.story-card{
  margin-top:38px;
  background:linear-gradient(145deg, #fff 0%, var(--cream-2) 100%);
  border:1px solid var(--line);
  border-radius:var(--radius); padding:36px 30px;
  box-shadow:var(--shadow-card);
  position:relative; overflow:hidden;
}
.story-card::before{
  content:""; position:absolute; top:0; left:0; right:0; height:3px;
  background:linear-gradient(90deg, var(--terra), var(--gold), var(--jade));
}
.story-card-inner{display:flex; flex-direction:column; gap:26px}
.story-stat{display:flex; align-items:baseline; gap:18px}
.stat-num{
  font-family:var(--serif); font-size:3rem; font-weight:500;
  color:var(--terra); line-height:1; min-width:74px;
}
.stat-num sup{font-size:.5em; color:var(--gold-d); margin-left:-2px}
.stat-lab{font-size:.95rem; color:var(--ink-soft); line-height:1.4}

.story-photo{position:relative; max-width:80.5%}
.story-photo picture{display:block}
.story-photo img{
  width:100%; aspect-ratio:3/4; object-fit:cover;
  border-radius:24px; box-shadow:var(--shadow-photo);
}
.story-photo::after{
  content:""; position:absolute; inset:18px 18px -18px -18px;
  border:1.5px solid rgba(200,99,58,.3);
  border-radius:24px; z-index:-1;
}

/* ============ TASTE ============ */
.taste-grid{
  display:grid; grid-template-columns:repeat(4,1fr); gap:24px;
  margin-top:30px;
}
.taste-card{
  background:rgba(247,241,230,.04);
  border:1px solid rgba(212,168,90,.18);
  border-radius:var(--radius); padding:34px 28px;
  transition:all var(--t-med); position:relative; overflow:hidden;
}
.taste-card::before{
  content:""; position:absolute; inset:0; border-radius:var(--radius);
  background:linear-gradient(135deg, rgba(212,168,90,.08), transparent 60%);
  opacity:0; transition:opacity var(--t-med);
}
.taste-card:hover{transform:translateY(-4px); border-color:rgba(212,168,90,.45)}
.taste-card:hover::before{opacity:1}
.taste-icon{
  width:52px; height:52px; border-radius:14px;
  background:linear-gradient(135deg, rgba(212,168,90,.18), rgba(200,99,58,.14));
  display:flex; align-items:center; justify-content:center;
  color:var(--gold); margin-bottom:22px;
}
.taste-icon svg{width:26px; height:26px}
.taste-card h3{
  font-family:var(--serif); font-weight:500; font-size:1.4rem;
  margin:0 0 12px; color:var(--cream);
}
.taste-card p{font-size:.93rem; color:rgba(247,241,230,.7); line-height:1.6; margin:0}

.halal-pill{
  display:inline-flex; align-items:center; gap:12px;
  margin-top:40px;
  padding:12px 22px;
  background:rgba(107,140,90,.15);
  border:1px solid rgba(107,140,90,.4);
  border-radius:999px;
  font-size:.92rem; color:var(--cream);
}
.halal-mark{
  display:inline-flex; align-items:center; justify-content:center;
  width:24px; height:24px; border-radius:50%;
  background:var(--jade); color:#fff; font-weight:700; font-size:.78rem;
}

/* ============ MENU / CARTE ============ */
.menu-wrap{
  display:grid; grid-template-columns:.9fr 1fr; gap:60px;
  align-items:center; margin-top:30px;
}
.menu-cover{
  position:relative; max-width:440px; justify-self:center;
}
.menu-cover img{
  width:100%; aspect-ratio:7/10; object-fit:cover;
  border-radius:18px; box-shadow:var(--shadow-photo);
  border:1px solid rgba(212,168,90,.25);
  transition:transform var(--t-med);
}
.menu-cover:hover img{transform:translateY(-3px)}
.menu-cover-deco{
  position:absolute; inset:-16px -16px 16px 16px;
  border:1.5px solid rgba(212,168,90,.4);
  border-radius:18px; z-index:-1;
}
.menu-side{display:flex; flex-direction:column; align-items:flex-start; gap:18px}
.menu-badge{
  display:inline-flex; align-items:center; gap:10px;
  padding:8px 16px; border-radius:999px;
  background:rgba(107,140,90,.13); border:1px solid rgba(107,140,90,.35);
  font-size:.82rem; color:var(--jade-d); font-weight:600;
}
.menu-badge-mark{
  display:inline-flex; align-items:center; justify-content:center;
  width:20px; height:20px; border-radius:50%;
  background:var(--jade); color:#fff; font-weight:700; font-size:.7rem;
}
.menu-side-text{
  font-size:1.05rem; color:var(--ink-soft); line-height:1.7;
  margin:0; max-width:480px;
}
.menu-actions{display:flex; gap:14px; flex-wrap:wrap; margin-top:6px}
.menu-meta{
  font-size:.78rem; letter-spacing:.18em; text-transform:uppercase;
  color:var(--ink-soft); opacity:.7; margin-top:6px;
}
.menu-grid{
  display:grid; grid-template-columns:repeat(8,1fr); gap:14px;
  margin-top:50px;
}
.menu-thumb{
  position:relative; appearance:none; border:0; padding:0; cursor:zoom-in;
  background:var(--cream-2); border-radius:10px; overflow:hidden;
  box-shadow:0 6px 22px -10px rgba(42,31,23,.25);
  transition:all var(--t-fast);
}
.menu-thumb img{
  display:block; width:100%; aspect-ratio:7/10; object-fit:cover;
  transition:transform var(--t-med), filter var(--t-med);
}
.menu-thumb::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, transparent 55%, rgba(42,31,23,.45));
  opacity:0; transition:opacity var(--t-fast);
}
.menu-thumb:hover{transform:translateY(-3px); box-shadow:0 18px 36px -14px rgba(42,31,23,.4)}
.menu-thumb:hover img{transform:scale(1.04)}
.menu-thumb:hover::after{opacity:1}
.menu-thumb-num{
  position:absolute; bottom:8px; right:8px;
  font-family:var(--serif); font-size:.85rem; font-weight:600;
  color:#fff; background:rgba(42,31,23,.6); backdrop-filter:blur(6px);
  width:24px; height:24px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  z-index:2;
}

/* ============ LIGHTBOX ============ */
.lb{
  position:fixed; inset:0; z-index:200;
  background:rgba(20,14,10,.92); backdrop-filter:blur(8px);
  display:none; align-items:center; justify-content:center;
  padding:60px 80px;
  animation:lbIn .25s ease-out;
}
.lb.is-open{display:flex}
@keyframes lbIn{from{opacity:0} to{opacity:1}}
.lb-stage{
  position:relative; max-width:100%; max-height:100%;
  display:flex; align-items:center; justify-content:center;
}
.lb-stage img{
  max-width:100%; max-height:calc(100vh - 120px);
  width:auto; height:auto; object-fit:contain;
  border-radius:10px; box-shadow:0 30px 80px -20px rgba(0,0,0,.6);
}
.lb-close, .lb-prev, .lb-next{
  position:absolute; appearance:none; border:1.5px solid rgba(247,199,114,.55);
  background:rgba(28,18,12,.92); color:#fff5e6; cursor:pointer;
  border-radius:50%; transition:all var(--t-fast);
  display:inline-flex; align-items:center; justify-content:center;
  backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
  z-index:10;
  box-shadow:0 10px 28px rgba(0,0,0,.55), 0 0 0 3px rgba(255,255,255,.10);
}
.lb-close{
  top:20px; right:20px; width:48px; height:48px; font-size:1.8rem; line-height:0;
  padding-bottom:3px;
}
.lb-prev, .lb-next{
  top:50%; transform:translateY(-50%); width:56px; height:56px;
  font-size:2.2rem; font-family:var(--serif); line-height:0;
  padding-bottom:6px; /* compensation optique baseline chevron */
}
.lb-prev{left:20px}
.lb-next{right:20px}
.lb-close:hover, .lb-prev:hover, .lb-next:hover{
  background:rgba(42,28,18,.96);
  border-color:rgba(247,199,114,.85);
  color:#ffe7b4;
}
.lb-close:active, .lb-prev:active, .lb-next:active{
  background:rgba(20,12,8,.98);
  border-color:rgba(247,199,114,.85);
}
.lb-count{
  position:absolute; bottom:20px; left:50%; transform:translateX(-50%);
  font-size:.85rem; letter-spacing:.18em; text-transform:uppercase;
  color:rgba(247,241,230,.7);
  background:rgba(42,31,23,.6); padding:8px 18px; border-radius:999px;
  backdrop-filter:blur(8px); border:1px solid rgba(247,241,230,.15);
}
body.lb-open{overflow:hidden}

/* ============ WORK ============ */
.sec-split{display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center}
.split-text p{font-size:1.05rem; color:var(--ink-soft); margin:0 0 28px; line-height:1.7}
.sec-dark .split-text p{color:rgba(247,241,230,.78)}
.check-list{list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:14px}
.check-list li{display:flex; align-items:center; gap:14px; font-size:1rem}
.check{
  display:inline-flex; align-items:center; justify-content:center;
  width:24px; height:24px; border-radius:50%;
  background:var(--terra); color:#fff; font-weight:700; font-size:.8rem;
  flex-shrink:0;
}

.work-photo{position:relative}
.work-photo picture{display:block}
.work-photo img{
  width:100%; aspect-ratio:3/4; object-fit:cover;
  border-radius:24px; box-shadow:var(--shadow-photo);
}
.work-photo::after{
  content:""; position:absolute; inset:18px -18px -18px 18px;
  border:1.5px solid rgba(107,140,90,.4);
  border-radius:24px; z-index:-1;
}

/* ============ TEAM ============ */
.team-grid{
  display:grid; grid-template-columns:1fr 1fr; gap:60px;
  align-items:start; margin-top:40px;
}
.team-main{position:relative; max-width:540px; justify-self:start}
.team-main picture{display:block; position:relative; z-index:2}
.team-main img{
  width:100%; aspect-ratio:9/16; object-fit:cover;
  border-radius:22px; box-shadow:var(--shadow-photo);
  border:1px solid rgba(212,168,90,.18);
}
.team-main-deco{
  position:absolute; inset:18px 18px -18px -18px;
  border:1.5px solid rgba(212,168,90,.4);
  border-radius:22px; z-index:1;
}
.team-side{display:flex; flex-direction:column; gap:32px}
.team-side picture{display:block}
.team-side img{
  width:100%; aspect-ratio:16/9; object-fit:cover;
  border-radius:18px; box-shadow:var(--shadow-card);
}
.team-quote{
  font-family:var(--serif); font-style:italic;
  font-size:1.35rem; line-height:1.55;
  color:var(--espresso); margin:0;
  position:relative; padding-left:32px;
}
.team-quote::before{
  content:""; position:absolute; left:0; top:8px; bottom:8px; width:3px;
  background:linear-gradient(180deg, var(--terra), var(--gold));
  border-radius:2px;
}
.team-sign{
  font-size:.92rem; letter-spacing:.06em; color:var(--terra);
  font-weight:600;
}

/* ============ EVENING BANNER ============ */
.evening{
  position:relative; min-height:540px;
  display:flex; align-items:center; justify-content:center;
  padding:120px 6vw; overflow:hidden; isolation:isolate;
  color:var(--cream);
}
.evening-bg{position:absolute; inset:0; z-index:-2; display:block}
.evening-bg img{
  width:100%; height:100%; object-fit:cover; object-position:50% 17%;
}
.evening-veil{
  position:absolute; inset:0; z-index:-1;
  background:linear-gradient(180deg, rgba(20,14,10,.45) 0%, rgba(20,14,10,.65) 60%, rgba(20,14,10,.8) 100%);
}
.evening-content{
  max-width:780px; text-align:center; position:relative;
}
.evening-content .kicker{color:var(--gold)}
.evening-content .kicker::before{background:var(--gold)}
.evening-content .h2{margin-left:auto; margin-right:auto; max-width:680px}
.evening-content .lead-light{margin-left:auto; margin-right:auto}
.evening-cta{display:flex; gap:14px; justify-content:center; margin-top:8px}

/* ============ GALLERY ============ */
.gallery{
  display:grid; grid-template-columns:repeat(6,1fr); grid-auto-rows:160px;
  gap:14px; margin-top:30px;
}
.gal-item{
  position:relative; overflow:hidden; border-radius:var(--radius);
  cursor:zoom-in; transition:transform var(--t-med);
  display:block; background:var(--cream-2);
}
.gal-item picture, .gal-item img{
  width:100%; height:100%; object-fit:cover;
  transition:transform var(--t-med), filter var(--t-med);
}
.gal-item::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, transparent 60%, rgba(42,31,23,.35));
  opacity:0; transition:opacity var(--t-fast); pointer-events:none;
}
.gal-item:hover{transform:translateY(-2px)}
.gal-item:hover img{transform:scale(1.04)}
.gal-item:hover::after{opacity:1}
.gallery{grid-auto-flow:dense}
.gal-1{grid-column:span 3; grid-row:span 2}
.gal-2{grid-column:span 3; grid-row:span 1}
.gal-3{grid-column:span 2; grid-row:span 1}
.gal-4{grid-column:span 1; grid-row:span 1}
.gal-5{grid-column:span 2; grid-row:span 2}
.gal-6{grid-column:span 4; grid-row:span 1}
.gal-7{grid-column:span 3; grid-row:span 2}
.gal-7{grid-column:span 3; grid-row:span 2}
.gal-9{grid-column:span 3; grid-row:span 1}
.gal-9{grid-column:span 2; grid-row:span 1}
.gal-10{grid-column:span 1; grid-row:span 1}
.gal-12{grid-column:span 6; grid-row:span 1}

/* ============ FIND ============ */
.find-block{margin:24px 0}
.find-label{
  font-size:.74rem; font-weight:600; letter-spacing:.2em; text-transform:uppercase;
  color:var(--gold); margin-bottom:8px;
}
.find-value{font-size:1.05rem; line-height:1.6; color:var(--cream)}
.find-value a{color:var(--cream); border-bottom:1px solid rgba(247,241,230,.2); transition:border-color var(--t-fast)}
.find-value a:hover{border-color:var(--gold)}
.muted{opacity:.6}
.find-cta{margin-top:32px}
.map-wrap{
  height:480px; border-radius:var(--radius); overflow:hidden;
  box-shadow:0 30px 80px -30px rgba(0,0,0,.6);
  border:1px solid rgba(212,168,90,.2);
}

/* ============ FOOTER ============ */
.ft{
  position:relative; isolation:isolate; overflow:hidden;
  color:rgba(247,241,230,.78);
  padding:60px 6vw 36px;
  background:
    radial-gradient(120% 80% at 20% 0%, rgba(212,168,90,.20), transparent 60%),
    radial-gradient(80% 80% at 100% 100%, rgba(200,99,58,.28), transparent 65%),
    linear-gradient(160deg, #2a1f17 0%, #1a120d 100%);
}
.ft::before{
  content:''; position:absolute; pointer-events:none; z-index:0;
  width:480px; height:480px; border-radius:50%; filter:blur(80px); opacity:.42;
  top:-160px; left:-120px;
  background:radial-gradient(circle, rgba(212,168,90,.55), transparent 70%);
}
.ft::after{
  content:''; position:absolute; pointer-events:none; z-index:0;
  width:560px; height:560px; border-radius:50%; filter:blur(80px); opacity:.38;
  bottom:-220px; right:-160px;
  background:radial-gradient(circle, rgba(200,99,58,.50), transparent 70%);
}
.ft > *{ position:relative; z-index:1; }
.ft-in{max-width:var(--maxw); margin:0 auto}
.ft-brand{
  font-family:var(--serif); font-size:1.8rem; font-weight:500;
  color:var(--cream); margin-bottom:32px;
}
.ft-brand .brand-sub{color:var(--terra); font-style:italic; font-size:.85rem; letter-spacing:.15em; margin-left:6px; text-transform:uppercase}
.ft-cols{
  display:grid; grid-template-columns:1fr 1fr 1fr; gap:40px;
  padding:32px 0; border-top:1px solid rgba(247,241,230,.08);
  border-bottom:1px solid rgba(247,241,230,.08);
}
.ft-label{
  font-size:.74rem; font-weight:600; letter-spacing:.2em; text-transform:uppercase;
  color:var(--gold); margin-bottom:10px;
}
.ft-cols p{margin:0; font-size:.92rem; line-height:1.6}
.lang-switch-ft{margin-top:4px}
.lang-switch-ft button{color:rgba(247,241,230,.7)}
.lang-switch-ft{background:rgba(247,241,230,.06); border-color:rgba(247,241,230,.1)}
.lang-switch-ft button.is-active{background:var(--terra); color:#fff}
.ft-copy{
  padding-top:28px; display:flex; gap:8px; justify-content:center;
  font-size:.82rem; opacity:.6; flex-wrap:wrap;
}
.ft-dot{opacity:.5}

/* ============ REVEAL ============ */
.reveal{opacity:0; transform:translateY(28px); transition:opacity .9s ease, transform .9s cubic-bezier(.2,.7,.2,1)}
.reveal.is-in{opacity:1; transform:none}

/* ============ RESPONSIVE ============ */
@media(max-width:1024px){
  .hero{padding:120px 5vw 80px}
  .hero-wrap{grid-template-columns:1fr; gap:48px}
  .hero-photo{max-width:520px; margin:0 auto}
  .hero-photo img{aspect-ratio:4/5}
  .story-grid{grid-template-columns:1fr; gap:50px}
  .story-photo{max-width:520px; margin:0 auto}
  .story-photo::after{inset:12px 12px -12px -12px}
  .sec-split{grid-template-columns:1fr; gap:50px}
  .work-photo{max-width:520px; margin:0 auto}
  .work-photo::after{inset:12px -12px -12px 12px}
  .taste-grid{grid-template-columns:repeat(2,1fr)}
  .team-grid{grid-template-columns:1fr; gap:50px}
  .team-main{max-width:440px; margin:0 auto}
  .team-main-deco{inset:12px 12px -12px -12px}
  .evening{min-height:440px; padding:90px 5vw}
  .menu-wrap{grid-template-columns:1fr; gap:40px}
  .menu-cover{max-width:380px}
  .menu-side{align-items:center; text-align:center}
  .menu-side-text{text-align:center}
  .menu-grid{grid-template-columns:repeat(4,1fr); gap:12px}
  .gallery{grid-template-columns:repeat(4,1fr); grid-auto-rows:130px}
  .gal-1{grid-column:span 2; grid-row:span 2}
  .gal-2{grid-column:span 2}
  .gal-3{grid-column:span 2}
  .gal-4{grid-column:span 2}
  .gal-5{grid-column:span 2; grid-row:span 2}
  .gal-6{grid-column:span 4}
  .gal-7{grid-column:span 4}
  .gal-7{grid-column:span 2; grid-row:span 2}
  .gal-9{grid-column:span 2}
  .gal-9{grid-column:span 2}
  .gal-10{grid-column:span 2}
  .gal-12{grid-column:span 4}
  .nav-links{
    display:none; position:fixed; top:64px; left:0; right:0;
    background:rgba(247,241,230,.98); backdrop-filter:blur(14px);
    flex-direction:column; gap:0; padding:18px 24px 28px;
    border-bottom:1px solid var(--line);
    box-shadow:0 12px 30px -12px rgba(42,31,23,.18);
  }
  .nav-links.is-open{display:flex}
  .nav-links a{padding:14px 0; font-size:1rem; border-bottom:1px solid var(--line)}
  .nav-links a:last-child{border-bottom:0}
  .nav-links a::after{display:none}
  .burger{display:flex}
  .sec{padding:80px 5vw}
  .map-wrap{height:380px}
}

@media(max-width:640px){
  .nav{padding:12px 18px; gap:10px}
  .brand-name{font-size:1.3rem}
  .brand-sub{font-size:.65rem; letter-spacing:.15em}
  .brand-mark{width:36px; height:36px}
  .lang-switch button{padding:6px 9px; font-size:.74rem}
  .hero{padding:108px 22px 80px; min-height:auto}
  .hero-eyebrow{font-size:.7rem; padding:6px 12px; margin-bottom:22px}
  .hero-title{font-size:3.4rem}
  .hero-baseline{font-size:.7rem; letter-spacing:.24em}
  .hero-baseline::before, .hero-baseline::after{display:none}
  .hero-cta{flex-direction:column; gap:10px}
  .hero-cta .btn{width:100%}
  .hero-photo{max-width:100%}
  .hero-photo-deco{inset:-14px -14px 14px 14px}
  .hero-scroll{display:none}
  .sec{padding:64px 22px}
  .taste-grid{grid-template-columns:1fr; gap:16px}
  .team-main{max-width:100%}
  .team-quote{font-size:1.12rem; padding-left:22px}
  .evening{min-height:380px; padding:64px 22px}
  .menu-grid{grid-template-columns:repeat(2,1fr); gap:10px}
  .menu-cover{max-width:300px}
  .menu-cover-deco{inset:-10px -10px 10px 10px}
  .menu-actions{flex-direction:column; width:100%; gap:10px}
  .menu-actions .btn{width:100%}
  .lb{padding:30px 16px}
  .lb-close{top:12px; right:12px; width:42px; height:42px; font-size:1.5rem}
  .lb-prev, .lb-next{width:44px; height:44px; font-size:1.8rem; padding-bottom:5px}
  .lb-prev{left:8px}
  .lb-next{right:8px}
  .lb-stage img{max-height:calc(100vh - 110px)}
  .gallery{grid-template-columns:repeat(2,1fr); grid-auto-rows:200px}
  .gal-1, .gal-5, .gal-7{grid-column:span 2; grid-row:span 2}
  .gal-2, .gal-3, .gal-4, .gal-6, .gal-9, .gal-9, .gal-10{grid-column:span 1; grid-row:span 1}
  .gal-7, .gal-12{grid-column:span 2; grid-row:span 1}
  .map-wrap{height:320px}
  .ft-cols{grid-template-columns:1fr; gap:28px}
  .ft{padding:48px 22px 30px}
  .story-card{padding:30px 24px; margin-top:30px}
  .stat-num{font-size:2.5rem; min-width:56px}
}

/* ============ ACCESSIBILITY ============ */
@media(prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.01ms!important; transition-duration:.01ms!important}
  .hero-aura, .scroll-dot, .meta-dot{animation:none!important}
}
:focus-visible{outline:2px solid var(--terra); outline-offset:3px; border-radius:6px}

/* ============ FIXES 2026-06-14 (audit polish) ============ */
/* [FIX-1] Ancre sticky-nav : ne plus masquer les H2 */
.sec, .evening{scroll-margin-top:88px}
@media(max-width:760px){ .sec, .evening{scroll-margin-top:64px} }

/* [FIX-2] Gallery mobile : combler les cases vides via dense + uniformisation */
@media(max-width:760px){
  .gallery{grid-auto-flow:dense}
  /* Pairs/impairs équilibrés : 2 grosses (1 & 5) + 4 carrées identiques */
  .gal-1, .gal-5{grid-column:span 2; grid-row:span 2}
  .gal-2, .gal-3, .gal-4, .gal-6{grid-column:span 1; grid-row:span 1}
}

/* [FIX-3] Evening : contraste renforcé WCAG AA */
.evening-veil{background:linear-gradient(180deg, rgba(8,5,2,.45) 0%, rgba(8,5,2,.62) 50%, rgba(8,5,2,.72) 100%) !important}
.evening-content .h2,
.evening-content .lead-light{
  text-shadow:0 2px 14px rgba(0,0,0,.55), 0 1px 3px rgba(0,0,0,.5);
}
.evening-content .kicker{text-shadow:0 1px 6px rgba(0,0,0,.6)}

/* [FIX-6] Footer enrichi : mentions légales + réseaux */
.ft-legal{
  margin-top:18px; padding-top:18px;
  border-top:1px solid rgba(247,241,230,.08);
  display:flex; flex-wrap:wrap; gap:18px 26px;
  font-size:.78rem; color:rgba(247,241,230,.55); letter-spacing:.02em;
}
.ft-legal a{color:rgba(247,241,230,.78); text-decoration:none; border-bottom:1px solid rgba(247,241,230,.18)}
.ft-legal a:hover{color:var(--gold); border-color:var(--gold)}
.ft-socials{display:flex; gap:10px; flex-wrap:wrap; margin-top:10px}
.ft-socials a{
  display:inline-flex; align-items:center; gap:8px;
  padding:8px 14px; border-radius:999px;
  background:rgba(247,241,230,.06); border:1px solid rgba(247,241,230,.1);
  color:rgba(247,241,230,.9); text-decoration:none; font-size:.84rem;
  transition:all .2s ease;
}
.ft-socials a:hover{background:var(--terra); color:#fff; border-color:var(--terra); transform:translateY(-1px)}
.ft-socials svg{width:16px; height:16px}



/* ============ FILM (VSL) — CINEMA SUNSET DA NANG 2026-06-14 v4 ============ */
.sec-film{
  position:relative;
  padding:140px 24px 160px;
  overflow:hidden;
  text-align:center;
  color:#fff5e6;
  isolation:isolate;
  background:
    /* halo soleil bas-centre */
    radial-gradient(ellipse 60% 50% at 50% 95%, rgba(255,210,120,.85) 0%, rgba(255,140,66,.45) 30%, transparent 70%),
    /* ciel sunset multi-stops */
    linear-gradient(180deg,
      #2d1b4e 0%, #5b2a6b 12%, #a23a5e 26%,
      #d94e3a 42%, #f57842 58%, #ffa452 72%,
      #ffc975 85%, #ffe2a3 100%);
}
/* nuages lumineux superposés */
.sec-film::before{
  content:''; position:absolute; inset:0; z-index:0; pointer-events:none;
  background:
    radial-gradient(ellipse 70% 25% at 25% 35%, rgba(255,255,255,.18) 0%, transparent 60%),
    radial-gradient(ellipse 55% 20% at 75% 28%, rgba(255,210,140,.20) 0%, transparent 60%),
    radial-gradient(ellipse 80% 18% at 50% 50%, rgba(255,180,120,.16) 0%, transparent 70%);
  mix-blend-mode:screen;
}
/* horizon : ligne dorée fine + reflet eau */
.sec-film::after{
  content:''; position:absolute; left:0; right:0; bottom:0; height:30%; z-index:0; pointer-events:none;
  background:
    linear-gradient(180deg, transparent 0%, rgba(255,200,120,.18) 40%, rgba(255,170,90,.30) 70%, rgba(210,110,60,.40) 100%);
  box-shadow:0 -1px 0 rgba(255,235,180,.7);
}

.sec-film .sec-in{position:relative; z-index:5; max-width:1180px; margin:0 auto}

/* === REFLET VERTICAL DORÉ DU SOLEIL (signature sunset Da Nang) === */
.film-reflection{
  position:absolute; left:50%; bottom:0;
  width:120px; height:38%;
  transform:translateX(-50%);
  z-index:1; pointer-events:none;
  background:
    linear-gradient(180deg,
      rgba(255,235,170,.85) 0%,
      rgba(255,200,120,.55) 30%,
      rgba(255,170,90,.30) 70%,
      transparent 100%);
  filter:blur(10px);
  mix-blend-mode:screen;
  animation:reflectionShimmer 6s ease-in-out infinite;
  border-radius:60% 60% 0 0;
}
@keyframes reflectionShimmer{
  0%,100%{transform:translateX(-50%) scaleX(1); opacity:.85}
  50%{transform:translateX(-50%) scaleX(1.35); opacity:1}
}

/* === LENS FLARE — halo doré flottant haut-droite === */
.film-flare{
  position:absolute; top:12%; right:14%;
  width:220px; height:220px; z-index:1; pointer-events:none;
  background:
    radial-gradient(circle, rgba(255,255,240,.45) 0%, rgba(255,210,120,.25) 25%, rgba(255,170,90,.10) 45%, transparent 65%);
  filter:blur(8px);
  animation:flarePulse 10s ease-in-out infinite;
}
.film-flare::after{
  content:''; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  width:40px; height:40px; border-radius:50%;
  background:radial-gradient(circle, rgba(255,255,250,.85), rgba(255,220,150,.5) 40%, transparent 70%);
  filter:blur(2px);
}
@keyframes flarePulse{
  0%,100%{opacity:.55; transform:scale(1) translateY(0)}
  50%{opacity:.95; transform:scale(1.12) translateY(-8px)}
}

/* === PARTICULES LUMINEUSES FLOTTANTES === */
.film-particles{
  position:absolute; inset:0; z-index:2; pointer-events:none; overflow:hidden;
}
.film-particles span{
  position:absolute; display:block;
  width:3px; height:3px; border-radius:50%;
  background:radial-gradient(circle, rgba(255,240,200,.95) 0%, rgba(255,210,140,.7) 40%, transparent 70%);
  box-shadow:0 0 6px rgba(255,220,150,.8);
  animation:particleFloat var(--dur, 14s) linear infinite;
  animation-delay:var(--dly, 0s);
  opacity:0;
}
.film-particles span:nth-child(1){left:8%;  bottom:-5%;  --dur:16s; --dly:0s}
.film-particles span:nth-child(2){left:18%; bottom:-5%;  --dur:13s; --dly:2s}
.film-particles span:nth-child(3){left:28%; bottom:-5%;  --dur:18s; --dly:4s}
.film-particles span:nth-child(4){left:38%; bottom:-5%;  --dur:15s; --dly:1.5s; width:2px; height:2px}
.film-particles span:nth-child(5){left:48%; bottom:-5%;  --dur:17s; --dly:3.5s}
.film-particles span:nth-child(6){left:58%; bottom:-5%;  --dur:14s; --dly:5s; width:4px; height:4px}
.film-particles span:nth-child(7){left:68%; bottom:-5%;  --dur:19s; --dly:2.5s}
.film-particles span:nth-child(8){left:78%; bottom:-5%;  --dur:16s; --dly:6s; width:2px; height:2px}
.film-particles span:nth-child(9){left:88%; bottom:-5%;  --dur:13s; --dly:0.5s}
.film-particles span:nth-child(10){left:13%; bottom:-5%; --dur:20s; --dly:7s; width:2px; height:2px}
.film-particles span:nth-child(11){left:73%; bottom:-5%; --dur:18s; --dly:3s; width:4px; height:4px}
.film-particles span:nth-child(12){left:43%; bottom:-5%; --dur:15s; --dly:8s}
@keyframes particleFloat{
  0%{transform:translateY(0) translateX(0); opacity:0}
  15%{opacity:1}
  85%{opacity:.6}
  100%{transform:translateY(-110vh) translateX(15px); opacity:0}
}

/* === GRAIN CINÉMA SUBTIL === */
.film-grain{
  position:absolute; inset:0; z-index:3; pointer-events:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.95' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 .85  0 0 0 0 .55  0 0 0 .8 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
  opacity:.07;
  mix-blend-mode:overlay;
  animation:grainShift 1.2s steps(6) infinite;
}
@keyframes grainShift{
  0%,100%{transform:translate(0,0)}
  20%{transform:translate(-3%,2%)}
  40%{transform:translate(2%,-3%)}
  60%{transform:translate(-1%,-1%)}
  80%{transform:translate(3%,1%)}
}

/* === PALMIERS DÉTAILLÉS + OSCILLATION DOUCE === */
.film-palms{
  position:absolute; left:0; right:0; bottom:0; height:50%; z-index:2; pointer-events:none;
  background:
    /* palmier gauche — silhouette pleine type cocotier */
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 360' preserveAspectRatio='xMinYMax meet'><g fill='%23080510'><path d='M100 360 Q96 280 102 180 Q104 120 106 70 Q107 45 108 28 L113 28 Q112 45 111 70 Q109 120 107 180 Q101 280 105 360 Z'/><ellipse cx='110' cy='30' rx='9' ry='5'/><path d='M110 32 C 90 24 60 22 30 32 C 18 38 12 46 8 56 C 22 44 50 36 78 38 C 92 39 102 36 110 32 Z'/><path d='M110 32 C 130 24 160 22 188 32 C 196 38 198 46 200 56 C 188 44 162 36 134 38 C 122 39 116 36 110 32 Z'/><path d='M110 34 C 92 36 62 42 36 60 C 22 70 14 84 10 96 C 28 78 58 64 86 56 C 100 52 108 40 110 34 Z'/><path d='M110 34 C 128 36 156 42 180 60 C 194 70 200 84 204 96 C 186 78 158 64 130 56 C 116 52 110 40 110 34 Z'/><path d='M110 36 C 94 46 70 64 50 100 C 38 122 32 142 30 158 C 50 130 74 102 96 80 C 106 70 110 50 110 36 Z'/><path d='M110 36 C 126 46 148 64 168 100 C 180 122 188 142 190 158 C 170 130 146 102 124 80 C 114 70 110 50 110 36 Z'/></g></svg>") no-repeat left bottom / auto 95%,
    /* palmier droit — miroir */
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 360' preserveAspectRatio='xMaxYMax meet'><g fill='%23080510'><path d='M100 360 Q104 280 98 180 Q96 120 94 70 Q93 45 92 28 L87 28 Q88 45 89 70 Q91 120 93 180 Q99 280 95 360 Z'/><ellipse cx='90' cy='30' rx='9' ry='5'/><path d='M90 32 C 110 24 140 22 170 32 C 182 38 188 46 192 56 C 178 44 150 36 122 38 C 108 39 98 36 90 32 Z'/><path d='M90 32 C 70 24 40 22 12 32 C 4 38 2 46 0 56 C 12 44 38 36 66 38 C 78 39 84 36 90 32 Z'/><path d='M90 34 C 108 36 138 42 164 60 C 178 70 186 84 190 96 C 172 78 142 64 114 56 C 100 52 92 40 90 34 Z'/><path d='M90 34 C 72 36 44 42 20 60 C 6 70 0 84 -4 96 C 14 78 42 64 70 56 C 84 52 90 40 90 34 Z'/><path d='M90 36 C 106 46 130 64 150 100 C 162 122 168 142 170 158 C 150 130 126 102 104 80 C 94 70 90 50 90 36 Z'/><path d='M90 36 C 74 46 52 64 32 100 C 20 122 12 142 10 158 C 30 130 54 102 76 80 C 86 70 90 50 90 36 Z'/></g></svg>") no-repeat right bottom / auto 100%;
  opacity:.92;
  transform-origin:bottom center;
  animation:palmSway 14s ease-in-out infinite;
}
@keyframes palmSway{
  0%,100%{transform:rotate(-.35deg) translateY(0)}
  50%{transform:rotate(.35deg) translateY(-2px)}
}

.sec-film .kicker{
  color:#ffe2a3; letter-spacing:.32em; text-transform:uppercase;
  font-size:.78rem; font-weight:600; display:inline-block; margin-bottom:18px;
  text-shadow:0 2px 12px rgba(50,10,40,.4);
}
.sec-film .kicker::before{content:'— '; color:#ffd070}
.sec-film .kicker::after{content:' —'; color:#ffd070}
.sec-film .h2{
  color:#fff5e6;
  font-family:var(--serif); font-style:italic; font-weight:500;
  font-size:clamp(2.1rem, 4.6vw, 3.6rem);
  line-height:1.12; margin:0 auto 22px; max-width:880px;
  text-shadow:0 3px 24px rgba(40,10,30,.55), 0 1px 0 rgba(255,200,120,.2);
}
.sec-film .lead{
  color:rgba(255,242,220,.95);
  max-width:640px; margin:0 auto 56px;
  font-size:1.06rem; line-height:1.7;
  text-shadow:0 2px 16px rgba(40,10,30,.45);
}

/* === STAGE : cadre doré chaud premium avec halo conic-gradient === */
.film-stage{
  position:relative;
  max-width:440px; margin:0 auto;
  padding:14px;
  background:linear-gradient(160deg, rgba(255,225,170,.22) 0%, rgba(255,160,90,.12) 100%);
  border-radius:24px;
  border:1px solid rgba(255,225,170,.35);
  backdrop-filter:blur(8px) saturate(120%); -webkit-backdrop-filter:blur(8px) saturate(120%);
  box-shadow:
    0 0 0 1px rgba(255,255,255,.08) inset,
    0 30px 80px -20px rgba(30,8,24,.55),
    0 0 80px -10px rgba(255,170,90,.4);
  isolation:isolate;
}
/* halo doré conique tournant derrière le stage */
.film-stage::before{
  content:''; position:absolute; inset:-12px; z-index:-1;
  border-radius:32px;
  background:conic-gradient(from 0deg at 50% 50%,
    rgba(255,220,140,.45),
    rgba(255,170,90,.30),
    rgba(217,78,58,.25),
    rgba(255,170,90,.30),
    rgba(255,220,140,.45));
  filter:blur(22px);
  opacity:.65;
  animation:stageGlow 18s linear infinite;
}
@keyframes stageGlow{
  to{transform:rotate(360deg)}
}

.film-frame{
  position:relative; display:block; width:100%; aspect-ratio:9/16;
  background:#000;
  border-radius:18px; overflow:hidden;
  box-shadow:0 20px 50px -10px rgba(20,5,18,.7);
}

.film-video{
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; display:block; background:#000;
  border:0; outline:0;
}
.film-frame[data-state="poster"] .film-video{pointer-events:none}
.film-frame[data-state="poster"] .film-video::-webkit-media-controls{display:none !important}

/* overlay poster+play */
.film-overlay{
  position:absolute; inset:0; width:100%; height:100%;
  background:transparent; border:0; padding:0; margin:0;
  cursor:pointer; z-index:5;
  display:block;
  transition:opacity .35s ease;
}
.film-frame[data-state="playing"] .film-overlay{opacity:0; pointer-events:none}

.film-veil{
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(40,10,30,.10) 0%, transparent 30%, rgba(40,10,30,.20) 60%, rgba(20,5,18,.55) 100%);
  transition:background .4s ease;
}
.film-overlay:hover .film-veil{
  background:linear-gradient(180deg, rgba(40,10,30,.05) 0%, transparent 30%, rgba(40,10,30,.10) 60%, rgba(20,5,18,.40) 100%);
}

/* Play button : disque soleil radial + pulse breath */
.film-play{
  position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  width:92px; height:92px; border-radius:50%;
  background:radial-gradient(circle at 35% 30%, #fff5dc 0%, #ffd070 30%, #ff9a45 65%, #d94e3a 100%);
  color:#fff;
  display:flex; align-items:center; justify-content:center;
  box-shadow:
    0 0 0 1px rgba(217,78,58,.5),
    0 0 0 14px rgba(255,240,200,.18),
    0 0 0 30px rgba(255,240,200,.10),
    0 24px 60px rgba(30,8,24,.6),
    0 0 80px rgba(255,180,90,.7);
  transition:transform .4s cubic-bezier(.2,.7,.2,1), box-shadow .4s ease;
  animation:sunBreath 6s ease-in-out infinite;
}
@keyframes sunBreath{
  0%,100%{
    box-shadow:
      0 0 0 1px rgba(217,78,58,.5),
      0 0 0 14px rgba(255,240,200,.18),
      0 0 0 30px rgba(255,240,200,.10),
      0 24px 60px rgba(30,8,24,.6),
      0 0 80px rgba(255,180,90,.7);
  }
  50%{
    box-shadow:
      0 0 0 1px rgba(217,78,58,.6),
      0 0 0 18px rgba(255,240,200,.26),
      0 0 0 38px rgba(255,240,200,.14),
      0 24px 60px rgba(30,8,24,.6),
      0 0 110px rgba(255,180,90,.9);
  }
}
.film-play svg{width:36px; height:36px; margin-left:5px; filter:drop-shadow(0 2px 4px rgba(20,5,18,.5))}
.film-overlay:hover .film-play{
  transform:translate(-50%,-50%) scale(1.10);
  animation-play-state:paused;
}

.film-caption{
  position:absolute; bottom:18px; left:50%; transform:translateX(-50%);
  color:#3a1818;
  background:rgba(255,245,220,.94);
  backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
  padding:8px 16px; border-radius:999px;
  font-size:.82rem; letter-spacing:.06em; font-weight:600;
  border:1px solid rgba(255,180,90,.45);
  box-shadow:0 6px 20px rgba(30,8,24,.35);
  white-space:nowrap;
}

@media (max-width:760px){
  .sec-film{padding:90px 18px 110px}
  .sec-film .lead{margin-bottom:38px; font-size:.98rem}
  .film-stage{padding:10px; border-radius:20px; max-width:100%}
  .film-frame{border-radius:14px}
  .film-play{width:74px; height:74px}
  .film-play svg{width:28px; height:28px; margin-left:4px}
  .film-caption{font-size:.74rem; padding:6px 12px; bottom:12px}
  .film-palms{height:32%}
  .film-flare{width:140px; height:140px; top:8%; right:6%}
  .film-reflection{width:80px; height:32%}
  .film-particles span{width:2px; height:2px}
}
@media (prefers-reduced-motion: reduce){
  .film-overlay, .film-play, .film-veil,
  .film-reflection, .film-flare, .film-particles span,
  .film-grain, .film-palms, .film-stage::before{
    animation:none !important; transition:none !important;
  }
  .film-particles span{opacity:.6}
  .film-overlay:hover .film-play{transform:translate(-50%,-50%)}
}


/* ============ MENU compact 2 cols 2026-06-14 ============ */
@media (min-width:980px){
  /* Affiche la liste d'items en 2 colonnes pour réduire la hauteur du menu */
  #menu .m-card .m-sec-compact .m-list,
  #menu .m-card .m-sec-detailed .m-list{
    column-count:2; column-gap:48px; column-rule:1px dotted rgba(42,31,23,.15);
  }
  #menu .m-card .m-sec-compact .m-list > *,
  #menu .m-card .m-sec-detailed .m-list > *{
    break-inside:avoid; -webkit-column-break-inside:avoid; page-break-inside:avoid;
  }
}
/* Espace bas du menu raccourci pour éliminer le vide perçu */
#menu{padding-bottom:40px} #work{padding-top:70px}

/* ============ FIND > Suivez-nous — 4 pills réseaux 2026-06-14 ============ */
.find-socials{
  display:flex; flex-wrap:wrap; gap:8px;
}
.find-soc{
  display:inline-flex; align-items:center; gap:8px;
  padding:8px 14px; border-radius:999px;
  background:rgba(247,199,114,.10);
  border:1px solid rgba(247,199,114,.28);
  color:var(--cream);
  text-decoration:none; font-size:.82rem; font-weight:600;
  letter-spacing:.02em;
  transition:background .25s ease, transform .25s ease, border-color .25s ease;
}
.find-soc:hover{
  background:rgba(247,199,114,.22);
  border-color:rgba(247,199,114,.55);
  transform:translateY(-1px);
}
.find-soc svg{width:16px; height:16px; flex-shrink:0; color:var(--gold)}

/* ============ FOOTER logo lisibilité 2026-06-14 ============ */
.ft-brand .brand-name{color:#f7e2b0 !important}
.ft-brand .brand-sub{color:rgba(247,199,114,.85) !important}

/* ============ Hero eyebrow cliquable → Google Maps 2026-06-14 ============ */
a.hero-eyebrow{
  text-decoration:none;
  cursor:pointer;
  transition:background .25s ease, border-color .25s ease, transform .25s ease, color .25s ease;
}
a.hero-eyebrow:hover{
  background:rgba(212,168,90,.18);
  border-color:rgba(212,168,90,.7);
  color:#f7d68a;
  transform:translateY(-1px);
}
a.hero-eyebrow::after{
  content:''; display:inline-block; vertical-align:middle;
  width:10px; height:10px; margin-left:8px;
  background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23d4a85a' stroke-width='2.5' stroke-linecap='round'><path d='M7 17 L17 7 M9 7 H17 V15'/></svg>") no-repeat center / contain;
  opacity:.85;
}

/* ============ CARTE MODALE 2026-06-14 ============ */
/* La carte n'est pas dans le flux d'accueil — accessible uniquement via le lien nav "La carte" */
#menu{ display:none; }
#menu.is-open{
  display:block;
  position:fixed; inset:0; z-index:80;
  overflow-y:auto; -webkit-overflow-scrolling:touch;
  background:var(--cream);
  animation:carteFadeIn .35s cubic-bezier(.2,.7,.2,1);
  padding-top:24px;
}
body.carte-open{ overflow:hidden; }
@keyframes carteFadeIn{
  from{ opacity:0; transform:translateY(8px); }
  to  { opacity:1; transform:translateY(0); }
}

.carte-close{
  position:fixed; top:18px; right:18px;
  width:52px; height:52px; border-radius:50%;
  background:rgba(28,18,12,.96);
  color:#fff5e6;
  border:1.5px solid rgba(247,199,114,.55);
  display:none; align-items:center; justify-content:center;
  cursor:pointer; z-index:9999;
  box-shadow:0 10px 28px rgba(42,31,23,.35), 0 0 0 4px rgba(255,255,255,.18);
  transition:transform .25s ease, background .25s ease;
}
.carte-close span{ font-size:28px; line-height:1; font-weight:300; }
.carte-close:hover{ background:rgba(42,31,23,1); transform:scale(1.08); }
#menu.is-open ~ .carte-close,
.carte-close.is-visible{ display:flex; }

@media (max-width:760px){
  .carte-close{ top:12px; right:12px; width:42px; height:42px; }
  .carte-close span{ font-size:24px; }
  #menu.is-open{ padding-top:18px; }
}
@media (prefers-reduced-motion: reduce){
  #menu.is-open{ animation:none; }
  .carte-close{ transition:none; }
  .carte-close:hover{ transform:none; }
}


/* ============ WORK VIDEO (visite guidée workspace) 2026-06-14 ============ */
#work .work-video{ position:relative; width:100%; max-width:480px; margin:0 auto; }
#work .work-video .film-frame{
  position:relative; display:block; width:100%;
  aspect-ratio:9/16;
  background:#000;
  border-radius:18px; overflow:hidden; cursor:pointer;
  box-shadow:0 24px 60px -16px rgba(42,31,23,.35), 0 0 0 1px rgba(212,168,90,.18);
}
#work .work-video .film-video{
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; display:block; background:#000; border:0;
}
#work .work-video .film-overlay{
  position:absolute; inset:0; width:100%; height:100%;
  background:transparent; border:0; padding:0; margin:0; cursor:pointer; z-index:5;
  display:block; transition:opacity .35s ease;
}
#work .work-video .film-frame[data-state="playing"] .film-overlay{ opacity:0; pointer-events:none; }
#work .work-video .film-veil{
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(42,31,23,.05) 0%, transparent 30%, rgba(42,31,23,.18) 60%, rgba(20,12,8,.50) 100%);
  transition:background .4s ease;
}
#work .work-video .film-overlay:hover .film-veil{ background:linear-gradient(180deg, rgba(42,31,23,.03) 0%, transparent 30%, rgba(42,31,23,.10) 60%, rgba(20,12,8,.38) 100%); }
#work .work-video .film-play{
  position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  width:80px; height:80px; border-radius:50%;
  background:radial-gradient(circle at 35% 30%, #fff5dc 0%, #f7c772 35%, #e88a3c 75%, #c8633a 100%);
  color:#fff; display:flex; align-items:center; justify-content:center;
  box-shadow:0 0 0 1px rgba(200,99,58,.4), 0 0 0 10px rgba(247,241,230,.18), 0 18px 40px rgba(200,99,58,.4), 0 0 50px rgba(247,199,114,.4);
  transition:transform .35s cubic-bezier(.2,.7,.2,1), box-shadow .35s ease;
}
#work .work-video .film-play svg{ width:30px; height:30px; margin-left:4px; filter:drop-shadow(0 2px 4px rgba(42,31,23,.35)); }
#work .work-video .film-overlay:hover .film-play{
  transform:translate(-50%,-50%) scale(1.08);
  box-shadow:0 0 0 1px rgba(200,99,58,.55), 0 0 0 14px rgba(247,241,230,.24), 0 22px 50px rgba(200,99,58,.5), 0 0 70px rgba(247,199,114,.55);
}
#work .work-video .film-caption{
  position:absolute; bottom:14px; left:50%; transform:translateX(-50%);
  color:var(--espresso);
  background:rgba(255,250,240,.94);
  backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
  padding:7px 14px; border-radius:999px;
  font-size:.78rem; letter-spacing:.06em; font-weight:600;
  border:1px solid rgba(212,168,90,.4);
  box-shadow:0 6px 18px rgba(42,31,23,.18);
  white-space:nowrap;
}
@media (max-width:880px){
  #work .work-video{ max-width:380px; }
  #work .work-video .film-play{ width:66px; height:66px; }
  #work .work-video .film-play svg{ width:24px; height:24px; }
}
@media (prefers-reduced-motion: reduce){
  #work .work-video .film-overlay, #work .work-video .film-play, #work .work-video .film-veil{ transition:none; }
  #work .work-video .film-overlay:hover .film-play{ transform:translate(-50%,-50%); }
}

/* Neutralise l'ancien bloc cinéma .sec-film (plus utilisé) */
.sec-film{ display:none !important; }

/* ============ STORY (sec-dark) — texte clair sur fond marron 2026-06-14 ============ */
#story.sec-dark .story-text p{ color:rgba(247,241,230,.82); }
#story.sec-dark .story-text p:first-of-type{ color:#fff5e6; font-weight:400; }
#story.sec-dark .story-sig{ color:var(--gold) !important; }
#story.sec-dark .story-card{
  background:linear-gradient(145deg, rgba(255,245,220,.08) 0%, rgba(212,168,90,.06) 100%);
  border:1px solid rgba(212,168,90,.30);
  box-shadow:0 20px 50px -20px rgba(0,0,0,.55), 0 0 0 1px rgba(255,255,255,.04) inset;
  backdrop-filter:blur(8px) saturate(120%); -webkit-backdrop-filter:blur(8px) saturate(120%);
}
#story.sec-dark .stat-num{ color:var(--gold); }
#story.sec-dark .stat-num sup{ color:var(--gold-d); }
#story.sec-dark .stat-lab{ color:rgba(247,241,230,.78); }

/* ============ TASTE (sec-cream) — cartes claires sur fond crème 2026-06-14 ============ */
#taste.sec-cream .taste-card{
  background:linear-gradient(160deg, #ffffff 0%, var(--cream-2) 100%);
  border:1px solid var(--line);
  box-shadow:var(--shadow-card);
}
#taste.sec-cream .taste-card::before{
  background:linear-gradient(135deg, rgba(212,168,90,.14), transparent 60%);
}
#taste.sec-cream .taste-card:hover{ border-color:rgba(212,168,90,.55); }
#taste.sec-cream .taste-icon{
  background:linear-gradient(135deg, rgba(212,168,90,.22), rgba(200,99,58,.18));
  color:var(--terra);
}
#taste.sec-cream .taste-card h3{ color:var(--espresso); }
#taste.sec-cream .taste-card p{ color:var(--ink-soft); }
#taste.sec-cream .halal-pill{
  background:rgba(107,140,90,.12);
  border:1px solid rgba(107,140,90,.45);
  color:var(--espresso);
}

/* ============ STAT ICO (Story dark) — pictos doré à la place des chiffres 2026-06-14 ============ */
.stat-ico{
  display:inline-flex; align-items:center; justify-content:center;
  width:54px; height:54px; min-width:54px; border-radius:14px;
  background:linear-gradient(135deg, rgba(212,168,90,.22), rgba(200,99,58,.16));
  border:1px solid rgba(212,168,90,.30);
  color:var(--gold);
  box-shadow:0 4px 18px -6px rgba(0,0,0,.4), inset 0 1px 0 rgba(255,255,255,.06);
}
.stat-ico svg{ width:26px; height:26px; }
#story.sec-dark .story-stat{ align-items:center; gap:18px; }
#story.sec-dark .stat-lab{ font-size:1rem; line-height:1.45; color:rgba(247,241,230,.85); }

/* ============ TASTE PHOTOS (sec-cream) — photo haut + texte bas 2026-06-14 ============ */
#taste .taste-card{
  padding:0; overflow:hidden;
  display:flex; flex-direction:column;
}
.taste-photo{
  position:relative; width:100%; aspect-ratio:5/3;
  overflow:hidden;
  background:#f0e8d9;
}
.taste-photo img{
  width:100%; height:100%; object-fit:cover; display:block;
  transition:transform .7s cubic-bezier(.2,.7,.2,1);
}
#taste .taste-card:hover .taste-photo img{ transform:scale(1.06); }
#taste .taste-card h3{
  margin:22px 24px 10px;
}
#taste .taste-card p{
  margin:0 24px 24px;
}
@media (max-width:760px){
  .stat-ico{ width:46px; height:46px; min-width:46px; border-radius:12px; }
  .stat-ico svg{ width:22px; height:22px; }
  #story.sec-dark .stat-lab{ font-size:.95rem; }
  .taste-photo{ aspect-ratio:16/9; }
  #taste .taste-card h3{ margin:18px 20px 8px; }
  #taste .taste-card p{ margin:0 20px 20px; }
}

/* ============ FIX flash blanc sur hard refresh : .sec-dark ne fade jamais 2026-06-14 ============ */
.sec-dark.reveal{ opacity:1 !important; transform:none !important; }
.ft.reveal{ opacity:1 !important; transform:none !important; }




.hero-scroll{
  width:auto !important; height:auto !important;
  border:0 !important; border-radius:0 !important;
  padding:0 !important;
  color:rgba(247,241,230,.55);
  transition:color .3s ease, transform .4s ease;
}
.hero-scroll:hover{ color:var(--gold); transform:translate(-50%,4px); }
.scroll-arrow{
  width:34px; height:34px; display:block;
  animation:none !important;
  opacity:.9;
}

/* ============ Workspace — vidéo plus compacte pour matcher la colonne texte 2026-06-14 ============ */
#work .work-video{ max-width:280px !important; }
@media (max-width:760px){
  #work .work-video{ max-width:240px !important; }
}


/* ============ Team — bloc culture multiculturelle 2026-06-14 ============ */
.team-culture{
  margin-top:18px;
  background:linear-gradient(160deg, #fff 0%, var(--cream-2) 100%);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:24px 24px 22px;
  box-shadow:var(--shadow-card);
  position:relative;
  overflow:hidden;
}
.team-culture::before{
  content:""; position:absolute; top:0; left:0; right:0; height:3px;
  background:linear-gradient(90deg, var(--terra), var(--gold), var(--jade));
}
.culture-kicker{
  display:block;
  color:var(--terra);
  letter-spacing:.22em;
  text-transform:uppercase;
  font-size:.72rem;
  font-weight:700;
  margin-bottom:12px;
}
.culture-flags{
  display:flex;
  gap:10px;
  align-items:center;
  margin-bottom:14px;
  flex-wrap:wrap;
}
.culture-flag{
  display:inline-flex;
  width:34px;
  height:22px;
  border-radius:4px;
  overflow:hidden;
  background:#fff;
  border:1px solid rgba(42,31,23,.18);
  box-shadow:
    0 2px 6px rgba(42,31,23,.22),
    inset 0 0 0 0.5px rgba(255,255,255,.5);
  flex:0 0 auto;
  transition:transform .25s ease;
}
.culture-flag:hover{ transform:translateY(-1px) scale(1.04); }
.culture-flag svg{ display:block; width:100%; height:100%; }
.culture-lang{
  font-size:.7rem;
  font-weight:700;
  letter-spacing:.12em;
  padding:5px 11px;
  border-radius:999px;
  background:rgba(212,168,90,.18);
  color:var(--terra);
  border:1px solid rgba(212,168,90,.4);
}
.culture-text{
  font-size:.95rem;
  color:var(--ink-soft);
  line-height:1.65;
  margin:0;
}
@media (max-width:760px){
  .team-culture{ padding:20px 20px 18px; }
  .culture-flag{ width:30px; height:20px; border-radius:3px; }
  .culture-text{ font-size:.9rem; }
}


/* ============ Hero — retire le tiret a droite de la baseline (entre texte et photo) 2026-06-14 ============ */
.hero-baseline::after{ display:none !important; }

/* ============ Taste — recadrage object-position 2026-06-14 ============ */
.taste-photo img[src*="taste-coffee-md"]{ object-position:50% 50% !important; }   /* taste-1 : cafe libre de droit */
.taste-photo img[src*="taste-cocktail-md"]{ object-position:25% 85% !important; }   /* taste-4 : focus cocktail bas-gauche */

/* ============ Gallery & taste — recadrages 2026-06-14 ============ */
/* Taste section (cartes savours) */
.taste-photo img[src*="taste-coffee-md"]{ object-position:50% 50% !important; }
.taste-photo img[src*="taste-cocktail-md"]{ object-position:25% 85% !important; }

/* Gallery recadrages */
.gal-item.gal-2 img{ object-position:50% 62% !important; }

.gal-item.gal-4 img{ transform:scaleX(-1); }
.gal-item.gal-4:hover img{ transform:scaleX(-1) scale(1.04); }

.gal-item.gal-5 img{ object-position:62% 50% !important; }
.gal-item.gal-6 img{ object-position:50% 48% !important; }
.gal-item.gal-11 img{ object-position:50% 18% !important; }
.gal-item.gal-8 img{ object-position:50% 72% !important; }

/* gal-12 = position 12 (omelette) : voir plus le bas */
.gal-item.gal-12 img{ object-position:50% 72% !important; }

/* Spans pour items gal-11/14/16 (gal-15 supprimé) */
.gal-11{ grid-column:span 3; grid-row:span 2 }
.gal-12{ grid-column:span 3; grid-row:span 2 }
.gal-13{ grid-column:span 2; grid-row:span 3 }

@media (max-width: 900px){
  .gal-11{ grid-column:span 2; grid-row:span 2 }
  .gal-12{ grid-column:span 2; grid-row:span 2 }
  .gal-13{ grid-column:span 2; grid-row:span 3 }
}
@media (max-width: 700px){
  .gal-11, .gal-12{ grid-column:span 2; grid-row:span 2 }
  .gal-13{ grid-column:span 2; grid-row:span 3 }
}
@media (max-width: 480px){
  .gal-11, .gal-12{ grid-column:span 1; grid-row:span 2 }
  .gal-13{ grid-column:span 1; grid-row:span 3 }
}

/* ============ FOOTER CENTERED 2026-06-14 ============ */
.ft{ padding:64px 6vw 36px; text-align:center; }
.ft-in{ max-width:760px; margin:0 auto; display:flex; flex-direction:column; align-items:center; gap:14px; }
.ft-brand{ margin-bottom:6px; font-size:2rem; }
.ft-brand .brand-sub{ display:inline-block; margin-left:8px; }
.ft-sig{ margin:0; font-size:.92rem; color:rgba(247,241,230,.78); font-style:italic; letter-spacing:.02em; }
.ft-line{ margin:0; font-size:.95rem; }
.ft-line a{ color:rgba(247,241,230,.92); text-decoration:none; border-bottom:1px solid rgba(247,199,114,.25); transition:color .2s, border-color .2s; }
.ft-line a:hover{ color:var(--gold); border-color:var(--gold); }
.ft-hours{ color:rgba(247,241,230,.72); font-size:.9rem; letter-spacing:.02em; }
.ft-socials{ justify-content:center; gap:10px; margin-top:6px; flex-wrap:wrap; }
.lang-switch-ft{ margin-top:6px; }
.ft-copy{
  margin-top:18px; padding-top:18px;
  border-top:1px solid rgba(247,241,230,.10);
  width:100%; max-width:520px;
  display:flex; justify-content:center; gap:8px; flex-wrap:wrap;
  font-size:.8rem; opacity:.62;
}
.ft-legal-min{ font-size:.74rem; color:rgba(247,241,230,.42); letter-spacing:.04em; margin-top:4px; }
@media (max-width: 600px){
  .ft-brand{ font-size:1.6rem; }
  .ft-line, .ft-sig{ font-size:.88rem; }
  .ft-line.ft-address{ padding:0 6px; }
}

/* ============ EVENING → FIND : dégradé doux 2026-06-14 ============ */
.evening{ position:relative; }
.evening::after{
  content:''; position:absolute; left:0; right:0; bottom:0; height:38%;
  pointer-events:none; z-index:0;
  background:linear-gradient(180deg, rgba(42,31,23,0) 0%, rgba(42,31,23,.55) 55%, rgba(42,31,23,.95) 90%, #2a1f17 100%);
}
.evening-content{ position:relative; z-index:1; }

/* ============ GAL-17 petit carre droite (ex-gal-9) 2026-06-14 ============ */
.gal-8{ grid-column:span 1 !important; grid-row:span 1 !important; }
@media (max-width:600px){ .gal-8{ grid-column:span 1 !important; grid-row:span 1 !important; } }

/* ============ FOOTER IVOIRE PREMIUM 2026 — 2026-06-14 ============ */
.ft{
  position:relative; isolation:isolate; overflow:hidden;
  padding:44px 6vw 24px !important;
  text-align:center !important;
  color:#3d2a1e !important;
  background:
    radial-gradient(60% 50% at 50% 0%, rgba(212,168,90,.18), transparent 70%),
    radial-gradient(45% 60% at 12% 80%, rgba(212,168,90,.10), transparent 65%),
    radial-gradient(50% 55% at 88% 75%, rgba(200,99,58,.10), transparent 65%),
    linear-gradient(180deg, #fbf5e8 0%, #f5ecd9 60%, #ede0c4 100%) !important;
  border-top:1px solid rgba(60,38,22,.08);
}
.ft::before, .ft::after{ content:none !important; }

.ft-glow{ position:absolute; pointer-events:none; z-index:0; border-radius:50%; filter:blur(90px); }
.ft-glow-1{ width:560px; height:560px; top:-220px; left:-140px; background:radial-gradient(circle, rgba(212,168,90,.50), transparent 70%); opacity:.55; }
.ft-glow-2{ width:620px; height:620px; bottom:-260px; right:-180px; background:radial-gradient(circle, rgba(200,99,58,.34), transparent 70%); opacity:.45; }

.ft-grain{
  position:absolute; inset:0; pointer-events:none; z-index:0;
  opacity:.06; mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/></svg>");
}

.ft-in{
  position:relative; z-index:1;
  max-width:760px !important; margin:0 auto;
  display:flex !important; flex-direction:column; align-items:center; gap:18px;
}

.ft-ornament{
  display:flex; align-items:center; gap:14px; justify-content:center;
  color:#b8893a; margin-bottom:8px;
}
.ft-ornament .ft-line-deco{
  display:inline-block; width:80px; height:1px;
  background:linear-gradient(90deg, transparent, rgba(184,137,58,.55), transparent);
}
.ft-ornament svg{ animation:ftStarSpin 22s linear infinite; }
@keyframes ftStarSpin{ to{ transform:rotate(360deg); } }
@media (prefers-reduced-motion: reduce){ .ft-ornament svg{ animation:none; } }

.ft-brand{
  margin:0 !important;
  font-family:var(--serif,'Cormorant Garamond',serif);
  font-size:2.6rem !important; font-weight:500;
  letter-spacing:.02em; line-height:1.1;
  color:#22150e !important;
}
.ft-brand .brand-name{
  background:linear-gradient(180deg, #3d2a1e 0%, #6e4a26 55%, #b8893a 100%);
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent; color:transparent;
}
.ft-brand .brand-sub{
  display:block; margin-top:2px;
  font-size:.72rem; font-style:italic; letter-spacing:.36em;
  text-transform:uppercase;
  color:#b8893a !important;
  font-family:'Inter',system-ui,sans-serif;
}

.ft-sig{
  margin:0 !important;
  font-size:.96rem; font-style:italic;
  color:rgba(60,38,22,.72) !important;
  letter-spacing:.01em;
}

.ft-meta{
  display:flex; flex-wrap:wrap; gap:10px; justify-content:center;
  margin-top:6px;
}
.ft-pill{
  display:inline-flex; align-items:center; gap:8px;
  padding:9px 16px; border-radius:999px;
  border:1px solid rgba(184,137,58,.30);
  background:rgba(255,253,247,.55);
  color:#3d2a1e;
  text-decoration:none;
  font-size:.86rem; letter-spacing:.01em;
  transition:background .25s, border-color .25s, color .25s, transform .25s, box-shadow .25s;
  backdrop-filter:blur(6px);
}
.ft-pill svg{ color:#b8893a; transition:color .25s, transform .25s; }
.ft-pill:hover{
  background:rgba(184,137,58,.10);
  border-color:rgba(184,137,58,.65);
  color:#22150e;
  transform:translateY(-1px);
  box-shadow:0 4px 14px rgba(184,137,58,.18);
}
.ft-pill:hover svg{ color:#8c6418; transform:scale(1.1); }

.ft-divider{
  display:flex; align-items:center; gap:12px; justify-content:center;
  width:100%; max-width:360px;
  margin-top:14px; color:rgba(184,137,58,.55);
}
.ft-divider span{ flex:1; height:1px; background:linear-gradient(90deg, transparent, rgba(184,137,58,.40), transparent); }

.ft-copy{
  margin:0 !important; padding:0 !important; border:0 !important;
  display:flex !important; justify-content:center; gap:10px; flex-wrap:wrap;
  font-size:.82rem !important; letter-spacing:.04em;
  color:rgba(60,38,22,.62) !important;
  opacity:1 !important;
}
.ft-copy .ft-dot{ color:rgba(184,137,58,.6); opacity:1; }

.ft-credit{
  margin:10px 0 0 !important;
  display:flex; justify-content:center; gap:10px; flex-wrap:wrap;
  font-size:.62rem; letter-spacing:.06em;
  color:rgba(60,38,22,.22);
  font-style:italic; font-weight:300;
}
.ft-credit a{
  color:rgba(60,38,22,.32); text-decoration:none;
  border-bottom:1px solid rgba(184,137,58,.12);
  transition:color .25s, border-color .25s;
}
.ft-credit a:hover{ color:#8c6418; border-color:rgba(184,137,58,.4); }
.ft-credit .ft-dot{ color:rgba(184,137,58,.5); }

/* Liaison douce find (brun) -> footer (ivoire) : on retire le voile sombre precedent */
#find::after{ content:none !important; }

@media (max-width:600px){
  .ft{ padding:36px 5vw 20px !important; }
  .ft-brand{ font-size:2rem !important; }
  .ft-brand .brand-sub{ font-size:.66rem; letter-spacing:.28em; }
  .ft-pill{ font-size:.8rem; padding:8px 14px; }
  .ft-ornament .ft-line-deco{ width:48px; }
}

/* ============ EVENING — enseigne lisible au centre 2026-06-14 ============ */
.evening{
  min-height:720px !important;
  align-items:stretch !important;
  padding-top:48px !important; padding-bottom:64px !important;
}
.evening-content{
  display:flex !important; flex-direction:column; align-items:center;
  width:100%; max-width:780px;
}
.evening-content .kicker{ margin-bottom:0 !important; }
.evening-content .h2{ margin-top:auto !important; }
@media (max-width:760px){
  .evening{ min-height:580px !important; padding-top:90px !important; padding-bottom:60px !important; }
}

/* [FOOTER-HALF 2026-06-15] réduit le footer ~50% */
.ft{ padding:32px 6vw 18px !important; }
.ft-in{ gap:7px !important; max-width:420px !important; }
.ft-brand{ margin-bottom:3px !important; font-size:1rem !important; }
.ft-brand .brand-sub{ font-size:.55rem !important; margin-left:4px !important; letter-spacing:.12em !important; }
.ft-sig{ font-size:.62rem !important; margin:0 !important; }
.ft-ornament{ transform:scale(0.55); transform-origin:center; margin:-6px 0 -8px !important; }
.ft-meta{ gap:6px !important; margin-top:4px !important; }
.ft-pill{ font-size:.68rem !important; padding:4px 10px !important; }
.ft-pill svg{ width:11px !important; height:11px !important; }
.ft-divider{ transform:scale(0.55); margin:2px 0 !important; }
.ft-copy{ font-size:.62rem !important; gap:4px !important; margin-top:2px !important; }
.ft-copy .ft-dot{ font-size:.6rem !important; }
.ft-legal-min{ font-size:.55rem !important; margin-top:2px !important; }
.ft-socials{ gap:6px !important; margin-top:2px !important; }
.ft-socials a{ width:24px !important; height:24px !important; }
.ft-socials svg{ width:12px !important; height:12px !important; }
.ft-glow-1, .ft-glow-2{ transform:scale(0.55); opacity:.32 !important; }


/* ============================================================
   MOBILE PREMIUM 2026-06-17 — identité Amaya respectée
   Tag : [MOBILE-PREM 2026-06-17] (Brice)
   ============================================================ */

/* === GALLERY LIGHTBOX (mobile + tap utilisable partout) === */
.gl-lb{
  position:fixed; inset:0; z-index:200;
  background:rgba(20,12,6,.95);
  display:none; align-items:center; justify-content:center;
  padding:24px 16px;
}
.gl-lb.is-open{ display:flex; }
.gl-lb-stage{ width:100%; height:100%; display:flex; align-items:center; justify-content:center; }
.gl-lb-stage img{
  max-width:100%; max-height:calc(100vh - 100px); object-fit:contain;
  border-radius:8px; box-shadow:0 30px 80px -30px rgba(0,0,0,.6);
  animation:glLbIn .3s cubic-bezier(.2,.7,.2,1);
}
@keyframes glLbIn{ from{opacity:0; transform:scale(.96)} to{opacity:1; transform:scale(1)} }
.gl-lb-close, .gl-lb-prev, .gl-lb-next{
  border:0; color:#fff; cursor:pointer;
  background:rgba(255,255,255,.12); backdrop-filter:blur(8px);
  position:absolute; border-radius:50%;
  display:inline-flex; align-items:center; justify-content:center;
  transition:background .2s;
}
.gl-lb-close{ top:14px; right:14px; width:46px; height:46px; font-size:1.6rem; line-height:1; }
.gl-lb-prev, .gl-lb-next{ top:50%; transform:translateY(-50%); width:48px; height:48px; font-size:2rem; }
.gl-lb-prev{ left:10px; }
.gl-lb-next{ right:10px; }
.gl-lb-close:hover, .gl-lb-prev:hover, .gl-lb-next:hover{ background:rgba(255,255,255,.22); }
.gl-lb-count{
  position:absolute; bottom:18px; left:50%; transform:translateX(-50%);
  color:rgba(255,255,255,.7); font-size:.85rem; letter-spacing:.08em;
  background:rgba(0,0,0,.3); padding:5px 12px; border-radius:999px;
}
body.lb-open{ overflow:hidden; }

/* === STICKY CTA BOTTOM (mobile uniquement) === */
.sticky-cta{
  position:fixed; left:14px; right:14px; bottom:14px;
  z-index:60; display:none; gap:10px;
  padding:10px;
  background:linear-gradient(180deg, rgba(247,241,230,.96), rgba(247,241,230,.99));
  backdrop-filter:blur(14px) saturate(1.1);
  border:1px solid rgba(42,31,23,.1);
  border-radius:18px;
  box-shadow:0 18px 50px -18px rgba(42,31,23,.35);
  transform:translateY(140%);
  transition:transform .4s cubic-bezier(.2,.7,.2,1);
}
.sticky-cta.is-on{ display:flex; }
.sticky-cta.is-shown{ transform:translateY(0); }
.sticky-cta a{
  flex:1; min-height:48px;
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:0 14px; border-radius:12px;
  font-weight:600; font-size:.92rem; letter-spacing:.02em;
  transition:transform .15s, background .2s;
  font-family:var(--sans);
}
.sticky-cta a.is-primary{
  background:var(--espresso); color:var(--cream);
  box-shadow:0 8px 20px -8px rgba(42,31,23,.4);
}
.sticky-cta a.is-primary:active{ transform:scale(.98); background:#1a120c; }
.sticky-cta a.is-ghost{
  background:transparent; color:var(--espresso);
  border:1px solid rgba(42,31,23,.18);
}
.sticky-cta a.is-ghost:active{ transform:scale(.98); background:rgba(42,31,23,.04); }
.sticky-cta svg{ width:18px; height:18px; stroke-width:1.8; }

/* Mobile-only éléments cachés desktop par défaut */
.nav-lang-mobile, .nav-social-mobile, .nav-lang-label{ display:none; }

/* === MEDIA PRINCIPAL ≤ 760px === */
@media(max-width:760px){
  /* HEADER */
  .nav{ padding:10px 18px 14px !important; gap:10px !important; }
  .brand-text .brand-sub{ display:none; }
  .brand-mark{ width:38px; height:38px; }
  .brand-name{ font-size:1.25rem; }
  /* Switcher langue desktop caché, le mobile est dans l'overlay */
  header.nav > .lang-switch{ display:none; }
  .burger{
    width:44px; height:44px; padding:11px;
    border:1px solid var(--line); border-radius:11px;
    background:rgba(247,241,230,.7); backdrop-filter:blur(6px);
    display:flex; flex-direction:column; justify-content:space-between;
    margin-left:auto;
  }
  .burger span{ width:22px; }

  /* MENU OVERLAY plein écran premium */
  .nav-links{
    position:fixed !important; top:0 !important; left:0; right:0; bottom:0;
    height:100dvh; padding:88px 28px 32px !important;
    background:
      radial-gradient(ellipse 80% 50% at 50% 0%, rgba(212,168,90,.18), transparent 70%),
      linear-gradient(160deg, #f7f1e6 0%, #efe4cf 60%, #e8dcc1 100%) !important;
    backdrop-filter:none;
    display:none; flex-direction:column; gap:0 !important;
    transform:translateX(100%);
    transition:transform .42s cubic-bezier(.2,.7,.2,1);
    box-shadow:none !important; border:0 !important;
    overflow-y:auto;
  }
  .nav-links.is-open{
    display:flex !important;
    transform:translateX(0);
  }
  .nav-links > a{
    font-family:var(--serif) !important;
    font-size:1.55rem !important; font-weight:500 !important;
    color:var(--espresso) !important;
    padding:18px 0 !important;
    border-bottom:1px solid rgba(42,31,23,.08) !important;
    letter-spacing:.005em;
    opacity:0; transform:translateY(8px);
    transition:opacity .35s, transform .35s, color .2s;
  }
  .nav-links.is-open > a{ opacity:1; transform:translateY(0); }
  .nav-links.is-open > a:nth-of-type(1){ transition-delay:.12s }
  .nav-links.is-open > a:nth-of-type(2){ transition-delay:.18s }
  .nav-links.is-open > a:nth-of-type(3){ transition-delay:.24s }
  .nav-links.is-open > a:nth-of-type(4){ transition-delay:.30s }
  .nav-links.is-open > a:nth-of-type(5){ transition-delay:.36s }
  .nav-links a:active{ color:var(--terra) !important; }

  /* Switcher langue mobile dans l'overlay */
  .nav-lang-label{
    display:block; text-align:left;
    font-size:.7rem; font-weight:600;
    letter-spacing:.2em; text-transform:uppercase;
    color:var(--ink-soft); opacity:.6;
    margin:28px 0 10px;
  }
  .nav-lang-mobile{
    display:flex !important; gap:10px;
    margin-bottom:8px;
  }
  .nav-lang-mobile button{
    flex:1; padding:13px 0; border-radius:12px;
    background:rgba(42,31,23,.04);
    border:1px solid rgba(42,31,23,.1);
    color:var(--ink-soft); font-family:var(--sans);
    font-size:.85rem; font-weight:600; letter-spacing:.08em;
    cursor:pointer; transition:all .2s;
    display:inline-flex; align-items:center; justify-content:center; gap:8px;
  }
  .nav-lang-mobile button .lang-flag{
    display:inline-block; width:22px; height:14px; border-radius:2px;
    overflow:hidden; box-shadow:0 1px 2px rgba(0,0,0,.15); flex-shrink:0;
  }
  .nav-lang-mobile button.is-active{
    background:var(--espresso); color:var(--cream); border-color:var(--espresso);
  }
  .nav-social-mobile{
    display:flex !important; gap:12px; justify-content:center;
    margin-top:24px; padding-top:20px;
    border-top:1px solid rgba(42,31,23,.08);
  }
  .nav-social-mobile a{
    width:44px; height:44px; border-radius:50%;
    display:inline-flex; align-items:center; justify-content:center;
    background:rgba(42,31,23,.05); color:var(--espresso);
    border:1px solid rgba(42,31,23,.08);
    transition:all .2s;
  }
  .nav-social-mobile a:hover, .nav-social-mobile a:active{
    background:var(--terra); color:#fff; border-color:var(--terra);
  }
  .nav-social-mobile svg{ width:18px; height:18px; }

  body.nav-open{ overflow:hidden; }

  /* HERO premium mobile */
  .hero{ padding:60px 22px 32px !important; }
  .hero-eyebrow{ font-size:.68rem; padding:7px 14px; margin-bottom:14px; }
  .hero-title{
    font-size:clamp(2.8rem, 12vw, 4.2rem) !important;
    line-height:1 !important;
    margin:0 0 14px;
  }
  .hero-baseline{ font-size:.72rem; letter-spacing:.22em; margin:0 0 18px; }
  .hero-tagline{ font-size:1.02rem; line-height:1.55; margin:0 0 4px; }
  .hero-cta{
    display:flex !important; flex-direction:column !important; gap:12px !important;
    margin-bottom:24px;
  }
  .hero-cta .btn{
    width:100%; padding:16px 22px !important; min-height:56px;
    font-size:1rem; border-radius:14px;
    display:inline-flex; align-items:center; justify-content:center; gap:10px;
  }
  .hero-cta .btn-primary{
    box-shadow:0 10px 30px -10px rgba(200,99,58,.45);
  }
  .hero-photo{ margin-top:0 !important; max-width:100% !important; }
  .hero-photo img{
    border-radius:18px; aspect-ratio:4/5; object-fit:cover;
    box-shadow:0 25px 60px -25px rgba(0,0,0,.55);
  }
  .hero-photo-deco{ display:block; position:absolute; inset:14px 14px -14px -14px; border:1.5px solid rgba(212,168,90,.38); border-radius:18px; z-index:-1; pointer-events:none; }
  .hero-meta{ font-size:.8rem; margin-top:18px; }

  /* TASTE cards premium */
  .taste-grid{
    grid-template-columns:1fr !important;
    gap:18px !important;
  }
  .taste-card{
    padding:0 !important;
    border-radius:18px !important;
    overflow:hidden;
    background:#fff !important;
    border:1px solid rgba(42,31,23,.08) !important;
    box-shadow:0 12px 30px -16px rgba(42,31,23,.22);
  }
  .taste-card .taste-photo{
    width:100%; aspect-ratio:16/10; overflow:hidden;
    border-radius:0; margin:0;
  }
  .taste-card .taste-photo img{
    width:100%; height:100%; object-fit:cover;
    transition:transform .6s;
  }
  .taste-card:hover .taste-photo img,
  .taste-card:active .taste-photo img{ transform:scale(1.04); }
  .taste-card h3, .taste-card p{
    padding-left:20px; padding-right:20px;
  }
  .taste-card h3{
    margin-top:18px; margin-bottom:8px;
    color:var(--espresso) !important; font-family:var(--serif);
    font-size:1.35rem;
  }
  .taste-card p{ color:var(--ink-soft) !important; padding-bottom:22px; font-size:.95rem; line-height:1.6; }

  /* STORY card stat */
  .story-card{ padding:24px 18px !important; border-radius:16px; margin-top:26px; }
  .story-stat{ gap:14px !important; align-items:flex-start; }
  .stat-ico{ flex-shrink:0; margin-top:2px; }
  .story-text p:first-of-type{ font-size:1.1rem; }

  /* WORK section */
  .sec-split{ gap:36px !important; }
  .check-list{ font-size:.95rem; line-height:1.7; padding-left:0; list-style:none; }
  .check-list li{ display:flex; gap:10px; align-items:flex-start; }
  .check-list .check{
    flex-shrink:0; width:22px; height:22px; border-radius:50%;
    background:var(--gold); color:#fff; display:inline-flex;
    align-items:center; justify-content:center; font-size:.75rem;
  }

  /* TEAM */
  .team-grid{ gap:36px !important; }
  .team-quote{ font-size:1.08rem; line-height:1.55; padding-left:18px; }
  .culture-flags{ gap:10px; justify-content:flex-start; }
  .culture-flag{ width:32px; height:22px; border-radius:3px; overflow:hidden; box-shadow:0 1px 3px rgba(0,0,0,.18); }
  .culture-flag svg{ width:100%; height:100%; display:block; }

  /* GALLERY 2-cols premium avec belles photos en grand format */
  .gallery{
    grid-template-columns:repeat(2,1fr) !important;
    grid-auto-rows:unset !important;
    grid-auto-flow:dense !important;
    gap:8px !important;
  }
  .gal-item{
    aspect-ratio:1/1 !important;
    grid-column:span 1 !important; grid-row:span 1 !important;
    border-radius:14px !important;
    overflow:hidden !important;
    position:relative;
    cursor:pointer;
  }
  .gal-item img{
    width:100%; height:100%; object-fit:cover;
    transition:transform .5s, opacity .3s;
  }
  .gal-item:active img{ transform:scale(.97); opacity:.85; }
  /* mise en avant grand format pour les photos signature */
  .gal-item.gal-1, .gal-item.gal-8{
    grid-column:span 2 !important;
    aspect-ratio:16/10 !important;
  }

  /* EVENING banner */
  .evening{ min-height:420px !important; padding:80px 22px !important; }
  .evening-content .h2{ font-size:clamp(1.8rem, 6vw, 2.4rem); }
  .evening-cta{ justify-content:center; }
  .evening-cta .btn{ width:100%; max-width:340px; padding:16px 22px !important; min-height:56px; }

  /* FIND */
  .find-block{ margin:22px 0; }
  .find-label{ font-size:.7rem; letter-spacing:.18em; }
  .find-value{ font-size:1.02rem; }
  .find-socials{ gap:10px; flex-wrap:wrap; }
  .find-soc{
    flex:1; min-width:calc(33% - 8px); min-height:48px;
    justify-content:center;
  }
  .map-wrap{ height:300px !important; border-radius:16px !important; overflow:hidden; }

  /* FOOTER */
  .ft-meta{ flex-direction:column !important; gap:10px !important; align-items:stretch !important; }
  .ft-pill{
    width:100% !important; justify-content:center !important;
    padding:12px 18px !important; min-height:48px;
    box-sizing:border-box;
  }
  .ft-brand .brand-name{ font-size:1.8rem; }
  .ft-cols{ grid-template-columns:1fr !important; gap:24px !important; }

  /* Quand carte ou lightbox ouverts, masquer sticky CTA */
  body.carte-open .sticky-cta,
  body.lb-open .sticky-cta,
  body.nav-open .sticky-cta{ display:none !important; }

  /* Padding inférieur quand sticky actif */
  body.sticky-cta-on .ft{ padding-bottom:96px !important; }

  /* Lien Téléphone du find déjà tap-friendly */
  .find-value a[href^="tel:"]{
    display:inline-block; padding:6px 0; min-height:32px;
  }
}

/* === Petits écrans iPhone SE / Android compact ≤ 380px === */
@media(max-width:380px){
  .hero{ padding:96px 18px 56px !important; }
  .hero-title{ font-size:clamp(2.4rem, 11vw, 3.4rem) !important; }
  .nav{ padding:10px 14px 12px !important; }
  .nav-links > a{ font-size:1.4rem !important; padding:15px 0 !important; }
  .nav-links{ padding:80px 22px 28px !important; }
  .sec{ padding:54px 18px !important; }
  .sticky-cta{ left:10px; right:10px; bottom:10px; }
  .sticky-cta a{ font-size:.86rem; padding:0 10px; }
}

/* [EVENING-MOBILE-NUDGE 2026-06-17] remonter kicker + descendre paragraphe */
@media (max-width:760px){
  .evening-content .kicker{ margin-top:0 !important; }
  .evening-content .lead-light{ margin-top:14px !important; }
}

/* [EVENING-MOBILE-CUT 2026-06-17] couper bas + centrer texte */
@media (max-width:760px){
  .evening{ min-height:auto !important; padding-top:36px !important; padding-bottom:20px !important; }
  .evening-content .h2{ margin-top:0 !important; } /* neutralise margin-top:auto qui poussait en bas */
}



/* [STICKY-CTA-COMET-V2 2026-06-17] Appeler espresso d'origine + comete sunset qui parcourt le liseré */
.sticky-cta a.is-primary{
  position: relative !important;
  background: var(--espresso) !important;
  color: var(--cream) !important;
  border: 1px solid rgba(255, 165, 90, .14) !important; /* liseré statique très subtil */
  box-shadow: 0 8px 20px -8px rgba(42,31,23,.4) !important;
  overflow: hidden;
  isolation: isolate;
  transition: box-shadow .35s ease, transform .15s ease;
}
.sticky-cta a.is-primary > *{ position: relative; z-index: 2; }
/* comète qui glisse le long du contour */
.sticky-cta a.is-primary::before{
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  padding: 1.2px;
  background: linear-gradient(115deg,
    transparent 0%,
    transparent 38%,
    rgba(255, 215, 160, .35) 46%,
    rgba(255, 165, 90, .95) 50%,
    rgba(255, 215, 160, .35) 54%,
    transparent 62%,
    transparent 100%
  );
  background-size: 260% 100%;
  background-position: -60% 0;
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  animation: cometSweepCTA 3.6s linear infinite;
  pointer-events: none;
  z-index: 1;
}
/* halo intérieur très doux qui pulse en synchro */
.sticky-cta a.is-primary::after{
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: radial-gradient(120% 80% at 50% 110%, rgba(255, 140, 80, .08), transparent 60%);
  animation: glowPulseCTA 3.6s ease-in-out infinite;
  pointer-events: none;
  z-index: 0;
}
@keyframes cometSweepCTA{
  0%   { background-position: -60% 0; }
  100% { background-position: 160% 0; }
}
@keyframes glowPulseCTA{
  0%, 100% { opacity: .5; }
  50%      { opacity: 1; }
}
.sticky-cta a.is-primary:active{
  transform: scale(.98) !important;
  background: #1a120c !important;
}
@media (prefers-reduced-motion: reduce){
  .sticky-cta a.is-primary::before{ animation: none; opacity: .35; }
  .sticky-cta a.is-primary::after{ animation: none; }
}


/* [HERO-MOBILE-TRIM 2026-06-17] retirer CTAs hero + hero-meta sur smartphone pour densifier */
@media (max-width:760px){
  .hero-cta, .hero-meta{ display:none !important; }
}


/* [HERO-MENU-CTA 2026-06-17] Bouton premium "Voir la carte" posé sur la photo hero */
.hero-photo{ position:relative; }
.hero-menu-cta{
  position:absolute;
  top:14px; right:14px;
  z-index:5;
  display:inline-flex; align-items:center; gap:8px;
  padding:11px 22px;
  font-family:'Manrope', sans-serif;
  font-size:.78rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  text-decoration:none;
  color:#fff5e6;
  background:linear-gradient(180deg, rgba(42,31,23,.92) 0%, rgba(28,18,12,.94) 100%);
  border:1px solid rgba(247,199,114,.45);
  border-radius:999px;
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  box-shadow:
    0 1px 0 rgba(255,231,180,.18) inset,
    0 -1px 0 rgba(0,0,0,.25) inset,
    0 12px 28px -10px rgba(42,31,23,.55),
    0 0 0 1px rgba(0,0,0,.04);
  transition:transform .25s ease, box-shadow .25s ease, background .25s ease;
}
.hero-menu-cta::before{
  content:'';
  width:6px; height:6px; border-radius:50%;
  background:#f7c772;
  box-shadow:0 0 8px rgba(247,199,114,.85);
}
.hero-menu-cta:hover{
  transform:translateY(-2px);
  box-shadow:
    0 1px 0 rgba(255,231,180,.22) inset,
    0 -1px 0 rgba(0,0,0,.28) inset,
    0 16px 32px -10px rgba(42,31,23,.65);
}
.hero-menu-cta:active{
  transform:translateY(0);
}
@media (min-width:1024px){
  .hero-menu-cta{
    top:18px; right:18px;
    padding:12px 26px;
    font-size:.82rem;
  }
}
