:root {
  --cream: #fff;
  --paper: #fff;
  --ink: #171717;
  --muted: #5f5f5f;
  --olive: #808080;
  --line: #d8d8d8;
  --rose: #777;
}

body, .site-header, .hero, .services, .works, .faq, .contact { background: #fff; }
body, .contact, .site-footer, .privacy { color: var(--ink); }
.site-header { border-bottom-color: var(--line); }
.brand-dot, h1 i, h2 i, .contact h2 i { color: #777; }
.desktop-nav a:hover, .text-link:hover, .site-footer a:hover,
.highlight-grid a:hover { color: #555; }
.hero-lede, .about-copy p:not(.eyebrow) { color: #444; }
.hero-note, .section-footnote, .service-index { color: #777; }
.button-dark { background: #171717; color: #fff; }
.button-dark:hover { background: #444; }
.button-light { background: #171717; color: #fff; }
.button-light:hover { background: #444; }
.lang-toggle:hover { background: #f1f1f1; }
.ticker { background: #202020; color: #fff; }

.art-frame { background: #171717; }
.art-frame::before, .art-frame::after { content: none; }
.hero-photo { width: 100%; height: 100%; object-fit: cover; object-position: center 25%; }
@media (max-width: 620px) { .art-frame { height: clamp(540px, 120vw, 680px); } }

.about, .booking, .highlights { background: #f6f6f6; }
.about-placeholder { aspect-ratio: 1 / 1; height: auto; background: #ddd; display: block; }
.about-placeholder::before, .about-placeholder::after { content: none; }
.about-placeholder img { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; border-radius: 0; box-shadow: none; object-fit: cover; object-position: center 42%; }
.booking-grid > div > p:not(.eyebrow), .booking-form .consent,
.form-status { color: #555; }
.booking-form { background: #fff; border: 1px solid var(--line); }
.booking-form input:not([type=checkbox]), .booking-form select,
.booking-form textarea { border-color: #bdbdbd; color: var(--ink); }
.work-photo { background: #e5e5e5; }
.highlight-grid img { outline-color: #c9c9c9; box-shadow: 0 8px 22px rgb(0 0 0 / 8%); }

.contact { border-top: 1px solid var(--line); }
.contact p:not(.eyebrow), .contact-card span { color: #666; }
.contact-card, .contact-card > div { border-color: var(--line); }
.contact-pill { border-color: #aaa; color: #555; }
.privacy { background: #f6f6f6; }
.privacy details { border-top-color: var(--line); }
.privacy p { color: #555; }
.site-footer { background: #f6f6f6; border-top: 1px solid var(--line); }
.footer-inner > span, .footer-inner > a:last-child { color: #666; }
