/* ═══════════════════════════════════════════════════════════
   LA FÁBRICA – Tapas & Drinks · Alicante
   Intégration fidèle des maquettes (Ordi 2560 / Tel 392)
   Système : 1rem = 100px de maquette (html font-size = 100vw/25.6)
   Polices calibrées sur les largeurs exactes du PDF :
   – hero & logos : Ambroise Std François
   – titres : Ambroise Std Firmin
   – nav / footer légal : Ambroise Std
   – textes : Quasimoda
   ═══════════════════════════════════════════════════════════ */

/* ---------- FONTS ---------- */
@font-face{font-family:'Ambroise EB';src:url('../assets/fonts/Ambroise-ExtraBold.otf') format('opentype');font-weight:400;font-display:block;}
@font-face{font-family:'Ambroise Firmin';src:url('../assets/fonts/Ambroise-Firmin.otf') format('opentype');font-weight:400;font-display:block;}
@font-face{font-family:'Ambroise Francois';src:url('../assets/fonts/Ambroise-Francois.otf') format('opentype');font-weight:400;font-display:block;}
@font-face{font-family:'Ambroise Francois';src:url('../assets/fonts/Ambroise-Francois-Demi.otf') format('opentype');font-weight:600;font-display:block;}
@font-face{font-family:'Quasimoda';src:url('../assets/fonts/Quasimoda-Regular.otf') format('opentype');font-weight:400;font-display:block;}
@font-face{font-family:'Quasimoda';src:url('../assets/fonts/Quasimoda-Medium.otf') format('opentype');font-weight:500;font-display:block;}
@font-face{font-family:'Quasimoda';src:url('../assets/fonts/Quasimoda-SemiBold.otf') format('opentype');font-weight:600;font-display:block;}
@font-face{font-family:'Quasimoda';src:url('../assets/fonts/Quasimoda-Bold.otf') format('opentype');font-weight:700;font-display:block;}

/* ---------- TOKENS ---------- */
:root{
  --rouge-fond:#7a0c0b;
  --rouge:#981916;
  --gris:#d9d9d9;
  --gris-card:#d2d2d2;
  --blanc:#f4f4f4;
  --beige:#e9dfc7;
  --grille:#a05858;

  --hero-font:'Ambroise Francois', Didot, serif;
  --titre:'Ambroise Firmin', Didot, serif;
  --eb:'Ambroise EB', Didot, serif;
  --sans:'Quasimoda', 'Avenir Next', sans-serif;

  --ease-out:cubic-bezier(.16,1,.3,1);
  --ease-spring:cubic-bezier(.34,1.56,.64,1);
}

/* ---------- BASE ---------- */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{font-size:calc(100vw / 25.6);scroll-behavior:smooth;}
body{
  background:var(--gris);
  font-family:var(--sans);
  color:var(--rouge);
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
img{display:block;}
a{text-decoration:none;color:inherit;}
button{background:none;border:none;cursor:pointer;font-family:inherit;}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}

main{position:relative;}

/* grille (pas de 22.75px maquette, lignes #a05858) */
.hero,.copas,.intro,.reserva,#loader{
  background-image:
    linear-gradient(to right, rgba(160,88,88,.7) .5px, transparent .5px),
    linear-gradient(to bottom, rgba(160,88,88,.7) .5px, transparent .5px);
  background-size:.2275rem .2275rem;
}

