/* Final color layer. Geometry, imagery and interaction stay in the original styles. */
:root {
  --rc-ink: #000000;
  --rc-ivory: #FFFFFF;
  --rc-brass: #B89755;
  --rc-tiffany: #4FC2B1;
  --rc-line: rgb(0 0 0 / 24%);
}
body.design-atelier {
  --atelier-paper: var(--rc-ivory);
  --atelier-ink: var(--rc-ink);
  --atelier-line: rgb(0 0 0 / 24%);
}
html, body, html:has(body.design-atelier) { background-color: var(--rc-ivory); }
body { color: var(--rc-ink); }

/* Keep foregrounds readable on the Classic photographs and inverted bitmap logo. */
body:not(.design-atelier) .hero,
body:not(.design-atelier) .services,
body:not(.design-atelier) .method,
body:not(.design-atelier) .project-gallery,
body:not(.design-atelier) .site-footer { color: var(--rc-ivory); }
body:not(.design-atelier) .method,
body:not(.design-atelier) .project-gallery,
body:not(.design-atelier) .site-footer { background-color: var(--rc-ink); }
body:not(.design-atelier) .hero .eyebrow,
body:not(.design-atelier) .services .eyebrow,
body:not(.design-atelier) .method .eyebrow,
body:not(.design-atelier) .project-gallery .eyebrow,
body:not(.design-atelier) .hero__copy,
body:not(.design-atelier) .method-list p,
body:not(.design-atelier) .site-footer p { color: var(--rc-ivory); }
body:not(.design-atelier) .site-footer__note { color: var(--rc-ivory) !important; }
body:not(.design-atelier) .service-grid,
body:not(.design-atelier) .service-grid article,
body:not(.design-atelier) .method-list li,
body:not(.design-atelier) .site-footer { border-color: rgb(255 255 255 / 24%); }
.hero::after { background: rgb(0 0 0 / 28%); }
.services::before { background: rgb(0 0 0 / 56%); }
.method::before { background: rgb(0 0 0 / 54%); }
.gallery-grid a { background-color: var(--rc-ink); }
.gallery-grid figcaption { background: linear-gradient(transparent, rgb(0 0 0 / 88%)); }
.gallery-modal__close { background-color: rgb(0 0 0 / 84%); border-color: rgb(255 255 255 / 24%); }
.gallery-modal__close:hover { background-color: var(--rc-ink); }

.site-header { background-color: rgb(0 0 0 / 40%); border-color: rgb(255 255 255 / 16%); }
html[data-header="compact"] .site-header {
  background-color: var(--rc-ivory);
  border-color: var(--rc-line);
}
html[data-header="compact"] .site-wordmark,
html[data-header="compact"] .site-navigation a,
html[data-header="compact"] .design-atelier .atelier-menu-toggle { color: var(--rc-ink); }

/* Requested menu colors remain the same before and after scrolling. */
body.design-atelier .site-header,
html[data-header="compact"] body.design-atelier .site-header,
body.design-atelier.atelier-internal-page .site-header {
  background-color: var(--rc-tiffany);
  color: var(--rc-ink);
  border-color: rgb(255 255 255 / 24%);
}
body.design-atelier .site-header .site-wordmark,
body.design-atelier .site-header .site-navigation a,
body.design-atelier .site-header .atelier-menu-toggle,
body.home.design-atelier .site-header .atelier-menu-toggle,
html[data-header="compact"] body.design-atelier .site-header .atelier-menu-toggle { color: var(--rc-ink); }
.design-atelier .atelier-menu .site-navigation a,
.design-atelier .atelier-menu__close { color: var(--rc-ivory); }
.design-atelier .atelier-menu { background-color: var(--rc-tiffany); color: var(--rc-ivory); }
.design-atelier .hero-ticker { background-color: var(--rc-ink); color: var(--rc-brass); }
body.design-atelier .method { background-color: var(--rc-tiffany); color: var(--rc-ivory); }
.design-atelier .method .eyebrow,
.design-atelier .method .section-heading h2,
.design-atelier .method .method-list h3,
.design-atelier .method .method-list p,
.design-atelier .method .method-icon { color: var(--rc-ivory); }
.design-atelier .method .section-heading,
.design-atelier .method .method-list li { border-color: rgb(255 255 255 / 24%); }

