:root {
    /* Local landing tokens. Brand blues are bound to the canonical
     * tokens.css (loaded at priority 5 before this stylesheet).
     * Hex fallbacks ensure the page still renders on cache misses. */
    --lp-ink:        #0b1e3a;
    --lp-ink-soft:   #43526e;
    --lp-muted:      #6b7a93;
    --lp-line:       #dde6f1;
    --lp-line-soft:  #eef2f8;
    --lp-blue:       var(--ia-primary, #1a4f96);
    --lp-blue-deep:  var(--ia-primary-active, #0c2c5a);
    --lp-canvas-1:   #eaf3fc;
    --lp-canvas-2:   #f7faff;
    --lp-canvas-3:   #ffffff;
    --lp-shadow-sm:  var(--ia-shadow-xs, 0 1px 2px rgba(11, 30, 58, 0.04));
    --lp-shadow-cta: var(--ia-shadow-md, 0 2px 4px -1px rgba(12, 28, 50, 0.07));
}

html, body { height: 100%; }
body.lp-body {
    font-family: var(--ia-font-sans, 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif);
    background:
        radial-gradient(1200px 600px at 50% -10%, var(--lp-canvas-1) 0%, var(--lp-canvas-2) 45%, var(--lp-canvas-3) 100%);
    color: var(--lp-ink);
    margin: 0;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    font-size: var(--ia-text-base, 0.9375rem);
    line-height: var(--ia-leading-normal, 1.5);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.lp-skip {
    position: absolute;
    left: -9999px;
    top: auto;
    width: 1px;
    height: 1px;
    overflow: hidden;
}
.lp-skip:focus {
    position: static;
    width: auto;
    height: auto;
    padding: var(--ia-space-2, 0.5rem) var(--ia-space-4, 1rem);
    background: var(--lp-ink);
    color: #fff;
    border-radius: 0 0 var(--ia-radius-md, 6px) var(--ia-radius-md, 6px);
}

.lp-shell {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 4rem 1.5rem 3rem;
    text-align: center;
}

.lp-stack {
    max-width: 560px;
    width: 100%;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.75rem;
}

.lp-eyebrow {
    font-size: var(--ia-text-xs, 0.75rem);
    font-weight: var(--ia-weight-semibold, 600);
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--lp-blue);
    display: inline-flex;
    align-items: center;
    gap: var(--ia-space-2, 0.625rem);
}
.lp-eyebrow::before,
.lp-eyebrow::after {
    content: "";
    width: 24px;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--lp-blue) 60%, transparent);
}
.lp-eyebrow.is-closed {
    color: var(--lp-ink-soft);
}
.lp-eyebrow.is-closed::before,
.lp-eyebrow.is-closed::after {
    background: linear-gradient(90deg, transparent, var(--lp-ink-soft) 60%, transparent);
}

.lp-logo-h1 {
    margin: 0;
    font-size: 0;
    line-height: 0;
}
.lp-logo-img {
    display: block;
    width: clamp(200px, 38vw, 260px);
    height: auto;
    user-select: none;
}

.lp-tagline {
    margin: 0;
    font-size: var(--ia-text-lg, 1.0625rem);
    line-height: var(--ia-leading-snug, 1.25);
    letter-spacing: var(--ia-tracking-snug, -0.015em);
    color: var(--lp-ink-soft);
    max-width: 38ch;
}

.lp-message {
    margin: 0;
    font-size: var(--ia-text-base, 0.9375rem);
    line-height: var(--ia-leading-normal, 1.5);
    color: var(--lp-ink-soft);
    max-width: 44ch;
}
.lp-message strong {
    color: var(--lp-ink);
    font-weight: var(--ia-weight-semibold, 600);
}
.lp-thanks {
    margin: 0;
    font-style: italic;
    color: var(--lp-ink);
    font-size: var(--ia-text-base, 0.9375rem);
    line-height: var(--ia-leading-normal, 1.5);
}


.lp-cta {
    display: inline-flex;
    align-items: center;
    gap: var(--ia-space-2, 0.625rem);
    background: var(--lp-blue);
    color: #fff;
    font-weight: var(--ia-weight-semibold, 600);
    font-size: var(--ia-text-base, 0.9375rem);
    line-height: var(--ia-leading-ui, 1.4);
    letter-spacing: 0;
    padding: 0.75rem 1.5rem;
    border-radius: var(--ia-radius-sm, 4px);
    text-decoration: none;
    box-shadow: var(--ia-shadow-md, var(--lp-shadow-cta));
    transition: background-color var(--ia-duration-fast, 140ms) var(--ia-ease-standard, ease),
                box-shadow var(--ia-duration-fast, 140ms) var(--ia-ease-standard, ease);
}
.lp-cta:hover,
.lp-cta:focus {
    background: var(--lp-blue-deep);
    color: #fff;
    box-shadow: var(--ia-shadow-lg, 0 4px 8px -2px rgba(12, 28, 50, 0.10));
    outline: none;
}
.lp-cta:focus-visible {
    outline: none;
    box-shadow: var(--ia-shadow-focus, 0 0 0 3px rgba(26, 79, 150, 0.25));
}
.lp-cta-arrow {
    transition: transform var(--ia-duration-default, 220ms) var(--ia-ease-standard, ease);
}
.lp-cta:hover .lp-cta-arrow,
.lp-cta:focus .lp-cta-arrow {
    transform: translateX(2px);
}

.lp-footer {
    border-top: 1px solid var(--lp-line-soft);
    padding: 1.25rem 1.5rem;
    background: rgba(255, 255, 255, 0.6);
    backdrop-filter: blur(4px);
}
.lp-footer-inner {
    max-width: 780px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--ia-space-3, 0.75rem);
    font-size: var(--ia-text-sm, 0.8125rem);
    color: var(--lp-muted);
}
.lp-footer-inner a {
    color: var(--lp-ink-soft);
    text-decoration: none;
}
.lp-footer-inner a:hover,
.lp-footer-inner a:focus {
    color: var(--lp-blue);
    text-decoration: underline;
}
.lp-footer-links {
    display: flex;
    gap: 1.25rem;
}

@media (max-width: 600px) {
    .lp-shell { padding: 3rem 1.25rem 2.5rem; }
    .lp-stack { gap: 1.5rem; }
    .lp-tagline, .lp-message { font-size: 1rem; }
    .lp-footer-inner { flex-direction: column; align-items: center; text-align: center; gap: 0.5rem; }
}

@media (prefers-reduced-motion: reduce) {
    .lp-cta, .lp-cta-arrow { transition: none; }
    .lp-cta:hover .lp-cta-arrow,
    .lp-cta:focus .lp-cta-arrow { transform: none; }
}
