/* Retours Hugo, présentation commune aux six langues. */
.brand-title{display:block!important;direction:ltr;text-align:left;font-family:var(--sans);font-weight:400;font-size:clamp(38px,5.6vw,92px);line-height:1.08;letter-spacing:-.045em;color:var(--ink);margin:22px 0!important;max-width:100%}
.brand-title span{display:block;width:max-content;white-space:nowrap}.brand-title__last{transform-origin:left center}.hero__copy{min-width:0}.hero-tagline{font-size:clamp(23px,2.4vw,36px);line-height:1.3;margin:0 0 25px;white-space:nowrap}html[lang^=zh] .hero-tagline{word-spacing:-.25em}.hero-tagline em{font-style:normal}
.living-logo{position:relative;isolation:isolate;display:flex;align-items:center;justify-content:center;aspect-ratio:1;width:min(100%,430px);margin:auto;--lx:50%;--ly:50%;--rx:0deg;--ry:0deg}
.living-logo img{width:82%;height:auto!important;opacity:1!important;filter:drop-shadow(0 0 23px #ac018f35);transform:perspective(800px) rotateX(var(--rx)) rotateY(var(--ry));transition:transform .3s,filter .4s;animation:logo-breathe 9s ease-in-out infinite}
.living-logo:after{content:"";position:absolute;inset:3%;pointer-events:none;mix-blend-mode:screen;background:radial-gradient(circle at var(--lx) var(--ly),#e463cc80,transparent 42%);mask:url(mark-praetorian.png) center/82% auto no-repeat;-webkit-mask:url(mark-praetorian.png) center/82% auto no-repeat;opacity:.45}
.living-logo.is-hover img{animation:none;filter:drop-shadow(0 0 35px #ac018f50)}.living-logo.is-hover:after{opacity:.9}@keyframes logo-breathe{50%{filter:drop-shadow(0 0 38px #ac018f70);transform:translateY(-5px)}}
.hdr__nav [aria-current],.mnav [aria-current]{color:var(--acc-ink)!important}.v1-sub{top:100%;margin-top:0;z-index:20;inset-inline-start:-20px;left:auto}.v1-branch{align-self:stretch}.v1-sub:before{content:"";position:absolute;inset:-12px 0 100%}.hdr__nav .v1-sub a{white-space:nowrap}.v1-sub{width:max-content;min-width:255px;max-width:90vw}
.ftr__word{display:flex;align-items:center;gap:2%;direction:ltr}.ftr__word .sig{width:90%;min-width:0;height:auto;flex:1}.ftr__word .signature-mark{width:7.2%;height:auto;flex:none;opacity:.55;transition:filter .3s,opacity .3s}.ftr__word:hover .signature-mark{opacity:1;filter:drop-shadow(0 0 12px #e463cc)}
.clients-globe{position:relative;min-width:0}.clients-globe canvas{display:block;width:100%;height:auto;aspect-ratio:1;cursor:grab}.clients-globe canvas:active{cursor:grabbing}.globe-country{display:block;margin:0 auto;max-width:90%;padding:8px 16px;background:#111014;color:var(--ink);border:1px solid var(--line2);font:inherit;font-size:13px}
.world-outline{fill:none;stroke:#8f8499;stroke-width:.55;vector-effect:non-scaling-stroke}.world-outline.intervention{stroke:#e463cc;stroke-width:.95}.world-outline.is-selected,.world-outline:focus{stroke:white;stroke-width:1.7;outline:none}.relay-outline{fill:none;stroke:#e463cc;stroke-width:1.4;vector-effect:non-scaling-stroke}.mapbox svg{overflow:visible}.maptip{pointer-events:none}.map-credit{display:block;font-size:10px;line-height:1.5;color:var(--mute);margin:12px 0 0}.city-opening-map{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.32;z-index:-1}.city-opening{position:relative;isolation:isolate;overflow:hidden}.city-opening:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#0d0c10ed,#0d0c1070)}.city-opening .wrap{position:relative}.card--ville img{opacity:.42!important}
@media(max-width:760px){.brand-title{font-size:clamp(34px,8vw,58px)}.hero__visual .living-logo{max-width:300px}.clients-globe{max-width:420px;width:100%;margin:auto}.living-logo{max-width:300px}.ftr__word{gap:2%}}
@media(prefers-reduced-motion:reduce){.living-logo img{animation:none;transform:none!important;transition:none}.living-logo:after{background:radial-gradient(circle at center,#e463cc55,transparent 45%)}.signature-mark{transition:none!important}}
.osint-note{grid-column:1/-1;margin-top:40px;padding:28px 30px;border-inline-start:2px solid var(--acc);background:var(--bg2)}.osint-note h3{font-size:clamp(22px,2.4vw,32px);line-height:1.25;margin:0 0 16px}.osint-note p{max-width:85ch;margin:0;color:var(--ink2)}
.mapbox__legend .lg-dot{width:16px;height:1px;border-radius:0;background:var(--acc-ink)}.mapbox__now>i{display:none}
@media(max-width:560px){html[lang^=ru] .facts{grid-template-columns:minmax(0,1fr)}html[lang^=ru] .facts>div,html[lang^=ru] .facts>div+div{padding-left:0;border-right:0}html[lang^=ru] .facts>div+div{border-top:1px solid var(--line)}}
/* Globe et carte, direction Relief (3 novembre 2026). */
.mapbox svg.wm{overflow:hidden}.wm-land{fill:#2a2630;transition:fill .25s}.wm-land.is-int{fill:rgba(210,27,179,.82)}.wm-land.is-on{fill:#4a4452}.wm-land.is-int.is-on{fill:#e463cc}
.wm-borders{fill:none;stroke:rgba(9,9,11,.75);stroke-width:.6;pointer-events:none}
.wm-arc{fill:none;stroke:rgba(239,237,240,.5);stroke-width:1;stroke-dasharray:3 5;pointer-events:none;animation:wmdash 1.4s linear infinite}
@keyframes wmdash{to{stroke-dashoffset:-8}}@media(prefers-reduced-motion:reduce){.wm-arc{animation:none}}
.wm-marks{pointer-events:none}.wm-halo{fill:rgba(239,237,240,.18)}.wm-dot{fill:#efedf0}.wm-pt{fill:#e463cc}
.mapbox__legend .lg-dot{width:8px;height:8px;border-radius:50%;background:rgba(210,27,179,.82)}.mapbox__legend .lg-ring{width:7px;height:7px;border:0;border-radius:50%;background:#efedf0;box-shadow:0 0 0 3px rgba(239,237,240,.18)}
.chip[aria-pressed="true"]{border-color:#e463cc;color:#efedf0}
.clients-globe canvas{touch-action:pan-y}.globe-tip{white-space:nowrap}
html[lang^=ar] .maptip,html[lang^=ar] .mapbox__legend,html[lang^=ar] .mapbox__now,html[lang^=ar] .mapbox__hint{letter-spacing:0;font-family:var(--sans)}
/* Contact : photo d'Aventura en ouverture et bloc siège social (retours de Hugo du 3 novembre 2026). */
.inner-opening--photo{position:relative;overflow:hidden}.inner-opening--photo .inner-grid{position:relative;z-index:1}
.inner-photo{position:absolute;inset:0;z-index:0}.inner-photo img{width:100%;height:100%;object-fit:cover;object-position:60% 40%;filter:grayscale(1) contrast(1.08);opacity:.9}
.inner-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,9,11,.94) 0%,rgba(9,9,11,.6) 42%,rgba(9,9,11,.08) 100%),linear-gradient(0deg,#09090b 0%,rgba(9,9,11,0) 30%)}
html[dir=rtl] .inner-photo::after{background:linear-gradient(270deg,rgba(9,9,11,.94) 0%,rgba(9,9,11,.6) 42%,rgba(9,9,11,.08) 100%),linear-gradient(0deg,#09090b 0%,rgba(9,9,11,0) 30%)}
@media(max-width:760px){.inner-photo img{opacity:.6}.inner-photo::after{background:linear-gradient(0deg,#09090b 0%,rgba(9,9,11,.7) 60%,rgba(9,9,11,.45) 100%)}}
.hq__grid>div{display:flex;flex-direction:column;align-items:flex-start;gap:22px}.hq__adr{font-style:normal;display:flex;flex-direction:column;gap:2px;font-size:clamp(20px,2vw,28px);letter-spacing:-.02em;line-height:1.3;color:var(--ink)}.hq__adr strong{font-weight:500;margin-bottom:6px}.hq__adr span{color:var(--ink2)}
/* Mentions légales. */
.legal{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 64px;max-width:1100px}.legal__item{min-width:0;display:flex;flex-direction:column;gap:10px}.legal__item .h3{margin:0;font-size:clamp(19px,1.6vw,23px)}.legal__item p{margin:0;color:var(--ink2);max-width:60ch}.legal__item a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}.legal__num strong{font-family:var(--mono);font-weight:400;color:var(--ink);font-size:15px;letter-spacing:.02em;word-break:break-all}
@media(max-width:760px){.legal{grid-template-columns:minmax(0,1fr);gap:32px}}
/* Retours Hugo 4 novembre 2026 : photo du siège plus claire et entière sur mobile, nav et fil d'Ariane plus grands */
.inner-photo img{opacity:1;filter:grayscale(1) contrast(1.05) brightness(1.18)}
.inner-photo::after{background:linear-gradient(180deg,rgba(9,9,11,.72) 0%,rgba(9,9,11,0) 20%),linear-gradient(90deg,rgba(9,9,11,.88) 0%,rgba(9,9,11,.42) 42%,rgba(9,9,11,0) 100%),linear-gradient(0deg,#09090b 0%,rgba(9,9,11,0) 26%)}
html[dir=rtl] .inner-photo::after{background:linear-gradient(180deg,rgba(9,9,11,.72) 0%,rgba(9,9,11,0) 20%),linear-gradient(270deg,rgba(9,9,11,.88) 0%,rgba(9,9,11,.42) 42%,rgba(9,9,11,0) 100%),linear-gradient(0deg,#09090b 0%,rgba(9,9,11,0) 26%)}
@media(max-width:760px){.inner-opening--photo{padding-top:76px}.inner-photo{position:relative;inset:auto;aspect-ratio:1470/766;margin-bottom:34px}.inner-photo img{opacity:1;object-position:50% 50%}.inner-photo::after,html[dir=rtl] .inner-photo::after{background:linear-gradient(0deg,#09090b 0%,rgba(9,9,11,0) 32%)}}
@media(min-width:761px){.hdr__nav a{font-size:15px}.hdr__nav .v1-sub a{font-size:14px}}
@media(min-width:761px) and (max-width:1150px){.hdr__nav a{font-size:14px}.hdr__nav .v1-sub a{font-size:13px}}
.mnav .v1-mobile-group>div a{font-size:14px}
.inner-opening .eyebrow{font-size:13px;letter-spacing:.1em}
@media(max-width:760px){.inner-opening .eyebrow{font-size:12px;line-height:1.6}}
/* Retour PL du 4 novembre 2026, pages ville sur mobile.
   Cause : la règle qui passait le texte au dessus de la carte visait .inner-opening--ville, absente des pages ville (classe city-opening). La carte lumineuse se peignait donc par dessus le titre et le bouton. */
.city-opening .inner-grid>div:first-child{position:relative;z-index:2}
@media(max-width:760px){
.city-opening .inner-grid>div:first-child::before{content:"";position:absolute;z-index:-1;inset:-32px calc(-1*var(--gut)) -28px;background:linear-gradient(180deg,rgba(9,9,11,.42) 0%,rgba(9,9,11,.8) 22%,rgba(9,9,11,.8) 80%,rgba(9,9,11,0) 100%);pointer-events:none}
.city-opening-map{opacity:.2}
}
/* Menu mobile en accordéon, demande de PL du 4 novembre 2026 : rubriques numérotées, sous pages repliées, une seule ouverte à la fois. */
.mnav.mnav--acc{gap:0;padding:calc(var(--header) + 14px) var(--gut) 34px;counter-reset:m;background:#09090b}
.mnav--acc .v1-mobile-group{margin:0;border-bottom:1px solid var(--line2)}
.mnav.mnav--acc .v1-mobile-group>.mnav__row{display:flex;align-items:center;gap:12px;padding:0;grid-template-columns:none}
.mnav.mnav--acc a.big,.mnav.mnav--acc .v1-mobile-group>.mnav__row>a.big{display:flex;align-items:baseline;gap:16px;flex:none;font-family:var(--sans);font-weight:400;font-size:27px;letter-spacing:-.035em;line-height:1;padding:21px 0;border:0;color:var(--ink)}
.mnav.mnav--acc .v1-mobile-group>.mnav__row>a.big{flex:1}
.mnav--acc>a.big:not(.mnav__cta){border-bottom:1px solid var(--line2)}
.mnav--acc .mnav__row>a.big::before,.mnav--acc>a.big:not(.mnav__cta)::before{counter-increment:m;content:counter(m,decimal-leading-zero);font-family:var(--mono);font-size:11px;letter-spacing:.08em;color:var(--mute);min-width:20px;transform:translateY(-3px)}
.mnav__tg{position:relative;flex:none;width:40px;height:40px;border:1px solid var(--line2);border-radius:50%;background:none;color:var(--ink);cursor:pointer;transition:border-color .4s var(--ease),background .4s var(--ease)}
.mnav__tg::before,.mnav__tg::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:1px;background:currentColor;transform:translate(-50%,-50%);transition:transform .45s var(--ease)}
.mnav__tg::after{transform:translate(-50%,-50%) rotate(90deg)}
.is-open>.mnav__row .mnav__tg{border-color:#c028a5;background:rgba(172,1,143,.14)}
.is-open>.mnav__row .mnav__tg::after{transform:translate(-50%,-50%) rotate(0deg)}
.mnav--acc .v1-mobile-group>.mnav__panel{display:grid;grid-template-columns:1fr;grid-template-rows:0fr;gap:0;padding:0;transition:grid-template-rows .5s var(--ease)}
.mnav--acc .v1-mobile-group.is-open>.mnav__panel{grid-template-rows:1fr}
.mnav__inner{min-height:0;overflow:hidden;display:flex;flex-direction:column;padding-inline-start:36px}
.mnav.mnav--acc .v1-mobile-group .mnav__inner a{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 0;font-size:16px;line-height:1.35;color:var(--ink2);border-top:1px solid var(--line);opacity:0;transform:translateY(6px);transition:opacity .35s var(--ease),transform .35s var(--ease),color .3s}
.mnav.mnav--acc .v1-mobile-group .mnav__inner a:last-child{margin-bottom:16px}
.mnav.mnav--acc .v1-mobile-group.is-open .mnav__inner a{opacity:1;transform:none;transition-delay:calc(var(--k,0)*40ms + 80ms)}
.mnav--acc .mnav__inner a::after{content:"";flex:none;width:6px;height:6px;border-top:1px solid currentColor;border-right:1px solid currentColor;transform:rotate(45deg);opacity:.5}
html[dir=rtl] .mnav--acc .mnav__inner a::after{transform:rotate(-135deg)}
.mnav.mnav--acc a.big.mnav__cta{margin-top:30px;justify-content:center;padding:19px 20px;font-size:15px;letter-spacing:.01em;background:#ac018f;color:#fff!important;border:1px solid #c028a5;box-shadow:inset 0 1px #ffffff16}
.mnav--acc a.big.mnav__cta::after{content:"↗";margin-inline-start:8px}
.menu-open .mnav--acc>*{animation:mnavIn .6s var(--ease) both;animation-delay:calc(var(--n,0)*55ms + 60ms)}
@keyframes mnavIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.menu-open .mnav--acc>*{animation:none}.mnav--acc .v1-mobile-group>.mnav__panel,.mnav--acc .mnav__inner a{transition:none}}
/* Retour PL du 4 novembre 2026, validé par Hugo : une photo en couleur dans le héros de chaque page client (dirigeants, familles, luxe, industrie). On garde le magenta : pas de passage en gris. */
.inner-opening--client .inner-photo img{filter:none;opacity:1;object-position:62% 50%}
.inner-opening--client .inner-grid{grid-template-columns:minmax(0,1fr)}.inner-opening--client .inner-grid>div{max-width:620px}
.inner-opening--client .inner-photo::after{background:linear-gradient(180deg,rgba(9,9,11,.7) 0%,rgba(9,9,11,0) 22%),linear-gradient(90deg,rgba(9,9,11,.92) 0%,rgba(9,9,11,.55) 38%,rgba(9,9,11,0) 70%),linear-gradient(0deg,#09090b 0%,rgba(9,9,11,0) 24%)}
html[dir=rtl] .inner-opening--client .inner-photo::after{background:linear-gradient(180deg,rgba(9,9,11,.7) 0%,rgba(9,9,11,0) 22%),linear-gradient(270deg,rgba(9,9,11,.92) 0%,rgba(9,9,11,.55) 38%,rgba(9,9,11,0) 70%),linear-gradient(0deg,#09090b 0%,rgba(9,9,11,0) 24%)}
html[dir=rtl] .inner-opening--client .inner-photo img{transform:scaleX(-1)}
@media(max-width:760px){.inner-opening--client .inner-photo{aspect-ratio:3/2}.inner-opening--client .inner-photo img{object-position:70% 50%}}
/* Retour PL du 4 novembre 2026 : sur mobile, la photo client passe sous le titre, le texte et le bouton, comme la carte des pages ville. */
@media(max-width:760px){.inner-opening--client{display:flex;flex-direction:column;padding-top:130px;padding-bottom:40px}.inner-opening--client .inner-photo{order:2;margin:40px 0 0}.inner-opening--client .inner-photo::after,html[dir=rtl] .inner-opening--client .inner-photo::after{background:linear-gradient(180deg,#09090b 0%,rgba(9,9,11,0) 22%),linear-gradient(0deg,#09090b 0%,rgba(9,9,11,0) 28%)}}

/* Retour Hugo du 5 novembre 2026 : sur ordinateur, têtes coupées (executives, luxury). Cause : photo 3:2 recadrée en cover dans un héros d'environ 2,6:1. Désormais panneau 3:2 entier, sous le menu, fondu dans le fond. */
@media(min-width:761px){.inner-opening--client .inner-photo{inset:auto;top:88px;right:0;height:calc(100% - 88px);aspect-ratio:3/2;width:auto;max-width:none}.inner-opening--client .inner-photo img{object-position:50% 0%}.inner-opening--client .inner-photo::after{background:linear-gradient(90deg,#09090b 0%,rgba(9,9,11,.6) 18%,rgba(9,9,11,0) 45%),linear-gradient(180deg,#09090b 0%,rgba(9,9,11,0) 12%),linear-gradient(0deg,#09090b 0%,rgba(9,9,11,0) 22%)}html[dir=rtl] .inner-opening--client .inner-photo{right:auto;left:0}html[dir=rtl] .inner-opening--client .inner-photo::after{background:linear-gradient(270deg,#09090b 0%,rgba(9,9,11,.6) 18%,rgba(9,9,11,0) 45%),linear-gradient(180deg,#09090b 0%,rgba(9,9,11,0) 12%),linear-gradient(0deg,#09090b 0%,rgba(9,9,11,0) 22%)}}