.eyebrow,
.enquiry .eyebrow,
.enquiry > p,
.project-feature__copy > p:last-child,
.faq-list details p,
.page-content p,
.page-content li,
.design-atelier .eyebrow,
.design-atelier .service-description,
.design-atelier .project-feature__copy > p:last-child,
.design-atelier .enquiry > p,
.design-atelier .atelier-enquiry-copy > p:not(.eyebrow),
.design-atelier .faq-list details p,
.design-atelier .internal-section p,
.design-atelier .internal-section li,
.design-atelier .site-footer p,
.design-atelier .site-footer a,
.design-atelier .page-content p,
.design-atelier .page-content li,
.faq-list summary::after { color: var(--rc-ink); }
.design-atelier .site-footer__note { color: var(--rc-ink) !important; }
.design-atelier .services,
.design-atelier .project-gallery,
.design-atelier .project-feature,
.design-atelier .enquiry,
.design-atelier .gallery-modal,
.design-atelier .site-footer,
.design-atelier .page-content { background-color: var(--rc-ivory); color: var(--rc-ink); }
.design-atelier .service-card__link { background-color: var(--rc-tiffany); color: var(--rc-ink); }
.design-atelier .service-card__link:hover,
.design-atelier .service-card__link:focus-visible { background-color: var(--rc-ink); color: var(--rc-ivory); }

.design-atelier .hero::before { background: rgb(255 255 255 / 75%); }
.design-atelier .hero__title { color: var(--rc-brass); }
.design-atelier .service-number { color: var(--rc-brass); }
.design-atelier .insect-screens__copy > .eyebrow { color: var(--rc-tiffany); }
.design-atelier .internal-hero { background-color: var(--rc-ink); }
.design-atelier .internal-hero::after { background: linear-gradient(180deg, rgb(0 0 0 / 12%) 25%, rgb(0 0 0 / 70%) 100%); }
.design-atelier .internal-hero h1 { color: var(--rc-ivory); }
.atelier-hero-annotation { border-color: rgb(255 255 255 / 60%); }
.design-atelier .hero[data-atelier-current="sole"] .atelier-hero-annotation,
.design-atelier .hero[data-atelier-current="biancheria"] .atelier-hero-annotation { border-color: rgb(0 0 0 / 45%); }
/* Gold accents and the gold-on-black ticker; labels on white remain black. */
.design-atelier .hero > .eyebrow::before { background-color: var(--rc-brass); }
.design-atelier .enquiry__note { border-color: var(--rc-brass); }

.button-brass .wp-element-button,
.button-link,
.design-atelier .button-link,
.mobile-actions a + a { background-color: var(--rc-tiffany); color: var(--rc-ink); }
.design-atelier .button-brass .wp-element-button { background-color: transparent; color: var(--rc-ink); }
.design-atelier .button-brass .wp-element-button::before { background-color: var(--rc-tiffany); color: var(--rc-ink); }
.button-brass .wp-element-button:hover,
.button-link:hover,
.design-atelier .button-link:hover,
.mobile-actions a:hover { background-color: var(--rc-ink); color: var(--rc-ivory); }
.design-atelier .button-brass .wp-element-button:hover { background-color: transparent; color: var(--rc-ink); }
.design-atelier .button-brass .wp-element-button:hover::before { background-color: var(--rc-ink); color: var(--rc-ivory); }
.mobile-actions { background-color: var(--rc-ivory); }
.design-atelier .mobile-actions { box-shadow: 0 -4px 24px rgb(0 0 0 / 10%); }

.request-form-section,
.design-atelier .request-form-section,
.design-atelier .enquiry .request-form-section,
.design-atelier .internal-request { background-color: var(--rc-ivory); color: var(--rc-ink); }
.request-form-section > p:not(.eyebrow),
.design-atelier .request-form-section > p:not(.eyebrow),
.rosanna-request-form__consent label,
.design-atelier .rosanna-request-form__consent label,
.rosanna-request-form__status,
.design-atelier .rosanna-request-form__status,
.rosanna-request-form__status[data-state="success"],
.rosanna-request-form__status[data-state="error"],
.rosanna-request-form__photos-status[data-state="error"] { color: var(--rc-ink); }
.rosanna-request-form a { color: var(--rc-ink); }
.rosanna-request-form input,
.rosanna-request-form textarea,
.rosanna-request-form select,
.design-atelier .rosanna-request-form input,
.design-atelier .rosanna-request-form textarea,
.design-atelier .rosanna-request-form select { background-color: var(--rc-ivory); color: var(--rc-ink); border-color: var(--rc-ink); }
.rosanna-request-form input::placeholder,
.rosanna-request-form textarea::placeholder { color: rgb(0 0 0 / 72%); }
.rosanna-request-form select option,
.design-atelier .rosanna-request-form select option { background-color: var(--rc-ivory); color: var(--rc-ink); }
.rosanna-request-form__consent input { accent-color: var(--rc-ink); }
.rosanna-request-form input[type="file"]::file-selector-button,
.design-atelier .rosanna-request-form input[type="file"]::file-selector-button,
.rosanna-request-form button[type="submit"],
.design-atelier .rosanna-request-form button[type="submit"] { background-color: var(--rc-tiffany); color: var(--rc-ink); }
.rosanna-request-form button[type="submit"]:hover,
.design-atelier .rosanna-request-form button[type="submit"]:hover { background-color: var(--rc-ink); color: var(--rc-ivory); }

