/* Three roles, one shared scale. Loaded after room-specific presentation. */
:root{
 --ff-type-display:Almendra,Georgia,"Times New Roman",serif;
 --ff-type-reading:Georgia,"Times New Roman",serif;
 --ff-type-ui:system-ui,sans-serif;
 --ff-type-title:clamp(2.5rem,5vw,4rem);
 --ff-type-section:clamp(1.75rem,3vw,2.5rem);
 --ff-type-card:clamp(1.5rem,2vw,1.75rem);
 --ff-type-body:1.125rem;
 --ff-type-control:1rem;
 --ff-type-small:.875rem;
 --ff-type-label:.75rem;
}
body .wp-site-blocks{font-family:var(--ff-type-reading);font-size:var(--ff-type-body);line-height:1.7}
body #main :is(h1,h2,h3,h4,h5,h6){font-family:var(--ff-type-display)!important;font-weight:400!important;font-style:normal!important;letter-spacing:0!important;text-wrap:pretty;overflow-wrap:break-word}
body #main h1{font-size:var(--ff-type-title)!important;line-height:1.12!important}
body #main h2{font-size:var(--ff-type-section)!important;line-height:1.2!important}
body #main h3{font-size:var(--ff-type-card)!important;line-height:1.25!important}
body #main :is(h4,h5,h6){font-size:1.25rem!important;line-height:1.3!important}
body #main :is(.ff-prose,.ff-policy,.ff-about-story,.ff-record-writing,.ff-note-reading,.ffx-article,.ffx-reading,.ff-card,.ff-note-card,.ff-story-room,.ff-letters-section) :is(p,li,dd):not(.ff-eyebrow,.ffx-eyebrow,.ff-status,.ff-photo-caption,.ff-text-link,.ff-form-footnote,.ff-review-note){font-family:var(--ff-type-reading);font-size:var(--ff-type-body)!important;line-height:1.7!important;letter-spacing:0}
body #main :is(.ff-page-deck,.ff-intro,.ff-record-lead,.ff-note-deck,.ffx-deck){font-family:var(--ff-type-reading)!important;font-size:1.25rem!important;line-height:1.6!important;letter-spacing:0!important;max-width:60ch}
body #main :is(.ff-prose,.ff-policy,.ffx-article){max-width:65ch}
body #main :is(.ff-card,.ff-note-card,.ff-showcase) h3{margin-block:.75rem .5rem!important}
body #main :is(.ff-prose,.ff-policy,.ff-record-writing) h2{margin-block:2rem 1rem!important}
body :is(.ff-eyebrow,.ffx-eyebrow,.ff-label,.ff-status,.ff-facts dt,.ff-commission-facts dt,.ff-preview-label){font-family:var(--ff-type-ui)!important;font-size:var(--ff-type-label)!important;font-weight:500!important;line-height:1.5!important;letter-spacing:.1em!important}
body #main :is(.ff-button,.ffx-action,.ff-text-link,.ff-card>a:last-child),
body :is(.ff-form,.ff-filters) :is(input,select,textarea,button,label),
body.ffx-site .ffx-primary :is(a,summary),body.ffx-site .ffx-menu-toggle,
body .ffx-map-heading button,body .ffx-floor-tabs a,body .ffx-enter-room{
 font-family:var(--ff-type-ui)!important;font-size:var(--ff-type-control)!important;font-weight:500!important;line-height:1.5!important;letter-spacing:0!important;text-transform:none!important
}
body :is(.ff-form,.ff-filters) :is(input,select,textarea){font-weight:400!important}
body :is(.ff-photo-caption,.ff-form-footnote,.ff-review-note,.ff-breadcrumb,.ffx-breadcrumbs,.ffx-map-instruction,.ffx-room-preview p,.ff-draft-bar){font-family:var(--ff-type-ui)!important;font-size:var(--ff-type-small)!important;line-height:1.5!important;letter-spacing:0!important}
body .ff-footer p{font-family:var(--ff-type-reading);font-size:1rem;line-height:1.7}
body .ff-footer .wp-block-navigation{font-family:var(--ff-type-ui);font-size:var(--ff-type-small);letter-spacing:0}
/* Compact navigation is deliberately one step smaller, not a separate type style. */
body .ffx-location-name{font-family:var(--ff-type-display)!important;font-size:1.25rem!important;line-height:1.25!important;letter-spacing:0!important}
body .ffx-location-copy small{font-family:var(--ff-type-ui)!important;font-size:var(--ff-type-label)!important;line-height:1.5!important}
body .ffx-location-copy>span{font-family:var(--ff-type-ui)!important;font-size:var(--ff-type-small)!important;line-height:1.5!important}
body .ffx-docked .ffx-location-name{font-size:1.125rem!important}
body .ffx-docked .ffx-location-copy>span{font-size:var(--ff-type-label)!important}
body .ffx-map-heading h2,body .ffx-visual-map .ffx-room-modal h3{font-family:var(--ff-type-display)!important;font-size:var(--ff-type-section)!important;line-height:1.2!important;letter-spacing:0!important}
body .ffx-relic-preview h3{font-family:var(--ff-type-display);font-size:1.25rem;line-height:1.25}
body .ffx-relic-preview .ffx-enter-room{font-size:var(--ff-type-small)!important}
body .ffx-here,body .ffx-relic-kicker{font-family:var(--ff-type-ui);font-size:var(--ff-type-label);line-height:1.5}
body .ffx-back-top{font-family:var(--ff-type-ui);font-size:var(--ff-type-label);line-height:1.5}
body.ffx-site #ff-page-top .ff-brand{font-family:var(--ff-type-display)!important;font-size:clamp(1.125rem,2vw,1.5rem)!important;line-height:1.2!important;letter-spacing:.025em!important}
body.ffx-site #ff-page-top .ff-house-subtitle{letter-spacing:.1em!important}
@media(max-width:700px){
 body #main :is(.ff-page-deck,.ff-intro,.ff-record-lead,.ff-note-deck,.ffx-deck){font-size:var(--ff-type-body)!important}
 body .ffx-map-heading{flex-wrap:wrap;gap:8px 12px}
 body .ffx-map-heading h2{font-size:1.5rem!important}
 body .ffx-map-heading button{font-size:var(--ff-type-small)!important}
 body.ffx-site .ff-room-hotspots .ffx-discovery-pin{font-size:var(--ff-type-label)!important;line-height:1.5!important}
}
@media(min-width:901px){body.ffx-site .ffx-primary :is(a,summary){font-size:var(--ff-type-small)!important}}
