 /* =========================================
       VARIABLES GLOBALES
    ========================================= */
    :root{
      --bg:#070707;
      --bg-soft:#0d0d0d;
      --panel:#111111;
      --panel-2:#151515;
      --stroke:rgba(212,175,55,.18);
      --stroke-strong:rgba(212,175,55,.35);

      --gold:#d4af37;
      --gold-soft:#f1d67a;
      --gold-deep:#8b6b14;
      --gold-glow:rgba(212,175,55,.30);

      --white:#f8f6f1;
      --text:#eae7df;
      --muted:#b9b4a7;

      --shadow:0 18px 60px rgba(0,0,0,.45);
      --radius-lg:24px;
      --radius-md:18px;
      --radius-sm:14px;

      --container:1200px;
      --transition:all .35s ease;
    }

    /* =========================================
       RESET BÁSICO
    ========================================= */
    *{
      margin:0;
      padding:0;
      box-sizing:border-box;
    }

    html{
      scroll-behavior:smooth;
    }

    body{
      font-family:'Inter', sans-serif;
      background:
        radial-gradient(circle at top, rgba(212,175,55,.08), transparent 30%),
        linear-gradient(180deg, #050505 0%, #090909 35%, #060606 100%);
      color:var(--text);
      overflow-x:hidden;
    }

    img{
      max-width:100%;
      display:block;
    }

    a{
      text-decoration:none;
      color:inherit;
    }

    ul{
      list-style:none;
    }

    .container{
      width:min(100% - 32px, var(--container));
      margin-inline:auto;
    }

    /* =========================================
       EFECTOS DECORATIVOS GLOBALES
    ========================================= */
    .gold-blur{
      position:absolute;
      border-radius:999px;
      filter:blur(90px);
      pointer-events:none;
      z-index:0;
      opacity:.55;
      background:radial-gradient(circle, rgba(212,175,55,.28) 0%, rgba(212,175,55,0) 70%);
    }

    .section-title{
      font-family:'Cormorant Garamond', serif;
      font-size:clamp(2.1rem, 4vw, 4rem);
      line-height:1;
      letter-spacing:.4px;
      margin-bottom:14px;
      color:var(--white);
    }

    .section-subtitle{
      max-width:700px;
      color:var(--muted);
      font-size:1rem;
      line-height:1.8;
    }

    .section-head{
      text-align:center;
      margin-bottom:60px;
    }

    .eyebrow{
      display:inline-flex;
      align-items:center;
      gap:10px;
      margin-bottom:16px;
      padding:8px 16px;
      border:1px solid var(--stroke);
      border-radius:999px;
      color:var(--gold-soft);
      background:rgba(212,175,55,.06);
      font-size:.86rem;
      letter-spacing:.12em;
      text-transform:uppercase;
    }

    .eyebrow::before{
      content:"";
      width:8px;
      height:8px;
      border-radius:50%;
      background:linear-gradient(135deg, var(--gold-soft), var(--gold));
      box-shadow:0 0 14px rgba(212,175,55,.7);
    }

    /* =========================================
       BOTONES
    ========================================= */
    .btn{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:10px;
      padding:14px 22px;
      border-radius:999px;
      border:1px solid transparent;
      font-weight:600;
      transition:var(--transition);
      cursor:pointer;
      position:relative;
      overflow:hidden;
    }

    .btn-gold{
      color:#111;
      background:linear-gradient(135deg, #f8e08d 0%, #d4af37 45%, #b88b16 100%);
      box-shadow:
        0 10px 30px rgba(212,175,55,.22),
        inset 0 1px 0 rgba(255,255,255,.35);
    }

    .btn-gold:hover{
      transform:translateY(-3px);
      box-shadow:
        0 16px 40px rgba(212,175,55,.28),
        inset 0 1px 0 rgba(255,255,255,.4);
    }

    .btn-outline{
      color:var(--white);
      border-color:var(--stroke-strong);
      background:rgba(255,255,255,.02);
      backdrop-filter:blur(10px);
    }

    .btn-outline:hover{
      border-color:rgba(212,175,55,.6);
      color:var(--gold-soft);
      transform:translateY(-3px);
      background:rgba(212,175,55,.06);
    }

   /* =========================================
   NAVBAR
========================================= */
/* =========================================
   NAVBAR FLOTANTE / TRANSPARENTE
========================================= */
/* =========================================
   NAVBAR FLOTANTE / TRANSPARENTE
========================================= */
/* =========================================
   NAVBAR FLOTANTE / TRANSPARENTE
========================================= */
/* =========================================
   NAVBAR BASE
========================================= */
.site-header{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  z-index:1000;
  background:transparent;
  transition:.35s ease;
}

.site-header.scrolled{
  position:fixed;
  background:rgba(0,0,0,.65);
  backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(220,171,94,.15);
}

/* =========================================
   LAYOUT DESKTOP
========================================= */
.navbar-shell{
  width:100%;
  min-height:96px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:22px 34px;
}

/* LOGO */
.logo{
  display:flex;
  align-items:center;
}

.logo img,
.logo-img{
  height:60px;
  width:auto;
  max-width:170px;
  object-fit:contain;
}

/* MENU */
.nav-center{
  display:flex;
  justify-content:center;
  align-items:center;
}

.nav-links{
  display:flex;
  gap:36px;
  list-style:none;
  margin:0;
  padding:0;
}

.nav-links a{
  color:rgba(255,255,255,.82);
  font-size:.98rem;
  text-decoration:none;
  position:relative;
  transition:.25s ease;
}

.nav-links a::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-8px;
  width:0;
  height:1px;
  background:#dcab5e;
  transition:.25s ease;
}

.nav-links a:hover{
  color:#dcab5e;
}

.nav-links a:hover::after{
  width:100%;
}

/* IDIOMA */
.nav-cta{
  display:flex;
  align-items:center;
}

.lang-switch{
  display:flex;
  align-items:center;
  gap:10px;
  height:50px;
  padding:0 14px;
  border-radius:999px;
  border:1px solid rgba(220,171,94,.25);
  background:rgba(0,0,0,.25);
  backdrop-filter:blur(8px);
  color:#fff;
  cursor:pointer;
}

.flag-icon{
  width:30px;
  height:30px;
  border-radius:50%;
  object-fit:cover;
}

/* HAMBURGUESA */
.nav-toggle{
  display:none;
}

/* OVERLAY */
.nav-overlay{
  display:none;
}


/* =========================================
   HERO FRAME STYLE
========================================= */

/* =========================================
   HERO FRAME STYLE
========================================= */
/* =========================================
   HERO NUEVO AJUSTADO
========================================= */
.hero-luxury-new{
  position:relative;
  min-height:calc(100vh - 86px);
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:28px 0 18px;
  isolation:isolate;

  background:
    radial-gradient(circle at 50% 16%, rgba(220,171,94,.05), transparent 22%),
    radial-gradient(circle at 50% 68%, rgba(255,255,255,.02), transparent 28%),
    linear-gradient(180deg, #020202 0%, #050505 52%, #020202 100%);
}

.hero-luxury-new::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    repeating-linear-gradient(
      45deg,
      rgba(255,255,255,.010) 0px,
      rgba(255,255,255,.010) 2px,
      transparent 2px,
      transparent 18px
    );
  opacity:.38;
  pointer-events:none;
  z-index:0;
}

.hero-glow{
  position:absolute;
  inset:auto 50% 16%;
  transform:translateX(-50%);
  width:760px;
  height:340px;
  border-radius:50%;
  background:radial-gradient(
    circle,
    rgba(220,171,94,.11) 0%,
    rgba(220,171,94,.035) 38%,
    transparent 74%
  );
  filter:blur(26px);
  z-index:0;
  pointer-events:none;
}

.hero-particles{
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:1;
  overflow:hidden;
}

.particle{
  position:absolute;
  width:4px;
  height:4px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(255,245,220,.95) 0%, rgba(220,171,94,.82) 48%, transparent 100%);
  box-shadow:
    0 0 8px rgba(220,171,94,.24),
    0 0 16px rgba(220,171,94,.10);
  animation:floatParticle linear infinite;
  opacity:.68;
}

.particle:nth-child(1){ left:8%; top:78%; animation-duration:12s; animation-delay:-2s; }
.particle:nth-child(2){ left:16%; top:58%; animation-duration:10s; animation-delay:-4s; }
.particle:nth-child(3){ left:24%; top:28%; animation-duration:14s; animation-delay:-1s; }
.particle:nth-child(4){ left:76%; top:74%; animation-duration:11s; animation-delay:-5s; }
.particle:nth-child(5){ left:84%; top:56%; animation-duration:13s; animation-delay:-3s; }
.particle:nth-child(6){ left:92%; top:26%; animation-duration:15s; animation-delay:-6s; }
.particle:nth-child(7){ left:42%; top:82%; animation-duration:12s; animation-delay:-7s; }
.particle:nth-child(8){ left:58%; top:18%; animation-duration:16s; animation-delay:-2s; }

.hero-grid{
  position:relative;
  z-index:2;
  width:100%;
  min-height:740px;
  display:grid;
  grid-template-columns:1fr minmax(320px, 620px) 1fr;
  align-items:end;
  gap:20px;
}

.hero-side{
  position:relative;
  min-height:640px;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  perspective:1400px;
  perspective-origin:center center;
}

.hero-center{
  position:relative;
  min-height:740px;
  display:flex;
  align-items:flex-end;
  justify-content:center;
}

/* =========================================
   LINEAS + TEXTOS
========================================= */
.hero-side-line{
  position:absolute;
  top:59%;
  transform:translateY(-50%);
  width:2px;
  height:360px;
  background:linear-gradient(
    180deg,
    transparent,
    rgba(220,171,94,.12),
    rgba(220,171,94,.34),
    rgba(255,236,196,.58),
    rgba(220,171,94,.30),
    rgba(220,171,94,.12),
    transparent
  );
  box-shadow:
    0 0 8px rgba(220,171,94,.10),
    0 0 18px rgba(220,171,94,.07);
  z-index:3;
  pointer-events:none;
}

.hero-side.left .hero-side-line{ right:-14px; }
.hero-side.right .hero-side-line{ left:-14px; }

/* TEXTO MÁS GRANDE Y MÁS AFUERA */
.hero-side-note{
  position:absolute;
  top:71%;
  color:rgba(220,171,94,.60); /* un pelín más visible */
  font-size:.78rem; /* antes .70rem */
  letter-spacing:.22em;
  text-transform:uppercase;
  white-space:nowrap;
  text-shadow:
    0 0 6px rgba(220,171,94,.14),
    0 0 12px rgba(220,171,94,.06);
  z-index:2;
  pointer-events:none;
}

/* IZQUIERDA → más afuera */
.hero-side.left .hero-side-note{
  right:68%;
  transform:translate(50%, -50%) rotate(-90deg);
  transform-origin:center;
}

/* DERECHA → más afuera */
.hero-side.right .hero-side-note{
  left:68%;
  transform:translate(-50%, -50%) rotate(90deg);
  transform-origin:center;
}

/* =========================================
   ORBITS
========================================= */
.side-orbit-scene{
  position:absolute;
  top:88px;
  left:50%;
  transform:translateX(-50%);
  width:280px;
  height:280px;
  z-index:4;
  pointer-events:none;
  transform-style:preserve-3d;
}

/* más hacia los laterales */
.hero-side.left .side-orbit-scene{
  transform:translateX(-65%);
}

.hero-side.right .side-orbit-scene{
  transform:translateX(-35%);
}

.side-orbit-scene::before{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:192px;
  height:192px;
  transform:translate(-50%,-50%);
  border-radius:50%;
  background:radial-gradient(circle, rgba(220,171,94,.08), transparent 70%);
  filter:blur(12px);
  z-index:0;
}

.side-orbit-scene::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:192px;
  height:192px;
  transform:translate(-50%,-50%);
  border-radius:50%;
  border:1px solid rgba(220,171,94,.08);
  box-shadow:
    inset 0 0 14px rgba(220,171,94,.04),
    0 0 18px rgba(220,171,94,.04);
  z-index:0;
}

.side-orbit-ring{
  position:absolute;
  inset:0;
  transform-style:preserve-3d;
  animation:orbitSpin 15s linear infinite;
  z-index:2;
}

.hero-side.right .side-orbit-ring{
  animation-duration:17s;
  animation-direction:reverse;
}

/* anillo más cerrado */
.side-orbit-card{
  position:absolute;
  top:50%;
  left:50%;
  width:108px;
  height:108px;
  margin-left:-54px;
  margin-top:-54px;
  transform-style:preserve-3d;
  transform:
    rotateY(calc((var(--i) - 1) * 90deg))
    translateZ(116px); /* antes 130px */
  backface-visibility:hidden;
}

/* imágenes un poco más presentes */
.side-orbit-card img{
  width:100%;
  height:100%;
  object-fit:contain;
  background:transparent;
  filter:
    drop-shadow(0 14px 22px rgba(0,0,0,.30))
    drop-shadow(0 0 14px rgba(220,171,94,.12));
  backface-visibility:hidden;
}

/* =========================================
   CENTRO
========================================= */
.hero-title-top{
  position:absolute;
  left:50%;
  top:126px;
  transform:translateX(calc(-50% - 90px));
  z-index:7;
  width:100%;
  text-align:center;
  padding:0 14px;
  pointer-events:none;
}

.hero-title-top::before{
  content:"";
  position:absolute;
  left:50%;
  top:-16px;
  transform:translateX(calc(-50% + 90px));
  width:min(330px, 48vw);
  height:2px;
  background:linear-gradient(
    90deg,
    transparent,
    rgba(220,171,94,.18),
    rgba(255,236,196,.62),
    rgba(220,171,94,.22),
    transparent
  );
  box-shadow:
    0 0 6px rgba(220,171,94,.10),
    0 0 14px rgba(220,171,94,.06);
  border-radius:999px;
}

.hero-model-wrap{
  position:absolute;
  left:50%;
  bottom:1px; /* antes 80px */
  transform:translateX(-50%);
  width:min(450px, 88%);
  z-index:4;
  pointer-events:none;
}

.hero-model-wrap::before{
  content:"";
  position:absolute;
  left:50%;
  bottom:16px;
  transform:translateX(-50%);
  width:350px;
  height:110px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(220,171,94,.12), rgba(220,171,94,.025) 45%, transparent 72%);
  filter:blur(24px);
  opacity:.72;
  z-index:0;
}

.hero-model{
  position:relative;
  z-index:2;
  width:100%;
  filter:
    drop-shadow(0 18px 30px rgba(0,0,0,.30))
    drop-shadow(0 32px 72px rgba(0,0,0,.14));
}

