/* Round 57 · loaded last by concept-152-scroll57.html only. V56 files are untouched.
   1. Desktop readable type: body copy from 18px, supporting text 15–16px, growing gently on large screens
      (no zoom). Families, composition and phone sizes stay as V56; every size rule needs min-width:701px.
   2. Desktop Samara composition in both languages (content-i18n57.js); Chinese uses the English size.
   3. Desktop membership modal: readable sizes, no backdrop-filter, a lighter shadow, normal scrolling.
   4. Font fallbacks: Microsoft JhengHei after the Mac/iOS faces (Apple devices never reach it);
      the modal's Latin aliases swap instead of hiding text. No new web font in this round. */

@font-face{font-family:LeapSerif;src:url('/brand-v127/round22/assets/leap-cormorant_garamond.woff2') format('woff2');font-display:swap}
@font-face{font-family:LeapSans;src:url('/brand-v127/round22/assets/leap-inter.woff2') format('woff2');font-display:swap}
html:not([lang|=en]){--sans:'LEAP Inter',-apple-system,BlinkMacSystemFont,'PingFang TC','Noto Sans TC','Microsoft JhengHei',sans-serif}
.membership-modal{font-family:LeapSans,"PingFang TC","Microsoft JhengHei",sans-serif}

@media(min-width:701px){
 html body.c152.desktop-type-new{
  --t57-body:clamp(18px,calc(12.5px + .42vw),23px);   /* 1280 → 18 · 1920 → 20.6 · 2560 → 23 */
  --t57-aux:clamp(15px,calc(11px + .32vw),19px);      /* 1280 → 15.1 · 1920 → 17.1 · 2560 → 19 */
  --t57-aux16:clamp(16px,calc(12px + .3vw),20px);     /* 1280 → 16 · 1920 → 17.8 · 2560 → 19.7 */
  font-size:var(--t57-body)
 }

 /* Header */
 html body.c152.desktop-type-new .top nav,html body.c152.desktop-type-new .top .language-switch{font-size:var(--t57-aux)}

 /* Opening captions */
 html body.c152.desktop-type-new .stage .cap h2{font-size:clamp(28px,2.5vw,44px)}
 html[lang|=en] body.c152.desktop-type-new .stage .cap h2{font-size:clamp(32px,3vw,52px)}
 html body.c152.desktop-type-new .stage .cap .scene-description{font-size:var(--t57-body)}
 html body.c152.desktop-type-new .stage .cap .equipment-note{font-size:var(--t57-aux)}

 /* Space map and room card */
 html body.c152.desktop-type-new .map-intro h2{font-size:clamp(30px,2.3vw,44px)}
 html body.c152.desktop-type-new .room-view h3{font-size:clamp(24px,1.9vw,34px)}
 html body.c152.desktop-type-new .room-view .room-description{font-size:var(--t57-body)}

 /* Recovery */
 html body.c152.desktop-type-new .recovery-spectrum{font-size:var(--t57-aux16)}
 html body.c152.desktop-type-new .recovery-amenities{font-size:clamp(18px,1.45vw,26px)}

 /* Membership */
 html body.c152.desktop-type-new :is(.members .section-title,.usage-stage header h2){font-size:clamp(30px,2.3vw,44px)}
 html[lang|=en] body.c152.desktop-type-new :is(.members .section-title,.usage-stage header h2){font-size:clamp(34px,2.6vw,50px)}
 html body.c152.desktop-type-new .members .plan h3{font-size:clamp(24px,1.75vw,32px)}
 html[lang|=en] body.c152.desktop-type-new .members .plan h3{font-size:clamp(28px,1.95vw,36px)}
 html body.c152.desktop-type-new .members .plan .price{font-size:clamp(38px,2.7vw,52px)}
 html body.c152.desktop-type-new .members .plan .price small{font-size:var(--t57-aux16)}
 html body.c152.desktop-type-new .members .plan-rate-link{font-size:var(--t57-aux16)}
 html body.c152.desktop-type-new .members .compare-row{font-size:var(--t57-body);line-height:1.6}

 /* Points */
 html body.c152.desktop-type-new .points-long .head h2{font-size:clamp(32px,2.6vw,48px)}
 html body.c152.desktop-type-new .points-long .sub{font-size:var(--t57-body)}
 html body.c152.desktop-type-new .points-long h3{font-size:clamp(30px,2vw,38px)}
 html[lang|=en] body.c152.desktop-type-new .points-long h3{font-size:clamp(34px,2.2vw,42px)}
 html body.c152.desktop-type-new .points-long .amt{font-size:clamp(52px,3.5vw,68px)}
 html body.c152.desktop-type-new .points-long .amt small,html body.c152.desktop-type-new .points-long .amt small.unit-cost{font-size:var(--t57-aux)}
 html body.c152.desktop-type-new .points-long .pts{font-size:var(--t57-aux16)}
 html body.c152.desktop-type-new .points-long .pts b{font-size:clamp(26px,1.75vw,32px)}
 html body.c152.desktop-type-new .points-long .gifts{font-size:var(--t57-body)}
 html body.c152.desktop-type-new .points-long .foot{font-size:var(--t57-aux)}

 /* Service rates (sticky stage) */
 html body.c152.desktop-type-new .usage-stage .usage-copy h3{font-size:clamp(24px,1.8vw,32px)}
 html[lang|=en] body.c152.desktop-type-new .usage-stage .usage-copy h3{font-size:clamp(26px,2vw,34px)}
 html body.c152.desktop-type-new .usage-stage .rates h4{font-size:var(--t57-aux16)}
 html body.c152.desktop-type-new .usage-stage .rates p{font-size:var(--t57-body)}
 /* English golf rates are longer; one step smaller keeps the three columns on one row. */
 html[lang|=en] body.c152.desktop-type-new .usage-stage .rates p{font-size:clamp(16px,calc(11px + .42vw),22px)}
 html body.c152.desktop-type-new .usage-stage .rates p strong{font-size:clamp(32px,2.1vw,40px)}
 html body.c152.desktop-type-new :is(.usage-stage .rate-note,.usage-note){font-size:var(--t57-aux)}

 /* Samara in both languages. Photographs share one placement; only the type differs by language.
    The main photograph stays; the inset rises to 48svh (36svh tall), ending 12svh above the main. */
 html body.c152.desktop-type-new .samara-detail .detail-inset{top:48svh;height:36svh}
 html:not([lang|=en]) body.c152.desktop-type-new .samara-detail .detail-copy{top:11svh}
 html:not([lang|=en]) body.c152.desktop-type-new .samara-detail .detail-copy h2{font-size:clamp(66px,8vw,126px);line-height:1.12;letter-spacing:0;font-weight:600}
 html:not([lang|=en]) body.c152.desktop-type-new .samara-detail .detail-copy h2>span{white-space:nowrap}
 html:not([lang|=en]) body.c152.desktop-type-new .samara-detail .detail-copy h2>span:last-child{margin-left:53%;margin-top:4svh;font-size:.84em}

 /* Membership modal (desktop). Phones keep mobile29.css. */
 html body.c152.desktop-type-new .membership-modal{width:min(1240px,92vw);box-shadow:0 18px 48px rgba(0,0,0,.24)}
 html body.c152.desktop-type-new .membership-modal::backdrop{-webkit-backdrop-filter:none;backdrop-filter:none;background:rgba(19,19,18,.78)}
 html body.c152.desktop-type-new .membership-modal.style-3 .content{padding:36px 44px}
 /* The dialog scrolls on short windows; its controls stay reachable at the top. */
 html body.c152.desktop-type-new .membership-modal header{position:sticky;top:0;z-index:3;background:var(--paper)}
 html body.c152.desktop-type-new .membership-modal .controls button{min-width:44px;min-height:44px}
 html body.c152.desktop-type-new .membership-modal .lang{font-size:16px!important}
 html body.c152.desktop-type-new .membership-modal .close{font-size:32px!important}
 html body.c152.desktop-type-new .membership-modal .intro{margin:18px 0 26px}
 html body.c152.desktop-type-new .membership-modal h1,html body.c152.desktop-type-new .membership-modal.style-3 h1{font-size:36px;line-height:1.25}
 html body.c152.desktop-type-new .membership-modal table,html body.c152.desktop-type-new .membership-modal.style-3 table{min-width:680px}
 html body.c152.desktop-type-new .membership-modal thead th:first-child{font-size:16px}
 html body.c152.desktop-type-new .membership-modal thead button{font-size:22px;padding:18px 8px}
 html[lang|=en] body.c152.desktop-type-new .membership-modal thead button{font-size:24px}
 html body.c152.desktop-type-new .membership-modal thead small{font-size:16px;letter-spacing:.04em;margin-top:8px;min-height:22px}
 html body.c152.desktop-type-new .membership-modal tbody th{font-size:18px}
 html body.c152.desktop-type-new .membership-modal td{padding:22px 6px}
 html body.c152.desktop-type-new .membership-modal .price{font-size:clamp(44px,3.1vw,48px)}
 html body.c152.desktop-type-new .membership-modal .price span{font-size:16px}
 html body.c152.desktop-type-new .membership-modal :is(.unit,.voucher){font-size:16px;line-height:1.45}
 html body.c152.desktop-type-new .membership-modal .terms{font-size:16px;max-width:62%}
 html body.c152.desktop-type-new .membership-modal .terms p{font-size:16px;line-height:1.7}
 html body.c152.desktop-type-new .membership-modal .selection span{font-size:15px;letter-spacing:.06em}
 html body.c152.desktop-type-new .membership-modal .selection strong{font-size:20px}
}

/* Short desktop windows (e.g. 1280×720): compact spacing only; type sizes stay. */
@media(min-width:701px) and (max-height:900px){
 html body.c152.desktop-type-new .membership-modal.style-3 .content{padding:24px 32px}
 html body.c152.desktop-type-new .membership-modal .intro{margin:8px 0 16px}
 html body.c152.desktop-type-new .membership-modal h1,html body.c152.desktop-type-new .membership-modal.style-3 h1{font-size:32px}
 html body.c152.desktop-type-new .membership-modal thead button{padding:12px 8px}
 html body.c152.desktop-type-new .membership-modal td{padding:16px 6px}
 html body.c152.desktop-type-new .membership-modal tbody th{padding:16px 0}
 html body.c152.desktop-type-new .membership-modal footer{padding-top:18px}
}
@media(min-width:701px) and (max-height:780px){
 html body.c152.desktop-type-new .usage-stage{padding-top:92px;gap:16px}
 html body.c152.desktop-type-new .usage-rows{gap:12px}
 html body.c152.desktop-type-new .usage-copy h3{margin-bottom:10px}
 html body.c152.desktop-type-new .compare .plan figure{height:calc(var(--leap-vh,100svh) * .3)}
}
