/* Shared geometry: one page rail, an eight-pixel rhythm, equal image frames.
   Organic character comes from the photographs and softened frames, not offsets. */
:root{--page-rail:clamp(24px,6vw,96px);--image-radius:24px;--layout-gap:24px}
header{max-width:none;padding-left:var(--page-rail);padding-right:var(--page-rail)}
.section{max-width:none;padding-left:var(--page-rail);padding-right:var(--page-rail);padding-top:72px;padding-bottom:72px}
footer{margin-left:var(--page-rail);margin-right:var(--page-rail)}
.hero{margin:0 var(--page-rail);border-radius:var(--image-radius);min-height:600px;height:min(760px,83svh)}
.hero-copy{display:flex;flex-direction:column;align-items:flex-start;gap:24px;padding:56px 48px 104px}
.hero-copy>*{margin:0!important}
.hero-chapter{line-height:1.5}
.hero .eyebrow{line-height:1.6;max-width:none}
.hero h1{font-size:clamp(76px,10.5vw,148px);line-height:1.12;letter-spacing:-.035em;position:relative;left:-.035em;text-wrap:nowrap}
.hero .intro{line-height:1.5}
.hero .play{margin:0;min-height:48px;border-radius:8px}
.hero-bottom{left:48px;right:48px;bottom:24px}
.hero-byline{line-height:1.6}
.section-heading h2,.page-intro h1,.about-opening h1{position:relative;left:-.025em}
h1,h2,h3{font-synthesis:none}
.section-heading h2 em,.page-intro h1 em,.about-opening h1 em{font:inherit;letter-spacing:inherit}
.section-heading{margin-bottom:32px!important}
.photo-grid,.full-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--layout-gap);align-items:start}
.photo,.photography>.photo-grid .photo,.full-gallery .photo,.full-gallery .photo:has(img[src]){aspect-ratio:3/2;border-radius:var(--image-radius);margin:0;isolation:isolate}
.photo img{object-fit:cover;object-position:50% 45%}
.photo:after{content:'';position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 40px #1a241512;pointer-events:none;z-index:1}
.photo>span{z-index:2;padding:40px 24px 20px;line-height:1.5}
.food-feature{grid-template-columns:1.35fr 1fr;gap:48px;align-items:center;margin-bottom:32px}
.food-story{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
.food-story .photo,.food-story .photo:nth-child(2){aspect-ratio:4/5;margin:0}
.food-copy h3{margin:16px 0;line-height:1.25}
.film-card,.collection-poster{border-radius:var(--image-radius)}
.film-collection{gap:40px 24px;align-items:start}
.collection-film h3{min-height:2.8em}
.second-film{gap:48px;align-items:center}
.statement{grid-template-columns:1fr 2fr;gap:48px}
.personal-intro{margin:0 var(--page-rail);max-width:none;border-radius:var(--image-radius);overflow:hidden}
.personal-intro img{height:100%;aspect-ratio:4/5;object-fit:cover}
.personal-intro>div{padding:48px}
.about-opening,.about-music{grid-template-columns:repeat(2,minmax(0,1fr));gap:48px;align-items:center}
.about-opening>div{padding-top:0}
.about-opening h1{margin:24px 0;line-height:1.18}
.about-opening figure img,.about-music figure img{display:block;width:100%;aspect-ratio:4/5;height:auto;max-height:none;object-fit:cover;object-position:50% 35%;border-radius:var(--image-radius)}
.about-opening figcaption{padding-top:12px}
.about-process{max-width:none;text-align:left;display:grid;grid-template-columns:1fr 1fr;gap:24px 48px}
.about-process:before{display:none}
.about-process>.eyebrow{grid-column:1/-1;margin:0}
.about-process h2{grid-column:1;grid-row:2/4;margin:0}
.about-process>p:not(.eyebrow){grid-column:2;margin:0;max-width:520px}
.about-process>.text-link{grid-column:2;justify-self:start;margin:0}
@media(max-width:900px){
 .hero-copy{padding-left:32px;padding-right:32px;gap:20px}.hero-bottom{left:32px;right:32px}
 .food-feature,.about-opening,.about-music,.second-film{gap:32px}
 .personal-intro>div{padding:32px}
}
@media(max-width:700px){
 :root{--page-rail:24px;--image-radius:20px;--layout-gap:20px}
 header{padding:20px var(--page-rail);gap:12px}
 .section{padding:48px var(--page-rail)}
 .hero{min-height:590px;height:78svh;max-height:730px}
 .hero-copy{padding:36px 24px 120px;gap:24px}
 .hero h1{font-size:clamp(60px,15.8vw,108px);line-height:1.12}
 .hero .eyebrow{font-size:8px;max-width:250px;line-height:1.8}
 .hero .intro{font-size:20px;line-height:1.5}
 .hero-byline{font-size:11px;max-width:240px}
 .hero .play{font-size:12px;padding:14px 16px;gap:12px}
 .hero .duration{margin-left:8px}
 .hero-bottom{left:24px;right:24px;bottom:20px;gap:12px}
 .photo-grid,.full-gallery{grid-template-columns:1fr;gap:20px}
 .full-gallery .photo:has(img[src]),.photography>.photo-grid .photo{aspect-ratio:3/2}
 .food-feature{grid-template-columns:1fr;gap:24px}
 .food-story{gap:12px}
 .food-story .photo,.food-story .photo:nth-child(2){aspect-ratio:4/5;margin:0}
 .photo>span{padding:36px 18px 16px}
 .personal-intro{grid-template-columns:1fr}
 .personal-intro>div{padding:32px 24px}
 .personal-intro img{aspect-ratio:4/5}
 .statement,.about-opening,.about-music,.about-process,.second-film{grid-template-columns:1fr;gap:24px}
 .about-opening h1{font-size:clamp(40px,10.5vw,60px);line-height:1.2;margin:20px 0}
 .about-opening figure img,.about-music figure img{aspect-ratio:4/5}
 .about-process>.eyebrow,.about-process h2,.about-process>p:not(.eyebrow),.about-process>.text-link{grid-column:1;grid-row:auto}
 .about-process h2{margin:0}
 .collection-page{padding-top:32px}
 .collection-film h3{min-height:0}
 .section-heading{margin-bottom:24px!important}
 .film-collection{grid-template-columns:1fr;gap:32px}
}