.hero-title{
  font-family:'Cormorant Garamond', serif;
  font-size:clamp(2.25rem,4.7vw,4.5rem);
  line-height:1.02;
  letter-spacing:.16em;
  text-transform:uppercase;
  font-weight:400;
  color:rgba(255,255,255,.76);
  text-align:center;
  white-space:nowrap;
  text-shadow:0 2px 14px rgba(0,0,0,.22);
}

.hero-title .gold-char{
  font-family:'Poppins',sans-serif;
  background:linear-gradient(
    180deg,
    #fff3d3 0%,
    #f0d18c 28%,
    #dcab5e 58%,
    #b98740 84%,
    #fff2cf 100%
  );
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  text-shadow:
    0 0 6px rgba(220,171,94,.18),
    0 0 12px rgba(220,171,94,.08),
    0 2px 6px rgba(0,0,0,.28);
}

/* =========================================
   BOTONES
========================================= */
.hero-btn{
  min-width:220px;
  min-height:50px;
  padding:0 26px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(220,171,94,.30);
  font-size:.82rem;
  letter-spacing:.20em;
  text-transform:uppercase;
  font-weight:700;
  transition:.32s ease;
  backdrop-filter:blur(10px);
  white-space:nowrap;
}

.hero-btn.primary{
  background:linear-gradient(
    180deg,
    #fff2cc 0%,
    #f0ce84 24%,
    #dcab5e 58%,
    #b98740 100%
  );
  color:#1b1b1b;
  border-color:transparent;
  box-shadow:
    0 10px 22px rgba(220,171,94,.16),
    inset 0 1px 0 rgba(255,255,255,.30);
}

.hero-btn.primary:hover{
  transform:translateY(-3px);
  box-shadow:
    0 16px 30px rgba(220,171,94,.22),
    inset 0 1px 0 rgba(255,255,255,.38);
}





.hero-actions-center{
  position:absolute;
  left:50%;
  bottom:34px;
  transform:translateX(-50%);
  display:flex;
  justify-content:center;
  align-items:center;
  gap:0;
  z-index:7;
  flex-wrap:nowrap;
  width:max-content;
  max-width:100%;
}

.hero-actions-center .hero-btn{
  border-radius:0;
}

.hero-actions-center .hero-btn.primary{
  margin-right:-1px;
}


/* =========================================
   BOTONES HERO AJUSTADOS
========================================= */
.hero-btn{
  position: relative;
  overflow: hidden;
  min-width:220px;
  min-height:50px;
  padding:0 26px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(220,171,94,.30);
  font-size:.82rem;
  letter-spacing:.20em;
  text-transform:uppercase;
  font-weight:700;
  white-space:nowrap;
  text-decoration:none;
  border-radius:0;

  transition:
    transform .28s ease,
    box-shadow .28s ease,
    border-color .28s ease,
    background .28s ease,
    color .28s ease;

  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}

/* brillo sutil decorativo */
.hero-btn::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(
    120deg,
    transparent 0%,
    rgba(255,255,255,.10) 18%,
    rgba(255,255,255,.22) 30%,
    transparent 46%
  );
  transform:translateX(-130%);
  transition:transform .7s ease;
  pointer-events:none;
}

.hero-btn:hover::after{
  transform:translateX(130%);
}

.hero-btn.primary{
  background:linear-gradient(
    180deg,
    #fff2cc 0%,
    #f0ce84 24%,
    #dcab5e 58%,
    #b98740 100%
  );
  color:#1b1b1b;
  border-color:rgba(255,236,196,.18);
  box-shadow:
    0 10px 22px rgba(220,171,94,.16),
    0 0 0 1px rgba(255,236,196,.06) inset,
    inset 0 1px 0 rgba(255,255,255,.30);
}




/* hover elegante, sin ponerlos lavados */
.hero-btn.primary:hover,
.hero-btn.secondary:hover{
  transform:translateY(-2px) scale(1.025);
}

/* dorado sutil en hover */
.hero-btn.primary:hover{
  box-shadow:
    0 16px 34px rgba(220,171,94,.24),
    0 0 18px rgba(220,171,94,.12),
    0 0 32px rgba(220,171,94,.08),
    inset 0 1px 0 rgba(255,255,255,.34);
}



.hero-btn.primary:active,
.hero-btn.secondary:active{
  transform:translateY(0) scale(.99);
}

.hero-actions-center{
  position:absolute;
  left:50%;
  bottom:34px;
  transform:translateX(-50%);
  display:flex;
  justify-content:center;
  align-items:center;
  gap:0;
  z-index:7;
  flex-wrap:nowrap;
  width:max-content;
  max-width:100%;
}

.hero-actions-center .hero-btn.primary{
  margin-right:-1px;
}


/* =========================================
   ANIMACIONES
========================================= */
@keyframes orbitSpin{
  from{ transform:rotateX(-24deg) rotateY(0deg); }
  to{ transform:rotateX(-24deg) rotateY(360deg); }
}

@keyframes floatParticle{
  0%{ transform:translateY(0px); opacity:0; }
  15%{ opacity:.55; }
  50%{ opacity:.82; }
  100%{ transform:translateY(-180px); opacity:0; }
}


/* =========================================
   ANIMACIONES ENTRADA HERO
========================================= */
/* =========================================
   HERO ENTRADA CINEMÁTICA
   ✅ respeta posiciones originales
========================================= */

/* estados iniciales */
.hero-luxury-new .hero-glow,
.hero-luxury-new .hero-particles,
.hero-luxury-new .hero-title-top,
.hero-luxury-new .hero-title,
.hero-luxury-new .hero-side.left,
.hero-luxury-new .hero-side.right,
.hero-luxury-new .hero-side-line,
.hero-luxury-new .hero-side-note,
.hero-luxury-new .side-orbit-scene,
.hero-luxury-new .hero-model-wrap,
.hero-luxury-new .hero-actions-center,
.hero-luxury-new .hero-actions-center .hero-btn{
  opacity: 0;
}

/* título */
.hero-luxury-new .hero-title{
  transform: translateY(22px);
  filter: blur(8px);
}

/* línea superior del título
   respeta su transform original del CSS base */
.hero-luxury-new .hero-title-top::before{
  opacity: 0;
}

/* laterales completos */
.hero-luxury-new .hero-side.left{
  transform: translateX(-22px);
  filter: blur(8px);
}

.hero-luxury-new .hero-side.right{
  transform: translateX(22px);
  filter: blur(8px);
}

/* orbits: mantener sus posiciones reales */
.hero-luxury-new .hero-side.left .side-orbit-scene{
  opacity: 0;
  transform: translateX(-65%);
  filter: blur(10px);
}

.hero-luxury-new .hero-side.right .side-orbit-scene{
  opacity: 0;
  transform: translateX(-35%);
  filter: blur(10px);
}

/* modelo: MISMA posición original */
.hero-luxury-new .hero-model-wrap{
  transform: translateX(-50%);
  filter: blur(10px);
}

/* botones: MISMA posición original */
.hero-luxury-new .hero-actions-center{
  transform: translateX(-50%);
}

.hero-luxury-new .hero-actions-center .hero-btn{
  transform: translateY(14px);
  
}

/* partículas */
.hero-luxury-new .particle{
  opacity: 0;
}

/* =========================================
   DISPARO DE ANIMACIONES (SUAVE + LENTO)
========================================= */

.hero-luxury-new.hero-animate .hero-glow{
  animation: heroGlowInFixed 1.6s cubic-bezier(.22,.61,.36,1) forwards;
  animation-delay: .2s;
}

.hero-luxury-new.hero-animate .hero-particles{
  animation: fadeOnly 1.1s ease forwards;
  animation-delay: .4s;
}

.hero-luxury-new.hero-animate .particle{
  animation-name: particleRevealFixed, floatParticle;
  animation-duration: 1.2s, 12s;
  animation-delay: .6s, 1.4s;
  animation-timing-function: ease, linear;
  animation-fill-mode: forwards, none;
  animation-iteration-count: 1, infinite;
}

/* TÍTULO */
.hero-luxury-new.hero-animate .hero-title-top{
  animation: fadeOnly .8s ease forwards;
  animation-delay: .6s;
}

.hero-luxury-new.hero-animate .hero-title-top::before{
  animation: lineFadeOnly 1.1s ease forwards;
  animation-delay: .7s;
}

.hero-luxury-new.hero-animate .hero-title{
  animation: titleRevealFixed 1.4s cubic-bezier(.22,.61,.36,1) forwards;
  animation-delay: .9s;
}

/* LADO IZQUIERDO */
.hero-luxury-new.hero-animate .hero-side.left{
  animation: sideEnterLeftFixed 1.2s cubic-bezier(.22,.61,.36,1) forwards;
  animation-delay: 1.6s;
}

.hero-luxury-new.hero-animate .hero-side.left .hero-side-line{
  animation: fadeOnly .8s ease forwards;
  animation-delay: 1.9s;
}

.hero-luxury-new.hero-animate .hero-side.left .hero-side-note{
  animation: fadeOnly .8s ease forwards;
  animation-delay: 2.1s;
}

.hero-luxury-new.hero-animate .hero-side.left .side-orbit-scene{
  animation: orbitRevealLeftFixed 1.2s cubic-bezier(.22,.61,.36,1) forwards;
  animation-delay: 1.9s;
}

/* LADO DERECHO */
.hero-luxury-new.hero-animate .hero-side.right{
  animation: sideEnterRightFixed 1.2s cubic-bezier(.22,.61,.36,1) forwards;
  animation-delay: 2.2s;
}

.hero-luxury-new.hero-animate .hero-side.right .hero-side-line{
  animation: fadeOnly .8s ease forwards;
  animation-delay: 2.5s;
}

.hero-luxury-new.hero-animate .hero-side.right .hero-side-note{
  animation: fadeOnly .8s ease forwards;
  animation-delay: 2.7s;
}

.hero-luxury-new.hero-animate .hero-side.right .side-orbit-scene{
  animation: orbitRevealRightFixed 1.2s cubic-bezier(.22,.61,.36,1) forwards;
  animation-delay: 2.5s;
}

/* MODELO */
.hero-luxury-new.hero-animate .hero-model-wrap{
  animation: modelRevealKeepPlace 1.4s cubic-bezier(.22,.61,.36,1) forwards;
  animation-delay: 3s;
}

/* BOTONES */
.hero-luxury-new.hero-animate .hero-actions-center{
  animation: fadeOnly .8s ease forwards;
  animation-delay: 3.6s;
}

.hero-luxury-new.hero-animate .hero-actions-center .hero-btn:nth-child(1){
  animation: btnRevealFixed .9s cubic-bezier(.22,.61,.36,1) forwards;
  animation-delay: 3.7s;
}

.hero-luxury-new.hero-animate .hero-actions-center .hero-btn:nth-child(2){
  animation: btnRevealFixed .9s cubic-bezier(.22,.61,.36,1) forwards;
  animation-delay: 3.9s;
}

/* =========================================
   KEYFRAMES
========================================= */
@keyframes fadeOnly{
  from{ opacity:0; }
  to{ opacity:1; }
}

@keyframes lineFadeOnly{
  from{
    opacity:0;
    filter: blur(4px);
  }
  to{
    opacity:1;
    filter: blur(0);
  }
}

@keyframes titleRevealFixed{
  from{
    opacity:0;
    transform: translateY(22px);
    filter: blur(8px);
  }
  to{
    opacity:1;
    transform: translateY(0);
    filter: blur(0);
  }
}

@keyframes sideEnterLeftFixed{
  from{
    opacity:0;
    transform: translateX(-22px);
    filter: blur(8px);
  }
  to{
    opacity:1;
    transform: translateX(0);
    filter: blur(0);
  }
}

@keyframes sideEnterRightFixed{
  from{
    opacity:0;
    transform: translateX(22px);
    filter: blur(8px);
  }
  to{
    opacity:1;
    transform: translateX(0);
    filter: blur(0);
  }
}

@keyframes orbitRevealLeftFixed{
  from{
    opacity:0;
    transform: translateX(-65%);
    filter: blur(10px);
  }
  to{
    opacity:1;
    transform: translateX(-65%);
    filter: blur(0);
  }
}

@keyframes orbitRevealRightFixed{
  from{
    opacity:0;
    transform: translateX(-35%);
    filter: blur(10px);
  }
  to{
    opacity:1;
    transform: translateX(-35%);
    filter: blur(0);
  }
}

@keyframes modelRevealKeepPlace{
  from{
    opacity:0;
    transform: translateX(-50%);
    filter: blur(10px);
  }
  to{
    opacity:1;
    transform: translateX(-50%);
    filter: blur(0);
  }
}

@keyframes btnRevealFixed{
  from{
    opacity:0;
    transform: translateY(14px);
  }
  to{
    opacity:1;
    transform: translateY(0);
  }
}

@keyframes heroGlowInFixed{
  from{
    opacity:0;
    transform: translateX(-50%) scale(.92);
    filter: blur(38px);
  }
  to{
    opacity:1;
    transform: translateX(-50%) scale(1);
    filter: blur(26px);
  }
}

@keyframes particleRevealFixed{
  from{
    opacity:0;
    transform: scale(.45);
  }
  to{
    opacity:.68;
    transform: scale(1);
  }
}

/* =========================================
   BOTÓN SECUNDARIO FINAL · GLASS LIMPIO
========================================= */
/* =========================================
   BOTÓN SECUNDARIO NEGRO ELEGANTE
========================================= */
.hero-btn.secondary{
  position:relative;
  overflow:hidden;

  background:#0a0a0a; /* 🔥 negro limpio */
  color:#dcab5e;
  border:1px solid rgba(220,171,94,.35);

  box-shadow:
    0 10px 26px rgba(0,0,0,.45),
    inset 0 1px 0 rgba(255,255,255,.06),
    inset 0 -1px 0 rgba(0,0,0,.6);

  text-decoration:none;
}

/* brillo superior elegante */
.hero-btn.secondary::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;

  background:linear-gradient(
    180deg,
    rgba(255,255,255,.08) 0%,
    rgba(255,255,255,.03) 30%,
    transparent 70%
  );
}

/* brillo barrido */
.hero-btn.secondary::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;

  background:linear-gradient(
    120deg,
    transparent 0%,
    rgba(255,255,255,.08) 20%,
    rgba(255,255,255,.18) 32%,
    transparent 48%
  );

  transform:translateX(-130%);
  transition:transform .7s ease;
}

.hero-btn.secondary:hover::after{
  transform:translateX(130%);
}

