/* ============================================================
   VETA — Joyería de Autor — hoja de estilos compartida
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Poppins:wght@300;400;500&display=swap');

:root{
  --stone:        #0c2f2a;
  --stone-2:      #0a2622;
  --stone-3:      #103832;
  --ivory:        #efeadc;
  --ivory-dim:    #c8c2b4;
  --ivory-faint:  #8a948f;
  --gold:         #e1a730;
  --gold-light:   #ebc96a;
  --garnet:       #5C1F2A;
  --line:         rgba(225,167,48,0.22);
  --black:        #000000;
  --white:        #ffffff;

  --display: 'Playfair Display', serif;
  --body:    'Poppins', sans-serif;
  --utility: 'Poppins', sans-serif;

  --gutter: 32px;
  --maxw: 1180px;
  --duration: 800ms;
  --scene-ease: cubic-bezier(0.65, 0, 0.35, 1);
  --nav-veil:
    radial-gradient(ellipse 85% 72% at 50% 48%, rgba(12,47,42,0.20) 0%, rgba(12,47,42,0.45) 100%),
    linear-gradient(to bottom,
      rgba(12,47,42,0.50) 0%,
      rgba(12,47,42,0.26) 32%,
      rgba(12,47,42,0.22) 52%,
      rgba(12,47,42,0.38) 76%,
      rgba(12,47,42,0.62) 100%);
  --nav-bg-filter: brightness(0.96) saturate(1);
}

*{box-sizing:border-box;}
html{height:100%; overflow-x:hidden;}
body{
  margin:0; min-height:100%;
  background:var(--stone);
  color:var(--ivory);
  font-family:var(--body);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
  max-width:100%;
}
body.is-loading{overflow:hidden; background:var(--stone);}
body.has-slider{overflow:hidden; height:100%; height:100dvh; overscroll-behavior:none; width:100%;}
img,svg{display:block;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;margin:0;padding:0;}
button{font:inherit;background:none;border:none;color:inherit;cursor:pointer;}

.texture{
  background-color:var(--stone);
  background-image:
    radial-gradient(ellipse 60% 50% at 18% 28%, rgba(225,167,48,0.06), transparent 60%),
    radial-gradient(ellipse 50% 40% at 82% 76%, rgba(16,56,50,0.35), transparent 60%),
    repeating-linear-gradient(118deg, rgba(239,234,220,0.012) 0px, rgba(239,234,220,0.012) 1px, transparent 1px, transparent 4px);
}

.eyebrow{
  font-family:var(--utility); font-weight:400; font-size:12px;
  letter-spacing:0.32em; text-transform:uppercase; color:var(--gold);
}

/* ====================== LOADER ====================== */
#loader{
  position:fixed; inset:0; z-index:99999;
  min-height:100vh;
  background:#0C2F2A;
  display:flex; align-items:center; justify-content:center;
  overflow:hidden;
  animation:pageIn .8s ease forwards;
  isolation:isolate;
}
body.is-loading{background:#0C2F2A!important; overflow:hidden;}
html.loader-scroll-lock,
body.loader-scroll-lock{
  overflow:hidden!important;
  touch-action:none;
  overscroll-behavior:none;
}
body.loader-scroll-lock{
  position:fixed;
  width:100%;
  left:0;
  top:0;
}
body.is-loading > *:not(#loader){
  opacity:0!important; visibility:hidden!important; pointer-events:none!important;
}
#loader.is-revealing{
  animation:loaderFadeOut .4s ease forwards;
  pointer-events:none;
}
@keyframes loaderFadeOut{
  0%{opacity:1;}
  75%{opacity:1;}
  100%{opacity:0; visibility:hidden;}
}
body.is-revealing #scenes,
body.is-revealing .vein-wrap{
  visibility:visible!important; pointer-events:none!important;
  animation:sceneRevealIn .4s ease both;
}
body.is-revealing .site-header,
body.is-revealing .overlay-menu,
body.is-revealing .scroll-cue,
body.is-revealing .progress-bar-mobile{
  opacity:0!important; visibility:hidden!important; pointer-events:none!important;
  animation:none!important;
}
@keyframes sceneRevealIn{from{opacity:0;}to{opacity:1;}}
body.is-revealed .site-header,
body.is-revealed .scroll-cue,
body.is-revealed .progress-bar-mobile{
  visibility:visible!important; pointer-events:auto!important;
  animation:chromeRevealIn .45s ease both;
}
body.is-revealed #scenes,
body.is-revealed .vein-wrap{
  opacity:1!important; visibility:visible!important; pointer-events:auto!important;
}
@keyframes chromeRevealIn{
  from{opacity:0;}
  to{opacity:1;}
}
#loader.is-hidden{opacity:0; visibility:hidden; pointer-events:none; display:none;}
@keyframes pageIn{from{opacity:0;}to{opacity:1;}}
#loader .loader{
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  opacity:0;
  animation:loaderIn .9s ease .15s forwards;
}
@keyframes loaderIn{from{opacity:0; transform:scale(.98);}to{opacity:1; transform:scale(1);}}
.logo-wrap{width:min(200px, 50vw);}
.logo-wrap svg{width:100%; height:auto; display:block;}
.brand-veta{
  margin-top:-0.15rem;
  font-family:"Cormorant Garamond", Georgia, serif;
  font-size:clamp(0.85rem, 2.2vw, 0.98rem);
  font-weight:500;
  letter-spacing:0.62em;
  text-indent:0.62em;
  text-transform:uppercase;
  color:rgba(232, 213, 163, 0.82);
  opacity:0;
  transform:translateY(8px);
  animation:vetaIn .45s cubic-bezier(0.22, 0.03, 0.26, 1) 2.4s forwards;
}
@keyframes vetaIn{to{opacity:1; transform:translateY(0);}}
.load-bar{
  position:fixed;
  bottom:clamp(1.8rem, 5vh, 2.8rem);
  left:50%;
  transform:translateX(-50%);
  width:min(180px, 48vw);
  text-align:center;
}
.load-bar__track{
  height:1px;
  background:rgba(232, 213, 163, 0.15);
  overflow:hidden;
  position:relative;
}
.load-bar__fill{
  height:100%;
  width:0%;
  background:linear-gradient(90deg, rgba(232, 213, 163, 0.35), rgba(232, 213, 163, 0.85));
  box-shadow:0 0 8px rgba(232, 213, 163, 0.25);
  transition:width .08s linear;
}
.load-bar__text{
  display:block;
  margin-top:0.55rem;
  font-family:"Cormorant Garamond", Georgia, serif;
  font-size:0.58rem;
  letter-spacing:0.38em;
  text-transform:uppercase;
  color:rgba(232, 213, 163, 0.45);
}
.load-bar.is-done .load-bar__text{color:rgba(232, 213, 163, 0.72); letter-spacing:0.48em;}

/* ====================== HEADER ====================== */
.site-header{
  position:fixed; top:0; left:0; right:0; z-index:80;
  display:flex; align-items:center; justify-content:center;
  padding:26px var(--gutter);
  transition:background .4s ease, padding .4s ease;
}
.site-header > .hamburger{
  position:absolute;
  right:var(--gutter);
  top:50%;
  transform:translateY(-50%);
}
.site-header.scrolled{
  padding-top:16px; padding-bottom:16px;
  background:linear-gradient(to bottom, rgba(12,47,42,0.92), rgba(12,47,42,0));
}
.page-about.has-slider .site-header,
.page-about.has-slider .site-header.scrolled,
.page-shop.has-slider .site-header,
.page-shop.has-slider .site-header.scrolled,
.page-cert.has-slider .site-header,
.page-cert.has-slider .site-header.scrolled{
  background:transparent !important;
  backdrop-filter:none !important;
}
.wordmark{
  font-family:var(--display); font-weight:400; font-size:21px;
  letter-spacing:0.34em; color:var(--ivory);
  display:flex; align-items:center; justify-content:center;
}
.wordmark-logo{
  height:clamp(28px,4.5vw,38px); width:auto;
  filter:drop-shadow(0 1px 8px rgba(12,47,42,0.35));
}
.site-header__actions{
  position:absolute; right:var(--gutter); top:50%;
  transform:translateY(-50%);
  display:flex; align-items:center; gap:16px; z-index:81;
}
.site-header__actions .hamburger{
  position:relative;
  flex-shrink:0;
}
.lang-switch{
  display:flex; gap:0; padding:3px;
  border-radius:999px;
  background:rgba(255,255,255,0.08);
  border:1px solid rgba(255,255,255,0.55);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,0.12);
  flex-shrink:0;
}
.lang-switch__btn{
  font-family:var(--utility); font-size:10px; font-weight:500;
  letter-spacing:0.14em; text-transform:uppercase;
  color:var(--ivory); background:transparent;
  border:1px solid transparent;
  padding:6px 10px; cursor:pointer;
  line-height:1;
  border-radius:999px 0 0 999px;
  transition:color .25s ease, background .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.lang-switch__btn + .lang-switch__btn{
  border-left:1px solid rgba(255,255,255,0.42);
  border-radius:0 999px 999px 0;
}
.lang-switch__btn:hover{ color:#fff; }
.lang-switch__btn.is-active{
  color:var(--stone); background:var(--gold);
  border-color:rgba(255,255,255,0.45);
  box-shadow:0 2px 10px rgba(225,167,48,0.35);
}
.lang-switch__btn:first-child.is-active{
  border-radius:999px 0 0 999px;
  border-right-color:transparent;
}
.lang-switch__btn:last-child.is-active{
  border-radius:0 999px 999px 0;
  border-left-color:transparent;
}
.hamburger{
  position:relative; display:block;
  width:30px; height:20px; flex-shrink:0;
  padding:0; border:0; background:transparent; cursor:pointer;
  z-index:82;
}
.hamburger span{
  position:absolute; left:0; right:0; height:2px; background:#fff;
  opacity:1;
  transition:transform .35s ease, opacity .25s ease, top .35s ease;
}
.hamburger span:nth-child(1){top:0;}
.hamburger span:nth-child(2){top:9px;}
.hamburger span:nth-child(3){top:18px;}
.menu-open .hamburger span:nth-child(1){top:9px; transform:rotate(45deg); opacity:1;}
.menu-open .hamburger span:nth-child(2){opacity:0;}
.menu-open .hamburger span:nth-child(3){top:9px; transform:rotate(-45deg); opacity:1;}

/* ====================== OVERLAY MENU ====================== */
.overlay-menu{
  position:fixed; inset:0; z-index:70;
  background:var(--stone-2);
  display:none;
  flex-direction:column; align-items:center; justify-content:center;
  opacity:0; visibility:hidden; pointer-events:none;
}
body.menu-open{
  overflow:hidden;
}
body.menu-open .overlay-menu{
  display:flex;
  opacity:1; visibility:visible; pointer-events:auto;
}
.overlay-menu nav ul{display:flex; flex-direction:column; gap:6px; text-align:right;}
.overlay-menu nav li{border-right:2px solid transparent; padding:10px 28px 10px 10px; transition:border-color .3s ease;}
.overlay-menu nav li:hover, .overlay-menu nav li.is-current{border-color:var(--gold);}
.overlay-menu nav a{
  font-family:var(--utility); font-weight:400; font-size:clamp(17px,2.6vw,24px);
  letter-spacing:0.14em; text-transform:uppercase; color:var(--ivory-dim);
  transition:color .3s ease;
}
.overlay-menu nav li:hover a, .overlay-menu nav li.is-current a{color:var(--ivory);}
.overlay-social{
  margin-top:54px;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  gap:clamp(36px, 10vw, 56px);
}
.overlay-social__link{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:12px;
  opacity:0.82;
  transition:opacity .3s ease, transform .3s ease;
}
.overlay-social__link:hover,
.overlay-social__link:focus-visible{
  opacity:1;
  transform:translateY(-2px);
}
.overlay-social__icon{
  width:44px;
  height:44px;
  object-fit:contain;
  display:block;
}
.overlay-social__label{
  font-family:var(--utility);
  font-size:11px;
  font-weight:400;
  letter-spacing:0.22em;
  text-transform:uppercase;
  color:var(--ivory-faint);
  transition:color .3s ease;
}
.overlay-social__link:hover .overlay-social__label,
.overlay-social__link:focus-visible .overlay-social__label{color:var(--gold);}

/* ====================== HOME SLIDER (index.html only) ====================== */
#scenes{
  position:relative; width:100%; max-width:100%;
  display:flex; flex-direction:column;
  transition:transform var(--duration) var(--scene-ease);
  will-change:transform;
  overscroll-behavior:none;
  overflow-x:hidden;
}
#scenes > section{
  flex:0 0 100vh; flex:0 0 100dvh;
  height:100vh; height:100dvh;
  width:100%; max-width:100%; position:relative;
  display:flex; align-items:center;
  overflow:hidden;
  padding:120px var(--gutter) 70px calc(var(--gutter) + 30px);
}
#scenes > .home-scene{
  padding-left:var(--gutter);
  padding-right:var(--gutter);
}
#scenes > #inicio{
  padding-left:var(--gutter);
  padding-right:var(--gutter);
}
.vein-wrap{position:fixed; left:0; top:0; width:30px; height:100vh; z-index:30; pointer-events:none;}
.vein-wrap svg{width:100%; height:100%;}
.vein-bg{stroke:rgba(239,234,220,0.07); stroke-width:1.4; fill:none;}
.vein-fg{
  stroke:url(#veinGradient); stroke-width:1.6; fill:none;
  stroke-dasharray:1000; stroke-dashoffset:1000;
  transition:stroke-dashoffset var(--duration) ease;
  filter:drop-shadow(0 0 3px rgba(225,167,48,0.4));
}
.progress-bar-mobile{position:fixed; top:0; left:0; right:0; height:2px; background:rgba(239,234,220,0.08); z-index:55; display:none;}
.progress-bar-mobile span{display:block; height:100%; width:100%; background:linear-gradient(90deg,var(--gold),var(--gold-light)); transform:scaleX(0); transform-origin:left; transition:transform var(--duration) ease;}
.site-footer-fixed{position:fixed; left:calc(var(--gutter) + 30px); bottom:18px; z-index:35; font-family:var(--utility); font-size:10px; letter-spacing:0.08em; color:var(--ivory-faint);}
body.home-at-inicio .site-footer-fixed{display:none;}

/* reveal-on-scroll */
.reveal{opacity:0; transform:translateY(26px); transition:opacity .9s ease, transform .9s ease;}
.reveal.is-visible{opacity:1; transform:translateY(0);}
.reveal-d1{transition-delay:.08s;}
.reveal-d2{transition-delay:.18s;}
.reveal-d3{transition-delay:.28s;}

/* ====================== ABOUT PAGE SCENE SLIDER ====================== */
.page-about.has-slider .vein-wrap{display:none;}

/* ---------- About lateral rail (estilo índice de secciones) ---------- */
.about-rail{
  position:fixed; left:clamp(16px,2.5vw,28px); top:50%;
  transform:translateY(-50%); z-index:60;
  display:flex; align-items:stretch; gap:0;
  pointer-events:none;
}
.about-rail__line{
  position:relative; width:1px; flex-shrink:0;
  background:rgba(239,234,220,0.12);
  margin-right:14px; align-self:stretch;
  min-height:200px;
}
.about-rail__fill{
  position:absolute; top:0; left:0; width:100%;
  height:0%; background:linear-gradient(to bottom, var(--gold-light), var(--gold));
  transition:height var(--duration) var(--scene-ease);
}
.about-rail__list{
  list-style:none; margin:0; padding:0;
  display:flex; flex-direction:column; justify-content:space-between;
  gap:clamp(14px,2.2vh,22px);
  pointer-events:auto;
}
.about-rail__item button{
  position:relative;
  display:flex; align-items:center; gap:0;
  padding:0; background:none; border:none; cursor:pointer;
  color:var(--ivory-faint); text-align:left;
  transition:color .35s ease, gap .35s ease;
}
.about-rail__item button::before{
  content:""; position:absolute;
  left:-15px; top:50%; transform:translateY(-50%);
  width:10px; height:1px;
  background:rgba(239,234,220,0.18);
  transition:width .4s var(--scene-ease), background .35s ease;
}
.about-rail__item.is-active button::before{
  width:18px;
  background:linear-gradient(to right, var(--gold-light), rgba(225,167,48,0.35));
}
.about-rail__num{
  font-family:var(--utility); font-size:11px; font-weight:400;
  letter-spacing:0.12em; min-width:22px;
  transition:color .35s ease, opacity .35s ease;
}
.about-rail__label{
  font-family:var(--utility); font-size:10px; font-weight:500;
  letter-spacing:0.22em; text-transform:uppercase;
  max-width:0; overflow:hidden; white-space:nowrap;
  opacity:0; transform:translateX(-6px);
  transition:max-width .45s var(--scene-ease), opacity .35s ease, transform .45s var(--scene-ease);
}
.about-rail__item.is-active button{color:var(--ivory);}
.about-rail__item.is-active .about-rail__num{color:var(--gold-light);}
.about-rail__item.is-active .about-rail__label,
.about-rail__item button:hover .about-rail__label,
.about-rail__item button:focus-visible .about-rail__label{
  max-width:240px; opacity:1; transform:translateX(0);
  margin-left:10px; padding-left:10px;
  border-left:1px solid rgba(225,167,48,0.45);
}
.about-rail__item button:hover,
.about-rail__item button:focus-visible{color:var(--ivory-dim);}
.about-rail__item button:hover .about-rail__num,
.about-rail__item button:focus-visible .about-rail__num{color:var(--ivory);}
.about-rail__item.is-active button:hover .about-rail__num{color:var(--gold-light);}
.about-rail__item:not(.is-active) button:hover::before,
.about-rail__item:not(.is-active) button:focus-visible::before{
  width:14px;
  background:rgba(239,234,220,0.38);
}

/* Video de apertura */
.about-scene--video-bg{
  padding:0; justify-content:flex-end;
  overflow:hidden;
}
.about-scene__video-bg{
  position:absolute; inset:0; z-index:0; overflow:hidden;
}
.about-scene__video-bg video{
  width:100%; height:100%; object-fit:cover; object-position:center;
  display:block;
}
.about-scene__veil--video{
  position:absolute; inset:0; z-index:1; pointer-events:none;
  background:linear-gradient(to bottom,
    rgba(12,47,42,0.35) 0%,
    rgba(12,47,42,0.08) 40%,
    rgba(12,47,42,0.25) 100%);
}
.about-scene--video-bg::after{
  content:""; position:absolute; inset:0; z-index:2; pointer-events:none;
  background:repeating-linear-gradient(
    -45deg,
    transparent,
    transparent 3px,
    rgba(239,234,220,0.018) 3px,
    rgba(239,234,220,0.018) 4px
  );
  opacity:0.85;
}

#about-scenes{
  position:relative; width:100%; max-width:100%;
  display:flex; flex-direction:column;
  transition:transform var(--duration) var(--scene-ease);
  will-change:transform;
  overscroll-behavior:none;
  overflow-x:hidden;
}
#about-scenes > .about-scene{
  flex:0 0 100vh; flex:0 0 100dvh;
  height:100vh; height:100dvh;
  width:100%; max-width:100%;
  position:relative; display:flex; flex-direction:column;
  align-items:center; justify-content:center;
  overflow:hidden;
  padding:clamp(84px,10vh,96px) calc(var(--gutter) + 8px) clamp(40px,5vh,56px) calc(var(--gutter) + 56px);
  box-sizing:border-box;
}
.about-scene__inner{
  width:100%; max-width:var(--maxw);
  margin:0 auto;
  max-height:100%;
  overflow:hidden;
  flex-shrink:1;
}
.about-scene--hero{
  justify-content:center; text-align:center;
  padding-left:calc(var(--gutter) + 56px);
  padding-right:calc(var(--gutter) + 8px);
}
.about-scene--video .about-scene__inner{
  display:flex; flex-direction:column;
  align-items:center; justify-content:center;
  min-height:min(100%, calc(100vh - 172px));
  max-width:var(--maxw);
}
.about-video-split{
  display:grid;
  grid-template-columns:1fr 1.2fr;
  gap:clamp(28px,5vw,56px);
  align-items:center;
  width:100%;
}
.about-video-split__text{text-align:left;}
.about-video-split__text .section-heading{margin-bottom:16px;}
.about-video-split__text .body-text{margin-bottom:14px;}
.about-video-split__media{width:100%;}
.about-video-split .about-video-frame{
  width:100%; max-width:none;
  aspect-ratio:16/9;
}
.about-video-lead{font-size:12px; color:var(--ivory-faint); margin:0; letter-spacing:0.06em;}

#about-historia.about-scene{
  padding-left:calc(var(--gutter) + 36px);
  padding-right:calc(var(--gutter) + 20px);
}

.about-historia-inner{
  display:grid;
  grid-template-columns:auto auto;
  gap:clamp(28px,3.8vw,48px);
  align-items:center;
  width:max-content;
  max-width:min(96%,1320px);
  margin-inline:auto;
}
.about-historia-copy{
  max-width:50ch;
  margin-left:clamp(36px,6vw,80px);
  margin-right:0;
  padding-right:0;
}
.about-historia-copy .section-heading{
  margin-bottom:clamp(14px,2vh,20px);
  font-size:clamp(38px,5vw,58px);
}
.about-historia-copy .body-text{
  margin-bottom:clamp(12px,1.6vh,16px);
  max-width:none;
  font-size:clamp(17px,1.65vw,20px);
  line-height:1.74;
}
.about-historia-copy .body-text strong{color:var(--gold-light); font-weight:500;}
.about-hero__inner .body-text em{
  font-style:italic; color:var(--gold-light);
}

.about-subgallery{
  --subgallery-gap:clamp(10px,1.4vw,14px);
  min-height:0;
}
.about-subgallery--columns{
  --subgallery-h:min(64vh,640px);
  display:grid;
  grid-template-columns:calc(var(--subgallery-h) * 9 / 16) calc((var(--subgallery-h) - var(--subgallery-gap)) / 2);
  grid-template-rows:1fr 1fr;
  gap:var(--subgallery-gap);
  height:var(--subgallery-h);
  max-height:var(--subgallery-h);
  width:max-content;
  max-width:100%;
  margin:0;
}
.about-subgallery__slot{
  position:relative;
  border:1px solid rgba(225,167,48,0.22);
  background:var(--stone-2);
  overflow:hidden;
  min-height:0;
}
.about-subgallery__slot--portrait{
  grid-column:1;
  grid-row:1 / -1;
  height:100%;
  width:100%;
}
.about-subgallery__slot--sq{
  grid-column:2;
  width:100%;
  height:100%;
  aspect-ratio:1;
  align-self:center;
  justify-self:center;
}
.about-subgallery__slot img{
  width:100%; height:100%; object-fit:cover; object-position:center;
  display:block;
  transition:transform .6s var(--scene-ease);
}
.about-subgallery__slot--portrait img{object-position:center 30%;}
.about-subgallery__slot:hover img{transform:scale(1.04);}

.about-tiendas-inner{
  text-align:center; max-width:640px;
  display:flex; flex-direction:column; align-items:center; gap:8px;
  padding-inline:20px;
}
.about-tiendas-inner .body-text{margin-bottom:8px; max-width:46ch;}
.about-tiendas-inner .body-text strong{color:var(--ivory); font-weight:500;}
.about-tiendas-inner .cta-button{margin-top:16px;}
.about-tiendas-link{margin-top:12px;}

