/* Shared readable type scale. Existing brand colours and artwork are unchanged. */
body{font-size:18px;line-height:1.65}
body .intro,body .hero .intro{font-size:20px;line-height:1.65}
body :is(.catalog-description,.catalog-heading>div>p:not(.eyebrow),.catalog-panel-heading>p,.catalog-discovery,.section-heading>p,.space-card p,.muted,.services p,.questions details p,.contact>div>p:not(.eyebrow),.contact-hub-heading>p:last-child,.journal-card p:not(.eyebrow),.service-intro>div>p:not(.eyebrow),.service-points p:not(.eyebrow),.article-cta p,.en-section-lead,.en-space-card p:not(.catalog-label),.finder-intro>p:not(.eyebrow),.finder-reason,.quote-intro>p:not(.eyebrow)){font-size:18px;line-height:1.65}
body :is(.article-body,.editorial-article){font-size:18px;line-height:1.75}
body :is(.catalog-benefits,.catalog-capacity,.catalog-reception-note,.catalog-rates dt,.catalog-rates dd,.price-list dt,.price-list dd,.offer ul,.offer-details p,.offer-details summary,.catalog-card .offer-details p,.catalog-card .offer-details summary,.questions summary,.services h3,.contact-links,.contact-links a,address,.catalog-price>span,.finder-facts dd,.finder-conditions p,.finder-conditions summary,.finder-responses summary,.finder-summary,.quote-conditions p,.quote-conditions summary,.quote-summary-item,.quote-summary-item strong,.quote-total-row){font-size:16px;line-height:1.65}
body :is(.button,.button.small,.catalog-cta,.underlink,.text-link,.catalog-back,.catalog-meta a,.service-nav a,.doc-link,.finder-result-actions a,.finder-app .button,.quote-remove,.quote-add-link,.quote-secondary button,.quote-secondary .underlink,.whatsapp){font-size:16px;line-height:1.45}
body :is(.eyebrow,.catalog-label,.catalog-price small,.catalog-meta p,.catalog-tariff,.form-note,.note,.source,.article-meta,.breadcrumb,.footer-bottom,.footer-resources,.footer-affiliation,.review-status,.gallery-flow-count,.gallery-flow-help,.finder-step,.finder-help,.finder-limit,.finder-unit,.finder-tax,.finder-facts dt,.quote-help,.quote-line-note,.quote-summary-item small,.quote-page h2 span,.quote-conditions a,.tax-note){font-size:14px!important;line-height:1.6}
body :is(.eyebrow,.catalog-label){letter-spacing:.12em}
body :is(.catalog-capacity,.catalog-meta p,.catalog-label){color:var(--readable-muted)}
body :is(.catalog-toolbar .catalog-tab,.catalog-toolbar .catalog-position,.catalog-toolbar .catalog-control-buttons button){font-size:16px;line-height:1.45}
body :is(.catalog-toolbar .catalog-tab-number,.catalog-toolbar .catalog-playback-note,.catalog-swipe-hint){font-size:14px;line-height:1.6}
body .catalog-toolbar .catalog-tab{min-width:0;overflow-wrap:break-word}
body :is(form label,.contact-hub .contact-body label,.campaign-contact label,.quote-page label,.finder-draft label){font-size:16px;line-height:1.5}
body :is(form label span,.quote-page label span){font-size:14px;line-height:1.5}
body :is(input:not([type=checkbox]):not([type=radio]),select,textarea,#english-enquiry textarea){font-size:16px;line-height:1.5;min-height:48px}
body :is(.finder-app .finder-option,.finder-app .finder-option span){font-size:17px;line-height:1.5}
body :is(.finder-back,.finder-restart){font-size:16px!important}
body .finder-result-card .finder-card-label{font-size:14px!important}
body .finder-result-card>p:not(.finder-price):not(.finder-unit):not(.finder-tax):not(.finder-card-label){font-size:17px}
body :is(.catalog-photo figcaption span,.hero-bottom,.map-caption,.service-intro figcaption,.english-page figure figcaption,.master-photo figcaption,.master-illustration figcaption,.editorial-image-pair figcaption,.member-room-photo figcaption,footer>p,footer>a:last-of-type,dialog p,.review-slide .author){font-size:14px;line-height:1.6}
body .hero-bottom{flex-wrap:wrap;gap:8px 24px;letter-spacing:.06em}
body :is(.button,.underlink,.text-link){max-width:100%;white-space:normal}
body .button .cw-icon{flex-shrink:0}
body :is(.hero-actions,.campaign-actions,.catalog-card-actions,.footer-bottom,.map-caption){flex-wrap:wrap}
body .catalog-rates>div{gap:16px}
body header #nav>a,body header .header-service-menu>button,body header #nav.open a,body header #nav.open button{font-size:16px;line-height:1.45}
body header .service-submenu a{font-size:16px;line-height:1.45;white-space:normal}
body header .header-actions .button.small{font-size:16px}
body header .language-switch{font-size:14px;letter-spacing:0}
body header .language-switch a{min-width:0;padding:0 4px}
@media(min-width:1601px){body header #nav{gap:18px}body header:has(.language-switch){column-gap:20px;padding-inline:3%}}
@media(max-width:1600px){
 body header{height:80px;padding:8px 4%;gap:12px}
 body header .cw-brand-art{width:88px}
 body header #menu{display:grid;place-items:center;margin-left:0;padding:10px;min-width:44px;min-height:44px;border:1px solid #ffffff30;border-radius:8px;background:none;color:var(--paper)}
 body header .language-switch{margin-left:auto;gap:3px}
 body header #nav{display:none;position:absolute;top:80px;left:0;right:0;margin:0;background:var(--ink);padding:20px 7%;flex-direction:column;align-items:stretch;gap:4px;border-bottom:1px solid #ffffff30;max-height:calc(100svh - 80px);overflow:auto}
 body header #nav.open{display:flex}
 body header #nav>a{padding:10px 0;min-height:44px}
 body header .header-service-menu>button{width:100%;text-align:left;min-height:44px}
 body header .service-submenu{position:static;min-width:0;width:100%;margin:8px 0 12px;padding:7px 13px;background:#f5f3ef;border-radius:8px;box-shadow:none}
 body header .header-actions{display:flex;margin:12px 0 0}
 body header:has(.language-switch) .header-actions .button.small{width:100%;justify-content:space-between;padding:15px 18px}
}
@media(max-width:1100px) and (min-width:721px){body .catalog-toolbar .catalog-menu{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:720px){
 body .hero .intro{font-size:18px}
 body .hero-bottom{position:relative;left:auto;right:auto;bottom:auto;margin:24px 7%;font-size:14px}
 body .catalog-rates dt,body .catalog-rates dd{max-width:none;min-width:0;flex:1;overflow-wrap:anywhere}
 body .catalog-toolbar .catalog-tab{font-size:16px;padding:12px;min-height:80px}
 body .catalog-card-body{min-width:0}
 body .catalog-price strong{font-size:36px}
 body .quote-summary-item{grid-template-columns:minmax(0,1fr);gap:4px}
 body .gallery-flow-meta{min-width:0}
 body :is(.footer-resources,.contact-links a){overflow-wrap:anywhere}
}
@media(max-width:360px){body header{padding-inline:4%;gap:6px}body header .cw-brand-art{width:72px}body header .language-switch{gap:2px}body header .language-switch a{padding-inline:2px}}
@media(max-width:720px){
 body .hero{flex-direction:column;align-items:stretch;justify-content:center;height:auto;min-height:calc(100svh - 80px);max-height:none}
 body .hero-content{flex:none;width:100%;padding:38px 7% 24px}
 body .hero-bottom{flex:none;margin:0 7% 28px;max-width:86%}
}
body.english-page .hero .intro{font-size:20px;line-height:1.65}
body.english-page .en-space-card p:not(.catalog-label),body.english-page .en-section-lead{font-size:18px;line-height:1.65}
body.english-page .en-card-price small{font-size:14px}
body .choice-jump,body .quote-submit .button{font-size:16px}
@media(max-width:720px){body.english-page .hero .intro{font-size:18px}}

/* Separate navigation labels without reducing their readable type size. */
body header .header-service-menu>button{justify-content:flex-start;gap:8px}
body header .header-service-menu>button .cw-icon{flex:0 0 13px;margin:0}
@media(min-width:1601px){
 body header:has(.language-switch) #nav{gap:clamp(28px,1.6vw,32px)}
 body header .header-actions{margin-left:16px}
 body header #nav>a,body header .header-service-menu{flex-shrink:0}
}