/* hover premium */
.hero-btn.secondary:hover{
  transform:translateY(-2px) scale(1.025);

  background:#0d0d0d;
  color:#f3d79c;
  border-color:rgba(220,171,94,.55);

  box-shadow:
    0 14px 34px rgba(0,0,0,.55),
    0 0 18px rgba(220,171,94,.10),
    inset 0 1px 0 rgba(255,255,255,.08);
}
/* =========================================
   HERO TITLE AJUSTE SOLO EN INGLÉS
========================================= */
.hero-title-top.is-en{
  transform: translateX(calc(-50% - 140px));
}

.hero-title-top.is-en::before{
  transform: translateX(calc(-50% + 140px));
}
/* =========================================
   FIX BANNER MONARCA (NUEVO DISEÑO)
========================================= */

/* =========================================
   MATERIAL BANNER / EDITORIAL
========================================= */
.material-banner{
  position:relative;
  padding:0;

  background:
    radial-gradient(circle at 28% 45%, rgba(255,235,200,.22), transparent 20%),
    radial-gradient(circle at 18% 24%, rgba(255,255,255,.05), transparent 24%),
    radial-gradient(circle at 70% 60%, rgba(220,171,94,.18), transparent 28%),

    linear-gradient(
      180deg,
      #fff2cc 0%,
      #f2d08a 25%,
      #DCAB5E 55%,
      #b8893f 78%,
      #8a642d 100%
    );

  overflow:visible;
  z-index:3;

  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.35),
    inset 0 -10px 30px rgba(0,0,0,.18);
}

.material-banner::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(255,255,255,.03), transparent 20%, transparent 80%, rgba(0,0,0,.04));
  pointer-events:none;
  z-index:1;
}

.material-banner-inner{
  width:min(1280px, 100%);
  margin:0 auto;
  min-height:185px;
  display:grid;
  grid-template-columns:250px 1.2fr .95fr;
  align-items:center;
  gap:26px;
  padding:10px 24px;
  position:relative;
  z-index:2;
}

/* =========================
   IZQUIERDA / PIEDRA
========================= */
.material-visual{
  position:relative;
  width:100%;
  height:145px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:visible;
}

.material-visual::before{
  content:"";
  position:absolute;
  width:170px;
  height:170px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(255,225,155,.28), transparent 70%);
  filter:blur(18px);
  z-index:1;
}

.material-frame{
  position:absolute;
  width:200px;
  height:155px;
  border:1px solid rgba(0,0,0,.20);
  border-radius:18px;
  background:
    linear-gradient(45deg, transparent 49.2%, rgba(0,0,0,.14) 49.5%, transparent 50%),
    linear-gradient(-45deg, transparent 49.2%, rgba(0,0,0,.14) 49.5%, transparent 50%);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.04);
  z-index:2;
}

.material-image{
  position:relative;
  width:190px;
  max-width:100%;
  object-fit:contain;
  z-index:5;

  transform:translateY(-50px); /* 🔥 sube más */
}
/* =========================
   CENTRO / TEXTO
========================= */
.material-main{
  color:#1d1b17;
  padding-right:10px;
}

.material-title{
  margin:0 0 14px;
  font-family:'Poppins', sans-serif;
  font-size:clamp(2.25rem, 4vw, 3.1rem);
  line-height:1;
  font-weight:400;
  letter-spacing:.02em;
  color:#171612;
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}

.material-title .light{
  font-weight:300;
  opacity:.96;
}

.material-rings{
  display:inline-block;
  font-size:.70em;
  opacity:.34;
  letter-spacing:-.08em;
  transform:translateY(-2px);
}

.material-rings::before{
  content:"◇ ◇";
}

.material-description{
  max-width:470px;
  margin:0;
  font-family:'Poppins', sans-serif;
  font-size:.88rem;
  line-height:1.45;
  font-weight:400;
  text-transform:uppercase;
  color:rgba(24,24,24,.84);
}

/* =========================
   DERECHA / PRECIOS
========================= */
.material-prices{
  position:relative;
  min-height:132px;
  padding-left:18px;
}

.material-prices::before{
  content:"";
  position:absolute;
  left:0;
  top:10px;
  bottom:10px;
  width:1px;
  background:rgba(0,0,0,.28);
}

.prices-mini{
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.16);
  border-radius:16px;
  padding:14px 16px;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08),
    0 10px 20px rgba(0,0,0,.06);
  backdrop-filter:blur(6px);
}

.prices-mini-title{
  display:inline-block;
  margin:0 0 12px;
  padding:7px 12px;
  border-radius:10px;
  background:#252525;
  color:#f5f1e8;
  font-family:'Poppins', sans-serif;
  font-size:.84rem;
  font-weight:700;
  line-height:1.08;
  text-transform:uppercase;
  letter-spacing:.10em;
  box-shadow:0 8px 16px rgba(0,0,0,.10);
}

.prices-mini-columns{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}

.prices-mini-col{
  min-width:0;
}

.prices-mini-list{
  display:grid;
  gap:3px;
}

.prices-mini-item{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:8px;
  font-size:.75rem;
  line-height:1.15;
  color:rgba(24,24,24,.84);
  padding-bottom:4px;
  border-bottom:1px dashed rgba(0,0,0,.10);
}

.prices-mini-item:last-child{
  border-bottom:none;
  padding-bottom:0;
}

.prices-mini-item span{
  padding-right:6px;
}

.prices-mini-item strong{
  font-size:.82rem;
  color:#111;
  font-weight:700;
  min-width:38px;
  text-align:right;
}

/* =========================
   RESPONSIVE
========================= */
@media (max-width: 1120px){
  .material-banner-inner{
    grid-template-columns:220px 1fr;
    gap:22px;
  }

  .material-main{
    padding-right:0;
  }

  .material-prices{
    grid-column:1 / -1;
    padding-left:0;
    padding-top:8px;
  }

  .material-prices::before{
    display:none;
  }
}

@media (max-width: 820px){
  .material-banner-inner{
    grid-template-columns:1fr;
    text-align:center;
    gap:16px;
    padding:26px 20px;
    min-height:auto;
  }

  .material-main,
  .material-prices{
    display:flex;
    flex-direction:column;
    align-items:center;
  }

  .material-prices{
    width:100%;
    max-width:560px;
  }

  .prices-mini-columns{
    grid-template-columns:1fr;
    width:100%;
  }

  .material-description{
    max-width:680px;
  }

  .material-image{
    transform:translateY(-12px);
  }

  .material-title{
    justify-content:center;
  }
}

@media (max-width: 560px){
  .material-title{
    font-size:clamp(1.95rem, 9vw, 2.45rem);
  }

  .material-description{
    font-size:.82rem;
  }

  .prices-mini{
    padding:12px 12px;
  }

  .prices-mini-title{
    font-size:.8rem;
  }

  .prices-mini-item{
    font-size:.73rem;
  }

  .prices-mini-item strong{
    font-size:.79rem;
  }

  .material-frame{
    width:180px;
    height:140px;
  }

  .material-image{
    width:165px;
  }

  .material-visual{
    height:145px;
  }
}
/* =========================================
   ABOUT LUXURY SECTION
========================================= */
/* =========================================
   ABOUT MONARCA FULL WIDTH
========================================= */
/* =========================================
   ABOUT MONARCA FULL WIDTH
========================================= */
.about-monarca-full{
  width:100%;
  padding:60px 0;
  background:linear-gradient(180deg,#f3ebde 0%,#f7f2e8 100%);
  overflow:hidden;
}

.about-monarca-grid{
  display:grid;
  grid-template-columns:55% 45%;
  align-items:center;
  min-height:720px;
  overflow:visible;
}

/* =========================
   LEFT
========================= */
.about-monarca-content{
  padding:0 80px 0 120px;
  max-width:720px;
}

.about-monarca-kicker{
  display:inline-block;
  margin-bottom:8px;
  transform:translateY(6px);
  font-size:.78rem;
  letter-spacing:.28em;
  text-transform:uppercase;
  font-weight:700;
  color:#c3772d;
}

.about-monarca-title{
  margin:0 0 10px;
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(3rem,4vw,4.8rem);
  line-height:.95;
  color:#16120f;
}

.about-monarca-title span{
  color:#bf7a2f;
}

.about-monarca-line{
  width:120px;
  height:1px;
  margin:12px 0 18px;
  background:linear-gradient(
    90deg,
    #c88b46,
    rgba(200,139,70,.25),
    transparent
  );
}

.about-monarca-text{
  max-width:520px;
  margin-bottom:16px;
  font-size:1rem;
  line-height:1.9;
  color:#5a5145;
}

.about-monarca-stats{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
  margin-top:30px;
  max-width:520px;
}

.about-monarca-stats article{
  padding:18px 16px;
  background:rgba(255,255,255,.55);
  border-radius:18px;
  border:1px solid rgba(0,0,0,.06);
  text-align:center;
  transition:.35s;
}

.about-monarca-stats article:hover{
  transform:translateY(-5px);
  box-shadow:0 14px 30px rgba(0,0,0,.08);
}

.about-monarca-stats strong{
  display:block;
  font-family:'Cormorant Garamond',serif;
  font-size:2rem;
  margin-bottom:4px;
  color:#17130f;
}

.about-monarca-stats span{
  font-size:.9rem;
  color:#6c6458;
}


/* =========================
   STATS ANIMADAS
========================= */
.about-monarca-stats article{
  opacity: 0;
  transform: translateY(24px);
}

.about-monarca-stats.is-visible article{
  animation: statCardReveal .8s cubic-bezier(.22,.61,.36,1) forwards;
}

.about-monarca-stats.is-visible article:nth-child(1){
  animation-delay: .08s;
}

.about-monarca-stats.is-visible article:nth-child(2){
  animation-delay: .22s;
}

.about-monarca-stats.is-visible article:nth-child(3){
  animation-delay: .36s;
}

.stat-number{
  display:block;
  font-variant-numeric: tabular-nums;
}

@keyframes statCardReveal{
  from{
    opacity: 0;
    transform: translateY(24px);
  }
  to{
    opacity: 1;
    transform: translateY(0);
  }
}
/* =========================
   RIGHT · COLUMNAS EN MOVIMIENTO
========================= */
.about-monarca-visual{
  position:relative;
  min-height:720px;
  height:720px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  padding-right:26px;
}

.about-monarca-visual::before{
  content:"";
  position:absolute;
  width:620px;
  height:620px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(191,122,47,.10), transparent 72%);
  filter:blur(18px);
  z-index:0;
}

.about-monarca-visual::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(to bottom, #f3ebde 0%, rgba(243,235,222,0) 14%, rgba(243,235,222,0) 86%, #f7f2e8 100%);
  pointer-events:none;
  z-index:5;
}

.about-columns{
  position:relative;
  width:100%;
  height:100%;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:26px;
  z-index:2;
  align-items:center;
  padding:10px 0;
}

.about-column{
  position:relative;
  height:860px;
  overflow:hidden;
  mask-image: linear-gradient(to bottom, transparent 0%, #000 10%, #000 90%, transparent 100%);
  -webkit-mask-image: linear-gradient(to bottom, transparent 0%, #000 10%, #000 90%, transparent 100%);
}

.about-track{
  display:flex;
  flex-direction:column;
  gap:22px;
  will-change:transform;
}

.about-track.up{
  animation: aboutMoveUp 24s linear infinite;
}

.about-track.down{
  animation: aboutMoveDown 24s linear infinite;
}

.about-card{
  position:relative;
  overflow:hidden;
  border-radius:28px;
  box-shadow:0 18px 45px rgba(0,0,0,.10);
  border:1px solid rgba(255,255,255,.55);
  background:#ddd;
  flex:0 0 auto;
}

.about-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,0));
  pointer-events:none;
}

.about-card img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .6s ease;
}

.about-card:hover img{
  transform:scale(1.05);
}

/* tamaños variados */
.size-xl{ height:320px; }
.size-lg{ height:260px; }
.size-md{ height:210px; }
.size-sm{ height:160px; }

.radius-arch{
  border-radius:160px 160px 28px 28px;
}

.radius-soft{
  border-radius:34px;
}

.radius-cut{
  border-radius:26px 26px 90px 26px;
}

.radius-circle{
  border-radius:999px;
}

@keyframes aboutMoveUp{
  0%   { transform:translateY(0); }
  100% { transform:translateY(-50%); }
}

