/* Approved type system: readable public headings, clear task UI, selective display accents. */
@font-face{font-family:Rogers Reading;src:url(newsreader-variable.woff2) format('woff2');font-style:normal;font-weight:200 800;font-display:swap}
body.type-refined{--reading-serif:"Rogers Reading",Georgia,serif;--serif:var(--reading-serif);--display-serif:Editorial,Georgia,serif}
body.type-refined:not(.type-ui) :is(h1,h2,h3){font-family:var(--reading-serif);font-weight:450;font-optical-sizing:none;font-variation-settings:"opsz" 20;letter-spacing:-.018em;line-height:1.16;text-wrap:pretty}
body.type-refined:not(.type-ui) :is(h1,h2,h3) em{font-family:inherit;font-style:normal;font-weight:inherit}
/* Keep the original display face only on short, generously sized accents. */
body.type-refined.leasing-page .lease-cinema h1{font-size:clamp(64px,6.7vw,102px);line-height:1.08;letter-spacing:-.025em}
body.type-refined.leasing-page .lease-cinema h1 em,body.type-refined.leasing-page .lease-finale h2 em{font-family:Editorial,Georgia,serif;font-style:italic;font-weight:400;font-variation-settings:normal;letter-spacing:-.015em;line-height:1.1}
body.type-refined.leasing-page .lease-finale h2{line-height:1.12}
body.type-refined.profile-page .pp-identity h1{font-size:clamp(48px,5.1vw,72px);line-height:1.12;letter-spacing:-.025em}
body.type-refined.profile-page .pp-section-heading h2{max-width:650px}
body.type-refined.profile-page .pp-about h2{line-height:1.18}
/* Service names and other functional labels stay in the existing UI family. */
body.type-refined.profile-page :is(.pp-featured-service,.pp-service-group) h3{font-family:var(--sans);font-weight:550;letter-spacing:0;line-height:1.45}
body.type-refined.type-ui :is(h1,h2,h3,h4){font-family:var(--sans);font-weight:600;letter-spacing:-.02em;line-height:1.22;text-wrap:pretty}
body.type-refined.type-ui :is(h1,h2,h3,h4) em{font-family:inherit;font-style:normal;font-weight:inherit}
body.type-refined.type-ui h1{font-size:clamp(32px,3.2vw,44px)}
body.type-refined.type-ui h2{font-size:clamp(26px,2.7vw,34px)}
body.type-refined.type-ui h3{font-size:clamp(21px,2vw,26px)}
body.type-refined.type-ui h4{font-size:18px;line-height:1.35;letter-spacing:-.01em}
@media(max-width:640px){body.type-refined.leasing-page .lease-cinema h1{font-size:clamp(45px,11.8vw,72px);line-height:1.12}body.type-refined.profile-page .pp-identity h1{font-size:clamp(40px,10.6vw,60px)}body.type-refined.profile-page :is(h2,h3){letter-spacing:-.012em}body.type-refined.type-ui h2{line-height:1.25}}

/* The front door and presentation retain a little signature display lettering. */
body.type-refined.home .premier-hero-content h1 em,body.type-refined.presentation-page .rp-cover-copy h1 em{font-family:var(--display-serif);font-style:italic;font-weight:400;font-variation-settings:normal;letter-spacing:-.015em;line-height:1.12}
body.type-refined.home .premier-hero-content h1{line-height:1.1;letter-spacing:-.025em}
body.type-refined.profile-page :is(.sp-identity-copy,.pp-identity) h1{overflow-wrap:break-word}
/* Previews keep the public type language inside administrative tools. */
body.type-refined.type-ui :is(.ob-design,.ob-selected,.ob-result) h3{font-family:var(--reading-serif);font-weight:450;font-variation-settings:"opsz" 20;line-height:1.2;letter-spacing:-.015em}
body.type-refined.type-ui .ob-heading h1,body.type-refined.type-ui .ps-heading h1{font-size:clamp(36px,4.5vw,58px);line-height:1.12}
body.type-refined :is(.rogers-guide,.pp-share-dialog) :is(h1,h2,h3){font-family:var(--sans);font-weight:600;font-variation-settings:normal;line-height:1.25;letter-spacing:-.015em}
/* Decorative initials are artwork, not reading text. */
body.type-refined .od-brand-mark{font-family:var(--display-serif)}

/* Phones: readable minimums and comfortable tap targets. What people read (services, names, notes,
   addresses) is at least 14px, small labels at least 11-12px, eyebrows track less, and every link or
   pill offers at least 44px to the finger. Desktop is unchanged. */
@media(max-width:759px){
 body.type-refined :is(.fd-city,.fd-suite,.fd-card-bottom){font-size:13px}
 body.type-refined .fd-note{font-size:14px}
 body.type-refined :is(.fd-quick a,.fd-browse-trigger){min-height:44px}
 /* Underlined links keep their underline where it is and gain an invisible 44px touch area. */
 body.type-refined :is(.text-link,.sp-back,.fd-results-heading>a){position:relative}
 body.type-refined :is(.text-link,.sp-back,.fd-results-heading>a)::after{content:'';position:absolute;left:0;right:0;top:50%;height:44px;transform:translateY(-50%)}
}
@media(max-width:640px){
 body.type-refined :is(.eyebrow,.rp-eyebrow,.lease-eyebrow){font-size:12px;letter-spacing:.08em}
 body.type-refined :is(.talent-specialty,.pp-hero-specialty,.card-copy>p:not(.eyebrow)){font-size:14px!important;letter-spacing:0}
 body.type-refined :is(.card-open,.text-link,.talent-cities a,.pp-backbar>a,.in-visit-strip p:not(.eyebrow),.in-address-content>p:not(.eyebrow)){font-size:14px}
 body.type-refined :is(.discovery-dock,.premier-hero-actions,.spaces-story,.footer-top) .button{font-size:14px}
 body.type-refined .in-portrait-pair span{font-size:13px}
 body.type-refined .lease-home-card>span:not(:last-child){font-size:12px}
 body.type-refined .sp-listing-note{font-size:15px}
 body.type-refined .pp-tier{font-size:12px}
 body.type-refined .footer-grid :is(p,a){font-size:14px}
 body.type-refined .footer-bottom{font-size:13px}
 body.type-refined .pp-footer p{font-size:13px}
 body.type-refined :is(.pp-backbar>a,.sp-specialty,.footer-grid .text-link){min-height:44px}
 body.type-refined .pp-backbar>a{white-space:nowrap}
 body.type-refined .pp-backbar>span{text-wrap:pretty}
 body.type-refined :is(.footer-grid a:not(.text-link),.footer-bottom a){display:inline-flex;align-items:center;min-height:44px}
 /* The presentation's smallest labels, when it is opened on a phone. */
 body.type-refined :is(.rp-cover-bottom,.rp-visual-note>span,.rp-chapter-nav a>span,.bc-badge,.rp-video-token>div,.rp-footer>span,.rp-guide-try-heading div>span,.rp-guide-business small,.rp-profile-collage figcaption,.rpa-top b,.rpl-window){font-size:11px}
 body.type-refined .rp-close-signature strong span{font-size:9px}
 body.type-refined .rp-cover-bottom{flex-wrap:wrap;row-gap:4px}
}
