@media (max-width: 840px){
  .topbar{
    height:auto;
    padding:12px 16px 14px;
    flex-direction:column;
    align-items:flex-start;
    gap:12px;
  }
  .topbar-brand{ gap:12px; }
  .topbar-brand img{ height:72px; }
  .topbar-title{ font-size:28px; }
  .top-nav{
    width:100%;
    flex-direction:column;
    align-items:flex-start;
    gap:12px;
    font-size:18px;
  }
  .topbar-cta{ width:100%; justify-content:center; }
  .nav-dropdown{ width:100%; }
  .nav-trigger{ width:100%; justify-content:space-between; }
  .nav-menu{
    position:static;
    width:100%;
    box-shadow:none;
    border-radius:8px;
    display:none;
  }
  .nav-dropdown:hover .nav-menu,
  .nav-dropdown:focus-within .nav-menu{ display:none; }
  .nav-dropdown.is-open .nav-menu{ display:grid; }
  main{ padding-top:250px; }
  .back-link{ transform:none; margin:0 0 16px; display:block; text-align:left; }

  :root{
    --content-offset: 160px;
    --peek: 28vh;
  }
  .pn-hero{ background-attachment: scroll; background-position:center top; }
  .ttp-media{ left:0; top:0; }
  .ttp-note{ width:100%; }
  .pn-hero-right{ display:none; }
  .contact-header{ display:flex; flex-direction:column; align-items:center; }
  .contact-book-btn{ position:static; margin:16px auto 0; }
  .calendly-overlay{ padding:0 !important; }
  .calendly-overlay{ z-index: 20000 !important; }
  .calendly-overlay .calendly-popup{
    width: min(92vw, 420px) !important;
    height: min(90vh, 720px) !important;
    max-width: 92vw !important;
    max-height: 90vh !important;
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, calc(-50% + 60px)) !important;
    margin: 0 !important;
  }
  .calendly-overlay .calendly-popup-content,
  .calendly-overlay .calendly-popup iframe{
    width: 100% !important;
    height: 100% !important;
  }
}

@media (max-width: 640px){
  .topbar{ padding:10px 14px 12px; }
  .topbar-brand img{ height:60px; }
  .topbar-title{ font-size:24px; }

  .services-cards{ gap:24px; }
  .service-card{ min-height:auto; }
  .service-card-image{ height:200px; }
  .service-card-content{ position:relative; }

  .qualifications-section{ height:320px; padding:20px 12px; margin-top:-40px; }
  .qual-track{ gap:50px; }
  .qual-badge{ width:160px; height:160px; }
}
