:root {
  --gold:        #B37E10;
  --gold-light:  #F8DD7B;
  --gold-mid:    #D4A843;
  --black:       #000000;
  --black-soft:  #0d0d0d;
  --black-card:  #111111;
  --white:       #FFFFFF;
  --border-gold: rgba(212,168,67,0.35);
  --gold-readable: #F8DD7B;
}

*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
  background:var(--black);
  color:var(--white);
  font-family:'Montserrat',sans-serif;
  font-weight:300;
  overflow-x:hidden
}

/* ── CURSOR ── */

/* ── NAV ── */

/* ═══════════════════════════════════════
   HERO — con foto impactante
   La foto ocupa todo el fondo a pantalla completa.
   El overlay oscuro garantiza legibilidad del texto.
════════════════════════════════════════ */
.vg-hero {
  min-height:100vh;
  position:relative;
  display:flex;
  align-items:flex-end;
  justify-content:flex-start;
  text-align:left;
  overflow:hidden;
}

/* Contenedor de la foto */
.vg-hero-photo {
  position:absolute;inset:0;z-index:0;
  background:#0a0a0a;
}
.vg-hero-photo img {
  width:100%;height:100%;
  object-fit:cover;
  object-position:center 15%; /* muestra la parte superior — rostro/busto */
  display:block;
  transform-origin:center 20%;
  animation:heroZoom 12s ease-out forwards;
}
@keyframes heroZoom {
  from { transform:scale(1.08); }
  to   { transform:scale(1);    }
}

/* Overlay en capas — lateral izquierdo más oscuro para el texto, derecho más claro para ver la foto */
.vg-hero-overlay {
  position:absolute;inset:0;z-index:1;
  background:
    linear-gradient(to right,
      rgba(0,0,0,.72) 0%,
      rgba(0,0,0,.45) 45%,
      rgba(0,0,0,.18) 75%,
      rgba(0,0,0,.35) 100%),
    linear-gradient(to bottom,
      rgba(0,0,0,.55) 0%,
      rgba(0,0,0,.08) 30%,
      rgba(0,0,0,.08) 65%,
      rgba(0,0,0,.72) 100%);
}

/* Línea dorada superior */
.vg-hero-deco {
  position:absolute;top:0;left:0;right:0;height:2px;z-index:3;
  background:linear-gradient(to right,transparent,var(--gold-mid),var(--gold-light),var(--gold-mid),transparent);
  opacity:.55;
}

/* Contenido alineado abajo-izquierda */
.vg-hero-inner {
  position:relative;z-index:2;
  max-width:600px;width:100%;
  padding:9rem 6rem 6rem 6rem;
  /* padding-bottom generoso para que los botones no choquen con el scroll hint */
}

.vg-eyebrow {
  font-size:.65rem;letter-spacing:.42em;text-transform:uppercase;
  color:var(--gold-readable);
  margin-bottom:1.5rem;
  display:flex;align-items:center;gap:1rem;
  justify-content:flex-start;
  opacity:0;animation:fadeUp .6s .2s forwards;
  font-weight:400;
}
.vg-eyebrow::before {
  content:'';width:36px;height:1px;background:rgba(248,221,123,.5);flex-shrink:0;
}
.vg-eyebrow::after { display:none; }

