/* Shared typography visually matched to the supplied homepage PDF. */
:root {
  --type-hero: clamp(38.4px, 5.84vw, 80px);
  --type-heading: clamp(28.8px, 3.76vw, 51.2px);
  --type-card: clamp(20.8px, 2.24vw, 30.4px);
  --type-body: 14px;
}
body main h1 {font-size:var(--type-hero)!important;line-height:.94!important;}
body main h2 {font-size:var(--type-heading)!important;line-height:1.02!important;}
body main h3 {font-size:24px!important;line-height:1.12!important;}
body main p:not(.eyebrow):not(.meta):not(.stay-type):not(.hero-footnote) {font-size:var(--type-body)!important;line-height:1.65!important;}
body main .eyebrow {font-size:9px!important;line-height:1.4!important;letter-spacing:.15em!important;}
body main .btn, body main .text-link {font-size:9px!important;line-height:1.2!important;letter-spacing:.1em!important;}
body main .meta, body main .stay-type {font-size:9.9px!important;line-height:1.6!important;}
body main .three-promises h2,
body main .feature h3,
body main .gb-benefit-grid h3 {font-size:var(--type-card)!important;}
body main .three-promises p:not(.eyebrow),
body main .amenity p, body main .feature p,
body main .gb-benefit-grid p, body main .gb-included-grid p {font-size:12.2px!important;}
body main .three-promises .text-link {font-size:7.2px!important;}
body main .amenity h3, body main .gb-included-grid h3 {font-size:20.8px!important;}
body main .stay-card h3, body main .stay-room-card h3 {font-size:24px!important;}
body main .stay-feature-copy li, body main .list li {font-size:11.7px!important;line-height:1.5!important;}
body main .library-list, body main .library-list span {font-size:9px!important;}
body main .hero-description,
body main .wellness-hero-inner > p:last-child,
body main .gb-hero-copy > p:last-child,
body main .stay-hero-copy > p:last-child,
body main .page-hero .wrap > p:last-child {font-size:19.2px!important;line-height:1.45!important;}
body main .home-hero h1, body main .wellness-hero h1,
body main .gb-hero h1 {max-width:520px;}
body main .hero-description {max-width:448px;}
body main blockquote {font-size:clamp(22.4px,2.88vw,38.4px)!important;line-height:1.35!important;}
body main .home-cta h2, body main .cta h2,
body main .wellness-cta h2, body main .stay-bottom-cta h2,
body main .gb-cta h2, body main .gb-final h2 {font-size:clamp(27.2px,3.2vw,43.2px)!important;}
body main .form label {font-size:10.8px!important;}
body main .form input, body main .form textarea, body main .form select {font-size:14px!important;}
body main figcaption, body main cite, body main .notice {font-size:10.8px!important;}
body footer p, body footer a:not(.brand) {font-size:10.8px!important;line-height:1.8!important;}
body header.site-header .navlinks a {font-size:10.8px!important;}
body header.site-header .shared-book {font-size:9.9px!important;}
@media(max-width:1000px) {
 body header.site-header .navlinks a {font-size:9.9px!important;}
}
@media(max-width:760px) {
 :root {--type-hero:clamp(30.4px,8vw,48px);--type-heading:28.8px;--type-card:22.4px;--type-body:13.1px;}
 body main .hero-description,
 body main .wellness-hero-inner > p:last-child,
 body main .gb-hero-copy > p:last-child,
 body main .stay-hero-copy > p:last-child,
 body main .page-hero .wrap > p:last-child {font-size:12.2px!important;line-height:1.5!important;}
 body main .stay-card h3, body main .stay-room-card h3 {font-size:19.2px!important;}
 body main .eyebrow {font-size:8.1px!important;}
 body header.site-header .navlinks a {font-size:11.7px!important;}
 body header.site-header .shared-book {font-size:9px!important;}
}

/* Keep form fields readable and prevent automatic mobile input zoom. */
body main .form input, body main .form textarea, body main .form select {font-size:16px!important;}
body > .shared-promo {font-size:9px!important;}
@media(max-width:800px) {body > .shared-promo {font-size:8px!important;}}
