/* LeTraducteur.org v1.9.16: progressive enhancement, no route or form changes */
:root{--lt16-ink:#102b40;--lt16-navy:#0a2238;--lt16-gold:#c5a26b;--lt16-line:rgba(183,156,111,.26);--lt16-max:1280px}
/* Consistent, compact editorial rhythm; exclude authenticated tools and forms. */
body:has(.v585-home-hero) .v585-home{--lt16-home:1}
body:has(.v585-home-hero) .v585-home :is(.v585-section,.tx-v64-hub,.tx49-buyer-gateway,.tx-v66-entry,.tx-v68-clients,.tx-documented-clients){max-width:var(--lt16-max);margin-block:clamp(12px,2.3vw,30px)!important;border-radius:18px!important}
body:has(.v585-home-hero) .v585-home :is(.v585-section,.tx-v64-hub,.tx49-buyer-gateway,.tx-v66-entry) :is(h2,h3){text-wrap:balance;line-height:1.22}
body:has(.v585-home-hero) .v585-home :is(.v585-section,.tx-v64-hub,.tx49-buyer-gateway,.tx-v66-entry) p{line-height:1.62}
/* Existing hero imagery remains source-of-truth; overlay improves readability without altering images. */
body:has(.v585-home-hero) .v585-home-hero{position:relative;isolation:isolate;overflow:hidden;background-color:var(--lt16-navy)}
body:has(.v585-home-hero) .v585-home-hero::before{content:'';position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(90deg,rgba(5,21,35,.75),rgba(5,21,35,.40) 62%,rgba(5,21,35,.16))}
body:has(.v585-home-hero) .v585-home-hero>.v585-home-grid{position:relative;z-index:1}
body:has(.v585-home-hero) .v585-hero-copy{max-width:min(100%,770px);min-width:0}
body:has(.v585-home-hero) .v585-hero-copy h1{font-size:clamp(2.1rem,4vw,4.5rem);line-height:1.15;text-wrap:balance;max-width:19ch}
body:has(.v585-home-hero) .v585-hero-copy .v585-lead{max-width:65ch;line-height:1.6}
/* Cinematic service and audience panels, no new content or fake claims. */
body:has(.v585-home-hero) .v585-home :is(.v585-card,.tx49-card,.tx-v64-card,.v585-service-card){position:relative;isolation:isolate;overflow:hidden;border:1px solid var(--lt16-line);border-radius:17px;box-shadow:0 12px 30px rgba(7,30,47,.11);transition:transform .2s ease,box-shadow .2s ease}
@media(hover:hover){body:has(.v585-home-hero) .v585-home :is(.v585-card,.tx49-card,.tx-v64-card,.v585-service-card):hover{transform:translateY(-3px);box-shadow:0 17px 35px rgba(7,30,47,.16)}}
body:has(.v585-home-hero) .v585-home :is(.v585-card,.tx49-card,.tx-v64-card,.v585-service-card) :is(a,button):focus-visible{outline:3px solid var(--lt16-gold);outline-offset:3px}
/* Desktop: preserve actual existing nav and dropdown DOM, ensure it is not replaced by mobile control. */
@media(min-width:1100px){body:has(.v585-home-hero) .tx-global-header-v26 .txgh-nav{display:flex!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important}body:has(.v585-home-hero) .tx-global-header-v26 .txh-frame-menu{display:none!important}}
/* RTL: image overlay and hero align naturally; logical properties avoid mixed-direction errors. */
html[dir=rtl] body:has(.v585-home-hero) .v585-home-hero::before{background:linear-gradient(270deg,rgba(5,21,35,.78),rgba(5,21,35,.38) 62%,rgba(5,21,35,.15))}
html[dir=rtl] body:has(.v585-home-hero) .v585-hero-copy{direction:rtl;text-align:right;margin-inline-start:0;margin-inline-end:auto}
html[dir=rtl] body:has(.v585-home-hero) .v585-hero-copy :is(h1,p){text-align:right}
@media(max-width:767px){body:has(.v585-home-hero) .v585-home :is(.v585-section,.tx-v64-hub,.tx49-buyer-gateway,.tx-v66-entry){width:calc(100% - 20px)!important;border-radius:15px!important}body:has(.v585-home-hero) .v585-hero-copy h1{font-size:clamp(1.9rem,8vw,3.1rem)}}
@media(prefers-reduced-motion:reduce){body:has(.v585-home-hero) .v585-home :is(.v585-card,.tx49-card,.tx-v64-card,.v585-service-card){transition:none!important;transform:none!important}}
