@media (max-width:1199.98px) {
  .mobile-section-target {scroll-margin-top:100px}
  .mobile-section-controls {position:fixed;right:max(12px,env(safe-area-inset-right));bottom:calc(76px + env(safe-area-inset-bottom));z-index:45;display:flex;flex-direction:column;gap:6px}
  .mobile-section-controls[hidden],.mobile-section-controls.is-suppressed {visibility:hidden;pointer-events:none}
  .mobile-section-controls button {width:44px;height:44px;padding:10px;border:1px solid rgba(255,255,255,.16);border-radius:10px;background:rgba(30,34,37,.78);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 2px 8px #0002;color:#f37021}
  .mobile-section-controls svg {width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2}
  .mobile-section-controls button:disabled {opacity:.25}
  button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible {outline:2px solid #f37021;outline-offset:3px}
  .nav-burger {min-width:44px;min-height:44px}
  input:not([type=checkbox]):not([type=radio]),select,textarea {font-size:16px!important;max-width:100%;min-width:0}
  .site-dialog {max-width:calc(100vw - 24px);max-height:calc(100dvh - 32px);overflow:auto}
  .contact-direct-value,.contact-notice,.co-card {overflow-wrap:anywhere}
  body[data-page=home] .site-hero {height:100svh;min-height:0}
  body[data-page=home] .site-hero-inner {padding-top:100px}
  body[data-page=home] .hero-endcard-frame {width:100%;height:100%;position:relative}
  body[data-page=home] .hero-endcard-media {display:none!important}
  .mobile-endcard-logo {position:absolute;left:50%;top:44%;width:min(78%,520px);height:auto;transform:translate(-50%,-50%);opacity:1;object-fit:contain}
  body[data-page=home] .hero-endcard-contact {left:50%!important;top:59%!important;width:94%;text-align:center;font-size:clamp(12px,3.15vw,17px);white-space:normal}
  body[data-page=home] .hero-whitecard-text {width:94%;text-align:center;font-size:clamp(21px,5.8vw,40px);padding:0 18px;white-space:normal}
  body[data-page=home] .hero-toggle {min-height:44px;min-width:44px}
  body[data-page=home] article[aria-label$=" pillar"] > div > div {height:auto!important;min-height:540px}
  body[data-page=home] article[aria-label$=" pillar"] .pillar-copy {position:relative!important;height:auto!important;min-height:0!important}
  body[data-page="courses"] .hub-root table.compare,body[data-page="courses"] .hub-root table.compare tbody,body[data-page="courses"] .hub-root table.compare tr {display:block;width:100%}
  body[data-page="courses"] .hub-root table.compare thead {display:none}
  body[data-page="courses"] .hub-root table.compare tr {margin-bottom:26px}
  body[data-page="courses"] .hub-root table.compare tbody th {display:block;width:100%;text-align:left;padding:12px 0}
  body[data-page="courses"] .hub-root table.compare td {display:grid;grid-template-columns:100px minmax(0,1fr);align-items:start;gap:12px;text-align:left;width:100%;padding:12px 0;vertical-align:top}
  body[data-page="courses"] .hub-root table.compare td::before {content:attr(data-col);display:block;position:static;align-self:start;text-align:left;margin:0;font-weight:600}
}
@media (max-width:340px) {
  body[data-page="courses"] .hub-root table.compare td {grid-template-columns:1fr;gap:6px}
  .site-hero-title {font-size:clamp(36px,12vw,54px)!important;line-height:1.1!important}
}
@media (max-width:1199.98px) and (max-height:500px) {
  body[data-page=home] .site-hero-inner {padding:90px 24px 16px;gap:12px}
  body[data-page=home] .site-hero-title {font-size:clamp(30px,6vw,46px)!important;line-height:1!important}
  body[data-page=home] .site-hero-aside p {font-size:14px}
}
@media (min-width:1200px) {.mobile-section-controls {display:none!important}}
@media (max-width:1199.98px) {
  .site-header.is-stuck .nav-burger,.site-header.has-panel .nav-burger {color:#383e42;border-color:rgba(56,62,66,.35)}
  .footer-legal a,.footer-social a,.footer-links a {min-height:44px;display:inline-flex;align-items:center}
}
@media (max-width:1199.98px) {
 .site-header .nav-logo {min-height:44px;display:flex;align-items:center}
 .footer-columns nav a,.footer-contact a,.footer-native a {min-height:44px;display:inline-flex;align-items:center}
}
@media (max-width:1199.98px) {
 .site-hero[data-mobile-state="FINAL_HOLD"] .hero-endcard-contact {opacity:1;transition:none}
 .site-hero[data-mobile-state="LOGO_REVEAL"] .hero-toggle,.site-hero[data-mobile-state="FINAL_HOLD"] .hero-toggle,.site-hero[data-mobile-state="HANDOFF"] .hero-toggle,.site-hero[data-mobile-state="COMPLETE"] .hero-toggle {visibility:hidden}
 dialog button {min-height:44px;min-width:44px}
 .co label:has(input[type="checkbox"]),.co label:has(input[type="radio"]) {min-height:44px}
}
@media (max-width:1199.98px) {
 html.hero-on-light:not(.drawer-open) body[data-page="home"] .site-header:not(.is-stuck):not(.has-panel) {visibility:hidden;pointer-events:none}
 html.drawer-open body[data-page="home"] .site-header {visibility:visible;pointer-events:auto;opacity:1}
}
@media (max-width:1199.98px) {
 body[data-page="checkout"] .site-footer .footer-intro,body[data-page="confirmation"] .site-footer .footer-intro {flex-direction:column;align-items:flex-start}
}
@media (max-width:1199.98px) {
 .site-header {border:0;box-shadow:none}
 body[data-page="calendar"] .site-header .nav-burger {color:#383e42;border-color:rgba(56,62,66,.35)}
}

/* A backdrop-filter creates a containing block for fixed descendants in
   WebKit. After the hero handoff the header becomes .is-stuck, so iOS was
   constraining the fixed navigation drawer to the height of the header.
   Disable the filter only while the drawer is open and give the drawer an
   explicit visual-viewport height. */
@media (max-width:1199.98px) {
  html.drawer-open .site-header,
  html.drawer-open .site-header.is-stuck,
  html.drawer-open .site-header.has-panel {
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }
  html.drawer-open #nav-drawer {
    position:fixed!important;
    top:var(--nav-h)!important;
    right:0!important;
    bottom:auto!important;
    left:0!important;
    width:100%!important;
    height:calc(100dvh - var(--nav-h))!important;
    max-height:calc(100dvh - var(--nav-h))!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior:contain;
  }
  @supports not (height:100dvh) {
    html.drawer-open #nav-drawer {
      height:calc(100vh - var(--nav-h))!important;
      max-height:calc(100vh - var(--nav-h))!important;
    }
  }
}

@media (max-width:1199.98px) {
  #nav-drawer .nav-drawer-track {position:relative}
  #nav-drawer .nav-drawer-track > .nav-track-lead,
  #nav-drawer .nav-drawer-track > .nav-link {display:none}
  #nav-drawer .nav-drawer-track.is-expanded > .nav-track-lead,
  #nav-drawer .nav-drawer-track.is-expanded > .nav-link {display:flex}
  #nav-drawer .nav-track-expander {
    position:absolute;right:0;top:3px;z-index:2;
    display:flex;align-items:center;justify-content:center;
    width:44px;height:44px;border:0;color:#f05f24;
    font:400 25px/1 'Saira',sans-serif
  }
  #nav-drawer .nav-track {padding-right:52px}
  #nav-drawer .is-current {color:#f05f24}
}
@media (max-width:1199.98px) {
 body[data-page="home"] .hero-toggle[aria-pressed="true"] svg {display:none}
 body[data-page="home"] .hero-toggle[aria-pressed="true"] span::after {content:"";display:block;width:0;height:0;border-left:10px solid currentColor;border-top:7px solid transparent;border-bottom:7px solid transparent}
}
@media (max-width:1199.98px) {
 body[data-page="new-jersey"] .site-header {border:0!important;box-shadow:none!important}
}