@keyframes aboutMoveDown{
  0%   { transform:translateY(-50%); }
  100% { transform:translateY(0); }
}




    /* =========================================
       SERVICIOS
    ========================================= */
    /* =========================================
   SERVICIOS PREMIUM
========================================= */
/* =========================================
   SERVICIOS PREMIUM · VARIANTE A
========================================= */
.services-premium-section.services-variant-a{
  position: relative;
  padding: 115px 20px;
  background:
    radial-gradient(circle at top, rgba(212,175,55,.07), transparent 22%),
    linear-gradient(180deg, #050505 0%, #0a0a0a 100%);
  overflow: hidden;
}

.services-premium-container{
  width: min(1180px, 100%);
  margin: 0 auto;
}

/* =========================
   HEADING
========================= */
.services-premium-heading{
  text-align: center;
  margin-bottom: 58px;
}

.services-kicker{
  display: inline-block;
  margin-bottom: 22px;
  color: #dcab5e;
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .34em;
  font-weight: 600;
}

.services-title{
  margin: 0;
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(2.2rem, 4vw, 3.8rem);
  line-height: .95;
  font-weight: 500;
  color: #f3eee4;
}

.services-subtitle{
  max-width: 740px;
  margin: 16px auto 0;
  color: #b8b1a3;
  line-height: 1.85;
  font-size: 1rem;
}

/* =========================
   LISTADO
========================= */
.services-a-list{
  width: min(1060px, 100%);
  margin: 0 auto;
  display: grid;
  border-top: 1px solid rgba(212,175,55,.16);
  border-bottom: 1px solid rgba(212,175,55,.16);
  overflow: visible;
}

.services-a-item{
  position: relative;
  display: grid;
  grid-template-columns: 130px 1fr 230px;
  gap: 28px;
  align-items: center;
  padding: 30px 0;
  border-bottom: 1px solid rgba(212,175,55,.10);
  cursor: pointer;
  transition:
    transform .35s cubic-bezier(.22,.61,.36,1),
    box-shadow .35s ease,
    background .35s ease,
    border-color .35s ease;
}

.services-a-item:last-child{
  border-bottom: none;
}

.services-a-item:hover{
  background: rgba(255,255,255,.015);
  transform: scale(1.02) translateY(-4px);
  box-shadow:
    0 18px 40px rgba(0,0,0,.45),
    0 0 0 1px rgba(212,175,55,.08);
}

/* número */
.services-a-index{
  color: #dcab5e;
  font-size: .9rem;
  letter-spacing: .22em;
  transition: color .3s ease;
}

/* contenido */
.services-a-content h3{
  margin: 0 0 8px;
  font-family: 'Cormorant Garamond', serif;
  font-size: 2rem;
  line-height: 1;
  font-weight: 600;
  color: #f3eee4;
}

.services-a-content p{
  margin: 0;
  color: #b8b1a3;
  line-height: 1.82;
  font-size: .97rem;
  max-width: 690px;
}

/* =========================
   LADO DERECHO: TAG + ICONO
========================= */
.services-a-tag{
  justify-self: end;
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
  width: 100%;
  text-align: right;
  color: #dcab5e;
  font-size: .74rem;
  text-transform: uppercase;
  letter-spacing: .26em;
  white-space: nowrap;
  transition: letter-spacing .3s ease, color .3s ease;
}

/* icono whatsapp oculto por defecto */
.services-a-tag i{
  font-size: .92rem;
  color: #dcab5e;
  opacity: 0;
  transform: translateX(8px) scale(.9);
  transition: all .35s cubic-bezier(.22,.61,.36,1);
}

/* hover */
.services-a-item:hover .services-a-index{
  color: #dcab5e;
}

.services-a-item:hover .services-a-tag{
  letter-spacing: .32em;
}

.services-a-item:hover .services-a-tag i{
  opacity: 1;
  transform: translateX(0) scale(1);
  filter: drop-shadow(0 0 6px rgba(220,171,94,.4));
}

/* foco accesible */
.services-a-item:focus,
.services-a-item:focus-visible{
  outline: none;
  box-shadow:
    0 18px 40px rgba(0,0,0,.45),
    0 0 0 1px rgba(212,175,55,.10),
    0 0 0 3px rgba(220,171,94,.14);
}




  /* =========================================
   CATEGORÍAS CATÁLOGO
========================================= */
/* =========================================
   CATEGORÍAS EDITORIAL / CATÁLOGO
========================================= */

.catalog-editorial-section{
  position: relative;
  width: 100%;
  padding: 0;
  background: #080808;
  overflow: hidden;
}

/* CONTENEDOR PRINCIPAL */
.catalog-editorial-wrap{
  width: 100%;
  margin: 0;
  display: grid;
  grid-template-columns: 40% 60%;
  min-height: 620px;
  height: 770px;
}

/* =========================
   LADO IZQUIERDO
========================= */
/* =========================
   LADO IZQUIERDO
========================= */
.catalog-editorial-left{
  position: relative;
  overflow: hidden;
  height: 770px;
  isolation: isolate;
  background: #121212;
}

.editorial-model-image{
  position: absolute;
  inset: -5% 0;
  width: 100%;
  height: 110%;
  object-fit: cover;
  object-position: 58% 38%;
  display: block;
  transform: scale(1.02);
}

.editorial-left-overlay{
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  padding: 170px 80px 110px 140px;
  background: linear-gradient(
    180deg,
    rgba(0,0,0,.04),
    rgba(0,0,0,.16)
  );
}

.editorial-left-title{
  margin: 0;
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(2.6rem, 5vw, 4.6rem);
  line-height: .9;
  font-weight: 600;
  color: #fff9f0;
  letter-spacing: .04em;
  transform: translateX(-30px);
  text-shadow: 0 12px 26px rgba(0,0,0,.28);
}
/* =========================
   LADO DERECHO
========================= */
.catalog-editorial-right{
  position: relative;
  padding: 76px 70px 60px 70px;
  height: 770px;

  background:
    radial-gradient(circle at top right, rgba(156,129,76,.07), transparent 26%),
    linear-gradient(rgba(246,240,227,.98), rgba(246,240,227,.98)),
    repeating-radial-gradient(circle at 20% 20%, rgba(0,0,0,.012) 0 2px, transparent 2px 38px);

  overflow: visible;
}

/* TEXTO SUPERIOR */
.editorial-kicker{
  display: inline-block;
  margin-bottom: 14px;
  color: #c3772d;
  font-size: .83rem;
  letter-spacing: .22em;
  text-transform: uppercase;
  font-weight: 700;
}

/* TITULO */
.editorial-main-title{
  margin: 0 0 54px;
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(3rem, 4vw, 4.4rem);
  line-height: .92;
  font-weight: 500;
  color: #111919;
}

/* =========================
   CARDS
========================= */
.editorial-cards{
  display: flex;
  align-items: flex-start;
  gap: 26px;
  position: relative;
  z-index: 3;
  margin-left: -145px;
  margin-top: 85px;
}

.editorial-card{
  width: 300px;
  min-height: 300px;
  padding: 20px 18px 20px;
  text-align: center;
  text-decoration: none;
  position: relative;

  background:
    radial-gradient(circle at 30% 20%, rgba(220,171,94,.08), transparent 60%),
    #ffffff;

  clip-path: polygon(
    12% 0%,
    88% 0%,
    100% 14%,
    100% 86%,
    88% 100%,
    12% 100%,
    0% 86%,
    0% 14%
  );

  box-shadow:
    0 18px 46px rgba(0,0,0,.12),
    inset 0 0 0 1px rgba(220,171,94,.22),
    inset 0 0 12px rgba(220,171,94,.08);

  transition:
    transform .4s ease,
    box-shadow .4s ease,
    background .4s ease;
}

/* ✨ efecto de luz premium estático */
.editorial-card::before{
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;

  background:
    linear-gradient(
      120deg,
      transparent 20%,
      rgba(220,171,94,.08) 40%,
      rgba(220,171,94,.12) 50%,
      rgba(220,171,94,.08) 60%,
      transparent 80%
    );

  opacity: .6;
}

.editorial-card:hover{
  transform: translateY(-12px) scale(1.02);
  box-shadow:
    0 30px 70px rgba(0,0,0,.18),
    0 0 25px rgba(220,171,94,.18),
    inset 0 0 0 1px rgba(220,171,94,.35),
    inset 0 0 14px rgba(220,171,94,.12);
}

.editorial-card-image{
  width: 200px;
  height: 200px;
  margin: 0 auto 34px;
  border-radius: 50%;
  overflow: hidden;
  transition: transform .55s cubic-bezier(.22,.61,.36,1);
}

.editorial-card-image img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: contrast(1.05) saturate(1.05) brightness(1.02);
  transition:
    transform .65s cubic-bezier(.22,.61,.36,1),
    filter .6s ease;
}

.editorial-card:hover .editorial-card-image{
  transform: scale(1.05);
}

.editorial-card:hover .editorial-card-image img{
  transform: scale(1.08);
  filter: contrast(1.1) saturate(1.1) brightness(1.04);
}

/* 🔥 línea mejorada visible */
.editorial-line{
  width: 60px;
  height: 1px;
  margin: 0 auto 22px;

  background: linear-gradient(
    to right,
    transparent,
    rgba(0,0,0,.7),
    #dcab5e,
    rgba(0,0,0,.7),
    transparent
  );
}

.editorial-card h4{
  margin: 0 0 10px;
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.9rem;
  line-height: 1.05;
  font-weight: 600;
  color: #111919;
}

.editorial-card span{
  position: relative;
  display: inline-block;
  color: #bf7a2f;
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.editorial-card span::after{
  content: "";
  position: absolute;
  left: 0;
  bottom: -4px;
  width: 0%;
  height: 1px;
  background: #dcab5e;
  transition: width .35s ease;
}

.editorial-card:hover span::after{
  width: 100%;
}
/* =========================================
   RESPONSIVE
========================================= */
@media (max-width: 1100px){
  .catalog-editorial-left{
    background-attachment: scroll; /* 🔥 evita fallos en tablet/móvil */
  }

  .catalog-editorial-wrap{
    grid-template-columns: 1fr;
    min-height: auto;
    height: auto;
  }

  .catalog-editorial-left{
    min-height: 520px;
    height: 520px;
  }

  .catalog-editorial-right{
    height: auto;
    padding: 50px 24px 40px;
  }

  .editorial-cards{
    margin-left: 0;
    justify-content: center;
    flex-wrap: wrap;
    margin-top: 60px;
  }

  .editorial-left-overlay{
    padding: 90px 40px 70px 55px;
  }
}

@media (max-width:768px){
  .catalog-editorial-left{
    min-height: 460px;
    height: 460px;
    background-attachment: scroll;
  }

  .editorial-left-overlay{
    inset: 0;
    padding: 40px 22px 40px;
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    text-align: left;
  }

  .editorial-left-title{
    font-size: clamp(2.6rem, 11vw, 4rem);
    transform: translate(55px, 155px);
    letter-spacing: .05em;
  }

  .catalog-editorial-right{
    padding: 40px 18px 30px;
  }

  .editorial-kicker{
    display: block;
    text-align: left;
    margin-bottom: 10px;
    font-size: .75rem;
    letter-spacing: .18em;
  }

  .editorial-main-title{
    margin: 0 0 24px;
    text-align: left;
    font-size: clamp(2.9rem, 11vw, 4.2rem);
    line-height: .92;
  }

  .editorial-cards{
    gap: 14px;
    margin-top: 16px;
    justify-content: center;
  }

  .editorial-card{
    width: 100%;
    max-width: 280px;
    min-height: 300px;
    padding: 18px 14px 20px;
  }

  .editorial-card-image{
    width: 170px;
    height: 170px;
    margin: 0 auto 20px;
  }

  .editorial-line{
    margin: 0 auto 14px;
  }

  .editorial-card h4{
    margin: 0 0 8px;
    font-size: 1.7rem;
  }

  .editorial-card span{
    font-size: .72rem;
    letter-spacing: .11em;
  }
}

 /* =========================================
   CONTACTO / RESERVA - LUXURY STYLE
========================================= */
/* =========================================
   CONTACTO / RESERVA - LUXURY STYLE
========================================= */
.contact-luxury-section{
  position: relative;
  padding: 90px 20px; /* 🔥 antes 110px */
  background:
    radial-gradient(circle at top, rgba(156,129,76,.10), transparent 20%),
    linear-gradient(180deg, #060606 0%, #0a0a0a 100%);
}

.contact-luxury-wrap{
  width: min(1200px, 100%);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.75fr .95fr;
  background: #050505;
  border: 1px solid rgba(255,255,255,.05);
  box-shadow: 0 20px 60px rgba(0,0,0,.45);
}

/* =========================
   LADO IZQUIERDO
========================= */
.contact-luxury-form-side{
  padding: 60px 52px 54px;
  background: #050505;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
}

/* TITULO */
.contact-luxury-title{
  margin: 0 auto 10px; /* 🔥 antes 14px */
  max-width:520px;
  text-align:center;
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(2.4rem, 5vw, 4.4rem);
  line-height: 1;
  font-weight: 500;
  color: #f5f1e8;
}

/* SUBTITULO */
.contact-luxury-subtitle{
  max-width: 560px;
  margin: 0 auto 34px;
  text-align: center;
  color: #cfc8bb;
  font-size: 1rem;
  line-height: 1.8;
}

/* FORM */
.contact-luxury-form{
  display: grid;
  gap: 16px;
}

.contact-row{
  display: grid;
  gap: 20px;
}

.contact-row.two-cols{
  grid-template-columns: 1fr 1fr;
}

/* INPUTS */
.contact-luxury-form input,
.contact-luxury-form select,
.contact-luxury-form textarea{
  width: 100%;
  background: #101214;
  border: 1px solid rgba(255,255,255,.08);
  color: #f3eee3;
  padding: 0 18px;
  height: 52px;
  outline: none;
  font-size: 1rem;
  transition: .3s ease;
}

.contact-luxury-form textarea{
  min-height: 120px;
  resize: vertical;
  padding: 18px;
}

.contact-luxury-form input::placeholder,
.contact-luxury-form textarea::placeholder{
  color: #b4aea1;
}

.contact-luxury-form select{
  appearance: none;
  cursor: pointer;
}

.contact-luxury-form input:focus,
.contact-luxury-form select:focus,
.contact-luxury-form textarea:focus{
  border-color: rgba(156,129,76,.55);
  box-shadow: 0 0 0 4px rgba(156,129,76,.10);
}

/* =========================
   BOTON
========================= */
.contact-luxury-btn{
  margin-top: 6px;
  border: none;
  height: 56px;

  background:
    radial-gradient(circle at 18% 30%, rgba(255,235,200,.22), transparent 22%),
    radial-gradient(circle at 78% 65%, rgba(255,255,255,.10), transparent 24%),
    linear-gradient(
      180deg,
      #fff2cc 0%,
      #f2d08a 24%,
      #dcab5e 56%,
      #b8893f 80%,
      #8a642d 100%
    );

  color: #14110c;
  font-weight: 600;
  font-size: .82rem;
  letter-spacing: .26em;
  text-transform: uppercase;
  cursor: pointer;
  position: relative;
  overflow: hidden;

  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.34),
    inset 0 -8px 18px rgba(0,0,0,.10),
    0 12px 24px rgba(220,171,94,.18);

  transition:
    transform .28s ease,
    box-shadow .28s ease,
    filter .28s ease;
}

.contact-luxury-btn::before{
  content:"";
  position:absolute;
  top:0;
  left:-22%;
  width:22%;
  height:100%;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255,255,255,.35),
    transparent
  );
  transform: skewX(-18deg);
  animation: contactBtnShine 4s ease-in-out infinite;
}

.contact-luxury-btn:hover{
  transform: translateY(-2px);
}

