:root {
  color-scheme: light;
  --v7-paper: #fff;
  --v7-ink: #171512;
  --v7-muted: #625d55;
  --v7-rule: #ddd9d1;
  --v7-gold: #8a6f3e;
  --v7-black: #0b0a09;
}

html, body {
  background: var(--v7-paper) !important;
  color: var(--v7-ink) !important;
}

div[style*="font-family:'Jost'"][style*="min-height:100vh"] {
  background: var(--v7-paper) !important;
  color: var(--v7-ink) !important;
}

/* A clear white masthead keeps the navigation legible over both light and dark imagery. */
header[style*="position:fixed"] {
  color: var(--v7-ink) !important;
  background: rgba(255,255,255,.94) !important;
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
}
header[style*="position:fixed"] > button,
header[style*="position:fixed"] > a {
  color: var(--v7-ink) !important;
}
header[style*="position:fixed"] > button span span {
  background: var(--v7-ink) !important;
}
img[src*="emblem-white"] {
  filter: brightness(0) saturate(100%);
}

/* White is the default surface; named dark sections are kept as deliberate accents. */
#top:not(.companion-hero) { color: #fff !important; }
section:not(#top):not(.v7-dark-section) {
  background: var(--v7-paper) !important;
  color: var(--v7-ink) !important;
}
section:not(#top):not(.v7-dark-section) :is(h1,h2,h3,h4,p,li,a,button,label,legend,span) {
  color: var(--v7-ink) !important;
}
section:not(#top):not(.v7-dark-section) :is(p,li,label,legend)[style*="color:#B5AC9F"],
section:not(#top):not(.v7-dark-section) :is(p,li,label,legend)[style*="color:#D4CCBF"],
section:not(#top):not(.v7-dark-section) :is(p,li,label,legend)[style*="color:#9A9184"] {
  color: var(--v7-muted) !important;
}
section:not(#top):not(.v7-dark-section) :is(h1,h2,h3,h4,p,li,a,button,label,legend,span)[style*="color:#C8AE7D"] {
  color: var(--v7-gold) !important;
}

/* Companion hero is a transparent product cutout on white, including on phones. */
#top.companion-hero {
  background: #fff !important;
  color: var(--v7-ink) !important;
}
#top.companion-hero > div[style*="linear-gradient"] {
  display: none !important;
}
#top.companion-hero > div[style*="left:clamp"] :is(p,h1,h2,a,span) {
  color: var(--v7-ink) !important;
}
#top.companion-hero > div[style*="left:clamp"] p[style*="color:#C8AE7D"] {
  color: var(--v7-gold) !important;
}
#top.companion-hero .dc-scroll { color: var(--v7-muted) !important; }
#top.companion-hero .dc-scroll span { background: linear-gradient(var(--v7-gold), transparent) !important; }

/* The commission form sits on white; its photograph remains a single dark panel. */
.v7-commission-layout { background: #fff !important; color: var(--v7-ink) !important; }
.v7-commission-layout > div:nth-child(2) { background: #fff !important; color: var(--v7-ink) !important; }
.v7-commission-layout > div:nth-child(2) :is(h1,h2,h3,p,label,legend,span,a) { color: var(--v7-ink) !important; }
.v7-commission-layout > div:nth-child(2) :is(p,label,legend)[style*="color:#9A9184"] { color: var(--v7-muted) !important; }
.v7-commission-layout input:not([type="checkbox"]),
.v7-commission-layout textarea { color: var(--v7-ink) !important; border-color: #b9b4ab !important; }
.v7-commission-layout .js-interest { color: var(--v7-ink) !important; border-color: #b9b4ab !important; }
.v7-commission-layout .pv-submit { color: #fff !important; background: var(--v7-black) !important; }
.v7-commission-layout .js-error { color: #8f241c !important; }

/* Keep contextual photography intact while removing gray filler behind contained images. */
[style*="background:#DDD6CA"],
[style*="background: #DDD6CA"] { background: #fff !important; }
.js-menu-img { background: transparent !important; }

footer {
  background: #fff !important;
  color: var(--v7-ink) !important;
  border-color: var(--v7-rule) !important;
}
footer :is(a,p,span) { color: var(--v7-ink) !important; }
footer .dc-nl-input { color: var(--v7-ink) !important; border-color: var(--v7-rule) !important; }
footer .dc-nl-msg { color: var(--v7-muted) !important; }
footer .dc-nl-btn { background: var(--v7-black) !important; color: #fff !important; }
footer .dc-partner { color: var(--v7-ink) !important; }

/* Menus and chosen photographic moments remain the black contrast notes. */
.v7-dark-section { background-color: var(--v7-black); color: #fff; }
#dc-menu { background: var(--v7-black) !important; }

@media (max-width: 719px) {
  #top.companion-hero {
    background: #fff !important;
  }
  #top.companion-hero > div[style*="left:clamp"] {
    background: #fff !important;
  }
  #top.companion-hero > img {
    object-position: center bottom !important;
  }
}

/* Keep a black homepage canvas, with the existing white sections as inserts. */
body:has(#collection),
body:has(#collection) > div[style*="min-height:100vh"] {
  background: var(--v7-black) !important;
  color: #ede6da !important;
}
body:has(#collection) header[style*="position:fixed"] {
  color: #ede6da !important;
  background: linear-gradient(#0B0A09cc,#0B0A0900) !important;
}
body:has(#collection) header[style*="position:fixed"] > button,
body:has(#collection) header[style*="position:fixed"] > a {
  color: #ede6da !important;
}
body:has(#collection) header[style*="position:fixed"] > button span span {
  background: #ede6da !important;
}
body:has(#collection) header img[src*="emblem-white"] { filter: none; }
body:has(#collection) img[style*="background:#DDD6CA"] { background: transparent !important; }
