/* CENTURY 21 Hestia LDI — harmonisation visuelle V2.
   Cette feuille est chargee en dernier pour neutraliser les anciennes palettes. */
:root{
  --c21-gold:#beaf87;
  --c21-gold-soft:#ddd3b8;
  --c21-black:#252526;
  --c21-ink:#2b2b2b;
  --c21-paper:#ffffff;
  --c21-mist:#f4f4f4;
  --c21-line:#d7d3c9;
  --c21-muted:#626262;
  --c21-gold-ink:#70603b;
}

html{color-scheme:light}
body{background:var(--c21-paper);color:var(--c21-ink)}
body:before{content:none!important;display:none!important}

/* Une seule signature de marque, dans l'en-tete et le pied de page. */
.site-header,.site-header.scrolled,.collection-presentation-page .site-header{
  background:rgba(37,37,38,.98)!important;
  border-color:rgba(190,175,135,.34)!important;
  color:#fff!important;
}
.brand-century21{display:inline-grid!important;grid-template-columns:38px auto;grid-template-rows:auto auto;column-gap:11px;min-width:170px!important;align-items:center;color:#fff!important}
.brand-century21:before{content:"";grid-row:1/3;width:34px;height:43px;background:url("century21-logo-officiel.svg") center/contain no-repeat}
.brand-century21:after{content:"CENTURY 21";grid-column:2;grid-row:1;font-size:13px;font-weight:600;letter-spacing:.08em;line-height:1;color:#fff}
.brand-century21 .century21-wordmark{display:none!important}
.brand-century21 .century-agency{grid-column:2;grid-row:2;margin:4px 0 0!important;padding:0!important;border:0!important;color:var(--c21-gold)!important;font-size:8px!important;letter-spacing:.18em!important;line-height:1!important}
.desktop-nav a{color:#fff!important;font-size:.9375rem!important;letter-spacing:.025em!important;text-transform:none!important;line-height:1.5;padding:10px 0}
.site-header{gap:20px!important;padding-inline:clamp(22px,3vw,60px)!important}
.desktop-nav{gap:clamp(12px,1.2vw,24px)!important}
.header-cta{font-size:.875rem!important;letter-spacing:.025em!important;text-transform:none!important;min-height:44px;display:inline-flex;align-items:center;justify-content:center}
.brand-century21 .century-agency{font-size:.75rem!important;letter-spacing:.1em!important}
input,select,textarea{font-size:1rem!important}
:focus-visible{outline:3px solid #80724d;outline-offset:4px}
.site-header :focus-visible{outline-color:#fff}
@media(max-width:1399px){
  .site-header{grid-template-columns:auto 1fr auto!important}
  .header-cta{justify-self:end}
  .menu-toggle{display:block!important;position:relative;z-index:52;width:46px;height:46px;color:#fff!important}
  .desktop-nav{display:none!important;position:fixed;inset:0;z-index:51;width:100%;height:100dvh;overflow-y:auto;background:#252526!important;padding:100px 28px 30px!important;flex-direction:column;align-items:flex-start;justify-content:flex-start!important;gap:5px!important;pointer-events:none}
  .desktop-nav.open{display:flex!important;pointer-events:auto}
  .desktop-nav a{font-family:var(--sans,Arial,sans-serif)!important;font-size:1.25rem!important;line-height:1.5;font-weight:500!important;min-height:44px;padding:6px 0}
  body.menu-open{overflow:hidden}
}
@media(max-width:720px){.header-cta{display:none!important}.site-header{grid-template-columns:1fr auto!important}}
.desktop-nav a:hover,.desktop-nav a[aria-current="page"]{color:var(--c21-gold)!important}
.header-cta{background:var(--c21-gold)!important;border-color:var(--c21-gold)!important;color:var(--c21-black)!important;text-shadow:none!important}
.header-cta:hover{background:#fff!important;border-color:#fff!important;color:var(--c21-black)!important}

.project-rail{display:none!important}

/* Retrait complet de l'ancienne direction "edition / maison editoriale". */
.editorial-home .home-hero{min-height:860px!important;padding-top:0!important;background:var(--c21-black)!important;color:#fff!important}
.editorial-home .home-hero:after,.editorial-home .hero-content:before,.page-hero:before{content:none!important;display:none!important}
.editorial-home .hero-media{inset:0!important;width:100%!important;filter:saturate(.82) contrast(1.02)!important}
.editorial-home .hero-overlay{inset:0!important;background:linear-gradient(90deg,rgba(20,20,21,.88),rgba(20,20,21,.48) 55%,rgba(20,20,21,.2))!important}
.editorial-home .hero-content{width:min(920px,88%)!important;max-width:920px!important;margin:0!important;padding:170px var(--page) 110px!important;background:transparent!important;color:#fff!important}
.editorial-home .hero h1{font-size:clamp(58px,7vw,105px)!important}
.editorial-home .hero h1 em{color:var(--c21-gold)!important}
.editorial-home .hero-copy{max-width:620px!important;color:#f0f0f0!important}
.editorial-home .hero-actions .ghost{border-color:#fff!important;color:#fff!important}
.editorial-home .home-hero{height:auto;flex-direction:column;align-items:stretch;justify-content:center}
.editorial-home .hero-footer{position:relative;z-index:4;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:24px 40px;margin-top:auto;padding:0 var(--page) 32px}
.editorial-home .hero-territory{position:static!important;inset:auto!important;width:auto!important;display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-start!important;color:#fff!important;font-size:12px;line-height:1.6;letter-spacing:.08em}
.editorial-home .hero-territory span{white-space:nowrap}
.editorial-home .scroll-cue{position:static!important;inset:auto!important;flex-shrink:0;min-height:44px;font-size:12px;color:#fff!important}
.editorial-home .scroll-cue span{border-color:#fff!important}

/* Couleurs et contrastes accessibles sur toutes les pages. */
.button.copper,.search-grid button,.form-card button,.contact-card button,.orientation-form .button{
  background:var(--c21-gold)!important;
  border-color:var(--c21-gold)!important;
  color:var(--c21-black)!important;
  text-shadow:none!important;
}
.button.copper:hover,.search-grid button:hover,.form-card button:hover,.contact-card button:hover,.orientation-form .button:hover{
  background:var(--c21-black)!important;
  border-color:var(--c21-black)!important;
  color:#fff!important;
}
.button.ghost{background:rgba(37,37,38,.72)!important;border:1px solid #fff!important;color:#fff!important}
.button.ghost:hover{background:#fff!important;color:var(--c21-black)!important}
.section-kicker,.property-type,.actualites-pillars span,.text-link{color:var(--c21-gold-ink)!important}
.eyebrow{color:var(--c21-gold-ink)}
.page-hero h1 em,.actualites-editorial-head h2 em{color:var(--c21-gold)!important}

.hero-content{z-index:4!important;max-width:980px}
.hero-content .eyebrow{color:#fff!important}
.hero-actions{position:relative;z-index:5;display:flex;flex-wrap:wrap;gap:12px}
.hero-actions .button{min-width:190px;justify-content:center}
.hero-territory,.scroll-cue{z-index:4!important}

/* Le choix du projet devient un seul bloc coherent et lisible. */
.orientation{position:relative;grid-template-columns:minmax(260px,.72fr) minmax(500px,1.28fr)!important;gap:clamp(35px,6vw,92px)!important;align-items:center!important;padding-top:105px!important;padding-bottom:105px!important;background:var(--c21-mist)!important}
.orientation:before{content:none!important}
.orientation-copy h2{font-size:clamp(42px,4.7vw,72px)!important;color:var(--c21-black)!important}
.orientation-copy{background:transparent!important;border:0!important}
.orientation-form{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:18px!important;align-items:end!important;padding:32px!important;border:1px solid var(--c21-line)!important;border-top:5px solid var(--c21-gold)!important;background:#fff!important;box-shadow:none!important}
.orientation-form label{padding:0!important}
.orientation-form label span{color:var(--c21-black)!important;font-size:13px;line-height:1.5}
.orientation-form select{min-height:52px!important;padding:0 38px 0 13px!important;border:1px solid #bdb9ae!important;background:#fff!important;color:var(--c21-black)!important}
.orientation-form .button{min-height:52px!important;padding:0 25px!important;font-size:14px;letter-spacing:.03em;text-transform:none}

/* Acheter / Louer : aucun ton sur ton, cartes de taille egale. */
.page-hero,.orientation,.promise,.collection-intro-band,.collection-catalog,.journeys,.territory,.form-section,.new-build-intro,.new-build-faq,.actualites-editorial{background:var(--c21-mist)!important}
.page-hero{background:var(--c21-black)!important;color:#fff!important}
.page-hero>p:last-child,.page-hero .crumbs,.page-hero .crumbs a{color:#e9e9e9!important}
/* Light sections must define both their background and their foreground. */
.form-section{color:var(--c21-ink)}
.form-section>div h2,.form-section .service-card h3{color:var(--c21-ink)}
.form-section>div>p:last-of-type,.form-section .service-card p{color:var(--c21-muted)}
.form-section .service-cards{background:var(--c21-line);border-color:var(--c21-line)}
.form-section .service-card{background:var(--c21-paper);box-shadow:none}
.form-section .eyebrow,.form-section h2 em{color:var(--c21-gold-ink)}
.form-card{color:var(--c21-ink)}
.form-card .notice,.form-card .consent,.actualites-signup .form-card .notice,.actualites-signup .form-card .consent{color:var(--c21-muted)!important}
.page-hero .eyebrow,.page-hero .section-kicker{color:var(--c21-gold-soft)!important}
.page-hero .text-link{color:var(--c21-gold-soft)!important}
.search-panel{top:70px!important;background:#fff!important;border-block:1px solid var(--c21-line)!important;box-shadow:0 10px 30px rgba(37,37,38,.08)!important}
.search-grid input,.search-grid select,.form-card input,.form-card select,.form-card textarea{
  border:1px solid #b8b5ad!important;background:#fff!important;color:var(--c21-black)!important;
}
.search-grid input::placeholder,.form-card input::placeholder,.form-card textarea::placeholder{color:#6d6d6d!important;opacity:1}
.property-grid{align-items:stretch!important;gap:28px!important}
.property-card{display:grid!important;grid-template-rows:auto 1fr!important;height:auto!important;border:1px solid var(--c21-line)!important;background:#fff!important;box-shadow:none!important}
.property-card:nth-child(3n+1){grid-column:auto!important;grid-template-columns:1fr!important;align-items:initial!important;background:#fff!important}
.property-card:nth-child(3n+1) .property-image{min-height:0!important;aspect-ratio:16/10!important}
.property-card:nth-child(3n+1) .property-info{padding:24px!important}

.property-image{aspect-ratio:16/10!important}
.property-info{padding:24px!important}
.property-info:before{left:24px!important;right:60%!important;background:var(--c21-gold)!important}
.property-badge,.official-ref{background:var(--c21-black)!important;color:#fff!important}
.property-selection-note{max-width:920px;margin:0 auto 28px;padding:16px 20px;border-left:4px solid var(--c21-gold);background:#fff;color:var(--c21-muted);font-size:12px;line-height:1.65}

/* Actualites et article presse. */
.actualites-signup{background:var(--c21-black)!important;color:#fff!important}
.actualites-signup .newsletter-copy p,.actualites-signup .notice,.actualites-signup .consent{color:#e8e8e8!important}
.actualites-signup .form-card{background:#fff!important;color:var(--c21-black)!important}
.press-feature{display:grid;grid-template-columns:minmax(300px,.95fr) minmax(360px,1.05fr);min-height:560px;background:#fff;border:1px solid var(--c21-line)}
.press-feature-media{min-height:420px;background:#ddd center/cover no-repeat}
.press-feature-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(38px,6vw,86px)}
.press-feature-copy h2{margin:14px 0 22px;color:var(--c21-black);font-family:var(--serif);font-size:clamp(38px,4.4vw,64px);font-weight:500;line-height:1.03}
.press-feature-copy p{color:var(--c21-muted);line-height:1.75}
.press-meta{font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#80724d!important}
.press-article{max-width:980px;margin:0 auto;padding:150px var(--page) 110px}
.press-article-header{padding-bottom:50px;border-bottom:1px solid var(--c21-line)}
.press-article-header h1{max-width:900px;margin:18px 0 24px;font-family:var(--serif);font-size:clamp(48px,6vw,86px);font-weight:500;line-height:1}
.press-article-lead{font-size:19px;line-height:1.7;color:var(--c21-muted)}
.press-article-image{width:100%;margin:45px 0;aspect-ratio:16/9;object-fit:cover}
.press-article-body{max-width:760px;margin:0 auto}
.press-article-body h2{margin:52px 0 16px;font-family:var(--serif);font-size:36px;font-weight:500}
.press-article-body p,.press-article-body li{font-size:16px;line-height:1.85;color:#444}
.press-article-cta{margin-top:55px;padding:34px;border-left:5px solid var(--c21-gold);background:var(--c21-mist)}
.press-sources{margin-top:55px;padding-top:30px;border-top:1px solid var(--c21-line);font-size:12px;color:var(--c21-muted)}

footer{background:var(--c21-black)!important;color:#fff!important;border-color:rgba(190,175,135,.35)!important}
footer>small,.footer-main>p,footer>p{color:#c9c9c9}
.footer-brand:before{content:"";display:block;width:28px;height:36px;margin-right:12px;background:url("century21-logo-officiel.svg") center/contain no-repeat}
.footer-brand .brand-mark{display:none!important}
.footer-brand .brand-name{color:#fff!important}

/* Gold text on light surfaces uses a darker ink; brand fills stay unchanged. */
.promise h2 em,.expertise em,.locations em,.content-split h2 em,
.group-manifesto h2 em,.merged-agencies h2 em,.group-expertise>h2 em,
.contact-direct-head h2 em,.rental-checklist-section h2 em,.rental-dossier-strip h2 em,
.new-build-copy h2 em,.new-build-areas h2 em,.new-build-step-head h2 em,.new-build-faq h2 em,
.expertise-copy li span,.location-list span,.team-values article>span,
.expertise-showcase .expertise-card>span,.direct-card p,.agency-showcase-copy>p,
.rental-steps article>span,.new-build-steps li>span{color:var(--c21-gold-ink)}
.group-proof-strip,.contact-newsletter-callout,.territory-grid article:nth-child(2) h3{color:var(--c21-ink)}
.recruitment-points span,.form-section .rental-no-attachment{color:var(--c21-muted)!important;border-color:var(--c21-line)}
.rental-source-note{color:var(--c21-muted)}
.new-build-availability,.rental-dossier-strip>div:last-child p{color:var(--c21-muted)}
.property-discover span{color:var(--c21-gold-ink)}
.private-card .property-discover span{color:var(--c21-gold-soft)}
.collection-page-hero{background:#19191a}
.collection-page-hero .hero-copy{color:#f0f0f0}

/* Pair light text with a stable dark surface, including photo captions. */
body .estimate-block{background:#41483d}
.estimate-block .section-kicker,.estimate-intro h2 em{color:#f0dfb4!important}
.estimate-intro>p:last-child,.estimate-form small{color:#f2f2ef}
.estimate-form input::placeholder{color:#e7e7e3;opacity:1}
.collection-feature .section-kicker,.group-story .section-kicker,
.agency-map-copy .section-kicker,.rental-situations .eyebrow,
.newsletter-section .eyebrow,.section-kicker.light,.eyebrow.light{color:var(--c21-gold-soft)!important}
.history-line article>span{color:#bcb7ab}
.expertise-showcase .expertise-card:nth-child(3n+1)>span,
.expertise-showcase .expertise-card:nth-child(3n+3)>span{color:var(--c21-gold-soft)}
/* Compact captions keep more of each photograph visible. */
.journey-shade{background:linear-gradient(0deg,rgba(8,12,9,.48),rgba(8,12,9,0) 65%)}
.journey-content{display:grid;grid-template-columns:32px minmax(0,1fr);gap:12px;padding:28px 32px;background:linear-gradient(180deg,rgba(25,25,26,0),rgba(25,25,26,.84) 26px,rgba(25,25,26,.96));color:#fff}
.journey-content>span{width:32px;height:32px;font-size:11px}
.journey-content p{align-self:center;margin:0;color:#eee;line-height:1.4}
.journey-content h3{grid-column:1/-1;margin:0;font-size:clamp(44px,4.4vw,70px);line-height:1.05}
.journey-content a{grid-column:1/-1;align-items:center;gap:12px;min-height:44px;padding-top:12px;font-size:14px;line-height:1.4}
@media(min-width:761px) and (max-width:1050px){.journey-content{padding:28px 22px}.journey-content h3{font-size:clamp(32px,4.2vw,44px)}.journey-content a{min-height:54px}}
@media(max-width:760px){.journey-content{gap:10px;padding:26px 22px 24px}.journey-content h3{font-size:clamp(42px,12vw,54px)}}
.agency-showcase-media figcaption{padding:8px 12px;background:rgba(25,25,26,.88);color:#fff;line-height:1.5}

@media(max-width:1050px){
  .orientation{grid-template-columns:1fr!important}
  .press-feature{grid-template-columns:1fr}
}
@media(max-width:720px){
  .brand-century21{grid-template-columns:30px auto;min-width:138px!important;column-gap:8px}
  .brand-century21:before{width:27px;height:35px}
  .brand-century21:after{font-size:11px}
  .orientation{padding:72px 22px!important}
  .orientation-form{grid-template-columns:1fr!important;padding:24px 20px!important}
  .orientation-form .button{grid-column:auto}
  .hero-actions .button{width:100%}
  .editorial-home .home-hero{min-height:790px!important;padding-top:70px!important}
  .editorial-home .hero-media,.editorial-home .hero-overlay{inset:70px 0 0!important;width:100%!important}
  .editorial-home .hero-overlay{background:linear-gradient(0deg,rgba(20,20,21,.96),rgba(20,20,21,.15) 75%)!important}
  .editorial-home .hero-content{width:auto!important;padding:300px 22px 75px!important;color:#fff!important}
  .search-panel{top:auto!important}
  .press-feature-copy{padding:42px 24px}
  .press-article{padding-top:115px}
}
