.page { --cream: #eee9f2; background: #090b1a; color: var(--moon); }
.page em { color: var(--violet); font-style: italic; }
.header { position: sticky; z-index: 20; top: 0; min-height: 72px; padding: 0 clamp(24px,5vw,88px); display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 32px; background: rgba(9,11,26,.82); border-bottom: 1px solid var(--line); backdrop-filter: blur(18px); }
.brand { width: max-content; display: flex; flex-direction: column; line-height: .9; font-weight: 800; letter-spacing: -.035em; }
.brand span { font-size: 16px; }.brand small { margin-top: 6px; color: var(--violet); font-size: 9px; letter-spacing: .42em; font-weight: 600; }
.header nav { display: flex; gap: 30px; font-size: 11px; }.header nav a { color: rgba(242,236,255,.72); }.header nav a:hover { color: var(--moon); }
.back { justify-self: end; padding: 12px 17px; border: 1px solid rgba(242,209,154,.5); border-radius: 99px; font-size: 11px; }.back span { margin-left: 10px; color: var(--gold-light); }
.eyebrow { margin: 0; color: var(--gold-light); font-size: 9px; font-weight: 700; letter-spacing: .22em; }

.hero { position: relative; height: calc(100svh - 72px); min-height: 680px; max-height: 1050px; display: grid; grid-template-columns: minmax(420px,.85fr) minmax(520px,1.15fr); overflow: hidden; background: radial-gradient(circle at 43% 46%,rgba(109,53,255,.17),transparent 31%),#080a18; }
.heroImage { grid-column: 2; height: 100%; min-height: 0; overflow: hidden; clip-path: polygon(11% 0,100% 0,100% 100%,0 100%); }
.heroImage::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg,#080a18 0,rgba(8,10,24,.78) 13%,transparent 45%),linear-gradient(0deg,rgba(8,10,24,.3),transparent 45%); }
.heroImage img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 38%; filter: saturate(.78) contrast(1.04); }
.heroCopy { position: absolute; z-index: 2; top: 50%; left: clamp(24px,6vw,110px); width: min(630px,49vw); transform: translateY(-50%); }
.heroCopy h1 { margin: 24px 0 30px; font: 400 clamp(48px,6vw,94px)/.91 Georgia,"Times New Roman",serif; letter-spacing: -.055em; }
.heroCopy > p:not(.eyebrow) { max-width: 500px; color: var(--muted); font-size: 14px; line-height: 1.7; }
.scrollLink { display: inline-flex; gap: 24px; margin-top: 30px; padding: 14px 19px; border: 1px solid rgba(242,236,255,.25); border-radius: 99px; font-size: 10px; }.scrollLink span { color: var(--gold-light); }
.heroOrbit { position: absolute; z-index: 1; left: 42%; top: 48%; width: min(27vw,440px); aspect-ratio: 1; border: 1px solid rgba(173,131,255,.5); border-radius: 50%; box-shadow: 0 0 55px rgba(109,53,255,.25),inset 12px 0 0 rgba(217,154,69,.09); transform: translate(-50%,-50%); pointer-events: none; }

.intro { min-height: 66vh; padding: clamp(80px,12vw,180px) clamp(24px,7vw,130px); display: grid; grid-template-columns: .45fr 1.45fr .55fr; gap: 5vw; align-items: start; background: var(--cream); color: #23202d; }
.intro .eyebrow,.selected .eyebrow { color: #795725; }.introLead { margin: 0; font: 400 clamp(34px,4.5vw,70px)/1.03 Georgia,serif; letter-spacing: -.045em; }.introLead em { color: #6b39d7; }.introAside { margin: 8px 0 0; color: #6a6370; font-size: 13px; line-height: 1.7; }

.featured { padding: clamp(80px,10vw,160px) clamp(24px,6vw,110px); background: #11142c; }
.featuredHeading { margin-bottom: clamp(45px,7vw,90px); display: grid; grid-template-columns: 1.1fr .55fr; gap: 8vw; align-items: end; }
.featuredHeading h2,.selectedTitle h2,.approach h2,.contact h2 { margin: 22px 0 0; font: 400 clamp(52px,7vw,108px)/.91 Georgia,serif; letter-spacing: -.055em; }
.featuredHeading > p { max-width: 490px; margin: 0; color: var(--muted); font-size: 14px; line-height: 1.7; }
.featuredGrid { display: grid; grid-template-columns: 1.25fr .75fr; grid-template-rows: minmax(340px,62vh) minmax(280px,48vh); gap: clamp(14px,2vw,28px); }
.featuredGrid figure { position: relative; margin: 0; overflow: hidden; background: #070916; }.featuredGrid img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s ease; }.featuredGrid figure:hover img { transform: scale(1.018); }
.featuredGrid figcaption { position: absolute; left: 18px; bottom: 18px; padding: 9px 12px; background: rgba(8,10,24,.74); border: 1px solid rgba(242,236,255,.18); font-size: 9px; letter-spacing: .1em; backdrop-filter: blur(9px); }
.featuredMain { grid-row: 1 / 3; }.featuredMain img { object-position: center 40%; }.featuredDetail img { object-position: center 32%; }.featuredWide img { object-position: center 50%; }
.featuredExtra{grid-column:1/-1;min-height:min(68vh,720px);aspect-ratio:16/9}
.testimonial { margin: 0; padding: clamp(35px,5vw,70px); display: flex; flex-direction: column; justify-content: center; background: #e9e4ee; color: #282431; }
.testimonial span { color: #6d35ff; font: 90px/1 Georgia,serif; }.testimonial p { margin: -25px 0 28px; font: 400 clamp(22px,2.2vw,34px)/1.28 Georgia,serif; }.testimonial cite { color: #746d7b; font: normal 9px Arial,sans-serif; letter-spacing: .13em; text-transform: uppercase; }

.selected { padding: clamp(90px,12vw,180px) clamp(24px,6vw,110px); background: var(--cream); color: #23202d; }
.selectedTitle { max-width: 990px; margin-bottom: clamp(70px,10vw,150px); }.selectedTitle h2 { font-size: clamp(48px,6.5vw,98px); }.selectedTitle h2 em { color: #6b39d7; }.selectedTitle > p:last-child { max-width: 590px; margin: 34px 0 0 auto; color: #6b6571; font-size: 14px; line-height: 1.7; }
.storyList { display: grid; gap: clamp(100px,14vw,210px); }.selected .story { min-height: 0; padding-block: 0; color: inherit; background: transparent; border-top: 0; }.story { display: grid; grid-template-columns: .55fr 1fr .65fr; gap: clamp(16px,2.5vw,42px); align-items: center; }.story:nth-child(even) { grid-template-columns: .65fr 1fr .55fr; }.story:nth-child(even) .storyMeta { order: 3; }.story:nth-child(even) .storyPrimary { order: 2; }.story:nth-child(even) .storySecondary { order: 1; }
.selected .story::before { content: none; }
.story figure { width: 100%; height: auto; margin: 0; overflow: hidden; background: #d7d0dc; }.story img { display: block; width: 100%; height: 100%; object-fit: cover; }.storyPrimary.portrait { aspect-ratio: 4 / 5; }.storySecondary.portrait { aspect-ratio: 3 / 4; }.story figure.landscape { aspect-ratio: 16 / 9; }.storyPrimary img { object-position: center 38%; }.storySecondary img { object-position: center 42%; }.storyMeta { align-self: center; padding-right: 3vw; }.storyMeta > p:first-of-type { color: #795725; font-size: 9px; letter-spacing: .18em; }.storyMeta h3 { margin: 15px 0 20px; font: 400 clamp(34px,4vw,62px)/.98 Georgia,serif; letter-spacing: -.045em; }.storyMeta > p:last-of-type { color: #6a6370; font-size: 12px; line-height: 1.65; }.storyMeta button { margin-top: 28px; padding: 0 0 8px; color: #292530; background: none; border: 0; border-bottom: 1px solid #8a8290; font-size: 10px; }.storyMeta button small { margin-left: 8px; color: #7a7180; text-transform: uppercase; }
.storyMeta .storyLink { display:inline-block; margin-top:28px; padding:0 0 8px; color:#292530; border-bottom:1px solid #8a8290; font-size:10px; text-decoration:none; }.storyMeta .storyLink small { margin-left:8px; color:#7a7180; text-transform:uppercase; }.story figure{position:relative}.story figure figcaption{position:absolute;z-index:2;right:12px;bottom:12px;left:12px;width:max-content;max-width:calc(100% - 24px);padding:7px 9px;color:#fff;background:rgba(9,11,26,.82);font-size:9px;letter-spacing:.08em}
.storyMeta.hasTestimonial{align-self:start}.storyTestimonial{max-width:none;margin:clamp(24px,4vw,54px) 0 0;padding:clamp(20px,2.4vw,34px);color:#282431;background:rgba(255,255,255,.5);border-left:2px solid #6d35ff}.storyTestimonial span{display:block;height:38px;color:#6d35ff;font:60px/1 Georgia,serif}.storyTestimonial p{margin:0;font:400 clamp(15px,1.25vw,20px)/1.48 Georgia,serif}.storyTestimonial cite{display:block;margin-top:20px;color:#746d7b;font:normal 9px Arial,sans-serif;letter-spacing:.13em;text-transform:uppercase}

.approach { padding: clamp(90px,11vw,170px) clamp(24px,6vw,110px); display: grid; grid-template-columns: .7fr 1.3fr; gap: 7vw; align-items: center; background: radial-gradient(circle at 68% 50%,rgba(109,53,255,.13),transparent 31%),#090b1a; }
.approachIntro > p:last-child { max-width: 480px; margin-top: 36px; color: var(--muted); font-size: 13px; line-height: 1.7; }.approach h2 { font-size: clamp(48px,6vw,88px); }
.approachSteps { position: relative; display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; background: var(--line); }.approachSteps::before { content: ""; position: absolute; left: 8%; right: 8%; top: 72px; height: 1px; background: linear-gradient(90deg,var(--uv),var(--gold)); }
.approachSteps article { position: relative; z-index: 1; min-height: 360px; padding: 48px clamp(20px,2.3vw,36px); background: #11142c; }.approachSteps small { display: block; margin-top: 42px; color: var(--gold-light); font-size: 8px; letter-spacing: .16em; }.approachSteps h3 { margin: 16px 0; font: 400 clamp(21px,2vw,31px)/1.05 Georgia,serif; }.approachSteps p { color: var(--muted); font-size: 11px; line-height: 1.6; }
.moon { position: relative; display: block; width: 48px; height: 48px; overflow: hidden; border: 1px solid rgba(173,131,255,.7); border-radius: 50%; background: var(--gold-light); box-shadow: 0 0 24px rgba(109,53,255,.25); }.moon::after { content: ""; position: absolute; top: -1px; width: 48px; height: 48px; border-radius: 50%; background: #11142c; }.moonCrescent::after { left: -8px; }.moonHalf::after { left: -25px; }.moonFull::after { display: none; }

.contact { position: relative; min-height: 82vh; padding: clamp(90px,12vw,180px) clamp(24px,8vw,150px); display: flex; flex-direction: column; align-items: center; justify-content: center; overflow: hidden; text-align: center; background: #11142c; }.contact h2 { position: relative; z-index: 1; max-width: 1150px; font-size: clamp(48px,7vw,104px); }.contact > p:not(.eyebrow) { position: relative; z-index: 1; max-width: 630px; color: var(--muted); font-size: 13px; line-height: 1.7; }.contact > a { position: relative; z-index: 1; margin-top: 32px; padding: 15px 22px; color: #201b2a; background: var(--gold-light); border-radius: 99px; font-size: 11px; font-weight: 700; }.contact > a span { margin-left: 24px; }.contactOrbit { position: absolute; width: min(55vw,760px); aspect-ratio: 1; border: 1px solid rgba(173,131,255,.32); border-radius: 50%; box-shadow: 0 0 95px rgba(109,53,255,.16),inset -38px 0 0 rgba(217,154,69,.045); }
.footer { min-height: 72px; padding: 24px clamp(24px,5vw,88px); display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 30px; border-top: 1px solid var(--line); background: #090b1a; }.footer > p { color: var(--muted); font-size: 12px; line-height: 1.5; text-align: center; }.footer > div { justify-self: end; display: flex; flex-direction: column; align-items: flex-end; gap: 8px; font-size: 11px; }.footer small { color: rgba(242,236,255,.48); font-size: 10px; }

@media (max-width: 900px) {
  .header { min-height: 64px; padding-inline: 18px; grid-template-columns: 1fr auto; }.header nav { display: none; }.back { padding: 10px 13px; font-size: 10px; }
  .hero { height: calc(100svh - 64px); min-height: 720px; max-height: none; display: block; }.heroImage { position: absolute; inset: 0; width: 100%; height: 100%; min-height: 0; clip-path: none; }.heroImage::after { background: linear-gradient(180deg,rgba(8,10,24,.18),rgba(8,10,24,.34) 38%,#080a18 90%); }.heroImage img { object-position: 53% 34%; opacity: .8; }.heroCopy { top: auto; right: 22px; bottom: clamp(34px,6vh,54px); left: 22px; width: auto; transform: none; }.heroCopy h1 { margin-block: 18px 22px; font-size: clamp(44px,13.5vw,68px); }.heroCopy > p:not(.eyebrow) { font-size: 12px; }.heroOrbit { left: 50%; top: 36%; width: min(76vw,570px); }
  .intro { min-height: 0; padding-block: 85px; grid-template-columns: 1fr; gap: 34px; }.introLead { font-size: clamp(34px,9.4vw,49px); }.introAside { max-width: 450px; margin-left: 18%; }
  .featuredHeading { grid-template-columns: 1fr; }.featuredHeading h2,.selectedTitle h2,.approach h2,.contact h2 { font-size: clamp(47px,13vw,70px); }.featuredGrid { grid-template-columns: 1fr 1fr; grid-template-rows: auto auto auto; }.featuredMain { grid-column: 1 / 3; grid-row: 1; aspect-ratio: 4 / 5; }.featuredDetail { grid-row: 2; aspect-ratio: 3 / 4; }.featuredWide { grid-row: 2; aspect-ratio: 4 / 3; }.testimonial { grid-column: 1 / 3; min-height: 340px; }
  .selectedTitle > p:last-child { margin-left: 12%; }.story { grid-template-columns: 1fr 1fr; }.story:nth-child(even) { grid-template-columns: 1fr 1fr; }.storyMeta,.story:nth-child(even) .storyMeta { grid-column: 1 / 3; order: 0; padding: 0; }.story:nth-child(even) .storyPrimary { order: 0; }.story:nth-child(even) .storySecondary { order: 0; }
  .approach { grid-template-columns: 1fr; }.approachSteps article { min-height: 330px; }
}

@media (max-width: 620px) {
  .brand span { font-size: 13px; }.back span { display: none; }
  .heroCopy h1 { font-size: clamp(40px,12vw,56px); }.scrollLink { margin-top: 18px; }
  .featuredGrid { display: grid; grid-template-columns: 1fr; grid-template-rows: auto; }.featuredMain,.featuredDetail,.featuredWide,.featuredExtra,.testimonial { grid-column: 1; grid-row: auto; }.featuredMain,.featuredDetail { aspect-ratio: 9 / 16; }.featuredWide,.featuredExtra { min-height:0;aspect-ratio: 16 / 9; }.testimonial { min-height: 330px; }
  .storyList { gap: 68px; }.story { position: relative; grid-template-columns: 1fr; padding-left: 18px; }.story:nth-child(even) { grid-template-columns: 1fr; }.selected .story::before { content: ""; position: absolute; top: 0; bottom: 0; left: 0; display: block; width: 1px; background: linear-gradient(180deg,var(--gold),rgba(217,154,69,.18) 82%,transparent); pointer-events: none; }.storyMeta,.story:nth-child(even) .storyMeta { grid-column: 1; }.storyPrimary.portrait,.storySecondary.portrait { aspect-ratio: 3 / 4; }.story figure.landscape { aspect-ratio: 16 / 9; }.storyMeta h3 { font-size: 43px; }
  .storyTestimonial{margin-top:28px;padding:28px 22px}.storyTestimonial p{font-size:18px}
  .approachSteps { grid-template-columns: 1fr; }.approachSteps::before { left: 48px; right: auto; top: 50px; bottom: 50px; width: 1px; height: auto; }.approachSteps article { min-height: 0; padding: 34px 28px 34px 92px; }.moon { position: absolute; left: 24px; top: 32px; }.approachSteps small { margin-top: 0; }
  .footer { grid-template-columns: 1fr auto; }.footer > p { display: none; }
}

@media (min-width: 901px) and (max-width: 1180px) {
  .header { padding-inline: 30px; gap: 20px; }.header nav { gap: 18px; }
  .hero { grid-template-columns: .88fr 1.12fr; }.heroCopy { left: 42px; width: 54vw; }.heroCopy h1 { font-size: clamp(52px,6.6vw,78px); }.heroImage img { object-position: 53% 38%; }
  .intro { padding-inline: 48px; grid-template-columns: .32fr 1.3fr .48fr; gap: 3vw; }.introLead { font-size: clamp(40px,5vw,58px); }
  .featured,.selected,.approach { padding-inline: 48px; }.featuredGrid { grid-template-columns: 1.05fr .95fr; }
  .story { grid-template-columns: .52fr 1fr .62fr; }.story:nth-child(even) { grid-template-columns: .62fr 1fr .52fr; }.storyMeta h3 { font-size: clamp(31px,3.7vw,45px); }
  .approach { grid-template-columns: .62fr 1.38fr; gap: 4vw; }.approachSteps article { padding-inline: 20px; }
}

@media (min-width: 901px) and (max-height: 760px) {
  .hero { min-height: 620px; }.heroCopy h1 { font-size: clamp(48px,5.4vw,74px); }.heroCopy > p:not(.eyebrow) { max-width: 450px; font-size: 12px; }.scrollLink { margin-top: 20px; }
}

@media (max-width: 900px) and (orientation: landscape) {
  .hero { min-height: calc(100svh - 64px); }.heroImage img { object-position: 58% 34%; }.heroCopy { right: 47%; bottom: 18px; }.heroCopy h1 { margin-block: 10px 14px; font-size: clamp(34px,6.3vw,50px); }.heroCopy > p:not(.eyebrow) { display: none; }.scrollLink { margin-top: 0; padding-block: 10px; }
}

/* Text and artwork are separate layers: the artwork never contains copy. */
.page .splitHero{position:relative;height:calc(100svh - 72px);min-height:680px;max-height:none;padding:0;display:grid;grid-template-columns:minmax(390px,46%) 1fr;align-items:stretch;overflow:hidden;background:#080a18}
.page .splitHero .heroCopy{position:relative;z-index:4;inset:auto;width:auto;padding:clamp(52px,7vw,130px);display:flex;flex-direction:column;justify-content:center;transform:none;color:#f2ecff!important;background:linear-gradient(135deg,rgba(13,15,37,.98),rgba(18,15,45,.94));border-right:1px solid rgba(173,131,255,.22);box-shadow:28px 0 90px rgba(0,0,0,.32)}
.page .splitHero .heroCopy .eyebrow{color:#f2d19a!important}
.page .splitHero .heroCopy h1{margin:24px 0 30px;color:#f2ecff!important;font:400 clamp(48px,5.5vw,90px)/.9 Georgia,serif;letter-spacing:-.06em}
.page .splitHero .heroCopy h1 em{color:#ad83ff!important}
.page .splitHero .heroCopy>p:not(.eyebrow){max-width:520px;color:rgba(242,236,255,.72)!important;font-size:14px;line-height:1.7}
.page .splitHero .scrollLink{color:#f2ecff!important}
.page .splitHero .heroImage{position:relative;inset:auto;width:auto;height:auto;margin:0;overflow:hidden;clip-path:none}
.page .splitHero .heroImage::after{background:linear-gradient(90deg,rgba(8,10,24,.42),transparent 34%),linear-gradient(0deg,rgba(8,10,24,.24),transparent 45%)}
.page .splitHero .heroImage img{display:block;width:100%;height:100%;object-fit:cover;opacity:1}
.page .weddingHero .heroImage img{object-position:50% 18%}
.page .splitHero .heroOrbit{z-index:5;left:46%;top:50%;width:min(24vw,370px);transform:translate(-50%,-50%)}
.page .contact::before{content:none!important;display:none!important}
@media(max-width:900px){.page .splitHero{height:auto;min-height:0;max-height:none;grid-template-columns:1fr;grid-template-rows:auto minmax(48svh,620px)}.page .splitHero .heroCopy{padding:72px 22px 48px;border-right:0;border-bottom:1px solid rgba(173,131,255,.22)}.page .splitHero .heroCopy h1{font-size:clamp(42px,12.8vw,64px)}.page .splitHero .heroImage{grid-row:2}.page .splitHero .heroImage img{object-position:center}.page .splitHero .heroOrbit{left:50%;top:auto;bottom:calc(48svh - 92px);width:min(44vw,240px)}}
@media(max-width:900px) and (orientation:landscape){.page .splitHero{height:calc(100svh - 64px);min-height:520px;grid-template-columns:48% 52%;grid-template-rows:1fr}.page .splitHero .heroCopy{padding:28px;border-right:1px solid rgba(173,131,255,.22);border-bottom:0}.page .splitHero .heroCopy h1{margin-block:12px 16px;font-size:clamp(32px,5vw,48px)}.page .splitHero .heroCopy>p:not(.eyebrow){font-size:11px;line-height:1.45}.page .splitHero .heroImage{grid-column:2;grid-row:1}.page .splitHero .heroOrbit{left:48%;top:50%;bottom:auto;width:min(22vw,210px)}}
.featuredHeading{grid-template-columns:1fr}.featuredHeading>div{max-width:980px}

/* Wedding stories with original-format photographs. */
.weddingMomentStory{min-width:0;width:100%;max-width:1280px;margin-inline:auto}
.weddingMomentHeading h3{font:400 clamp(36px,4vw,64px)/1.12 Georgia,serif;letter-spacing:-.04em;margin:12px 0 18px}
.weddingMomentHeading>p:last-child{max-width:600px;line-height:1.7;margin-bottom:28px}
.weddingMomentNav{display:flex;flex-wrap:wrap;gap:6px 28px;border-bottom:1px solid rgba(70,40,95,.2);margin-bottom:24px}
.weddingMomentNav [data-moment-target]{display:inline-flex;align-items:center;border:0;border-bottom:2px solid transparent;background:transparent;color:inherit;padding:12px 0;min-height:44px;font:inherit;text-decoration:none;cursor:pointer}
.weddingMomentNav [aria-current=true]{border-bottom-color:#7135dc;color:#7135dc}
.weddingMomentSpread{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}
.weddingMomentSpread figure{margin:0;min-width:0;background:transparent}
.weddingMomentSpread img{display:block;width:100%;height:auto;object-fit:contain;transform:none}
.weddingMomentSpread figcaption{position:static;color:inherit;background:transparent;padding:10px 0;font-size:13px}
.weddingMomentControls{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:16px}
.weddingMomentControls p{font-size:13px;margin:0}
.weddingMomentControls>div{display:flex;gap:10px}
.weddingMomentControls button{width:44px;height:44px;border:1px solid #a58cba;border-radius:50%;background:transparent;color:inherit;cursor:pointer;font-size:22px}
.weddingMomentControls button:disabled{opacity:.3;cursor:default}
.weddingMomentStory [hidden]{display:none!important}
.weddingMomentStory.isReady .weddingMomentFallback{display:none}
.weddingMomentQuote{margin:36px auto 0;max-width:1060px}
.weddingMomentQuote>header{display:flex;justify-content:space-between;align-items:baseline;gap:18px;margin-bottom:22px}
.weddingMomentQuote h4{font:400 30px/1.2 Georgia,serif;margin:0}
.weddingMomentQuote .storyTestimonial{margin:18px 0 0;max-width:none;border-radius:4px 20px 20px 4px;padding:clamp(22px,3vw,36px)}
.weddingMomentQuote blockquote p{margin:0 0 18px}
.featured .weddingMomentNav{border-bottom-color:rgba(242,236,255,.22)}
.featured .weddingMomentNav [aria-current=true]{color:#e9c891;border-bottom-color:#e9c891}
.featured .weddingMomentQuote .storyTestimonial{background:#eee9f2}
@media(max-width:620px){.weddingMomentNav{gap:2px 20px}.weddingMomentNav [data-moment-target]{font-size:13px}.weddingMomentSpread{grid-template-columns:minmax(0,1fr);gap:12px}.weddingMomentQuote .storyTestimonial p{font-size:16px;line-height:1.65}}

/* Optional project galleries: the original two-image composition is unchanged. */
@media(min-width:1101px){
  .selected .story.storyWithLongTestimonial:not(.storyWithGallery){grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,.6fr)}
  .selected .story.storyWithLongTestimonial:nth-child(even):not(.storyWithGallery){grid-template-columns:minmax(0,.6fr) minmax(0,1fr) minmax(0,1fr)}
  .selected .story.storyWithLongTestimonial>.storyMeta{min-width:0;padding-right:0}
}
.selected .story.storyWithGallery{grid-template-columns:minmax(0,.8fr) minmax(0,1.6fr);align-items:start}
.selected .story.storyWithGallery>.storyMeta{order:0;grid-column:auto;min-width:0;padding-right:0}
.weddingGalleryWrap{min-width:0;align-self:center}
.weddingGallery{display:grid;align-items:center;grid-auto-flow:column;grid-auto-columns:calc((100% - 18px)/2);gap:18px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none}
.weddingGallery::-webkit-scrollbar{display:none}
.story .weddingGallery>figure{aspect-ratio:4/5;min-width:0;scroll-snap-align:start}
.weddingGallery:focus-visible{outline:2px solid #793cff;outline-offset:4px}
.weddingGalleryWrap>.hls-scroll-dots{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;padding-top:18px}
.weddingGalleryWrap>.hls-scroll-dots[hidden]{display:none}
@media(min-width:1101px){
  .selected .story.storyWithGallery.storyWithLongTestimonial{grid-template-columns:minmax(0,1.1fr) minmax(0,1.3fr)}
}
@media(max-width:800px){
  .selected .story.storyWithGallery{grid-template-columns:minmax(0,1fr)}
  .weddingGallery{grid-auto-columns:100%;gap:14px}
}
