/* V8.50.0 MOBILE BUNDLE — CORE */
/* ==========================================================
   AASHMAAN V8.47.0
   TRUE MOBILE EXPERIENCE

   Everything here is restricted to <= 720px.
   Desktop is untouched.
   ========================================================== */

@media (max-width:720px){

  html,
  body{
    width:100%;
    max-width:100%;
    overflow-x:hidden!important;
  }

  html.v8470-nav-open,
  body.v8470-nav-open{
    overflow:hidden!important;
  }


  /* ========================================================
     STICKY HEADER
     ======================================================== */

  body.v8 .v6-utility{
    display:none!important;
  }

  body.v8 .v6-header,
  body.v8 .v6-header.scrolled,
  body.v8 .v6-header.header-hidden{
    position:sticky!important;

    top:0!important;
    left:0!important;
    right:0!important;

    transform:none!important;
    translate:none!important;

    opacity:1!important;
    visibility:visible!important;

    z-index:2147483600!important;

    background:#061d2a!important;

    box-shadow:
      0 1px 0 rgba(255,255,255,.08)!important;
  }

  body.v8 .v6-nav{
    height:66px!important;
    min-height:66px!important;
  }

  body.v8 .v6-brand img{
    width:162px!important;
    max-width:52vw!important;
  }

  body.v8 .v6-links{
    display:none!important;
  }

  body.v8 .v6-actions .track,
  body.v8 .v6-actions .portal,
  body.v8 .v6-actions .quote{
    display:none!important;
  }

  body.v8 .v6-menu-btn{
    display:flex!important;

    position:relative!important;

    align-items:center!important;
    justify-content:center!important;
    flex-direction:column!important;

    gap:5px!important;

    width:46px!important;
    min-width:46px!important;
    height:46px!important;

    padding:0!important;

    border:0!important;

    background:transparent!important;

    box-shadow:none!important;

    opacity:1!important;
    visibility:visible!important;

    z-index:2147483646!important;
  }

  body.v8 .v6-menu-btn span{
    display:block!important;

    position:relative!important;

    top:auto!important;
    left:auto!important;

    width:24px!important;
    height:2px!important;

    margin:0!important;

    background:#1697df!important;

    transform:none!important;

    opacity:1!important;

    transition:
      transform .22s ease,
      opacity .18s ease!important;
  }

  body.v8470-nav-open
  .v6-menu-btn span:nth-child(1){
    transform:
      translateY(7px)
      rotate(45deg)!important;
  }

  body.v8470-nav-open
  .v6-menu-btn span:nth-child(2){
    opacity:0!important;
  }

  body.v8470-nav-open
  .v6-menu-btn span:nth-child(3){
    transform:
      translateY(-7px)
      rotate(-45deg)!important;
  }


  /* ========================================================
     COMPLETE MOBILE DRAWER
     ======================================================== */

  .v8470-backdrop{
    position:fixed;

    inset:66px 0 0;

    background:rgba(1,15,24,.62);

    backdrop-filter:blur(5px);
    -webkit-backdrop-filter:blur(5px);

    opacity:0;
    visibility:hidden;
    pointer-events:none;

    transition:
      opacity .24s ease,
      visibility 0s linear .24s;

    z-index:2147483400;
  }

  body.v8470-nav-open .v8470-backdrop{
    opacity:1;
    visibility:visible;
    pointer-events:auto;

    transition:
      opacity .24s ease,
      visibility 0s;
  }

  .v8470-drawer{
    position:fixed;

    top:66px;
    right:0;
    bottom:0;

    width:min(92vw,430px);

    padding:
      23px
      20px
      max(26px,env(safe-area-inset-bottom));

    background:#fbf8f0;

    overflow-y:auto;
    overflow-x:hidden;

    -webkit-overflow-scrolling:touch;

    transform:translate3d(103%,0,0);

    visibility:hidden;
    pointer-events:none;

    box-shadow:
      -28px 0 70px rgba(2,17,26,.28);

    transition:
      transform .34s cubic-bezier(.22,.82,.3,1),
      visibility 0s linear .34s;

    z-index:2147483500;
  }

  body.v8470-nav-open .v8470-drawer{
    transform:none;

    visibility:visible;
    pointer-events:auto;

    transition:
      transform .34s cubic-bezier(.22,.82,.3,1),
      visibility 0s;
  }

  .v8470-drawer-head{
    padding:
      2px
      2px
      18px;

    border-bottom:
      1px solid rgba(8,42,59,.10);
  }

  .v8470-drawer-head span{
    display:block;

    color:#ae8024;

    font-size:11px;
    font-weight:850;

    letter-spacing:.18em;
    text-transform:uppercase;
  }

  .v8470-drawer-head small{
    display:block;

    margin-top:5px;

    color:#70808a;

    font-size:10px;
  }

  .v8470-menu{
    display:block;
  }

  .v8470-direct,
  .v8470-group-toggle{
    display:flex;

    width:100%;
    min-height:57px;

    align-items:center;
    justify-content:space-between;

    padding:0 3px;

    color:#082d41;

    font-family:"Manrope",sans-serif;
    font-size:17px;
    font-weight:800;

    text-decoration:none;

    border:0;
    border-bottom:
      1px solid rgba(8,42,59,.10);

    background:transparent;

    text-align:left;
  }

  .v8470-direct b,
  .v8470-group-toggle b{
    color:#b88a28;

    font-size:18px;
    font-weight:600;
  }

  .v8470-submenu{
    display:none;

    padding:
      8px
      0
      14px
      14px;

    border-bottom:
      1px solid rgba(8,42,59,.10);
  }

  .v8470-group.open .v8470-submenu{
    display:block;
  }

  .v8470-submenu a{
    display:block;

    padding:10px 5px;

    color:#536c79;

    font-size:13px;
    line-height:1.35;
    font-weight:650;

    text-decoration:none;

    border-bottom:
      1px solid rgba(8,42,59,.055);
  }

  .v8470-submenu a:last-child{
    border-bottom:0;
  }

  .v8470-drawer-actions{
    display:grid;

    grid-template-columns:1fr 1fr;

    gap:8px;

    margin-top:20px;
  }

  .v8470-drawer-actions a{
    display:flex;

    min-height:46px;

    align-items:center;
    justify-content:center;

    padding:10px;

    color:#fff;
    background:#0a3045;

    border-radius:12px;

    font-size:12px;
    font-weight:800;

    text-align:center;
    text-decoration:none;
  }

  .v8470-drawer-actions .gold{
    grid-column:1/-1;

    justify-content:space-between;

    padding-inline:16px;

    color:#082b3e;
    background:#dcaa31;
  }

  .v8470-drawer-contact{
    display:flex;

    flex-direction:column;
    gap:5px;

    margin-top:20px;
    padding-top:17px;

    border-top:
      1px solid rgba(8,42,59,.10);
  }

  .v8470-drawer-contact a{
    color:#697c86;

    font-size:11px;
    font-weight:650;

    text-decoration:none;
  }


  /* ========================================================
     HIDE DESKTOP HOMEPAGE, SHOW TRUE MOBILE HOMEPAGE
     ======================================================== */

  body.v8470-mobile-ready.home-page
  main#main{
    display:none!important;
  }

  .v8470-mobile-main{
    display:block;

    width:100%;

    overflow:hidden;
  }

  .v8470-shell{
    width:calc(100% - 30px);

    margin-inline:auto;
  }


  /* ========================================================
     HERO
     ======================================================== */

  .v8470-hero{
    position:relative;

    padding:
      44px
      0
      38px;

    color:#fff;

    background:
      url("/assets/img/v8520/hero-mobile.webp")
      center center / cover no-repeat;

    overflow:hidden;
  }

  .v8470-hero-overlay{
    position:absolute;

    inset:0;

    background:
      linear-gradient(
        180deg,
        rgba(2,19,29,.55) 0%,
        rgba(2,19,29,.68) 48%,
        rgba(2,19,29,.93) 100%
      );
  }

  .v8470-hero .v8470-shell{
    position:relative;

    z-index:2;
  }

  .v8470-kicker,
  .eyebrow{
    color:#d3a43d;

    font-family:"Manrope",sans-serif;
    font-size:9px;
    line-height:1.2;
    font-weight:850;

    letter-spacing:.18em;
    text-transform:uppercase;
  }

  .v8470-hero h1{
    margin:
      17px
      0
      18px;

    color:#fff;

    font-family:"Manrope",sans-serif;
    font-size:clamp(3rem,13vw,4rem);
    line-height:.87;
    font-weight:850;

    letter-spacing:-.06em;
  }

  .v8470-hero h1 span{
    display:block;

    color:#dfad36;
  }

  .v8470-hero-copy{
    max-width:34rem;

    margin:0;

    color:rgba(255,255,255,.74);

    font-size:15px;
    line-height:1.6;
  }

  .v8470-hero-actions{
    display:grid;

    grid-template-columns:1fr 1fr;

    gap:8px;

    margin-top:23px;
  }

  .v8470-hero-actions a{
    display:flex;

    min-height:47px;

    align-items:center;
    justify-content:center;

    padding:0 11px;

    color:#fff;

    border:
      1px solid rgba(255,255,255,.24);

    border-radius:999px;

    background:rgba(7,28,40,.58);

    font-size:11px;
    font-weight:800;

    text-align:center;
    text-decoration:none;

    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
  }

  .v8470-hero-actions .gold{
    color:#082536;
    background:#dda92f;
    border-color:#dda92f;
  }


  /* ========================================================
     TRACK CARD
     ======================================================== */

  .v8470-track-card{
    margin-top:31px;

    padding:17px;

    border:
      1px solid rgba(217,173,79,.30);

    border-radius:20px;

    background:
      rgba(4,35,50,.92);

    box-shadow:
      0 22px 55px rgba(0,0,0,.28);

    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
  }

  .v8470-track-head{
    display:flex;

    align-items:flex-start;
    justify-content:space-between;

    gap:12px;

    padding-bottom:14px;

    border-bottom:
      1px solid rgba(255,255,255,.10);
  }

  .v8470-track-head small{
    display:block;

    color:#dfb552;

    font-size:9px;
    font-weight:850;

    letter-spacing:.15em;
    text-transform:uppercase;
  }

  .v8470-track-head strong{
    display:block;

    margin-top:7px;

    color:#fff;

    font-size:18px;
  }

  .v8470-track-head > span{
    color:#77dfab;

    font-size:8px;
    font-weight:800;

    letter-spacing:.12em;
  }

  .v8470-track-tabs{
    display:grid;

    grid-template-columns:
      repeat(3,minmax(0,1fr));

    gap:4px;

    margin:
      13px
      0
      10px;

    padding:4px;

    background:
      rgba(255,255,255,.05);

    border-radius:12px;
  }

  .v8470-track-tabs button{
    min-width:0;
    height:43px;

    padding:0 3px;

    color:rgba(255,255,255,.58);
    background:transparent;

    border:0;
    border-radius:9px;

    font-size:10.5px;
    font-weight:800;

    white-space:nowrap;
  }

  .v8470-track-tabs button.active{
    color:#082739;
    background:#fbf8f0;

    box-shadow:
      0 5px 14px rgba(0,0,0,.16);
  }

  .v8470-track-form{
    display:grid;

    gap:7px;
  }

  .v8470-track-form input,
  .v8470-track-form button{
    width:100%;
    height:47px;

    box-sizing:border-box;

    border:0;
    border-radius:12px;
  }

  .v8470-track-form input{
    padding:0 14px;

    color:#173747;
    background:#fff;

    font-size:14px;
  }

  .v8470-track-form button{
    color:#082739;
    background:#dda92f;

    font-size:15px;
    font-weight:900;
  }


  /* ========================================================
     PROOF RAIL
     ======================================================== */

  .v8470-proof{
    padding:
      14px
      0
      17px;

    background:#f5f2e9;
  }

  .v8470-proof-rail{
    display:flex;

    gap:10px;

    padding:
      0
      15px
      4px;

    overflow-x:auto;

    scroll-snap-type:x mandatory;

    scrollbar-width:none;

    -webkit-overflow-scrolling:touch;
  }

  .v8470-proof-rail::-webkit-scrollbar{
    display:none;
  }

  .v8470-proof article{
    flex:
      0 0
      68vw;

    min-width:68vw;

    padding:17px;

    border:
      1px solid rgba(8,42,59,.08);

    border-radius:17px;

    background:#fff;

    scroll-snap-align:start;
  }

  .v8470-proof article b{
    display:block;

    color:#d0a03a;

    font-size:12px;
  }

  .v8470-proof article strong{
    display:block;

    margin-top:7px;

    color:#082e42;

    font-size:17px;
  }

  .v8470-proof article span{
    display:block;

    margin-top:5px;

    color:#70818b;

    font-size:9px;
    font-weight:750;

    letter-spacing:.09em;
    text-transform:uppercase;
  }


  /* ========================================================
     SECTIONS
     ======================================================== */

  .v8470-section{
    padding:
      49px
      0;
  }

  .v8470-section.cream{
    background:#f4efe5;
  }

  .v8470-section.light{
    background:#f8faf9;
  }

  .v8470-section h2,
  .v8470-intelligence h2,
  .v8470-final h2{
    margin:
      13px
      0
      17px;

    color:#062d42;

    font-family:"Manrope",sans-serif;
    font-size:clamp(2.2rem,10vw,2.9rem);
    line-height:.94;
    font-weight:850;

    letter-spacing:-.05em;
  }

  .v8470-section .intro{
    margin:0;

    color:#52656f;

    font-size:15px;
    line-height:1.62;
  }


  /* ========================================================
     MODEL GRID
     ======================================================== */

  .v8470-model-grid{
    display:grid;

    grid-template-columns:1fr 1fr;

    gap:9px;

    margin-top:27px;
  }

  .v8470-model-grid article{
    min-height:157px;

    padding:18px;

    border:
      1px solid rgba(8,42,59,.08);

    border-radius:17px;

    background:#fff;
  }

  .v8470-model-grid span{
    display:flex;

    width:33px;
    height:33px;

    align-items:center;
    justify-content:center;

    color:#9c7526;
    background:#f5ead1;

    border-radius:50%;

    font-size:10px;
    font-weight:850;
  }

  .v8470-model-grid strong{
    display:block;

    margin-top:17px;

    color:#082f43;

    font-size:16px;
  }

  .v8470-model-grid p{
    margin:
      8px
      0
      0;

    color:#6b7980;

    font-size:11px;
    line-height:1.5;
  }


  /* ========================================================
     SECTION HEAD
     ======================================================== */

  .v8470-section-head{
    display:flex;

    align-items:flex-end;
    justify-content:space-between;

    gap:16px;

    margin-bottom:20px;
  }

  .v8470-section-head h2{
    margin-bottom:0;
  }

  .v8470-section-head > a{
    flex:0 0 auto;

    padding-bottom:5px;

    color:#9c7424;

    font-size:10px;
    font-weight:850;

    text-decoration:none;
    text-transform:uppercase;
  }


  /* ========================================================
     SERVICE RAIL
     ======================================================== */

  .v8470-card-rail{
    display:flex;

    gap:13px;

    overflow-x:auto;

    scroll-snap-type:x mandatory;

    scrollbar-width:none;

    -webkit-overflow-scrolling:touch;
  }

  .v8470-card-rail::-webkit-scrollbar{
    display:none;
  }

  .v8470-service-card{
    flex:
      0 0
      81vw;

    min-width:81vw;

    overflow:hidden;

    color:inherit;
    background:#fff;

    border-radius:20px;

    box-shadow:
      0 8px 24px rgba(7,37,51,.07);

    scroll-snap-align:start;

    text-decoration:none;
  }

  .v8470-service-card img{
    display:block;

    width:100%;

    aspect-ratio:1.55 / 1;

    object-fit:cover;
  }

  .v8470-service-card div{
    padding:
      21px
      20px
      23px;
  }

  .v8470-service-card small,
  .v8470-special-grid small{
    display:block;

    color:#ab8029;

    font-size:8px;
    font-weight:850;

    letter-spacing:.13em;
    text-transform:uppercase;
  }

  .v8470-service-card strong{
    display:block;

    margin-top:7px;

    color:#062e42;

    font-size:23px;
    line-height:1;
  }

  .v8470-service-card p{
    margin:
      11px
      0
      0;

    color:#697a83;

    font-size:12px;
    line-height:1.52;
  }

  .v8470-swipe{
    margin-top:10px;

    color:#a27a27;

    font-size:9px;
    font-weight:850;

    letter-spacing:.09em;
    text-align:right;
    text-transform:uppercase;
  }


  /* ========================================================
     SPECIALIST
     ======================================================== */

  .v8470-special-grid{
    display:grid;

    gap:11px;

    margin-top:27px;
  }

  .v8470-special-grid a{
    display:grid;

    grid-template-columns:108px 1fr;

    min-height:105px;

    overflow:hidden;

    color:inherit;
    background:#fff;

    border:
      1px solid rgba(8,42,59,.07);

    border-radius:17px;

    text-decoration:none;
  }

  .v8470-special-grid img{
    width:108px;
    height:100%;

    object-fit:cover;
  }

  .v8470-special-grid div{
    display:flex;

    flex-direction:column;
    justify-content:center;

    padding:16px;
  }

  .v8470-special-grid strong{
    margin-top:7px;

    color:#082e42;

    font-size:16px;
    line-height:1.18;
  }


  /* ========================================================
     INTELLIGENCE
     ======================================================== */

  .v8470-intelligence{
    padding:
      50px
      0;

    color:#fff;
    background:#062b3e;
  }

  .v8470-intelligence h2{
    color:#fff;
  }

  .v8470-intel-hero{
    overflow:hidden;

    border:
      1px solid rgba(255,255,255,.08);

    border-radius:19px;

    background:#07354a;
  }

  .v8470-intel-hero img{
    display:block;

    width:100%;
    height:185px;

    padding:14px;

    object-fit:contain;

    box-sizing:border-box;

    background:#052637;
  }

  .v8470-intel-hero div{
    padding:
      20px
      20px
      22px;
  }

  .v8470-intel-hero strong{
    display:block;

    font-size:20px;
  }

  .v8470-intel-hero p{
    margin:
      9px
      0
      14px;

    color:rgba(255,255,255,.62);

    font-size:12px;
    line-height:1.55;
  }

  .v8470-intel-hero a{
    color:#e0b554;

    font-size:11px;
    font-weight:800;

    text-decoration:none;
  }

  .v8470-intel-links{
    display:grid;

    gap:8px;

    margin-top:10px;
  }

  .v8470-intel-links a{
    display:grid;

    grid-template-columns:1fr auto;

    padding:16px;

    color:#fff;
    background:rgba(255,255,255,.05);

    border:
      1px solid rgba(255,255,255,.07);

    border-radius:14px;

    text-decoration:none;
  }

  .v8470-intel-links small{
    grid-column:1;

    color:#7ea4b5;

    font-size:8px;
    text-transform:uppercase;
  }

  .v8470-intel-links strong{
    grid-column:1;

    margin-top:4px;

    font-size:14px;
  }

  .v8470-intel-links span{
    grid-column:2;
    grid-row:1/3;

    align-self:center;

    color:#e0b554;

    font-size:18px;
  }


  /* ========================================================
     TOOLS
     ======================================================== */

  .v8470-tool-grid{
    display:grid;

    grid-template-columns:1fr 1fr;

    gap:9px;
  }

  .v8470-tool-grid a{
    min-height:126px;

    padding:17px;

    color:inherit;
    background:#fff;

    border:
      1px solid rgba(8,42,59,.08);

    border-radius:16px;

    text-decoration:none;
  }

  .v8470-tool-grid span{
    color:#bb8d2d;

    font-size:9px;
    font-weight:850;
  }

  .v8470-tool-grid strong{
    display:block;

    margin-top:23px;

    color:#082e42;

    font-size:14px;
    line-height:1.2;
  }

  .v8470-tool-grid small{
    display:block;

    margin-top:6px;

    color:#829098;

    font-size:9px;
  }


  /* ========================================================
     FINAL CTA
     ======================================================== */

  .v8470-final{
    padding:
      48px
      0;

    color:#fff;

    background:
      linear-gradient(
        135deg,
        #052638,
        #09435c
      );
  }

  .v8470-final > .v8470-shell > small{
    color:#d4a743;

    font-size:9px;
    font-weight:850;

    letter-spacing:.15em;
    text-transform:uppercase;
  }

  .v8470-final h2{
    margin-bottom:14px;

    color:#fff;
  }

  .v8470-final p{
    margin:0;

    color:rgba(255,255,255,.65);

    font-size:13px;
    line-height:1.55;
  }

  .v8470-final > .v8470-shell > div{
    display:grid;

    grid-template-columns:1fr 1fr;

    gap:8px;

    margin-top:22px;
  }

  .v8470-final a{
    display:flex;

    min-height:45px;

    align-items:center;
    justify-content:center;

    padding:8px;

    color:#fff;

    border:
      1px solid rgba(255,255,255,.16);

    border-radius:999px;

    font-size:10px;
    font-weight:800;

    text-align:center;
    text-decoration:none;
  }

  .v8470-final a.gold{
    color:#082739;
    background:#dda92f;
    border-color:#dda92f;
  }


  /* ========================================================
     FOOTER MOBILE
     ======================================================== */

  body.v8 .v6-footer-top{
    grid-template-columns:1fr 1fr!important;

    gap:25px 18px!important;

    padding-top:36px!important;
    padding-bottom:30px!important;
  }

  body.v8 .v6-footer-intro{
    grid-column:1/-1!important;
  }

  body.v8 .v6-footer-bottom{
    flex-wrap:wrap!important;
    gap:10px!important;

    font-size:9px!important;
  }


  /* ========================================================
     MOBILE SUBPAGES
     ======================================================== */

  body.v8:not(.home-page) .section{
    padding:
      46px
      0!important;
  }

  body.v8:not(.home-page) .subhero,
  body.v8:not(.home-page) .tool-hero{
    padding:
      49px
      0
      44px!important;
  }

  body.v8:not(.home-page)
  .subhero h1,
  body.v8:not(.home-page)
  .tool-hero h1{
    font-size:
      clamp(
        2.7rem,
        12vw,
        3.6rem
      )!important;

    line-height:.92!important;
  }

  body.v8:not(.home-page)
  .service-detail-grid,
  body.v8:not(.home-page)
  .contact-grid,
  body.v8:not(.home-page)
  .story-grid,
  body.v8:not(.home-page)
  .network-grid,
  body.v8:not(.home-page)
  .project-row,
  body.v8:not(.home-page)
  .cards-3,
  body.v8:not(.home-page)
  .location-grid{
    grid-template-columns:1fr!important;
  }


  /* ========================================================
     ASSISTANT
     ======================================================== */

  body.v8 .aash-assistant-launch,
  body.v8 .aash-assistant-launch:hover,
  body.v8 .aash-assistant-launch:focus,
  body.v8 .aash-assistant-launch:active{
    width:46px!important;
    min-width:46px!important;
    max-width:46px!important;
    height:46px!important;

    right:6px!important;

    bottom:
      calc(
        7px
        + env(safe-area-inset-bottom,0px)
      )!important;

    padding:0!important;

    border-radius:50%!important;

    background:transparent!important;
    box-shadow:none!important;
  }

  body.v8
  .aash-assistant-launch::before{
    content:none!important;
    display:none!important;
  }

  body.v8
  .aash-assistant-launch::after{
    width:44px!important;
    height:44px!important;

    right:0!important;
    bottom:0!important;

    border-width:2px!important;

    box-shadow:
      0 7px 18px
      rgba(7,23,36,.18)!important;
  }

  body.v8 .assistant-panel{
    left:9px!important;
    right:9px!important;

    width:auto!important;

    bottom:
      calc(
        65px
        + env(safe-area-inset-bottom,0px)
      )!important;

    max-height:64dvh!important;
  }

  body.v8470-nav-open
  .aash-assistant-launch,
  body.v8470-nav-open
  .assistant-panel,
  body.v8470-track-visible
  .aash-assistant-launch,
  body.v8470-track-visible
  .assistant-panel{
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }

}


