:root {
    color-scheme: light;
    --ink: oklch(22% 0.018 248);
    --muted: oklch(47% 0.02 248);
    --line: oklch(86% 0.015 248);
    --paper: oklch(97% 0.012 230);
    --panel: oklch(99% 0.008 230);
    --soft: oklch(93% 0.028 228);
    --accent: oklch(66% 0.18 39);
    --accent-dark: oklch(48% 0.16 39);
    --blue: oklch(52% 0.18 250);
    --neon: oklch(78% 0.18 178);
    --green: oklch(54% 0.12 150);
    --red: oklch(55% 0.17 25);
    --radius: 8px;
}

* {
    box-sizing: border-box;
}

body {
    margin: 0;
    min-height: 100vh;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;
    background:
        radial-gradient(circle at 8% 4%, color-mix(in oklch, var(--neon) 18%, transparent), transparent 28%),
        radial-gradient(circle at 88% 0%, color-mix(in oklch, var(--accent) 22%, transparent), transparent 32%),
        var(--paper);
    color: var(--ink);
}

a {
    color: inherit;
    text-decoration: none;
}

main {
    width: min(1180px, calc(100% - 32px));
    margin: 0 auto;
    padding: 28px 0 64px;
}

.topbar {
    position: sticky;
    top: 0;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 14px max(16px, calc((100vw - 1180px) / 2));
    background: color-mix(in oklch, var(--paper) 92%, transparent);
    border-bottom: 1px solid var(--line);
    backdrop-filter: blur(14px);
}

.brand {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.brand-mark {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border-radius: 8px;
    background: linear-gradient(135deg, var(--accent), var(--blue));
    color: var(--paper);
    font-weight: 800;
}

.brand-logo {
    display: block;
    width: clamp(132px, 16vw, 168px);
    height: auto;
}

.brand strong,
.brand small {
    display: block;
}

.brand small,
.muted,
.footer {
    color: var(--muted);
}

.nav {
    display: flex;
    align-items: center;
    gap: 14px;
    font-size: 0.94rem;
}

.nav form {
    margin: 0;
}

.link-button {
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--accent-dark);
    cursor: pointer;
    font: inherit;
}

.hero {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(280px, 0.9fr);
    gap: 28px;
    align-items: stretch;
    min-height: 520px;
}

.fex-hero {
    position: relative;
    overflow: hidden;
    border-bottom: 1px solid var(--line);
}

.hero-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 52px 0;
}

.eyebrow {
    margin: 0 0 10px;
    color: var(--accent-dark);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: uppercase;
}

h1,
h2 {
    margin: 0;
    line-height: 1.04;
    letter-spacing: 0;
}

h1 {
    font-size: 3.25rem;
    max-width: 820px;
}

h2 {
    font-size: 1.7rem;
}

.hero-text {
    max-width: 66ch;
    margin: 22px 0 0;
    color: var(--muted);
    font-size: 1.12rem;
    line-height: 1.65;
}

.hero-actions,
.filters,
.inline-form {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.hero-actions {
    margin-top: 30px;
}

.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 0 16px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: var(--panel);
    color: var(--ink);
    font-weight: 700;
    cursor: pointer;
    transition: transform 180ms ease, border-color 180ms ease, background 180ms ease;
}

.button:hover {
    transform: translateY(-1px);
    border-color: color-mix(in oklch, var(--accent) 42%, var(--line));
}

.button.primary {
    border-color: var(--accent);
    background: var(--accent);
    color: oklch(98% 0.006 80);
}

.button.blue {
    border-color: var(--blue);
    background: var(--blue);
    color: oklch(98% 0.006 230);
}

.button.full {
    width: 100%;
}

.prize-panel,
.event-strip {
    display: grid;
    align-content: center;
    gap: 16px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    overflow: hidden;
    background: var(--panel);
}

.prize-panel {
    align-self: center;
    min-height: 390px;
    padding: 28px;
    background:
        linear-gradient(145deg, color-mix(in oklch, var(--ink) 92%, var(--blue)), color-mix(in oklch, var(--blue) 45%, var(--ink))),
        var(--ink);
    color: var(--paper);
    box-shadow: 0 28px 80px color-mix(in oklch, var(--blue) 24%, transparent);
}

.prize-panel span,
.prize-panel small {
    color: color-mix(in oklch, var(--neon) 70%, var(--paper));
    font-weight: 800;
    text-transform: uppercase;
}

.prize-panel strong {
    font-size: 3.7rem;
    line-height: 0.95;
}

.prize-panel p {
    max-width: 34ch;
    color: color-mix(in oklch, var(--paper) 78%, transparent);
    line-height: 1.55;
}

.event-strip div {
    display: grid;
    grid-template-columns: 54px 1fr;
    gap: 16px;
    padding: 26px;
    border-bottom: 1px solid var(--line);
}

.event-strip div:last-child {
    border-bottom: 0;
}

.event-strip strong {
    color: var(--accent-dark);
    font-size: 1.4rem;
}

.social-band {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    margin: 26px 0;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    overflow: hidden;
}

.social-band a {
    padding: 18px;
    text-align: center;
    font-weight: 800;
    background: linear-gradient(135deg, var(--ink), color-mix(in oklch, var(--blue) 35%, var(--ink)));
    color: var(--paper);
    border-right: 1px solid color-mix(in oklch, var(--paper) 18%, transparent);
}

.social-band a:last-child {
    border-right: 0;
}

.split,
.staff-grid,
.legal-grid,
.privacy-notice {
    display: grid;
    grid-template-columns: 0.9fr 1.1fr;
    gap: 22px;
}

.split article,
.legal-grid article,
.privacy-notice,
.panel {
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: var(--panel);
    padding: 26px;
}

