/* Public home layout is independent of the compact, routed marketing views. */
body.landing-page .landing-header {
  width: 100%; max-width: none; margin: 0; padding: 18px 4%;
  min-height: 88px; height: 88px; background: #fff; border-bottom: 1px solid #dde6e9;
  color: #183442; box-shadow: none;
}
body.landing-page .landing-brand strong { color: #183442; font: 700 20px Arial, sans-serif; letter-spacing: 0; }
body.landing-page .landing-brand em { color: #087888; font: 600 11px Arial, sans-serif; letter-spacing: 0; }
body.landing-page .landing-brand img { width: 46px; height: 46px; filter: none; box-shadow: none; }
body.landing-page .landing-nav { gap: 32px; }
body.landing-page .landing-nav a { flex-shrink: 0; white-space: nowrap; }
body.landing-fullscreen .landing-nav a[aria-current="page"]::after { display: none; }
body.landing-page .landing-nav a,
body.landing-page .landing-login { color: #324c59; font: 600 15px Arial, sans-serif; letter-spacing: 0; }
body.landing-page .landing-nav a:hover,
body.landing-page .landing-nav a[aria-current="page"] { color: #006d7b; }
body.landing-page .landing-header .landing-button { min-height: 44px; border-radius: 6px; background: #087f8c; border-color: #087f8c; box-shadow: none; font: 700 14px Arial, sans-serif; letter-spacing: 0; }
body.landing-page .landing-menu-button { background: #f3f7f8; border-color: #d1e0e4; }
body.landing-page .landing-menu-button span { background: #183442; }
body.landing-page .landing-mobile-menu { background: #fff; color: #183442; top: 88px; border: 1px solid #dde6e9; }
body.landing-page .landing-mobile-menu a { color: #183442; }
body.landing-page[data-landing-view="home"] { background: #fff; }
body[data-landing-view="home"] .landing-background { display: none; }
body.landing-fullscreen[data-landing-view="home"] .landing-fullscreen-main { height: calc(100dvh - 88px); padding: 0; margin: 0; width: 100%; }
body.landing-fullscreen .home-page.is-active {
  display: block; overflow-y: auto; overflow-x: hidden; height: 100%; min-height: 0;
  padding: 0; margin: 0; width: 100%; max-width: none; background: #fff;
  color: #183442; font-family: Arial, sans-serif; letter-spacing: 0;
}
.home-page *, .home-page *::before, .home-page *::after { box-sizing: border-box; letter-spacing: 0; }
.home-page h1, .home-page h2, .home-page h3, .home-page p, .home-page figure { margin: 0; }
.home-page a:focus-visible, .landing-header a:focus-visible { outline: 3px solid #16b6bc; outline-offset: 5px; }
.home-hero { position: relative; min-height: 500px; height: clamp(500px, 30vw, 740px); isolation: isolate; display: flex; align-items: center; background: #183442; }
.home-hero-media { position: absolute; inset: 0; z-index: -1; overflow: hidden; }
.home-hero-photo, .home-hero-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 43%; }
.home-hero-video { opacity: 0; }
.home-hero-media.has-video .home-hero-video { opacity: 1; }
.home-video-toggle { position: absolute; bottom: 16px; right: 16px; z-index: 2; display: grid; place-items: center; width: 44px; height: 44px; padding: 10px; border: 1px solid #d1e0e4; border-radius: 50%; background: #fff; color: #183442; cursor: pointer; }
.home-video-toggle[hidden] { display: none; }
.home-video-toggle svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.home-video-toggle:focus-visible { outline: 3px solid #16b6bc; outline-offset: 3px; }
.home-video-status { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.home-hero-media::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(90deg, rgb(8 25 33 / 76%) 0%, rgb(8 25 33 / 56%) 28%, rgb(8 25 33 / 8%) 58%, rgb(8 25 33 / 8%)); }
.home-hero-inner { width: 100%; margin: 0; padding: 30px 4%; color: #fff; text-align: left; text-shadow: 0 1px 2px rgb(0 0 0 / 25%); pointer-events: none; }
.home-hero-heading, .home-hero-copy { width: 500px; max-width: 46%; pointer-events: auto; }
.home-eyebrow { font-size: 13px; font-weight: 700; line-height: 1.5; }
.home-hero .home-eyebrow { color: #c5f1f0; }
.home-hero h1 { font: 700 48px/1.08 Arial, sans-serif; margin: 14px 0; color: #fff; }
.home-intro { font-size: 26px; line-height: 1.4; font-weight: 400; }
.home-actions { display: flex; justify-content: flex-start; flex-wrap: wrap; gap: 12px; margin-top: 24px; text-shadow: none; }
.home-hero .home-button { width: 100%; justify-content: space-between; }
.home-button { display: inline-flex; justify-content: center; align-items: center; gap: 20px; padding: 15px 24px; min-width: 190px; min-height: 50px; border-radius: 8px; color: #fff; background: #087f8c; border: 1px solid #249fa9; font-size: 15px; font-weight: 700; text-decoration: none; }
.home-button > span { font-size: 20px; line-height: 1; }
.home-button:hover { background: #066574; }
.home-button-secondary { background: #fff; color: #183442; border-color: #fff; }
.home-button-secondary:hover { background: #e8f7f8; }
.home-trial { font-size: 13px; line-height: 1.7; color: #eef5f8; margin-top: 18px !important; }
.home-trial a { color: #fff; text-underline-offset: 3px; }
.home-product { width: calc(100% - 96px); max-width: 1280px; margin: 0 auto; padding: 38px 0 30px; scroll-margin-top: 20px; }
.home-section-heading { text-align: center; margin-bottom: 30px; }
.home-product .home-eyebrow { color: #087888; }
.home-page h2 { font: 700 30px/1.25 Arial, sans-serif; color: #183442; margin-top: 8px; }
.home-section-heading > p { font-size: 16px; line-height: 1.6; color: #526c78; margin-top: 8px; }
.home-audiences { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 22px; }
.home-audience { --role-color: #007681; display: flex; flex-direction: column; border: 1px solid #dce6ea; border-top: 3px solid var(--role-color); border-radius: 8px; padding: 28px; color: #183442; text-decoration: none; background: #f8fbfb; transition: border-color 150ms, box-shadow 150ms; }
.home-audience:nth-child(2) { --role-color: #3567a7; background: #f8fafe; }
.home-audience:nth-child(3) { --role-color: #42795b; background: #f8fbf8; }
.home-audience:hover { border-color: var(--role-color); box-shadow: 0 6px 18px rgb(20 48 62 / 7%); }
.home-page .home-audience h3 { font: 700 25px/1.2 Arial, sans-serif; margin: 0 0 18px; }
.home-audience p { font-size: 16px; line-height: 1.65; color: #526674; margin-bottom: 24px; }
.home-audience p strong { display: block; color: #263f4c; font-size: 16px; font-weight: 600; margin-bottom: 8px; }
.home-audience-link { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: auto; padding-top: 18px; border-top: 1px solid #dce6ea; font-size: 15px; color: var(--role-color); font-weight: 700; }
.home-audience-link > span { display: grid; place-items: center; width: 32px; height: 32px; flex: 0 0 32px; background: #fff; border: 1px solid #dce6ea; border-radius: 50%; font-size: 22px; font-weight: 400; line-height: 1; }
.home-app-preview { margin-top: 28px; border-top: 1px solid #dce6ea; }
.home-app-preview summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 24px 4px; cursor: pointer; list-style: none; }
.home-app-preview summary::-webkit-details-marker { display: none; }
.home-app-preview summary strong { display: block; font-size: 17px; }
.home-app-preview summary span > span { display: block; font-size: 14px; color: #526c78; margin-top: 5px; }
.home-preview-toggle { width: 40px; height: 40px; flex: 0 0 40px; display: grid; place-items: center; border: 1px solid #dce6ea; border-radius: 50%; font-size: 26px; color: #087f8c; }
.home-app-preview[open] .home-preview-toggle { transform: rotate(45deg); }
.home-app-preview summary:focus-visible { outline: 3px solid #16b6bc; outline-offset: 3px; }
.home-preview { width: 100%; }
.home-preview > button { display: block; width: 100%; padding: 0; cursor: zoom-in; background: #fff; border: 1px solid #d7e3e8; border-radius: 8px; overflow: hidden; }
.home-preview img { display: block; width: 100%; height: auto; }
.home-preview figcaption { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; padding: 14px 0; color: #617582; font-size: 12px; line-height: 1.5; }
.home-preview figcaption button { border: 0; background: transparent; color: #006c7a; font: 600 14px Arial, sans-serif; cursor: pointer; min-height: 44px; padding: 0 4px; }
.home-preview-dialog { width: 100vw; max-width: none; height: 100dvh; max-height: none; border: 0; border-radius: 0; padding: 0; margin: 0; background: #f3f7f8; color: #183442; }
.home-preview-dialog[open] { display: flex; flex-direction: column; }
.home-preview-dialog::backdrop { background: rgb(5 20 30 / 65%); }
.home-preview-dialog > header { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: max(20px, env(safe-area-inset-top)) 28px 20px; background: #fff; border-bottom: 1px solid #dce6ea; }
.home-preview-dialog h2 { font: 700 22px/1.3 Arial, sans-serif; margin: 0; }
.home-preview-dialog p { color: #526674; font-size: 14px; margin-top: 5px; }
.home-preview-dialog [data-home-preview-close] { display: grid; place-items: center; width: 44px; height: 44px; flex: 0 0 44px; border: 1px solid #dce6ea; background: #fff; border-radius: 50%; color: #183442; font: 400 30px/1 Arial, sans-serif; cursor: pointer; }
.home-preview-image { flex: 1; min-height: 0; overflow: auto; padding: 28px; display: grid; align-items: center; }
.home-preview-image img { display: block; width: 100%; height: auto; }
.home-preview-tools { display: flex; gap: 12px; align-items: center; flex-shrink: 0; }
.home-preview-tools [data-home-preview-zoom] { min-height: 44px; padding: 10px 14px; border: 1px solid #dce6ea; border-radius: 6px; background: #fff; color: #006c7a; font: 600 14px Arial,sans-serif; cursor: pointer; }
.home-preview-dialog.is-zoomed .home-preview-image { display: block; }
.home-preview-dialog.is-zoomed .home-preview-image img { width: 1632px; max-width: none; }
.home-preview button:focus-visible, .home-preview-dialog button:focus-visible { outline: 3px solid #16b6bc; outline-offset: 3px; }
.home-page h3 { font: 700 20px/1.35 Arial, sans-serif; margin: 10px 0; color: #183442; }
.home-footer { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 24px; padding: 26px 5%; background: #f3f7f8; border-top: 1px solid #dde6e9; }
.home-footer a { color: #324c59; font-size: 14px; text-decoration: none; }
.home-footer-brand { font-weight: 700; }
.home-footer nav { display: flex; flex-wrap: wrap; gap: 26px; }
@media (min-width: 1101px) {
  .home-hero .home-button { width: auto; min-width: 0; min-height: 46px; justify-content: center; gap: 14px; padding: 12px 18px; border-radius: 6px; font-size: 14px; }
}
@media (min-width: 1101px) and (max-width: 1399px) {
  .home-hero-heading, .home-hero-copy { width: 400px; max-width: 40%; }
  .home-hero h1 { font-size: 40px; }
  .home-hero .home-intro { font-size: 22px; }
}
@media (max-width: 1100px) {
  body.landing-page .landing-nav { gap: 18px; }
  body.landing-page .landing-brand strong { font-size: 17px; }
  .home-hero { display: grid; grid-template-columns: minmax(0, 1fr); grid-template-rows: min(55.814vw, 360px) auto; min-height: 0; height: auto; background: #fff; }
  .home-hero-media { position: relative; inset: auto; grid-area: 1 / 1; height: 100%; }
  .home-video-toggle { position: relative; grid-area: 1 / 1; align-self: end; justify-self: end; bottom: auto; right: auto; margin: 12px; }
  .home-hero-media::after { background: linear-gradient(rgb(8 25 33 / 45%), transparent 36%); }
  .home-hero-inner { display: contents; }
  .home-hero-heading { grid-area: 1 / 1; align-self: start; width: auto; max-width: none; padding: 16px 20px; text-align: center; pointer-events: none; }
  .home-hero .home-eyebrow { display: none; }
  .home-hero h1 { font-size: 32px; margin: 0; text-shadow: 0 1px 4px rgb(0 0 0 / 50%); }
  .home-hero-copy { grid-area: 2 / 1; width: auto; max-width: none; padding: 22px 20px; text-align: center; color: #183442; text-shadow: none; }
  .home-hero .home-intro { font-size: 22px; }
  .home-hero .home-actions { justify-content: center; margin-top: 16px; }
  .home-hero .home-button { width: auto; }
  .home-hero .home-button-secondary { border-color: #c5d9df; }
  .home-hero .home-trial { color: #526674; font-size: 12px; margin-top: 12px !important; }
  .home-hero .home-trial a { color: #006c7a; }
}
@media (max-width: 760px) {
  body.landing-page .landing-header { min-height: 72px; height: 72px; padding: 12px 18px; gap: 12px; }
  body.landing-page .landing-brand img { width: 38px; height: 38px; }
  body.landing-page .landing-brand strong { font-size: 16px; }
  body.landing-page .landing-brand em { font-size: 10px; }
  body.landing-page .landing-actions { gap: 8px; }
  body.landing-page .landing-header .landing-login { display: inline-flex; font-size: 13px; }
  body.landing-page .landing-header .landing-actions > .landing-button { display: none; }
  body.landing-page .landing-mobile-menu { top: 72px; }
  body.landing-fullscreen[data-landing-view="home"] .landing-fullscreen-main { height: auto; overflow: visible; }
  body.landing-fullscreen .home-page.is-active { height: auto; overflow: visible; }
  .home-hero h1 { font-size: 28px; line-height: 1.1; margin: 0; }
  .home-intro { font-size: 21px; }
  .home-actions { gap: 10px; margin-top: 20px; }
  .home-button { font-size: 13px; gap: 8px; padding: 12px 14px; min-width: 0; min-height: 48px; }
  .home-trial { font-size: 12px; }
  .home-product { width: calc(100% - 40px); padding: 28px 0; }
  .home-audiences { grid-template-columns: 1fr; gap: 14px; }
  .home-audience { padding: 24px; }
  .home-section-heading { display: block; margin-bottom: 20px; }
  .home-page h2 { font-size: 25px; }
  .home-section-heading > p { margin-top: 12px; font-size: 15px; }
  .home-preview-dialog > header { padding-inline: 18px; }
  .home-preview-dialog > header { flex-wrap: wrap; gap: 12px; }
  .home-preview-tools { margin-left: auto; }
  .home-preview-dialog h2 { font-size: 20px; }
  .home-preview-image { padding: 16px; }
  .home-footer { padding: 24px 22px; }
}
@media (max-width: 360px) {
  body.landing-page .landing-header { padding-inline: 12px; }
  body.landing-page .landing-brand strong { font-size: 14px; }
  body.landing-page .landing-header .landing-login { display: none; }
  .home-hero-heading { padding: 12px; }
  .home-hero h1 { font-size: 26px; }
  .home-hero-copy { padding: 18px 16px; }
  .home-intro { font-size: 19px; }
  .home-eyebrow { font-size: 11px; }
  .home-button { font-size: 12px; padding-inline: 10px; }
}
/* Shared marketing navigation and the remaining light-theme company page. */
body .company-footer { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px 28px; width: 100%; max-width: 1280px; margin: 36px auto 0; padding: 22px 0 0; border-top: 1px solid #dce6ea; color: #526674; font: 400 14px/1.5 Arial,sans-serif; }
body .company-footer nav { display: flex; flex-wrap: wrap; gap: 8px 24px; }
body .company-footer a { display: inline-flex; align-items: center; min-height: 44px; color: #324c59; text-decoration: none; }
body .company-footer a:hover { color: #006c7a; text-decoration: underline; }
body .company-footer a:focus-visible, .about-page a:focus-visible { outline: 3px solid #087f8c; outline-offset: 3px; }
body .pricing-member-note { font: 400 14px/1.6 Arial,sans-serif; color: #526674; margin: 14px 0 20px; max-width: 780px; }
body .pricing-next { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; border-top: 1px solid #dce6ea; padding-top: 20px; margin-top: 24px; }
body .pricing-next p { color: #183442; font-size: 18px; font-weight: 700; }
.pricing-next nav { display: flex; flex-wrap: wrap; gap: 12px 24px; }
body .pricing-next a { display: inline-flex; align-items: center; min-height: 44px; color: #006c7a; font-size: 14px; font-weight: 600; }
body[data-landing-view="about"] { background: #fff; }
body[data-landing-view="about"] .landing-background { display: none; }
body.landing-fullscreen[data-landing-view="about"] .landing-fullscreen-main { padding: 0; height: calc(100dvh - 88px); }
body.landing-fullscreen .about-page.is-active { display: block; width: 100%; max-width: none; height: 100%; min-height: 0; margin: 0; padding: 36px max(48px, calc((100% - 1280px) / 2)); overflow: auto; color: #183442; background: #fff; font-family: Arial,sans-serif; }
.about-page *, .about-page *::before { box-sizing: border-box; letter-spacing: 0; }
body .about-page .route-copy { display: block; width: 100%; max-width: 760px; padding: 0; margin: 0 0 32px; }
body .about-page .section-kicker { color: #087888; font: 600 13px/1.5 Arial,sans-serif; margin: 0 0 8px; }
body.landing-fullscreen .about-page .route-copy h1 { font: 700 36px/1.2 Arial,sans-serif; color: #183442; margin: 0 0 14px; }
body.landing-fullscreen .about-page .route-copy p:not(.section-kicker) { font: 400 16px/1.7 Arial,sans-serif; color: #526674; margin: 0; max-width: 760px; }
body .about-page h2 { font: 700 23px/1.3 Arial,sans-serif; color: #183442; margin: 0 0 12px; }
body .about-page p { font: 400 16px/1.7 Arial,sans-serif; color: #526674; margin: 0 0 12px; max-width: 760px; }
body .about-page .route-card-shell { display: block; padding: 0; margin: 0; border: 0; border-radius: 0; background: none; box-shadow: none; backdrop-filter: none; }
.about-purpose { border-top: 1px solid #dce6ea; padding-top: 28px; }
body .about-page a { color: #006c7a; font: 600 14px/1.5 Arial,sans-serif; min-height: 44px; display: inline-flex; align-items: center; gap: 12px; overflow-wrap: anywhere; }
.about-preview { margin: 28px 0; }
.about-preview img { display: block; width: 100%; height: auto; border: 1px solid #dce6ea; border-radius: 6px; }
.about-preview figcaption { color: #526674; font-size: 12px; margin-top: 10px; }
.about-contact { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; border-top: 1px solid #dce6ea; padding-top: 28px; }
@media (max-width: 760px) {
  body.landing-fullscreen[data-landing-view="about"] .landing-fullscreen-main { height: auto; overflow: visible; }
  body.landing-fullscreen .about-page.is-active { padding: 24px 20px; height: auto; overflow: visible; }
  body.landing-fullscreen .about-page .route-copy h1 { font-size: 30px; }
  .about-contact { grid-template-columns: 1fr; gap: 24px; }
}