@media (max-width:390px){

  .v8470-shell{
    width:calc(100% - 24px);
  }

  .v8470-hero h1{
    font-size:2.95rem;
  }

  .v8470-hero-actions{
    grid-template-columns:1fr;
  }

  .v8470-service-card{
    flex-basis:86vw;
    min-width:86vw;
  }

  .v8470-proof article{
    flex-basis:76vw;
    min-width:76vw;
  }

}


/* ==========================================================
   V8.47.1 — PERMANENT MOBILE HEADER
   iPhone/Safari-safe fixed navigation.
   Desktop > 720px unaffected.
   ========================================================== */

@media (max-width:720px){

  /*
   * Fixed header is more reliable than sticky in iOS Safari,
   * especially when page containers use overflow.
   */
  body.v8 .v6-header,
  body.v8 .v6-header.scrolled,
  body.v8 .v6-header.header-hidden{
    display:block!important;

    position:fixed!important;

    top:0!important;
    left:0!important;
    right:0!important;

    width:100%!important;

    margin:0!important;

    transform:none!important;
    translate:none!important;

    opacity:1!important;
    visibility:visible!important;

    pointer-events:auto!important;

    background:#061d2a!important;

    box-shadow:
      0 1px 0 rgba(255,255,255,.08),
      0 8px 24px rgba(2,15,24,.10)!important;

    z-index:2147483600!important;
  }

  /*
   * Replace the space previously occupied by the header
   * in normal document flow.
   */
  body.v8{
    padding-top:66px!important;
  }

  body.v8 .v6-nav{
    display:flex!important;

    width:min(100% - 30px,1240px)!important;

    height:66px!important;
    min-height:66px!important;

    margin:0 auto!important;

    align-items:center!important;
    justify-content:space-between!important;
  }

  body.v8 .v6-brand{
    display:flex!important;
    align-items:center!important;

    min-width:0!important;

    opacity:1!important;
    visibility:visible!important;
  }

  body.v8 .v6-brand img{
    display:block!important;

    width:162px!important;
    max-width:52vw!important;

    height:auto!important;
  }

  body.v8 .v6-menu-btn{
    display:flex!important;

    flex:0 0 46px!important;

    width:46px!important;
    min-width:46px!important;
    height:46px!important;

    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;

    z-index:2147483646!important;
  }

  /*
   * Drawer starts directly underneath fixed header.
   */
  .v8470-drawer,
  .v8470-backdrop{
    top:66px!important;
  }

}