#about-scenes > .about-scene.about-scene--nav,
#about-scenes > #about-nav.about-scene,
#scenes > #navegacion.about-scene--nav,
#shop-scenes > .about-scene--nav,
#shop-scenes > #shop-footer.about-scene--nav,
#designer-scenes > .about-scene--nav,
#designer-scenes > #designer-footer.about-scene--nav,
#cert-scenes > .about-scene--nav,
#cert-scenes > #cert-footer.about-scene--nav{
  padding:clamp(96px,11vh,118px) var(--gutter) clamp(72px,9vh,88px);
}
.about-scene--nav{
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:center;
  padding:clamp(96px,11vh,118px) var(--gutter) clamp(72px,9vh,88px);
  overflow:hidden;
  box-sizing:border-box;
}
#about-nav.about-scene,
#scenes > #navegacion.about-scene--nav,
.page-shop.has-slider #shop-footer.about-scene--nav,
.page-designer.has-slider #designer-footer.about-scene--nav,
.page-cert.has-slider #cert-footer.about-scene--nav{
  padding:clamp(96px,11vh,118px) var(--gutter) clamp(72px,9vh,88px);
}
/* Footer cert + diseñador — scroll solo en móvil */
@media (max-width:880px){
  #cert-footer.shop-scene--nav,
  #designer-footer.shop-scene--nav{
    align-items:center;
    justify-content:flex-start;
    overflow-x:hidden;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
  }
}
#cert-footer.shop-scene--instant .about-scene__inner,
#designer-footer.shop-scene--instant .about-scene__inner{
  max-height:none;
  overflow:visible;
  flex-shrink:0;
  opacity:1;
  transform:none;
}
.page-cert.has-slider #cert-footer.shop-scene--instant .about-scene__inner,
.page-designer.has-slider #designer-footer.shop-scene--instant .about-scene__inner{
  opacity:1 !important;
  transform:none !important;
  transition:none !important;
}
.page-cert.has-slider #cert-footer.shop-scene--instant .about-scene__bg img,
.page-designer.has-slider #designer-footer.shop-scene--instant .about-scene__bg img{
  opacity:1;
  transform:scale(1.06);
  filter:var(--nav-bg-filter);
}
.about-scene--nav .about-scene__bg{
  position:absolute; inset:0; z-index:0; overflow:hidden;
}
.about-scene--nav .about-scene__bg img,
.about-scene--nav .shop-scene__bg img{
  width:100%; height:100%; object-fit:cover; object-position:center 48%;
  display:block;
  transform:scale(1.06);
  transform-origin:center center;
  filter:var(--nav-bg-filter);
  transition:opacity .55s var(--scene-ease), transform .65s var(--scene-ease), filter .5s ease;
}
.about-scene--nav .about-scene__veil,
.about-scene--nav .shop-scene__veil,
.about-scene--nav .designer-scene__veil,
.about-scene--nav .cert-scene__veil,
#about-nav .about-scene__veil,
#navegacion.about-scene--nav .about-scene__veil,
#shop-footer .about-scene__veil,
#shop-footer .shop-scene__veil,
#designer-footer .about-scene__veil,
#designer-footer .designer-scene__veil,
#cert-footer .about-scene__veil,
#cert-footer .cert-scene__veil{
  position:absolute; inset:0; z-index:2; pointer-events:none;
  opacity:1;
  background:var(--nav-veil);
}
.about-scene--nav .index-list a,
.about-scene--nav .about-nav-list.index-list a,
.about-scene--nav .index-hint,
.about-scene--nav .index-quote,
.about-scene--nav .about-policies__title,
.about-scene--nav .about-policies__list a,
.about-scene--nav .about-footer-note{
  text-shadow:none;
}
.about-scene--nav .index-list a,
.about-scene--nav .about-nav-list.index-list a{
  color:var(--white);
}
.about-scene--nav .index-list a[aria-current="page"]{
  color:var(--gold);
  background:transparent;
  text-shadow:none;
}
.about-scene--nav .index-hint{
  color:var(--ivory-dim);
}
.about-scene--nav .about-scene__bg,
.about-scene--nav .shop-scene__bg,
.about-scene--nav .designer-scene__bg,
.about-scene--nav .cert-scene__bg,
#about-nav .about-scene__bg,
#navegacion.about-scene--nav .about-scene__bg,
#shop-footer .about-scene__bg,
#shop-footer .shop-scene__bg,
#designer-footer .about-scene__bg,
#designer-footer .designer-scene__bg,
#cert-footer .about-scene__bg,
#cert-footer .cert-scene__bg{
  z-index:0;
}
.about-scene--nav .about-scene__bg img,
.about-scene--nav .shop-scene__bg img,
.about-scene--nav .designer-scene__bg img,
.about-scene--nav .cert-scene__bg img,
#designer-footer .about-scene__bg img,
#cert-footer .about-scene__bg img{
  filter:var(--nav-bg-filter);
}
.about-nav-inner,
.about-scene--nav .about-scene__inner{
  position:relative;
  z-index:3;
  text-align:center; width:100%; max-width:min(1080px,100%);
  display:flex; flex-direction:column; align-items:center;
  padding-inline:clamp(8px,1.5vw,16px);
  padding-bottom:clamp(16px,3vh,28px);
  box-sizing:border-box;
}
.about-nav-list{
  margin-bottom:24px;
  width:100%;
  max-width:100%;
}
.about-nav-list.index-list a{
  font-size:clamp(12px,1.55vw,20px);
  letter-spacing:0.05em;
  padding:12px clamp(10px,1.6vw,22px);
  white-space:normal;
  line-height:1.25;
  color:var(--white);
}
.about-policies{
  margin-top:clamp(20px,3vh,28px);
  padding-top:clamp(16px,2.5vh,22px);
  border-top:1px solid var(--line);
  width:100%; max-width:480px;
}
.about-policies__title{
  font-family:var(--display); font-weight:400;
  font-size:clamp(18px,2.2vw,22px); color:var(--ivory);
  margin:0 0 16px; letter-spacing:0.04em;
}
.about-policies__list{
  list-style:none; margin:0; padding:0;
  display:flex; flex-direction:column; gap:12px;
}
.about-policies__list a{
  font-family:var(--utility); font-size:11px;
  letter-spacing:0.18em; text-transform:uppercase;
  color:var(--ivory);
  transition:color .3s ease;
}
.about-policies__list a:hover{color:var(--gold-light);}
.about-scene--nav .about-policies{
  margin-top:clamp(28px,3.5vh,36px);
}
.about-scene--nav .about-footer-note{
  margin-top:clamp(24px,4vw,32px);
  color:var(--ivory-dim);
  font-size:11px;
  letter-spacing:0.06em;
  line-height:1.65;
  max-width:min(480px, 92%);
}

.about-scene--scroll .section-header{text-align:center; margin-bottom:clamp(24px,4vw,36px);}
.about-scene--scroll .section-header .section-heading{margin-bottom:0;}
.about-scene--scroll .about-group-intro{
  text-align:center; max-width:580px;
  margin:0 auto clamp(20px,3vw,28px);
  font-size:clamp(14px,1.5vw,15px);
}

/* Ecosistema — dos columnas: texto + lista de marcas */
.about-marcas-inner{
  display:grid;
  grid-template-columns:0.92fr 1.15fr;
  gap:clamp(36px,5.5vw,72px);
  align-items:center;
  max-width:min(1180px, 100%);
}
.about-marcas-copy .section-heading{
  margin-bottom:clamp(14px,1.8vh,18px);
  font-size:clamp(30px,4.2vw,50px);
}
.about-marcas-copy .body-text{
  margin-bottom:clamp(10px,1.4vh,14px);
  font-size:clamp(13px,1.35vw,15px);
  line-height:1.68;
  max-width:44ch;
}
.about-marcas-copy .body-text strong{color:var(--gold-light); font-weight:500;}

/* Ecosistema — mismo tamaño que el resto; solo un poco menos de aire vertical */
#about-marcas .about-marcas-inner{
  gap:clamp(24px,4vw,48px);
  width:100%;
}
#about-marcas .about-marcas-copy .section-heading{
  margin-bottom:clamp(10px,1.4vh,14px);
  font-size:clamp(28px,3.8vw,46px);
}
#about-marcas .about-marcas-copy .body-text{
  margin-bottom:clamp(8px,1vh,12px);
  font-size:clamp(12px,1.25vw,14px);
  line-height:1.62;
}
#about-marcas .brand-list{min-width:0;}
#about-marcas .brand-row{
  padding:clamp(16px,2.2vh,24px) clamp(12px,1.5vw,18px);
  gap:clamp(14px,2vw,22px);
}
#about-marcas .brand-row__logo img{
  max-height:clamp(42px,5vw,56px);
}
#about-marcas .brand-row__title{
  font-size:clamp(17px,1.7vw,22px);
  margin-bottom:clamp(6px,0.8vh,8px);
}
#about-marcas .brand-row__text{
  font-size:clamp(13px,1.35vw,15px);
  line-height:1.6;
  margin-bottom:clamp(8px,1vh,10px);
}
#about-marcas .brand-row__text{max-width:none;}

/* Cadena de valor — diagrama orbital */
.about-scene--cadena{
  overflow:hidden;
  justify-content:center;
  padding-left:calc(var(--gutter) + 32px);
  padding-right:calc(var(--gutter) + 32px);
}
#about-cadena .about-scene__inner{
  max-height:none;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.about-scene__cadena-bg{
  position:absolute; inset:0; z-index:0; overflow:hidden;
}
.about-scene__cadena-bg img{
  width:100%; height:100%;
  object-fit:cover; object-position:center 55%;
  display:block;
}
.about-scene__cadena-veil{
  position:absolute; inset:0; z-index:1; pointer-events:none;
  background:
    radial-gradient(ellipse 70% 60% at 50% 45%, rgba(12,47,42,0.05) 0%, rgba(12,47,42,0.45) 100%),
    linear-gradient(to bottom, rgba(12,47,42,0.45) 0%, rgba(12,47,42,0.15) 50%, rgba(12,47,42,0.72) 100%);
}
.about-cadena-stage{
  position:relative; z-index:2;
  display:flex; flex-direction:column;
  align-items:center; justify-content:center;
  width:100%;
  max-width:min(1180px,96%);
  height:100%;
  gap:clamp(14px,2vh,22px);
  padding:clamp(8px,1.5vh,16px) 0 clamp(12px,2vh,20px);
  transform:translateX(-24px);
}
.about-cadena-head{
  text-align:center; flex-shrink:0;
  margin-bottom:0;
  width:100%;
}
.about-cadena-head__title{
  margin:0;
  font-size:clamp(30px,4.2vw,48px);
  line-height:1.1;
}

.value-orbit{
  position:relative;
  width:100%;
  flex:1 1 auto;
  min-height:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:clamp(16px,3vh,32px) 0;
}
.value-orbit__line-wrap{
  position:relative;
  width:min(96%,920px);
  margin-inline:auto;
  padding-bottom:clamp(36px,5vh,52px);
}
.value-orbit__track{
  position:absolute;
  left:6%;
  right:6%;
  top:9px;
  height:2px;
  z-index:1;
  pointer-events:none;
}
.value-orbit__track-base{
  position:absolute; inset:0;
  background:rgba(239,234,220,0.28);
  border-radius:2px;
}
.value-orbit__track-fill{
  position:absolute; left:0; top:0; bottom:0;
  width:0%;
  background:linear-gradient(90deg, rgba(225,167,48,0.55), var(--gold-light));
  border-radius:2px;
  box-shadow:0 0 16px rgba(225,167,48,0.55);
  transition:width .5s var(--scene-ease);
}
.value-orbit__readout{
  position:relative; z-index:4;
  text-align:center;
  width:100%;
  max-width:min(680px,94%);
  padding:clamp(8px,1.2vh,12px) clamp(12px,2vw,20px) 0;
  background:none;
  border:none;
  border-radius:0;
  backdrop-filter:none;
  box-shadow:none;
}
.value-orbit__readout.is-updated .value-orbit__readout-title{
  color:var(--gold-light);
}
.value-orbit__footer{
  width:100%;
  flex-shrink:0;
  z-index:4;
  display:flex;
  flex-direction:column;
  align-items:center;
  padding-top:clamp(8px,1.2vh,14px);
}
.value-orbit__readout-num{
  display:block;
  font-family:var(--utility); font-size:12px;
  letter-spacing:0.32em; color:var(--gold-light);
  margin-bottom:8px;
  text-shadow:0 2px 12px rgba(12,47,42,0.9);
}
.value-orbit__readout-title{
  font-family:var(--display); font-weight:500;
  font-size:clamp(22px,2.4vw,30px);
  letter-spacing:0.04em;
  margin:0 0 10px; color:var(--ivory);
  transition:color .35s ease;
  text-shadow:0 2px 18px rgba(12,47,42,0.92);
}
.value-orbit__readout-text{
  font-family:var(--body);
  font-size:clamp(15px,1.5vw,18px);
  line-height:1.68; color:var(--ivory);
  margin:0;
  text-shadow:0 2px 16px rgba(12,47,42,0.92);
}
.value-orbit__cta{
  margin-top:clamp(18px,2.5vh,24px);
  display:inline-flex;
}
.value-orbit__cta[hidden]{display:none !important;}

.value-orbit__points{
  position:relative;
  z-index:3;
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  width:100%;
  pointer-events:auto;
}
.value-orbit__point{
  position:relative;
  flex:1;
  display:flex;
  justify-content:center;
  min-width:0;
}
.value-orbit__trigger{
  display:flex; flex-direction:column;
  align-items:center; gap:clamp(14px,2.2vh,20px);
  padding:0 4px;
  background:none; border:none; cursor:pointer;
  color:var(--ivory);
  transition:transform .35s var(--scene-ease);
}
.value-orbit__dot{
  position:relative;
  z-index:2;
  width:clamp(14px,1.6vw,18px);
  height:clamp(14px,1.6vw,18px);
  border-radius:50%;
  border:2.5px solid var(--gold-light);
  background:transparent;
  box-shadow:none;
  transition:transform .4s var(--scene-ease), background .35s ease, box-shadow .4s ease, border-color .35s ease;
  flex-shrink:0;
}
.value-orbit__label{
  font-family:var(--utility);
  font-size:clamp(9px,0.82vw,11px);
  font-weight:600;
  letter-spacing:0.16em;
  text-transform:uppercase;
  max-width:min(120px,18vw);
  white-space:normal;
  line-height:1.5;
  text-align:center;
  color:var(--white);
  padding:0;
  background:none;
  border:none;
  border-radius:0;
  box-shadow:none;
  text-shadow:
    0 1px 3px rgba(12,47,42,0.95),
    0 2px 16px rgba(12,47,42,0.85);
  transition:color .35s ease, text-shadow .35s ease;
}
.value-orbit__point.is-active .value-orbit__trigger{
  transform:translateY(-2px);
}
.value-orbit__point.is-active .value-orbit__dot{
  transform:scale(1.2);
  background:var(--gold-light);
  border-color:var(--gold-light);
  box-shadow:0 0 0 5px rgba(225,167,48,0.2), 0 0 24px rgba(225,167,48,0.7);
}
.value-orbit__point.is-active .value-orbit__label{
  color:var(--gold-light);
  text-shadow:
    0 1px 3px rgba(12,47,42,0.95),
    0 0 18px rgba(225,167,48,0.45);
}
.value-orbit__trigger:focus-visible{
  outline:1px solid var(--gold);
  outline-offset:4px;
  border-radius:2px;
}

.value-orbit__hint{
  position:relative;
  margin:clamp(28px,4vh,44px) 0 0;
  font-family:var(--utility); font-size:10px;
  letter-spacing:0.22em; text-transform:uppercase;
  color:var(--ivory);
  opacity:0.82;
  text-shadow:0 2px 12px rgba(12,47,42,0.9);
  white-space:nowrap;
  pointer-events:none;
}

.brand-list{
  display:flex; flex-direction:column;
  border-top:1px solid rgba(239,234,220,0.14);
}
.brand-row{
  display:grid;
  grid-template-columns:clamp(88px,11vw,120px) 1fr;
  gap:clamp(18px,2.4vw,28px);
  align-items:center;
  padding:clamp(22px,3vh,32px) clamp(14px,1.8vw,20px);
  margin:0 clamp(-14px,-1.8vw,-20px);
  border-bottom:1px solid rgba(239,234,220,0.14);
  border-radius:5px;
  cursor:default;
  transition:
    background .45s var(--scene-ease),
    border-color .4s ease,
    transform .45s var(--scene-ease),
    box-shadow .45s ease;
}
.brand-row:hover,
.brand-row:focus-within{
  background:rgba(16,56,50,0.62);
  border-bottom-color:rgba(225,167,48,0.42);
  transform:translateX(6px);
  box-shadow:-4px 0 0 rgba(225,167,48,0.55);
}
.brand-row__logo{
  aspect-ratio:1;
  display:flex; align-items:center; justify-content:center;
  padding:clamp(12px,1.6vw,18px);
  border:1px solid rgba(239,234,220,0.16);
  border-radius:5px;
  background:var(--stone-2);
  overflow:hidden;
  text-decoration:none;
  color:inherit;
  transition:
    transform .45s var(--scene-ease),
    border-color .4s ease,
    box-shadow .45s ease;
}
.brand-row:hover .brand-row__logo,
.brand-row:focus-within .brand-row__logo{
  transform:scale(1.07);
  border-color:rgba(225,167,48,0.5);
  box-shadow:0 10px 28px rgba(12,47,42,0.45);
}
.brand-row__logo--lde{
  background:linear-gradient(160deg, #0a2622, #0c2f2a);
}
.brand-row__logo--svl{
  background:linear-gradient(160deg, #103832, #0c2f2a);
}
.brand-row__logo--lgx{
  background:linear-gradient(160deg, #0a2622, #103832);
}
.brand-row__logo img{
  max-width:100%; max-height:clamp(44px,5.5vw,62px);
  width:auto; height:auto; object-fit:contain;
  transition:transform .45s var(--scene-ease), filter .4s ease;
}
.brand-row:hover .brand-row__logo img,
.brand-row:focus-within .brand-row__logo img{
  transform:scale(1.04);
  filter:brightness(1.08);
}
.brand-row__title{
  font-family:var(--display); font-weight:500;
  font-size:clamp(18px,1.85vw,24px);
  letter-spacing:0.03em;
  margin:0 0 clamp(8px,1vh,10px);
  color:var(--ivory);
  transition:color .35s ease;
}
.brand-row:hover .brand-row__title,
.brand-row:focus-within .brand-row__title{color:var(--gold-light);}
.brand-row__text{
  font-family:var(--body);
  font-size:clamp(14px,1.45vw,17px);
  line-height:1.65; color:var(--ivory-dim);
  margin:0 0 clamp(10px,1.2vh,14px);
  max-width:48ch;
  transition:color .35s ease;
}
.brand-row:hover .brand-row__text,
.brand-row:focus-within .brand-row__text{color:rgba(239,234,220,0.92);}
.brand-row__link{
  display:inline-block;
  font-family:var(--utility); font-size:10px; font-weight:500;
  letter-spacing:0.22em; text-transform:uppercase;
  color:var(--gold-light);
  transition:color .35s ease, letter-spacing .35s ease, transform .35s ease;
}
.brand-row__link:hover{color:var(--ivory);}
.brand-row:hover .brand-row__link,
.brand-row:focus-within .brand-row__link{
  letter-spacing:0.28em;
  transform:translateX(2px);
}
.about-cierre-inner{
  text-align:center; max-width:680px;
  display:flex; flex-direction:column; align-items:center; gap:clamp(28px,4vw,40px);
}
.about-cierre-inner .body-text{margin-left:auto; margin-right:auto;}
.about-cierre-inner .founder-quote{margin:0; padding:0; border:none;}
.about-footer-note{
  font-family:var(--utility); font-size:10px;
  letter-spacing:0.1em; color:var(--ivory-faint);
  margin:0;
}
.about-scene.is-active .about-hero__inner,
.about-scene.is-active .about-scene__inner{
  animation:none;
}

/* ---------- About scene reveal (efecto index / Pagani) — también tienda virtual ---------- */
.page-about.has-slider,
.page-shop.has-slider{
  background:var(--stone);
}
.page-about.has-slider .about-scene__reveal-curtain,
.page-shop.has-slider .about-scene__reveal-curtain,
.page-shop.has-slider .shop-scene__reveal-curtain{
  position:absolute; inset:0; z-index:6;
  background:var(--stone);
  opacity:1; visibility:visible;
  transition:opacity .52s var(--scene-ease), visibility 0s linear .52s;
  pointer-events:none;
}
.page-about.has-slider .about-scene.is-revealed .about-scene__reveal-curtain,
.page-shop.has-slider .shop-scene.is-revealed .about-scene__reveal-curtain,
.page-shop.has-slider .shop-scene.is-revealed .shop-scene__reveal-curtain,
.page-shop.has-slider .about-scene.is-revealed .about-scene__reveal-curtain,
.page-shop.has-slider .about-scene.is-revealed .shop-scene__reveal-curtain{
  opacity:0; visibility:hidden;
}
.page-about.has-slider .about-scene--video-bg .about-scene__reveal-curtain{
  display:none;
}

/* Secciones sin imagen de fondo — sin cortina ni fade-in */
.page-about.has-slider .about-scene--instant .about-scene__reveal-curtain,
.page-shop.has-slider .shop-scene--instant .about-scene__reveal-curtain,
.page-shop.has-slider .shop-scene--instant .shop-scene__reveal-curtain,
.page-cert.has-slider .shop-scene--instant .about-scene__reveal-curtain,
.page-cert.has-slider .shop-scene--instant .shop-scene__reveal-curtain,
.page-designer.has-slider .shop-scene--instant .about-scene__reveal-curtain,
.page-designer.has-slider .shop-scene--instant .shop-scene__reveal-curtain{
  display:none;
}
.page-about.has-slider .about-scene--instant .about-scene__inner,
.page-about.has-slider .about-scene--instant .about-hero__inner,
.page-shop.has-slider .shop-scene--instant .shop-scene__inner,
.page-shop.has-slider .shop-scene--instant .about-scene__inner,
.page-cert.has-slider .shop-scene--instant .about-scene__inner,
.page-designer.has-slider .shop-scene--instant .about-scene__inner,
body.has-slider #navegacion.shop-scene--instant .about-scene__inner{
  opacity:1;
  transform:none;
  transition:none;
}

.page-about.has-slider .about-hero__inner,
.page-about.has-slider .about-scene__inner,
.page-about.has-slider .about-cadena-head,
.page-about.has-slider .value-orbit,
.page-about.has-slider .value-orbit__footer{
  opacity:0;
  transform:translateY(22px);
  transition:opacity .5s var(--scene-ease), transform .58s var(--scene-ease);
}
.page-about.has-slider .about-scene.is-revealed .about-hero__inner,
.page-about.has-slider .about-scene.is-revealed .about-scene__inner,
.page-about.has-slider .about-scene.is-revealed .about-cadena-head,
.page-about.has-slider .about-scene.is-revealed .value-orbit,
.page-about.has-slider .about-scene.is-revealed .value-orbit__footer{
  opacity:1;
  transform:translateY(0);
}
.page-about.has-slider .about-scene.is-revealed .about-hero__inner,
.page-about.has-slider .about-scene.is-revealed .about-scene__inner{
  transition-delay:.1s;
}
.page-about.has-slider .about-scene.is-revealed .about-cadena-head{transition-delay:.08s;}
.page-about.has-slider .about-scene.is-revealed .value-orbit{transition-delay:.16s;}
.page-about.has-slider .about-scene.is-revealed .value-orbit__footer{transition-delay:.24s;}

.page-about.has-slider .about-hero__bg img,
.page-about.has-slider .about-scene__cadena-bg img{
  opacity:0;
  transform:scale(1.08);
  filter:brightness(0.94);
  transition:opacity .58s var(--scene-ease), transform .68s var(--scene-ease), filter .5s ease;
}
.page-about.has-slider .about-scene--nav .about-scene__bg img{
  opacity:0.35;
  transform:scale(1.06);
  filter:var(--nav-bg-filter);
  transition:opacity .58s var(--scene-ease), transform .68s var(--scene-ease), filter .5s ease;
}
.page-about.has-slider .about-scene.is-revealed .about-hero__bg img,
.page-about.has-slider .about-scene.is-revealed .about-scene__cadena-bg img,
.page-about.has-slider .about-scene.is-revealed .about-scene--nav .about-scene__bg img{
  opacity:1;
  transform:scale(1.06);
  filter:var(--nav-bg-filter);
}

.page-about.has-slider .about-hero__veil,
.page-about.has-slider .about-scene__cadena-veil{
  opacity:0;
  transition:opacity .52s ease .06s;
}
.page-about.has-slider .about-scene.is-revealed .about-hero__veil,
.page-about.has-slider .about-scene.is-revealed .about-scene__cadena-veil{
  opacity:1;
}

.page-about.has-slider .about-scene.is-revealed .about-scene--nav .about-scene__bg img,
.page-about.has-slider #about-nav.is-active .about-scene__bg img{
  opacity:1;
  transform:scale(1.06);
  filter:var(--nav-bg-filter);
}

@keyframes aboutSceneIn{
  from{opacity:0; transform:translateY(20px);}
  to{opacity:1; transform:translateY(0);}
}

/* ---------- HOME SCENES (index backgrounds) ---------- */
.home-scene{
  background-color:var(--stone);
}
.home-scene__bg{
  position:absolute; inset:0; z-index:0;
  overflow:hidden;
}
.home-scene__bg img{
  width:100%; height:100%; object-fit:cover; object-position:center;
  transform:scale(1.06);
  transform-origin:center center;
  transition:transform var(--duration) var(--scene-ease);
  will-change:transform;
}
.home-scene__bg img.home-scene__bg-img--desk{display:block;}
.home-scene__bg img.home-scene__bg-img--mobile{display:none;}
@media (max-width:880px){
  .home-scene__bg img.home-scene__bg-img--desk{display:none;}
  .home-scene__bg img.home-scene__bg-img--mobile{display:block;}
}
.home-scene.is-active .home-scene__bg img{transform:scale(1.06) translateY(0);}
.home-scene.is-past .home-scene__bg img{transform:scale(1.1) translateY(-4%);}
.home-scene.is-next .home-scene__bg img{transform:scale(1.12) translateY(4%);}

.home-scene__veil--nav{
  background:var(--nav-veil);
}

/* Velo suave solo en bordes — la foto se ve clara en el centro */
.home-scene__veil{
  position:absolute; inset:0; z-index:1; pointer-events:none;
  transition:opacity var(--duration) ease;
  background:
    linear-gradient(to bottom,
      rgba(12,47,42,0.50) 0%,
      rgba(12,47,42,0.10) 30%,
      rgba(12,47,42,0.06) 55%,
      rgba(12,47,42,0.45) 100%);
}
.home-scene > .hero-glow,
.home-scene > .hero-content,
.home-scene > .section-inner{
  position:relative; z-index:5;
}
.home-scene > .scroll-cue{
  position:absolute; z-index:4;
  bottom:38px; left:50%; transform:translateX(-50%);
}

/* ---------- HERO ---------- */
#inicio{
  justify-content:center;
  align-items:center;
  text-align:center;
  flex-direction:column;
  padding-top:clamp(4.5rem, 7vh, 6rem);
  padding-bottom:clamp(4.5rem, 7vh, 6rem);
}
.hero-glow{position:absolute; inset:0; z-index:2; background:radial-gradient(ellipse 55% 40% at 50% 50%, rgba(225,167,48,0.06), transparent 68%); pointer-events:none;}
.hero-content{
  position:relative; z-index:3; width:100%;
  opacity:0; transform:translateY(22px);
  transition:opacity .85s ease .28s, transform .85s var(--scene-ease) .28s;
}
#inicio.is-active .hero-content{opacity:1; transform:translateY(0);}
.hero-word{
  font-family:var(--display); font-weight:300;
  font-size:clamp(3.625rem, 8rem, 9.375rem);
  letter-spacing:0.10em; color:var(--ivory); line-height:1;
  text-shadow:0 2px 20px rgba(12,47,42,0.5);
  margin-bottom:1rem;
}
.hero-tagline{
  font-family:var(--display); font-style:italic; font-weight:400;
  font-size:clamp(1.0625rem, 1.375rem, 1.5rem); color:var(--ivory);
  text-shadow:0 1px 16px rgba(12,47,42,0.55);
  margin:0;
}
.hero-sub{
  margin-top:0.625rem; font-family:var(--utility); font-weight:300;
  font-size:0.75rem; letter-spacing:0.28em; text-transform:uppercase;
  color:var(--ivory-dim);
  text-shadow:0 1px 12px rgba(12,47,42,0.5);
}
/* Desliza fijo — fuera de sliders con transform (inicio, about, tienda) */
.scroll-cue--fixed{
  position:fixed;
  bottom:max(28px, env(safe-area-inset-bottom, 0px) + 28px);
  left:50%;
  transform:translateX(-50%);
  z-index:45;
  opacity:0;
  pointer-events:none;
  transition:opacity .45s ease, color .3s ease;
  background:none;
  border:none;
}
body.home-at-inicio .scroll-cue--home,
body.about-at-opening .scroll-cue--about,
body.shop-at-hero .scroll-cue--shop{
  opacity:1;
  pointer-events:auto;
}
@media (max-width:520px){
  #inicio .hero-word{font-size:clamp(3.25rem, 14vw, 4.5rem);}
}
.scroll-cue{
  display:flex; flex-direction:column; align-items:center;
  gap:10px; padding:0;
  font-family:var(--utility); font-weight:300;
  font-size:10px; letter-spacing:0.3em; text-transform:uppercase;
  color:var(--ivory-faint); cursor:pointer;
  transition:color .3s ease;
}
.scroll-cue:hover{color:var(--ivory-dim);}
.scroll-cue:focus-visible{outline:1px solid var(--gold); outline-offset:4px;}
.scroll-cue .line{
  width:1px; height:34px;
  background:linear-gradient(to bottom, var(--gold) 0%, transparent 100%);
  animation:cue 2s ease infinite;
}
@keyframes cue{0%,100%{opacity:.25;}50%{opacity:1;}}