/* =========================
   LADO DERECHO
========================= */
.contact-luxury-info-side{
  padding: 60px 36px 50px;
  text-align: center;
  color: #ddd6c8;
  border-left: 1px solid rgba(255,255,255,.05);

  background:
    linear-gradient(rgba(0,0,0,.55), rgba(0,0,0,.65)), /* 🔥 overlay oscuro para legibilidad */
    url("../images/monarca_fav/about2.jpeg"); /* 🔥 tu imagen */

  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
/* TITULO DERECHO */
.contact-side-title{
  margin: 0 0 30px;
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(1.9rem, 3vw, 3rem);
  color: #f5f1e8;
}

/* BLOQUES */
.contact-info-block{
  margin-bottom: 10px;
}

.contact-info-block h4{
  margin: 0 0 10px;
  font-size: .92rem;
  color: #ffffff;
  font-weight: 600;
}

/* TELEFONO */
.contact-highlight{
  display: inline-block;
 
  font-size: clamp(1.5rem, 3vw, 2.2rem);
  font-weight: 500;
  letter-spacing: .05em;

  background: linear-gradient(
    90deg,
    #fff4d8,
    #f2d08a,
    #dcab5e,
    #f2d08a,
    #fff4d8
  );
  background-size: 200% auto;
  -webkit-background-clip: text;
  color: transparent;

  animation: phoneShimmer 6s linear infinite;
}

/* DIVISOR */
.contact-divider{
  width: 8px;
  height: 8px;
  margin: 18px auto;
  border: 1px solid #dcab5e;
  transform: rotate(45deg);
}

/* =========================
   KICKERS (AJUSTADO)
========================= */
.contact-kicker,
.contact-side-kicker{
  display: block;
  margin-bottom: 8px; /* 🔥 antes 14px */
  text-align: center;
  color:#dcab5e;
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .32em;
  text-transform: uppercase;
}

.contact-side-kicker{
  margin-bottom: 8px;
}

/* ICONOS */
.contact-info-icon i{
  color: #dcab5e;
  font-size: 1.5rem;
}

/* ANIMACIONES */
@keyframes contactBtnShine{
  0%{ left:-30%; opacity:0; }
  20%{ opacity:1; }
  50%{ left:120%; opacity:0; }
  100%{ left:120%; opacity:0; }
}

@keyframes phoneShimmer{
  0%{ background-position: 0% 50%; }
  100%{ background-position: 200% 50%; }
}

/* =========================
   FLOATING CAREERS CTA
   FIX ESCRITORIO
========================= */
.contact-luxury-section{
  position: relative;
  overflow: visible;
  padding-bottom: 180px;
}

/* CONTENEDOR GENERAL */
.contact-floating-careers{
  position: absolute;
  left: 50%;
  transform: translateX(-50%) translateY(-70px); /* 🔥 desde arriba */
  bottom: -42px;
  width: min(760px, 92%);
  z-index: 20;

  opacity: 0;
  pointer-events: none;

  transition:
    opacity 1.1s ease,
    transform 1.3s cubic-bezier(.22,.61,.36,1);
}

/* cuando entra */
.contact-floating-careers.is-visible{
  opacity: 1;
  pointer-events: auto;
  transform: translateX(-50%) translateY(0);
}

/* CARD */
.contact-floating-inner{
  position: relative;
  overflow: hidden;
  padding: 34px 34px;
  text-align: center;
  border-radius: 24px;

  background:
    linear-gradient(180deg, rgba(18,18,18,.98), rgba(8,8,8,.98));
  border: 1px solid rgba(216,188,134,.32);

  box-shadow:
    0 22px 70px rgba(0,0,0,.58),
    0 0 40px rgba(216,188,134,.08),
    inset 0 1px 0 rgba(255,255,255,.04);

  transform: scale(.94);
  filter: blur(10px);

  transition:
    transform 1.3s cubic-bezier(.22,.61,.36,1),
    filter 1.1s ease,
    box-shadow .4s ease;
}

.contact-floating-careers.is-visible .contact-floating-inner{
  transform: scale(1);
  filter: blur(0);
}

/* glow superior */
.contact-floating-inner::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at top, rgba(216,188,134,.18), transparent 60%);
  pointer-events:none;
}

.contact-floating-inner::after{
  content:"";
  position:absolute;
  top:0;
  left:20%;
  width:60%;
  height:1px;
  background:linear-gradient(90deg, transparent, #dcab5e, transparent);
  opacity:.6;
}

/* TITULO */
.contact-floating-inner h3{
  position: relative;
  z-index: 2;
  margin: 0 0 12px;
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(2rem, 3vw, 2.6rem);
  line-height: .96;
  color: #f5f1e8;

  opacity: 0;
  transform: translateY(22px);

  transition:
    opacity .8s ease,
    transform 1s cubic-bezier(.22,.61,.36,1);
}

.contact-floating-careers.is-visible .contact-floating-inner h3{
  opacity: 1;
  transform: translateY(0);
  transition-delay: .35s;
}

/* TEXTO */
.contact-floating-inner p{
  position: relative;
  z-index: 2;
  max-width: 620px;
  margin: 0 auto 22px;
  font-size: 1rem;
  color: #c7c0b3;
  line-height: 1.7;

  opacity: 0;
  transform: translateY(22px);

  transition:
    opacity .8s ease,
    transform 1s cubic-bezier(.22,.61,.36,1);
}

.contact-floating-careers.is-visible .contact-floating-inner p{
  opacity: 1;
  transform: translateY(0);
  transition-delay: .55s;
}

/* BOTON */
.contact-floating-inner a{
  position: relative;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 28px;

  border: 1px solid #dcab5e;
  color: #dcab5e;
  background: transparent;
  text-decoration: none;

  font-size: .76rem;
  font-weight: 600;
  letter-spacing: .22em;
  text-transform: uppercase;

  opacity: 0;
  transform: translateY(22px);

  transition:
    opacity .8s ease,
    transform 1s cubic-bezier(.22,.61,.36,1),
    background .3s ease,
    color .3s ease,
    box-shadow .3s ease;
}

.contact-floating-careers.is-visible .contact-floating-inner a{
  opacity: 1;
  transform: translateY(0);
  transition-delay: .75s;
}

.contact-floating-inner a:hover{
  background: #dcab5e;
  color: #111;
  transform: translateY(-2px);
  box-shadow: 0 10px 25px rgba(216,188,134,.25);
}
    /* =========================================
       FOOTER
    ========================================= */
  /* =========================================
   FOOTER LUXURY
========================================= */
/* =========================================
   FOOTER LUXURY
========================================= */

/* =========================================
   FOOTER LUXURY
========================================= */

/* =========================================
   FOOTER LUXURY
========================================= */

.footer-luxury{
  position:relative;
  padding:60px 0 34px;
  overflow:hidden;
  background:#050505;
}

/* =========================
   IMAGEN IZQUIERDA
========================= */
.footer-luxury::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:50%;
  height:100%;
  background:
    linear-gradient(rgba(0,0,0,.60), rgba(0,0,0,.80)),
    url("../images/monarca_fav/footer_left.jpeg") center 38% / cover no-repeat;
  z-index:0;
}

/* =========================
   IMAGEN DERECHA
========================= */
.footer-luxury::after{
  content:"";
  position:absolute;
  right:0;
  top:0;
  width:50%;
  height:100%;
  background:
    linear-gradient(rgba(0,0,0,.60), rgba(0,0,0,.80)),
    url("../images/monarca_fav/footer_right.jpeg") center 38% / cover no-repeat;
  z-index:0;
}

/* CONTENIDO ENCIMA */
.footer-luxury .container{
  position:relative;
  z-index:2;
}

/* =========================================
   GRID CORREGIDO (🔥 CLAVE)
   centro más ancho = centrado visual real
========================================= */
.footer-luxury-top{
  position:relative;
  display:grid;
  grid-template-columns:1fr 1.15fr 1fr; /* 🔥 FIX REAL */
  gap:60px;
  align-items:center;
  min-height:360px;
}

/* SUAVIZA LA UNIÓN */
.footer-luxury-top::before{
  content:"";
  position:absolute;
  left:50%;
  top:0;
  transform:translateX(-50%);
  width:160px;
  height:100%;
  background:linear-gradient(
    90deg,
    rgba(5,5,5,0),
    rgba(5,5,5,.55),
    rgba(5,5,5,0)
  );
  pointer-events:none;
  z-index:1;
}

/* COLUMNAS */
.footer-luxury-side{
  position:relative;
  z-index:2;
  text-align:center;
}

.footer-luxury-center{
  position:relative;
  z-index:2;
  display:flex;
  justify-content:center;
  align-items:center;
}

/* =========================================
   TARJETA CENTRAL (YA CENTRADA REAL)
========================================= */
.footer-brand-logo{
  margin:0 auto;
  padding:46px 58px;
  border-radius:26px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.012));
  border:1px solid rgba(212,175,55,.20);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.06),
    inset 0 -1px 0 rgba(0,0,0,.45),
    0 18px 45px rgba(0,0,0,.45);
  max-width:520px;
  width:100%;
  transition:
    transform .4s ease,
    border-color .35s ease,
    box-shadow .4s ease;
}

.footer-brand-logo:hover{
  transform:translateY(-6px) scale(1.01);
  border-color:#dcab5e;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.07),
    inset 0 -1px 0 rgba(0,0,0,.48),
    0 24px 58px rgba(0,0,0,.56),
    0 0 66px rgba(212,175,55,.09);
}

/* =========================================
   LOGO (SIN DESPLAZAMIENTOS FALSOS)
========================================= */
.footer-brand-logo img{
  height:165px;
  width:auto;
  object-fit:contain;
  margin:0 auto 24px; /* 🔥 centrado real */
  display:block;
   transform:translateX(7px); /* 🔥 mueve a la derecha */
  filter:
    drop-shadow(0 2px 0 rgba(255,255,255,.18))
    drop-shadow(0 8px 16px rgba(0,0,0,.52));
}

/* TEXTO */
.footer-brand-text{
  max-width:400px;
  margin:0 auto;
  color:#c9c0b0;
  font-size:1.03rem;
  line-height:2.02;
  text-align:center;
}

/* TITULOS */
.footer-luxury-side h4{
  font-family:'Cormorant Garamond', serif;
  font-size:1.9rem;
  color:#f4efe6;
  letter-spacing:.08em;
  margin:0 0 26px;
  text-shadow:0 2px 12px rgba(0,0,0,.25);
}

.footer-luxury-side h4::after{
  content:"";
  display:block;
  width:54px;
  height:1px;
  margin:12px auto 0;
  background:linear-gradient(
    90deg,
    transparent,
    rgba(212,175,55,.92),
    transparent
  );
}

/* NAV */
.footer-luxury-nav ul{
  display:grid;
  gap:12px;
  justify-items:center;
}

.footer-luxury-nav a{
  color:#f3eadc;
  font-size:1.05rem;
  line-height:1.65;
  transition:.3s;
  text-shadow:0 2px 10px rgba(0,0,0,.30);
  position:relative;
}

.footer-luxury-nav a::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:-3px;
  transform:translateX(-50%);
  width:0;
  height:1px;
  background:#dcab5e;
  transition:.3s ease;
}

.footer-luxury-nav a:hover{
  color:#dcab5e;
}

.footer-luxury-nav a:hover::after{
  width:100%;
}

/* REDES */
.footer-social-links{
  display:grid;
  gap:14px;
  justify-items:center;
}

.footer-social-links a{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:8px;
  color:#f3eadc;
  font-size:1.05rem;
  line-height:1.65;
  text-shadow:0 2px 10px rgba(0,0,0,.30);
  position:relative;
  transition:.3s;
}

.footer-social-links a::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:-3px;
  transform:translateX(-50%);
  width:0;
  height:1px;
  background:#dcab5e;
  transition:.3s ease;
}

.footer-social-links a i{
  color:#dcab5e;
  font-size:1rem;
  transition:.3s;
}

.footer-social-links a:hover{
  color:#dcab5e;
}

.footer-social-links a:hover::after{
  width:100%;
}

.footer-social-links a:hover i{
  transform:scale(1.08);
}

/* DIVIDER */
.footer-luxury-divider{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  margin:48px 0 18px;
  position:relative;
  z-index:2;
}

.footer-luxury-divider span{
  width:min(100%,245px);
  height:1px;
  background:#dcab5e;
}

.footer-luxury-divider i{
  width:9px;
  height:9px;
  border:1px solid #dcab5e;
  transform:rotate(45deg);
  display:inline-block;
  animation:footerDiamondPulse 4.5s ease-in-out infinite;
}

/* COPYRIGHT */
.footer-luxury-bottom{
  position:relative;
  z-index:2;
  text-align:center;
  margin-top:18px;
  padding-top:16px;
}

.footer-luxury-bottom p{
  color:#b2aa9b;
  font-size:.95rem;
  line-height:1.7;
}

/* ANIMACIÓN */
@keyframes footerDiamondPulse{
  0%,100%{
    opacity:.78;
    box-shadow:0 0 8px rgba(212,175,55,.10);
  }
  50%{
    opacity:1;
    box-shadow:0 0 16px rgba(212,175,55,.22);
  }
}
/* =========================================
       ANIMACIONES DE ENTRADA
    ========================================= */
    .reveal{
      opacity:0;
      transform:translateY(38px);
      transition:opacity .8s ease, transform .8s ease;
      will-change:transform, opacity;
    }

    .reveal.visible{
      opacity:1;
      transform:translateY(0);
    }

    /* =========================================
       KEYFRAMES
    ========================================= */
    @keyframes floatSlow{
      0%,100%{ transform:translateY(0); }
      50%{ transform:translateY(-12px); }
    }

    @keyframes floatMedium{
      0%,100%{ transform:translateY(0px); }
      50%{ transform:translateY(-10px); }
    }

    @keyframes floatSmall{
      0%,100%{ transform:translateY(0px); }
      50%{ transform:translateY(-8px); }
    }

    @keyframes shinePulse{
      0%,100%{
        box-shadow:
          inset -18px -18px 36px rgba(91,58,0,.35),
          inset 10px 10px 26px rgba(255,243,198,.22),
          0 0 80px rgba(212,175,55,.18);
      }
      50%{
        box-shadow:
          inset -18px -18px 36px rgba(91,58,0,.40),
          inset 10px 10px 26px rgba(255,243,198,.25),
          0 0 110px rgba(212,175,55,.28);
      }
    }

    /* =========================================
       RESPONSIVE
    ========================================= */
    @media (max-width: 1100px){
      .hero-grid,
      .about-wrap,
      .contact-wrap,
      .footer-grid{
        grid-template-columns:1fr;
      }

      .services-grid,
      .featured-grid{
        grid-template-columns:repeat(2, 1fr);
      }

      .hero-visual{
        min-height:auto;
      }

      .footer-grid{
        gap:28px;
      }
    }

    @media (max-width: 860px){
      .navbar{
        flex-wrap:wrap;
        justify-content:center;
        padding:16px 0;
      }

      .nav-links{
        flex-wrap:wrap;
        justify-content:center;
        gap:16px;
      }

      .nav-cta{
        justify-content:center;
      }

      .services-grid,
      .featured-grid{
        grid-template-columns:1fr;
      }

      .contact-form .row{
        grid-template-columns:1fr;
      }

      .hero{
        padding-top:80px;
      }

      .hero-actions,
      .hero-mini-info{
        flex-direction:column;
        align-items:flex-start;
      }

      .hero-card-image{
        height:360px;
      }

      .hero-jewel{
        width:200px;
        height:200px;
      }

      .tag-top{
        right:0;
      }

      .tag-bottom{
        left:0;
      }

      .about-stats{
        grid-template-columns:1fr;
      }
    }

    @media (max-width: 560px){
      .section-head{
        margin-bottom:36px;
      }

      .service-card,
      .product-info,
      .about-card,
      .contact-card,
      .contact-info{
        padding:22px;
      }

      .hero-card{
        padding:16px;
      }

      .hero-card-image{
        height:300px;
        border-radius:22px;
      }

      .hero-jewel{
        width:160px;
        height:160px;
      }

      .floating-tag{
        font-size:.82rem;
        padding:10px 12px;
      }

      .cta-box{
        padding:40px 20px;
        border-radius:28px;
      }
    }


