
:root{--b:#050505;--b2:#0d0d0d;--g:#c8a24a;--t:#f5f3ee;--m:#b9b3a5;--l:rgba(200,162,74,.28)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--b);color:var(--t);font-family:Inter,Arial,sans-serif;line-height:1.65}a{color:inherit;text-decoration:none}
.nav{position:fixed;top:0;left:0;right:0;z-index:20;height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;background:linear-gradient(to bottom,rgba(0,0,0,.88),rgba(0,0,0,.12));backdrop-filter:blur(8px)}
.brand{display:flex;align-items:center;gap:14px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--m)}.brand img{width:52px;height:52px;border-radius:50%;object-fit:contain}
.menu{display:flex;gap:24px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#ddd6c4}.cta{background:var(--g);color:#090909;padding:12px 18px;border-radius:999px;font-weight:800}
h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:500;line-height:1.05;margin:0}h1{font-size:clamp(56px,8vw,118px);letter-spacing:-.06em}h2{font-size:clamp(38px,5.4vw,76px);letter-spacing:-.045em}h3{font-size:30px;color:var(--g)}p{color:#d3cbbb;font-size:17px}
.hero{min-height:100vh;min-height:100svh;position:relative;display:flex;align-items:flex-end;padding:150px 6vw 90px;overflow:hidden;border-bottom:1px solid var(--l)}
.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:78% center;background:#050505;transform:scale(.92)}
.hero:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(0,0,0,.96),rgba(0,0,0,.58) 52%,rgba(0,0,0,.22)),linear-gradient(0deg,rgba(5,5,5,1),rgba(5,5,5,.06) 46%)}
.hero-content{position:relative;z-index:2;max-width:920px}.ey,.k{color:var(--g);text-transform:uppercase;letter-spacing:.18em;font-size:13px;margin-bottom:18px;font-weight:800}.lead{font-size:clamp(20px,2vw,28px);max-width:820px;color:#e7dfcf;margin:28px 0 0}
section{padding:105px 6vw}.wrap{max-width:1220px;margin:auto}.dark{background:#0d0d0d;border-top:1px solid var(--l);border-bottom:1px solid var(--l)}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:44px}.card{border:1px solid var(--l);border-radius:24px;padding:28px;background:linear-gradient(145deg,#0c0c0c,#151515);min-height:210px}.card strong{display:block;color:var(--g);text-transform:uppercase;letter-spacing:.1em;font-size:13px;margin-bottom:15px}.card a{color:#f4ead5}.card p{margin:0}
.map-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:34px;align-items:stretch}.map{border:1px solid var(--l);border-radius:28px;overflow:hidden;min-height:520px;background:#111}.map iframe{width:100%;height:100%;border:0}
.access{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:stretch;}.access-card{
  min-width:0;
  min-height:230px;
  border:1px solid var(--l);
  border-radius:22px;
  padding:26px;
  background:#0a0a0a;
  overflow:hidden;
}.access-card strong{color:var(--g);display:block;margin-bottom:10px}
.form-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:52px;align-items:start}form{display:grid;gap:16px}.field{display:grid;gap:8px}label{font-size:13px;text-transform:uppercase;letter-spacing:.11em;color:var(--g)}input,textarea{width:100%;background:#0b0b0b;color:#fff;border:1px solid var(--l);border-radius:16px;padding:15px 16px;font:inherit}textarea{min-height:170px;resize:vertical}button{border:0;background:var(--g);color:#090909;border-radius:999px;padding:15px 22px;font-weight:800;text-transform:uppercase;letter-spacing:.07em;cursor:pointer}
.group{position:relative;padding:0;overflow:hidden;border-top:1px solid var(--l);border-bottom:1px solid var(--l)}.group img{display:block;width:100%;height:auto;object-fit:contain;background:#050505}.group:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.74),rgba(0,0,0,.18) 62%,rgba(0,0,0,.02));z-index:1}.group-copy{
position:absolute;
left:6%;
right:6%;
bottom:55px;
text-align:center;
z-index:3;
background:transparent !important;
backdrop-filter:none !important;
filter:none !important;
border:0 !important;
box-shadow:none !important;
padding:0 !important;
}.group-quote-text{font-family:Georgia,'Times New Roman',serif;font-size:clamp(28px,4vw,58px);line-height:1.15;max-width:1100px;margin:auto;color:#f4ecd9}.signature{margin-top:22px;color:var(--g);font-size:17px}
.final{text-align:center;background:#060606;padding:82px 6vw}.final a{display:inline-block;margin-top:28px;background:var(--g);color:#090909;padding:15px 24px;border-radius:999px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
.footer{padding:70px 6vw;background:#060606;border-top:1px solid var(--l);color:#bdb5a6}.foot{max-width:1220px;margin:auto;display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:40px}.foot img{width:86px;height:86px;border-radius:50%;object-fit:contain}
@media(max-width:900px){.menu{display:none}.cards{grid-template-columns:1fr 1fr}.map-grid,.form-grid{grid-template-columns:1fr}.group-copy{bottom:28px}.quote{font-size:clamp(24px,6vw,42px)}.foot{grid-template-columns:1fr}}
@media(max-width:620px){.cards,.access{display:grid;grid-template-columns:repeat(4,minmax(220px,1fr));gap:24px;align-items:stretch;}.hero{padding:130px 6vw 60px}.group-copy{position:relative;left:auto;right:auto;bottom:auto;padding:34px 6vw;background:#060606}.group:before{display:none}}

.contact-cards{
  grid-template-columns:1.15fr 1.15fr .9fr;
}
.contact-cards .card{
  min-height:260px;
}
.transport-line{
  display:flex;
  justify-content:space-between;
  gap:18px;
  padding:10px 0;
  border-bottom:1px solid rgba(200,162,74,.18);
  color:#d3cbbb;
}
.transport-line:last-child{
  border-bottom:0;
}
.transport-line span:first-child{
  color:#f5f3ee;
  font-weight:700;
  white-space:nowrap;
}
.transport-line span:last-child{
  text-align:right;
  white-space:nowrap;
}
@media(max-width:900px){
  .contact-cards{
    grid-template-columns:1fr;
  }
}


.group-copy{
  max-width:1120px;
  margin:0 auto;
  background:rgba(0,0,0,.30);
  border:1px solid rgba(200,162,74,.20);
  border-radius:26px;
  padding:28px 34px;
  backdrop-filter:blur(2px);
}
.group .group-quote-text{
  color:#ffffff !important;
  font-weight:600;
  text-shadow:0 4px 20px rgba(0,0,0,1),0 2px 6px rgba(0,0,0,1);
}
.group .signature{
  color:#d9b761 !important;
  font-weight:700;
  text-shadow:0 3px 14px rgba(0,0,0,1);
}


.group.group-clean::before{
  display:none !important;
}
.group.group-clean img{
  width:100% !important;
  height:auto !important;
  object-fit:contain !important;
  object-position:center center !important;
  background:#050505 !important;
}
.group-quote-band{
  padding:54px 6vw !important;
  background:#060606;
  border-bottom:1px solid var(--l);
  text-align:center;
}
.group-quote-band .group-quote-text{
  max-width:1100px;
  margin:0 auto;
  color:#ffffff;
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(22px,3.1vw,44px);
  line-height:1.18;
}
.group-quote-band .signature{
  margin-top:20px;
  color:var(--g);
  font-weight:700;
  font-size:17px;
}
.access{display:grid;grid-template-columns:repeat(4,minmax(220px,1fr));gap:24px;align-items:stretch;}
.access-card{
  min-height:250px;
}
@media(max-width:900px){
  .access{display:grid;grid-template-columns:repeat(4,minmax(220px,1fr));gap:24px;align-items:stretch;}
}

.group-copy{
position:absolute;left:6%;right:6%;bottom:55px;text-align:center;z-index:3;
}
.group .group-quote-text{
color:#fff;font-size:clamp(22px,3.1vw,44px);font-family:Georgia,serif;font-weight:700;
text-shadow:
-2px -2px 0 #000,2px -2px 0 #000,-2px 2px 0 #000,2px 2px 0 #000,
0 0 12px rgba(0,0,0,.9);
}
.group .signature{
margin-top:18px;color:#d9b761;font-weight:700;
text-shadow:-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,1px 1px 0 #000;
}

.access-card strong{
  color:var(--g);
  display:block;
  margin-bottom:16px;
  font-size:16px;
  letter-spacing:.04em;
}
.transport-line{
  display:grid;
  grid-template-columns:minmax(90px,.65fr) minmax(0,1.35fr);
  gap:16px;
  align-items:start;
  padding:11px 0;
  border-bottom:1px solid rgba(200,162,74,.18);
  color:#d3cbbb;
  line-height:1.35;
}
.transport-line:last-child{
  border-bottom:0;
}
.transport-line span{
  min-width:0;
  overflow-wrap:anywhere;
  word-break:normal;
}
.transport-line span:first-child{
  color:#f5f3ee;
  font-weight:700;
}
.transport-line span:last-child{
  text-align:left;
}
.access-card p{
  margin:0;
  color:#d3cbbb;
  overflow-wrap:anywhere;
}
@media(max-width:900px){
  .access{
    grid-template-columns:1fr !important;
  }
}
@media(max-width:520px){
  .transport-line{
    grid-template-columns:1fr;
    gap:4px;
  }
}


/* v1.1.2 — section Comment venir réorganisée */
.access{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:22px !important;
  align-items:stretch !important;
}
.access-public{
  grid-column:1 / -1;
  min-height:auto !important;
  padding:30px !important;
}
.transport-columns{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:28px;
}
.transport-group{
  min-width:0;
}
.transport-group h4{
  margin:0 0 12px;
  color:#f5f3ee;
  font-size:18px;
  font-family:Georgia,'Times New Roman',serif;
  font-weight:500;
}
.transport-line{
  display:grid !important;
  grid-template-columns:90px minmax(0,1fr) !important;
  gap:16px !important;
  align-items:start !important;
  padding:11px 0 !important;
  border-bottom:1px solid rgba(200,162,74,.18) !important;
}
.transport-line:last-child{
  border-bottom:0 !important;
}
.transport-line span:first-child{
  color:var(--g) !important;
  font-weight:700 !important;
  white-space:nowrap !important;
}
.transport-line span:last-child{
  color:#d3cbbb !important;
  text-align:left !important;
  overflow-wrap:anywhere !important;
}
.transport-line small{
  color:#9f988b;
  font-size:12px;
}
.access-secondary{
  min-height:210px !important;
  padding:28px !important;
}
@media(max-width:900px){
  .access{
    grid-template-columns:1fr !important;
  }
  .access-public{
    grid-column:auto;
  }
  .transport-columns{
    grid-template-columns:1fr;
    gap:22px;
  }
}
@media(max-width:520px){
  .transport-line{
    grid-template-columns:1fr !important;
    gap:4px !important;
  }
}




.group-copy{
  background:transparent !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  filter:none !important;
  border:0 !important;
  box-shadow:none !important;
}





/* V2.3.1 — correction débordement horizontal contact */
.hero,.hero-content,.wrap,.cards,.map-grid,.form-grid,.access,.group,.group-copy{min-width:0;max-width:100%;}
@media(max-width:900px){
  .cards,.access{grid-template-columns:1fr 1fr !important;}
}
@media(max-width:620px){
  .cards,.access{grid-template-columns:1fr !important;}
  .hero{overflow:hidden;}
}

/* V3.1 EN V10.2 — suppression du grand guillemet décoratif sur la photo de groupe */
.group .quote::before,
.group .quote::after{
  content:none !important;
  display:none !important;
}


/* V3.1 EN V10.3 — definitive fix: isolate contact group quotation from global prestige quote decoration */
.group .group-quote-text{
  position:relative !important;
  overflow:visible !important;
  color:#fff !important;
  font-family:Georgia,'Times New Roman',serif !important;
  font-size:clamp(22px,3.1vw,44px) !important;
  line-height:1.18 !important;
  font-weight:700 !important;
  text-shadow:-2px -2px 0 #000,2px -2px 0 #000,-2px 2px 0 #000,2px 2px 0 #000,0 0 12px rgba(0,0,0,.9) !important;
}
.group .group-quote-text::before,
.group .group-quote-text::after{
  content:none !important;
  display:none !important;
}

/* V6.0.3 — audit mobile final : photo et citation finales */
@media(max-width:620px){
  .group.group-clean{
    display:flex !important;
    flex-direction:column !important;
    padding:0 !important;
    background:#080808 !important;
  }
  .group.group-clean > img{
    order:1 !important;
    width:100% !important;
    height:auto !important;
    object-fit:contain !important;
    object-position:center center !important;
    display:block !important;
  }
  .group.group-clean .group-copy{
    order:2 !important;
    position:relative !important;
    inset:auto !important;
    padding:30px 6vw 42px !important;
    background:#080808 !important;
    text-align:center !important;
  }
  .group.group-clean .group-quote-text{
    font-size:clamp(23px,7vw,32px) !important;
    line-height:1.2 !important;
    max-width:100% !important;
    margin:0 auto !important;
  }
  .group.group-clean .signature{
    margin-top:18px !important;
    font-size:15px !important;
    line-height:1.45 !important;
    max-width:290px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
}
