/* ================================================================
   TASA TECHNOLOGIES — REFERENCE RESPONSIVE LAYER
   Based on the supplied Techno Xpert mobile/tablet screenshots.
   IMPORTANT: Desktop > 1024px is intentionally untouched.
   ================================================================ */

@media (max-width:1024px){
  html,body{width:100%;max-width:100%;overflow-x:hidden!important}
  *,*::before,*::after{box-sizing:border-box}
  img,svg,video,canvas,iframe{max-width:100%;height:auto}
  .elementor,.elementor-section,.elementor-container{max-width:100%}
  .elementor-section.elementor-section-boxed>.elementor-container{max-width:100%!important}
  input,textarea,select,button{max-width:100%}
  .swiper,.swiper-container,.ekit-main-swiper{max-width:100%!important;overflow:hidden!important}

  /* ---------- Compact top utility strip, like reference ---------- */
  .tasa-shell-topbar-inner{
    width:100%!important;max-width:100%!important;min-height:34px!important;
    padding:0 14px!important;display:flex!important;align-items:center!important;
    justify-content:flex-start!important;gap:10px!important;flex-wrap:nowrap!important
  }
  .tasa-shell-contact{display:flex!important;align-items:center!important;gap:9px!important;flex-wrap:nowrap!important;min-width:0!important}
  .tasa-shell-contact-item{font-size:11px!important;gap:5px!important;line-height:1!important;white-space:nowrap!important}
  .tasa-shell-contact-item svg,.tasa-shell-contact-item svg.phone{width:13px!important;height:13px!important;flex:0 0 13px!important}
  .tasa-shell-separator{height:18px!important;margin:0 2px!important;background:rgba(255,255,255,.58)!important}
  .tasa-shell-social{display:none!important}

  /* ---------- Logo + hamburger row ---------- */
  .tasa-shell-navbar{position:relative!important;z-index:9994!important}
  .tasa-shell-navbar-inner{
    width:100%!important;max-width:100%!important;min-height:72px!important;
    padding:0 16px!important;display:flex!important;align-items:center!important;gap:12px!important
  }
  .tasa-shell-logo{width:auto!important;min-width:0!important;flex:0 0 auto!important}
  .tasa-shell-logo img{width:auto!important;max-width:92px!important;max-height:52px!important;object-fit:contain!important}
  .tasa-shell-quote{display:none!important}
  .tasa-shell-menu-toggle{
    display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;
    width:38px!important;height:38px!important;margin-left:auto!important;padding:7px!important;
    border:1px solid rgba(0,35,102,.28)!important;border-radius:8px!important;background:#fff!important;
    box-shadow:0 5px 14px rgba(0,35,102,.08)!important;position:relative!important;z-index:10031!important
  }
  .tasa-shell-menu-toggle span{display:block!important;width:20px!important;height:2px!important;margin:2.5px 0!important;background:#002366!important;border-radius:3px!important}

  /* ---------- Reference-style LEFT OFF-CANVAS menu ---------- */
  .tasa-shell-nav{
    position:fixed!important;top:0!important;bottom:0!important;left:0!important;right:auto!important;
    width:min(72vw,320px)!important;max-width:320px!important;height:100dvh!important;min-height:100vh!important;
    display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;
    gap:0!important;margin:0!important;padding:94px 22px 28px!important;
    background:#fff!important;box-shadow:12px 0 35px rgba(0,0,0,.16)!important;
    transform:translateX(-105%)!important;transition:transform .28s cubic-bezier(.4,0,.2,1)!important;
    overflow-y:auto!important;opacity:1!important;visibility:visible!important;z-index:10030!important
  }
  .tasa-shell-nav.open{transform:translateX(0)!important}
  .tasa-shell-nav::before{
    content:"";position:absolute;left:20px;top:22px;width:105px;height:58px;
    background:url('../assets/tasa-logo.png') left center/contain no-repeat
  }
  .tasa-shell-nav::after{
    content:"×";position:absolute;right:17px;top:26px;width:34px;height:34px;border-radius:7px;
    display:flex;align-items:center;justify-content:center;color:#002366;font:400 28px/1 Arial,sans-serif;
    border:1px solid #e4e8f1;background:#fff;cursor:pointer
  }
  .tasa-shell-nav>a,.tasa-shell-more-btn{
    width:100%!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;
    min-height:46px!important;margin:0!important;padding:11px 0!important;border:0!important;border-bottom:1px solid #f1f2f5!important;
    color:#4c4c4c!important;background:transparent!important;box-shadow:none!important;border-radius:0!important;
    font-family:"Lato",Arial,sans-serif!important;font-size:14px!important;font-weight:400!important;line-height:1.2!important;text-align:left!important
  }
  .tasa-shell-nav>a:hover,.tasa-shell-nav>a[aria-current="page"]{color:#002366!important}
  .tasa-shell-more{display:block!important;position:relative!important;min-height:0!important;width:100%!important}
  .tasa-shell-more-btn{position:relative!important;padding-right:26px!important}
  .tasa-shell-more-btn b{display:none!important}
  .tasa-shell-more-btn::after{content:"⌄"!important;display:block!important;position:absolute!important;right:2px!important;top:50%!important;transform:translateY(-54%)!important;font-size:16px!important;color:#555!important}
  .tasa-shell-more.open>.tasa-shell-more-btn::after{content:"⌃"!important}
  .tasa-shell-dropdown{
    position:static!important;width:100%!important;display:none!important;opacity:1!important;visibility:visible!important;
    transform:none!important;pointer-events:auto!important;margin:0!important;padding:2px 0 6px 12px!important;
    border-radius:0!important;box-shadow:none!important;background:#fff!important
  }
  .tasa-shell-more.open .tasa-shell-dropdown{display:block!important}
  .tasa-shell-dropdown a{display:block!important;padding:10px 9px!important;margin:0!important;background:#fff!important;border-bottom:1px solid #f4f4f6!important;color:#666!important;font-size:13px!important}

  .tasa-mobile-nav-overlay{
    position:fixed;inset:0;background:rgba(12,17,28,.72);opacity:0;visibility:hidden;pointer-events:none;
    transition:.28s ease;z-index:10020
  }
  .tasa-mobile-nav-overlay.open{opacity:1;visibility:visible;pointer-events:auto}
  body.tasa-drawer-open{overflow:hidden!important;touch-action:none}

  /* ---------- Footer follows the supplied compact responsive flow ---------- */
  .tasa-shell-newsletter{min-height:145px!important}
  .tasa-shell-newsletter-inner{
    width:100%!important;max-width:100%!important;padding:25px 18px!important;
    display:grid!important;grid-template-columns:1fr!important;gap:16px!important;text-align:center!important
  }
  .tasa-shell-newsletter h2{font-size:25px!important;line-height:1.16!important;text-align:center!important}
  .tasa-shell-subscribe{width:min(100%,520px)!important;max-width:520px!important;justify-self:center!important;display:flex!important;flex-direction:row!important;gap:0!important;box-shadow:none!important}
  .tasa-shell-subscribe input{height:46px!important;min-width:0!important;padding:0 14px!important;font-size:14px!important;border-radius:3px 0 0 3px!important}
  .tasa-shell-subscribe button{height:46px!important;min-width:104px!important;width:auto!important;padding:0 14px!important;font-size:13px!important;border-radius:0 3px 3px 0!important}
  .tasa-shell-footer-main{min-height:190px!important;padding:38px 16px 32px!important}
  .tasa-shell-footer-nav{gap:13px 24px!important;margin:0 0 28px!important;max-width:500px!important}
  .tasa-shell-footer-nav a{font-size:13px!important}
  .tasa-shell-footer-social{gap:12px!important}
  .tasa-shell-footer-social a{width:35px!important;height:35px!important}
  .tasa-shell-footer-social svg{width:18px!important;height:18px!important}
  .tasa-shell-copyright{min-height:46px!important;font-size:12px!important;padding:10px 14px!important}

  /* ---------- Custom/TASA sections ---------- */
  .tasa-tech-delivery-section{padding:38px 16px 48px!important}
  .tasa-tech-delivery-card{width:100%!important;max-width:860px!important;padding:30px 22px 32px!important;border-radius:18px!important}
  .tasa-tech-delivery-eyebrow{font-size:16px!important;margin-bottom:9px!important}
  .tasa-tech-delivery-card h2{font-size:27px!important;line-height:1.18!important}
  .tasa-tech-delivery-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:18px 14px!important;margin-top:30px!important}
  .tasa-tech-delivery-item{gap:8px!important;min-width:0!important;padding:0!important}
  .tasa-tech-delivery-icon{width:27px!important;height:27px!important;max-width:27px!important;max-height:27px!important;flex-basis:27px!important}
  .tasa-tech-delivery-item span{font-size:13px!important;white-space:nowrap!important}

  /* More/custom pages retain their desktop visual identity but stack naturally. */
  .mp-hero{min-height:250px!important;height:auto!important;padding:60px 18px!important}
  .mp-hero h1{font-size:36px!important}
  .mp-section{width:100%!important;max-width:100%!important;padding:58px 22px!important}
  .mp-intro{grid-template-columns:1fr!important;gap:18px!important}
  .mp-intro-copy{border-left:0!important;border-top:2px solid #002366!important;padding:18px 0 0!important}
  .mp-industry-grid,.mp-team-grid,.mp-testimonial-grid,.mp-pricing-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:20px!important}
  .mp-counter-card{max-width:92%!important;margin-left:auto!important;margin-right:auto!important}
  .mp-counter-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  .mp-faq-top,.mp-faq-lower{grid-template-columns:1fr!important;gap:22px!important}
  .tasa-package-grid,.tasa-service-price-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .tasa-price-tables{grid-template-columns:1fr!important}
}

/* =============================== TABLET =============================== */
@media (min-width:768px) and (max-width:1024px){
  .tasa-shell-topbar-inner{padding-left:24px!important;padding-right:24px!important}
  .tasa-shell-navbar-inner{min-height:80px!important;padding-left:26px!important;padding-right:26px!important}
  .tasa-shell-logo img{max-width:112px!important;max-height:58px!important}
  .tasa-shell-menu-toggle{width:42px!important;height:42px!important}
  .tasa-shell-nav{width:min(46vw,360px)!important;max-width:360px!important;padding-left:28px!important;padding-right:28px!important}
  .tasa-shell-nav::before{width:118px;height:62px;left:26px}

  /* Keep original Elementor tablet proportions. Only protect overflow. */
  body:not(.tasa-more-page) .elementor-section>.elementor-container{width:100%!important}
  body:not(.tasa-more-page) .elementor-column{min-width:0!important}
  body:not(.tasa-more-page) .elementor-widget-wrap{max-width:100%!important}

  .tasa-tech-delivery-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
}

/* =============================== MOBILE =============================== */
@media (max-width:767px){
  body{font-size:14px;line-height:1.5}
  .tasa-shell-topbar-inner{min-height:30px!important;padding:0 8px!important;justify-content:center!important}
  .tasa-shell-contact{justify-content:center!important;gap:6px!important;width:100%!important}
  .tasa-shell-contact-item{font-size:9.5px!important;gap:4px!important}
  .tasa-shell-contact-item svg,.tasa-shell-contact-item svg.phone{width:11px!important;height:11px!important;flex-basis:11px!important}
  .tasa-shell-separator{height:15px!important;margin:0 2px!important}
  .tasa-shell-navbar-inner{min-height:68px!important;padding:0 12px!important}
  .tasa-shell-logo img{max-width:82px!important;max-height:46px!important}
  .tasa-shell-menu-toggle{width:36px!important;height:36px!important}
  .tasa-shell-nav{width:min(76vw,300px)!important;padding:88px 20px 24px!important}
  .tasa-shell-nav::before{left:18px;top:20px;width:92px;height:54px}

  /* Let the original captured Elementor CSS control column order/geometry.
     We only normalize widths that can exceed a phone viewport. */
  body:not(.tasa-more-page) .elementor,
  body:not(.tasa-more-page) .elementor-section,
  body:not(.tasa-more-page) .elementor-container,
  body:not(.tasa-more-page) .elementor-column,
  body:not(.tasa-more-page) .elementor-widget-wrap,
  body:not(.tasa-more-page) .elementor-widget,
  body:not(.tasa-more-page) .elementor-widget-container{max-width:100%!important}
  body:not(.tasa-more-page) .elementor-section.elementor-section-boxed>.elementor-container{width:100%!important}
  body:not(.tasa-more-page) img{max-width:100%!important}
  body:not(.tasa-more-page) .elementor-widget-image img{height:auto!important}
  body:not(.tasa-more-page) .elementor-heading-title{overflow-wrap:break-word!important;word-break:normal!important}

  /* Compact inner-page banners, matching supplied responsive screenshots. */
  body:not(.home):not(.tasa-more-page) .elementor>.elementor-top-section:first-child{
    min-height:130px!important;height:auto!important;padding-top:0!important;padding-bottom:0!important
  }
  body:not(.home):not(.tasa-more-page) .elementor>.elementor-top-section:first-child>.elementor-container{min-height:130px!important}
  body:not(.home):not(.tasa-more-page) .elementor>.elementor-top-section:first-child .elementor-heading-title{font-size:27px!important;line-height:1.1!important}

  /* Forms should fill their card instead of preserving captured desktop widths. */
  .mf-input-wrapper,.mf-input,.mf-input-select,.mf-input-multiselect,textarea,input,select{max-width:100%!important}
  .metform-form-content,.metform-form-main-wrapper{max-width:100%!important}

  /* Technology card stays compact 2x2 on phones, as a single coherent card. */
  .tasa-tech-delivery-section{padding:30px 12px 38px!important}
  .tasa-tech-delivery-card{padding:25px 15px 27px!important;border-radius:14px!important}
  .tasa-tech-delivery-eyebrow{font-size:14px!important}
  .tasa-tech-delivery-card h2{font-size:22px!important}
  .tasa-tech-delivery-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px 8px!important;margin-top:24px!important}
  .tasa-tech-delivery-item{justify-content:center!important;gap:6px!important}
  .tasa-tech-delivery-icon{width:23px!important;height:23px!important;max-width:23px!important;max-height:23px!important;flex-basis:23px!important}
  .tasa-tech-delivery-item span{font-size:11px!important}

  /* More pages — same one-column behavior as reference mobile pages. */
  .mp-hero{min-height:150px!important;padding:42px 16px!important}
  .mp-hero h1{font-size:27px!important}
  .mp-section{padding:45px 14px!important}
  .mp-intro{text-align:center!important}
  .mp-intro h2{font-size:27px!important}
  .mp-industry-grid,.mp-team-grid,.mp-testimonial-grid,.mp-pricing-grid,
  .tasa-package-grid,.tasa-service-price-grid{grid-template-columns:1fr!important;gap:18px!important}
  .mp-counter-wrap{padding-left:12px!important;padding-right:12px!important}
  .mp-counter-card{max-width:100%!important;border-radius:13px!important;padding:22px 14px!important}
  .mp-counter-grid{grid-template-columns:1fr!important;gap:0!important}
  .mp-counter-item{padding:15px 8px!important;border-right:0!important;border-bottom:1px solid #eceff5!important}
  .mp-counter-item:last-child{border-bottom:0!important}
  .mp-faq-top,.mp-faq-lower{grid-template-columns:1fr!important}

  /* Footer compact like the supplied screenshots. */
  .tasa-shell-newsletter-inner{padding:22px 12px!important;gap:12px!important}
  .tasa-shell-newsletter h2{font-size:20px!important}
  .tasa-shell-subscribe{width:100%!important;max-width:360px!important}
  .tasa-shell-subscribe input{height:40px!important;font-size:12px!important;padding:0 10px!important}
  .tasa-shell-subscribe button{height:40px!important;min-width:82px!important;font-size:11px!important;padding:0 10px!important}
  .tasa-shell-footer-main{min-height:150px!important;padding:28px 12px 24px!important}
  .tasa-shell-footer-nav{gap:8px 16px!important;margin-bottom:22px!important}
  .tasa-shell-footer-nav a{font-size:11px!important}
  .tasa-shell-footer-social a{width:31px!important;height:31px!important}
  .tasa-shell-footer-social svg{width:15px!important;height:15px!important}
  .tasa-shell-copyright{min-height:40px!important;font-size:10px!important}
}

@media (max-width:360px){
  .tasa-shell-contact-item{font-size:8.5px!important}
  .tasa-shell-nav{width:82vw!important}
  .tasa-tech-delivery-grid{gap:15px 5px!important}
  .tasa-tech-delivery-item span{font-size:10px!important}
}

/* Specificity guard: global desktop reset must not turn More into an auto-width button inside the drawer. */
@media (max-width:1024px){
  .tasa-global-site-header .tasa-shell-more-btn,
  .tasa-global-site-header .tasa-shell-more-btn:hover,
  .tasa-global-site-header .tasa-shell-more-btn:focus,
  .tasa-global-site-header .tasa-shell-more-btn:active{
    width:100%!important;min-width:0!important;height:auto!important;min-height:46px!important;
    display:flex!important;align-items:center!important;justify-content:flex-start!important;
    padding:11px 26px 11px 0!important;margin:0!important;border-bottom:1px solid #f1f2f5!important;
    border-radius:0!important;background:transparent!important;box-shadow:none!important;
    font-size:14px!important;color:#4c4c4c!important;position:relative!important
  }
  .tasa-global-site-header .tasa-shell-more-btn b{display:none!important}
  .tasa-global-site-header .tasa-shell-more-btn::after{
    content:"⌄"!important;display:block!important;position:absolute!important;right:2px!important;top:50%!important;
    transform:translateY(-54%)!important;font-size:16px!important;color:#555!important
  }
  .tasa-global-site-header .tasa-shell-more.open>.tasa-shell-more-btn::after{content:"⌃"!important}
}

/* ================================================================
   MOBILE/TABLET DRAWER INTERACTION FIX
   Preserve desktop (>1024px) exactly as-is.
   ================================================================ */
@media (max-width:1024px){
  /* Do not disable taps while drawer is open. */
  body.tasa-drawer-open{
    overflow:hidden!important;
    touch-action:auto!important;
    overscroll-behavior:contain!important;
  }

  .tasa-shell-menu-toggle,
  .tasa-shell-nav,
  .tasa-shell-nav a,
  .tasa-shell-more,
  .tasa-shell-more-btn,
  .tasa-shell-dropdown,
  .tasa-shell-dropdown a{
    pointer-events:auto!important;
    touch-action:manipulation!important;
    -webkit-tap-highlight-color:rgba(0,35,102,.08);
  }

  .tasa-shell-nav{
    isolation:isolate!important;
  }

  .tasa-shell-nav>a,
  .tasa-shell-more-btn,
  .tasa-shell-dropdown a{
    position:relative!important;
    z-index:2!important;
    cursor:pointer!important;
    user-select:none!important;
    -webkit-user-select:none!important;
  }

  .tasa-shell-dropdown{
    position:relative!important;
    z-index:3!important;
  }

  .tasa-mobile-nav-overlay{
    touch-action:manipulation!important;
  }
}

/* ================================================================
   HOME CTA STRIP — structure matched to supplied reference
   ================================================================ */
.tasa-home-action-strip{
  position:relative;
  z-index:25;
  margin-top:-66px;
  padding:0 20px 46px;
  background:transparent;
}
.tasa-home-action-inner{
  width:min(1370px,calc(100% - 40px));
  margin:0 auto;
  display:grid;
  grid-template-columns:1.08fr 1.38fr .86fr;
  align-items:stretch;
  filter:drop-shadow(0 15px 22px rgba(0,0,0,.10));
}
.tasa-action{
  min-height:150px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:30px;
  padding:30px 48px;
  text-decoration:none!important;
  font-family:"Josefin Sans","Lato",Arial,sans-serif!important;
  font-size:30px;
  line-height:1.02;
  font-weight:700;
  color:#002366!important;
  background:#fff;
  transition:transform .2s ease,background .2s ease,color .2s ease;
}
.tasa-action:hover{transform:translateY(-3px)}
.tasa-action-primary{
  color:#fff!important;
  background:#002366;
  border-radius:22px 0 0 22px;
  justify-content:space-between;
}
.tasa-action-call{border-right:1px solid #d8dbe2}
.tasa-action-quote{
  border-radius:0;
  justify-content:space-between;
}
.tasa-action-arrow{
  flex:0 0 auto;
  font-family:Arial,sans-serif;
  font-size:58px;
  line-height:.8;
  font-weight:400;
}
.tasa-action-phone{
  width:62px;
  height:62px;
  flex:0 0 62px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#002366;
}
.tasa-action-phone svg{width:54px;height:54px;fill:currentColor}
.tasa-action-label{display:block}

@media(max-width:1024px){
  .tasa-home-action-strip{margin-top:-22px;padding:0 16px 34px}
  .tasa-home-action-inner{
    width:100%;
    grid-template-columns:1fr 1fr;
    gap:0;
    filter:drop-shadow(0 10px 18px rgba(0,0,0,.10));
  }
  .tasa-action{min-height:100px;padding:20px 24px;font-size:21px;gap:16px}
  .tasa-action-primary{border-radius:14px 0 0 14px}
  .tasa-action-call{border-radius:0 14px 14px 0;border-right:0}
  .tasa-action-quote{grid-column:1/-1;min-height:84px;border-radius:0 0 14px 14px;border-top:1px solid #e1e4ea}
  .tasa-action-arrow{font-size:38px}
  .tasa-action-phone{width:42px;height:42px;flex-basis:42px}.tasa-action-phone svg{width:38px;height:38px}
}
@media(max-width:600px){
  .tasa-home-action-strip{margin-top:-10px;padding:0 12px 28px}
  .tasa-home-action-inner{display:flex;flex-direction:column}
  .tasa-action{min-height:74px;padding:16px 19px;font-size:18px;border:0;border-bottom:1px solid #e3e6ec;border-radius:0!important}
  .tasa-action-primary{border-radius:12px 12px 0 0!important}
  .tasa-action-quote{border-radius:0 0 12px 12px!important}
  .tasa-action-arrow{font-size:31px}
  .tasa-action-phone{width:34px;height:34px;flex-basis:34px}.tasa-action-phone svg{width:31px;height:31px}
}
@media(max-width:1024px){
  .tasa-mobile-nav-overlay{z-index:10020!important}
  .tasa-shell-nav{z-index:10040!important}
  .tasa-shell-nav>a,.tasa-shell-more-btn,.tasa-shell-dropdown a{z-index:10042!important;pointer-events:auto!important}
  .tasa-shell-dropdown{z-index:10043!important}
}

/* =====================================================================
   FINAL CTA SCALE + MOBILE DRAWER CLICKABILITY PATCH
   Desktop body design remains unchanged; only the custom CTA is sized.
   ===================================================================== */

/* Desktop CTA: fixed reference proportions instead of viewport scaling. */
@media (min-width:1025px){
  .tasa-home-action-strip{
    margin-top:-82px!important;
    padding:0 24px 46px!important;
  }
  .tasa-home-action-inner{
    width:calc(100% - 48px)!important;
    max-width:1382px!important;
    margin:0 auto!important;
    display:grid!important;
    grid-template-columns:minmax(330px,438px) minmax(0,907px)!important;
    gap:38px!important;
    align-items:stretch!important;
    filter:drop-shadow(0 13px 20px rgba(0,0,0,.10))!important;
  }
  .tasa-action-white-group{
    display:grid!important;
    grid-template-columns:minmax(0,558px) minmax(0,349px)!important;
    min-width:0!important;
  }
  .tasa-action{
    min-height:148px!important;
    height:148px!important;
    padding:24px 38px!important;
    gap:24px!important;
    font-size:24px!important;
    line-height:1.05!important;
  }
  .tasa-action-primary{
    border-radius:18px!important;
  }
  .tasa-action-call{
    border-radius:18px 0 0 18px!important;
    border-right:1px solid #d8dbe2!important;
  }
  .tasa-action-quote{
    border-radius:0!important;
  }
  .tasa-action-arrow{
    font-size:46px!important;
    line-height:1!important;
  }
  .tasa-action-phone{
    width:50px!important;height:50px!important;flex:0 0 50px!important;
  }
  .tasa-action-phone svg{width:44px!important;height:44px!important}
}

/* Make the modified CTA markup responsive without affecting page sections. */
@media (max-width:1024px){
  .tasa-home-action-inner{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:0!important;
  }
  .tasa-action-white-group{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    min-width:0!important;
  }
  .tasa-action-primary{border-radius:14px 14px 0 0!important}
  .tasa-action-call{border-radius:0!important;border-right:1px solid #e1e4ea!important}
  .tasa-action-quote{grid-column:auto!important;border-radius:0!important;border-top:0!important}

  /* Drawer itself is a higher stacking context than its overlay. */
  .tasa-global-site-header{position:relative!important;z-index:11050!important}
  .tasa-shell-navbar{z-index:11060!important}
  .tasa-shell-nav{z-index:11080!important;pointer-events:auto!important}
  .tasa-shell-nav.open{pointer-events:auto!important}
  .tasa-shell-nav::after{display:none!important;content:none!important}
  .tasa-drawer-close{
    display:flex!important;position:absolute!important;right:17px!important;top:26px!important;
    width:34px!important;height:34px!important;align-items:center!important;justify-content:center!important;
    padding:0!important;margin:0!important;border:1px solid #e4e8f1!important;border-radius:7px!important;
    background:#fff!important;color:#002366!important;font:400 28px/1 Arial,sans-serif!important;
    cursor:pointer!important;z-index:11090!important;pointer-events:auto!important;touch-action:manipulation!important
  }
  .tasa-shell-nav a,
  .tasa-shell-more-btn,
  .tasa-shell-dropdown a{
    pointer-events:auto!important;
    touch-action:manipulation!important;
    position:relative!important;
    z-index:11085!important;
  }
  body.tasa-drawer-open{overflow:hidden!important;touch-action:auto!important}
  .tasa-mobile-nav-overlay{z-index:10000!important}
}

/* Physically keep overlay OUTSIDE the drawer hit area. */
@media (min-width:768px) and (max-width:1024px){
  .tasa-mobile-nav-overlay{left:min(46vw,360px)!important}
}
@media (max-width:767px){
  .tasa-mobile-nav-overlay{left:min(76vw,300px)!important}
  .tasa-action-white-group{grid-template-columns:1fr!important}
  .tasa-action-call{border-right:0!important;border-bottom:1px solid #e3e6ec!important}
}
@media (max-width:360px){
  .tasa-mobile-nav-overlay{left:82vw!important}
}
@media (min-width:1025px){
  .tasa-drawer-close{display:none!important}
}

/* ================================================================
   FINAL MOBILE/TABLET MORE SUBMENU GAP FIX
   Keep submenu directly under More with no reserved/blank height.
   Desktop (>1024px) is intentionally untouched.
   ================================================================ */
@media (max-width:1024px){
  .tasa-global-site-header .tasa-shell-nav .tasa-shell-more,
  .tasa-global-site-header .tasa-shell-nav .tasa-shell-more.open{
    display:block!important;
    position:relative!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    flex:0 0 auto!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
  }

  .tasa-global-site-header .tasa-shell-nav .tasa-shell-more-btn{
    margin:0!important;
  }

  .tasa-global-site-header .tasa-shell-nav .tasa-shell-dropdown,
  .tasa-global-site-header .tasa-shell-nav .tasa-shell-more.open .tasa-shell-dropdown{
    position:static!important;
    inset:auto!important;
    top:auto!important;
    right:auto!important;
    bottom:auto!important;
    left:auto!important;
    float:none!important;
    clear:both!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:0!important;
    padding:0 0 4px 14px!important;
    transform:none!important;
    translate:none!important;
    box-shadow:none!important;
    border-radius:0!important;
    background:#fff!important;
    overflow:visible!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }

  .tasa-global-site-header .tasa-shell-nav .tasa-shell-dropdown{
    display:none!important;
  }
  .tasa-global-site-header .tasa-shell-nav .tasa-shell-more.open .tasa-shell-dropdown{
    display:block!important;
  }

  .tasa-global-site-header .tasa-shell-nav .tasa-shell-dropdown a{
    display:block!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:11px 10px!important;
    line-height:1.25!important;
  }
}