/* ═══════════ LOADER ═══════════ */
#loader{
  position:fixed;inset:0;z-index:1000;
  background-color:var(--rouge-fond);
  overflow:hidden;
  transition:transform 1s var(--ease-out);
}
#loader.done{transform:translateY(-101%);}
.loader-stage{
  position:absolute;left:50%;top:50%;
  width:25.56rem;height:14.71rem;
  transform:translate(-50%,-50%) scale(var(--lscale,1));
}
.lph{
  position:absolute;object-fit:cover;
  opacity:0;transform:scale(.7) translateY(.3rem);
  transition:opacity .7s ease, transform .9s var(--ease-spring);
}
#loader.play .lph{opacity:1;transform:none;}
.lph1{left:.44rem;top:.94rem;width:8.23rem;height:3.90rem;}
.lph2{left:12.30rem;top:2.09rem;width:5.01rem;height:2.66rem;}
.lph3{left:20.74rem;top:1.05rem;width:4.43rem;height:3.90rem;}
.lph4{left:2.58rem;top:5.48rem;width:3.24rem;height:3.01rem;}
.lph5{left:19.61rem;top:6.66rem;width:4.50rem;height:4.69rem;}
.lph6{left:2.27rem;top:9.22rem;width:5.83rem;height:3.68rem;}
.lph7{left:11.24rem;top:9.79rem;width:3.51rem;height:3.65rem;}
#loader.play .lph1{transition-delay:.05s;}
#loader.play .lph2{transition-delay:.20s;}
#loader.play .lph3{transition-delay:.35s;}
#loader.play .lph4{transition-delay:.50s;}
#loader.play .lph5{transition-delay:.65s;}
#loader.play .lph6{transition-delay:.80s;}
#loader.play .lph7{transition-delay:.95s;}
.loader-title{
  position:absolute;left:0;right:0;top:5.94rem;
  text-align:center;color:var(--blanc);
  opacity:0;transition:opacity .8s ease .3s;
}
#loader.play .loader-title{opacity:1;}
.loader-h{font-family:var(--eb);font-weight:400;font-size:.98rem;line-height:1.00rem;}
.loader-sub{font-family:var(--sans);font-weight:500;font-size:.22rem;letter-spacing:.15em;margin-top:.28rem;}

/* ═══════════ HEADER (au scroll) ═══════════ */
#siteHeader{
  position:fixed;top:0;left:0;right:0;z-index:900;
  height:1.55rem;background:rgba(217,217,217,.8);
  -webkit-backdrop-filter:blur(.14rem);backdrop-filter:blur(.14rem);
  transform:translateY(-102%);
  transition:transform .55s var(--ease-out);
  box-shadow:0 .02rem .18rem rgba(0,0,0,.10);
}
#siteHeader.show{transform:translateY(0);}
.hdr-contacts,.hdr-menu{
  position:absolute;top:50%;transform:translateY(-50%);
  font-family:var(--eb);font-weight:400;font-size:.347rem;color:var(--rouge);
  transition:opacity .25s;
}
.hdr-contacts:hover,.hdr-menu:hover{opacity:.65;}
.hdr-contacts{left:1.46rem;}
.hdr-menu{right:1.43rem;}
.hdr-logo{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  display:flex;flex-direction:column;align-items:center;color:var(--rouge);
}
.hdr-logo-main{font-family:var(--eb);font-weight:400;font-size:.48rem;line-height:1.29;transform:scaleY(1.29);transform-origin:center center;}
.hdr-logo-sub{font-family:var(--sans);font-weight:500;font-size:.152rem;letter-spacing:.28em;text-indent:.28em;margin-top:.072rem;}
.hdr-burger{display:none;}

/* ═══════════ NAV HÉRO (sticky) ═══════════ */
#heroNav{position:absolute;top:0;left:0;right:0;z-index:800;pointer-events:none;
  transition:opacity .4s ease, transform .4s ease;}
#heroNav.hide{opacity:0;transform:translateY(-.4rem);}
#heroNav a{pointer-events:auto;}
#heroNav.hide a{pointer-events:none;}
.hn-contacts,.hn-menu{
  position:absolute;top:.59rem;
  font-family:var(--eb);font-weight:400;font-size:.4335rem;color:var(--rouge);
  transition:opacity .25s;
}
.hn-contacts:hover,.hn-menu:hover{opacity:.65;}
.hn-contacts{left:1.46rem;}
.hn-menu{right:1.43rem;}
.hn-burger{display:none;}

/* ═══════════ SECTIONS ═══════════ */
.hero{position:relative;height:14.77rem;}
.hero-inner{position:absolute;inset:0;transform:translate(.445rem,.7rem) scale(.9);transform-origin:left top;}
.intro{position:relative;height:12.93rem;background-color:var(--rouge-fond);}
.copas{position:relative;height:31.06rem;}
.reserva{position:relative;height:6.34rem;background-color:var(--rouge-fond);}
.footer{position:relative;height:5.55rem;background:var(--gris);}

