/* The public landing page. Served as a plain stylesheet: the page is not a
   Filament panel and loads nothing else. */
:root { --ld-ink: #101828; --ld-muted: #667085; --ld-line: #eaecf0; --ld-rose: #f5325b; --ld-navy: #1a1a5e; }
* { box-sizing: border-box; }
body.ld { margin: 0; font-family: Figtree, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; color: var(--ld-ink); background: #fff; -webkit-font-smoothing: antialiased; }
.ld-wrap { max-width: 1180px; margin: 0 auto; padding: 0 1.5rem; }
.ld a { color: inherit; }
.ld h1, .ld h2, .ld p, .ld ul, .ld ol { margin: 0; }
.ld ul, .ld ol { list-style: none; padding: 0; }

.ld-btn { display: inline-flex; align-items: center; gap: .45rem; border: 0; border-radius: 10px; padding: .6rem 1.1rem; font-size: .92rem; font-weight: 700; color: #fff; background: var(--ld-rose); text-decoration: none; box-shadow: 0 8px 20px rgb(245 50 91 / .25); white-space: nowrap; }
.ld-btn:hover { filter: brightness(1.05); }
.ld-btn.is-lg { padding: .85rem 1.6rem; font-size: 1rem; border-radius: 12px; }
.ld-btn.is-ghost { background: #fff; color: var(--ld-rose); border: 1.5px solid #ffd1db; box-shadow: none; }
.ld-btn.is-outline { background: #fff; color: var(--ld-rose); border: 1.5px solid var(--ld-rose); box-shadow: none; }
.ld-btn.is-outline svg { width: 16px; height: 16px; }

/* nav */
.ld-nav { position: sticky; top: 0; z-index: 20; background: rgb(255 255 255 / .92); backdrop-filter: blur(10px); border-bottom: 1px solid rgb(234 236 240 / .7); }
.ld-nav-inner { display: flex; align-items: center; gap: 2rem; padding-top: .75rem; padding-bottom: .75rem; }
.ld-brand { text-decoration: none; display: inline-flex; align-items: center; }
.ld-links { display: flex; align-items: center; gap: 1.5rem; margin-left: auto; font-size: .92rem; font-weight: 500; color: #344054; }
.ld-links a { text-decoration: none; padding: .25rem 0; }
.ld-links a:hover { color: var(--ld-rose); }
.ld-links a.is-active { color: var(--ld-rose); font-weight: 700; box-shadow: inset 0 -2px 0 var(--ld-rose); }
.ld-nav-actions { display: flex; align-items: center; gap: .6rem; }

/* hero */
.ld-hero { position: relative; overflow: hidden; background: linear-gradient(180deg, #eef4fb, #fdf3f6); }
.ld-hero::before { content: ""; position: absolute; inset: 0 0 0 38%; background: var(--ld-hero) center right / cover no-repeat; -webkit-mask: linear-gradient(90deg, transparent, #000 30%); mask: linear-gradient(90deg, transparent, #000 30%); }
.ld-hero.is-empty::before { background: radial-gradient(120% 120% at 100% 30%, #cfe3f7 0%, #f3e3ea 55%, transparent 80%); }
.ld-hero-inner { position: relative; display: flex; align-items: center; gap: 2rem; min-height: 460px; padding-top: 3.5rem; padding-bottom: 3.5rem; }
.ld-hero-copy { max-width: 560px; }
.ld-eyebrow { font-size: .74rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #7a8699; margin-bottom: .9rem; }
.ld-h1 { font-size: clamp(2.3rem, 4.2vw, 3.5rem); font-weight: 800; letter-spacing: -.025em; line-height: 1.1; color: var(--ld-navy); max-width: 15ch; }
.ld-lede { margin-top: 1rem; font-size: 1.05rem; line-height: 1.55; color: #475467; max-width: 44ch; }
.ld-hero-actions { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 1.75rem; }
.ld-points { display: flex; flex-wrap: wrap; gap: 1.25rem; margin-top: 1.5rem; font-size: .88rem; color: #475467; }
.ld-points li { display: inline-flex; align-items: center; gap: .45rem; }
.ld-points svg { width: 18px; height: 18px; flex: none; }
.ld-hero-scripts { flex: 1; position: relative; align-self: stretch; min-width: 0; }
.ld-script { position: absolute; right: 2%; top: 12%; font-family: "Segoe Script", "Bradley Hand", "Brush Script MT", "Comic Sans MS", cursive; font-size: 1.6rem; line-height: 1.3; color: var(--ld-navy); white-space: pre-line; transform: rotate(-6deg); padding-bottom: .3rem; }
.ld-script::after { content: ""; position: absolute; left: 6%; right: 22%; bottom: 0; height: 2px; background: var(--ld-rose); border-radius: 2px; }
.ld-script.is-low { top: auto; bottom: 12%; right: 6%; }

/* sections */
.ld-section { padding: 4rem 0; }
.ld-section.is-tight { padding: 2.5rem 0; }
.ld-kicker { font-size: .72rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--ld-rose); margin-bottom: .6rem; }
.ld-h2 { font-size: clamp(1.6rem, 2.6vw, 2.1rem); font-weight: 800; letter-spacing: -.02em; line-height: 1.15; color: var(--ld-navy); white-space: pre-line; }
.ld-head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 2rem; align-items: end; margin-bottom: 2rem; }
.ld-head-note { font-size: .95rem; line-height: 1.6; color: #475467; max-width: 52ch; }

.ld-cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.ld-card { background: #fff; border: 1px solid var(--ld-line); border-radius: 16px; padding: 1.1rem 1.15rem; box-shadow: 0 4px 14px rgb(16 24 40 / .04); }
.ld-card b { display: block; font-size: .98rem; color: var(--ld-navy); margin-top: .85rem; }
.ld-card small { display: block; font-size: .84rem; line-height: 1.45; color: var(--ld-muted); margin-top: .25rem; }
.ld-icon { width: 46px; height: 46px; border-radius: 14px; display: grid; place-items: center; flex: none; }
.ld-icon svg { width: 23px; height: 23px; }
.ld-icon.is-rose { background: #ffe4ea; color: #f5325b; }
.ld-icon.is-green { background: #dcfae6; color: #17b26a; }
.ld-icon.is-blue { background: #d1e9ff; color: #2e90fa; }
.ld-icon.is-violet { background: #ebe9fe; color: #7a5af8; }
.ld-icon.is-amber { background: #fef0c7; color: #f79009; }

.ld-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; background: #fff; border: 1px solid var(--ld-line); border-radius: 18px; padding: .5rem 0; box-shadow: 0 4px 14px rgb(16 24 40 / .04); }
.ld-stat { display: flex; align-items: center; gap: .85rem; padding: 1rem 1.25rem; border-right: 1px solid var(--ld-line); }
.ld-stat:last-child { border-right: 0; }
.ld-stat b { display: block; font-size: 1.25rem; font-weight: 800; color: var(--ld-navy); }
.ld-stat small { display: block; font-size: .82rem; color: var(--ld-muted); }

/* search showcase */
.ld-showcase { position: relative; background: linear-gradient(180deg, #f6f9fd, #eef4fb); }
.ld-showcase::before { content: ""; position: absolute; inset: 0; background: var(--ld-showcase) center / cover no-repeat; opacity: .5; }
.ld-showcase.is-empty::before { background: radial-gradient(90% 120% at 10% 100%, #e6eefb 0%, transparent 60%); opacity: 1; }
.ld-showcase-inner { position: relative; display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.6fr); gap: 2.5rem; align-items: center; }
.ld-panel { background: #fff; border-radius: 20px; box-shadow: 0 20px 50px rgb(16 24 40 / .12); padding: 1rem 1.15rem 1.15rem; }
.ld-panel-tabs { display: flex; gap: .35rem; padding-bottom: .9rem; border-bottom: 1px solid var(--ld-line); }
.ld-panel-tabs span { display: inline-flex; align-items: center; gap: .4rem; border-radius: 10px; padding: .5rem .85rem; font-size: .88rem; font-weight: 600; color: var(--ld-muted); }
.ld-panel-tabs span.is-on { background: #fff1f4; color: var(--ld-rose); }
.ld-panel-tabs svg { width: 17px; height: 17px; }
.ld-panel-fields { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: .6rem; margin: .9rem 0; }
.ld-field { border: 1px solid var(--ld-line); border-radius: 12px; padding: .5rem .7rem; min-width: 0; }
.ld-field small { display: block; font-size: .68rem; color: var(--ld-muted); }
.ld-field b { display: block; font-size: .9rem; font-weight: 700; color: var(--ld-ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ld-field span { font-size: .72rem; color: var(--ld-muted); }
.ld-panel-foot { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.ld-panel-check { position: relative; padding-left: 1.4rem; font-size: .84rem; color: #475467; }
.ld-panel-check::before { content: ""; position: absolute; left: 0; top: 1px; width: 15px; height: 15px; border: 1.5px solid #cfd7e6; border-radius: 4px; }

.ld-split { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.6fr); gap: 2rem; align-items: center; }
.ld-cards.is-four { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.ld-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.ld-steps li { position: relative; display: flex; align-items: center; gap: .7rem; }
.ld-step-no { width: 30px; height: 30px; border-radius: 999px; background: var(--ld-rose); color: #fff; font-size: .88rem; font-weight: 800; display: grid; place-items: center; flex: none; }
.ld-step-text b { display: block; font-size: .95rem; color: var(--ld-navy); }
.ld-step-text small { display: block; font-size: .8rem; line-height: 1.4; color: var(--ld-muted); }
.ld-step-arrow { position: absolute; right: -1.1rem; top: 50%; transform: translateY(-50%); width: 18px; height: 18px; color: #cfd7e6; }

.ld-airlines-title { font-size: 1rem; font-weight: 700; color: var(--ld-navy); }
.ld-airlines { display: flex; flex-wrap: wrap; align-items: center; gap: 1.5rem; }
.ld-airline { display: inline-flex; align-items: center; gap: .45rem; font-size: .8rem; font-weight: 600; color: #475467; }
.ld-airline img { width: 26px; height: 26px; object-fit: contain; }
.ld-airline b { font-size: .78rem; color: var(--ld-rose); }
.ld-airlines-note { font-size: .84rem; color: var(--ld-muted); }

/* closing call */
.ld-cta { position: relative; overflow: hidden; display: flex; align-items: center; justify-content: space-between; gap: 2rem; border-radius: 24px; padding: 2.5rem; background: linear-gradient(90deg, #eef4fb, #fdf3f6); }
.ld-cta::before { content: ""; position: absolute; inset: 0 0 0 45%; background: var(--ld-cta) center / cover no-repeat; -webkit-mask: linear-gradient(90deg, transparent, #000 45%); mask: linear-gradient(90deg, transparent, #000 45%); }
.ld-cta.is-empty::before { background: radial-gradient(80% 120% at 90% 50%, #cfe3f7 0%, transparent 70%); }
.ld-cta-copy { position: relative; max-width: 46ch; }
.ld-cta .ld-btn { position: relative; }
.ld-cta .ld-points { margin-top: 1.25rem; }
.ld-script.is-cta { position: relative; right: auto; top: auto; align-self: flex-start; }

/* footer */
.ld-footer { border-top: 1px solid var(--ld-line); padding: 2.5rem 0 1.5rem; background: #fff; }
.ld-footer-inner { display: grid; grid-template-columns: minmax(0, 1.4fr) repeat(4, minmax(0, 1fr)); gap: 2rem; }
.ld-footer-brand p { margin-top: .75rem; font-size: .84rem; line-height: 1.5; color: var(--ld-muted); white-space: pre-line; }
.ld-footer-col { display: flex; flex-direction: column; gap: .5rem; font-size: .86rem; }
.ld-footer-col b { font-size: .9rem; color: var(--ld-navy); margin-bottom: .1rem; }
.ld-footer-col a { color: var(--ld-muted); text-decoration: none; }
.ld-footer-col a:hover { color: var(--ld-rose); }
.ld-social { display: flex; gap: .6rem; }
.ld-social a { width: 32px; height: 32px; border-radius: 999px; display: grid; place-items: center; color: #475467; background: #f2f4f7; }
.ld-social svg { width: 16px; height: 16px; }
.ld-footer-legal { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem; margin-top: 2rem; padding-top: 1.25rem; border-top: 1px solid var(--ld-line); font-size: .82rem; color: var(--ld-muted); }
.ld-footer-legal nav { display: flex; gap: 1.25rem; }
.ld-footer-legal a { text-decoration: none; }

@media (max-width: 1100px) {
    .ld-links { display: none; }
    .ld-cards, .ld-cards.is-four, .ld-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ld-stat { border-right: 0; }
    .ld-head, .ld-split, .ld-showcase-inner { grid-template-columns: 1fr; }
    .ld-panel-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ld-steps { grid-template-columns: 1fr; }
    .ld-step-arrow { display: none; }
    .ld-footer-inner { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ld-hero-scripts { display: none; }
}
@media (max-width: 640px) {
    .ld-cards, .ld-cards.is-four, .ld-stats, .ld-footer-inner { grid-template-columns: 1fr; }
    .ld-hero-inner { min-height: 0; }
    .ld-cta { flex-direction: column; align-items: flex-start; padding: 1.75rem; }
    .ld-panel-fields { grid-template-columns: 1fr; }
}