.vg-hero-title {
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(3.8rem,8vw,7.5rem);
  font-weight:300;line-height:.92;
  margin-bottom:1.5rem;
  opacity:0;animation:fadeUp .8s .35s forwards;
}
.vg-hero-title span { display:block;color:#fff; }
.vg-hero-title em {
  display:block;font-style:italic;
  background:linear-gradient(135deg,var(--gold-mid) 0%,var(--gold-light) 55%,var(--gold-mid) 100%);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
}

.vg-hero-line {
  width:60px;height:1px;
  background:linear-gradient(to right,var(--gold-mid),transparent);
  margin:0 0 1.5rem;
  opacity:0;animation:fadeUp .5s .5s forwards;
}

.vg-hero-sub {
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(1rem,1.8vw,1.2rem);
  font-style:italic;
  color:rgba(255,255,255,.88);
  max-width:460px;
  line-height:1.8;
  margin:0 0 2.5rem;
  opacity:0;animation:fadeUp .7s .6s forwards;
  text-shadow:0 2px 20px rgba(0,0,0,.6);
}

.vg-hero-cta {
  display:flex;gap:1rem;justify-content:flex-start;flex-wrap:wrap;
  opacity:0;animation:fadeUp .7s .8s forwards;
}

/* Scroll hint — fuera del flujo flex, posición absoluta pura */
.vg-scroll {
  position:absolute;
  bottom:2.5rem;
  right:4rem;
  display:flex;flex-direction:column;align-items:center;gap:.5rem;
  z-index:3;
  opacity:0;
  animation:fadeUp .6s 1.4s forwards, pulse 2.5s 2.5s infinite;
  pointer-events:none;
}
.vg-scroll span { font-size:.58rem;letter-spacing:.35em;text-transform:uppercase;color:rgba(248,221,123,.88);font-weight:400; }
.vg-scroll-line { width:1px;height:36px;background:linear-gradient(to bottom,rgba(248,221,123,.65),transparent); }

/* ── BUTTONS ── */
.btn-gold {
  padding:.85rem 2.5rem;
  background:linear-gradient(135deg,var(--gold),var(--gold-light));
  color:#000;font-size:.7rem;letter-spacing:.25em;text-transform:uppercase;
  font-weight:600;text-decoration:none;font-family:'Montserrat',sans-serif;
  transition:all .3s;display:inline-block;
}
.btn-gold:hover { opacity:.9;transform:translateY(-2px); }
.btn-ghost {
  padding:.85rem 2.5rem;background:transparent;
  color:var(--gold-readable);font-size:.7rem;letter-spacing:.25em;text-transform:uppercase;
  font-weight:400;text-decoration:none;border:1px solid rgba(248,221,123,.55);
  font-family:'Montserrat',sans-serif;transition:all .3s;display:inline-block;
}
.btn-ghost:hover { border-color:var(--gold-readable);color:#fff;transform:translateY(-2px); }

/* ── GOLD SEP ── */
.gold-sep {
  width:100%;height:1px;
  background:linear-gradient(to right,transparent,var(--gold-mid),var(--gold-light),var(--gold-mid),transparent);
  opacity:.28;
}

/* ── INTRO ── */
.vg-intro-section { background:var(--black); }
.vg-intro {
  padding:7rem 6rem;max-width:1100px;margin:0 auto;
  display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:center;
}
.vg-intro-label {
  font-size:.65rem;letter-spacing:.3em;text-transform:uppercase;
  color:var(--gold-readable);margin-bottom:1.5rem;
  display:flex;align-items:center;gap:.75rem;font-weight:400;
}
.vg-intro-label::before { content:'✦';font-size:.6rem; }
.vg-intro-title {
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(1.8rem,3vw,2.8rem);
  font-weight:300;line-height:1.15;margin-bottom:2rem;color:#fff;
}
.vg-intro-title em {
  font-style:italic;
  background:linear-gradient(135deg,var(--gold-mid),var(--gold-light));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
}
.vg-intro-p {
  font-size:.82rem;line-height:2;
  color:rgba(255,255,255,.82);letter-spacing:.02em;margin-bottom:1rem;
}
.vg-intro-p strong { color:var(--gold-readable);font-weight:400; }
.vg-intro-stats {
  display:flex;align-items:center;gap:2rem;margin-top:2.5rem;flex-wrap:wrap;
}
.vg-stat { text-align:center; }
.vg-stat-n {
  font-family:'Cormorant Garamond',serif;font-size:2rem;font-weight:300;
  background:linear-gradient(135deg,var(--gold-mid),var(--gold-light));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  display:block;line-height:1;
}
.vg-stat-l {
  font-size:.55rem;letter-spacing:.22em;text-transform:uppercase;
  color:rgba(255,255,255,.72);margin-top:.3rem;font-weight:400;
}
.vg-stat-div { width:1px;height:2.5rem;background:rgba(212,168,67,.22); }
.vg-visual-box {
  border:1px solid var(--border-gold);
  padding:3rem;
  background:rgba(179,126,16,.03);
  position:relative;
}
.vg-visual-box::before {
  content:'';position:absolute;top:-1rem;left:-1rem;right:1rem;bottom:1rem;
  border:1px solid rgba(212,168,67,.35);z-index:0;pointer-events:none;
}
.vg-visual-icon {
  font-size:3.5rem;display:block;text-align:center;margin-bottom:2rem;opacity:.75;
}
.vg-visual-quote {
  font-family:'Cormorant Garamond',serif;
  font-size:1.25rem;font-style:italic;
  color:rgba(255,255,255,.82);text-align:center;line-height:1.75;
  position:relative;z-index:1;
}
.vg-visual-quote::before {
  content:'"';font-size:4.5rem;line-height:.15;
  background:linear-gradient(135deg,var(--gold),var(--gold-light));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  display:block;margin-bottom:.85rem;opacity:.4;
}

/* ── CARACTERÍSTICAS ── */
.vg-features {
  padding:7rem 6rem;
  background:var(--black-soft);
}
.vg-features-inner { max-width:1100px;margin:0 auto; }
.vg-features-header { text-align:center;margin-bottom:4rem; }
.vg-section-label {
  font-size:.65rem;letter-spacing:.3em;text-transform:uppercase;
  color:var(--gold-readable);margin-bottom:1rem;
  display:flex;align-items:center;justify-content:center;gap:.75rem;font-weight:400;
}
.vg-section-label::before { content:'✦';font-size:.6rem; }
.vg-section-title {
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(2rem,3.5vw,3rem);
  font-weight:300;line-height:1.1;color:#fff;
}
.vg-section-title em {
  font-style:italic;
  background:linear-gradient(135deg,var(--gold-mid),var(--gold-light));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
}
.vg-features-grid {
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:1px;background:var(--border-gold);
  border:1px solid var(--border-gold);
}
.vg-feat-card {
  background:var(--black);padding:2.5rem 2rem;
  transition:background .3s;position:relative;overflow:hidden;
}
.vg-feat-card::after {
  content:'';position:absolute;bottom:0;left:0;right:0;height:2px;
  background:linear-gradient(to right,var(--gold),var(--gold-light));
  transform:scaleX(0);transition:transform .35s;
}
.vg-feat-card:hover { background:var(--black-card); }
.vg-feat-card:hover::after { transform:scaleX(1); }
.vg-feat-num {
  font-family:'Cormorant Garamond',serif;font-size:2.5rem;font-weight:300;
  background:linear-gradient(135deg,var(--gold),var(--gold-light));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  opacity:.22;line-height:1;margin-bottom:.75rem;
}
.vg-feat-icon { font-size:1.6rem;margin-bottom:1rem;opacity:.75; }
.vg-feat-title {
  font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--gold-readable);margin-bottom:.75rem;font-weight:500;
}
.vg-feat-text {
  font-size:.75rem;color:rgba(255,255,255,.78);
  line-height:1.9;letter-spacing:.01em;
}

/* ── COLECCIÓN ── */
.vg-coleccion {
  padding:7rem 6rem;background:var(--black);
  position:relative;
}
.vg-coleccion::before {
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse 80% 50% at 50% 0%,rgba(179,126,16,.04) 0%,transparent 65%);
  pointer-events:none;
}
.vg-coleccion-inner { max-width:1200px;margin:0 auto;position:relative; }
.vg-coleccion-header { text-align:center;margin-bottom:3.5rem; }
.vg-coleccion-sub {
  font-size:.75rem;color:rgba(255,255,255,.72);
  line-height:2;max-width:500px;margin:.75rem auto 0;
}

