/* Approved mobile design. Desktop content, geometry and motion stay unchanged. */
@media (max-width: 767px) {
    /* Expand navigation in the header flow instead of covering the hero. */
    .fuseos.homepage .header-inner { padding-block: 12px; }
    .fuseos.homepage.has-js #site-navigation { position: static; inset: auto; width: 100%; padding: 10px 0 4px; gap: 8px; grid-template-columns: repeat(3,minmax(0,1fr)); border-top: 1px solid #263956; margin-top: 12px; background: transparent; }
    .fuseos.homepage.has-js #site-navigation.is-open { display: grid; }
    .fuseos.homepage #site-navigation > a { display: flex; align-items: center; justify-content: center; min-height: 44px; font-size: 13px; text-align: center; }
    .fuseos.homepage #site-navigation .actions { grid-column: 1 / -1; display: flex; gap: 8px; }
    .fuseos.homepage #site-navigation .actions .button { flex: 1; padding-inline: 8px; font-size: 12px; }
    .fuseos.homepage .section { padding-block: 44px; }
    .fuseos.homepage .section h2 { font-size: clamp(30px,8.9vw,36px); font-weight: 400; line-height: 1.12; }
    .fuseos.homepage .section h2 > span { font-weight: 700; }
    .fuseos.homepage .section.capabilities { padding-bottom: 24px; }
    .fuseos.homepage .section.product-suite { padding-top: 24px; }
    .fuseos.homepage .problem-layout .problem-grid { grid-template-columns: 1fr; gap: 18px; counter-reset: mobile-problem; }
    .fuseos.homepage .problem-card { padding: 24px; background: #ffffffde; border-radius: 18px; counter-increment: mobile-problem; }
    .fuseos.homepage .problem-icon { display: none; }
    .fuseos.homepage .problem-card:before { content: counter(mobile-problem, decimal-leading-zero); display: grid; place-items: center; width: 46px; height: 46px; border-radius: 50%; background: #edf2ff; color: var(--blue); margin-bottom: 20px; }
    .fuseos.homepage .problem-card h3 { font-size: 16px; text-transform: none; line-height: 1.4; }
    .fuseos.homepage .problem-card p { font-size: 16px; line-height: 1.6; }
    .fuseos.homepage .integration-grid { gap: 32px; }
    .fuseos.homepage .integration .section-description { font-size: 16px; line-height: 1.7; margin-top: 22px; }
    .fuseos.homepage .integration-diagram { grid-template-columns: minmax(0,1fr) minmax(0,1fr) minmax(0,1fr); gap: 16px; }
    .fuseos.homepage .diagram-list { min-width: 0; padding: 0; background: none; border: 0; }
    .fuseos.homepage .diagram-list h3, .fuseos.homepage .diagram-list > p { display: none; }
    .fuseos.homepage .diagram-list h3 { font-size: 12px; }
    .fuseos.homepage .diagram-list ul { margin: 0; gap: 12px; }
    .fuseos.homepage .diagram-list li { font-size: 11px; line-height: 1.5; padding: 10px 7px; gap: 4px; min-height: 40px; border: 1px solid #cad8f7; box-shadow: 0 5px 12px #1d3d7712; }
    .fuseos.homepage .diagram-list li img { width: 15px; height: 15px; flex-shrink: 0; }
    .fuseos.homepage .diagram-list > p { font-size: 10px; }
    .fuseos.homepage .diagram-hub { min-width: 0; width: 100%; padding: 16px 5px; }
    .fuseos.homepage .diagram-hub > img { width: 100%; height: 32px; }
    .fuseos.homepage .diagram-hub p { font-size: 8px; margin-top: 8px; }
    .fuseos.homepage .diagram-hub:before, .fuseos.homepage .diagram-hub:after { top: 50%; height: 1px; width: 8px; left: auto; right: 100%; border-top: 1px dashed #85a8ff; background: transparent; }
    .fuseos.homepage .diagram-hub:after { left: 100%; right: auto; }
    /* Three branches on each side join a bus, then the central hub. */
    .fuseos.homepage .diagram-list ul, .fuseos.homepage .diagram-list li { position: relative; }
    .fuseos.homepage .diagram-list li { height: 48px; min-height: 48px; padding: 6px 5px; }
    .fuseos.homepage .diagram-list:first-child li::after,
    .fuseos.homepage .diagram-list:last-child li::before { content: ''; position: absolute; top: 50%; width: 8px; border-top: 1px dashed #6b92eb; pointer-events: none; }
    .fuseos.homepage .diagram-list:first-child li::after { left: 100%; }
    .fuseos.homepage .diagram-list:last-child li::before { right: 100%; }
    .fuseos.homepage .diagram-list:first-child ul::after,
    .fuseos.homepage .diagram-list:last-child ul::before { content: ''; position: absolute; top: 24px; bottom: 24px; border-left: 1px dashed #6b92eb; pointer-events: none; }
    .fuseos.homepage .diagram-list:first-child ul::after { right: -8px; }
    .fuseos.homepage .diagram-list:last-child ul::before { left: -8px; }

    .fuseos.homepage .capability-panels, .fuseos.homepage .product-grid { display: flex; flex-direction: row; gap: 12px; height: auto; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; scroll-padding-inline: 0; overscroll-behavior-x: contain; scrollbar-width: none; padding-bottom: 10px; }
    .fuseos.homepage .capability-panels::-webkit-scrollbar, .fuseos.homepage .product-grid::-webkit-scrollbar { display: none; }
    .fuseos.homepage .capability, .fuseos.homepage .capability.is-active { flex: 0 0 82%; min-width: 0; min-height: 360px; scroll-snap-align: start; display: flex; flex-direction: column; }
    .fuseos.homepage .capability-image { display: block; position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
    .fuseos.homepage .capability { background: #263b59; }
    .fuseos.homepage .capability:first-child, .fuseos.homepage .capability.mobile-first-copy { background: linear-gradient(180deg,#6696ac,#202830); }
    .fuseos.homepage .capability:first-child:before, .fuseos.homepage .capability.mobile-first-copy:before { content: none; }
    .fuseos.homepage .capability:after { background: linear-gradient(180deg,#041020d9 0%,#041020b3 52%,#04102033 100%); }
    .fuseos.homepage .capability-control { position: relative; inset: auto; display: flex; flex-direction: column; align-items: flex-start; gap: 24px; padding: 22px 22px 0; }
    .fuseos.homepage .capability-number { position: static; }
    .fuseos.homepage .capability-title { position: static; font-size: 20px; line-height: 1.35; }
    .fuseos.homepage .capability-description { position: relative; top: auto; left: auto; right: auto; margin: 18px 22px 24px; font-size: 15px; }
    .fuseos.homepage .product-suite { background: #f5f7fc; }
    .fuseos.homepage .product-card { flex: 0 0 82%; min-width: 0; scroll-snap-align: start; padding: 16px; border: 1px solid var(--line); background: white; border-radius: 20px; box-shadow: none; }
    .fuseos.homepage .product-picture > img { height: 140px; aspect-ratio: auto; }
    .fuseos.homepage .product-card .badge { position: static; display: inline-block; margin-top: 14px; transform: none; padding: 0; border-radius: 0; background: none; color: var(--blue); text-transform: uppercase; }
    .fuseos.homepage .product-card h3 { font-size: 20px; margin-top: 10px; }
    .fuseos.homepage .product-card p { margin-top: 12px; font-size: 15px; line-height: 1.6; }
    .fuseos.homepage .mobile-product-marquee { scroll-snap-type: none; scroll-behavior: auto; }
    .fuseos.homepage .mobile-product-marquee.is-paused { scroll-snap-type: x mandatory; }
    .fuseos.homepage .distribution-models { display: flex; flex-direction: column; }
    .fuseos.homepage .distribution-models > .container { order: 1; z-index: 1; }
    .fuseos.homepage .distribution-background { position: absolute; inset: auto 0 0 auto; width: 160%; max-width: none; height: auto; object-fit: contain; object-position: right bottom; opacity: .3; border-radius: 0; margin: 0; mix-blend-mode: screen; -webkit-mask-image: linear-gradient(transparent, #000 38%); mask-image: linear-gradient(transparent, #000 38%); }
    .fuseos.homepage .audience-list > div { padding-block: 20px; }
    .fuseos.homepage .audience-list h3 { font-size: 16px; font-weight: 400; }
    .fuseos.homepage .audience-list p, .fuseos.homepage .india-statement { display: none; }
    .fuseos.homepage .audience-list p { font-size: 14px; line-height: 1.65; }
    .fuseos.homepage .offering-grid { gap: 20px; }
    .fuseos.homepage .offering-card { background: white; border: 1px solid var(--line); border-radius: 20px; box-shadow: none; }
    .fuseos.homepage .offering-card > img { order: -1; height: auto; aspect-ratio: 398 / 165; object-fit: cover; }
    .fuseos.homepage .offering-copy { padding: 20px; min-height: 0; }
    .fuseos.homepage .offering-tag { display: none; }
    .fuseos.homepage .offering-card h3 { margin-top: 0; font-size: 18px; }
    .fuseos.homepage .offering-card .offering-copy > p:last-child { margin-top: 12px; font-size: 14px; line-height: 1.65; }
    .fuseos.homepage .planned-products h3 { text-align: center; }
    .fuseos.homepage .planned-item { justify-content: flex-start; gap: 6px; }
    .fuseos.homepage .planned-item span { min-height: 0; }
    .fuseos.homepage #demo-dialog { width: min(360px, calc(100% - 40px)); max-height: calc(100dvh - 40px); }
    .fuseos.homepage #demo-dialog .dialog-content { padding: 16px; }
    .fuseos.homepage #demo-dialog .dialog-heading { margin-bottom: 10px; }
    .fuseos.homepage #demo-dialog h2 { font-size: 22px; }
    .fuseos.homepage #demo-dialog .dialog-close { width: 44px; height: 44px; }
    .fuseos.homepage #demo-dialog .form-field { margin-top: 10px; }
    .fuseos.homepage #demo-dialog .form-field label { font-size: 13px; margin-bottom: 4px; }
    .fuseos.homepage #demo-dialog .country-code { flex-basis: 78px; padding-inline: 8px; gap: 8px; }
    .fuseos.homepage #demo-dialog input, .fuseos.homepage #demo-product { min-height: 44px; }
    .fuseos.homepage #demo-dialog textarea { height: 64px; min-height: 64px; }
    .fuseos.homepage #demo-dialog .submit-demo { margin-top: 14px; min-height: 44px; }
    .fuseos.homepage #demo-dialog .dialog-assurances { margin-top: 12px; padding-top: 10px; gap: 16px; font-size: 11px; }
    .fuseos.homepage #demo-dialog .form-reassurance { font-size: 11px; margin-top: 10px; }
    .fuseos.homepage .mobile-cta-eyebrow { font: 600 12px/1.5 Inter,sans-serif; letter-spacing: .08em; text-transform: uppercase; color: var(--blue); }
    .fuseos.homepage .footer-brand p { font: 12px/1.6 Inter,sans-serif; color: #9eacc3; max-width: 300px; }
    .fuseos.homepage .closing-cta { background: linear-gradient(120deg,#f2f6ff,#fff); }
    .fuseos.homepage .closing-art { display: none; }
    .fuseos.homepage .closing-cta .container { gap: 28px; }
    .fuseos.homepage .closing-cta .actions { display: flex; flex-direction: row; flex-wrap: nowrap; width: 100%; align-items: stretch; gap: 12px; }
    .fuseos.homepage .closing-cta .button { flex: 1; min-width: 0; padding: 12px 10px; font-size: 13px; gap: 8px; }
    .fuseos.homepage .closing-cta .button-outline { border-color: var(--line); background: white; }
    .fuseos.homepage .footer-details { grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 24px; }
    .fuseos.homepage .footer-details > div { min-width: 0; overflow-wrap: anywhere; }
    .fuseos.homepage .footer-details p { font-size: 12px; line-height: 1.7; }
    .fuseos.homepage.mobile-motion .mobile-entered { animation: fuseos-mobile-enter .45s ease-out both; }
    .fuseos.homepage.mobile-motion .integration .is-mobile-in-view .diagram-hub:before, .fuseos.homepage.mobile-motion .integration .is-mobile-in-view .diagram-hub:after { animation: fuseos-mobile-connection 2.4s ease-in-out infinite; }
    .fuseos.homepage.mobile-motion .integration .is-mobile-in-view .diagram-hub:after { animation-delay: 1.2s; }
    .fuseos.homepage.mobile-motion .is-mobile-in-view h2 > span { background: linear-gradient(90deg,#2361f4,#7442e8,#2361f4); background-size: 200% auto; background-clip: text; -webkit-background-clip: text; color: transparent; animation: fuseos-mobile-highlight 6s linear infinite; }
    @keyframes fuseos-mobile-enter { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: translateY(0); } }
    @keyframes fuseos-mobile-connection { 0%,100% { opacity: .35; } 50% { opacity: 1; border-color: #2361f4; } }
    @keyframes fuseos-mobile-highlight { to { background-position: 200% center; } }
    @media (prefers-reduced-motion: reduce) {
        .fuseos.homepage .mobile-entered, .fuseos.homepage .diagram-hub:before, .fuseos.homepage .diagram-hub:after, .fuseos.homepage h2 > span { animation: none !important; }
    }
}
