/* v91 mobile proportion corrections with a desktop-like split homepage hero. */
@media (max-width:620px){
  html,body{max-width:100%;overflow-x:hidden}
  .header-inner{height:62px;gap:10px;padding:0 16px}
  .brand{gap:7px}
  .brand span{font-size:17px;letter-spacing:.08em}
  .brand b{font-size:11px;letter-spacing:.05em}
  .header-actions{gap:8px}
  .header-actions .login-button{padding:8px 12px;font-size:11px}
  .mobile-nav{width:100%;justify-content:stretch;padding:0;overflow:hidden}
  .mobile-nav a{flex:1 1 0;min-width:0;padding:11px 0;text-align:center;font-size:12px;white-space:nowrap}
  .section-wrap{width:calc(100% - 36px)}

  .home-hero{display:grid;grid-template-columns:45% 55%;align-items:stretch;min-height:0;background:linear-gradient(150deg,#fbf7f1,#f1e6da)}
  .hero-copy{height:clamp(300px,65vw,380px);padding:26px 6px 26px 18px;justify-content:center}
  .hero-copy>p{font-size:clamp(8px,2.2vw,11px);letter-spacing:.16em;white-space:nowrap}
  .hero-copy h1{font-size:clamp(20px,6vw,29px);line-height:1.48;letter-spacing:.025em;margin:12px 0 13px;white-space:nowrap}
  .hero-copy>div{font-size:clamp(10.5px,2.7vw,13px);line-height:1.75}
  .hero-copy .primary-button{margin-top:17px;padding:9px 18px;font-size:clamp(10.5px,2.7vw,13px)}
  .hero-image{height:clamp(300px,65vw,380px);min-height:0;border-radius:0 0 0 48px;padding:14px 10px;align-items:center}
  .hero-image img{width:auto;max-width:100%;height:auto;max-height:100%;object-fit:contain;margin:0 auto}

  .home-news,.about-teaser,.service-teaser,.story-grid,.course-section{padding:44px 0}
  .section-heading{padding-bottom:14px}
  .section-heading h2{font-size:25px}
  .news-lines>a{padding:16px 0}
  .news-lines strong{font-size:15px}
  .news-lines span{font-size:13px;line-height:1.75}
  .about-teaser,.story-grid,.course-section{gap:25px}
  .about-teaser h2,.story-grid h2,.space-strip h2,.course-section>div>h2,.addons h2{font-size:26px;line-height:1.55;margin:11px 0 17px}
  .about-teaser p:not(.eyebrow),.story-grid p:not(.eyebrow){font-size:14px;line-height:1.95}
  .about-teaser img,.story-grid img{height:290px;border-radius:0 48px 0 0}
  .story-grid.reverse img{border-radius:48px 0 0}

  .service-tiles{gap:15px}
  .service-tiles>a{border-radius:14px;box-shadow:0 7px 22px rgba(82,60,43,.06)}
  .service-tiles img{height:205px}
  .service-tiles>a>div{padding:19px}
  .service-tiles h3{font-size:20px}
  .service-tiles .text-service-tile{min-height:175px}
  .text-service-tile b{margin-top:24px}
  .space-strip{border-radius:14px;margin-top:15px;margin-bottom:55px;padding:28px 18px 0}
  .space-strip img{width:calc(100% + 36px);height:185px;margin:18px -18px 0}
  .booking-cta{width:calc(100% - 36px);margin-bottom:55px;border-radius:14px;padding:29px 24px}
  .booking-cta h2{font-size:21px;line-height:1.6}
  .booking-cta .primary-button{margin-top:16px}

  .page-title{padding:48px 18px 36px}
  .page-title h1{font-size:31px;margin:10px 0}
  .title-description{font-size:13px;line-height:1.8}
  .news-page{padding:36px 0 65px}
  .featured-news,.news-article{border-radius:12px;padding:22px 18px;box-shadow:0 7px 22px rgba(92,66,45,.045)}
  .news-page h2{font-size:20px;line-height:1.55}
  .news-page p{font-size:13px;line-height:1.75}

  .about-hero{display:flex;flex-direction:column;min-height:0}
  .about-hero>div{padding:42px 22px 34px}
  .about-hero>div>p{font-size:13px}
  .about-hero h1{font-size:31px;margin:14px 0}
  .about-hero span{font-size:14px;line-height:1.8}
  .about-hero img{height:285px;border-radius:58px 0 0}
  .values{gap:0;padding:8px 0 55px}
  .values article{border-width:0 0 1px;border-radius:0;padding:27px 8px;text-align:left}
  .values h3{font-size:19px;margin:8px 0}

  .service-jump{top:103px;padding:11px 8px;overflow-x:auto;justify-content:flex-start;scrollbar-width:none}
  .service-jump::-webkit-scrollbar{display:none}
  .service-jump a{flex:none;padding:8px 15px;font-size:11px}
  .course-visual img{height:300px;border-radius:70px 70px 12px 12px}
  .service-list article{padding:21px 0;gap:15px}
  .service-list h3{font-size:18px}
  .service-title-row{gap:13px}
  .service-list .service-prices span{padding:7px 9px}
  .service-prices b{font-size:16px}
  .service-flow{padding:12px 13px}
  .addons{margin-top:45px;margin-bottom:55px;border-radius:14px;padding:38px 17px}
  .addon-grid article{border-radius:8px;padding:19px 16px}

  .news-detail-hero{border-radius:12px;min-height:0}
  .news-detail-hero>div{padding:33px 22px}
  .news-detail-hero h1{font-size:28px;margin:13px 0}
  .news-detail-hero img{height:230px}
  .campaign-body{padding:38px 0 25px}
  .experience-feature,.returning-gift,.privacy-statement,.opening-story{border-radius:14px;padding:31px 21px}
  .experience-feature h2,.campaign-section-title h2,.package-offer h2,.spend-gift h2,.returning-gift h2,.privacy-statement h2,.opening-story h2{font-size:25px}
  .package-offer,.spend-gift{border-radius:14px;padding:30px 21px}
  .stored-plan-grid article{border-radius:12px;padding:29px 20px}
  .campaign-terms{border-radius:10px;padding:23px 19px}

  .site-footer{padding:40px 22px 20px}
  .footer-grid{gap:27px}
  .footer-brand{font-size:21px}
  .footer-brand span{font-size:14px}
  .footer-grid h3{margin-bottom:10px}
  .copyright{margin-top:26px}
}

@media (max-width:380px){
  .header-inner{padding:0 13px}
  .brand span{font-size:16px}
  .brand b{font-size:10px}
  .header-actions .login-button{padding:7px 10px}
  .mobile-nav a{font-size:11px}
  .hero-copy{padding-left:15px;padding-right:4px}
  .hero-image{padding-left:8px;padding-right:8px}
}

@media (max-width:350px){
  .hero-copy h1{font-size:19px}
  .hero-copy>div{font-size:10px}
  .hero-copy .primary-button{padding:8px 14px;font-size:10px}
}
