*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#123653;color:#f6f0e6;font-family:Arial,sans-serif}header{height:78px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;background:#123653;border-bottom:1px solid rgba(222,184,106,.28);position:sticky;top:0;z-index:20}.wordmark{font:18px Georgia,serif;letter-spacing:4px}.wordmark i{color:#d7b56c;font-style:normal}nav{display:flex;gap:28px}nav a{color:#f2eadc;text-decoration:none;font-size:11px;text-transform:uppercase;letter-spacing:1.5px}.langs button{border:0;background:none;color:#c7d1d8;cursor:pointer}.hero{height:calc(100vh - 78px);min-height:650px;background-image:var(--hero);background-size:cover;background-position:center;position:relative}.veil{position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,43,67,.94) 0%,rgba(13,43,67,.68) 43%,rgba(13,43,67,.18) 75%)}.heroCopy{position:absolute;left:8vw;top:50%;transform:translateY(-50%);max-width:800px}.over,.statement span,.editorial span,.mosaic span,.heritage span,.conf small,.contact small{color:#ddb96e;font-size:10px;letter-spacing:3px;font-weight:bold}.hero h1{font:clamp(58px,8vw,118px)/.92 Georgia,serif;margin:20px 0 28px}.hero p{max-width:600px;font-size:18px;color:#d9e0e4}.hero a{display:inline-block;margin-top:22px;padding:14px 20px;background:#d7b56c;color:#123653;text-decoration:none;text-transform:uppercase;font-size:11px;letter-spacing:1.5px}.statement{padding:110px 8vw;background:#f4eee3;color:#173852}.statement h2,.text h2,.mosaic h2,.heritage h2,.conf h2,.contact h2{font:clamp(40px,5vw,72px)/1.03 Georgia,serif;font-weight:normal}.editorial{display:grid;grid-template-columns:1.05fr .95fr;min-height:760px;background:#123653}.photo,.pic{background-size:cover;background-position:center}.editorial .text{padding:110px 8vw 80px 7vw}.text p,.mosaic p,.heritage p,.conf p{color:#c7d4dc;line-height:1.8}.lines{margin-top:60px}.lines b{display:block;padding:17px 0;border-top:1px solid rgba(215,181,108,.25);font-size:11px;letter-spacing:2px;color:#e5c47d}.mosaic{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto 430px;background:#f4eee3;color:#173852}.mosaicText{padding:105px 8vw;grid-column:1/-1}.mosaicText p{color:#52697b;max-width:720px}.p1,.p2{min-height:430px}.heritage{display:grid;grid-template-columns:1.1fr .9fr;min-height:680px;background:#173e5f}.heritage>div:last-child{padding:100px 7vw}.conf{padding:100px 8vw;display:grid;grid-template-columns:110px 1fr;gap:50px;background:#0e304b}.conf>span{width:85px;height:85px;border:1px solid #d7b56c;border-radius:50%;display:grid;place-items:center;color:#d7b56c}.conf p{max-width:800px}.contact{text-align:center;padding:130px 8vw;background:#f4eee3;color:#173852}.contact a{color:#173852;font:20px Georgia,serif;text-decoration:none;border-bottom:1px solid #d7b56c;padding-bottom:5px}footer{padding:45px 6vw;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-top:1px solid rgba(215,181,108,.25);letter-spacing:2px}.fil{display:flex;flex-direction:column;align-items:center;gap:5px;font-size:9px;color:#b6c4ce}.fil img{width:145px;max-height:85px;object-fit:contain}footer small{text-align:right}@media(max-width:850px){nav{display:none}.editorial,.heritage{grid-template-columns:1fr}.editorial .photo{min-height:550px}.mosaic{grid-template-columns:1fr}.mosaicText{grid-column:auto}.p1,.p2{min-height:500px}footer{grid-template-columns:1fr;gap:25px}.fil{align-items:flex-start}footer small{text-align:left}.heroCopy{left:6vw}.statement,.editorial .text,.mosaicText,.heritage>div:last-child,.conf,.contact{padding-left:6vw;padding-right:6vw}}
.globalReach{background:#0d2d47;padding:105px 6vw 85px;color:#f5efe4}
.globalHead{text-align:center;max-width:1000px;margin:0 auto 45px}
.globalHead span{color:#d4ad67;font-size:10px;letter-spacing:3px;font-weight:bold}
.globalHead h2{font:clamp(40px,5vw,70px)/1.02 Georgia,serif;font-weight:normal;margin:20px 0}
.globalHead p{color:#c4d0d8;line-height:1.7;max-width:760px;margin:auto}
.mapFrame{position:relative;max-width:1450px;margin:auto;border:1px solid rgba(212,173,103,.35);overflow:hidden;background:#09243a}
.mapFrame img{display:block;width:100%;filter:saturate(.72) hue-rotate(145deg) brightness(.72) contrast(1.12)}
.mapTint{position:absolute;inset:0;pointer-events:none;background:linear-gradient(rgba(9,36,58,.18),rgba(9,36,58,.18));box-shadow:inset 0 0 100px rgba(4,22,36,.5)}
.globalStats{max-width:1200px;margin:45px auto 0;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(212,173,103,.35);border-bottom:1px solid rgba(212,173,103,.35)}
.globalStats div{text-align:center;padding:28px 12px;border-right:1px solid rgba(212,173,103,.22)}
.globalStats div:last-child{border-right:0}.globalStats strong{display:block;color:#d4ad67;font:30px Georgia,serif;font-weight:normal}
.globalStats small{display:block;margin-top:7px;font-size:9px;letter-spacing:1.8px;color:#d7e0e5}
.excluded{text-align:center;margin-top:20px;color:#8398a7;letter-spacing:1.3px;font-size:9px}
@media(max-width:850px){.globalStats{grid-template-columns:1fr 1fr}.globalStats div:nth-child(2){border-right:0}.globalStats div{border-bottom:1px solid rgba(212,173,103,.22)}}

.founder{display:grid;grid-template-columns:.9fr 1.1fr;background:#f4eee3;color:#173852;min-height:760px}
.founderPortrait{min-height:760px;overflow:hidden;background:#d9d0c2}
.founderPortrait img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block;filter:saturate(.92) contrast(1.02)}
.founderCopy{padding:105px 8vw 90px 7vw;align-self:center}
.founderCopy>span,.strategic>div>span{color:#b58a3f;font-size:10px;letter-spacing:3px;font-weight:bold}
.founderCopy h2,.strategic h2{font:clamp(48px,6vw,82px)/1 Georgia,serif;font-weight:normal;margin:14px 0}
.founderCopy h3{font:17px/1.5 Georgia,serif;color:#8e6c33;font-weight:normal;margin:0 0 32px}
.founderCopy p{color:#52697b;line-height:1.8;max-width:720px}
.founderTags{display:flex;flex-wrap:wrap;gap:9px;margin-top:32px}
.founderTags b{border:1px solid rgba(181,138,63,.45);padding:8px 11px;font-size:9px;letter-spacing:1.4px;color:#8e6c33}
.strategic{padding:105px 8vw;background:#123653;color:#f6f0e6}
.strategic>div:first-child{max-width:900px;margin-bottom:55px}
.strategicGrid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(215,181,108,.3)}
.strategicGrid article{padding:34px 34px 20px 0;border-right:1px solid rgba(215,181,108,.2);margin-right:34px}
.strategicGrid article:last-child{border-right:0}
.strategicGrid b{color:#d7b56c;font-size:10px}
.strategicGrid h3{font:28px/1.1 Georgia,serif;font-weight:normal;margin:55px 0 18px}
.strategicGrid p{color:#bdcbd4;line-height:1.7;font-size:14px}
@media(max-width:850px){.founder{grid-template-columns:1fr}.founderPortrait{min-height:520px}.founderCopy{padding:75px 6vw}.strategic{padding:80px 6vw}.strategicGrid{grid-template-columns:1fr}.strategicGrid article{border-right:0;border-bottom:1px solid rgba(215,181,108,.2);margin:0;padding-right:0}}

/* V5 Global Reach refinement */
.luxMapWrap{position:relative;max-width:1480px;margin:0 auto;border:1px solid rgba(212,173,103,.35);overflow:hidden;background:#06192a;box-shadow:0 25px 70px rgba(0,0,0,.25)}
.luxMap{display:block;width:100%;height:auto;filter:saturate(.95) contrast(1.04) brightness(.92)}
.luxMapShade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(9,36,58,.08),rgba(9,36,58,.18));pointer-events:none}
.excludedBox{position:absolute;right:2.3%;top:6%;width:min(260px,28%);padding:16px 18px;background:rgba(4,20,33,.82);border:1px solid rgba(212,173,103,.33);backdrop-filter:blur(7px);display:flex;flex-direction:column;gap:6px}
.excludedBox b{color:#d7b56c;font-size:9px;letter-spacing:2px}
.excludedBox span{color:#c6d2da;font-size:10px;line-height:1.55}
.globalNote{max-width:1000px;margin:22px auto 0;text-align:center;color:#8498a8;font-size:10px;letter-spacing:.7px}
@media(max-width:850px){.excludedBox{position:static;width:auto;margin:0;border-left:0;border-right:0;border-bottom:0}.luxMapWrap{overflow:visible}.luxMapShade{display:none}}

/* V5.2 — full map + pale sky-blue light sections */
.luxMapWrap{
  overflow:hidden !important;
  background:#081f34 !important;
}
.luxMap{
  width:100% !important;
  height:auto !important;
  object-fit:contain !important;
  object-position:center center !important;
  display:block !important;
}
.statement,
.mosaic,
.founder,
.contact{
  background:#dfeefa !important;
  color:#173852 !important;
}
.statement p,
.mosaicText p,
.founderCopy p,
.contact p{
  color:#52697b !important;
}

/* V5.3 — world map scale correction */
.globalReach{
  padding-left:4vw !important;
  padding-right:4vw !important;
}
.luxMapWrap{
  max-width:1280px !important;
  width:88vw !important;
  margin:0 auto !important;
  overflow:visible !important;
  border:none !important;
  background:transparent !important;
  box-shadow:none !important;
}
.luxMap{
  width:100% !important;
  max-width:100% !important;
  height:auto !important;
  display:block !important;
  object-fit:contain !important;
  object-position:center center !important;
  transform:none !important;
  scale:1 !important;
}
.luxMapShade{
  display:none !important;
}
.excludedBox{
  right:1.5% !important;
  top:4% !important;
}
@media(max-width:1100px){
  .luxMapWrap{width:94vw !important;max-width:none !important;}
}
@media(max-width:850px){
  .luxMapWrap{width:100% !important;overflow:hidden !important;}
  .excludedBox{position:static !important;width:auto !important;margin-top:12px !important;}
}

/* V5.4 — mappemonde réellement réduite */
.globalReach{
  overflow:hidden !important;
}
.luxMapWrap{
  width:min(72vw, 1080px) !important;
  max-width:1080px !important;
  margin:28px auto 0 !important;
  overflow:hidden !important;
  box-sizing:border-box !important;
}
.luxMap{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  height:auto !important;
  margin:0 auto !important;
  object-fit:contain !important;
  object-position:center center !important;
  transform:none !important;
  scale:1 !important;
}
@media (max-width:1100px){
  .luxMapWrap{
    width:78vw !important;
    max-width:900px !important;
  }
}
@media (max-width:850px){
  .luxMapWrap{
    width:88vw !important;
    max-width:88vw !important;
  }
}

/* V5.5 — référence Photoshop validée : 30 × 20 cm */
.globalReach{
  overflow:visible !important;
}
.luxMapWrap{
  width:min(100%, 850px) !important;
  max-width:850px !important;
  margin:18px auto 0 !important;
  overflow:visible !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}
.luxMap{
  display:block !important;
  width:100% !important;
  max-width:850px !important;
  height:auto !important;
  margin:0 auto !important;
  object-fit:contain !important;
  object-position:center !important;
  transform:none !important;
}
.luxMapShade{display:none !important;}
@media(max-width:900px){
  .luxMapWrap,.luxMap{max-width:94vw !important;}
}

/* V5.6 — suppression du cartouche des exceptions */
.excludedBox,
.exclusionsBox,
.excluded-box,
.exclusions-box,
[data-role="excluded"],
[data-role="exclusions"]{
  display:none !important;
}

/* V5.7 — visuel validé intégré dans le site */
.luxMapWrap{
  width:min(100%, 1180px) !important;
  max-width:1180px !important;
  margin:18px auto 0 !important;
  overflow:hidden !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
.luxMap{
  display:block !important;
  width:100% !important;
  max-width:1180px !important;
  height:auto !important;
  margin:0 auto !important;
  object-fit:contain !important;
  object-position:center center !important;
  transform:none !important;
}
.luxMapShade{display:none !important;}
.excludedBox,.exclusionsBox,.excluded-box,.exclusions-box{display:none !important;}
@media(max-width:1200px){
  .luxMapWrap,.luxMap{max-width:94vw !important;}
}

/* MASTER FINAL — visuel utilisateur exact, sans surcouche */
.excludedBox,
.exclusionsBox,
.excluded-box,
.exclusions-box,
.coverageExceptions,
.coverage-exceptions{
  display:none !important;
}
.luxMapShade{display:none !important;}
.luxMapWrap{
  width:min(100%, 1000px) !important;
  max-width:1000px !important;
  margin:18px auto 0 !important;
  overflow:hidden !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
.luxMap{
  width:100% !important;
  max-width:1000px !important;
  height:auto !important;
  display:block !important;
  object-fit:contain !important;
  object-position:center !important;
  transform:none !important;
}
@media(max-width:1050px){
  .luxMapWrap,.luxMap{max-width:94vw !important;}
}

/* Version intégrée comme page intérieure : suppression de la barre d'entête autonome */
header.siteHeader,
.siteHeader,
.topbar,
.topBar,
.mainHeader,
.navHeader {
    display: none !important;
}

/* HOME INTERACTIVE V1 */
body{padding-top:72px}
.homeNav{
  position:fixed;top:0;left:0;right:0;height:72px;z-index:100;
  display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:28px;
  padding:0 4vw;background:rgba(8,31,52,.92);backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(215,181,108,.25)
}
.homeBrand{font-family:Georgia,serif;letter-spacing:3px;color:#d7b56c;text-decoration:none;font-size:18px}
.homeNav nav{display:flex;justify-content:center;gap:24px}
.homeNav nav a{color:#eef4f7;text-decoration:none;font-size:11px;text-transform:uppercase;letter-spacing:1.2px}
.homeNav nav a:hover{color:#d7b56c}
.homeLangs{display:flex;gap:6px}
.homeLangs button{border:0;background:none;color:#d6e2e8;cursor:pointer;font-size:11px}
.homeLangs button:hover{color:#d7b56c}
.luxMapWrap{position:relative !important}
.hotspots{position:absolute;inset:0;z-index:4;pointer-events:none}
.hotspot{
  position:absolute;pointer-events:auto;text-decoration:none;color:#f5efe4;
  border:1px solid rgba(215,181,108,.45);background:rgba(7,25,41,.62);
  padding:8px 11px;font-size:9px;letter-spacing:1px;text-transform:uppercase;
  backdrop-filter:blur(7px);transition:.25s
}
.hotspot:hover{background:rgba(215,181,108,.16);box-shadow:0 0 24px rgba(215,181,108,.25);transform:translateY(-2px)}
.hs1{left:24%;bottom:10%}.hs2{left:39%;bottom:10%}.hs3{left:54%;bottom:10%}.hs4{left:69%;bottom:10%}.hs5{left:83%;bottom:10%;transform:translateX(-100%)}
.homeClosing{padding:28px 6vw 38px;text-align:center;background:#0d2d47;border-top:1px solid rgba(215,181,108,.24)}
.homeClosing span{color:#d7b56c;font-size:10px;letter-spacing:2.6px}
@media(max-width:1050px){
  .homeNav{grid-template-columns:1fr auto}
  .homeNav nav{display:none}
}
@media(max-width:850px){
  body{padding-top:64px}.homeNav{height:64px;padding:0 5vw}.homeBrand{font-size:14px}
  .hotspots{display:none}
}

/* HOME V2 CORRIGÉE — la mappemonde EST la première page */
.globalReach{
  min-height:calc(100vh - 72px) !important;
  padding-top:34px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  background:#0d2d47 !important;
}
.globalHead{
  margin-bottom:18px !important;
}
.luxMapWrap{
  width:min(100%, 1180px) !important;
  max-width:1180px !important;
  margin:8px auto 0 !important;
}
.globalStats{
  margin-top:24px !important;
}
.statement{
  border-top:1px solid rgba(215,181,108,.28) !important;
}
@media(max-width:850px){
  .globalReach{
    min-height:auto !important;
    padding-top:30px !important;
  }
}

/* FINAL — maps switch by language, identical display size */
#globalMap{
  width:100% !important;
  height:auto !important;
  display:block !important;
  object-fit:contain !important;
  object-position:center center !important;
}

/* FINAL — logos Fil d'Encre synchronisés avec FR / EN / ES */
.homeBrand{
  display:flex !important;
  align-items:center !important;
  gap:14px !important;
}
.homeBrand .omhName{
  white-space:nowrap;
}
#headerFilLogo{
  width:92px;
  max-height:46px;
  object-fit:contain;
  display:block;
}
#filLogo{
  transition:opacity .2s ease;
}
@media(max-width:850px){
  #headerFilLogo{width:72px;max-height:38px}
}


/* RESPONSIVE FINAL 2026 — mobile/tablette sans modifier le rendu desktop */
html,body{max-width:100%;overflow-x:hidden}
img{max-width:100%}
.offMenuToggle{display:none;width:40px;height:40px;border:1px solid rgba(215,181,108,.42);background:transparent;align-items:center;justify-content:center;flex-direction:column;gap:5px;cursor:pointer;padding:0}
.offMenuToggle span{display:block;width:18px;height:1px;background:#d7b56c;transition:transform .2s ease,opacity .2s ease}
.homeNav.menu-open .offMenuToggle span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.homeNav.menu-open .offMenuToggle span:nth-child(2){opacity:0}
.homeNav.menu-open .offMenuToggle span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

@media(max-width:1050px){
  .homeNav{grid-template-columns:minmax(0,1fr) auto auto!important;gap:12px!important}
  .offMenuToggle{display:flex}
  .homeNav nav{display:none!important;position:fixed;top:72px;left:0;right:0;max-height:calc(100vh - 72px);overflow:auto;flex-direction:column;gap:0!important;padding:10px 4vw 18px;background:rgba(8,31,52,.985);border-bottom:1px solid rgba(215,181,108,.3);box-shadow:0 18px 40px rgba(0,0,0,.24)}
  .homeNav.menu-open nav{display:flex!important}
  .homeNav nav a{display:block;padding:15px 6px;border-bottom:1px solid rgba(215,181,108,.16);font-size:12px!important;letter-spacing:1.35px!important}
}

@media(max-width:850px){
  body{padding-top:64px!important}
  .homeNav{height:64px!important;padding:0 18px!important;gap:9px!important}
  .homeNav nav{top:64px;max-height:calc(100vh - 64px);padding-left:18px;padding-right:18px}
  .homeBrand{min-width:0;gap:9px!important;font-size:13px!important;letter-spacing:2px!important}
  #headerFilLogo{width:58px!important;max-height:34px!important}
  .homeLangs{gap:2px!important}.homeLangs button{padding:5px 4px;font-size:10px!important}
  .offMenuToggle{width:36px;height:36px}

  .globalReach{padding:28px 5vw 52px!important;min-height:auto!important}
  .globalHead{margin-bottom:20px!important}.globalHead h2{font-size:clamp(34px,10vw,48px)!important;line-height:1.02!important;margin:14px 0!important}.globalHead p{font-size:14px;line-height:1.6}
  .luxMapWrap{width:100%!important;max-width:100%!important;margin-top:12px!important}.luxMap{max-width:100%!important}
  .globalStats{grid-template-columns:1fr 1fr!important;margin-top:20px!important}.globalStats div{padding:20px 8px!important}.globalStats strong{font-size:25px!important}.globalStats small{font-size:8px!important;letter-spacing:1px!important;line-height:1.35}
  .globalNote{font-size:9px!important;line-height:1.5;padding:0 2vw}

  .statement{padding:66px 6vw!important}.statement h2,.text h2,.mosaic h2,.heritage h2,.conf h2,.contact h2{font-size:clamp(32px,9vw,46px)!important;line-height:1.06!important}
  .editorial{min-height:0!important}.editorial .photo{min-height:clamp(340px,105vw,520px)!important}.editorial .text{padding:68px 6vw 64px!important}.lines{margin-top:38px!important}
  .mosaic{grid-template-rows:auto!important}.mosaicText{padding:66px 6vw!important}.p1,.p2{min-height:360px!important}
  .founder{min-height:0!important}.founderPortrait{min-height:440px!important}.founderCopy{padding:66px 6vw!important}.founderCopy h2,.strategic h2{font-size:clamp(38px,11vw,52px)!important}.founderCopy h3{font-size:16px!important;margin-bottom:24px!important}.founderCopy p{font-size:15px;line-height:1.7}
  .strategic{padding:68px 6vw!important}.strategic>div:first-child{margin-bottom:36px!important}.strategicGrid h3{margin:30px 0 14px!important;font-size:25px!important}.strategicGrid article{padding-top:28px!important;padding-bottom:28px!important}
  .heritage{min-height:0!important}.heritage .photo{min-height:380px!important}.heritage>div:last-child{padding:66px 6vw!important}
  .conf{grid-template-columns:1fr!important;gap:22px!important;padding:66px 6vw!important}.conf>span{width:64px!important;height:64px!important}.conf p{font-size:15px;line-height:1.7}
  .contact{padding:76px 6vw!important}.contact a{font-size:18px!important;overflow-wrap:anywhere}
  footer{padding:36px 6vw!important;gap:18px!important;text-align:left}.fil img{width:125px!important}
  .homeClosing{padding:24px 6vw 30px!important}.homeClosing span{font-size:9px!important;letter-spacing:1.5px!important;line-height:1.6}
}

@media(max-width:520px){
  .homeBrand{font-size:12px!important;letter-spacing:1.35px!important}.homeBrand .omhName{white-space:nowrap}
  #headerFilLogo{display:none!important}
  .globalStats strong{font-size:22px!important}.globalStats small{letter-spacing:.7px!important}
  .p1,.p2{min-height:300px!important}.founderPortrait{min-height:390px!important}.heritage .photo{min-height:320px!important}
}