.whatsapp-feature,
.privacy-page,
.qr-callout,
.success-screen {
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: linear-gradient(135deg, var(--panel), color-mix(in oklch, var(--neon) 10%, var(--panel)));
    padding: 30px;
}

.whatsapp-feature h2 {
    max-width: 920px;
    color: color-mix(in oklch, var(--blue) 55%, var(--ink));
}

.privacy-notice {
    margin: 22px 0;
    align-items: start;
    background: linear-gradient(135deg, color-mix(in oklch, var(--blue) 10%, var(--panel)), var(--panel));
}

.privacy-copy {
    display: grid;
    gap: 12px;
}

.privacy-copy p,
.privacy-page p,
.privacy-integral p,
.privacy-dynamic-note p {
    margin: 0;
    color: var(--muted);
    line-height: 1.65;
}

.qr-callout {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin: 22px 0;
    background:
        linear-gradient(135deg, color-mix(in oklch, var(--accent) 18%, var(--ink)), color-mix(in oklch, var(--blue) 42%, var(--ink))),
        var(--ink);
    color: var(--paper);
}

.qr-callout strong {
    font-size: 1.6rem;
    line-height: 1.1;
}

.qr-callout span {
    color: color-mix(in oklch, var(--paper) 82%, transparent);
    font-weight: 700;
}

.admin-badge {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    margin: 0 0 14px;
    padding: 0 12px;
    border: 1px solid color-mix(in oklch, var(--blue) 40%, var(--line));
    border-radius: 999px;
    background: color-mix(in oklch, var(--blue) 10%, var(--panel));
    color: var(--blue);
    font-size: 0.82rem;
    font-weight: 900;
}

.aurora-debug {
    margin: 16px 0 0;
    border: 1px solid color-mix(in oklch, var(--red) 28%, var(--line));
    border-radius: var(--radius);
    background: color-mix(in oklch, var(--red) 7%, var(--panel));
    text-align: left;
}

.aurora-debug summary {
    cursor: pointer;
    padding: 14px 16px;
    color: oklch(38% 0.13 25);
    font-weight: 900;
}

.aurora-debug dl {
    display: grid;
    gap: 10px;
    margin: 0;
    padding: 0 16px 16px;
}

.aurora-debug dl div {
    display: grid;
    gap: 4px;
}

.aurora-debug dt {
    color: var(--muted);
    font-size: 0.78rem;
    font-weight: 900;
    text-transform: uppercase;
}

.aurora-debug dd {
    margin: 0;
    overflow-wrap: anywhere;
}

.aurora-debug pre {
    max-height: 220px;
    overflow: auto;
    margin: 0;
    padding: 12px;
    border-radius: var(--radius);
    background: color-mix(in oklch, var(--ink) 92%, var(--blue));
    color: var(--paper);
    white-space: pre-wrap;
}

.bases-list {
    margin: 18px 0 0;
    padding-left: 20px;
    color: var(--muted);
    line-height: 1.6;
}

.bases-list li + li {
    margin-top: 10px;
}

.privacy-dynamic-note,
.privacy-integral {
    display: grid;
    gap: 12px;
    margin-top: 22px;
    padding: 20px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: color-mix(in oklch, var(--panel) 82%, var(--soft));
}

.draw-card {
    background: linear-gradient(135deg, color-mix(in oklch, var(--accent) 14%, var(--panel)), var(--panel));
}

