/* Station Clipboard responsive layer
   Loaded after page-specific styles so mobile behavior is consistent site-wide. */

html {
  max-width: 100%;
  overflow-x: clip;
  scroll-padding-top: 88px;
}

body,
.wrapper {
  max-width: 100%;
  overflow-x: clip;
}

img,
svg,
video,
canvas {
  max-width: 100%;
}

.row > [class*="col-"] {
  min-width: 0;
}

@media (max-width: 1199.98px) {
  .navbar .nav__item {
    margin-right: 18px;
  }

  .footer .footer-form {
    flex-wrap: wrap;
    gap: 12px;
  }

  .footer .footer-form .form-control {
    min-width: 0;
    margin-right: 0 !important;
  }
}

@media (max-width: 991.98px) {
  html {
    scroll-padding-top: 76px;
  }

  body {
    font-size: 16px;
    line-height: 1.65;
  }

  .header,
  .header.solution-header {
    height: 76px;
  }

  .header .navbar,
  .header .navbar > .container,
  .header .navbar > .container-fluid,
  .header-transparent .navbar,
  .header-transparent .navbar > .container,
  .header-transparent .navbar > .container-fluid {
    height: 76px;
    min-height: 76px;
    max-height: 76px;
  }

  .header .navbar-brand,
  .header-transparent .navbar-brand {
    margin-left: 0;
    line-height: 76px !important;
  }

  .navbar .navbar-brand img {
    height: 38px;
    max-width: 175px;
  }

  .navbar .navbar-toggler {
    right: 22px;
    width: 30px;
    height: 24px;
  }

  .navbar .navbar-toggler .menu-lines:before,
  .navbar .navbar-toggler .menu-lines:after,
  .navbar .navbar-toggler .menu-lines span {
    width: 26px;
    height: 2px;
  }

  .navbar .navbar-toggler .menu-lines span {
    top: 7px;
  }

  .navbar .navbar-toggler .menu-lines:after {
    top: 14px;
  }

  .navbar .navbar-collapse {
    width: 100vw;
    height: 100vh;
    height: 100dvh;
    background: rgba(4, 14, 33, 0.98);
  }

  .navbar .navbar-collapse .navbar-nav {
    max-height: calc(100dvh - 205px);
    padding: 78px 24px 18px;
    overscroll-behavior: contain;
  }

  .navbar .navbar-collapse .nav__item .nav__item-link {
    font-size: 19px;
    line-height: 56px !important;
  }

  .navbar .navbar-collapse .dropdown-menu .nav__item .nav__item-link {
    font-size: 15px;
    line-height: 40px !important;
  }

  .navbar .close-mobile-menu {
    top: 21px;
    right: 22px;
    width: 38px;
    height: 38px;
    line-height: 36px;
  }

  .sc-mobile-logo {
    position: absolute;
    top: 20px;
    left: 24px;
    padding: 0;
  }

  .sc-mobile-logo img {
    height: 38px;
  }

  .sc-mobile-menu-footer {
    padding: 14px 24px max(28px, env(safe-area-inset-bottom));
  }

  .sc-mobile-menu-footer .btn {
    width: 100%;
  }

  .sc-mobile-menu-contact {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
    margin-top: 16px;
  }

  .home-hero,
  .solution-hero,
  .about-hero,
  .download-hero,
  .contact-hero {
    min-height: 0 !important;
    padding-top: 122px !important;
    padding-bottom: 68px !important;
  }

  .contact-hero {
    padding-bottom: 58px !important;
  }

  .home-hero h1,
  .solution-hero h1,
  .about-hero h1,
  .download-hero h1,
  .contact-hero h1 {
    max-width: 760px;
    font-size: clamp(2.35rem, 6.6vw, 3rem) !important;
    line-height: 1.08 !important;
    letter-spacing: -0.03em !important;
    text-wrap: balance;
  }

  .home-hero .lead,
  .solution-hero .lead,
  .about-hero .lead,
  .download-hero .lead,
  .contact-hero .lead {
    max-width: 700px;
    font-size: 17px !important;
    line-height: 1.65 !important;
  }

  .solution-eyebrow {
    font-size: 12px !important;
    letter-spacing: 0.09em !important;
  }

  .home-hero:before,
  .home-hero:after,
  .solution-hero:before,
  .solution-hero:after,
  .about-hero:before,
  .download-hero:before,
  .download-hero:after,
  .contact-hero:before {
    opacity: 0.5;
    transform: scale(0.72);
  }

  .hero-visual,
  .solution-hero__art,
  .about-hero__image {
    margin-top: 38px !important;
    padding: 9px !important;
    border-radius: 20px !important;
    transform: none !important;
  }

  .hero-chip,
  .solution-hero__badge,
  .about-quote {
    position: static !important;
    width: 100%;
    max-width: none !important;
    margin-top: 10px !important;
    border-radius: 13px !important;
  }

  .home-proof,
  .solution-proof,
  .about-proof,
  .download-proof {
    margin-top: 0 !important;
    padding: 18px 0 0 !important;
  }

  .home-proof__inner,
  .solution-proof__inner,
  .about-proof__inner,
  .download-proof__inner {
    padding: 14px 22px !important;
    border: 1px solid #e3edf4;
    border-radius: 16px !important;
    box-shadow: 0 10px 30px rgba(16, 50, 84, 0.08) !important;
  }

  .proof-item,
  .solution-proof__item {
    min-height: 54px;
    margin: 0 !important;
    padding: 8px 0;
    border-bottom: 1px solid #e7eef4;
  }

  .home-proof .row > div:last-child .proof-item,
  .solution-proof .row > div:last-child .solution-proof__item,
  .about-proof .row > div:last-child .proof-item,
  .download-proof .row > div:last-child .proof-item {
    border-bottom: 0;
  }

  .home-section,
  .solution-feature,
  .platform-band,
  .solution-intro,
  .solution-section,
  .lifecycle,
  .about-section,
  .download-section {
    padding-top: 72px !important;
    padding-bottom: 72px !important;
  }

  .home-section h2,
  .solution-feature h2,
  .platform-band h2,
  .solution-intro h2,
  .solution-section h2,
  .lifecycle h2,
  .about-section h2,
  .download-section h2 {
    font-size: clamp(2rem, 5.2vw, 2.7rem) !important;
    line-height: 1.15 !important;
    text-wrap: balance;
  }

  .home-cta,
  .solution-cta,
  .about-cta,
  .download-cta {
    padding: 76px 0 !important;
  }

  .home-cta h2,
  .solution-cta h2,
  .about-cta h2,
  .download-cta h2 {
    font-size: clamp(2rem, 5.4vw, 2.8rem) !important;
    line-height: 1.14 !important;
    text-wrap: balance;
  }

  .feature-visual,
  .solution-visual {
    min-height: 0 !important;
    margin-top: 32px !important;
    padding: 10px !important;
    border-radius: 18px !important;
  }

  .feature-visual img,
  .solution-visual img {
    width: 100%;
    max-height: none !important;
    border-radius: 11px !important;
  }

  .pain-grid,
  .lifecycle-grid,
  .steps {
    margin-top: 30px !important;
  }

  .pain-card,
  .value-card,
  .lifecycle-card,
  .platform-card {
    padding: 25px !important;
    border-radius: 17px !important;
  }

  .lifecycle-card:after {
    display: none !important;
  }

  .story-card,
  .access-panel,
  .solution-mobile,
  .download-panel {
    padding: 36px 28px !important;
    border-radius: 21px !important;
  }

  .access-grid,
  .facts-grid {
    grid-template-columns: 1fr 1fr !important;
  }

  .module-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  .module-card {
    min-height: 105px !important;
    padding: 15px 10px;
  }

  .step {
    margin-bottom: 28px !important;
  }

  .page-title {
    min-height: 0;
    padding-top: 128px !important;
    padding-bottom: 64px !important;
  }

  .pagetitle__heading {
    font-size: clamp(2.25rem, 6vw, 3rem) !important;
    line-height: 1.1 !important;
  }

  .pagetitle__desc {
    font-size: 17px !important;
    line-height: 1.6 !important;
  }

  .features-layout3,
  .faq,
  .banner-layout1,
  .sc-modules-grid {
    padding-top: 72px !important;
    padding-bottom: 72px !important;
  }

  .contact-layout1 {
    margin-top: 0 !important;
    padding: 22px 0 64px !important;
  }

  .contact-panel {
    display: flex;
    padding: 0 !important;
    overflow: hidden;
    border-radius: 20px !important;
  }

  [class*="contact-layout"] .contact-panel__form {
    order: 1;
    max-width: 100%;
    padding: 34px 28px !important;
  }

  [class*="contact-layout"] .contact-panel__info {
    order: 2;
    max-width: 100%;
    margin: 0 !important;
    padding: 34px 28px !important;
    border-radius: 0 !important;
  }

  .contact-info {
    padding-bottom: 54px !important;
  }

  .contact-promise {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px !important;
  }

  .contact-promise span {
    display: flex;
    min-height: 54px;
    align-items: center;
    justify-content: center;
    padding: 10px 12px !important;
    text-align: center;
    line-height: 1.35;
  }

  .form-control,
  .modules-dropdown__toggle {
    min-height: 48px;
    font-size: 16px !important;
  }

  textarea.form-control {
    min-height: 130px !important;
  }

  .modules-dropdown__panel {
    position: static;
    margin-top: 8px;
    box-shadow: none;
  }

  .sc-gate-card {
    padding: 18px;
  }

  .store-button {
    justify-content: center;
  }

  .phone-stage {
    margin-top: 42px !important;
  }

  .footer .footer-top {
    padding-top: 44px !important;
  }

  .footer .footer-top .row {
    text-align: center;
  }

  .footer .footer-top img {
    margin-left: auto;
    margin-right: auto;
  }

  .footer .footer-top__title {
    margin-bottom: 20px;
  }

  .footer .footer-form {
    display: grid !important;
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .footer .footer-form .form-control,
  .footer .footer-form .btn {
    width: 100%;
    margin: 0 !important;
  }

  .footer .footer-primary {
    padding-top: 48px;
    padding-bottom: 20px;
  }
}

@media (max-width: 767.98px) {
  .container {
    width: 100%;
    padding-left: 20px;
    padding-right: 20px;
  }

  .row {
    margin-left: -8px;
    margin-right: -8px;
  }

  .row > [class*="col-"] {
    padding-left: 8px;
    padding-right: 8px;
  }

  .home-hero,
  .solution-hero,
  .about-hero,
  .download-hero,
  .contact-hero {
    padding-top: 110px !important;
    padding-bottom: 54px !important;
  }

  .home-hero h1,
  .solution-hero h1,
  .about-hero h1,
  .download-hero h1,
  .contact-hero h1 {
    font-size: clamp(2.05rem, 9.4vw, 2.65rem) !important;
  }

  .home-hero .lead,
  .solution-hero .lead,
  .about-hero .lead,
  .download-hero .lead,
  .contact-hero .lead {
    font-size: 16px !important;
  }

  .home-hero .d-flex,
  .solution-hero .d-flex,
  .home-cta .d-flex,
  .solution-cta .d-flex,
  .download-cta .d-flex {
    display: grid !important;
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .home-hero .btn,
  .solution-hero .btn,
  .home-cta .btn,
  .solution-cta .btn,
  .about-cta .btn,
  .download-cta .btn,
  .store-button {
    width: 100%;
    min-width: 0;
    margin: 0 !important;
  }

  .solution-eyebrow {
    align-items: flex-start;
    line-height: 1.45;
  }

  .solution-eyebrow:before {
    flex: 0 0 22px;
    width: 22px !important;
    margin-top: 8px;
  }

  .home-section,
  .solution-feature,
  .platform-band,
  .solution-intro,
  .solution-section,
  .lifecycle,
  .about-section,
  .download-section {
    padding-top: 58px !important;
    padding-bottom: 58px !important;
  }

  .home-section h2,
  .solution-feature h2,
  .platform-band h2,
  .solution-intro h2,
  .solution-section h2,
  .lifecycle h2,
  .about-section h2,
  .download-section h2,
  .home-cta h2,
  .solution-cta h2,
  .about-cta h2,
  .download-cta h2 {
    font-size: clamp(1.85rem, 8vw, 2.25rem) !important;
  }

  .home-section p,
  .solution-feature p,
  .solution-intro p,
  .solution-section p,
  .about-section p,
  .download-section p {
    font-size: 16px !important;
    line-height: 1.68 !important;
  }

  .home-cta,
  .solution-cta,
  .about-cta,
  .download-cta {
    padding: 62px 0 !important;
  }

  .home-cta p,
  .solution-cta p,
  .about-cta p,
  .download-cta p {
    font-size: 16px !important;
    line-height: 1.65;
  }

  .pain-card,
  .value-card,
  .lifecycle-card,
  .platform-card {
    height: auto !important;
    padding: 22px !important;
  }

  .story-card,
  .access-panel,
  .solution-mobile,
  .download-panel {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding: 28px 22px !important;
    border-radius: 18px !important;
  }

  .access-grid,
  .facts-grid {
    grid-template-columns: 1fr !important;
  }

  .access-chip {
    padding: 13px !important;
  }

  .security-note {
    padding: 16px !important;
  }

  .module-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    margin-top: 28px !important;
  }

  .module-card {
    min-height: 92px !important;
    padding: 12px 8px;
    font-size: 13px !important;
  }

  .module-cloud {
    justify-content: flex-start !important;
    gap: 8px !important;
  }

  .module-cloud span {
    padding: 9px 12px !important;
    font-size: 12px !important;
  }

  .step {
    min-height: 50px;
    padding-left: 64px !important;
  }

  .step:before {
    width: 46px !important;
    height: 46px !important;
  }

  .phone-stage {
    min-height: 405px !important;
  }

  .phone {
    width: 230px !important;
    padding: 10px !important;
    border-width: 6px !important;
    border-radius: 38px !important;
  }

  .phone-screen {
    min-height: 365px !important;
    padding: 48px 14px 18px !important;
    border-radius: 26px !important;
  }

  .phone-logo {
    width: 56px !important;
    height: 56px !important;
    font-size: 24px !important;
  }

  .download-float {
    top: 62px !important;
    right: 2px !important;
    padding: 11px 12px !important;
    font-size: 11px !important;
  }

  .contact-promise {
    grid-template-columns: 1fr !important;
    max-width: 360px;
    margin-left: auto;
    margin-right: auto;
  }

  .contact-promise span {
    justify-content: flex-start;
    min-height: 46px;
    padding: 9px 14px !important;
    text-align: left;
  }

  .contact-panel {
    border-radius: 16px !important;
    box-shadow: 0 12px 34px rgba(13, 49, 83, 0.1) !important;
  }

  [class*="contact-layout"] .contact-panel__form,
  [class*="contact-layout"] .contact-panel__info {
    padding: 28px 20px !important;
  }

  .contact-panel__title {
    font-size: 26px !important;
  }

  .sc-gate-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .sc-gate-btn {
    width: 100%;
    min-width: 0;
  }

  .accordion-item {
    padding: 16px !important;
  }

  .accordion-item .accordion__title {
    font-size: 16px !important;
    line-height: 1.5;
  }

  .cta-banner {
    display: grid !important;
    grid-template-columns: 1fr;
    gap: 18px;
    padding: 24px !important;
  }

  .cta-banner .btn {
    width: 100%;
  }

  table {
    display: block;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .footer {
    text-align: center;
  }

  .footer .footer-widget {
    margin-bottom: 34px;
  }

  .footer .footer-widget__title {
    margin-bottom: 14px;
  }

  .footer .contact-list,
  .footer .social-icons {
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .footer .footer-widget-nav li a {
    padding: 3px 0;
  }
}

@media (max-width: 420px) {
  .container {
    padding-left: 17px;
    padding-right: 17px;
  }

  .home-hero h1,
  .solution-hero h1,
  .about-hero h1,
  .download-hero h1,
  .contact-hero h1 {
    font-size: clamp(1.95rem, 9.7vw, 2.35rem) !important;
  }

  .module-grid {
    grid-template-columns: 1fr 1fr !important;
  }

  .hero-chip,
  .solution-hero__badge,
  .about-quote {
    padding: 13px !important;
    font-size: 13px;
  }

  .home-proof__inner,
  .solution-proof__inner,
  .about-proof__inner,
  .download-proof__inner {
    padding-left: 17px !important;
    padding-right: 17px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *:before,
  *:after {
    scroll-behavior: auto !important;
    -webkit-animation-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    -webkit-animation-iteration-count: 1 !important;
    animation-iteration-count: 1 !important;
    -webkit-transition-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
}


/* About mobile image polish */
@media (max-width: 767.98px) {
  .about-hero__image img {
    height: 240px !important;
    min-height: 0 !important;
    object-fit: cover;
  }
}


/* Responsive error page */
@media (max-width: 767.98px) {
  .page-404 .vh-100 {
    height: auto !important;
    min-height: 100svh;
    padding: 120px 0 56px;
  }

  .page-404 .error-code {
    font-size: clamp(5rem, 28vw, 7rem) !important;
  }

  .page-404 .error-title {
    font-size: clamp(1.75rem, 8vw, 2.25rem) !important;
    line-height: 1.12;
  }

  .page-404 .error-desc {
    padding: 0 8px;
  }
}


/* Mobile-first curation */
.sc-mobile-actionbar,
.sc-mobile-scroll-progress,
.sc-mobile-rail-note,
.sc-mobile-legal-nav {
  display: none;
}

@media (max-width: 767.98px) {
  html {
    scroll-padding-top: 92px;
  }

  body.sc-mobile-curated {
    padding-bottom: calc(76px + env(safe-area-inset-bottom));
  }

  .sc-mobile-scroll-progress {
    position: fixed;
    z-index: 10002;
    top: 0;
    left: 0;
    display: block;
    width: 0;
    height: 3px;
    background: linear-gradient(90deg, #00b7ff, #0376e3);
    pointer-events: none;
  }

  .sc-mobile-actionbar {
    position: fixed;
    z-index: 10001;
    right: 0;
    bottom: 0;
    left: 0;
    display: grid;
    grid-template-columns: 52px 1fr;
    gap: 10px;
    padding: 10px max(14px, env(safe-area-inset-right))
      calc(10px + env(safe-area-inset-bottom))
      max(14px, env(safe-area-inset-left));
    border-top: 1px solid rgba(118, 147, 174, 0.28);
    background: rgba(7, 30, 55, 0.96);
    box-shadow: 0 -12px 30px rgba(7, 30, 55, 0.18);
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
  }

  .sc-mobile-actionbar__home,
  .sc-mobile-actionbar__primary {
    display: inline-flex;
    min-height: 52px;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    font-weight: 700;
    text-decoration: none;
  }

  .sc-mobile-actionbar__home {
    border: 1px solid rgba(255, 255, 255, 0.2);
    color: #fff;
    font-size: 18px;
  }

  .sc-mobile-actionbar__primary {
    gap: 10px;
    padding: 0 18px;
    background: #0797f6;
    color: #fff;
    font-size: 15px;
    box-shadow: 0 8px 22px rgba(0, 146, 255, 0.28);
  }

  .sc-mobile-actionbar__primary:hover,
  .sc-mobile-actionbar__home:hover {
    color: #fff;
  }

  /* The first screen is editorially compact: one promise and one action. */
  .home-hero,
  .solution-hero,
  .about-hero,
  .download-hero,
  .contact-hero {
    text-align: left !important;
  }

  .home-hero .lead,
  .solution-hero .lead,
  .about-hero .lead,
  .download-hero .lead,
  .contact-hero .lead {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
  }

  .home-hero .d-flex > .btn:nth-child(n + 2),
  .solution-hero .d-flex > .btn:nth-child(n + 2) {
    width: auto !important;
    min-height: 42px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #d9edff !important;
    text-decoration: underline;
    text-underline-offset: 5px;
  }

  .hero-visual,
  .solution-hero__art,
  .about-hero__image,
  .phone-stage {
    margin-top: 28px !important;
  }

  .hero-chip,
  .solution-hero__badge,
  .about-quote,
  .download-float {
    position: relative !important;
    inset: auto !important;
    width: 100%;
    margin-top: 10px !important;
    transform: none !important;
  }

  /* Proof points become a one-line, thumb-scrollable summary. */
  .home-proof,
  .solution-proof,
  .about-proof,
  .download-proof {
    overflow: hidden;
  }

  .home-proof__inner,
  .solution-proof__inner,
  .about-proof__inner,
  .download-proof__inner {
    margin-right: -20px !important;
    padding: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .sc-mobile-proof-rail {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 10px;
    overflow-x: auto;
    margin: 0 !important;
    padding: 14px 20px 20px 0;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }

  .sc-mobile-proof-rail::-webkit-scrollbar,
  .sc-mobile-rail::-webkit-scrollbar,
  .sc-mobile-direct-rail::-webkit-scrollbar,
  .sc-mobile-media::-webkit-scrollbar,
  .sc-mobile-legal-nav::-webkit-scrollbar {
    display: none;
  }

  .sc-mobile-proof-rail > [class*="col-"] {
    flex: 0 0 auto;
    width: auto;
    max-width: none;
    padding: 0;
    scroll-snap-align: start;
  }

  .sc-mobile-proof-rail .proof-item,
  .sc-mobile-proof-rail .solution-proof__item {
    min-height: 52px;
    margin: 0 !important;
    padding: 8px 16px !important;
    border: 1px solid #dbe8f1;
    border-radius: 999px;
    background: #fff;
    color: #0a3154;
    white-space: nowrap;
    box-shadow: 0 8px 22px rgba(15, 54, 86, 0.07);
  }

  .sc-mobile-proof-rail i {
    width: 30px !important;
    height: 30px !important;
    flex: 0 0 30px;
  }

  /* Dense desktop grids become swipeable stories instead of long card stacks. */
  .sc-mobile-rail-note {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 18px 0 12px;
    color: #53708a;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }

  .sc-mobile-rail-note:after {
    content: "Swipe →";
    color: #008ff0;
  }

  .sc-mobile-rail {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 14px;
    overflow-x: auto;
    margin-right: -20px !important;
    margin-left: 0 !important;
    padding: 0 20px 16px 0;
    scroll-padding-left: 0;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }

  .sc-mobile-rail > [class*="col-"] {
    flex: 0 0 min(82vw, 330px) !important;
    width: min(82vw, 330px) !important;
    max-width: min(82vw, 330px) !important;
    margin: 0 !important;
    padding: 0 !important;
    scroll-snap-align: start;
  }

  .sc-mobile-rail .pain-card,
  .sc-mobile-rail .lifecycle-card,
  .sc-mobile-rail .value-card,
  .sc-mobile-rail .feature-item,
  .sc-mobile-rail .contact-info-box,
  .sc-mobile-rail .step,
  .sc-mobile-rail .sc-module-grid-card {
    min-height: 100%;
    margin: 0 !important;
  }

  .features-layout3 .sc-mobile-rail .feature-item {
    padding: 22px !important;
    border: 1px solid #dce8f1;
    border-top: 4px solid #0092ff;
    border-left-width: 1px;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 8px 22px rgba(10, 49, 84, 0.06);
  }

  .module-grid.sc-mobile-direct-rail,
  .module-cloud.sc-mobile-direct-rail {
    display: flex !important;
    grid-template-columns: none !important;
    gap: 10px !important;
    overflow-x: auto;
    margin-right: -20px;
    padding: 4px 20px 14px 0;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }

  .module-grid.sc-mobile-direct-rail > *,
  .module-cloud.sc-mobile-direct-rail > * {
    flex: 0 0 auto;
    min-width: 142px;
    scroll-snap-align: start;
  }

  /* Desktop product screenshots keep readable scale and become pannable. */
  .sc-mobile-media {
    position: relative;
    display: block !important;
    min-height: 0 !important;
    overflow-x: auto !important;
    overflow-y: hidden;
    padding: 10px !important;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }

  .sc-mobile-media.sc-mobile-panorama img {
    width: 680px !important;
    max-width: none !important;
    height: auto !important;
    max-height: none !important;
    object-fit: contain !important;
    object-position: left top;
    scroll-snap-align: start;
  }

  .sc-mobile-media:after {
    content: "Swipe screenshot";
    position: sticky;
    right: 8px;
    bottom: 8px;
    float: right;
    padding: 6px 10px;
    border-radius: 999px;
    background: rgba(7, 30, 55, 0.88);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.03em;
    pointer-events: none;
  }

  /* Module and product pages prioritize the promise over breadcrumb chrome. */
  .page-title .breadcrumb {
    justify-content: flex-start;
    overflow-x: auto;
    white-space: nowrap;
    scrollbar-width: none;
  }

  .page-title .breadcrumb-item:not(:first-child):not(:last-child) {
    display: none;
  }

  .page-title {
    text-align: left !important;
  }

  .page-title .btn {
    width: 100%;
  }

  .secondary-nav-internal-navigation .navbar-nav,
  .secondary-nav .navbar-nav {
    flex-wrap: nowrap !important;
    overflow-x: auto;
    scrollbar-width: none;
  }

  .secondary-nav .nav__item {
    flex: 0 0 auto;
  }

  /* Contact begins with the task, then supporting information. */
  .contact-layout1 .contact-panel {
    border-radius: 18px !important;
  }

  .contact-layout1 .form-group {
    margin-bottom: 14px;
  }

  .contact-layout1 textarea.form-control {
    min-height: 120px;
  }

  .contact-layout1 button[type="submit"] {
    position: sticky;
    bottom: 88px;
    z-index: 4;
    width: 100%;
    box-shadow: 0 10px 30px rgba(0, 146, 255, 0.26);
  }

  /* Legal copy gets a scannable, sticky table of contents on phones. */
  .sc-mobile-legal-nav {
    position: sticky;
    z-index: 8;
    top: 76px;
    display: flex;
    gap: 8px;
    overflow-x: auto;
    margin: 0 -20px 28px;
    padding: 10px 20px;
    border-top: 1px solid #e4ebf1;
    border-bottom: 1px solid #e4ebf1;
    background: rgba(255, 255, 255, 0.96);
    scrollbar-width: none;
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
  }

  .sc-mobile-legal-nav a {
    flex: 0 0 auto;
    padding: 9px 13px;
    border: 1px solid #d9e5ee;
    border-radius: 999px;
    background: #f7fafc;
    color: #173f62;
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
  }

  .content-box {
    padding: 22px 18px !important;
    border-radius: 14px !important;
  }

  .content-box h4 {
    scroll-margin-top: 140px;
  }

  .footer {
    padding-bottom: 24px;
  }

  #scrollTopBtn {
    bottom: 86px !important;
  }
}


/* Contact mobile promise rail */
@media (max-width: 767.98px) {
  .contact-promise {
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    overflow-x: auto;
    margin-right: -20px;
    padding: 4px 20px 10px 0;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }

  .contact-promise::-webkit-scrollbar {
    display: none;
  }

  .contact-promise span {
    flex: 0 0 auto;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    padding: 9px 14px !important;
    scroll-snap-align: start;
    white-space: nowrap;
  }
}


/* Curated mobile first screen */
@media (max-width: 767.98px) {
  .home-hero .lead,
  .solution-hero .lead,
  .download-hero .lead {
    -webkit-line-clamp: 3;
  }

  .home-hero .hero-visual {
    max-height: 220px;
    overflow: hidden;
  }

  .home-hero .hero-visual img {
    min-height: 0 !important;
    height: 190px !important;
    object-fit: cover;
    object-position: left top;
  }

  .solution-hero__art {
    max-height: 225px;
    overflow: hidden;
  }

  .solution-hero__art > img {
    width: 100%;
    max-height: 205px;
    object-fit: contain;
  }

  .download-hero .phone-stage {
    height: 275px !important;
    min-height: 0 !important;
    overflow: hidden;
  }

  .download-hero .phone {
    transform: scale(0.72) !important;
    transform-origin: top center !important;
  }

  .download-hero .download-float {
    position: absolute !important;
    right: 8px !important;
    bottom: 12px !important;
    left: 8px !important;
    width: auto;
    margin: 0 !important;
  }
}


/* Remove duplicated phone hero media */
@media (max-width: 767.98px) {
  .home-hero .hero-visual,
  .solution-hero .solution-hero__art {
    display: none !important;
  }

  .home-hero,
  .solution-hero {
    padding-bottom: 44px !important;
  }
}
