/* Every collection has its own entrance, with a shared cinematic rhythm inside. */
.cinematic-entrance{background:#331721;color:#fff4e8;isolation:isolate;overflow-x:hidden;transition:none}
.cinematic-entrance:before,.cinematic-entrance:after{display:none}
.cinematic-entrance .entrance-backdrop{position:absolute;inset:0;background:linear-gradient(0deg,#17181275,#13131520),var(--entrance-photo) center/cover;transform:scale(1.04);transition:transform 3.4s ease;z-index:-1}
.entrance-top{position:absolute;top:32px;left:40px;right:40px;z-index:15;display:flex;justify-content:space-between;align-items:center;gap:20px}
.entrance-top .gate-back{position:static;color:#fff4e2;font-size:10px}
.skip-entrance{border:1px solid #f8edd94f;border-radius:30px;padding:8px 15px;background:#1f161328;color:#fff5e5;font-size:9px;min-height:36px}
.skip-entrance:hover{background:#fff7e61a}
.entrance-content{min-height:100svh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;position:relative;z-index:8;padding:100px 30px 85px;transition:opacity .45s ease,transform .7s ease}
.entrance-kicker{font-size:8px;letter-spacing:3.7px;color:#ebc9c3;margin-bottom:22px}
.entrance-monogram{font-family:var(--serif);font-size:52px;font-style:italic;color:#dfb997;line-height:1;border:1px solid #e0b9976b;width:105px;height:105px;border-radius:60px 60px 0 0;display:grid;place-items:center;letter-spacing:-3px;margin-bottom:27px}
.entrance-content h2{font-size:clamp(52px,5.6vw,84px);line-height:1;letter-spacing:-2px;color:#fff4e7;font-weight:400;text-shadow:0 2px 20px #28101730}
.entrance-names{font-family:var(--serif);font-size:27px;color:#edc8c5;margin-top:26px;line-height:1.4}
.entrance-date{font-size:8px;letter-spacing:1.5px;margin-top:9px;color:#d7bcb0}
.entrance-date i{font-style:normal;margin-inline:9px}
.entrance-open{display:flex;align-items:center;gap:35px;margin-top:32px;border:1px solid #ecd1b56e;background:#fff0d70a;color:#fff3dc;font-size:11px;padding:13px 13px 13px 25px;border-radius:40px;transition:background .2s,transform .3s;min-height:50px}
.entrance-open i{font-size:20px;width:29px;height:29px;border:1px solid #ecd1b55c;border-radius:50%;display:grid;place-items:center;font-style:normal;line-height:1}
.entrance-open:hover{background:#fff1df1c;transform:translateY(-2px)}
.entrance-open:focus-visible,.skip-entrance:focus-visible{outline-color:#ffdfb5}
.entrance-footnote{font-family:var(--serif);font-style:italic;font-size:16px;color:#d2b6a5;margin-top:15px}
.cinematic-entrance .gate-credit{z-index:10;color:#dbc3ae;bottom:26px;font-size:6px;pointer-events:auto}
.cinematic-entrance .gate-credit strong{color:#f2dcc3}
.curtain{position:absolute;top:0;bottom:0;width:51%;z-index:1;background:repeating-linear-gradient(90deg,#48101f 0%,#713044 7%,#a45567 13%,#69283e 18%,#3d0d20 24%);box-shadow:inset 0 0 120px #1e020d85;transition:transform 1.65s cubic-bezier(.65,0,.2,1),filter 1.65s ease;will-change:transform}
.curtain:before{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#16041061,transparent 35%,#fff4d01c 70%,#24050a45);mix-blend-mode:soft-light}
.curtain:after{content:'';position:absolute;bottom:22px;left:0;right:0;height:5px;border-block:1px solid #ddbc8538}
.curtain-left{left:0;transform-origin:top left;border-right:1px solid #c07a7540}
.curtain-right{right:0;transform-origin:top right;transform:scaleX(-1);border-right:1px solid #e2b49629}
.curtain-valance{height:58px;position:absolute;top:0;left:0;right:0;z-index:5;background:repeating-linear-gradient(90deg,#652235,#904054 4%,#471324 8%);border-bottom:2px solid #d5aa7547;box-shadow:0 10px 30px #18000f55;transition:transform 1.2s ease .4s}
.cinematic-entrance.opening{opacity:1;pointer-events:auto;animation:entrance-fade .35s ease 1.55s forwards;transition:none}
.cinematic-entrance.opening .entrance-content{opacity:0;transform:translateY(-15px);pointer-events:none}
.cinematic-entrance.opening .entrance-backdrop{transform:scale(1.12)}
.opening .curtain-left{transform:translateX(-103%) scaleX(.65) skewY(-7deg);filter:brightness(1.1)}
.opening .curtain-right{transform:translateX(103%) scaleX(-.65) skewY(-7deg);filter:brightness(1.1)}
.opening .curtain-valance{transform:translateY(-100%)}
.cinematic-entrance.opening .gate-credit{opacity:0;transition:opacity .3s}
.entrance-procession{background:#1d3329}
.entrance-procession .entrance-kicker,.entrance-procession .entrance-names{color:#d7debf}
.entrance-procession .entrance-content h2{color:#f3f0db}
.entrance-procession .entrance-monogram{color:#d7d9b6;border-color:#d7d9b655;border-radius:60px 60px 0 0}
.garden-door{position:absolute;top:0;bottom:0;width:50.15%;background:linear-gradient(90deg,#1c302aeb,#243c30f7),repeating-linear-gradient(0deg,transparent 0,transparent 100px,#d7cf9730 101px);z-index:2;transition:transform 2s cubic-bezier(.55,0,.15,1),opacity 1.8s;backface-visibility:hidden}
.garden-door-left{left:0;border-right:1px solid #cdd3aa55;transform-origin:left center}
.garden-door-right{right:0;border-left:1px solid #d7dbb855;transform-origin:right center}
.garden-door>span{position:absolute;inset:27px;border:1px solid #bdc59a36;border-radius:250px 250px 0 0}
.garden-door>span:before,.garden-door>span:after{content:'';position:absolute;inset:11px;border:1px solid #bdc59a25;border-radius:240px 240px 0 0}
.garden-door>span:after{inset:35px;border-color:#bdc59a18}
.garden-door:after{content:'❦';position:absolute;bottom:18%;font-size:150px;color:#c6cda518;left:calc(50% - 65px)}
.opening .garden-door-left{transform:perspective(1300px) rotateY(-100deg);opacity:0}
.opening .garden-door-right{transform:perspective(1300px) rotateY(100deg);opacity:0}
.entrance-procession.opening{animation:entrance-fade .4s ease 3.2s forwards}
.procession-sequence{position:absolute;inset:0;z-index:6;pointer-events:none;background:#172f2640;opacity:0;transition:opacity .4s}
.opening .procession-sequence{opacity:1}
.procession-sequence>span{position:absolute;top:50%;left:20px;right:20px;text-align:center;color:#fff8e9;opacity:0;font-family:var(--serif);font-size:clamp(30px,4vw,64px);font-style:italic;text-shadow:0 2px 30px #102218;transform:translateY(20px)}
.opening .procession-sequence>span{animation:procession-line 1s ease .45s both}
.opening .procession-sequence>span:nth-child(2){animation-delay:1.4s}
.opening .procession-sequence>span:nth-child(3){animation-delay:2.35s}
.entrance-sunrise{background:#173b47}
.entrance-sunrise .entrance-backdrop{opacity:.15;filter:saturate(.5)}
.sunrise-window{position:absolute;inset:0;background:linear-gradient(0deg,#103e4659,#28363a24),var(--entrance-photo) center/cover;clip-path:circle(20% at 50% 52%);transition:clip-path 1.7s cubic-bezier(.7,0,.2,1),filter 1.5s;z-index:1;filter:brightness(.73)}
.sunrise-orbit{position:absolute;left:50%;top:52%;width:min(560px,70vw);aspect-ratio:1;border:1px solid #e6d5b459;border-radius:50%;transform:translate(-50%,-50%);z-index:2;pointer-events:none;transition:transform 1.7s ease,opacity 1.2s}
.sunrise-orbit:before,.sunrise-orbit:after{content:'';position:absolute;inset:15px;border:1px solid #d7cab434;border-radius:50%}
.sunrise-orbit:after{inset:-20px;border-style:dashed;border-color:#c2c0a824}
.horizon-line{position:absolute;left:5%;right:5%;top:52%;height:1px;background:#d6d0b22e;z-index:1;transition:opacity .8s}
.entrance-sunrise .entrance-monogram{border:0;font-size:51px;margin-bottom:25px;width:auto;height:65px;letter-spacing:-2px;color:#eadabb}
.entrance-sunrise .entrance-kicker,.entrance-sunrise .entrance-names{color:#e9ddc7}
.entrance-sunrise .entrance-date,.entrance-sunrise .entrance-footnote{color:#ded3bc}
.opening .sunrise-window{clip-path:circle(120% at 50% 52%);filter:brightness(1)}
.opening .sunrise-orbit{transform:translate(-50%,-50%) scale(2.5);opacity:0}
.opening .horizon-line{opacity:0}
@keyframes entrance-fade{to{opacity:0}}
@keyframes procession-line{0%{opacity:0;transform:translateY(16px)}22%,70%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(-15px)}}

.cinematic-wedding .wedding-nav{position:relative;z-index:20}
.cinematic-wedding .wedding-hero{display:block;width:100%;height:calc(100svh - 72px);max-height:1000px;min-height:680px;margin:0;padding:0;border-radius:0;overflow:hidden;background:#30261f}
.cinematic-wedding .wedding-hero-image{position:absolute;inset:0;border-radius:0}
.cinematic-wedding .wedding-hero-image img{object-position:50% 37%;transform:scale(1.06);transition:transform 3s cubic-bezier(.2,.5,.3,1)}
.cinematic-wedding.invitation-open .wedding-hero-image img{transform:scale(1)}
.cinematic-wedding .wedding-hero-image:after{display:block;background:linear-gradient(0deg,#171812b8,transparent 78%),linear-gradient(90deg,#241a263d,transparent 70%)}
.cinematic-wedding .wedding-hero-content{position:absolute;inset:0;align-items:flex-start;justify-content:flex-end;text-align:left;background:none;padding:70px 7% 115px;color:#fff6e7}
.cinematic-wedding .wedding-hero-content .wedding-eyebrow{color:#fff1d8;font-size:8px;letter-spacing:3px;margin:0;text-shadow:none}
.cinematic-wedding .wedding-invite-line{font-size:20px;color:#f6e6cc;text-shadow:none;margin-top:8px}
.cinematic-wedding .wedding-hero h1{display:flex;align-items:center;gap:25px;font-size:clamp(75px,8.4vw,136px);margin:20px 0 22px;line-height:.98;font-weight:400;letter-spacing:-3px;text-shadow:0 3px 40px #0f111026}
.cinematic-wedding.theme-blush .wedding-hero h1{font-family:var(--script);font-size:clamp(75px,8.4vw,133px);letter-spacing:-1px}
.cinematic-wedding.theme-garden .wedding-hero h1{font-family:var(--serif);font-style:normal}
.cinematic-wedding .wedding-hero h1 span{font-family:var(--serif);font-size:.48em;margin:0;line-height:1;display:inline-block;font-style:italic}
.cinematic-wedding .wedding-hero-date{flex-direction:row;align-items:center;gap:17px;text-shadow:none}
.cinematic-wedding .wedding-hero-date>span:first-child{font-size:19px;display:block}
.cinematic-wedding .wedding-hero-date>strong{font-size:10px;letter-spacing:2.3px;font-weight:400}
.cinematic-wedding .wedding-hero-date>span:last-child{font-size:9px;border-left:1px solid #ffffff70;padding-left:17px;margin:0}
.cinematic-wedding .wedding-scroll{display:flex;right:6%;left:auto;bottom:38px;color:#fff5e6;align-items:end;gap:7px}
.hero-side-note{position:absolute;top:35px;left:7%;color:#fff4dfb5;font-size:7px;letter-spacing:2px;z-index:3}
.hero-frame-number{position:absolute;bottom:36px;left:7%;font-size:7px;letter-spacing:2px;color:#fff2ddba;z-index:3}
.cinematic-wedding .wedding-intro{padding-block:90px 78px}
.cinematic-wedding .wedding-intro h2{font-size:clamp(43px,4.6vw,68px);font-weight:400}
.chapter-rule{border-top:1px solid #b5a48d4a;padding-top:17px;display:flex;justify-content:space-between;gap:20px;margin-bottom:48px}
.chapter-rule span{font-size:8px;letter-spacing:1.7px;color:var(--accent)}
.chapter-rule i{font-family:var(--serif);font-size:16px;color:#9a8a75;font-weight:400}
.cinematic-wedding .our-story{padding-bottom:35px;gap:80px}
.cinematic-wedding .story-photo{transform:rotate(-2deg)}
.cinematic-wedding .story-photo img{height:410px}
.cinematic-wedding .story-copy h2{font-size:clamp(38px,3.6vw,55px)}
.cinematic-wedding .story-milestones{padding-bottom:30px}
.candid-interlude{display:grid;grid-template-columns:1.65fr .65fr;align-items:center;gap:60px;padding:30px 0 90px}
.candid-wide{margin:0;position:relative}
.candid-wide img{width:100%;height:410px;object-fit:cover;object-position:50% 43%}
.candid-wide figcaption{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:13px}
.candid-wide figcaption>span{font-size:6px;letter-spacing:1.6px;color:#a48b70}
.candid-wide figcaption>i{font-family:var(--serif);font-size:16px;color:var(--accent)}
.candid-aside{position:relative}
.candid-script{font-family:var(--script);font-size:53px;line-height:1.2;display:block;color:var(--accent);transform:rotate(-7deg)}
.candid-aside p{font-size:11px;line-height:1.9;margin-top:24px}
.candid-star{display:block;font-size:53px;color:#ba987a;margin-top:25px;font-family:var(--serif)}
.cinema-scroll-section{height:155svh;min-height:900px;position:relative;background:#1b231d;--scene-progress:0}
.cinema-stage{height:100svh;min-height:560px;position:sticky;top:0;overflow:hidden;background:#1b231d;color:#fff7e9;isolation:isolate}
.atmosphere-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(calc(1 + var(--scene-progress) * .045));z-index:-2}
.cinema-shade{position:absolute;inset:0;background:linear-gradient(0deg,#141d18b3,transparent 82%),linear-gradient(90deg,#1b231936,transparent 80%);z-index:-1;pointer-events:none}
.cinema-caption{position:absolute;left:9%;right:9%;top:45%;transform:translateY(calc(-20% - var(--scene-progress) * 34px))}
.cinema-caption>p{font-size:8px;letter-spacing:2.9px;color:#f6ead4;margin-bottom:22px}
.cinema-caption>h2{font-size:clamp(55px,6.4vw,100px);line-height:1;letter-spacing:-2px;font-weight:400;color:#fff9ed;text-shadow:0 2px 24px #101c1a26}
.cinema-caption>h2 em{color:#e8d9bd;font-weight:400}
.cinema-caption>span{display:block;font-size:11px;color:#efe3d3;line-height:1.9;margin-top:25px;max-width:360px}
.cinema-bottom{position:absolute;left:6%;right:6%;bottom:37px;display:flex;justify-content:space-between;align-items:center;gap:20px;z-index:3}
.cinema-kind{font-size:7px;letter-spacing:1.8px;display:flex;gap:10px;align-items:center;color:#e8e2d2}
.cinema-kind>i{width:5px;height:5px;display:block;background:#daccab;border-radius:50%}
.film-playing .cinema-kind>i{box-shadow:0 0 0 4px #e4d8b52b}
.cinema-playback{border:1px solid #fff5e561;border-radius:30px;background:#16251b33;color:#fff5e5;display:flex;align-items:center;gap:13px;padding:10px 17px;font-size:9px;min-height:43px}
.cinema-playback:hover{background:#10201780}
.cinema-playback>span:first-child{font-size:17px;line-height:1}
.cinema-playback:focus-visible{outline-color:#fff4d8}
.cinema-progress{position:absolute;bottom:0;left:0;right:0;height:2px;background:#fcf2dc2d}
.cinema-progress>span{display:block;width:100%;height:100%;background:#e3cfac;transform:scaleX(var(--scene-progress));transform-origin:left}
.cinematic-wedding .wedding-details{padding-top:85px;padding-bottom:80px}
.cinematic-wedding .wedding-details h2{font-size:clamp(47px,4.7vw,67px);font-weight:400}
.venue-panorama{margin:42px 0 0;position:relative;overflow:hidden;background:#a4937b}
.venue-panorama img{height:450px;width:100%;object-fit:cover}
.venue-panorama:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#1d261b75,transparent 50%);pointer-events:none}
.venue-panorama figcaption{position:absolute;bottom:20px;left:25px;right:25px;display:flex;align-items:center;justify-content:space-between;gap:15px;color:#fff1d7;z-index:1}
.venue-panorama figcaption>span{font-size:7px;letter-spacing:2px}
.venue-panorama figcaption>i{font-family:var(--serif);font-size:17px}
.cinematic-wedding .venue-grid{margin-top:24px}
.cinematic-wedding .dress-section{padding-top:85px;padding-bottom:85px}
.entourage-section{display:grid;grid-template-columns:1.05fr 1fr;gap:85px;align-items:center;margin-bottom:100px}
.entourage-portrait{position:relative;overflow:hidden;min-width:0}
.entourage-portrait img{width:100%;height:565px;object-fit:cover;object-position:50% 42%;border-radius:260px 260px 0 0}
.theme-garden .entourage-portrait img{border-radius:0;height:430px;object-position:50% 45%}
.entourage-portrait>span{font-family:var(--script);color:var(--accent);font-size:30px;display:block;text-align:center;margin-top:14px}
.entourage-copy h2{font-size:clamp(39px,4vw,57px);line-height:1.03;margin-top:18px}
.entourage-copy>p:not(.wedding-eyebrow){font-size:11px;line-height:1.9;margin-top:21px}
.entourage-names{display:grid;grid-template-columns:1fr 1fr;gap:22px 25px;margin-top:32px;padding-top:25px;border-top:1px solid #b0a38955}
.entourage-names>div>span{font-size:7px;text-transform:uppercase;letter-spacing:1.5px;color:var(--accent)}
.entourage-names h3{font-size:24px;line-height:1.2;margin-top:6px}
.cinematic-wedding .memories-section{padding-block:90px;background:var(--soft)}
.cinematic-wedding .memories-heading h2{font-size:clamp(48px,4.5vw,65px);font-weight:400}
.gallery-toolbar{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-top:38px;margin-bottom:22px}
.gallery-filters{display:flex;gap:8px;flex-wrap:wrap}
.gallery-filters button{border:1px solid transparent;border-radius:30px;background:transparent;color:#827d6c;padding:10px 18px;font-size:10px;min-height:40px}
.gallery-filters button.active{border-color:var(--accent);color:var(--accent);background:var(--theme-paper)}
.gallery-filters button:hover{background:var(--theme-paper)}
.gallery-count{font-family:var(--serif);font-size:17px;font-style:italic;color:var(--accent)}
.editorial-gallery{grid-template-columns:repeat(12,minmax(0,1fr));gap:22px;margin-top:0}
.editorial-gallery .gallery-item{height:460px;border-radius:0;grid-column:span 4;min-width:0}
.editorial-gallery .gallery-frame-0,.editorial-gallery .gallery-frame-3{grid-column:span 8}
.editorial-gallery .gallery-frame-1{height:460px}
.editorial-gallery .gallery-frame-4{grid-column:1 / -1;height:420px}
.editorial-gallery .gallery-item img{object-position:50% 42%}
.editorial-gallery .gallery-frame-3 img{object-position:50% 38%}
.editorial-gallery .gallery-item:after{background:linear-gradient(0deg,#16211b99,transparent 52%)}
.editorial-gallery .gallery-item>span{bottom:25px;left:26px;right:26px}
.editorial-gallery .gallery-item strong{font-size:28px}
.editorial-gallery .gallery-item small{font-size:6px;letter-spacing:2.1px}
.frame-number{position:absolute;z-index:3;right:18px;top:16px;font-size:7px;font-weight:400;letter-spacing:1px;color:#fff7e0;border:1px solid #fff7e04a;padding:4px 7px;background:#12211819}
.editorial-gallery.gallery-filtered{grid-template-columns:1fr 1fr}
.editorial-gallery.gallery-filtered .gallery-item{grid-column:span 1;height:450px}
.editorial-gallery.gallery-filtered .gallery-item[data-gallery-category=setting]{grid-column:1/-1;height:450px}
.cinematic-wedding .film-card{margin-top:65px;padding-top:55px;border-top:1px solid #b6a58a4d}
.cinematic-wedding .film-image{height:345px}
.cinematic-wedding .film-copy h3{font-size:43px}
.cinematic-wedding .wedding-quote{padding:85px 25px}
.cinematic-wedding .wedding-quote p{font-size:clamp(43px,5vw,72px)}
.motion-ready .reveal{opacity:0;transform:translateY(27px);transition:opacity .9s ease,transform .95s cubic-bezier(.2,.6,.25,1)}
.motion-ready .reveal.is-visible{opacity:1;transform:translateY(0)}
.motion-ready .story-photo.reveal.is-visible{transform:rotate(-2deg)}
.cinematic-wedding .wedding-hero-content>*:not(.wedding-scroll){opacity:0;transform:translateY(20px);transition:opacity 1s ease .15s,transform 1.2s ease .15s}
.cinematic-wedding.invitation-open .wedding-hero-content>*{opacity:1;transform:translateY(0)}
.cinematic-wedding .wedding-hero-content>h1{transition-delay:.3s}
.cinematic-wedding .wedding-hero-content>.wedding-hero-date{transition-delay:.5s}
.lightbox-stage{touch-action:pan-y}

@media(max-width:1000px){
  .cinematic-wedding .our-story{gap:40px}.cinematic-wedding .story-photo img{height:355px}.candid-interlude{gap:35px}.candid-wide img{height:345px}.candid-wide figcaption{display:block}.candid-wide figcaption>i{display:block;margin-top:5px}.candid-script{font-size:43px}.entourage-section{gap:40px}.entourage-portrait img{height:485px}.entourage-names{gap:20px 17px}.entourage-names h3{font-size:22px}.editorial-gallery .gallery-item,.editorial-gallery .gallery-frame-1{height:385px}.editorial-gallery .gallery-frame-4{height:380px}.editorial-gallery .gallery-item strong{font-size:24px}.gallery-filters button{padding:9px 14px}.venue-panorama img{height:370px}.cinema-caption>h2{font-size:67px}
}
@media(max-width:650px){
  .entrance-top{top:21px;left:24px;right:24px;gap:15px}.entrance-top .gate-back{font-size:9px}.skip-entrance{font-size:8px;padding:8px 11px;min-height:36px}.entrance-content{padding:90px 24px 82px}.entrance-kicker{font-size:6px;letter-spacing:2.1px;margin-bottom:21px}.entrance-monogram{width:82px;height:87px;font-size:41px;margin-bottom:25px}.entrance-content h2{font-size:clamp(43px,12.7vw,58px);letter-spacing:-1.8px;line-height:1.06}.entrance-names{font-size:23px;margin-top:21px}.entrance-date{font-size:6px;letter-spacing:.6px;line-height:1.8}.entrance-date i{margin-inline:5px}.entrance-open{font-size:10px;padding:10px 11px 10px 21px;gap:25px;margin-top:26px;min-height:48px}.entrance-open i{width:28px;height:28px}.entrance-footnote{font-size:14px;margin-top:14px}.cinematic-entrance .gate-credit{bottom:23px;font-size:5px}.cinematic-entrance .gate-credit strong{font-size:18px}.curtain-valance{height:40px}.curtain{background-size:145% 100%}.garden-door>span{inset:14px;border-radius:180px 180px 0 0}.garden-door>span:before{inset:8px}.garden-door>span:after{inset:22px}.garden-door:after{font-size:95px;left:calc(50% - 40px);bottom:16%}.procession-sequence>span{font-size:33px;line-height:1.15;left:35px;right:35px;top:45%}.sunrise-window{clip-path:circle(23% at 50% 49%)}.sunrise-orbit{width:80vw;top:49%}.horizon-line{top:49%}.entrance-sunrise .entrance-monogram{font-size:43px;height:52px;margin-bottom:26px}
  .cinematic-wedding .wedding-nav{height:65px}.cinematic-wedding .wedding-hero{height:calc(100svh - 65px);min-height:650px;max-height:900px;width:100%;margin:0;padding:0;display:block}.cinematic-wedding .wedding-hero-image{height:auto;position:absolute;inset:0;border-radius:0}.cinematic-wedding .wedding-hero-image img{object-position:50% 34%}.cinematic-wedding .wedding-hero-content{position:absolute;inset:0;justify-content:flex-end;align-items:center;text-align:center;padding:80px 24px 94px;background:none}.cinematic-wedding .wedding-hero-content .wedding-eyebrow{font-size:6px;letter-spacing:2px}.cinematic-wedding .wedding-invite-line{font-size:16px;margin-top:8px}.cinematic-wedding .wedding-hero h1,.cinematic-wedding.theme-blush .wedding-hero h1{display:block;font-size:clamp(68px,21vw,90px);line-height:1.02;margin:22px 0;letter-spacing:-1px}.cinematic-wedding .wedding-hero h1 span{display:block;font-size:34px;line-height:.9;margin:8px 0}.cinematic-wedding .wedding-hero-date{flex-wrap:wrap;justify-content:center;gap:6px 10px;max-width:310px}.cinematic-wedding .wedding-hero-date>span:first-child{font-size:18px}.cinematic-wedding .wedding-hero-date>strong{font-size:9px;letter-spacing:1.6px}.cinematic-wedding .wedding-hero-date>span:last-child{font-size:9px;flex-basis:100%;border:0;padding-left:0;margin-top:3px}.cinematic-wedding .wedding-scroll{right:22px;bottom:24px;font-size:5px;letter-spacing:1.2px;gap:4px}.cinematic-wedding .wedding-scroll span{font-size:19px}.hero-side-note{top:23px;left:22px;font-size:5px;letter-spacing:1.5px}.hero-frame-number{bottom:25px;left:22px;font-size:6px;letter-spacing:1.4px}.cinematic-wedding .wedding-intro{padding-block:53px 47px}.cinematic-wedding .wedding-intro h2{font-size:39px}.chapter-rule{margin-bottom:29px;padding-top:13px;flex-direction:column;gap:7px}.chapter-rule span{font-size:6px;letter-spacing:1.5px}.chapter-rule i{font-size:15px}.cinematic-wedding .our-story{gap:26px;padding-bottom:23px}.cinematic-wedding .story-photo img{height:295px}.cinematic-wedding .story-copy h2{font-size:41px}.cinematic-wedding .story-milestones{padding-bottom:24px}.candid-interlude{grid-template-columns:1fr;gap:26px;padding:15px 0 49px}.candid-wide img{height:300px}.candid-wide figcaption{display:flex;align-items:start;gap:13px;margin-top:10px}.candid-wide figcaption>span{font-size:5px;letter-spacing:.8px;max-width:100px}.candid-wide figcaption>i{font-size:14px;margin:0;text-align:right;max-width:180px}.candid-aside{display:flex;align-items:center;justify-content:space-between;gap:22px;padding-inline:5px}.candid-script{font-size:38px;white-space:nowrap}.candid-aside p{font-size:9px;line-height:1.8;margin-top:0}.candid-star{display:none}.cinema-scroll-section{height:125svh;min-height:800px}.cinema-stage{height:90svh;min-height:580px}.cinema-caption{left:26px;right:26px;top:41%}.cinema-caption>p{font-size:6px;letter-spacing:1.9px;margin-bottom:20px}.cinema-caption>h2{font-size:clamp(44px,12vw,62px);line-height:1.04;letter-spacing:-1.4px}.cinema-caption>span{font-size:10px;max-width:260px;margin-top:21px}.cinema-bottom{left:22px;right:22px;bottom:27px;gap:13px}.cinema-kind{font-size:5px;letter-spacing:.7px;gap:7px;max-width:160px}.cinema-kind>i{width:4px;height:4px;flex-shrink:0}.cinema-playback{font-size:8px;padding:9px 13px;gap:9px;min-height:40px;flex-shrink:0}.cinematic-wedding .wedding-details{padding-block:50px}.cinematic-wedding .wedding-details h2{font-size:44px}.venue-panorama{margin-top:27px}.venue-panorama img{height:300px;object-position:50% 50%}.venue-panorama figcaption{left:15px;right:15px;bottom:15px;align-items:start}.venue-panorama figcaption>span{font-size:5px;letter-spacing:1px;max-width:145px}.venue-panorama figcaption>i{font-size:14px}.cinematic-wedding .venue-grid{margin-top:20px}.cinematic-wedding .dress-section{padding-block:49px}.entourage-section{grid-template-columns:1fr;gap:30px;margin-bottom:53px}.entourage-portrait{width:calc(100% - 26px);margin:auto}.entourage-portrait img{height:420px;border-radius:200px 200px 0 0}.theme-garden .entourage-portrait{width:100%}.theme-garden .entourage-portrait img{height:300px;object-position:50% 40%}.entourage-portrait>span{font-size:28px;margin-top:13px}.entourage-copy h2{font-size:45px;margin-top:15px}.entourage-copy>p:not(.wedding-eyebrow){font-size:11px;margin-top:18px}.entourage-names{margin-top:25px;padding-top:21px;gap:21px 25px}.entourage-names>div>span{font-size:6px;letter-spacing:1.3px}.entourage-names h3{font-size:24px}.cinematic-wedding .memories-section{padding-block:51px}.cinematic-wedding .memories-heading h2{font-size:43px}.gallery-toolbar{display:block;margin-top:26px;margin-bottom:19px}.gallery-filters{justify-content:space-between;gap:2px}.gallery-filters button{font-size:8px;padding:9px 11px;min-height:38px}.gallery-count{display:block;font-size:14px;margin-top:14px}.editorial-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.editorial-gallery .gallery-item,.editorial-gallery .gallery-frame-1{grid-column:span 1;height:270px}.editorial-gallery .gallery-frame-0,.editorial-gallery .gallery-frame-3,.editorial-gallery .gallery-frame-4{grid-column:1 / -1;height:295px}.editorial-gallery .gallery-frame-2{grid-column:2;grid-row:2;height:270px}.editorial-gallery .gallery-item>span{left:13px;right:13px;bottom:15px}.editorial-gallery .gallery-item strong{font-size:20px;line-height:1.12;max-width:95%;margin-top:7px}.editorial-gallery .gallery-frame-1 strong,.editorial-gallery .gallery-frame-2 strong{font-size:19px}.editorial-gallery .gallery-item small{font-size:5px;letter-spacing:1px}.editorial-gallery .gallery-item>span>i{display:none}.frame-number{font-size:5px;right:10px;top:10px;padding:3px 5px}.editorial-gallery.gallery-filtered{grid-template-columns:1fr}.editorial-gallery.gallery-filtered .gallery-item{grid-column:auto;grid-row:auto;height:370px}.editorial-gallery.gallery-filtered .gallery-item[data-gallery-category=setting]{height:310px}.cinematic-wedding .film-card{margin-top:35px;padding-top:33px}.cinematic-wedding .film-image{height:250px}.film-image-label{font-size:5px;letter-spacing:1.5px}.cinematic-wedding .film-copy h3{font-size:39px}.cinematic-wedding .wedding-quote{padding:54px 22px}.cinematic-wedding .wedding-quote p{font-size:40px}.cinematic-wedding .wedding-hero-content>*:not(.wedding-scroll){transform:translateY(12px)}.cinematic-wedding.invitation-open .wedding-hero-content>*{transform:translateY(0)}
}
@media(max-width:360px){.entrance-content h2{font-size:43px}.entrance-date{font-size:5.5px}.entrance-kicker{font-size:5px;letter-spacing:1.7px}.entrance-names{font-size:23px}.cinematic-wedding .wedding-hero h1,.cinematic-wedding.theme-blush .wedding-hero h1{font-size:71px}.cinema-caption>h2{font-size:43px}.gallery-filters button{padding:8px 9px;font-size:7px}.candid-script{font-size:33px}.entourage-names h3{font-size:22px}.editorial-gallery .gallery-item strong{font-size:18px}.editorial-gallery .gallery-item small{font-size:4.5px}}
@media(max-height:720px) and (min-width:651px){.entrance-content{padding-top:75px;padding-bottom:65px}.entrance-kicker{margin-bottom:15px}.entrance-monogram{height:73px;width:73px;font-size:39px;margin-bottom:16px}.entrance-content h2{font-size:57px}.entrance-names{margin-top:15px;font-size:25px}.entrance-open{margin-top:21px}.entrance-footnote{margin-top:9px}.entrance-sunrise .entrance-monogram{height:45px;margin-bottom:16px}}
@media(prefers-reduced-motion:reduce){.cinematic-wedding .reveal,.cinematic-wedding .wedding-hero-content>*{opacity:1!important;transform:none!important}.cinema-scroll-section{height:auto;min-height:0}.cinema-stage{position:relative;height:80svh;min-height:540px}.atmosphere-video{transform:none}.cinema-caption{transform:translateY(-20%)}.cinema-progress{display:none}.cinematic-entrance .entrance-backdrop{transform:none}.opening .procession-sequence{display:none}}