.text-link {
    color: var(--blue);
    font-weight: 800;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.legal p,
.steps {
    color: var(--muted);
    line-height: 1.65;
}

.steps li + li {
    margin-top: 10px;
}

.auth-shell {
    display: grid;
    place-items: center;
    min-height: calc(100vh - 210px);
}

.auth-card {
    width: min(430px, 100%);
}

label,
legend {
    display: grid;
    gap: 8px;
    color: var(--ink);
    font-size: 0.92rem;
    font-weight: 700;
}

input,
select {
    width: 100%;
    min-height: 48px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: oklch(99% 0.004 80);
    color: var(--ink);
    padding: 0 12px;
    font: inherit;
}

input:focus,
select:focus {
    outline: 3px solid color-mix(in oklch, var(--accent) 22%, transparent);
    border-color: var(--accent);
}

form {
    display: grid;
    gap: 16px;
}

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

.form-grid label:last-child {
    grid-column: 1 / -1;
}

fieldset {
    display: grid;
    gap: 10px;
    margin: 0;
    padding: 16px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
}

.story-toggle {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.story-toggle legend {
    grid-column: 1 / -1;
}

.radio-pill {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 52px;
    padding: 0 14px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: oklch(99% 0.004 80);
}

.radio-pill input {
    width: 18px;
    min-height: 18px;
    accent-color: var(--accent);
}

.check {
    display: flex;
    align-items: center;
    gap: 10px;
    font-weight: 600;
}

.check input {
    width: 18px;
    height: 18px;
    min-height: 18px;
    accent-color: var(--accent);
}

.check.strong {
    color: var(--accent-dark);
}

.lookup {
    display: grid;
    gap: 4px;
    margin-top: 18px;
    padding: 14px;
    border-radius: var(--radius);
    background: var(--soft);
}

.folios {
    display: grid;
    gap: 8px;
    margin-top: 14px;
}

.folios div {
    display: grid;
    gap: 2px;
    padding: 12px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
}

.folios span,
.lookup span {
    color: var(--muted);
    font-size: 0.9rem;
}

.success-screen {
    width: min(760px, 100%);
    margin: 0 auto;
    text-align: center;
}

.success-copy {
    color: var(--muted);
    font-size: 1.05rem;
}

.big-folios {
    display: grid;
    gap: 12px;
    margin: 28px 0;
}

.big-folios div {
    display: grid;
    gap: 6px;
    padding: 22px;
    border: 1px solid color-mix(in oklch, var(--accent) 34%, var(--line));
    border-radius: var(--radius);
    background: oklch(99% 0.006 80);
}

.big-folios strong {
    color: var(--accent-dark);
    font-size: 2.2rem;
    line-height: 1;
}

.big-folios span {
    color: var(--muted);
    font-weight: 800;
    text-transform: uppercase;
}

.notice {
    margin: 16px 0 0;
    padding: 12px;
    border-radius: var(--radius);
    background: color-mix(in oklch, var(--green) 14%, var(--panel));
    color: oklch(34% 0.09 150);
    line-height: 1.45;
}

.notice.warning {
    background: color-mix(in oklch, var(--red) 12%, var(--panel));
    color: oklch(38% 0.13 25);
}

.flash {
    position: fixed;
    top: 76px;
    left: 50%;
    z-index: 20;
    width: min(560px, calc(100% - 32px));
    transform: translateX(-50%);
    padding: 14px 16px;
    border-radius: var(--radius);
    border: 1px solid var(--line);
    background: var(--panel);
    box-shadow: 0 18px 40px color-mix(in oklch, var(--ink) 12%, transparent);
    transition: opacity 220ms ease, transform 220ms ease;
}

.flash.success {
    border-color: color-mix(in oklch, var(--green) 45%, var(--line));
}

.flash.error {
    border-color: color-mix(in oklch, var(--red) 45%, var(--line));
}

.admin-shell {
    display: grid;
    gap: 18px;
}

.admin-head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 16px;
}

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

.metrics div {
    display: grid;
    gap: 4px;
    padding: 16px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: var(--panel);
}

.metrics span {
    color: var(--muted);
    font-size: 0.86rem;
}

.metrics strong {
    font-size: 1.7rem;
}

.filters {
    align-items: center;
    padding: 14px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: var(--panel);
}

.filters input,
.filters select {
    flex: 1 1 150px;
}

.table-wrap {
    overflow-x: auto;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: var(--panel);
}

table {
    width: 100%;
    border-collapse: collapse;
    min-width: 940px;
}

th,
td {
    padding: 13px 14px;
    border-bottom: 1px solid var(--line);
    text-align: left;
    white-space: nowrap;
}

th {
    color: var(--muted);
    font-size: 0.78rem;
    text-transform: uppercase;
}

.status {
    display: inline-flex;
    padding: 4px 8px;
    border-radius: 999px;
    background: var(--soft);
    font-size: 0.8rem;
    font-weight: 800;
}

.status.sent {
    background: color-mix(in oklch, var(--green) 15%, var(--panel));
    color: oklch(34% 0.09 150);
}

.status.failed {
    background: color-mix(in oklch, var(--red) 12%, var(--panel));
    color: oklch(38% 0.13 25);
}

.empty {
    color: var(--muted);
    text-align: center;
}

.footer {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    width: min(1180px, calc(100% - 32px));
    margin: 0 auto;
    padding: 26px 0;
    border-top: 1px solid var(--line);
    font-size: 0.88rem;
}

@media (max-width: 860px) {
    .topbar,
    .admin-head,
    .footer {
        align-items: flex-start;
        flex-direction: column;
    }

    .nav {
        flex-wrap: wrap;
    }

    .hero,
    .split,
    .staff-grid,
    .legal-grid,
    .privacy-notice,
    .form-grid {
        grid-template-columns: 1fr;
    }

    .hero {
        min-height: auto;
    }

    .hero-copy {
        padding: 28px 0 8px;
    }

    h1 {
        font-size: 2.35rem;
    }

    .social-band,
    .metrics {
        grid-template-columns: 1fr 1fr;
    }

    .prize-panel {
        min-height: 280px;
    }

    .qr-callout {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 560px) {
    main {
        width: min(100% - 22px, 1180px);
        padding-top: 18px;
    }

    .social-band,
    .metrics {
        grid-template-columns: 1fr;
    }

    .social-band a {
        border-right: 0;
        border-bottom: 1px solid color-mix(in oklch, var(--paper) 18%, transparent);
    }

    .split article,
    .legal-grid article,
    .privacy-notice,
    .qr-callout,
    .panel {
        padding: 20px;
    }

    h1 {
        font-size: 2rem;
    }

    .story-toggle {
        grid-template-columns: 1fr;
    }

    .button {
        width: 100%;
        min-height: 50px;
    }

    .big-folios strong {
        font-size: 1.65rem;
    }
}

/* ===========================================================
   Landing page (lp-*)
   FEX Turismo x Fitness Congreso GDL 2026
   Committed palette: cream paper + ink + FEX orange.
   Iridescent gradient appears only as the hero ticket panel.
   =========================================================== */

.theme-landing {
    --lp-cream: oklch(96.8% 0.014 72);
    --lp-cream-soft: oklch(94.5% 0.018 70);
    --lp-cream-tint: oklch(92% 0.022 68);
    --lp-ink: oklch(19% 0.034 220);
    --lp-ink-soft: oklch(34% 0.026 220);
    --lp-ink-muted: oklch(50% 0.018 220);
    --lp-line: oklch(86% 0.014 70);
    --lp-line-soft: oklch(90% 0.012 70);
    --lp-orange: oklch(64% 0.182 38);
    --lp-orange-deep: oklch(53% 0.182 36);
    --lp-teal: oklch(50% 0.092 215);
    --lp-teal-deep: oklch(36% 0.072 220);
    --lp-grad-warm: oklch(70% 0.22 38);
    --lp-grad-pink: oklch(65% 0.24 350);
    --lp-grad-violet: oklch(54% 0.22 290);
    --lp-grad-blue: oklch(58% 0.20 230);
    --lp-grad-cyan: oklch(72% 0.16 200);
    --lp-grad-amber: oklch(78% 0.18 70);
    --lp-radius-sm: 8px;
    --lp-radius-md: 14px;
    --lp-radius-lg: 22px;
    --lp-ease: cubic-bezier(0.22, 1, 0.36, 1);

    background:
        radial-gradient(1200px 600px at 80% -10%, color-mix(in oklch, var(--lp-orange) 11%, transparent) 0%, transparent 60%),
        radial-gradient(900px 500px at 0% 0%, color-mix(in oklch, var(--lp-teal) 8%, transparent) 0%, transparent 55%),
        var(--lp-cream);
    color: var(--lp-ink);
    font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;
    font-feature-settings: "ss01", "cv11", "tnum";
}

.theme-landing main {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
}

/* ---------- Topbar ---------- */

.topbar-landing {
    padding: 18px max(20px, calc((100vw - 1280px) / 2));
    background: color-mix(in oklch, var(--lp-cream) 78%, transparent);
    border-bottom: 1px solid color-mix(in oklch, var(--lp-line) 70%, transparent);
    -webkit-backdrop-filter: saturate(140%) blur(12px);
    backdrop-filter: saturate(140%) blur(12px);
}

.theme-landing .brand-landing {
    display: inline-flex;
    align-items: center;
    line-height: 0;
}

.theme-landing .brand-logo {
    width: clamp(132px, 16vw, 168px);
    height: auto;
    display: block;
}

.theme-landing .nav {
    color: var(--lp-ink-soft);
    font-size: 0.92rem;
    font-weight: 500;
    letter-spacing: -0.005em;
}

.theme-landing .nav a {
    color: var(--lp-ink-soft);
    transition: color 220ms var(--lp-ease);
}

.theme-landing .nav a:hover {
    color: var(--lp-orange-deep);
}

/* ---------- Shared section frame ---------- */

.theme-landing > section {
    padding-left: max(20px, calc((100vw - 1280px) / 2));
    padding-right: max(20px, calc((100vw - 1280px) / 2));
}

.lp-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 22px;
    color: var(--lp-orange-deep);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.lp-eyebrow-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--lp-orange);
    box-shadow: 0 0 0 4px color-mix(in oklch, var(--lp-orange) 22%, transparent);
}