/* V8.50.0 MOBILE BUNDLE — INNER PAGES */
/* ==========================================================
   AASHMAAN V8.48.0
   COMPLETE MOBILE INNER-PAGE SYSTEM

   STRICT MOBILE SCOPE ONLY.
   Desktop > 720px is unaffected.
   ========================================================== */

@media (max-width:720px){

  /* ========================================================
     VECTOR MENU ICONS
     ======================================================== */

  .v8480-menu-label{
    display:flex;

    min-width:0;

    align-items:center;

    gap:11px;
  }

  .v8480-menu-label > span:last-child{
    min-width:0;
  }

  .v8480-menu-icon{
    display:flex;

    flex:
      0 0
      34px;

    width:34px;
    height:34px;

    align-items:center;
    justify-content:center;

    padding:7px;

    color:#0b455f;

    background:#f3ead6;

    border:
      1px solid
      rgba(177,132,39,.14);

    border-radius:10px;

    box-sizing:border-box;
  }

  .v8480-menu-icon svg{
    display:block;

    width:100%;
    height:100%;

    fill:none;

    stroke:currentColor;

    stroke-width:1.7;

    stroke-linecap:round;
    stroke-linejoin:round;
  }

  .v8470-direct,
  .v8470-group-toggle{
    min-height:64px!important;
  }

  .v8470-submenu{
    margin:
      0
      0
      5px
      17px!important;

    padding:
      4px
      0
      12px
      27px!important;

    border-left:
      1px solid
      rgba(177,132,39,.24)!important;
  }

  .v8470-submenu a{
    padding:
      11px
      5px!important;

    font-size:13px!important;
  }


  /* ========================================================
     FOUNDATION — INNER PAGES ONLY
     ======================================================== */

  body.v8:not(.home-page){
    width:100%!important;
    max-width:100%!important;

    overflow-x:hidden!important;
  }

  body.v8:not(.home-page) main{
    width:100%!important;
    max-width:100%!important;

    overflow-x:hidden!important;
  }

  body.v8:not(.home-page) .container{
    width:
      calc(100% - 28px)!important;

    max-width:none!important;

    margin-left:auto!important;
    margin-right:auto!important;
  }

  body.v8:not(.home-page) img,
  body.v8:not(.home-page) svg,
  body.v8:not(.home-page) canvas,
  body.v8:not(.home-page) video{
    max-width:100%;
  }


  /* ========================================================
     INNER-PAGE HEROES
     ======================================================== */

  body.v8:not(.home-page)
  .subhero,
  body.v8:not(.home-page)
  .tool-hero{
    min-height:0!important;

    padding:
      46px
      0
      40px!important;
  }

  body.v8:not(.home-page)
  .subhero-grid,
  body.v8:not(.home-page)
  .tool-hero-grid{
    display:grid!important;

    grid-template-columns:
      minmax(0,1fr)!important;

    gap:22px!important;

    min-width:0!important;
  }

  body.v8:not(.home-page)
  .subhero h1,
  body.v8:not(.home-page)
  .tool-hero h1{
    max-width:100%!important;

    margin-bottom:17px!important;

    font-size:
      clamp(
        2.65rem,
        11.8vw,
        3.55rem
      )!important;

    line-height:.92!important;

    letter-spacing:
      -.05em!important;
  }

  body.v8:not(.home-page)
  .subhero p,
  body.v8:not(.home-page)
  .tool-hero p{
    max-width:100%!important;

    font-size:
      .96rem!important;

    line-height:
      1.6!important;
  }


  /* ========================================================
     SECTIONS
     ======================================================== */

  body.v8:not(.home-page)
  .section{
    padding:
      46px
      0!important;
  }

  body.v8:not(.home-page)
  .section-heading{
    display:grid!important;

    grid-template-columns:
      minmax(0,1fr)!important;

    gap:15px!important;

    margin-bottom:
      25px!important;
  }

  body.v8:not(.home-page)
  .section-heading h2{
    font-size:
      clamp(
        2.1rem,
        9.5vw,
        2.8rem
      )!important;

    line-height:
      .96!important;

    letter-spacing:
      -.045em!important;
  }


  /* ========================================================
     UNIVERSAL MOBILE GRIDS
     ======================================================== */

  body.v8:not(.home-page)
  .page-intro,

  body.v8:not(.home-page)
  .story-grid,

  body.v8:not(.home-page)
  .network-grid,

  body.v8:not(.home-page)
  .service-detail-grid,

  body.v8:not(.home-page)
  .contact-grid,

  body.v8:not(.home-page)
  .project-row,

  body.v8:not(.home-page)
  .cards-3,

  body.v8:not(.home-page)
  .location-grid,

  body.v8:not(.home-page)
  .faq,

  body.v8:not(.home-page)
  .intelligence-grid,

  body.v8:not(.home-page)
  .portal-body,

  body.v8:not(.home-page)
  .calculator-grid,

  body.v8:not(.home-page)
  .schedule-grid,

  body.v8:not(.home-page)
  .tracking-grid,

  body.v8:not(.home-page)
  .port-grid,

  body.v8:not(.home-page)
  .tool-workspace{
    grid-template-columns:
      minmax(0,1fr)!important;

    min-width:0!important;

    gap:18px!important;
  }


  /* ========================================================
     SERVICE / PROJECT / LOCATION CARDS
     ======================================================== */

  body.v8:not(.home-page)
  .service-detail-media img,

  body.v8:not(.home-page)
  .project-row-media img,

  body.v8:not(.home-page)
  .project-image img{
    width:100%!important;

    min-height:0!important;

    height:auto!important;

    aspect-ratio:
      1.45 / 1!important;

    object-fit:cover!important;

    border-radius:
      18px!important;
  }

  body.v8:not(.home-page)
  .project-row{
    margin-bottom:
      25px!important;
  }

  body.v8:not(.home-page)
  .project-row:nth-child(even)
  .project-row-media{
    order:0!important;
  }


  /* ========================================================
     TOOL WORKSPACES
     ======================================================== */

  body.v8:not(.home-page)
  .tool-workspace,

  body.v8:not(.home-page)
  .calculator-shell,

  body.v8:not(.home-page)
  .tracking-shell,

  body.v8:not(.home-page)
  .schedule-shell,

  body.v8:not(.home-page)
  .port-shell{
    width:100%!important;
    max-width:100%!important;

    padding:
      16px!important;

    border-radius:
      19px!important;

    box-sizing:border-box!important;
  }


  /* ========================================================
     FORMS
     ======================================================== */

  body.v8:not(.home-page)
  form{
    max-width:100%!important;
  }

  body.v8:not(.home-page)
  .form-grid,

  body.v8:not(.home-page)
  .form-row,

  body.v8:not(.home-page)
  .field-grid,

  body.v8:not(.home-page)
  .assessment-grid{
    grid-template-columns:
      minmax(0,1fr)!important;

    gap:12px!important;
  }

  body.v8:not(.home-page)
  input,

  body.v8:not(.home-page)
  select,

  body.v8:not(.home-page)
  textarea{
    width:100%;
    max-width:100%;

    min-width:0;

    box-sizing:border-box;

    font-size:16px!important;
  }

  body.v8:not(.home-page)
  textarea{
    min-height:120px;
  }

  body.v8:not(.home-page)
  button,

  body.v8:not(.home-page)
  input[type="submit"],

  body.v8:not(.home-page)
  .btn,

  body.v8:not(.home-page)
  .v6-btn{
    min-height:
      46px!important;
  }


  /* ========================================================
     TABS
     ======================================================== */

  body.v8:not(.home-page)
  .v8480-tabrail{
    display:flex!important;

    flex-wrap:nowrap!important;

    gap:6px!important;

    max-width:100%!important;

    overflow-x:auto!important;
    overflow-y:hidden!important;

    padding-bottom:5px!important;

    scroll-snap-type:
      x proximity!important;

    scrollbar-width:none!important;

    -webkit-overflow-scrolling:
      touch!important;
  }

  body.v8:not(.home-page)
  .v8480-tabrail::-webkit-scrollbar{
    display:none!important;
  }

  body.v8:not(.home-page)
  .v8480-tabrail > *{
    flex:
      0 0
      auto!important;

    min-height:
      44px!important;

    scroll-snap-align:
      start!important;
  }


  /* ========================================================
     TABLES
     ======================================================== */

  .v8480-table-scroll{
    width:100%;
    max-width:100%;

    overflow-x:auto;
    overflow-y:hidden;

    margin:
      12px
      0;

    padding-bottom:4px;

    border-radius:
      14px;

    -webkit-overflow-scrolling:
      touch;
  }

  .v8480-table-scroll table{
    width:max-content;
    min-width:100%;

    margin:0!important;
  }

  .v8480-table-scroll th,
  .v8480-table-scroll td{
    min-width:
      110px;

    padding:
      10px
      11px!important;

    font-size:
      11px!important;
  }


  /* ========================================================
     MAPS / VESSEL MAP
     ======================================================== */

  body.v8480-page-vessel-map
  #map,

  body.v8480-page-vessel-map
  .leaflet-container,

  body.v8480-page-vessel-map
  .map-canvas,

  body.v8480-page-vessel-map
  .vessel-map-canvas{
    width:100%!important;

    height:
      min(
        58vh,
        500px
      )!important;

    min-height:
      380px!important;

    border-radius:
      17px!important;

    overflow:hidden!important;
  }

  body.v8480-page-vessel-map
  .map-controls,

  body.v8480-page-vessel-map
  .vessel-controls{
    position:relative!important;

    inset:auto!important;

    width:100%!important;

    max-width:100%!important;

    margin-bottom:
      12px!important;
  }


  /* ========================================================
     TRACKING
     ======================================================== */

  body.v8480-page-track
  .command-input,

  body.v8480-page-track
  .tracking-input,

  body.v8480-page-track
  .track-input{
    grid-template-columns:
      minmax(0,1fr)!important;

    gap:8px!important;
  }

  body.v8480-page-track
  .command-input button,

  body.v8480-page-track
  .tracking-input button,

  body.v8480-page-track
  .track-input button{
    width:100%!important;
  }


  /* ========================================================
     PORTAL
     ======================================================== */

  body.v8480-page-portal
  .portal-side{
    display:none!important;
  }

  body.v8480-page-portal
  .portal-main{
    min-width:0!important;
    width:100%!important;
  }


  /* ========================================================
     EMBEDS
     ======================================================== */

  .v8480-responsive-frame{
    display:block;

    width:100%!important;
    max-width:100%!important;

    border:0;
  }


  /* ========================================================
     ARTICLE / INSIGHT PAGES
     ======================================================== */

  body.v8480-mobile
  article{
    max-width:100%;
  }

  body.v8480-mobile
  article p,

  body.v8480-mobile
  article li{
    font-size:
      .96rem;

    line-height:
      1.68;
  }

  body.v8480-mobile
  article h2{
    font-size:
      clamp(
        1.8rem,
        8vw,
        2.35rem
      );

    line-height:
      1.02;
  }


  /* ========================================================
     FOOTER
     ======================================================== */

  body.v8:not(.home-page)
  .v6-footer-top{
    grid-template-columns:
      1fr 1fr!important;

    gap:
      25px
      18px!important;

    padding-top:
      35px!important;

    padding-bottom:
      30px!important;
  }

  body.v8:not(.home-page)
  .v6-footer-intro{
    grid-column:
      1/-1!important;
  }

  body.v8:not(.home-page)
  .v6-footer-bottom{
    flex-wrap:wrap!important;

    gap:10px!important;

    font-size:
      9px!important;
  }


  /* ========================================================
     ASSISTANT / DRAWER SAFETY
     ======================================================== */

  body.v8470-nav-open
  .aash-assistant-launch,

  body.v8470-nav-open
  .assistant-panel{
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }

}


