.our-story-page{color:var(--green);background:var(--cream)}
.our-story-page img{display:block;max-width:100%}
.our-story-page .story-hero{position:relative;height:65svh;min-height:420px;max-height:680px;overflow:hidden;background:var(--green);color:var(--cream)}
.our-story-page .story-hero>img{width:100%;height:100%;object-fit:cover;object-position:50% 64%}
.our-story-page .story-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0004,transparent 38%,#001b1570)}
.our-story-page .story-hero-title{position:absolute;bottom:44px;left:6%;z-index:1}
.our-story-page .story-kicker{font:400 10px/1.4 Wedding,sans-serif;letter-spacing:.13em;text-transform:uppercase;margin:0 0 15px}
.our-story-page h1{font:400 clamp(58px,6.2vw,88px)/1.04 Wedding,sans-serif;letter-spacing:-.035em;margin:0}
.our-story-page h2{font:400 clamp(30px,3vw,43px)/1.13 Wedding,sans-serif;letter-spacing:-.03em;margin:0 0 22px}
.our-story-page p{font:400 16px/1.75 Wedding,sans-serif;margin:0 0 17px}
.our-story-page p:last-child{margin-bottom:0}
.our-story-page .story-intro{max-width:1232px;margin:0 auto;padding:45px 6%;display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:start}
.our-story-page .story-intro h2{font-size:clamp(28px,2.8vw,38px);margin:0}
.our-story-page .story-intro p{max-width:510px;margin:0}
.our-story-page .story-chapters{max-width:1232px;margin:0 auto;padding:0 6%}
.our-story-page .story-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:72px;align-items:center;padding:48px 0;border-top:1px solid #004f3b26}
.our-story-page .story-row figure{margin:0;min-width:0}
.our-story-page .story-row figure>img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:12px}
.our-story-page .story-row figcaption{font:400 10px/1.5 Wedding,sans-serif;letter-spacing:.02em;margin-top:11px}
.our-story-page .story-copy{min-width:0}
.our-story-page .story-row-reverse figure{grid-column:2;grid-row:1}
.our-story-page .story-row-reverse .story-copy{grid-column:1;grid-row:1}
.our-story-page .story-row figure>.story-kitchen-photo{aspect-ratio:6/5;object-position:50% 60%}
.our-story-page .story-links{display:flex;flex-wrap:wrap;gap:16px 24px;margin-top:24px}
.our-story-page .story-links a{font:400 11px/1.6 Wedding,sans-serif;text-transform:uppercase;letter-spacing:.035em;padding-bottom:6px;border-bottom:1px solid #004f3b70}
.our-story-page .story-links a:hover{border-color:var(--green)}
.our-story-page .story-signoff{display:flex;justify-content:center;align-items:center;gap:24px;padding:24px 6% 55px}
.our-story-page .story-signoff img{width:80px;height:80px;object-fit:contain}
.our-story-page .story-signoff p{font-size:24px;line-height:1.2;margin:0;letter-spacing:-.02em}
@media(min-width:1500px){.our-story-page .story-intro,.our-story-page .story-chapters{max-width:1360px}}
@media(max-width:900px){.our-story-page .story-row,.our-story-page .story-intro{column-gap:36px}.our-story-page .story-row{padding:36px 0}.our-story-page h2{font-size:32px}.our-story-page p{font-size:15px}}
@media(max-width:650px){.our-story-page .story-hero{height:55svh;min-height:350px;max-height:520px}.our-story-page .story-hero>img{object-position:52% 58%}.our-story-page .story-hero-title{bottom:30px}.our-story-page .story-intro{display:block;padding:30px 6%}.our-story-page .story-intro h2{font-size:30px;margin-bottom:18px}.our-story-page .story-row{display:flex;flex-direction:column;align-items:stretch;gap:24px;padding:30px 0}.our-story-page .story-row figure{order:1}.our-story-page .story-row .story-copy{order:2}.our-story-page .story-row figure>img{aspect-ratio:3/2}.our-story-page .story-row figure>.story-kitchen-photo{aspect-ratio:6/5}.our-story-page .story-kicker{margin-bottom:11px}.our-story-page h2{font-size:31px;margin-bottom:17px}.our-story-page .story-signoff{gap:16px;padding:20px 6% 38px}.our-story-page .story-signoff p{font-size:21px}.our-story-page .story-signoff img{width:65px;height:65px}}

.our-story-page .story-people{display:grid;grid-template-columns:2fr 1fr;gap:10px;align-items:stretch}
.our-story-page .story-people img{width:100%;height:330px;object-fit:cover;border-radius:12px;min-width:0}
.our-story-page .story-people img:first-child{object-position:48% 40%}
.our-story-page .story-people img:last-child{object-position:60% 30%}
@media(min-width:651px) and (max-width:900px){.our-story-page .story-people img{height:280px}}
@media(max-width:650px){.our-story-page .story-people img{height:270px}}

/* Compact, aligned editorial blocks and the Marcel Fam photo band. */
.our-story-page h2{font-size:30px;line-height:1.14;margin-bottom:18px}
.our-story-page p{font-size:14.5px;line-height:1.65;margin-bottom:14px}
.our-story-page .story-kicker{font-size:9px;line-height:1.4;margin-bottom:12px}
.our-story-page .story-intro{padding-top:32px;padding-bottom:32px;column-gap:56px}
.our-story-page .story-intro h2{font-size:29px}
.our-story-page .story-intro p,.our-story-page .story-copy>p:not(.story-kicker){text-align:justify;text-align-last:left;hyphens:none}
.our-story-page .story-row{column-gap:56px;align-items:start;padding:36px 0}
.our-story-page .story-row figure>img,.our-story-page .story-row figure>.story-kitchen-photo{height:320px;aspect-ratio:auto;object-fit:cover}
.our-story-page .story-row figure>.story-kitchen-photo{object-position:50% 58%}
.our-story-page .story-people img{height:320px}
.our-story-page .story-links{margin-top:17px}
.our-story-page .story-staff{padding:38px 0 0;border-top:1px solid #004f3b26}
.our-story-page .story-staff-heading{max-width:650px;margin:0 auto;padding:0 6% 28px;text-align:center}
.our-story-page .story-staff-heading h2{margin-bottom:13px}
.our-story-page .story-staff-heading p:last-child{margin:0}
.our-story-page .story-staff-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;width:100%;overflow:hidden}
.our-story-page .story-staff-grid img{width:100%;height:auto;aspect-ratio:8/5;object-fit:cover;min-width:0}
.our-story-page .story-staff-footer{text-align:center;padding:24px 6% 30px}
.our-story-page .story-staff-footer a{display:inline-block;font:400 11px/1.6 Wedding,sans-serif;text-transform:uppercase;letter-spacing:.035em;padding-bottom:6px;border-bottom:1px solid #004f3b70}
@media(min-width:651px) and (max-width:900px){.our-story-page .story-row,.our-story-page .story-intro{column-gap:30px}.our-story-page h2{font-size:27px}.our-story-page .story-row figure>img,.our-story-page .story-row figure>.story-kitchen-photo,.our-story-page .story-people img{height:300px}}
@media(max-width:650px){.our-story-page p{font-size:15px;line-height:1.7}.our-story-page h2,.our-story-page .story-intro h2{font-size:28px}.our-story-page .story-row{padding:28px 0;gap:20px}.our-story-page .story-row figure>img{height:auto;aspect-ratio:3/2}.our-story-page .story-row figure>.story-kitchen-photo{height:auto;aspect-ratio:6/5;object-position:50% 58%}.our-story-page .story-people img{height:260px}.our-story-page .story-staff-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.our-story-page .story-staff{padding-top:28px}.our-story-page .story-staff-heading{padding-bottom:24px}.our-story-page .story-signoff p{font-size:21px}}

/* Let the copy determine each row, then fit its photo to that same height. */
@media(min-width:651px){
.our-story-page .story-row{align-items:stretch;padding-top:42px;padding-bottom:52px}
.our-story-page .story-copy{display:flex;flex-direction:column;justify-content:space-between;min-height:280px}
.our-story-page .story-copy>:last-child{margin-bottom:0}
.our-story-page .story-row figure{position:relative;min-height:280px}
.our-story-page .story-row figure>img,.our-story-page .story-row figure>.story-kitchen-photo{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;object-fit:cover}
.our-story-page .story-row .story-people{position:absolute;inset:0;height:100%;width:100%;min-height:0}
.our-story-page .story-row .story-people img{height:100%;min-height:0;object-fit:cover}
.our-story-page .story-row figcaption{position:absolute;top:100%;left:0;right:0;margin-top:9px}
}
.our-story-page .story-staff-grid .story-staff-feature{grid-column:span 2;grid-row:span 2;align-self:stretch;width:100%;height:100%;aspect-ratio:auto;min-height:0}
@media(max-width:650px){.our-story-page .story-staff-grid .story-staff-feature{grid-column:1/-1;grid-row:auto;height:auto;aspect-ratio:3/2}}

/* Project photograph follows the same aligned photo/copy rhythm. */
.our-story-page .story-project-video{position:absolute;inset:0;display:block;overflow:hidden;border-radius:12px;color:var(--cream);background:var(--green)}
.our-story-page .story-project-video>img{width:100%;height:100%;object-fit:cover;object-position:50% 52%;transition:transform .3s}
.our-story-page .story-project-video:hover>img{transform:scale(1.025)}
.our-story-page .story-video-label{position:absolute;bottom:17px;left:17px;right:17px;display:flex;align-items:center;justify-content:center;gap:10px;background:var(--green);color:var(--cream);padding:12px 10px;font:400 10px/1.5 Wedding,sans-serif;letter-spacing:.02em;text-transform:uppercase;border-radius:3px}
.our-story-page .story-video-label>span{font-size:12px}
@media(max-width:650px){.our-story-page .story-project-video{position:relative;inset:auto;width:100%;aspect-ratio:3/2}.our-story-page .story-project-video>img{position:absolute;inset:0}.our-story-page .story-video-label{left:12px;right:12px;bottom:12px}}

/* Two compact photo ribbons, with every photograph kept in its original proportions. */
.our-story-page .story-staff{padding-top:30px}
.our-story-page .story-staff-heading{max-width:760px;padding-bottom:22px}
.our-story-page .story-staff-heading h2{font-size:28px;margin-bottom:10px}
.our-story-page .story-staff-reel{display:grid;gap:8px}
.our-story-page .story-photo-row{display:flex;overflow-x:auto;scrollbar-width:none;gap:8px;overscroll-behavior-x:contain}
.our-story-page .story-photo-row::-webkit-scrollbar{display:none}
.our-story-page .story-photo-group{display:flex;flex:none;gap:8px;padding-right:8px}
.our-story-page .story-photo-group img{display:block;flex:none;width:auto;max-width:none;height:165px;object-fit:contain;border-radius:4px}
.our-story-page .story-staff-footer{display:flex;align-items:center;justify-content:center;gap:18px;padding:18px 6% 26px}
.our-story-page .story-photo-pause{width:30px;height:30px;padding:0;border:1px solid #004f3b55;border-radius:50%;background:transparent;color:var(--green);cursor:pointer;font-size:12px}
.our-story-page .story-photo-pause:focus-visible,.our-story-page .story-photo-row:focus-visible{outline:2px solid var(--green);outline-offset:3px}
@media(max-width:650px){.our-story-page .story-photo-group img{height:125px}.our-story-page .story-staff-heading h2{font-size:26px}.our-story-page .story-staff-reel{gap:6px}}
