/* Neo AshOS — Android-first mobile experience layer — 2026-10-07 */
html{overflow-x:hidden}
body{min-width:0!important;overflow-x:hidden!important}
*,*::before,*::after{max-width:100%}
img,video,iframe,canvas,svg{max-width:100%}
input,select,textarea,button{max-width:100%;min-width:0}
pre,code{max-width:100%;overflow:auto;overflow-wrap:anywhere;white-space:pre-wrap}

@media (max-width:900px){
  /* Global navigation: preserve the locked logo, optimize the container only. */
  nav{width:100%!important;max-width:none!important;box-sizing:border-box!important;min-height:70px!important;height:auto!important;padding:10px 16px!important;gap:10px!important;display:flex!important;align-items:center!important;flex-wrap:nowrap!important;position:sticky!important;top:0!important;z-index:10000!important}
  nav .nav-logo{min-width:0!important;max-width:calc(100% - 48px)!important;flex:1 1 auto!important;overflow:visible!important;display:flex!important;align-items:center!important;gap:8px!important}
  nav .neo-navbar-symbol-wrap{width:40px!important;height:40px!important;flex:0 0 40px!important}
  nav .neo-navbar-symbol{width:40px!important;height:40px!important;max-width:40px!important;max-height:40px!important;object-fit:contain!important}
  nav .neo-navbar-copy{min-width:0!important;overflow:visible!important}
  nav .neo-navbar-copy .nav-brand-name{font-size:15px!important;line-height:1!important;white-space:nowrap!important}
  nav .neo-navbar-copy .nav-brand-sub{font-size:7px!important;line-height:1.25!important;white-space:nowrap!important}
  nav .nav-right{margin-left:auto!important;flex:0 0 auto!important;display:flex!important;align-items:center!important;gap:7px!important;min-width:0!important}
  nav .nav-right>.currency-sel,nav .nav-right>.lang-toggle{display:none!important}
  nav .nav-right>.btn{display:inline-flex!important;padding:9px 10px!important;font-size:11px!important;line-height:1!important;min-height:38px!important;border-radius:9px!important}
  nav .hamburger{display:flex!important;align-items:center!important;justify-content:center!important;width:40px!important;height:40px!important;flex:0 0 40px!important;padding:8px!important;border:1px solid #E2E8F0!important;border-radius:10px!important;background:rgba(255,255,255,.96)!important}
  nav .hamburger span{width:20px!important;height:2px!important}
  .nav-links{display:none!important}
  .neo-global-nav.mob-open{display:flex!important;position:fixed!important;left:0!important;right:0!important;top:70px!important;width:100vw!important;max-width:none!important;max-height:calc(100dvh - 70px)!important;padding:10px 16px 18px!important;box-sizing:border-box!important;overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain!important;flex-direction:column!important;align-items:stretch!important;gap:2px!important;background:rgba(255,255,255,.98)!important;border-bottom:1px solid #E2E8F0!important;box-shadow:0 16px 40px rgba(4,30,66,.14)!important}
  .neo-global-nav.mob-open>a,.neo-global-nav.mob-open .neo-drop-trigger{width:100%!important;display:flex!important;align-items:center!important;justify-content:space-between!important;box-sizing:border-box!important;padding:12px 10px!important;border-radius:10px!important;font-size:14px!important;line-height:1.3!important;white-space:normal!important;text-align:left!important}
  .neo-global-nav.mob-open .neo-dropdown{width:100%!important;display:block!important}
  .neo-global-nav.mob-open .neo-dropdown-menu{display:none!important;position:static!important;width:100%!important;max-width:none!important;margin:0!important;padding:3px 0 7px 10px!important;box-sizing:border-box!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important}
  .neo-global-nav.mob-open .neo-dropdown.open .neo-dropdown-menu{display:block!important}
  .neo-global-nav.mob-open .neo-dropdown-menu a{width:100%!important;box-sizing:border-box!important;display:block!important;padding:10px 11px!important;font-size:13px!important;line-height:1.35!important;white-space:normal!important;border-radius:8px!important}

  /* Containers and sections */
  .wrap{width:calc(100% - 32px)!important;max-width:none!important;margin-left:auto!important;margin-right:auto!important}
  .section,.services-section,.page-hero,.legal-wrap,.blog-main{padding-left:0!important;padding-right:0!important}
  .section{padding-top:64px!important;padding-bottom:64px!important}
  .section-title,.page-hero h1,.blog-title{font-size:clamp(32px,9vw,54px)!important;line-height:1.03!important}
  .section-sub,.page-hero p{font-size:15px!important;line-height:1.75!important}
  .btn{min-height:44px!important;padding:11px 15px!important;justify-content:center!important;white-space:normal!important;text-align:center!important}

  /* Make grid-based compositions single column unless a page-specific mobile rule keeps 2-up density. */
  [class*="-grid"]{min-width:0!important}
  .page-hero-inner,.story-grid,.founder-inner,.mv-grid,.eco-grid,.values-grid,.hero,.neo-product-grid,.neo-product-grid-dynamic,.realtor-hero-grid,.contact-hero-inner,.section-intro,.contact-grid,.contact-footer-strip,.blog-hero,.blog-grid,.pricing-grid,.dept-grid,.split-grid,.common-grid,.faq-grid,.ai-grid,.workflow,.neo-service-grid,.neo-tech-grid,.neo-feature-grid,.neo-scenario-grid,.dm-wrap.dm-faq-grid,.dm-form-grid,.dm-service-grid,.dm-solution-grid,.dm-package-grid,.dm-3d-grid{grid-template-columns:1fr!important}
  .founder-stats,.founder-profile-stats,.realtor-page .stat-grid{grid-template-columns:1fr 1fr!important}
  .neo-product-grid,.neo-product-grid-dynamic,.realtor-hero-grid,.contact-hero-inner{gap:24px!important}

  /* Large visuals */
  .hero,.neo-product-hero,.realtor-hero,.dm-hero,.contact-hero-inner{min-height:auto!important}
  .hero>div,.neo-product-hero>div,.realtor-hero-grid>div,.dm-hero-grid>div,.contact-hero-inner>div{min-width:0!important}
  .hero img,.product-visual img,.realtor-visual img,.dm-hero-visual img,.dm-uhd-visual img,.contact-visual img{width:100%!important;height:auto!important}
  .hero-visual,.product-visual,.realtor-visual,.dm-hero-visual,.contact-visual{max-width:100%!important;overflow:hidden!important}
  .neo-target-visual,.neo-product-visual,.realtor-page .realtor-visual{width:100%!important;max-width:100%!important;margin-left:0!important;margin-right:0!important}
  .neo-3d-scene,.neo-p2-hero,.neo-p2-hero-bg,.neo-p2-shell,.dm-realistic-panel,.dm-faq-visual{max-width:100%!important;overflow:hidden!important}

  /* Cards / common content blocks */
  .card,.neo-feature,.neo-service-card,.neo-tech,.neo-scenario-card,.neo-price-card,.dept-card,.common-card,.faq-card,.job-card,.compare-card,.website-trust,.neo-niche-card,.blog-card,.demo-testimonial-card,.neo-plan{min-width:0!important;width:100%!important}
  .neo-feature-grid,.neo-service-grid,.neo-tech-grid,.neo-scenario-grid,.blog-grid{gap:14px!important}
  .card p,.neo-feature p,.neo-service-card p,.neo-tech p,.neo-scenario-card p,.dept-card p,.common-card p,.faq-answer,.blog-card p{overflow-wrap:anywhere}

  /* Realtor */
  .realtor-page .realtor-hero-grid{padding-bottom:56px!important}
  .realtor-page .realtor-hero h1{font-size:clamp(38px,10vw,54px)!important;letter-spacing:-1.2px!important}
  .realtor-page .realtor-hero .lead{font-size:15px!important;line-height:1.72!important}
  .realtor-page .realtor-hero-actions{gap:9px!important}
  .realtor-page .realtor-trust{gap:7px!important;margin-top:18px!important}
  .realtor-page .realtor-trust span{font-size:10px!important;padding:8px 10px!important}
  .realtor-page .stat-strip{margin-top:0!important}
  .realtor-page .stat-grid{padding:10px!important;gap:8px!important}
  .realtor-page .stat-box{padding:10px 8px!important;gap:7px!important}
  .realtor-page .stat-box b{font-size:18px!important}
  .realtor-page .stat-icon,.realtor-page .module-icon{width:38px!important;height:38px!important;flex-basis:38px!important}
  .realtor-page .workflow-step:not(:last-child):after{display:none!important}
  .realtor-page .realtor-cta{padding:24px!important}

  /* Blog */
  .blog-main{padding-top:48px!important;padding-bottom:64px!important}
  .blog-hero-card{min-height:0!important;padding:22px!important}
  .blog-signal-grid{position:static!important;grid-template-columns:1fr 1fr!important;margin-top:18px!important}
  .blog-toolbar{margin-top:30px!important;padding:12px!important}
  .blog-search{min-width:0!important;width:100%!important}
  .blog-filters{width:100%!important;overflow-x:auto!important;flex-wrap:nowrap!important;padding-bottom:2px!important}
  .blog-filter{flex:0 0 auto!important}
  .blog-page-shell>nav{width:100%!important;max-width:none!important}
  .blog-article-wrap{width:calc(100% - 24px)!important;max-width:none!important;padding-left:12px!important;padding-right:12px!important}
  .blog-article-wrap .content{font-size:15px!important;line-height:1.85!important}
  .blog-article-wrap .content h2{font-size:25px!important}
  .blog-article-wrap .content img{display:block;width:100%;height:auto}
  .blog-article-wrap .content table{display:block;width:100%;overflow-x:auto}

  /* Digital Marketing */
  .dm-wrap{width:calc(100% - 32px)!important;max-width:none!important}
  .dm-hero-grid{grid-template-columns:1fr!important}
  .dm-package-card{min-width:0!important}
  .dm-package-card h3,.dm-package-card h4{overflow-wrap:anywhere}
  .dm-package-grid{gap:14px!important}
  .dm-realistic-panel,.dm-faq-visual{min-height:0!important}

  /* Forms */
  form,.form-row,.realtor-form,.quote-form,.contact-form,.dm-form{min-width:0!important;width:100%!important}
  .form-row{grid-template-columns:1fr!important}
  .form-field,.form-group{min-width:0!important;width:100%!important}
  input,select,textarea{width:100%!important;box-sizing:border-box!important;font-size:16px!important}
  textarea{min-height:130px!important}

  /* Tables / long content */
  .compare-table-wrap,.table-wrap,.responsive-table,.overflow-table{max-width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important}
  .compare-table,.compare-table table,.table-wrap table,.responsive-table table{min-width:640px}
  .compare-table-wrap{border-radius:12px!important}

  /* Modals */
  .modal-overlay,.demo-review-modal{padding:12px!important}
  .modal-overlay>div,#quoteModalOverlay>div,.dm-modal-card,.service-modal,.demo-review-dialog{width:calc(100vw - 24px)!important;max-width:560px!important;max-height:calc(100dvh - 24px)!important;overflow:auto!important}
  .demo-review-dialog-body{grid-template-columns:1fr!important;padding:20px!important}

  /* Footer */
  .footer-grid{grid-template-columns:1fr!important;gap:24px!important}
  .f-brand-desc{max-width:none!important}
  .f-bottom{align-items:flex-start!important;flex-direction:column!important;gap:12px!important}

  /* Avoid oversized decorative objects causing a visual crop. */
  .page-hero::before,.page-hero::after,.contact-orbit-bg .o1,.contact-orbit-bg .o2,.contact-orbit-bg .o3{max-width:none!important;pointer-events:none!important}
}

@media (max-width:600px){
  nav{padding:9px 12px!important;min-height:66px!important}
  nav .neo-navbar-symbol-wrap,nav .neo-navbar-symbol{width:38px!important;height:38px!important;flex-basis:38px!important}
  nav .neo-navbar-copy .nav-brand-name{font-size:14px!important}
  nav .neo-navbar-copy .nav-brand-sub{font-size:6.6px!important}
  nav .nav-right>.btn{display:none!important}
  nav .hamburger{width:40px!important;height:40px!important;flex-basis:40px!important}
  .neo-global-nav.mob-open{top:66px!important;max-height:calc(100dvh - 66px)!important}
  .wrap{width:calc(100% - 24px)!important}
  .section{padding-top:54px!important;padding-bottom:54px!important}
  .hero,.page-hero,.dm-hero,.neo-product-hero{padding-top:34px!important;padding-bottom:34px!important}
  .hero-ctas,.hero-actions,.product-hero-actions,.realtor-hero-actions,.contact-actions,.about-cta-btns,.pricing-cta{display:grid!important;grid-template-columns:1fr!important;width:100%!important}
  .hero-ctas .btn,.hero-actions .btn,.product-hero-actions .btn,.realtor-hero-actions .btn,.contact-actions .btn,.pricing-cta .btn{width:100%!important}
  .hero-h1{font-size:38px!important}
  .hero-sub{font-size:15px!important}
  .hero-proofline{gap:6px 9px!important}
  .founder-stats,.founder-profile-stats,.realtor-page .stat-grid{grid-template-columns:1fr!important}
  .blog-signal-grid{grid-template-columns:1fr!important}
  .blog-title{font-size:39px!important}
  .blog-hero-card h2{font-size:26px!important}
  .neo-footer-signature{padding:16px!important}
  .neo-footer-signature strong{font-size:19px!important}
  .neo-footer-signature .neo-footer-cta{width:100%!important;justify-content:center!important}
  .mobile-sticky-bar{padding:9px 10px!important;gap:8px!important}
}

@media (max-width:380px){
  nav .neo-navbar-copy .nav-brand-sub{display:none!important}
  .section-title,.page-hero h1,.blog-title{font-size:32px!important}
  .hero-h1{font-size:34px!important}
  .mobile-sticky-bar a,.mobile-sticky-bar button{font-size:12px!important;padding:9px 5px!important}
}

@media (prefers-reduced-motion:reduce){
  *{scroll-behavior:auto!important}
}

/* Product catalog header has a semantic <nav> nested inside .topbar; keep the header's own flex geometry intact. */
@media (max-width:900px){
  .topbar{width:100%!important;height:70px!important;box-sizing:border-box!important;overflow:visible!important}
  .topbar .topbar-inner{width:calc(100% - 32px)!important;max-width:none!important;height:70px!important;margin:0 auto!important;display:flex!important;align-items:center!important;gap:8px!important}
  .topbar .brand-wrap{min-width:0!important;flex:1 1 auto!important;gap:8px!important;max-width:calc(100% - 52px)!important}
  .topbar .brand-wrap .neo-navbar-symbol-wrap,.topbar .brand-wrap .neo-navbar-symbol{width:40px!important;height:40px!important;flex:0 0 40px!important;max-width:40px!important;max-height:40px!important}
  .topbar .brand-wrap .brand-name,.topbar .brand-wrap .nav-brand-name{font-size:16px!important;white-space:nowrap!important;line-height:1!important}
  .topbar .brand-wrap .brand-sub,.topbar .brand-wrap .nav-brand-sub{font-size:7px!important;white-space:nowrap!important;line-height:1.2!important}
  .topbar nav.neo-global-nav{display:none!important;position:fixed!important;top:70px!important;left:0!important;right:0!important;width:100vw!important;max-width:none!important;height:auto!important;max-height:calc(100dvh - 70px)!important;padding:10px 16px 18px!important;box-sizing:border-box!important;overflow-y:auto!important;overflow-x:hidden!important;flex-direction:column!important;align-items:stretch!important;background:rgba(255,255,255,.98)!important;border-bottom:1px solid var(--border,#E2E8F0)!important;box-shadow:0 16px 40px rgba(4,30,66,.14)!important;z-index:10001!important}
  .topbar nav.neo-global-nav.mob-open{display:flex!important}
  .topbar nav.neo-global-nav.mob-open>a,.topbar nav.neo-global-nav.mob-open .neo-drop-trigger{width:100%!important;display:flex!important;justify-content:space-between!important;align-items:center!important;padding:12px 10px!important;font-size:14px!important;white-space:normal!important;box-sizing:border-box!important}
  .topbar nav.neo-global-nav.mob-open .neo-dropdown-menu{display:none!important;position:static!important;width:100%!important;max-width:none!important;border:0!important;box-shadow:none!important;background:transparent!important;padding:3px 0 7px 10px!important}
  .topbar nav.neo-global-nav.mob-open .neo-dropdown.open .neo-dropdown-menu{display:block!important}
  .topbar nav.neo-global-nav.mob-open .neo-dropdown-menu a{display:block!important;width:100%!important;padding:10px 11px!important;white-space:normal!important;box-sizing:border-box!important}
  .topbar .nav-right{margin-left:auto!important;display:flex!important;align-items:center!important;gap:7px!important;flex:0 0 auto!important}
  .topbar .nav-right>.lang-toggle,.topbar .nav-right>.header-cta{display:none!important}
  .topbar .hamburger{display:flex!important;width:40px!important;height:40px!important;flex:0 0 40px!important;align-items:center!important;justify-content:center!important;padding:8px!important}
}
@media (max-width:600px){
  .topbar{height:66px!important}
  .topbar .topbar-inner{width:calc(100% - 24px)!important;height:66px!important}
  .topbar nav.neo-global-nav{top:66px!important;max-height:calc(100dvh - 66px)!important}
  .topbar .brand-wrap .neo-navbar-symbol-wrap,.topbar .brand-wrap .neo-navbar-symbol{width:38px!important;height:38px!important;flex-basis:38px!important;max-width:38px!important;max-height:38px!important}
  .topbar .brand-wrap .brand-name,.topbar .brand-wrap .nav-brand-name{font-size:15px!important}
  .topbar .brand-wrap .brand-sub,.topbar .brand-wrap .nav-brand-sub{font-size:6.5px!important}
  .topbar .hamburger{width:40px!important;height:40px!important;flex-basis:40px!important}
}
@media (max-width:380px){
  .topbar .brand-wrap .brand-sub,.topbar .brand-wrap .nav-brand-sub{display:none!important}
}
@media (max-width:600px){
  .career-panel,.thanks-card{width:100%!important;min-width:0!important;max-width:100%!important;box-sizing:border-box!important}
  .thanks{width:100%!important;box-sizing:border-box!important;padding-left:12px!important;padding-right:12px!important}
}
@media (max-width:380px){
  .thanks-card{padding:28px 20px!important}
}

/* ===== 2026-10-07 mobile hardening ===== */
.neo-table-scroll{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:12px}
.neo-table-scroll>table{min-width:640px}
@media (max-width:900px){
  /* touch targets >= 40px (footer, legal links, language toggle) */
  .footer-grid a:not(.f-social){display:block;min-height:40px;line-height:40px;padding-top:0;padding-bottom:0}
  .f-bottom-links a{display:inline-block;min-height:40px;line-height:40px;margin-right:6px}
  .f-socials a,.f-social{display:inline-flex!important;align-items:center;justify-content:center;min-width:40px;min-height:40px;line-height:1}
  .lang-toggle button{min-width:40px;min-height:40px}
  .btn,.btn-sm{min-height:40px}
  .neo-ai-launcher{max-width:calc(100vw - 24px)}
}
@media (max-width:768px){
  input,select,textarea{font-size:16px!important}
}
@media (max-width:900px){
  .lang-toggle button{min-width:40px!important;min-height:36px!important;padding-left:8px!important;padding-right:8px!important}
  .eco-card-link,.neo-products-v2-link,.prod-link,a[href^="mailto:"],a[href^="tel:"]{display:inline-flex;align-items:center;min-height:40px}
}
