:root{
  --bg:#f6f1e8;
  --bg-soft:#fbf8f2;
  --panel:#ffffff;
  --text:#151515;
  --muted:#5f5b56;
  --line:#ddd2bd;
  --gold:#c7a25a;
  --gold-deep:#b48f49;
  --dark:#0b0b0d;
  --dark-soft:#121317;
  --container: min(1180px, calc(100% - 48px));
  --shadow:0 20px 50px rgba(16,16,16,.08);
  --radius:20px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font:400 16px/1.7 Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;color:var(--text);background:var(--bg-soft)}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.container{width:var(--container);margin:0 auto}
.skip-link{position:absolute;left:-999px;top:auto;width:1px;height:1px;overflow:hidden}
.skip-link:focus{left:16px;top:16px;width:auto;height:auto;padding:10px 14px;background:#fff;z-index:2000}
.section{padding:84px 0}
.eyebrow{letter-spacing:.26em;text-transform:uppercase;font-size:.78rem;color:var(--gold-deep);font-weight:600;margin:0 0 14px}
.line{width:54px;height:2px;background:var(--gold);margin:24px 0}
.button{display:inline-flex;align-items:center;gap:10px;border:none;border-radius:0;padding:15px 26px;font-size:.92rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;transition:.25s ease;cursor:pointer}
.button-gold{background:var(--gold);color:#fff;box-shadow:var(--shadow)}
.button-gold:hover{background:var(--gold-deep);transform:translateY(-1px)}
.button-outline{background:transparent;color:var(--text);border:1px solid var(--line)}
.text-link{display:inline-flex;align-items:center;gap:8px;font-size:.88rem;letter-spacing:.1em;text-transform:uppercase;font-weight:600;color:var(--text)}
.text-link:hover{color:var(--gold-deep)}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.site-header{position:sticky;top:0;z-index:1000;background:rgba(248,244,236,.92);backdrop-filter:saturate(140%) blur(14px);border-bottom:1px solid rgba(201,183,148,.25)}
.header-inner{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:24px;min-height:96px}
.brand{display:flex;align-items:center;gap:12px;min-width:0}
.brand img{width:108px;height:auto}
.brand span{display:block;font-size:.70rem;letter-spacing:.2em;text-transform:uppercase;color:#35312c}
.navigation{display:flex;justify-content:center;gap:34px;font-size:.84rem;letter-spacing:.08em;text-transform:uppercase;font-weight:600}
.navigation a{position:relative;padding:8px 0;color:#2b2926}
.navigation a.current::after,.navigation a:hover::after{content:"";position:absolute;left:0;right:0;bottom:-12px;height:2px;background:var(--gold)}
.header-cta{white-space:nowrap}
.nav-toggle{display:none;background:none;border:none;padding:8px;cursor:pointer}
.nav-toggle span{display:block;width:24px;height:2px;background:#222;margin:5px 0}

.hero{position:relative;background:linear-gradient(90deg, rgba(248,244,236,.98) 0%, rgba(248,244,236,.92) 34%, rgba(248,244,236,.22) 58%, rgba(248,244,236,0) 72%), url('assets/hero-coastal.webp') center/cover no-repeat;min-height:720px;display:flex;align-items:center;overflow:hidden}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(10,10,10,0) 74%, rgba(10,10,10,.14) 100%);pointer-events:none}
.hero-content{position:relative;z-index:2;padding:80px 0 96px;display:grid;grid-template-columns:minmax(320px, 470px) 1fr}
.hero-copy h1{font:400 clamp(3rem, 6vw, 5.4rem)/.95 Georgia, 'Times New Roman', serif;letter-spacing:-.03em;margin:0;color:#111}
.hero-description{max-width:430px;font-size:1.18rem;line-height:1.65;color:#3f3a35;margin:0 0 20px}
.hero-countries{letter-spacing:.26em;font-size:.92rem;text-transform:uppercase;margin:0 0 30px;color:#292724}
.hero-countries span{margin:0 10px;color:var(--gold-deep)}
.hero-bottom{position:absolute;right:42px;bottom:16px;z-index:2;font-size:.8rem;letter-spacing:.26em;text-transform:uppercase;color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.4)}
.hero-bottom span{opacity:.65;margin:0 12px}

.mission{display:grid;grid-template-columns:1.05fr .95fr;align-items:stretch;background:var(--dark)}
.mission-picture{min-height:520px;background:url('assets/mission.webp') center/cover no-repeat}
.mission-copy{display:flex;align-items:center;color:#f3efe7;background:radial-gradient(circle at top left, rgba(201,162,90,.08), transparent 34%), var(--dark)}
.mission-inner{padding:70px min(5vw,72px);max-width:560px}
.mission-inner h2{font:400 clamp(2.5rem, 4vw, 4rem)/1.02 Georgia, 'Times New Roman', serif;margin:0 0 18px;color:#fff}
.mission-inner p{color:#ddd4c6;margin:0 0 12px;font-size:1.08rem}
.mission-about-link{display:inline-flex;align-items:center;gap:10px;margin:18px 0 28px;color:#e0c17c;text-transform:uppercase;letter-spacing:.12em;font-size:.88rem;font-weight:600}
.mission-values{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding-top:22px;border-top:1px solid rgba(199,162,90,.3)}
.mission-values div{display:grid;justify-items:center;gap:10px;text-align:center;font-size:.78rem;letter-spacing:.12em;color:#eee;text-transform:uppercase}
.line-icon{font-size:1.5rem;color:#d9b56e}

.section-intro{display:grid;grid-template-columns:1.1fr .9fr;gap:42px;align-items:start;margin-bottom:34px}
.section-intro h2,.destination-copy h2,.contact-intro h2,.intro-block h1{font:400 clamp(2.2rem, 4vw, 4rem)/1.02 Georgia, 'Times New Roman', serif;margin:0;color:#141311;letter-spacing:-.02em}
.section-intro p{margin:0 0 18px;color:var(--muted);font-size:1.05rem}
.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.service{background:transparent}
.service .thumb{aspect-ratio:1.16/1;overflow:hidden;background:#eee;margin-bottom:18px}
.service img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.service:hover img{transform:scale(1.03)}
.service h3{font:400 1.8rem/1.15 Georgia, 'Times New Roman', serif;margin:0 0 10px;color:#171615}
.service p{margin:0 0 16px;color:#68635d;line-height:1.65}
.service-link{display:inline-flex;align-items:center;gap:8px;font-size:.82rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-deep)}
.service .mini-line{width:42px;height:2px;background:var(--gold);margin:18px 0 12px}

.destinations{background:linear-gradient(90deg, rgba(245,238,226,.97) 0%, rgba(245,238,226,.93) 36%, rgba(245,238,226,.3) 62%, rgba(245,238,226,.06) 100%), url('assets/destination.webp') center/cover no-repeat;min-height:430px;display:flex;align-items:center}
.destination-copy{max-width:500px;padding:68px 0}
.destination-copy p{font-size:1.08rem;color:#514b44;max-width:430px}

.values{padding-top:42px;padding-bottom:30px}
.value-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.value{padding:28px 18px;text-align:center;background:transparent}
.value + .value{border-left:1px solid var(--line)}
.value span{font-size:2rem;color:var(--gold-deep);display:block;margin-bottom:12px}
.value h3{margin:0 0 8px;font-size:1.06rem}
.value p{margin:0;color:#6b655f;line-height:1.55}

.contact-layout{display:grid;grid-template-columns:.72fr 1.28fr;gap:42px;align-items:start}
.contact-intro{padding-top:8px}
.contact-intro p{color:#655f59}
.contact-small{margin:22px 0 8px;color:#746c64;font-size:.98rem}
.contact-mail{color:var(--gold-deep);text-decoration:underline;text-underline-offset:4px}
.request-form{background:var(--panel);padding:34px;border:1px solid #e7dcc6;box-shadow:var(--shadow)}
.form-title{display:flex;justify-content:space-between;align-items:center;font:400 2rem/1.1 Georgia, 'Times New Roman', serif;margin-bottom:22px}
.form-title span{font:600 .82rem/1 Inter, sans-serif;letter-spacing:.12em;color:#9b8b71;text-transform:uppercase}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.field{margin-bottom:16px}
.field label{display:block;font-size:.88rem;font-weight:600;margin-bottom:8px;color:#2e2b28}
.field input,.field select,.field textarea{width:100%;border:1px solid #d7ccb8;background:#fff;padding:14px 15px;font:inherit;color:#222;outline:none;border-radius:0}
.field input:focus,.field select:focus,.field textarea:focus{border-color:#bc9a59;box-shadow:0 0 0 3px rgba(188,154,89,.12)}
.optional{font-weight:400;color:#8c8378}
.consent{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;margin:12px 0 20px;font-size:.92rem;color:#5f5953}
.consent input{margin-top:4px}
.form-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
.form-bottom span,.form-notice{font-size:.88rem;color:#786f64}
.trap{position:absolute;left:-5000px;opacity:0}

.page-hero{background:linear-gradient(90deg, rgba(248,244,236,.96) 0%, rgba(248,244,236,.82) 38%, rgba(248,244,236,.18) 64%, rgba(248,244,236,0) 100%), url('assets/notre-maison-hero.webp') center/cover no-repeat;min-height:420px;display:flex;align-items:end}
.page-hero .container{padding:76px 0 60px}
.page-hero h1{font:400 clamp(2.8rem,5vw,4.8rem)/1 Georgia, 'Times New Roman', serif;margin:0 0 10px;color:#131210}
.page-hero p{max-width:560px;color:#575047;font-size:1.08rem;margin:0}
.breadcrumbs{font-size:.86rem;color:#877e73;margin-bottom:18px;text-transform:uppercase;letter-spacing:.12em}
.intro-block{padding:74px 0 20px}
.origin-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:start}
.origin-card{background:#fff;padding:34px;border:1px solid #eadfca;box-shadow:var(--shadow)}
.origin-card p{margin:0 0 18px;color:#56514b;font-size:1.05rem}
.quote-panel{background:var(--dark);color:#f5efe2;padding:40px;min-height:100%;display:flex;flex-direction:column;justify-content:space-between}
.quote-panel p{font:400 1.45rem/1.6 Georgia, 'Times New Roman', serif;margin:0;color:#f4efe7}
.quote-panel strong{display:block;margin-top:24px;letter-spacing:.18em;text-transform:uppercase;font-size:.88rem;color:#d2b06b}
.house-values{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:36px 0 6px}
.house-value{background:#fff;border:1px solid #eadfca;padding:28px;box-shadow:var(--shadow)}
.house-value h3{margin:0 0 10px;font-size:1.15rem}
.house-value p{margin:0;color:#625d56}

.simple-page{padding:80px 0}
.simple-page h1{font:400 clamp(2.3rem,4vw,3.8rem)/1.02 Georgia, serif;margin:0 0 12px}
.simple-page p,.simple-page li{color:#5e5851}
.simple-page h2{font:400 1.8rem/1.2 Georgia, serif;margin-top:36px}
.simple-page .panel{background:#fff;border:1px solid #eadfca;padding:34px;box-shadow:var(--shadow)}

.site-footer{background:linear-gradient(180deg,#0b0b0d,#121316);color:#f0e8dc;margin-top:0}
.footer-main{display:grid;grid-template-columns:1.2fr .9fr 1fr;gap:34px;padding:54px 0 28px}
.footer-identity img{width:160px;height:auto;margin-bottom:14px}
.footer-identity span{display:block;letter-spacing:.18em;text-transform:uppercase;font-size:.72rem;color:#d7c8ad}
.footer-identity p{margin:10px 0 0;color:#bdb3a1}
.footer-links{display:flex;flex-direction:column;gap:10px}
.footer-links strong{color:#d2b06b;letter-spacing:.14em;text-transform:uppercase;font-size:.82rem;margin-bottom:8px}
.footer-links a,.footer-links p{color:#dfd6ca;margin:0}
.footer-base{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:18px 0 26px;border-top:1px solid rgba(215,200,173,.16)}
.footer-base small{color:#ada493}
.footer-base div{display:flex;gap:18px;flex-wrap:wrap}
.footer-base a{color:#d9cfbf;font-size:.94rem}

@media (max-width: 1120px){
  .service-grid{grid-template-columns:repeat(2,1fr)}
  .contact-layout,.origin-layout{grid-template-columns:1fr}
  .mission{grid-template-columns:1fr}
  .mission-picture{min-height:420px}
}
@media (max-width: 920px){
  .header-inner{grid-template-columns:auto auto;grid-template-areas:'brand toggle' 'nav nav';padding:12px 0}
  .brand{grid-area:brand}
  .nav-toggle{display:block;grid-area:toggle;justify-self:end}
  .navigation{grid-area:nav;display:none;flex-direction:column;gap:10px;padding:14px 0 4px;border-top:1px solid rgba(199,162,90,.25);margin-top:6px}
  .navigation.open{display:flex}
  .navigation a.current::after,.navigation a:hover::after{display:none}
  .header-cta{display:none}
  .hero{background-position:72% center;min-height:650px}
  .hero-content{grid-template-columns:1fr;padding:54px 0 78px}
  .hero-copy{max-width:460px}
  .hero-bottom{left:24px;right:auto;font-size:.72rem;letter-spacing:.18em}
  .section-intro{grid-template-columns:1fr}
  .value-grid{grid-template-columns:repeat(2,1fr)}
  .value + .value{border-left:none}
  .value-grid .value:nth-child(odd){border-right:1px solid var(--line)}
  .form-row{grid-template-columns:1fr}
  .footer-main{grid-template-columns:1fr 1fr}
}
@media (max-width: 640px){
  :root{--container:min(100% - 28px, 100% - 28px)}
  .section{padding:64px 0}
  .header-inner{min-height:82px}
  .brand img{width:96px}
  .brand span{font-size:.64rem}
  .hero{min-height:680px;background:linear-gradient(180deg, rgba(248,244,236,.96) 0%, rgba(248,244,236,.88) 34%, rgba(248,244,236,.18) 60%, rgba(248,244,236,.06) 100%), url('assets/hero-coastal.webp') 70% center/cover no-repeat}
  .hero-copy h1{font-size:3.5rem}
  .hero-description{font-size:1.02rem}
  .mission-inner,.request-form,.origin-card,.quote-panel,.house-value,.simple-page .panel{padding:24px}
  .mission-values,.service-grid,.house-values,.value-grid,.footer-main{grid-template-columns:1fr}
  .footer-base{flex-direction:column;align-items:flex-start}
  .contact-layout{gap:26px}
  .hero-bottom{display:none}
  .destinations{min-height:360px;background:linear-gradient(180deg, rgba(245,238,226,.96) 0%, rgba(245,238,226,.82) 44%, rgba(245,238,226,.18) 100%), url('assets/destination.webp') center/cover no-repeat}
}

/* MGE HD identity adjustments: original artwork for each surface, native images */
.brand img{width:135px;height:auto;mix-blend-mode:multiply;object-fit:contain}
.footer-identity img{width:176px;height:auto;mix-blend-mode:screen;object-fit:contain;margin-left:-2px}
.service img{image-rendering:auto}
@media (max-width:640px){.brand img{width:110px}.footer-identity img{width:166px}}

.footer-identity img{mix-blend-mode:normal;width:182px}
.destination-copy{max-width:none;width:var(--container)}
.destination-copy h2,.destination-copy>p:not(.eyebrow){max-width:480px}
@media(max-width:640px){.footer-identity img{width:170px}}

/* Formulaire actif */
.privacy-information{font-size:.9rem;line-height:1.6;color:#625b53;margin:12px 0 18px}
.privacy-information a,.consent a{text-decoration:underline;text-underline-offset:3px;color:#94753e}
.form-notice{min-height:2em;margin-top:18px}
.status-success{color:#236546!important;font-weight:600}
.status-error{color:#a23a32!important;font-weight:600}
#submit-request:disabled{opacity:.65;cursor:wait}

/* Mise en forme des informations légales */
.legal-container{max-width:900px}
.legal-lead{color:#70675d;font-size:1.1rem;margin-top:14px;margin-bottom:30px}
.legal-panel h2{font-size:1.52rem;margin:32px 0 12px;color:#1d1a17}
.legal-panel p{line-height:1.82;color:#554e45}
.legal-panel a{text-decoration:underline;text-underline-offset:3px;color:#8d6e3d}
.legal-warning{background:#faf6eb;border-left:3px solid #b79654;padding:16px 18px;color:#4c4231!important}
@media (max-width:640px){.legal-panel{padding:22px}}

/* Pré-lancement : notice discrète et lisible */
.prelaunch-notice {background:#f7f0e2;border-left:3px solid #b5955a;padding:16px 19px;margin:0 0 24px;color:#4d4439;font-size:14px;line-height:1.65;}
.prelaunch-notice strong {color:#916e3b;}

/* V6.3 – annonce d'ouverture discrète, placée uniquement au-dessus du formulaire */
.prelaunch-notice {background:#f8f5ee;border:1px solid #e9ddc8;border-left:3px solid #b5955a;padding:19px 22px;margin:0 0 28px;color:#4c4439;font-size:15px;line-height:1.6;}
.prelaunch-notice strong {display:block;font-family:Georgia, 'Times New Roman', serif;font-size:22px;font-weight:400;color:#8b6935;margin-bottom:7px;}
.prelaunch-notice p {margin:0;color:#514a43;}

/* MGE Conciergerie : lien LinkedIn discret dans le pied de page */
.footer-social{margin-top:18px}
.footer-social-link{display:inline-flex;align-items:center;gap:10px;padding:7px 0;color:#d2b06b;font-size:.83rem;font-weight:600;letter-spacing:.08em;transition:color .2s ease}
.footer-social-link svg{display:block;flex:0 0 auto}
.footer-social-link:hover{color:#f0d89a}
.footer-social-link:focus-visible{outline:2px solid #d2b06b;outline-offset:5px}
