/* The editorial homepage has its own palette. Inner pages share these roles,
   selected on the server before first paint, via Réglages → Apparence. */
html[data-site-theme="dark"]{
  color-scheme:dark;--ink:#f2f2ef;--paper:#0b0b0b;--muted:#b4b4ae;
  --line:#353535;--red:#ff5160;--surface:#171717;--raised:#242424;
  background:var(--paper);color:var(--ink);scrollbar-color:#696969 var(--paper);
}
html[data-site-theme="dark"] body{background:var(--paper);color:var(--ink)}
html[data-site-theme="dark"] ::selection{background:var(--ink);color:var(--paper)}
html[data-site-theme="dark"] :focus-visible{outline-color:var(--red)}
html[data-site-theme="dark"] :is(input,textarea){caret-color:var(--ink)}
html[data-site-theme="dark"] :is(.header-descriptor,.hero-aside p,.section-note,
 .studio-story-copy p:not(.eyebrow),.expertise-content>p,.expertise-row>p,
 .contact-description,.contact-signature>span,.optional,.form-privacy,.required-note,
 .contact-mode,.message-footer #message-count,.development-kicker,
 .development-description,.development-app-copy>.eyebrow,.development-app-description,
 .custom-page-heading p,.custom-page-meta,.custom-page-gallery figcaption,
 .project-detail-head h3>span,.project-detail-facts dt,.project-detail-credit,
 .project-info-bubble dt,.project-info-panel p,.project-info-panel dt,.project-info-panel .credit,
 .viewer-heading .eyebrow,.viewer-heading .eyebrow::after,.viewer-footer,
 .viewer-footer button,.module-loader small,.module-error p:not(.eyebrow),
 .gallery-eyebrow,.gallery-text,.project-detail-gallery>.eyebrow,.info-dialog p:not(.eyebrow),
 .work-text p,.custom-page-body p){color:var(--muted)}
html[data-site-theme="dark"] .language-switcher button{color:var(--muted)}
html[data-site-theme="dark"] .language-switcher button.active,
html[data-site-theme="dark"] .viewer-footer button:hover{color:var(--ink)}
html[data-site-theme="dark"] :is(.viewer-dialog,.viewer-shell,.viewer-content,
 .viewer-header,.viewer-footer,.project-detail-section,.gallery-view,.gallery-bar,
 .split-panel,.info-dialog){background:var(--paper);color:var(--ink);border-color:var(--line)}
html[data-site-theme="dark"] :is(.viewer-stage,.viewer-stage .viewer-body,
 .module-loader,.module-error,.viewer-mode,.studio-image,.page-hero-media,
 .custom-page-cover,.custom-page-gallery img){background:var(--surface)}
html[data-site-theme="dark"] :is(.project-info-panel,.project-info-bubble,.gallery-nav,
 .project-tile-index,.development-app-index,.development-app-status){
 background:var(--raised);color:var(--ink);border-color:var(--line);
}
html[data-site-theme="dark"] :is(.project-detail-facts>div,.project-detail-credit,
 .project-info-panel dl>div,.project-info-bubble dl>div){border-color:var(--line)}
html[data-site-theme="dark"] .viewer-mode button{color:var(--muted)}
html[data-site-theme="dark"] .viewer-mode button[aria-pressed="true"]{color:#fff}
html[data-site-theme="dark"] .set-edge{color:var(--muted)}
html[data-site-theme="dark"] .set-edge::before{background:#777}
html[data-site-theme="dark"] .gallery-nav:hover,
html[data-site-theme="dark"] .gallery-nav:focus-visible{background:var(--red);color:var(--paper)}
html[data-site-theme="dark"] .form-field :is(input,textarea){border-color:#727272;color:var(--ink)}
html[data-site-theme="dark"] .form-field :is(input,textarea)::placeholder{color:var(--muted)}
html[data-site-theme="dark"] .form-field :is(input,textarea):focus{border-color:var(--ink)}
html[data-site-theme="dark"] .form-field [aria-invalid="true"]{border-color:var(--red)}
html[data-site-theme="dark"] .field-error{color:#ffb4b8}
html[data-site-theme="dark"] .service-choice>span{border-color:#727272}
html[data-site-theme="dark"] .service-choice:hover>span{border-color:var(--ink)}
html[data-site-theme="dark"] .service-choice input:checked+span{background:var(--ink);color:var(--paper);border-color:var(--ink)}
html[data-site-theme="dark"] :is(.submit-contact,.button-dark){background:var(--ink);color:var(--paper)}
html[data-site-theme="dark"] .submit-contact:hover{background:#d4d4cf}
html[data-site-theme="dark"] .submit-arrow{color:var(--paper)}
html[data-site-theme="dark"] .form-status{background:#2d1719;color:#ffb4b8;border-left-width:1px}
html[data-site-theme="dark"] .form-status.success{background:#163122;color:#b3e6c2;border-color:#79ba92}
html[data-site-theme="dark"] .info-dialog::backdrop{background:#0009}
html.js[data-site-theme="dark"][data-sticky-nav]:not(.project-open) #page .site-header::before,
html[data-site-theme="dark"].project-open #page .site-header::before{
 background:var(--paper);box-shadow:0 0 0 100vmax var(--paper);border-color:var(--line);
}
html[data-site-theme="dark"]:not([data-layout="full"]) .viewer-dialog[open]{
 box-shadow:0 0 0 100vmax var(--paper);animation-name:dark-box-surround-in;
}
html[data-site-theme="dark"]:not([data-layout="full"]) .viewer-dialog.is-closing{box-shadow:0 0 0 100vmax #0b0b0b00}
@keyframes dark-box-surround-in{from{box-shadow:0 0 0 100vmax #0b0b0b00}}
