.landing-page { padding: 0; background: var(--bg); color: var(--text); }
.landing-nav, .landing-hero, .landing-section, .landing-footer { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }
.landing-nav { display:flex; justify-content:space-between; align-items:center; padding:22px 0; }
.landing-brand { display:inline-flex; align-items:center; gap:10px; color:var(--text); font-weight:900; text-decoration:none; letter-spacing:-.02em; }
.landing-logo { width:42px; height:42px; }
.landing-login, .landing-button { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:0 20px; border-radius:var(--business-radius-md, 10px); font:inherit; font-weight:800; text-decoration:none; cursor:pointer; }
.landing-login { color:var(--primary-strong); border:1px solid var(--border-strong); background:var(--surface); }
.landing-login:hover, .landing-button:hover { filter:brightness(.97); }
.landing-hero { position:relative; min-height:560px; display:grid; align-items:center; overflow:hidden; border-radius:var(--business-radius-lg, 16px); background:#0d3047; color:#fff; box-shadow:var(--shadow); }
.landing-hero-content { position:relative; z-index:1; max-width:720px; padding:clamp(42px, 8vw, 92px); }
.landing-eyebrow { margin:0 0 12px; color:var(--primary-strong); font-size:12px; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.landing-hero .landing-eyebrow { color:#05636b; }
.landing-hero h1 { max-width:720px; font-size:clamp(38px, 6vw, 72px); line-height:1.03; letter-spacing:-.045em; }
.landing-lead { max-width:600px; margin:24px 0 0; color:rgba(255,255,255,.88); font-size:clamp(17px, 2vw, 21px); line-height:1.55; }
.landing-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:32px; }
.landing-button-primary { color:#082a39; background:#a8eee4; }
.landing-button-secondary { color:#fff; border:1px solid rgba(255,255,255,.45); background:rgba(255,255,255,.1); }
.landing-button:disabled { cursor:not-allowed; opacity:.55; }
.landing-section { padding:clamp(70px, 9vw, 112px) 0 0; }
.landing-section-heading { max-width:640px; margin-bottom:30px; }
.landing-section-heading h2, .audience-copy h2 { font-size:clamp(30px, 4vw, 48px); letter-spacing:-.04em; }
.landing-section-heading > p:last-child, .audience-copy > p:last-child, .benefit-card p { color:var(--text-soft); line-height:1.6; }
.feature-grid, .benefit-grid { display:grid; grid-template-columns:repeat(5, 1fr); gap:12px; }
.feature-card, .benefit-card { padding:24px 18px; border:1px solid var(--border); border-radius:var(--business-radius-md, 10px); background:var(--surface); box-shadow:var(--shadow-soft); }
.feature-card { min-height:138px; }.feature-icon { display:block; margin-bottom:22px; font-size:27px; }.feature-card h3, .benefit-card h3 { font-size:16px; }
.screenshot-grid { display:grid; grid-template-columns:repeat(4, 1fr); gap:16px; }.screenshot-placeholder { margin:0; overflow:hidden; }.screenshot-placeholder img { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:14px; }.screenshot-placeholder figcaption { margin:10px 0 2px; color:var(--text-soft); font-size:13px; font-weight:800; }
.benefit-grid { grid-template-columns:repeat(4, 1fr); }.benefit-card { border-top:3px solid var(--primary); }.benefit-card p { margin-bottom:0; font-size:14px; }
.audience-section { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; }.audience-list { display:flex; flex-wrap:wrap; gap:10px; }.audience-list span, .technology-list span { padding:11px 14px; border:1px solid var(--border); border-radius:999px; background:var(--surface); font-weight:800; }
.technology-list { display:flex; flex-wrap:wrap; gap:12px; }.technology-list span { color:var(--primary-strong); }
.landing-footer { display:flex; justify-content:space-between; gap:30px; align-items:end; margin-top:110px; padding:30px 0; border-top:1px solid var(--border); }.landing-footer p { margin:10px 0 0; color:var(--text-soft); font-size:13px; }.landing-footer nav { display:flex; flex-wrap:wrap; gap:18px; align-items:center; justify-content:flex-end; }.landing-footer nav a, .landing-footer nav span { color:var(--text-soft); font-size:13px; font-weight:700; }.landing-footer nav a:hover { color:var(--primary-strong); }
@media (max-width:900px) { .feature-grid { grid-template-columns:repeat(3, 1fr); }.screenshot-grid { grid-template-columns:repeat(2, 1fr); }.benefit-grid { grid-template-columns:repeat(2, 1fr); } }
@media (max-width:620px) { .landing-nav, .landing-hero, .landing-section, .landing-footer { width:min(100% - 28px, 1180px); }.landing-nav { padding:15px 0; }.landing-login { min-height:40px; padding:0 14px; }.landing-hero { min-height:590px; border-radius:12px; }.landing-hero-content { padding:34px 25px; align-self:end; }.feature-grid, .screenshot-grid, .benefit-grid, .audience-section { grid-template-columns:1fr; }.landing-section { padding-top:70px; }.landing-footer { display:block; margin-top:80px; }.landing-footer nav { justify-content:flex-start; margin-top:25px; } }
@media (prefers-reduced-motion:reduce) { *, *::before, *::after { scroll-behavior:auto !important; transition:none !important; } }


/* Landing page aligned with the auth travel identity. */
.landing-page { --landing-navy: #102033; --landing-blue: #006fd6; --landing-teal: #00aeb8; --landing-yellow: #ffd36c; background: linear-gradient(180deg, #f7fcfd 0, #eef8fb 460px, #fff 900px); color: var(--landing-navy); }
.landing-nav, .landing-hero, .landing-section, .landing-footer { width: min(1180px, calc(100% - 48px)); }
.landing-nav { padding: 20px 0; }
.landing-brand { color: var(--landing-navy); font-size: 20px; }
.landing-logo { width: 46px; height: 46px; }
.landing-login { min-height: 44px; border: 0; border-radius: 13px; color: #fff; background: linear-gradient(135deg, var(--landing-blue), var(--landing-teal)); box-shadow: 0 12px 26px rgba(0,118,180,.2); }
.landing-hero { min-height: 610px; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); border-radius: 28px; background: #fff; color: var(--landing-navy); box-shadow: 0 28px 70px rgba(27,61,83,.15); }
.landing-hero-content { max-width: none; padding: clamp(46px, 6vw, 84px); }
.landing-eyebrow { color: var(--landing-teal); font-size: 12px; letter-spacing: .14em; }
.landing-hero h1 { max-width: 12ch; margin: 0; color: var(--landing-navy); font-size: clamp(38px, 4.8vw, 64px); line-height: 1.04; }
.landing-lead { max-width: 540px; margin: 26px 0 0; color: #4d6378; font-size: clamp(17px, 1.8vw, 20px); }
.landing-button { min-height: 52px; border-radius: 13px; padding: 0 22px; transition: transform .18s ease, box-shadow .18s ease, filter .18s ease; }
.landing-button-primary { color: #fff; background: linear-gradient(135deg, var(--landing-blue), var(--landing-teal) 62%); box-shadow: 0 16px 34px rgba(0,118,180,.25); }
.landing-button-secondary { border: 1px solid #b9cfdd; color: #087884; background: #f4fbfc; }
.landing-login:hover, .landing-button:hover:not(:disabled) { filter: brightness(1.04); transform: translateY(-2px); box-shadow: 0 16px 32px rgba(0,118,180,.25); }
.landing-button:focus-visible, .landing-login:focus-visible, .landing-footer a:focus-visible { outline: 3px solid rgba(0,174,184,.3); outline-offset: 3px; }
.landing-button:disabled { border-color: #d3dde3; color: #8a9aa6; background: #edf2f4; box-shadow: none; filter: none; opacity: 1; }
.landing-section { padding-top: clamp(82px, 10vw, 124px); }
.landing-section-heading h2, .audience-copy h2 { color: var(--landing-navy); }
.landing-section-heading > p:last-child, .audience-copy > p:last-child, .benefit-card p { color: #647486; }

.feature-grid, .benefit-grid { gap: 16px; }
.feature-card, .benefit-card, .screenshot-placeholder { border: 1px solid rgba(0,111,214,.12); border-radius: 20px; background: #fff; box-shadow: 0 12px 32px rgba(27,61,83,.08); transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.feature-card:hover, .benefit-card:hover, .screenshot-placeholder:hover { border-color: rgba(0,174,184,.35); transform: translateY(-4px); box-shadow: 0 18px 42px rgba(27,61,83,.13); }
.feature-card { min-height: 150px; padding: 24px 20px; }
.feature-icon { display: grid; place-items: center; width: 42px; height: 42px; margin-bottom: 22px; border-radius: 14px; color: #fff; background: linear-gradient(135deg, var(--landing-blue), var(--landing-teal)); box-shadow: 0 10px 22px rgba(0,118,180,.2); }
.feature-icon::before { content: ""; width: 18px; height: 18px; border: 2px solid currentColor; border-radius: 6px; }
.feature-card:nth-child(2n) .feature-icon { background: linear-gradient(135deg, var(--landing-teal), #43c6ac); }
.feature-card:nth-child(3n) .feature-icon { background: linear-gradient(135deg, #f0ad43, var(--landing-yellow)); color: #624b1c; }
.feature-card h3, .benefit-card h3 { color: var(--landing-navy); }
.screenshot-placeholder { padding: 10px; }
.placeholder-window { border: 0; border-radius: 14px; background: linear-gradient(145deg, #f8fcff, #eaf5f7); }
.benefit-card { border-top: 3px solid var(--landing-teal); }
.audience-section { border-radius: 28px; padding-inline: clamp(22px, 5vw, 64px); background: linear-gradient(135deg, #eef9f8, #f8fcff); }
.audience-list span, .technology-list span { border-color: rgba(0,174,184,.2); color: #087884; background: #fff; }
.landing-footer { margin-top: 120px; }
 @media (max-width: 620px) { .landing-nav, .landing-hero, .landing-section, .landing-footer { width: min(100% - 28px, 1180px); } .landing-hero { display: flex; flex-direction: column; min-height: 0; border-radius: 22px; } .landing-hero-content { order: 1; padding: 42px 25px 38px; } .landing-hero h1 { max-width: none; font-size: clamp(36px, 11vw, 48px); } .landing-actions { flex-direction: column; } .landing-button { width: 100%; } .audience-section { padding-inline: 22px; } }



/* Full-page landing background and accessible controls. */
.landing-page { position: relative; isolation: isolate; min-height: 100vh; background: transparent; }
.landing-page::before { content: ""; position: fixed; z-index: -1; inset: 0; background-color: #0e4661; background-image: linear-gradient(rgba(236, 249, 252, .48), rgba(236, 249, 252, .48)), url("/static/images/Login_Background.png"); background-size: cover; background-position: center; background-repeat: no-repeat; }
.landing-nav { position: relative; z-index: 1; }
.landing-hero { display: block; min-height: 0; background: rgba(255, 255, 255, .68); }
.landing-hero { background-image: url("/static/images/landing/hero-placeholder.svg"); background-size: cover; background-position: center; background-repeat: no-repeat; }
.landing-hero-content { max-width: 900px; }
.landing-section, .landing-footer { position: relative; z-index: 1; }
.feature-card, .benefit-card, .screenshot-placeholder { background: rgba(255, 255, 255, .68); }
.benefits-section, .landing-section-heading, .audience-section, .technology-list, .landing-footer { background: transparent; }
.landing-section-heading { padding: 24px 28px; border-radius: 20px; }
.audience-section { padding-top: clamp(50px, 7vw, 80px); padding-bottom: clamp(50px, 7vw, 80px); }
.landing-button-primary, .landing-login { color: #fff; background: linear-gradient(135deg, #064b85, #05636b); }
.landing-button-secondary { color: #fff; border-color: #064b85; background: linear-gradient(135deg, #064b85, #05636b); }
.landing-button-primary:hover, .landing-button-secondary:hover, .landing-login:hover { filter: brightness(1.12); }
.landing-button:focus-visible, .landing-login:focus-visible, .landing-footer a:focus-visible { outline: 3px solid #073b66; outline-offset: 3px; }
.landing-button:active, .landing-login:active { transform: translateY(1px); filter: brightness(.92); }
.landing-button:disabled { color: #17324a; border: 2px solid #7e9aa8; background: #dce8ed; opacity: 1; }
.landing-footer { padding-inline: 24px; padding-bottom: 28px; background: transparent; }
@media (max-width: 620px) { .landing-page::before { background-image: linear-gradient(rgba(236, 249, 252, .54), rgba(236, 249, 252, .54)), url("/static/images/Login_Background.png"); } .landing-hero-content { padding: 42px 25px 38px; } .landing-section-heading { padding: 22px; } }

.public-page-content { padding-top: clamp(40px, 7vw, 84px); }
.public-page-card { max-width: 820px; margin: 0 auto; padding: clamp(30px, 5vw, 64px); border: 1px solid rgba(0, 111, 214, .12); border-radius: 28px; background: rgba(255, 255, 255, .94); box-shadow: 0 28px 70px rgba(27, 61, 83, .15); }
.public-page-card h1 { margin-top: 0; color: var(--landing-navy); font-size: clamp(38px, 6vw, 64px); }
.public-page-section { margin-top: 34px; }
.public-page-section h2 { color: var(--landing-navy); font-size: clamp(21px, 3vw, 30px); }
.public-page-section p { color: #4d6378; line-height: 1.7; }
.privacy-document { max-width: 900px; }
.privacy-section { margin-top: 34px; }
.privacy-section h2 { margin: 0 0 12px; color: var(--landing-navy); font-size: clamp(20px, 3vw, 29px); line-height: 1.2; }
.privacy-section p, .privacy-section address { color: #4d6378; line-height: 1.7; }
.privacy-section address { margin: 0 0 16px; font-style: normal; }
.privacy-section a { color: var(--landing-blue, var(--primary-strong)); overflow-wrap: anywhere; }
.privacy-section code { padding: 2px 5px; border-radius: 5px; background: rgba(0, 111, 214, .08); overflow-wrap: anywhere; }
.privacy-table-wrap { max-width: 100%; overflow-x: auto; }
.privacy-retention-table { width: 100%; table-layout: fixed; border-collapse: collapse; color: #4d6378; line-height: 1.5; }
.privacy-retention-table th:first-child, .privacy-retention-table td:first-child { width: 42%; }
.privacy-retention-table th:last-child, .privacy-retention-table td:last-child { width: 58%; }
.privacy-retention-table th, .privacy-retention-table td { padding: 11px 12px; border-bottom: 1px solid rgba(0, 111, 214, .14); text-align: left; vertical-align: top; }
.privacy-retention-table th { color: var(--landing-navy); font-weight: 850; }
.privacy-updated { margin-top: 42px; color: #647486; font-size: 14px; }
@media (max-width: 620px) {
    .privacy-document { padding: 28px 22px; }
    .privacy-section { margin-top: 29px; }
    .privacy-retention-table { font-size: 14px; }
    .privacy-retention-table th, .privacy-retention-table td { padding: 9px 7px; }
}


/* Landing button and dark-mode contrast overrides. */
.landing-login, .landing-button-primary, .landing-button-secondary, .landing-button-secondary:disabled { color: #fff; }

/* The theme files use :root[data-ui-style] selectors. Keep the landing and
   authentication call-to-action labels white despite that higher specificity. */
:root[data-ui-style] .landing-login,
:root[data-ui-style] .landing-button-primary,
:root[data-ui-style] .landing-button-secondary,
:root[data-ui-style] .landing-button-secondary:disabled,
:root[data-ui-style] .auth-primary-button { color: #fff; }
    .feature-card, .feature-card h3 { color: #eef6fb; }
}
