/* Additive studio photography; existing layout and content stay intact. */
.studio-photo-block{margin-top:58px;scroll-margin-top:24px}
.studio-photo-heading{display:flex;justify-content:space-between;align-items:baseline;gap:24px;margin-bottom:22px;padding-top:28px;border-top:1px solid var(--line)}
.studio-photo-heading h3{font-family:var(--serif);font-size:clamp(1.65rem,2.5vw,2.2rem);letter-spacing:-.025em;line-height:1.2}
.studio-photo-heading p{font-size:.75rem;letter-spacing:.025em;color:var(--muted);flex-shrink:0}
.studio-photo-grid{display:grid;gap:24px;align-items:start}
.studio-photo-grid--about{grid-template-columns:1.55fr 1fr}
.studio-photo-grid--treatments{grid-template-columns:1fr 1fr 1.22fr}
.studio-photo-grid--consultation{grid-template-columns:1.24fr 1fr}
.studio-photo-grid--studio{grid-template-columns:repeat(3,minmax(0,1fr))}
.studio-photo-card{margin:0;min-width:0}
.studio-photo-open{display:block;position:relative;width:100%;padding:0;border-radius:10px;overflow:hidden;background:var(--soft);border:1px solid #d3c8b9;text-align:left;cursor:zoom-in}
.studio-photo-open img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.studio-photo-grid--about .studio-photo-open{height:clamp(280px,32vw,420px)}
.studio-photo-grid--about .studio-photo-card:first-child img{object-position:50% 46%}
.studio-photo-grid--about .studio-photo-card:last-child img{object-position:56% 44%}
.studio-photo-grid--treatments .studio-photo-open{height:clamp(310px,36vw,470px)}
.studio-photo-grid--treatments .studio-photo-card:last-child img{object-position:48% 45%}
.studio-photo-grid--consultation .studio-photo-open{height:clamp(300px,35vw,440px)}
.studio-photo-grid--consultation .studio-photo-card:first-child img{object-position:50% 43%}
.studio-photo-grid--consultation .studio-photo-card:last-child img{object-position:50% 32%}
.studio-photo-grid--studio .studio-photo-open{aspect-ratio:3/4}
.studio-photo-expand{position:absolute;right:14px;bottom:14px;display:grid;place-items:center;width:35px;height:35px;border-radius:50%;background:#fffdf5ed;color:var(--ink);font-size:1.1rem;box-shadow:0 2px 8px #25221e10}
.studio-photo-card figcaption{margin-top:12px;font-size:.8125rem;color:var(--muted);letter-spacing:.015em}
@media(hover:hover){.studio-photo-open:hover img{transform:scale(1.025)}.studio-photo-open:hover .studio-photo-expand{background:var(--ink);color:var(--paper)}}
.studio-photo-dialog{padding:0;border:0;background:var(--paper);color:var(--ink);border-radius:12px;width:min(1080px,calc(100vw - 48px));max-width:none;max-height:calc(100dvh - 32px);overflow:hidden;box-shadow:0 30px 90px #0004}
.studio-photo-dialog::backdrop{background:#211c16d9;backdrop-filter:blur(7px)}
.studio-photo-viewer{position:relative;padding:48px 62px 24px}
.studio-photo-viewer figure{margin:0;text-align:center}
.studio-photo-viewer figure img{width:100%;height:min(74dvh,820px);object-fit:contain}
.studio-photo-viewer figcaption{font-family:var(--serif);font-size:1.4rem;margin-top:16px;line-height:1.3}
.studio-photo-counter{text-align:center;font-size:.75rem;color:var(--muted);margin-top:8px;letter-spacing:.12em;font-variant-numeric:tabular-nums}
.studio-photo-close,.studio-photo-prev,.studio-photo-next{position:absolute;display:grid;place-items:center;z-index:1;width:44px;height:44px;padding:0;border-radius:50%;background:var(--paper);color:var(--ink);border:1px solid var(--line);font-size:1.25rem}
.studio-photo-close{right:12px;top:10px;font-size:1.75rem}
.studio-photo-prev{left:9px;top:calc(50% - 30px)}
.studio-photo-next{right:9px;top:calc(50% - 30px)}
@media(max-width:700px){
 .studio-photo-block{margin-top:40px;scroll-margin-top:16px}
 .studio-photo-heading{display:block;padding-top:23px;margin-bottom:18px}
 .studio-photo-heading p{margin-top:8px}
 .studio-photo-grid{gap:24px 14px}
 .studio-photo-grid--about{grid-template-columns:1fr}
 .studio-photo-grid--about .studio-photo-card:first-child .studio-photo-open{height:auto;aspect-ratio:1599/959}
 .studio-photo-grid--about .studio-photo-card:last-child .studio-photo-open{height:auto;aspect-ratio:5/4}
 .studio-photo-grid--treatments{grid-template-columns:repeat(2,minmax(0,1fr))}
 .studio-photo-grid--treatments .studio-photo-open{height:auto;aspect-ratio:3/4}
 .studio-photo-grid--treatments .studio-photo-card:last-child{grid-column:1/-1}
 .studio-photo-grid--treatments .studio-photo-card:last-child .studio-photo-open{aspect-ratio:4/3}
 .studio-photo-grid--consultation{grid-template-columns:1fr}
 .studio-photo-grid--consultation .studio-photo-open{height:auto;aspect-ratio:4/3}
 .studio-photo-grid--consultation .studio-photo-card:last-child .studio-photo-open{aspect-ratio:1/1;max-height:470px}
 .studio-photo-grid--consultation .studio-photo-card:last-child img{object-position:50% 48%}
 .studio-photo-grid--studio{grid-template-columns:repeat(2,minmax(0,1fr))}
 .studio-photo-grid--studio .studio-photo-card:first-child{grid-column:1/-1}
 .studio-photo-grid--studio .studio-photo-card:first-child .studio-photo-open{aspect-ratio:1086/1151}
 .studio-photo-card figcaption{font-size:.75rem;margin-top:10px;line-height:1.5}
 .studio-photo-expand{width:30px;height:30px;right:10px;bottom:10px}
 .studio-photo-dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 20px);border-radius:10px}
 .studio-photo-viewer{padding:55px 12px 62px}
 .studio-photo-viewer figure img{height:calc(100dvh - 235px)}
 .studio-photo-viewer figcaption{font-size:1.2rem;margin-top:14px}
 .studio-photo-prev,.studio-photo-next{top:auto;bottom:12px}
 .studio-photo-prev{left:calc(50% - 54px)}
 .studio-photo-next{right:calc(50% - 54px)}
}
@media(prefers-reduced-motion:reduce){.studio-photo-open img{transition:none}.studio-photo-open:hover img{transform:none}}