.lp-eyebrow-light {
    color: var(--lp-teal-deep);
}

.lp-eyebrow-cream {
    color: color-mix(in oklch, var(--lp-cream) 86%, var(--lp-orange));
}

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

.lp-hero {
    position: relative;
    padding-top: clamp(56px, 7vw, 96px);
    padding-bottom: clamp(72px, 9vw, 128px);
    overflow: clip;
}

.lp-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.18fr) minmax(0, 0.82fr);
    gap: clamp(36px, 5vw, 88px);
    align-items: center;
}

.lp-hero-copy {
    max-width: 60ch;
}

.lp-hero-title {
    margin: 0;
    font-size: clamp(2.6rem, 6.6vw, 5.4rem);
    font-weight: 800;
    line-height: 0.96;
    letter-spacing: -0.035em;
    color: var(--lp-ink);
}

.lp-hero-italic {
    font-family: "Instrument Serif", "Times New Roman", serif;
    font-style: italic;
    font-weight: 400;
    letter-spacing: -0.012em;
    color: var(--lp-orange-deep);
}

.lp-hero-lede {
    margin: clamp(20px, 2.4vw, 28px) 0 0;
    max-width: 56ch;
    font-size: clamp(1.05rem, 1.18vw, 1.22rem);
    font-weight: 400;
    line-height: 1.55;
    color: var(--lp-ink-soft);
}

.lp-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin: clamp(28px, 3vw, 38px) 0 0;
}

.lp-hero-fine {
    margin: 22px 0 0;
    font-size: 0.86rem;
    color: var(--lp-ink-muted);
}

/* ---------- Buttons ---------- */

.lp-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 52px;
    padding: 0 22px;
    border-radius: 999px;
    border: 1px solid transparent;
    font-family: inherit;
    font-size: 0.97rem;
    font-weight: 600;
    letter-spacing: -0.005em;
    color: var(--lp-ink);
    background: transparent;
    cursor: pointer;
    text-decoration: none;
    transition: transform 320ms var(--lp-ease), background 320ms var(--lp-ease), color 320ms var(--lp-ease), border-color 320ms var(--lp-ease), box-shadow 320ms var(--lp-ease);
    will-change: transform;
}

.lp-btn-primary {
    background: var(--lp-ink);
    color: var(--lp-cream);
    box-shadow: 0 10px 30px -16px color-mix(in oklch, var(--lp-ink) 80%, transparent);
}

.lp-btn-primary:hover {
    transform: translateY(-2px);
    background: color-mix(in oklch, var(--lp-ink) 88%, var(--lp-orange));
    box-shadow: 0 20px 40px -20px color-mix(in oklch, var(--lp-ink) 70%, transparent);
}

.lp-btn-ghost {
    border-color: color-mix(in oklch, var(--lp-ink) 16%, transparent);
    color: var(--lp-ink);
}

.lp-btn-ghost:hover {
    border-color: var(--lp-orange);
    color: var(--lp-orange-deep);
    transform: translateY(-2px);
}

.lp-btn-arrow {
    display: inline-block;
    transition: transform 320ms var(--lp-ease);
}

.lp-btn:hover .lp-btn-arrow {
    transform: translateX(3px);
}

/* ---------- Hero ticket (iridescent moment) ---------- */

