/* One studio section for light and dark pages. No inherited column widths. */
.studio-visit {
  --studio-background:#fff;
  --studio-text:#141615;
  --studio-link:#675a2c;
  --studio-map-frame:#f4f4f1;
  width:100%;
  padding:64px 24px;
  background:var(--studio-background);
  color:var(--studio-text);
}
.studio-theme-dark .studio-visit {
  --studio-background:var(--surface-dark);
  --studio-text:#e8e7e2;
  --studio-link:var(--gold);
  --studio-map-frame:#1b1d1c;
}
.studio-visit-grid {
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);
  align-items:center;
  gap:clamp(32px,6vw,88px);
  width:100%;
  max-width:1240px;
  margin-inline:auto;
}
.studio-visit-info { min-width:0; }
.studio-visit .studio-visit-eyebrow { margin:0 0 24px; color:var(--studio-link); font:500 12px/1.5 Jost,sans-serif; letter-spacing:.14em; text-transform:uppercase; }
.studio-visit .section-heading { margin:0 0 36px; color:var(--studio-text); }
.studio-visit .studio-contact-details { color:var(--studio-text); font:400 18px/1.65 Jost,sans-serif; }
.studio-visit .studio-contact-details p { margin:0; }
.studio-visit .studio-contact-hours { gap:6px; }
.studio-visit .studio-contact-nap { margin-top:24px; }
.studio-visit .studio-contact-nap strong { font-weight:500; }
.studio-visit .studio-contact-details a { color:var(--studio-link); overflow-wrap:anywhere; }
.studio-visit .studio-contact-details a:hover { color:var(--studio-text); }
.studio-visit-cta { display:inline-flex; align-items:center; justify-content:center; gap:12px; max-width:100%; min-height:52px; margin-top:28px; padding:16px 26px; background:var(--gold); color:#141615; font:600 14px/1.4 Jost,sans-serif; letter-spacing:.1em; text-align:center; text-transform:uppercase; }
.studio-visit-cta:hover { background:#b5a571; color:#141615; }
.studio-visit-cta:focus-visible { outline:2px solid var(--studio-link); outline-offset:4px; }
.studio-visit-map { min-width:0; width:100%; padding:16px; background:var(--studio-map-frame); }
.studio-visit-map iframe { display:block; width:100%; height:440px; border:0; background:var(--studio-map-frame); }
@media(max-width:767px) {
  .studio-visit { padding:40px 20px; }
  .studio-visit-grid { grid-template-columns:minmax(0,1fr); gap:32px; }
  .studio-visit .section-heading { margin-bottom:28px; }
  main .studio-visit h1.section-heading { font-size:30px !important; }
  .studio-visit-map { padding:10px; }
  .studio-visit-map iframe { height:350px; }
}