/* ═══════════ HÉRO ═══════════ */
.hero-badge{position:absolute;left:4.33rem;top:2.60rem;width:3.02rem;height:auto;}
.hero-title{
  position:absolute;left:0;top:0;width:100%;height:100%;
  font-family:var(--eb);font-weight:400;color:var(--rouge);
}
.hero-title .l1,.hero-title .l2{
  position:absolute;font-size:3.48rem;line-height:1;
  transform:scaleY(1.245);transform-origin:left top;
}
.hero-title .l1{left:1.128rem;top:2.302rem;}
.hero-title .l2{left:1.128rem;top:6.352rem;}
.hero-title .line{overflow:visible;}
.hero-tagline{
  position:absolute;left:1.245rem;top:11.05rem;
  font-family:var(--sans);font-weight:500;font-size:.345rem;letter-spacing:.115em;
  color:var(--rouge);white-space:nowrap;
}
.hero-ctas{position:absolute;left:1.30rem;top:11.79rem;display:flex;gap:.29rem;}

/* ---------- BOUTONS ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.14rem;
  background:var(--rouge);color:var(--blanc);
  border:.015rem solid var(--rouge);
  font-family:var(--sans);font-weight:500;font-size:.24rem;letter-spacing:.058em;
  border-radius:10rem;white-space:nowrap;
  -webkit-backdrop-filter:blur(.12rem);backdrop-filter:blur(.12rem);
  transition:background .3s ease, color .3s ease;
}
.btn:hover{background:rgba(217,217,217,.12);color:var(--rouge);}
.btn:active{transform:scale(.985);}
.btn .wa-ic{fill:var(--blanc);transition:fill .3s ease;}
.btn:hover .wa-ic{fill:var(--rouge);}
.hero-ctas .btn-wa{width:4.65rem;height:.84rem;}
.hero-ctas .btn-como{width:2.37rem;height:.84rem;}
.wa-ic{width:.40rem;height:.40rem;}

/* ═══════════ VIGNETTES PHOTO ═══════════ */
.vig{position:absolute;z-index:5;margin:0;will-change:transform;}
.vig-in{
  position:relative;width:100%;height:100%;overflow:hidden;
  box-shadow:0 .10rem .40rem rgba(30,5,5,.20);
  transition:box-shadow .5s ease;
}
.vig-in img{position:absolute;transition:transform .8s var(--ease-out);}
.vig:hover .vig-in{box-shadow:0 .16rem .55rem rgba(30,5,5,.30);}
.vig:hover .vig-in img{transform:scale(1.045);}

/* reveal à l'entrée */
.vig{opacity:0;transform:scale(.82);transition:opacity .7s ease, transform 1.1s var(--ease-spring);}
.v-hero-cocktail{--rot:17.3deg;}
.v-hero-tapas{--rot:-15.5deg;}
.v-hero-sauce{--rot:11.5deg;}
.v-rose{--rot:-15deg;}
.v-spread{--rot:13.2deg;}
.v-peppers{--rot:-11.7deg;}
.v-facade{--rot:24deg;}
.v-donde-right{--rot:-19.5deg;}
.vig{transform:rotate(var(--rot)) scale(.82);}
.vig.in{opacity:1;transform:rotate(var(--rot)) scale(1);}

/* — géométrie exacte (coordonnées page, maquette 2560) — */
.v-hero-cocktail{left:13.242rem;top:.129rem;width:4.616rem;height:4.281rem;}
.v-hero-cocktail img{width:5.184rem;height:8.074rem;left:-.449rem;top:-2.206rem;}
.v-hero-tapas{left:19.512rem;top:3.790rem;width:4.737rem;height:5.670rem;}
.v-hero-tapas img{width:4.858rem;height:7.443rem;left:-.045rem;top:-.996rem;}
.v-hero-sauce{left:16.888rem;top:11.072rem;width:4.364rem;height:5.235rem;}
.v-hero-sauce img{width:10.606rem;height:13.476rem;left:-2.274rem;top:-3.068rem;}
.v-rose{left:9.937rem;top:26.906rem;width:6.386rem;height:5.919rem;}
.v-rose img{width:7.695rem;height:9.689rem;left:-.488rem;top:-1.965rem;}
.v-spread{left:1.586rem;top:32.578rem;width:6.039rem;height:8.454rem;}
.v-spread img{width:6.767rem;height:10.256rem;left:-.439rem;top:-1.746rem;}
.v-peppers{left:10.457rem;top:40.037rem;width:6.015rem;height:6.015rem;}
.v-peppers img{width:13.624rem;height:17.205rem;left:-6.003rem;top:-6.173rem;}
.v-facade{left:1.458rem;top:43.331rem;width:6.294rem;height:5.998rem;}
.v-facade img{width:6.941rem;height:10.177rem;left:-.223rem;top:-3.031rem;}
.v-donde-right{left:18.874rem;top:44.406rem;width:6.752rem;height:5.618rem;}
.v-donde-right img{width:14.857rem;height:9.782rem;left:-2.308rem;top:-3.548rem;}

