/* On the Move landing page: deliberately scoped to this product page. */
.otm-page { --otm-navy: #102e43; --otm-teal: #007d89; }
.otm-page h1, .otm-page h2, .otm-page h3 { color: var(--otm-navy); }
.otm-page p, .otm-page li { line-height: 1.75; }
.otm-wrap { width: min(1240px, 100%); margin-inline: auto; padding: 76px 36px; }
.otm-page .eyebrow { color: #176b85; font-size: 12px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.otm-hero { background: radial-gradient(ellipse at 82% 30%, #d5f1f4, transparent 55%), #f2f9fd; border-bottom: 1px solid #d8e8f1; }
.otm-hero .otm-wrap { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(270px, .75fr); align-items: center; gap: 72px; padding-block: 64px; }
.otm-hero h1 { max-width: 740px; margin: 16px 0 22px; font-size: clamp(38px, 4.4vw, 63px); line-height: 1.08; letter-spacing: -.035em; }
.otm-lead { color: #365669; font-size: 19px; max-width: 660px; }
.otm-hero .otm-actions { margin-block: 28px 20px; }
.otm-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }
.otm-secondary { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 12px 22px; border: 1px solid #b2cedd; border-radius: 8px; background: #fff; color: #173f8f; font-weight: 750; }
.otm-small { color: #536d7d; font-size: 13px; }
.otm-hero-shot { margin: 0; padding: 28px; border-radius: 30px; background: linear-gradient(145deg, #d9edf5, #e8f7f7); }
.otm-hero-shot .kf-device[data-kf-device].kf-device--phone { max-width: 250px; }
.otm-page figcaption { margin-top: 18px; text-align: center; font-size: 13px; line-height: 1.6; color: #526c7c; }
.otm-outcomes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; padding-block: 30px; }
.otm-outcomes article { padding-left: 18px; border-left: 3px solid #14a5b7; }
.otm-outcomes strong { display: block; font-size: 17px; color: #102e43; }
.otm-outcomes p { font-size: 14px; color: #526c7c; margin: 6px 0 0; }
.otm-jump { border-block: 1px solid #dae8ef; background: #fff; }
.otm-jump .otm-wrap { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 24px; padding-block: 17px; }
.otm-jump a { padding-block: 5px; font-size: 13px; font-weight: 750; color: #214b68; }
.otm-page a:not(.primary-button):hover { text-decoration: underline; text-underline-offset: 4px; }
.otm-page a:focus-visible { outline: 3px solid #1686bc; outline-offset: 4px; }
.otm-page section[id] { scroll-margin-top: 120px; }
.otm-heading { max-width: 780px; margin-bottom: 34px; }
.otm-heading h2, .otm-copy h2 { margin: 10px 0 18px; font-size: clamp(28px, 3vw, 40px); line-height: 1.18; letter-spacing: -.025em; }
.otm-heading > p:last-child, .otm-copy > p { color: #4d6878; font-size: 17px; }
.otm-tint { background: #f4f9fc; border-block: 1px solid #e1edf3; }
.otm-dark { background: #102e43; color: #dbeaf1; }
.otm-dark h2, .otm-dark h3, .otm-dark strong { color: #fff; }
.otm-dark .eyebrow { color: #85d7e3; }
.otm-dark .otm-heading > p:last-child, .otm-dark p { color: #cbdee9; }
.otm-split { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(240px, .75fr); gap: 72px; align-items: center; }
.otm-split > *, .otm-grid > *, .otm-workflow > * { min-width: 0; }
.otm-shot { margin: 0; padding: 24px; background: #eaf3f8; border-radius: 20px; }
.otm-shot .kf-device[data-kf-device].kf-device--phone { max-width: 260px; }
.otm-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.otm-grid--two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.otm-card { padding: 26px; border: 1px solid #cfdfeb; border-radius: 14px; background: #fff; }
.otm-card h3 { margin: 10px 0; font-size: 20px; line-height: 1.3; }
.otm-card p { margin-bottom: 0; color: #506b7c; font-size: 15px; }
.otm-card .otm-label { color: #0b7887; font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .09em; }
.otm-checklist { padding-left: 22px; color: #3c5e72; }
.otm-checklist li { margin-block: 10px; padding-left: 3px; }
.otm-checklist li::marker { color: #00818c; }
.otm-workflow { list-style: none; padding: 0; margin: 36px 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; }
.otm-workflow li { padding: 0 24px; border-left: 1px solid #3a5c70; }
.otm-workflow li:first-child { padding-left: 0; border-left: 0; }
.otm-workflow span { display: block; margin-bottom: 18px; color: #89dbe3; font-size: 13px; font-weight: 800; letter-spacing: .1em; }
.otm-workflow h3 { font-size: 19px; line-height: 1.3; margin: 0 0 12px; }
.otm-workflow p { font-size: 14px; margin: 0; }
.otm-dark .otm-grid { margin-top: 36px; }
.otm-dark .otm-card { background: #193c51; border-color: #365a70; }
.otm-dark .otm-card p { color: #cbdee9; }
.otm-note { margin: 28px 0 0; padding: 18px 22px; border-left: 3px solid #13a2b3; background: #eaf5f8; color: #365669; font-size: 14px; }
.otm-dark .otm-note { color: #dbeaf1; background: #193c51; }
.otm-photos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; align-items: start; margin-top: 36px; }
.otm-photos .otm-shot { height: 100%; }
.otm-photos h3 { margin: 0 0 18px; font-size: 18px; text-align: center; }
.otm-comparison { margin-top: 24px; }
.otm-comparison .otm-card:last-child { background: #edf8fa; border-color: #9fcfd5; }
.otm-faq { max-width: 900px; }
.otm-faq details { border-top: 1px solid #cbdde7; padding: 20px 0; }
.otm-faq details:last-child { border-bottom: 1px solid #cbdde7; }
.otm-faq summary { cursor: pointer; color: #153b56; font-size: 18px; font-weight: 750; line-height: 1.4; }
.otm-faq details p { color: #496677; padding-right: 24px; }
.otm-faq a, .otm-inline-link { color: #174e91; text-decoration: underline; text-underline-offset: 3px; font-weight: 650; }
.otm-final { background: linear-gradient(110deg, #e5f4fa, #eef9f4); }
.otm-final .otm-wrap { display: flex; justify-content: space-between; align-items: center; gap: 36px; }
.otm-final h2 { font-size: clamp(28px, 3vw, 39px); line-height: 1.2; max-width: 710px; margin: 0 0 12px; }
.otm-final p { color: #476879; max-width: 650px; margin: 0; }
.otm-final .otm-actions { flex-shrink: 0; flex-direction: column; align-items: stretch; }
.otm-related a { display: block; padding: 22px; border: 1px solid #d3e4ed; border-radius: 12px; }
.otm-related strong { display: block; margin-bottom: 8px; font-size: 17px; }
.otm-related span { font-size: 14px; line-height: 1.6; color: #577180; }
@media (max-width: 960px) {
 .otm-hero .otm-wrap, .otm-split { gap: 32px; }
 .otm-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
 .otm-workflow { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 0; }
 .otm-workflow li:nth-child(3) { padding-left: 0; border-left: 0; }
 .otm-final .otm-wrap { align-items: flex-start; flex-direction: column; }
 .otm-final .otm-actions { flex-direction: row; flex-wrap: wrap; }
}
@media (max-width: 680px) {
 .otm-wrap { padding: 48px 22px; }
 .otm-hero .otm-wrap, .otm-split { grid-template-columns: 1fr; }
 .otm-hero .otm-wrap { padding-block: 40px; gap: 34px; }
 .otm-hero h1 { font-size: clamp(34px, 9vw, 46px); }
 .otm-lead { font-size: 17px; }
 .otm-hero-shot { width: min(100%, 340px); justify-self: center; }
 .otm-outcomes { grid-template-columns: 1fr; padding-block: 28px; }
 .otm-jump .otm-wrap { justify-content: flex-start; gap: 4px 20px; }
 .otm-grid, .otm-grid--two, .otm-photos { grid-template-columns: 1fr; }
 .otm-workflow { grid-template-columns: 1fr; gap: 24px; }
 .otm-workflow li, .otm-workflow li:first-child, .otm-workflow li:nth-child(3) { padding: 0 0 0 20px; border-left: 2px solid #367184; }
 .otm-workflow span { margin-bottom: 8px; }
 .otm-shot { width: min(100%, 360px); justify-self: center; }
 .otm-card { padding: 22px; }
 .otm-final .otm-actions { width: 100%; }
 .otm-final .otm-actions a { width: 100%; }
}
