/* A separate editorial rhythm for phones; desktop composition is unchanged. */
.mobile-overview-photo,.mobile-terms-summary{display:none}
.benefit-visual,.tier-photo,.page-membership .price-photo,.page-membership .benefit-cover{display:none}

@media (max-width:700px){
  :root{--mobile-side:20px}
  body{font-size:15px;line-height:1.65}
  .section-pad,.editorial-section{padding:68px var(--mobile-side)}
  .section-label{display:flex;gap:9px;align-items:baseline;font-size:10px;letter-spacing:.14em}
  .section-label span{font-size:15px}
  .overline,.eyebrow{font-size:10px;letter-spacing:.17em}
  .display,.editorial-heading h2,.feature-words h2,.table-intro h2,
  .map-section h2,.inner-cta h2,.contact-page h2{
    font-size:clamp(27px,7.5vw,34px)!important;
    line-height:1.32!important;
    letter-spacing:-.055em!important;
    margin:13px 0 17px;
  }
  .editorial-heading{margin-bottom:28px;text-align:left}
  .editorial-heading h2{margin:13px 0 14px}
  .editorial-heading>p,.prose p,.feature-words p,.contact-page>div>p{
    font-size:14px;line-height:1.7;
  }
  .text-link,.editorial-link{font-size:13px}
  .source-note{font-size:12px;line-height:1.65}

  /* Keep the opening image full-size, then change to shorter photographic chapters. */
  .page-home .story{padding-top:62px;padding-bottom:55px}
  .page-home .story-grid{margin:24px auto 31px;text-align:left}
  .page-home .story-grid .display{font-size:31px}
  .page-home .story-copy{margin:14px 0 0}
  .page-home .story-copy p{font-size:14px;line-height:1.72;margin:0 0 14px}
  .page-home .story-copy p:nth-child(2){display:none}
  .page-home .story-copy .text-link{margin-top:6px}
  .page-home .story-photo{height:410px;margin:0 calc(-1 * var(--mobile-side))}
  .page-home .story-photo img{object-position:center}
  .page-home .journey-links{
    display:flex;gap:11px;margin:27px calc(-1 * var(--mobile-side)) 0;
    padding:0 var(--mobile-side) 12px;overflow-x:auto;
    scroll-snap-type:x mandatory;scrollbar-width:thin;
  }
  .page-home .journey-links a{
    flex:0 0 min(73vw,295px);min-height:260px;padding:20px;
    gap:6px;scroll-snap-align:start;
  }
  .page-home .journey-links strong{font-size:22px}
  .page-home .journey-links small{font-size:10px}
  .page-home .journey-links span{font-size:12px}

  .page-home .overview{padding-bottom:68px;background:#f8f2eb}
  .page-home .overview-head{margin:25px auto 30px;text-align:left}
  .page-home .overview-head>p:last-child{margin:0;font-size:14px;line-height:1.7;color:#61564c}
  .page-home .facts-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;border:0}
  .page-home .facts-grid>div,.page-home .facts-grid>div:first-child{
    border:0;min-height:0;padding:18px 12px 12px 0;align-items:flex-start;
  }
  .page-home .facts-grid>div:nth-child(2){grid-column:1/-1;grid-row:1;border-bottom:1px solid #cdbdab;padding:0 0 17px}
  .page-home .facts-grid>div:first-child{grid-column:1;grid-row:2}
  .page-home .facts-grid>div:last-child{grid-column:2;grid-row:2;padding-left:14px;border-left:1px solid #cdbdab}
  .page-home .facts-grid span{font-size:10px;color:#876f59;letter-spacing:.12em}
  .page-home .facts-grid strong{font-size:23px;margin:6px 0 3px;line-height:1.26;color:#4c3c31}
  .page-home .facts-grid>div:nth-child(2) strong{font-size:46px}
  .page-home .facts-grid strong em{font-size:16px;margin-left:3px}
  .page-home .facts-grid small{font-size:11px;line-height:1.45;color:#6d6259}
  .mobile-overview-photo{display:block;margin:27px calc(-1 * var(--mobile-side)) -68px}
  .mobile-overview-photo img{display:block;width:100%;height:340px;object-fit:cover;object-position:center}

  .page-home .location{display:flex;flex-direction:column}
  .page-home .location-image{min-height:0;height:370px;order:0}
  .page-home .location-image img{width:100%;height:100%;object-fit:cover}
  .page-home .location-content{padding:60px var(--mobile-side) 70px;order:1;text-align:left}
  .page-home .location-content .overline{margin-top:23px}
  .page-home .location-content h2{font-size:30px;margin:8px 0 14px}
  .page-home .location-content>p:not(.overline){font-size:14px;line-height:1.7}
  .page-home .location-content .text-link{margin-top:16px}

  .page-home .facilities{padding-bottom:65px}
  .page-home .facilities-head{display:block;margin:26px 0 22px;text-align:left}
  .page-home .facilities-head>p{font-size:14px;line-height:1.7;margin:8px 0 0}
  .page-home .facility-grid{
    display:flex;grid-template-rows:none;gap:11px;
    overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;
    margin:0 calc(-1 * var(--mobile-side));
    padding:0 var(--mobile-side) 12px;
  }
  .page-home .facility-card,.page-home .facility-card.large{
    flex:0 0 min(80vw,340px);height:320px;grid-row:auto;scroll-snap-align:start;
  }
  .page-home .facility-card>div{left:22px;bottom:22px}
  .page-home .facility-card h3{font-size:25px;margin:5px 0}
  .page-home .facility-card p{font-size:13px}
  .page-home .facility-caption{text-align:left;font-size:13px;line-height:1.65}
  .page-home .facility-caption>span{display:none}

  .page-home .rooms{padding-bottom:65px}
  .page-home .rooms-head{margin:24px auto 24px;text-align:left}
  .page-home .rooms-head>p:last-child{font-size:14px;line-height:1.65}
  .page-home .room-feature{display:block;margin:0 calc(-1 * var(--mobile-side));min-height:0}
  .page-home .room-photo{height:340px}
  .page-home .room-photo img{width:100%;height:100%;object-fit:cover}
  .page-home .room-info{padding:24px var(--mobile-side) 34px}
  .page-home .room-tabs{justify-content:space-between;gap:8px;margin-bottom:19px}
  .page-home .room-tabs button{font-size:11px;padding-bottom:10px}
  .page-home .room-info h3{font-size:29px;margin:6px 0 8px}
  .page-home .room-info>p:not(.overline){display:none}
  .page-home .room-meta{padding:10px 0;font-size:12px}
  .page-home .room-info .text-link{margin-top:18px}

  .page-home .membership-intro{margin:24px auto 30px;text-align:left}
  .page-home .membership-intro>p:last-child{font-size:14px;line-height:1.7}
  .page-home .benefit-strip{display:block;border-bottom:0}
  .page-home .benefit-strip>div,.page-home .benefit-strip>div:first-child{
    border-right:0;border-bottom:1px solid #d9c9bb;
    padding:14px 0;display:grid;grid-template-columns:28px 1fr;gap:0 10px;
  }
  .page-home .benefit-strip span{grid-row:span 2;font-size:17px;margin:1px 0 0}
  .page-home .benefit-strip strong{font-size:15px;margin:0;font-weight:500}
  .page-home .benefit-strip p{font-size:12px;line-height:1.55;margin:4px 0 0}
  .page-home .membership-heading{display:block;margin:57px 0 20px}
  .page-home .membership-heading h3{font-size:22px;margin:0 0 3px}
  .page-home .membership-heading p{font-size:12px;margin:0}
  .page-home .tier-grid{
    display:flex;gap:11px;overflow-x:auto;scroll-snap-type:x mandatory;
    scrollbar-width:thin;margin:0 calc(-1 * var(--mobile-side));
    padding:0 var(--mobile-side) 14px;
  }
  .page-home .tier{flex:0 0 min(78vw,320px);min-height:280px;padding:23px;scroll-snap-align:start}
  .page-home .tier h4{font-size:23px;margin:25px 0 5px}
  .page-home .tier>p{font-size:12px;min-height:35px}
  .page-home .tier-price{padding:12px 0}
  .page-home .tier-price strong{font-size:30px}
  .page-home .usage-panel{display:block;margin:30px calc(-1 * var(--mobile-side)) 0;padding:31px var(--mobile-side)}
  .page-home .usage-panel h3{font-size:25px;margin:7px 0 22px}
  .page-home .usage-columns{display:grid;grid-template-columns:1fr;gap:0}
  .page-home .usage-columns>div{padding:14px 0;border-top:1px solid rgba(255,255,255,.32)}
  .page-home .usage-columns b{font-size:15px}
  .page-home .usage-columns em{font-size:23px}
  .page-home .usage-columns p{font-size:12px;line-height:1.55;margin:6px 0 0}
  .page-home .terms-note{display:none}
  .mobile-terms-summary{display:block;font-size:12px;line-height:1.7;margin:16px 0 0;color:#685950}
  .mobile-terms-summary a{display:inline-block;color:#74543c;border-bottom:1px solid #ad9581}

  .page-home .quote-banner{min-height:380px}
  .page-home .quote-banner>div{padding:56px 24px}
  .page-home .quote-banner h2{font-size:29px;margin:16px 0 26px}
  .page-home .faq{padding-top:62px;padding-bottom:65px}
  .page-home .faq-layout{display:block;margin:22px 0 0}
  .page-home .faq-layout .display{margin-bottom:25px}
  .page-home .faq-list summary{font-size:14px;line-height:1.5;padding:18px 0}
  .page-home .faq-list p{font-size:13px;line-height:1.65;padding-bottom:17px}
  .page-home .contact{padding-top:67px}
  .page-home .contact-layout{margin-top:25px;gap:25px}
  .page-home .contact-layout .display{font-size:28px}

  /* Detail pages keep their information, with lighter headings and tighter media. */
  .inner-hero{height:400px}
  .inner-hero-copy{padding:75px var(--mobile-side) 0}
  .inner-hero h1{font-size:35px;margin:8px 0}
  .inner-hero-copy p{font-size:14px;line-height:1.6}
  .inner-scroll{display:none}
  .wide-image{height:330px}
  .two-column,.split-feature,.overview-table,.map-section{gap:24px}
  .prose{padding-top:0}
  .prose p{margin-bottom:14px}
  .metric-row b{font-size:37px}
  .metric-row span{font-size:12px}
  .page-overview .overview-photo .metric-row>div:nth-child(2) b{font-size:46px}
  .page-overview .overview-photo .metric-row>div:last-child b{font-size:24px;line-height:1.35}
  .overview-table dl>div{padding:13px 0;grid-template-columns:80px 1fr}
  .overview-table dt{font-size:12px}
  .overview-table dd{font-size:14px}
  .room-tier-index a{min-height:122px;padding:19px}
  .room-tier-index strong{font-size:24px}
  .room-detail-text{padding:32px var(--mobile-side) 44px}
  .room-detail h2{font-size:30px}
  .facility-stack{gap:48px}
  .facility-story{gap:17px}
  .facility-story img{height:260px}
  .facility-story h3{font-size:26px;margin:9px 0}
  .facility-story p{font-size:14px}
  .page-location .place-photo,.page-location .visual-places article:last-child .place-photo{aspect-ratio:1.5}
  .page-location .visual-places{gap:23px}
  .page-location .visual-places h3{font-size:20px}
  .page-location .visual-places p{font-size:13px}
  .page-membership .benefit-details .benefit-photo{aspect-ratio:1.6}
  .page-membership .benefit-details h3{font-size:18px}
  .page-membership .benefit-details p{font-size:13px;line-height:1.65}
  .page-rooms .inner-hero{height:230px}
  .page-rooms .inner-hero h1{font-size:32px}
  .room-type-tabs{
    display:flex;gap:8px;max-width:none;overflow-x:auto;scroll-snap-type:x mandatory;
    scrollbar-width:thin;border:0;margin:0 calc(-1 * var(--mobile-side)) 26px;
    padding:0 var(--mobile-side) 12px;
  }
  .room-type-tabs button,.room-type-tabs button:nth-child(2n),
  .room-type-tabs button:nth-child(4n),.room-type-tabs button:nth-last-child(-n+4){
    flex:0 0 auto;min-width:122px;min-height:45px;padding:0 12px;
    border:1px solid #d8c7ba;font-size:13px;scroll-snap-align:start;
  }
  .room-card-media>img{height:235px}
  .room-card figure{height:195px;padding:12px}
  .room-card figure img{max-height:145px}
  .room-card>div:last-child{padding:20px}
  .room-card h3{font-size:22px}
  .room-card p{font-size:13px}
  .page-faq .inner-hero,.page-contact .inner-hero{height:240px}
  .contact-page form{padding:22px}
}

@media (max-width:360px){
  .page-home .story-photo{height:360px}
  .page-home .journey-links a{flex-basis:78vw}
  .page-home .facility-card,.page-home .facility-card.large{flex-basis:83vw}
  .page-home .room-tabs button{font-size:10px}
  .page-home .tier{flex-basis:84vw}
}

/* Photograph-led membership chapters on phones. Desktop keeps its existing layout. */
@media (max-width:700px){
  .page-home .membership-intro{margin-bottom:22px}
  .page-home .benefit-strip{
    display:flex;gap:10px;border:0;overflow-x:auto;scroll-snap-type:x mandatory;
    scrollbar-width:thin;margin:0 calc(-1 * var(--mobile-side));
    padding:0 var(--mobile-side) 12px;
  }
  .page-home .benefit-strip>div,.page-home .benefit-strip>div:first-child,
  .page-home .benefit-strip>div:last-child{
    position:relative;isolation:isolate;display:flex;flex-direction:column;
    justify-content:flex-end;flex:0 0 min(80vw,320px);height:292px;
    padding:23px;border:0;overflow:hidden;scroll-snap-align:start;color:#fff;
  }
  .page-home .benefit-strip>div::after{
    content:"";position:absolute;inset:0;z-index:-1;
    background:linear-gradient(0deg,rgba(16,21,22,.87),rgba(16,21,22,.28) 58%,rgba(16,21,22,.05));
  }
  .page-home .benefit-visual{
    display:block;position:absolute;inset:0;width:100%;height:100%;
    object-fit:cover;z-index:-2;
  }
  .page-home .benefit-strip span{font:500 10px 'DM Sans',sans-serif;letter-spacing:.19em;color:#f3ded0;margin:0 0 10px}
  .page-home .benefit-strip strong{font-size:25px;font-weight:400;line-height:1.3;color:#fff;margin:0 0 7px;letter-spacing:-.045em}
  .page-home .benefit-strip p{font-size:12px;line-height:1.55;color:#f5ede5;margin:0}
  .page-home .membership-heading{margin-top:46px}
  .page-home .tier-grid{gap:12px}
  .page-home .tier,.page-home .tier.highlighted{
    position:relative;display:block;flex:0 0 min(80vw,320px);min-height:0;
    padding:0 0 19px;overflow:hidden;background:#fff9f3;
  }
  .page-home .tier-photo{display:block;width:100%;height:267px;object-fit:cover}
  .page-home .tier::before{
    content:"";position:absolute;z-index:1;inset:0 0 auto;height:267px;
    background:linear-gradient(0deg,rgba(21,23,22,.68),transparent 53%,rgba(21,23,22,.43));pointer-events:none;
  }
  .page-home .tier-number{
    position:absolute;z-index:2;top:19px;left:21px;right:21px;
    color:#fff;font-size:19px;
  }
  .page-home .tier-number span{color:#fff}
  .page-home .tier h4{
    position:absolute;z-index:2;top:209px;left:21px;
    color:#fff;font-size:29px;margin:0;font-weight:400;
  }
  .page-home .tier>p{min-height:34px;margin:15px 20px 10px;font-size:12px;line-height:1.45;color:#66594f}
  .page-home .tier-price{margin:0 20px;padding:12px 0 8px;border-color:#d4c5b5}
  .page-home .tier-price strong{font-size:26px;margin-top:3px;color:#49382c}
  .page-home .tier-price em{font-size:13px}
  .page-home .tier-bottom{margin:4px 20px 0;color:#5b4a3c}
  .page-home .usage-panel{
    background:linear-gradient(90deg,rgba(31,32,31,.86),rgba(31,32,31,.65)),
      url('./assets/photos/exterior-night.webp') center/cover;
  }
  .page-home .usage-columns p{color:#e7ddd3}

  .page-membership .price-grid{
    display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;
    scrollbar-width:thin;margin:0 calc(-1 * var(--mobile-side));
    padding:0 var(--mobile-side) 12px;
  }
  .page-membership .price-grid article{
    position:relative;display:block;flex:0 0 min(80vw,320px);
    padding:0 0 17px;overflow:hidden;scroll-snap-align:start;background:#fffaf5;
  }
  .page-membership .price-photo{display:block;width:100%;height:258px;object-fit:cover}
  .page-membership .price-grid article::before{
    content:"";position:absolute;inset:0 0 auto;height:258px;pointer-events:none;
    background:linear-gradient(0deg,rgba(23,24,24,.69),transparent 56%,rgba(23,24,24,.4));
  }
  .page-membership .price-grid article>.eyebrow{
    position:absolute;top:19px;left:20px;color:#fff;font-size:10px;
  }
  .page-membership .price-grid h3{
    position:absolute;top:199px;left:20px;margin:0;color:#fff;
    font:400 28px 'Noto Sans KR',sans-serif;
  }
  .page-membership .price-grid strong{
    display:block;margin:0 20px;padding:18px 0 13px;font-size:25px;
  }
  .page-membership .price-grid article>p{margin:10px 20px 6px;font-size:14px}
  .page-membership .price-grid article>small{display:block;margin:0 20px;min-height:46px;font-size:12px;line-height:1.5}
  .page-membership .price-grid article>div:last-child{
    margin:10px 20px 0;padding-top:12px;font-size:12px;
  }

  .page-membership .benefit-details{gap:19px}
  .page-membership .benefit-details article{
    margin:0 calc(-1 * var(--mobile-side));background:#f7f1eb;
  }
  .page-membership .benefit-details .benefit-photo{
    height:320px;aspect-ratio:auto!important;margin:0!important;
  }
  .page-membership .benefit-details .benefit-photo::after{
    content:"";position:absolute;inset:0;
    background:linear-gradient(0deg,rgba(16,21,22,.77),transparent 56%);pointer-events:none;
  }
  .page-membership .benefit-details .benefit-cover{
    display:flex;flex-direction:column;position:absolute;z-index:1;
    left:24px;right:24px;bottom:24px;color:#fff;
  }
  .page-membership .benefit-cover small{font:500 10px 'DM Sans',sans-serif;letter-spacing:.2em;color:#eee2d4;margin-bottom:9px}
  .page-membership .benefit-cover h3{font-size:27px;line-height:1.25;color:#fff;margin:0;font-weight:400}
  .page-membership .benefit-details .benefit-photo>span{
    z-index:2;top:15px;right:15px;left:auto;bottom:auto;
    font-size:10px;padding:7px 9px;
  }
  .page-membership .benefit-details .benefit-copy{
    display:block;padding:15px 24px 19px;border:0;background:#f7f1eb;
  }
  .page-membership .benefit-details .benefit-copy b,
  .page-membership .benefit-details .benefit-copy h3{display:none}
  .page-membership .benefit-details .benefit-copy p{
    display:block;margin:0;color:#594f46;font-size:12px;line-height:1.7;
  }
  .page-membership .benefit-details+.source-note{margin-top:20px}
}

@media (max-width:360px){
  .page-home .benefit-strip>div,.page-home .benefit-strip>div:first-child,
  .page-home .tier,.page-membership .price-grid article{flex-basis:83vw}
}

@media (prefers-reduced-motion:reduce){
  .page-home .benefit-strip,.page-home .tier-grid,.page-membership .price-grid{scroll-behavior:auto}
}