/* ═══════════ INTRO (rouge) ═══════════ */
.intro-title{
  position:absolute;left:3.252rem;top:1.53rem;
  font-family:var(--titre);font-weight:400;color:var(--blanc);
  font-size:1.024rem;line-height:1.14rem;
}
.intro-col{
  position:absolute;left:13.685rem;top:3.27rem;width:8.75rem;
  color:var(--blanc);font-size:.35rem;line-height:.42rem;font-weight:400;
}
.intro-col p + p{margin-top:.42rem;}
.intro-col strong,.reserva-txt strong{font-weight:700;}
.intro-close{
  position:absolute;left:13.685rem;top:9.15rem;width:8.75rem;
  color:var(--blanc);font-size:.35rem;line-height:.42rem;
}
.stats{
  position:absolute;left:3.26rem;top:6.68rem;width:8.91rem;height:3.61rem;
  border:.015rem solid var(--blanc);
}
.stat{position:absolute;left:0;width:100%;}
.stat-num{
  position:absolute;top:0;
  font-family:var(--sans);font-weight:700;font-size:.53rem;line-height:1;color:var(--beige);
}
.stat-label{
  position:absolute;left:2.582rem;top:0;
  font-size:.27rem;letter-spacing:.012em;font-weight:500;color:var(--blanc);white-space:nowrap;
}
.stat:nth-child(1) .stat-num{left:1.08rem;top:.502rem;}
.stat:nth-child(1) .stat-label{top:.642rem;}
.stat:nth-child(2) .stat-num{left:.54rem;top:1.487rem;}
.stat:nth-child(2) .stat-label{top:1.612rem;}
.stat:nth-child(3) .stat-num{left:.855rem;top:2.472rem;}
.stat:nth-child(3) .stat-label{top:2.582rem;}

/* ═══════════ COPAS (gris) ═══════════ */
.copas-title{
  position:absolute;right:3.252rem;top:6.945rem;text-align:right;
  font-family:var(--titre);font-weight:400;color:var(--rouge);
  font-size:1.22rem;line-height:1.38rem;
}
.copas-sub{
  position:absolute;right:3.42rem;top:10.17rem;width:8.60rem;text-align:right;
  color:var(--rouge);font-size:.35rem;line-height:.42rem;font-weight:400;
}
.btn-food{position:absolute;left:0;right:0;margin-inline:auto;width:fit-content;top:20.667rem;height:.756rem;padding:0 .7rem;font-size:.216rem;}
.fd-txt-mob{display:none;}

/* ---- carte DÓNDE Y CUÁNDO ---- */
.donde-card{
  position:absolute;left:3.16rem;top:22.97rem;width:19.24rem;height:6.18rem;
  background:var(--gris-card);
}
.donde-title{
  position:absolute;left:.657rem;top:.185rem;
  font-family:var(--titre);font-weight:400;font-size:1.007rem;line-height:1.30rem;color:var(--rouge);
}
.donde-hr{
  position:absolute;left:.657rem;top:1.78rem;width:17.92rem;
  border:none;border-top:.015rem solid var(--rouge);
}
.donde-label{
  position:absolute;top:2.28rem;display:flex;align-items:center;gap:.10rem;
  font-size:.21rem;letter-spacing:.03em;font-weight:500;color:var(--rouge);
}
.donde-label img{width:.30rem;height:.30rem;}
.donde-dir .donde-label{left:.72rem;}
.donde-hor .donde-label{left:9.71rem;}
.donde-big{
  position:absolute;top:2.77rem;
  font-weight:700;font-size:.52rem;line-height:1;color:var(--rouge);white-space:nowrap;
}
.donde-dir .donde-big{left:.70rem;}
.donde-hor .donde-big{left:9.72rem;}
.donde-hours{font-size:.50rem;}
.donde-small{
  position:absolute;top:3.38rem;
  font-size:.26rem;font-weight:400;color:var(--rouge);
}
.donde-dir .donde-small{left:.70rem;}
.donde-hor .donde-small{left:9.72rem;}
.btn-como-card{
  position:absolute;left:.70rem;top:4.65rem;width:2.15rem;height:.756rem;font-size:.216rem;
}

