.photo-masthead{background:var(--blue);color:var(--white);padding-top:clamp(2.5rem,6vw,6rem);overflow:hidden}
.photo-masthead .page-title{color:inherit;font-size:clamp(3.25rem,10.7vw,10rem);font-weight:500;letter-spacing:-.065em;line-height:.98;max-width:11ch;margin:0;position:relative;z-index:1}

.photo-intro-body{padding-block:clamp(3rem,7vw,7rem)}
.photo-intro-layout,.photo-details-layout,.photo-pricing-layout,.photo-film-layout{display:grid;gap:2rem}
.photo-intro-layout .section-heading{font-size:clamp(1.85rem,3.5vw,3.75rem);line-height:1.16;max-width:19ch;margin:0}
.photo-specifications{background:var(--blue);color:var(--white)}
.photo-specifications .section-heading{color:inherit}
.photo-specifications .page-lede{font-size:clamp(1.4rem,2.6vw,2.5rem);line-height:1.35;max-width:22ch}
.photo-label{font-size:1.1rem;margin:0 0 1.25rem;font-weight:600}
.photo-details,.photo-film-list{margin:0;padding:0;list-style:none}
.photo-details li,.photo-film-list li{border-top:1px solid currentColor;padding:1rem 0;line-height:1.5;break-inside:avoid}
.photo-details li:last-child,.photo-film-list li:last-child{border-bottom:1px solid currentColor}
.photo-email{margin-top:2rem;line-height:1.6;max-width:42ch}
.photo-email a{color:inherit;text-underline-offset:.2em;overflow-wrap:anywhere}
.photo-pricing{color:var(--blue)}
.photo-price-band .price-row{padding:1.25rem 0;margin:0;border-top:1px solid currentColor;font-size:clamp(1.5rem,3.1vw,3.25rem);font-weight:500;line-height:1.3}
.photo-price-band .price-row:nth-child(3){border-bottom:1px solid currentColor}
.photo-discount{font-size:1.1rem;line-height:1.5;margin:1.75rem 0 1rem;max-width:36ch}
.photo-film{border-top:1px solid var(--blue)}
.photo-film .photo-label{margin-top:2.5rem}
.photo-visit{background:var(--blue);color:var(--white)}
.photo-visit-layout{display:flex;flex-direction:column;align-items:flex-start;gap:2rem}
.photo-visit .section-heading{color:inherit;margin:0}
@media(min-width:700px){.photo-visit-layout{flex-direction:row;justify-content:space-between;align-items:center}.photo-film-list{columns:2;column-gap:2.5rem}.photo-film-list li:last-child{border-bottom:0}}
@media(min-width:1000px){.photo-intro-layout,.photo-details-layout,.photo-pricing-layout,.photo-film-layout{grid-template-columns:1fr 1.15fr;gap:9%}.photo-intro-layout .prose{padding-top:.25rem}.photo-specifications .photo-email{margin-top:3rem}.photo-film .section-heading{max-width:9ch}.photo-film-list{columns:1}}

.photo-details li,.photo-film-list li{margin-bottom:0}
.photo-pricing .section-heading{font-size:clamp(3.5rem,8vw,8rem);letter-spacing:-.055em}
.photo-price-band{padding-top:.3rem}
.photo-film .section-heading{font-size:clamp(3rem,6vw,6rem);letter-spacing:-.045em}
.photo-visit .section-heading{font-size:clamp(2.5rem,6vw,6rem);letter-spacing:-.045em}
.photo-visit .button{border-radius:0}
@media(min-width:700px){.photo-masthead .page-title{max-width:12ch}}
@media(min-width:1100px){.photo-masthead .page-title{max-width:none;font-size:clamp(5rem,9.2vw,9.2rem)}}

.photo-studio-hero { margin-top:clamp(2rem,5vw,4rem); }
.photo-studio-hero img { display:block; width:100%; height:auto; }
.photo-film .photo-production-image { margin-top:2rem; }
.photo-film .photo-production-image img { display:block; width:100%; height:auto; }