/* ---------- INDEX / NAV SCENE (inicio usa about-scene--nav) ---------- */
.index-list{
  display:flex; align-items:stretch; justify-content:center;
  margin-bottom:24px;
  flex-wrap:nowrap;
  width:100%; max-width:100%;
}
.index-list a{
  position:relative;
  font-family:var(--utility); font-weight:500;
  font-size:clamp(15px,2.1vw,28px);
  letter-spacing:0.06em; text-transform:uppercase; color:var(--ivory);
  padding:14px clamp(14px,2.4vw,38px);
  display:flex; align-items:center; justify-content:center;
  border-left:1px solid var(--line);
  cursor:pointer; white-space:nowrap;
  transition:color .35s ease, background .35s ease, border-color .35s ease, letter-spacing .35s ease;
}
.index-list a::after{
  content:''; position:absolute; left:clamp(14px,2.4vw,38px); right:clamp(14px,2.4vw,38px); bottom:8px;
  height:1px; background:var(--gold);
  transform:scaleX(0); transform-origin:center;
  transition:transform .35s var(--scene-ease);
}
.index-list a:first-child{border-left:none;}
.index-list a:hover,
.index-list a:focus-visible{
  color:var(--ivory);
  background:rgba(225,167,48,0.07);
  letter-spacing:0.08em;
}
.index-list a:hover::after,
.index-list a:focus-visible::after{transform:scaleX(1);}
.index-list a:focus-visible{outline:1px solid var(--gold); outline-offset:3px;}
.index-list a[aria-current="page"]{
  color:var(--gold);
  background:transparent;
  text-shadow:none;
}
.index-list a[aria-current="page"]::after{transform:scaleX(1);}

/* Navegación 3 + 2 (cinco secciones) */
.index-list--split{
  flex-direction:column;
  align-items:center;
  gap:0;
  max-width:min(1080px,100%);
}
.index-list__row{
  display:flex;
  align-items:stretch;
  justify-content:center;
  width:100%;
  flex-wrap:nowrap;
}
.index-list__row--bottom{
  border-top:1px solid var(--line);
  max-width:66.666%;
}
.index-list--split .index-list__row a{
  flex:1 1 0;
  min-width:0;
  font-size:clamp(11px,1.45vw,22px);
  letter-spacing:0.05em;
  padding:12px clamp(8px,1.6vw,24px);
  white-space:normal;
  line-height:1.2;
  text-align:center;
}
.index-list--split .index-list__row a:first-child{border-left:none;}
.index-list__row--bottom a{
  flex:1 1 50%;
}
.index-hint{
  display:block; margin:0 auto 36px;
  font-family:var(--utility); font-weight:300;
  font-size:10px; letter-spacing:0.28em; text-transform:uppercase;
  color:var(--ivory-dim);
}
.index-quote{
  font-family:var(--display); font-style:italic; font-weight:400;
  font-size:clamp(17px,2.3vw,23px); color:var(--ivory);
  max-width:560px; margin:0 auto 18px;
}
.flourish{width:140px; height:30px; margin:0 auto; color:var(--gold);}
.flourish path{stroke:currentColor; stroke-width:1.3; fill:none;}

/* ====================== SUBPAGE HERO / SECTIONS ====================== */
.page-hero{
  min-height:60vh; display:flex; align-items:center; justify-content:center;
  text-align:center; padding:170px var(--gutter) 60px;
}
.page-hero-inner{max-width:680px; margin:0 auto;}
.page-hero .eyebrow{display:block; margin-bottom:14px;}
.page-section{padding:70px var(--gutter);}
.page-section .section-inner{max-width:var(--maxw); margin:0 auto; width:100%;}

/* ---------- CONTENT GRIDS (reused on subpages) ---------- */
.content-grid{display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center;}
.content-grid.reverse .visual-col{order:2;}
.section-heading{font-family:var(--display); font-weight:400; font-size:clamp(30px,4.4vw,52px); line-height:1.1; margin:14px 0 24px; color:var(--ivory);}
.section-heading em{font-style:italic; color:var(--gold-light); font-weight:400;}
.body-text{font-size:18px; line-height:1.7; color:var(--ivory-dim); margin:0 0 16px; max-width:46ch;}
.page-hero .body-text{margin-left:auto; margin-right:auto;}
.detail-line{margin-top:24px; padding-top:18px; border-top:1px solid var(--line); font-family:var(--utility); font-size:12px; letter-spacing:0.18em; text-transform:uppercase; color:var(--gold);}
.visual-col{position:relative; display:flex; align-items:center; justify-content:center; min-height:300px;}
.visual-frame{width:100%; max-width:320px; aspect-ratio:4/5; border:1px solid var(--line); position:relative; display:flex; align-items:center; justify-content:center; background:radial-gradient(ellipse 70% 60% at 50% 40%, rgba(184,145,91,0.10), transparent 70%), var(--stone-2);}
.visual-frame svg{width:46%; color:var(--gold-light);}
.visual-frame::before,.visual-frame::after{content:''; position:absolute; width:18px; height:18px; border:1px solid var(--gold);}
.visual-frame::before{top:-1px; left:-1px; border-right:none; border-bottom:none;}
.visual-frame::after{bottom:-1px; right:-1px; border-left:none; border-top:none;}

.closing-quote{text-align:center; padding:30px 0 10px;}
.closing-quote p{font-family:var(--display); font-style:italic; font-size:clamp(17px,2.2vw,22px); color:var(--ivory-dim); max-width:560px; margin:0 auto 18px;}
.closing-quote .cta-button{margin-top:28px;}

/* ---------- SOBRE NOSOTROS — video & marcas ---------- */
.page-about .about-hero{
  position:relative; min-height:52vh;
  display:flex; align-items:center; justify-content:center;
  text-align:center;
  padding:clamp(120px,14vh,170px) calc(var(--gutter) + 8px) clamp(64px,8vh,80px) calc(var(--gutter) + 56px);
  overflow:hidden;
}
.page-about .about-hero__bg{
  position:absolute; inset:0; z-index:0;
}
.page-about .about-hero__bg img{
  width:100%; height:100%; object-fit:cover; object-position:center;
}
.page-about .about-hero__bg-img--mobile{display:none;}
@media (max-width:880px){
  .page-about .about-hero__bg-img--desk{display:none;}
  .page-about .about-hero__bg-img--mobile{display:block;}
}
.page-about .about-hero__veil{
  position:absolute; inset:0; z-index:1;
  background:
    linear-gradient(to bottom, rgba(12,47,42,0.82) 0%, rgba(12,47,42,0.55) 45%, rgba(12,47,42,0.88) 100%);
}
.page-about .about-hero__inner{position:relative; z-index:2; max-width:720px;}

.about-video-section{padding:clamp(56px,8vw,90px) var(--gutter);}
.about-video-header{text-align:center; max-width:640px; margin:0 auto clamp(32px,5vw,48px);}
.about-video-header .section-heading{margin-bottom:12px;}
.about-video-frame{
  position:relative; width:100%; max-width:960px; margin:0 auto;
  aspect-ratio:16/9; overflow:hidden;
  border:1px solid var(--line);
  background:var(--stone-2);
  box-shadow:0 24px 60px rgba(12,47,42,0.45);
}
.about-video-frame::before,
.about-video-frame::after{
  content:''; position:absolute; width:22px; height:22px; z-index:2; pointer-events:none;
  border:1px solid var(--gold);
}
.about-video-frame::before{top:-1px; left:-1px; border-right:none; border-bottom:none;}
.about-video-frame::after{bottom:-1px; right:-1px; border-left:none; border-top:none;}
.about-video-frame iframe{
  position:absolute; inset:0; width:100%; height:100%; border:0;
}

.about-group-intro{
  max-width:720px; margin:0 auto clamp(48px,7vw,72px);
  text-align:center;
}
.about-group-intro .body-text{margin-left:auto; margin-right:auto;}

.brands-section{padding-bottom:clamp(60px,9vw,100px);}
.brands-grid{
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:clamp(18px,2.5vw,28px);
  max-width:var(--maxw); margin:0 auto;
}
.brand-card{
  display:flex; flex-direction:column;
  border-radius:6px; overflow:hidden;
  border:1px solid var(--line);
  transition:transform .4s var(--scene-ease), border-color .4s ease, box-shadow .4s ease;
}
.brand-card:hover{
  transform:translateY(-4px);
  border-color:rgba(225,167,48,0.45);
  box-shadow:0 16px 40px rgba(12,47,42,0.35);
}
.brand-card__head{
  position:relative; min-height:clamp(160px,22vw,210px);
  display:flex; align-items:center; justify-content:center;
  padding:clamp(24px,4vw,36px);
  background:var(--stone-2);
  overflow:hidden;
}
.brand-card__head--lde{
  background:
    radial-gradient(ellipse 70% 60% at 50% 40%, rgba(16,56,50,0.5), transparent 70%),
    linear-gradient(160deg, #0a2622, #0c2f2a);
}
.brand-card__head--svl{
  background:
    radial-gradient(ellipse 65% 55% at 50% 45%, rgba(225,167,48,0.08), transparent 70%),
    linear-gradient(160deg, #103832, #0c2f2a);
}
.brand-card__head--lgx{
  background:
    radial-gradient(ellipse 70% 60% at 50% 40%, rgba(225,167,48,0.14), transparent 70%),
    linear-gradient(160deg, #0a2622, #103832);
}
.brand-card__logo{
  position:relative; z-index:1;
  max-width:78%; max-height:clamp(72px,12vw,110px);
  width:auto; height:auto; object-fit:contain;
}
.brand-card__logo--light{filter:brightness(1.05);}
.brand-card__logo--dark{filter:none;}

.brand-card__body{
  flex:1; display:flex; flex-direction:column;
  padding:clamp(22px,3vw,30px) clamp(20px,2.8vw,28px) clamp(26px,3.5vw,32px);
  background:linear-gradient(165deg, #c9a04a 0%, #b08838 48%, #a07d32 100%);
  color:var(--ivory);
  text-align:center;
}
.brand-card__title{
  font-family:var(--display); font-weight:500;
  font-size:clamp(17px,2vw,20px); letter-spacing:0.04em;
  margin:0 0 14px; color:var(--white);
}
.brand-card__rule{
  width:48px; height:1px; background:rgba(255,255,255,0.55);
  margin:0 auto 16px; border:none;
}
.brand-card__text{
  font-family:var(--body); font-size:clamp(14px,1.6vw,15px);
  line-height:1.65; color:rgba(255,255,255,0.92);
  margin:0 0 22px; flex:1;
}
.brand-card__link{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  font-family:var(--utility); font-size:10px; font-weight:500;
  letter-spacing:0.22em; text-transform:uppercase;
  color:var(--white); border:1px solid rgba(255,255,255,0.45);
  padding:12px 18px; align-self:center;
  transition:background .35s ease, border-color .35s ease, color .35s ease;
}
.brand-card__link:hover{
  background:rgba(12,47,42,0.22);
  border-color:var(--white);
  color:var(--white);
}

.about-veta-band{padding:clamp(60px,9vw,90px) var(--gutter);}
.about-veta-band__inner{max-width:680px; margin:0 auto; text-align:center;}
.about-veta-band__inner .body-text{margin-left:auto; margin-right:auto;}
.about-veta-band__inner .cta-button{margin-top:8px;}

.about-story-section{padding:0;}
.about-story-lead{max-width:560px; margin:0 auto;}
.about-story-grid{
  display:grid;
  grid-template-columns:1.15fr 1fr 1fr;
  grid-template-rows:auto auto;
  gap:clamp(18px,2.5vw,24px);
  max-width:var(--maxw); margin:clamp(20px,3vw,32px) auto 0;
  align-items:start;
}
.story-panel--tall .story-panel__frame{min-height:280px;}
.about-scene--scroll .about-story-grid{
  gap:clamp(14px,2vw,20px);
  margin-top:clamp(16px,2.5vw,24px);
}
.about-scene--scroll .story-panel--tall .story-panel__frame{
  min-height:clamp(220px,32vh,320px);
  aspect-ratio:auto;
}
.about-scene--scroll .story-panel:not(.story-panel--tall) .story-panel__frame{
  aspect-ratio:4/3;
}
.story-panel{display:flex; flex-direction:column; gap:16px;}
.story-panel--tall{grid-row:span 2;}
.story-panel__frame{
  position:relative; overflow:hidden;
  border:1px solid var(--line);
  background:var(--stone-2);
}
.story-panel--tall .story-panel__frame{aspect-ratio:3/4; height:100%; min-height:420px;}
.story-panel:not(.story-panel--tall) .story-panel__frame{aspect-ratio:1/1;}
.story-panel__frame img{
  width:100%; height:100%; object-fit:cover; object-position:center;
  display:block;
  transition:transform .7s var(--scene-ease);
}
.story-panel:hover .story-panel__frame img{transform:scale(1.04);}
.story-panel__frame::before,.story-panel__frame::after{
  content:''; position:absolute; width:16px; height:16px; z-index:1; pointer-events:none;
  border:1px solid var(--gold);
}
.story-panel__frame::before{top:-1px; left:-1px; border-right:none; border-bottom:none;}
.story-panel__frame::after{bottom:-1px; right:-1px; border-left:none; border-top:none;}
.story-panel__copy{text-align:left; padding:0 4px;}
.story-panel__tag{
  display:block; margin-bottom:8px;
  font-family:var(--utility); font-size:10px; font-weight:500;
  letter-spacing:0.26em; text-transform:uppercase; color:var(--gold);
}
.story-panel__text{
  margin:0; font-size:clamp(14px,1.55vw,16px);
  line-height:1.65; color:var(--ivory-dim);
}

.about-veta-grid{display:grid; grid-template-columns:1fr 1fr; gap:clamp(40px,6vw,80px); align-items:center; max-width:var(--maxw); margin:0 auto;}
.about-veta-visual{
  aspect-ratio:4/5; overflow:hidden;
  border:1px solid var(--line); position:relative;
}
.about-veta-visual img{width:100%; height:100%; object-fit:cover;}
.about-veta-visual::before,.about-veta-visual::after{
  content:''; position:absolute; width:18px; height:18px; border:1px solid var(--gold); z-index:1;
}
.about-veta-visual::before{top:-1px; left:-1px; border-right:none; border-bottom:none;}
.about-veta-visual::after{bottom:-1px; right:-1px; border-left:none; border-top:none;}

.section-label{
  display:block; margin-bottom:10px;
  font-family:var(--utility); font-size:11px; font-weight:400;
  letter-spacing:0.28em; text-transform:uppercase; color:var(--gold);
}
.section-header{text-align:center; margin-bottom:56px;}
.section-header .section-heading{margin-bottom:0;}

.about-pillars-section{padding-top:50px;}
.about-pillars{
  display:grid; grid-template-columns:repeat(3,1fr); gap:1px;
  background:var(--line); border:1px solid var(--line);
}
.about-pillar{
  background:var(--stone); padding:40px 32px;
  transition:background .35s ease;
}
.about-pillar:hover{background:var(--stone-3);}
.pillar-num{
  display:block; font-family:var(--utility); font-size:11px;
  letter-spacing:0.22em; color:var(--ivory-faint); margin-bottom:18px;
}
.about-pillar h3{
  font-family:var(--display); font-weight:400; font-size:clamp(20px,2.4vw,26px);
  color:var(--ivory); margin:0 0 14px; line-height:1.2;
}
.about-pillar p{
  font-size:16px; line-height:1.65; color:var(--ivory-dim); margin:0;
}

.about-process{
  list-style:none; margin:28px 0 0; padding:0;
  display:flex; flex-direction:column; gap:0;
}
.about-process li{
  display:flex; gap:20px; align-items:flex-start;
  padding:22px 0; border-top:1px solid var(--line);
}
.about-process li:last-child{border-bottom:1px solid var(--line);}
.step-num{
  flex-shrink:0; font-family:var(--display); font-style:italic;
  font-size:22px; color:var(--gold); line-height:1.4; width:28px;
}
.about-process strong{
  display:block; font-family:var(--utility); font-weight:400;
  font-size:12px; letter-spacing:0.16em; text-transform:uppercase;
  color:var(--ivory); margin-bottom:6px;
}
.about-process p{font-size:16px; line-height:1.6; color:var(--ivory-dim); margin:0;}

.about-stats-band{padding:50px var(--gutter);}
.about-stats{
  display:grid; grid-template-columns:repeat(4,1fr); gap:1px;
  background:var(--line); border:1px solid var(--line);
}
.about-stat{
  background:var(--stone-2); padding:36px 24px; text-align:center;
}
.stat-value{
  display:block; font-family:var(--display); font-weight:300;
  font-size:clamp(36px,5vw,52px); color:var(--gold-light); line-height:1;
  margin-bottom:10px;
}
.stat-label{
  font-family:var(--utility); font-size:11px;
  letter-spacing:0.2em; text-transform:uppercase; color:var(--ivory-faint);
}

.about-founder{padding:60px var(--gutter);}
.founder-quote{
  max-width:680px; margin:0 auto; text-align:center;
  border:none; padding:0;
}
.founder-quote p{
  font-family:var(--display); font-style:italic; font-weight:400;
  font-size:clamp(20px,2.8vw,28px); line-height:1.45;
  color:var(--ivory-dim); margin:0 0 24px;
}
.founder-quote cite{
  font-family:var(--utility); font-style:normal; font-size:12px;
  letter-spacing:0.18em; text-transform:uppercase; color:var(--gold);
}

.visual-frame--tall{aspect-ratio:3/4;}

/* ---------- TIENDA VIRTUAL — slider por hover (3 secciones) ---------- */
.page-shop.has-slider{
  overflow:hidden;
  height:100%;
  overscroll-behavior:none;
}

/* Nav final — sin cortina sólida; solo foto + velo transparente */
.about-scene--nav .about-scene__reveal-curtain,
.about-scene--nav .shop-scene__reveal-curtain,
.about-scene--nav .designer-scene__reveal-curtain,
.about-scene--nav .cert-scene__reveal-curtain,
#about-nav .about-scene__reveal-curtain,
#navegacion.about-scene--nav .about-scene__reveal-curtain,
#shop-footer .about-scene__reveal-curtain,
#shop-footer .shop-scene__reveal-curtain,
#designer-footer .about-scene__reveal-curtain,
#designer-footer .designer-scene__reveal-curtain,
#cert-footer .about-scene__reveal-curtain,
#cert-footer .cert-scene__reveal-curtain{
  display:none;
}
.about-scene--nav .shop-scene__veil,
#shop-footer .shop-scene__veil{
  background:var(--nav-veil);
  opacity:1;
}

#shop-scenes{
  position:relative;
  width:100%;
  max-width:100%;
  display:flex;
  flex-direction:column;
  transition:transform var(--duration) var(--scene-ease);
  will-change:transform;
  overscroll-behavior:none;
  overflow-x:hidden;
}
#shop-scenes > .shop-scene{
  flex:0 0 100vh;
  height:100vh;
  height:100dvh;
  width:100%;
  max-width:100%;
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  justify-content:stretch;
  overflow:hidden;
  padding:0;
  box-sizing:border-box;
}

