/* DUPEYRAT: photographic layouts, mineral colours and architectural typography. */
.dr-editorial {
  --ink: #203d38;
  --accent: #ad462d;
  --paper: #fbfaf7;
  --line: #d9d9cf;
  --display: Impact, "Arial Narrow", "Helvetica Neue", Arial, sans-serif;
  background: var(--paper);
  color: var(--ink);
}
.dr-editorial .wrap { max-width: 1380px; width: calc(100% - 112px); }
.dr-editorial h1,.dr-editorial .section-head h2,.dr-editorial .seller-inner h2,
.dr-editorial .cta h2,.dr-editorial .city-card h3 {
  font-family: var(--display);
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: .015em;
  line-height: 1.05;
}
.dr-editorial .eyebrow { color: var(--accent); font-size: 11px; letter-spacing: .16em; }
.dr-editorial .button { min-height: 46px; border-radius: 0; background: var(--ink); border-color: var(--ink); font-weight: 600; }
.dr-editorial .button:hover { background: #35564f; }
.dr-editorial .button-light { background: var(--paper); color: var(--ink); border-color: var(--paper); }
.dr-editorial .text-link { border-color: var(--accent); font-size: 13px; }
.dr-editorial .text-link:hover { color: var(--accent); }
.dr-editorial a:focus-visible,.dr-editorial button:focus-visible { outline: 3px solid #bc583c; outline-offset: 5px; }
.dr-editorial .preview-bar { background: #eeeae2; font-size: 10px; }
.dr-editorial .header { background: var(--paper); border-top: 3px solid var(--accent); border-bottom-color: var(--line); }
.dr-editorial .header-inner { max-width: 1480px; width: calc(100% - 64px); gap: 24px; height: 100px; }
.dr-editorial .brand-symbol { color: var(--accent); border-color: var(--accent); }
.dr-editorial .brand-name { font-weight: bold; font-size: 22px; letter-spacing: .12em; }
.dr-editorial .header nav { gap: 22px; }
.dr-editorial .header nav a { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .025em; }
.dr-editorial .header-actions { gap: 24px; }
.dr-editorial .header-actions .button { background: var(--accent); border-color: var(--accent); }
.dr-editorial .header nav a:hover,.dr-editorial .header nav a[aria-current] { color: var(--accent); border-color: var(--accent); }
.home-editorial .hero { margin: 16px 16px 0; height: 640px; min-height: 560px; }
.home-editorial .hero::after { content: ""; position: absolute; inset: 18px; border: 1px solid #ffffff60; pointer-events: none; }
.home-editorial .hero-shade { background: linear-gradient(0deg,#102c29a6,#102c2950 60%,#102c2940); }
.home-editorial .hero-content { text-align: center; padding-top: 102px; }
.home-editorial .hero-content .eyebrow { color: #fff; font-family: Georgia,serif; font-size: 21px; letter-spacing: .02em; text-transform: none; font-weight: 400; }
.home-editorial .hero-content .eyebrow span { display: none; }
.home-editorial .hero-content h1 { max-width: 1150px; font-size: clamp(48px,6.2vw,88px); margin: 24px auto; text-wrap: balance; text-shadow: 0 2px 20px #102c2933; }
.home-editorial .hero-content > p:not(.eyebrow) { max-width: 630px; margin-inline: auto; color: #fff; font-size: 15px; line-height: 1.7; }
.home-editorial .hero-caption { margin-top: 28px; font-size: 11px; letter-spacing: .2em; }
.home-editorial .hero-caption a { border-bottom: 1px solid #ffffff70; padding-bottom: 6px; }
.home-editorial .hero-note { bottom: 118px; right: 34px; font-size: 10px; }
.home-editorial .search-wrap { margin-top: -92px; }
.home-editorial .search-box { border: 1px solid var(--line); box-shadow: 0 16px 35px #203d380c; }
.home-editorial .search-tabs { height: 48px; padding-inline: 24px; }
.home-editorial .search-tabs button { text-transform: uppercase; font-weight: 700; font-size: 11px; }
.home-editorial .search-tabs button.active { border-color: var(--accent); color: var(--accent); }
.home-editorial .search-fields { padding: 20px 24px; }
.home-editorial .search-fields label span { color: var(--ink); font-size: 10px; }
.home-editorial .search-fields select { font-size: 13px; }
.home-editorial .search-button { background: var(--accent); border-color: var(--accent); text-transform: uppercase; letter-spacing: .04em; }
.home-editorial .trust-line { padding-block: 32px; font-size: 11px; letter-spacing: .09em; text-transform: uppercase; }
.home-editorial .trust-line i { color: var(--accent); }
.dr-editorial .section { padding-block: 88px; }
.dr-editorial .section-head { align-items: end; margin-bottom: 30px; }
.dr-editorial .section-head h2 { font-size: clamp(36px,4.4vw,62px); max-width: 24ch; }
.dr-editorial .section-intro { font-family: Georgia,serif; font-size: 18px; max-width: 640px; line-height: 1.65; }
.dr-editorial .property-grid { gap: 32px; }
.dr-editorial .property-visual { aspect-ratio: 1.15; }
.dr-editorial .property-tag { top: 18px; left: 0; background: var(--paper); color: var(--ink); padding: 8px 15px; font-size: 10px; }
.dr-editorial .favorite { width: 42px; height: 42px; background: var(--paper); }
.dr-editorial .property-copy { padding: 22px 0 8px; }
.dr-editorial .property-copy h3 { font-size: 28px; line-height: 1.18; letter-spacing: -.025em; }
.dr-editorial .property-specs { font-size: 12px; }
.dr-editorial .property-price { border-top-color: var(--line); margin-top: 22px; }
.dr-editorial .property-price strong { font-size: 16px; font-weight: 600; }
.dr-editorial .property-price > a { width: 40px; height: 40px; display: grid; place-items: center; border: 1px solid var(--accent); color: var(--accent); }
.home-collection .property-grid { grid-template-columns: 1.3fr 1fr 1fr; align-items: start; }
.home-collection .property-card:first-child .property-visual { aspect-ratio: .94; }
.home-collection .property-card:nth-child(2) { margin-top: 56px; }
.home-collection .property-card:nth-child(3) { margin-top: 112px; }
.home-editorial .territories { background: #e9ece6; padding-block: 86px 104px; }
.home-editorial .city-grid { gap: 32px; }
.home-editorial .city-card { height: 570px; }
.home-editorial .city-card:nth-child(2) { margin-top: 70px; }
.dr-editorial .city-card h3 { font-size: clamp(42px,5.5vw,76px); }
.dr-editorial .city-card .eyebrow { color: #fff; }
.dr-editorial .city-card p { font-family: Georgia,serif; font-size: 20px; }
.dr-editorial .city-discover { font-size: 12px; padding-top: 20px; }
.dr-editorial .city-card::after { background: linear-gradient(0deg,#102d29df,transparent 90%); }
.home-editorial .story { gap: 90px; padding-block: 110px; }
.home-editorial .story-image { height: 640px; }
.home-editorial .story-image::before { content: ""; position: absolute; inset: 20px -20px -20px 20px; border: 1px solid var(--accent); z-index: -1; }
.home-editorial .story-copy h2 { font-size: clamp(36px,3.6vw,52px); }
.home-editorial .story-copy > p:not(.eyebrow) { font-size: 15px; }
.home-editorial .story-values span { color: var(--accent); }
.dr-editorial .seller-band { background: var(--accent); color: #fff; padding-block: 66px; }
.dr-editorial .seller-band .eyebrow,.dr-editorial .seller-band p,.dr-editorial .seller-band a { color: #fff; }
.dr-editorial .seller-band .seller-inner > div > p:not(.eyebrow) { color: #fff; }
.dr-editorial .seller-inner h2 { font-size: clamp(38px,4.2vw,60px); }
.dr-editorial .seller-band .text-link { border-color: #ffffff80; }
.dr-editorial .journal-grid { gap: 32px; }
.dr-editorial .journal-card img { aspect-ratio: 1.2; height: auto; }
.dr-editorial .journal-card h3 { font-size: 26px; line-height: 1.22; }
.dr-editorial .cta { background: var(--ink); border: 1px solid var(--ink); outline: 1px solid #ffffff55; outline-offset: -16px; padding: 65px 55px; }
.dr-editorial .cta h2 { font-size: clamp(38px,4.2vw,62px); }
.dr-editorial .cta .eyebrow { color: #e6c5af; }
.dr-editorial .cta-mark { font-family: Georgia,serif; opacity: .08; }
.dr-editorial footer { background: #ecece5; border-top: 1px solid var(--line); }
.dr-editorial .footer-main { padding-block: 70px; }
.dr-editorial .footer-main h3 { font-size: 12px; font-family: Arial,sans-serif; text-transform: uppercase; letter-spacing: .08em; color: var(--accent); }
.dr-editorial .footer-main > div > a:not(.brand) { font-size: 13px; }
.dr-editorial .page-intro { padding-block: 60px 42px; }
.dr-editorial .page-intro h1 { max-width: 24ch; font-size: clamp(40px,5.3vw,74px); }
.dr-editorial .page-intro > p:not(.eyebrow) { font-size: 16px; line-height: 1.8; }
.dr-editorial .page-intro.narrow h2 { font-size: 30px; margin-top: 34px; }
.dr-editorial .agency-hero { gap: 55px; padding-block: 50px; }
.dr-editorial .agency-hero h1 { font-size: clamp(44px,5.2vw,74px); }
.dr-editorial .agency-hero p:not(.eyebrow) { font-size: 15px; }
.dr-editorial .agency-photo { height: 620px; }
.dr-editorial .agency-photo::after { content: ""; position: absolute; inset: 16px; border: 1px solid #ffffff80; pointer-events: none; }
.dr-editorial .agency-photo span { z-index: 1; }
.dr-editorial .agency-toc { background: #eeefe9; padding: 24px; border-left: 3px solid var(--accent); }
.dr-editorial .agency-chapter h2 { font-family: Georgia,serif; }
.dr-editorial .filters { border-top: 3px solid var(--accent); }
.dr-editorial .property-heading { padding-top: 30px; }
.dr-editorial .property-page .property-heading h1 { font-size: clamp(38px,4.5vw,64px); max-width: 24ch; }
.dr-editorial .property-page .detail-gallery { height: 570px; }
.dr-editorial .property-toolbar { border-bottom: 1px solid var(--accent); }
.dr-editorial .property-contact-intro { background: var(--ink); border-top: 4px solid var(--accent); }
.dr-editorial .property-page .whatsapp-button { background: #176c44; border-color: #176c44; color: #fff; }
.dr-editorial .property-contact-intro .whatsapp-button { background: white; color: #176c44; border-color: white; }
.dr-editorial .property-section h2 { font-family: Georgia,serif; }
.dr-editorial .property-highlights li { background: #eceee7; }
.dr-editorial .property-neighborhood { background: #eceee7; border-left: 3px solid var(--accent); }
@media(min-width:801px) and (max-width:1150px) {
  .dr-editorial .header-inner { width: calc(100% - 40px); gap: 16px; }
  .dr-editorial .header nav { gap: 14px; }
  .dr-editorial .header-actions .button { display: none; }
  .dr-editorial .brand-name { font-size: 18px; }
  .dr-editorial .wrap { width: calc(100% - 64px); }
  .home-editorial .story { gap: 45px; }
}
@media(max-width:800px) {
  .dr-editorial .wrap { width: calc(100% - 40px); }
  .dr-editorial .header-inner { height: 80px; width: calc(100% - 40px); gap: 12px; }
  .dr-editorial .brand-name { font-size: 18px; }
  .dr-editorial .header nav { gap: 0; }
  .dr-editorial .header nav a { font-size: 14px; padding: 14px 22px; }
  .dr-editorial .header-actions { gap: 14px; }
  .dr-editorial .menu-toggle { width: 36px; min-height: 44px; justify-content: center; }
  .home-editorial .hero { margin: 10px 10px 0; min-height: 540px; height: 580px; }
  .home-editorial .hero-content { padding-top: 78px; }
  .home-editorial .hero-content h1 { font-size: clamp(42px,7.8vw,66px); }
  .home-editorial .hero-content .eyebrow { font-size: 17px; }
  .home-editorial .hero-content > p:not(.eyebrow) { font-size: 14px; max-width: 510px; }
  .home-editorial .hero-note { display: none; }
  .home-editorial .search-wrap { margin-top: -72px; }
  .home-editorial .search-fields { grid-template-columns: 1fr 1fr; gap: 18px; }
  .home-editorial .search-fields label { padding: 0; border: 0; }
  .home-editorial .search-button { margin: 0; }
  .home-editorial .trust-line { flex-wrap: wrap; gap: 8px 20px; font-size: 10px; }
  .dr-editorial .section { padding-block: 56px; }
  .home-collection .property-grid { grid-template-columns: 1fr 1fr; gap: 28px 20px; }
  .home-collection .property-card:nth-child(n) { margin-top: 0; }
  .home-collection .property-card:first-child { grid-column: 1/-1; }
  .home-collection .property-card:first-child .property-visual { aspect-ratio: 1.6; }
  .home-editorial .city-card { height: 440px; }
  .home-editorial .city-card:nth-child(2) { margin-top: 0; }
  .home-editorial .city-grid { gap: 20px; }
  .home-editorial .story { padding-block: 65px; gap: 40px; }
  .home-editorial .story-image { height: 450px; }
  .dr-editorial .cta { padding: 44px 30px; }
  .dr-editorial .agency-photo { height: 470px; }
  .dr-editorial .agency-hero { gap: 32px; }
  .dr-editorial .property-page .detail-gallery { height: 420px; }
}
@media(max-width:540px) {
  .dr-editorial .wrap { width: calc(100% - 36px); }
  .dr-editorial .brand-name { font-size: 17px; }
  .home-editorial .hero { height: 560px; min-height: 0; }
  .home-editorial .hero::after { inset: 10px; }
  .home-editorial .hero-content { padding-top: 62px; width: calc(100% - 42px); }
  .home-editorial .hero-content h1 { font-size: clamp(38px,10.7vw,57px); margin-block: 20px; }
  .home-editorial .hero-content .eyebrow { font-size: 16px; line-height: 1.5; }
  .home-editorial .hero-content > p:not(.eyebrow) { font-size: 13px; line-height: 1.7; }
  .home-editorial .hero-caption { font-size: 10px; letter-spacing: .12em; margin-top: 24px; }
  .home-editorial .hero-caption span { margin-inline: 12px; }
  .home-editorial .search-wrap { margin-top: -66px; }
  .home-editorial .search-tabs { padding-inline: 12px; gap: 8px; }
  .home-editorial .search-tabs button { min-width: 56px; padding-inline: 4px; }
  .home-editorial .search-tabs > a { font-size: 10px; gap: 5px; }
  .home-editorial .search-fields { grid-template-columns: 1fr; padding: 16px; gap: 10px; }
  .home-editorial .search-fields label { border-bottom: 1px solid var(--line); padding-bottom: 9px; }
  .home-editorial .search-fields select { min-height: 36px; }
  .home-editorial .search-fields label span { margin-bottom: 0; }
  .home-editorial .trust-line { display: grid; text-align: center; padding-block: 24px; }
  .home-editorial .trust-line i { display: none; }
  .dr-editorial .section-head { align-items: start; gap: 18px; }
  .dr-editorial .section-head h2 { font-size: 39px; }
  .dr-editorial .section-intro { font-size: 17px; }
  .home-collection .property-grid { grid-template-columns: 1fr; gap: 36px; }
  .home-collection .property-card:first-child { grid-column: auto; }
  .home-collection .property-card:first-child .property-visual,.dr-editorial .property-visual { aspect-ratio: 1.12; }
  .dr-editorial .property-copy h3 { font-size: 27px; }
  .home-editorial .city-grid { grid-template-columns: 1fr; gap: 24px; }
  .home-editorial .city-card { height: 450px; }
  .dr-editorial .city-card > div { inset: auto 24px 28px; }
  .dr-editorial .city-card h3 { font-size: clamp(24px, 7.2vw, 42px); }
  .home-editorial .story-image { height: 410px; margin-right: 14px; }
  .home-editorial .story-image::before { inset: 14px -14px -14px 14px; }
  .dr-editorial .seller-inner h2 { font-size: 42px; }
  .dr-editorial .page-intro { padding-block: 38px 30px; }
  .dr-editorial .page-intro h1 { font-size: 42px; }
  .dr-editorial .agency-hero { padding-top: 24px; }
  .dr-editorial .agency-hero h1 { font-size: 46px; }
  .dr-editorial .agency-photo { height: 410px; }
  .dr-editorial .property-page .detail-gallery { height: auto; }
  .dr-editorial .property-page .property-heading h1 { font-size: 39px; }
  .dr-editorial .footer-main { padding-block: 48px; }
}

.dr-editorial .city-card > div { container-type: inline-size; }
.dr-editorial .city-card h3 { max-width:100%; overflow-wrap:anywhere; }
@supports (font-size: 1cqw) { .dr-editorial .city-card h3 { font-size: clamp(20px, 12cqw, 76px); } }