.lp-ticket {
    position: relative;
    aspect-ratio: 4 / 5;
    min-height: 440px;
    border-radius: var(--lp-radius-lg);
    overflow: hidden;
    isolation: isolate;
    box-shadow:
        0 40px 80px -36px color-mix(in oklch, var(--lp-grad-violet) 55%, transparent),
        0 20px 40px -24px color-mix(in oklch, var(--lp-grad-warm) 45%, transparent);
    transform: translateZ(0);
}

.lp-ticket-shimmer {
    position: absolute;
    inset: -25%;
    background:
        radial-gradient(circle at 25% 20%, var(--lp-grad-warm) 0%, transparent 38%),
        radial-gradient(circle at 78% 30%, var(--lp-grad-pink) 0%, transparent 42%),
        radial-gradient(circle at 30% 78%, var(--lp-grad-violet) 0%, transparent 44%),
        radial-gradient(circle at 80% 82%, var(--lp-grad-cyan) 0%, transparent 40%),
        conic-gradient(from 220deg at 50% 50%, var(--lp-grad-warm), var(--lp-grad-pink), var(--lp-grad-violet), var(--lp-grad-blue), var(--lp-grad-cyan), var(--lp-grad-amber), var(--lp-grad-warm));
    filter: saturate(115%) blur(2px);
    animation: lp-shimmer 28s linear infinite;
    will-change: transform;
    transform: translateZ(0);
    z-index: -2;
}

.lp-ticket::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(800px 500px at 30% 0%, color-mix(in oklch, var(--lp-grad-amber) 28%, transparent), transparent 60%),
        radial-gradient(600px 400px at 100% 100%, color-mix(in oklch, var(--lp-grad-blue) 36%, transparent), transparent 60%);
    mix-blend-mode: overlay;
    z-index: -1;
    pointer-events: none;
}

.lp-ticket::after {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
        radial-gradient(rgba(255, 255, 255, 0.05) 1px, transparent 1px);
    background-size: 3px 3px;
    mix-blend-mode: overlay;
    opacity: 0.55;
    pointer-events: none;
}

@keyframes lp-shimmer {
    0% { transform: rotate(0deg) scale(1.05); }
    50% { transform: rotate(180deg) scale(1.12); }
    100% { transform: rotate(360deg) scale(1.05); }
}

.lp-ticket-content {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-rows: auto 1fr auto;
    height: 100%;
    padding: clamp(22px, 2.6vw, 32px);
    color: oklch(98% 0.008 80);
}

.lp-ticket-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 16px;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.lp-ticket-label {
    padding: 6px 12px;
    border-radius: 999px;
    background: color-mix(in oklch, oklch(20% 0.04 280) 35%, transparent);
    backdrop-filter: blur(6px);
}

.lp-ticket-carrier {
    color: color-mix(in oklch, oklch(98% 0.008 80) 92%, transparent);
}

.lp-ticket-route {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: clamp(12px, 1.6vw, 22px);
    align-self: center;
}

.lp-route-col {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.lp-route-col-right {
    align-items: flex-end;
    text-align: right;
}

.lp-route-code {
    font-size: clamp(2.6rem, 6vw, 4.4rem);
    font-weight: 800;
    line-height: 0.92;
    letter-spacing: -0.04em;
    color: oklch(98% 0.008 80);
}

.lp-route-city {
    font-size: 0.82rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: color-mix(in oklch, oklch(98% 0.008 80) 78%, transparent);
}

.lp-route-arrow {
    color: oklch(98% 0.008 80);
    width: 60px;
    opacity: 0.85;
}

.lp-route-arrow svg {
    width: 100%;
    height: auto;
    display: block;
}

.lp-ticket-meta {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin: 0;
    padding-top: 22px;
    border-top: 1px dashed color-mix(in oklch, oklch(98% 0.008 80) 38%, transparent);
}

.lp-ticket-meta div {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}

.lp-ticket-meta dt {
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: color-mix(in oklch, oklch(98% 0.008 80) 70%, transparent);
}

.lp-ticket-meta dd {
    margin: 0;
    font-size: 0.94rem;
    font-weight: 600;
    line-height: 1.3;
    color: oklch(98% 0.008 80);
}

/* ---------- Section heads ---------- */

.lp-section-head {
    max-width: 60ch;
    margin-bottom: clamp(36px, 4.4vw, 64px);
}

.lp-section-title {
    margin: 0;
    font-size: clamp(2rem, 4.2vw, 3.4rem);
    font-weight: 700;
    line-height: 1;
    letter-spacing: -0.028em;
    color: var(--lp-ink);
}

/* ---------- Steps ---------- */

.lp-steps {
    position: relative;
    padding-top: clamp(56px, 6vw, 96px);
    padding-bottom: clamp(56px, 6vw, 96px);
    border-top: 1px solid var(--lp-line-soft);
    border-bottom: 1px solid var(--lp-line-soft);
    background: var(--lp-cream-soft);
}

.lp-steps-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: clamp(20px, 2.2vw, 40px);
    counter-reset: lp-step;
}

.lp-step {
    position: relative;
    padding-top: 22px;
    border-top: 1px solid var(--lp-line);
}

.lp-step-num {
    display: block;
    font-family: "Instrument Serif", "Times New Roman", serif;
    font-style: italic;
    font-size: clamp(1.4rem, 1.6vw, 1.7rem);
    font-weight: 400;
    color: var(--lp-orange);
    margin-bottom: 14px;
}

.lp-step-title {
    margin: 0 0 8px;
    font-size: 1.18rem;
    font-weight: 700;
    letter-spacing: -0.012em;
    color: var(--lp-ink);
}

.lp-step-body {
    margin: 0;
    font-size: 0.96rem;
    line-height: 1.55;
    color: var(--lp-ink-soft);
}

.lp-step-bonus {
    border-top-color: var(--lp-orange);
}

.lp-step-bonus .lp-step-num {
    color: var(--lp-orange-deep);
}

