/* Public studio/master additions reuse the existing colors, type and components. */
.masters-section,.master-section,.master-booking { scroll-margin-top:110px; }
.masters-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.master-card { min-width:0; display:flex; flex-direction:column; }
.master-photo-link { display:block; border-radius:var(--radius); overflow:hidden; }
.master-card .photo,.master-card .photo-placeholder { display:block; width:100%; aspect-ratio:4/3; }
.master-card .photo img { width:100%; height:100%; object-fit:cover; }
.master-card .photo-placeholder,.master-hero .photo-placeholder { display:grid; place-items:center; background:var(--surface-blush); color:var(--accent); }
.master-card .photo-placeholder .icon { width:50px; height:50px; }
.master-card .card-content { display:flex; flex-direction:column; flex:1; gap:10px; }
.master-card h3,.master-name-link,.master-hero h1,.master-booking h2 { overflow-wrap:anywhere; }
.master-card h3 { margin:0; }
.master-name-link { color:inherit; }
.master-specialization { color:var(--muted); }
.master-card-description { font-size:14px; }
.master-service-preview { padding:0; margin:4px 0 14px; list-style:none; }
.master-service-preview li { display:flex; justify-content:space-between; gap:12px; border-block-end:1px solid var(--line); padding-block:8px; font-size:13px; }
.master-service-preview li span { min-width:0; overflow-wrap:anywhere; }
.master-service-preview bdi { flex-shrink:0; }
.master-card .button { align-self:flex-start; margin-block-start:auto; }
.master-hero .hero-copy { min-width:0; }
.master-hero h1 { font-size:clamp(38px,5vw,68px); }
.master-hero .hero-copy>.text-link { margin-block-end:18px; }
.master-hero .hero-portrait .photo-placeholder { min-height:300px; width:100%; border-radius:var(--radius); }
.master-hero .hero-portrait .photo-placeholder .icon { width:100px; height:100px; }
.master-description { max-width:850px; line-height:1.85; overflow-wrap:anywhere; }
.master-gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.master-work { margin:0; min-width:0; }
.master-work .photo { display:block; aspect-ratio:1; }
.master-work .photo img { width:100%; height:100%; object-fit:cover; }
.master-work figcaption { margin-block-start:10px; overflow-wrap:anywhere; }
.master-section .service-card h3,.master-section .service-card p { overflow-wrap:anywhere; }
.master-booking>.section-heading { padding-top:36px; }
.master-booking .booking-services .service-choice:last-child { grid-column:auto; display:flex; flex-direction:column; }
.master-booking .booking-services .service-choice:last-child input { grid-column:auto; }
.booking-availability { min-height:24px; margin-block:12px; }
.calendar-day:disabled { opacity:.35; cursor:default; }
@media(max-width:1000px){.masters-grid,.master-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); }}
@media(max-width:600px){
 .masters-grid { grid-template-columns:1fr; gap:20px; }
 .master-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
 .master-card .card-content { padding:18px 8px 8px; }
 .master-card h3 { font-size:30px; }
 .master-hero .hero-copy { padding-block-end:20px; }
 .master-hero .hero-portrait .photo-placeholder { min-height:220px; }
 .master-booking>.section-heading h2 { font-size:28px; }
 .master-booking .booking-services { grid-template-columns:1fr; }
 .master-booking .booking-services .service-choice { text-align:start; }
 .master-booking .booking-services .service-choice .photo { max-height:160px; overflow:hidden; }
 .master-booking .booking-services .service-choice span { overflow-wrap:anywhere; }
 .master-booking .booking-services .service-choice:last-child .photo { grid-row:auto; }
 .master-section .full-services .service-meta { flex-wrap:wrap; }
}

/* Retain diptych cropping in the master works gallery. */
.master-work .photo.diptych img{width:200%}