/* =========================
   PRELOADER BASE
========================= */
/* =========================
   PRELOADER MONARCA
========================= */
#preloader{
  position: fixed;
  inset: 0;
  z-index: 999999;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  opacity: 1;
  visibility: visible;
  transition: opacity .7s ease, visibility .7s ease;
}

/* fondo */
.preloader-overlay{
  position: absolute;
  inset: 0;
  background: #000;
}

/* centro */
/* centro */
.preloader-center{
  position: relative;
  z-index: 2;
  width: 320px;   /* 🔥 más grande */
  height: 320px;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* 🔥 ARO MÁS GRANDE */
.preloader-spin-ring{
  position: absolute;
  width: 260px;   /* 🔥 ahora sí cubre el logo */
  height: 260px;
  border-radius: 50%;

  border: 2px solid rgba(212, 171, 94, 0.15);
  border-top: 3px solid rgba(212, 171, 94, 0.95);
  border-right: 3px solid rgba(212, 171, 94, 0.45);

  animation: monarcaSpin 2.2s linear infinite;

  box-shadow:
    0 0 25px rgba(212, 171, 94, 0.18),
    0 0 60px rgba(212, 171, 94, 0.10);
}

/* 🔥 LOGO MÁS GRANDE */
.preloader-logo{
  position: relative;
  z-index: 2;

  width: 190px;   /* 🔥 tamaño real del logo */
  max-width: 80%;
  height: auto;

  display: block;
}

/* ocultar */
#preloader.hide{
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

@keyframes monarcaSpin{
  from{ transform: rotate(0deg); }
  to{ transform: rotate(360deg); }
}

/* opcional: evita scroll mientras carga */
body.loading{
  overflow: hidden;
}

/* móvil */
@media (max-width: 768px){
  .preloader-center{
    width: 240px;
    height: 240px;
  }

  .preloader-spin-ring{
    width: 190px;
    height: 190px;
  }

  .preloader-logo{
    width: 140px;
  }
}

/* =========================
   EFECTO FADE OUT
========================= */
#preloader.hide{
  opacity: 0;
  pointer-events: none;
  transition: opacity .6s ease;
}
/* =========================================
   MODAL CAREERS (FORMULARIO)
========================================= */
.careers-modal{
  position:fixed;
  inset:0;
  z-index:9999;
  display:flex;
  align-items:center;
  justify-content:center;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .35s ease, visibility .35s ease;
}

.careers-modal.active{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}

/* OVERLAY */
.careers-overlay{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.75);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}

/* CAJA PRINCIPAL */
.careers-content{
  position:relative;
  z-index:2;
  width:min(520px, 92%);
  padding:36px 30px 28px;
  border-radius:26px;

  background:linear-gradient(180deg,#111 0%, #0a0a0a 100%);
  border:1px solid rgba(220,171,94,.22);

  box-shadow:
    0 30px 90px rgba(0,0,0,.65),
    0 0 40px rgba(220,171,94,.08);

  transform:translateY(20px) scale(.96);
  transition:transform .35s ease;
}

.careers-modal.active .careers-content{
  transform:translateY(0) scale(1);
}

/* BOTÓN CERRAR */
.careers-close{
  position:absolute;
  top:14px;
  right:16px;
  width:36px;
  height:36px;
  border:none;
  background:transparent;
  color:#dcab5e;
  font-size:22px;
  cursor:pointer;
  transition:.25s;
}

.careers-close:hover{
  transform:scale(1.15);
  color:#f4d58f;
}

/* TITULOS */
.careers-content h2{
  font-family:'Cormorant Garamond', serif;
  font-size:2rem;
  margin-bottom:8px;
  color:#f5f1e8;
}

.careers-content p{
  color:#cfc6b4;
  font-size:.95rem;
  margin-bottom:22px;
}

/* FILAS */
.careers-row{
  display:flex;
  gap:10px;
  margin-bottom:14px;
}

.careers-row input{
  flex:1;
}

/* INPUTS */
.careers-form input,
.careers-form textarea{
  width:100%;
  height:46px;
  padding:0 14px;
  border-radius:12px;

  background:#0b0b0b;
  border:1px solid rgba(255,255,255,.08);
  color:#fff;

  font-size:.9rem;
  transition:.25s;
}

.careers-form textarea{
  height:90px;
  resize:none;
  padding:12px 14px;
}

.careers-form input:focus,
.careers-form textarea:focus{
  outline:none;
  border-color:#dcab5e;
  box-shadow:0 0 0 1px rgba(220,171,94,.25);
}

/* FILE UPLOAD */
.file-upload{
  margin:12px 0 14px;
}

.file-upload label{
  display:block;
  font-size:.8rem;
  margin-bottom:6px;
  color:#cfc6b4;
}

.file-upload input{
  padding:8px;
  height:auto;
  background:#0b0b0b;
  border:1px dashed rgba(220,171,94,.35);
}

/* BOTÓN */
.careers-form button{
  width:100%;
  height:48px;
  border:none;
  border-radius:999px;

  font-weight:700;
  letter-spacing:.08em;
  cursor:pointer;

  background:linear-gradient(180deg,#f4d58f 0%, #dcab5e 58%, #be8f46 100%);
  color:#111;

  transition:.25s;
}

.careers-form button:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 24px rgba(220,171,94,.25);
}

/* MENSAJES */
.careers-message{
  display:none;
  margin-top:8px;
  padding:10px 12px;
  border-radius:10px;
  font-size:.85rem;
}

.careers-message.show{
  display:block;
}

.careers-message.error{
  background:rgba(255,120,120,.08);
  border:1px solid rgba(255,120,120,.18);
  color:#ffb3b3;
}

/* DISABLED BUTTON */
.careers-form button[disabled]{
  opacity:.7;
  cursor:not-allowed;
}

/* RESPONSIVE */
@media (max-width:480px){
  .careers-content{
    padding:28px 20px 22px;
  }

  .careers-row{
    flex-direction:column;
  }
}
/* =========================================
   SUCCESS MODAL
========================================= */
/* MENSAJE DEL FORMULARIO DE POSTULACIÓN */
/* MENSAJE DEL FORMULARIO DE POSTULACIÓN */
.careers-message{
  display:none;
  margin-top:6px;
  padding:12px 14px;
  border-radius:14px;
  font-size:.92rem;
  line-height:1.5;
  border:1px solid transparent;
}

.careers-message.show{
  display:block;
}

.careers-message.error{
  background:rgba(255,120,120,.08);
  border-color:rgba(255,120,120,.18);
  color:#ffb3b3;
}

.careers-form button[disabled]{
  opacity:.7;
  cursor:not-allowed;
}

/* SUCCESS MODAL */
.success-modal{
  position:fixed;
  inset:0;
  z-index:99999;
  display:flex;
  align-items:center;
  justify-content:center;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .35s ease, visibility .35s ease;
}

.success-modal.active{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}

.success-overlay{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.76);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}

.success-box{
  position:relative;
  z-index:2;
  width:min(440px, 92%);
  padding:38px 30px 28px;
  text-align:center;
  border-radius:24px;
  background:linear-gradient(180deg,#111111 0%, #0a0a0a 100%);
  border:1px solid rgba(220,171,94,.24);
  box-shadow:
    0 28px 80px rgba(0,0,0,.60),
    0 0 38px rgba(220,171,94,.08);
  transform:translateY(16px) scale(.98);
  transition:transform .35s ease;
}

.success-modal.active .success-box{
  transform:translateY(0) scale(1);
}

.success-icon{
  width:74px;
  height:74px;
  margin:0 auto 18px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:34px;
  font-weight:800;
  color:#111;
  background:linear-gradient(180deg,#f4d58f 0%, #dcab5e 58%, #be8f46 100%);
  box-shadow:0 12px 28px rgba(220,171,94,.28);
}

.success-box h2{
  margin:0 0 10px;
  font-family:'Cormorant Garamond', serif;
  font-size:2.1rem;
  color:#f5f1e8;
}

.success-box p{
  margin:0 0 22px;
  color:#cfc6b4;
  line-height:1.7;
  font-size:1rem;
}

.success-box button{
  min-width:160px;
  height:48px;
  border:none;
  border-radius:999px;
  cursor:pointer;
  font-weight:700;
  letter-spacing:.08em;
  color:#111;
  background:linear-gradient(180deg,#f4d58f 0%, #dcab5e 58%, #be8f46 100%);
  transition:transform .25s ease, box-shadow .25s ease;
}

.success-box button:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 24px rgba(220,171,94,.22);
}

  :root{
    --bg:#070707;
    --bg-soft:#0d0d0d;
    --panel:#111111;

    --gold:#dcab5e;
    --gold-soft:#f3d79a;
    --gold-strong:#c89a45;

    --stroke:rgba(220,171,94,.18);
    --stroke-strong:rgba(220,171,94,.35);

    --white:#f8f6f1;
    --text:#eae7df;
    --muted:#b9b4a7;

    --container:1420px;
    --transition:all .35s ease;
  }


 
/* =========================================
   CATÁLOGO PRINCIPAL
========================================= */
/* =========================================
   CATÁLOGO PRINCIPAL
========================================= */
.catalog-section{
  padding:18px 0 44px;
}

.catalog-grid{
  display:grid;
  grid-template-columns:1.18fr 1fr 1.18fr;
  grid-template-rows:200px 200px 200px;
  gap:18px;
  width:100%;
}

/* =========================
   ESTADO INICIAL ANIMACIÓN
========================= */
.catalog-grid .card{
  position:relative;
  overflow:hidden;
  display:block;
  border-radius:4px;
  min-height:100%;
  border:1px solid rgba(255,255,255,.04);
  background:#0e0e0e;
  cursor:pointer;

  opacity:0;
  transform:translateY(34px);
  transition:
    opacity .95s ease,
    transform 1.05s cubic-bezier(.22,.61,.36,1);
}

.catalog-grid.is-visible .card{
  opacity:1;
  transform:translateY(0);
}

/* entrada escalonada por tarjeta */
.catalog-grid.is-visible .card:nth-child(1){ transition-delay:.10s; }
.catalog-grid.is-visible .card:nth-child(2){ transition-delay:.22s; }
.catalog-grid.is-visible .card:nth-child(3){ transition-delay:.34s; }
.catalog-grid.is-visible .card:nth-child(4){ transition-delay:.46s; }
.catalog-grid.is-visible .card:nth-child(5){ transition-delay:.58s; }

.card::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(to bottom, rgba(0,0,0,.05) 28%, rgba(0,0,0,.72) 100%);
  z-index:1;
}

.card::after{
  content:"";
  position:absolute;
  inset:14px;
  border:1px solid rgba(255,255,255,0);
  z-index:2;
  pointer-events:none;
  transition:all .38s ease;
}

/* =========================
   IMAGEN ENTRA PRIMERO
========================= */
.card img{
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:0;
  transform:scale(1.08);
  transition:
    opacity 1.1s ease,
    transform 1.35s cubic-bezier(.22,.61,.36,1);
}

.catalog-grid.is-visible .card img{
  opacity:1;
  transform:scale(1);
}

/* delays imagen */
.catalog-grid.is-visible .card:nth-child(1) img{ transition-delay:.18s; }
.catalog-grid.is-visible .card:nth-child(2) img{ transition-delay:.30s; }
.catalog-grid.is-visible .card:nth-child(3) img{ transition-delay:.42s; }
.catalog-grid.is-visible .card:nth-child(4) img{ transition-delay:.54s; }
.catalog-grid.is-visible .card:nth-child(5) img{ transition-delay:.66s; }

.card:hover img{
  transform:scale(1.06);
}

.card:hover::after{
  inset:18px;
  border:1px solid rgba(255,255,255,.70);
}

/* 🔥 LAYOUT NUEVO COMO LA PRUEBA */
.left{
  grid-column:1;
  grid-row:1 / span 3;
}

.top{
  grid-column:2;
  grid-row:1;
}

.bottom{
  grid-column:2;
  grid-row:2;
}

.full{
  grid-column:2;
  grid-row:3;
  overflow:hidden;
}

.right{
  grid-column:3;
  grid-row:1 / span 3;
}

/* 🔥 NIÑOS RECORTADO A LOS LADOS */
.full img{
  object-fit:cover;
  object-position:center center;
}

.full:hover img{
  transform:scale(1.08);
}

/* =========================
   CONTENIDO ENTRA DESPUÉS
========================= */
.card-content{
  position:absolute;
  left:30px;
  right:30px;
  bottom:26px;
  z-index:3;
}

.card-label,
.card-title,
.card-sub{
  opacity:0;
  transform:translateY(18px);
}

/* label */
.card-label{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-bottom:12px;
  padding:8px 14px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.06);
  backdrop-filter:blur(6px);
  color:#f7f1e6;
  font-size:.82rem;
  transition:
    opacity .7s ease,
    transform .85s cubic-bezier(.22,.61,.36,1),
    border-color .35s ease,
    background .35s ease;
}

.card:hover .card-label{
  transform:translateY(-3px);
  border-color:rgba(220,171,94,.60);
  background:rgba(220,171,94,.12);
}

.card-label i{
  color:var(--gold);
  font-size:.82rem;
}

/* title */
.card-title{
  font-family:'Cormorant Garamond', serif;
  font-size:clamp(1.9rem, 3vw, 3.6rem);
  line-height:.95;
  color:var(--white);
  text-shadow:0 10px 25px rgba(0,0,0,.38);
  transition:
    opacity .7s ease,
    transform .9s cubic-bezier(.22,.61,.36,1);
}

.card-title.small{
  font-size:clamp(1.5rem, 2vw, 2.15rem);
  line-height:1.05;
  max-width:88%;
}

/* sub */
.card-sub{
  margin-top:10px;
  color:rgba(255,255,255,.76);
  font-size:.96rem;
  line-height:1.6;
  max-width:90%;
  transition:
    opacity .7s ease,
    transform .95s cubic-bezier(.22,.61,.36,1);
}

/* activar textos */
.catalog-grid.is-visible .card .card-label,
.catalog-grid.is-visible .card .card-title,
.catalog-grid.is-visible .card .card-sub{
  opacity:1;
  transform:translateY(0);
}

