/* =====================================================================
   IBTDI V56 — Signature mobile experience
   A dedicated mobile navigation, compact content rhythm and action dock.
   ===================================================================== */
.mobile_menu_head,
.mobile_menu_trust,
.mobile_menu_backdrop,
.mobile_action_dock{display:none;}

@media(max-width:1199.98px){
  body.mobile_menu_open{overflow:hidden!important;touch-action:none;}

  .ibtdi_header_v6{
    z-index:1000002!important;
  }
  .ibtdi_header_v6 .container-fluid{
    justify-content:space-between!important;
  }

  /* The external toggle only opens; closing happens inside the drawer. */
  .ibtdi_header_v6 .navbar-toggler{
    position:relative!important;
    z-index:1000004!important;
    display:grid!important;
    place-items:center;
    width:48px!important;
    height:48px!important;
    min-width:48px;
    margin:0!important;
    padding:0!important;
    border-radius:16px!important;
    color:#fff;
    background:
      radial-gradient(circle at 25% 15%,rgba(255,255,255,.18),transparent 30%),
      rgba(255,255,255,.075)!important;
    border:1px solid rgba(255,255,255,.16)!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 12px 28px rgba(0,0,0,.22)!important;
    transition:opacity .2s ease,visibility .2s ease,transform .2s ease!important;
  }
  .ibtdi_header_v6 .navbar-toggler:focus-visible{
    outline:3px solid rgba(51,183,255,.38);
    outline-offset:3px;
  }
  .ibtdi_header_v6 .menu_toggle{
    width:22px!important;
    height:18px!important;
  }
  .ibtdi_header_v6 .menu_toggle .hamburger{
    display:flex!important;
    flex-direction:column;
    justify-content:space-between;
  }
  .ibtdi_header_v6 .menu_toggle .hamburger span,
  .ibtdi_header_v6 .navbar-toggler:not(.collapsed) .menu_toggle .hamburger span{
    position:static!important;
    width:100%!important;
    height:2px!important;
    margin:0!important;
    opacity:1!important;
    transform:none!important;
    background:#fff!important;
    border-radius:99px;
  }
  .ibtdi_header_v6 .menu_toggle .hamburger span:nth-child(2){width:72%!important;margin-right:auto!important;}
  .ibtdi_header_v6 .menu_toggle .hamburger-cross{display:none!important;}
  body.mobile_menu_open .ibtdi_header_v6 .navbar-toggler{
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:scale(.82)!important;
  }

  /* Full-height RTL drawer, independent from Bootstrap's old dropdown. */
  .ibtdi_header_v6 .navbar-collapse,
  .ibtdi_header_v6 .navbar-collapse.collapsing{
    position:fixed!important;
    top:0!important;
    right:0!important;
    left:auto!important;
    bottom:0!important;
    z-index:1000005!important;
    display:flex!important;
    flex-direction:column;
    width:min(91vw,410px)!important;
    height:100dvh!important;
    max-height:none!important;
    padding:18px 18px calc(22px + env(safe-area-inset-bottom))!important;
    border:0!important;
    border-left:1px solid rgba(111,195,255,.18)!important;
    border-radius:0!important;
    overflow-y:auto!important;
    overscroll-behavior:contain;
    background:
      radial-gradient(circle at 80% 0%,rgba(22,119,255,.30),transparent 30%),
      radial-gradient(circle at 0% 80%,rgba(107,92,255,.20),transparent 33%),
      linear-gradient(160deg,#07101f 0%,#0b162a 52%,#060b16 100%)!important;
    box-shadow:-28px 0 80px rgba(0,0,0,.44)!important;
    opacity:0;
    visibility:hidden;
    transform:translateX(105%);
    transition:transform .38s cubic-bezier(.2,.8,.2,1),opacity .25s ease,visibility .25s ease!important;
  }
  .ibtdi_header_v6 .navbar-collapse.show{
    opacity:1;
    visibility:visible;
    transform:translateX(0);
  }

  .mobile_menu_head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding:0 0 19px;
    margin-bottom:14px;
    border-bottom:1px solid rgba(255,255,255,.09);
  }
  .mobile_menu_identity{
    display:flex;
    align-items:center;
    min-width:0;
    gap:11px;
  }
  .mobile_menu_identity img{
    width:44px;
    height:44px;
    object-fit:contain;
    padding:8px;
    border-radius:15px;
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.10);
  }
  .mobile_menu_identity div{min-width:0;}
  .mobile_menu_identity strong{
    display:block;
    color:#fff;
    font-size:15px;
    line-height:1.4;
  }
  .mobile_menu_identity span{
    display:block;
    margin-top:2px;
    overflow:hidden;
    color:rgba(255,255,255,.52);
    font-size:10.5px;
    line-height:1.5;
    white-space:nowrap;
    text-overflow:ellipsis;
  }
  .mobile_menu_close{
    position:relative;
    flex:0 0 auto;
    display:grid;
    place-items:center;
    width:46px;
    height:46px;
    padding:0;
    border-radius:15px;
    color:#fff;
    background:rgba(255,255,255,.075);
    border:1px solid rgba(255,255,255,.13);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.07);
  }
  .mobile_menu_close svg{
    width:21px;
    height:21px;
    fill:none;
    stroke:currentColor;
    stroke-width:2;
    stroke-linecap:round;
  }
  .mobile_menu_close:active{transform:scale(.94);}

  .ibtdi_header_v6 .navbar-nav.menu{
    counter-reset:mobile-menu;
    display:grid!important;
    width:100%;
    gap:7px!important;
    margin:0!important;
    padding:0!important;
  }
  .ibtdi_header_v6 .navbar-nav.menu .nav-item{
    counter-increment:mobile-menu;
    width:100%;
    margin:0!important;
    padding:0!important;
  }
  .ibtdi_header_v6 .navbar-nav.menu .nav-link{
    position:relative;
    display:flex!important;
    align-items:center;
    justify-content:flex-start!important;
    width:100%;
    min-height:53px;
    padding:10px 14px!important;
    border-radius:16px!important;
    color:rgba(255,255,255,.86)!important;
    background:rgba(255,255,255,.045)!important;
    border:1px solid rgba(255,255,255,.075)!important;
    text-align:right!important;
    font-size:14px!important;
    font-weight:800!important;
    transition:background .22s ease,border-color .22s ease,transform .22s ease!important;
  }
  .ibtdi_header_v6 .navbar-nav.menu .nav-link:before{
    content:counter(mobile-menu,decimal-leading-zero);
    display:grid;
    place-items:center;
    flex:0 0 auto;
    width:32px;
    height:32px;
    margin-left:11px;
    border-radius:11px;
    color:#8bdcff;
    background:rgba(28,163,255,.12);
    border:1px solid rgba(93,195,255,.15);
    font-family:system-ui,sans-serif!important;
    font-size:10px;
    font-weight:800;
  }
  .ibtdi_header_v6 .navbar-nav.menu .nav-link:after{
    content:"←";
    display:block!important;
    margin-right:auto;
    color:rgba(255,255,255,.30);
    font-size:17px;
    transition:transform .2s ease,color .2s ease;
  }
  .ibtdi_header_v6 .navbar-nav.menu .nav-link:hover,
  .ibtdi_header_v6 .navbar-nav.menu .nav-link:focus-visible{
    color:#fff!important;
    background:rgba(28,163,255,.11)!important;
    border-color:rgba(93,195,255,.24)!important;
    transform:translateX(-3px);
  }
  .ibtdi_header_v6 .navbar-nav.menu .nav-link:hover:after{color:#8bdcff;transform:translateX(-3px);}

  .mobile_menu_trust{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    margin:16px 0 2px;
  }
  .mobile_menu_trust span{
    display:inline-flex;
    align-items:center;
    min-height:30px;
    padding:6px 9px;
    border-radius:999px;
    color:rgba(255,255,255,.67);
    background:rgba(255,255,255,.045);
    border:1px solid rgba(255,255,255,.075);
    font-size:10px;
    font-weight:700;
  }
  .mobile_menu_trust span:before{
    content:"";
    width:6px;
    height:6px;
    margin-left:6px;
    border-radius:50%;
    background:#62ddb0;
    box-shadow:0 0 10px rgba(98,221,176,.7);
  }

  .ibtdi_header_v6 .nav_right{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:9px!important;
    width:100%;
    margin:17px 0 0!important;
    padding:16px 0 0!important;
    border-top:1px solid rgba(255,255,255,.09);
  }
  .ibtdi_header_v6 .nav_right a{
    width:100%!important;
    min-width:0!important;
    min-height:50px!important;
    height:50px!important;
    margin:0!important;
    border-radius:16px!important;
  }

  .mobile_menu_backdrop{
    position:fixed;
    inset:0;
    z-index:1000001;
    display:block;
    padding:0;
    border:0;
    background:rgba(2,6,14,.68);
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .28s ease,visibility .28s ease;
  }
  body.mobile_menu_open .mobile_menu_backdrop{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
  }
}