@media (max-width:390px){

  body.v8:not(.home-page)
  .container{
    width:
      calc(
        100% - 24px
      )!important;
  }

}


/* ==========================================================
   V8.48.1 — SOLUTIONS + TOOLS SUBMENU VECTOR ICONS
   Mobile only.
   ========================================================== */

@media (max-width:720px){

  .v8470-submenu a{
    display:flex!important;

    align-items:center!important;

    gap:10px!important;

    min-height:43px!important;

    padding:
      7px
      5px!important;
  }

  .v8481-sub-icon{
    display:flex;

    flex:
      0 0
      29px;

    width:29px;
    height:29px;

    align-items:center;
    justify-content:center;

    padding:6px;

    color:#0c4a63;

    background:
      rgba(238,226,198,.70);

    border:
      1px solid
      rgba(177,132,39,.13);

    border-radius:8px;

    box-sizing:border-box;
  }

  .v8481-sub-icon svg{
    display:block;

    width:100%;
    height:100%;

    fill:none;

    stroke:currentColor;

    stroke-width:1.65;

    stroke-linecap:round;
    stroke-linejoin:round;
  }

  .v8470-submenu a:hover
  .v8481-sub-icon,
  .v8470-submenu a:active
  .v8481-sub-icon{
    color:#8f681b;

    background:#f4e7c5;
  }

}



