:root {
    color-scheme: dark;
    --bg: #0a0907;
    --bg-2: #100d0a;
    --panel: #16130f;
    --line: rgba(255,255,255,.09);
    --text: #f5f2ec;
    --muted: #a49e93;
    --orange: #f2661a;
    --orange-2: #ff8a3d;
    --light: #ede8df;
    --light-ink: #1a1713;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    font-family: 'Montserrat', system-ui, sans-serif;
    background: var(--bg);
    color: var(--text);
    line-height: 1.65;
    font-size: 17px;
    overflow-x: hidden;
}
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
.container { width: 100%; max-width: 1200px; margin: 0 auto; padding: 0 24px; }
.display { font-family: 'Montserrat', sans-serif; font-weight: 800; text-transform: uppercase; letter-spacing: .01em; }
h1, h2, h3, h4 { font-weight: 800; }

/* NAV */
.nav { position: fixed; inset: 0 0 auto 0; z-index: 60; display:flex; align-items:center; justify-content:space-between;
    padding: 15px 24px; transition: background .3s, border-color .3s; border-bottom:1px solid transparent; }
.nav.scrolled { background: rgba(10,9,7,.9); backdrop-filter: blur(10px); border-bottom-color: var(--line); }
.nav__logo img { height: 36px; width:auto; }
.nav__links { display:flex; align-items:center; gap:20px; }
.nav__links a { font-size:.82rem; font-weight:700; letter-spacing:.03em; color:var(--muted); transition:color .2s, border-color .2s, background .2s; text-transform:uppercase; padding: 8px 0; border-bottom:1px solid transparent; }
.nav__links a:hover { color:var(--text); }
.nav__reserve { color: #f7f1e8 !important; border-bottom-color: rgba(242,102,26,.7) !important; }
.nav__reserve:hover { border-bottom-color: var(--orange) !important; color:#fff !important; }
@media (max-width: 980px){
    .nav__links a:not(.nav__reserve){ display:none; }
    .nav__links { gap:0; }
}

/* BUTTONS */
.btn { display:inline-flex; align-items:center; gap:9px; padding:14px 24px; font-weight:800; font-size:.9rem;
    transition: transform .16s, background .2s, color .2s, border-color .2s; text-transform:uppercase; letter-spacing:.03em; }
.btn:hover { transform: translateY(-2px); }
.btn--primary { background: var(--orange); color:#160a02; }
.btn--primary:hover { background: var(--orange-2); }
.btn--outline { background: transparent; color:#fff; border:1.5px solid rgba(255,255,255,.35); }
.btn--outline:hover { border-color:#fff; background: rgba(255,255,255,.08); }
.btn--gift {
    background: linear-gradient(135deg, #c2410c 0%, #ea580c 55%, #f97316 100%);
    color: #fff;
    border: 1px solid rgba(255,255,255,.15);
    box-shadow: 0 8px 24px rgba(234,88,12,.35);
}
.btn--gift:hover { background: linear-gradient(135deg, #9a3412 0%, #c2410c 55%, #ea580c 100%); color:#fff; }
.btn--dark { background:#151210; color:#fff; border:1px solid var(--line); }
.btn--sm { padding:10px 16px; font-size:.76rem; }
.btn { border-radius: 999px; }
.price, .suc, .food-panel, .event, .band, .ticket, .how-tile { border-radius: 18px; }
.about__media img { border-radius: 18px; }

/* HERO */
.hero { position:relative; min-height:100svh; display:flex; align-items:flex-end; overflow:hidden; }
.hero__video {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    transform:scale(1.1);
    animation:hero-video-in 1.6s cubic-bezier(.22,1,.36,1) both;
}
.hero__scrim {
    position:absolute;
    inset:0;
    background:
        linear-gradient(180deg, rgba(10,9,7,.35) 0%, rgba(10,9,7,.15) 40%, rgba(10,9,7,.85) 82%, var(--bg) 100%),
        linear-gradient(90deg, rgba(10,9,7,.7), transparent 60%);
    opacity:0;
    animation:hero-scrim-in 1.1s ease .15s both;
}
@keyframes hero-video-in {
    from { transform:scale(1.12); opacity:.55; }
    to { transform:scale(1); opacity:1; }
}
@keyframes hero-scrim-in {
    from { opacity:0; }
    to { opacity:1; }
}
@keyframes hero-rise {
    from {
        opacity:0;
        transform:translateY(36px);
        filter:blur(6px);
    }
    to {
        opacity:1;
        transform:none;
        filter:none;
    }
}
.hero__content { position:relative; z-index:2; padding:0 0 74px; margin-bottom:52px; }
.hero__content > * {
    opacity:0;
    animation:hero-rise .95s cubic-bezier(.22,1,.36,1) both;
}
.hero__content > *:nth-child(1) { animation-delay:.35s; }
.hero__content > *:nth-child(2) { animation-delay:.55s; }
.hero__content > *:nth-child(3) { animation-delay:.75s; }
.kicker { display:inline-flex; align-items:center; gap:10px; font-weight:800; letter-spacing:.22em; font-size:.72rem; text-transform:uppercase; color:var(--orange-2); }
.kicker::before { content:''; width:30px; height:2px; background:var(--orange); }
.hero h1 {
    font-family:'Montserrat',sans-serif;
    text-transform:uppercase;
    font-weight:900;
    font-size:clamp(2rem, 4.2vw, 3.85rem);
    line-height:1.08;
    margin:0 0 16px;
    letter-spacing:.005em;
    max-width:min(100%, 620px);
}
.hero h1 em { font-style:normal; color:var(--orange); display:block; }
.hero__wbr::before { content:' '; }
.hero p.lead { max-width:640px; color:#e7e3da; font-size:1.12rem; margin:0 0 28px; }
.hero__actions { display:flex; flex-wrap:wrap; gap:14px; }
@media (max-width: 980px){
    .hero { align-items:center; }
    .hero__scrim {
        background:
            linear-gradient(180deg, rgba(10,9,7,.5) 0%, rgba(10,9,7,.35) 35%, rgba(10,9,7,.88) 72%, var(--bg) 100%);
    }
    .hero__content {
        padding:72px 0 56px;
        text-align:center;
        margin-bottom:0;
    }
    .hero p.lead { margin-left:auto; margin-right:auto; max-width:560px; }
    .hero h1 { margin-left:auto; margin-right:auto; max-width:min(100%, 560px); }
    .hero__actions { justify-content:center; }
}
@media (max-width: 680px){
    .hero__scrim { background:
        linear-gradient(180deg, rgba(10,9,7,.55) 0%, rgba(10,9,7,.4) 30%, rgba(10,9,7,.88) 70%, var(--bg) 100%); }
    .hero__content { padding:52px 0 48px; }
    .hero h1 {
        font-size:clamp(1.55rem, 6.8vw, 2.25rem);
        line-height:1.14;
        max-width:100%;
        padding-inline:2px;
    }
    .hero__wbr::before { content:'\A'; white-space:pre; }
    .hero p.lead {
        font-size:.96rem;
        line-height:1.55;
        margin-bottom:16px;
        max-width:100%;
        padding-inline:2px;
    }
    .hero__actions {
        flex-direction:column;
        align-items:stretch;
        gap:10px;
        width:100%;
        max-width:min(100%, 320px);
        margin-inline:auto;
    }
    .hero__actions .btn {
        justify-content:center;
        padding:14px 22px;
        font-size:.8rem;
        width:100%;
        max-width:100%;
    }
}

/* MARQUEE — F1 ticker */
.marquee {
    overflow:hidden;
    background:#0a0907;
    border-block:2px solid #e10600;
    position:relative;
}
.marquee::before {
    content:'';
    position:absolute;
    inset:0;
    background:repeating-linear-gradient(-14deg, transparent, transparent 14px, rgba(255,255,255,.025) 14px, rgba(255,255,255,.025) 15px);
    pointer-events:none;
}
.marquee__viewport {
    position:relative;
    z-index:1;
    overflow:hidden;
    padding:15px 0;
    background:linear-gradient(90deg, rgba(225,6,0,.14), transparent 12%);
}
.marquee__track {
    display:flex;
    gap:0;
    white-space:nowrap;
    width:max-content;
    animation:scroll-x 22s linear infinite;
}
.marquee__track span {
    font-family:'Montserrat',sans-serif;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.14em;
    color:#fff;
    font-size:.88rem;
    padding:0 10px 0 28px;
    display:inline-flex;
    align-items:center;
    gap:28px;
}
.marquee__track span::after {
    content:'';
    width:2px;
    height:14px;
    background:linear-gradient(180deg, #e10600, var(--orange));
    border-radius:0;
    transform:skewX(-12deg);
}
@keyframes scroll-x { to { transform:translateX(-50%); } }

/* SECTION SCAFFOLD */
section.block { padding: 96px 0; position:relative; }
.sec-num { font-family:'Montserrat',sans-serif; font-weight:700; font-size:.8rem; letter-spacing:.28em; color:var(--orange); text-transform:uppercase; }
.head { max-width:760px; margin-bottom:46px; }
.head h2 { font-family:'Montserrat',sans-serif; text-transform:uppercase; font-weight:800; font-size:clamp(1.9rem,4.2vw,3rem); line-height:1.08; margin:12px 0 12px; }
.head p { color:var(--muted); margin:0; font-size:1.1rem; }

.grid { display:grid; gap:20px; }
.g2 { grid-template-columns: repeat(2,1fr); }
.g3 { grid-template-columns: repeat(3,1fr); }
@media (max-width: 980px){ .g3 { grid-template-columns: repeat(2,1fr);} }
@media (max-width: 640px){ .g2,.g3 { grid-template-columns:1fr;} }

.about { display:grid; grid-template-columns: 1fr 1.1fr; gap:48px; align-items:center; }
@media (max-width: 900px){ .about{ grid-template-columns:1fr; gap:30px; } }
.about__media { border-radius:18px; overflow:hidden; border:1px solid var(--line); }
.about-carousel { position:relative; }
.about-carousel__viewport { overflow:hidden; }
.about-carousel__track {
    display:flex;
    transition:transform .55s cubic-bezier(.4,0,.2,1);
}
.about-carousel__slide {
    flex:0 0 100%;
    min-width:100%;
}
.about-carousel__slide img {
    width:100%;
    aspect-ratio:4/3;
    object-fit:cover;
    display:block;
}
.about-carousel__btn {
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    z-index:2;
    width:42px;
    height:42px;
    border:none;
    border-radius:0;
    background:rgba(10,9,7,.72);
    color:#fff;
    cursor:pointer;
    display:grid;
    place-items:center;
    transition:background .2s, color .2s;
}
.about-carousel__btn:hover { background:rgba(242,102,26,.9); color:#160a02; }
.about-carousel__btn--prev { left:12px; }
.about-carousel__btn--next { right:12px; }
.about-carousel__dots {
    position:absolute;
    left:0;
    right:0;
    bottom:14px;
    display:flex;
    justify-content:center;
    gap:8px;
    z-index:2;
}
.about-carousel__dot {
    width:28px;
    height:3px;
    padding:0;
    border:none;
    border-radius:0;
    background:rgba(255,255,255,.35);
    cursor:pointer;
    transition:background .25s, width .25s;
}
.about-carousel__dot.is-active {
    width:40px;
    background:var(--orange);
}
.about h2 { font-family:'Montserrat',sans-serif; text-transform:uppercase; font-weight:800; font-size:clamp(1.9rem,3.8vw,2.8rem); line-height:1.1; margin:14px 0 16px; }
.about p { color:var(--muted); margin:0 0 16px; font-size:1.05rem; }

/* EXPERIENCIAS — bento grid asimétrico */
.cat-head {
    display:flex;
    flex-direction:column;
    gap:16px;
    margin-bottom:48px;
}
.cat-head h2 {
    font-family:'Montserrat',sans-serif;
    text-transform:uppercase;
    font-weight:800;
    font-size:clamp(1.9rem,4.2vw,3rem);
    line-height:1.08;
    margin:12px 0 0;
}
.cat-head__sub {
    margin:0;
    max-width:340px;
    color:var(--muted);
    font-size:.92rem;
    line-height:1.6;
}
@media (min-width: 768px){
    .cat-head {
        flex-direction:row;
        align-items:flex-end;
        justify-content:space-between;
        margin-bottom:64px;
    }
    .cat-head__sub { text-align:right; }
}
.cat-grid {
    display:grid;
    grid-template-columns:1fr;
    gap:12px;
}
@media (min-width: 768px){
    .cat-grid {
        grid-template-columns:repeat(12, 1fr);
        grid-auto-rows:minmax(280px, auto);
    }
    .cat-card--c7 { grid-column:span 7; }
    .cat-card--c5 { grid-column:span 5; }
    .cat-card--c4 { grid-column:span 4; }
    .cat-card--c3 { grid-column:span 3; }
    .cat-card--r2 { grid-row:span 2; }
}
.cat-card {
    position:relative;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    min-height:288px;
    overflow:hidden;
    border:1px solid var(--line);
    border-radius:0;
    color:inherit;
    text-decoration:none;
    transition:border-color .3s;
}
.cat-card:hover { border-color:rgba(242,102,26,.35); }
.cat-card:focus-visible { outline:2px solid var(--orange); outline-offset:2px; }
.cat-card__bg {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .7s ease;
}
.cat-card:hover .cat-card__bg { transform:scale(1.05); }
.cat-card__overlay {
    position:absolute;
    inset:0;
    background:linear-gradient(to top, var(--bg) 0%, rgba(10,9,7,.42) 48%, transparent 100%);
    transition:background .5s;
}
.cat-card:hover .cat-card__overlay {
    background:linear-gradient(to top, var(--bg) 0%, rgba(10,9,7,.22) 55%, transparent 100%);
}
.cat-card__num {
    position:absolute;
    top:16px;
    right:20px;
    font-family:'Montserrat',sans-serif;
    font-weight:900;
    line-height:1;
    letter-spacing:-.04em;
    color:rgba(245,242,236,.15);
    font-size:4.5rem;
    user-select:none;
    pointer-events:none;
    transition:color .5s;
}
.cat-card--featured .cat-card__num { font-size:5.5rem; }
@media (min-width: 768px){
    .cat-card__num { font-size:4.5rem; }
    .cat-card--featured .cat-card__num { font-size:7.5rem; }
}
.cat-card:hover .cat-card__num { color:rgba(242,102,26,.82); }
.cat-card__body {
    position:relative;
    z-index:2;
    display:flex;
    flex-direction:column;
    gap:12px;
    padding:24px;
}
@media (min-width: 768px){ .cat-card__body { padding:32px; } }
.cat-card__line {
    display:block;
    width:40px;
    height:2px;
    background:var(--orange);
    transition:width .5s;
}
.cat-card:hover .cat-card__line { width:80px; }
.cat-card h3 {
    margin:0;
    font-family:'Montserrat',sans-serif;
    font-weight:900;
    text-transform:uppercase;
    line-height:1.05;
    letter-spacing:.01em;
    font-size:1.65rem;
}
.cat-card--featured h3 { font-size:clamp(1.75rem, 3.2vw, 3rem); }
@media (min-width: 768px){
    .cat-card:not(.cat-card--featured) h3 { font-size:1.85rem; }
}
.cat-card__desc {
    margin:0;
    max-width:28rem;
    font-size:.875rem;
    line-height:1.62;
    color:var(--muted);
    opacity:.92;
}
@media (min-width: 768px){
    .cat-card__desc {
        transform:translateY(8px);
        opacity:0;
        transition:transform .5s, opacity .5s;
    }
    .cat-card:hover .cat-card__desc {
        transform:translateY(0);
        opacity:.92;
    }
}
.cat-card__cta {
    display:inline-flex;
    align-items:center;
    gap:5px;
    font-size:.72rem;
    font-weight:800;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:var(--orange);
    opacity:0;
    transition:opacity .5s;
}
.cat-card__cta svg { transition:transform .3s; }
.cat-card:hover .cat-card__cta { opacity:1; }
.cat-card:hover .cat-card__cta svg { transform:translate(2px, -2px); }
@media (max-width: 767px){
    .cat-card__cta { opacity:1; }
}
.specs { position:relative; overflow:hidden; }
.specs__bg { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.specs__scrim { position:absolute; inset:0; background:linear-gradient(90deg, rgba(8,7,6,.95) 38%, rgba(8,7,6,.72) 62%, rgba(8,7,6,.45)); }
.specs__wrap { position:relative; z-index:2; padding:96px 0; }
.specs__head { max-width:640px; margin-bottom:36px; }
.specs__head p { color:#e3ded4; margin:0; font-size:1.02rem; line-height:1.6; }
.specs__grid {
    display:grid;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:36px 28px;
}
.spec-item {
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:16px;
}
.spec-item__icon {
    display:block;
    line-height:0;
    color:#f5f2ec;
}
.spec-item__icon svg {
    width:56px;
    height:56px;
    stroke:currentColor;
    fill:none;
}
.spec-item p {
    margin:0;
    color:#ece7de;
    font-size:1rem;
    line-height:1.55;
    font-weight:500;
    max-width:22ch;
}
@media (max-width:1024px){
    .specs__grid { grid-template-columns:repeat(2, minmax(0, 1fr)); gap:32px 24px; }
    .spec-item__icon svg { width:50px; height:50px; }
}
@media (max-width:720px){
    .specs__wrap { padding:72px 0; }
    .specs__grid { grid-template-columns:1fr; gap:28px; }
    .specs__scrim { background:linear-gradient(180deg, rgba(8,7,6,.92) 0%, rgba(8,7,6,.78) 55%, rgba(8,7,6,.55)); }
    .spec-item { flex-direction:row; align-items:flex-start; gap:18px; }
    .spec-item__icon svg { width:46px; height:46px; flex-shrink:0; }
    .spec-item p { max-width:none; font-size:.98rem; }
}

/* CÓMO FUNCIONA — tiles inmersivos */
.how__flow {
    display:flex;
    align-items:center;
    justify-content:center;
    flex-wrap:wrap;
    gap:10px 0;
    margin:36px 0 44px;
    padding:20px 24px;
    border:1px solid var(--line);
    border-radius:999px;
    background:linear-gradient(180deg, rgba(255,255,255,.03), transparent);
}
.how__step {
    display:flex;
    align-items:center;
    gap:10px;
    padding:0 8px;
}
.how__step-dot {
    display:grid;
    place-items:center;
    width:28px;
    height:28px;
    border-radius:50%;
    background:var(--orange);
    color:#160a02;
    font-size:.72rem;
    font-weight:900;
    flex-shrink:0;
}
.how__step-label {
    font-size:.72rem;
    font-weight:800;
    letter-spacing:.1em;
    text-transform:uppercase;
    color:var(--text);
    white-space:nowrap;
}
.how__step-line {
    width:28px;
    height:1px;
    background:linear-gradient(90deg, rgba(242,102,26,.15), rgba(242,102,26,.55), rgba(242,102,26,.15));
    flex-shrink:0;
}
.how__tiles {
    display:grid;
    gap:20px;
}
.how-tile {
    position:relative;
    min-height:min(72vh, 520px);
    overflow:hidden;
    border:1px solid var(--line);
    display:flex;
    align-items:flex-end;
}
.how-tile--featured {
    border-color:rgba(242,102,26,.35);
    box-shadow:0 24px 80px rgba(242,102,26,.08);
}
.how-tile__bg {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .7s cubic-bezier(.22,1,.36,1);
}
.how-tile:hover .how-tile__bg { transform:scale(1.05); }
.how-tile__scrim {
    position:absolute;
    inset:0;
    background:linear-gradient(105deg, rgba(8,7,6,.94) 0%, rgba(8,7,6,.82) 42%, rgba(8,7,6,.25) 72%, rgba(8,7,6,.12) 100%);
}
.how-tile__scrim--alt {
    background:linear-gradient(285deg, rgba(8,7,6,.94) 0%, rgba(8,7,6,.78) 38%, rgba(8,7,6,.22) 68%, rgba(8,7,6,.1) 100%);
}
.how-tile__num {
    position:absolute;
    top:18px;
    right:22px;
    font-family:'Montserrat',sans-serif;
    font-weight:900;
    font-size:clamp(4rem, 12vw, 7rem);
    line-height:1;
    color:rgba(255,255,255,.06);
    pointer-events:none;
    user-select:none;
}
.how-tile__body {
    position:relative;
    z-index:2;
    width:100%;
    max-width:36rem;
    padding:28px 28px 32px;
}
.how-tile__badge {
    display:inline-block;
    margin-bottom:14px;
    padding:6px 12px;
    border-radius:999px;
    background:var(--orange);
    color:#160a02;
    font-size:.68rem;
    font-weight:900;
    letter-spacing:.12em;
    text-transform:uppercase;
}
.how-tile__badge--soft {
    background:rgba(255,255,255,.12);
    color:#fff;
    border:1px solid rgba(255,255,255,.18);
}
.how-tile__price { margin-bottom:10px; }
.how-tile__amount {
    display:block;
    font-family:'Montserrat',sans-serif;
    font-weight:900;
    font-size:clamp(2.2rem, 5vw, 3.2rem);
    line-height:1;
    color:#fff;
    letter-spacing:-.02em;
}
.how-tile__amount--text { font-size:clamp(2rem, 4.5vw, 2.8rem); text-transform:uppercase; }
.how-tile__per {
    display:block;
    margin-top:6px;
    font-size:.76rem;
    font-weight:700;
    letter-spacing:.12em;
    text-transform:uppercase;
    color:var(--muted);
}
.how-tile h3 {
    margin:0 0 10px;
    font-family:'Montserrat',sans-serif;
    font-size:clamp(1.35rem, 2.5vw, 1.75rem);
    text-transform:uppercase;
    line-height:1.1;
}
.how-tile p {
    margin:0 0 16px;
    color:#d8d2c8;
    font-size:.95rem;
    line-height:1.6;
    max-width:34ch;
}
.how-tile__features {
    margin:0 0 18px;
    padding:0;
    list-style:none;
    display:grid;
    gap:8px;
}
.how-tile__features li {
    position:relative;
    padding-left:18px;
    font-size:.86rem;
    color:var(--muted);
    line-height:1.45;
}
.how-tile__features li::before {
    content:'';
    position:absolute;
    left:0;
    top:.55em;
    width:6px;
    height:6px;
    border-radius:50%;
    background:var(--orange);
}
.how-tile__mods {
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-bottom:20px;
}
.how-tile__mods span {
    padding:5px 11px;
    border-radius:999px;
    border:1px solid rgba(242,102,26,.35);
    background:rgba(242,102,26,.12);
    color:#ffd8c0;
    font-size:.68rem;
    font-weight:800;
    letter-spacing:.1em;
    text-transform:uppercase;
}
.how-tile__cta { margin-top:4px; align-self:flex-start; width:auto; }
@media (min-width: 900px){
    .how-tile {
        min-height:420px;
        align-items:stretch;
    }
    .how-tile__body {
        display:flex;
        flex-direction:column;
        justify-content:flex-end;
        max-width:min(48%, 520px);
        padding:40px 44px 44px;
    }
    .how-tile:nth-child(2) {
        justify-content:flex-end;
    }
    .how-tile:nth-child(2) .how-tile__body {
        margin-left:auto;
        text-align:left;
    }
    .how-tile:nth-child(2) .how-tile__num {
        right:auto;
        left:22px;
    }
}
@media (max-width: 720px){
    .how__flow {
        display:grid;
        grid-template-columns:repeat(2, minmax(0, 1fr));
        gap:18px 14px;
        border-radius:20px;
        padding:20px 16px;
        overflow:visible;
        justify-content:stretch;
    }
    .how__step-line { display:none; }
    .how__step {
        flex-direction:column;
        align-items:flex-start;
        gap:8px;
        padding:12px 14px;
        border-radius:14px;
        background:rgba(255,255,255,.03);
        border:1px solid var(--line);
    }
    .how__step-label {
        white-space:normal;
        font-size:.68rem;
        letter-spacing:.06em;
        line-height:1.35;
    }
    .how-tile {
        min-height:min(78vh, 560px);
        align-items:flex-end;
    }
    .how-tile__scrim,
    .how-tile__scrim--alt {
        background:linear-gradient(
            180deg,
            rgba(8,7,6,.25) 0%,
            rgba(8,7,6,.5) 38%,
            rgba(8,7,6,.82) 58%,
            rgba(8,7,6,.96) 100%
        );
    }
    .how-tile__body {
        max-width:none;
        margin:0;
        padding:22px 18px 24px;
        background:linear-gradient(180deg, rgba(10,9,7,.55) 0%, rgba(10,9,7,.92) 28%, rgba(10,9,7,.97) 100%);
        backdrop-filter:blur(10px);
        -webkit-backdrop-filter:blur(10px);
        border-top:1px solid rgba(255,255,255,.1);
    }
    .how-tile__num {
        top:12px;
        right:14px;
        font-size:clamp(3rem, 18vw, 4.5rem);
        color:rgba(255,255,255,.04);
    }
    .how-tile p {
        max-width:none;
        color:#ece7de;
    }
    .how-tile__features li { color:#d0cbc2; }
    .how-tile__per { color:#b8b2a8; }
}

/* legacy price (unused) */
.price { padding:0; background:var(--panel); border:1px solid var(--line); overflow:hidden; display:flex; flex-direction:column; }
.price__media { aspect-ratio:16/10; overflow:hidden; }
.price__media img { width:100%; height:100%; object-fit:cover; transition: transform .5s; }
.price:hover .price__media img { transform: scale(1.04); }
.price__body { padding:24px 26px 28px; flex:1; }
.price .amt { font-family:'Montserrat',sans-serif; font-weight:800; font-size:2.4rem; color:#fff; line-height:1; }
.price .amt small { color:var(--orange); font-size:1rem; }
.price .per { color:var(--muted); font-size:.8rem; text-transform:uppercase; letter-spacing:.08em; margin-top:4px; }
.price h3 { font-family:'Montserrat',sans-serif; text-transform:uppercase; margin:16px 0 8px; font-size:1.25rem; }
.price p { color:var(--muted); font-size:.98rem; margin:0; }
.price--feat { border-color: rgba(242,102,26,.4); }
.price--feat .price__body { background: linear-gradient(160deg, rgba(242,102,26,.18), var(--panel) 60%); }

/* SUCURSALES */
.suc { position:relative; overflow:hidden; border:1px solid var(--line); background:#0e0c0a; }
.suc__media { position:relative; aspect-ratio:16/11; overflow:hidden; }
.suc__media img { width:100%; height:100%; object-fit:cover; transition: transform .6s; }
.suc:hover .suc__media img { transform: scale(1.06); }
.suc__media::after { content:''; position:absolute; inset:0; background: linear-gradient(180deg, transparent 40%, rgba(10,9,7,.92)); }
.suc__title { position:absolute; left:18px; bottom:14px; z-index:2; }
.suc__title h3 { font-family:'Montserrat',sans-serif; text-transform:uppercase; font-size:1.4rem; margin:0; }
.suc__title span { color:#d7d2c8; font-size:.9rem; display:flex; align-items:center; gap:6px; }
.suc__foot { padding:14px 16px 18px; }
.suc__bar {
    display:flex;
    align-items:stretch;
    border:1px solid var(--line);
    border-radius:14px;
    overflow:hidden;
    background:#12100d;
}
.suc__bar-item {
    flex:1;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    padding:12px 8px;
    font-size:.68rem;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.05em;
    color:#cfc9bd;
    border-right:1px solid var(--line);
    transition: background .2s, color .2s;
    position:relative;
    min-width:0;
}
.suc__bar-item:last-child { border-right:none; }
.suc__bar-item svg { flex-shrink:0; width:15px; height:15px; }
.suc__bar-item span { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.suc__bar-item:hover { background:rgba(242,102,26,.14); color:#fff; }
.suc__bar-item--accent { color:var(--orange-2); }
.suc__bar-item--accent:hover { background:rgba(242,102,26,.22); color:#fff; }
.suc__bar-item[title]:hover::after {
    content:attr(title);
    position:absolute;
    left:50%;
    bottom:calc(100% + 8px);
    transform:translateX(-50%);
    padding:6px 10px;
    border-radius:8px;
    background:#1a1713;
    border:1px solid var(--line);
    color:#f5f2ec;
    font-size:.68rem;
    font-weight:600;
    letter-spacing:.02em;
    text-transform:none;
    white-space:nowrap;
    pointer-events:none;
    z-index:4;
    box-shadow:0 8px 20px rgba(0,0,0,.35);
}
@media (max-width: 420px){
    .suc__bar-item { padding:11px 6px; font-size:.62rem; gap:5px; }
    .suc__bar-item svg { width:14px; height:14px; }
}

/* GASTRONOMIA — panel único con cortes diagonales */
.container--wide { max-width: 1320px; }
.food-panel {
    border:3px solid #000;
    border-radius:22px;
    overflow:hidden;
    background:#000;
    box-shadow:0 24px 60px -40px rgba(0,0,0,.65);
}
.food-panel__mosaic {
    display:flex;
    width:100%;
    height:clamp(300px, 38vw, 460px);
    background:#000;
    overflow:hidden;
}
.food-panel__slice {
    flex:1;
    position:relative;
    overflow:hidden;
    transform:skewX(-7deg);
    margin:0 -20px;
    border-left:3px solid #000;
    min-width:0;
}
.food-panel__slice:first-child {
    margin-left:-58px;
    border-left:none;
}
.food-panel__slice:last-child { margin-right:-58px; }
.food-panel__slice-inner {
    position:relative;
    width:118%;
    height:100%;
    margin-left:-9%;
    transform:skewX(7deg);
}
.food-panel__slice:first-child .food-panel__slice-inner {
    width:124%;
    margin-left:-4%;
}
.food-panel__slice:last-child .food-panel__slice-inner {
    width:124%;
    margin-left:-14%;
}
.food-panel__slice img {
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center center;
    display:block;
    transition:transform .55s ease;
}
.food-panel__slice:hover img { transform:scale(1.03); }
.food-panel__label {
    display:none;
}
.food-panel__captions {
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    background:#0e0c0a;
    border-top:3px solid #000;
}
.food-panel__caption {
    padding:20px 18px 24px;
    text-align:center;
    border-left:3px solid #000;
}
.food-panel__caption:first-child { border-left:none; }
.food-panel__caption h3 {
    font-family:'Montserrat',sans-serif;
    font-weight:800;
    text-transform:uppercase;
    font-size:clamp(.95rem, 1.2vw, 1.2rem);
    margin:0 0 7px;
    line-height:1.25;
    color:var(--orange-2);
}
.food-panel__caption p {
    margin:0;
    color:#e8e2d8;
    font-size:clamp(.86rem, 1vw, .98rem);
    line-height:1.5;
    font-style:italic;
}
@media (max-width: 900px){
    .food-panel__mosaic {
        flex-direction:column;
        height:auto;
    }
    .food-panel__slice {
        margin:0;
        transform:none;
        border-left:none;
        border-top:3px solid #000;
        min-height:260px;
        height:auto;
    }
    .food-panel__slice:first-child { margin-left:0; border-top:none; }
    .food-panel__slice:last-child { margin-right:0; }
    .food-panel__slice-inner,
    .food-panel__slice:first-child .food-panel__slice-inner,
    .food-panel__slice:last-child .food-panel__slice-inner {
        width:100%;
        margin-left:0;
        transform:none;
        min-height:260px;
    }
    .food-panel__slice-inner::after {
        content:'';
        position:absolute;
        inset:0;
        background:linear-gradient(180deg, transparent 30%, rgba(10,9,7,.35) 55%, rgba(10,9,7,.94) 100%);
        pointer-events:none;
    }
    .food-panel__label {
        display:block;
        position:absolute;
        left:0;
        right:0;
        bottom:0;
        z-index:2;
        padding:20px 20px 24px;
        text-align:center;
    }
    .food-panel__label h3 {
        font-family:'Montserrat',sans-serif;
        font-weight:800;
        text-transform:uppercase;
        font-size:1.1rem;
        margin:0 0 6px;
        line-height:1.2;
        color:var(--orange-2);
    }
    .food-panel__label p {
        margin:0;
        color:#e8e2d8;
        font-size:.95rem;
        line-height:1.45;
        font-style:italic;
    }
    .food-panel__captions { display:none; }
}

/* EVENTOS ESPECIALES */
.events-stack { display:flex; flex-direction:column; align-items:center; gap:28px; padding:8px 0 12px; }
.event { position:relative; overflow:hidden; min-height:420px; display:flex; align-items:center; border:1px solid var(--line); width:100%; max-width:100%; margin:0 auto; }
.event__bg { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
video.event__bg { pointer-events:none; }
.event__scrim { position:absolute; inset:0; }
.event__in { position:relative; z-index:2; display:grid; grid-template-columns: 1.4fr .9fr; gap:34px; width:100%; padding:44px; align-items:center; }
@media (max-width:820px){
    .events-stack { gap:22px; }
    .event { width:100%; }
    .event__in{ grid-template-columns:1fr; }
}
.event__kick { font-family:'Montserrat',sans-serif; font-weight:700; text-transform:uppercase; letter-spacing:.16em; color:#ffd9a3; font-size:.9rem; }
.event h3 { font-family:'Montserrat',sans-serif; font-weight:900; text-transform:uppercase; font-size:clamp(2rem,4.4vw,3.2rem); line-height:1; margin:6px 0; text-shadow:0 2px 30px rgba(0,0,0,.6); }
.event h3 .neon { color: var(--nc); text-shadow: 0 0 18px color-mix(in srgb, var(--nc) 60%, transparent); }
.event p.d { color:#eae6dd; max-width:620px; margin:12px 0 0; }
.ticket { background: rgba(10,9,7,.72); border:1px solid rgba(255,255,255,.18); backdrop-filter: blur(4px); padding:22px; }
.ticket h4 { font-family:'Montserrat',sans-serif; text-transform:uppercase; letter-spacing:.06em; margin:0 0 10px; color:#fff; font-size:1.2rem; border-bottom:1px dashed rgba(255,255,255,.25); padding-bottom:10px; }
.ticket p { margin:0 0 14px; color:#d7d2c8; font-size:.95rem; }
.ticket .fecha { font-size:.76rem; text-transform:uppercase; letter-spacing:.08em; color:var(--orange-2); }

/* BAND */
.band { position:relative; overflow:hidden; min-height:360px; display:flex; align-items:center; border:1px solid var(--line); }
.band__bg { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.band__scrim { position:absolute; inset:0; }
.band__c { position:relative; z-index:2; max-width:560px; padding:48px; }
.band h2 { font-family:'Montserrat',sans-serif; text-transform:uppercase; font-size:clamp(1.7rem,3.6vw,2.6rem); margin:8px 0 12px; line-height:1.08; }
.band p { color:#eae6dd; margin:0 0 22px; font-size:1.02rem; }

/* REVIEWS — google, tono cálido integrado */
.reviews {
    background:
        radial-gradient(circle at 18% 12%, rgba(242,102,26,.1), transparent 42%),
        radial-gradient(circle at 82% 88%, rgba(255,255,255,.04), transparent 48%),
        linear-gradient(180deg, #12100d 0%, #17140f 48%, #12100d 100%);
    color: var(--text);
    border-block: 1px solid var(--line);
}
.reviews .sec-num { color: var(--orange); }
.reviews .display { color: var(--text); }
.grating { display:flex; align-items:center; gap:18px; flex-wrap:wrap; margin-bottom:34px; }
.grating__score { font-family:'Montserrat',sans-serif; font-weight:800; font-size:3rem; line-height:1; color:var(--text); }
.gstars { color:#fbbc05; font-size:1.3rem; letter-spacing:2px; }
.gmeta { color:var(--muted); font-size:.9rem; }
.rev-carousel {
    --rev-visible: 4;
    --rev-gap: 20px;
    --rev-pad: 28px;
    margin-top: 8px;
    padding: 6px 0 28px;
}
.rev-carousel__viewport {
    overflow:hidden;
    width:100%;
    padding:0 var(--rev-pad);
    border:none;
    mask-image: linear-gradient(90deg, transparent, #000 3%, #000 97%, transparent);
}
.rev-carousel__track {
    display:flex;
    gap:var(--rev-gap);
    width:max-content;
    animation:rev-marquee 55s linear infinite;
}
.rev-carousel:hover .rev-carousel__track { animation-play-state:paused; }
@keyframes rev-marquee {
    from { transform:translateX(0); }
    to { transform:translateX(calc(-50% + (var(--rev-gap) / 2))); }
}
.rev-carousel__slide {
    flex:0 0 calc((100vw - (2 * var(--rev-pad)) - ((var(--rev-visible) - 1) * var(--rev-gap))) / var(--rev-visible));
    width:calc((100vw - (2 * var(--rev-pad)) - ((var(--rev-visible) - 1) * var(--rev-gap))) / var(--rev-visible));
}
.rev {
    background:rgba(255,255,255,.05);
    border:1px solid var(--line);
    border-radius:0;
    padding:24px 22px 28px;
    box-shadow:0 14px 34px -24px rgba(0,0,0,.75);
    height:100%;
    min-height:240px;
}
.rev__top { display:flex; align-items:center; gap:12px; margin-bottom:12px; }
.rev__ava { width:42px; height:42px; border-radius:50%; background:#f2661a; color:#fff; font-weight:800; display:grid; place-items:center; font-family:'Montserrat',sans-serif; flex-shrink:0; }
.rev__who { font-weight:800; color:var(--text); font-size:.92rem; line-height:1.1; }
.rev__date { color:var(--muted); font-size:.76rem; }
.rev__g { margin-left:auto; opacity:.9; flex-shrink:0; }
.rev .gstars { font-size:.95rem; margin-bottom:10px; }
.rev p { margin:0; color:#cfc9bd; font-size:.95rem; line-height:1.58; }
@media (max-width: 1100px){
    .rev-carousel { --rev-visible: 3; }
}
@media (max-width: 820px){
    .rev-carousel { --rev-visible: 2; --rev-gap: 16px; --rev-pad: 20px; }
    .rev { min-height:220px; padding:20px 18px 24px; }
}
@media (max-width: 520px){
    .rev-carousel { --rev-visible: 1; --rev-gap: 14px; --rev-pad: 18px; }
}

.mobile-reserve {
    position: fixed;
    right: 16px;
    bottom: 18px;
    z-index: 85;
    padding: 15px 26px;
    box-shadow: 0 14px 30px rgba(0,0,0,.45), 0 0 0 1px rgba(255,255,255,.08);
    display: none;
    opacity: 0;
    transform: translateY(16px);
    transition: opacity .3s, transform .3s;
    pointer-events: none;
}
.mobile-reserve.show { opacity: 1; transform: none; pointer-events: auto; }
@media (max-width: 980px){
    .mobile-reserve { display: inline-flex; }
}

.scroll-top {
    position:fixed;
    left:16px;
    bottom:18px;
    z-index:85;
    width:48px;
    height:48px;
    display:grid;
    place-items:center;
    border:1px solid rgba(255,255,255,.14);
    border-radius:50%;
    background:rgba(10,9,7,.88);
    color:#f5f2ec;
    cursor:pointer;
    opacity:0;
    transform:translateY(16px);
    transition:opacity .3s, transform .3s, background .2s, border-color .2s, color .2s;
    pointer-events:none;
    backdrop-filter:blur(8px);
}
.scroll-top.show { opacity:1; transform:none; pointer-events:auto; }
.scroll-top:hover {
    background:var(--orange);
    border-color:var(--orange);
    color:#160a02;
}
.scroll-top:focus-visible { outline:2px solid var(--orange); outline-offset:2px; }

/* FAQ */
.faq { border-bottom:1px solid var(--line); }
.faq summary {
    cursor:pointer;
    list-style:none;
    padding:22px 4px;
    font-family:'Montserrat',sans-serif;
    font-weight:700;
    text-transform:uppercase;
    font-size:1.05rem;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
    transition:color .25s ease;
}
.faq summary:hover { color:var(--orange-2); }
.faq summary::-webkit-details-marker { display:none; }
.faq summary::after {
    content:'+';
    color:var(--orange);
    font-size:1.6rem;
    line-height:1;
    flex-shrink:0;
    transition:transform .4s cubic-bezier(.22,1,.36,1);
}
.faq[open] summary::after { transform:rotate(45deg); }
.faq__content {
    display:grid;
    grid-template-rows:0fr;
    transition:grid-template-rows .42s cubic-bezier(.22,1,.36,1);
}
.faq[open] .faq__content { grid-template-rows:1fr; }
.faq__inner { overflow:hidden; }
.faq__inner p {
    margin:0;
    padding:0 4px 22px;
    color:var(--muted);
    font-size:1rem;
    max-width:820px;
    line-height:1.65;
    opacity:0;
    transform:translateY(-10px);
    transition:opacity .32s ease .06s, transform .38s cubic-bezier(.22,1,.36,1) .06s;
}
.faq[open] .faq__inner p {
    opacity:1;
    transform:translateY(0);
}
@media (prefers-reduced-motion: reduce){
    .faq__content { transition:none; }
    .faq__inner p,
    .faq summary::after { transition:none; transform:none; opacity:1; }
}

/* FOOTER */
footer { border-top:1px solid var(--line); background:#0c0a08; padding:56px 0 32px; }
.foot { display:flex; flex-wrap:wrap; gap:40px; justify-content:space-between; }
.foot__brand img { height:44px; margin-bottom:14px; }
.foot__brand p { color:var(--muted); max-width:340px; font-size:.9rem; }
.foot__col h4 { font-family:'Montserrat',sans-serif; text-transform:uppercase; letter-spacing:.06em; color:#cfc9bd; margin:0 0 14px; font-size:.9rem; }
.foot__col a { display:block; color:#a49e93; font-size:.9rem; padding:5px 0; }
.foot__col a:hover { color:var(--orange); }
.foot__bottom { margin-top:38px; padding-top:22px; border-top:1px solid var(--line); color:#7c766c; font-size:.82rem; }

/* MODOS — comparativo versus */
.versus {
    position:relative;
    display:grid;
    grid-template-columns:1fr 1fr;
    align-items:stretch;
    border:1px solid var(--line);
    border-radius:20px;
    overflow:hidden;
    background:#0e0c0a;
}
.vs-col {
    position:relative;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    min-height:100%;
    padding:0;
    overflow:hidden;
    background:transparent;
}
.vs-col + .vs-col { border-left:1px solid var(--line); }
.vs-col__media {
    position:relative;
    flex-shrink:0;
    height:clamp(130px, 19vw, 185px);
    overflow:hidden;
}
.vs-col__bg {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
    pointer-events:none;
}
.vs-col__scrim {
    position:absolute;
    inset:0;
    background:linear-gradient(
        180deg,
        rgba(10,9,7,.15) 0%,
        rgba(10,9,7,.45) 55%,
        #0e0c0a 100%
    );
    pointer-events:none;
    transition:opacity .45s ease;
}
.vs-col--featured .vs-col__scrim {
    background:linear-gradient(
        180deg,
        rgba(12,7,4,.2) 0%,
        rgba(18,8,3,.5) 55%,
        #0e0c0a 100%
    );
}
.vs-col:not(.vs-col--featured) .vs-col__scrim {
    background:linear-gradient(
        180deg,
        rgba(6,12,20,.2) 0%,
        rgba(8,12,18,.48) 55%,
        #0e0c0a 100%
    );
}
@media (hover: hover){
    .vs-col:hover .vs-col__scrim { opacity:.92; }
}
.vs-col__content {
    position:relative;
    z-index:2;
    display:flex;
    flex-direction:column;
    flex:1;
    padding:20px 26px 24px;
}
.vs-col__head {
    flex-shrink:0;
    padding-bottom:12px;
    margin-bottom:12px;
    border-bottom:1px solid var(--line);
}
.vs-col__badge {
    display:inline-block;
    margin-bottom:10px;
    padding:5px 12px;
    border-radius:999px;
    background:var(--orange);
    color:#160a02;
    font-family:'Montserrat',sans-serif; font-weight:900;
    font-size:.62rem; letter-spacing:.12em; text-transform:uppercase;
}
.vs-col__kick {
    display:inline-block;
    font-family:'Montserrat',sans-serif; font-weight:800;
    font-size:.66rem; letter-spacing:.16em; text-transform:uppercase;
    color:#7dd3fc;
}
.vs-col--featured .vs-col__kick { color:var(--orange-2); }
.vs-col__head h3 {
    font-family:'Montserrat',sans-serif;
    text-transform:uppercase;
    font-weight:900;
    font-size:clamp(1.2rem,2vw,1.6rem);
    line-height:1.05;
    margin:6px 0 4px;
    min-height:calc(2 * 1.05 * clamp(1.2rem, 2vw, 1.6rem));
}
.vs-col__tagline {
    margin:0;
    color:#fff;
    font-weight:700;
    font-size:.94rem;
    line-height:1.35;
    min-height:calc(3 * 1.35 * 0.94rem);
}
.vs-col__list {
    list-style:none;
    flex:1;
    margin:0;
    padding:0;
    display:grid;
    align-content:start;
    gap:8px;
}
.vs-col__list li { display:flex; align-items:flex-start; gap:8px; font-size:.88rem; color:#d8d2c8; line-height:1.4; }
.vs-col__list li svg { flex-shrink:0; margin-top:2px; color:#7dd3fc; }
.vs-col--featured .vs-col__list li svg { color:var(--orange); }
.vs-col__foot {
    flex-shrink:0;
    margin-top:auto;
    padding-top:14px;
    border-top:1px solid var(--line);
}
.vs-col__notes {
    min-height:2.35rem;
    margin:0 0 12px;
}
.vs-col__notes p {
    margin:0;
    font-size:.72rem;
    line-height:1.45;
    color:#8f897e;
    font-style:italic;
}
.vs-col__notes p + p { margin-top:4px; }
.vs-col__where {
    display:flex; align-items:center; gap:8px;
    margin-bottom:12px;
    font-size:.78rem; font-weight:700; letter-spacing:.04em; text-transform:uppercase;
    color:#cfc9bd;
}
.vs-col__where svg { flex-shrink:0; color:#7dd3fc; }
.vs-col--featured .vs-col__where svg { color:var(--orange); }
.vs-col__cta { width:100%; justify-content:center; }
@media (max-width: 760px){
    .versus { grid-template-columns:1fr; }
    .vs-col + .vs-col { border-left:none; border-top:1px solid var(--line); }
    .vs-col__content { padding:18px 20px 22px; }
    .vs-col__media { height:clamp(120px, 34vw, 165px); }
    .vs-col__head h3 { min-height:0; }
    .vs-col__tagline { min-height:0; }
}

/* ¿QUÉ PODÉS HACER? */
.acts { display:grid; grid-template-columns:repeat(4, 1fr); gap:18px; }
@media (max-width: 900px){ .acts { grid-template-columns:repeat(2, 1fr); } }
@media (max-width: 520px){ .acts { grid-template-columns:1fr; } }
.act {
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:12px;
    padding:28px 24px 26px;
    border:1px solid var(--line);
    border-radius:16px;
    background:#0e0c0a;
    transition:border-color .3s, transform .3s, background .3s;
}
.act:hover { border-color:rgba(242,102,26,.4); transform:translateY(-4px); background:#12100d; }
.act__icon { display:block; line-height:0; color:var(--orange-2); }
.act__icon svg { width:44px; height:44px; stroke:currentColor; fill:none; }
.act h3 { font-family:'Montserrat',sans-serif; text-transform:uppercase; font-weight:800; font-size:1.12rem; line-height:1.15; margin:0; }
.act p { margin:0; color:var(--muted); font-size:.92rem; line-height:1.55; flex:1; }
.act__cta {
    display:inline-flex; align-items:center; gap:6px;
    margin-top:4px;
    font-size:.74rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase;
    color:var(--orange);
}
.act__cta svg { transition:transform .3s; }
.act:hover .act__cta svg { transform:translateX(3px); }

/* LO QUE VAS A VIVIR — lista */
.vivir-list {
    list-style:none;
    margin:22px 0 28px;
    padding:0;
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:16px clamp(28px, 4vw, 44px);
}
@media (max-width: 560px){ .vivir-list { grid-template-columns:1fr; gap:14px; } }
.vivir-list li {
    display:flex;
    align-items:flex-start;
    gap:12px;
    color:#e3ded4;
    font-size:.94rem;
    line-height:1.55;
    font-weight:500;
}
.vivir-list__icon {
    flex-shrink:0;
    display:grid;
    place-items:center;
    width:22px;
    height:22px;
    margin-top:1px;
    border-radius:50%;
    background:rgba(242,102,26,.14);
    color:var(--orange-2);
}
.vivir-list__icon svg {
    width:13px;
    height:13px;
    display:block;
}

/* CONFIARON EN NOSOTROS — encabezado + grilla */
.brands-head {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:clamp(20px, 4vw, 48px);
    margin-bottom:clamp(28px, 4.5vw, 44px);
}
.brands-head__kick {
    flex-shrink:0;
    font-family:'Montserrat',sans-serif;
    font-weight:900;
    font-size:clamp(1.35rem, 2.8vw, 2rem);
    letter-spacing:.18em;
    text-transform:uppercase;
    color:#fff;
    line-height:1;
    padding-bottom:10px;
    border-bottom:3px solid var(--orange);
}
.brands-head__title-wrap {
    position:relative;
    flex:1;
    display:flex;
    align-items:center;
    justify-content:flex-end;
    min-width:min(100%, 280px);
}
.brands-head__ribbon {
    position:absolute;
    right:0;
    top:50%;
    transform:translateY(-50%) skewX(-14deg);
    width:min(100%, 560px);
    height:clamp(46px, 5.5vw, 64px);
    background:linear-gradient(90deg, transparent 0%, rgba(242,102,26,.35) 12%, rgba(242,102,26,.82) 48%, rgba(194,65,12,.55) 78%, transparent 100%);
    z-index:0;
    pointer-events:none;
}
.brands-head__title {
    position:relative;
    z-index:1;
    margin:0;
    padding:10px clamp(18px, 2.5vw, 30px) 10px clamp(28px, 4vw, 44px);
    font-size:clamp(1.35rem, 3vw, 2.2rem);
    font-style:italic;
    font-weight:900;
    line-height:1.02;
    text-align:right;
    text-transform:uppercase;
    letter-spacing:.01em;
}
@media (max-width: 720px){
    .brands-head {
        flex-direction:column;
        align-items:flex-start;
        gap:10px;
        margin-bottom:22px;
    }
    .brands-head__kick {
        font-size:.78rem;
        letter-spacing:.28em;
        color:var(--orange);
        border-bottom:none;
        padding-bottom:0;
        font-weight:700;
    }
    .brands-head__title-wrap {
        width:100%;
        justify-content:flex-start;
        min-width:0;
    }
    .brands-head__ribbon { display:none; }
    .brands-head__title {
        text-align:left;
        padding:0;
        font-size:clamp(1.45rem, 7vw, 1.85rem);
        font-style:normal;
    }
}
.brands-grid {
    display:grid;
    grid-template-columns:repeat(6, 1fr);
    gap:10px;
    width:100%;
}
.brands-grid__item {
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:96px;
    padding:10px 12px;
    background:rgba(255,255,255,.015);
    border:1px solid rgba(255,255,255,.035);
    border-radius:12px;
    overflow:hidden;
}
.brands-grid__logo {
    display:block;
    max-width:100%;
    max-height:58px;
    width:auto;
    height:auto;
    object-fit:contain;
    object-position:center;
    transform:scale(var(--brand-scale, 1));
    transform-origin:center center;
    filter:none;
    opacity:1;
    transition:
        transform .4s cubic-bezier(.22, 1, .36, 1),
        filter .35s ease,
        opacity .3s ease;
}
.brands-grid__logo--invert {
    filter:invert(1);
}
.brands-grid__logo--lift {
    filter:brightness(1.7) contrast(1.08);
}
@media (hover: hover){
    .brands-grid__item:hover {
        border-color:rgba(242,102,26,.28);
        background:rgba(242,102,26,.05);
    }
    .brands-grid__item:hover .brands-grid__logo {
        transform:scale(calc(var(--brand-scale, 1) * 1.08));
    }
    .brands-grid__item:hover .brands-grid__logo--invert {
        filter:invert(1) brightness(1.06);
    }
    .brands-grid__item:hover .brands-grid__logo--lift {
        filter:brightness(1.85) contrast(1.08);
    }
}
@media (max-width: 1024px){
    .brands-grid { grid-template-columns:repeat(4, 1fr); }
}
@media (max-width: 720px){
    .brands-grid {
        grid-template-columns:repeat(3, 1fr);
        gap:8px;
    }
    .brands-grid__item {
        min-height:84px;
        padding:10px 8px;
        border-radius:10px;
    }
    .brands-grid__logo {
        max-height:48px;
        transform:scale(clamp(.92, var(--brand-scale, 1), 1.18));
    }
}
@media (max-width: 420px){
    .brands-grid { grid-template-columns:repeat(2, 1fr); gap:8px; }
    .brands-grid__item { min-height:88px; padding:12px 10px; }
    .brands-grid__logo { max-height:52px; }
}
.brands__soon {
    text-align:center;
    color:var(--muted);
    font-size:1rem;
    letter-spacing:.04em;
    padding:26px 0;
}

/* reveal */
.reveal { opacity:0; transform: translateY(28px); transition: opacity .7s ease, transform .7s ease; }
.reveal.in { opacity:1; transform:none; }
@media (prefers-reduced-motion: reduce){
    .reveal{ opacity:1; transform:none;}
    .marquee__track{ animation:none;}
    .hero__video{ display:none; animation:none; transform:none; opacity:1; }
    .hero__scrim{ animation:none; opacity:1; }
    .hero__content > *{ animation:none; opacity:1; transform:none; filter:none; }
    .rev-carousel__track{ animation:none;}
    .brands-grid__logo{
        transition:none;
        opacity:1;
        transform:scale(var(--brand-scale, 1));
    }
    .brands-grid__logo--invert{ filter:invert(1); }
    .brands-grid__logo--lift{ filter:brightness(1.7) contrast(1.08); }
}