/* secuencia interna por tarjeta */
.catalog-grid.is-visible .card:nth-child(1) .card-label{ transition-delay:.55s; }
.catalog-grid.is-visible .card:nth-child(1) .card-title{ transition-delay:.70s; }
.catalog-grid.is-visible .card:nth-child(1) .card-sub{ transition-delay:.85s; }

.catalog-grid.is-visible .card:nth-child(2) .card-label{ transition-delay:.67s; }
.catalog-grid.is-visible .card:nth-child(2) .card-title{ transition-delay:.82s; }

.catalog-grid.is-visible .card:nth-child(3) .card-label{ transition-delay:.79s; }
.catalog-grid.is-visible .card:nth-child(3) .card-title{ transition-delay:.94s; }

.catalog-grid.is-visible .card:nth-child(4) .card-label{ transition-delay:.91s; }
.catalog-grid.is-visible .card:nth-child(4) .card-title{ transition-delay:1.06s; }
.catalog-grid.is-visible .card:nth-child(4) .card-sub{ transition-delay:1.21s; }

.catalog-grid.is-visible .card:nth-child(5) .card-label{ transition-delay:1.03s; }
.catalog-grid.is-visible .card:nth-child(5) .card-title{ transition-delay:1.18s; }

/* 🔥 AJUSTE DE NIÑOS */
.full .card-content{
  left:50%;
  right:auto;
  transform:translateX(-50%);
  text-align:center;
  bottom:18px;
  width:calc(100% - 40px);
}

.full .card-title{
  font-size:clamp(1.8rem, 2.4vw, 2.45rem);
}
  /* =========================================
     SUBCATEGORÍAS
  ========================================= */
  .subcategory-section,
  .product-section{
    display:none;
    animation:fadeIn .35s ease;
  }

  .product-section{
    padding-top:6px;
  }

  .sub-header{
    text-align:center;
    margin-bottom:28px;
  }

  .product-header{
    text-align:center;
    margin-bottom:34px;
  }

  .back-btn{
    display:inline-flex;
    align-items:center;
    gap:10px;
    border:1px solid rgba(220,171,94,.35);
    background:rgba(255,255,255,.02);
    color:var(--gold-soft);
    padding:10px 16px;
    border-radius:999px;
    cursor:pointer;
    margin-bottom:18px;
    transition:.3s ease;
    font-size:.92rem;
  }

  .back-btn:hover{
    background:rgba(220,171,94,.10);
    transform:translateY(-2px);
  }

  .sub-kicker,
  .product-kicker{
    color:#dcab5e;
    letter-spacing:.24em;
    text-transform:uppercase;
    font-size:.74rem;
    margin-bottom:10px;
    font-weight:700;
  }

  .sub-title,
  .product-title{
    font-family:'Cormorant Garamond', serif;
    font-size:clamp(2.2rem,4vw,3.4rem);
    color:#dcab5e;
    margin-bottom:10px;
    line-height:.95;
    text-shadow:0 10px 24px rgba(0,0,0,.18);
  }

  .sub-text,
  .product-text{
    max-width:760px;
    margin:0 auto;
    color:rgba(255,250,242,.76);
    line-height:1.7;
    font-size:.97rem;
  }

  .sub-grid{
    display:grid;
    grid-template-columns:repeat(2, minmax(320px, 1fr));
    gap:18px;
    max-width:1380px;
    margin:0 auto;
  }

  .sub-card{
    position:relative;
    min-height:190px;
    overflow:hidden;
    background:linear-gradient(180deg, #f4efe7 0%, #ebe3d6 100%);
    border:1px solid rgba(195,119,45,.20);
    clip-path:polygon(
      20px 0,
      calc(100% - 20px) 0,
      100% 20px,
      100% calc(100% - 20px),
      calc(100% - 20px) 100%,
      20px 100%,
      0 calc(100% - 20px),
      0 20px
    );
    box-shadow:
      0 14px 30px rgba(0,0,0,.18),
      0 0 0 1px rgba(255,255,255,.35) inset,
      inset 0 1px 0 rgba(255,255,255,.55);
    transition:
      transform .35s ease,
      box-shadow .35s ease,
      border-color .35s ease;
    cursor:pointer;
  }

  .sub-card::before{
    content:"";
    position:absolute;
    inset:9px;
    clip-path:polygon(
      14px 0,
      calc(100% - 14px) 0,
      100% 14px,
      100% calc(100% - 14px),
      calc(100% - 14px) 100%,
      14px 100%,
      0 calc(100% - 14px),
      0 14px
    );
    border:1px solid rgba(195,119,45,.14);
    pointer-events:none;
    z-index:1;
  }

  .sub-card::after{
    content:"";
    position:absolute;
    inset:0;
    background:radial-gradient(circle at top right, rgba(195,119,45,.06), transparent 34%);
    pointer-events:none;
    z-index:0;
  }

  .sub-card:hover{
    transform:translateY(-6px);
    border-color:rgba(195,119,45,.38);
    box-shadow:
      0 22px 42px rgba(0,0,0,.24),
      0 0 26px rgba(195,119,45,.10),
      0 0 0 1px rgba(255,255,255,.38) inset;
  }

  .sub-card-image{
    position:absolute;
    left:16px;
    top:50%;
    transform:translateY(-50%);
    width:124px;
    height:124px;
    border-radius:16px;
    overflow:hidden;
    box-shadow:
      0 10px 22px rgba(0,0,0,.14),
      0 0 0 1px rgba(195,119,45,.12);
    background:linear-gradient(180deg, #d8cfbf 0%, #cec3b2 100%);
    z-index:2;
  }

  .sub-card-image img{
    width:100%;
    height:100%;
    object-fit:contain;
    padding:10px;
    transition:transform .35s ease;
  }

  .sub-card:hover .sub-card-image img{
    transform:scale(1.07);
  }

  .sub-card-content{
    position:relative;
    z-index:2;
    min-height:190px;
    padding:18px 20px 18px 160px;
    display:flex;
    flex-direction:column;
    justify-content:center;
  }

  .sub-card-offer{
    display:block;
    margin-bottom:6px;
    color:#c3772d;
    font-size:.74rem;
    font-weight:700;
    letter-spacing:.16em;
    text-transform:uppercase;
  }

  .sub-card-title{
    font-family:'Cormorant Garamond', serif;
    font-size:clamp(1.7rem, 2.2vw, 2.15rem);
    line-height:.95;
    color:#16120d;
    margin-bottom:8px;
  }

  .sub-card-desc{
    color:#453d33;
    font-size:.90rem;
    line-height:1.48;
    max-width:95%;
    margin-bottom:14px;
  }

  .sub-card-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    align-self:flex-start;
    min-width:158px;
    min-height:42px;
    padding:0 18px;
    background:linear-gradient(180deg, #2e2e2e 0%, #1f1f1f 100%);
    color:#fff;
    font-weight:600;
    font-size:.92rem;
    letter-spacing:.01em;
    border:1px solid rgba(0,0,0,.18);
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.08),
      0 6px 14px rgba(0,0,0,.12);
    transition:.3s ease;
  }

  .sub-card-btn:hover{
    background:linear-gradient(180deg, #3a3a3a 0%, #232323 100%);
    transform:translateY(-2px);
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.09),
      0 10px 18px rgba(0,0,0,.16);
  }

  /* =========================================
     PRODUCTOS
  ========================================= */
  .product-grid{
    display:grid;
    grid-template-columns:repeat(4, minmax(200px, 1fr));
    gap:28px;
    max-width:1380px;
    margin:0 auto;
    padding-top:12px;
  }

  .product-card{
    position:relative;
    text-align:center;
    cursor:pointer;
    transition:transform .35s ease;
  }

  .product-card:hover{
    transform:translateY(-6px);
  }

  .product-thumb{
    position:relative;
    width:100%;
    aspect-ratio:1 / 1;
    overflow:hidden;
    background:linear-gradient(180deg, #efe7dc 0%, #e2d7c9 100%);
    clip-path:polygon(
      30% 0%,
      70% 0%,
      100% 30%,
      100% 70%,
      70% 100%,
      30% 100%,
      0% 70%,
      0% 30%
    );
    box-shadow:
      0 18px 38px rgba(0,0,0,.18),
      0 0 0 1px rgba(255,255,255,.22) inset,
      inset 0 1px 0 rgba(255,255,255,.45);
    margin-bottom:18px;
    transition:
      transform .38s ease,
      box-shadow .38s ease,
      filter .38s ease;
  }

  .product-thumb::before{
    content:"";
    position:absolute;
    inset:10px;
    clip-path:polygon(
      30% 0%,
      70% 0%,
      100% 30%,
      100% 70%,
      70% 100%,
      30% 100%,
      0% 70%,
      0% 30%
    );
    border:1px solid rgba(255,255,255,.28);
    pointer-events:none;
    z-index:2;
  }

  .product-thumb::after{
    content:"";
    position:absolute;
    inset:0;
    background:
      radial-gradient(circle at top, rgba(255,255,255,.32), transparent 34%),
      linear-gradient(to bottom, rgba(255,255,255,.02), rgba(0,0,0,.04));
    pointer-events:none;
    z-index:1;
  }

  .product-thumb img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .55s ease;
  }

  .product-card:hover .product-thumb{
    transform:translateY(-4px) scale(1.015);
    box-shadow:
      0 24px 44px rgba(0,0,0,.24),
      0 0 24px rgba(220,171,94,.14),
      0 0 0 1px rgba(255,255,255,.28) inset;
    filter:saturate(1.02);
  }

  .product-card:hover .product-thumb img{
    transform:scale(1.06);
  }

  .product-info{
    position:relative;
    padding:0 8px;
  }

  .product-name{
    display:block;
    font-family:'Cormorant Garamond', serif;
    font-size:1.55rem;
    line-height:1;
    color:#f7f1e8;
    margin-bottom:6px;
    text-shadow:0 8px 18px rgba(0,0,0,.18);
  }

  .product-meta{
    display:block;
    font-size:.98rem;
    color:rgba(255,255,255,.74);
    line-height:1.45;
  }

  .product-card:hover .product-name{
    color:#fff8ef;
  }

  .product-card:hover .product-meta{
    color:rgba(255,255,255,.84);
  }

  /* =========================================
     CTA CENTRAL
  ========================================= */
.catalog-cta-premium{
  position:relative;
  padding:44px 0 54px;
  background:
    linear-gradient(180deg, #050505 0%, #070707 100%);
  overflow:hidden;
}

  .catalog-cta-shell.centered-cta{
    position:relative;
    max-width:1320px;
    margin:0 auto;
    padding:34px 54px;
    text-align:center;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:0;
    border-radius:34px;
    background:
      linear-gradient(135deg, rgba(255,255,255,.02), rgba(255,255,255,.006)),
      radial-gradient(circle at 50% 0%, rgba(220,171,94,.08), transparent 38%),
      linear-gradient(180deg, rgba(13,13,13,.98), rgba(6,6,6,.98));
    border:1px solid rgba(220,171,94,.16);
    box-shadow:
      0 26px 70px rgba(0,0,0,.55),
      0 8px 30px rgba(220,171,94,.05),
      inset 0 1px 0 rgba(255,255,255,.04);
    overflow:hidden;
  }

  .catalog-cta-shell.centered-cta::before{
    content:"";
    position:absolute;
    inset:14px;
    border-radius:26px;
    border:1px solid rgba(220,171,94,.08);
    pointer-events:none;
  }

  .catalog-cta-shell.centered-cta::after{
    content:"";
    position:absolute;
    left:50%;
    top:-90px;
    transform:translateX(-50%);
    width:520px;
    height:220px;
    background:radial-gradient(circle, rgba(220,171,94,.16), transparent 72%);
    filter:blur(34px);
    pointer-events:none;
  }

  .catalog-cta-mini{
    position:relative;
    z-index:2;
    display:block;
    margin:0 0 2px 0;
    line-height:1;
    font-size:.72rem;
    letter-spacing:.42em;
    text-transform:uppercase;
    color:#dcab5e;
  }

  .catalog-cta-heading{
    position:relative;
    z-index:2;
    max-width:640px;
    margin:0 auto 10px;
    line-height:.88;
    font-family:'Cormorant Garamond', serif;
    font-size:clamp(2.6rem, 5vw, 4.4rem);
    font-weight:600;
    color:#f8f3ea;
    letter-spacing:-.02em;
    transform:translateY(-2px);
  }

  .catalog-cta-heading span{
    color:#dcab5e;
  }

  .catalog-cta-desc{
    position:relative;
    z-index:2;
    max-width:700px;
    margin:16px auto 20px;
    font-size:1rem;
    line-height:1.75;
    color:rgba(248,243,234,.75);
  }

  .catalog-cta-line{
    display:none;
  }

  .catalog-cta-actions{
    position:relative;
    z-index:2;
    display:flex;
    justify-content:center;
    align-items:center;
    flex-wrap:wrap;
    gap:14px;
    margin-top:13px;
  }

  .hero-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:210px;
    min-height:52px;
    padding:0 26px;
    border-radius:4px;
    text-decoration:none;
    font-weight:600;
    font-size:.95rem;
    letter-spacing:.3px;
    transition:all .3s ease;
  }

.hero-btn-primary{
  color:#1a1a1a;

  /* 🔥 dorado real (no transparente) */
  background:linear-gradient(
    180deg,
    #f5d48a 0%,
    #e0b45e 40%,
    #dcab5e 65%,
    #b98a3c 100%
  );

  border:1px solid rgba(255,230,180,.35);

  box-shadow:
    0 10px 24px rgba(0,0,0,.45),
    inset 0 1px 0 rgba(255,255,255,.35),
    inset 0 -2px 6px rgba(0,0,0,.25);
}

/* brillo superior tipo metal */
.hero-btn-primary::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;

  background:linear-gradient(
    180deg,
    rgba(255,255,255,.35) 0%,
    rgba(255,255,255,.15) 25%,
    transparent 60%
  );
}

