html.studio-light-page { background: #fff; color-scheme: light; }
.studio-page { --paper: #fff; --ink: #363636; --muted: #6b6b6b; --line: #e5e5e5; --studio-accent: #565656; background: #fff; color: var(--ink); color-scheme: light; }
.studio-page .site-header, .studio-page .menu-drawer, .studio-page .site-footer, .studio-page .cta { background: #fff; }
.studio-opening { width: 100%; margin: 0; }
.studio-opening-photo { width: 100%; margin: 0; overflow: hidden; background: #101010; }
.studio-opening-photo img { display: block; width: 100%; height: auto; }
.studio-opening-intro { max-width: 1280px; margin: 0 auto; padding: clamp(40px, 6vw, 88px) var(--space); display: grid; grid-template-columns: 1fr 1fr; column-gap: 8%; align-items: start; }
.studio-opening-intro .eyebrow { grid-column: 1 / -1; margin-bottom: 24px; }
.studio-opening-intro h1 { margin: 0; font-size: clamp(34px, 4.1vw, 62px); line-height: 1.15; font-weight: 300; letter-spacing: -.03em; }
.studio-opening-intro > p:last-child { max-width: 44ch; margin: 0; font-size: 1rem; line-height: 1.85; color: var(--muted); }
@media (min-width: 841px) {
  .studio-opening-photo { max-height: none; }
  .studio-opening-photo img { width: 100%; height: auto; }
}
.studio-visit {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
  grid-template-areas: "copy photo" "details photo";
  grid-template-rows: 1fr 1fr;
  align-items: center;
  gap: 32px clamp(36px, 6vw, 90px);
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  padding: clamp(54px, 7vw, 100px) var(--space) 40px;
}
.studio-visit-copy {
  grid-area: copy;
  align-self: end;
}
.studio-visit-photo {
  grid-area: photo;
  width: 100%;
  min-width: 0;
  margin: 0;
}
.studio-visit-photo img {
  width: 100%;
  height: auto;
  object-fit: contain;
}
.studio-visit h2 {
  margin: 0 0 25px;
  font-size: clamp(29px, 3.1vw, 40px);
}
.studio-visit p:not(.eyebrow),
.studio-visit address {
  max-width: 45ch;
  font-size: 1rem;
  line-height: 1.9;
  color: var(--muted);
}
.studio-visit address {
  margin: 0 0 20px;
  font-style: normal;
}
.studio-visit-details {
  grid-area: details;
  align-self: start;
}

@media (max-width: 840px) {
 .studio-opening-photo img { width: 100%; max-width: 100%; margin-left: 0; }
 .studio-opening-intro { display: block; padding: 36px 24px 32px; }
 .studio-opening-intro h1 { margin-bottom: 24px; }
 .studio-visit { grid-template-columns: minmax(0, 1fr); grid-template-areas: "copy" "photo" "details"; grid-template-rows: auto; gap: 32px; padding: 40px 24px 24px; }
 .studio-visit-photo { width: calc(100% + 48px); margin-inline: -24px; }
}

/* Continuous dark opening; the editorial cutout already carries its own curve. */
.studio-page .site-header { --ink: #f5f5f5; --muted: #c5c5c5; --line: #ffffff24; --editorial-accent: #fff; background: #171717; color: #f5f5f5; color-scheme: dark; }
.studio-page .site-header .brand { color: #fff; }
.studio-page .site-header .masthead { border-bottom-color: transparent; }
.studio-page .site-header .menu-drawer { background: #171717; color: #f5f5f5; }
.studio-page .site-header .furniture-menu-group,
.studio-page .site-header .furniture-menu-group > div > a { color: #d5d5d5; }
.studio-page .site-header a:focus-visible,
.studio-page .site-header button:focus-visible,
.studio-page .site-header summary:focus-visible { outline-color: #fff; }
.studio-page .site-header .nav-main a:hover,
.studio-page .site-header .nav-main a[aria-current=page] { border-bottom-color: #fff; }

/* Match the drawer's ID-specific navigation rules on the dark Studio header. */
.studio-page #site-menu { color: #fff; border-right-color: #ffffff24; scrollbar-color: #ffffff66 #171717; }
.studio-page #site-menu a,
.studio-page #site-menu .menu-overview,
.studio-page #site-menu .furniture-menu-group > div > a { color: #e0e0e0; }
.studio-page #site-menu .menu-primary,
.studio-page #site-menu .furniture-menu-group,
.studio-page #site-menu summary,
.studio-page #site-menu .menu-contact a { color: #fff; }
.studio-page #site-menu a:hover,
.studio-page #site-menu summary:hover,
.studio-page #site-menu a[aria-current=page] { color: #fff; }
.studio-page #site-menu .menu-section,
.studio-page #site-menu .menu-children,
.studio-page #site-menu .furniture-menu-group > div,
.studio-page #site-menu .menu-languages { border-color: #ffffff24; }
.studio-page #site-menu .menu-language-label { color: #e0e0e0; opacity: 1; }
.studio-page #site-menu .language-options button { color: #fff; }
.studio-page #site-menu .language-options button:hover { opacity: 1; }
.studio-page #site-menu :is(a, button, summary):focus-visible { outline: 2px solid #fff; outline-offset: 3px; }

.studio-page .studio-opening-photo { position: relative; background: #fff; border-radius: 0; }
.studio-page .studio-opening-photo img { border-radius: 0 !important; }
.studio-page .studio-opening-photo::before { content: ''; position: absolute; z-index: 1; top: 0; left: 0; right: 0; height: clamp(18px, 3vw, 48px); background: linear-gradient(#171717, transparent); pointer-events: none; }
