@media (max-width: 767px){
  html.m2 .legacy-only{display:block !important}
  html.m2 .m2-only{display:none !important}

  html.m2 .site-header .nav-toggle,
  html.m2 .site-header .btn,
  html.m2 .site-header .nav,
  html.m2 .nav-overlay,
  html.m2 .nav-dropdown__panel{
    display:none !important;
  }

  html.m2 .header-row{
    flex-wrap:nowrap;
    padding-top:calc(10px + env(safe-area-inset-top));
    align-items:center;
  }

  html.m2 .m2-menuBtn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:44px;
    height:44px;
    border-radius:999px;
    border:1px solid rgba(8,27,46,.18);
    background:#fff;
    color:var(--fs-navy);
    margin-left:auto;
  }

  html.m2 .m2-menuIcon{
    position:relative;
    width:18px;
    height:2px;
    background:currentColor;
  }

  html.m2 .m2-menuIcon::before,
  html.m2 .m2-menuIcon::after{
    content:"";
    position:absolute;
    left:0;
    width:18px;
    height:2px;
    background:currentColor;
  }

  html.m2 .m2-menuIcon::before{top:-6px}
  html.m2 .m2-menuIcon::after{top:6px}

  html.m2 .m2-overlay,
  html.m2 .m2-drawerOverlay,
  html.m2 [data-m2-overlay]{
    position:fixed;
    inset:0;
    background:rgba(4,14,26,.55);
    opacity:0;
    transition:opacity .2s ease;
    z-index:220;
  }

  html.m2 .m2-overlay.is-open,
  html.m2 .m2-drawerOverlay.is-open,
  html.m2 [data-m2-overlay].is-open{opacity:1}

  html.m2 .m2-drawer{
    position:fixed;
    top:0;
    left:0;
    right:0;
    bottom:0;
    width:100%;
    min-height:100vh;
    min-height:100dvh;
    height:100%;
    background:#fff;
    box-shadow:none;
    transform:translateX(-100%);
    transition:transform .25s ease;
    z-index:230;
    display:flex !important;
    flex-direction:column;
    padding-top:env(safe-area-inset-top);
  }
  /* Keep drawer hidden until JS removes the hidden attr on open */
  html.m2 .m2-drawer[hidden]{display:none !important}

  html.m2 .m2-drawer.is-open{transform:translateX(0)}

  html.m2 .m2-drawerHead,
  html.m2 .m2-drawerTop{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:16px 20px;
    padding-top:calc(16px + env(safe-area-inset-top));
    border-bottom:1px solid rgba(8,27,46,.08);
    flex-shrink:0;
  }

  html.m2 .m2-drawerTitle{font-weight:800;font-size:1.125rem}

  html.m2 .m2-drawerClose{
    width:36px;
    height:36px;
    border-radius:999px;
    border:1px solid rgba(8,27,46,.18);
    background:#fff;
    position:relative;
  }

  html.m2 .m2-drawerClose::before,
  html.m2 .m2-drawerClose::after{
    content:"";
    position:absolute;
    top:50%;
    left:50%;
    width:16px;
    height:2px;
    background:var(--fs-navy);
  }

  html.m2 .m2-drawerClose::before{transform:translate(-50%,-50%) rotate(45deg)}
  html.m2 .m2-drawerClose::after{transform:translate(-50%,-50%) rotate(-45deg)}

  html.m2 .m2-drawerBody,
  html.m2 .m2-drawerContent{
    padding:20px;
    padding-bottom:calc(24px + env(safe-area-inset-bottom));
    overflow:auto;
    flex:1;
  }

  html.m2 .m2-sectionTitle{
    margin:12px 0 4px;
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.08em;
    color:rgba(8,27,46,.6);
  }

  html.m2 .m2-drawerBody a,
  html.m2 .m2-drawerContent a{
    display:block;
    padding:12px 0;
    text-decoration:none;
    font-weight:700;
    color:var(--fs-navy);
    font-size:1.05rem;
  }

  html.m2 .m2-drawerBody .m2-subLink,
  html.m2 .m2-drawerContent .m2-subLink{
    font-weight:600;
    padding-left:12px;
    color:rgba(8,27,46,.8);
  }

  /* Accordion inside full-screen drawer */
  html.m2 .m2-accordion details{border-bottom:1px solid rgba(8,27,46,.08)}
  html.m2 .m2-accordion summary{
    display:block;
    padding:14px 0;
    font-weight:800;
    font-size:1.05rem;
    color:var(--fs-navy);
    cursor:pointer;
    list-style:none;
  }
  html.m2 .m2-accordion summary::-webkit-details-marker{display:none}
  html.m2 .m2-accordion summary::marker{display:none;content:""}
  html.m2 .m2-accordion details[open] summary{color:var(--fs-cyan)}
  html.m2 .m2-accordion details a{
    padding:10px 0 10px 16px;
    font-weight:600;
    font-size:1rem;
    color:rgba(8,27,46,.8);
  }
  html.m2 .m2-accordion > a{
    display:block;
    padding:14px 0;
    font-weight:800;
    font-size:1.05rem;
    color:var(--fs-navy);
    text-decoration:none;
    border-bottom:1px solid rgba(8,27,46,.08);
  }

  html.m2 .fs-hero__photo{position:absolute;inset:0;object-fit:cover}
  html.m2 .fs-hero__inner{padding:var(--s48) 0}
  html.m2 .fs-hero__strap{font-size:12px}
  html.m2 .fs-hero__lede{max-width:28ch}

  html.m2 .hero-postcode-card{
    background:rgba(255,255,255,.92);
    border-radius:var(--radius);
    box-shadow:var(--shadow);
    padding:16px;
    border:1px solid rgba(255,255,255,.7);
    backdrop-filter:blur(12px);
  }

  html.m2 .fs-hero__input{min-height:48px}
  html.m2 .fs-hero__button{min-height:52px}

  html.m2 button{opacity:1}
  html.m2 button[disabled]{opacity:.6}

  html.m2 body.m2-lock{overflow:hidden}

  html.m2 .mini-testimonial,
  html.m2 .hero-pill,
  html.m2 [data-mini-testimonial]{display:none !important}

  html.m2 .fs-hero__note{font-size:12px;text-decoration-thickness:1px}
}
