/* Mobile-only typography and spacing. Desktop art direction is unchanged. */
@media (max-width: 800px) {
  body {font-size:14px;line-height:1.75}
  .section {padding:60px 6%}
  .section-top {margin-bottom:30px;gap:18px}
  .header,.header.scrolled {height:78px;padding:8px 6%}
  .logo-frame {width:104px;height:58px}
  .header-actions {gap:15px}
  .lang {font-size:11px;min-width:30px;min-height:44px;display:grid;place-items:center}
  .menu-toggle {width:44px;height:44px;align-items:center}
  .menu-toggle span {width:23px}
  .hero {min-height:690px;height:94svh;max-height:850px;padding-top:78px}
  .hero-top {top:105px;font-size:7px;letter-spacing:1.1px}
  .hero-title {padding:20px 6% 0}
  .hero h1 {font-size:clamp(39px,7.8vw,59px);line-height:1.16;letter-spacing:-1.8px}
  .hero h1 em {margin-top:7px}
  .hero-title .eyebrow {font-size:8px;letter-spacing:1.3px;line-height:1.7;max-width:280px;margin-bottom:23px}
  .hero-title>p:not(.eyebrow) {font-size:12px;line-height:1.85;max-width:270px;margin-top:23px}
  .round-link {margin-top:15px;gap:12px}
  .round-link>span {width:49px;height:49px;font-size:22px}
  .round-link small {font-size:8px;letter-spacing:1.2px}
  .hero-crunchfit .portrait-left {height:31%;top:23%;width:37%;left:-8%}
  .portrait-right {height:32%;top:52%;width:35%;right:-5%}
  .hero-bottom {bottom:25px;letter-spacing:1.2px}
  .marquee {padding:15px 0}
  .marquee span {font-size:23px;letter-spacing:1.5px}
  .marquee>div {gap:28px}
  h2,.body-focus-copy h2,.collection h2,.ritual h2,.intro h2,.team-preview h2,.session-heading h2,.reviews h2 {font-size:clamp(30px,5.3vw,40px);line-height:1.2;letter-spacing:-1.2px}
  h3 {font-size:23px;line-height:1.3}
  .eyebrow {font-size:8px;letter-spacing:1.5px;margin-bottom:20px}
  .intro-copy p,.service-story .lead {font-size:14px;line-height:1.85}
  .muted {font-size:13px!important}
  .body-focus-copy>p:not(.eyebrow),.session-heading>p,.intro-copy p,.contact-info>p:not(.eyebrow) {line-height:1.85}
  .body-focus {gap:30px}
  .body-focus-photo img {height:340px}
  .body-focus-copy h2 {margin-bottom:22px}
  .body-focus-copy ul {margin:20px 0 25px}
  .intro-images {margin-top:32px;gap:18px}
  .intro-images figure:first-child img {height:300px}
  .intro-images figure:last-child {padding-top:55px}
  .intro-images figure:last-child img {height:240px}
  .collection {padding-right:0}
  .collection-heading {margin-bottom:28px}
  .treatment-card {flex-basis:72%;min-width:245px}
  .treatment-card h3 {font-size:23px;margin-top:18px}
  .card-image {height:320px}
  .atmosphere {height:470px}
  .atmosphere h2 {font-size:clamp(36px,7vw,52px);line-height:1.16;letter-spacing:-1.4px}
  .ritual-grid {gap:32px}
  .ritual-photo img {height:400px}
  .ritual-step {padding:22px 0}
  .ritual-step h3 {font-size:23px}
  .booking-banner {padding:65px 6% 45px}
  .booking-banner h2 {font-size:clamp(30px,5.7vw,43px);line-height:1.22;letter-spacing:-1.2px}
  .banner-signature {margin-top:35px;font-size:23px}
  .page-intro {padding-top:130px;padding-bottom:55px}
  .page-intro h1 {font-size:clamp(43px,7.5vw,60px);line-height:1.14;letter-spacing:-1.8px;margin-bottom:24px}
  .page-intro>p:last-of-type {font-size:13px;line-height:1.8;max-width:420px}
  .service-hero {padding-top:78px}
  .service-hero-copy {padding:35px 6% 40px}
  .service-hero-copy>.eyebrow {margin-bottom:30px}
  .service-hero h1 {font-size:clamp(39px,6.8vw,55px);line-height:1.16;letter-spacing:-1.4px;margin-bottom:20px}
  .service-tagline {font-size:23px;line-height:1.4;margin-bottom:26px}
  .service-hero>img {height:400px}
  .service-feature {margin-bottom:60px;gap:27px}
  .service-feature h2 {font-size:clamp(31px,5.5vw,43px);line-height:1.2;letter-spacing:-1.1px}
  .service-feature h3 {font-size:23px}
  .feature-img img {height:370px}
  .process-grid h3 {font-size:23px;line-height:1.3}
  .service-image-pair {margin-top:38px}
  .core-focus {margin-top:40px;padding:26px}
  .core-focus h2 {font-size:32px;line-height:1.2}
  .core-area-grid {margin-top:30px}
  .core-area-grid h3,.crunchfit-plan h3 {font-size:23px;line-height:1.35}
  .crunchfit-plan {padding:35px 0;gap:25px}
  .related-body {margin-top:40px}
  .related-body-card h3 {font-size:23px}
  .crunchfit-feature {gap:32px}
  .crunchfit-feature h2 {font-size:54px;letter-spacing:-2px;margin-bottom:22px}
  .crunchfit-feature h2>span {font-size:15px;line-height:1.6}
  .crunchfit-feature-photo img {max-height:460px}
  .crunchfit-tags {margin:23px 0}
  .session-heading {margin-bottom:30px}
  .session-editorial {gap:30px}
  .session-wide>img {height:330px}
  .session-callout {padding:27px 0;gap:20px}
  .session-callout p {font-size:22px;line-height:1.4}
  .session-detail {gap:22px}
  .detail-image {height:280px}
  .team-preview-heading {margin-bottom:32px}
  .team-card h2,.team-card h3 {font-size:19px;line-height:1.35;margin-top:16px}
  .team-grid {gap:30px 18px}
  .team-section .team-photo img,.team-photo img {height:290px}
  .team-card>p {font-size:11px;line-height:1.6}
  .reviews-heading {margin-bottom:30px}
  .review-card {padding:25px;min-height:260px}
  .review-card blockquote {font-size:20px;line-height:1.6;margin-top:25px}
  .google-rating strong {font-size:44px;letter-spacing:-2px}
  .experience-collage blockquote {font-size:28px;line-height:1.4;padding:18px}
  .values h2 {font-size:33px;line-height:1.2}
  .faq h2 {margin-bottom:28px}
  .faq summary {font-size:13px;line-height:1.6;padding:21px 0}
  .faq summary span {flex-shrink:0}
  .next-service>a {font-size:32px;line-height:1.3}
  .contact-grid {gap:32px}
  .contact-info h2 {margin-bottom:24px}
  .big-phone {font-size:28px}
  .contact-address {margin-top:32px}
  .booking-card {padding:28px}
  .booking-card label {font-size:11px;line-height:1.6}
  .booking-card input,.booking-card select {font-size:16px;margin-bottom:24px;padding:10px 0 12px}
  .form-note {font-size:11px;line-height:1.8}
  .pill-button {min-height:46px;font-size:11px;padding:14px 22px;gap:25px}
  .menu-overlay {padding:98px 6% 28px}
  .menu-overlay nav>a,.mobile-services>summary {font-size:19px;line-height:1.4;letter-spacing:-.3px;min-height:53px;padding:13px 0}
  .menu-overlay nav em,.mobile-services>summary em {font-size:22px}
  .menu-overlay nav .mobile-service-links>a {font-size:13px;line-height:1.5;min-height:44px;padding:11px 0}
  .menu-bottom {font-size:10px;line-height:1.8;margin-top:25px;gap:12px}
  .footer {padding:50px 6% 25px}
  .footer-top {padding-bottom:30px}
  .footer-top>a {font-size:clamp(30px,5.7vw,43px);line-height:1.3;letter-spacing:-1px}
  .footer-grid {padding:35px 0;gap:30px}
  .footer-grid>div>a,.footer-grid>div>p:not(.eyebrow) {font-size:12px;line-height:1.8}
  .footer-bottom {font-size:10px;letter-spacing:0;gap:18px}
  .whatsapp-float {right:15px;bottom:15px;padding:12px}
}
@media (max-width:440px) {
  .section {padding:52px 6%}
  .collection {padding-right:0}
  .hero {min-height:680px;max-height:780px}
  .hero h1 {font-size:40px;line-height:1.16}
  .hero-title>p:not(.eyebrow) {max-width:245px}
  .hero-crunchfit .portrait-left {top:24%;width:39%;height:29%;left:-11%}
  .portrait-right {top:53%;width:36%;height:29%;right:-7%}
  h2,.body-focus-copy h2,.collection h2,.ritual h2,.intro h2,.team-preview h2,.session-heading h2,.reviews h2 {font-size:31px}
  .body-focus-photo img {height:300px}
  .intro-images figure:first-child img {height:265px}
  .intro-images figure:last-child img {height:210px}
  .card-image {height:300px}
  .treatment-card {flex-basis:78%}
  .treatment-card h3 {font-size:22px}
  .ritual-photo img {height:350px}
  .booking-banner h2 {font-size:31px}
  .page-intro h1 {font-size:43px}
  .service-hero h1 {font-size:40px}
  .service-hero>img {height:360px}
  .feature-img img {height:330px}
  .service-feature h2 {font-size:32px}
  .session-wide>img {height:280px}
  .session-detail {gap:18px}
  .detail-image {height:240px}
  .session-detail figcaption>p {font-size:12px;line-height:1.75}
  .session-editorial figcaption>span {font-size:8px;letter-spacing:1px;line-height:1.7;display:block}
  .team-section .team-photo img,.team-photo img {height:230px}
  .team-card h2,.team-card h3 {font-size:18px}
  .crunchfit-feature h2 {font-size:49px}
  .crunchfit-feature-photo img {max-height:420px}
  .booking-card {padding:24px}
  .footer-top>a {font-size:32px}
}
/* The supplied terms layout keeps its character with a quieter mobile type scale. */
@media (max-width:640px) {
  body.page-policies>main {padding-top:78px}
  #shape-policy-page .ss-page-title {font-size:30px;line-height:1.2}
  #shape-policy-page .ss-section h2 {font-size:27px;line-height:1.2;letter-spacing:-.4px}
  #shape-policy-page .ss-section h3 {font-size:22px;line-height:1.35}
  #shape-policy-page .ss-intro-strip strong {font-size:23px;line-height:1.3}
  #shape-policy-page .ss-policy-list li {font-size:13px;line-height:1.8}
  #shape-policy-page .ss-company-item strong,#shape-policy-page .ss-company-item a {font-size:13px;line-height:1.7}
  #shape-policy-page .ss-nav-link {font-size:11px;min-height:44px}
}
/* Compact opening: bring the next section into view sooner on phones. */
@media(max-width:800px){
 .hero.immersive{height:620px;min-height:0;max-height:none}
 .hero-top{top:98px}
 .hero-title{padding-top:40px}
 .hero-title .eyebrow{margin-bottom:19px}
 .hero-title>p:not(.eyebrow){margin-top:20px}
 .round-link{margin-top:12px;gap:10px}
 .round-link>span{width:45px;height:45px}
 .hero-bottom{bottom:20px}
 .hero-crunchfit .portrait-left{top:24%;height:30%;width:34%;left:-8%}
 .hero .portrait-right{top:57%;height:27%;width:31%;right:-5%}
 .crunchfit-feature{padding-top:38px;padding-bottom:44px;gap:28px}
 .crunchfit-feature-photo{width:100%;max-width:340px;margin-inline:auto}
 .crunchfit-feature-photo img{height:320px;max-height:none;object-fit:cover;object-position:center 45%}
 .crunchfit-feature h2{font-size:46px}
}
@media(max-width:440px){
 .hero.immersive{height:570px}
 .hero-top{top:96px;font-size:6px}
 .hero-title{padding-top:35px}
 .hero-title .eyebrow{font-size:7px;margin-bottom:18px;max-width:270px}
 .hero h1{font-size:37px}
 .hero-title>p:not(.eyebrow){font-size:12px;max-width:245px;line-height:1.75;margin-top:18px}
 .hero-crunchfit .portrait-left{top:23%;height:29%;width:34%;left:-10%}
 .hero .portrait-right{top:57%;height:26%;width:30%;right:-6%}
 .hero-bottom{font-size:6px;bottom:17px}
 .round-link small{font-size:7px;letter-spacing:1px}
 .crunchfit-feature-photo{max-width:310px}
 .crunchfit-feature-photo img{height:275px;object-position:center 48%}
 .crunchfit-feature h2{font-size:43px}
}
