.landing {
  font-family: "IBM Plex Sans", sans-serif;
  color: #101827;
  background: #fff;
  min-height: 100vh;
  overflow: hidden;
}
body.landing-mode { height: auto; overflow: auto; background: #fff; }
body.landing-mode .app { display: none; }
body:not(.landing-mode) .landing { display: none; }
.landing button, .landing a { font-family: inherit; }
.landing-header {
  height: 76px; max-width: 1440px; margin: auto; padding: 0 56px;
  display: flex; align-items: center; gap: 48px; background: #fff;
}
.landing-brand { display: flex; gap: 11px; align-items: center; color: #111929; text-decoration: none; font-size: 18px; font-weight: 700; letter-spacing: .18em; white-space: nowrap; }
.landing-brand svg { width: 34px; height: 34px; color: #1b4367; }
.landing-brand-dot { color: #417eb8; }
.landing-nav { display: flex; gap: 35px; align-items: center; margin-left: auto; }
.landing-nav a { color: #182236; text-decoration: none; font-size: 11px; font-weight: 700; letter-spacing: .16em; white-space: nowrap; }
.landing-nav a:hover, .landing-secondary:hover { color: #3576b8; }
.landing-header-cta, .landing-primary { border: 0; border-radius: 5px; background: #8bbdf4; color: #111d31; font-size: 12px; font-weight: 700; letter-spacing: .07em; padding: 14px 22px; white-space: nowrap; }
.landing-header-cta:hover, .landing-primary:hover { background: #6ea9eb; }
.landing-header-cta span { margin-left: 6px; }
.landing-hero { background: radial-gradient(ellipse at 14% 0%, #d7ddf3 0%, #edf3ff 37%, #f8fbff 68%, #fff 100%); border-top: 1px solid #e9eef8; }
.landing-hero-inner { max-width: 1340px; min-height: 690px; margin: auto; padding: 88px 40px 84px; display: grid; grid-template-columns: minmax(0,1.1fr) minmax(0,.95fr); gap: clamp(44px,5vw,100px); align-items: center; }
.landing-kicker { display: inline-block; font-size: 11px; font-weight: 700; letter-spacing: .13em; color: #33435a; }
.landing-hero .landing-kicker { background: #fff; border-radius: 30px; box-shadow: 0 1px 8px #16294a12; padding: 9px 15px; margin-bottom: 24px; }
.landing-hero h1 { font: 700 clamp(44px,4.2vw,68px)/1.06 "IBM Plex Sans",sans-serif; letter-spacing: -.045em; max-width: 680px; }
.landing-lede { font-size: 17px; line-height: 1.62; color: #46536a; max-width: 575px; margin: 25px 0 28px; }
.landing-actions { display: flex; align-items: center; gap: 20px; }
.landing-actions .landing-primary, .landing-assurance .landing-primary { font-size: 14px; letter-spacing: 0; padding: 15px 22px; }
.landing-primary span { margin-left: 10px; }
.landing-secondary { color: #182236; text-decoration: none; font-size: 14px; font-weight: 600; }
.landing-trust { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; margin-top: 36px; }
.landing-trust span { border: 1px solid #d8e1ee; background: #ffffffcc; border-radius: 5px; min-height: 64px; padding: 14px 12px; font-size: 12px; line-height: 1.4; }
.landing-visual { margin: 0; position: relative; aspect-ratio: 1.13; border-radius: 14px; overflow: hidden; box-shadow: 0 23px 65px #1d365a24; background: #111d34; }
.landing-visual img { width: 100%; height: 100%; object-fit: cover; display: block; }
.landing-visual figcaption { position: absolute; left: 16px; bottom: 16px; color: #fff; background: #0b1929de; border: 1px solid #ffffff40; padding: 9px 12px; border-radius: 4px; letter-spacing: .13em; font-size: 10px; font-weight: 700; }
.landing-indicator { display: inline-block; width: 7px; height: 7px; border-radius: 100%; background: #70c6ad; margin-right: 6px; }
.landing-section { max-width: 1340px; margin: auto; padding: 102px 40px 118px; }
.landing-section-top { max-width: 800px; }
.landing-section-top h2,.landing-assurance h2 { font: 700 clamp(32px,3vw,48px)/1.13 "IBM Plex Sans",sans-serif; letter-spacing: -.035em; margin: 16px 0; }
.landing-section-top > p:last-child,.landing-assurance p:not(.landing-kicker) { color: #526077; font-size: 16px; line-height: 1.7; }
.landing-cards { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; margin-top: 40px; }
.landing-cards article { border: 1px solid #dbe3ee; border-radius: 9px; padding: 30px; background: #fff; }
.landing-cards article span { color: #537dab; font-size: 11px; font-weight: 700; letter-spacing: .13em; }
.landing-cards h3 { font-size: 23px; margin: 26px 0 12px; }
.landing-cards p { color: #58657a; font-size: 14px; line-height: 1.65; }
.landing-assurance { background: #eaf2ff; padding: 74px max(40px,calc((100vw - 1260px)/2)); display: flex; justify-content: space-between; align-items: center; gap: 50px; }
.landing-assurance > div { max-width: 760px; }
.landing-footer { max-width: 1340px; margin: auto; padding: 30px 40px; color: #647184; font-size: 12px; display: flex; justify-content: space-between; gap: 20px; }
@media (max-width: 1050px) {
  .landing-header { padding: 0 28px; gap: 22px; }
  .landing-nav { gap: 16px; }
  .landing-hero-inner { gap: 32px; }
  .landing-hero h1 { font-size: clamp(40px,5vw,58px); }
}
@media (max-width: 760px) {
  .landing-header { height: 66px; padding: 0 20px; }
  .landing-brand { font-size: 14px; }
  .landing-brand svg { width: 29px; height: 29px; }
  .landing-nav { display: none; }
  .landing-header-cta { margin-left: auto; padding: 12px; font-size: 10px; }
  .landing-hero-inner { display: flex; flex-direction: column; align-items: stretch; min-height: 0; padding: 60px 20px 66px; }
  .landing-hero h1 { font-size: clamp(40px,10vw,54px); }
  .landing-lede { font-size: 16px; }
  .landing-visual { aspect-ratio: 1.25; }
  .landing-trust { grid-template-columns: 1fr; gap: 8px; margin-top: 30px; }
  .landing-trust span { min-height: 0; padding: 11px 13px; }
  .landing-section { padding: 72px 20px; }
  .landing-cards { grid-template-columns: 1fr; }
  .landing-assurance { padding: 64px 20px; display: block; }
  .landing-assurance .landing-primary { margin-top: 28px; }
  .landing-footer { padding: 26px 20px; flex-direction: column; }
}
@media (max-width: 380px) {
  .landing-brand { letter-spacing: .08em; font-size: 12px; }
  .landing-header-cta span { display: none; }
  .landing-actions { gap: 12px; }
  .landing-actions .landing-primary { padding: 13px 14px; font-size: 12px; }
  .landing-secondary { font-size: 12px; }
}