/* Grid 4 col → responsive */
.vg-col-grid {
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:1.5rem;margin-bottom:3rem;
}
/* Card de item */
.vg-item-card {
  background:var(--black-card);
  border:1px solid rgba(212,168,67,.12);
  overflow:hidden;cursor:pointer;position:relative;
  transition:transform .3s,border-color .3s,box-shadow .3s;
}
.vg-item-card:hover {
  transform:translateY(-6px);
  border-color:rgba(212,168,67,.4);
  box-shadow:0 20px 50px rgba(0,0,0,.55);
}
.vg-item-img {
  width:100%;aspect-ratio:2/3;overflow:hidden;
  background:linear-gradient(160deg,#0d0d0d,#1a1008);
  display:flex;align-items:center;justify-content:center;
  position:relative;
}
.vg-item-img img {
  width:100%;height:100%;object-fit:cover;
  transition:transform .65s;filter:brightness(.88);
}
.vg-item-card:hover .vg-item-img img { transform:scale(1.06);filter:brightness(.98); }
.vg-item-ph { font-size:3.5rem;opacity:.12; }
.vg-item-overlay {
  position:absolute;inset:0;
  background:linear-gradient(to top,rgba(0,0,0,.65) 0%,transparent 50%);
}
.vg-item-badge {
  position:absolute;top:.85rem;left:.85rem;z-index:2;
  font-size:.42rem;letter-spacing:.2em;text-transform:uppercase;
  background:linear-gradient(135deg,var(--gold),var(--gold-light));
  color:#000;padding:.22rem .65rem;font-weight:600;
}
.vg-item-count {
  position:absolute;bottom:.75rem;right:.75rem;z-index:2;
  font-size:.48rem;letter-spacing:.12em;
  background:rgba(0,0,0,.65);border:1px solid rgba(255,255,255,.18);
  color:rgba(255,255,255,.82);padding:.18rem .55rem;
}
.vg-item-body { padding:1.25rem 1rem; }
.vg-item-name {
  font-family:'Cormorant Garamond',serif;
  font-size:1.15rem;color:#fff;line-height:1.2;margin-bottom:.35rem;
}
.vg-item-meta {
  font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(248,221,123,.85);font-weight:400;
}
.vg-item-colors {
  display:flex;gap:.3rem;margin-top:.65rem;flex-wrap:wrap;align-items:center;
}
.vg-item-color-dot {
  width:12px;height:12px;border-radius:50%;
  border:1px solid rgba(255,255,255,.22);flex-shrink:0;
}
.vg-item-color-more {
  font-size:.5rem;letter-spacing:.08em;color:rgba(255,255,255,.55);
}

/* CTA debajo de la grid */
.vg-col-cta { text-align:center;padding-top:1rem; }
.vg-col-cta-text {
  font-size:.68rem;color:rgba(255,255,255,.62);
  letter-spacing:.15em;text-transform:uppercase;margin-bottom:1.5rem;
}

/* Empty */
.vg-col-empty { text-align:center;padding:5rem 2rem; }
.vg-col-empty-icon { font-size:2.5rem;margin-bottom:1rem;opacity:.2; }
.vg-col-empty p {
  font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;
  color:rgba(255,255,255,.45);margin-bottom:1.5rem;
}

/* ── MODAL ── */
.vg-modal {
  position:fixed;inset:0;z-index:800;
  background:rgba(0,0,0,.93);backdrop-filter:blur(12px);
  display:flex;align-items:center;justify-content:center;
  padding:2rem;opacity:0;pointer-events:none;transition:opacity .35s;
}
.vg-modal.open { opacity:1;pointer-events:all; }
.vg-modal-box {
  background:var(--black-card);border:1px solid rgba(212,168,67,.28);
  max-width:900px;width:100%;max-height:90vh;overflow-y:auto;
  display:grid;grid-template-columns:1fr 1fr;position:relative;
  transform:translateY(20px) scale(.98);transition:transform .35s;
}
.vg-modal.open .vg-modal-box { transform:translateY(0) scale(1); }
.vg-modal-close {
  position:absolute;top:1rem;right:1rem;z-index:10;
  width:2.2rem;height:2.2rem;
  background:rgba(0,0,0,.65);border:1px solid rgba(255,255,255,.28);
  color:rgba(255,255,255,.92);font-size:.8rem;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:all .2s;font-family:inherit;
}
.vg-modal-close:hover { border-color:var(--gold-light);color:#fff; }
.vg-modal-gallery {
  position:relative;background:var(--black);min-height:460px;overflow:hidden;
}
.vg-modal-gallery img {
  width:100%;height:100%;object-fit:cover;
  position:absolute;inset:0;opacity:0;transition:opacity .5s;
}
.vg-modal-gallery img.active { opacity:1; }
.vg-modal-gallery .ph {
  width:100%;height:100%;
  background:linear-gradient(135deg,#0d0d0d,#1a1300);
  display:flex;align-items:center;justify-content:center;font-size:5rem;
}
.vg-modal-nav {
  position:absolute;top:50%;transform:translateY(-50%);
  display:flex;justify-content:space-between;width:100%;padding:0 .75rem;pointer-events:none;
}
.vg-modal-nav button {
  width:2.4rem;height:2.4rem;
  background:rgba(0,0,0,.62);border:1px solid rgba(255,255,255,.25);
  color:rgba(255,255,255,.92);cursor:pointer;pointer-events:all;
  font-size:1rem;display:flex;align-items:center;justify-content:center;
  transition:all .2s;font-family:inherit;
}
.vg-modal-nav button:hover { background:rgba(179,126,16,.45);border-color:var(--gold-mid); }
.vg-modal-thumbs {
  position:absolute;bottom:.75rem;left:0;right:0;
  display:flex;gap:.3rem;justify-content:center;padding:0 1rem;
}
.vg-modal-thumb {
  width:44px;height:44px;object-fit:cover;cursor:pointer;
  opacity:.5;border:1px solid transparent;transition:all .2s;flex-shrink:0;
}
.vg-modal-thumb.active, .vg-modal-thumb:hover { opacity:1;border-color:var(--gold-light); }
.vg-modal-info {
  padding:2.5rem 2rem;overflow-y:auto;
  display:flex;flex-direction:column;gap:1.25rem;
}
.vg-modal-tag {
  font-size:.6rem;letter-spacing:.24em;text-transform:uppercase;
  background:linear-gradient(135deg,var(--gold),var(--gold-light));
  color:#000;padding:.3rem .9rem;font-weight:600;display:inline-block;
}
.vg-modal-name {
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(1.5rem,3vw,2.2rem);font-weight:300;color:#fff;line-height:1.1;
}
.vg-modal-sep { height:1px;background:rgba(212,168,67,.2); }
.vg-modal-meta { display:flex;flex-direction:column;gap:.6rem; }
.vg-modal-meta-row {
  display:flex;align-items:center;gap:.75rem;
  font-size:.65rem;color:rgba(255,255,255,.78);
}
.vg-modal-meta-label {
  font-size:.52rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--gold-readable);font-weight:500;min-width:70px;
}
.vg-modal-colors {
  display:flex;gap:.4rem;flex-wrap:wrap;align-items:center;margin-top:.35rem;
}
.vg-modal-color-chip {
  display:flex;align-items:center;gap:.35rem;
  font-size:.58rem;color:rgba(255,255,255,.75);
  padding:.18rem .6rem;border:1px solid rgba(255,255,255,.12);
}
.vg-modal-color-chip span:first-child {
  width:10px;height:10px;border-radius:50%;flex-shrink:0;
  border:1px solid rgba(255,255,255,.2);
}
.vg-modal-cta {
  margin-top:auto;padding-top:1.25rem;border-top:1px solid rgba(212,168,67,.15);
}
.vg-modal-cta a {
  display:block;width:100%;text-align:center;
  padding:.8rem;
  background:linear-gradient(135deg,var(--gold),var(--gold-light));
  color:#000;font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;
  font-weight:600;text-decoration:none;transition:opacity .25s;
}
.vg-modal-cta a:hover { opacity:.9; }

/* ── CTA ── */
.vg-cta {
  padding:7rem 6rem;background:var(--black-soft);
  text-align:center;position:relative;overflow:hidden;
}
.vg-cta::before {
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse 70% 60% at 50% 50%,rgba(179,126,16,.06) 0%,transparent 70%);
}
.vg-cta-inner { position:relative;z-index:1;max-width:700px;margin:0 auto; }
.vg-cta-title {
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(2rem,4vw,3.5rem);font-weight:300;
  line-height:1.2;margin-bottom:1.5rem;color:#fff;
}
.vg-cta-title em {
  font-style:italic;
  background:linear-gradient(135deg,var(--gold-mid),var(--gold-light));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
}
.vg-cta-text {
  font-size:.78rem;color:rgba(255,255,255,.78);
  line-height:2;max-width:560px;margin:0 auto 3rem;
}
.vg-cta-btns { display:flex;gap:1rem;justify-content:center;flex-wrap:wrap; }
.vg-cta-note {
  margin-top:2rem;font-size:.65rem;
  color:rgba(255,255,255,.55);letter-spacing:.18em;text-transform:uppercase;
}

/* ── FOOTER ── */
.vg-footer {
  padding:2rem 4rem;border-top:1px solid var(--border-gold);
  display:flex;align-items:center;justify-content:space-between;background:var(--black);
}
.vg-footer-copy { font-size:.72rem;color:rgba(255,255,255,.65);letter-spacing:.06em; }
.vg-footer-link {
  font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;
  color:rgba(248,221,123,.82);text-decoration:none;transition:color .2s;font-weight:400;
}
.vg-footer-link:hover { color:#fff; }

/* ── WA FLOAT ── */
.wa-float {
  position:fixed;bottom:2rem;right:2rem;width:58px;height:58px;
  background:linear-gradient(135deg,#25D366,#1db954);border-radius:50%;
  display:flex;align-items:center;justify-content:center;font-size:1.5rem;
  z-index:400;box-shadow:0 4px 25px rgba(37,211,102,.35);text-decoration:none;
  transition:transform .3s;
}
.wa-float:hover { transform:scale(1.1); }

/* ── ANIMATIONS ── */
@keyframes fadeUp { from{opacity:0;transform:translateY(18px)} to{opacity:1;transform:translateY(0)} }
@keyframes pulse  { 0%,100%{opacity:.4} 50%{opacity:.75} }
.reveal { opacity:0;transform:translateY(22px);transition:opacity .65s,transform .65s; }
.reveal.visible { opacity:1;transform:translateY(0); }

/* ═══════════════════════════════════
   RESPONSIVE — TABLET ≤1024px
════════════════════════════════════ */
@media (max-width:1024px) {
  .vg-intro { grid-template-columns:1fr;gap:3rem;padding:5rem 3rem; }
  .vg-features { padding:5rem 3rem; }
  .vg-features-grid { grid-template-columns:repeat(2,1fr); }
  .vg-coleccion { padding:5rem 3rem; }
  .vg-col-grid { grid-template-columns:repeat(3,1fr); }
  .vg-cta { padding:5rem 3rem; }
  .vg-modal-box { grid-template-columns:1fr; }
  .vg-modal-gallery { min-height:320px; }
  .vg-footer { padding:2rem; }
}

/* ═══════════════════════════════════
   RESPONSIVE — MOBILE ≤768px
════════════════════════════════════ */
@media (max-width:768px) {
  /* Hero */
  .vg-hero { align-items:flex-end;justify-content:flex-start;padding-bottom:0; }
  .vg-hero-inner { padding:7rem 1.5rem 4rem 1.5rem;max-width:100%; }
  .vg-hero-title { font-size:clamp(3rem,12vw,5rem); }
  .vg-hero-sub { font-size:.95rem;max-width:100%; }
  .vg-hero-cta { flex-direction:column;align-items:flex-start; }
  .btn-gold,.btn-ghost { width:100%;max-width:280px;text-align:center; }
  .vg-scroll { right:1.5rem;bottom:1.5rem; }

  /* Sections */
  .vg-intro { padding:4rem 1.25rem;gap:2.5rem; }
  .vg-visual-box { padding:2rem 1.5rem; }
  .vg-intro-stats { gap:1.5rem; }
  .vg-features { padding:4rem 1.25rem; }
  .vg-features-grid { grid-template-columns:1fr;gap:0; }
  .vg-feat-card { padding:2rem 1.5rem; }
  .vg-coleccion { padding:4rem 1.25rem; }
  .vg-col-grid { grid-template-columns:repeat(2,1fr);gap:1rem; }
  .vg-item-body { padding:1rem .75rem; }
  .vg-item-name { font-size:1rem; }
  .vg-cta { padding:4rem 1.25rem; }
  .vg-cta-btns { flex-direction:column;align-items:center; }
  .vg-modal { padding:.5rem; }
  .vg-modal-box { grid-template-columns:1fr;max-height:96vh; }
  .vg-modal-gallery { min-height:260px; }
  .vg-modal-info { padding:1.5rem 1.25rem; }
  .vg-footer { flex-direction:column;gap:.85rem;text-align:center;padding:1.5rem 1.25rem; }
  .wa-float { width:50px;height:50px;font-size:1.2rem;bottom:1.25rem;right:1.25rem; }
}

/* ═══════════════════════════════════
   RESPONSIVE — SMALL ≤420px
════════════════════════════════════ */
@media (max-width:420px) {
  .vg-col-grid { grid-template-columns:1fr; }
  .vg-features-grid { grid-template-columns:1fr; }
}