/* ==========================================================
   V8.52.0 — MOBILE IMAGE DELIVERY
   ========================================================== */

@media (max-width:720px){

  .aash-assistant-launch::after{
    background-image:
      url("/assets/img/v8520/assistant-mobile.webp")
      !important;
  }

}

/* BEGIN V8.52.1 MOBILE ASSISTANT */

@media (max-width:720px){

  /*
   * Mobile launcher must be avatar-only.
   * Neutralize the desktop speech-bubble container completely.
   */
  .aash-assistant-launch,
  body .aash-assistant-launch{
    width:52px!important;
    min-width:52px!important;
    max-width:52px!important;

    height:52px!important;
    min-height:52px!important;
    max-height:52px!important;

    padding:0!important;
    margin:0!important;

    border:0!important;
    border-radius:50%!important;

    background:transparent!important;
    background-image:none!important;

    box-shadow:none!important;
    filter:none!important;

    overflow:visible!important;
  }

  /*
   * Desktop speech bubble:
   * "Need help? Chat with us"
   */
  .aash-assistant-launch::before,
  body .aash-assistant-launch::before{
    content:none!important;

    display:none!important;

    width:0!important;
    height:0!important;

    opacity:0!important;
    visibility:hidden!important;

    background:none!important;
    border:0!important;
    box-shadow:none!important;

    pointer-events:none!important;
  }

  /*
   * Avatar itself.
   */
  .aash-assistant-launch::after,
  body .aash-assistant-launch::after{
    content:""!important;

    display:block!important;

    position:absolute!important;

    inset:0!important;

    width:52px!important;
    height:52px!important;

    margin:0!important;

    border-radius:50%!important;

    background-image:
      url("/assets/img/v8520/assistant-mobile.webp")
      !important;

    background-position:center!important;
    background-repeat:no-repeat!important;
    background-size:contain!important;

    box-shadow:
      0 3px 12px rgba(0,0,0,.18)
      !important;

    opacity:1!important;
    visibility:visible!important;

    pointer-events:none!important;
  }

}

/* END V8.52.1 MOBILE ASSISTANT */