/* hover elegante */
.hero-btn-primary:hover{
  transform:translateY(-2px) scale(1.02);

  box-shadow:
    0 14px 34px rgba(0,0,0,.55),
    0 0 20px rgba(220,171,94,.25),
    inset 0 1px 0 rgba(255,255,255,.4);
}

  .hero-btn-secondary{
    color:#cfc6b4;
    background:transparent;
    border:1px solid rgba(255,255,255,.10);
  }

  .hero-btn-secondary:hover{
    transform:translateY(-2px);
    border-color:#dcab5e;
    color:#f1e7d0;
  }

 

  /* =========================================
     RESPONSIVE
  ========================================= */
  @media (max-width:1100px){
   


    .sub-grid{
      grid-template-columns:1fr;
      gap:14px;
    }

    .product-grid{
      grid-template-columns:repeat(3, 1fr);
      gap:24px;
    }
  }

  @media (max-width:980px){
    .catalog-grid{
      grid-template-columns:1fr;
      grid-template-rows:auto;
    }

    .left,.top,.bottom,.right,.full{
      grid-column:auto;
      grid-row:auto;
      height:360px;
    }

    .full{
      height:210px;
    }
  }

  @media (max-width:900px){
    

    .product-modal-body{
      grid-template-columns:1fr;
    }

    .product-modal-gallery{
      grid-template-columns:1fr;
      padding:20px;
      border-right:none;
      border-bottom:1px solid rgba(220,171,94,.08);
    }

    .product-modal-thumbs{
      flex-direction:row;
      padding-right:0;
      overflow:auto;
    }

    .product-modal-thumb{
      min-width:84px;
      width:84px;
    }

    .product-modal-main{
      min-height:360px;
    }

    .product-modal-info{
      padding:28px 20px 24px;
    }
  }

  @media (max-width:768px){
    .catalog-cta-premium{
      padding:40px 0 50px;
    }

    .catalog-cta-shell.centered-cta{
      padding:30px 18px;
      border-radius:22px;
    }

    .catalog-cta-mini{
      margin:0 0 4px 0;
      line-height:1;
      font-size:.68rem;
      letter-spacing:.34em;
    }

    .catalog-cta-heading{
      font-size:clamp(2.1rem, 10vw, 3.2rem);
      line-height:.95;
    }

    .catalog-cta-desc{
      font-size:.95rem;
      line-height:1.7;
    }

    .hero-btn{
      width:100%;
      max-width:280px;
    }

    .product-grid{
      grid-template-columns:repeat(2, 1fr);
      gap:20px;
    }

    .product-name{
      font-size:1.3rem;
    }

    .product-meta{
      font-size:.90rem;
    }
  }

  @media (max-width:700px){
    .catalog-section{
      padding:24px 0 34px;
    }

    .card-content{
      left:20px;
      right:20px;
      bottom:20px;
    }

    .card-title{
      font-size:clamp(1.9rem, 7vw, 2.8rem);
    }

    .card-title.small{
      font-size:clamp(1.35rem, 5vw, 1.9rem);
      max-width:100%;
    }

    .sub-card{
      min-height:170px;
      clip-path:polygon(
        16px 0,
        calc(100% - 16px) 0,
        100% 16px,
        100% calc(100% - 16px),
        calc(100% - 16px) 100%,
        16px 100%,
        0 calc(100% - 16px),
        0 16px
      );
    }

    .sub-card::before{
      inset:7px;
      clip-path:polygon(
        12px 0,
        calc(100% - 12px) 0,
        100% 12px,
        100% calc(100% - 12px),
        calc(100% - 12px) 100%,
        12px 100%,
        0 calc(100% - 12px),
        0 12px
      );
    }

    .sub-card-image{
      width:98px;
      height:98px;
      left:12px;
    }

    .sub-card-content{
      min-height:170px;
      padding:14px 14px 14px 122px;
    }

    .sub-card-title{
      font-size:1.5rem;
    }

    .sub-card-desc{
      font-size:.84rem;
    }

    .product-grid{
      grid-template-columns:repeat(2, 1fr);
      gap:16px;
    }

    .product-name{
      font-size:1.2rem;
    }

 
  }

  @media (max-width:560px){
   

    .sub-grid{
      grid-template-columns:1fr;
    }

    .sub-card{
      min-height:260px;
    }

    .sub-card-image{
      left:50%;
      top:20px;
      transform:translateX(-50%);
      width:92px;
      height:92px;
    }

    .sub-card-content{
      min-height:260px;
      padding:124px 16px 20px;
      text-align:center;
      align-items:center;
    }

    .sub-card-btn{
      align-self:center;
    }

    .product-grid{
      grid-template-columns:1fr;
      gap:24px;
      max-width:330px;
    }

    .product-thumb{
      margin-bottom:14px;
    }

    .product-name{
      font-size:1.4rem;
    }

    .footer-luxury{
      padding-top:64px;
    }

    .product-modal{
      padding:14px;
    }

    .product-modal-dialog{
      border-radius:14px;
    }

    .product-modal-main{
      min-height:280px;
    }

    .product-modal-title{
      font-size:2rem;
    }

    .product-spec{
      padding:12px 14px;
    }

    .product-spec-label,
    .product-spec-value{
      font-size:.88rem;
    }

    .product-modal-btn{
      width:100%;
    }
  }

  /* =========================================
   MODAL DE PRODUCTO
========================================= */
.product-modal{
  position:fixed;
  inset:0;
  z-index:3000;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:28px;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .35s ease, visibility .35s ease;
}

.product-modal.active{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}

.product-modal-overlay{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.78);
}

.product-modal-dialog{
  position:relative;
  z-index:2;
  width:min(1120px, 100%);
  max-height:90vh;
  overflow:hidden;
  border-radius:18px;
  border:1px solid rgba(220,171,94,.25);
  background:
    radial-gradient(circle at top, rgba(220,171,94,.06), transparent 30%),
    linear-gradient(180deg, #0f0f0f 0%, #070707 100%);
  box-shadow:
    0 30px 80px rgba(0,0,0,.65),
    0 0 24px rgba(220,171,94,.06);
  transform:translateY(18px) scale(.98);
  transition:transform .35s ease;
}

.product-modal.active .product-modal-dialog{
  transform:translateY(0) scale(1);
}

.product-modal-close{
  position:absolute;
  top:18px;
  right:18px;
  width:46px;
  height:46px;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  border:1px solid rgba(220,171,94,.20);
  background:#111;
  color:#f5efe2;
  font-size:1rem;
  transition:.28s ease;
  z-index:5;
}

.product-modal-close:hover{
  border-color:#dcab5e;
  color:#dcab5e;
  background:#161616;
  transform:rotate(90deg);
}

.product-modal-body{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  min-height:620px;
}

.product-modal-gallery{
  display:grid;
  grid-template-columns:110px 1fr;
  gap:18px;
  padding:30px;
  background:linear-gradient(180deg, #101010 0%, #0b0b0b 100%);
  border-right:1px solid rgba(220,171,94,.08);
  align-items:start;
}



.product-modal-gallery.two-images{
  grid-template-columns:84px 1fr;
}

.product-modal-gallery.two-images .product-modal-thumbs{
  gap:10px;
}

.product-modal-gallery.two-images .product-modal-thumb{
  width:84px;
}


.product-modal-thumbs{
  display:flex;
  flex-direction:column;
  gap:12px;
  overflow-y:auto;
  overflow-x:hidden;
  padding-right:4px;
  align-self:start;
}

.product-modal-thumb{
  width:100%;
  aspect-ratio:1/1;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.08);
  background:#151515;
  cursor:pointer;
  transition:.28s ease;
  flex:0 0 auto;
}

.product-modal-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.product-modal-thumb.active,
.product-modal-thumb:hover{
  border-color:#dcab5e;
  box-shadow:0 0 0 1px rgba(220,171,94,.18);
  transform:translateY(-2px);
}

.product-modal-main{
  position:relative;
  overflow:hidden;
  min-height:560px;
  background:#111;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.04),
    0 18px 36px rgba(0,0,0,.35);
  display:flex;
  align-items:center;
  justify-content:center;
}

.product-modal-main img{
  width:100%;
  height:100%;
  object-fit:contain; /* 🔥 importante: mejor para piezas */
  display:block;
}

.product-modal-info{
  padding:42px 34px 34px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  background:linear-gradient(180deg, #090909 0%, #050505 100%);
}

.product-modal-kicker{
  display:block;
  margin-bottom:10px;
  color:#dcab5e;
  font-size:.75rem;
  letter-spacing:.28em;
  text-transform:uppercase;
}

.product-modal-title{
  font-family:'Cormorant Garamond', serif;
  font-size:clamp(2.2rem, 4vw, 3.5rem);
  color:#dcab5e;
  line-height:.95;
  margin-bottom:16px;
}

.product-modal-desc{
  color:rgba(255,255,255,.70);
  line-height:1.8;
  font-size:.97rem;
  margin-bottom:24px;
  max-width:460px;
}

.product-specs{
  display:grid;
  gap:12px;
  margin-bottom:28px;
}

.product-spec{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:14px 16px;
  background:#101010;
  border:1px solid rgba(255,255,255,.06);
}

.product-spec-label{
  color:rgba(255,255,255,.66);
  font-size:.92rem;
}

.product-spec-value{
  color:#f5ecdb;
  font-weight:600;
  letter-spacing:.02em;
}

.product-modal-actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:12px;
}

.product-modal-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:50px;
  padding:0 24px;
  font-weight:600;
  font-size:.84rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  transition:.28s ease;
  border-radius:4px;
}

.product-modal-btn.primary{
  background:#dcab5e;
  color:#111;
  border:1px solid #dcab5e;
  box-shadow:0 6px 18px rgba(220,171,94,.35);
}

.product-modal-btn.primary:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 24px rgba(220,171,94,.42);
}

.product-modal-btn.secondary{
  background:transparent;
  color:#f3ead7;
  border:1px solid rgba(255,255,255,.12);
}

.product-modal-btn.secondary:hover{
  transform:translateY(-2px);
  border-color:#dcab5e;
  color:#dcab5e;
  background:rgba(220,171,94,.06);
}

/* =========================================
   BOTONES FLOTANTES DE VOLVER
========================================= */
.subcategory-section,
.product-section{
  position:relative;
}

.floating-back-btn{
  position:fixed !important;
  left:20px !important;
  bottom:30px !important;
  top:auto !important;
  right:auto !important;
  z-index:1200;

  display:inline-flex;
  align-items:center;
  gap:10px;

  padding:12px 18px;
  border-radius:999px;
  border:1px solid rgba(220,171,94,.35);

  background:rgba(10,10,10,.85);
  color:#fff9f2;

  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);

  box-shadow:
    0 10px 30px rgba(0,0,0,.45),
    0 0 25px rgba(220,171,94,.15);

  font-family:'Inter', sans-serif;
  font-size:.94rem;
  font-weight:600;
  letter-spacing:.01em;
  cursor:pointer;

  transition:
    transform .25s ease,
    box-shadow .25s ease,
    border-color .25s ease,
    background .25s ease,
    opacity .25s ease,
    visibility .25s ease;
}

.floating-back-btn i{
  color:#dcab5e;
  font-size:.95rem;
}

.floating-back-btn:hover{
  transform:translateY(-3px);
  border-color:rgba(220,171,94,.6);
  background:rgba(16,16,16,.92);
  box-shadow:
    0 16px 40px rgba(0,0,0,.6),
    0 0 30px rgba(220,171,94,.25);
}

.subcategory-section .floating-back-btn,
.product-section .floating-back-btn{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}

.subcategory-section.active .floating-back-btn,
.product-section.active .floating-back-btn{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}

/* =========================================
   TITULOS DE PRODUCTOS EN ORO
========================================= */
.product-name{
  color:#dcab5e !important;
  font-weight:600;
  letter-spacing:.02em;
}


/* =========================================
   AJUSTES CATÁLOGO
   - sin cuadro blanco hover en móvil
   - más separación arriba en escritorio
   - "Niños" alineado a la izquierda en escritorio
   - títulos un poco más grandes en móvil
========================================= */

/* escritorio: separar catálogo del navbar */
@media (min-width: 981px){
  .catalog-section{
    margin-top: 92px;
  }

  /* niños alineado igual que las demás categorías */
  .full .card-content{
    left: 30px;
    right: 30px;
    width: auto;
    transform: none;
    text-align: left;
    bottom: 26px;
  }

  .full .card-title{
    font-size: clamp(1.95rem, 2.7vw, 2.8rem);
  }
}

/* móvil/tablet: quitar cuadro blanco hover + subir un poco títulos */
@media (max-width: 980px){

  /* quitar marco blanco solo en móvil */
  .card:hover::after{
    inset: 14px;
    border: 1px solid rgba(255,255,255,0);
  }

  /* evitar efecto hover visual molesto en touch */
  .card:hover img{
    transform: none;
  }

  .card:hover .card-label{
    transform: none;
    border-color: rgba(255,255,255,.14);
    background: rgba(255,255,255,.06);
  }

  /* títulos más grandes en móvil */
  .card-title{
    font-size: clamp(2.15rem, 8vw, 3.15rem);
  }

  .card-title.small{
    font-size: clamp(1.7rem, 6vw, 2.2rem);
    line-height: 1.05;
    max-width: 100%;
  }
}

/* móvil pequeño: subir un poco más los títulos */
@media (max-width: 700px){
  .card-title{
    font-size: clamp(2.25rem, 8.6vw, 3.2rem);
  }

  .card-title.small{
    font-size: clamp(1.8rem, 6.6vw, 2.25rem);
  }
}

@media (max-width:700px){
  .sub-card-desc,
  .sub-card-offer{
    display:none !important;
  }

  .sub-card-image{
    width:120px !important;
    height:120px !important;
  }

  .sub-card-title{
    font-size:1.45rem !important;
  }

  .sub-card:hover{
    transform:none !important;
  }

  .sub-card:hover .sub-card-image,
  .sub-card:hover img{
    transform:none !important;
  }
}

/* =========================================
   FIX FINAL · SUBCATEGORÍAS 3 POR FILA DESKTOP
   PEGAR AL FINAL DEL CSS
========================================= */
@media (min-width: 981px){

  .subcategory-section .sub-grid,
  #subcategorySection #subGrid{
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 18px !important;
    max-width: 100% !important;
    width: 100% !important;
  }

  .subcategory-section .sub-card{
    width: 100% !important;
    min-width: 0 !important;
    min-height: 190px !important;
  }

  .subcategory-section .sub-card-image{
    width: 92px !important;
    height: 92px !important;
    left: 16px !important;
  }

  .subcategory-section .sub-card-content{
    padding-left: 126px !important;
    padding-right: 18px !important;
  }

  .subcategory-section .sub-card-title{
    font-size: clamp(1.65rem, 1.8vw, 2.05rem) !important;
  }

  .subcategory-section .sub-card-desc{
    font-size: .88rem !important;
    line-height: 1.45 !important;
  }
}

@media (min-width:981px){
  #subGrid{
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
    gap:18px !important;
  }

  #subGrid .sub-card{
    min-height:190px !important;
    padding:22px 20px !important;
  }

  #subGrid .sub-card-image{
    width:115px !important;
    height:115px !important;
  }

  #subGrid .sub-card-title{
    font-size:2rem !important;
  }

  #subGrid .sub-card-desc{
    font-size:.9rem !important;
  }
}