.shop-scene--hero .shop-hero-full__frame{
  position:relative;
  width:100%;
  height:100%;
  flex:1;
  min-height:0;
  display:block;
  background:var(--stone);
  line-height:normal;
}
.shop-scene--hero .shop-hero-full__img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  display:block;
  transform:scale(1.1) translateY(4%);
  transition:transform var(--duration) var(--scene-ease), filter .5s ease;
}
.shop-scene--hero .shop-hero-full__img--mobile{display:none;}
@media (min-width:881px){
  .shop-scene--hero .shop-hero-full__img--desk,
  .shop-scene--hero.is-active .shop-hero-full__img--desk,
  .shop-scene--hero.is-past .shop-hero-full__img--desk,
  .shop-scene--hero.is-next .shop-hero-full__img--desk{
    transform:scale(1) translateY(0);
  }
}
@media (max-width:880px){
  .shop-scene--hero .shop-hero-full__img--desk{display:none;}
  .shop-scene--hero .shop-hero-full__img--mobile{display:block;}
}
.shop-scene--hero.is-active .shop-hero-full__img{
  transform:scale(1.04) translateY(0);
}
.shop-scene--hero.is-past .shop-hero-full__img{
  transform:scale(1.08) translateY(-4%);
}
.shop-scene--hero.is-next .shop-hero-full__img{
  transform:scale(1.12) translateY(5%);
}
.shop-scene--hero .shop-hero-full__content{
  position:absolute;
  left:0; right:0;
  bottom:clamp(28px,5vh,48px);
  z-index:2;
  display:flex;
  justify-content:center;
  padding:0 var(--gutter);
}
.shop-hero-full__cta-block{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:clamp(18px,2.8vh,28px);
  text-align:center;
}
.shop-hero-full__kicker{
  margin:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:clamp(2px,0.5vh,6px);
  font-family:var(--display);
  font-weight:400;
  text-align:center;
}
.shop-hero-full__kicker-top{
  display:block;
  font-size:clamp(36px,5.5vw,72px);
  letter-spacing:0.16em;
  line-height:0.95;
  color:var(--white);
  text-transform:uppercase;
  text-shadow:0 4px 28px rgba(12,47,42,0.95), 0 0 40px rgba(12,47,42,0.5);
}
.shop-hero-full__kicker-bottom{
  display:block;
  font-size:clamp(42px,6.2vw,84px);
  letter-spacing:0.08em;
  line-height:0.95;
  color:var(--gold-light);
  font-style:italic;
  text-transform:capitalize;
  text-shadow:0 4px 28px rgba(12,47,42,0.95), 0 0 36px rgba(12,47,42,0.45);
}

.shop-scene--categories .shop-categories-full,
#shop-scenes .shop-categories-full{
  width:100%;
  height:100%;
  flex:1;
}

.shop-scene--categories{
  padding:0;
}
.shop-scene--footer{
  padding:0;
}

.shop-scene--footer .shop-footer-nav{
  width:100%;
  height:100%;
  min-height:0;
  flex:1;
  padding:clamp(88px,10vh,100px) var(--gutter) clamp(40px,5vh,56px);
  box-sizing:border-box;
}

.page-shop.has-slider .shop-scene--footer .shop-footer-nav__bg img{
  opacity:0;
  transform:scale(1.06);
  filter:brightness(0.96);
  transition:opacity .58s var(--scene-ease), transform .68s var(--scene-ease), filter .5s ease;
}
.page-shop.has-slider .shop-scene--footer.is-revealed .shop-footer-nav__bg img,
.page-shop.has-slider .shop-scene--footer.is-active .shop-footer-nav__bg img{
  opacity:1;
  transform:scale(1.04);
  filter:brightness(1);
}
.page-shop.has-slider .shop-scene--footer .shop-footer-nav__veil{
  opacity:0 !important;
}
.page-shop.has-slider .shop-scene--footer.is-revealed .shop-footer-nav__veil,
.page-shop.has-slider .shop-scene--footer.is-active .shop-footer-nav__veil{
  opacity:0 !important;
}
.page-shop.has-slider .shop-scene--footer .shop-footer-nav__content{
  opacity:0;
  transform:translateY(22px);
  transition:opacity .5s var(--scene-ease), transform .58s var(--scene-ease);
}
.page-shop.has-slider .shop-scene--footer.is-revealed .shop-footer-nav__content,
.page-shop.has-slider .shop-scene--footer.is-active .shop-footer-nav__content{
  opacity:1;
  transform:translateY(0);
  transition-delay:.1s;
}

.page-shop .site-header,
.page-shop .site-header.scrolled{
  background:transparent;
  backdrop-filter:none;
}

.shop-page{
  width:100%;
  background:var(--stone);
}

/* Hero — imagen completa a ancho real, scroll natural */
.shop-hero-full{
  position:relative;
  width:100%;
  background:var(--stone);
}
.shop-hero-full__frame{
  position:relative;
  width:100%;
  display:block;
  line-height:0;
}
.shop-hero-full__img{
  width:100%;
  height:auto;
  max-width:100%;
  display:block;
}
.shop-hero-full__veil{
  position:absolute; inset:0; z-index:1; pointer-events:none;
  background:linear-gradient(to bottom,
    rgba(12,47,42,0.08) 0%,
    rgba(12,47,42,0.02) 40%,
    rgba(12,47,42,0.12) 72%,
    rgba(12,47,42,0.38) 100%);
}
.shop-hero-full__content{
  position:absolute;
  left:0; right:0;
  bottom:clamp(28px,5vw,56px);
  z-index:2;
  display:flex;
  justify-content:center;
  padding:0 var(--gutter);
  line-height:normal;
}

/* Categorías — grid editorial con hub central y efectos */
.shop-categories-full{
  position:relative;
  height:100vh;
  height:100dvh;
  width:100%;
  overflow:hidden;
  background:var(--stone);
}

/* Cruz dorada en el centro */
.shop-categories-cross{
  position:absolute;
  inset:0;
  z-index:3;
  pointer-events:none;
}
.shop-categories-cross__line{
  position:absolute;
  background:linear-gradient(90deg, transparent, rgba(225,167,48,0.15) 15%, rgba(225,167,48,0.55) 50%, rgba(225,167,48,0.15) 85%, transparent);
  opacity:0;
  transition:opacity .7s var(--scene-ease), transform .85s var(--scene-ease);
}
.shop-categories-cross__line--h{
  left:0; right:0;
  top:50%;
  height:1px;
  transform:scaleX(0);
  transform-origin:center;
}
.shop-categories-cross__line--v{
  top:0; bottom:0;
  left:50%;
  width:1px;
  background:linear-gradient(to bottom, transparent, rgba(225,167,48,0.15) 15%, rgba(225,167,48,0.55) 50%, rgba(225,167,48,0.15) 85%, transparent);
  transform:scaleY(0);
  transform-origin:center;
}
.shop-scene--categories.is-active .shop-categories-cross__line,
.shop-scene--categories.is-revealed .shop-categories-cross__line{
  opacity:1;
}
.shop-scene--categories.is-active .shop-categories-cross__line--h,
.shop-scene--categories.is-revealed .shop-categories-cross__line--h{
  transform:scaleX(1);
  transition-delay:.18s;
}
.shop-scene--categories.is-active .shop-categories-cross__line--v,
.shop-scene--categories.is-revealed .shop-categories-cross__line--v{
  transform:scaleY(1);
  transition-delay:.28s;
}

.shop-cat-quad{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:1fr 1fr;
  grid-template-rows:1fr 1fr;
  width:100%;
  height:100%;
  gap:2px;
  background:rgba(225,167,48,0.22);
}
.shop-cat-panel{
  position:relative;
  overflow:hidden;
  min-height:0;
  background:#1a1a1a;
  cursor:pointer;
  opacity:0;
  transform:scale(0.97);
  transition:
    opacity .62s var(--scene-ease),
    transform .68s var(--scene-ease),
    filter .5s ease;
}
.shop-scene--categories.is-active .shop-cat-panel,
.shop-scene--categories.is-revealed .shop-cat-panel{
  opacity:1;
  transform:scale(1);
}
.shop-scene--categories.is-active .shop-cat-panel:nth-child(1),
.shop-scene--categories.is-revealed .shop-cat-panel:nth-child(1){transition-delay:.08s;}
.shop-scene--categories.is-active .shop-cat-panel:nth-child(2),
.shop-scene--categories.is-revealed .shop-cat-panel:nth-child(2){transition-delay:.14s;}
.shop-scene--categories.is-active .shop-cat-panel:nth-child(3),
.shop-scene--categories.is-revealed .shop-cat-panel:nth-child(3){transition-delay:.20s;}
.shop-scene--categories.is-active .shop-cat-panel:nth-child(4),
.shop-scene--categories.is-revealed .shop-cat-panel:nth-child(4){transition-delay:.26s;}

.shop-cat-quad:has(.shop-cat-panel:hover) .shop-cat-panel:not(:hover){
  filter:brightness(0.55) saturate(0.7);
}
.shop-cat-quad:has(.shop-cat-panel:hover) .shop-cat-panel:hover{
  z-index:2;
}

.shop-cat-panel__num{
  position:absolute;
  top:clamp(14px,2.2vh,22px);
  left:clamp(14px,2.2vw,22px);
  z-index:3;
  font-family:var(--utility);
  font-size:clamp(9px,0.85vw,10px);
  font-weight:500;
  letter-spacing:0.28em;
  color:rgba(225,167,48,0.75);
  pointer-events:none;
}
.shop-cat-panel__corner{
  position:absolute;
  width:clamp(18px,2.5vw,28px);
  height:clamp(18px,2.5vw,28px);
  z-index:3;
  pointer-events:none;
  opacity:0.7;
  transition:opacity .35s ease, width .4s var(--scene-ease), height .4s var(--scene-ease);
}
.shop-cat-panel__corner--tl{top:clamp(10px,1.8vh,16px); left:clamp(10px,1.8vw,16px); border-top:1px solid var(--gold); border-left:1px solid var(--gold);}
.shop-cat-panel__corner--br{bottom:clamp(10px,1.8vh,16px); right:clamp(10px,1.8vw,16px); border-bottom:1px solid var(--gold); border-right:1px solid var(--gold);}
.shop-cat-panel:hover .shop-cat-panel__corner{opacity:1; width:clamp(24px,3.2vw,36px); height:clamp(24px,3.2vw,36px);}

.shop-cat-panel img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  display:block;
  transform:scale(1);
  transition:transform .85s var(--scene-ease), filter .5s ease;
}

.shop-scene--categories.is-active .shop-cat-panel img,
.shop-scene--categories.is-revealed .shop-cat-panel img{
  transform:scale(1);
}
.shop-cat-panel:hover img,
.shop-cat-panel:focus-within img{
  transform:scale(1.06);
  filter:saturate(1.06) brightness(1.04);
}

.shop-cat-panel__veil{
  position:absolute; inset:0; z-index:1; pointer-events:none;
  background:
    radial-gradient(ellipse 70% 55% at 50% 50%, rgba(12,47,42,0.55) 0%, rgba(12,47,42,0.12) 55%, rgba(12,47,42,0.38) 100%),
    linear-gradient(to bottom, rgba(12,47,42,0.35) 0%, rgba(12,47,42,0.08) 50%, rgba(12,47,42,0.35) 100%);
  transition:opacity .45s ease, background .45s ease;
}
.shop-cat-panel:hover .shop-cat-panel__veil,
.shop-cat-panel:focus-within .shop-cat-panel__veil{
  background:
    radial-gradient(ellipse 65% 50% at 50% 50%, rgba(12,47,42,0.45) 0%, rgba(12,47,42,0.06) 58%, rgba(12,47,42,0.28) 100%),
    linear-gradient(to bottom, rgba(12,47,42,0.28) 0%, rgba(12,47,42,0.04) 50%, rgba(12,47,42,0.25) 100%);
}

/* Hub central — oculto (solo cuadrícula de categorías) */
.shop-categories-hub{display:none !important;}

.shop-cat-panel__content{
  position:absolute; inset:0; z-index:2;
  display:flex; flex-direction:column;
  align-items:center; justify-content:center;
  padding:clamp(16px,2.5vw,24px);
  text-align:center;
  gap:clamp(10px,1.6vh,14px);
  opacity:1;
  transition:transform .45s var(--scene-ease), opacity .4s ease;
}
.shop-cat-panel:hover .shop-cat-panel__content,
.shop-cat-panel:focus-within .shop-cat-panel__content{
  transform:scale(1.02);
}
.shop-cat-panel__tag{
  font-family:var(--utility);
  font-size:clamp(8px,0.72vw,9px);
  font-weight:500;
  letter-spacing:0.32em;
  text-transform:uppercase;
  color:rgba(225,167,48,0.9);
  opacity:0.85;
  transition:opacity .4s ease, letter-spacing .4s var(--scene-ease);
}
.shop-cat-panel:hover .shop-cat-panel__tag,
.shop-cat-panel:focus-within .shop-cat-panel__tag{
  opacity:1;
  letter-spacing:0.36em;
}
.shop-cat-panel__title{
  font-family:var(--display); font-weight:500;
  font-size:clamp(22px,2.8vw,32px);
  letter-spacing:0.04em;
  color:var(--white);
  margin:0;
  text-shadow:0 2px 20px rgba(12,47,42,0.9);
}
.shop-cat-panel__btn{
  display:inline-flex; align-items:center; justify-content:center;
  font-family:var(--utility); font-weight:500;
  font-size:clamp(10px,1vw,11px);
  letter-spacing:0.24em; text-transform:uppercase;
  color:var(--white);
  padding:clamp(12px,1.8vh,14px) clamp(20px,3vw,28px);
  border:1px solid rgba(225,167,48,0.6);
  background:rgba(12,47,42,0.45);
  backdrop-filter:blur(6px);
  transition:color .35s ease, border-color .35s ease, background .35s ease, transform .35s ease;
}
.shop-cat-panel__btn:hover,
.shop-cat-panel__btn:focus-visible{
  color:var(--gold-light);
  border-color:var(--gold-light);
  background:rgba(12,47,42,0.65);
  transform:translateY(-2px);
}
.shop-cat-panel__btn:focus-visible{outline:1px solid var(--gold); outline-offset:3px;}

/* Footer navegación tienda */
.shop-footer-nav{
  position:relative;
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:clamp(100px,12vh,120px) var(--gutter) clamp(48px,6vh,72px);
  overflow:hidden;
  box-sizing:border-box;
}
.shop-footer-nav__bg{
  position:absolute; inset:0; z-index:0; overflow:hidden;
}
.shop-footer-nav__bg img{
  width:100%; height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
}
.shop-footer-nav__inner{
  position:relative; z-index:2;
}

.shop-catalog-cta{
  display:inline-flex; align-items:center; justify-content:center;
  font-family:var(--utility); font-weight:500;
  font-size:clamp(11px,1.15vw,13px);
  letter-spacing:0.26em; text-transform:uppercase;
  color:var(--white);
  padding:clamp(16px,2.2vh,20px) clamp(28px,4vw,44px);
  border:1px solid rgba(225,167,48,0.55);
  background:rgba(12,47,42,0.22);
  backdrop-filter:blur(6px);
  cursor:pointer;
  text-decoration:none;
  text-shadow:0 2px 12px rgba(12,47,42,0.85);
  transition:color .35s ease, border-color .35s ease, background .35s ease, transform .35s var(--scene-ease), box-shadow .35s ease;
}
.shop-catalog-cta:hover,
.shop-catalog-cta:focus-visible{
  color:var(--gold-light);
  border-color:var(--gold-light);
  background:rgba(12,47,42,0.55);
  transform:translateY(-2px);
  box-shadow:0 12px 32px rgba(12,47,42,0.45);
}
.shop-catalog-cta:focus-visible{outline:1px solid var(--gold); outline-offset:4px;}

@media (max-width:880px){
  .shop-cat-quad{
    grid-template-columns:1fr 1fr;
    grid-template-rows:repeat(2,1fr);
    height:100%;
    gap:10px;
  }
  .about-rail{display:none;}
  #shop-scenes > .shop-scene{padding:0;}
  .shop-scene--footer .shop-footer-nav{
    padding:88px var(--gutter) 64px;
  }
  .shop-footer-nav .about-nav-list a{
    font-size:clamp(11px,3.2vw,16px);
    padding:12px 14px;
  }
}

/* ====================== SHOP PAGE SCENE SLIDER (legado) ====================== */
.page-shop.has-slider{overflow:hidden; height:100%; overscroll-behavior:none;}
.page-shop.has-slider .vein-wrap{display:none;}

#shop-scenes{
  position:relative; width:100%; max-width:100%;
  display:flex; flex-direction:column;
  transition:transform var(--duration) var(--scene-ease);
  will-change:transform;
  overscroll-behavior:none;
  overflow-x:hidden;
}
#shop-scenes > .shop-scene{
  flex:0 0 100vh;
  height:100vh;
  height:100dvh;
  width:100%;
  max-width:100%;
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  justify-content:stretch;
  overflow:hidden;
  padding:0;
  box-sizing:border-box;
}
.shop-scene__inner{
  width:100%; max-width:var(--maxw);
  margin:0 auto;
  max-height:100%;
  overflow:hidden;
  flex-shrink:1;
}
.shop-scene--hero{
  padding:0;
  text-align:center;
}
.shop-scene__bg{
  position:absolute; inset:0; z-index:0; overflow:hidden;
}
.shop-scene--hero .shop-scene__bg{
  background:var(--stone);
  display:flex;
  align-items:center;
  justify-content:center;
}
.shop-scene--hero .shop-scene__bg img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center center;
  transform:none;
  display:block;
}
.shop-scene__bg img{
  width:100%; height:100%;
  object-fit:cover; object-position:center 42%;
  display:block;
}
.shop-scene__veil{
  position:absolute; inset:0; z-index:1; pointer-events:none;
  background:
    radial-gradient(ellipse 65% 55% at 50% 45%, rgba(12,47,42,0.03) 0%, rgba(12,47,42,0.2) 100%),
    linear-gradient(to bottom, rgba(12,47,42,0.28) 0%, rgba(12,47,42,0.08) 45%, rgba(12,47,42,0.32) 100%);
}
.shop-hero-inner{
  position:relative; z-index:3;
  display:flex; flex-direction:column; align-items:center;
  max-width:min(720px,94%);
}
.shop-hero-inner--minimal{
  flex:1;
  justify-content:flex-end;
  width:100%;
  max-width:100%;
  min-height:min(100%, calc(100vh - clamp(140px, 18vh, 180px)));
  padding-bottom:clamp(28px,5vh,56px);
}
.shop-catalog-cta{
  display:inline-flex; align-items:center; justify-content:center;
  font-family:var(--utility); font-weight:500;
  font-size:clamp(11px,1.15vw,13px);
  letter-spacing:0.26em; text-transform:uppercase;
  color:var(--white);
  padding:clamp(16px,2.2vh,20px) clamp(28px,4vw,44px);
  border:1px solid rgba(225,167,48,0.55);
  background:rgba(12,47,42,0.22);
  backdrop-filter:blur(6px);
  cursor:pointer;
  text-shadow:0 2px 12px rgba(12,47,42,0.85);
  transition:color .35s ease, border-color .35s ease, background .35s ease, transform .35s var(--scene-ease), box-shadow .35s ease;
}
.shop-catalog-cta:hover,
.shop-catalog-cta:focus-visible{
  color:var(--gold-light);
  border-color:var(--gold-light);
  background:rgba(12,47,42,0.55);
  transform:translateY(-2px);
  box-shadow:0 12px 32px rgba(12,47,42,0.45);
}
.shop-catalog-cta:focus-visible{outline:1px solid var(--gold); outline-offset:4px;}
.shop-hero-inner .body-text{max-width:52ch;}

.shop-categories-inner{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:clamp(20px,3vh,32px);
  width:100%;
  max-width:min(960px,100%);
}
.shop-categories-head{
  text-align:center;
  max-width:min(620px,100%);
}
.shop-categories-head .body-text{margin-inline:auto;}
.shop-categories-lead{
  font-size:clamp(14px,1.45vw,16px);
  color:var(--ivory-dim);
}
.shop-cat-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:clamp(12px,2vw,20px);
  width:100%;
}
.shop-cat-card{
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:10px;
  min-height:clamp(140px,22vh,200px);
  padding:clamp(16px,2.5vw,24px) clamp(12px,1.5vw,16px);
  border:1px solid rgba(239,234,220,0.16);
  border-radius:4px;
  background:rgba(16,56,50,0.35);
  text-align:center;
  transition:border-color .35s ease, background .35s ease, transform .35s var(--scene-ease);
}
.shop-cat-card:hover,
.shop-cat-card:focus-visible{
  border-color:rgba(225,167,48,0.48);
  background:rgba(16,56,50,0.55);
  transform:translateY(-3px);
}
.shop-cat-card:focus-visible{outline:1px solid var(--gold); outline-offset:3px;}
.shop-cat-card__num{
  font-family:var(--utility); font-size:10px;
  letter-spacing:0.28em; color:var(--gold-light);
}
.shop-cat-card__name{
  font-family:var(--display); font-weight:500;
  font-size:clamp(18px,2vw,24px);
  letter-spacing:0.04em; color:var(--ivory);
}
.shop-cat-card__hint{
  font-family:var(--utility); font-size:9px;
  letter-spacing:0.22em; text-transform:uppercase;
  color:var(--ivory-faint);
  transition:color .3s ease;
}
.shop-cat-card:hover .shop-cat-card__hint{color:var(--gold-light);}

.shop-scene--nav{
  padding:clamp(88px,10vh,100px) calc(var(--gutter) + 48px) clamp(40px,5vh,56px) calc(var(--gutter) + 48px);
  overflow:hidden;
}
#shop-footer.shop-scene--nav,
#cert-footer.shop-scene--nav,
#designer-footer.shop-scene--nav{
  align-items:center;
  justify-content:center;
}
@media (max-width:880px){
  #cert-footer.shop-scene--nav,
  #designer-footer.shop-scene--nav{
    justify-content:flex-start;
    overflow-x:hidden;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
  }
}
.shop-scene--nav .shop-scene__inner{
  position:relative;
  z-index:3;
  width:100%;
  max-width:min(1080px,100%);
}
.shop-nav-inner{
  text-align:center;
  display:flex; flex-direction:column; align-items:center;
  padding-inline:clamp(8px,1.5vw,16px);
  box-sizing:border-box;
}
.shop-nav-list{
  margin-bottom:24px;
  width:100%;
  max-width:100%;
  flex-wrap:wrap;
  justify-content:center;
}
.shop-nav-list.index-list a{
  font-size:clamp(11px,1.45vw,18px);
  letter-spacing:0.05em;
  padding:12px clamp(8px,1.4vw,18px);
  white-space:normal;
  line-height:1.25;
  color:var(--white);
  flex:0 1 auto;
}

.page-shop.has-slider .shop-hero-inner,
.page-shop.has-slider .shop-catalog-cta{
  opacity:0;
  transform:translateY(22px);
  transition:opacity .5s var(--scene-ease), transform .58s var(--scene-ease);
}
.page-shop.has-slider .shop-scene.is-revealed .shop-hero-inner,
.page-shop.has-slider .shop-scene.is-revealed .shop-catalog-cta{
  opacity:1;
  transform:translateY(0);
}
.page-shop.has-slider .shop-scene.is-revealed .shop-catalog-cta{transition-delay:.18s;}

