/* Genuine moments: natural photo proportions, a quiet shared editorial rhythm. */
.real-stories-page main{--story-gap:clamp(24px,3vw,44px)}
.real-stories-page .stories-hero{padding-block:36px 64px}
.real-stories-page .stories-hero .breadcrumbs{margin-bottom:30px}
.stories-hero-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:52px;align-items:center}
.real-stories-page h1{font-size:clamp(38px,4.3vw,64px);line-height:1.08;letter-spacing:-.045em}
.real-stories-page h2{font-size:clamp(32px,3.2vw,46px);line-height:1.16}
.real-stories-page h3{font-size:26px;line-height:1.25}
.real-stories-page em{color:#83163f}
.real-stories-page .eyebrow{color:#83163f;margin-bottom:18px}
.stories-lead{font-size:21px;line-height:1.7;margin-top:28px;color:#5f595c;max-width:36em}
.story-photo{margin:0;min-width:0}
.story-photo img{display:block;width:100%;height:auto;border-radius:22px}
.story-photo figcaption{font-size:14px;line-height:1.6;color:#6a6265;margin-top:12px}
.story-photo-filters{position:absolute;overflow:hidden;pointer-events:none}
.story-group-frame{position:relative;aspect-ratio:4/3;overflow:hidden;border-radius:22px}
.story-group-frame img{position:absolute;width:110%;max-width:none;height:110%;left:0;bottom:0;aspect-ratio:4/3;object-fit:cover;object-position:left bottom;filter:url(#story-shadow-lift);border-radius:0}
@media(max-width:760px){.story-group-frame{border-radius:18px}}
.story-feature{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.15fr);gap:70px;align-items:center;padding-block:58px 76px;border-top:1px solid #ded8d1}
.story-feature-portrait>.story-photo{max-width:430px}
.story-feature-copy>p:not(.eyebrow){font-size:20px;line-height:1.8;margin-top:26px;color:#5f595c}
.story-feature-copy .story-personal-note{border-left:3px solid #83163f;padding:2px 0 2px 22px;font-size:20px;color:#33292e}
.story-personal-note span{display:block;color:#83163f;font-size:15px;margin-top:10px;font-weight:650}
.stories-soft-band{background:#f7f3ed;border-block:1px solid #e3ddd4}
.story-outing{padding-block:64px}
.story-outing-heading{max-width:780px;margin-bottom:36px}
.story-outing-heading>p:not(.eyebrow){font-size:20px;line-height:1.8;color:#5f595c;margin-top:25px}
.story-gallery{display:grid;grid-template-columns:.8fr 1.2fr;gap:32px;align-items:start}
.story-gallery .story-photo:first-child{max-width:420px}
.stories-instagram{padding-block:72px}
.stories-section-heading{max-width:760px;margin-bottom:34px}
.stories-section-heading>p:not(.eyebrow){margin-top:24px;color:#5f595c;font-size:20px}
.story-notes-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;align-items:stretch}
.story-note{min-width:0;border:1px solid #ded8d1;border-radius:22px;overflow:hidden;background:#f7f3ed;display:flex;flex-direction:column;scroll-margin-top:calc(var(--header-height,90px) + 24px)}
.story-note>.story-photo img{aspect-ratio:4/3;object-fit:cover;border-radius:0}
.story-note-copy{padding:26px;display:flex;flex-direction:column;flex:1;align-items:flex-start}
.story-note-copy>p{font-size:17px;line-height:1.75;color:#5f595c;margin-top:22px}
.story-note-copy .story-source-date{font-size:13px;line-height:1.6;margin-top:22px}
.story-note-copy .text-link{font-size:15px;margin-top:auto;padding-top:20px;min-height:44px}
.stories-closing{padding-block:60px 76px;border-top:1px solid #ded8d1;display:grid;grid-template-columns:1fr 1fr;gap:70px}
.stories-closing>div{min-width:0}
.stories-closing p{margin-top:26px;color:#5f595c;font-size:20px;line-height:1.8}
.stories-closing :is(.button,.text-link){margin-top:28px}
.real-stories-page .story-feature,.real-stories-page .story-outing{scroll-margin-top:calc(var(--header-height,90px) + 24px)}
@media(max-width:1100px){.stories-hero-grid{gap:32px}.story-feature{gap:42px}.story-notes-grid{gap:18px}.story-note-copy{padding:22px}.story-note-copy h3{font-size:24px}.stories-closing{gap:40px}}
@media(max-width:760px){
 .real-stories-page .stories-hero{padding-block:22px 36px}
 .real-stories-page .stories-hero .breadcrumbs{margin-bottom:24px}
 .stories-hero-grid{grid-template-columns:1fr;gap:28px}
 .real-stories-page h1{font-size:38px;line-height:1.13}
 .real-stories-page h2{font-size:32px;line-height:1.2}
 .real-stories-page h3{font-size:25px}
 .stories-lead{font-size:19px;line-height:1.75;margin-top:24px}
 .story-photo img{border-radius:18px}
 .story-photo figcaption{font-size:13px;margin-top:10px}
 .story-feature{grid-template-columns:1fr;gap:30px;padding-block:36px 42px}
 .story-feature-portrait>.story-photo{max-width:none}
 .story-feature-copy>p:not(.eyebrow),.story-outing-heading>p:not(.eyebrow){font-size:18px;line-height:1.8;margin-top:23px}
 .story-feature-copy .story-personal-note{padding-left:18px}
 .story-outing{padding-block:40px}
 .story-outing-heading{margin-bottom:28px}
 .story-gallery{grid-template-columns:1fr;gap:26px}
 .story-gallery .story-photo:first-child{max-width:none}
 .stories-instagram{padding-block:42px}
 .stories-section-heading{margin-bottom:28px}
 .stories-section-heading>p:not(.eyebrow){font-size:18px;margin-top:22px}
 .story-notes-grid{grid-template-columns:1fr;gap:22px}
 .story-note-copy{padding:24px}
 .story-note-copy>p{font-size:18px}
 .story-note-copy .story-source-date{font-size:13px}
 .stories-closing{padding-block:38px 48px;grid-template-columns:1fr;gap:42px}
 .stories-closing p{font-size:18px;margin-top:22px}
 .stories-closing :is(.button,.text-link){margin-top:25px}
}

/* The festival photograph belongs to its title, beside the story. */
.story-festival{padding-block:64px;border-bottom:1px solid #ded8d1;scroll-margin-top:calc(var(--header-height,90px) + 24px)}
.story-festival-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(40px,5vw,70px);align-items:start}
.story-festival-intro,.story-festival-copy{min-width:0}
.story-festival-intro>header{margin-bottom:32px}
.story-festival-photo{width:100%;max-width:490px;margin:0}
.story-festival-photo img{height:auto;object-fit:contain}
.story-festival-copy>p{font-size:20px;line-height:1.8;color:#5f595c}
.story-festival-copy>p+p{margin-top:24px}
@media(max-width:1000px){
 .story-festival-layout{grid-template-columns:minmax(0,1fr);gap:32px}
 .story-festival-intro>header{margin-bottom:28px}
 .story-festival-photo{max-width:575px}
 .story-festival-copy{max-width:70ch}
}
@media(max-width:760px){
 .story-festival{padding-block:40px}
 .story-festival-layout{gap:28px}
 .story-festival-intro>header{margin-bottom:24px}
 .story-festival-photo{max-width:none}
 .story-festival-copy>p{font-size:18px}
 .story-festival-copy>p+p{margin-top:22px}
}