/* ═══════════ RESERVA (rouge) ═══════════ */
.reserva-title{
  position:absolute;left:3.252rem;top:1.455rem;
  font-family:var(--titre);font-weight:400;color:var(--blanc);
  font-size:1.007rem;line-height:1.22rem;
}
.reserva-txt{
  position:absolute;left:3.273rem;top:2.97rem;
  color:var(--blanc);font-size:.35rem;line-height:.42rem;
}
.reserva-box{
  position:absolute;left:15.61rem;top:1.89rem;width:6.05rem;height:1.96rem;
  background:var(--gris-card);
}
.reserva-box .btn-wa{
  position:absolute;left:.70rem;top:.34rem;width:4.63rem;height:.84rem;
}
.reserva-note{
  position:absolute;left:0;right:0;top:1.33rem;text-align:center;
  font-size:.21rem;letter-spacing:.04em;font-weight:500;color:var(--rouge);
}

/* ═══════════ FOOTER ═══════════ */
.footer{z-index:2;}
.ft-logo{
  position:absolute;left:3.52rem;top:1.22rem;
  display:flex;flex-direction:column;align-items:center;color:var(--rouge);
}
.ft-logo-main{font-family:var(--eb);font-weight:400;font-size:.48rem;line-height:1.29;white-space:nowrap;transform:scaleY(1.29);transform-origin:center center;}
.ft-logo-sub{font-family:var(--sans);font-weight:500;font-size:.152rem;letter-spacing:.28em;text-indent:.28em;margin-top:.072rem;}
.ft-col{position:absolute;top:1.34rem;color:var(--rouge);}
.ft-donde{left:9.34rem;}
.ft-horario{left:15.31rem;}
.ft-col h3{font-family:var(--titre);font-weight:400;font-size:.47rem;line-height:1;margin-bottom:.17rem;}
.ft-col p{font-size:.235rem;line-height:.288rem;font-weight:400;}
.ft-col a{transition:opacity .25s;}
.ft-col a:hover{opacity:.6;}
.ft-insta{position:absolute;left:21.60rem;top:3.02rem;width:.45rem;height:.45rem;transition:opacity .25s;}
.ft-insta:hover{opacity:.65;}
.ft-insta img{width:100%;height:100%;}
.ft-hr{
  position:absolute;left:2.73rem;right:2.73rem;top:3.78rem;
  border:none;border-top:.012rem solid var(--rouge);opacity:.7;
}
.ft-copy{
  position:absolute;left:3.43rem;top:4.29rem;
  font-family:var(--sans);font-weight:500;font-size:.185rem;letter-spacing:.01em;color:var(--rouge);
}
.ft-links{position:absolute;right:3.32rem;top:4.29rem;display:flex;gap:.66rem;}
.ft-links a{
  font-family:var(--sans);font-weight:500;font-size:.185rem;letter-spacing:.01em;color:var(--rouge);
  transition:opacity .25s;
}
.ft-links a:hover{opacity:.6;}

/* ═══════════ MENU MOBILE (caché desktop) ═══════════ */
#mobileMenu{display:none;}

/* ═══════════ ANIMATIONS DE RÉVÉLATION ═══════════ */
.line{display:block;overflow:hidden;padding-bottom:.06em;margin-bottom:-.06em;}
.line > span{display:block;transform:translateY(115%);transition:transform 1s var(--ease-out);}
.in .line > span,.line.in > span{transform:translateY(0);}
h1 .line:nth-child(2) > span,h2 .line:nth-child(2) > span{transition-delay:.12s;}
.hero-title .line > span{transition:transform 1.2s var(--ease-out), opacity .9s ease;opacity:0;transform:translateY(.5rem);}
.hero-title .line.in > span{opacity:1;transform:none;}

.reveal-up{opacity:0;transform:translateY(.5rem);transition:opacity .8s ease,transform .9s var(--ease-out);}
.reveal-up.in{opacity:1;transform:none;}
.reveal-pop{opacity:0;transform:scale(.85);transition:opacity .6s ease,transform .8s var(--ease-spring);}
.reveal-pop.in{opacity:1;transform:scale(1);}
.btn-food{transition:background .3s ease,color .3s ease,opacity .6s ease,transform .8s var(--ease-spring);}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{transition-duration:.01ms !important;animation-duration:.01ms !important;}
  html{scroll-behavior:auto;}
}

