/* Four text roles: display, section heading, body, and utility. */
.photo-edition{--display:clamp(2.1rem,3.9vw,3.5rem);--heading:clamp(1.85rem,3vw,2.6rem);--body:1.125rem;--utility:.875rem;font-size:var(--body)}
.photo-edition h1{font-size:var(--display);line-height:1.16;letter-spacing:-.035em;font-weight:400}
.photo-edition h2{font-size:var(--heading);line-height:1.2;letter-spacing:-.025em;font-weight:400}
.photo-edition h3{font-size:var(--body);line-height:1.5;letter-spacing:0;font-weight:700;margin-bottom:.65rem}
.photo-edition p{font-size:var(--body);line-height:1.65}
.photo-edition .eyebrow,.photo-edition .service-number,.photo-edition .package-detail{font-family:var(--sans);font-size:var(--utility);line-height:1.6;font-weight:400;font-style:normal}
.photo-edition .eyebrow{letter-spacing:.07em}
/* Masthead and navigation. */
.photo-edition .editorial-header{display:flex;flex-direction:column;justify-content:center;gap:0;min-height:0;border-bottom:0;padding:0}
.editorial-header .wordmark{font-size:clamp(2.8rem,5vw,4.4rem);font-weight:400;letter-spacing:.035em;padding-block:2.4rem 2rem;text-align:center}
.editorial-header nav{width:100%;min-height:72px;justify-content:center;gap:5rem;border-block:1px solid var(--line);font-family:var(--sans);font-size:var(--utility);letter-spacing:.07em;text-transform:uppercase}
.editorial-header nav a{padding:.6rem .3rem}
.editorial-header .nav-contact{border-bottom:0}
.offer{text-align:center;padding-block:3.25rem 2.5rem}
.offer h1{max-width:1000px;margin:0 auto 1.1rem}
.offer-tagline{color:var(--muted)}
.offer .button{margin-top:1.35rem}
/* Joined photographs, with space at the outside edges and no frame. */
.hero-slideshow.wrap{width:min(calc(100% - 4rem),1480px);margin-bottom:4.5rem;padding:0;border:0}
.slideshow-frame{display:grid;aspect-ratio:8/3;overflow:hidden}
.hero-slide{grid-area:1/1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:0;min-width:0;min-height:0;opacity:0;visibility:hidden;transition:opacity 1.1s ease,visibility 1.1s;pointer-events:none}
.hero-slide.is-active{opacity:1;visibility:visible}
.hero-slide.wide-left{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}
.hero-slide.wide-right{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}
.hero-slide figure{min-width:0;min-height:0}
.hero-slide img{display:block;width:100%;height:100%;object-fit:cover}
.hero-slideshow:focus-visible{outline:1px solid var(--ink);outline-offset:6px}
.photo-edition .introduction{grid-template-columns:minmax(0,420px) minmax(0,560px);justify-content:center;align-items:center;gap:5rem;padding-block:1rem 4.5rem}
.introduction-photo{max-width:360px;justify-self:center}
.introduction-photo img{display:block;width:100%;height:auto}
.introduction-copy h2{margin-bottom:1.5rem}
.introduction-copy p{color:var(--muted);max-width:520px}
/* Text-only services. */
.photo-edition .approach{padding-block:3.5rem 4rem}
.photo-edition .section-heading{grid-template-columns:1fr;gap:1.2rem;align-items:start;margin-bottom:2.6rem}
.photo-edition .section-heading>p{font-size:var(--body);line-height:1.65;font-weight:400;max-width:760px}
.photo-edition .services{grid-template-columns:repeat(4,minmax(0,1fr));gap:2rem}
.photo-edition .service{border-top:1px solid var(--line);padding:1.2rem 0 0;min-width:0}
.service-caption{padding:0}
.photo-edition .service-number{position:static;display:block;margin-bottom:1rem}
.photo-edition .service p{font-size:var(--body);max-width:510px}
/* Consultation copy and pricing beside a cooking photograph. */
.photo-contact{border:0;padding:4rem 0;background:var(--paper)}
.contact-layout{display:grid;grid-template-columns:minmax(0,560px) minmax(0,360px);justify-content:center;gap:5rem;align-items:center}
.photo-contact h2{max-width:560px;margin-bottom:1rem}
.photo-contact .pricing{margin-top:2rem}
.photo-contact .package+.package{border-top:1px solid var(--line);padding-top:1.25rem;margin-top:1.25rem}
.photo-edition .package>p:first-child{font-size:var(--body)}
.photo-contact .package strong{display:block;font-size:var(--body);font-weight:700;margin-top:.15rem}
.photo-contact .package-detail{margin-top:.3rem}
.contact-photo{width:100%;max-width:360px;justify-self:center}
.contact-photo img{display:block;width:100%;height:auto}
/* Profile. */
.about-profile{background:var(--stone)}
.portrait-about{display:grid;grid-template-columns:minmax(220px,340px) minmax(0,560px);justify-content:center;gap:5rem;align-items:center;padding-block:4.5rem}
.portrait{max-width:340px}
.portrait img{display:block;width:100%;height:auto}
.portrait-copy .about-copy{font-size:var(--body);line-height:1.65;max-width:560px}
.photo-edition .button{background:#2400ff;border-color:#2400ff;color:#fff;padding:.85rem 1.8rem;font-family:var(--serif);font-size:var(--body);font-weight:400;line-height:1.5}
.photo-edition .button:hover{background:#1d00d6;border-color:#1d00d6}
.photo-edition .button[aria-disabled=true]{cursor:default}
.photo-edition .site-footer{border:0}
@media(max-width:1100px){.photo-edition .introduction,.portrait-about,.contact-layout{gap:3rem}.photo-edition .services{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem 3rem}.portrait-about{grid-template-columns:minmax(200px,.7fr) 1fr}}
@media(max-width:760px){.offer{padding-block:2.4rem 2rem}.offer h1 br{display:none}.editorial-header .wordmark{padding-block:1.8rem 1.5rem}.editorial-header nav{min-height:62px;gap:2.5rem}.hero-slideshow.wrap{width:calc(100% - 2rem);margin-bottom:3rem}.photo-edition .introduction{grid-template-columns:1fr;gap:2rem;padding-block:0 3rem}.introduction-photo{width:75%;max-width:360px}.introduction-copy h2{margin-bottom:1rem}.photo-edition .section-heading{grid-template-columns:1fr;gap:1.2rem;margin-bottom:2rem}.photo-edition .approach{padding-block:3rem}.photo-edition .services{gap:2rem}.contact-layout{grid-template-columns:1fr;gap:2.5rem}.photo-contact{padding:3rem 0}.contact-photo{width:75%}.portrait-about{grid-template-columns:1fr;gap:2rem;padding-block:3rem}.portrait{width:70%;max-width:320px;justify-self:center}}
@media(max-width:480px){.photo-edition .services{grid-template-columns:1fr}}