.page-shop.has-slider .shop-scene--hero .shop-scene__bg img{
  opacity:0;
  transform:none;
  filter:brightness(0.98);
  transition:opacity .58s var(--scene-ease), filter .5s ease;
}
.page-shop.has-slider .shop-scene--nav .shop-scene__bg img,
.page-shop.has-slider #shop-footer .shop-scene__bg img{
  opacity:1;
  transform:scale(1.06);
  filter:var(--nav-bg-filter);
  transition:opacity .58s var(--scene-ease), transform .68s var(--scene-ease), filter .5s ease;
}
.page-shop.has-slider .shop-scene--hero.is-revealed .shop-scene__bg img{
  opacity:1;
  transform:none;
  filter:brightness(1.04);
}
.page-shop.has-slider .shop-scene--nav.is-revealed .shop-scene__bg img,
.page-shop.has-slider #shop-footer.is-revealed .shop-scene__bg img,
.page-shop.has-slider #shop-nav.is-active .shop-scene__bg img,
.page-shop.has-slider #shop-footer.is-active .shop-scene__bg img{
  opacity:1;
  transform:scale(1.06);
  filter:var(--nav-bg-filter);
}

.page-shop.has-slider .shop-scene--hero .shop-scene__veil{
  opacity:0;
  transition:opacity .52s ease .06s;
}
.page-shop.has-slider .shop-scene--hero.is-revealed .shop-scene__veil{
  opacity:1;
}

.page-shop.has-slider .shop-scene--nav .shop-nav-inner,
.page-shop.has-slider .shop-scene--nav .about-nav-inner{
  opacity:0;
  transform:translateY(22px);
  transition:opacity .5s var(--scene-ease), transform .58s var(--scene-ease);
}
.page-shop.has-slider .shop-scene--nav.is-revealed .shop-nav-inner,
.page-shop.has-slider .shop-scene--nav.is-revealed .about-nav-inner,
.page-shop.has-slider #shop-nav.is-active .shop-nav-inner,
.page-shop.has-slider #shop-nav.is-active .about-nav-inner,
.page-shop.has-slider #shop-footer.is-active .shop-nav-inner,
.page-shop.has-slider #shop-footer.is-active .about-nav-inner,
.page-shop.has-slider #shop-footer.is-revealed .shop-nav-inner,
.page-shop.has-slider #shop-footer.is-revealed .about-nav-inner{
  opacity:1;
  transform:translateY(0);
  transition-delay:.1s;
}

.page-shop.has-slider #shop-footer .about-scene__inner{
  max-height:none;
  overflow:visible;
  flex-shrink:0;
}
.page-shop.has-slider #shop-footer .about-scene__bg img{
  opacity:1;
  transform:scale(1.06);
  filter:var(--nav-bg-filter);
  transition:opacity .58s var(--scene-ease), transform .68s var(--scene-ease), filter .5s ease;
}
.page-shop.has-slider #shop-footer.is-revealed .about-scene__bg img,
.page-shop.has-slider #shop-footer.is-active .about-scene__bg img{
  opacity:1;
  transform:scale(1.06);
  filter:var(--nav-bg-filter);
}
.page-shop.has-slider #shop-footer .about-scene__inner{
  opacity:0;
  transform:translateY(22px);
  transition:opacity .5s var(--scene-ease), transform .58s var(--scene-ease);
}
.page-shop.has-slider #shop-footer.is-revealed .about-scene__inner,
.page-shop.has-slider #shop-footer.is-active .about-scene__inner{
  opacity:1;
  transform:translateY(0);
  transition-delay:.1s;
}

/* Tienda — pantalla completa sin recortes del layout */
.page-shop.has-slider .shop-scene--hero,
.page-shop.has-slider .shop-scene--categories{
  padding:0;
  align-items:stretch;
  justify-content:stretch;
}
.page-shop.has-slider .shop-scene--hero .shop-hero-full__frame,
.page-shop.has-slider .shop-scene--categories .shop-categories-full{
  flex:1;
  min-height:0;
  width:100%;
  height:100%;
}
.page-shop.has-slider #shop-scenes .shop-cat-quad{
  height:100%;
  min-height:0;
}

/* ---------- TIENDA VIRTUAL (legado / utilidades) ---------- */

.shop-hero{
  position:relative; min-height:100vh; display:flex;
  align-items:center; justify-content:center; text-align:center;
  padding:120px var(--gutter) 80px; overflow:hidden;
}
.shop-hero-bg{
  position:absolute; inset:0; z-index:0;
  background:
    radial-gradient(ellipse 70% 55% at 50% 40%, rgba(184,145,91,0.14), transparent 65%),
    linear-gradient(160deg, var(--stone-2) 0%, var(--stone) 45%, #0f0d09 100%);
}
.shop-hero-bg img{
  width:100%; height:100%; object-fit:cover; opacity:0.55;
}
.shop-hero-bg img:not([src]), .shop-hero-bg img[src=""]{display:none;}
.shop-hero-overlay{
  position:absolute; inset:0; z-index:1;
  background:linear-gradient(to bottom, rgba(21,19,14,0.35) 0%, rgba(21,19,14,0.72) 100%);
}
.shop-subnav{
  position:absolute; top:88px; left:50%; transform:translateX(-50%);
  z-index:3; display:flex; gap:clamp(20px,4vw,48px);
}
.shop-subnav a{
  font-family:var(--utility); font-weight:300; font-size:11px;
  letter-spacing:0.24em; text-transform:uppercase; color:var(--ivory-faint);
  transition:color .3s ease;
}
.shop-subnav a:hover{color:var(--gold-light);}
.shop-hero-content{position:relative; z-index:2; max-width:720px;}
.shop-hero-title{
  font-family:var(--display); font-weight:300;
  font-size:clamp(38px,6.5vw,72px); line-height:1.08;
  letter-spacing:0.04em; color:var(--ivory); margin:12px 0 20px;
}
.shop-hero-title em{font-style:italic; color:var(--gold-light); font-weight:400;}
.shop-hero-tag{
  font-family:var(--body); font-size:clamp(17px,2.2vw,21px);
  line-height:1.6; color:var(--ivory-dim); margin:0 0 36px;
}

.btn-luxury{
  display:inline-flex; align-items:center; justify-content:center;
  font-family:var(--utility); font-size:11px; font-weight:400;
  letter-spacing:0.26em; text-transform:uppercase;
  color:var(--stone); background:linear-gradient(120deg,var(--gold-light),var(--gold));
  padding:16px 32px; transition:transform .35s ease, box-shadow .35s ease;
}
.btn-luxury:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 28px rgba(184,145,91,0.28);
}

.shop-manifesto{padding:clamp(60px,10vw,100px) var(--gutter); text-align:center;}
.shop-quote{max-width:680px; margin:0 auto; border:none; padding:0;}
.shop-quote p{
  font-family:var(--display); font-style:italic; font-weight:400;
  font-size:clamp(22px,3.2vw,34px); line-height:1.45;
  color:var(--ivory-dim); margin:0;
}

.shop-collections{padding:clamp(50px,8vw,90px) var(--gutter);}
.shop-section-title{
  font-family:var(--display); font-weight:400;
  font-size:clamp(28px,4vw,42px); letter-spacing:0.06em;
  text-align:center; color:var(--ivory); margin:0 0 clamp(40px,6vw,64px);
}
.shop-grid{
  display:grid; grid-template-columns:repeat(2,1fr); gap:clamp(24px,4vw,48px);
  max-width:960px; margin:0 auto;
}
.shop-collection-link{display:block; color:inherit; text-decoration:none;}
.shop-img-wrapper{
  aspect-ratio:3/4; overflow:hidden; position:relative;
  background:
    radial-gradient(ellipse 60% 50% at 50% 38%, rgba(184,145,91,0.12), transparent 70%),
    var(--stone-2);
  border:1px solid var(--line); margin-bottom:22px;
  transition:border-color .4s ease;
}
.shop-img-wrapper img{
  width:100%; height:100%; object-fit:cover;
  transition:transform .7s cubic-bezier(.25,.46,.45,.94), opacity .4s ease;
  opacity:0.92;
}
.shop-img-wrapper img:not([src]), .shop-img-wrapper img[src=""]{opacity:0;}
.shop-collection-item:hover .shop-img-wrapper{border-color:rgba(184,145,91,0.45);}
.shop-collection-item:hover .shop-img-wrapper img{transform:scale(1.05); opacity:1;}
.shop-collection-item h3{
  font-family:var(--display); font-weight:400;
  font-size:clamp(20px,2.6vw,26px); color:var(--ivory);
  margin:0 0 8px; letter-spacing:0.04em;
  transition:color .3s ease;
}
.shop-collection-cta{
  font-family:var(--utility); font-size:11px;
  letter-spacing:0.22em; text-transform:uppercase; color:var(--gold);
  border-bottom:1px solid transparent; transition:border-color .3s ease;
}
.shop-collection-item:hover h3{color:var(--gold-light);}
.shop-collection-item:hover .shop-collection-cta{border-color:var(--gold);}

.shop-atelier{
  position:relative; min-height:55vh; display:flex;
  align-items:center; justify-content:center; text-align:center;
  padding:clamp(70px,10vw,110px) var(--gutter); overflow:hidden;
}
.shop-atelier-bg{
  position:absolute; inset:0; z-index:0;
  background:
    radial-gradient(ellipse 50% 60% at 80% 50%, rgba(92,31,42,0.12), transparent 60%),
    linear-gradient(135deg, var(--stone-3), var(--stone-2));
}
.shop-atelier-overlay{
  position:absolute; inset:0; z-index:1;
  background:rgba(21,19,14,0.55);
}
.shop-atelier-content{
  position:relative; z-index:2; max-width:560px;
}
.shop-atelier-content .eyebrow{display:block; margin-bottom:14px;}
.shop-atelier-content h2{
  font-family:var(--display); font-weight:400;
  font-size:clamp(28px,4vw,40px); line-height:1.15;
  color:var(--ivory); margin:0 0 18px;
}
.shop-atelier-content p{
  font-size:18px; line-height:1.7; color:var(--ivory-dim);
  margin:0 0 32px;
}
.btn-dark{
  display:inline-flex; align-items:center;
  font-family:var(--utility); font-size:11px;
  letter-spacing:0.24em; text-transform:uppercase;
  color:var(--ivory); border:1px solid var(--line);
  padding:15px 28px; transition:background .35s ease, border-color .35s ease, color .35s ease;
}
.btn-dark:hover{
  background:rgba(184,145,91,0.08);
  border-color:var(--gold); color:var(--gold-light);
}

/* legacy shop classes (por si se reutilizan) */
.shop-intro{display:flex; flex-wrap:wrap; justify-content:space-between; align-items:flex-end; gap:24px; margin-bottom:44px;}
.shop-intro .body-text{margin:0; max-width:50ch;}
.cta-button{display:inline-flex; align-items:center; gap:10px; font-family:var(--utility); font-size:12px; letter-spacing:0.22em; text-transform:uppercase; color:var(--stone); background:linear-gradient(120deg,var(--gold-light),var(--gold)); padding:15px 26px; white-space:nowrap; transition:transform .35s ease, box-shadow .35s ease;}
.cta-button:hover{transform:translateY(-2px); box-shadow:0 10px 24px rgba(184,145,91,0.25);}
.collections{display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); border:1px solid var(--line);}
.collection-card{background:var(--stone); padding:34px 18px; text-align:center; transition:background .35s ease;}
.collection-card:hover{background:var(--stone-3);}
.collection-card svg{width:38px; height:38px; margin:0 auto 16px; color:var(--gold-light);}
.collection-card h3{font-family:var(--display); font-weight:400; font-size:18px; margin:0 0 8px; color:var(--ivory);}
.collection-card a{font-family:var(--utility); font-size:11px; letter-spacing:0.2em; text-transform:uppercase; color:var(--gold); border-bottom:1px solid transparent;}
.collection-card a:hover{border-color:var(--gold);}

/* ---------- CONTACTANOS ---------- */
.contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:80px;}
.contact-info dl{display:grid; grid-template-columns:auto 1fr; gap:8px 18px; margin-top:26px;}
.contact-info dt{font-family:var(--utility); font-size:11px; letter-spacing:0.2em; text-transform:uppercase; color:var(--ivory-faint); align-self:center;}
.contact-info dd{margin:0; font-size:17px; color:var(--ivory-dim);}
.field{margin-bottom:18px;}
.field label{display:block; font-family:var(--utility); font-size:11px; letter-spacing:0.2em; text-transform:uppercase; color:var(--ivory-faint); margin-bottom:7px;}
.field input, .field textarea{width:100%; background:transparent; border:none; border-bottom:1px solid var(--line); color:var(--ivory); font-family:var(--body); font-size:17px; padding:7px 2px; outline:none; transition:border-color .3s ease;}
.field input:focus, .field textarea:focus{border-color:var(--gold);}
.field textarea{resize:vertical; min-height:70px;}
.submit-btn{font-family:var(--utility); font-size:12px; letter-spacing:0.22em; text-transform:uppercase; color:var(--gold); border-bottom:1px solid var(--gold); padding-bottom:4px; margin-top:6px; transition:color .3s ease, border-color .3s ease;}
.submit-btn:hover{color:var(--gold-light); border-color:var(--gold-light);}
.form-note{margin-top:14px; font-family:var(--utility); font-size:12px; color:var(--ivory-faint); min-height:18px;}

/* ====================== VISIBLE FOOTER (subpages) ====================== */
.site-footer{
  border-top:1px solid var(--line);
  padding:34px var(--gutter);
  display:flex; flex-wrap:wrap; justify-content:space-between; gap:10px;
  font-family:var(--utility); font-size:11px; letter-spacing:0.1em; color:var(--ivory-faint);
}

/* ====================== RESPONSIVE ====================== */
@media (max-width:880px){
  .content-grid, .contact-grid{grid-template-columns:1fr; gap:40px;}
  .content-grid.reverse .visual-col{order:0;}
  .about-pillars{grid-template-columns:1fr;}
  .about-stats{grid-template-columns:repeat(2,1fr);}
  .collections{grid-template-columns:repeat(2,1fr);}
  .vein-wrap{display:none;}
  .progress-bar-mobile{display:block;}
  #scenes > section{
    padding-left:var(--gutter);
    padding-top:96px;
    flex:0 0 100dvh;
    height:100dvh;
    min-height:100dvh;
  }
  #about-scenes > .about-scene,
  #shop-scenes > .shop-scene,
  #designer-scenes > .designer-scene,
  #cert-scenes > .cert-scene{
    flex:0 0 100dvh;
    height:100dvh;
    min-height:100dvh;
  }
  .site-footer-fixed{left:var(--gutter);}
  .about-nav-list.index-list{
    flex-wrap:wrap;
    justify-content:center;
  }
  .about-nav-list.index-list a{
    flex:1 1 auto;
    min-width:min(100%,180px);
    font-size:clamp(11px,3.2vw,16px);
    padding:12px 14px;
  }
  .index-list--split .index-list__row,
  .index-list--split .index-list__row--bottom{
    flex-direction:column;
    max-width:100%;
  }
  .index-list--split .index-list__row--bottom{border-top:none;}
  .index-list--split .index-list__row a{
    border-left:none;
    border-top:1px solid var(--line);
    padding:14px 20px;
  }
  .index-list--split .index-list__row:first-child a:first-child{border-top:none;}
  #about-scenes > .about-scene.about-scene--nav,
  #about-scenes > #about-nav.about-scene,
  #scenes > #navegacion.about-scene--nav,
  #shop-scenes > #shop-footer.about-scene--nav,
  #designer-scenes > #designer-footer.about-scene--nav,
  #cert-scenes > #cert-footer.about-scene--nav,
  .page-shop.has-slider #shop-footer.about-scene--nav,
  .page-designer.has-slider #designer-footer.about-scene--nav,
  .page-cert.has-slider #cert-footer.about-scene--nav{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    overflow-x:hidden;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    padding:clamp(108px,18vh,124px) var(--gutter) clamp(72px,12vh,96px);
  }
  .index-list:not(.index-list--split){flex-direction:column; flex-wrap:wrap;}
  .index-list:not(.index-list--split) a{white-space:normal; justify-content:center; padding:14px 24px; border-left:none; border-top:1px solid var(--line);}
  .index-list:not(.index-list--split) a:first-child{border-top:none;}
  .page-hero{padding-top:140px;}
  .shop-subnav{position:relative; top:auto; left:auto; transform:none; justify-content:center; margin-bottom:32px;}
  .shop-hero{flex-direction:column; padding-top:100px;}
  .shop-grid{grid-template-columns:1fr;}
  .brands-grid{grid-template-columns:1fr;}
  .about-story-grid{
    grid-template-columns:1fr;
    grid-template-rows:auto;
  }
  .story-panel--tall{grid-row:auto;}
  .story-panel--tall .story-panel__frame{min-height:0; aspect-ratio:4/5;}
  .shop-cat-grid{grid-template-columns:repeat(2,1fr);}
  .about-rail{display:none;}
  #about-scenes > .about-scene{padding-top:88px; padding-bottom:64px; padding-left:var(--gutter); padding-right:var(--gutter);}
  #about-historia.about-scene{padding-left:var(--gutter); padding-right:var(--gutter);}
  .page-shop.has-slider #shop-scenes > .shop-scene{padding:0;}
  .about-historia-inner{
    grid-template-columns:1fr;
    width:100%;
    max-width:100%;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:16px;
    margin-inline:auto;
  }
  .about-historia-copy{
    margin-left:0;
    margin-right:0;
    padding-right:0;
    max-width:none;
    text-align:center;
    display:flex;
    flex-direction:column;
    align-items:center;
  }
  .about-historia-copy .section-heading{font-size:clamp(32px,8vw,44px);}
  .about-historia-copy .body-text{font-size:16px; max-width:38ch; margin-inline:auto;}
  .about-marcas-inner{grid-template-columns:1fr; gap:clamp(28px,5vw,40px);}
  .about-marcas-copy .section-heading{font-size:clamp(28px,7vw,38px);}
  .about-marcas-copy .body-text{font-size:14px; max-width:none;}
  .value-orbit{min-height:auto; padding:clamp(12px,2vh,20px) 0; width:100%;}
  .value-orbit__line-wrap{
    position:relative;
    width:min(100%, 360px);
    margin-inline:auto;
    padding-bottom:0;
    display:grid;
    grid-template-columns:42px 1fr;
    align-items:stretch;
  }
  .value-orbit__track{
    display:block;
    position:absolute;
    left:21px;
    top:20px;
    bottom:20px;
    width:2px;
    height:auto;
    right:auto;
    transform:translateX(-50%);
    z-index:1;
  }
  .value-orbit__track-fill{
    width:100%;
    height:0%;
    left:0;
    top:0;
    bottom:auto;
    background:linear-gradient(180deg, rgba(225,167,48,0.55), var(--gold-light));
    transition:height .5s var(--scene-ease);
  }
  .value-orbit__readout{max-width:100%; padding:14px 16px;}
  .value-orbit__points{
    grid-column:1 / -1;
    display:flex;
    flex-direction:column;
    gap:0;
    width:100%;
    padding:12px 0;
    position:relative;
    z-index:2;
  }
  .about-cadena-stage{transform:none;}
  #about-cadena.about-scene{
    padding-left:var(--gutter);
    padding-right:var(--gutter);
  }
  .value-orbit__point{
    flex:none;
    width:100%;
    justify-content:flex-start;
  }
  .value-orbit__point.is-active .value-orbit__trigger{
    transform:translateX(2px);
  }
  .value-orbit__trigger{
    display:grid;
    grid-template-columns:42px 1fr;
    align-items:center;
    gap:12px;
    width:100%;
    padding:12px 0;
    border:none;
    border-radius:0;
    background:none;
    text-align:left;
  }
  .value-orbit__label{
    grid-column:2;
    max-width:none;
    font-size:11px;
    letter-spacing:0.12em;
    padding:0;
    background:none;
    border:none;
    text-align:left;
    color:var(--white);
  }
  .value-orbit__dot{
    position:relative;
    left:auto;
    top:auto;
    justify-self:center;
    grid-column:1;
    transform:none;
    width:16px;
    height:16px;
    flex-shrink:0;
    margin:0;
    z-index:2;
  }
  .value-orbit__point.is-active .value-orbit__dot{
    transform:scale(1.18);
  }
  .value-orbit__hint{display:none;}
  .about-subgallery--columns{
    width:min(100%, 340px);
    height:auto;
    max-height:none;
    --subgallery-h:clamp(148px, 44vw, 188px);
    display:grid;
    grid-template-columns:calc(var(--subgallery-h) * 9 / 16) calc((var(--subgallery-h) - var(--subgallery-gap, 8px)) / 2);
    grid-template-rows:1fr 1fr;
    gap:var(--subgallery-gap, 8px);
    margin-left:auto;
    margin-right:auto;
    align-self:center;
    place-self:center;
  }
  .about-subgallery__slot--portrait{
    grid-column:1;
    grid-row:1 / -1;
    width:100%;
    height:100%;
    max-height:none;
    aspect-ratio:auto;
  }
  .about-subgallery__slot--sq{
    grid-column:2;
    width:100%;
    height:auto;
    aspect-ratio:1;
    max-height:calc((var(--subgallery-h) - var(--subgallery-gap, 8px)) / 2);
  }
  .brand-row{
    grid-template-columns:72px 1fr;
    gap:16px;
    padding:18px 12px;
    margin:0 -12px;
    transform:none;
    box-shadow:none;
  }
  .brand-row:hover,
  .brand-row:focus-within{transform:none; box-shadow:none;}
}
@media (max-width:520px){
  .collections{grid-template-columns:1fr;}
  .about-stats{grid-template-columns:1fr;}
  .shop-intro{flex-direction:column; align-items:flex-start;}
}
@media (prefers-reduced-motion: reduce){
  *{animation:none !important; transition:none !important;}
}

/* ====================== DISEÑA TU JOYA — configurador ====================== */
.page-designer.has-slider{overflow:hidden; height:100%; overscroll-behavior:none; background:var(--stone);}
.page-designer.has-slider .vein-wrap{display:none;}
.page-designer .site-header{
  background:linear-gradient(to bottom, rgba(12,47,42,0.55), transparent);
}
.page-designer .site-header.scrolled{
  background:linear-gradient(to bottom, rgba(12,47,42,0.92), rgba(12,47,42,0));
}

#designer-scenes{
  position:relative; width:100%; max-width:100%;
  display:flex; flex-direction:column;
  transition:transform var(--duration) var(--scene-ease);
  will-change:transform;
  overscroll-behavior:none;
}
#designer-scenes > .designer-scene{
  flex:0 0 100vh;
  height:100vh;
  height:100dvh;
  width:100%;
  position:relative;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  box-sizing:border-box;
}

/* Hero */
.designer-scene--hero{padding:0;}
.designer-hero-full__frame{position:relative; width:100%; height:100%; background:var(--stone);}
.designer-hero-full__img{width:100%; height:100%; object-fit:cover; object-position:center;}
.designer-hero-full__veil{
  position:absolute; inset:0; z-index:1; pointer-events:none;
  background:linear-gradient(to bottom, rgba(12,47,42,0.35) 0%, rgba(12,47,42,0.08) 45%, rgba(12,47,42,0.55) 100%);
}
.designer-hero-full__content{
  position:absolute; left:0; right:0; bottom:clamp(32px,6vh,64px); z-index:2;
  display:flex; justify-content:center; padding:0 var(--gutter);
}
.designer-hero-full__cta-block{text-align:center; max-width:520px;}
.designer-hero-full__kicker{
  margin:0 0 12px;
  font-family:var(--display); font-weight:400;
  color:var(--ivory);
  text-shadow:0 2px 24px rgba(12,47,42,0.75);
}
.designer-hero-full__kicker-top{
  display:block;
  font-size:clamp(28px,4vw,42px);
  letter-spacing:0.28em;
  text-transform:uppercase;
}
.designer-hero-full__kicker-bottom{
  display:block;
  font-size:clamp(36px,5.5vw,58px);
  font-style:italic;
  color:var(--gold-light);
}
.designer-hero-full__tagline{
  margin:0 0 24px;
  font-family:var(--utility); font-size:11px;
  letter-spacing:0.22em; text-transform:uppercase;
  color:var(--ivory-dim);
}