/* ---------- Draw moment ---------- */

.lp-draw {
    position: relative;
    padding-top: clamp(72px, 9vw, 128px);
    padding-bottom: clamp(72px, 9vw, 128px);
    background:
        radial-gradient(900px 500px at 20% 0%, color-mix(in oklch, var(--lp-grad-pink) 18%, transparent), transparent 60%),
        radial-gradient(800px 400px at 100% 100%, color-mix(in oklch, var(--lp-grad-violet) 22%, transparent), transparent 60%),
        var(--lp-ink);
    color: var(--lp-cream);
    overflow: hidden;
}

.lp-draw .lp-eyebrow {
    color: color-mix(in oklch, var(--lp-cream) 70%, var(--lp-grad-warm));
}

.lp-draw-title {
    margin: 0;
    max-width: 22ch;
    font-size: clamp(2.4rem, 6vw, 5rem);
    font-weight: 700;
    line-height: 1;
    letter-spacing: -0.032em;
    color: var(--lp-cream);
}

.lp-draw-time {
    font-family: "Instrument Serif", "Times New Roman", serif;
    font-style: italic;
    font-weight: 400;
    color: color-mix(in oklch, var(--lp-cream) 60%, var(--lp-grad-warm));
    letter-spacing: -0.014em;
}

.lp-draw-city {
    font-family: "Instrument Serif", "Times New Roman", serif;
    font-style: italic;
    font-weight: 400;
    letter-spacing: -0.014em;
}

.lp-draw-body {
    margin: 28px 0 0;
    max-width: 52ch;
    font-size: 1.08rem;
    line-height: 1.55;
    color: color-mix(in oklch, var(--lp-cream) 78%, transparent);
}

/* ---------- Channels ---------- */

.lp-channels {
    padding-top: clamp(56px, 6vw, 96px);
    padding-bottom: clamp(56px, 6vw, 96px);
}

.lp-channels-title {
    margin: 0 0 clamp(28px, 3vw, 44px);
    font-size: clamp(1.6rem, 2.4vw, 2.2rem);
    font-weight: 600;
    letter-spacing: -0.024em;
    color: var(--lp-ink);
}

.lp-channels-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: 1.6fr repeat(3, 1fr);
    gap: 14px;
}

.lp-channel a {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 8px;
    height: 100%;
    min-height: 132px;
    padding: 22px 24px;
    border: 1px solid var(--lp-line);
    border-radius: var(--lp-radius-md);
    background: var(--lp-cream);
    color: var(--lp-ink);
    transition: transform 320ms var(--lp-ease), border-color 320ms var(--lp-ease), background 320ms var(--lp-ease);
    text-decoration: none;
}

.lp-channel a:hover {
    transform: translateY(-2px);
    border-color: var(--lp-ink);
}

.lp-channel-primary a {
    background: var(--lp-ink);
    color: var(--lp-cream);
    border-color: var(--lp-ink);
}

.lp-channel-primary a:hover {
    background: color-mix(in oklch, var(--lp-ink) 90%, var(--lp-orange));
    border-color: color-mix(in oklch, var(--lp-ink) 90%, var(--lp-orange));
}

.lp-channel-tag {
    align-self: flex-start;
    padding: 5px 10px;
    border-radius: 999px;
    background: color-mix(in oklch, var(--lp-cream) 18%, transparent);
    color: color-mix(in oklch, var(--lp-cream) 85%, var(--lp-grad-warm));
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.lp-channel-name {
    font-size: 1.32rem;
    font-weight: 700;
    letter-spacing: -0.016em;
}

.lp-channel-primary .lp-channel-name {
    font-size: 1.7rem;
}

.lp-channel-handle {
    font-size: 0.9rem;
    color: var(--lp-ink-muted);
    font-weight: 500;
}

.lp-channel-desc {
    font-size: 0.92rem;
    line-height: 1.45;
    color: color-mix(in oklch, var(--lp-cream) 78%, transparent);
}

.lp-channel-cta {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.92rem;
    font-weight: 600;
    color: color-mix(in oklch, var(--lp-cream) 92%, transparent);
}

/* ---------- Legal ---------- */

.lp-legal {
    padding-top: clamp(56px, 6vw, 96px);
    padding-bottom: clamp(56px, 6vw, 96px);
    background: var(--lp-cream-soft);
    border-top: 1px solid var(--lp-line-soft);
    border-bottom: 1px solid var(--lp-line-soft);
}

.lp-legal-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
    gap: clamp(32px, 4vw, 64px);
}

.lp-legal-title {
    margin: 0 0 28px;
    font-size: clamp(1.6rem, 2.4vw, 2.2rem);
    font-weight: 700;
    letter-spacing: -0.024em;
    color: var(--lp-ink);
}

.lp-legal-list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 14px;
    counter-reset: lp-legal;
}

.lp-legal-list li {
    counter-increment: lp-legal;
    position: relative;
    padding: 18px 20px 18px 56px;
    border-radius: var(--lp-radius-md);
    background: var(--lp-cream);
    border: 1px solid var(--lp-line-soft);
    font-size: 0.96rem;
    line-height: 1.6;
    color: var(--lp-ink-soft);
}

.lp-legal-list li::before {
    content: counter(lp-legal, decimal-leading-zero);
    position: absolute;
    top: 18px;
    left: 20px;
    font-family: "Instrument Serif", "Times New Roman", serif;
    font-style: italic;
    font-size: 1.1rem;
    color: var(--lp-orange-deep);
}

.lp-legal-list strong {
    color: var(--lp-ink);
    font-weight: 700;
}

.lp-legal-side {
    align-self: start;
    padding: clamp(24px, 2.4vw, 32px);
    background: var(--lp-ink);
    color: var(--lp-cream);
    border-radius: var(--lp-radius-md);
    position: sticky;
    top: 92px;
}