/* ═══════════════════════════════════════════════════════════
   MOBILE (maquette Tel 392 · 1rem = 100px maquette tel,
   coordonnées corrigées de la barre de statut iOS : −47px)
   ═══════════════════════════════════════════════════════════ */
@media (max-width: 767px){
  html{font-size:calc(100vw / 3.92);}

  /* grille pleine opacité sur mobile */
  .hero,.copas,.intro,.reserva,#loader{
    background-image:
      linear-gradient(to right, var(--grille) .5px, transparent .5px),
      linear-gradient(to bottom, var(--grille) .5px, transparent .5px);
  }

  /* ----- header mobile ----- */
  #siteHeader{height:.70rem;}
  .hdr-contacts,.hdr-menu{display:none;}
  .hdr-logo{left:.225rem;transform:translateY(-50%);align-items:center;}
  .hdr-logo-main{font-size:.30rem;}
  .hdr-logo-sub{font-size:.075rem;letter-spacing:.28em;text-indent:.28em;margin-top:.035rem;}
  .hdr-burger{display:block;position:absolute;right:.165rem;top:50%;transform:translateY(-50%);padding:.06rem;}
  .hdr-burger span,.hn-burger span{display:block;width:.29rem;height:.0336rem;background:var(--rouge);}
  .hdr-burger span + span,.hn-burger span + span{margin-top:.033rem;}

  /* ----- nav héro mobile : hamburger seul ----- */
  .hn-contacts,.hn-menu{display:none;}
  .hn-burger{display:block;position:absolute;right:.165rem;top:.205rem;padding:.06rem;pointer-events:auto;}
  #heroNav.hide .hn-burger{pointer-events:none;}

  /* ----- sections ----- */
  .hero{height:6.93rem;}
  .hero-inner{transform:translateY(.4rem);}
  .intro{height:9.46rem;}
  .copas{height:14.34rem;}
  .reserva{height:4.19rem;}
  .footer{height:4.43rem;}

  /* ----- héro ----- */
  .hero-badge{left:.82rem;top:3.16rem;width:.88rem;}
  .hero-title .l1,.hero-title .l2{font-size:.82rem;}
  .hero-title .l1{left:.10rem;top:3.124rem;}
  .hero-title .l2{left:.10rem;top:4.084rem;}
  .hero-tagline{left:.128rem;top:5.30rem;font-size:.11rem;letter-spacing:.115em;}
  .hero-ctas{left:.135rem;top:5.685rem;gap:.145rem;}
  .hero-ctas .btn-wa{width:2.17rem;height:.425rem;}
  .hero-ctas .btn-como{width:1.165rem;height:.425rem;}
  .btn{font-size:.115rem;letter-spacing:.058em;gap:.08rem;}
  .wa-ic{width:.20rem;height:.20rem;}

  /* ----- vignettes ----- */
  .v-hero-cocktail{left:1.264rem;top:-.27rem;width:1.421rem;height:1.319rem;--rot:14deg;}
  .v-hero-cocktail img{width:1.614rem;height:2.460rem;left:-.135rem;top:-.669rem;}
  .v-hero-tapas{left:2.494rem;top:2.133rem;width:1.463rem;height:1.743rem;--rot:18deg;}
  .v-hero-tapas img{width:1.515rem;height:2.263rem;left:-.039rem;top:-.282rem;}
  .v-hero-sauce{left:-.11rem;top:1.485rem;width:1.34rem;height:1.51rem;--rot:-10deg;}
  .v-hero-sauce img{width:3.582rem;height:4.482rem;left:-.614rem;top:-1.324rem;}
  .v-rose{left:1.933rem;top:15.869rem;width:1.713rem;height:1.602rem;--rot:-14.5deg;}
  .v-rose img{width:2.066rem;height:2.595rem;left:-.136rem;top:-.512rem;}
  .v-spread{left:-.078rem;top:17.089rem;width:1.627rem;height:2.263rem;--rot:13.5deg;}
  .v-spread img{width:1.790rem;height:2.738rem;left:-.111rem;top:-.467rem;}
  .v-peppers{left:2.520rem;top:18.140rem;width:1.400rem;height:1.400rem;--rot:-12deg;}
  .v-peppers img{width:2.919rem;height:4.113rem;left:-1.311rem;top:-1.622rem;}
  .v-facade{left:.078rem;top:23.484rem;width:1.684rem;height:1.602rem;--rot:30deg;}
  .v-facade img{width:1.857rem;height:2.704rem;left:-.306rem;top:-.712rem;}
  .v-donde-right{left:2.422rem;top:22.472rem;width:1.797rem;height:1.496rem;--rot:20deg;}
  .v-donde-right img{width:3.963rem;height:2.591rem;left:-.967rem;top:-1.149rem;}

  /* ----- intro ----- */
  .intro-title{left:.24rem;top:.54rem;font-size:.39rem;line-height:.47rem;}
  .intro-col{left:.24rem;top:1.86rem;width:3.40rem;font-size:.18rem;line-height:.215rem;}
  .intro-col p + p{margin-top:.215rem;}
  .stats{left:.235rem;top:5.80rem;width:3.445rem;height:1.495rem;border-width:.01rem;}
  .stat-num{font-size:.28rem;}
  .stat-label{left:.98rem;font-size:.12rem;letter-spacing:.012em;white-space:normal;width:2.45rem;}
  .stat:nth-child(1) .stat-num{left:.165rem;top:.08rem;}
  .stat:nth-child(1) .stat-label{top:.135rem;}
  .stat:nth-child(2) .stat-num{left:.165rem;top:.55rem;}
  .stat:nth-child(2) .stat-label{top:.585rem;}
  .stat:nth-child(3) .stat-num{left:.165rem;top:1.07rem;}
  .stat:nth-child(3) .stat-label{top:1.105rem;}
  .intro-close{left:.24rem;top:7.66rem;width:3.42rem;font-size:.18rem;line-height:.215rem;}

  /* ----- copas ----- */
  .copas-title{right:auto;left:.23rem;top:3.50rem;text-align:left;font-size:.39rem;line-height:.43rem;}
  .copas-sub{right:auto;left:.28rem;top:4.94rem;width:2.85rem;text-align:left;font-size:.18rem;line-height:.215rem;}
  .btn-food{left:.28rem;right:auto;margin-inline:0;width:fit-content;top:6.035rem;height:.425rem;padding:0 .2rem;font-size:.115rem;}
  .fd-txt-desk{display:none;}
  .fd-txt-mob{display:inline;}

  .donde-card{left:.19rem;top:9.12rem;width:3.59rem;height:4.77rem;}
  .donde-title{left:.26rem;top:.18rem;font-size:.385rem;line-height:.50rem;}
  .donde-hr{left:.26rem;top:.92rem;width:2.62rem;border-top-width:.01rem;}
  .donde-label{font-size:.125rem;letter-spacing:.03em;gap:.06rem;}
  .donde-label img{width:.15rem;height:.15rem;}
  .donde-dir .donde-label{left:.42rem;top:1.10rem;}
  .donde-hor .donde-label{left:.42rem;top:2.34rem;}
  .donde-big{font-size:.29rem;line-height:.35rem;white-space:normal;}
  .donde-hours{font-size:.27rem;}
  .donde-dir .donde-big{left:.27rem;top:1.59rem;}
  .donde-hor .donde-big{left:.27rem;top:2.83rem;width:2.2rem;}
  .donde-small{font-size:.15rem;}
  .donde-dir .donde-small{left:.27rem;top:1.89rem;}
  .donde-hor .donde-small{left:.27rem;top:3.46rem;}
  .btn-como-card{left:.26rem;top:3.95rem;width:1.415rem;height:.42rem;}

  /* ----- reserva ----- */
  .reserva-title{left:.24rem;top:.44rem;font-size:.385rem;line-height:.40rem;}
  .reserva-txt{left:.25rem;top:1.13rem;width:3.42rem;font-size:.18rem;line-height:.215rem;}
  .reserva-txt br{display:none;}
  .reserva-box{left:.21rem;top:2.39rem;width:3.54rem;height:1.19rem;}
  .reserva-box .btn-wa{left:.42rem;top:.215rem;width:2.67rem;height:.45rem;}
  .reserva-note{top:.79rem;font-size:.122rem;letter-spacing:.04em;}

  /* ----- footer ----- */
  .ft-logo{left:0;right:0;width:100%;top:.28rem;transform:none;}
  .ft-logo-main{font-size:.30rem;}
  .ft-logo-sub{font-size:.075rem;letter-spacing:.28em;margin-top:.035rem;}
  .ft-col{text-align:center;left:0;width:100%;}
  .ft-donde{top:1.06rem;}
  .ft-horario{top:2.17rem;}
  .ft-col h3{font-size:.23rem;margin-bottom:.075rem;}
  .ft-col p{font-size:.122rem;line-height:.144rem;}
  .ft-insta{left:50%;top:3.20rem;transform:translateX(-50%);width:.26rem;height:.26rem;}
  .ft-hr{left:.50rem;right:.50rem;top:3.66rem;}
  .ft-links{position:absolute;left:0;right:auto;width:100%;top:3.73rem;flex-direction:column;gap:.075rem;align-items:center;}
  .ft-links a{font-size:.11rem;}
  .ft-copy{left:0;width:100%;text-align:center;top:3.92rem;font-size:.11rem;letter-spacing:.01em;}

  /* ----- loader mobile ----- */
  .loader-stage{width:3.92rem;height:8.52rem;}
  .lph1{left:0;top:.80rem;width:1.90rem;height:.96rem;}
  .lph2{left:.35rem;top:6.46rem;width:1.45rem;height:.77rem;}
  .lph3{left:2.12rem;top:5.21rem;width:1.49rem;height:1.31rem;}
  .lph4{left:.24rem;top:4.98rem;width:.80rem;height:.74rem;}
  .lph5{left:2.62rem;top:1.00rem;width:1.11rem;height:1.16rem;}
  .lph6{left:.60rem;top:2.26rem;width:1.44rem;height:.91rem;}
  .lph7{left:2.86rem;top:2.62rem;width:.86rem;height:.90rem;}
  .loader-title{top:3.69rem;}
  .loader-h{font-size:.355rem;line-height:.36rem;}
  .loader-sub{font-size:.085rem;margin-top:.04rem;}

  /* ----- menu mobile ----- */
  #mobileMenu{display:block;position:fixed;inset:0;z-index:950;pointer-events:none;}
  .mm-backdrop{
    position:absolute;inset:0;background:rgba(30,5,5,.25);
    opacity:0;transition:opacity .4s ease;
  }
  .mm-panel{
    position:absolute;top:0;right:0;bottom:0;width:2.72rem;
    background:var(--blanc);
    transform:translateX(102%);
    transition:transform .55s var(--ease-out);
    box-shadow:-.05rem 0 .40rem rgba(30,5,5,.18);
  }
  #mobileMenu.open{pointer-events:auto;}
  #mobileMenu.open .mm-backdrop{opacity:1;}
  #mobileMenu.open .mm-panel{transform:translateX(0);}
  .mm-close{position:absolute;right:.22rem;top:.40rem;width:.30rem;height:.30rem;}
  .mm-close span{position:absolute;left:0;top:50%;width:100%;height:.026rem;background:var(--rouge);}
  .mm-close span:first-child{transform:rotate(45deg);}
  .mm-close span:last-child{transform:rotate(-45deg);}
  .mm-nav{display:flex;flex-direction:column;position:absolute;left:.30rem;top:1.12rem;gap:.31rem;}
  .mm-nav a{
    font-family:var(--sans);font-weight:600;font-size:.16rem;letter-spacing:.04em;color:var(--rouge);
    opacity:0;transform:translateX(.3rem);
    transition:opacity .5s ease,transform .6s var(--ease-out);
  }
  #mobileMenu.open .mm-nav a{opacity:1;transform:none;}
  #mobileMenu.open .mm-nav a:nth-child(1){transition-delay:.10s;}
  #mobileMenu.open .mm-nav a:nth-child(2){transition-delay:.17s;}
  #mobileMenu.open .mm-nav a:nth-child(3){transition-delay:.24s;}
  #mobileMenu.open .mm-nav a:nth-child(4){transition-delay:.31s;}
  .mm-foot{position:absolute;left:.30rem;bottom:.50rem;}
  .mm-insta{display:block;width:.22rem;height:.22rem;margin-bottom:.12rem;}
  .mm-insta img{width:100%;height:100%;}
  .mm-copy{font-family:var(--sans);font-weight:600;font-size:.105rem;color:var(--rouge);}
}

/* très grands écrans : on borne l'échelle */
@media (min-width: 3200px){
  html{font-size:125px;}
}
