/* BL TECHNO Marketing V10.2 — global mobile consistency layer.
   Loaded after all page-specific styles so phones cannot inherit desktop-scale layouts. */

html,body{max-width:100%;overflow-x:hidden}
.marketing-site main{min-width:0;overflow:hidden}
.marketing-site img,.marketing-site video,.marketing-site svg{max-width:100%}
.marketing-site iframe{max-width:100%}

/* Live-access bar: compact on desktop, 2 x 2 on phones. */
.v101-access-bar{box-shadow:0 5px 18px rgba(6,48,36,.025)}
.v101-access-inner{min-height:50px!important}
.v101-access-label{min-width:auto!important}
.v101-access-label small{display:inline!important}
.v101-access-links{min-width:0!important;overflow:visible!important}
.v101-access-link{min-width:0!important;box-shadow:none!important}
.v101-access-link.subscribe{border-color:#bfe4ce!important;background:#f5fff9!important}
.v101-access-link.agent-register{border-color:#cfe0fb!important;background:#f7faff!important;color:#123d7a!important}
.v101-access-link.agent-login{border-color:#d9e3f2!important;color:#203c66!important}

/* Prevent generic page elements from escaping the viewport. */
.marketing-site main :where(.button-row,.v8-actions,.v9-panel-actions,.p9-actions,.hero-actions,.hero-buttons,.cta-actions,.pricing-actions){max-width:100%}
.marketing-site main :where(.chips,.hero-chips,.v8-chips,.v9-hero-chips,.pd-hero-pills,.fd-detail-chips,.p13-hero-chips){max-width:100%;overflow-x:auto;scrollbar-width:none}
.marketing-site main :where(.chips,.hero-chips,.v8-chips,.v9-hero-chips,.pd-hero-pills,.fd-detail-chips,.p13-hero-chips)::-webkit-scrollbar{display:none}
.marketing-site main table{max-width:100%}

@media (max-width: 1100px){
  .marketing-site .container{width:min(calc(100% - 36px),var(--container))}
  .v101-access-label small{display:none!important}
  .v101-access-links{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  .v101-access-link small{display:none!important}
  .v101-access-link strong{font-size:10.5px!important}
}

@media (max-width: 760px){
  :root{--header-height:66px}
  .marketing-site .container{width:min(calc(100% - 28px),var(--container))!important}
  .marketing-site .announcement-inner{min-height:30px!important;padding-inline:0!important}
  .marketing-site .announcement-copy{font-size:9.5px!important;line-height:1.25!important;text-align:center!important}
  .marketing-site .site-header{position:relative!important}
  .marketing-site .header-inner{height:66px!important;gap:8px!important}
  .marketing-site .brand{min-width:0!important;gap:8px!important}
  .marketing-site .brand-image-wrap{width:43px!important;height:43px!important;border-radius:12px!important}
  .marketing-site .brand-copy strong{font-size:13px!important;line-height:1!important}
  .marketing-site .brand-copy small{font-size:7px!important;letter-spacing:.04em!important;white-space:nowrap!important}
  .marketing-site .mobile-menu-button{display:block!important;width:43px!important;height:43px!important;border-radius:12px!important;margin-left:auto!important;flex:none!important}
  .marketing-site .desktop-nav{display:none!important}
  .marketing-site .header-actions{display:flex!important;align-items:center!important;margin-left:auto!important;gap:0!important}
  .marketing-site .header-actions .header-login,.marketing-site .header-actions .btn-header{display:none!important}

  /* Universal access links remain visible but compact. */
  .v101-access-inner{display:block!important;min-height:0!important;padding:8px 0 9px!important}
  .v101-access-label{display:flex!important;margin:0 0 7px!important;gap:7px!important}
  .v101-access-label strong{font-size:9.5px!important;letter-spacing:.14em!important}
  .v101-access-label small{display:none!important}
  .v101-access-links{display:grid!important;grid-template-columns:1fr 1fr!important;gap:6px!important;overflow:visible!important;padding:0!important}
  .v101-access-link{display:flex!important;min-width:0!important;min-height:38px!important;padding:7px 8px!important;border-radius:10px!important;gap:7px!important}
  .v101-access-icon{width:24px!important;height:24px!important;border-radius:7px!important;font-size:8px!important}
  .v101-access-link>span:last-child{display:block!important;min-width:0!important}
  .v101-access-link strong{display:block!important;font-size:9.8px!important;line-height:1.15!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important}
  .v101-access-link small{display:none!important}

  /* One readable mobile type scale across every page family. */
  .marketing-site main :is(
    .hero h1,.platform-hero-copy h1,.platform-deep-hero h1,.platform-subhero h1,
    .mobile-hero h1,.v8-page-hero h1,.v9-page-hero h1,.p9-hero h1,
    .pd-index-hero h1,.pd-detail-copy h1,.p10-product-hero-copy h1,.p10-products-hero h1,
    .fd-index-hero h1,.fd-detail-copy h1,.p11-index-hero h1,.p11-feature-hero-copy h1,
    .p12-tour-hero h1,.p13-index-hero h1,.p13-solution-copy h1,
    .pricing-hero h1,.demo-page-hero h1,.global-page-hero h1,.security-page-hero h1,
    .login-page-copy h1,.agents-hero h1,.agent91-hero h1,.agent-application-hero h1,
    .data-privacy-hero h1,.legal-hero h1,.referral-hero h1,.sd-detail-hero h1
  ){
    font-size:clamp(2.05rem,9.6vw,2.85rem)!important;
    line-height:1.02!important;
    letter-spacing:-.045em!important;
    max-width:100%!important;
    overflow-wrap:break-word!important;
  }
  .marketing-site main :is(.section-heading h2,.v8-section h2,.v9-growth-head h2,.p9-section h2,.platform-section h2,.pd-section h2,.fd-section h2){
    font-size:clamp(1.55rem,7.4vw,2.1rem)!important;
    line-height:1.1!important;
    letter-spacing:-.03em!important;
  }
  .marketing-site main :is(.lead,.hero-lead,.hero-copy>p,.platform-hero-copy>p,.platform-subhero p,.v8-page-hero .lead,.v9-page-hero .lead,.p9-hero p,.pd-detail-copy>p,.fd-detail-copy>p){
    font-size:.88rem!important;
    line-height:1.65!important;
    max-width:100%!important;
  }
  .marketing-site main p{font-size:.85rem;line-height:1.65;max-width:100%!important}

  /* Hero layouts: always stack and use contained visuals on phones. */
  .marketing-site main :is(
    .hero-inner,.platform-hero-grid,.platform-deep-hero-grid,.platform-subhero-grid,
    .mobile-hero-grid,.v8-page-hero-grid,.v9-page-hero-grid,.p9-hero-grid,
    .pd-index-hero-grid,.pd-detail-hero-grid,.p10-product-hero-grid,
    .fd-index-hero-grid,.fd-detail-hero-grid,.p11-index-hero-grid,.p11-feature-hero-grid,
    .p12-tour-hero-grid,.p13-index-hero-grid,.p13-solution-hero-grid,
    .pricing-hero-grid,.demo-page-hero-grid,.global-page-hero-grid,.security-page-hero-grid,
    .agents-hero-grid,.agent91-hero-grid,.data-privacy-hero-inner,.login-page-hero-inner
  ){
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:24px!important;
    min-width:0!important;
  }
  .marketing-site main :is(
    .hero,.platform-hero,.platform-deep-hero,.platform-subhero,.mobile-hero,
    .v8-page-hero,.v9-page-hero,.p9-hero,.pd-index-hero,.pd-detail-hero,
    .p10-product-hero,.p10-products-hero,.fd-index-hero,.fd-detail-hero,
    .p11-index-hero,.p11-feature-hero,.p12-tour-hero,.p13-index-hero,.p13-solution-hero,
    .pricing-hero,.demo-page-hero,.global-page-hero,.security-page-hero,.login-page-hero,
    .agents-hero,.agent91-hero,.agent-application-hero,.data-privacy-hero,.legal-hero
  ){
    padding-top:38px!important;
    padding-bottom:40px!important;
    min-height:0!important;
  }
  .marketing-site main :is(
    .hero-visual,.platform-orbit,.platform-deep-hero-proof,.platform-subhero-shot,.mobile-hero-devices,
    .v8-hero-image,.v9-page-visual,.p9-company-mark,.p9-resource-feature,.pd-index-hero-visual,
    .pd-detail-hero-visual,.p10-product-hero-visual,.fd-hero-product-stack,.p11-feature-hero-visual,
    .p12-tour-stack,.p13-index-map,.p13-hero-visual,.security-hero-visual,.login-orbit
  ){
    width:100%!important;
    max-width:100%!important;
    min-height:220px!important;
    height:auto!important;
    margin-inline:auto!important;
  }

  /* Top-level grids and card families collapse cleanly. */
  .marketing-site main .container > :is(
    .v8-grid-3,.v8-grid-4,.v8-step-grid,.v9-system-grid,.v9-dual-grid,.v9-mini-grid,.v9-journey,
    .platform-family-grid,.platform-proof-grid,.architecture-stack,.workflow-track,
    .pd-index-grid,.pd-capability-grid,.fd-index-grid,.fd-capability-grid,
    .p10-outcome-grid,.p10-capability-grid,.p10-product-index-grid,
    .p11-index-grid,.p11-capability-grid,.p12-library-grid,.p12-platform-shots,.p12-inline-shots,
    .p13-index-grid,.p13-challenge-grid,.p13-product-grid,.p13-team-grid,.p13-feature-links,
    .pricing-grid,.problem-grid,.category-grid,.communication-grid,.global-cards,
    .security-grid,.portal-grid,.login-assistance-grid,.agent-benefits,.form-grid
  ){
    grid-template-columns:1fr!important;
    gap:14px!important;
  }

  /* Buttons become usable touch targets instead of overflowing pairs. */
  .marketing-site main :is(.button-row,.v8-actions,.v9-panel-actions,.hero-actions,.hero-buttons,.cta-actions){
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:9px!important;
    width:100%!important;
  }
  .marketing-site main :is(.button-row,.v8-actions,.v9-panel-actions,.hero-actions,.hero-buttons,.cta-actions) :is(a,button){
    width:100%!important;
    min-height:44px!important;
    justify-content:center!important;
    text-align:center!important;
  }

  /* Card spacing and oversized desktop minimum-heights. */
  .marketing-site main :is(.v8-card,.v8-module-card,.v9-feature-panel,.v9-system-card,.v9-journey-step,.platform-family-card,.category-card,.pricing-card,.portal-card){
    min-height:0!important;
    padding:18px!important;
    border-radius:18px!important;
  }
  .marketing-site main section{max-width:100%}
  .marketing-site main [style*="min-width"]{max-width:100%}

  /* Tables and horizontal data controls scroll instead of breaking viewport width. */
  .marketing-site main table{display:block!important;width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch}
  .marketing-site main :is(.role-tabs,.p14-tour-filters,.filter-tabs,.tabs,.segmented-control){overflow-x:auto!important;flex-wrap:nowrap!important;scrollbar-width:none}

  /* Shared bottom sections become neat phone cards. */
  .v9-trust-ribbon{padding:12px 0!important}
  .v9-trust-grid{grid-template-columns:1fr!important;gap:0!important}
  .v9-trust-item{padding:10px 0!important;border-right:0!important;border-bottom:1px solid rgba(255,255,255,.1)!important}
  .v8-pathways{padding:24px 0!important}
  .v8-pathways-grid{grid-template-columns:1fr!important;gap:12px!important}
  .v8-pathway-card{padding:18px!important;border-radius:18px!important}
  .v8-pathway-actions{display:grid!important;grid-template-columns:1fr!important;gap:7px!important}
  .v8-pathway-link{width:100%!important;justify-content:center!important;text-align:center!important}
  .v9-quick-access{display:none!important}

  /* Footer: predictable single column on very small screens. */
  .site-footer .footer-top{grid-template-columns:1fr!important;gap:20px!important}
  .site-footer .footer-brand{grid-column:auto!important}
  .v101-footer-access{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;text-align:center!important}
  .v101-footer-access strong{grid-column:1/-1!important}
  .v101-footer-access a{display:flex!important;align-items:center!important;justify-content:center!important;min-height:38px!important;padding:7px!important;border:1px solid rgba(255,255,255,.16)!important;border-radius:10px!important}

  /* Mobile drawer actions fit narrow phones. */
  .v101-mobile-actions{display:grid!important;grid-template-columns:1fr!important;gap:8px!important}
  .v101-mobile-actions .btn{width:100%!important;min-height:43px!important}
}

@media (max-width: 390px){
  .marketing-site .container{width:min(calc(100% - 22px),var(--container))!important}
  .marketing-site .brand-copy small{display:none!important}
  .v101-access-link strong{font-size:9px!important}
  .marketing-site main :is(
    .hero h1,.platform-hero-copy h1,.platform-deep-hero h1,.platform-subhero h1,.mobile-hero h1,
    .v8-page-hero h1,.v9-page-hero h1,.p9-hero h1,.pd-index-hero h1,.pd-detail-copy h1,
    .fd-index-hero h1,.fd-detail-copy h1,.p13-index-hero h1,.p13-solution-copy h1,.pricing-hero h1,
    .demo-page-hero h1,.global-page-hero h1,.security-page-hero h1,.agents-hero h1,.agent91-hero h1
  ){font-size:clamp(1.9rem,9.2vw,2.45rem)!important}
}