.design-atelier .atelier-slider-controls { background-color: rgb(0 0 0 / 72%); border-color: rgb(255 255 255 / 30%); color: var(--rc-ivory); }
.design-atelier .atelier-slider-controls .atelier-slider-controls__pause { border-color: rgb(255 255 255 / 30%); }
.design-atelier .atelier-slider-controls button[aria-pressed="true"]::after { background-color: var(--rc-tiffany); }
.design-atelier .atelier-social-icon { background-color: var(--rc-tiffany); border-color: var(--rc-ink); color: var(--rc-ink); }
.design-atelier .atelier-social-icons a:hover,
.design-atelier .atelier-social-icons a:focus-visible { background-color: var(--rc-ink); color: var(--rc-ivory); }
.location-map { background-color: var(--rc-ink); }
.location-map::after { background: linear-gradient(90deg, rgb(0 0 0 / 25%), transparent 45%, rgb(0 0 0 / 18%)); }
.location-map__address { background-color: rgb(0 0 0 / 78%); color: var(--rc-ivory); }

/* These selectors are inert when the consent plugin is absent. */
.rc-consent, .rc-map {
  --rc-cookie-ink: var(--rc-ink);
  --rc-cookie-ivory: var(--rc-ivory);
  --rc-cookie-brass: var(--rc-brass);
}
.rc-consent .rc-consent__banner,
.rc-consent .rc-consent__panel { background-color: var(--rc-ivory); border-color: var(--rc-line); }
.rc-consent .rc-consent__banner { box-shadow: 0 12px 50px rgb(0 0 0 / 20%); }
.rc-consent .rc-consent__eyebrow,
.rc-consent .rc-consent__service small { color: var(--rc-ink); }
.rc-consent .rc-consent__service { border-color: var(--rc-line); }
.rc-consent .rc-consent__choice,
.rc-map .rc-map__actions a,
.rc-map .rc-map__actions button { background-color: var(--rc-tiffany); color: var(--rc-ink); border-color: var(--rc-ink); }
.rc-consent .rc-consent__choice:hover,
.rc-map .rc-map__actions a:hover,
.rc-map .rc-map__actions button:hover { background-color: var(--rc-ink); color: var(--rc-ivory); }
.rc-consent .rc-consent__personalize { border-color: var(--rc-ink); color: var(--rc-ink); }
.rc-consent .rc-consent__overlay { background-color: rgb(0 0 0 / 60%); }
.rc-map { background-color: var(--rc-ivory); color: var(--rc-ink); }
.rc-map .rc-map__fallback .rc-map__eyebrow { color: var(--rc-ink); }

:focus-visible,
.rosanna-request-form input:focus-visible,
.rosanna-request-form textarea:focus-visible,
.rosanna-request-form select:focus-visible,
.rosanna-request-form button[type="submit"]:focus-visible,
.rc-consent button:focus-visible,
.rc-consent a:focus-visible,
.rc-consent input:focus-visible,
.rc-map button:focus-visible,
.rc-map a:focus-visible,
.rc-consent__footer:focus-visible { outline-color: var(--rc-ink); }
body:not(.design-atelier) .hero :focus-visible,
body:not(.design-atelier) .services :focus-visible,
body:not(.design-atelier) .method :focus-visible,
body:not(.design-atelier) .project-gallery :focus-visible,
body:not(.design-atelier) .site-footer :focus-visible,
.gallery-modal__close:focus-visible,
.design-atelier .atelier-slider-controls button:focus-visible { outline-color: var(--rc-tiffany); }
