/* Maison Secondaire / Édition Signature — surcouche visuelle.
   Respecte la logique PHP, les filtres, les traductions et les formulaires existants. */
:root {
    --primaryColor: #b89568;
    --blackColor: #1b302d;
    --mutedColor: #59655f;
    --whiteColor: #fff;
    --secondColor: #f6f3ec;
    --thirdColor: #ece6db;
    --greyColor: #ece9e2;
    --opacityColor: transparent;
    --lux-ink: #1b302d;
    --lux-forest: #1b302d;
    --lux-gold: #b89568;
    --lux-sand: #f6f3ec;
    --lux-border: #dddcd4;
    --lux-serif: 'Cormorant Garamond', Georgia, serif;
    --lux-sans: 'Manrope', 'DM Sans', sans-serif;
    --lux-shadow: 0 24px 80px rgba(20, 36, 30, .085);
}
html { scroll-padding-top: 110px; }
body { color:var(--lux-ink); background:#fcfbf8; font-family:var(--lux-sans); font-size:15px; font-weight:400; line-height:1.7; -webkit-font-smoothing: antialiased; }
::selection { background:#d9c8a7; color:var(--lux-forest); }
a { color:inherit; font-size:inherit; transition:color .25s, background .25s, border-color .25s, transform .25s; }
a:hover { color:#9d7b52; }
button, input, select, textarea { font-family:var(--lux-sans); }
button, a { -webkit-tap-highlight-color:transparent; }
:focus-visible { outline:2px solid var(--lux-gold)!important; outline-offset:4px; }
h1, h2, h3, h4, h5, h6 { font-weight:500; color:inherit; }
h1, h2 { font-family:var(--lux-serif); font-weight:500; letter-spacing:-.032em; line-height:.99; }
h1 { font-size:clamp(3.5rem, 6vw, 6.5rem); }
h2 { font-size:clamp(2.7rem, 4.4vw, 4.9rem); }
h3 { font-size:1.3rem; }
p { font-size:1rem; line-height:1.8; }
.container.msWideContainer { max-width:1360px; }
.mt5 { margin-top:6rem; } .mb5 { margin-bottom:6rem; }
.bgPrimary { background:var(--lux-forest); }
.bgSecondary { background:var(--lux-sand); }
.bgThird { background:#eee8dc; }
.bgLinear { background:var(--lux-sand); }
.txtPrimary { color:var(--lux-gold); }
.txtMuted { color:var(--lux-ink); }
.padding { padding:1rem 1.55rem; }
.badge { font-size:.68rem; text-transform:uppercase; border-radius:0; font-weight:700; letter-spacing:.15em; }
.eyebrow { display:inline-flex; gap:12px; align-items:center; color:#96764e; font-size:10px; font-weight:800; letter-spacing:.245em; line-height:1.5; text-transform:uppercase; }
.eyebrow::before { content:""; width:25px; height:1px; flex:0 0 auto; background:currentColor; }
.eyebrow--light { color:#e4ccb0; }
.skipLink { position:fixed; left:14px; top:-100px; z-index:9999; background:#fff; padding:8px 20px; }
.skipLink:focus { top:12px; }

/* Header: micro bandeau + navigation unifiée */
.luxSiteHeader { position:relative; z-index:200; background:#fff; }
.luxUtilityBar { min-height:31px; display:flex; align-items:center; justify-content:space-between; padding:4px clamp(20px,4.1vw,76px); background:var(--lux-forest); color:#e8e3d8; font-size:9px; font-weight:700; text-transform:uppercase; letter-spacing:.155em; }
.luxUtilityBar a { color:#fff; font-size:10px; letter-spacing:.07em; }
.luxUtilityBar a:hover { color:#d8bb95; }
.luxUtilityBar a span { padding-left:7px; }
.headerBottom { position:sticky; top:0; display:flex; align-items:center; height:87px; padding:0 clamp(20px,4.1vw,76px); gap:32px; background:rgba(255,255,255,.98); border-bottom:1px solid rgba(32,45,38,.07); box-shadow:0 2px 22px rgba(28,43,37,.035); z-index:150; }
#siteHeader { position:sticky; top:-31px; z-index:250; }
.headerBottom .navbrand { flex:0 0 190px; display:flex; align-items:center; height:100%; }
.headerBottom .navbrand img { height:76px; width:142px; object-fit:contain; display:block; }
.headerBottom .ms-nav { flex:1 1 auto; display:flex; justify-content:center; }
.headerBottom .ms-nav ul { display:flex!important; align-items:center; padding:0; margin:0; gap:clamp(18px,2.3vw,41px); }
.headerBottom .ms-nav li { margin:0; font-size:12px; letter-spacing:.045em; font-weight:650; }
.headerBottom .ms-nav a { display:inline-flex; align-items:center; position:relative; height:85px; color:#344940; font-size:12px; font-weight:650; white-space:nowrap; }
.headerBottom .ms-nav a::after { content:""; width:0; background:var(--lux-gold); height:2px; position:absolute; left:0; bottom:0; transition:width .3s; }
.headerBottom .ms-nav a:hover, .headerBottom .ms-nav a.active { color:#9a754b; }
.headerBottom .ms-nav a:hover::after, .headerBottom .ms-nav a.active::after { width:100%; }
.headerBottom .ms-nav-contact { display:flex; align-items:center; justify-content:flex-end; gap:18px; flex:0 0 auto; }
.ms-nav-contact .ms-lang { border:1px solid #eee9df; border-radius:0; font-size:11px; color:var(--lux-ink); padding:10px 12px; font-weight:700; }
.ms-nav-contact .dropdown-menu { border:1px solid var(--lux-border); border-radius:0; min-width:70px; box-shadow:var(--lux-shadow); }
.ms-nav-contact .dropdown-item { font-size:12px; }
.navContactCta { height:44px; min-width:202px; background:var(--lux-forest); color:white; padding:0 18px; display:inline-flex; align-items:center; justify-content:space-between; gap:22px; font-size:11px; font-weight:700; letter-spacing:.02em; }
.navContactCta span:last-child { font-size:18px; font-weight:400; }
.navContactCta:hover { background:#345149; color:#fff; }
.ms-burger { display:none; margin-left:auto; order:3; border:1px solid #deded7; border-radius:0; }
.ms-nav-mobileContact { display:none; }

/* Home first-fold. Images remain local. */
.homeHero { position:relative; isolation:isolate; height:min(790px,calc(100svh - 118px)); min-height:630px; background:var(--lux-forest); overflow:hidden; color:#fff; }
.homeHero__media,.homeHero__media img,.homeHero__veil { position:absolute; inset:0; width:100%; height:100%; }
.homeHero__media img { object-fit:cover; object-position:center 45%; animation:heroReveal 1.6s ease-out both; }
.homeHero__veil { background:linear-gradient(90deg,rgba(11,28,29,.83) 0%,rgba(14,32,31,.64) 36%,rgba(19,41,38,.23) 75%,rgba(16,37,33,.22) 100%),linear-gradient(0deg,rgba(13,26,26,.65),transparent 28%); }
.homeHero__inner { position:relative; z-index:2; max-width:1480px; height:100%; margin:auto; padding:clamp(40px,4vw,70px) clamp(25px,5vw,80px) 35px; display:flex; flex-direction:column; justify-content:space-between; }
.homeHero__content { width:min(100%,810px); margin:auto 0; padding-top:25px; }
.homeHero h1 { margin:30px 0 22px; font-size:clamp(4.5rem,7.4vw,8rem); line-height:.86; font-weight:400; color:#fff; letter-spacing:-.045em; text-wrap:balance; }
.homeHero h1 span, .homeHero h1 em { display:block; }
.homeHero h1 em { color:#f0d6b3; font-style:italic; font-weight:400; padding:0 0 .17em; }
.homeHero__lead { max-width:520px; margin:0; font-size:clamp(14px,1.16vw,17px); color:#f0efe9; line-height:1.9; font-weight:450; }
.homeHero__actions { display:flex; flex-wrap:wrap; align-items:center; gap:13px; margin-top:31px; }
.luxBtn { display:inline-flex; align-items:center; justify-content:space-between; gap:25px; padding:0 25px; min-height:56px; text-decoration:none; font-size:11px; font-weight:750; letter-spacing:.038em; border:1px solid transparent; text-align:left; white-space:nowrap; }
.luxBtn span:last-child { font-size:18px; font-weight:400; transition:transform .2s; }
.luxBtn:hover span:last-child { transform:translate(3px,-3px); }
.luxBtn--gold { background:#bf9f76; color:#172e2b; }
.luxBtn--gold:hover { background:#d3b58e; color:#172e2b; }
.luxBtn--outline { color:#fff; background:rgba(255,255,255,.06); border-color:rgba(255,255,255,.46); }
.luxBtn--outline:hover { background:rgba(255,255,255,.17); color:#fff; }
.luxBtn--dark { background:var(--lux-forest); color:#fff; }
.luxBtn--dark:hover { background:#35534b; color:#fff; }
.homeHero__bottom { display:flex; justify-content:space-between; align-items:end; gap:15px; }
.homeHero__index { display:flex; align-items:center; gap:16px; font-size:10px; color:rgba(255,255,255,.83); text-transform:uppercase; letter-spacing:.1em; }
.homeHero__indexLine { height:1px; width:36px; background:#e5c6a1; }
.homeHero__scroll { display:flex; align-items:center; gap:14px; color:#fff; font-size:11px; font-weight:600; }
.homeHero__scroll span:last-child { font-size:20px; }
.homeHero__vertical { position:absolute; z-index:3; right:32px; top:35%; transform:rotate(90deg) translateX(50%); transform-origin:right center; color:rgba(255,255,255,.68); font-size:9px; letter-spacing:.32em; }
@keyframes heroReveal { from{ transform:scale(1.05); opacity:.5; } to{transform:scale(1);opacity:1} }

/* Trust ribbon */
.trustRibbon { border-bottom:1px solid #e8e5dc; background:#f7f5ef; }
.trustRibbon__grid { display:grid; grid-template-columns:repeat(3,1fr); }
.trustRibbon__item { display:flex; align-items:center; gap:17px; min-height:102px; padding:24px 28px; border-right:1px solid #e1dcd1; }
.trustRibbon__item:first-child { padding-left:0; }
.trustRibbon__item:last-child { border:0; }
.trustRibbon__item span { font:italic 25px/1 var(--lux-serif); color:#b69570; }
.trustRibbon__item strong { font-size:12px; font-weight:650; letter-spacing:.015em; }

/* Editorial sections */
.luxSection { padding:clamp(78px,8vw,140px) 0; }
.luxSectionHead { display:flex; gap:35px; align-items:end; justify-content:space-between; margin-bottom:41px; }
.luxSectionHead>div:first-child { max-width:850px; }
.luxSectionHead h2 { margin:16px 0 17px; font-size:clamp(3rem,5vw,5.15rem); color:var(--lux-ink); }
.luxSectionHead p { max-width:650px; font-size:14px; color:#627069; margin:0; line-height:1.85; }
.textLink { font-size:11px; text-transform:uppercase; letter-spacing:.12em; font-weight:800; color:var(--lux-forest); border-bottom:1px solid #9c8d77; display:inline-flex; flex:0 0 auto; justify-content:space-between; gap:24px; padding:12px 0; white-space:nowrap; }
.textLink span:last-child { font-size:20px; line-height:.8; font-weight:400; }
.textLink:hover { color:#9e7b51; border-color:#9e7b51; }
.luxSelection { background:#fcfbf8; }
.ms-propertyGrid .col-12 { display:flex; }
.ms-prop { width:100%; height:100%; min-height:0; overflow:hidden; background:#fff; border:1px solid #e8e5dd; box-shadow:none; isolation:auto; cursor:pointer; transition:transform .35s, box-shadow .35s; }
.ms-prop::before { display:none; }
.ms-prop:hover { box-shadow:var(--lux-shadow); transform:translateY(-4px); }
.ms-prop__visual { position:relative; height:clamp(280px,30vw,390px); overflow:hidden; background:#e4e3dc; }
.ms-prop__img { width:100%; height:100%; display:block; object-fit:cover; object-position:center; transform:scale(1); transition:transform .8s cubic-bezier(.2,.7,.2,1); }
.ms-prop:hover .ms-prop__img { transform:scale(1.055); }
.ms-prop__type { position:absolute; top:20px; left:20px; background:#fffdf8; color:#293e34; padding:10px 14px; font-size:9px; line-height:1; text-transform:uppercase; letter-spacing:.14em; font-weight:750; }
.ms-prop__go { position:absolute; top:18px; right:18px; background:#fff; border:0; color:#192e2a; width:38px; height:38px; border-radius:50%; display:grid; place-items:center; font-size:21px; backdrop-filter:none; transition:background .2s,transform .2s; }
.ms-prop:hover .ms-prop__go { background:#d6b996; color:#18342c; transform:translateY(-2px); }
.ms-prop__detail { min-height:162px; padding:24px 26px 22px; }
.ms-prop__location { display:block; text-transform:uppercase; font-size:10px; font-weight:750; letter-spacing:.12em; color:#ad8a62; margin-bottom:8px; }
.ms-prop__title { font:500 clamp(24px,2.4vw,32px)/1.07 var(--lux-serif); letter-spacing:-.01em; color:#20372f; margin:0 0 16px; }
.ms-prop__info { border-top:1px solid #eae7e0; padding-top:15px; display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:10px; }
.ms-prop__info strong { font:700 15px/1.3 var(--lux-sans); color:#20372f; }
.ms-prop__info>span { font-size:11px; font-weight:600; color:#778078; }

/* Destination triptych */
.luxDestinations { background:#eeeae1; }
.luxDestGrid { display:grid; grid-template-columns:1.25fr 1fr 1fr; gap:14px; }
.luxDestination { position:relative; display:block; height:clamp(380px,44vw,530px); background:#25483d; color:white; overflow:hidden; isolation:isolate; }
.luxDestination img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .65s; }
.luxDestination:hover img { transform:scale(1.06); }
.luxDestination::after { content:""; position:absolute; inset:0; z-index:0; background:linear-gradient(0deg,rgba(12,27,26,.83),transparent 65%),linear-gradient(180deg,rgba(7,29,29,.28),transparent 35%); }
.luxDestination--albania { background:linear-gradient(145deg,#284a43,#0d282a 85%); }
.luxDestination--albania::after { background:linear-gradient(0deg,rgba(10,23,24,.7),transparent 70%); }
.luxDestination__contour { position:absolute; left:-27%; top:15%; width:150%; height:95%; opacity:.15; border-radius:50%; border:1px solid #f7efe4; box-shadow:0 0 0 45px rgba(255,255,255,.12), 0 0 0 95px rgba(255,255,255,.10),0 0 0 150px rgba(255,255,255,.08),0 0 0 220px rgba(255,255,255,.06); transform:rotate(-20deg); }
.luxDestination__no { position:absolute; top:28px; left:28px; font-size:10px; font-weight:700; letter-spacing:.15em; z-index:2; }
.luxDestination__bottom { position:absolute; bottom:32px; left:27px; right:27px; z-index:2; display:flex; align-items:end; justify-content:space-between; gap:15px; }
.luxDestination__bottom span { display:flex; flex-direction:column; gap:6px; }
.luxDestination__bottom small { color:#e4d5bd; font-size:9px; font-weight:750; letter-spacing:.19em; }
.luxDestination__bottom strong { font:500 clamp(37px,3.8vw,56px)/1 var(--lux-serif); letter-spacing:-.02em; }
.luxDestination__bottom i { display:grid; place-items:center; width:42px; height:42px; flex:0 0 auto; border:1px solid rgba(255,255,255,.6); border-radius:50%; font-size:24px; font-style:normal; transition:transform .25s, background .25s; }
.luxDestination:hover .luxDestination__bottom i { background:#b89568; border-color:#b89568; color:#1b302d; transform:translate(2px,-2px); }

/* Asymmetric mid-page manifesto */
.luxManifesto { min-height:565px; display:grid; grid-template-columns:1fr 1fr; background:var(--lux-forest); color:#fff; }
.luxManifesto__image { min-height:565px; overflow:hidden; }
.luxManifesto__image img { width:100%; height:100%; object-fit:cover; object-position:center 58%; }
.luxManifesto__content { padding:clamp(55px,7vw,108px) clamp(36px,6.5vw,115px); display:flex; align-items:start; flex-direction:column; justify-content:center; }
.luxManifesto h2 { font-size:clamp(3.4rem,4.9vw,5.9rem); margin:22px 0; color:#fff; }
.luxManifesto p { color:#d7ded7; font-size:14px; max-width:520px; line-height:1.95; }
.textLink--light { color:#f7f3e9; border-color:#b7986e; margin-top:22px; }
.textLink--light:hover { color:#e0bb89; }

/* Method grid – artistic high-end cards */
.luxSectionHead--center { justify-content:center; text-align:center; }
.luxSectionHead--center .eyebrow { justify-content:center; }
.homeVisualProcess { background:#faf8f3; }
.homeVisualProcess .processLayout { grid-template-columns:repeat(12,minmax(0,1fr)); gap:15px; }
.homeVisualProcess .processFeatureCard { border:1px solid #e3e1d8; background:#fff; grid-column:span 3; min-height:250px; transition:transform .3s,box-shadow .3s; }
.homeVisualProcess .processFeatureCard:hover { transform:translateY(-3px); box-shadow:var(--lux-shadow); }
.homeVisualProcess .processFeatureCard.big { grid-column:span 6; grid-row:span 2; }
.homeVisualProcess .processFeatureCard.wide { grid-column:span 3; }
.homeVisualProcess .processFeatureCard .imgWrap { height:255px; }
.homeVisualProcess .processFeatureCard .imgWrap img { transition:transform .7s; }
.homeVisualProcess .processFeatureCard:hover .imgWrap img { transform:scale(1.05); }
.homeVisualProcess .processFeatureCard .content { padding:27px 28px 32px; }
.homeVisualProcess .processFeatureCard .step { display:block; background:none; padding:0; margin-bottom:16px; width:auto; height:auto; text-align:left; color:#b09068; font:italic 37px/1 var(--lux-serif); }
.homeVisualProcess .processFeatureCard h3 { font:500 27px/1.1 var(--lux-serif); margin-bottom:12px; }
.homeVisualProcess .processFeatureCard p { font-size:12px; color:#68756d; line-height:1.8; }
.homeVisualProcess .processFeatureCard.dark { background:var(--lux-forest); color:white; border-color:var(--lux-forest); }
.homeVisualProcess .processFeatureCard.dark h3 { color:#fff; }
.homeVisualProcess .processFeatureCard.dark p { color:#d0d9d2; }

/* Bottom CTA */
.luxFinalCta { background:#f8f5ed; padding-top:0; padding-bottom:115px; }
.ctaLuxury { border:0; background:#e8dece; position:relative; overflow:hidden; padding:clamp(45px,5.5vw,82px) clamp(35px,6vw,88px); gap:35px; }
.ctaLuxury::after { content:""; position:absolute; width:560px; height:560px; border-radius:50%; border:1px solid rgba(98,88,63,.18); right:-190px; top:-210px; box-shadow:0 0 0 75px rgba(125,111,80,.045),0 0 0 140px rgba(125,111,80,.035); pointer-events:none; }
.ctaLuxury>* { position:relative; z-index:1; }
.ctaLuxury .left { max-width:720px; }
.ctaLuxury h2 { font:500 clamp(3rem,4.8vw,5.3rem)/.96 var(--lux-serif); margin:17px 0 16px; }
.ctaLuxury p { color:#58645b; font-size:14px; max-width:620px; }
.ctaLuxury .right { flex:0 0 auto; }

/* Shared pages: inner headers, typography, layouts */
.innerPageHero { padding:90px 0 75px; background:#eeeae1; border-bottom:1px solid #ddd9d0; }
.innerPageHero h1 { font-size:clamp(3.5rem,5.6vw,6.5rem); line-height:.92; max-width:850px; margin:16px 0 22px; }
.innerPageHero p { font-size:15px; line-height:1.8; max-width:680px; color:#647068; }
.properties .ms-filter { background:#fffdfb; border:1px solid #e9e5da; padding:26px; box-shadow:none; }
.properties .ms-filter .fw-bold { text-transform:uppercase; letter-spacing:.14em; font-size:11px; }
.properties .ms-field, .properties .ms-btn, .properties .ms-btn-outline, .properties .ms-btn-outline-sm { border-radius:0!important; }
.properties .ms-field { background-color:#fff; font-size:13px; }
.properties .ms-field:focus { border-color:#b89568!important; box-shadow:0 0 0 3px rgba(184,149,104,.1)!important; }
.properties .ms-btn-dark { background:var(--lux-forest)!important; border-color:var(--lux-forest)!important; }
.properties .ms-mobileBar { box-shadow:none; border-radius:0; }
.luxListing { margin-top:62px; }
.luxListing .ms-prop__visual { height:300px; }

/* Property detail: retain JS gallery and controls */
.propertyClass main.container { max-width:1340px; padding-top:48px!important; padding-bottom:65px!important; }
.propertyClass .ms-heroGrid { gap:10px; }
.propertyClass .ms-heroSide { gap:10px; }
.propertyClass .ms-heroMain img { height:460px; }
.propertyClass .ms-heroThumb img { height:225px; }
.propertyClass .ms-badge { background:var(--lux-forest); padding:8px 13px; text-transform:uppercase; letter-spacing:.11em; font-size:10px; }
.propertyClass .ms-contactCard { border:1px solid #e6e3db; background:#f7f4ee; box-shadow:none; padding:29px; }
.propertyClass .ms-contactTitle { font-weight:750; font-size:12px; text-transform:uppercase; letter-spacing:.09em; }
.propertyClass .ms-infoCenter h2 { font-size:39px; }
.propertyClass .ms-infoCenter p { font-size:12px; }
.propertyClass .ms-contactCard .bgLinear { background:var(--lux-forest); color:#fff; font-weight:750; text-align:center; }
.propertyClass .ms-contactCard .bgLinear:hover { background:#30534b; color:#fff; }
.propertyClass .ms-contactCard a.border { background:#fff; text-align:center; }
.propertyClass .ms-title { font:500 clamp(3rem,4.4vw,5rem)/.98 var(--lux-serif); letter-spacing:-.035em; }
.propertyClass .ms-price { font:600 28px/1.3 var(--lux-sans); color:#a37c50; }
.propertyClass .ms-icon,.propertyClass .ms-section { background:#fff; border-color:#e6e3dc; padding:21px; }
.propertyClass .ms-section { margin-bottom:16px; padding:30px; }
.propertyClass .ms-sectionTitle { font:500 34px/1.1 var(--lux-serif); }
.propertyClass .ms-text { line-height:1.85; }
.propertyClass .ms-modal { background:rgba(11,29,28,.9); }

/* About */
.whoHero { margin-top:0!important; padding:clamp(65px,7vw,110px) 0; background:#f7f4ee; }
.whoHero .row { align-items:center; }
.whoHero h1 { font-size:clamp(3.5rem,5.3vw,6.2rem); }
.whoHero p { color:#647068; font-size:14px; max-width:570px; }
.whoHeroVisual { min-height:530px; }
.whoHeroVisual img { height:530px; min-height:530px; }
.whoHeroCard { background:rgba(249,246,238,.94); backdrop-filter:blur(14px); border:none; border-radius:0; padding:26px; bottom:24px; left:24px; right:24px; }
.whoHeroCard span { font-size:10px; letter-spacing:.15em; }
.whoHeroCard strong { font:500 26px/1.1 var(--lux-serif); }
.whoHeroStats { gap:10px; }
.whoHeroStats .item { padding:21px; background:#fff; border-color:#e7e2d9; }
.whoHeroStats .item strong { font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.04em; }
.whoHeroStats .item span { font-size:11px; }
.whoImageBlock img { height:450px; }
.whoImageBlock--large img { height:420px; }
.whoImageBlock--small img { height:210px; }
.who .whoMethod,.who .valueCard,.who .whoCard { border-radius:0; }
.whoMethod { padding:80px 0; background:#f6f3ec; }
.whoMethod .sectionHeaderFancy { margin-bottom:40px; }
.whoMethod h2 { margin:14px 0; }
.whoMethod .whoCard { border-color:#e7e2d9; padding:30px; }
.whoMethod .whoCard h3 { font:500 29px/1.1 var(--lux-serif); }
.whoMethod .whoCard .step { background:none; color:#ab855b; padding:0; font:italic 33px/1 var(--lux-serif); }
.valueCard { background:#f7f4ee; padding:45px; }
.valueCard h2 { font-size:clamp(2.8rem,3.5vw,4rem); }
.valueCard.dark { background:var(--lux-forest); }
.whoList li { list-style:disc; }

/* Contact: leave form POST/CSRF/validation code untouched */
.contactPremiumHero { background:#f8f6f0; }
.contactHeroShell { border-color:#e3dfd5; }
.contactHeroLeft { background:#e7e0d3; padding:clamp(35px,4vw,70px); }
.contactHeroRight { padding:clamp(35px,4vw,66px); }
.contactHeroLeft h1 { font-size:clamp(3.4rem,5vw,5.6rem); }
.contactHeroRight h2 { font-size:clamp(2.7rem,3.7vw,4.25rem); margin:10px 0 18px; }
.contactHeroIntro .line { background:var(--lux-gold); }
.contactHeroIntro span { text-transform:uppercase; letter-spacing:.12em; font-size:10px; }
.contactHeroIntro strong { font-size:13px; }
.contactHeroVisual img { height:310px; }
.contactHeroRight .msField,.contactHeroRight input,.contactHeroRight textarea,.contactHeroRight select { border-radius:0; border-color:#dcdcd5; background:#fcfbf7; min-height:49px; font-size:13px; padding:12px 14px; }
.contactHeroRight textarea.msField { min-height:160px; }
.contactHeroRight .msField:focus { border-color:#b89568; box-shadow:0 0 0 3px rgba(184,149,104,.1); }
.contactHeroRight .form-label { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.07em; color:#415148; }
.contactHeroRight button[type=submit] { min-height:55px; font-size:12px; font-weight:700; background:var(--lux-forest); }
.contactHeroRight button[type=submit]:hover { background:#35584f; }
.contactInfoBox { border-color:#e7e1d7; transition:background .2s; }
.contactInfoBox:hover { background:#f6f1e8; }
.contactInfoBox strong { font-size:14px; }
.contactEditorialText h2 { font-size:clamp(3rem,4vw,4.6rem); }
.contactEditorialVisual img { min-height:490px; }

/* Footer */
footer { background:#182f2b; color:#e7e5db!important; margin-top:0!important; padding:65px 0 10px; border-top:0!important; }
footer .container { max-width:1360px; }
footer .rowFooterLogo .logo>a:first-child { display:inline-block; width:194px; }
footer .rowFooterLogo .logo img { max-width:185px; width:100%; filter:brightness(0) invert(1); }
footer h6 { color:#fff; font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.1em; line-height:1.7; }
footer .logo h6 { max-width:290px; color:#d3dacd; font-size:12px; font-weight:500; text-transform:none; letter-spacing:0; margin-top:11px; margin-bottom:27px; }
footer .rowFooterLink a, footer .rowFooterLink p,footer .rowFooterLink li { color:#ced5cc; font-size:12px; line-height:2; }
footer .rowFooterLink a:hover { color:#e6c59c; }
footer .rowFooterLink svg, footer .socialLink svg { fill:#c8d0c8; }
footer .rowFooterLink a:hover svg,footer .socialLink:hover svg { fill:#e6c59c; }
footer .border-top { border-color:rgba(255,255,255,.16)!important; }
footer .text-secondary { color:#b8c7bb!important; }
footer a.text-secondary:hover { color:#e2c69d!important; }

@media(max-width:1250px) {
    .headerBottom { gap:18px; }
    .headerBottom .navbrand { flex-basis:140px; }
    .headerBottom .ms-nav ul { gap:19px; }
    .navContactCta { min-width:170px; gap:13px; }
    .homeVisualProcess .processFeatureCard,.homeVisualProcess .processFeatureCard.wide { grid-column:span 3; }
    .homeVisualProcess .processFeatureCard.big { grid-column:span 6; }
}
@media(max-width:1000px) {
    .headerBottom { padding:0 22px; height:76px; }
    .headerBottom .navbrand { flex:0 0 130px; }
    .headerBottom .navbrand img { width:128px; }
    .headerBottom .ms-nav ul { gap:15px; }
    .navContactCta { display:none; }
    .homeHero { min-height:650px; height:72vh; }
    .homeHero__vertical { display:none; }
    .homeHero h1 { font-size:clamp(4.2rem,8.7vw,6.6rem); }
    .trustRibbon__item { padding:20px 13px; }
    .trustRibbon__item strong { font-size:11px; }
    .luxDestGrid { grid-template-columns:repeat(2,1fr); }
    .luxDestination--europe { grid-column:span 2; height:390px; }
    .luxManifesto__content { padding:50px 38px; }
    .homeVisualProcess .processFeatureCard,.homeVisualProcess .processFeatureCard.wide { grid-column:span 6; }
    .homeVisualProcess .processFeatureCard.big { grid-column:span 6; }
    .homeVisualProcess .processFeatureCard { min-height:260px; }
    .whoHeroStats { grid-template-columns:1fr; }
}
@media(max-width:767px) {
    #siteHeader { top:-27px; }
    .luxUtilityBar { min-height:27px; padding:4px 16px; font-size:7px; letter-spacing:.05em; }
    .luxUtilityBar>a { display:none; }
    .headerBottom { height:72px; gap:12px; padding:0 16px; }
    .headerBottom .navbrand { flex:0 0 auto; order:0; }
    .headerBottom .navbrand img { width:118px; height:69px; }
    .headerBottom .ms-nav-contact { margin-left:auto; order:1; }
    .ms-nav-contact .ms-lang { padding:7px 10px; }
    .ms-burger { display:block; flex:0 0 42px; order:2; margin-left:0; }
    .headerBottom .ms-nav { position:absolute; left:0; right:0; top:calc(100% + 1px); z-index:200; display:block; border:0; border-bottom:1px solid #e7e2d8; background:#fffdf8; padding:16px 24px 24px; transform:translateY(-9px); opacity:0; visibility:hidden; pointer-events:none; box-shadow:0 16px 30px rgba(14,32,26,.1); }
    .headerBottom.is-open .ms-nav { opacity:1; visibility:visible; pointer-events:auto; transform:translateY(0); }
    .headerBottom .ms-nav ul { display:block!important; }
    .headerBottom .ms-nav a { height:auto; display:block; padding:13px 0; font-size:13px; }
    .headerBottom .ms-nav a::after { bottom:8px; }
    .ms-nav-mobileContact { display:block; }
    .homeHero { min-height:660px; height:calc(100svh - 99px); max-height:780px; }
    .homeHero__media img { object-position:56% center; }
    .homeHero__veil { background:linear-gradient(90deg,rgba(11,28,29,.82),rgba(15,32,30,.43)),linear-gradient(0deg,rgba(11,28,29,.74),transparent 36%); }
    .homeHero__inner { padding:50px 23px 25px; }
    .homeHero__content { padding:0; }
    .homeHero h1 { font-size:clamp(4.1rem,13vw,6.4rem); margin:25px 0 16px; }
    .homeHero__lead { font-size:13px; line-height:1.85; max-width:400px; }
    .homeHero__actions { gap:10px; margin-top:25px; }
    .luxBtn { padding:0 17px; min-height:51px; font-size:10px; gap:11px; }
    .homeHero__index { font-size:9px; line-height:1.65; letter-spacing:.03em; }
    .homeHero__indexLine { width:20px; }
    .homeHero__scroll { font-size:0; gap:0; }
    .homeHero__scroll span:last-child { font-size:22px; }
    .trustRibbon__grid { grid-template-columns:1fr; }
    .trustRibbon__item,.trustRibbon__item:first-child { min-height:60px; padding:13px 6px; border-right:0; border-bottom:1px solid #e3ded3; }
    .trustRibbon__item:last-child { border:0; }
    .trustRibbon__item span { font-size:21px; }
    .trustRibbon__item strong { font-size:11px; }
    .luxSection { padding:72px 0; }
    .luxSectionHead { display:block; margin-bottom:29px; }
    .luxSectionHead h2 { font-size:clamp(3.2rem,11vw,4.7rem); }
    .luxSectionHead p { font-size:13px; }
    .luxSectionHead .textLink { margin-top:20px; }
    .ms-prop__visual { height:290px; }
    .ms-prop__detail { padding:21px; min-height:0; }
    .luxDestGrid { grid-template-columns:1fr; gap:13px; }
    .luxDestination { height:370px; }
    .luxDestination--europe { grid-column:span 1; height:370px; }
    .luxManifesto { grid-template-columns:1fr; }
    .luxManifesto__image { min-height:310px; height:310px; }
    .luxManifesto__content { padding:65px 25px 72px; }
    .luxManifesto h2 { font-size:clamp(3.4rem,11vw,4.7rem); }
    .homeVisualProcess .processFeatureCard,.homeVisualProcess .processFeatureCard.wide,.homeVisualProcess .processFeatureCard.big { grid-column:span 12; grid-row:auto; min-height:0; }
    .homeVisualProcess .processFeatureCard .imgWrap { height:240px; }
    .homeVisualProcess .processFeatureCard .content { padding:23px; }
    .luxFinalCta { padding-top:0; }
    .ctaLuxury { padding:45px 26px; }
    .ctaLuxury h2 { font-size:clamp(3.3rem,10vw,4.6rem); }
    .ctaLuxury .left { max-width:100%; }
    .ctaLuxury .right { width:100%; justify-content:flex-start; }
    .innerPageHero { padding:70px 0 60px; }
    .innerPageHero h1 { font-size:clamp(3.4rem,10vw,5.5rem); }
    .properties .ms-filter { padding:16px; }
    .propertyClass .ms-heroGrid { grid-template-columns:1fr; }
    .propertyClass .ms-heroMain img { height:350px; }
    .propertyClass .ms-heroSide { grid-template-columns:repeat(2,1fr); }
    .propertyClass .ms-heroThumb img { height:165px; }
    .propertyClass .ms-title { font-size:3.7rem; }
    .propertyClass .ms-contactCard,.propertyClass .ms-section { padding:23px; }
    .whoHero { padding:60px 0; }
    .whoHero h1 { font-size:clamp(3.6rem,10vw,5.5rem); }
    .whoHeroVisual,.whoHeroVisual img { height:380px; min-height:380px; }
    .whoHeroCard { bottom:13px; left:13px; right:13px; }
    .whoImageBlock img { height:340px; }
    .contactHeroLeft,.contactHeroRight { padding:28px; }
    .contactHeroLeft h1 { font-size:clamp(3.4rem,10vw,5rem); }
    .contactEditorialText { padding:26px; }
    footer { padding:40px 0 18px; }
    footer .rowFooterLogo { text-align:left; }
}
@media(max-width:375px) {
    .homeHero h1 { font-size:3.7rem; }
    .homeHero__actions { display:grid; }
    .homeHero__actions .luxBtn { width:max-content; }
    .luxDestination__bottom strong { font-size:39px; }
}
@media(prefers-reduced-motion: reduce) {
    html { scroll-behavior:auto; }
    .homeHero__media img { animation:none; }
    .ms-prop,.ms-prop__img,.luxDestination img,.luxBtn span:last-child { transition:none!important; }
}
/* MAISON SECONDAIRE - ÉDITION EUROPE / 2026
   Surcouche sur Édition Signature. Les visuels d'inspiration ne sont pas des annonces.
*/
.europeEdition .homeHero, .europeEdition .luxDestinations { display:none; }
.europeHero { position:relative; min-height:min(795px,calc(100svh - 107px)); background:#173029; isolation:isolate; overflow:hidden; color:#fff; }
.europeHero__media,.europeHero__media img,.europeHero__shade { position:absolute; inset:0; width:100%; height:100%; }
.europeHero__media { left:35%; width:65%; }
.europeHero__media img { object-fit:cover; object-position:center 52%; }
.europeHero__shade { background:linear-gradient(90deg,#142d2a 0%,rgba(20,45,42,.98) 27%,rgba(20,45,42,.66) 52%,rgba(20,45,42,.15) 80%),linear-gradient(0deg,rgba(12,34,31,.45),transparent 42%); }
.europeHero__layout { position:relative; z-index:2; min-height:inherit; display:flex; align-items:center; justify-content:space-between; gap:40px; padding-top:95px; padding-bottom:100px; }
.europeHero__copy { max-width:760px; padding:25px 0; }
.europeHero h1 { color:#fff; font-size:clamp(75px,8.8vw,147px); line-height:.79; letter-spacing:-.055em; margin:27px 0 38px; }
.europeHero h1 span, .europeHero h1 em { display:block; }
.europeHero h1 em { color:#ead7ba; font-weight:400; font-style:italic; padding-bottom:.12em; }
.europeHero__description { color:#eceee7; max-width:530px; font-size:clamp(14px,1.18vw,17px); line-height:1.85; }
.europeHero__note { font-size:10px; letter-spacing:.13em; color:#c8c9be; text-transform:uppercase; margin-top:31px; }
.europeHero__side { align-self:end; max-width:245px; margin-left:auto; margin-bottom:0; padding:26px 0 12px; border-top:1px solid rgba(248,243,232,.52); flex:0 0 245px; }
.europeHero__sideNumber { color:#d4ad7f; font:italic 34px var(--lux-serif); }
.europeHero__side p { color:#e6e9e2; font-size:12px; line-height:1.85; margin:14px 0 19px; }
.europeHero__side a { font-size:10px; font-weight:700; color:#f0dac1; letter-spacing:.055em; }
.europeHero__bottom { position:absolute; z-index:2; bottom:0; left:0; right:0; padding:15px clamp(20px,5vw,80px); display:flex; justify-content:space-between; gap:30px; border-top:1px solid rgba(255,255,255,.21); font-size:9px; letter-spacing:.18em; color:rgba(255,255,255,.76); }
.euroLine { background:#e9e2d6; }
.euroLine__inner { display:grid; grid-template-columns:repeat(3,1fr); }
.euroLine__inner>span { border-right:1px solid #d6cfc2; padding:26px 18px 26px 0; display:flex; align-items:center; gap:20px; font-size:11px; color:#1c3932; font-weight:700; letter-spacing:.01em; }
.euroLine__inner>span:not(:first-child){padding-left:38px;}
.euroLine__inner>span:last-child{border-right:0;}
.euroLine__inner b { color:#b18d60; font:italic 29px/1 var(--lux-serif); }
.euroHead { align-items:flex-end; }
.euroHead h2 { max-width:890px; }
.euroHead .textLink { white-space:nowrap; }
.euroWorlds { background:#f7f5ef; }
.euroWorldGrid { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:17px; }
.euroWorld { grid-column:span 3; position:relative; isolation:isolate; height:490px; overflow:hidden; background:linear-gradient(155deg,#52645a,#122e2d); color:#fff; display:block; }
.euroWorld:first-child { grid-column:span 4; }
.euroWorld:nth-child(2) { grid-column:span 4; }
.euroWorld:nth-child(3),.euroWorld:nth-child(4) { grid-column:span 2; }
.euroWorld img { width:100%; height:100%; position:absolute; inset:0; object-fit:cover; transition:transform .7s ease; }
.euroWorld:hover img { transform:scale(1.06); }
.euroWorld::after { content:""; position:absolute; inset:0; z-index:0; background:linear-gradient(0deg,rgba(11,31,28,.9) 0%,rgba(11,31,28,.31) 37%,transparent 77%),linear-gradient(180deg,rgba(11,31,28,.36),transparent 42%); }
.euroWorld__top { position:absolute; top:23px; left:24px; right:12px; z-index:2; font-size:10px; font-weight:700; letter-spacing:.16em; }
.euroWorld__bottom { position:absolute; bottom:25px; left:24px; right:18px; z-index:2; display:flex; align-items:end; justify-content:space-between; gap:8px; }
.euroWorld__bottom>span { min-width:0; display:grid; gap:8px; }
.euroWorld__bottom small { font-size:8px; line-height:1.5; font-weight:800; letter-spacing:.14em; color:#e6c39b; }
.euroWorld__bottom strong { font:500 clamp(31px,3vw,48px)/.95 var(--lux-serif); letter-spacing:-.02em; }
.euroWorld__bottom span span { font-size:10px; font-weight:500; line-height:1.5; color:#e4e6df; }
.euroWorld__bottom i { display:grid; place-items:center; width:35px; height:35px; border:1px solid rgba(255,255,255,.6); border-radius:50%; font-size:18px; flex:0 0 auto; font-style:normal; transition:background .3s; }
.euroWorld:hover .euroWorld__bottom i { background:#b89568; }
.euroPhotoNotice { margin:19px 0 0; font-size:11px; color:#718077; line-height:1.7; }
.euroInvestment { background:#16312c; color:#fff; padding:clamp(80px,9vw,145px) 0; position:relative; overflow:hidden; }
.euroInvestment::before { content:""; position:absolute; top:-220px; left:-280px; width:640px; height:640px; border-radius:50%; border:1px solid rgba(230,213,190,.10); box-shadow:0 0 0 110px rgba(210,193,169,.025),0 0 0 225px rgba(210,193,169,.025); pointer-events:none; }
.euroInvestment__grid { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.78fr); gap:clamp(55px,10vw,155px); position:relative; }
.euroInvestment__left h2 { color:#fff; font-size:clamp(55px,5.2vw,88px); max-width:720px; margin:24px 0; }
.euroInvestment__left p { color:#d2ded5; font-size:14px; max-width:515px; line-height:1.9; margin-bottom:30px; }
.euroInvestment__steps article { display:grid; grid-template-columns:58px minmax(0,1fr); gap:13px; border-top:1px solid rgba(255,255,255,.25); padding:27px 0; }
.euroInvestment__steps article>span { color:#d3b58e; font:italic 32px/1 var(--lux-serif); }
.euroInvestment__steps h3 { font:500 29px/1.18 var(--lux-serif); color:#fff; margin-bottom:8px; }
.euroInvestment__steps article p { font-size:12px; line-height:1.85; color:#d0dbd2; margin:0; }
.euroInvestment__fine { font-size:11px; color:#b3c2b8; line-height:1.75; margin-top:12px; }
.euroDestinations { background:#fdfbf7; }
.euroRegionGrid { display:grid; grid-template-columns:repeat(2,1fr); border-top:1px solid #ddd7cb; border-left:1px solid #ddd7cb; }
.euroRegion { display:grid; grid-template-columns:58px 1fr 36px; grid-template-rows:auto auto; column-gap:16px; align-items:start; min-height:170px; padding:32px 29px; border-right:1px solid #ddd7cb; border-bottom:1px solid #ddd7cb; transition:background .25s; }
.euroRegion:hover { background:#ede7dd; }
.euroRegion__count { grid-row:span 2; color:#b99567; font:italic 27px/1 var(--lux-serif); }
.euroRegion strong { font:500 clamp(29px,3vw,43px)/1 var(--lux-serif); }
.euroRegion small { font-size:12px; color:#69756f; margin-top:8px; }
.euroRegion>span:last-child { grid-column:3; grid-row:1/3; font-size:24px; justify-self:end; align-self:center; }
.euroDestinations__note { font-size:11px; color:#647268; margin-top:15px; }
.euroAvailable { background:#eee9e0; }
.euroAvailable__prompt { border-top:1px solid #d7ccbb; margin-top:42px; padding:23px 0; display:flex; align-items:center; justify-content:space-between; gap:25px; }
.euroAvailable__prompt p { margin:0; color:#4b5e54; font-size:14px; }
.euroAvailable__prompt a { white-space:nowrap; font-weight:800; letter-spacing:.04em; font-size:12px; color:#193a30; }
.euroFinal { background:var(--lux-forest); padding:clamp(78px,9vw,135px) 0; color:#fff; }
.euroFinal__inner { display:flex; align-items:end; justify-content:space-between; gap:40px; }
.euroFinal h2 { color:#fff; max-width:830px; font-size:clamp(48px,5.5vw,85px); margin:23px 0 18px; }
.euroFinal p { max-width:650px; font-size:14px; color:#d8e2d9; line-height:1.8; }
.euroFinal .luxBtn { flex:0 0 auto; }
.euroCatalogNote { margin-top:34px; max-width:880px; display:flex; align-items:center; gap:22px; background:#fffaf2; border:1px solid #d4c5af; padding:20px 26px; }
.euroCatalogNote__star { color:#b89568; font-size:27px; }
.euroCatalogNote p { color:#4c5c51; font-size:12px; margin:0; line-height:1.6; flex:1; }
.euroCatalogNote a { font-size:11px; font-weight:800; white-space:nowrap; color:#1b302d; }
.euroCatalogBottom { padding:70px 0 105px; text-align:center; background:#eee8dc; }
.euroCatalogBottom h2 { max-width:900px; margin:20px auto; }
.euroCatalogBottom p { color:#69756f; max-width:640px; margin:0 auto 25px; font-size:13px; }
.euroEmptyResults { width:100%; text-align:center; padding:65px 30px; background:#f8f5ec; border:1px solid #e3dcd0; }
.euroEmptyResults .eyebrow { justify-content:center; }
.euroEmptyResults h3 { font:500 48px/1 var(--lux-serif); margin:22px auto 15px; }
.euroEmptyResults p { max-width:540px; margin:0 auto 25px; font-size:13px; color:#65756b; }
/* nav responsive - one extra entry */
@media(max-width:1240px) { .euroWorld:first-child,.euroWorld:nth-child(2),.euroWorld:nth-child(3),.euroWorld:nth-child(4) { grid-column:span 6; } .euroWorld {height:410px;} .europeHero__side {display:none;} }
@media(max-width:950px) { .europeHero__media {left:0;width:100%;opacity:.68;} .europeHero__shade {background:linear-gradient(90deg,rgba(13,35,32,.94),rgba(13,35,32,.42)),linear-gradient(0deg,rgba(13,35,32,.6),transparent 65%);} .euroLine__inner { grid-template-columns:1fr 1fr 1fr;} .euroLine__inner>span { padding:21px 12px; gap:8px; font-size:10px; } .euroLine__inner>span:not(:first-child){padding-left:12px;} .euroInvestment__grid {gap:55px;} .euroHead .textLink{white-space:normal;} }
@media(max-width:767px) {
    .europeHero {min-height:760px;} .europeHero__layout { padding-top:90px; padding-bottom:75px; align-items:center;} .europeHero__media img {object-position:58% center;}
    .europeHero h1 {font-size:clamp(68px,15vw,105px); margin:26px 0 24px; line-height:.83;} .europeHero__description{font-size:13px;max-width:470px;} .europeHero__note{font-size:9px; margin-top:27px;} .europeHero__bottom{padding:15px 23px; font-size:8px;letter-spacing:.08em;} .europeHero__bottom span:last-child{display:none;}
    .euroLine__inner {grid-template-columns:1fr;} .euroLine__inner>span,.euroLine__inner>span:not(:first-child){padding:15px 6px; border-right:0;border-bottom:1px solid #d6cfc2;} .euroLine__inner>span:last-child{border-bottom:0;}
    .euroWorld:first-child,.euroWorld:nth-child(2),.euroWorld:nth-child(3),.euroWorld:nth-child(4){grid-column:span 12;} .euroWorld{height:370px;} .euroWorld__bottom strong{font-size:43px;} .euroWorld__bottom small{font-size:9px;} .euroHead .textLink{margin-top:23px;}
    .euroInvestment__grid{grid-template-columns:1fr;gap:38px;} .euroInvestment__left h2{font-size:clamp(52px,11vw,75px);} .euroRegionGrid{grid-template-columns:1fr;} .euroRegion{padding:25px 18px;min-height:125px;grid-template-columns:44px 1fr 25px;column-gap:8px;} .euroRegion strong{font-size:34px;} .euroAvailable__prompt{align-items:start;flex-direction:column;} .euroFinal__inner {display:block;} .euroFinal .luxBtn{margin-top:17px;} .euroCatalogNote{display:block;padding:22px;} .euroCatalogNote a {display:block; margin-top:14px;}
}
@media(max-width:400px){ .europeHero h1{font-size:60px;} .europeHero .homeHero__actions {display:grid;justify-content:start;} .euroWorld__bottom strong {font-size:38px;} }

@media (prefers-reduced-motion: reduce) { .euroWorld img {transition:none!important;} }


/* About / sélection photographique européenne — édition investisseur.
   Les photos sont des illustrations et ne représentent pas des biens annoncés. */
.who .whoHeroVisual { isolation:isolate; background:#e4e0d7; }
.who .whoHeroVisual img {
    display:block;
    width:100%;
    object-fit:cover;
    object-position:center 54%;
    filter:saturate(.89) contrast(1.035);
}
.who .whoHeroVisual::after {
    content:"";
    position:absolute;
    z-index:1;
    inset:0;
    background:linear-gradient(180deg,transparent 55%,rgba(13,31,28,.24) 100%);
    pointer-events:none;
}
.who .whoHeroCard { z-index:2; }
.who .whoEditorialMosaic .whoImageBlock {
    position:relative;
    overflow:hidden;
    background:#e8e3d8;
    border:1px solid rgba(27,48,45,.055);
}
.who .whoEditorialMosaic .whoImageBlock img {
    display:block;
    width:100%;
    min-height:0;
    object-fit:cover;
    filter:saturate(.88);
    transition:transform .55s ease;
}
.who .whoEditorialMosaic .whoImageBlock:hover img {transform:scale(1.035);}
.who .whoEditorialMosaic .whoImageBlock--large img {
    height:370px;
    object-position:center 51%;
}
.who .whoEditorialMosaic .whoImageBlock--small img {
    height:192px;
    object-position:center;
}
@media(max-width:991px) {
    .who .whoEditorialMosaic .whoImageBlock--large img { height:390px; }
    .who .whoEditorialMosaic .whoImageBlock--small img { height:210px; }
}
@media(max-width:575px) {
    .who .whoHeroVisual img { object-position:center 50%; }
    .who .whoEditorialMosaic .whoImageBlock--large img { height:300px; }
    .who .whoEditorialMosaic .whoImageBlock--small img { height:154px; }
}
@media(prefers-reduced-motion:reduce) {
    .who .whoEditorialMosaic .whoImageBlock img { transition:none; }
}


/* Contact / photographies d'inspiration dans le style de l'accueil Europe. */
.contact .contactHeroVisual,
.contact .contactEditorialVisual {
    position:relative;
    overflow:hidden;
    isolation:isolate;
    background:#e5e1d8;
}
.contact .contactHeroVisual img,
.contact .contactEditorialVisual img {
    display:block;
    width:100%;
    object-fit:cover;
    filter:saturate(.9) contrast(1.025);
    transition:transform .6s ease;
}
.contact .contactHeroVisual img {
    height:340px;
    object-position:center 56%;
}
.contact .contactEditorialVisual img {
    height:100%;
    min-height:490px;
    object-position:center 52%;
}
.contact .contactHeroVisual::after,
.contact .contactEditorialVisual::after {
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:linear-gradient(180deg,transparent 72%,rgba(17,38,33,.1) 100%);
}
@media(hover:hover) and (prefers-reduced-motion:no-preference) {
    .contact .contactHeroVisual:hover img,
    .contact .contactEditorialVisual:hover img { transform:scale(1.025); }
}
@media(max-width:991px) {
    .contact .contactEditorialVisual img { min-height:370px; max-height:500px; }
}
@media(max-width:575px) {
    .contact .contactHeroVisual img { height:265px; object-position:center 56%; }
    .contact .contactEditorialVisual img { min-height:285px; height:310px; object-position:center; }
}
@media(prefers-reduced-motion:reduce) {
    .contact .contactHeroVisual img,
    .contact .contactEditorialVisual img { transition:none; }
}


/* ---------------------------------------------------------
   Maison Secondaire — Mentions légales / Legal notice
   Scoped component styles, compatible with Édition Europe.
   --------------------------------------------------------- */
.legalPage { background:#fdfcf9; }
.legalPage .legalHero { position:relative; padding:clamp(75px,8vw,126px) 0 clamp(67px,7vw,108px); background:#f4f0e9; overflow:hidden; }
.legalPage .legalHero::before { content:""; position:absolute; left:-160px; top:-260px; width:680px; height:680px; border-radius:50%; border:1px solid rgba(166,140,108,.1); box-shadow:0 0 0 47px rgba(166,140,108,.025),0 0 0 105px rgba(166,140,108,.022); pointer-events:none; }
.legalPage .legalHero__grid { position:relative; display:grid; grid-template-columns:minmax(0,1.2fr) minmax(310px,.72fr); align-items:center; gap:clamp(30px,7vw,105px); }
.legalPage .legalHero__content { max-width:680px; }
.legalPage .legalHero__content h1 { margin:27px 0 24px; font:400 clamp(4.5rem,7.6vw,8.25rem)/.86 var(--lux-serif); letter-spacing:-.057em; text-wrap:balance; color:var(--lux-forest); }
.legalPage .legalHero__content h1 span { color:#b99569; }
.legalPage .legalHero__content>p { max-width:535px; margin:0; color:#627068; font-size:clamp(14px,1.25vw,17px); line-height:1.85; }
.legalPage .legalHero__meta { border-top:1px solid #d9d1c6; padding-top:22px; margin-top:46px; color:#826c52; text-transform:uppercase; letter-spacing:.12em; font-size:10px; font-weight:750; }
.legalPage .legalHero__folio { position:relative; isolation:isolate; display:flex; flex-direction:column; justify-content:space-between; min-height:330px; padding:clamp(29px,3vw,44px); overflow:hidden; background:#1b302d; color:#eee9db; }
.legalPage .legalHero__folio>span { font-size:10px; text-transform:uppercase; letter-spacing:.23em; color:#d2b38c; font-weight:750; }
.legalPage .legalHero__folio>strong { position:relative; z-index:1; max-width:320px; color:#fffdf5; font:500 clamp(2.3rem,3.1vw,3.9rem)/1 var(--lux-serif); letter-spacing:-.02em; }
.legalPage .legalHero__folioBottom { position:relative; z-index:1; display:flex; flex-wrap:wrap; justify-content:space-between; gap:10px 20px; padding-top:24px; border-top:1px solid rgba(255,255,255,.24); color:#d8ded5; font-size:11px; font-weight:600; }
.legalPage .legalHero__ornament { position:absolute; right:-24px; top:45px; font:italic 190px/1 var(--lux-serif); color:rgba(223,211,181,.06); transform:rotate(-7deg); pointer-events:none; }
.legalPage .legalLayout { display:grid; grid-template-columns:minmax(210px,285px) minmax(0,1fr); gap:clamp(40px,5.8vw,95px); padding-top:clamp(72px,7vw,115px); padding-bottom:clamp(70px,8vw,120px); align-items:start; }
.legalPage .legalAside { position:relative; }
.legalPage .legalContents { position:sticky; top:119px; border-top:1px solid #d5c6b2; padding-top:21px; }
.legalPage .legalContents__label { display:block; margin-bottom:17px; color:#a17c53; font-size:10px; letter-spacing:.16em; font-weight:800; text-transform:uppercase; }
.legalPage .legalContents a { display:flex; align-items:baseline; gap:14px; color:#31483e; padding:11px 0; border-bottom:1px solid #ebe6dc; text-decoration:none; font-size:12px; line-height:1.6; font-weight:650; }
.legalPage .legalContents a:hover { color:#a07b52; padding-left:3px; }
.legalPage .legalContents a span { color:#b49874; font:italic 20px/1 var(--lux-serif); min-width:25px; }
.legalPage .legalArticle { min-width:0; }
.legalPage .legalSection { scroll-margin-top:140px; border-bottom:1px solid #e5e0d7; padding:0 0 clamp(45px,4.5vw,70px); margin:0 0 clamp(46px,4.5vw,70px); }
.legalPage .legalSection__index { display:block; margin-bottom:18px; color:#a3835c; font-size:10px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.legalPage .legalSection h2 { margin:0 0 23px; font:500 clamp(2.8rem,4vw,4.7rem)/1.02 var(--lux-serif); letter-spacing:-.025em; text-wrap:balance; color:#203c35; }
.legalPage .legalSection p { margin:0 0 16px; max-width:840px; color:#607069; font-size:14px; line-height:1.95; }
.legalPage .legalSection p:last-child { margin-bottom:0; }
.legalPage .legalDetailGrid { margin:29px 0 0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; background:#e6e0d7; border:1px solid #e6e0d7; }
.legalPage .legalDetail { display:flex; flex-direction:column; gap:8px; padding:23px 22px; min-width:0; background:#f8f6f1; }
.legalPage .legalDetail dt { color:#a1805b; font-size:10px; font-weight:800; line-height:1.5; text-transform:uppercase; letter-spacing:.11em; }
.legalPage .legalDetail dd { margin:0; color:#253e36; overflow-wrap:anywhere; font-size:13px; font-weight:650; line-height:1.6; }
.legalPage .legalDetail dd a { text-decoration:underline; text-decoration-color:#bfad95; text-underline-offset:4px; }
.legalPage .legalDetailGrid--compact { grid-template-columns:repeat(2,minmax(0,1fr)); }
.legalPage .legalPending { display:inline-flex; align-items:center; width:fit-content; border:1px solid #e2cfb0; background:#f7efe2; color:#8a603b; padding:4px 10px; font-size:11px; font-weight:700; }
.legalPage .legalInset { background:#f6f3ed; border-left:2px solid #be9a68; padding:23px 26px; margin-top:24px; }
.legalPage .legalInset>span { color:#435a4e; font-weight:750; font-size:12px; }
.legalPage .legalInset>strong { font-size:12px; }
.legalPage .legalInset p { margin:12px 0 0; font-size:12px; }
.legalPage .legalInlineLink { color:#a2794b; border-bottom:1px solid #be9a68; text-decoration:none; }
.legalPage .legalChecklist { display:flex; align-items:flex-start; gap:19px; padding:27px 29px; background:#eee5d8; border-left:3px solid #b48e5f; }
.legalPage .legalChecklist__icon { flex:0 0 24px; display:grid; place-items:center; width:24px; height:24px; border-radius:50%; border:1px solid #a57e54; color:#765334; font-weight:800; font-size:12px; }
.legalPage .legalChecklist strong { display:block; color:#3e4339; font-size:13px; font-weight:800; margin:0 0 7px; }
.legalPage .legalChecklist p { margin:0; font-size:12px; line-height:1.8; color:#686457; }
.legalPage .legalCta { padding:clamp(60px,6vw,95px) 0; background:#eee8dc; border-top:1px solid #e2dacb; }
.legalPage .legalCta__inner { display:flex; justify-content:space-between; align-items:center; gap:35px; }
.legalPage .legalCta h2 { font:500 clamp(3rem,4.5vw,5rem)/1 var(--lux-serif); letter-spacing:-.024em; margin:18px 0 15px; color:#203a33; }
.legalPage .legalCta p { font-size:13px; line-height:1.8; max-width:570px; margin:0; color:#657166; }
.legalPage .legalCta__actions { display:flex; flex-direction:column; align-items:flex-start; gap:17px; flex:0 0 auto; }
.legalPage .legalCta__back { text-decoration:none; border-bottom:1px solid #ac987a; font-size:12px; font-weight:700; padding-bottom:5px; }
@media(max-width:1000px) {
  .legalPage .legalHero__grid { grid-template-columns:1fr; gap:35px; }
  .legalPage .legalHero__folio { max-width:100%; min-height:210px; }
  .legalPage .legalHero__folio>strong { margin:38px 0; }
  .legalPage .legalLayout { grid-template-columns:1fr; gap:40px; }
  .legalPage .legalContents { position:static; display:flex; flex-wrap:wrap; gap:0 18px; }
  .legalPage .legalContents__label { width:100%; }
  .legalPage .legalContents a { width:calc(50% - 9px); }
}
@media(max-width:650px) {
  .legalPage .legalHero { padding:67px 0 62px; }
  .legalPage .legalHero__content h1 { font-size:clamp(4.2rem,15vw,6rem); }
  .legalPage .legalHero__folio { padding:28px; }
  .legalPage .legalLayout { padding-top:55px; }
  .legalPage .legalContents a { width:100%; font-size:12px; padding:8px 0; }
  .legalPage .legalDetailGrid,.legalPage .legalDetailGrid--compact { grid-template-columns:1fr; }
  .legalPage .legalDetail { padding:19px 20px; }
  .legalPage .legalSection { scroll-margin-top:110px; }
  .legalPage .legalSection h2 { font-size:clamp(2.7rem,11vw,4rem); }
  .legalPage .legalChecklist { padding:23px 19px; }
  .legalPage .legalCta__inner { flex-direction:column; align-items:flex-start; }
  .legalPage .legalCta__actions { width:100%; }
  .legalPage .legalCta__actions .luxBtn { width:100%; }
}


/* Cookie policy — Maison Secondaire Édition Europe */
.cookiesPage .legalHero__content h1 { font-size:clamp(3.65rem,6.5vw,7.15rem); max-width:760px; }
.cookiesPage .legalHero__folio strong { font-size:clamp(2.5rem,3.5vw,3.75rem); }
.cookieTableWrap { max-width:100%; overflow-x:auto; border:1px solid #e3dfd5; margin:23px 0 24px; }
.cookieTable { width:100%; min-width:630px; border-collapse:collapse; background:#fff; }
.cookieTable th { padding:18px 17px; background:#efe9de; color:#344a43; font-size:10px; text-transform:uppercase; letter-spacing:.08em; font-weight:800; }
.cookieTable td { vertical-align:top; border-top:1px solid #eae5da; padding:18px 17px; color:#516059; font-size:12px; line-height:1.75; }
.cookieTable td.cookieTable__name { color:#1a302d; font-weight:700; white-space:nowrap; }
.cookiePreferences { border:1px solid #ded8cf; background:#fff; padding:0 30px 27px; margin:32px 0; }
.cookiePreference { display:flex; align-items:center; justify-content:space-between; gap:25px; padding:23px 0; border-bottom:1px solid #ebe5db; }
.cookiePreference strong { color:#1b302d; font-size:15px; }
.cookiePreference p { margin:7px 0 0; font-size:12px; line-height:1.65; max-width:485px; color:#66716a; }
.cookieAlways { text-align:right; white-space:nowrap; color:#987d5a; font-size:10px; letter-spacing:.05em; text-transform:uppercase; font-weight:800; }
.cookieOption { flex:0 0 122px; text-align:right; }
.cookieOption small { display:block; font-size:10px; margin-top:5px; color:#847f75; line-height:1.4; }
.cookieSwitch { display:inline-block; width:43px; height:25px; position:relative; }
.cookieSwitch input { position:absolute; inset:0; opacity:0; }
.cookieSwitch span { display:block; background:#dedbd4; width:43px; height:25px; border-radius:15px; transition:background .2s; }
.cookieSwitch span::after { content:''; position:absolute; width:19px; height:19px; border-radius:50%; background:white; top:3px; left:3px; transition:transform .2s; box-shadow:0 1px 3px rgba(0,0,0,.13); }
.cookieSwitch input:checked+span { background:#1a302d; }
.cookieSwitch input:checked+span::after { transform:translateX(18px); }
.cookieSwitch input:focus-visible+span { outline:3px solid #c7aa80; outline-offset:3px; }
.cookieSwitch input:disabled+span { opacity:.5; cursor:not-allowed; }
.cookieActions { display:flex; align-items:center; gap:20px; flex-wrap:wrap; margin-top:27px; }
.cookieActions .luxBtn { padding:15px 21px; border:0; font-size:12px; cursor:pointer; }
.cookieClearButton { background:none; border:0; padding:12px 0; text-decoration:underline; color:#886b4c; cursor:pointer; font-size:12px; }
.cookieFeedback { min-height:18px; margin:12px 0 0; font-size:12px; color:#335747; }
.msCookieBanner { position:fixed; z-index:12000; bottom:20px; left:50%; transform:translateX(-50%); display:flex; gap:24px; justify-content:space-between; align-items:center; width:min(980px,calc(100% - 30px)); padding:23px 26px; background:#fffdf8; box-shadow:0 10px 48px rgba(0,0,0,.17); border:1px solid #e7decc; color:#19302c; }
.msCookieBanner strong { font:500 25px/1.15 var(--lux-serif); }
.msCookieBanner p { margin:8px 0 0; max-width:530px; color:#59655d; font-size:12px; line-height:1.55; }
.msCookieBanner__actions { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.msCookieBanner__actions button { padding:11px 15px; font-size:11px; font-weight:700; cursor:pointer; }
.msCookieBanner__primary { background:#1a302d; color:white; border:1px solid #1a302d; }
.msCookieBanner__secondary { background:#fff; color:#1a302d; border:1px solid #1a302d; }
.msCookieBanner__text { background:transparent; color:#1a302d; border:0; text-decoration:underline; }
@media(max-width:767px) { .cookiePreferences { padding:0 17px 20px; } .cookiePreference { align-items:flex-start; flex-wrap:wrap; gap:10px; } .cookieOption { flex:1 1 100%; display:flex; align-items:center; gap:10px; text-align:left; } .cookieOption small { margin:0; } .cookieActions { gap:8px; } .cookieActions .luxBtn { width:100%; text-align:center; justify-content:center; } .msCookieBanner { flex-direction:column; align-items:stretch; bottom:10px; padding:18px; } .msCookieBanner__actions { display:grid; grid-template-columns:1fr 1fr; } .msCookieBanner__text { grid-column:span 2; } }
