
/* v52 — mobile-first polish across the full site. Desktop layouts remain unchanged. */
html,body{max-width:100%;overflow-x:hidden}
img,svg,video,iframe{max-width:100%}

@media (max-width:1180px){
  /* Shared floating header */
  .site-header,.home-site-header,body.info-page .site-header,.faq-page .site-header{
    box-sizing:border-box;
    z-index:1000;
  }
  .main-nav,.home-page .main-nav{
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
  }
  .submenu-grid{scrollbar-width:thin}
}

@media (max-width:860px){
  body{font-size:16px}
  .site-header,.home-site-header,body.info-page .site-header,.faq-page .site-header{
    left:10px!important;right:10px!important;top:10px!important;width:auto!important;
    min-height:66px!important;height:66px!important;padding:0 11px 0 14px!important;
    border-radius:16px!important;
  }
  body.info-page .site-header,.faq-page .site-header{margin:10px 10px 0!important}
  .brand,.home-brand{min-width:0;max-width:calc(100% - 58px)}
  .brand img,.home-brand img,body.info-page .brand img,.faq-page .brand img{
    width:min(46vw,176px)!important;max-width:176px!important;height:auto!important;max-height:46px!important;
  }
  .nav-toggle{flex:0 0 42px!important;margin-left:auto!important}
  .main-nav,.home-page .main-nav{
    top:84px!important;left:10px!important;right:10px!important;
    max-height:calc(100dvh - 100px)!important;
    padding:10px!important;border-radius:16px!important;
  }
  .submenu,.home-page .submenu{max-height:58dvh;overflow:auto}
  .submenu-grid{max-height:none!important}
  .mobile-nav-actions{display:grid!important;grid-template-columns:1fr 1fr;gap:9px;margin-top:8px}
  .mobile-nav-actions a{min-width:0!important;text-align:center;justify-content:center}
  .header-actions{display:none!important}

  /* HOME: keep the moving video visible and make the composition fit phones. */
  .home-page .home-hero{
    min-height:900px!important;height:auto!important;
    background:#fff!important;
  }
  .home-page .home-video-wrap{
    display:block!important;position:absolute!important;inset:0!important;
    min-height:100%!important;background:#dfe7ec!important;
  }
  .home-page .home-video-iframe{
    display:block!important;visibility:visible!important;opacity:.76!important;
    width:100%!important;height:100%!important;min-width:100%!important;min-height:100%!important;
    object-fit:cover!important;object-position:42% center!important;
    transform:none!important;top:0!important;left:0!important;
  }
  .home-page .home-video-wrap.video-ready .home-video-iframe{opacity:.82!important}
  .home-page .home-video-overlay{
    background:linear-gradient(180deg,rgba(255,255,255,.68) 0%,rgba(255,255,255,.78) 34%,rgba(255,255,255,.88) 64%,#fff 100%)!important;
  }
  .home-page .home-navy-panel{display:none!important}
  .home-page .home-person{
    display:block!important;left:-17vw!important;bottom:0!important;
    width:min(92vw,470px)!important;max-height:43vh!important;opacity:1!important;
    object-position:left bottom!important;
  }
  .home-page .home-hero-copy{
    position:relative!important;z-index:7!important;top:auto!important;right:auto!important;width:auto!important;
    padding:112px 18px 350px!important;text-align:center!important;
  }
  .home-page .home-trust-pill{
    width:fit-content!important;max-width:100%!important;padding:9px 13px!important;
    font-size:11.5px!important;line-height:1.25!important;white-space:normal!important;
  }
  .home-page .home-hero-copy h1{font-size:clamp(46px,13vw,58px)!important;line-height:.94!important}
  .home-page .home-hero-copy>p{font-size:16px!important;line-height:1.52!important;max-width:520px!important}
  .home-page .home-cta-row{display:grid!important;grid-template-columns:1fr!important;gap:11px!important;margin-top:26px!important}
  .home-page .home-primary-cta,.home-page .home-secondary-cta{
    width:100%!important;max-width:360px!important;min-height:48px!important;height:auto!important;margin:auto!important;
    white-space:normal!important;text-align:center!important;padding:10px 16px!important;
  }
  .home-page .home-proof-row{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;margin-top:28px!important;
  }
  .home-page .home-proof{display:grid!important;justify-items:center!important;gap:5px!important;font-size:10.5px!important;line-height:1.18!important}
  .home-page .home-help-section{padding:44px 18px!important}
  .home-page .home-help-inner{gap:18px!important}
  .home-page .home-help-inner h2{font-size:36px!important}
  .home-page .home-help-actions,.home-page .home-help-actions a{width:100%!important;max-width:390px!important;margin:auto!important}

  /* APPLY guides */
  body.apply-page .hero-section{
    min-height:0!important;height:auto!important;background-position:68% center!important;
  }
  body.apply-page .hero-section::after{
    content:"";position:absolute;inset:0;z-index:0;
    background:linear-gradient(180deg,rgba(255,255,255,.94) 0%,rgba(255,255,255,.88) 58%,rgba(255,255,255,.72) 100%);
    pointer-events:none;
  }
  body.apply-page .hero-overlay{z-index:1!important}
  body.apply-page .hero-content{
    padding:104px 18px 48px!important;width:auto!important;max-width:none!important;
  }
  body.apply-page .hero-content h1{font-size:clamp(48px,13vw,62px)!important;line-height:.96!important;margin-top:16px!important}
  body.apply-page .hero-content h2{font-size:clamp(35px,9.7vw,46px)!important;line-height:1.05!important;max-width:100%!important}
  body.apply-page .hero-copy{font-size:16px!important;line-height:1.55!important;margin-top:24px!important;max-width:650px!important}
  body.apply-page .hero-features{
    width:100%!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:18px 12px!important;margin-top:28px!important;
  }
  body.apply-page .feature-item{gap:10px!important;min-width:0!important;font-size:14px!important;line-height:1.35!important}
  body.apply-page .hero-fa{width:40px!important;height:40px!important;flex-basis:40px!important;font-size:34px!important}
  body.apply-page .calendar-alt-icon{font-size:32px!important}
  body.apply-page .maple-fa-icon{width:38px!important;height:38px!important;flex-basis:38px!important;font-size:35px!important}
  body.apply-page .canada-svg-img{width:43px!important;flex-basis:43px!important}
  body.apply-page .feature-item.canada{grid-column:auto!important}
  body.apply-page .requirements-link{margin:34px 0 0!important;font-size:28px!important}
  body.apply-page .documents-section{padding:42px 14px 28px!important}
  body.apply-page .section-heading h2{font-size:46px!important;line-height:1!important}
  body.apply-page .section-heading p:not(.section-kicker){font-size:16px!important;line-height:1.45!important}
  body.apply-page .document-cards{grid-template-columns:1fr!important;gap:14px!important;margin-top:26px!important}
  body.apply-page .doc-card,body.apply-page .doc-card:first-child{grid-column:auto!important;padding:0 18px 20px!important;border-radius:14px!important}
  body.apply-page .doc-card:first-child ul{columns:1!important;column-rule:0!important;column-gap:0!important;padding-left:18px!important}
  body.apply-page .doc-title,body.apply-page .doc-card:first-child .doc-title{min-height:66px!important;height:auto!important}
  body.apply-page .doc-title i{margin-left:-18px!important;width:49px!important;flex-basis:49px!important;font-size:32px!important}
  body.apply-page .doc-title h3{font-size:21px!important}
  body.apply-page .doc-card ul{font-size:15px!important;line-height:1.55!important;margin-top:21px!important}
  body.apply-page .attention-bar{margin:22px 0 0!important;padding:16px!important;border-radius:14px!important;align-items:flex-start!important}
  body.apply-page .attention-bar i{width:42px!important;height:42px!important;flex-basis:42px!important;font-size:24px!important}
  body.apply-page .continue-section{padding:50px 16px 38px!important;min-height:0!important}
  body.apply-page .continue-inner h2{font-size:48px!important;line-height:1!important}
  body.apply-page .continue-copy{font-size:17px!important;line-height:1.45!important}
  body.apply-page .primary-btn{width:100%!important;max-width:330px!important;min-height:48px!important;height:auto!important;padding:11px 15px!important}
  body.apply-page .help-block{margin-top:42px!important}
  body.apply-page .help-block h3{font-size:37px!important;line-height:1.02!important}
  body.apply-page .chat-guidance-note,body.apply-page .help-actions .solid-btn{max-width:430px!important;width:100%!important}

  /* Premium information pages: retain imagery and stack naturally. */
  body.info-page .premium-info-hero{padding:96px 16px 28px!important}
  body.info-page .premium-hero-grid{display:grid!important;grid-template-columns:1fr!important;gap:22px!important}
  body.info-page .premium-hero-copy{padding:0!important}
  body.info-page .premium-hero-copy h1{font-size:clamp(50px,14vw,66px)!important;line-height:.96!important}
  body.info-page .premium-hero-copy p:not(.section-kicker){font-size:17px!important;line-height:1.55!important}
  body.info-page .premium-hero-media{display:block!important;min-height:0!important}
  body.info-page .hero-image-shell{min-height:260px!important;height:48vw!important;max-height:330px!important;border-radius:20px!important}
  body.info-page .hero-floating-card{position:relative!important;left:auto!important;bottom:auto!important;max-width:none!important;margin:-38px 14px 0!important;border-radius:16px!important}
  body.info-page .premium-content-section{padding:26px 14px 48px!important}
  body.info-page .premium-info-grid{display:grid!important;grid-template-columns:1fr!important;gap:15px!important}
  body.info-page .premium-main-card{padding:25px 19px!important;border-radius:17px!important}
  body.info-page .premium-main-card h2{font-size:39px!important}
  body.info-page .premium-side-stack{display:grid!important;grid-template-columns:1fr!important;gap:14px!important}
  body.info-page .info-contact-grid{grid-template-columns:1fr!important}

  /* FAQ */
  .faq-hero{padding:104px 18px 54px!important}
  .faq-hero h1{font-size:clamp(48px,13vw,58px)!important}
  .faq-section{padding:38px 14px 56px!important}
  .faq-layout{grid-template-columns:1fr!important;gap:24px!important}
  .faq-intro{position:static!important;text-align:center!important}
  .faq-item summary{padding:18px 16px!important;font-size:15.5px!important;line-height:1.35!important}
  .faq-answer{padding:0 16px 18px!important}

  /* Booking */
  body.booking-page .booking-main{padding-top:82px!important}
  .booking-hero{padding:38px 16px 28px!important}
  .booking-hero h1{font-size:clamp(46px,13vw,58px)!important}
  .booking-benefits{grid-template-columns:1fr!important;gap:10px!important}
  .booking-section{padding:0 8px 46px!important}
  .booking-shell{padding:6px!important;border-radius:16px!important}
  .booking-embed,.booking-embed iframe{min-height:760px!important;border-radius:12px!important}

  /* Work With Us */
  .work-hero{padding:96px 12px 48px!important}
  .work-shell{grid-template-columns:1fr!important;border-radius:18px!important;overflow:hidden!important}
  .work-intro-panel,.work-form-panel{padding:28px 20px!important}
  .work-intro-panel h1{font-size:clamp(45px,12vw,58px)!important}
  .work-points{gap:13px!important}
  .form-grid{grid-template-columns:1fr!important}
  .form-field,.form-field-full{grid-column:1!important}
  .work-submit{width:100%!important;justify-content:center!important}

  /* Footer */
  .footer-shell{width:calc(100% - 28px)!important;padding:42px 0 20px!important}
  .footer-top-premium{grid-template-columns:1fr!important;gap:38px!important}
  .footer-logo-premium img{width:min(100%,310px)!important;height:auto!important}
  .footer-brand-premium>p{font-size:15px!important;line-height:1.65!important}
  .footer-application-cta{width:100%!important;max-width:390px!important;justify-content:center!important;text-align:center!important}
  .footer-contact-row a{overflow-wrap:anywhere!important;align-items:flex-start!important}
  .footer-nav-premium{grid-template-columns:1fr 1fr!important;gap:30px 20px!important}
  .footer-menu-group:last-child{grid-column:1/-1!important}
  .footer-bottom-premium{grid-template-columns:1fr!important;gap:14px!important;text-align:left!important}
  .footer-credit{text-align:left!important}
}

@media (max-width:520px){
  .mobile-nav-actions{grid-template-columns:1fr!important}
  .home-page .home-hero{min-height:870px!important}
  .home-page .home-hero-copy{padding:106px 14px 335px!important}
  .home-page .home-person{left:-24vw!important;width:104vw!important;max-height:41vh!important}
  .home-page .home-proof-row{gap:5px!important}
  .home-page .home-proof{font-size:9.5px!important}
  body.apply-page .hero-features{grid-template-columns:1fr!important}
  body.apply-page .feature-item{max-width:320px!important}
  body.apply-page .section-heading h2{font-size:42px!important}
  body.apply-page .continue-inner h2{font-size:43px!important}
  body.info-page .hero-image-shell{height:62vw!important;min-height:230px!important}
  .footer-nav-premium{grid-template-columns:1fr!important}
  .footer-menu-group:last-child{grid-column:auto!important}
  .footer-social-premium{flex-wrap:wrap!important}
}

/* Keep the background video available on mobile even when reduced-motion rules exist upstream. */
@media (max-width:860px) and (prefers-reduced-motion: reduce){
  .home-page .home-video-iframe{display:block!important;animation:none!important;transition:none!important}
}
