.b-hero__body { align-items: center; }
.b-hero__media { height: auto; width: min(100%, 28rem); aspect-ratio: 4 / 5; justify-self: center; margin-inline: auto; }
.b-hero__media img, .b-figure__media img { object-fit: contain !important; object-position: 50% 50% !important; }
.b-figure__media { background: var(--paper, #f6f3ee); }
#work .work__grid { grid-template-columns: minmax(0, 24rem); justify-content: center; gap: 2rem; }
#work .work__grid > .b-figure { grid-column: auto; min-width: 0; }
#work .b-figure__media { aspect-ratio: 1; }
#work figcaption { text-align: center; }
.studio__grid { grid-template-columns: minmax(0, 1fr); align-items: start; gap: 2rem; }
.studio__grid > div { min-width: 0; }
.studio__info .b-info__name { font-size: clamp(2rem, 3.6vw, 3.5rem); overflow-wrap: anywhere; }
.hours { list-style: none; margin: .75rem 0 0; padding: 0; }
.hours li { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: baseline; gap: 1rem; padding-block: .8rem; border-bottom: 1px solid var(--line, #ddd); }
.hours .day { font-weight: 600; }
.hours .time { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.hours-shift { display: block; }
.hours-note { margin-top: 1rem; font-size: .9rem; }
.faq { margin: 0; display: grid; gap: 1.25rem; max-width: 46rem; }
.faq__item { border-top: 1px solid var(--line, #ddd); padding-top: 1rem; }
.faq dt { font-weight: 600; margin-bottom: .35rem; }
.faq dd { margin: 0; color: var(--stone); }
@media (min-width: 768px) { #work .work__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .studio__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(3rem, 7vw, 7rem); } }
@media (max-width: 359px) { .hours li { grid-template-columns: 1fr; gap: .25rem; } .hours .time { text-align: left; } }