/* Estudio / configurador */
.designer-scene--studio{
  padding:clamp(72px,9vh,88px) var(--gutter) clamp(20px,3vh,32px);
  background:var(--stone);
}
.designer-studio{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(320px,0.85fr);
  gap:clamp(20px,3vw,36px);
  width:100%;
  max-width:min(1280px,100%);
  height:100%;
  margin:0 auto;
  min-height:0;
}
.designer-studio__viewport{
  display:flex; flex-direction:column;
  min-height:0;
  border:1px solid var(--line);
  background:
    radial-gradient(ellipse 80% 70% at 50% 42%, rgba(16,56,50,0.55), transparent 70%),
    linear-gradient(165deg, #0a2622, #0c2f2a 55%, #103832);
}
.designer-viewport__header{
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 18px;
  border-bottom:1px solid var(--line);
}
.designer-viewport__eyebrow{
  font-family:var(--utility); font-size:10px;
  letter-spacing:0.24em; text-transform:uppercase;
  color:var(--ivory-dim);
}
.designer-viewport__badge{
  font-family:var(--utility); font-size:9px;
  letter-spacing:0.18em; text-transform:uppercase;
  color:var(--gold-light);
  border:1px solid rgba(225,167,48,0.35);
  padding:5px 10px;
}
.designer-viewport__stage{
  position:relative; flex:1; min-height:0;
  display:flex; align-items:center; justify-content:center;
  overflow:hidden;
}
.designer-viewport__grid{
  position:absolute; inset:0;
  background-image:
    linear-gradient(rgba(239,234,220,0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(239,234,220,0.04) 1px, transparent 1px);
  background-size:48px 48px;
  mask-image:radial-gradient(ellipse 70% 65% at 50% 50%, #000 20%, transparent 75%);
}
.designer-preview{
  position:relative; z-index:2;
  width:min(100%,420px); aspect-ratio:1;
  display:flex; align-items:center; justify-content:center;
}
.designer-preview__glow{
  position:absolute; inset:18%;
  border-radius:50%;
  background:radial-gradient(circle, rgba(225,167,48,0.12), transparent 70%);
  opacity:0;
  transition:opacity .5s ease;
}
.designer-preview[data-type] .designer-preview__glow{opacity:1;}
.designer-preview__placeholder{
  margin:0; padding:0 24px;
  text-align:center;
  font-family:var(--utility); font-size:12px;
  letter-spacing:0.12em; color:var(--ivory-faint);
}
.designer-preview__piece{
  position:relative;
  width:72%; height:72%;
  transition:transform .6s var(--scene-ease);
}
.designer-preview[data-metal] .designer-preview__piece{transform:scale(1.02);}

/* Piezas por tipo */
.designer-piece__base,
.designer-piece__metal,
.designer-piece__stone,
.designer-piece__sides,
.designer-piece__halo,
.designer-piece__accent{
  position:absolute;
  transition:opacity .45s ease, transform .55s var(--scene-ease), clip-path .45s ease, border-radius .45s ease;
}
.designer-piece__base,
.designer-piece__metal{opacity:0; transform:scale(0.85);}
.designer-piece__stone{opacity:0; transform:scale(0.5);}
.designer-piece__sides,
.designer-piece__halo,
.designer-piece__accent{opacity:0;}

.designer-preview[data-type] .designer-piece__base{opacity:1; transform:scale(1);}
.designer-preview[data-metal] .designer-piece__metal{opacity:1; transform:scale(1);}
.designer-preview[data-stone] .designer-piece__stone{opacity:1;}
.designer-preview[data-style] .designer-piece__accent{opacity:1;}
.designer-preview[data-diamonds="halo"] .designer-piece__halo,
.designer-preview[data-diamonds="pave"] .designer-piece__halo{opacity:1;}
.designer-preview[data-diamonds="laterales"] .designer-piece__sides,
.designer-preview[data-shape="tres-piedras"] .designer-piece__sides{opacity:1;}
.designer-preview[data-diamonds="banda"] .designer-piece__metal,
.designer-preview[data-shape="pave"] .designer-piece__metal{box-shadow:0 0 0 1px rgba(238,246,255,0.15) inset;}

/* Anillo */
.designer-preview[data-type="anillo"] .designer-piece__base{
  inset:28% 18%;
  border:14px solid rgba(239,234,220,0.25);
  border-radius:50%;
  box-shadow:inset 0 0 20px rgba(0,0,0,0.25);
}
.designer-preview[data-type="anillo"] .designer-piece__metal{
  inset:28% 18%;
  border:10px solid var(--designer-metal, #e1a730);
  border-radius:50%;
}
.designer-preview[data-type="anillo"] .designer-piece__stone{
  width:22%; height:22%;
  top:18%; left:50%;
  transform:translateX(-50%);
  background:var(--designer-stone, #1a7a52);
  clip-path:polygon(50% 0%, 92% 25%, 92% 75%, 50% 100%, 8% 75%, 8% 25%);
  box-shadow:0 0 24px rgba(26,122,82,0.45);
}
.designer-preview[data-type="anillo"][data-stone] .designer-piece__stone{
  transform:translateX(-50%) scale(1);
}
.designer-preview[data-type="anillo"][data-style="vintage"] .designer-piece__accent{
  inset:22% 12%;
  border:2px dashed rgba(225,167,48,0.45);
  border-radius:50%;
}

/* Pulsera */
.designer-preview[data-type="pulsera"] .designer-piece__base{
  inset:38% 8%;
  border:12px solid rgba(239,234,220,0.2);
  border-radius:999px;
}
.designer-preview[data-type="pulsera"] .designer-piece__metal{
  inset:38% 8%;
  border:8px solid var(--designer-metal, #e1a730);
  border-radius:999px;
}
.designer-preview[data-type="pulsera"] .designer-piece__stone{
  width:16%; height:16%;
  top:50%; left:50%; transform:translate(-50%,-50%);
  background:var(--designer-stone, #1a7a52);
  clip-path:polygon(50% 0%, 92% 25%, 92% 75%, 50% 100%, 8% 75%, 8% 25%);
}
.designer-preview[data-type="pulsera"] .designer-piece__accent{
  width:8%; height:8%;
  top:50%; left:22%; transform:translateY(-50%);
  background:var(--designer-metal, #e1a730);
  border-radius:50%;
  box-shadow:calc(100% * 4) 0 0 var(--designer-metal, #e1a730),
              calc(100% * 8) 0 0 var(--designer-metal, #e1a730);
}

/* Arete */
.designer-preview[data-type="arete"] .designer-piece__base{
  width:4%; height:18%;
  top:8%; left:50%; transform:translateX(-50%);
  background:rgba(239,234,220,0.35);
  border-radius:2px;
}
.designer-preview[data-type="arete"] .designer-piece__metal{
  width:3px; height:14%;
  top:10%; left:50%; transform:translateX(-50%);
  background:var(--designer-metal, #e1a730);
}
.designer-preview[data-type="arete"] .designer-piece__stone{
  width:28%; height:34%;
  top:32%; left:50%; transform:translateX(-50%);
  background:var(--designer-stone, #1a7a52);
  clip-path:polygon(50% 0%, 100% 38%, 82% 100%, 18% 100%, 0% 38%);
  box-shadow:0 8px 28px rgba(0,0,0,0.35);
}
.designer-preview[data-type="arete"] .designer-piece__accent{
  width:20%; height:2px;
  top:28%; left:50%; transform:translateX(-50%);
  background:var(--designer-metal, #e1a730);
}

/* Collar */
.designer-preview[data-type="collar"] .designer-piece__base{
  inset:12% 10% auto;
  height:42%;
  border:10px solid transparent;
  border-top:10px solid rgba(239,234,220,0.22);
  border-radius:50% 50% 0 0;
}
.designer-preview[data-type="collar"] .designer-piece__metal{
  inset:14% 14% auto;
  height:38%;
  border:6px solid transparent;
  border-top:6px solid var(--designer-metal, #e1a730);
  border-radius:50% 50% 0 0;
}
.designer-preview[data-type="collar"] .designer-piece__stone{
  width:20%; height:20%;
  top:46%; left:50%; transform:translateX(-50%);
  background:var(--designer-stone, #1a7a52);
  clip-path:polygon(50% 0%, 92% 25%, 92% 75%, 50% 100%, 8% 75%, 8% 25%);
}
.designer-preview[data-type="collar"][data-style="moderno"] .designer-piece__accent{
  width:60%; height:2px;
  top:58%; left:50%; transform:translateX(-50%);
  background:linear-gradient(90deg, transparent, var(--designer-metal, #e1a730), transparent);
}

/* Metales y piedras */
.designer-preview[data-metal="oro-italiano"]{--designer-metal:#e8c04a;}
.designer-preview[data-metal="oro-nacional"]{--designer-metal:#e1a730;}
.designer-preview[data-metal="oro-amarillo"]{--designer-metal:#e1a730;}
.designer-preview[data-metal="oro-blanco"]{--designer-metal:#e8e4dc;}
.designer-preview[data-metal="plata"]{--designer-metal:#c5ccd4;}
.designer-preview[data-metal="oro-rosa"]{--designer-metal:#e8b4a8;}
.designer-preview[data-stone="esmeralda"]{--designer-stone:#1a7a52;}
.designer-preview[data-stone="diamante"]{--designer-stone:#eef6ff;}
.designer-preview[data-stone="zafiro"]{--designer-stone:#1e3a8a;}
.designer-preview[data-stone="rubi"]{--designer-stone:#8b1e3f;}

/* Cortes de piedra */
.designer-preview[data-cut="esmeralda"] .designer-piece__stone,
.designer-preview:not([data-cut]) .designer-piece__stone{
  clip-path:polygon(50% 0%, 92% 25%, 92% 75%, 50% 100%, 8% 75%, 8% 25%);
  border-radius:0;
}
.designer-preview[data-cut="oval"] .designer-piece__stone{
  clip-path:none;
  border-radius:50%;
  width:24% !important;
  height:18% !important;
}
.designer-preview[data-cut="redondo"] .designer-piece__stone,
.designer-preview[data-cut="cabujon"] .designer-piece__stone{
  clip-path:none;
  border-radius:50%;
  aspect-ratio:1;
}
.designer-preview[data-cut="cabujon"] .designer-piece__stone{
  box-shadow:inset 0 -8px 16px rgba(0,0,0,0.25), 0 0 24px rgba(26,122,82,0.35);
}
.designer-preview[data-cut="pera"] .designer-piece__stone{
  clip-path:polygon(50% 0%, 86% 28%, 72% 100%, 28% 100%, 14% 28%);
  border-radius:0;
}
.designer-preview[data-cut="marquesa"] .designer-piece__stone{
  clip-path:polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
  width:26% !important;
  height:14% !important;
}
.designer-preview[data-cut="corazon"] .designer-piece__stone{
  clip-path:path("M50 88 C20 62, 5 42, 18 22 C30 8, 44 12, 50 24 C56 12, 70 8, 82 22 C95 42, 80 62, 50 88 Z");
  transform:translateX(-50%) scale(0.95);
}
.designer-preview[data-cut="princesa"] .designer-piece__stone{
  clip-path:polygon(20% 0%, 80% 0%, 100% 20%, 100% 80%, 80% 100%, 20% 100%, 0% 80%, 0% 20%);
  border-radius:0;
}

/* Halo y piedras laterales */
.designer-preview[data-type="anillo"] .designer-piece__halo{
  width:34%; height:34%;
  top:12%; left:50%;
  transform:translateX(-50%);
  border-radius:50%;
  border:3px dotted rgba(238,246,255,0.9);
  box-shadow:0 0 0 2px rgba(225,167,48,0.25);
}
.designer-preview[data-type="anillo"] .designer-piece__sides{
  top:18%; left:50%;
  width:8%; height:8%;
  transform:translateX(-50%);
  background:var(--designer-stone, #eef6ff);
  border-radius:50%;
  box-shadow:-140% 0 0 0 var(--designer-stone, #eef6ff),
              140% 0 0 0 var(--designer-stone, #eef6ff);
  opacity:0;
}
.designer-preview[data-type="anillo"][data-diamonds="laterales"] .designer-piece__sides,
.designer-preview[data-type="anillo"][data-shape="tres-piedras"] .designer-piece__sides{
  opacity:1;
}
.designer-preview[data-type="anillo"][data-diamonds="pave"] .designer-piece__halo{
  border-style:solid;
  border-width:5px;
  border-color:rgba(238,246,255,0.75);
  width:38%; height:38%;
  top:9%;
}
.designer-preview[data-type="anillo"][data-diamonds="banda"] .designer-piece__metal{
  border-width:12px;
  box-shadow:0 0 0 2px rgba(238,246,255,0.35) inset;
}

/* Diseños por tipo */
.designer-preview[data-type="anillo"][data-shape="alianza"] .designer-piece__stone{opacity:0;}
.designer-preview[data-type="collar"][data-shape="cadena-lisa"] .designer-piece__stone{opacity:0.35; transform:translateX(-50%) scale(0.7);}
.designer-preview[data-type="collar"][data-shape="gargantilla"] .designer-piece__metal{
  inset:22% 20% auto;
  height:28%;
}
.designer-preview[data-type="arete"][data-shape="aro"] .designer-piece__stone{
  width:42%; height:42%;
  top:28%;
  border:8px solid var(--designer-metal, #e1a730);
  background:transparent;
  clip-path:none;
  border-radius:50%;
  box-shadow:none;
}
.designer-preview[data-type="pulsera"][data-shape="tennis"] .designer-piece__accent{
  opacity:1;
  inset:38% 8%;
  height:0;
  border-top:8px solid var(--designer-stone, #eef6ff);
  border-radius:999px;
  box-shadow:0 0 12px rgba(238,246,255,0.35);
}

/* Iconos de corte en opciones */
.designer-options--cuts{grid-template-columns:repeat(2, minmax(0, 1fr));}
.designer-option--cut{
  display:flex; align-items:center; gap:12px;
  text-align:left;
}
.designer-cut-icon{
  flex-shrink:0;
  width:28px; height:28px;
  background:linear-gradient(145deg, #1a7a52, #0e4a32);
  border:1px solid rgba(225,167,48,0.35);
}
.designer-cut-icon--esmeralda{clip-path:polygon(50% 0%, 92% 25%, 92% 75%, 50% 100%, 8% 75%, 8% 25%);}
.designer-cut-icon--oval{border-radius:50%; width:22px; height:16px;}
.designer-cut-icon--redondo,
.designer-cut-icon--cabujon{border-radius:50%;}
.designer-cut-icon--pera{clip-path:polygon(50% 0%, 86% 28%, 72% 100%, 28% 100%, 14% 28%);}
.designer-cut-icon--marquesa{clip-path:polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%); width:30px; height:14px;}
.designer-cut-icon--corazon{clip-path:path("M50 88 C20 62, 5 42, 18 22 C30 8, 44 12, 50 24 C56 12, 70 8, 82 22 C95 42, 80 62, 50 88 Z");}
.designer-cut-icon--princesa{clip-path:polygon(20% 0%, 80% 0%, 100% 20%, 100% 80%, 80% 100%, 20% 100%, 0% 80%, 0% 20%);}

.designer-build-log{
  list-style:none; margin:0; padding:10px 16px 14px;
  display:flex; flex-wrap:wrap; gap:8px;
  border-top:1px solid var(--line);
  min-height:44px;
}
.designer-build-log__item{
  font-family:var(--utility); font-size:9px;
  letter-spacing:0.14em; text-transform:uppercase;
  color:var(--ivory-dim);
  border:1px solid rgba(225,167,48,0.28);
  padding:6px 10px;
  animation:designerChipIn .4s var(--scene-ease);
}
@keyframes designerChipIn{
  from{opacity:0; transform:translateY(6px);}
  to{opacity:1; transform:translateY(0);}
}

/* Panel derecho */
.designer-studio__panel{
  display:flex; flex-direction:column;
  min-height:0;
  border:1px solid var(--line);
  background:rgba(10,38,34,0.65);
  backdrop-filter:blur(8px);
  overflow:hidden;
}
.sr-only{
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
}
.designer-panel__tabs{
  display:flex;
  border-bottom:1px solid var(--line);
  flex-shrink:0;
}
.designer-panel__tab{
  flex:1;
  padding:14px 12px;
  border:none;
  background:transparent;
  color:var(--ivory-dim);
  font-family:var(--utility); font-size:10px;
  letter-spacing:0.18em; text-transform:uppercase;
  cursor:pointer;
  transition:color .3s ease, background .3s ease;
}
.designer-panel__tab.is-active{
  color:var(--gold-light);
  background:rgba(225,167,48,0.08);
  box-shadow:inset 0 -2px 0 var(--gold);
}
.designer-chat{
  display:flex; flex-direction:column;
  flex:1; min-height:0;
}
.designer-chat__head{
  display:flex; align-items:center; gap:12px;
  padding:16px 18px 12px;
  border-bottom:1px solid rgba(225,167,48,0.12);
  flex-shrink:0;
}
.designer-chat__avatar{
  width:36px; height:36px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg, var(--gold-light), var(--gold));
  color:var(--stone); font-family:var(--display);
  font-size:18px; font-weight:500;
}
.designer-chat__name{
  margin:0;
  font-family:var(--utility); font-size:12px;
  letter-spacing:0.12em; text-transform:uppercase;
  color:var(--ivory);
}
.designer-chat__status{
  margin:4px 0 0;
  font-size:11px; color:var(--ivory-faint);
}
.designer-chat__messages{
  flex:1; min-height:0; overflow-y:auto;
  padding:16px 18px;
  display:flex; flex-direction:column; gap:12px;
}
.designer-chat__msg{
  max-width:92%;
  padding:12px 14px;
  border-radius:12px;
  font-size:14px; line-height:1.55;
}
.designer-chat__msg--assistant{
  align-self:flex-start;
  background:rgba(239,234,220,0.08);
  border:1px solid rgba(239,234,220,0.12);
  color:var(--ivory);
  border-bottom-left-radius:4px;
}
.designer-chat__msg--user{
  align-self:flex-end;
  background:rgba(225,167,48,0.15);
  border:1px solid rgba(225,167,48,0.28);
  color:var(--ivory);
  border-bottom-right-radius:4px;
}
.designer-chat__msg--typing{
  opacity:0.7; font-style:italic;
}
.designer-chat__quick{
  display:flex; flex-wrap:wrap; gap:8px;
  padding:0 18px 12px;
  flex-shrink:0;
}
.designer-chat__chip{
  padding:8px 12px;
  border:1px solid rgba(225,167,48,0.35);
  background:rgba(12,47,42,0.5);
  color:var(--gold-light);
  font-family:var(--utility); font-size:10px;
  letter-spacing:0.1em; text-transform:uppercase;
  cursor:pointer;
  transition:background .25s ease, border-color .25s ease, color .25s ease;
}
.designer-chat__chip:hover,
.designer-chat__chip:focus-visible{
  background:rgba(225,167,48,0.12);
  border-color:var(--gold-light);
  color:var(--ivory);
}
.designer-chat__form{
  display:flex; gap:8px;
  padding:12px 18px 16px;
  border-top:1px solid var(--line);
  flex-shrink:0;
}
.designer-chat__form input{
  flex:1; min-width:0;
  padding:12px 14px;
  border:1px solid rgba(239,234,220,0.18);
  background:rgba(12,47,42,0.55);
  color:var(--ivory);
  font-family:var(--utility); font-size:13px;
}
.designer-chat__form input::placeholder{color:var(--ivory-faint);}
.designer-chat__form input:focus{
  outline:none;
  border-color:rgba(225,167,48,0.5);
}
.designer-chat__send{
  padding:12px 16px;
  border:1px solid rgba(225,167,48,0.45);
  background:rgba(225,167,48,0.12);
  color:var(--gold-light);
  font-family:var(--utility); font-size:10px;
  letter-spacing:0.16em; text-transform:uppercase;
  cursor:pointer;
  white-space:nowrap;
}
.designer-chat__send:hover{background:rgba(225,167,48,0.22);}
.designer-manual{
  display:flex; flex-direction:column;
  flex:1; min-height:0;
}
.designer-manual[hidden]{display:none !important;}
.designer-chat[hidden]{display:none !important;}
.designer-panel__progress{
  display:flex; justify-content:center; gap:6px;
  padding:16px 20px 8px;
  border-bottom:1px solid var(--line);
}
.designer-progress__dot{
  width:8px; height:8px; border-radius:50%;
  border:1px solid rgba(225,167,48,0.35);
  background:transparent;
  transition:background .3s ease, transform .3s ease;
}
.designer-progress__dot.is-active{
  transform:scale(1.25);
  border-color:var(--gold-light);
}
.designer-progress__dot.is-done{background:var(--gold);}
.designer-panel__step{
  flex:1; min-height:0; overflow-y:auto;
  padding:clamp(20px,3vh,28px) clamp(18px,2.5vw,24px);
}
.designer-panel__step-num{
  margin:0 0 8px;
  font-family:var(--utility); font-size:10px;
  letter-spacing:0.22em; text-transform:uppercase;
  color:var(--gold-light);
}
.designer-panel__title{
  margin:0 0 10px;
  font-family:var(--display); font-weight:400;
  font-size:clamp(24px,2.8vw,32px);
  color:var(--ivory); line-height:1.15;
}
.designer-panel__hint{
  margin:0 0 20px;
  font-size:14px; line-height:1.55;
  color:var(--ivory-dim);
}
.designer-options{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:10px;
}
.designer-options--types{grid-template-columns:repeat(2, minmax(0,1fr));}
.designer-option{
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:8px; min-height:72px;
  padding:14px 12px;
  border:1px solid rgba(239,234,220,0.16);
  background:rgba(12,47,42,0.45);
  color:var(--ivory);
  font-family:var(--utility); font-size:11px;
  letter-spacing:0.14em; text-transform:uppercase;
  cursor:pointer;
  transition:border-color .3s ease, background .3s ease, color .3s ease, transform .3s var(--scene-ease);
}
.designer-option:hover,
.designer-option:focus-visible{
  border-color:rgba(225,167,48,0.5);
  background:rgba(16,56,50,0.65);
  color:var(--gold-light);
}
.designer-option.is-selected{
  border-color:var(--gold-light);
  background:rgba(225,167,48,0.12);
  color:var(--ivory);
  box-shadow:0 0 0 1px rgba(225,167,48,0.25);
}
.designer-option__icon{
  font-size:22px; line-height:1;
  color:var(--gold-light);
}
.designer-panel__nav{
  display:flex; gap:10px;
  padding:14px 18px 18px;
  border-top:1px solid var(--line);
}
.designer-nav-btn{
  flex:1;
  padding:12px 16px;
  border:1px solid rgba(239,234,220,0.2);
  background:transparent;
  color:var(--ivory-dim);
  font-family:var(--utility); font-size:11px;
  letter-spacing:0.16em; text-transform:uppercase;
  cursor:pointer;
  transition:color .3s ease, border-color .3s ease, background .3s ease;
}
.designer-nav-btn:hover:not(:disabled),
.designer-nav-btn:focus-visible:not(:disabled){
  color:var(--ivory);
  border-color:rgba(225,167,48,0.45);
}
.designer-nav-btn:disabled{opacity:0.35; cursor:not-allowed;}
.designer-nav-btn--next{
  border-color:rgba(225,167,48,0.45);
  color:var(--gold-light);
  background:rgba(225,167,48,0.08);
}
.designer-summary{
  margin:0 0 20px;
  border:1px solid var(--line);
  padding:4px 0;
}
.designer-summary__row{
  display:flex; justify-content:space-between; gap:16px;
  padding:12px 16px;
  border-bottom:1px solid rgba(225,167,48,0.12);
  font-family:var(--utility); font-size:12px;
}
.designer-summary__row:last-child{border-bottom:none;}
.designer-summary__row dt{
  letter-spacing:0.14em; text-transform:uppercase;
  color:var(--ivory-dim);
}
.designer-summary__row dd{margin:0; color:var(--ivory); text-align:right;}
.designer-panel__cta{display:inline-flex; width:100%; justify-content:center;}

/* Footer nav + reveal */
.page-designer.has-slider .designer-scene__reveal-curtain,
.page-designer.has-slider .about-scene__reveal-curtain{
  position:absolute; inset:0; z-index:6;
  background:var(--stone);
  opacity:1; visibility:visible;
  transition:opacity .52s var(--scene-ease), visibility 0s linear .52s;
  pointer-events:none;
}
.page-designer.has-slider .designer-scene.is-revealed .designer-scene__reveal-curtain,
.page-designer.has-slider .designer-scene.is-revealed .about-scene__reveal-curtain{
  opacity:0; visibility:hidden;
}
.page-designer.has-slider .designer-scene--instant .designer-scene__reveal-curtain{display:none;}
.page-designer.has-slider #designer-footer .about-scene__inner,
.page-designer.has-slider #designer-footer .about-nav-inner{
  max-height:none;
  overflow:visible;
  flex-shrink:0;
}
.page-designer.has-slider #designer-footer:not(.shop-scene--instant) .about-scene__inner{
  opacity:0; transform:translateY(22px);
  transition:opacity .5s var(--scene-ease), transform .58s var(--scene-ease);
}
.page-designer.has-slider #designer-footer.is-revealed .about-scene__inner,
.page-designer.has-slider #designer-footer.is-active .about-scene__inner{
  opacity:1; transform:translateY(0); transition-delay:.1s;
}
.page-designer.has-slider #designer-footer .about-scene__bg img{
  opacity:0.35; transform:scale(1.06);
  filter:var(--nav-bg-filter);
  transition:opacity .58s var(--scene-ease), transform .68s var(--scene-ease), filter .5s ease;
}
.page-designer.has-slider #designer-footer.is-revealed .about-scene__bg img,
.page-designer.has-slider #designer-footer.is-active .about-scene__bg img{
  opacity:1; transform:scale(1.06);
  filter:var(--nav-bg-filter);
}
.page-designer.has-slider .designer-scene--studio.is-revealed .designer-studio,
.page-designer.has-slider .designer-scene--studio.is-active .designer-studio{
  animation:designerStudioIn .65s var(--scene-ease);
}
@keyframes designerStudioIn{
  from{opacity:0; transform:translateY(16px);}
  to{opacity:1; transform:translateY(0);}
}

@media (max-width:960px){
  .designer-studio{
    grid-template-columns:1fr;
    grid-template-rows:minmax(240px,38vh) minmax(0,1fr);
  }
  .designer-scene--studio{
    padding-top:76px;
    overflow-y:auto;
  }
  #designer-scenes > .designer-scene--studio{
    height:auto; min-height:100dvh; flex:0 0 auto;
  }
  .page-designer.has-slider #designer-scenes > .designer-scene--studio{
    flex:0 0 100dvh;
    height:100dvh;
    overflow:hidden;
  }
}

@media (max-width:520px){
  .designer-options{grid-template-columns:1fr;}
}

/* ====================== CERTIFICACIÓN DE PIEDRAS ====================== */
.page-cert.has-slider{overflow:hidden; height:100%; overscroll-behavior:none; background:var(--stone);}
.page-cert.has-slider .vein-wrap{display:none;}
.page-cert .site-header{
  position:fixed; z-index:50;
}
#cert-scenes{
  position:relative;
  width:100%;
  max-width:100%;
  display:flex;
  flex-direction:column;
  transition:transform .8s var(--scene-ease);
  will-change:transform;
  overscroll-behavior:none;
  overflow-x:hidden;
}
#cert-scenes > .cert-scene{
  flex:0 0 100dvh;
  height:100dvh; min-height:100dvh;
  width:100%;
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  box-sizing:border-box;
}
#cert-scenes > #cert-footer.shop-scene--nav,
#designer-scenes > #designer-footer.shop-scene--nav{
  justify-content:center;
  overflow-y:hidden;
  align-items:center;
}
@media (max-width:880px){
  #cert-scenes > #cert-footer.cert-scene.about-scene--nav,
  #designer-scenes > #designer-footer.designer-scene.about-scene--nav{
    justify-content:flex-start;
    overflow-x:hidden;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
  }
}
.cert-scene--hero{
  padding:0;
  align-items:stretch;
  justify-content:stretch;
}
.cert-hero-full__frame{position:relative; width:100%; height:100%; background:var(--stone);}
.cert-hero-full__img{width:100%; height:100%; object-fit:cover; object-position:center;}
.cert-hero-full__veil{
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(12,47,42,0.35) 0%, rgba(12,47,42,0.72) 100%);
}
.cert-hero-full__content{
  position:absolute; inset:0;
  display:flex; align-items:center; justify-content:center;
  padding:var(--gutter);
}
.cert-hero-full__cta-block{text-align:center; max-width:520px;}
.cert-hero-full__kicker{
  margin:0 0 16px;
  font-family:var(--display); font-weight:400;
  line-height:0.95; color:var(--ivory);
}
.cert-hero-full__kicker-top{
  display:block;
  font-size:clamp(42px, 8vw, 72px);
  letter-spacing:0.04em;
}
.cert-hero-full__kicker-bottom{
  display:block;
  font-size:clamp(42px, 8vw, 72px);
  font-style:italic;
  color:var(--gold-light);
}
.cert-hero-full__tagline{
  margin:0 0 28px;
  font-size:clamp(15px, 2vw, 18px);
  line-height:1.55;
  color:var(--ivory-dim);
}

.cert-scene--allies,
.cert-scene--process{
  background:var(--stone);
  display:flex;
  align-items:center;
}
.cert-allies__inner{
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(0, 1.1fr);
  gap:clamp(28px, 4vw, 56px);
  align-items:center;
  max-width:1200px;
  margin:0 auto;
  padding:clamp(100px, 12vh, 120px) var(--gutter) clamp(48px, 8vh, 80px);
}
.cert-allies__copy .section-label{
  display:block;
  margin-bottom:12px;
  font-family:var(--utility);
  font-size:10px;
  letter-spacing:0.24em;
  text-transform:uppercase;
  color:var(--gold-light);
}
.cert-pillars{
  list-style:none; margin:28px 0 0; padding:0;
  display:grid; gap:12px;
}
.cert-pillars li{
  font-size:15px; line-height:1.5;
  color:var(--ivory-dim);
  border-left:2px solid rgba(225,167,48,0.35);
  padding-left:14px;
}
.cert-pillars strong{
  display:block;
  font-family:var(--utility);
  font-size:10px;
  letter-spacing:0.18em;
  text-transform:uppercase;
  color:var(--gold-light);
  margin-bottom:2px;
}
.cert-allies__media,
.cert-process__media{
  position:relative;
  overflow:hidden;
  border:15px solid rgba(239,234,220,0.14);
  border-radius:18px;
  background:rgba(239,234,220,0.04);
  min-height:clamp(240px, 38vh, 480px);
}
.cert-allies__media img,
.cert-process__media img{
  width:100%;
  height:100%;
  min-height:clamp(240px, 38vh, 450px);
  object-fit:cover;
  display:block;
  border-radius:6px;
}

.cert-scene--process{
  background:var(--stone);
}
.cert-process__inner{
  display:grid;
  grid-template-columns:minmax(0, 1.1fr) minmax(0, 1fr);
  gap:clamp(28px, 4vw, 56px);
  align-items:center;
  max-width:1200px;
  margin:0 auto;
  padding:clamp(100px, 12vh, 120px) var(--gutter) clamp(48px, 8vh, 80px);
}
.cert-process__copy .section-label{
  display:block;
  margin-bottom:12px;
  font-family:var(--utility);
  font-size:10px;
  letter-spacing:0.24em;
  text-transform:uppercase;
  color:var(--gold-light);
}
.cert-process__criteria{
  list-style:none;
  margin:28px 0 32px;
  padding:0;
  display:grid;
  gap:14px;
}
.cert-process__criteria li{
  border-left:2px solid rgba(225,167,48,0.35);
  padding-left:14px;
}
.cert-process__criteria strong{
  display:block;
  font-family:var(--utility);
  font-size:10px;
  letter-spacing:0.18em;
  text-transform:uppercase;
  color:var(--gold-light);
  margin-bottom:4px;
}
.cert-process__criteria span{
  display:block;
  font-size:15px;
  line-height:1.5;
  color:var(--ivory-dim);
}

.page-cert.has-slider .cert-scene__reveal-curtain,
.page-cert.has-slider .about-scene__reveal-curtain{
  position:absolute; inset:0; z-index:3;
  background:var(--stone);
  transform:translateY(0);
  transition:transform .58s var(--scene-ease);
  pointer-events:none;
}
.page-cert.has-slider .cert-scene.is-revealed .cert-scene__reveal-curtain,
.page-cert.has-slider .cert-scene.is-revealed .about-scene__reveal-curtain{
  transform:translateY(-102%);
}
.page-cert.has-slider .cert-scene--instant .cert-scene__reveal-curtain{display:none;}
.page-cert.has-slider #cert-footer .about-scene__inner,
.page-cert.has-slider #cert-footer .about-nav-inner{
  max-height:none;
  overflow:visible;
  flex-shrink:0;
}
.page-cert.has-slider #cert-footer:not(.shop-scene--instant) .about-scene__inner{
  opacity:0;
  transform:translateY(24px);
  transition:opacity .6s var(--scene-ease), transform .6s var(--scene-ease);
}
.page-cert.has-slider #cert-footer.is-revealed .about-scene__inner,
.page-cert.has-slider #cert-footer.is-active .about-scene__inner{
  opacity:1; transform:none;
}
.page-cert.has-slider #cert-footer .about-scene__bg img{
  opacity:0.35;
  transform:scale(1.06);
  filter:var(--nav-bg-filter);
  transition:opacity .58s var(--scene-ease), transform .68s var(--scene-ease), filter .5s ease;
}
.page-cert.has-slider #cert-footer.is-revealed .about-scene__bg img,
.page-cert.has-slider #cert-footer.is-active .about-scene__bg img{
  opacity:1;
  transform:scale(1.06);
  filter:var(--nav-bg-filter);
}

@media (max-width:900px){
  .cert-allies__inner,
  .cert-process__inner{grid-template-columns:1fr;}
  .cert-process__media{order:-1;}
}

/* ====================== CONTÁCTANOS (solo formulario) ====================== */
.page-contact{
  min-height:100dvh;
  background:var(--stone);
  color:var(--ivory);
}
.page-contact .vein-wrap{display:none;}
.site-header--contact{
  position:fixed; inset:0 0 auto;
  z-index:50;
  padding:20px var(--gutter);
  background:linear-gradient(180deg, rgba(12,47,42,0.9) 0%, transparent 100%);
}
.contact-main{
  min-height:100dvh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:100px var(--gutter) 48px;
}
.contact-form-wrap{
  width:min(100%, 620px);
}
.contact-form-wrap__eyebrow{
  margin:0 0 10px;
  font-family:var(--utility);
  font-size:10px;
  letter-spacing:0.24em;
  text-transform:uppercase;
  color:var(--gold-light);
}
.contact-form-wrap__title{
  margin:0 0 12px;
  font-family:var(--display);
  font-weight:400;
  font-size:clamp(36px, 6vw, 48px);
  line-height:1.1;
  color:var(--ivory);
}
.contact-form-wrap__hint{
  margin:0 0 32px;
  font-size:16px;
  line-height:1.55;
  color:var(--ivory-dim);
}
.contact-form__grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0 clamp(12px, 2vw, 20px);
}
.contact-form__grid .field--full{grid-column:1 / -1;}
.contact-form .field{margin-bottom:22px;}
.contact-form .field label{
  display:block;
  font-family:var(--utility);
  font-size:10px;
  letter-spacing:0.2em;
  text-transform:uppercase;
  color:var(--ivory-faint);
  margin-bottom:8px;
}
.contact-form .field input,
.contact-form .field select,
.contact-form .field textarea{
  width:100%;
  background:rgba(239,234,220,0.04);
  border:1px solid var(--line);
  color:var(--ivory);
  font-family:var(--body);
  font-size:16px;
  padding:12px 14px;
  outline:none;
  border-radius:2px;
  transition:border-color .3s ease, background .3s ease;
}
.contact-form .field select{
  cursor:pointer;
  appearance:none;
  background-color:rgba(239,234,220,0.04);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23e1a730' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 14px center;
  padding-right:40px;
}
.contact-form .field select option{
  background:var(--stone);
  color:var(--ivory);
}
.contact-form .field input:focus,
.contact-form .field select:focus,
.contact-form .field textarea:focus{
  border-color:rgba(225,167,48,0.55);
  background:rgba(239,234,220,0.07);
}
.contact-form .field textarea{resize:vertical; min-height:120px;}
.contact-form__submit{margin-top:8px;}
.contact-form .form-note{
  margin-top:16px;
  font-family:var(--utility);
  font-size:12px;
  color:var(--gold-light);
  min-height:18px;
}

@media (max-width:560px){
  .contact-form__grid{grid-template-columns:1fr;}
}

/* ====================== POLÍTICAS (mismo layout que Contáctanos) ====================== */
.page-policy{
  min-height:100dvh;
  background:var(--stone);
}
.page-policy .policy-main{
  align-items:flex-start;
  padding-top:100px;
  padding-bottom:max(48px, env(safe-area-inset-bottom, 0px) + 32px);
}
.policy-wrap{
  width:min(100%, 720px);
}
.policy-updated{
  margin:0 0 28px;
  font-family:var(--utility);
  font-size:12px;
  letter-spacing:0.08em;
  color:var(--ivory-faint);
}
.policy-body{
  font-size:15px;
  line-height:1.72;
  color:var(--ivory-dim);
}
.policy-body > p{margin:0 0 18px;}
.policy-body h2{
  margin:34px 0 14px;
  font-family:var(--display);
  font-weight:400;
  font-size:clamp(22px, 4vw, 28px);
  line-height:1.25;
  color:var(--ivory);
}
.policy-body h3{
  margin:22px 0 10px;
  font-family:var(--utility);
  font-size:11px;
  letter-spacing:0.18em;
  text-transform:uppercase;
  color:var(--gold-light);
}
.policy-body ul,
.policy-body ol{
  margin:0 0 18px;
  padding-left:1.3rem;
}
.policy-body li{margin-bottom:8px;}
.policy-body li::marker{color:var(--gold);}
.policy-body a{
  color:var(--gold-light);
  text-decoration:underline;
  text-underline-offset:3px;
  transition:color .25s ease;
}
.policy-body a:hover{color:var(--gold);}

/* ====================== WHATSAPP FLOTANTE ====================== */
.whatsapp-float{
  position:fixed;
  right:clamp(16px, 3vw, 28px);
  bottom:clamp(20px, 4vh, 32px);
  z-index:50;
  width:56px;
  height:56px;
  border-radius:50%;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  background:
    radial-gradient(ellipse 85% 65% at 28% 22%, rgba(90, 200, 145, 0.42), transparent 58%),
    linear-gradient(155deg, #1a7a52 0%, var(--stone-3) 40%, var(--stone) 74%, var(--stone-2) 100%);
  border:1px solid rgba(90, 200, 145, 0.32);
  box-shadow:
    0 10px 26px rgba(0, 0, 0, 0.36),
    0 0 22px rgba(26, 122, 82, 0.34),
    inset 0 2px 5px rgba(255, 255, 255, 0.16),
    inset 0 -6px 12px rgba(0, 0, 0, 0.38);
  transition:transform .28s ease, box-shadow .28s ease, opacity .25s ease;
}
.whatsapp-float__label{
  position:absolute;
  right:calc(100% + 12px);
  top:50%;
  transform:translateY(-50%) translateX(10px);
  opacity:0;
  pointer-events:none;
  white-space:nowrap;
  padding:9px 14px;
  border-radius:999px;
  font-family:var(--utility);
  font-size:10px;
  letter-spacing:0.2em;
  text-transform:uppercase;
  color:var(--ivory);
  background:linear-gradient(155deg, var(--stone-3), var(--stone-2));
  border:1px solid rgba(90, 200, 145, 0.28);
  box-shadow:
    0 8px 20px rgba(0, 0, 0, 0.32),
    inset 0 1px 3px rgba(255, 255, 255, 0.08);
  transition:opacity .28s ease, transform .28s ease;
}
.whatsapp-float:hover .whatsapp-float__label,
.whatsapp-float:focus-visible .whatsapp-float__label,
.whatsapp-float:active .whatsapp-float__label{
  opacity:1;
  transform:translateY(-50%) translateX(0);
}
.whatsapp-float:hover{
  transform:scale(1.06) translateY(-2px);
  color:#fff;
  box-shadow:
    0 14px 32px rgba(0, 0, 0, 0.42),
    0 0 30px rgba(26, 122, 82, 0.48),
    inset 0 2px 6px rgba(255, 255, 255, 0.2),
    inset 0 -6px 12px rgba(0, 0, 0, 0.38);
}
.whatsapp-float svg{
  width:28px;
  height:28px;
  fill:currentColor;
  filter:drop-shadow(0 1px 2px rgba(0, 0, 0, 0.35));
}
body.menu-open .whatsapp-float{
  opacity:0;
  pointer-events:none;
}
@media (max-width:768px){
  .whatsapp-float{
    right:16px;
    bottom:max(20px, env(safe-area-inset-bottom, 0px) + 16px);
    width:52px;
    height:52px;
  }
  .whatsapp-float svg{width:26px; height:26px;}
  .whatsapp-float__label{
    display:none !important;
  }
}

/* ====================== MOBILE VIEWPORT 360–430px ====================== */
@media (max-width: 430px){
  :root{--gutter:16px;}

  body.has-slider,
  .page-about.has-slider,
  .page-shop.has-slider,
  .page-designer.has-slider,
  .page-cert.has-slider{
    height:100dvh;
    min-height:100dvh;
    max-height:100dvh;
    overflow:hidden;
  }

  #scenes > section,
  #about-scenes > .about-scene,
  #shop-scenes > .shop-scene,
  #designer-scenes > .designer-scene,
  #cert-scenes > .cert-scene{
    flex:0 0 100dvh;
    height:100dvh;
    min-height:100dvh;
    max-height:100dvh;
    padding-top:72px;
    padding-bottom:max(44px, env(safe-area-inset-bottom, 0px) + 36px);
    padding-left:var(--gutter);
    padding-right:var(--gutter);
    box-sizing:border-box;
  }
  #cert-scenes > #cert-footer.shop-scene--nav,
  #designer-scenes > #designer-footer.shop-scene--nav{
    padding-top:max(88px, env(safe-area-inset-top, 0px) + 76px);
    padding-bottom:max(52px, env(safe-area-inset-bottom, 0px) + 40px);
    justify-content:flex-start;
    overflow-y:auto;
    overflow-x:hidden;
    align-items:center;
  }
  #cert-scenes > #cert-footer.cert-scene:not(.shop-scene--nav),
  #designer-scenes > #designer-footer.designer-scene:not(.shop-scene--nav){
    padding-top:max(88px, env(safe-area-inset-top, 0px) + 76px);
    padding-bottom:max(52px, env(safe-area-inset-bottom, 0px) + 40px);
    justify-content:flex-start;
    overflow-y:auto;
    overflow-x:hidden;
    -webkit-overflow-scrolling:touch;
  }

  #scenes > .home-scene,
  #scenes > #inicio{
    padding-left:var(--gutter);
    padding-right:var(--gutter);
  }

  #inicio{
    justify-content:center;
    align-items:center;
    text-align:center;
    padding-top:clamp(4rem, 8vh, 5.5rem);
    padding-bottom:clamp(4rem, 8vh, 5.5rem);
  }
  .hero-content{
    display:flex;
    flex-direction:column;
    align-items:center;
    width:100%;
  }
  .hero-word{
    font-size:clamp(3.5rem, 17vw, 4.5rem);
    letter-spacing:0.1em;
    margin-bottom:0.75rem;
    text-align:center;
  }
  .hero-tagline{
    font-size:clamp(1.05rem, 4.8vw, 1.3rem);
    padding:0 8px;
    text-align:center;
  }
  .hero-sub{
    font-size:0.65rem;
    letter-spacing:0.22em;
    padding:0 12px;
    text-align:center;
  }

  .site-header{padding:14px var(--gutter);}
  .site-header.scrolled{padding-top:12px; padding-bottom:12px;}
  .wordmark-logo{height:34px;}
  .site-header__actions{right:var(--gutter); gap:12px;}
  .lang-switch{padding:4px;}
  .lang-switch__btn{font-size:11px; padding:7px 12px;}

  .site-footer-fixed{
    left:var(--gutter);
    right:var(--gutter);
    bottom:max(10px, env(safe-area-inset-bottom, 0px) + 8px);
    font-size:7px;
    letter-spacing:0.04em;
    line-height:1.35;
    max-width:calc(100% - 2 * var(--gutter));
  }
  body.home-at-inicio .site-footer-fixed{display:none;}

  .scroll-cue--fixed{
    bottom:max(18px, env(safe-area-inset-bottom, 0px) + 14px);
  }
  .scroll-cue{font-size:9px; letter-spacing:0.24em;}
  .scroll-cue .line{height:28px;}

  #scenes > #navegacion.about-scene--nav,
  #about-scenes > #about-nav.about-scene--nav,
  #shop-scenes > #shop-footer.about-scene--nav,
  #cert-scenes > #cert-footer.about-scene--nav,
  #designer-scenes > #designer-footer.about-scene--nav{
    padding:clamp(108px,18vh,124px) var(--gutter) clamp(72px,12vh,96px);
    min-height:100dvh;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    overflow-x:hidden;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
  }
  .index-list--split .index-list__row a{
    font-size:clamp(12px, 3.4vw, 14px);
    padding:13px 14px;
    letter-spacing:0.05em;
    line-height:1.3;
  }
  .index-hint{
    margin-bottom:20px;
    font-size:9px;
    letter-spacing:0.2em;
    padding:0 8px;
  }
  .index-quote{
    font-size:clamp(15px, 4.2vw, 18px);
    padding:0 12px;
    margin-bottom:12px;
  }

  .overlay-menu nav a{
    font-size:clamp(14px, 3.8vw, 17px);
    letter-spacing:0.1em;
  }
  .overlay-menu nav li{padding:7px 18px 7px 6px;}
  .overlay-social{margin-top:40px; gap:28px;}
  .overlay-social__icon{width:40px; height:40px;}
  .overlay-social__label{font-size:10px; letter-spacing:0.18em;}

  .shop-scene--hero .shop-hero-full__content{
    bottom:max(22px, env(safe-area-inset-bottom, 0px) + 18px);
  }
  .shop-hero-full__kicker-top{
    font-size:clamp(26px, 8.5vw, 36px);
    letter-spacing:0.1em;
  }
  .shop-hero-full__kicker-bottom{
    font-size:clamp(30px, 9.5vw, 44px);
  }
  .shop-hero-full__cta-block{gap:16px;}
  .shop-catalog-cta{
    font-size:9px;
    letter-spacing:0.16em;
    padding:13px 18px;
  }
  .shop-cat-panel__content{
    padding:10px 8px;
    gap:8px;
  }
  .shop-cat-panel__title{font-size:clamp(15px, 4.8vw, 20px);}
  .shop-cat-panel__tag{font-size:7px; letter-spacing:0.2em;}
  .shop-cat-panel__btn{
    font-size:8px;
    letter-spacing:0.18em;
    padding:9px 12px;
  }
  .shop-scene--footer .shop-footer-nav{
    padding:76px var(--gutter) max(48px, env(safe-area-inset-bottom, 0px) + 36px);
  }
  .shop-footer-nav .about-nav-list.index-list a{
    font-size:clamp(10px, 2.9vw, 13px);
    padding:11px 12px;
  }

  #about-scenes > .about-scene{
    padding-top:72px;
    padding-bottom:max(44px, env(safe-area-inset-bottom, 0px) + 36px);
    padding-left:var(--gutter);
    padding-right:var(--gutter);
    align-items:center;
    justify-content:center;
    overflow:hidden;
  }
  #about-scenes > #about-cadena.about-scene{
    overflow-y:auto;
    overflow-x:hidden;
    align-items:flex-start;
    justify-content:flex-start;
    -webkit-overflow-scrolling:touch;
  }
  #about-scenes > .about-scene .about-scene__inner{
    max-height:none;
    overflow:visible;
    width:100%;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
  }

  .about-scene--scroll .section-label,
  .about-scene--hero .eyebrow{
    font-size:9px;
    letter-spacing:0.24em;
    text-align:center;
    display:block;
  }
  .about-scene--scroll .section-heading,
  .about-scene--hero .section-heading{
    text-align:center;
    font-size:clamp(26px, 7.5vw, 32px);
    line-height:1.14;
    margin-bottom:10px;
  }
  .about-scene--scroll .body-text,
  .about-scene--hero .body-text{
    text-align:center;
    font-size:13px;
    line-height:1.58;
    margin-bottom:8px;
    max-width:36ch;
    margin-inline:auto;
  }

  .about-scene--hero{padding-left:var(--gutter); padding-right:var(--gutter);}
  .about-hero__inner{text-align:center; display:flex; flex-direction:column; align-items:center;}

  #about-historia.about-scene{padding-left:var(--gutter); padding-right:var(--gutter);}
  #about-historia .about-scene__inner{
    width:100%;
    align-items:center;
  }
  .about-historia-inner{
    width:100%;
    max-width:100%;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:18px;
    margin-inline:0;
  }
  .about-historia-copy{
    margin-left:0;
    max-width:100%;
    order:1;
    text-align:center;
    display:flex;
    flex-direction:column;
    align-items:center;
  }
  .about-historia-copy .section-heading{margin-bottom:10px;}
  .about-historia-copy .body-text{
    font-size:15px;
    line-height:1.6;
    max-width:36ch;
  }

  .about-subgallery--columns{
    order:2;
    width:min(100%, 360px);
    --subgallery-gap:6px;
    --subgallery-h:clamp(168px, 50vw, 208px);
    display:grid;
    grid-template-columns:calc(var(--subgallery-h) * 9 / 16) calc((var(--subgallery-h) - var(--subgallery-gap)) / 2);
    grid-template-rows:1fr 1fr;
    gap:var(--subgallery-gap);
    height:var(--subgallery-h);
    max-height:var(--subgallery-h);
    margin-left:auto;
    margin-right:auto;
    align-self:center;
    justify-self:center;
    justify-content:center;
    place-self:center;
  }
  .about-subgallery__slot--portrait{
    grid-column:1;
    grid-row:1 / -1;
    height:100%;
    width:100%;
    aspect-ratio:auto;
    max-height:none;
  }
  .about-subgallery__slot--sq{
    grid-column:2;
    width:100%;
    height:auto;
    aspect-ratio:1;
    max-height:calc((var(--subgallery-h) - var(--subgallery-gap)) / 2);
  }

  #about-marcas.about-scene{
    overflow:hidden;
    justify-content:center;
  }
  .about-marcas-inner{
    grid-template-columns:1fr;
    gap:14px;
    width:100%;
    align-items:center;
    justify-content:center;
  }
  .about-marcas-copy{
    text-align:center;
    display:flex;
    flex-direction:column;
    align-items:center;
  }
  .about-marcas-copy .body-text{max-width:34ch;}
  #about-marcas .brand-list{
    display:flex;
    flex-direction:row;
    justify-content:center;
    align-items:center;
    gap:clamp(10px, 4vw, 18px);
    width:100%;
    flex-wrap:nowrap;
  }
  #about-marcas .brand-row{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    grid-template-columns:unset;
    padding:0;
    margin:0;
    flex:1 1 0;
    min-width:0;
    border:none;
    background:none;
  }
  #about-marcas .brand-row__copy{display:none;}
  #about-marcas .brand-row__logo{
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    min-height:44px;
  }
  #about-marcas .brand-row__logo img{
    max-height:clamp(36px, 11vw, 52px);
    max-width:min(100%, 88px);
    width:auto;
    height:auto;
    object-fit:contain;
  }

  #about-cadena.about-scene{padding-left:var(--gutter); padding-right:var(--gutter);}
  .about-cadena-stage{
    transform:none;
    gap:10px;
    padding:0 0 12px;
    justify-content:flex-start;
    align-items:center;
    max-width:100%;
  }
  .about-cadena-head{
    text-align:center;
    width:100%;
  }
  .about-cadena-head__title{font-size:clamp(24px, 7vw, 30px);}
  #about-cadena .section-label{
    font-size:10px;
    letter-spacing:0.24em;
  }
  .value-orbit{
    padding:8px 0;
    flex:none;
    width:100%;
    align-items:center;
  }
  .value-orbit__line-wrap{
    width:min(100%, 380px);
    grid-template-columns:46px 1fr;
    padding-bottom:0;
  }
  .value-orbit__track{left:23px;}
  .value-orbit__points{padding:10px 0;}
  .value-orbit__trigger{
    grid-template-columns:46px 1fr;
    gap:14px;
    padding:13px 0;
  }
  .value-orbit__dot{
    width:17px;
    height:17px;
    border-width:2.5px;
  }
  .value-orbit__point.is-active .value-orbit__dot{
    transform:scale(1.2);
  }
  .value-orbit__label{
    font-size:10px;
    letter-spacing:0.12em;
    line-height:1.4;
    color:var(--ivory-dim);
  }
  .value-orbit__footer{
    width:100%;
    max-width:380px;
    margin-top:10px;
  }
  .value-orbit__readout{
    max-width:100%;
    padding:14px 16px;
    text-align:center;
  }
  .value-orbit__readout-num{font-size:11px; margin-bottom:5px;}
  .value-orbit__readout-title{
    font-size:clamp(18px, 5.2vw, 22px);
    line-height:1.2;
    margin-bottom:8px;
  }
  .value-orbit__readout-text{font-size:14px; line-height:1.55; max-width:36ch; margin-inline:auto;}
  .value-orbit__cta.shop-catalog-cta{
    font-size:10px;
    letter-spacing:0.16em;
    padding:12px 18px;
    margin-top:12px;
  }

  .about-tiendas-inner{
    text-align:center;
    align-items:center;
    max-width:100%;
    padding-inline:18px;
    gap:10px;
  }
  .about-tiendas-inner .section-label{
    font-size:11px;
    letter-spacing:0.18em;
  }
  .about-tiendas-inner .section-heading{
    font-size:clamp(22px, 6.5vw, 28px);
    line-height:1.15;
  }
  .about-tiendas-inner .body-text{
    font-size:13px;
    line-height:1.55;
    max-width:36ch;
    margin-inline:auto;
  }
  .about-tiendas-inner .cta-button,
  .about-tiendas-link{
    width:min(100%, 280px);
  }

  .designer-hero-full__content{
    bottom:max(24px, env(safe-area-inset-bottom, 0px) + 18px);
  }
  .designer-hero-full__kicker-top{font-size:clamp(20px, 5.8vw, 26px);}
  .designer-hero-full__kicker-bottom{font-size:clamp(26px, 7.5vw, 34px);}
  .designer-hero-full__tagline{font-size:9px; letter-spacing:0.18em;}

  .page-designer.has-slider #designer-scenes > .designer-scene--studio{
    overflow:hidden;
  }
  .designer-studio{
    grid-template-rows:minmax(120px, 24vh) minmax(0, 1fr);
    height:100%;
    min-height:0;
  }
  .designer-studio__viewport{
    max-height:24vh;
    min-height:0;
  }
  .designer-viewport__header{padding:10px 14px;}
  .designer-viewport__badge{font-size:8px; padding:4px 8px; letter-spacing:0.14em;}
  .designer-viewport__eyebrow{font-size:9px;}
  .designer-preview{
    width:min(72vw, 180px);
    aspect-ratio:1;
  }
  .designer-preview__placeholder{font-size:10px; padding:0 12px;}
  .designer-studio__panel{min-height:0;}
  .designer-chat__head{padding:12px 14px 8px;}
  .designer-chat__messages{padding:12px 14px;}
  .designer-chat__quick{
    padding:0 12px 8px;
    max-height:72px;
    overflow-y:auto;
  }
  .designer-chat__chip{padding:6px 10px; font-size:9px;}
  .designer-chat__form{padding:10px 12px 12px;}
  .designer-chat__form input{padding:10px 12px; font-size:12px;}
  .designer-panel__tab{padding:11px 10px; font-size:9px;}

  .cert-hero-full__kicker-top,
  .cert-hero-full__kicker-bottom{
    font-size:clamp(22px, 6.5vw, 30px);
  }
  .cert-hero-full__tagline{font-size:13px; margin-bottom:18px;}

  #cert-scenes > .cert-scene--hero{
    padding:0;
    overflow:hidden;
    align-items:stretch;
    justify-content:stretch;
  }
  #cert-scenes > .cert-scene--allies{
    overflow-y:auto;
    overflow-x:hidden;
    align-items:flex-start;
    justify-content:flex-start;
    -webkit-overflow-scrolling:touch;
  }
  #cert-scenes > .cert-scene--process{
    overflow-y:auto;
    overflow-x:hidden;
    align-items:center;
    justify-content:center;
    -webkit-overflow-scrolling:touch;
  }

  #cert-process .cert-process__media{display:none;}

  .cert-process__inner{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:14px;
    width:100%;
    max-width:100%;
    padding:0;
    margin:0;
  }

  .cert-allies__inner{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:18px;
    width:100%;
    max-width:100%;
    padding:0;
    margin:0;
  }

  .cert-process__copy{
    order:1;
    width:100%;
    text-align:center;
    display:flex;
    flex-direction:column;
    align-items:center;
  }

  .cert-allies__copy{
    order:1;
    width:100%;
    text-align:center;
    display:flex;
    flex-direction:column;
    align-items:center;
  }
  .cert-allies__media{
    order:2;
    width:min(100%, 360px);
    min-height:auto;
    border-width:8px;
    align-self:center;
  }

  .cert-allies__copy .section-label,
  .cert-process__copy .section-label{
    font-size:9px;
    letter-spacing:0.24em;
    text-align:center;
  }
  .cert-allies__copy .section-heading,
  .cert-process__copy .section-heading{
    text-align:center;
    font-size:clamp(26px, 7.5vw, 32px);
    line-height:1.14;
    margin-bottom:10px;
  }
  .cert-allies__copy .body-text,
  .cert-process__copy .body-text{
    text-align:center;
    font-size:15px;
    line-height:1.6;
    max-width:36ch;
    margin-inline:auto;
    margin-bottom:8px;
  }

  .cert-allies__media img,
  .cert-process__media img{
    min-height:clamp(140px, 42vw, 200px);
    height:auto;
    max-height:clamp(168px, 50vw, 208px);
    object-fit:cover;
  }

  .cert-process__criteria{
    width:100%;
    max-width:36ch;
    margin:12px auto 16px;
    text-align:left;
    gap:10px;
  }
  .cert-process__copy .section-heading{font-size:clamp(24px, 7vw, 30px);}
  .cert-process__criteria strong{font-size:9px;}
  .cert-process__criteria span{font-size:13px; line-height:1.5;}
  .cert-scene--process .shop-catalog-cta{
    font-size:9px;
    letter-spacing:0.16em;
    padding:11px 16px;
  }

  .contact-main{
    padding-top:84px;
    padding-bottom:max(32px, env(safe-area-inset-bottom, 0px) + 24px);
    align-items:flex-start;
  }
  .contact-form-wrap__title{font-size:clamp(28px, 8vw, 34px);}
  .contact-form-wrap__hint{font-size:14px; margin-bottom:24px;}

  .whatsapp-float{
    right:12px;
    bottom:max(16px, env(safe-area-inset-bottom, 0px) + 12px);
    width:48px;
    height:48px;
  }
}