@media(max-width:767.98px){
  :root{--mobile-edge:14px;}
  html{scroll-padding-top:82px!important;}
  body{
    padding-bottom:calc(88px + env(safe-area-inset-bottom))!important;
    background:#f7f9fd;
  }
  .body_wrapper{padding-top:70px;}

  /* Compact floating header */
  .ibtdi_header_v6{
    position:fixed!important;
    top:0!important;
    right:0;
    left:0;
    min-height:70px!important;
    background:rgba(5,9,19,.88)!important;
    border-bottom-color:rgba(255,255,255,.075)!important;
    box-shadow:0 12px 34px rgba(1,5,14,.20);
  }
  .ibtdi_header_v6 .container-fluid{
    min-height:70px;
    padding-inline:var(--mobile-edge)!important;
  }
  .ibtdi_header_v6 .navbar-brand img{max-height:31px!important;}
  .ibtdi_top_strip{display:none!important;}

  /* Hero becomes a focused mobile launch screen. */
  .ibtdi_hero_future{padding:8px 0 0!important;}
  .ibtdi_ai_hero .container-fluid{padding-inline:8px!important;}
  .future_hero_shell{
    min-height:auto!important;
    padding:54px 15px 0!important;
    border-radius:0 0 28px 28px!important;
  }
  .future_hero_content{max-width:100%!important;}
  .future_hero_content .ibtdi_eyebrow{
    padding:9px 12px!important;
    font-size:11px!important;
  }
  .future_hero_content h1{
    margin:17px 0 15px!important;
    font-size:clamp(30px,8.7vw,38px)!important;
    line-height:1.28!important;
    letter-spacing:-.4px!important;
  }
  .future_hero_content p{
    display:-webkit-box;
    -webkit-line-clamp:5;
    -webkit-box-orient:vertical;
    overflow:hidden;
    max-width:36ch;
    margin:0 auto 23px!important;
    color:rgba(255,255,255,.72)!important;
    font-size:14.5px!important;
    line-height:1.88!important;
  }
  .ibtdi_hero_actions{
    max-width:100%!important;
    gap:10px!important;
  }
  .ibtdi_hero_actions .ibtdi_primary_btn,
  .ibtdi_hero_actions .future_white_btn{
    min-height:56px!important;
    border-radius:17px!important;
  }
  .future_browser_mockup{
    margin:30px auto -16px!important;
    border-radius:18px 18px 0 0!important;
  }
  .browser_topbar{height:42px!important;}
  .browser_address{display:none!important;}
  .browser_body{min-height:0!important;}
  .mock_main{padding:16px!important;}
  .mock_greeting small{font-size:10px!important;}
  .mock_greeting h3{font-size:19px!important;line-height:1.45!important;}
  .mock_cards_grid{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:7px!important;
  }
  .mock_cards_grid>div{
    min-width:0;
    padding:10px 7px!important;
    border-radius:13px!important;
  }
  .mock_cards_grid>div b{font-size:11px!important;}
  .mock_cards_grid>div strong{font-size:11px!important;line-height:1.4!important;}
  .mock_cards_grid>div p{display:none!important;}
  .mock_progress{margin-top:13px!important;}

  /* Clear mobile rhythm across the long page. */
  .sec_padding{padding-top:68px!important;padding-bottom:68px!important;}
  .section_title h2,
  .section_title_two h2{font-size:30px!important;line-height:1.34!important;}
  .section_title p,
  .section_title_two p{font-size:14.5px!important;line-height:1.85!important;}
  .ibtdi_clients_after_hero{padding:52px 0 38px!important;}
  .ibtdi_metric_row{row-gap:9px;}
  .ibtdi_metric{min-height:91px!important;border-radius:17px!important;}

  .ai49_heading h2{font-size:30px!important;line-height:1.35!important;}
  .ai49_trigger{width:100%!important;max-width:100%!important;}
  .ai49_flow{gap:14px!important;}
  .ai49_node{border-radius:20px!important;padding:18px!important;}
  .ai49_assurance{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:9px!important;
  }
  .ai49_assurance b{display:none!important;}

  .ibtdi_stack_card{
    padding:17px!important;
    border-radius:24px!important;
  }
  .stack_card_content h3{font-size:25px!important;}
  .stack_card_content p{font-size:14px!important;}
  .stack_meta_grid{gap:8px!important;}
  .stack_meta_grid>div{padding:12px!important;border-radius:15px!important;}
  .stack_media_visual{padding:10px!important;border-radius:18px!important;}
  .stack_media_visual img{height:190px!important;border-radius:13px!important;}
  .stack_action{width:100%;min-height:51px!important;}

  .services_decision_cta{margin-top:5px!important;}
  .services_decision_content p{font-size:14px!important;}

  /* Horizontal chip rail stays usable with one thumb. */
  .product_store_toolbar{position:relative;}
  .product_filters{
    display:flex!important;
    flex-wrap:nowrap!important;
    width:100%;
    overflow-x:auto;
    padding:3px 2px 10px;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
  }
  .product_filters::-webkit-scrollbar{display:none;}
  .product_filter{
    flex:0 0 auto;
    min-width:max-content;
    scroll-snap-align:start;
  }
  .product_selection_summary{
    align-items:center!important;
    gap:10px!important;
    padding:13px!important;
    border-radius:18px!important;
  }
  .product_selection_summary a{min-height:45px!important;padding:10px 13px!important;font-size:12px!important;}
  .store_product_card{border-radius:23px!important;}
  .store_product_media{height:175px!important;}
  .store_product_body{padding:18px!important;}
  .store_product_body h3{font-size:21px!important;}
  .store_product_body p{font-size:14px!important;line-height:1.8!important;}
  .store_product_footer{align-items:center!important;gap:8px!important;}
  .product_add_btn{min-width:124px!important;}

  .portfolio_cases_grid{grid-template-columns:1fr!important;}
  .portfolio_case{border-radius:24px!important;}
  .testimonial_story_card_v34{border-radius:24px!important;}
  .testimonial_story_card_v34 .testimonial_video_frame{height:235px!important;}
  .faq_centered_header h2{font-size:30px!important;}
  #faq .accordion-button{font-size:15px!important;}

  /* Replace the two large floating circles with a thumb-friendly dock. */
  .sticky-contact-bar{display:none!important;}
  .mobile_action_dock{
    position:fixed;
    right:12px;
    bottom:calc(10px + env(safe-area-inset-bottom));
    left:12px;
    z-index:99998;
    display:grid;
    grid-template-columns:1fr 1.18fr 1fr;
    gap:7px;
    padding:7px;
    border-radius:22px;
    background:rgba(7,13,26,.91);
    border:1px solid rgba(255,255,255,.12);
    box-shadow:0 22px 55px rgba(2,7,17,.35),inset 0 1px 0 rgba(255,255,255,.08);
    backdrop-filter:blur(18px) saturate(1.2);
    -webkit-backdrop-filter:blur(18px) saturate(1.2);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(calc(130% + env(safe-area-inset-bottom)));
    transition:opacity .25s ease,visibility .25s ease,transform .34s cubic-bezier(.2,.8,.2,1);
  }
  body.mobile_dock_visible:not(.mobile_menu_open) .mobile_action_dock{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateY(0);
  }
  .mobile_action_dock a{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    min-width:0;
    min-height:52px;
    padding:8px 6px;
    border-radius:16px;
    color:rgba(255,255,255,.72)!important;
    background:rgba(255,255,255,.045);
    border:1px solid rgba(255,255,255,.055);
    font-size:11px;
    font-weight:800;
    text-decoration:none;
  }
  .mobile_action_dock svg{
    width:18px;
    height:18px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
  }
  .mobile_action_dock i{font-size:19px;}
  .mobile_action_dock .mobile_dock_primary{
    color:#fff!important;
    background:linear-gradient(135deg,#16b85c,#25d366)!important;
    border-color:rgba(255,255,255,.18)!important;
    box-shadow:0 10px 24px rgba(37,211,102,.25),inset 0 1px 0 rgba(255,255,255,.18);
  }

  /* Popup close button remains anchored and centered on all phones. */
  .ibtdi-exit-popup-overlay{z-index:1000010!important;}
  .ibtdi-exit-close{
    top:12px!important;
    left:12px!important;
    right:auto!important;
    display:grid!important;
    place-items:center;
    padding:0!important;
    line-height:1!important;
  }
  .ibtdi-exit-close{font-size:0!important;}
  .ibtdi-exit-close:before,
  .ibtdi-exit-close:after{
    content:"";
    position:absolute;
    width:17px;
    height:2px;
    border-radius:99px;
    background:currentColor;
  }
  .ibtdi-exit-close:before{transform:rotate(45deg);}
  .ibtdi-exit-close:after{transform:rotate(-45deg);}

  .ibtdi_header_v6 .navbar-collapse,
  .ibtdi_header_v6 .navbar-collapse.collapsing{
    width:100vw!important;
    border-left:0!important;
  }
}

@media(max-width:379.98px){
  .ibtdi_header_v6 .navbar-collapse,
  .ibtdi_header_v6 .navbar-collapse.collapsing{width:94vw!important;padding-inline:14px!important;}
  .future_hero_content h1{font-size:29px!important;}
  .future_hero_content p{-webkit-line-clamp:4;font-size:14px!important;}
  .mobile_action_dock{right:8px;left:8px;gap:5px;padding:6px;}
  .mobile_action_dock a{font-size:10px;}
  .product_selection_summary{display:grid!important;grid-template-columns:auto 1fr!important;}
  .product_selection_summary a{grid-column:1/-1;width:100%!important;}
}

@media(prefers-reduced-motion:reduce){
  .ibtdi_header_v6 .navbar-collapse,
  .mobile_menu_backdrop,
  .ibtdi_header_v6 .navbar-toggler{transition:none!important;}
}
