/* ═══════════════════════════════════════════════
   jesusvillalba.es — hoja de estilos compartida
   Usada por: index.html · index-en.html
   Reglas idénticas entre ambos idiomas.
   Las reglas específicas de cada idioma (ajustes de
   idioma/nav, tamaños puntuales EN vs ES) permanecen
   en el <style> inline de cada página, DESPUÉS de
   este enlace, para conservar la cascada correcta.
   ═══════════════════════════════════════════════ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
:root{
  --c:          #F6F4EF;
  --cw:         #EDEAE3;
  --cd:         #E4E0D8;
  --ink:        #0E0E0C;
  --ink2:       #2A2826;
  --ink3:       #545048;
  --ink4:       #6E6A63;
  --gold:       #9A8660;
  --gold-l:     #B09A74;
  --gold-text:  #7B6B4C; 
  --gr:         rgba(154,134,96,.13);
  --e:          cubic-bezier(.16,1,.3,1);
  --m:          clamp(24px,6%,108px);
  --ms:         clamp(18px,4%,64px);
}
body{
  font-family:'Inter',sans-serif;
  background:var(--c);
  color:var(--ink);
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  font-weight:300;
  font-size:16px;
  opacity:1;
}
img{display:block;width:100%;height:auto}
a{text-decoration:none}
body::before{
  content:'';
  position:fixed;
  inset:0;
  z-index:2100;
  pointer-events:none;
  opacity:.05;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch' result='noise'/><feColorMatrix in='noise' type='matrix' values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 4 -1.5'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
}
.btn-ink,
.btn-line,
.btn-gold,
.exp-cta,
.form-submit,
.mobile-menu-close,
.modal-close,
.form-panel-close{
  font-family:'Inter',sans-serif;
  font-weight:300;
  letter-spacing:3.5px;
  text-transform:uppercase;
  cursor:pointer;
  -webkit-appearance:none;
  appearance:none;
  border-radius:0;
  transition:background .55s var(--e),color .55s var(--e),border-color .55s var(--e),transform .45s var(--e),box-shadow .45s var(--e),opacity .45s var(--e);
  will-change:transform,opacity,background,color,border-color,box-shadow;
}
.btn-ink:active,
.btn-line:active,
.btn-gold:active,
.exp-cta:active,
.form-submit:active,
.mobile-menu-close:active,
.modal-close:active,
.form-panel-close:active{
  transform:scale(.97);
  transition-duration:.15s;
}
.btn-ink{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:14px 30px;
  background:var(--ink);
  color:var(--c);
  font-size:.5rem;
  letter-spacing:4px;
  border:1px solid var(--ink);
}
.btn-ink:hover{
  background:transparent;
  color:var(--ink);
  transform:translateY(-1px);
}
.btn-line{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:14px 30px;
  border:1px solid var(--gr);
  color:var(--ink3);
  font-size:.5rem;
  letter-spacing:4px;
  background:transparent;
}
.btn-line:hover{
  border-color:var(--gold);
  color:var(--gold);
  transform:translateY(-1px);
}
.btn-gold{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:14px 30px;
  border:1px solid rgba(154,134,96,.5);
  color:var(--gold);
  font-size:.5rem;
  letter-spacing:4px;
  background:transparent;
}
.btn-gold:hover{
  background:var(--gold);
  color:var(--c);
  border-color:var(--gold);
  transform:translateY(-1px);
}
.site-header{
  position:fixed;
  top:0;left:0;right:0;
  z-index:1200;
  padding:34px var(--m);
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-bottom:1px solid transparent;
  transition:background .9s var(--e),padding .6s var(--e),border-color .9s,opacity .45s var(--e),visibility .45s var(--e);
}
.site-header.scrolled{
  background:rgba(246,244,239,.97);
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
  padding:20px var(--m);
  border-bottom-color:var(--gr);
}
.logo{display:flex;flex-direction:column;gap:5px;color:#F3F0E9}
.site-header.scrolled .logo{color:var(--ink)}
.logo-name{
  font-family:'Playfair Display',serif;
  font-size:clamp(.88rem,1.2vw,1.05rem);
  font-weight:300;
  letter-spacing:10px;
  line-height:1;
  color:inherit;
  white-space:nowrap;
}
.logo-sub{
  font-size:.42rem;
  letter-spacing:5px;
  text-transform:uppercase;
  color:var(--gold-l);
  font-weight:300;
  transition:color .6s;
}
.site-header.scrolled .logo-sub{color:var(--gold)}
.main-nav{
  display:none;
  gap:52px;
  align-items:center;
}
.main-nav a{
  position:relative;
  padding-bottom:5px;
  font-size:.48rem;
  letter-spacing:3.5px;
  text-transform:uppercase;
  color:rgba(243,240,233,.75);
  font-weight:300;
  transition:color .6s var(--e),opacity .5s;
}
.main-nav a::after{
  content:'';
  position:absolute;
  left:0;bottom:0;
  width:100%;height:1px;
  background:currentColor;
  opacity:0;
  transform:scaleX(.5);
  transform-origin:center;
  transition:transform .7s var(--e),opacity .5s var(--e);
}
.main-nav a:hover::after{opacity:.5;transform:scaleX(1)}
.main-nav a.nav-cta::after{content:none}
.site-header.scrolled .main-nav a{color:var(--ink3)}
.main-nav a:hover{color:var(--gold-l)}
.site-header.scrolled .main-nav a:hover{color:var(--gold)}
.main-nav .nav-cta{
  padding:11px 24px;
  border:1px solid var(--gold);
  color:#0E0E0C;
  background:var(--gold);
  box-shadow:0 2px 10px rgba(14,14,12,.18);
  transition:border-color .5s,color .5s,background .5s,transform .5s,box-shadow .5s;
}
.site-header.scrolled .main-nav .nav-cta{
  border-color:var(--gold);
  color:#0E0E0C;
  background:var(--gold);
}
.main-nav .nav-cta:hover{
  background:var(--gold-l);
  border-color:var(--gold-l);
  color:#0E0E0C;
  transform:translateY(-1px);
  box-shadow:0 4px 14px rgba(14,14,12,.22);
}
.nav-toggle{
  display:inline-flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  cursor:pointer;
  background:transparent;
  border:none;
  padding:0;
  margin-left:14px;
  flex:0 0 auto;
  transition:transform .2s var(--e);
}
.nav-toggle:active{transform:scale(.9)}
.nav-toggle span{
  display:block;
  position:relative;
  width:22px;
  height:1px;
  background:rgba(243,240,233,.82);
  transition:transform .6s var(--e),opacity .35s var(--e),background .4s var(--e);
  transform-origin:center;
}
.nav-toggle span + span{margin-top:6px}
.site-header.scrolled .nav-toggle span{background:var(--ink3)}
.nav-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-toggle.open span:nth-child(2){opacity:0;transform:scaleX(.2)}
.nav-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.lang-switch{
  display:flex;
  gap:14px;
  align-items:center;
  margin-left:8px;
  padding-left:20px;
  border-left:1px solid rgba(243,240,233,.22);
  transition:border-color .6s;
}
.site-header.scrolled .lang-switch{border-left-color:var(--gr)}
.site-header.scrolled .header-lang{border-left:none}
.header-lang a{padding:0!important;border:none!important}
.site-header.scrolled .lang-switch a{color:var(--ink4)}
.site-header.scrolled .lang-sep{color:var(--gr)}
body.menu-open{
  overflow:hidden;
}
body.menu-open .site-header,
body.recorrido-open .site-header{
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
  display:none !important;
}
body.recorrido-open{
  overflow:hidden;
}
body.recorrido-open .site-header *{
  pointer-events:none !important;
}
.mobile-menu{
  position:fixed;
  inset:0;
  z-index:800;
  display:flex;
  align-items:stretch;
  justify-content:center;
  padding:clamp(20px,4vw,40px);
  background:
    radial-gradient(circle at 18% 12%, rgba(154,134,96,.06), transparent 26%),
    radial-gradient(circle at 86% 16%, rgba(154,134,96,.04), transparent 22%),
    rgba(246,244,239,.985);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(14px);
  transition:opacity .7s var(--e),transform .85s var(--e),visibility 0s linear .7s;
}
.mobile-menu.open{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateY(0);
  transition:opacity .7s var(--e),transform .85s var(--e),visibility 0s;
}
.mobile-menu-shell{
  width:min(100%,760px);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:clamp(18px,4vh,34px);
}
.mobile-menu-top{
  display:flex;
  align-items:flex-start;
  justify-content:flex-end;
}
.mobile-menu-actions{
  display:flex;
  align-items:center;
  gap:14px;
}
.mobile-menu-lang{
  display:flex;
  align-items:center;
  gap:12px;
  padding-right:14px;
  border-right:1px solid rgba(154,134,96,.14);
}
.mobile-menu-lang a{
  font-size:.44rem;
  letter-spacing:3.5px;
  text-transform:uppercase;
  color:var(--ink4);
  font-weight:300;
}
.mobile-menu-lang a.lang-active,
.mobile-menu-lang a:hover{color:var(--gold)}
.mobile-menu-lang span{
  color:var(--gr);
  user-select:none;
}
.mobile-menu-close{
  background:none;
  border:none;
  padding:0;
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-size:.44rem;
  letter-spacing:4px;
  color:var(--ink3);
  font-weight:300;
  transition:color .35s var(--e),transform .35s var(--e),opacity .35s var(--e);
}
.mobile-menu-close::before{
  content:'';
  width:18px;
  height:1px;
  background:currentColor;
  opacity:.75;
  transition:width .4s var(--e),opacity .4s var(--e);
}
.mobile-menu-close:hover{
  color:var(--gold);
  transform:translateX(1px);
}
.mobile-menu-close:hover::before{
  width:26px;
  opacity:1;
}
.mobile-menu-rail{
  display:flex;
  flex-direction:column;
  justify-content:center;
  flex:1;
  padding:clamp(8px,2vh,18px) 0 0;
}
.mobile-menu-links{
  display:flex;
  flex-direction:column;
  border-top:1px solid rgba(154,134,96,.12);
  border-bottom:1px solid rgba(154,134,96,.12);
}
.mobile-menu-link,
.mobile-menu-cta{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:20px;
  padding:clamp(18px,2.8vh,28px) 0;
  color:var(--ink);
  border-bottom:1px solid rgba(154,134,96,.10);
  transition:color .45s var(--e),background .45s var(--e),border-color .45s var(--e),transform .45s var(--e),opacity .45s var(--e);
  opacity:.98;
  width:100%;
}
.mobile-menu-link:active,
.mobile-menu-cta:active{
  opacity:.6;
  transition-duration:.12s;
}
.mobile-menu-link:last-child,
.mobile-menu-cta:last-child{border-bottom:none}
.mobile-menu-link{
  font-family:'Playfair Display',serif;
  font-size:clamp(1.7rem,5.4vw,2.7rem);
  font-weight:300;
  line-height:1.14;
  letter-spacing:-.3px;
}
.mobile-menu-cta{
  font-family:'Playfair Display',serif;
  font-size:clamp(1.55rem,5vw,2.35rem);
  font-weight:300;
  line-height:1.14;
  letter-spacing:-.25px;
  color:var(--gold);
  margin-top:2px;
  background:none;
  border-left:none;
  border-right:none;
  border-top:none;
  text-align:left;
  cursor:pointer;
  appearance:none;
  -webkit-appearance:none;
}
.mobile-menu-link:hover,
.mobile-menu-cta:hover{
  color:var(--gold);
  background:rgba(154,134,96,.03);
  transform:none;
}
.mobile-menu-link:focus-visible,
.mobile-menu-cta:focus-visible,
.mobile-menu-close:focus-visible,
.mobile-menu-lang a:focus-visible{
  outline:2px solid rgba(154,134,96,.34);
  outline-offset:4px;
}
@media(max-width:1060px){
  .header-lang{
    margin-right:10px;
    padding-right:0;
  }
  .site-header{
    padding:24px var(--m);
  }
  .site-header.scrolled{
    padding:18px var(--m);
  }
  .mobile-menu-link,
  .mobile-menu-cta{
    padding:18px 0;
  }
}
@media(max-width:720px){
  .header-lang{margin-right:6px}
  .mobile-menu{
    padding:18px 16px 16px;
  }
  .mobile-menu-shell{gap:20px}
  .mobile-menu-top{
    align-items:flex-start;
  }
  .mobile-menu-actions{
    width:100%;
    justify-content:space-between;
    gap:10px;
  }
  .mobile-menu-lang{
    padding-right:10px;
  }
  .mobile-menu-rail{
    justify-content:flex-start;
    padding-top:8px;
  }
  .mobile-menu-link{
    font-size:clamp(1.45rem,8vw,2rem);
  }
  .mobile-menu-cta{
    font-size:clamp(1.35rem,7vw,1.85rem);
  }
  .mobile-menu-link,
  .mobile-menu-cta{
    gap:14px;
  }
}
@media(min-width:1061px){
  .mobile-menu{
    padding:clamp(28px,3.4vw,48px);
    align-items:center;
  }
  .mobile-menu-shell{
    width:min(100%,600px);
    gap:clamp(22px,3.6vh,32px);
  }
  .mobile-menu-actions{
    gap:20px;
  }
  .mobile-menu-lang{
    gap:16px;
    padding-right:20px;
  }
  .mobile-menu-lang a{
    font-size:.48rem;
    letter-spacing:4px;
  }
  .mobile-menu-close{
    font-size:.48rem;
    letter-spacing:4.5px;
  }
  .mobile-menu-rail{
    padding:0;
  }
  .mobile-menu-link,
  .mobile-menu-cta{
    padding:clamp(14px,2.1vh,20px) 0;
    gap:32px;
  }
  .mobile-menu-link{
    font-size:clamp(1.5rem,2.15vw,2rem);
    line-height:1.2;
    letter-spacing:-.3px;
  }
  .mobile-menu-cta{
    font-size:clamp(1.35rem,1.95vw,1.8rem);
    line-height:1.2;
    letter-spacing:-.25px;
  }
}
@media(min-width:1061px){
  .form-overlay{
    padding:32px;
  }
  .form-panel{
    /* Antes: overflow:visible — hacía que el panel se desbordara fuera de la
       pantalla en portátiles sin posibilidad de desplazarse hasta el final. */
    overflow-y:auto;
    max-height:calc(100dvh - 64px);
  }
  .form-panel-close{
    top:18px;
    right:18px;
    z-index:20;
  }
  .form-confirm{
    position:relative;
  }
}
@media(prefers-reduced-motion:reduce){
  .nav-toggle, .mobile-menu, .mobile-menu *{
    transition-duration:.01ms !important;
    animation:none !important;
  }
}
.hero{
  position:relative;
  height:100svh;
  min-height:640px;
  overflow:hidden;
  background:var(--ink);
  isolation:isolate;
}
.hero-bg{
  position:absolute;inset:0;
  width:100%;height:100%;
  object-fit:cover;
  object-position:center 42%;
  filter:brightness(.46);
  transform:scale(1.06);
  animation:hZoom 16s var(--e) forwards;
}
@keyframes hZoom{to{transform:scale(1);filter:brightness(.42)}}
@media(max-width:880px){
  .hero-bg{
    object-position:32% 48%;
    filter:none;
    transform:none;
    animation:none;
  }
  .hero-content{
    animation:none;
  }
  .hero-scroll{
    animation:none;
  }
  .hero-actions{
    flex-direction:column;
    align-items:center;
    width:100%;
    margin-top:auto;
    padding-top:38px;
  }
  .hero-actions::before{
    content:'';
    display:block;
    width:30px;height:1px;
    background:var(--gold-l);
    opacity:.55;
    margin:0 0 22px;
  }
  .hero-actions .btn-ink{
    width:auto;
    min-width:0;
    max-width:none;
    background:transparent;
    border:1px solid rgba(224,204,164,.55);
    color:#E7D6AE;
    padding:12px 24px;
    font-size:.44rem;
    letter-spacing:3.6px;
  }
  .hero-actions .btn-ink:hover,
  .hero-actions .btn-ink:active{
    background:rgba(224,204,164,.10);
    border-color:rgba(224,204,164,.9);
    color:#F1E4C5;
    transform:none;
  }
}
.hero-overlay{
  position:absolute;inset:0;
  background:
    linear-gradient(to right, rgba(14,14,12,.78) 0%, rgba(14,14,12,.32) 54%, rgba(14,14,12,.18) 72%, rgba(14,14,12,.88) 100%),
    linear-gradient(to top, rgba(14,14,12,.56) 0%, transparent 48%);
}
.hero-content{
  position:relative;z-index:2;
  height:100%;
  display:flex;flex-direction:column;justify-content:flex-end;
  padding:0 var(--m) clamp(64px,9vh,128px);
  animation:fUp 2s var(--e) .5s both;
}
@keyframes fUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}
.hero-eyebrow{
  font-size:.92rem;letter-spacing:3px;
  text-transform:uppercase;
  color:var(--gold-l);font-weight:300;
  margin-bottom:28px;opacity:.95;
}
@media(max-width:880px){
  .hero-eyebrow{
    font-size:.8rem;
    letter-spacing:2px;
    margin-bottom:22px;
  }
}
.hero-h1{
  font-family:'Playfair Display',serif;
  font-size:clamp(3.2rem,7vw,6.4rem);
  font-weight:300;line-height:1.10;
  color:#F3F0E9;
  letter-spacing:-1.5px;
  max-width:820px;
  margin-bottom:0;
}
.hero-h1 em{font-style:italic;color:var(--gold-l)}
.hero-rule{
  width:36px;height:1px;
  background:var(--gold);opacity:.4;
  margin:36px 0 30px;
}
.hero-sub{
  font-size:.75rem;line-height:2.05;
  color:rgba(243,240,233,.48);
  font-weight:300;max-width:340px;
  margin-bottom:16px;
  letter-spacing:.3px;
}
.hero-avail{
  font-size:.8rem;line-height:1.75;
  letter-spacing:.15px;
  text-transform:none;
  max-width:46ch;
  color:rgba(228,210,175,.92);
  text-shadow:0 1px 4px rgba(0,0,0,.45);
  font-weight:300;margin-bottom:44px;
}
.hero-avail em{font-style:normal;color:rgba(224,204,164,.98);}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap}
.hero-scroll{
  position:absolute;bottom:40px;right:var(--m);
  z-index:2;
  display:flex;flex-direction:column;align-items:center;gap:12px;
  opacity:.28;
  animation:fUp 2.8s var(--e) 2.4s both;
}
.hero-scroll span{
  font-size:.4rem;letter-spacing:5px;
  text-transform:uppercase;color:var(--c);
  writing-mode:vertical-rl;
}
.hero-scroll-line{
  width:1px;height:52px;background:var(--c);
  transform-origin:top;
  animation:sLine 3s var(--e) 2.6s infinite;
}
@keyframes sLine{0%{transform:scaleY(0);opacity:0}25%{opacity:1}100%{transform:scaleY(1);opacity:0}}
@media(min-width:881px){
  .hero{
    display:block;
  }
  .hero-bg{
    object-position:center 46%;
    filter:none;
    transform:none;
    animation:none;
  }
  .hero-overlay{
    background:
      linear-gradient(to right, rgba(10,10,8,.14) 0%, rgba(10,10,8,.14) 18%, rgba(10,10,8,.24) 36%, rgba(10,10,8,.46) 60%, rgba(10,10,8,.86) 100%),
      linear-gradient(to top, rgba(10,10,8,.10) 0%, transparent 46%),
      linear-gradient(to bottom, rgba(8,8,6,.60) 0px, rgba(8,8,6,0) 220px);
  }
  .hero-content{
    position:absolute;
    top:0;
    right:0;
    bottom:0;
    left:auto;
    width:min(44vw,620px);
    justify-content:center;
    padding:clamp(40px,6vh,90px) clamp(44px,4vw,84px);
    background:
      linear-gradient(90deg, rgba(10,10,8,.30) 0%, rgba(10,10,8,.32) 10%, rgba(10,10,8,.38) 22%, rgba(10,10,8,.52) 40%, rgba(10,10,8,.72) 68%, rgba(10,10,8,.92) 100%);
    box-shadow:-72px 0 92px rgba(10,10,8,.18) inset;
  }
  .hero-content > *{
    position:relative;
    z-index:1;
  }
  .hero-h1{
    font-size:clamp(2.2rem,3.4vw,4.1rem);
    letter-spacing:-1px;
    max-width:none;
  }
  .hero-eyebrow{
    color:#DDC89E;
    opacity:1;
    text-shadow:0 1px 3px rgba(0,0,0,.6), 0 2px 14px rgba(0,0,0,.4);
  }
  .hero-avail{
    color:rgba(226,208,172,.97);
    text-shadow:0 1px 4px rgba(0,0,0,.62), 0 2px 16px rgba(0,0,0,.4);
  }
  .hero-avail em{
    color:#F1E2C3;
    text-shadow:0 1px 4px rgba(0,0,0,.62), 0 2px 16px rgba(0,0,0,.4);
  }
  .site-header:not(.scrolled) .logo{
    text-shadow:0 1px 3px rgba(0,0,0,.55), 0 2px 16px rgba(0,0,0,.35);
  }
  .site-header:not(.scrolled) .main-nav a{
    color:rgba(247,244,237,.94);
    text-shadow:0 1px 3px rgba(0,0,0,.55), 0 2px 14px rgba(0,0,0,.32);
  }
  .site-header:not(.scrolled) .nav-toggle span{
    background:rgba(247,244,237,.96);
    box-shadow:0 1px 3px rgba(0,0,0,.4);
  }
  .hero-scroll{
    right:clamp(24px,3vw,56px);
  }
}
.declaration{
  padding:clamp(100px,14vw,220px) var(--m);
  display:grid;
  grid-template-columns:55fr 45fr;
  gap:clamp(64px,9vw,160px);
  align-items:center;
}
.declaration-quote{
  font-family:'Playfair Display',serif;
  font-size:clamp(2.1rem,4vw,3.6rem);
  font-weight:300;line-height:1.36;
  color:var(--ink2);letter-spacing:-.5px;
}
.declaration-quote em{font-style:italic;color:var(--gold)}
.declaration-body{display:flex;flex-direction:column;gap:30px}
.declaration-body p{
  font-size:.82rem;line-height:2.15;
  color:var(--ink3);font-weight:300;
  max-width:58ch;
}
.declaration-rule{
  width:28px;height:1px;
  background:var(--gold);opacity:.3;
}
.editorial-wrap{
  position:relative;
  isolation:isolate;
  background:linear-gradient(180deg, rgba(246,244,239,.98) 0%, rgba(245,242,235,1) 100%);
  padding:clamp(96px,13vw,210px) 0 clamp(112px,15vw,240px);
  display:flex;
  flex-direction:column;
  gap:clamp(84px,13vw,176px);
}
.editorial-wrap::before{
  content:'';
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  opacity:.042;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220' viewBox='0 0 220 220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.78' numOctaves='2' stitchTiles='stitch' result='noise'/><feColorMatrix in='noise' type='matrix' values='0 0 0 0 0.92 0 0 0 0 0.89 0 0 0 0 0.84 0 0 0 0.08 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
  background-size:220px 220px;
  background-repeat:repeat;
}
.editorial-wrap > *{
  position:relative;
  z-index:1;
}
.editorial-block{
  --media-basis:min(54vw, 760px);
  --media-shift:0px;
  --copy-shift:0px;
  --copy-max:35rem;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:clamp(30px,5vw,92px);
  padding-inline:var(--m);
  position:relative;
}
.editorial-block:nth-of-type(odd){
  flex-direction:row;
}
.editorial-block:nth-of-type(even){
  flex-direction:row-reverse;
}
.editorial-block:nth-of-type(1){
  --media-basis:min(55vw, 780px);
  --media-shift:clamp(-10px, -1vw, -4px);
  --copy-shift:clamp(26px, 2.6vw, 40px);
  --copy-max:34rem;
}
.editorial-block:nth-of-type(2){
  --media-basis:min(50vw, 720px);
  --media-shift:clamp(12px, 1.8vw, 28px);
  --copy-shift:clamp(-8px, -1vw, -16px);
  --copy-max:32rem;
}
.editorial-block:nth-of-type(3){
  --media-basis:min(53vw, 760px);
  --media-shift:clamp(-6px, -.8vw, -2px);
  --copy-shift:clamp(16px, 2vw, 30px);
  --copy-max:33rem;
}
.image-frame{
  position:relative;
  flex:0 1 var(--media-basis);
  aspect-ratio:4 / 5;
  overflow:hidden;
  background:transparent;
  border:1px solid rgba(154,134,96,.35);
  transform:translateY(var(--media-shift));
}
.editorial-block:nth-of-type(odd) .image-frame{
  align-self:flex-start;
}
.editorial-block:nth-of-type(even) .image-frame{
  align-self:flex-end;
}
.image-frame img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  filter:brightness(.90) saturate(.90) contrast(1.02);
  transition:transform 2.2s var(--e),filter 1.2s var(--e);
}
.editorial-block:hover .image-frame img{
  transform:scale(1.012);
  filter:brightness(.95) saturate(.95) contrast(1.02);
}
.editorial-block .image-frame--tall{
  
  aspect-ratio:1288 / 1536;
  flex-basis:clamp(200px, 28vw, 360px);
}
.editorial-block .image-frame--wide{
  
  aspect-ratio:1536 / 1197;
  flex-basis:clamp(240px, 36vw, 460px);
}
.editorial-block .image-frame--narrow{
  
  aspect-ratio:1066 / 1536;
  flex-basis:clamp(150px, 18vw, 260px);
}
.text-block{
  position:relative;
  flex:1 1 320px;
  min-width:min(260px, 100%);
  max-width:var(--copy-max);
  padding:clamp(10px,2vw,24px) 0;
  display:flex;
  flex-direction:column;
  gap:clamp(14px,2vw,22px);
  transform:translateY(var(--copy-shift));
}
.editorial-block:nth-of-type(odd) .text-block{
  padding-left:clamp(6px,1vw,16px);
  padding-top:clamp(20px,2.8vw,40px);
}
.editorial-block:nth-of-type(even) .text-block{
  padding-right:clamp(6px,1vw,16px);
}
.editorial-num{
  position:absolute;
  top:-.2em;
  left:-.08em;
  z-index:0;
  font-family:'Playfair Display',serif;
  font-size:clamp(5rem,12vw,8.6rem);
  font-weight:300;
  line-height:.82;
  letter-spacing:-3px;
  color:rgba(154,134,96,.06);
  user-select:none;
  pointer-events:none;
}
.editorial-block:nth-of-type(even) .editorial-num{
  left:auto;
  right:-.08em;
  text-align:right;
}
.editorial-title,
.editorial-body{
  position:relative;
  z-index:1;
}
.editorial-title{
  font-family:'Playfair Display',serif;
  font-size:clamp(1.98rem,2.85vw,3.05rem);
  font-weight:300;
  color:var(--ink2);
  line-height:1.28;
  letter-spacing:-.35px;
  max-width:11ch;
}
.editorial-title em{
  display:block;
  font-style:italic;
  color:var(--gold);
}
.editorial-body{
  font-size:.84rem;
  line-height:2.06;
  color:var(--ink3);
  font-weight:300;
  max-width:29ch;
}
@media(max-width:960px){
  .editorial-wrap{
    padding:clamp(78px,12vw,150px) 0 clamp(92px,13vw,180px);
    gap:clamp(68px,11vw,132px);
    background:
      radial-gradient(120% 46% at 18% 0%, rgba(154,134,96,.07), transparent 58%),
      radial-gradient(90% 50% at 100% 100%, rgba(154,134,96,.05), transparent 62%),
      linear-gradient(180deg, var(--cw) 0%, var(--c) 38%, var(--cd) 100%);
  }

  .editorial-wrap::before{
    opacity:.065;
  }

  .editorial-block{
    --media-basis:clamp(128px,38vw,260px);
    --media-shift:0px;
    --copy-shift:0px;
    --copy-max:none;
    display:flex;
    flex-direction:row;
    align-items:center;
    justify-content:space-between;
    gap:clamp(14px,3vw,26px);
    padding-inline:var(--ms);
    position:relative;
  }

  .editorial-block:nth-of-type(even){
    flex-direction:row-reverse;
  }

  .image-frame{
    flex:0 0 var(--media-basis);
    width:auto;
    aspect-ratio:4 / 5;
    transform:none;
    background:transparent;
    border:1px solid rgba(154,134,96,.35);
  }

  .text-block{
    flex:1 1 140px;
    min-width:120px;
    width:auto;
    max-width:none;
    padding:0;
    transform:none;
    gap:clamp(10px,1.8vw,16px);
    align-items:flex-start;
  }

  .editorial-block:nth-of-type(odd) .text-block,
  .editorial-block:nth-of-type(even) .text-block{
    margin:0;
    padding:0;
  }

  .editorial-num{
    position:static;
    left:auto;
    right:auto;
    top:auto;
    display:block;
    font-size:clamp(2.4rem,8vw,4rem);
    line-height:.84;
    margin:0 0 clamp(4px,1vw,10px);
    text-align:left;
  }

  .editorial-title{
    max-width:14ch;
    font-size:clamp(1.12rem,4vw,1.7rem);
    line-height:1.24;
  }

  .editorial-body{
    max-width:none;
    font-size:clamp(.74rem,2.8vw,.9rem);
    line-height:1.75;
  }
}
@media(max-width:640px){
  
  .editorial-block .image-frame--tall{ flex-basis:36vw; }
  .editorial-block .image-frame--wide{ flex-basis:42vw; }
  .editorial-block .image-frame--narrow{ flex-basis:30vw; }
}
@media(min-width:961px){
  .editorial-wrap{
    padding:clamp(84px,9vw,154px) 0 clamp(96px,11vw,188px);
    gap:clamp(54px,6vw,104px);
  }

  .editorial-block{
    min-height:clamp(240px,24vw,360px);
    gap:clamp(26px,4vw,72px);
    align-items:center;
  }

  .editorial-block:nth-of-type(1){
    --media-basis:min(31vw,430px);
    --media-shift:clamp(-8px,-.6vw,-3px);
    --copy-shift:clamp(18px,1.8vw,28px);
    --copy-max:29rem;
  }

  .editorial-block:nth-of-type(2){
    --media-basis:min(29vw,400px);
    --media-shift:clamp(6px,.8vw,16px);
    --copy-shift:clamp(-4px,-.5vw,-10px);
    --copy-max:28rem;
  }

  .editorial-block:nth-of-type(3){
    --media-basis:min(30vw,420px);
    --media-shift:clamp(-4px,-.35vw,-1px);
    --copy-shift:clamp(12px,1.5vw,22px);
    --copy-max:28rem;
  }

  .image-frame{
    flex:0 1 var(--media-basis);
    aspect-ratio:5 / 6;
    max-height:clamp(300px,30vw,420px);
    overflow:hidden;
    background:transparent;
    border:1px solid rgba(154,134,96,.35);
  }

  .image-frame picture{
    display:block;
    width:100%;
    height:100%;
  }

  .image-frame img{
    width:100%;
    height:100%;
    object-fit:contain;
    object-position:center;
    filter:brightness(.96) saturate(.92) contrast(1.01);
    transition:transform 2.2s var(--e),filter 1.2s var(--e);
  }

  .editorial-block:hover .image-frame img{
    transform:scale(1.006);
    filter:brightness(1) saturate(.96) contrast(1.01);
  }

  .editorial-block:nth-of-type(odd) .image-frame{
    align-self:flex-start;
  }

  .editorial-block:nth-of-type(even) .image-frame{
    align-self:flex-end;
  }

  .text-block{
    gap:clamp(12px,1.5vw,18px);
    max-width:var(--copy-max);
  }

  .editorial-title{
    font-size:clamp(1.9rem,2.1vw,2.85rem);
    line-height:1.22;
    letter-spacing:-.4px;
    max-width:12ch;
  }

  .editorial-body{
    font-size:clamp(.82rem,.62vw,.95rem);
    line-height:2;
    letter-spacing:.12px;
    max-width:31ch;
  }

  .editorial-num{
    font-size:clamp(4rem,7vw,6.8rem);
    line-height:.82;
    color:rgba(154,134,96,.055);
  }

  .editorial-block:nth-of-type(even) .editorial-num{
    right:-.06em;
  }

  .editorial-block:nth-of-type(1) .image-frame img{object-position:center 52%;}
  .editorial-block:nth-of-type(2) .image-frame img{object-position:center 60%;}
  .editorial-block:nth-of-type(3) .image-frame img{object-position:center 44%;}
  .editorial-block:nth-of-type(4) .image-frame img{object-position:center 46%;}
}
@media(min-width:1200px){
  .editorial-wrap{
    gap:clamp(58px,6vw,112px);
  }

  .editorial-block{
    gap:clamp(30px,4.2vw,84px);
  }
}
.story{
  position:relative;
  isolation:isolate;
  background:
    linear-gradient(180deg, rgba(246,244,239,.99) 0%, rgba(245,242,235,1) 100%);
  padding:clamp(84px,12vw,170px) var(--m) clamp(118px,16vw,220px);
}
.story::before{
  content:'';
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.04;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220' viewBox='0 0 220 220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.82' numOctaves='2' stitchTiles='stitch' result='noise'/><feColorMatrix in='noise' type='matrix' values='0 0 0 0 0.92 0 0 0 0 0.89 0 0 0 0 0.84 0 0 0 0.08 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
  background-size:220px 220px;
}
.story > *{
  position:relative;
  z-index:1;
}
.story-intro{
  max-width:40rem;
  margin-bottom:clamp(72px,9vw,128px);
}
.story-intro .eyebrow{
  margin-bottom:20px;
}
.story-heading{
  font-family:'Playfair Display',serif;
  font-size:clamp(2rem,3.5vw,3.2rem);
  font-weight:300;
  line-height:1.20;
  color:var(--ink2);
  letter-spacing:-.4px;
  max-width:13ch;
  margin-bottom:clamp(22px,2.6vw,32px);
}
.story-heading em{
  display:block;
  font-style:italic;
  color:var(--gold);
}
.story-body{
  font-size:.84rem;
  line-height:2.06;
  color:var(--ink3);
  font-weight:300;
  max-width:38ch;
}
.story-journey{
  display:flex;
  flex-direction:column;
  gap:clamp(84px,9vw,160px);
}
.story-journey .editorial-block{
  padding-inline:0;
  --story-basis:min(33vw,460px);
  --story-ratio:5 / 6;
  --story-fit:cover;
  --story-pos:center center;
}
.story-journey .editorial-block .image-frame{
  flex:0 0 var(--story-basis);
  aspect-ratio:var(--story-ratio);
  transform:none;
}
.story-journey .editorial-block .image-frame picture{
  display:flex;
  width:100%;
  height:100%;
  align-items:center;
  justify-content:center;
}
.story-journey .editorial-block .image-frame img{
  width:100%;
  height:100%;
  object-fit:var(--story-fit);
  object-position:var(--story-pos);
  filter:brightness(.92) saturate(.94) contrast(1.02);
}
.story-journey .editorial-block:nth-of-type(1){
  
  --story-ratio:731 / 1536;
  --story-basis:clamp(140px, 20vw, 260px);
}
.story-journey .editorial-block:nth-of-type(2){
  
  --story-ratio:1063 / 1536;
  --story-basis:clamp(170px, 24vw, 300px);
}
.story-journey .editorial-block:nth-of-type(3){
  
  --story-ratio:1536 / 1409;
  --story-basis:clamp(190px, 32vw, 400px);
}
.story-journey .editorial-block:nth-of-type(4){
  
  --story-ratio:1 / 1;
  --story-basis:clamp(150px, 22vw, 280px);
}
.story-journey.story-journey--finca .editorial-block:nth-of-type(1){
  
  --story-ratio:964 / 1536;
  --story-basis:clamp(200px, 30vw, 380px);
}
.story-journey.story-journey--finca .editorial-block:nth-of-type(2){
  
  --story-ratio:674 / 1536;
  --story-basis:clamp(150px, 22vw, 280px);
}
@media(max-width:960px){
  .story{
    padding:clamp(56px,10vw,88px) var(--ms) clamp(96px,14vw,150px);
  }

  .story-intro{
    margin-bottom:clamp(56px,10vw,92px);
    max-width:32rem;
  }

  .story-heading{
    font-size:clamp(1.9rem,4.8vw,2.75rem);
    max-width:15ch;
    margin-bottom:clamp(18px,3vw,26px);
  }

  .story-body{
    max-width:34ch;
    line-height:1.96;
  }

  .story-journey{
    gap:clamp(58px,11vw,116px);
  }

  .story-journey .editorial-block{
    align-items:center;
    gap:clamp(18px,4vw,30px);
  }

  .story-journey .editorial-block .image-frame{
    transform:none;
  }
}
@media(max-width:640px){
  .story{
    padding:clamp(52px,10vw,72px) var(--ms) clamp(86px,14vw,120px);
  }

  .story-intro{
    margin-bottom:clamp(46px,11vw,76px);
  }

  .story-heading{
    font-size:clamp(1.72rem,7vw,2.18rem);
    max-width:13ch;
    margin-bottom:clamp(14px,4vw,20px);
  }

  .story-body{
    max-width:unset;
    line-height:1.92;
  }

  .story-journey{
    gap:clamp(46px,12vw,88px);
  }

  .story-journey .editorial-block{
    gap:clamp(16px,4.5vw,24px);
  }

  .story-journey .editorial-block .image-frame{
    flex-basis:var(--story-basis);
  }

  
  .story-journey .editorial-block:nth-of-type(1){ --story-basis:30vw; }
  .story-journey .editorial-block:nth-of-type(2){ --story-basis:34vw; }
  .story-journey .editorial-block:nth-of-type(3){ --story-basis:38vw; }
  .story-journey .editorial-block:nth-of-type(4){ --story-basis:32vw; }
  .story-journey.story-journey--finca .editorial-block:nth-of-type(1){ --story-basis:36vw; }
  .story-journey.story-journey--finca .editorial-block:nth-of-type(2){ --story-basis:28vw; }
}
.story-cta-wrap{
  display:flex;
  justify-content:center;
  margin-top:clamp(56px,8vw,104px);
}
.story-cta{
  display:inline-flex;
  flex-direction:row;
  align-items:center;
  justify-content:center;
  gap:12px;
  padding:16px 28px;
  min-height:48px;
  background:var(--ink);
  border:1px solid var(--ink);
  border-radius:999px;
  box-shadow:0 12px 30px rgba(14,14,12,.14);
  cursor:pointer;
  -webkit-appearance:none;
  appearance:none;
  font-family:'Inter',sans-serif;
  font-weight:400;
  font-size:.56rem;
  letter-spacing:3.6px;
  text-transform:uppercase;
  color:var(--c);
  transition:background .45s var(--e),color .45s var(--e),border-color .45s var(--e),transform .45s var(--e),box-shadow .45s var(--e),opacity .45s var(--e);
}
.story-cta-rule{
  width:14px;
  height:1px;
  background:var(--c);
  opacity:.7;
  flex:0 0 14px;
  transition:width .45s var(--e),opacity .45s var(--e),transform .45s var(--e);
}
.story-cta:hover,
.story-cta:focus-visible{
  color:var(--ink);
  border-color:var(--ink);
  background:transparent;
  box-shadow:0 14px 32px rgba(14,14,12,.1);
  transform:translateY(-1px);
}
.story-cta:hover .story-cta-rule,
.story-cta:focus-visible .story-cta-rule{
  width:24px;
  opacity:1;
  background:var(--ink);
}
.story-cta:active{
  transform:scale(.98);
  transition-duration:.15s;
}
@media(max-width:960px){
  .story-cta-wrap{
    margin-top:clamp(42px,8vw,66px);
  }
  .story-cta{
    width:min(100%,320px);
    padding:13px 18px;
    letter-spacing:3.4px;
  }
}
@media(max-width:520px){
  .story-cta{
    width:min(100%,300px);
    font-size:.45rem;
    letter-spacing:3.1px;
  }
}
.experiences{

  background:#0B0B09;
  padding:clamp(100px,14vw,220px) var(--m);
}
.exp-header{
  margin-bottom:clamp(72px,9vw,140px);
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:clamp(40px,6vw,100px);
  align-items:end;
}
.exp-header-title{
  font-family:'Playfair Display',serif;
  font-size:clamp(2.3rem,4.2vw,3.8rem);
  font-weight:300;color:#E8E4DA;
  line-height:1.30;margin-top:20px;
  letter-spacing:-.5px;
}
.exp-header-title em{font-style:italic;color:var(--gold-l)}
.exp-header-note{
  font-size:.78rem;line-height:2.05;
  color:#504E48;font-weight:300;
  max-width:340px;align-self:end;
}
.exp-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1px;
  background:rgba(255,255,255,.025);
}
.exp-card{
  background:#0B0B09;
  padding:clamp(48px,5.5vw,80px) clamp(32px,4vw,60px) clamp(48px,5.5vw,72px);
  display:flex;flex-direction:column;
  position:relative;overflow:hidden;
  cursor:pointer;
  transition:background .9s var(--e);
}
.exp-card::after{
  content:'';
  position:absolute;top:0;left:0;right:0;height:1px;
  background:var(--gold);
  transform:scaleX(0);transform-origin:left;
  transition:transform 1s var(--e);
}
.exp-card:hover::after,
.exp-card.is-featured::after{transform:scaleX(1)}
.exp-card:hover{background:#101010}
.exp-card.is-featured{background:#0F0F0D}
.exp-tier{
  font-size:.44rem;letter-spacing:6px;
  text-transform:uppercase;
  color:var(--gold);font-weight:300;
  margin-bottom:44px;
}
.exp-name{
  font-family:'Playfair Display',serif;
  font-size:clamp(1.9rem,2.8vw,2.7rem);
  font-weight:300;color:#F4F0E8;
  line-height:1.06;margin-bottom:24px;
  letter-spacing:-.3px;
}
.exp-name em{font-style:italic;color:var(--gold-l)}
.exp-pases{
  font-size:.48rem;letter-spacing:3.5px;
  text-transform:uppercase;
  color:#6B6860;
  margin-bottom:36px;padding-bottom:36px;
  border-bottom:1px solid #252523;
}
.exp-desc{
  font-size:.78rem;line-height:2.05;
  color:#A8A196;font-weight:300;
  flex:1;margin-bottom:44px;
}
.exp-dimensions{
  font-size:.46rem;letter-spacing:3px;
  text-transform:uppercase;
  color:#8D877D;
  margin-bottom:40px;line-height:1.95;
}
.exp-dimensions strong{
  display:block;color:#9A9690;margin-bottom:6px;
}
.exp-musical{
  margin-top:16px;padding-top:16px;
  border-top:1px solid rgba(245,240,232,.12);
  font-size:.44rem;letter-spacing:2.5px;
  text-transform:uppercase;
  color:#9A958D;line-height:2;
  font-style:italic;
}
.exp-cta-group{display:flex;flex-direction:column;gap:18px}
.exp-cta{
  display:inline-flex;align-items:center;justify-content:center;gap:12px;
  min-height:46px;padding:13px 28px;
  font-size:.48rem;letter-spacing:3.5px;
  text-transform:uppercase;
  color:#E8E4DA;font-weight:300;
  background:rgba(246,244,239,.03);
  border:1px solid rgba(154,134,96,.24);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.02);
  transition:background .7s,color .6s,border-color .6s,transform .45s var(--e),box-shadow .45s var(--e);
  cursor:pointer;
  font-family:'Inter',sans-serif;
  align-self:flex-start;
}
.exp-cta::after{content:'→';transition:transform .5s var(--e)}
.exp-cta:hover{
  background:rgba(154,134,96,.16);
  color:var(--c);
  border-color:rgba(154,134,96,.45);
  transform:translateY(-1px);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.04);
}
.exp-cta:hover::after{transform:translateX(6px)}
.exp-cta:focus-visible{
  outline:2px solid rgba(154,134,96,.45);
  outline-offset:3px;
}
.exp-end-cta{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:16px;
  padding:clamp(24px,5vw,48px) 0 0;
  text-align:center;
}
.exp-end-cta .eyebrow{color:rgba(154,134,96,.78)}
.exp-end-cta p{
  font-size:.74rem;
  line-height:2;
  color:#504E48;
  max-width:420px;
  font-weight:300;
}
.exp-end-cta .btn-ink,
.exp-end-cta .btn-line{min-width:240px}
@media(max-width:960px){
  .exp-end-cta{padding:20px 0 2px}
  .exp-end-cta p{max-width:320px}
}
.exp-mid-cta{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:16px;
  padding:clamp(12px,2.4vw,24px) 0 clamp(10px,2vw,18px);
  text-align:center;
  margin-top:clamp(6px,1vw,10px);
}
.exp-mid-cta .eyebrow{color:rgba(154,134,96,.78)}
.exp-mid-cta .btn-ink,
.exp-mid-cta .btn-line{min-width:240px}
@media(max-width:960px){
  .exp-mid-cta{padding:8px 0 10px}
}
.section-break-cream{
  background:var(--c);
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:clamp(52px,8vw,96px) var(--m);
  text-align:center;
  position:relative;
}
.section-break-cream::before,
.section-break-cream::after{
  content:'';
  position:absolute;
  left:var(--m);right:var(--m);
  height:1px;
  background:var(--gr);
}
.section-break-cream::before{top:0}
.section-break-cream::after{bottom:0}
.break-text{
  font-family:'Playfair Display',serif;
  font-size:clamp(1.1rem,2.2vw,1.7rem);
  font-weight:300;
  color:var(--ink3);
  line-height:1.5;
  letter-spacing:-.1px;
  max-width:600px;
}
.break-text em{
  font-style:italic;
  color:var(--gold);
}
.chef{
  display:grid;
  grid-template-columns:47% 1fr;
  min-height:90vh;
  border-top:none;
  background:var(--c);
}
.chef-visual{position:relative;overflow:hidden;min-height:580px;background:var(--ink)}
.chef-visual img{
  width:100%;height:100%;
  object-fit:contain;object-position:center center;
  filter:brightness(.87) contrast(1.05) saturate(.82);
  transition:none;
}
.chef-visual:hover img{transform:none}
.chef-visual-label{
  position:absolute;bottom:32px;left:32px;
  font-size:.42rem;letter-spacing:5px;
  text-transform:uppercase;
  color:rgba(243,240,233,.82);
  text-shadow:0 1px 12px rgba(0,0,0,.7), 0 0 28px rgba(0,0,0,.5);
}
@media(max-width:880px){
  .chef{
    grid-template-columns:1fr;
    border-top:none;
    margin-top:0;
    width:100%;
  }
  .chef-visual{
    min-height:clamp(360px,78vw,620px);
    border-top:clamp(12px,3vw,24px) solid var(--c);
  }
  .chef-visual img{object-position:center center}
  .chef-text{
    border-left:none;
    border-top:1px solid var(--gr);
    padding:clamp(44px,7vw,88px) var(--ms) clamp(54px,8vw,92px);
    display:flex;
    flex-direction:column;
    gap:clamp(18px,2.8vw,28px);
  }
  .chef-text > .eyebrow{
    margin-bottom:0;
  }
  .chef-text h2{
    margin:0;
    max-width:11ch;
    font-size:clamp(1.95rem,7.6vw,2.9rem);
    line-height:1.14;
    letter-spacing:-.45px;
    text-wrap:balance;
  }
  .chef-text p{
    max-width:36rem;
    font-size:clamp(.93rem,3.2vw,1.03rem);
    line-height:1.98;
    text-wrap:balance;
  }
  .chef-credentials{
    width:100%;
    margin-top:4px;
    display:flex;
    flex-direction:column;
    gap:0;
  }
  .credential{
    display:grid;
    grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);
    gap:10px 18px;
    padding:18px 0;
    border-bottom:1px solid rgba(154,134,96,.12);
  }
  .credential:last-child{border-bottom:none}
  .credential-place{
    font-size:.96rem;
    line-height:1.24;
  }
  .credential-role{
    font-size:.58rem;
    letter-spacing:2.1px;
    line-height:1.55;
  }
  .credential-context{
    font-size:.64rem;
    line-height:1.5;
  }
  .chef-link{
    margin-top:8px;
    padding-top:22px;
    width:100%;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:14px;
    border-top:1px solid var(--gr);
  }
  .chef-link-lead{
    max-width:40ch;
    font-size:.86rem;
    line-height:1.82;
    text-wrap:balance;
  }
}
.velada-narrada{
  padding:clamp(100px,13vw,200px) var(--m);
  background:linear-gradient(180deg, rgba(247,242,233,.96), rgba(241,235,224,.92));
  border-top:1px solid var(--gr);
  border-bottom:1px solid rgba(163,142,103,.16);
}
.vn-inner{
  max-width:1180px;
  display:grid;
  grid-template-columns:1fr 2fr;
  gap:clamp(52px,7vw,120px);
  align-items:start;
}
.vn-title{
  font-family:'Playfair Display',serif;
  font-size:clamp(2rem,3.2vw,2.9rem);
  font-weight:300;line-height:1.34;
  color:var(--ink);letter-spacing:-.3px;
  position:sticky;top:120px;
  text-wrap:balance;
}
.vn-title em{font-style:italic;color:var(--gold)}
.vn-beat{
  display:grid;
  grid-template-columns:112px 1fr;
  gap:28px;
  align-items:baseline;
  padding:24px 0;
  border-bottom:1px solid rgba(163,142,103,.14);
}
.vn-beat:first-child{padding-top:0}
.vn-beat:last-child{border-bottom:none}
.vn-beat-label{
  font-family:'Playfair Display',serif;
  font-style:italic;
  font-size:1.05rem;
  color:var(--gold);
  letter-spacing:.2px;
}
.vn-beat p{
  font-size:.84rem;line-height:2.2;
  color:var(--ink3);font-weight:300;
  margin:0;
}
@media(max-width:860px){
  .vn-inner{grid-template-columns:1fr}
  .vn-title{position:static}
}
.panorama{
  height:58vh;min-height:360px;
  position:relative;overflow:hidden;
}
.panorama img{
  width:100%;height:100%;
  object-fit:cover;object-position:center 40%;
  filter:brightness(.38) saturate(.68);
  transition:transform 2s var(--e);
}
.panorama:hover img{transform:scale(1.018)}
.panorama-text{
  position:absolute;inset:0;
  display:flex;align-items:center;justify-content:center;
  flex-direction:column;gap:22px;text-align:center;
  background:radial-gradient(ellipse 62% 50% at 50% 50%,rgba(8,8,6,.42) 0%,transparent 100%);
}
.panorama-quote{
  font-family:'Playfair Display',serif;
  font-size:clamp(1.2rem,2.7vw,2.3rem);
  font-weight:300;font-style:italic;
  color:rgba(243,240,233,.95);
  max-width:580px;line-height:1.68;
  padding:0 var(--m);
  text-shadow:0 2px 28px rgba(0,0,0,.55);
}
.panorama-attr{
  font-size:.44rem;letter-spacing:6px;
  text-transform:uppercase;
  color:var(--gold-l);opacity:.85;
  text-shadow:0 1px 16px rgba(0,0,0,.65);
}
.process{
  padding:clamp(100px,14vw,200px) var(--m);
  background:linear-gradient(180deg, rgba(247,242,233,.96), rgba(241,235,224,.92));
  border-top:1px solid var(--gr);
  border-bottom:1px solid rgba(163,142,103,.16);
}
.process-header{text-align:center;margin-bottom:clamp(72px,9vw,140px)}
.process-header h2{
  font-family:'Playfair Display',serif;
  font-size:clamp(2rem,3.4vw,3.2rem);
  font-weight:300;line-height:1.24;
  margin-top:20px;letter-spacing:-.3px;
}
.process-header h2 em{font-style:italic;color:var(--gold)}
.process-flow{
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:clamp(28px,4.5vw,72px);
  position:relative;
}
.process-flow::before{
  content:'';
  position:absolute;top:11px;left:12.5%;right:12.5%;
  height:1px;background:var(--gr);
}
.process-step{display:flex;flex-direction:column}
.step-dot{
  width:7px;height:7px;border-radius:50%;
  border:1px solid var(--gold);
  margin-bottom:32px;position:relative;z-index:1;
  background:linear-gradient(180deg, rgba(247,242,233,.96), rgba(241,235,224,.92));flex-shrink:0;
}
.step-title{
  font-family:'Playfair Display',serif;
  font-size:1.05rem;font-weight:300;
  color:var(--ink);margin-bottom:16px;line-height:1.36;
}
.step-desc{
  font-size:.74rem;line-height:2;
  color:var(--ink3);font-weight:300;
}
.cta-final{
  padding:clamp(120px,16vw,240px) var(--m);
  text-align:center;position:relative;overflow:hidden;
  background:var(--c);
}
.cta-final::before{
  content:'JV';
  font-family:'Playfair Display',serif;
  font-size:42vw;font-weight:300;
  color:rgba(154,134,96,.032);
  position:absolute;top:50%;left:50%;
  transform:translate(-50%,-50%);
  pointer-events:none;
  letter-spacing:44px;line-height:1;
  user-select:none;
}
.cta-final .eyebrow{margin-bottom:28px}
.cta-final h2{
  font-family:'Playfair Display',serif;
  font-size:clamp(2.5rem,5.5vw,4.6rem);
  font-weight:300;line-height:1.14;
  color:var(--ink2);margin-bottom:32px;
  letter-spacing:-.5px;
}
.cta-final h2 em{font-style:italic;color:var(--gold)}
.cta-final p{
  font-size:.8rem;color:var(--ink3);
  font-weight:300;max-width:360px;
  margin:0 auto 52px;line-height:2.05;
}
.cta-actions{
  display:flex;gap:16px;
  justify-content:center;flex-wrap:wrap;
}
footer{
  padding:clamp(36px,4vw,56px) var(--m);
  border-top:1px solid var(--gr);
  display:flex;align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;gap:20px;
  background:var(--c);
}
.footer-brand{
  font-family:'Playfair Display',serif;
  font-size:.9rem;font-weight:300;
  letter-spacing:8px;color:var(--ink);
}
.footer-nav{display:flex;gap:32px;flex-wrap:wrap}
.footer-nav a{
  font-size:.46rem;letter-spacing:3px;
  text-transform:uppercase;
  color:var(--ink4);transition:color .5s;
}
.footer-nav a:hover{color:var(--gold)}
.footer-legal{
  width:100%;
  font-size:.44rem;letter-spacing:1px;
  color:var(--ink4);
  display:flex;gap:24px;flex-wrap:wrap;
  opacity:.65;
}
.footer-legal a{color:var(--ink4);transition:color .5s}
.footer-legal a:hover{color:var(--gold)}
.modal-overlay{
  display:flex;
  position:fixed;inset:0;z-index:1500;
  background:rgba(6,6,4,.96);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  align-items:center;justify-content:center;
  padding:20px;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(8px);
  transition:opacity .55s var(--e),transform .65s var(--e),visibility 0s linear .55s;
}
.modal-overlay.open{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:none;
  transition:opacity .55s var(--e),transform .65s var(--e),visibility 0s;
}
.modal{
  background:#0A0A08;
  max-width:700px;width:100%;
  max-height:88vh;overflow-y:auto;
  padding:clamp(48px,6vw,76px) clamp(28px,5vw,64px);
  position:relative;
  opacity:0;
  transform:translateY(18px) scale(.988);
  transition:opacity .6s var(--e),transform .8s var(--e);
  will-change:transform,opacity;
}
.modal-overlay.open .modal{
  opacity:1;
  transform:none;
}
@keyframes mIn{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
.modal-close{
  position:absolute;
  top:24px;
  right:24px;
  z-index:1605;
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:0;
  background:transparent;
  border:none;
  cursor:pointer;
  font-size:.5rem;
  line-height:1;
  color:rgba(243,240,233,.84);
}
.modal-close::before{
  content:'';
  width:18px;
  height:1px;
  background:currentColor;
  opacity:.75;
  transition:width .45s var(--e),opacity .45s var(--e),transform .45s var(--e);
}
.modal-close:hover{
  color:#FFFFFF;
  transform:translateX(1px);
}
.modal-close:hover::before{
  width:28px;
  opacity:1;
}
.modal-close:active{
  transform:scale(.98);
}
.modal-close:focus-visible{
  outline:2px solid rgba(154,134,96,.42);
  outline-offset:4px;
}
.modal-eyebrow{
  font-size:.44rem;letter-spacing:6px;
  text-transform:uppercase;
  color:var(--gold);font-weight:300;
  margin-bottom:20px;
}
.modal-title{
  font-family:'Playfair Display',serif;
  font-size:clamp(2.1rem,3.2vw,2.9rem);
  font-weight:300;color:#E8E4DA;
  margin-bottom:10px;letter-spacing:-.3px;
}
.modal-price{
  font-size:.66rem;color:var(--gold);
  letter-spacing:1px;margin-bottom:50px;opacity:.8;
}
.modal-section-label{
  font-size:.44rem;letter-spacing:5px;
  text-transform:uppercase;
  color:#7A7870;
  margin-bottom:20px;margin-top:44px;
}
.modal-pases{list-style:none}
.modal-pases li{
  padding:20px 0;border-bottom:1px solid #282826;
  display:flex;gap:24px;align-items:baseline;
}
.pase-num{
  font-family:'Playfair Display',serif;
  font-size:.7rem;color:#585654;
  min-width:22px;flex-shrink:0;
}
.pase-text{
  font-size:.77rem;color:#9A9690;
  line-height:1.8;font-weight:300;
}
.pase-text strong{color:#C8C4BC;font-weight:400}
.modal-sensory{
  margin-top:8px;font-size:.58rem;
  color:#6A7A6A;font-style:italic;
}
.modal-actions{
  margin-top:52px;
}
.form-overlay{
  display:flex;
  position:fixed;inset:0;z-index:1100;
  background:rgba(6,6,4,.965);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  align-items:center;justify-content:center;
  padding:24px;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(10px);
  transition:opacity .55s var(--e),transform .7s var(--e),visibility 0s linear .55s;
}
.form-overlay.open{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:none;
  transition:opacity .55s var(--e),transform .7s var(--e),visibility 0s;
}
.form-panel{
  background:var(--c);
  max-width:560px;width:100%;
  padding:clamp(52px,6vw,82px) clamp(32px,5vw,72px);
  position:relative;
  margin:auto;
  max-height:calc(100dvh - 48px);
  overflow-y:auto;
  opacity:0;
  transform:translateY(18px) scale(.988);
  transition:opacity .6s var(--e),transform .8s var(--e);
  will-change:transform,opacity;
  box-shadow:0 20px 60px rgba(0,0,0,.16);
}
.form-overlay.open .form-panel{
  opacity:1;
  transform:none;
}
.form-panel-close{
  position:absolute;top:24px;right:24px;
  display:inline-flex;
  align-items:center;
  gap:10px;
  background:none;border:none;cursor:pointer;
  font-size:.5rem;letter-spacing:4px;
  text-transform:uppercase;
  color:var(--ink4);font-family:'Inter',sans-serif;
  transition:color .35s var(--e),transform .35s var(--e),opacity .35s var(--e);
  z-index:3;
  pointer-events:auto;
}
.form-panel-close::before{
  content:'';
  width:18px;height:1px;
  background:currentColor;
  opacity:.72;
  transition:width .4s var(--e),opacity .4s var(--e);
}
.form-panel-close:hover{
  color:var(--ink);
  transform:translateX(1px);
}
.form-panel-close:hover::before{
  width:26px;
  opacity:1;
}
.form-eyebrow{
  font-size:.44rem;letter-spacing:6px;
  text-transform:uppercase;
  color:var(--gold);font-weight:300;
  margin-bottom:18px;display:block;
}
.form-title{
  font-family:'Playfair Display',serif;
  font-size:clamp(1.75rem,2.9vw,2.45rem);
  font-weight:300;color:var(--ink);
  margin-bottom:12px;letter-spacing:-.3px;
  line-height:1.2;
}
.form-subtitle{
  font-size:.78rem;color:var(--ink3);
  line-height:1.9;font-weight:300;
  margin-bottom:34px;
  max-width:38ch;
}
.form-field{
  display:flex;flex-direction:column;
  gap:10px;margin-bottom:22px;
}
.form-label{
  font-size:.5rem;letter-spacing:4px;
  text-transform:uppercase;
  color:var(--ink4);font-weight:300;
}
.form-input,
.form-textarea{
  background:transparent;
  border:none;
  border-bottom:1px solid var(--cd);
  padding:12px 0 13px;
  font-family:'Inter',sans-serif;
  font-size:.82rem;
  font-weight:300;
  color:var(--ink);
  outline:none;
  transition:border-color .4s,transform .35s var(--e),opacity .35s var(--e);
  width:100%;
  -webkit-appearance:none;
  border-radius:0;
}
.form-input::placeholder,
.form-textarea::placeholder{
  color:var(--ink4);
  font-weight:300;
}
.form-input:focus,
.form-textarea:focus{
  border-bottom-color:var(--gold);
}
.form-textarea{
  resize:none;
  min-height:88px;
  line-height:1.8;
}
.form-note{
  font-size:.68rem;color:var(--ink4);
  line-height:1.8;font-weight:300;
  margin:6px 0 28px;
  max-width:44ch;
}
.form-submit{
  width:100%;
  padding:16px 18px;
  background:var(--ink);
  color:var(--c);
  font-family:'Inter',sans-serif;
  font-size:.5rem;letter-spacing:4px;
  text-transform:uppercase;
  font-weight:300;
  border:1px solid var(--ink);
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  transition:background .55s var(--e),color .55s var(--e),border-color .55s var(--e),transform .45s var(--e),box-shadow .45s var(--e);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.02);
}
.form-submit:hover{
  background:transparent;
  color:var(--ink);
  transform:translateY(-1px);
}
.form-submit:disabled{
  opacity:.45;cursor:not-allowed;
}
.form-confirm{
  display:none;
  margin:auto;
  max-height:calc(100dvh - 48px);
  overflow-y:auto;
  flex-direction:column;
  align-items:flex-start;
  gap:20px;
  padding:clamp(48px,6vw,80px) clamp(32px,5vw,72px);
}
.form-confirm.visible{display:flex}
.form-confirm-icon{
  width:28px;height:1px;background:var(--gold);
  margin-bottom:8px;
}
.form-confirm-title{
  font-family:'Playfair Display',serif;
  font-size:clamp(1.6rem,2.6vw,2.2rem);
  font-weight:300;color:var(--ink);
  line-height:1.24;letter-spacing:-.2px;
}
.form-confirm-text{
  font-size:.8rem;color:var(--ink3);
  line-height:2;font-weight:300;
}
.reveal{
  opacity:0;transform:translateY(22px);
  transition:opacity 1.5s var(--e),transform 1.5s var(--e);
}
.reveal.visible{opacity:1;transform:none}
.vn-mini-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
  margin-top:40px;
  padding-top:22px;
  border-top:1px solid var(--gr);
}
.vn-mini-grid div{
  padding:0 26px;
  border-left:1px solid rgba(163,142,103,.16);
}
.vn-mini-grid div:first-child{padding-left:0;border-left:none}
.vn-mini-grid span{
  display:block;
  font-size:.42rem;
  letter-spacing:3px;
  text-transform:uppercase;
  color:var(--ink4);
  margin-bottom:8px;
}
.vn-mini-grid strong{
  display:block;
  font-size:.68rem;
  line-height:1.5;
  color:var(--ink2);
  font-weight:300;
}
.process-accordion{
  max-width:900px;
  margin:0 auto;
  display:grid;
  gap:12px;
}
.process-accordion details{
  border:1px solid var(--gr);
  background:rgba(255,255,255,.38);
  padding:18px 20px;
}
.process-accordion summary{
  cursor:pointer;
  list-style:none;
  font-family:'Playfair Display',serif;
  font-size:1.05rem;
  color:var(--ink);
  letter-spacing:-.2px;
}
.process-accordion summary::-webkit-details-marker{display:none}
.process-accordion p{
  margin-top:12px;
  font-size:.74rem;
  line-height:1.9;
  color:var(--ink3);
  max-width:62ch;
}
@media(max-width:680px){
  .vn-mini-grid{grid-template-columns:1fr;gap:16px}
  .vn-mini-grid div{padding-left:0;border-left:none}
}
.seo-faq{
  padding:clamp(108px,13vw,180px) var(--m) clamp(112px,14vw,188px);
  background:linear-gradient(180deg, rgba(246,244,239,.98), rgba(245,241,234,.985));
  border-top:1px solid rgba(154,134,96,.07);
  border-bottom:1px solid rgba(154,134,96,.07);
}
.seo-faq-head{
  max-width:900px;
  margin:0 auto clamp(34px,4.5vw,54px);
}
.seo-faq-head .eyebrow{
  font-size:.42rem;
  letter-spacing:5px;
  opacity:.92;
}
.seo-faq-head h2{
  margin-top:16px;
  font-family:'Playfair Display',serif;
  font-size:clamp(2rem,3.4vw,3.15rem);
  font-weight:300;
  line-height:1.24;
  letter-spacing:-.35px;
  color:var(--ink2);
  max-width:14ch;
}
.faq-list{
  max-width:900px;
  margin:0 auto;
  display:grid;
  gap:14px;
}
.faq-item{
  border:1px solid rgba(154,134,96,.09);
  background:rgba(255,255,255,.34);
  box-shadow:0 8px 24px rgba(14,14,12,.018);
  overflow:hidden;
}
.faq-item summary{
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  padding:16px 18px;
  user-select:none;
}
.faq-item summary::-webkit-details-marker{display:none}
.faq-question{
  display:block;
  flex:1;
  min-width:0;
  font-family:'Playfair Display',serif;
  font-size:clamp(1rem,1.7vw,1.12rem);
  font-weight:300;
  line-height:1.38;
  letter-spacing:-.18px;
  color:var(--ink2);
}
.faq-item:hover .faq-plus::before,
.faq-item:hover .faq-plus::after,
.seo-card:hover .faq-plus::before,
.seo-card:hover .faq-plus::after{
  background:var(--gold);
}
.faq-item[open] .faq-plus::before,
.faq-item[open] .faq-plus::after,
.seo-card[open] .faq-plus::before,
.seo-card[open] .faq-plus::after{
  background:var(--gold);
}
.faq-content{
  display:grid;
  grid-template-rows:0fr;
  opacity:0;
  transition:grid-template-rows .85s var(--e),opacity .75s var(--e);
}
.faq-item[open] .faq-content{
  grid-template-rows:1fr;
  opacity:1;
}
.faq-content-inner{
  overflow:hidden;
  min-height:0;
  padding:0 18px 16px 18px;
  transform:translateY(-6px);
  opacity:0;
  transition:transform .85s var(--e),opacity .8s var(--e),padding-top .85s var(--e);
}
.faq-item[open] .faq-content-inner{
  transform:none;
  opacity:1;
  padding-top:2px;
}
.faq-content-inner p{
  max-width:62ch;
  margin:0;
  font-size:.78rem;
  line-height:1.95;
  color:var(--ink3);
  font-weight:300;
}
@media(max-width:720px){
  .seo-faq{
    padding:clamp(96px,16vw,148px) 16px clamp(100px,16vw,152px);
  }
  .seo-faq-head h2{
    max-width:none;
    font-size:clamp(1.75rem,7vw,2.35rem);
  }
  .faq-list{
    gap:12px;
  }
  .faq-item summary{
    padding:15px 14px;
    gap:14px;
  }
  .faq-question{
    font-size:clamp(.96rem,4.8vw,1.08rem);
  }
  .faq-plus{
    width:22px;
    height:22px;
    flex-basis:22px;
  }
  .faq-plus::before{width:7px}
  .faq-plus::after{height:7px}
  .faq-content-inner{
    padding:0 14px 14px;
  }
  .faq-content-inner p{
    font-size:.74rem;
    line-height:1.9;
  }
}
.trust{
  padding:clamp(92px,12vw,176px) var(--m);
  background:linear-gradient(180deg, rgba(247,242,233,.96), rgba(241,235,224,.92));
  border-top:1px solid var(--gr);
  border-bottom:1px solid rgba(163,142,103,.16);
}
.trust-head{
  max-width:840px;
  margin:0 auto clamp(44px,6vw,76px);
  text-align:center;
}
.trust-head h2{
  font-family:'Playfair Display',serif;
  font-size:clamp(2rem,3.5vw,3.2rem);
  font-weight:300;
  line-height:1.20;
  letter-spacing:-.4px;
  color:var(--ink);
  margin:18px 0 18px;
}
.trust-head p{
  font-size:.82rem;
  line-height:2.05;
  color:var(--ink3);
  font-weight:300;
  max-width:58ch;
  margin:0 auto;
}
.trust-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.trust-card{
  background:rgba(255,255,255,.42);
  border:1px solid rgba(154,134,96,.18);
  padding:28px 24px 26px;
}
.trust-stars{
  font-size:.52rem;
  letter-spacing:3px;
  color:var(--gold);
  margin-bottom:18px;
}
.trust-card p{
  font-size:.78rem;
  line-height:1.95;
  color:var(--ink2);
  font-style:italic;
  margin-bottom:16px;
  max-width:46ch;
}
.trust-card span{
  font-size:.4rem;
  letter-spacing:4px;
  text-transform:uppercase;
  color:var(--ink4);
}
@media(max-width:960px){
  .trust-grid{grid-template-columns:1fr}
}
@media(max-width:1100px){
  .declaration{grid-template-columns:1fr;gap:62px}
  .exp-header{grid-template-columns:1fr;gap:30px}
  .exp-grid{grid-template-columns:1fr}
  .process-flow{grid-template-columns:1fr 1fr;gap:52px}
  .process-flow::before{display:none}
}
@media(max-width:680px){
  .process-flow{grid-template-columns:1fr}
  .strip{flex-direction:column;gap:12px}
  .strip-meta{align-self:flex-start}
  .modal{padding:44px 22px}
  .chef-visual{min-height:94vw}
  .chef-visual img{object-position:center center}
  .chef-text{
    padding:clamp(44px,10vw,78px) var(--ms) clamp(54px,12vw,88px);
    gap:clamp(18px,4vw,26px);
  }
  .chef-text h2{
    font-size:clamp(1.82rem,8.4vw,2.5rem);
    line-height:1.12;
    max-width:10.5ch;
  }
  .chef-text p{
    max-width:32ch;
    font-size:clamp(.93rem,4vw,1rem);
    line-height:1.98;
  }
  .credential{
    grid-template-columns:1fr;
    gap:6px;
    padding:16px 0;
  }
  .credential-role{text-align:left;line-height:1.5}
  .chef-link{
    gap:12px;
  }
  .chef-link-lead{
    max-width:32ch;
    line-height:1.9;
  }
  footer{flex-direction:column;align-items:flex-start}
  .footer-legal{flex-direction:column;gap:10px}
  .cta-actions{flex-direction:column;align-items:center}
  .hero-h1{font-size:clamp(2.6rem,11vw,3.8rem);letter-spacing:-.5px}
  .form-panel,.form-confirm{padding:44px 24px}
  .form-overlay{align-items:flex-start;padding:12px}
  .form-panel,.form-confirm{max-height:calc(100dvh - 24px);margin:0;padding:52px 20px 28px}
}
@media(prefers-reduced-motion:reduce){
  .hero-bg,.reveal,.hero-scroll-line{animation:none!important}
  .hero-content{animation:none!important;opacity:1!important;transform:none!important}
  *{transition-duration:.01ms!important}
}
.hero-h1{
  line-height:1.24;
  text-wrap:balance;
}
.declaration-quote{
  line-height:1.50;
  text-wrap:balance;
}
.editorial-title{
  line-height:1.38;
  text-wrap:balance;
}
.exp-header-title{
  line-height:1.38;
  text-wrap:balance;
}
.exp-name{
  line-height:1.24;
  margin-bottom:28px;
  text-wrap:balance;
}
.step-title{
  line-height:1.46;
  text-wrap:balance;
}
.cta-final h2{
  line-height:1.24;
  text-wrap:balance;
}
.modal-title{
  line-height:1.24;
  text-wrap:balance;
}
.form-title{
  line-height:1.30;
  text-wrap:balance;
}
.form-confirm-title{
  line-height:1.30;
  text-wrap:balance;
}
.seo-cluster-head h2,
.seo-faq-head h2{
  line-height:1.30;
  margin-top:12px;
  text-wrap:balance;
}
.seo-card > summary,
.faq-item summary{
  line-height:1.30;
  text-wrap:balance;
}
.chef-text h2{
  line-height:1.08;
  text-wrap:balance;
}
.chef-text p,
.chef-link-lead{
  text-wrap:balance;
}
.chef-credentials{
  text-wrap:balance;
}