.lp-legal-side .lp-eyebrow {
    color: color-mix(in oklch, var(--lp-cream) 70%, var(--lp-grad-warm));
}

.lp-legal-side-title {
    margin: 0 0 14px;
    font-size: 1.4rem;
    font-weight: 700;
    letter-spacing: -0.018em;
}

.lp-legal-side-body {
    margin: 0 0 18px;
    font-size: 0.96rem;
    line-height: 1.55;
    color: color-mix(in oklch, var(--lp-cream) 80%, transparent);
}

.lp-link {
    color: var(--lp-teal);
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 4px;
    text-decoration-thickness: 1px;
    transition: color 220ms var(--lp-ease);
}

.lp-link:hover {
    color: var(--lp-orange-deep);
}

.lp-legal-side .lp-link,
.lp-cta .lp-link {
    color: color-mix(in oklch, var(--lp-cream) 85%, var(--lp-grad-warm));
}

.lp-link-strong {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-weight: 700;
    letter-spacing: -0.005em;
}

/* ---------- CTA ---------- */

.lp-cta {
    padding-top: clamp(56px, 6vw, 96px);
    padding-bottom: clamp(72px, 8vw, 120px);
}

.lp-cta-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.6fr) auto;
    gap: clamp(24px, 3vw, 56px);
    align-items: center;
    padding: clamp(36px, 4.8vw, 64px) clamp(28px, 3.6vw, 56px);
    border-radius: var(--lp-radius-lg);
    background:
        radial-gradient(700px 400px at 0% 100%, color-mix(in oklch, var(--lp-orange) 22%, transparent), transparent 60%),
        radial-gradient(600px 300px at 100% 0%, color-mix(in oklch, var(--lp-grad-violet) 16%, transparent), transparent 60%),
        var(--lp-ink);
    color: var(--lp-cream);
    overflow: hidden;
}

.lp-cta-title {
    margin: 0;
    font-size: clamp(1.8rem, 3.2vw, 2.8rem);
    font-weight: 700;
    letter-spacing: -0.028em;
    line-height: 1;
}

.lp-cta-body {
    margin: 14px 0 0;
    font-size: 1.04rem;
    line-height: 1.5;
    color: color-mix(in oklch, var(--lp-cream) 78%, transparent);
    max-width: 44ch;
}

.lp-btn-cta {
    min-height: 60px;
    padding: 0 28px;
    background: var(--lp-cream);
    color: var(--lp-ink);
    font-size: 1.02rem;
    font-weight: 700;
}

.lp-btn-cta:hover {
    transform: translateY(-2px);
    background: color-mix(in oklch, var(--lp-cream) 88%, var(--lp-orange));
}

/* ---------- Footer ---------- */

.lp-footer {
    padding: 28px max(20px, calc((100vw - 1280px) / 2));
    background: var(--lp-cream);
    border-top: 1px solid var(--lp-line-soft);
}

.lp-footer-inner {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    align-items: baseline;
    justify-content: space-between;
    font-size: 0.86rem;
    color: var(--lp-ink-muted);
}

.lp-footer-brand {
    font-weight: 700;
    letter-spacing: -0.008em;
    color: var(--lp-ink);
}

.lp-footer-legal a {
    color: var(--lp-ink-soft);
    transition: color 220ms var(--lp-ease);
}

.lp-footer-legal a:hover {
    color: var(--lp-orange-deep);
}

/* ---------- Reveal animation ---------- */

.lp-reveal {
    opacity: 0;
    transform: translateY(18px);
    transition: opacity 720ms var(--lp-ease), transform 720ms var(--lp-ease);
}

.lp-reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
    .lp-ticket-shimmer,
    .lp-btn,
    .lp-btn .lp-btn-arrow,
    .lp-reveal {
        animation: none !important;
        transition: none !important;
    }
    .lp-reveal {
        opacity: 1;
        transform: none;
    }
}

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

@media (max-width: 1024px) {
    .lp-channels-list {
        grid-template-columns: 1fr 1fr;
    }
    .lp-channel-primary {
        grid-column: 1 / -1;
    }
    .lp-channel-primary a {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        flex-wrap: wrap;
        min-height: 0;
        padding: 22px 26px;
    }
    .lp-channel-primary .lp-channel-tag {
        order: -1;
    }
}

@media (max-width: 860px) {
    .lp-hero-grid {
        grid-template-columns: 1fr;
        gap: clamp(28px, 5vw, 48px);
    }
    .lp-ticket {
        aspect-ratio: 16 / 11;
        min-height: 0;
    }
    .lp-steps-list {
        grid-template-columns: 1fr 1fr;
        gap: 28px;
    }
    .lp-legal-grid {
        grid-template-columns: 1fr;
    }
    .lp-legal-side {
        position: relative;
        top: 0;
    }
    .lp-cta-grid {
        grid-template-columns: 1fr;
        text-align: left;
    }
    .lp-btn-cta {
        width: 100%;
    }
    .lp-channels-list {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 560px) {
    .lp-hero {
        padding-top: 40px;
        padding-bottom: 48px;
    }
    .lp-hero-actions .lp-btn {
        width: 100%;
    }
    .lp-steps-list {
        grid-template-columns: 1fr;
        gap: 24px;
    }
    .lp-ticket {
        aspect-ratio: 5 / 6;
    }
    .lp-route-code {
        font-size: clamp(2.2rem, 12vw, 3.2rem);
    }
    .lp-ticket-meta {
        grid-template-columns: 1fr;
        gap: 12px;
    }
    .lp-cta-grid {
        padding: 32px 24px;
    }
}

/* ===========================================================
   Privacy page (lp-priv-*)
   Reuses theme-landing tokens. Editorial, calm, document-grade.
   =========================================================== */

.lp-priv-hero {
    padding-top: clamp(56px, 7vw, 96px);
    padding-bottom: clamp(40px, 5vw, 64px);
    border-bottom: 1px solid var(--lp-line-soft);
}

.lp-priv-hero-inner {
    max-width: 880px;
}

.lp-priv-title {
    margin: 0;
    font-size: clamp(2.4rem, 5.4vw, 4.6rem);
    font-weight: 800;
    line-height: 0.98;
    letter-spacing: -0.034em;
    color: var(--lp-ink);
}

.lp-priv-lede {
    margin: clamp(20px, 2.4vw, 30px) 0 0;
    max-width: 62ch;
    font-size: clamp(1.05rem, 1.18vw, 1.2rem);
    font-weight: 400;
    line-height: 1.6;
    color: var(--lp-ink-soft);
}

.lp-priv-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin: clamp(24px, 3vw, 36px) 0 0;
    font-size: 0.84rem;
    font-weight: 500;
    letter-spacing: -0.005em;
    color: var(--lp-ink-muted);
}