/* PC: footer cert + diseñador igual que tienda virtual */
@media (min-width:881px){
  #cert-scenes > #cert-footer.about-scene--nav,
  #designer-scenes > #designer-footer.about-scene--nav{
    justify-content:center !important;
    align-items:center !important;
    overflow:hidden !important;
    padding:clamp(96px,11vh,118px) var(--gutter) clamp(72px,9vh,88px);
  }
  #cert-footer .nav-footer__curtain,
  #designer-footer .nav-footer__curtain{
    display:none !important;
  }
  .page-cert.has-slider #cert-footer.shop-scene--instant .about-scene__inner,
  .page-designer.has-slider #designer-footer.shop-scene--instant .about-scene__inner{
    opacity:1 !important;
    transform:none !important;
    transition:none !important;
  }
  .page-cert.has-slider #cert-footer.shop-scene--instant .about-scene__bg img,
  .page-designer.has-slider #designer-footer.shop-scene--instant .about-scene__bg img{
    opacity:1 !important;
    transform:scale(1.06) !important;
    filter:var(--nav-bg-filter) !important;
  }
}

/* Footer cert + diseñador — PC intacto; móvil con cortina verde como inicio */
@media (min-width:881px){
  #cert-footer .nav-footer__curtain,
  #designer-footer .nav-footer__curtain{
    display:none !important;
  }
}

