/* Public landing page. Scoped to keep the staff console independent. */
.splash-page { margin:0; background:#f7f9fc; color:#162d46; }
.splash-page .splash-shell { --splash-gutter:clamp(22px,6vw,96px); background:#f7f9fc; color:#162d46; }
.splash-page .splash-shell::before { display:block; inset:0 0 auto; height:780px; opacity:1; background:radial-gradient(ellipse at 83% 36%,#154d6b 0,transparent 48%),linear-gradient(120deg,#0b1d32,#102d48); mask-image:none; }
.splash-page .splash-orb { display:none; }
.splash-page .splash-brandbar { min-height:88px; background:linear-gradient(90deg,#0b1d32,#123b53); border-bottom:0; box-shadow:none; backdrop-filter:none; }
.splash-page .splash-brand { font-size:19px; letter-spacing:-.5px; }
.splash-page .splash-brand-mark { width:42px; height:46px; }
.splash-page .splash-brand small { font-size:9px; letter-spacing:1.8px; color:#a4bed2; }
.splash-page .splash-nav { gap:30px; }
.splash-page .splash-nav a { color:#c0d0df; font-size:13px; }
.splash-page .splash-nav a:hover { color:#fff; }
.splash-page .splash-nav .splash-login { padding:12px 22px; border:1px solid #ffffff38; border-radius:9px; background:#ffffff08; }
.splash-page .splash-login span { color:#76d8e1; }
.splash-page .splash-hero { min-height:600px; padding:68px 0 92px; gap:64px; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); }
.splash-page .splash-kicker { color:#8ed9e3; font-size:10px; letter-spacing:2px; margin-bottom:24px; }
.splash-page .splash-kicker span { background:#6ed5d2; box-shadow:0 0 0 5px #6ed5d212; }
.splash-page .splash-hero h1 { font-size:clamp(44px,5vw,72px); line-height:1.06; font-weight:600; letter-spacing:-3px; color:#fff; }
.splash-page .splash-hero h1 strong { color:#83dce3; font-weight:650; }
.splash-page .splash-lede { max-width:470px; margin:26px 0 30px; color:#b7cbdc; font-size:16px; line-height:1.8; }
.splash-page .splash-actions { gap:22px; }
.splash-page .splash-primary { padding:16px 22px; background:#83dce3; color:#102c42; border:1px solid #83dce3; border-radius:9px; box-shadow:0 6px 24px #00000016; font-size:13px; }
.splash-page .splash-primary:hover { background:#a4edf0; color:#102c42; transform:translateY(-2px); }
.splash-page .splash-secondary { color:#d4e4f1; font-size:13px; }
.splash-page .splash-secondary:hover { color:#83dce3; }
.splash-page .splash-secondary span { color:#83dce3; }
.splash-page .splash-assurance { margin-top:24px; color:#a9c0d1; font-size:11px; }
.splash-page .splash-assurance span { color:#83dce3; }
.splash-page .splash-illustration { display:flex; flex-direction:column; align-items:stretch; justify-content:center; min-height:0; padding:16px; gap:0; border:1px solid #ffffff29; border-radius:22px; background:#ffffff0a; box-shadow:0 30px 80px #00000024; transform:rotate(-2deg); }
.landing-visual-label { display:flex; align-items:center; gap:8px; padding:3px 3px 17px; font-size:9px; font-weight:650; letter-spacing:1.7px; color:#bfd5e3; }
.landing-visual-label>span:first-child { width:6px; height:6px; border-radius:50%; background:#83dce3; }
.landing-visual-dots { margin-left:auto; letter-spacing:3px; color:#7897ad; }
.splash-page .splash-hero-image { display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:contain; background:#f4f7fb; border-radius:12px; }
.splash-page .splash-image-caption { color:#b5cddd; font-size:10px; text-align:center; padding:19px 0 2px; line-height:1.6; }
.splash-page .splash-image-caption span { color:#83dce3; margin-right:4px; }
.landing-access-badge { position:absolute; right:-20px; bottom:70px; display:flex; align-items:center; gap:12px; background:#fff; padding:16px 20px; border:1px solid #e0ebf2; border-radius:12px; box-shadow:0 14px 35px #061b3426; transform:rotate(2deg); }
.landing-access-badge>span { display:grid; place-items:center; width:36px; height:36px; background:#e3f5ef; color:#278563; border-radius:50%; }
.landing-access-badge b { display:block; font-size:12px; color:#18334c; }
.landing-access-badge small { display:block; margin-top:4px; font-size:10px; color:#60768b; }
.landing-overview { position:relative; width:min(100%,1240px); box-sizing:border-box; margin:0 auto; padding:27px 30px; display:flex; align-items:center; justify-content:space-between; gap:22px; background:#fff; border:1px solid #e1e8f0; border-radius:14px; box-shadow:0 12px 36px #10263e08; }
.landing-overview-label { max-width:125px; font-size:9px; line-height:1.7; font-weight:750; letter-spacing:1.5px; color:#6b7f93; }
.landing-overview>span:not(:first-child) { font-size:12px; font-weight:650; color:#27445d; }
.landing-overview b { color:#287c99; margin-right:8px; font-size:10px; }
.splash-page .splash-platform,.landing-section { box-sizing:border-box; width:min(100%,1240px); margin:auto; padding:80px 0; border-top:1px solid #e0e7ef; scroll-margin-top:110px; }
.splash-page .splash-platform { border:0; }
.splash-page .splash-section-heading { max-width:650px; margin-bottom:34px; }
.splash-page .splash-section-heading>span { color:#21758d; font-size:10px; font-weight:750; letter-spacing:1.8px; }
.splash-page .splash-section-heading h2 { color:#142e46; font-size:clamp(26px,3vw,36px); line-height:1.25; letter-spacing:-1.2px; margin:13px 0; font-weight:650; }
.splash-page .splash-section-heading p { color:#63788c; font-size:14px; line-height:1.8; margin:0; }
.splash-page .splash-feature-grid { gap:22px; }
.splash-page .splash-feature { min-height:0; padding:30px; background:#fff; border:1px solid #e0e7ef; border-radius:15px; box-shadow:0 4px 18px #10263e03; transition:transform .2s,box-shadow .2s,border-color .2s; }
.splash-page .splash-feature:hover { transform:translateY(-5px); box-shadow:0 16px 32px #10263e0b; border-color:#aacddc; }
.splash-page .splash-feature-icon { display:grid; place-items:center; width:42px; height:42px; background:#eaf5f7; border:1px solid #d3e9ed; border-radius:12px; color:#21758d; font-size:12px; }
.splash-page .splash-feature:nth-child(2) .splash-feature-icon { background:#edf0fc; color:#596da8; border-color:#e0e5f5; }
.splash-page .splash-feature:nth-child(3) .splash-feature-icon { background:#fff4e5; color:#a3742f; border-color:#f7e7cb; }
.splash-page .splash-feature h3 { color:#18334c; font-size:17px; line-height:1.5; margin:24px 0 12px; }
.splash-page .splash-feature p { color:#63788c; font-size:13px; line-height:1.9; margin:0; }
.landing-steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:26px; list-style:none; padding:0; margin:36px 0 0; }
.landing-steps li { position:relative; padding:24px 0 0; border-top:2px solid #d9e6ee; }
.landing-step-number { display:inline-grid; place-items:center; width:36px; height:36px; margin-bottom:19px; border-radius:50%; background:#153c57; color:#fff; font-size:11px; font-weight:700; }
.landing-steps h3,.landing-capabilities h3 { color:#18334c; font-size:15px; line-height:1.6; margin:0 0 9px; }
.landing-steps p,.landing-capabilities p { font-size:13px; line-height:1.85; color:#63788c; margin:0; }
.landing-operations { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:70px; align-items:center; }
.landing-operations .splash-secondary { color:#176984; }
.landing-operations .splash-secondary span { color:inherit; }
.landing-capabilities { display:grid; gap:14px; }
.landing-capabilities article { display:flex; align-items:flex-start; gap:16px; padding:22px; background:#fff; border:1px solid #e0e7ef; border-radius:13px; }
.landing-capability-icon { display:grid; place-items:center; flex:0 0 38px; height:38px; background:#eaf5f7; color:#21758d; border-radius:10px; font-size:19px; }
.landing-faq { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:70px; }
.landing-faq-list { display:grid; gap:12px; align-content:start; }
.landing-faq details { background:#fff; border:1px solid #e0e7ef; border-radius:12px; overflow:hidden; }
.landing-faq summary { position:relative; padding:21px 46px 21px 22px; list-style:none; cursor:pointer; font-size:14px; font-weight:650; line-height:1.6; color:#234560; }
.landing-faq summary::-webkit-details-marker { display:none; }
.landing-faq summary::after { content:'+'; position:absolute; right:22px; top:18px; font-size:21px; font-weight:400; color:#21758d; }
.landing-faq details[open] summary::after { content:'\2212'; }
.landing-faq summary:hover { background:#f3f8fb; }
.landing-faq details p { padding:0 22px 22px; margin:0; font-size:13px; line-height:1.9; color:#63788c; }
.landing-cta { box-sizing:border-box; width:min(100%,1240px); margin:0 auto 65px; padding:46px; border:1px solid #244b65; border-radius:20px; background:radial-gradient(ellipse at 95% 0,#1c5b70,transparent 65%),#102c44; display:flex; align-items:center; justify-content:space-between; gap:32px; }
.landing-cta>div>span { color:#83dce3; font-size:10px; font-weight:700; letter-spacing:1.7px; }
.landing-cta h2 { font-size:clamp(24px,3vw,32px); font-weight:600; letter-spacing:-.8px; color:#fff; margin:13px 0; }
.landing-cta p { font-size:13px; line-height:1.8; color:#bed1df; margin:0; }
.landing-cta .splash-primary { flex-shrink:0; white-space:nowrap; }
.splash-page .splash-footer { border-top:1px solid #e0e7ef; color:#63788c; font-size:11px; padding:25px 0; gap:15px; }
.splash-page a:focus-visible,.landing-faq summary:focus-visible { outline:3px solid #2d9bb5; outline-offset:5px; }
.landing-skip { position:fixed; top:12px; left:20px; z-index:100; padding:12px 20px; background:#fff; color:#102c44; border-radius:6px; transform:translateY(-160%); }
.landing-skip:focus { transform:translateY(0); }
@media(min-width:1600px) { .splash-page .splash-shell::before { height:790px; } }
@media(max-width:1050px) {
  .splash-page .splash-hero { gap:32px; }
  .splash-page .splash-hero h1 { font-size:52px; }
  .splash-page .splash-actions { align-items:flex-start; flex-direction:column; gap:18px; }
  .landing-overview { flex-wrap:wrap; justify-content:flex-start; gap:20px 28px; }
  .landing-overview-label { max-width:none; flex-basis:100%; }
  .landing-steps { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .landing-operations,.landing-faq { gap:32px; }
  .splash-page .splash-feature { padding:24px; }
}
@media(max-width:700px) {
  .splash-page .splash-shell::before { height:1120px; }
  .splash-page .splash-brandbar { min-height:76px; }
  .splash-page .splash-brand { font-size:16px; }
  .splash-page .splash-brand-mark { width:34px; height:38px; }
  .splash-page .splash-brand small { font-size:7px; }
  .splash-page .splash-nav>a:not(.splash-login) { display:none; }
  .splash-page .splash-nav .splash-login { padding:10px 15px; font-size:12px; }
  .splash-page .splash-hero { grid-template-columns:1fr; padding:48px 0 54px; gap:42px; }
  .splash-page .splash-hero h1 { font-size:clamp(42px,11vw,64px); letter-spacing:-2px; }
  .splash-page .splash-kicker { font-size:9px; letter-spacing:1.5px; }
  .splash-page .splash-lede { font-size:14px; margin:22px 0 26px; }
  .splash-page .splash-assurance { font-size:10px; }
  .splash-page .splash-illustration { width:100%; max-width:460px; box-sizing:border-box; margin:0 auto; transform:none; padding:12px; }
  .landing-access-badge { right:-6px; bottom:50px; padding:12px; transform:none; }
  .landing-visual-label { font-size:8px; letter-spacing:1px; }
  .splash-page .splash-image-caption { font-size:9px; }
  .landing-overview { padding:24px; gap:18px 12px; }
  .landing-overview>span:not(:first-child) { flex:1 1 42%; font-size:10px; }
  .landing-overview b { margin-right:4px; }
  .splash-page .splash-platform,.landing-section { padding:48px 0; }
  .splash-page .splash-feature-grid { grid-template-columns:1fr; gap:15px; }
  .splash-page .splash-feature h3 { margin-top:18px; }
  .landing-steps { gap:24px 20px; }
  .landing-operations,.landing-faq { grid-template-columns:1fr; gap:24px; }
  .landing-cta { padding:30px 24px; flex-direction:column; align-items:flex-start; margin-bottom:38px; }
  .splash-page .splash-footer { display:flex; flex-direction:column; align-items:flex-start; font-size:10px; gap:8px; }
}
@media(prefers-reduced-motion:reduce) {
  .splash-page *, .splash-page *::before, .splash-page *::after { transition:none !important; scroll-behavior:auto !important; }
  .splash-page .splash-feature:hover,.splash-page .splash-primary:hover { transform:none; }
}
/* Let the hero background follow its content at every viewport size. */
.splash-page .splash-shell::before { display:none; }
.splash-page .splash-hero { position:relative; isolation:isolate; }
.splash-page .splash-hero::before { content:""; position:absolute; z-index:-1; inset:0 calc(0px - var(--splash-gutter)) -42px; background:linear-gradient(90deg,#0b1d32,#123b53); }