/* ══════════════════════════════════════════════
   AÑADIDO — AUDITORÍA DE CONVERSIÓN
══════════════════════════════════════════════ */

/* Franja de autoridad, justo bajo el Hero */
.authority-strip{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:center;
  gap:14px;
  padding:20px var(--m);
  background:var(--c);
  border-bottom:1px solid var(--gr);
  font-family:'Inter',sans-serif;
  font-size:.62rem;
  letter-spacing:1.5px;
  text-transform:uppercase;
  color:var(--ink3);
  font-weight:300;
  text-align:center;
}
.authority-sep{color:rgba(154,134,96,.4)}
@media(max-width:600px){
  .authority-strip{font-size:.54rem;gap:8px 12px;letter-spacing:1.2px}
}

/* Repetición de urgencia a mitad de recorrido */
.mid-urgency{
  text-align:center;
  padding:6px var(--m) 0;
}

/* Segundo CTA (directo) en las tarjetas de experiencia */
.exp-cta-group{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}
.exp-cta-direct{
  min-height:46px;
  padding:13px 28px;
  font-size:.48rem;
  letter-spacing:3.5px;
  text-transform:uppercase;
  cursor:pointer;
}

/* CTA fijo inferior — solo móvil, donde la cabecera no muestra el botón */
.mobile-sticky-cta{display:none}
@media(max-width:880px){
  .mobile-sticky-cta{
    display:flex;
    position:fixed;
    left:0;right:0;bottom:0;
    z-index:1000;
    padding:12px var(--m) calc(12px + env(safe-area-inset-bottom));
    background:rgba(20,19,16,.94);
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
    border-top:1px solid rgba(154,134,96,.22);
  }
  .mobile-sticky-cta button{
    width:100%;
    padding:14px 20px;
    background:var(--gold);
    color:#0E0E0C;
    border:1px solid var(--gold);
    font-family:'Inter',sans-serif;
    font-size:.56rem;
    letter-spacing:3.5px;
    text-transform:uppercase;
    font-weight:400;
    cursor:pointer;
  }
  body.menu-open .mobile-sticky-cta,
  body.recorrido-open .mobile-sticky-cta{
    display:none;
  }
}
