@import url('/type-tokens.css?v=60');
/* One serif-led hierarchy; compact editorial cards retain a quieter scale. */
:root {
  --type-display: clamp(42px, 4.6vw, 72px);
  --type-heading: clamp(34px, 3.4vw, 50px);
  --type-subheading: clamp(25px, 2.3vw, 32px);
  --type-card: clamp(27px, 2.4vw, 34px);
}
body main h1 { font-size: var(--type-display) !important; line-height: 1.08 !important; letter-spacing: -.035em; text-wrap: balance; }
body main h2 { font-size: var(--type-heading) !important; line-height: 1.14 !important; letter-spacing: -.03em; text-wrap: balance; }
body main h3 { font-size: var(--type-subheading) !important; line-height: 1.22 !important; letter-spacing: -.025em; text-wrap: pretty; }
body main :is(h1, h2, h3) { overflow-wrap: break-word; margin-bottom: 24px; }
body main :is(p, li) { text-wrap: pretty; }
body main .lead { font-size: clamp(18px, 1.3vw, 20px); line-height: 1.7; }
body main :is(.lifestyle-copy, .chair-copy, .home-chair-copy, .profile-copy, .membership-panel, .story-tile-copy, .monday-copy) { text-align: left; }
.headline-break { display: block; }
body main .home-hero h1 { font-size: clamp(42px, 4.1vw, 66px) !important; }
body main :is(.fee-card, .story-card, .membership-paths article) h2 { font-size: var(--type-card) !important; line-height: 1.18 !important; }
body main :is(.common-benefits, .method-steps, .programme-grid) h3 { font-size: clamp(24px, 2vw, 28px) !important; }
body main .chair-name { font-size: clamp(48px, 4.8vw, 70px) !important; }
body main .monday-signature h2 { font-size: clamp(56px, 4.6vw, 72px) !important; line-height: 1 !important; }
body main .monday-signature h2 em { display: block; }
body main .eyebrow { font-size: 10px; line-height: 1.8; letter-spacing: .16em; }
body main .invitation h2 { max-width: 820px; margin-inline: auto; }
body main .story-body h2 { font-size: clamp(30px, 2.8vw, 40px) !important; }
body main .terms-copy h2 { font-size: clamp(28px, 2.6vw, 36px) !important; }
body main .story-tile-copy h2 { margin-bottom: 22px !important; }
body main .story-tile-copy .eyebrow { margin-bottom: 18px; }
@media (max-width: 760px) {
  :root { --type-display: clamp(38px, 9vw, 52px); --type-heading: clamp(32px, 7.5vw, 40px); }
  body main .headline-break { display: inline; }
  body main .home-hero h1 { font-size: clamp(38px, 9.4vw, 48px) !important; }
  body main .page-intro h1 { max-width: 20ch; }
  body main .eyebrow { font-size: 9px; letter-spacing: .14em; }
  body main .lead { font-size: 18px; }
}
@media(max-width:760px){body main .home-hero .headline-break{display:block}}

body { font-family:var(--font-body);font-size:var(--text-body);line-height:var(--text-body-leading); }
body main p.body-copy,body main li { font-family:var(--font-body);font-size:var(--text-body);font-weight:400;line-height:var(--text-body-leading);letter-spacing:normal; }
body main p.lead { font-family:var(--font-body);font-size:var(--text-lead);font-weight:400;line-height:var(--text-body-leading);letter-spacing:normal; }
body main :is(.note,.fine,.collection-note,.hero-locations,.chair-principles) { font-family:var(--font-body);font-size:var(--text-small) !important;line-height:var(--text-small-leading) !important;letter-spacing:normal; }
body main p.eyebrow { font-family:var(--font-body);font-size:var(--text-label);font-weight:400;line-height:1.8;letter-spacing:.16em; }
body main p.story-opening { font:400 clamp(22px,2vw,26px)/1.55 Georgia,serif;letter-spacing:-.015em; }
body .page-intro .lead,body .hero-copy p.lead { max-width:42rem; }
body.page-index .lifestyle-cards img { height:360px;object-fit:cover; }
body.page-index .lifestyle-cards img[src='house-company-v1.webp'] { object-position:50% 78%; }
body.page-index .lifestyle-cards img[src='house-ideas-v1.webp'] { object-position:50% 62%; }
body.page-index .lifestyle-cards img[src='house-comfort-v1.webp'] { object-position:50% 80%; }
@media(max-width:760px){body.page-index .lifestyle-cards img{height:340px}body main p.eyebrow{font-size:9px}}