@media (max-width:880px){
  #navegacion .nav-footer__curtain,
  #about-nav .nav-footer__curtain,
  #shop-footer .nav-footer__curtain,
  #cert-footer .nav-footer__curtain,
  #designer-footer .nav-footer__curtain{
    display:none !important;
  }

  /* Inicio móvil: última sección sin fade/reveal — solo el slide normal */
  body.has-slider #navegacion.about-scene--nav.is-active .about-scene__bg img,
  body.has-slider #navegacion.about-scene--nav.is-active .about-scene__veil,
  body.has-slider #navegacion.about-scene--nav.is-active .about-scene__inner,
  body.has-slider #navegacion.about-scene--nav.is-active .about-nav-inner{
    opacity:1 !important;
    transform:none !important;
    transition:none !important;
  }
  body.has-slider #navegacion.about-scene--nav.is-active .about-scene__bg img{
    transform:scale(1.06) !important;
  }

  /* Última sección: visible de una vez al llegar (sin cortina verde) */
  body.has-slider #navegacion.is-active.shop-scene--instant .about-scene__inner,
  body.has-slider #navegacion.is-revealed.shop-scene--instant .about-scene__inner,
  .page-about.has-slider #about-nav.is-active.shop-scene--instant .about-scene__inner,
  .page-about.has-slider #about-nav.is-revealed.shop-scene--instant .about-scene__inner,
  .page-shop.has-slider #shop-footer.is-active.shop-scene--instant .about-scene__inner,
  .page-shop.has-slider #shop-footer.is-revealed.shop-scene--instant .about-scene__inner,
  .page-cert.has-slider #cert-footer.is-active.shop-scene--instant .about-scene__inner,
  .page-cert.has-slider #cert-footer.is-revealed.shop-scene--instant .about-scene__inner,
  .page-designer.has-slider #designer-footer.is-active.shop-scene--instant .about-scene__inner,
  .page-designer.has-slider #designer-footer.is-revealed.shop-scene--instant .about-scene__inner,
  #navegacion.is-active .about-nav-inner,
  #navegacion.is-revealed .about-nav-inner,
  #about-nav.is-active .about-nav-inner,
  #about-nav.is-revealed .about-nav-inner,
  #shop-footer.is-active .about-nav-inner,
  #shop-footer.is-revealed .about-nav-inner,
  #cert-footer.is-active .about-nav-inner,
  #cert-footer.is-revealed .about-nav-inner,
  #designer-footer.is-active .about-nav-inner,
  #designer-footer.is-revealed .about-nav-inner{
    opacity:1 !important;
    transform:none !important;
    transition:none !important;
  }

  #navegacion.is-active .about-scene__bg img,
  #navegacion.is-revealed .about-scene__bg img,
  #about-nav.is-active .about-scene__bg img,
  #about-nav.is-revealed .about-scene__bg img,
  #shop-footer.is-active .about-scene__bg img,
  #shop-footer.is-revealed .about-scene__bg img,
  #shop-footer.is-active .shop-scene__bg img,
  #shop-footer.is-revealed .shop-scene__bg img,
  #cert-footer.is-active .about-scene__bg img,
  #cert-footer.is-revealed .about-scene__bg img,
  #cert-footer.is-active .cert-scene__bg img,
  #cert-footer.is-revealed .cert-scene__bg img,
  #designer-footer.is-active .about-scene__bg img,
  #designer-footer.is-revealed .about-scene__bg img,
  #designer-footer.is-active .designer-scene__bg img,
  #designer-footer.is-revealed .designer-scene__bg img,
  body.has-slider #navegacion.is-active .about-scene__bg img,
  body.has-slider #navegacion.is-revealed .about-scene__bg img,
  .page-about.has-slider #about-nav.is-active .about-scene__bg img,
  .page-about.has-slider #about-nav.is-revealed .about-scene__bg img,
  .page-shop.has-slider #shop-footer.is-active .about-scene__bg img,
  .page-shop.has-slider #shop-footer.is-revealed .about-scene__bg img,
  .page-cert.has-slider #cert-footer.is-active .about-scene__bg img,
  .page-cert.has-slider #cert-footer.is-revealed .about-scene__bg img,
  .page-designer.has-slider #designer-footer.is-active .about-scene__bg img,
  .page-designer.has-slider #designer-footer.is-revealed .about-scene__bg img{
    opacity:1 !important;
    transform:scale(1.06) !important;
    filter:var(--nav-bg-filter) !important;
    transition:none !important;
  }

  #navegacion.is-active .about-scene__veil,
  #navegacion.is-revealed .about-scene__veil,
  #about-nav.is-active .about-scene__veil,
  #about-nav.is-revealed .about-scene__veil,
  #shop-footer.is-active .about-scene__veil,
  #shop-footer.is-revealed .about-scene__veil,
  #cert-footer.is-active .about-scene__veil,
  #cert-footer.is-revealed .about-scene__veil,
  #designer-footer.is-active .about-scene__veil,
  #designer-footer.is-revealed .about-scene__veil{
    opacity:1 !important;
    background:var(--nav-veil);
    transition:none !important;
  }

  #scenes > #navegacion.about-scene--nav,
  #about-scenes > #about-nav.about-scene--nav,
  #shop-scenes > #shop-footer.about-scene--nav,
  #cert-scenes > #cert-footer.about-scene--nav,
  #designer-scenes > #designer-footer.about-scene--nav{
    flex-direction:column;
    justify-content:center;
    align-items:center;
    text-align:center;
    padding:clamp(108px,18vh,124px) var(--gutter) clamp(72px,12vh,96px);
    min-height:100dvh;
    height:100dvh;
    overflow-x:hidden;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    box-sizing:border-box;
  }

  #navegacion .about-nav-list.index-list,
  #about-nav .about-nav-list.index-list,
  #shop-footer .about-nav-list.index-list,
  #cert-footer .about-nav-list.index-list,
  #designer-footer .about-nav-list.index-list{
    margin-top:clamp(10px,2.8vh,20px);
  }

  #navegacion .about-nav-list.index-list a,
  #about-nav .about-nav-list.index-list a,
  #shop-footer .about-nav-list.index-list a,
  #cert-footer .about-nav-list.index-list a,
  #designer-footer .about-nav-list.index-list a{
    font-size:clamp(10px,2.9vw,12px);
    padding:11px 10px;
    letter-spacing:0.04em;
    line-height:1.35;
  }

  #navegacion .about-scene__inner,
  #about-nav .about-scene__inner,
  #shop-footer .about-scene__inner,
  #cert-footer .about-scene__inner,
  #designer-footer .about-scene__inner,
  #navegacion .about-nav-inner,
  #about-nav .about-nav-inner,
  #shop-footer .about-nav-inner,
  #cert-footer .about-nav-inner,
  #designer-footer .about-nav-inner{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    width:100%;
    max-width:min(1080px,100%);
    margin:0 auto;
    max-height:none;
    overflow:visible;
    flex-shrink:0;
  }

  #navegacion .index-list--split .index-list__row,
  #about-nav .index-list--split .index-list__row,
  #shop-footer .index-list--split .index-list__row,
  #cert-footer .index-list--split .index-list__row,
  #designer-footer .index-list--split .index-list__row,
  #navegacion .index-list--split .index-list__row--bottom,
  #about-nav .index-list--split .index-list__row--bottom,
  #shop-footer .index-list--split .index-list__row--bottom,
  #cert-footer .index-list--split .index-list__row--bottom,
  #designer-footer .index-list--split .index-list__row--bottom{
    flex-direction:column;
    max-width:100%;
    width:100%;
  }

  #navegacion .index-list--split .index-list__row--bottom,
  #about-nav .index-list--split .index-list__row--bottom,
  #shop-footer .index-list--split .index-list__row--bottom,
  #cert-footer .index-list--split .index-list__row--bottom,
  #designer-footer .index-list--split .index-list__row--bottom{
    border-top:none;
  }

  #navegacion .index-list--split .index-list__row a,
  #about-nav .index-list--split .index-list__row a,
  #shop-footer .index-list--split .index-list__row a,
  #cert-footer .index-list--split .index-list__row a,
  #designer-footer .index-list--split .index-list__row a{
    border-left:none;
    border-top:1px solid var(--line);
  }

  #navegacion .index-list--split .index-list__row:first-child a:first-child,
  #about-nav .index-list--split .index-list__row:first-child a:first-child,
  #shop-footer .index-list--split .index-list__row:first-child a:first-child,
  #cert-footer .index-list--split .index-list__row:first-child a:first-child,
  #designer-footer .index-list--split .index-list__row:first-child a:first-child{
    border-top:none;
  }

  #navegacion .index-list a[aria-current="page"],
  #about-nav .index-list a[aria-current="page"],
  #shop-footer .index-list a[aria-current="page"],
  #cert-footer .index-list a[aria-current="page"],
  #designer-footer .index-list a[aria-current="page"]{
    color:var(--gold);
  }

  #navegacion .index-hint,
  #about-nav .index-hint,
  #shop-footer .index-hint,
  #cert-footer .index-hint,
  #designer-footer .index-hint{
    margin-bottom:20px;
    font-size:9px;
    letter-spacing:0.2em;
    padding:0 8px;
  }

  #navegacion .index-quote,
  #about-nav .index-quote,
  #shop-footer .index-quote,
  #cert-footer .index-quote,
  #designer-footer .index-quote{
    font-size:clamp(15px,4.2vw,18px);
    padding:0 12px;
    margin-bottom:12px;
  }

  #navegacion .about-policies,
  #about-nav .about-policies,
  #shop-footer .about-policies,
  #cert-footer .about-policies,
  #designer-footer .about-policies{
    display:block;
    width:100%;
    margin-top:clamp(20px,3vh,28px);
  }

  #navegacion .about-footer-note,
  #about-nav .about-footer-note,
  #shop-footer .about-footer-note,
  #cert-footer .about-footer-note,
  #designer-footer .about-footer-note{
    display:block;
    margin-top:clamp(20px,3vh,28px);
  }

  .page-shop.has-slider #shop-footer:not(.is-revealed):not(.is-active) .about-scene__inner,
  .page-shop.has-slider #shop-footer:not(.is-revealed):not(.is-active) .about-nav-inner,
  .page-cert.has-slider #cert-footer:not(.is-revealed):not(.is-active) .about-scene__inner,
  .page-cert.has-slider #cert-footer:not(.is-revealed):not(.is-active) .about-nav-inner,
  .page-designer.has-slider #designer-footer:not(.is-revealed):not(.is-active) .about-scene__inner,
  .page-designer.has-slider #designer-footer:not(.is-revealed):not(.is-active) .about-nav-inner{
    opacity:0 !important;
    transform:none !important;
    transition:none !important;
  }
}
