/* Approved One&Only-inspired type system. Original LivinParis branding is retained.
   Cormorant Garamond: editorial headings. DM Sans: labels and reading text.
   Keep this stylesheet last; historical type-comparison pages are excluded. */
@font-face{font-family:"DM Sans";font-style:normal;font-weight:300;font-display:swap;src:url("fonts/dm-sans-300.ttf") format("truetype")}
@font-face{font-family:"DM Sans";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/dm-sans-400.ttf") format("truetype")}
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/font-1.ttf") format("truetype")}
body.livin-editorial{--livin-copy-font:"DM Sans",Arial,sans-serif;font-family:"DM Sans",Arial,sans-serif;font-size:18px;font-weight:300;line-height:1.8}
body.livin-editorial :is(h1,h2,h3,h4),
body.livin-editorial :is(h1,h2,h3,h4) em{
  font-family:"Cormorant Garamond",Georgia,serif;
  font-weight:400;font-style:normal;font-variant:normal;
  text-transform:none;letter-spacing:-.015em;
}
body.livin-editorial main h1{font-size:clamp(48px,4.55vw,72px);line-height:1.12}
body.livin-editorial main h2{font-size:clamp(42px,4.4vw,64px);line-height:1.16}
body.livin-editorial main h3{font-size:38px;line-height:1.2}
body.livin-editorial main p,
body.livin-editorial main p.editorial-text{
  font-family:"DM Sans",Arial,sans-serif;font-weight:300;
  font-size:18px;line-height:1.8;letter-spacing:.025em;
}
body.livin-editorial main p.home-promise.editorial-text{font-size:20px;font-weight:400;line-height:1.5}
body.livin-editorial main .collection .property>p.editorial-text{font-size:17px;line-height:1.65}
body.livin-editorial .eyebrow,
body.livin-editorial main p.eyebrow,
body.livin-editorial .direct-booking-eyebrow{
  font-family:"DM Sans",Arial,sans-serif;font-weight:400;
  font-size:14px;line-height:1.6;letter-spacing:.22em;text-transform:uppercase;
}
body.livin-editorial :is(nav,.masthead,.button,.text-link,.maison-link,.listing-tier,.collection-tabs,.filters button,.breadcrumbs,.photo-caption,.gallery-item span,.gallery-navigation,.style-tabs,.amenities,.official-name,.property-title>span,.property-image>span,.collection-note,.small,.inline-links,.photo-open-label,.enlarge-label,.apartment-photo-legend,.viewer-controls,footer,.legal,label,input,textarea,select,button,.direct-booking-trigger,.direct-booking-benefits li,.direct-booking-reserve,.direct-booking-actions p){
  font-family:"DM Sans",Arial,sans-serif;font-weight:400;
}
body.livin-editorial main .official-name{font-family:"DM Sans",Arial,sans-serif;font-weight:400;line-height:1.6;letter-spacing:0}
body.livin-editorial main p.small,
body.livin-editorial main p.collection-note{font-size:16px;line-height:1.7;letter-spacing:0;font-weight:400}
body.livin-editorial .detail-copy h1{font-size:clamp(42px,3.6vw,56px);line-height:1.12}
body.livin-editorial .detail-copy .apartment-introduction{max-width:580px;margin-top:24px}
body.livin-editorial .listing-body h3{font-size:38px;line-height:1.15}
body.livin-editorial .range-heading h2{font-size:38px;line-height:1.2}
body.livin-editorial .values h3{font-size:34px}
body.livin-editorial .benefit-grid h3{font-size:29px;line-height:1.2}
body.livin-editorial .gallery-item span{font-size:14px;line-height:1.55}
/* Complete the same type system in language links, photo viewers and secondary labels. */
body.livin-editorial :is(.language-switch,.range-heading>span,.brand,.brand small,.direct-booking-photo span){font-family:"DM Sans",Arial,sans-serif;font-weight:400}
body.livin-editorial .neighborhood-grid h2 span{font-family:inherit}
body.livin-editorial #lightbox :is(p,figcaption){font-family:"DM Sans",Arial,sans-serif;font-weight:400;font-size:16px;line-height:1.6}
body.livin-editorial #apartment-viewer figcaption{font-family:"DM Sans",Arial,sans-serif;font-weight:400;font-size:15px;line-height:1.6}
body.livin-editorial .contact-layout :is(label,input,textarea,select){font-size:16px;line-height:1.6}
body.livin-editorial #contact-form>p{font-size:16px;line-height:1.7}
body.livin-editorial .legal-content{font-size:17px;line-height:1.8}
body.livin-editorial .legal-content p{font-size:17px;letter-spacing:0}
body.livin-editorial .legal-content h2{font-size:36px;line-height:1.2}
body.livin-editorial .legal-content h3{font-size:29px}
body.livin-editorial footer p{font-family:"DM Sans",Arial,sans-serif;font-size:15px;line-height:1.7;font-weight:400}
body.livin-editorial .direct-booking-copy h2{font-size:46px;line-height:1.08}
body.livin-editorial .direct-booking-photo p{font-family:"Cormorant Garamond",Georgia,serif;font-size:31px;line-height:1.15;font-style:normal}
body.livin-editorial .direct-booking-eyebrow{font-size:12px;letter-spacing:.18em}
body.livin-editorial .direct-booking-actions p{font-size:12px;line-height:1.6}
@media(min-width:651px) and (max-width:1000px){
  body.livin-editorial.home-page main h1{font-size:45px}
  body.livin-editorial .detail-copy h1{font-size:42px}
}
@media(max-width:760px){body.livin-editorial .benefit-grid h3{font-size:clamp(23px,6vw,29px)}}
@media(max-width:650px){
  body.livin-editorial main h1{font-size:50px;line-height:1.08}
  body.livin-editorial.home-page main h1 br{display:block}
  body.livin-editorial main h2{font-size:42px}
  body.livin-editorial main h3{font-size:36px}
  body.livin-editorial main p,
  body.livin-editorial main p.editorial-text{font-size:17px;line-height:1.75}
  body.livin-editorial main p.home-promise.editorial-text{font-size:19px;line-height:1.5}
  body.livin-editorial main .home-description br{display:none}
  body.livin-editorial .eyebrow,
  body.livin-editorial main p.eyebrow{font-size:13px;line-height:1.6;letter-spacing:.18em}
  body.livin-editorial .detail-copy h1{font-size:42px}
  body.livin-editorial .listing-body h3{font-size:36px}
  body.livin-editorial .range-heading h2{font-size:34px}
  body.livin-editorial .values h3{font-size:32px}
  body.livin-editorial .benefit-grid h3{font-size:clamp(23px,6vw,29px)}
  body.livin-editorial main p.small,
  body.livin-editorial main p.collection-note{font-size:15px}
  body.livin-editorial #contact-form>p{font-size:16px}
  body.livin-editorial .legal-content h2{font-size:32px}
  body.livin-editorial .legal-content h3{font-size:27px}
  body.livin-editorial .direct-booking-copy h2{font-size:37px}
}
@media(max-width:370px){
  body.livin-editorial main h1{font-size:44px}
  body.livin-editorial main h2{font-size:38px}
  body.livin-editorial .detail-copy h1{font-size:39px}
  body.livin-editorial .direct-booking-copy h2{font-size:33px}
}

/* Let the gallery introduction read as one line on a wide screen, and wrap naturally on smaller screens. */
body.livin-editorial.gallery-page .page-intro>p.editorial-text{max-width:1200px;text-wrap:balance}

/* Photograph-specific framing preserves the pyramid and the courtyard beneath it. */
.page-hero>img[src*="louvre-cour-napoleon"]{object-position:50% 60%}
@media(max-width:650px){.page-hero>img[src*="louvre-cour-napoleon"]{object-position:44% 50%}}

/* Preserve the full height of the République monument instead of cropping its top. */
.page-hero.republique-hero{height:56.25vw;min-height:490px}
.page-hero>img[src*="republique-place-et-monument"]{object-position:38% 50%}
.page-hero>img[src*="marais-place-des-vosges"]{object-position:50% 75%}
.neighborhood-grid img[src*="republique-place-et-monument"]{object-position:36% 50%}
.neighborhood-photo-credits{margin-top:48px;padding-top:28px;border-top:1px solid #d8d8cf}
.neighborhood-photo-credits ul{padding-left:22px;font-size:16px;line-height:1.75}
.neighborhood-photo-credits li{margin:12px 0}
@media(max-width:650px){
 .page-hero>img[src*="marais-place-des-vosges"]{object-position:48% 50%}
 .page-hero>img[src*="republique-place-et-monument"]{object-position:33% 50%}
}