/* ---------- Dynamic-specific note ---------- */

.lp-priv-dynamic {
    padding-top: clamp(56px, 6.4vw, 96px);
    padding-bottom: clamp(56px, 6.4vw, 96px);
    background:
        radial-gradient(900px 500px at 80% 0%, color-mix(in oklch, var(--lp-grad-warm) 18%, transparent), transparent 60%),
        radial-gradient(700px 400px at 0% 100%, color-mix(in oklch, var(--lp-grad-violet) 18%, transparent), transparent 60%),
        var(--lp-ink);
    color: var(--lp-cream);
    overflow: hidden;
}

.lp-priv-dynamic-inner {
    max-width: 940px;
}

.lp-priv-dynamic-title {
    margin: 0;
    font-size: clamp(2.2rem, 5vw, 4rem);
    font-weight: 700;
    line-height: 1;
    letter-spacing: -0.03em;
    color: var(--lp-cream);
}

.lp-priv-dynamic-body {
    margin: clamp(24px, 3vw, 36px) 0 0;
    display: grid;
    gap: 16px;
    max-width: 62ch;
    font-size: 1.04rem;
    line-height: 1.6;
    color: color-mix(in oklch, var(--lp-cream) 82%, transparent);
}

.lp-priv-dynamic-body p {
    margin: 0;
}

/* ---------- Body / integral text ---------- */

.lp-priv-body {
    padding-top: clamp(56px, 6vw, 96px);
    padding-bottom: clamp(56px, 6vw, 96px);
    background: var(--lp-cream);
}

.lp-priv-body-head {
    max-width: 60ch;
    margin-bottom: clamp(32px, 4vw, 56px);
}

.lp-priv-body-title {
    margin: 0;
    font-size: clamp(1.8rem, 3.2vw, 2.6rem);
    font-weight: 700;
    line-height: 1;
    letter-spacing: -0.028em;
    color: var(--lp-ink);
}

.lp-priv-body-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: clamp(28px, 4vw, 64px);
    row-gap: clamp(24px, 3vw, 40px);
}

.lp-priv-article {
    padding-top: 22px;
    border-top: 1px solid var(--lp-line);
}

.lp-priv-article-title {
    margin: 0 0 10px;
    font-size: 1.1rem;
    font-weight: 700;
    letter-spacing: -0.014em;
    color: var(--lp-ink);
}

.lp-priv-article p {
    margin: 0;
    font-size: 0.98rem;
    line-height: 1.65;
    color: var(--lp-ink-soft);
}

/* ---------- Privacy CTA ---------- */

.lp-priv-cta {
    padding-top: clamp(48px, 5vw, 80px);
    padding-bottom: clamp(72px, 8vw, 120px);
    background: var(--lp-cream);
}

.lp-priv-cta-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) auto;
    gap: clamp(28px, 3.2vw, 56px);
    align-items: center;
    padding: clamp(36px, 4.4vw, 60px) clamp(28px, 3.6vw, 56px);
    border-radius: var(--lp-radius-lg);
    background:
        radial-gradient(700px 400px at 100% 0%, color-mix(in oklch, var(--lp-orange) 24%, transparent), transparent 60%),
        radial-gradient(600px 360px at 0% 100%, color-mix(in oklch, var(--lp-grad-violet) 16%, transparent), transparent 60%),
        var(--lp-ink);
    color: var(--lp-cream);
}

.lp-priv-cta-title {
    margin: 0;
    font-size: clamp(1.6rem, 2.8vw, 2.4rem);
    font-weight: 700;
    letter-spacing: -0.026em;
    line-height: 1.05;
    color: var(--lp-cream);
}

.lp-priv-cta-body {
    margin: 14px 0 0;
    font-size: 1.02rem;
    line-height: 1.5;
    color: color-mix(in oklch, var(--lp-cream) 78%, transparent);
    max-width: 48ch;
}

.lp-priv-cta-actions {
    display: flex;
    flex-direction: column;
    gap: 14px;
    align-items: flex-end;
}

.lp-priv-back {
    color: color-mix(in oklch, var(--lp-cream) 82%, var(--lp-grad-warm));
}

.lp-priv-back:hover {
    color: var(--lp-cream);
}

@media (max-width: 860px) {
    .lp-priv-body-grid {
        grid-template-columns: 1fr;
    }
    .lp-priv-cta-grid {
        grid-template-columns: 1fr;
    }
    .lp-priv-cta-actions {
        align-items: stretch;
    }
    .lp-priv-cta-actions .lp-btn {
        width: 100%;
    }
    .lp-priv-back {
        text-align: center;
    }
}
