/* ==========================================================================
   LANDING · ESTILO BOND
   Negro, latón y marfil. Estructura cinematográfica con revelados al hacer
   scroll, pantalla de señal, tarjetas flotantes y microanimaciones.
   ========================================================================== */

.landing-bond.auth-body {
    --lb-bg: #050505;
    --lb-panel: #0b0b0a;
    --lb-panel-2: #11110e;
    --lb-line: #2b2618;
    --lb-line-soft: rgba(201, 162, 39, .16);
    --lb-gold: #c9a227;
    --lb-gold-2: #e3c15a;
    --lb-ivory: #f4f1e8;
    --lb-soft: #c9c2b2;
    --lb-muted: #8f8777;

    display: block;
    align-items: initial;
    justify-content: initial;
    min-height: 100vh;
    margin: 0;
    overflow-x: hidden;
    background: var(--lb-bg);
    color: var(--lb-ivory);
    font-family: var(--font-body, "IBM Plex Sans", sans-serif);
}

.landing-bond a { color: inherit; text-decoration: none; }
.landing-bond h1,
.landing-bond h2,
.landing-bond h3,
.landing-bond p { margin: 0; }
.landing-bond ul,
.landing-bond ol { margin: 0; padding: 0; list-style: none; }
.landing-bond img,
.landing-bond video { display: block; }
.landing-bond ::selection { background: rgba(201, 162, 39, .35); color: #fff; }

/* --------------------------------------------------------------------------
   Atmósfera
   -------------------------------------------------------------------------- */

.lb-atmosphere {
    position: fixed;
    inset: 0;
    z-index: 0;
    overflow: hidden;
    pointer-events: none;
    background:
        radial-gradient(ellipse 55% 38% at 18% 12%, rgba(201, 162, 39, .075), transparent 68%),
        radial-gradient(ellipse 45% 40% at 88% 28%, rgba(201, 162, 39, .05), transparent 70%),
        radial-gradient(ellipse 70% 45% at 50% 105%, rgba(201, 162, 39, .05), transparent 70%),
        #050505;
}

.lb-grid {
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(201, 162, 39, .05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(201, 162, 39, .05) 1px, transparent 1px);
    background-size: 88px 88px;
    -webkit-mask-image: radial-gradient(ellipse 65% 65% at 50% 42%, #000 5%, transparent 78%);
    mask-image: radial-gradient(ellipse 65% 65% at 50% 42%, #000 5%, transparent 78%);
}

.lb-beam {
    position: absolute;
    top: -20%;
    width: 1px;
    height: 145%;
    background: linear-gradient(180deg, transparent, rgba(201, 162, 39, .22) 36%, rgba(201, 162, 39, .04) 72%, transparent);
    transform: rotate(24deg);
    transform-origin: center;
}

.lb-beam-a { left: 14%; opacity: .7; }
.lb-beam-b { right: 12%; opacity: .35; transform: rotate(-24deg); }

.lb-vignette {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(ellipse 55% 45% at 50% 35%, transparent 30%, rgba(0, 0, 0, .58) 100%),
        linear-gradient(180deg, rgba(0, 0, 0, .25), transparent 18%, transparent 82%, #050505 100%);
}

.lb-watermark {
    position: absolute;
    top: 10%;
    right: -10%;
    width: min(56vw, 760px);
    opacity: .035;
    filter: grayscale(1);
    transform: rotate(-8deg);
}

.landing-bond > :not(.lb-atmosphere) { position: relative; z-index: 1; }

/* --------------------------------------------------------------------------
   Tipografía común
   -------------------------------------------------------------------------- */

.lb-kicker {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #b99b42;
    font-family: var(--font-condensed, "Oswald", sans-serif);
    font-size: 8px;
    font-weight: 500;
    letter-spacing: .30em;
    text-transform: uppercase;
}

.lb-kicker i {
    width: 5px;
    height: 5px;
    flex: 0 0 5px;
    border-radius: 50%;
    background: var(--lb-gold);
    box-shadow: 0 0 0 3px rgba(201, 162, 39, .10), 0 0 12px rgba(201, 162, 39, .55);
}

.lb-kicker::after {
    content: "";
    width: 38px;
    height: 1px;
    background: linear-gradient(90deg, rgba(201, 162, 39, .55), transparent);
}

.lb-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 42px;
    padding: 11px 18px;
    border: 1px solid transparent;
    border-radius: 2px;
    font-family: var(--font-condensed, "Oswald", sans-serif);
    font-size: 9px;
    font-weight: 500;
    letter-spacing: .16em;
    line-height: 1;
    text-transform: uppercase;
    cursor: pointer;
    transition: background .18s ease, border-color .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease;
}

.lb-btn svg { width: 16px; height: 16px; flex: 0 0 16px; }
.lb-btn:hover { transform: translateY(-1px); }

.lb-btn-gold {
    border-color: var(--lb-gold);
    background: var(--lb-gold);
    color: #070707;
    box-shadow: 0 12px 28px rgba(201, 162, 39, .13);
}

.lb-btn-gold:hover {
    border-color: var(--lb-gold-2);
    background: var(--lb-gold-2);
    box-shadow: 0 16px 34px rgba(201, 162, 39, .22);
}

.lb-btn-line {
    border-color: #403820;
    background: rgba(8, 8, 7, .4);
    color: var(--lb-soft);
}

.lb-btn-line:hover {
    border-color: rgba(201, 162, 39, .70);
    background: rgba(201, 162, 39, .06);
    color: var(--lb-ivory);
}

.lb-btn-lg { min-height: 50px; padding: 14px 22px; font-size: 10px; }

/* --------------------------------------------------------------------------
   Cabecera
   -------------------------------------------------------------------------- */

.lb-header {
    position: sticky;
    top: 0;
    z-index: 80;
    display: flex;
    align-items: center;
    gap: 28px;
    max-width: 1320px;
    margin: 0 auto;
    padding: 16px 32px;
    border-bottom: 1px solid rgba(201, 162, 39, .10);
    background: rgba(5, 5, 5, .58);
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
    transition: background .25s ease, border-color .25s ease, padding .25s ease;
}

.lb-header.is-scrolled {
    padding-top: 11px;
    padding-bottom: 11px;
    border-color: rgba(201, 162, 39, .24);
    background: rgba(5, 5, 5, .92);
}

.lb-brand {
    display: inline-flex;
    align-items: center;
    gap: 11px;
    flex: 0 0 auto;
}

.lb-brand-mark {
    position: relative;
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    overflow: hidden;
    border: 1px solid #3b321d;
    background: #090908;
    box-shadow: 0 0 24px rgba(201, 162, 39, .07);
}

.lb-brand-mark::after {
    content: "";
    position: absolute;
    inset: 3px;
    border: 1px solid rgba(201, 162, 39, .16);
    pointer-events: none;
}

.lb-brand-mark img { width: 100%; height: 100%; object-fit: cover; }

.lb-brand-copy { display: grid; gap: 3px; line-height: 1; }
.lb-brand-copy strong {
    color: var(--lb-ivory);
    font-family: var(--font-display, "Bebas Neue", sans-serif);
    font-size: 21px;
    font-weight: 400;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.lb-brand-copy small {
    color: #89733a;
    font-family: var(--font-condensed, "Oswald", sans-serif);
    font-size: 7.5px;
    letter-spacing: .22em;
    text-transform: uppercase;
}

.lb-nav {
    display: flex;
    align-items: center;
    gap: 30px;
    margin: 0 auto;
}

.lb-nav a {
    position: relative;
    padding: 6px 0;
    color: #a39a88;
    font-family: var(--font-condensed, "Oswald", sans-serif);
    font-size: 9px;
    font-weight: 400;
    letter-spacing: .18em;
    text-transform: uppercase;
    transition: color .18s ease;
}

.lb-nav a::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 1px;
    background: var(--lb-gold);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .25s ease;
}

.lb-nav a:hover { color: var(--lb-gold-2); }
.lb-nav a:hover::after { transform: scaleX(1); }

.lb-header-cta { min-height: 38px; padding: 10px 16px; }

/* --------------------------------------------------------------------------
   Hero
   -------------------------------------------------------------------------- */

.lb-hero {
    display: grid;
    min-width: 0;
    grid-template-columns: minmax(0, 1.05fr) minmax(380px, .95fr);
    gap: clamp(34px, 5vw, 72px);
    align-items: center;
    max-width: 1320px;
    margin: 0 auto;
    padding: clamp(62px, 8vw, 104px) 32px clamp(58px, 7vw, 88px);
    min-height: 680px;
}

.lb-hero-copy { position: relative; z-index: 2; min-width: 0; }

.lb-hero-copy > .lb-kicker { animation: lb-fade-up .8s ease both; }

.lb-title {
    display: grid;
    gap: 0;
    margin: 22px 0 0 !important;
    color: var(--lb-ivory);
    font-family: var(--font-display, "Bebas Neue", sans-serif);
    font-size: clamp(58px, 7.8vw, 104px);
    font-weight: 400;
    letter-spacing: .015em;
    line-height: .86;
    text-transform: uppercase;
}

.lb-title-line { display: block; animation: lb-title-in .9s cubic-bezier(.2, .8, .2, 1) both; }
.lb-title-line:nth-child(1) { animation-delay: .05s; }
.lb-title-line:nth-child(2) { animation-delay: .14s; }
.lb-title-line:nth-child(3) { animation-delay: .23s; }

.lb-title-gold {
    color: var(--lb-gold);
    text-shadow: 0 0 48px rgba(201, 162, 39, .15);
}

.lb-hero-lead {
    max-width: 520px;
    margin-top: 26px !important;
    color: #a69d8b;
    font-size: 14px;
    line-height: 1.72;
}

.lb-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 30px;
}

.lb-proof {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    max-width: 560px;
    margin-top: 38px;
    padding-top: 18px;
    border-top: 1px solid rgba(201, 162, 39, .16);
}

.lb-proof > div { display: grid; gap: 4px; padding-right: 18px; }
.lb-proof > div + div { padding-left: 18px; border-left: 1px solid rgba(201, 162, 39, .12); }
.lb-proof strong {
    color: var(--lb-soft);
    font-family: var(--font-condensed, "Oswald", sans-serif);
    font-size: 10px;
    font-weight: 500;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.lb-proof span { color: #716a5c; font-size: 9px; letter-spacing: .03em; }

/* Pantalla del logo */
.lb-hero-stage {
    position: relative;
    z-index: 1;
    width: 100%;
    min-width: 0;
    max-width: 520px;
    margin-left: auto;
    transform: perspective(1000px) rotateX(var(--ry, 0deg)) rotateY(var(--rx, 0deg));
    transition: transform .25s ease-out;
}

.lb-orbit {
    position: absolute;
    border: 1px solid rgba(201, 162, 39, .13);
    border-radius: 50%;
    pointer-events: none;
}
.lb-orbit-a { inset: -28px; border-style: dashed; animation: lb-spin 54s linear infinite; }
.lb-orbit-b { inset: -52px; opacity: .45; animation: lb-spin-reverse 72s linear infinite; }

.lb-screen {
    position: relative;
    width: 100%;
    min-width: 0;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    border: 1px solid rgba(201, 162, 39, .45);
    background: #080807;
    box-shadow:
        0 0 0 8px rgba(201, 162, 39, .025),
        0 30px 90px rgba(0, 0, 0, .72),
        0 0 70px rgba(201, 162, 39, .06);
}

.lb-screen::after {
    content: "";
    position: absolute;
    inset: 9px;
    border: 1px solid rgba(201, 162, 39, .14);
    pointer-events: none;
    z-index: 3;
}

.lb-screen-video {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    height: 100%;
    object-fit: cover;
    filter: saturate(1.05) contrast(1.03);
}

.lb-corner {
    position: absolute;
    z-index: 5;
    width: 16px;
    height: 16px;
    border-color: var(--lb-gold);
    border-style: solid;
    pointer-events: none;
}
.lb-corner-tl { top: 4px; left: 4px; border-width: 1px 0 0 1px; }
.lb-corner-tr { top: 4px; right: 4px; border-width: 1px 1px 0 0; }
.lb-corner-bl { bottom: 4px; left: 4px; border-width: 0 0 1px 1px; }
.lb-corner-br { bottom: 4px; right: 4px; border-width: 0 1px 1px 0; }

.lb-screen-hud {
    position: absolute;
    left: 0;
    right: 0;
    z-index: 4;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 13px 14px;
    color: #d8c187;
    font-family: var(--font-tech, "Share Tech Mono", monospace);
    font-size: 7px;
    letter-spacing: .14em;
    text-transform: uppercase;
    background: linear-gradient(180deg, rgba(5, 5, 5, .78), transparent);
}

.lb-screen-hud-top { top: 0; }
.lb-screen-hud-bottom {
    bottom: 0;
    background: linear-gradient(0deg, rgba(5, 5, 5, .82), transparent);
}

.lb-screen-hud-top span:first-child { display: inline-flex; align-items: center; gap: 7px; }
.lb-screen-hud-top i {
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: var(--lb-gold);
    box-shadow: 0 0 8px var(--lb-gold);
}

.lb-live { display: inline-flex; align-items: center; gap: 6px; color: #d8c187; }
.lb-live i {
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: #b84c4c;
    box-shadow: 0 0 8px #b84c4c;
    animation: lb-pulse 2.4s ease-in-out infinite;
}

.lb-scan {
    position: absolute;
    left: 10%;
    right: 10%;
    top: 10%;
    z-index: 4;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(227, 193, 90, .75), transparent);
    opacity: .45;
    animation: lb-scan 5.5s ease-in-out infinite;
    pointer-events: none;
}

/* Tarjetas flotantes */
.lb-float {
    position: absolute;
    z-index: 6;
    display: grid;
    gap: 7px;
    width: 224px;
    padding: 12px 13px;
    border: 1px solid rgba(201, 162, 39, .24);
    background: rgba(9, 9, 8, .90);
    box-shadow: 0 18px 45px rgba(0, 0, 0, .55);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    animation: lb-float 7s ease-in-out infinite;
}

.lb-float-a { top: 8%; left: -34px; }
.lb-float-b { right: -30px; bottom: 8%; animation-delay: -3.5s; }

.lb-float-label {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #9f8e60;
    font-family: var(--font-condensed, "Oswald", sans-serif);
    font-size: 7.5px;
    letter-spacing: .14em;
    text-transform: uppercase;
}
.lb-float-label i {
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: var(--lb-gold);
}
.lb-float strong {
    color: var(--lb-ivory);
    font-family: var(--font-condensed, "Oswald", sans-serif);
    font-size: 10px;
    font-weight: 400;
    letter-spacing: .03em;
}

.lb-progress { display: block; height: 3px; overflow: hidden; background: #211d13; }
.lb-progress b { display: block; width: 64%; height: 100%; background: linear-gradient(90deg, #8f731d, var(--lb-gold-2)); animation: lb-progress 5s ease-in-out infinite; }

.lb-mini-bars { display: flex; align-items: end; gap: 3px; height: 15px; }
.lb-mini-bars i { display: block; flex: 1; background: var(--lb-gold); opacity: .65; animation: lb-bars 1.8s ease-in-out infinite; }
.lb-mini-bars i:nth-child(1) { height: 35%; animation-delay: -.2s; }
.lb-mini-bars i:nth-child(2) { height: 68%; animation-delay: -.6s; }
.lb-mini-bars i:nth-child(3) { height: 48%; animation-delay: -.9s; }
.lb-mini-bars i:nth-child(4) { height: 82%; animation-delay: -1.2s; }
.lb-mini-bars i:nth-child(5) { height: 54%; animation-delay: -1.5s; }

/* --------------------------------------------------------------------------
   Cinta de funciones
   -------------------------------------------------------------------------- */

.lb-strip {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 32px;
    border-top: 1px solid rgba(201, 162, 39, .14);
    border-bottom: 1px solid rgba(201, 162, 39, .14);
}

.lb-strip-item {
    display: grid;
    gap: 5px;
    padding: 20px 20px;
    border-left: 1px solid rgba(201, 162, 39, .08);
    transition: background .2s ease;
}
.lb-strip-item:first-child { border-left: 0; }
.lb-strip-item:hover { background: rgba(201, 162, 39, .035); }
.lb-strip-item span {
    color: #75612b;
    font-family: var(--font-tech, monospace);
    font-size: 7px;
    letter-spacing: .12em;
}
.lb-strip-item strong {
    color: var(--lb-soft);
    font-family: var(--font-condensed, "Oswald", sans-serif);
    font-size: 11px;
    font-weight: 500;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.lb-strip-item small { color: #6d6658; font-size: 9px; }

/* --------------------------------------------------------------------------
   Secciones
   -------------------------------------------------------------------------- */

.lb-section {
    max-width: 1320px;
    margin: 0 auto;
    padding: clamp(62px, 8vw, 96px) 32px;
    scroll-margin-top: 90px;
}

.lb-section-alt {
    position: relative;
    max-width: none;
    padding-left: max(32px, calc((100vw - 1320px) / 2 + 32px));
    padding-right: max(32px, calc((100vw - 1320px) / 2 + 32px));
    border-top: 1px solid rgba(201, 162, 39, .10);
    border-bottom: 1px solid rgba(201, 162, 39, .10);
    background:
        linear-gradient(180deg, rgba(201, 162, 39, .025), transparent 50%, rgba(201, 162, 39, .015)),
        rgba(8, 8, 7, .48);
}

.lb-section-head {
    display: grid;
    grid-template-columns: 78px minmax(0, 1fr) 310px;
    gap: 22px;
    align-items: end;
    margin-bottom: 38px;
}

.lb-index {
    color: transparent;
    font-family: var(--font-display, "Bebas Neue", sans-serif);
    font-size: 66px;
    font-weight: 400;
    line-height: .8;
    -webkit-text-stroke: 1px rgba(201, 162, 39, .55);
}

.lb-section-head h2 {
    max-width: 760px;
    margin-top: 12px !important;
    color: var(--lb-ivory);
    font-family: var(--font-display, "Bebas Neue", sans-serif);
    font-size: clamp(36px, 4.2vw, 54px);
    font-weight: 400;
    letter-spacing: .02em;
    line-height: .98;
    text-transform: uppercase;
}

.lb-section-head h2 em { color: var(--lb-gold); font-style: normal; }

.lb-section-lead {
    max-width: 310px;
    margin-left: auto !important;
    color: #8f8777;
    font-size: 11px;
    line-height: 1.65;
}

/* --------------------------------------------------------------------------
   Funciones
   -------------------------------------------------------------------------- */

.lb-features {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.lb-feature {
    position: relative;
    min-height: 196px;
    padding: 22px 22px 20px;
    overflow: hidden;
    border: 1px solid #242017;
    background: linear-gradient(145deg, rgba(18, 18, 15, .72), rgba(8, 8, 7, .78));
    transition: border-color .2s ease, transform .2s ease, background .2s ease;
}

.lb-feature::before {
    content: "";
    position: absolute;
    top: 0;
    left: 14px;
    right: 14px;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(201, 162, 39, .65), transparent);
    transform: scaleX(0);
    transition: transform .3s ease;
}

.lb-feature:hover {
    border-color: rgba(201, 162, 39, .36);
    background: linear-gradient(145deg, rgba(24, 22, 16, .82), rgba(9, 9, 8, .86));
    transform: translateY(-3px);
}
.lb-feature:hover::before { transform: scaleX(1); }

.lb-feature-num {
    position: absolute;
    top: 15px;
    right: 16px;
    color: #5f5226;
    font-family: var(--font-tech, monospace);
    font-size: 8px;
    letter-spacing: .1em;
}

.lb-feature-icon {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    margin-bottom: 18px;
    border: 1px solid rgba(201, 162, 39, .24);
    border-radius: 50%;
    color: var(--lb-gold);
    background: rgba(201, 162, 39, .04);
}
.lb-feature-icon svg { width: 16px; height: 16px; }

.lb-feature h3 {
    color: var(--lb-ivory);
    font-family: var(--font-condensed, "Oswald", sans-serif);
    font-size: 12px;
    font-weight: 500;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.lb-feature p {
    max-width: 330px;
    margin-top: 8px !important;
    color: #827a6b;
    font-size: 10.5px;
    line-height: 1.6;
}

/* --------------------------------------------------------------------------
   Modos de campaña
   -------------------------------------------------------------------------- */

.lb-modes {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.lb-mode {
    position: relative;
    padding: 28px;
    border: 1px solid #2a251a;
    background: linear-gradient(155deg, rgba(16, 16, 13, .84), rgba(7, 7, 6, .9));
}

.lb-mode-gold { border-color: rgba(201, 162, 39, .42); }
.lb-mode-gold::before {
    content: "";
    position: absolute;
    top: 0;
    left: 24px;
    right: 24px;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--lb-gold), transparent);
}

.lb-mode-tag {
    color: #8d7430;
    font-family: var(--font-tech, monospace);
    font-size: 7px;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.lb-mode h3 {
    margin-top: 14px !important;
    color: var(--lb-ivory);
    font-family: var(--font-display, "Bebas Neue", sans-serif);
    font-size: 28px;
    font-weight: 400;
    letter-spacing: .03em;
    line-height: 1;
    text-transform: uppercase;
}
.lb-mode h3 small {
    display: block;
    margin-top: 7px;
    color: #8f8777;
    font-family: var(--font-condensed, "Oswald", sans-serif);
    font-size: 8px;
    font-weight: 400;
    letter-spacing: .16em;
}

.lb-mode > p {
    max-width: 460px;
    margin-top: 13px !important;
    color: #8b8373;
    font-size: 10.5px;
    line-height: 1.6;
}

.lb-steps {
    display: grid;
    gap: 0;
    margin-top: 22px !important;
    border-top: 1px solid rgba(201, 162, 39, .12);
}

.lb-steps li {
    display: grid;
    grid-template-columns: 30px minmax(0, 1fr);
    gap: 11px;
    align-items: start;
    padding: 12px 0;
    border-bottom: 1px solid rgba(201, 162, 39, .08);
}

.lb-steps li > span {
    display: grid;
    place-items: center;
    width: 26px;
    height: 26px;
    border: 1px solid rgba(201, 162, 39, .24);
    color: #ab8c38;
    font-family: var(--font-tech, monospace);
    font-size: 8px;
}

.lb-steps div { display: grid; gap: 3px; }
.lb-steps strong {
    color: var(--lb-soft);
    font-family: var(--font-condensed, "Oswald", sans-serif);
    font-size: 10px;
    font-weight: 500;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.lb-steps small { color: #756e61; font-size: 9.5px; line-height: 1.5; }

.lb-flow {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin-top: 28px;
    color: #8b7b48;
    font-family: var(--font-condensed, "Oswald", sans-serif);
    font-size: 8px;
    letter-spacing: .14em;
    text-transform: uppercase;
}
.lb-flow i {
    width: 46px;
    height: 1px;
    background: linear-gradient(90deg, rgba(201, 162, 39, .35), rgba(201, 162, 39, .08));
    position: relative;
}
.lb-flow i::after {
    content: "";
    position: absolute;
    right: 0;
    top: -2px;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--lb-gold);
    box-shadow: 0 0 8px rgba(201, 162, 39, .7);
}

/* --------------------------------------------------------------------------
   Cola en vivo
   -------------------------------------------------------------------------- */

.lb-live-grid {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(380px, 1.1fr);
    gap: clamp(30px, 5vw, 70px);
    align-items: center;
}

.lb-check-list { display: grid; gap: 13px; margin-bottom: 26px; }
.lb-check-list li {
    position: relative;
    padding-left: 18px;
    color: #a79e8c;
    font-size: 11px;
    line-height: 1.5;
}
.lb-check-list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: .55em;
    width: 7px;
    height: 1px;
    background: var(--lb-gold);
}

.lb-queue {
    border: 1px solid #2e281a;
    background: rgba(7, 7, 6, .80);
    box-shadow: 0 24px 60px rgba(0, 0, 0, .35);
}

.lb-queue-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 13px 15px;
    border-bottom: 1px solid #2e281a;
    color: #c3b9a3;
    font-family: var(--font-condensed, "Oswald", sans-serif);
    font-size: 8px;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.lb-queue-row {
    display: grid;
    grid-template-columns: 46px minmax(0, 1fr) 74px 60px;
    gap: 9px;
    align-items: center;
    padding: 13px 15px;
    border-bottom: 1px solid rgba(201, 162, 39, .07);
    color: #8f8777;
    font-size: 9px;
}

.lb-queue-row.is-active {
    border-left: 2px solid var(--lb-gold);
    background: rgba(201, 162, 39, .045);
    animation: lb-row-pulse 4s ease-in-out infinite;
}

.lb-queue-time { color: #625b4e; font-family: var(--font-tech, monospace); font-size: 8px; }
.lb-queue-row strong { color: var(--lb-soft); font-family: var(--font-tech, monospace); font-size: 10px; font-weight: 400; }
.lb-queue-agent { color: #7d7567; font-size: 8px; }
.lb-queue-btn {
    padding: 5px 8px;
    border: 1px solid var(--lb-gold);
    color: #070707;
    background: var(--lb-gold);
    font-family: var(--font-condensed, "Oswald", sans-serif);
    font-size: 7px;
    letter-spacing: .1em;
    text-align: center;
    text-transform: uppercase;
}
.lb-queue-state { color: #8d7430; font-family: var(--font-condensed, "Oswald", sans-serif); font-size: 7.5px; letter-spacing: .08em; text-transform: uppercase; }

.lb-queue-foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 15px;
    color: #5e5749;
    font-family: var(--font-tech, monospace);
    font-size: 7px;
}
.lb-queue-foot span:first-child { width: 6px; height: 6px; border-radius: 50%; background: #4e8b6a; box-shadow: 0 0 8px #4e8b6a; }

/* --------------------------------------------------------------------------
   Precios
   -------------------------------------------------------------------------- */

.lb-prices {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.lb-price {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 26px;
    border: 1px solid #2a251a;
    background: linear-gradient(160deg, rgba(16, 16, 13, .80), rgba(7, 7, 6, .86));
}

.lb-price.is-featured {
    border-color: rgba(201, 162, 39, .48);
    background: linear-gradient(160deg, rgba(29, 25, 15, .85), rgba(9, 9, 7, .9));
    box-shadow: 0 24px 55px rgba(0, 0, 0, .30);
}

.lb-price-flag {
    position: absolute;
    top: -1px;
    right: 16px;
    padding: 5px 8px;
    background: var(--lb-gold);
    color: #070707;
    font-family: var(--font-condensed, "Oswald", sans-serif);
    font-size: 7px;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.lb-price-tag {
    color: #89733a;
    font-family: var(--font-condensed, "Oswald", sans-serif);
    font-size: 8px;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.lb-price-value {
    margin-top: 14px;
    color: var(--lb-ivory);
    font-family: var(--font-display, "Bebas Neue", sans-serif);
    font-size: 44px;
    font-weight: 400;
    line-height: .9;
    letter-spacing: .02em;
}
.lb-price-value small {
    display: block;
    margin-top: 8px;
    color: #8f8777;
    font-family: var(--font-condensed, "Oswald", sans-serif);
    font-size: 8px;
    font-weight: 400;
    letter-spacing: .08em;
    text-transform: none;
}

.lb-price p {
    flex: 1;
    margin: 18px 0 22px !important;
    color: #827a6b;
    font-size: 10px;
    line-height: 1.6;
}

/* --------------------------------------------------------------------------
   Final y pie
   -------------------------------------------------------------------------- */

.lb-final {
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 32px clamp(62px, 8vw, 96px);
}

.lb-final-inner {
    position: relative;
    overflow: hidden;
    padding: clamp(44px, 6vw, 70px) 28px;
    border: 1px solid rgba(201, 162, 39, .34);
    background:
        radial-gradient(ellipse 50% 70% at 50% 0%, rgba(201, 162, 39, .10), transparent 70%),
        linear-gradient(160deg, rgba(18, 16, 11, .92), rgba(6, 6, 5, .96));
    text-align: center;
}

.lb-final-inner::before,
.lb-final-inner::after {
    content: "";
    position: absolute;
    width: 28px;
    height: 28px;
    border-color: var(--lb-gold);
    border-style: solid;
    opacity: .55;
    pointer-events: none;
}
.lb-final-inner::before { top: 8px; left: 8px; border-width: 1px 0 0 1px; }
.lb-final-inner::after { bottom: 8px; right: 8px; border-width: 0 1px 1px 0; }

.lb-final .lb-kicker { justify-content: center; }
.lb-final .lb-kicker::after { display: none; }

.lb-final h2 {
    margin-top: 16px !important;
    color: var(--lb-ivory);
    font-family: var(--font-display, "Bebas Neue", sans-serif);
    font-size: clamp(42px, 5vw, 64px);
    font-weight: 400;
    letter-spacing: .025em;
    line-height: .94;
    text-transform: uppercase;
}

.lb-final p {
    max-width: 480px;
    margin: 14px auto 0 !important;
    color: #938a79;
    font-size: 11px;
    line-height: 1.65;
}

.lb-actions-center { justify-content: center; }
.lb-final small {
    display: block;
    max-width: 480px;
    margin: 20px auto 0;
    color: #655f52;
    font-size: 9px;
    line-height: 1.5;
}

.lb-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    max-width: 1320px;
    margin: 0 auto;
    padding: 20px 32px 28px;
    border-top: 1px solid rgba(201, 162, 39, .14);
    color: #665f52;
    font-family: var(--font-condensed, "Oswald", sans-serif);
    font-size: 8px;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.lb-brand-small { gap: 8px; }
.lb-brand-small .lb-brand-mark { width: 28px; height: 28px; }
.lb-brand-small .lb-brand-copy strong { font-size: 15px; }
.lb-brand-small .lb-brand-copy small { font-size: 6px; }

.lb-footer-links { display: flex; gap: 18px; }
.lb-footer-links a:hover { color: var(--lb-gold-2); }

/* --------------------------------------------------------------------------
   Revelado al scroll
   -------------------------------------------------------------------------- */

[data-reveal] {
    opacity: 0;
    translate: 0 26px;
    transition:
        opacity .7s ease,
        translate .7s cubic-bezier(.2, .75, .25, 1);
    transition-delay: calc(var(--i, 0) * 70ms);
}

[data-reveal].is-visible {
    opacity: 1;
    translate: 0 0;
}

/* --------------------------------------------------------------------------
   Animaciones
   -------------------------------------------------------------------------- */

@keyframes lb-fade-up {
    from { opacity: 0; translate: 0 12px; }
    to { opacity: 1; translate: 0 0; }
}

@keyframes lb-title-in {
    from { opacity: 0; translate: 0 .38em; }
    to { opacity: 1; translate: 0 0; }
}

@keyframes lb-spin { to { transform: rotate(360deg); } }
@keyframes lb-spin-reverse { to { transform: rotate(-360deg); } }

@keyframes lb-scan {
    0%, 100% { top: 9%; opacity: 0; }
    12% { opacity: .5; }
    50% { top: 88%; opacity: .65; }
    88% { opacity: .35; }
}

@keyframes lb-float {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-9px); }
}

@keyframes lb-pulse {
    0%, 100% { opacity: .45; }
    50% { opacity: 1; }
}

@keyframes lb-progress {
    0% { transform: scaleX(.25); transform-origin: left; }
    55% { transform: scaleX(1); transform-origin: left; }
    100% { transform: scaleX(.64); transform-origin: left; }
}

@keyframes lb-bars {
    0%, 100% { transform: scaleY(.55); }
    50% { transform: scaleY(1); }
}

@keyframes lb-row-pulse {
    0%, 100% { background: rgba(201, 162, 39, .035); }
    50% { background: rgba(201, 162, 39, .07); }
}

/* --------------------------------------------------------------------------
   Responsive
   -------------------------------------------------------------------------- */

@media (max-width: 1120px) {
    .lb-hero { grid-template-columns: minmax(0, 1fr) minmax(340px, .8fr); }
    .lb-hero-stage { max-width: 430px; }
    .lb-float-a { left: -15px; }
    .lb-float-b { right: -12px; }
    .lb-section-head { grid-template-columns: 62px minmax(0, 1fr) 260px; }
    .lb-index { font-size: 54px; }
}

@media (max-width: 900px) {
    .lb-nav { display: none; }
    .lb-hero {
        width: 100%;
        max-width: 100vw;
        grid-template-columns: 1fr;
        gap: 54px;
        min-height: 0;
        padding-top: 56px;
    }
    .lb-hero-copy { max-width: 660px; }
    .lb-hero-stage { max-width: 470px; margin: 0 auto; }
    .lb-features { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .lb-section-head { grid-template-columns: 52px minmax(0, 1fr); }
    .lb-section-lead { grid-column: 2; max-width: 520px; margin: 0 !important; }
    .lb-live-grid { grid-template-columns: 1fr; }
    .lb-prices { grid-template-columns: 1fr; max-width: 560px; margin: 0 auto; }
    .lb-price { min-height: 0; }
    .lb-strip { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .lb-strip-item:nth-child(4) { border-left: 0; }
    .lb-strip-item:nth-child(n + 4) { border-top: 1px solid rgba(201, 162, 39, .08); }
}

@media (max-width: 620px) {
    .lb-header { padding: 13px 16px; gap: 12px; }
    .lb-brand-copy small { display: none; }
    .lb-brand-copy strong { font-size: 18px; }
    .lb-header-cta { min-height: 36px; padding: 9px 12px; font-size: 8px; }
    .lb-header-cta svg { display: none; }
    .lb-hero { padding: 44px 16px 52px; gap: 38px; }
    .lb-title { font-size: clamp(52px, 15vw, 70px); }
    .lb-hero-lead { font-size: 12px; }
    .lb-proof { grid-template-columns: 1fr 1fr; gap: 14px 0; }
    .lb-proof > div:nth-child(3) { grid-column: 1 / -1; padding-left: 0; border-left: 0; }
    .lb-hero-stage { max-width: 340px; }
    .lb-float { display: none; }
    .lb-orbit-a { inset: -16px; }
    .lb-orbit-b { inset: -30px; }
    .lb-strip { grid-template-columns: 1fr 1fr; padding: 0 16px; }
    .lb-strip-item { padding: 15px 12px; }
    .lb-strip-item:nth-child(3) { border-left: 0; border-top: 1px solid rgba(201, 162, 39, .08); }
    .lb-strip-item:nth-child(4) { border-top: 1px solid rgba(201, 162, 39, .08); }
    .lb-strip-item:nth-child(5) { grid-column: 1 / -1; border-left: 0; border-top: 1px solid rgba(201, 162, 39, .08); }
    .lb-section { padding: 54px 16px; }
    .lb-section-alt { padding-left: 16px; padding-right: 16px; }
    .lb-section-head { grid-template-columns: 1fr; gap: 10px; }
    .lb-section-head .lb-index { font-size: 40px; }
    .lb-section-head h2 { font-size: clamp(34px, 10vw, 44px); }
    .lb-section-lead { grid-column: auto; }
    .lb-features,
    .lb-modes { grid-template-columns: 1fr; }
    .lb-feature { min-height: 0; }
    .lb-mode { padding: 22px 18px; }
    .lb-flow { display: none; }
    .lb-queue-row { grid-template-columns: 40px minmax(0, 1fr) 58px; }
    .lb-queue-btn,
    .lb-queue-state { display: none; }
    .lb-final { padding: 0 16px 54px; }
    .lb-final-inner { padding: 40px 18px; }
    .lb-footer { flex-direction: column; align-items: flex-start; padding: 20px 16px 26px; gap: 14px; }
}

@media (prefers-reduced-motion: reduce) {
    .landing-bond *,
    .landing-bond *::before,
    .landing-bond *::after {
        animation-duration: .001ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .001ms !important;
    }

    [data-reveal] { opacity: 1; translate: 0 0; }
    .lb-hero-stage { transform: none; }
}
