/* Shared photo/parallax presentation + global horizontal overflow guard */
html,body{max-width:100%;overflow-x:hidden;overflow-x:clip}
body{position:relative}
.site-header,.site-footer,main,.subpage-main{max-width:100vw}
.nav-wrap,.container{min-width:0}
img,svg,video,canvas{max-width:100%}

.photo-parallax{position:relative;isolation:isolate;min-height:clamp(390px,52vw,700px);overflow:hidden;background:#f6e9ee;margin:0}
.photo-parallax .photo-parallax-media{position:absolute;inset:-9% 0;width:100%;height:118%;object-fit:cover;object-position:var(--photo-position,50% 50%);transform:translate3d(0,var(--photo-shift,0px),0) scale(1.035);will-change:transform;filter:saturate(.92) contrast(.98) brightness(.92)}
.photo-parallax:after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(53,29,58,.52) 0%,rgba(72,43,68,.22) 38%,rgba(76,43,64,.08) 66%,rgba(54,31,57,.28) 100%),linear-gradient(180deg,rgba(249,232,240,.1),rgba(53,31,58,.2))}
.photo-parallax-content{position:relative;z-index:2;min-height:inherit;display:flex;align-items:flex-end;padding-top:80px;padding-bottom:70px;color:#fff}
.photo-parallax-copy{max-width:650px;padding:26px 30px;border:1px solid rgba(255,255,255,.32);border-radius:26px;background:rgba(58,31,57,.24);box-shadow:0 20px 70px rgba(39,20,43,.19);backdrop-filter:blur(10px)}
.photo-parallax-copy .eyebrow{color:#f6dbe7}.photo-parallax-copy h2{font-size:clamp(2.25rem,4.7vw,4.7rem);margin-bottom:12px}.photo-parallax-copy p:last-child{margin-bottom:0;color:rgba(255,255,255,.9)}
.photo-parallax.home-garden{--photo-position:50% 43%}.photo-parallax.about-gallery{--photo-position:51% 46%}

.photo-story{padding:95px 0;background:linear-gradient(180deg,#fffafd,#f9edf3)}
.photo-story-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:52px;align-items:center}
.photo-story-frame{position:relative;overflow:hidden;border-radius:32px;box-shadow:0 28px 80px rgba(74,42,74,.15);min-height:600px;background:#eadce3}
.photo-story-frame img{position:absolute;inset:-6% 0;width:100%;height:112%;object-fit:cover;object-position:50% 48%;transform:translate3d(0,var(--photo-shift,0px),0) scale(1.025);will-change:transform}
.photo-story-copy{max-width:570px}.photo-story-copy p{color:var(--muted)}

.about-photo-gallery{padding:95px 0;background:linear-gradient(180deg,#fbf7fb,#f7ebf1)}
.about-photo-gallery .section-head{margin-bottom:34px}
.about-photo-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:105px;gap:16px}
.about-photo-card{position:relative;overflow:hidden;border-radius:24px;background:#eadde5;box-shadow:0 14px 44px rgba(72,39,72,.09)}
.about-photo-card img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease,filter .7s ease;filter:saturate(.93)}
.about-photo-card:hover img{transform:scale(1.035);filter:saturate(1.02)}
.about-photo-card:nth-child(1){grid-column:span 5;grid-row:span 5}.about-photo-card:nth-child(2){grid-column:span 3;grid-row:span 5}.about-photo-card:nth-child(3){grid-column:span 4;grid-row:span 5}.about-photo-card:nth-child(4){grid-column:span 4;grid-row:span 4}.about-photo-card:nth-child(5){grid-column:span 4;grid-row:span 4}.about-photo-card:nth-child(6){grid-column:span 4;grid-row:span 4}
.about-photo-card:after{content:"";position:absolute;inset:auto 0 0;height:32%;background:linear-gradient(transparent,rgba(42,24,43,.22));pointer-events:none}

@media(max-width:900px){
  .photo-story-grid{grid-template-columns:1fr}.photo-story-frame{min-height:520px;max-width:720px}.photo-story-copy{max-width:none}
  .about-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:320px}.about-photo-card:nth-child(n){grid-column:span 1;grid-row:span 1}
}
@media(max-width:620px){
  .photo-parallax{min-height:470px}.photo-parallax .photo-parallax-media{inset:0;height:100%;transform:none!important}.photo-parallax-content{padding:44px 20px}.photo-parallax-copy{padding:21px 22px}
  .photo-story{padding:70px 0}.photo-story-frame{min-height:500px}.photo-story-frame img{inset:0;height:100%;transform:none!important}
  .about-photo-gallery{padding:70px 0}.about-photo-grid{grid-template-columns:1fr;grid-auto-rows:auto}.about-photo-card:nth-child(n){aspect-ratio:4/5}.about-photo-card:nth-child(1){aspect-ratio:4/3}
}
@media(prefers-reduced-motion:reduce){.photo-parallax .photo-parallax-media,.photo-story-frame img{transform:none!important;will-change:auto}.about-photo-card img{transition:none}}
