/* Shared reader controls and content-safe contact layout. */
.contact-v2, .case-study .portfolio-contact, .work-index .portfolio-contact { min-height:0; height:auto; grid-template-rows:auto auto auto; align-content:start; row-gap:48px; padding-top:96px; padding-bottom:96px; }
.contact-v2 > a { min-width:0; max-width:100%; margin:0; line-height:1.15!important; overflow-wrap:break-word; }
.contact-v2__meta { min-width:0; gap:24px; line-height:1.6; }
.contact-v2__meta p, .site-footer>div { min-width:0; overflow-wrap:anywhere; }
.site-footer { position:relative; margin-top:0; }
.header-utilities { display:flex; align-items:center; justify-content:flex-end; gap:20px; min-width:0; }
.language-switch { display:flex; align-items:center; gap:10px; flex-shrink:0; color:inherit; }
.language-switch button { display:inline-flex; align-items:center; justify-content:center; min-width:32px; min-height:44px; padding:0; border:0; border-radius:0; background:transparent; color:inherit; font:inherit; font-size:12px; cursor:pointer; opacity:.6; }
.language-switch button[aria-pressed=true] { opacity:1; text-decoration:underline; text-underline-offset:5px; }
.language-switch span { color:inherit; opacity:.35; font-size:12px; }
.preferences-toggle { position:fixed; z-index:120; left:auto; right:16px; bottom:24px; width:44px; height:44px; display:grid; place-items:center; border:1px solid #d4d4d4; border-radius:50%; background:#fff; color:#141414; box-shadow:0 3px 15px #0000000d; cursor:pointer; }
.preferences-toggle svg { width:19px; height:19px; }
.preferences-panel { position:fixed; inset:auto 16px 78px auto; margin:0; width:min(340px,calc(100vw - 32px)); max-height:calc(100dvh - 112px); overflow:auto; padding:24px; border:1px solid #d4d4d4; border-radius:16px; color:#141414; background:#fff; box-shadow:0 12px 50px #00000020; z-index:121; font-family:inherit; }
.preferences-panel::backdrop { background:#00000026; }
.preferences-panel h2 { font-size:22px!important; letter-spacing:-.03em; line-height:1.3; margin:0; }
.preferences-panel__head { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:24px; }
.preferences-panel button { font:inherit; font-size:14px!important; min-height:44px; cursor:pointer; }
.preferences-close { width:44px; background:none; border:1px solid #ddd; border-radius:8px; color:inherit; font-size:24px!important; }
.preference-row { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:16px 0; border-top:1px solid #e1e1e1; font-size:15px!important; line-height:1.5; }
.preference-row input { width:20px; height:20px; accent-color:#141414; cursor:pointer; }
.preference-row label { display:flex; align-items:center; justify-content:space-between; width:100%; gap:20px; font-size:15px!important; }
.text-size-controls { display:flex; gap:8px; align-items:center; }
.text-size-controls button { width:44px; background:#f5f5f5; color:#141414; border:1px solid #ddd; border-radius:8px; }
.text-size-controls output { min-width:44px; font-size:13px; text-align:center; }
.preferences-reset { width:100%; margin-top:20px; border:1px solid #141414; border-radius:8px; background:#141414; color:#fff; }
.reader-sized [data-reader-text] { font-size:calc(var(--reader-size) * var(--reader-scale))!important; }
.reader-sized :is(.clean-hero,.page-hero,.work-tile,.capability-card,.service-card) { height:auto; max-height:none; }
.reader-sized .clean-hero { min-height:800px; padding-bottom:300px; }
.reader-sized .work-tile { min-height:440px; }
.reader-sized :is(h1,h2,h3,h4,p,a,li) { overflow-wrap:break-word; }
.reader-sized .contact-v2 { grid-template-rows:auto auto auto; }
.reader-dark { --paper:#161719; --ink:#f3f3f3; --muted:#c5c5ca; --line-light:#4b4b50; --line-dark:#4b4b50; background:#161719!important; color:#f3f3f3!important; color-scheme:dark; }
.reader-dark :is(main,section,.chapter,.work-track,.site-footer,.mobile-menu,.case-pagination__link,.capability-card,.case-detail-card,.service-card,.page-hero,.hero-v2,.clean-hero,.practice-grid,.contact-v2,.work-theatre,.case-section) { background-color:#161719!important; color:#f3f3f3!important; }
.reader-dark :is(.site-header.site-header--unified,.site-header.site-header--unified.is-scrolled) { background:#161719f5!important; color:#f3f3f3!important; }
.reader-dark :is(h1,h2,h3,h4,p,.eyebrow,.wordmark,.desktop-nav,.contact-v2>a em,.case-hero__meta,.case-hero__summary,.work-tile__info,.work-panel__info,.gallery figcaption,.contact-v2__meta,.clean-hero__label,.clean-hero__summary,.service-card p,.case-index,.mobile-menu__links em,.mobile-menu__meta) { color:#f3f3f3!important; }
.reader-dark :is(.desktop-nav,.desktop-nav a:hover,.desktop-nav a:first-child,.service-card__icon,.service-card__tags span,.ooredoo-flow li) { background:#292a2e!important; color:#f3f3f3!important; }
.reader-dark :is(.art-direction-link,.button,.clean-hero__cta,.work-archive-link,.studio-button,.menu-toggle) { background:#f3f3f3!important; color:#161719!important; border-color:#777!important; }
.reader-dark :is(.service-card,.case-detail-card,.capability-card,.case-index,.contact-v2__meta,.site-footer,.case-pagination__link,.service-card__tags span) { border-color:#5e6068!important; }
.reader-dark .preferences-toggle, .reader-dark .preferences-panel { background:#202125; color:#f3f3f3; border-color:#65666d; }
.reader-dark .preferences-panel :is(button,input) { color-scheme:dark; }
.reader-dark .preferences-close { border-color:#65666d; }
.reader-dark .preference-row { border-color:#65666d; }
.reader-dark .text-size-controls button { background:#35363b; color:#fff; border-color:#65666d; }
.reader-dark .preferences-reset { background:#f3f3f3; color:#161719; }
.reader-dark .grain { display:none; }
.reader-dark .identity-dot { background:#f3f3f3!important; }
.reader-contrast :is(p,figcaption,.eyebrow,.clean-hero__label,.clean-hero__summary,.service-card p,.service-card__tags span,.case-hero__meta,.case-hero__summary,.contact-v2__meta,.work-tile__info,.gallery figcaption,.case-index) { color:#111!important; opacity:1!important; }
.reader-contrast :is(.service-card,.case-detail-card,.capability-card,.case-index,.contact-v2__meta,.site-footer,.button,.service-card__tags span,.preferences-toggle,.preferences-panel) { border-color:#111!important; }
.reader-dark.reader-contrast :is(p,figcaption,.eyebrow,.clean-hero__label,.clean-hero__summary,.service-card p,.service-card__tags span,.case-hero__meta,.case-hero__summary,.contact-v2__meta,.work-tile__info,.gallery figcaption,.case-index) { color:#fff!important; }
.reader-dark.reader-contrast :is(.service-card,.case-detail-card,.capability-card,.case-index,.contact-v2__meta,.site-footer,.service-card__tags span,.preferences-toggle,.preferences-panel) { border-color:#fff!important; }
.preferences-toggle:focus-visible,.preferences-panel :focus-visible,.language-switch button:focus-visible { outline:3px solid #3367c7!important; outline-offset:4px; }
@media(max-width:900px) { .premium-site .site-header.site-header--unified { grid-template-columns:minmax(0,1fr) auto auto; gap:12px; } .header-utilities { gap:0; } .language-switch { gap:6px; } .language-switch button { min-width:28px; } }
@media(max-width:600px) { .contact-v2,.case-study .portfolio-contact,.work-index .portfolio-contact { padding-top:72px; padding-bottom:72px; row-gap:36px; } .contact-v2__meta { grid-template-columns:1fr; } .contact-v2__meta p { text-align:left!important; } .site-footer { grid-template-columns:1fr; align-items:start; } .site-footer>div { text-align:left!important; } .preferences-toggle { left:auto; right:12px; bottom:16px; } .preferences-panel { left:auto; right:12px; bottom:70px; width:calc(100vw - 24px); } }
.premium-site .contact-v2,.premium-site .portfolio-contact { height:auto!important; min-height:0!important; grid-template-rows:auto auto auto; gap:48px; padding-top:96px; padding-bottom:96px; }
.premium-site .contact-v2__meta { margin-top:0; }
.site-header .header-utilities { margin-left:auto; }
.reader-dark .site-header .desktop-nav a,.reader-dark .site-header .desktop-nav a.is-current,.reader-dark .site-header .desktop-nav a:hover { color:#f3f3f3!important; }
.reader-dark .site-header .desktop-nav a.is-current::after { background:#f3f3f3!important; }
.sr-only { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
@media(max-width:900px){ .header-utilities .art-direction-link {display:none!important;} .site-header .header-utilities { margin-left:auto; } }
@media(max-width:600px){ .premium-site .contact-v2,.premium-site .portfolio-contact { gap:36px; padding-top:72px; padding-bottom:72px; } }
html[lang=fr] .premium-site .work-track::before { content:"Projets / Faire défiler pour explorer"; }
.preferences-panel button:disabled { opacity:.45; cursor:not-allowed; }

.action-tooltip {position:fixed;z-index:130;max-width:min(260px,calc(100vw - 24px));padding:9px 12px;border:1px solid #424242;border-radius:6px;background:#202124;color:#fff;font-family:var(--sans);font-size:12px;line-height:1.45;letter-spacing:0;text-transform:none;box-shadow:0 4px 16px #00000014;pointer-events:auto;}
.action-tooltip[hidden] {display:none;}
.reader-dark .action-tooltip {background:#f3f3f3;color:#141414;border-color:#c5c5ca;}
