html, body {
  overflow-y: scroll;
  scrollbar-width: none;     
}

body::-webkit-scrollbar {
  display: none;              
}
:root{
--dorado:#C9A227;
--guinda:#a41519;
--blanco:#ffffff;
--negro:#0b0b0c;
}
html,body{background:#fff;color:#1b1b1b}
*{box-sizing:border-box}

/* ===== HERO ===== */
.hero{
position:relative;
min-height:100svh;
display:flex;align-items:center;justify-content:center;
background: radial-gradient(180% 130% at 50% 0%, #780000 0%, #4e0101 60%, #000000 100%);
color:#fff;overflow:hidden;isolation:isolate;
perspective:1200px;
}

/* Capa de gradiente animado (breathing) */
.hero__bg{
position:absolute;inset:-20%;
background: radial-gradient(160% 120% at 30% 0%, #8b0000 0%, #4e0101 55%, #000 100%);
filter:saturate(1.05) contrast(1.02);
z-index:0; will-change:transform, opacity, filter;
}

/* Grano sutil (evita banding) */
.hero__grain{
position:absolute;inset:-10%;
pointer-events:none;z-index:1;opacity:.14;mix-blend-mode:overlay;
background-image:url("data:image/svg+xml;utf8,<?xml version='1.0' encoding='UTF-8'?><svg xmlns='http://www.w3.org/2000/svg' width='140' height='140' viewBox='0 0 140 140'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2' stitchTiles='stitch'/><feColorMatrix type='saturate' values='0'/></filter><rect width='100%' height='100%' filter='url(%23n)' opacity='0.9'/></svg>");
background-size:180px 180px;
animation:grain 8s steps(10) infinite;
}
@keyframes grain{to{transform:translate(-10px, -10px)}}

/* Canvas de partículas */
.hero__canvas{
position:absolute;inset:0;z-index:2;pointer-events:none;
}

/* Shine/sweep de brillo diagonal */
.hero__shine{
position:absolute;inset:-30%;
background:linear-gradient(60deg, rgba(255,255,255,0) 40%, rgba(255,255,255,.15) 50%, rgba(255,255,255,0) 60%);
transform:translateX(-120%) rotate(8deg);
z-index:3; pointer-events:none;
}

.hero__inner{
position:relative;z-index:4; text-align:center;
padding-inline:clamp(1rem,4vw,3rem); will-change:transform, opacity, filter;
transform-style:preserve-3d;
}
.hero__kicker{
font-weight:800; font-size:clamp(1.1rem,3.5vw,2.4rem);
line-height:1; margin-bottom:clamp(.5rem,1vw,1rem);
text-shadow:0 8px 28px rgba(0,0,0,.35);
opacity:.95;
}
.hero__logo{
display:inline-flex;align-items:flex-end;gap:clamp(.35rem,1vw,.6rem);
line-height:1; user-select:none;
filter: drop-shadow(0 20px 40px rgba(0,0,0,.45));
transform-style:preserve-3d;
}

.hero__isef{
font-weight:900; letter-spacing:.01em;
font-size:clamp(4rem, 15vw, 10rem);
text-transform:lowercase; display:inline-block;
will-change:transform, filter, opacity;
}
.hero__isef span{display:inline-block}
.hero__plus{ width:clamp(3rem, 11vw, 7rem); height:auto; transform-origin:50% 50% }
.hero__subtitle{
margin-top:clamp(.4rem,1vw,.8rem);
font-weight:800; font-size:clamp(1rem,2.6vw,1.75rem);
letter-spacing:.01em; text-shadow:0 8px 28px rgba(0,0,0,.35);
}

/* Halo de cursor */
.cursor-glow{
position:fixed; inset:auto auto 0 0; width:42vmax; aspect-ratio:1;
border-radius:50%; pointer-events:none; z-index:2; opacity:.0;
background:radial-gradient(circle at 50% 50%,
rgba(255,255,255,.22) 0%, rgba(255,255,255,.13) 20%, rgba(255,255,255,0) 60%);
transform:translate(-50%, -50%);
filter:blur(20px);
}

/* Filtro para transición al contenido */
.hero__fade{
position:absolute;inset:0;z-index:3;
background: radial-gradient(70% 70% at 50% 40%, rgba(255,255,255,0) 0%, rgba(255,255,255,.85) 70%, #fff 100%);
opacity:0; pointer-events:none;
}

/* ===== Brand bar ===== */
.brand-bar{ position:sticky;top:0;z-index:50;
background:linear-gradient(90deg, var(--guinda), var(--dorado));
color:#fff; box-shadow:0 6px 16px rgba(0,0,0,.12) }
.brand-bar .container{display:flex;align-items:center;gap:.75rem;padding-block:.6rem}
.brand-logo{font-weight:900;letter-spacing:.06em}
.brand-dot{display:inline-block;width:.8rem;height:.8rem;border-radius:.2rem;background:#fff;margin-left:.3rem}

:root{
  --guinda:#a41519;
  --guinda-dark:#7f1013;
  --dorado:#c9a227;
  --ink:#ffffff;
  --nav-pad: 12px 16px; /* padding base; se actualiza la separación superior vía JS */
}

/* ====== Navbar fijo con degradado guinda ====== */
.brand-bar{
  position: fixed; top:0; left:0; right:0; z-index:1000;
  background: linear-gradient(90deg, var(--guinda-dark), var(--guinda));
  color: var(--ink);
  box-shadow: 0 4px 14px rgba(0,0,0,.08);
}
.brand-bar .container{
  max-width: 1100px; margin: 0 auto;
  display:flex; align-items:center; gap:16px;
  padding: var(--nav-pad);
}

/* ====== Compensación del contenido por navbar fijo ====== */
body{ padding-top: var(--nav-height, 64px); }

/* ====== Logo ====== */
.brand-logo{
  font-weight:800; letter-spacing:.2px;
  color:#fff; text-decoration:none;
  font-size: clamp(18px, 2.4vw, 24px);
}
.brand-logo span{ color: #fff; text-shadow: 0 0 0 var(--dorado); }

/* ====== Toggle (mobile) ====== */
.nav-toggle{
  margin-left:auto;
  width:40px; height:36px; border:0; background:transparent; cursor:pointer;
  display:flex; flex-direction:column; justify-content:center; gap:5px;
}
.nav-toggle .bar{
  display:block; width:100%; height:2px; background:#fff;
  transition: transform .25s ease, opacity .2s ease, background .2s ease;
}
.nav-toggle[aria-expanded="true"] .bar:nth-child(1){ transform: translateY(7px) rotate(45deg); background:var(--dorado);}
.nav-toggle[aria-expanded="true"] .bar:nth-child(2){ opacity:0; }
.nav-toggle[aria-expanded="true"] .bar:nth-child(3){ transform: translateY(-7px) rotate(-45deg); background:var(--dorado); }

/* ====== Lista ====== */
.nav-list{
  list-style:none; margin:0; padding:0;
  display:flex; align-items:center; gap:18px;
}

/* Enlaces */
.nav-list a{
  display:inline-block; text-decoration:none; color:#fff;
  font-weight:700; font-size:15px; line-height:1; padding:10px 6px;
  position:relative;
}
.nav-list a::after{
  content:""; position:absolute; left:0; right:0; bottom:6px; height:2px;
  background: linear-gradient(90deg, var(--dorado), #fff);
  transform: scaleX(0); transform-origin:left center; transition: transform .28s ease;
}
.nav-list a:hover,
.nav-list a:focus-visible{ color:#fff; }
.nav-list a:hover::after,
.nav-list a:focus-visible::after{ transform: scaleX(1); }

/* ====== Responsive ====== */
@media (max-width: 880px){
  .nav-toggle{ display:flex; }
  .nav-list{
    position: absolute; inset: 100% 0 auto 0;
    background: linear-gradient(90deg, var(--guinda-dark), var(--guinda));
    flex-direction:column; align-items:stretch; gap:0;
    overflow:hidden;
    max-height:0;
    transition:max-height .35s ease;
    border-bottom:1px solid rgba(0,0,0,.08);
  }
  .nav-list[data-collapsed="false"]{ max-height:75vh; }
  .nav-list li{ border-top:1px solid rgba(255,255,255,.08); }
  .nav-list a{ padding:14px 16px; }
}
@media (min-width: 881px){
  .nav-toggle{ display:none; }
  .nav-list{ margin-left:auto; }
}

/* Sombra un poco más marcada al hacer scroll */
.brand-bar.is-scrolled{ box-shadow: 0 8px 24px rgba(0,0,0,.12); }


/* ===== Secciones ===== */
.section{padding-block:clamp(3rem,7vw,6rem);background:#fff}
.section-alt{background: radial-gradient(120% 120% at 0% 0%, rgba(201,162,39,.08) 0%, transparent 60%) #fff}
.kicker{font-size:.95rem;letter-spacing:.18em;text-transform:uppercase;color:var(--guinda);font-weight:700}
.title{font-weight:900;font-size:clamp(1.8rem,3.3vw,3rem);line-height:1.05}
.lead{color:#444}

/* Precios */
.price-card{border:2px solid rgba(122,0,49,.18);border-radius:1rem;padding:1.5rem;background:#fff;transition:.3s transform,.3s box-shadow}
.price-card:hover{transform:translateY(-6px);box-shadow:0 22px 50px rgba(0,0,0,.08)}
.badge-tier{background:linear-gradient(90deg,var(--guinda),var(--dorado));color:#fff;font-weight:800;letter-spacing:.06em}
.price{font-weight:900;font-size:clamp(2rem,4.2vw,3rem);color:var(--guinda)}
.btn-cta{background: #f4e478;color:#a41519;border:0;font-weight:800; will-change:transform}
.btn-cta:hover{background:#fff;color:#a41519}

/* Botones magnéticos (área) */
.magnet{display:inline-block;position:relative}

/* Footer */
.footer{background:#0c0c0d;color:#cfcfcf;padding-block:2.5rem}
.footer a{color:#fff;text-decoration:none}
.footer a:hover{text-decoration:underline}

@media (prefers-reduced-motion: reduce){
*{animation:none!important;transition:none!important}
.hero__grain{display:none}
.cursor-glow{display:none}
}

/* ===== PRECIOS ELEGANTE ===== *//* // ADD */
:root{
--gold:#C9A227; --guinda:#6c001f; --guinda-dark:#3c0012; --blk:#0b0b0c;
}
.pricing-elevated{
position:relative; border-radius:18px; padding:14px;
background:
linear-gradient(180deg,#ffffff, #ffffff) padding-box,
conic-gradient(from 140deg, rgba(201,162,39,.28), rgba(108,0,31,.25), rgba(0,0,0,.25), rgba(201,162,39,.28)) border-box;
border:2px solid transparent; box-shadow:0 24px 60px rgba(0,0,0,.08);
}
.pricing-elevated .table-aura{
position:absolute; inset:-8%; z-index:0; pointer-events:none; filter:blur(24px) saturate(1.1);
background: radial-gradient(50% 40% at 50% 0%, rgba(201,162,39,.20), transparent 60%),
radial-gradient(60% 60% at 10% 90%, rgba(108,0,31,.20), transparent 70%);
opacity:.35;
}
.pricing-table{position:relative; z-index:1; width:100%; border-collapse:separate; border-spacing:0}
.pricing-table thead th{position:sticky; top:0; z-index:3}
.pricing-table .th-feat{
min-width:265px; background:#000; color:#fff; text-align:left;
padding:.95rem 1rem; font-weight:900; letter-spacing:.07em; border-top-left-radius:12px;
}
.pricing-table .th-plan{ text-align:center; color:#fff; padding:.65rem .6rem; font-weight:900; letter-spacing:.08em }
.th-pro{    background:linear-gradient(180deg,#ffb2b2,#cf3a3a)}
.th-master{ background:linear-gradient(180deg,#e03a3a,#7c0000)}
.th-premier{background:linear-gradient(180deg,var(--guinda),var(--guinda-dark))}
.pricing-table .th-plan .th-inner{ position:relative; display:inline-block; padding-inline:.4rem }
.pricing-table .th-plan .th-inner::after{
content:""; position:absolute; left:-6px; right:-6px; bottom:-6px; height:2px;
background:linear-gradient(90deg, rgba(201,162,39,0) 0%, var(--gold) 40%, var(--gold) 60%, rgba(201,162,39,0) 100%);
opacity:.75; box-shadow:0 0 20px rgba(201,162,39,.55);
}

.pricing-table tbody th{
background:#f7f7f7; font-weight:800; padding:.8rem 1rem; color:#2b2b2b; border-top:1px solid #ececec
}
.pricing-table td{ vertical-align:middle; text-align:center; padding:.7rem .6rem; border-top:1px solid #f0f0f0 }
.pricing-table th, .pricing-table td{ font-size:.95rem }

.pricing-table .ok::before{
content:""; display:inline-block; width:18px; height:18px; border-radius:5px;
background:conic-gradient(from 0deg, var(--gold), #ffe6a6); 
-webkit-mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="white"><path d="M20.285 2L9 13.567 3.714 8.279 0 12.006 9 21 24 6.729z"/></svg>') center/contain no-repeat;
mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="white"><path d="M20.285 2L9 13.567 3.714 8.279 0 12.006 9 21 24 6.729z"/></svg>') center/contain no-repeat;
}
.pricing-table .dash{ color:#aaa }
.pricing-table .row-price td{ font-size:1.15rem; font-weight:900; color:var(--guinda) }
.pricing-table .row-price small{font-weight:700; color:#5a5a5a}
.pricing-table .subhead th{ background:rgba(201,162,39,.08); color:#5a4200 }
.pricing-table .subhead td{ background:rgba(201,162,39,.05) }
.pricing-table .passes{ font-size:.85rem; color:#444; margin-top:.15rem }

.pricing-table .sep td{ padding:0; border-top:0; height:.7rem; background:
repeating-linear-gradient(90deg, transparent, transparent 10px, rgba(0,0,0,.03) 10px, rgba(0,0,0,.03) 11px) }

.pricing-elevated .table-note{ font-size:.9rem; color:#555; margin-top:.6rem }

@media (max-width:992px){
.pricing-table .th-feat{ min-width:230px }
.pricing-table th, .pricing-table td{ font-size:.9rem }
}

/* Hover elegante por columna y fila */
.pricing-table td, .pricing-table th{ transition:background-color .35s ease, box-shadow .35s ease }
.pricing-table tr:hover td{ background-color:rgba(0,0,0,.02) }

/* Línea de luz al hacer focus (GSAP agrega clase .focus-col) */
.pricing-table .focus-col{ box-shadow:inset 0 0 0 9999px rgba(201,162,39,.06) }

/* Wipe inicial */
.pricing-elevated.revealed .luxe thead .th-plan .th-inner::after{animation:none}
/* + dorado y métrica bajo el título */
:root{ --gold:#C9A227; }
.feat-metric{
display:block;
margin-top:.2rem;
font-weight:800;
color:#0b0b0c; /* negro corporativo */
}
.plus-ico{
display:inline-block; width:18px; height:18px; vertical-align:-3px; margin-right:.25rem;
background:conic-gradient(from 0deg, var(--gold), #ffe6a6);
/* máscara de símbolo + */
-webkit-mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="white" d="M10 0h4v10h10v4H14v10h-4V14H0v-4h10z"/></svg>') center/contain no-repeat;
mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="white" d="M10 0h4v10h10v4H14v10h-4V14H0v-4h10z"/></svg>') center/contain no-repeat;
}

/* BLOQUE FINAL: PASES 2025 + NOTAS */
:root{ --gold:#C9A227; --guinda:#6c001f; --negro:#0b0b0c; }

.pases2025-wrap{
margin-top:1rem;
background:#fff;
border-radius:12px;
}

.pases2025-bar{
display:grid;
grid-template-columns: 120px 1fr;
align-items:flex-start;
gap:18px;
background:#e9e9e9;
border-radius:12px;
padding:18px 22px;
}

.pases2025-gift svg{
width:100%;
height:auto;
display:block;
filter: drop-shadow(0 8px 20px rgba(0,0,0,.12));
}

.pases2025-titulo{
font-weight:900;
font-size:clamp(1.2rem,3.2vw,2rem);
color:var(--guinda);
letter-spacing:.02em;
line-height:1.05;
}

.pases2025-sub{
margin-top:.25rem;
color:#111;
font-size:clamp(.95rem,2.2vw,1.1rem);
font-weight:600;
margin-bottom:.5rem;
}

.pases2025-notas{
text-align:right;
font-size:.92rem;
color:#333;
line-height:1.4;
margin-top:.35rem;
}

.pases2025-alerta{
display:block;
color:var(--guinda);
font-weight:800;
margin-top:.3rem;
}

@media (max-width:768px){
.pases2025-bar{
grid-template-columns: 88px 1fr;
padding:14px 14px;
}
.pases2025-notas{ text-align:left; font-size:.9rem }
}
/* Acomodado en 3 columnas, centrado vertical y con responsive limpio */
:root{ --guinda:#6c001f; }

.pases2025-wrap{ margin-top:1rem }

.pases2025-bar{
display:grid;
grid-template-columns: 110px 1fr 1.15fr;   /* regalo | título/sub | notas */
align-items:center;
gap:18px 22px;
padding:18px 22px;
border-radius:14px;
background:
radial-gradient(120% 120% at 0% 0%, rgba(0,0,0,.04) 0%, rgba(0,0,0,0) 60%),
linear-gradient(180deg,#e9e9e9,#e6e6e6);
}

.pases2025-gift svg{
width:100%; height:auto; display:block;
filter:drop-shadow(0 8px 18px rgba(0,0,0,.12));
}

.pases2025-titulo{
font-weight:900; color:var(--guinda);
font-size:clamp(1.25rem,3vw,2rem); line-height:1.05;
}
.pases2025-sub{
margin-top:.2rem; font-weight:600; color:#0b0b0c;
font-size:clamp(.95rem,2vw,1.1rem);
}

.pases2025-notas{
text-align:right; color:#333; line-height:1.45;
font-size:clamp(.9rem,1.6vw,.98rem);
}
.pases2025-alerta{
display:block; margin-top:.35rem; font-weight:800; color:var(--guinda);
}

/* Responsive: apila y deja las notas debajo, alineadas a la izquierda */
@media (max-width: 992px){
.pases2025-bar{
grid-template-columns: 88px 1fr;
grid-auto-rows: auto;
align-items:start;
}
.pases2025-notas{
grid-column: 1 / -1;
text-align:left;
padding-top:.4rem;
}
}


/* ================== CTA EVENTOS ESTELARES ================== */
:root{
--guinda:#6c001f;
--guinda-osc:#4a0014;
--gold:#C9A227;
}

.cta-estelares{
background: radial-gradient(140% 120% at 0% 0%, rgba(255,255,255,.05) 0%, transparent 60%) , #a41519;
color:#fff;
padding: clamp(2.2rem,5vw,3.5rem) 1rem;
}
.cta-estelares__grid{
display:grid;
grid-template-columns: 1fr auto;
gap: clamp(1.5rem,4vw,3rem);
align-items:center;
}
.cta-estelares__left{max-width: 980px}
.cta-estelares__title{
font-weight:900; letter-spacing:.02em;
font-size:clamp(1.6rem,3.6vw,3.2rem); line-height:1.05; margin:0 0 .25rem 0;
}
.cta-estelares__subtitle{
font-weight:900; font-size:clamp(1.2rem,2.8vw,2.2rem); margin:0 0 1rem 0;
}
.cta-estelares__list{
margin:0 0 1.25rem 0; padding:0; list-style:none;
font-size:clamp(1rem,2vw,1.35rem); font-weight:700;
}
.cta-estelares__list li{
display:flex; align-items:flex-start; gap:.6rem;
margin:.28rem 0; line-height:1.25;
position:relative; padding-left:1.6rem;
}
.cta-estelares__list li::before{
content:"›"; /* similar al ícono de tu diseño */
position:absolute; left:0; top:.05rem;
font-weight:900; transform:rotate(90deg); opacity:.9;
}
.gold{ color:var(--gold); font-weight:800 }
.cta-estelares__sum{
margin-top:.9rem; font-size:clamp(1.1rem,2.8vw,2rem); font-weight:500;
}
.cta-estelares__sum .plus{ font-weight:900; margin:0 .08em 0 0 }
.cta-estelares__right{ position:relative; display:flex; align-items:center; justify-content:center; min-width: 280px }

.cta-gold{
background: linear-gradient(90deg,#FFB020,#FF9600);
color:#fff; font-weight:900; letter-spacing:.6px;
font-size:clamp(1rem,2vw,1.25rem);
padding:16px 44px; border:0; border-radius:40px; cursor:pointer;
box-shadow:0 8px 24px rgba(0,0,0,.28); position:relative; z-index:2;
will-change:transform, box-shadow;
}
.cta-gold:active{ transform:scale(.96) }

/* brillo diagonal */
.cta-gold__shine{
position:absolute; inset:auto; width:140%; height:70%;
background:linear-gradient(70deg, rgba(255,255,255,0) 40%, rgba(255,255,255,.55) 50%, rgba(255,255,255,0) 60%);
top:50%; left:-100%; transform:translateY(-50%) skewX(-12deg);
border-radius:50px; filter:blur(1px); pointer-events:none; z-index:1;
}

@media (max-width: 992px){
.cta-estelares__grid{ grid-template-columns: 1fr }
.cta-estelares__right{ justify-content:flex-start }
}

/* ======= Estilos alineados ======= */
:root{ --pv-gold:#C9A227; --pv-gold2:#E7C86A; --pv-red:#d52b2b; }

.preventa-header{
background:#000;
border-radius:18px;
padding:18px 28px;
position:relative;
overflow:hidden;
box-shadow:0 10px 40px rgba(0,0,0,.35);
}

.preventa-inner{
max-width:1300px;
margin:0 auto;
display:grid;
grid-template-columns: 1fr auto;
align-items:center;
gap:38px;
}

.pv-line{
margin:0;
display:flex;
align-items:center;
flex-wrap:wrap;
gap:16px;
}

.pv-word{
font-weight:900;
font-size:clamp(1.4rem,4vw,2.8rem);
background:linear-gradient(180deg,var(--pv-gold2),var(--pv-gold));
-webkit-background-clip:text;
background-clip:text;
color:transparent;
}

.pv-isef{
color:var(--pv-red);
font-weight:900;
font-size:clamp(1.6rem,4vw,2.7rem);
}

.pv-plus{ width:clamp(2rem,4vw,2.6rem) }

.pv-year{
font-weight:900;
font-size:clamp(1.2rem,3vw,2.3rem);
background:linear-gradient(180deg,var(--pv-gold2),var(--pv-gold));
-webkit-background-clip:text;
background-clip:text;
color:transparent;
}

.pv-right{
display:flex;
align-items:center;
justify-content:flex-end;
padding-left:38px;
min-width:200px;
}

.pv-aniv{
width:clamp(3.8rem,8vw,8rem);
height:auto;
}

@media(max-width:900px){
.preventa-inner{ grid-template-columns:1fr; text-align:center }
.pv-right{ padding-left:0; justify-content:center }
}
/* ======= Beneficios ======= */
:root{ --gold:#C9A227; --ink:#0b0b0c; }

.beneficios-sec{ background:#fff; padding:72px 0; }
.benef-container{ max-width:1280px; margin:0 auto; padding:0 20px; }

.benef-kicker{
color:#9aa0a6; font-weight:800; letter-spacing:.25em; margin:0 0 6px;
}
.benef-title{
font-weight:900; color:#1f2937;
font-size:clamp(1.9rem,3.4vw,2.6rem);
margin:0 0 38px;
}

.benef-grid{
display:grid; grid-template-columns:repeat(3,1fr); gap:26px;
}

.benef-card{
background:#fff; border-radius:18px; padding:28px 28px 26px;
box-shadow:0 18px 45px rgba(0,0,0,.08);
border:1px solid rgba(0,0,0,.06);
transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;
opacity:0; transform:translateY(28px); /* GSAP start */
}
.benef-card:hover{
transform:translateY(-4px);
box-shadow:0 26px 60px rgba(0,0,0,.10);
border-color:rgba(201,162,39,.25);
}

.benef-icon{
font-size:42px; line-height:1; color:var(--gold); margin-bottom:12px;
filter: drop-shadow(0 6px 14px rgba(201,162,39,.25));
}
.benef-card h3{ font-weight:800; font-size:1.22rem; margin:0 0 8px; color:#111; }
.benef-card p{ color:#444; margin:0; line-height:1.5; }

@media (max-width: 992px){
.benef-grid{ grid-template-columns:1fr; }
}

:root{
--expo-ink:#11131a;
--expo-muted:#6b7280;
--expo-border:rgba(0,0,0,.08);
--expo-gold:#C9A227;
--expo-gold-2:#E7C86A;
--expo-card-bg:#ffffff;
}

/* Sección */
.expo-sec{ background:#fff; padding:64px 0 72px }
.expo-container{ max-width:1280px; margin:0 auto; padding:0 20px }
.expo-title{
margin:0 0 26px; font-weight:900; color:#242833;
font-size:clamp(1.8rem,3.6vw,2.8rem); letter-spacing:.01em
}

/* Grid */
.expo-grid{
display:grid; grid-template-columns:repeat(3,1fr); gap:26px;
}
@media (max-width: 1024px){ .expo-grid{ grid-template-columns:repeat(2,1fr) } }
@media (max-width: 700px){ .expo-grid{ grid-template-columns:1fr } }

/* Card con borde “aura” y sombra suave */
.expo-card{
position:relative; border-radius:20px; background:var(--expo-card-bg);
overflow:hidden; box-shadow:0 18px 50px rgba(0,0,0,.08);
border:1px solid var(--expo-border);
transform:translateY(26px); opacity:0; /* GSAP start */
will-change:transform, box-shadow;
}
.expo-card::before{ /* borde dorado sutil (se anima al hover) */
content:""; position:absolute; inset:0; border-radius:inherit; pointer-events:none;
background:conic-gradient(from 140deg,
rgba(201,162,39,.0), rgba(201,162,39,.22), rgba(201,162,39,.0));
mix-blend-mode:multiply; opacity:.0; transition:opacity .35s ease;
}

/* Media */
.expo-media{
position:relative; aspect-ratio: 3/4; background:#0b0b0c;
overflow:hidden;
}
.expo-media img{
width:100%; height:100%; object-fit:cover; transform:scale(1.02);
transition:transform .6s cubic-bezier(.2,.7,.2,1);
}
.expo-glow{
position:absolute; inset:-20%; pointer-events:none; opacity:.0;
background:
radial-gradient(40% 50% at 70% 20%, rgba(231,200,106,.35), transparent 60%),
radial-gradient(35% 55% at 0% 100%, rgba(108,0,31,.22), transparent 70%);
filter:blur(22px); transition:opacity .45s ease;
}

/* Body */
.expo-body{ padding:18px 20px 20px }
.expo-name{ margin:0 0 6px; font-size:clamp(1.05rem,2.2vw,1.25rem); font-weight:900; color:var(--expo-ink) }
.expo-role{ margin:0; color:var(--expo-muted); font-weight:700 }

/* Hover elegante */
.expo-card:hover{ box-shadow:0 26px 70px rgba(0,0,0,.12) }
.expo-card:hover::before{ opacity:.9 }
.expo-card:hover .expo-media img{ transform:scale(1.06) }
.expo-card:hover .expo-glow{ opacity:.65 }

/* Efecto tilt/parallax (JS agrega transform) */
.expo-tilt{ transition:transform .25s ease }
/* ===== Expositores en formato CIRCULAR ===== */
/* ===== Expositores circulares — animación elegante sin rotación ===== */
.expo-card{
transform:translateY(22px) scale(.985);
opacity:0;
transition:transform .45s cubic-bezier(.2,.7,.2,1), box-shadow .45s ease;
}
.expo-card:hover{
transform:translateY(-6px) scale(1);
box-shadow:0 28px 80px rgba(0,0,0,.14);
}

.expo-media{
--ring-opacity:.45;            /* anillo fijo (sin giro) */
position:relative; aspect-ratio:1/1;
width:clamp(200px, 26vw, 340px);
border-radius:50%; margin:18px auto 10px; overflow:hidden;
background:#0b0b0c;
box-shadow:0 20px 50px rgba(0,0,0,.14), inset 0 0 0 2px rgba(255,255,255,.08);
}

.expo-media::before{             /* anillo dorado estático */
content:""; position:absolute; inset:0; border-radius:50%;
padding:3px; opacity:var(--ring-opacity); pointer-events:none;
background:conic-gradient(from 145deg,
rgba(201,162,39,0) 0%,
rgba(201,162,39,.85) 28%,
rgba(231,200,106,.95) 42%,
rgba(201,162,39,0) 60% 100%);
-webkit-mask:
radial-gradient(#000 68%, transparent 69%) content-box,
radial-gradient(#000 70%, transparent 71%);
mask:
radial-gradient(#000 68%, transparent 69%) content-box,
radial-gradient(#000 70%, transparent 71%);
transition:opacity .35s ease;
}
.expo-card:hover .expo-media{ --ring-opacity:.9 }

.expo-media img{
width:100%; height:100%; object-fit:cover;
transform:scale(1.02);
transition:transform .6s cubic-bezier(.2,.7,.2,1), filter .3s ease;
}

.expo-sweep{                     /* brillo diagonal (lo crea JS) */
position:absolute; inset:-15% -60%;
transform:skewX(-18deg);
background:linear-gradient(70deg, rgba(255,255,255,0) 35%,
rgba(255,255,255,.55) 50%,
rgba(255,255,255,0) 65%);
filter:blur(2px); border-radius:50%;
pointer-events:none; opacity:0;
}

.expo-glow{ border-radius:50%; opacity:.0; transition:opacity .4s ease; }
.expo-card:hover .expo-glow{ opacity:.5 }

.expo-body{ text-align:center; padding:16px 18px 24px }
.expo-name{
font-weight:900;
background:linear-gradient(180deg,#111 0 60%, #111 0) no-repeat 0 100%/0 2px;
transition:background-size .4s ease;
}
.expo-card:hover .expo-name{ background-size:100% 2px }


:root{ --gold:#C9A227; --gold2:#E7C86A; --guinda:#a41519; --ink:#11131a; }

/* envolvente con resplandor leve */
.expo-title-wrap{
position:relative; margin:0 0 32px; padding:8px 0 10px;
isolation:isolate;
}

/* título con degradado dorado + sombra suave */
.expo-title{
margin:0; line-height:1.05; font-weight:900;
font-size:clamp(1.9rem,4vw,3rem); letter-spacing:.02em;
background:linear-gradient(180deg,var(--gold2),var(--gold) 65%);
-webkit-background-clip:text; background-clip:text; color:transparent;
text-shadow:0 6px 22px rgba(201,162,39,.25);
display:flex; flex-wrap:wrap; gap:.35em;
}

/* cada palabra entra con GSAP */
.expo-title__word{ display:inline-block; white-space:nowrap }

/* barra inferior animable (subrayado) */
.expo-title__underline{
height:6px; width:100%; transform-origin:left center; transform:scaleX(0);
border-radius:999px; margin-top:10px;
background:
linear-gradient(90deg,var(--guinda), var(--gold) 45%, var(--gold2) 70%, var(--gold));
box-shadow:0 6px 20px rgba(201,162,39,.35), 0 1px 0 rgba(0,0,0,.12) inset;
}

/* brillo diagonal que barre */
.expo-title__shine{
position:absolute; inset:-10% -40% auto -40%;
height:160%; transform:skewX(-16deg) translateX(-120%);
background:linear-gradient(70deg, rgba(255,255,255,0) 40%,
rgba(255,255,255,.65) 50%,
rgba(255,255,255,0) 60%);
filter:blur(2px); pointer-events:none; mix-blend-mode:screen; opacity:.0;
border-radius:16px;
}

/* halo sutil detrás del texto */
.expo-title-wrap::before{
content:""; position:absolute; inset:-20% -6% auto -6%; height:100%;
background:radial-gradient(80% 60% at 30% 60%, rgba(201,162,39,.10), transparent 60%);
z-index:-1;
}
/* table responsive */
/* =========================
PRICING TABLE - RESPONSIVE
(sin cambiar el HTML)
========================= */

@media (max-width: 1100px){
/* fallback: scroll horizontal suave en anchos intermedios */
.pricing-table.luxe{
display:block;
width:100%;
overflow-x:auto;
-webkit-overflow-scrolling: touch;
border-spacing:0;
}
}

@media (max-width: 860px){
/* Oculta cabecera y colgroup; usaremos etiquetas generadas */
.pricing-table.luxe colgroup,
.pricing-table.luxe thead{
display:none !important;
}

.pricing-table.luxe{
width:100%;
border-collapse:separate;
border-spacing:0 14px;   /* espacio entre “tarjetas” */
}

.pricing-table.luxe tbody{ display:block }

/* Cada <tr> se vuelve una tarjeta */
.pricing-table.luxe tbody tr{
display:block;
background:#fff;
border:1px solid rgba(0,0,0,.08);
border-radius:14px;
box-shadow:0 10px 28px rgba(0,0,0,.06);
overflow:hidden;
}

/* separadores se ocultan */
.pricing-table.luxe tbody tr.sep{ display:none }

/* Cabecera de la fila (característica) */
.pricing-table.luxe tbody th[scope="row"]{
display:block;
width:100%;
padding:14px 16px;
background:linear-gradient(180deg,#f7f7f7,#f3f3f3);
font-weight:800;
border-bottom:1px solid rgba(0,0,0,.06);
}
.pricing-table.luxe tbody th[scope="row"] .feat-metric{
display:block; margin-top:6px; font-weight:700; color:#333;
}

/* Celdas de planes apiladas */
.pricing-table.luxe tbody td{
display:block;
width:100%;
padding:12px 16px 12px 110px;   /* deja espacio a la etiqueta */
position:relative;
border-bottom:1px dashed rgba(0,0,0,.06);
}
.pricing-table.luxe tbody tr > td:last-child{
border-bottom:0;
}

/* Etiquetas automáticas para cada columna (no se modifica el HTML) */
.pricing-table.luxe tbody tr > td:nth-of-type(1)::before,
.pricing-table.luxe tbody tr > td:nth-of-type(2)::before,
.pricing-table.luxe tbody tr > td:nth-of-type(3)::before{
content:"";
position:absolute; left:16px; top:12px;
font-weight:900; letter-spacing:.02em;
padding:.25rem .55rem; border-radius:999px;
color:#fff;
}
.pricing-table.luxe tbody tr > td:nth-of-type(1)::before{ content:"PRO";      background:#b30f2a; }    /* guinda pro */
.pricing-table.luxe tbody tr > td:nth-of-type(2)::before{ content:"MÁSTER";   background:#7a0031; }    /* máster */
.pricing-table.luxe tbody tr > td:nth-of-type(3)::before{ content:"PREMIER";  background:#C9A227; color:#111; } /* dorado */

/* Estados visuales existentes */
.pricing-table.luxe tbody td.ok::after{
content:"✔"; color:#C9A227; font-weight:900;
position:relative; left:0; margin-left:.15rem;
}
.pricing-table.luxe tbody td.dash{ color:#aaa }

/* Filas especiales */
.pricing-table.luxe tbody tr.row-price td,
.pricing-table.luxe tbody tr.subhead td{
font-weight:700;
}
.pricing-table.luxe tbody tr.row-price td.price{
font-size:1.1rem;
}
.pricing-table.luxe tbody tr.subhead th[scope="row"]{
background:linear-gradient(90deg, #6c001f, #C9A227);
color:#fff;
}
.pricing-table.luxe tbody tr.subhead td .passes{
margin-top:4px; font-weight:700; color:#6c001f;
}
}

:root{
--guinda:#a41519;   /* guinda pedida */
--guinda-dark:#6c001f;
--gold:#C9A227;
--ink:#11131a;
--bg:#ffffff;
}

/* ===== Grid de tarjetas (puedes integrarlo con tu layout) */
.memb-sec{ padding:40px 0; background:#fff }
.memb-wrap{ max-width:1200px; margin:0 auto; padding:0 16px }
.memb-grid{ display:grid; gap:22px; grid-template-columns:repeat(3,1fr) }
@media (max-width:960px){ .memb-grid{ grid-template-columns:1fr } }

.memb-card{
border:1.5px solid rgba(164,21,25,.28);
border-radius:18px; overflow:hidden; background:var(--bg);
box-shadow:0 16px 50px rgba(0,0,0,.08);
transition:transform .35s ease, box-shadow .35s ease, border-color .3s;
cursor:pointer;
}
.memb-card:hover{
transform:translateY(-6px);
box-shadow:0 26px 70px rgba(0,0,0,.12);
border-color:rgba(201,162,39,.55);
}

.memb-head{
padding:18px 20px; font-weight:900; color:#fff; text-align:center;
background:linear-gradient(180deg,var(--guinda),var(--guinda-dark));
}
.memb-body{ padding:18px 20px 20px; text-align:center }
.memb-dates{ color:var(--guinda); font-weight:900; margin:8px 0 12px }
.memb-bullets{ list-style:none; margin:0 0 16px; padding:0; color:#333 }
.memb-bullets li{ margin:6px 0 }
.memb-open{
background:linear-gradient(90deg,var(--guinda),var(--gold));
color:#fff; border:0; border-radius:999px; padding:12px 18px; font-weight:900;
box-shadow:0 10px 28px rgba(201,162,39,.25);
}

/* ===== Modal base (oculto por defecto) */
.memb-modal{
position:fixed; inset:0; z-index:90; pointer-events:none;
}
.memb-backdrop{
position:absolute; inset:0; backdrop-filter:blur(8px);
background:rgba(0,0,0,.35); opacity:0;
}
.memb-panel{
position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
width:min(900px,92vw); max-height:85vh; overflow:auto;
background:#101114; color:#f6f6f6; border-radius:20px;
box-shadow:0 30px 120px rgba(0,0,0,.35);
opacity:0; scale:.92; clip-path:circle(0 at 50% 50%); /* animaremos esto */
}

.memb-modal-head{ padding:18px 22px 12px; position:sticky; top:0;
background:linear-gradient(180deg,#141519,#101114);
border-bottom:1px solid rgba(255,255,255,.06);
}
.memb-modal-title{ margin:0; font-size:clamp(1.2rem,3.2vw,1.8rem); font-weight:900 }
.memb-badge{
display:inline-block; margin-top:6px;
font-weight:900; letter-spacing:.08em;
padding:.25rem .6rem; border-radius:999px; color:#111;
background:linear-gradient(90deg,var(--gold),#f3d77a);
}

.memb-modal-body{ padding:18px 22px 2px }
.memb-modal-body ul{ margin:0; padding-left:1.25rem }
.memb-modal-body li{ margin:.3rem 0 }
.memb-modal-cta{ padding:16px 22px 22px; display:flex; justify-content:flex-end; gap:10px }
.btn-cta{
background:linear-gradient(90deg,var(--guinda),var(--gold));
color:#fff; font-weight:900; padding:12px 18px; border-radius:12px; text-decoration:none;
box-shadow:0 18px 40px rgba(201,162,39,.25);
}

.memb-close{
position:absolute; right:12px; top:10px; width:38px; height:38px;
border-radius:10px; border:0; color:#fff; background:rgba(255,255,255,.1);
font-size:22px; font-weight:900; cursor:pointer;
box-shadow:0 6px 18px rgba(0,0,0,.25); backdrop-filter:blur(4px);
}

/* micro-detalle dorado en el panel */
.memb-panel::after{
content:""; position:absolute; inset:auto 0 0 0; height:3px;
background:linear-gradient(90deg,var(--guinda),var(--gold),var(--guinda));
opacity:.7;
}
/* ===== Título de sección ===== */
.memb-title{
margin: 0 0 18px;
padding: 8px 12px 0;
font-weight: 900;
font-size: clamp(1.5rem, 3.6vw, 2.4rem);
letter-spacing: .01em;
color: #242833;
}

/* ===== Grid responsive con alturas iguales ===== */
.memb-grid{
display: grid;
gap: 22px;
grid-template-columns: repeat(3, 1fr);
}
@media (max-width: 1200px){
.memb-grid{ grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 720px){
.memb-grid{ grid-template-columns: 1fr; }
}

/* Tarjetas alineadas y de altura pareja */
.memb-card{
display: flex;
flex-direction: column;
min-height: 100%;
}
.memb-head{
min-height: 66px;           /* iguala las cabeceras */
display: grid;
place-items: center;
}
.memb-body{ display:flex; flex-direction:column; flex:1; }
.memb-bullets{ flex: 1; }     /* empuja el botón hacia abajo */

/* Botón mismo ancho en todas */
.memb-open{
width: min(92%, 340px);
margin-inline: auto;
}

/* ===== Modal: tamaño, scroll interno y bloqueo fondo ===== */
.memb-modal{
position: fixed; inset: 0; z-index: 9999;
}

.memb-panel{
width: min(900px, 92vw);
max-height: 90vh;           /* quepan todos los contenidos */
overflow: auto;             /* scroll interno del modal */
overscroll-behavior: contain;
-webkit-overflow-scrolling: touch;
}

/* Backdrop y body lock */
body.modal-open{
overflow: hidden;           /* bloquea scroll del fondo */
touch-action: none;         /* iOS */
}
/* Acordeón PRO dentro del modal */
.m-acc .accordion-item{
background:transparent; border:0; margin-bottom:10px;
}
.m-acc .accordion-button{
font-weight:900; color:#fff;
background:linear-gradient(180deg,#a41519,#6c001f);
border:2px solid rgba(255,255,255,.12);
box-shadow:0 10px 24px rgba(0,0,0,.18), inset 0 0 0 2px rgba(255,255,255,.06);
border-radius:10px;
}
.m-acc .accordion-button:not(.collapsed){
color:#fff; background:linear-gradient(180deg,#a41519,#6c001f);
border-color:rgba(255,255,255,.18);
}
.m-acc .accordion-button:focus{ box-shadow:none; }
.m-acc .accordion-body{
background:#fff; color:#111;
border-radius:12px; margin-top:8px;
box-shadow:0 12px 30px rgba(0,0,0,.10);
padding:16px 18px;
}
.m-acc .accordion-button::after{ filter:invert(1) brightness(1.6); }
/* ===== Modal más grande, menos scroll ===== */
.memb-panel{
width: min(1100px, 96vw);
max-height: 92vh;
}

/* ===== Acordeón propio (guinda+dorado) ===== */
.acc{ display:block; }
.acc-item{ margin-bottom:12px; }

.acc-btn{
width:100%;
display:flex; align-items:center; justify-content:space-between;
gap:12px;
padding:14px 16px;
font-weight:900; color:#fff;
background:linear-gradient(180deg,#a41519,#6c001f);
border-radius:12px;
border:2px solid rgba(255,255,255,.12);
box-shadow:0 10px 24px rgba(0,0,0,.18), inset 0 0 0 2px rgba(255,255,255,.06);
cursor:pointer;
}
.acc-btn:focus{ outline:none; box-shadow:0 0 0 3px rgba(201,162,39,.35) }

.acc-btn .chev{
width:20px; height:20px; flex:0 0 20px;
border-right:3px solid #fff; border-bottom:3px solid #fff;
transform:rotate(-45deg); transition:transform .25s ease;
}
.acc-btn[aria-expanded="true"] .chev{ transform:rotate(135deg) }

.acc-panel{
overflow:hidden; height:0; /* animado con GSAP */
background:#fff; color:#111;
border-radius:12px;
margin-top:8px; padding:0 0; /* padding lo aplico al interior */
box-shadow:0 12px 30px rgba(0,0,0,.10);
}
.acc-panel > .acc-body{
padding:18px 20px;
font-size:clamp(.95rem, 2.2vw, 1rem);
line-height:1.55;
}

/* tipografía del modal un pelín más grande */
.memb-panel{ font-size:clamp(0.95rem, 2.2vw, 1.02rem); }
.memb-modal-title{ font-size:clamp(1.3rem,3.2vw,1.9rem) }

/* listas internas */
.acc-body ol{ padding-left:1.2rem; margin:0 }
.acc-body ul{ padding-left:1.1rem; margin:0 }
.acc-body li{ margin:.35rem 0 }
.memb-panel::after{
content: none !important;
display: none !important;
}

:root{
--guinda:#a41519; --guinda-osc:#6c001f;
--dorado:#C9A227; --dorado-2:#e7c86a; --blanco:#fff;
}
.cta-plus.dyn{
position:relative; border-radius:18px; color:var(--blanco);
overflow:hidden; isolation:isolate;
padding:clamp(28px,5vw,60px) clamp(16px,5vw,44px);
}
.cta-plus__bg{
position:absolute; inset:-10%;
background:
radial-gradient(120% 120% at 15% 5%, rgba(255,220,150,.16), transparent 60%),
radial-gradient(100% 100% at 70% 90%, rgba(255,190,80,.12), transparent 70%),
linear-gradient(180deg, var(--guinda) 0%, var(--guinda-osc) 100%);
filter:contrast(1.05) saturate(1.02); z-index:0;
}
.cta-plus__particles{ position:absolute; inset:0; z-index:1; pointer-events:none; }
.cta-plus__inner{ position:relative; z-index:2; display:grid; gap:28px; grid-template-columns: 1fr auto; align-items:center; }
.cta-plus__title{
font-weight:900; line-height:1.06; letter-spacing:.01em; margin:0 0 14px;
font-size:clamp(1.5rem,3vw,2.5rem);
background:linear-gradient(90deg,#fff, #ffeab7, #fff);
-webkit-background-clip:text; background-clip:text; color:transparent;
}
.cta-plus__list{ list-style:none; padding:0; margin:0; display:grid; gap:.6rem; }
.cta-plus__list li{ display:flex; align-items:flex-start; gap:.6rem; font-weight:800; font-size:clamp(1rem,1.5vw,1.15rem) }
.ico{
width:1.1rem; height:1.1rem; flex:0 0 1.1rem; margin-top:.22rem;
background:conic-gradient(from 210deg, var(--dorado-2), var(--dorado));
-webkit-mask:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23000' d='M9 16.17 4.83 12 3.41 13.41 9 19l12-12-1.41-1.41z'/%3E%3C/svg%3E") center/contain no-repeat;
mask:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23000' d='M9 16.17 4.83 12 3.41 13.41 9 19l12-12-1.41-1.41z'/%3E%3C/svg%3E") center/contain no-repeat;
filter:drop-shadow(0 2px 6px rgba(0,0,0,.25));
}

/* Botón dorado avanzado */
.btn-gold{
position:relative; display:inline-flex; align-items:center; justify-content:center;
gap:.6rem; padding:1.05rem 2rem; border-radius:40px; border:0; cursor:pointer;
font-weight:900; letter-spacing:.02em; color:#3c1c00; white-space:nowrap;
background:linear-gradient(180deg,#f6d067 0%, #d49b12 100%);
box-shadow:0 12px 24px rgba(0,0,0,.24), inset 0 2px rgba(255,255,255,.4), inset 0 -2px rgba(0,0,0,.15);
overflow:hidden; transform:translateZ(0);
}
.btn-gold__shine{
position:absolute; inset:-80% -40% auto auto; height:220%;
background:linear-gradient(75deg, rgba(255,255,255,0) 46%, rgba(255,255,255,.65) 50%, rgba(255,255,255,0) 54%);
transform:translateX(-140%) rotate(12deg);
mix-blend-mode:screen; pointer-events:none;
}

/* responsive */
@media (max-width: 980px){
.cta-plus__inner{ grid-template-columns:1fr; }
.cta-plus__action{ justify-self:flex-start; }
}

:root{
--guinda:#a41519; --guinda-osc:#6c001f;
--dorado:#C9A227; --dorado-2:#E7C86A; --ink:#23262d; --muted:#71747b; --bg:#fff;
}
.tsec{background:#faf7f6; padding: clamp(36px,6vw,72px) 16px;}
.twrap{max-width:980px; margin:0 auto; position:relative}
.tsec__title{
text-align:center; margin:0 0 22px; font-weight:900; color:#231f20;
font-size:clamp(1.4rem,3.2vw,2.2rem)
}

.tviewport{
position:relative; min-height:440px;
display:grid; place-items:center;
}
.tcard{
width:min(760px, 100%);
background:var(--bg); border-radius:18px; padding:28px 20px 24px;
box-shadow:0 10px 35px rgba(0,0,0,.08);
border:1px solid rgba(0,0,0,.06);
position:absolute; inset:0; margin:auto; height:max-content;
display:grid; gap:18px; text-align:center; opacity:0; transform:translateY(12px);
will-change:transform, opacity, filter;
}
.tstars{display:flex; gap:.25rem; justify-content:center}
.tstar{
width:28px; height:28px; flex:0 0 28px;
background:conic-gradient(from 180deg, var(--dorado-2), var(--dorado) 60%, var(--dorado-2));
-webkit-mask:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23000' d='m12 17.27 6.18 3.73-1.64-7.03L21.5 9.24l-7.19-.61L12 2 9.69 8.63l-7.19.61 4.96 4.73L5.82 21z'/%3E%3C/svg%3E") center/contain no-repeat;
mask:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23000' d='m12 17.27 6.18 3.73-1.64-7.03L21.5 9.24l-7.19-.61L12 2 9.69 8.63l-7.19.61 4.96 4.73L5.82 21z'/%3E%3C/svg%3E") center/contain no-repeat;
filter:drop-shadow(0 3px 6px rgba(0,0,0,.12));
}
.tquote{
color:#2a2a2a; font-size:clamp(1.02rem,1.6vw,1.2rem);
line-height:1.6; font-weight:800; letter-spacing:.01em;
padding-inline:clamp(8px,3vw,32px);
}
.ticons{color:#f1c7b7; font-size:clamp(1.6rem,3vw,2rem); user-select:none}
.tavatar{
width:104px; height:104px; border-radius:50%; overflow:hidden; margin:0 auto;
box-shadow:0 10px 28px rgba(0,0,0,.12), inset 0 0 0 4px #fff;
}
.tname{margin:.3rem 0 0; font-size:clamp(1.05rem,2.2vw,1.25rem); font-weight:900; color:var(--ink)}
.trole{margin:0; color:var(--muted); font-weight:700}
.tplan{margin:2px 0 0; color:var(--guinda); font-weight:900}

.tnav{
display:flex; align-items:center; justify-content:center; gap:14px; margin-top:18px;
}
.tdots{display:flex; gap:8px}
.tdots button{
width:9px; height:9px; border-radius:10px; border:0; background:#dcdcdc; cursor:pointer;
transition:width .25s ease, background .25s ease;
}
.tdots button.is-active{ background:var(--guinda); width:24px }
.tbtn{
border:0; width:38px; height:38px; border-radius:50%;
display:grid; place-items:center; background:#fff;
box-shadow:0 6px 16px rgba(0,0,0,.12); cursor:pointer;
color:var(--guinda); font-weight:900; font-size:22px;
transition:transform .25s ease, box-shadow .25s ease, background .25s ease;
}
.tbtn:hover{ transform:translateY(-2px); box-shadow:0 10px 24px rgba(0,0,0,.15) }
@media (max-width:560px){ .tcard{padding:22px 14px} }

:root{ --guinda:#a41519; --guinda-dark:#6c001f; --gold:#C9A227; --ink:#11131a; }

.faq-sec{ background:#fff; padding:clamp(36px,6vw,72px) 16px; }
.faq-wrap{ max-width:980px; margin:0 auto; }
.faq-title{
font-weight:900; letter-spacing:.01em; text-align:center; color:#231f20;
font-size:clamp(1.5rem,3.2vw,2.2rem); margin:0 0 22px;
}

.faq-list{ list-style:none; padding:0; margin:0; display:grid; gap:14px; }
.faq-list li{ position:relative; }

.question{
position:relative; display:flex; align-items:center; gap:12px;
padding:16px 18px; cursor:pointer; border-radius:14px;
color:#fff; font-weight:900;
background:linear-gradient(180deg, var(--guinda), var(--guinda-dark));
border:2px solid rgba(255,255,255,.14);
box-shadow:0 10px 24px rgba(0,0,0,.16), inset 0 0 0 2px rgba(255,255,255,.06);
overflow:hidden;
}
/* brillo diagonal sutil */
.question::before{
content:""; position:absolute; inset:-80% -40% auto auto; height:220%;
background:linear-gradient(75deg, rgba(255,255,255,0) 46%, rgba(255,255,255,.5) 50%, rgba(255,255,255,0) 54%);
transform:translateX(-140%) rotate(12deg); pointer-events:none; mix-blend-mode:screen;
}
.question:hover::before{ animation:shine 1.1s ease forwards; }
@keyframes shine{
to{ transform:translateX(160%) rotate(12deg); }
}

.chev{
margin-left:auto; width:20px; height:20px; flex:0 0 20px;
border-right:3px solid #fff; border-bottom:3px solid #fff;
transform:rotate(-45deg); transition:transform .25s ease;
}
.question[aria-expanded="true"] .chev{ transform:rotate(135deg) }

.collapse{
overflow:hidden; height:0; /* animado con GSAP */
background:#fff; color:#111; border-radius:0 0 14px 14px;
border:1px solid rgba(0,0,0,.06); border-top:0;
box-shadow:0 12px 26px rgba(0,0,0,.08);
}
.collapse > p{ margin:0; padding:16px 18px; font-weight:700; line-height:1.6; }

/* estado inicial para el que viene con .show */
.collapse.show{ height:auto; }

@media (max-width:640px){
.question{ padding:14px 14px; }
.collapse > p{ padding:14px; }
}
/* ====== FAQ: animaciones más vistosas y elegantes ====== */
/* Fondo sutil con brillo dorado que “respira” */
.faq-sec{
position:relative; isolation:isolate;
}
.faq-sec::before{
content:""; position:absolute; inset:-20% -10% auto -10%; height:65%;
background:
radial-gradient(40% 50% at 18% 25%, rgba(201,162,39,.20), transparent 70%),
radial-gradient(30% 40% at 78% 10%, rgba(231,200,106,.16), transparent 75%);
filter: blur(18px); mix-blend-mode: screen; opacity:.55; z-index:0;
}

/* Pregunta con halo y borde dorado al abrir */
.question{
position:relative; z-index:2;
transform: translateZ(0);
}
.question.faq-open{
box-shadow:
0 16px 38px rgba(0,0,0,.18),
inset 0 0 0 2px rgba(255,255,255,.08);
border-color: rgba(201,162,39,.55);
}
.question.faq-open::after{
/* aura dorada alrededor al abrir */
content:""; position:absolute; inset:-2px; border-radius:inherit; pointer-events:none;
background: conic-gradient(from 140deg, rgba(201,162,39,.0), rgba(201,162,39,.35), rgba(201,162,39,.0) 55%);
mix-blend-mode:multiply; opacity:.6;
}

/* Ripple dorado (se crea por JS) */
.q-ripple{
position:absolute; inset:0; border-radius:inherit; pointer-events:none;
background: radial-gradient(closest-side, rgba(255,255,255,.4), rgba(255,255,255,0) 70%);
transform: scale(0); opacity:0;
}

/* Panel con “reveal” circular elegante */
.collapse{
position:relative;
clip-path: inset(0 round 0 0 14px 14px);
}
.collapse.revealing{
/* activado mientras hace el reveal circular */
overflow: hidden;
}

/* Citas/links dentro del panel con detalle sutil */
.collapse > p a{
text-underline-offset: 2px;
text-decoration-thickness: 2px;
}

/* === Paleta y base optimizada === */
:root{
  --brand:#a41519; --gold:#d4af37;
  --ink:#333841; --muted:#69707d; --line:#eef1f6;
  --radius:18px;
}
*{box-sizing:border-box}
.salesw-sec{background:#fff; padding:clamp(2rem,4vw,3rem) 1rem;}
.salesw-wrap{max-width:1200px; margin:0 auto;}

/* Título con subrayado ligero (solo CSS) */
.salesw-title{margin:0 0 .6rem 0; color:var(--ink);
  font:800 clamp(1.6rem,2.6vw,2.1rem)/1.15 ui-sans-serif,system-ui,Inter;}
.salesw-underline{display:block; height:3px; width:100%; max-width:280px;
  background:linear-gradient(90deg,var(--brand),var(--gold)); border-radius:3px;}

/* Grid responsive */
.salesw-list{display:grid; grid-template-columns:repeat(12,1fr); gap:clamp(1rem,2.2vw,1.5rem);}
.salesw-list>.sales-card{grid-column:span 12;}
@media (min-width:860px){ .salesw-list>.sales-card{grid-column:span 6;} }

/* Card muy ligera (content-visibility) */
.sales-card{
  display:grid; grid-template-columns:148px 1fr; gap:clamp(1rem,2.5vw,1.5rem);
  align-items:center; padding:clamp(1rem,3vw,1.5rem);
  border-radius:var(--radius); border:1px solid var(--line); background:#fff;
  box-shadow:0 12px 22px rgba(0,0,0,.08);
  position:relative; overflow:hidden;
  content-visibility:auto; contain-intrinsic-size: 240px 400px; /* evita CLS */
  opacity:0; transform:translateY(18px);
}
@media (max-width:740px){ .sales-card{grid-template-columns:100px 1fr;} }
@media (max-width:560px){ .sales-card{grid-template-columns:1fr;} .sales-avatar{margin-inline:auto;} }

/* Hover barato (sin keyframes) */
.sales-card:hover{box-shadow:0 18px 28px rgba(164,21,25,.14); transform:translateY(-1px);}

/* Avatar */
.sales-avatar{width:148px; height:148px; margin:0; border-radius:50%; overflow:hidden; background:#f3f4f6;
  box-shadow:inset 0 0 0 6px #fff, 0 4px 12px rgba(0,0,0,.08);}
.sales-avatar img{width:100%; height:100%; object-fit:cover;}

/* Texto e iconos */
.sales-name{margin:0 0 .2rem 0; color:var(--ink); font:800 1.35rem/1.2 ui-sans-serif,system-ui,Inter;}
.sales-role{margin:0 0 .6rem 0; color:var(--muted);}
.sales-lines{list-style:none; padding:0; margin:0; display:grid; gap:.55rem;}
.line{display:flex; align-items:center; gap:.6rem;}
.line i{color:var(--gold); font-size:1.1rem;}
.line a{color:var(--brand); text-decoration:none; font-weight:800; letter-spacing:.2px;}


:root{
  --brand:#a41519; --gold:#d4af37; --ink:#111827; --line:#eceef3; --r:18px;
}
.slick1-sec{background:#fff; padding:clamp(2rem,4vw,3.5rem) 1rem;}
.slick1-wrap{max-width:1200px; margin:0 auto;}
.s1-title{margin:0 0 .4rem 0; color:var(--ink); font:800 clamp(1.6rem,2.6vw,2.1rem)/1.1 ui-sans-serif,system-ui,Inter;}
.s1-underline{display:block; width:120px; height:4px; border-radius:3px; background:linear-gradient(90deg,var(--brand),var(--gold));}

.s1-carousel{position:relative; border:1px solid var(--line); border-radius:var(--r); background:#fff; box-shadow:0 12px 28px rgba(0,0,0,.08); overflow:hidden;}
.s1-viewport{position:relative; height:clamp(260px,48vw,520px); overflow:hidden;}
.s1-track{display:flex; height:100%; will-change:transform;}
.s1-slide{flex:0 0 100%; height:100%; margin:0; position:relative;}
.s1-slide img{width:100%; height:100%; object-fit:cover; display:block;}

/* Botones */
.s1-btn{
  position:absolute; top:50%; transform:translateY(-50%);
  width:44px; height:44px; display:grid; place-items:center; border:0; border-radius:50%;
  background:rgba(255,255,255,.92); color:var(--brand); cursor:pointer; z-index:5;
  box-shadow:0 8px 18px rgba(0,0,0,.15); transition:transform .25s ease, box-shadow .25s ease;
}
.s1-btn:hover{ transform:translateY(calc(-50% - 1px)); box-shadow:0 10px 22px rgba(0,0,0,.18); }
.s1-prev{left:12px;} .s1-next{right:12px;}
@media (max-width:520px){ .s1-btn{width:40px; height:40px;} }

/* Dots */
.s1-dots{ display:flex; gap:.5rem; justify-content:center; padding:.8rem 0; }
.s1-dots button{ width:9px; height:9px; border-radius:50%; border:0; background:#e5e7eb; cursor:pointer; transition:transform .2s ease, background .2s ease; }
.s1-dots button[aria-selected="true"]{ background:var(--brand); transform:scale(1.25); }

/* Animación sutil del slide activo (solo CSS, barato) */
.s1-slide.is-active::after{
  content:""; position:absolute; inset:0; pointer-events:none;
  background: radial-gradient(80% 60% at 50% 65%, rgba(0,0,0,0) 60%, rgba(0,0,0,.25) 100%);
}

/* ===== Paleta y base elegante ===== */
:root{
  --brand:#a41519;     /* guinda */
  --gold:#d4af37;      /* dorado */
  --ink:#111827;
  --muted:#6b7280;
  --line:#e6e8ef;
  --bg:#ffffff;
  --r:16px;
}

.contact-sec{ background:var(--bg); padding:clamp(2.2rem,4vw,3.6rem) 1rem; }
.contact-wrap{ max-width:1100px; margin:0 auto; }

.c-head{ text-align:center; margin-bottom:1.25rem; }
.c-title{ margin:0; color:var(--ink); font:800 clamp(1.6rem,2.4vw,2.2rem)/1.15 ui-sans-serif,system-ui,Inter; }
.c-sub{ color:var(--muted); margin:.25rem 0 .65rem; }
.c-underline{ display:inline-block; height:4px; width:140px; border-radius:3px; background:linear-gradient(90deg,var(--brand),var(--gold)); }

/* Card/form */
.c-form{
  background:#fff;
  border:1px solid var(--line);
  border-radius:24px;
  box-shadow:0 14px 30px rgba(17,24,39,.06), 0 2px 8px rgba(17,24,39,.04);
  padding:clamp(1rem,3vw,1.5rem);
  overflow:hidden;
  position:relative;
  isolation:isolate;
}

/* Shimmer dorado muy sutil en el borde */
.c-form::after{
  content:""; position:absolute; inset:0; pointer-events:none; border-radius:inherit;
  background:linear-gradient(135deg, rgba(212,175,55,.22), rgba(164,21,25,.22));
  mix-blend-mode:overlay; opacity:0; transition:opacity .4s ease;
}
.c-form:hover::after{ opacity:.5; }

.grid{
  display:grid; gap:clamp(1rem,2vw,1.25rem);
  grid-template-columns: repeat(12, 1fr);
}
.field{ grid-column: span 6; display:flex; flex-direction:column; gap:.4rem; }
.field--full{ grid-column: 1 / -1; }

@media (max-width: 760px){
  .field{ grid-column: 1 / -1; }
}

/* labels e inputs */
label{ color:var(--ink); font-weight:700; font-size:.95rem; }
input[type="text"], input[type="email"], input[type="tel"], textarea, select{
  width:100%; border:1px solid var(--line); background:#fff; color:var(--ink);
  border-radius:var(--r); padding:.75rem .9rem; font:500 1rem/1.25 Inter, ui-sans-serif, system-ui;
  transition:border-color .25s ease, box-shadow .25s ease, transform .15s ease;
}
textarea{ resize:vertical; }

input:focus, textarea:focus, select:focus{
  outline: none;
  border-color: rgba(212,175,55,.6);
  box-shadow: 0 0 0 4px rgba(212,175,55,.15);
}

/* Floating select */
.floating{ position:relative; }
.floating select{ padding-top:1.45rem; }
.floating > label{
  position:absolute; left:.9rem; top:.55rem; color:var(--muted); font-weight:600; font-size:.9rem;
}

/* Checkbox */
.check .ck{ display:flex; align-items:center; gap:.6rem; }
.check input[type="checkbox"]{ width:18px; height:18px; accent-color:var(--brand); }
.check a{ color:var(--brand); font-weight:800; text-decoration:none; }

/* Botón */
.actions{ display:flex; align-items:center; gap:1rem; justify-content:flex-start; margin-top:.5rem; }
.btn-primary{
  display:inline-flex; align-items:center; gap:.5rem;
  border:0; border-radius:999px; padding:.85rem 1.2rem; cursor:pointer;
  color:#fff; background:linear-gradient(90deg,var(--brand),var(--gold));
  box-shadow:0 10px 24px rgba(164,21,25,.18); font-weight:800;
  transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}
.btn-primary:hover{ transform: translateY(-1px); box-shadow:0 14px 28px rgba(164,21,25,.22); filter:saturate(1.05); }

.small{ color:var(--muted); font-size:.9rem; }

/* Honeypot invisible */
.hp{ position:absolute !important; left:-9999px !important; opacity:0 !important; width:1px; height:1px; }
