/* Weddings · the same ivory, navy, champagne and typography as the original site. */
.brand b,.footer-name em{white-space:nowrap}
.live-intro-title h2{line-height:1.05}
.live-intro-title h2 em{display:inline-block;white-space:nowrap}
@media(max-width:720px){.live-intro-title h2{font-size:clamp(34px,8vw,44px)}.live-intro-title h2 em{display:block;margin-top:3px}.live-intro-title{margin-bottom:18px}}
.live-intro-envelope{--intro-photo:url('/live/assets/premium/envelope-brand-ib-v1.webp')}
.intro-moving-seal{clip-path:polygon(43.5% 45.7%,55.2% 45.7%,58.5% 49%,58.5% 63.8%,55.2% 66.5%,43.5% 66.5%,41.1% 63.8%,41.1% 49%)}
.live-intro-seal{width:18.8%;aspect-ratio:215/255;border-radius:4px}
.ceramic-button{width:18.8%;aspect-ratio:215/255;border-radius:4px}
.seal-light{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;opacity:.65}
.demo-board{height:auto;min-height:var(--demo-height);align-items:start;gap:clamp(40px,6vw,84px)}
.demo-board #sample-wedding{height:var(--demo-height);grid-column:1;grid-row:1}
.demo-board .wedding-benefits{grid-column:2;grid-row:1;align-self:center;min-width:0;padding:12px 0 12px 10px}
.wedding-benefits>h2{font:500 clamp(38px,4vw,54px)/1.03 var(--serif);letter-spacing:-1.5px;margin:0 0 30px}
.wedding-benefits>h2 em{font-weight:500;color:var(--gold);font-style:italic}
.wedding-benefits .invitation-offer{margin:0;padding:0;border:0;max-width:none}
.wedding-benefits .offer-summary{padding-bottom:22px;margin-bottom:18px}
.wedding-benefits .offer-price strong{font-size:clamp(42px,4vw,58px)}
.wedding-benefits .offer-features{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}
.wedding-benefits .offer-features li{min-width:0;min-height:49px;align-items:flex-start;padding:12px 0;font-size:11px;line-height:1.65}
.wedding-benefits .offer-features li>span:last-child{min-width:0}
.wedding-begin.begin-section{display:block;padding-block:64px}
.wedding-begin .intake{width:min(720px,100%);margin-inline:auto;display:flex;flex-direction:column;align-items:stretch;min-height:0;padding-top:0;border-top:0}
.wedding-begin .intake:before{display:none}
.wedding-begin .intake-label{text-align:center;margin:0 0 28px;font:500 clamp(44px,5vw,64px)/1.05 var(--serif);letter-spacing:-2px}
.wedding-begin .intake-stage{height:var(--intake-height,440px);min-height:0;flex:none;width:100%;position:relative}
.wish-wall{position:relative;isolation:isolate;overflow:hidden;background:#faf9f5}
.wish-wall>h4,.wish-wall>.micro-label,.wish-collage,.wish-form{position:relative;z-index:1}
.wish-collage{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:30px 0 35px}
.wish-note{min-width:0;padding:24px 17px;background:#fffefa;border:1px solid #e9e2d3;box-shadow:0 8px 25px #15344908;transform:rotate(-1.1deg);text-align:center}
.wish-note:nth-child(even){transform:rotate(1.3deg)}
.wish-note>span{font-size:17px;color:var(--gold);filter:grayscale(1) sepia(.5);opacity:.75}
.wish-note p{font:500 21px/1.35 var(--serif);color:var(--navy);margin:13px 0 17px}
.wish-note footer{font:500 8px/1.7 var(--sans);letter-spacing:1.4px;text-transform:uppercase;color:#8b7958}
.wish-rain{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.wish-emoji{position:absolute;left:var(--wish-x);top:-25px;font-size:22px;opacity:0;color:var(--gold);filter:grayscale(1) sepia(.6);animation:fall-wishes var(--wish-time) linear infinite;animation-delay:var(--wish-delay);animation-play-state:paused}
.wish-wall.is-visible .wish-emoji{animation-play-state:running}
@keyframes fall-wishes{0%{opacity:0;transform:translate3d(0,-20px,0) rotate(-10deg)}12%,80%{opacity:.22}100%{opacity:0;transform:translate3d(24px,900px,0) rotate(28deg)}}
.wish-form{display:grid;gap:15px;padding-top:24px;border-top:1px solid #e7e1d4}
.wish-form label{display:grid;gap:8px;font:500 10px/1.6 var(--sans);color:var(--navy)}
.wish-form input,.wish-form textarea{width:100%;box-sizing:border-box;border:0;border-bottom:1px solid #d8dbd9;background:transparent;padding:10px 0;color:var(--navy);font:400 14px/1.6 var(--sans);border-radius:0}
.wish-form textarea{resize:vertical;min-height:74px}
.wish-form input:focus-visible,.wish-form textarea:focus-visible{outline:2px solid #ae8b4966;outline-offset:4px}
.wish-form .button{justify-self:start;min-height:40px;font-size:10px}
.wish-status{font:400 10px/1.6 var(--sans);color:var(--gold-dark);min-height:16px;margin:0}
@media(max-width:820px){.demo-board{grid-template-columns:minmax(0,1fr);gap:44px}.demo-board:before{display:none}.demo-board .wedding-benefits{grid-column:1;grid-row:2;padding:0;max-width:600px;width:100%;justify-self:center}.demo-board #sample-wedding{grid-column:1;grid-row:1;max-width:600px;width:100%;justify-self:center}.wedding-benefits>h2{font-size:46px}.wedding-begin.begin-section{padding-block:65px}.wedding-begin .intake-label{margin-bottom:28px}.wedding-benefits .offer-features li{font-size:12px}}
@media(max-width:520px){.showcase{padding-bottom:44px}.demo-board{gap:35px}.wedding-benefits>h2{font-size:42px;margin-bottom:25px}.wedding-benefits .offer-features{gap:0 17px}.wedding-benefits .offer-features li{font-size:11px;min-height:55px}.wedding-begin.begin-section{padding-block:54px}.wedding-begin .intake-label{font-size:49px;letter-spacing:-1.6px}.wedding-begin .intake-stage{height:var(--intake-height,440px);min-height:0}.wish-collage{gap:12px}.wish-note{padding:19px 12px}.wish-note p{font-size:19px}.wish-form input,.wish-form textarea{font-size:16px}}
@media(prefers-reduced-motion:reduce){.wish-emoji{display:none}.wish-note{transform:none}}
.wedding-rsvp.inv-rsvp{background:#fffefa;padding-block:58px 42px}
.wedding-rsvp:before{content:"";display:block;width:32px;height:1px;background:#b09a6d;margin:0 auto 24px}
.wedding-rsvp>.micro-label,.wedding-rsvp>h4{text-align:center}
.wedding-rsvp>h4{font-size:clamp(34px,3.2vw,42px);font-weight:500;margin-bottom:32px}
.wedding-rsvp form{margin-inline:auto;max-width:380px}
.wedding-rsvp .sample-field{gap:10px;margin-bottom:27px}
.wedding-rsvp .sample-field label,.wedding-rsvp .rsvp-answers legend{font:500 11px/1.7 var(--sans);color:#536b79}
.wedding-rsvp .sample-field input{background:transparent;min-height:46px;border-bottom-color:#c9d1d2}
.wedding-rsvp .sample-field input::placeholder{font-size:12px;color:#73868e}
.wedding-rsvp .rsvp-answers{border:0;padding:0;margin:0 0 24px;min-width:0}
.wedding-rsvp .rsvp-answers legend{margin-bottom:11px;padding:0}
.wedding-rsvp .rsvp-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.wedding-rsvp .rsvp-answer{display:flex;align-items:center;gap:9px;border:1px solid #dce1dd;border-radius:3px;padding:14px 11px;font:500 11px/1.65 var(--sans);color:var(--navy);cursor:pointer;min-width:0;transition:background .2s,border-color .2s}
.wedding-rsvp .rsvp-answer:has(input:checked){border-color:#ae9663;background:#f6f2e9}
.wedding-rsvp .rsvp-answer:has(input:focus-visible){outline:2px solid #ae8b49;outline-offset:3px}
.wedding-rsvp .rsvp-answer input{width:15px;height:15px;flex:0 0 15px;accent-color:#80652e;margin:0}
.wedding-rsvp .sample-submit{width:100%;min-height:46px;margin-top:0;font-size:11px;letter-spacing:.025em}
.wedding-rsvp .rsvp-status{font-size:10px;text-align:center;min-height:32px;margin:15px 0 0}
@media(max-width:520px){.wedding-rsvp.inv-rsvp{padding:44px 22px 30px}.wedding-rsvp>h4{font-size:36px;margin-bottom:27px}.wedding-rsvp .rsvp-answer{font-size:11px;padding-inline:9px}.wedding-rsvp .rsvp-options{gap:8px}}
/* The warm studio session uses original photographs, with no color filter. */
.invitation-wedding[data-photo-set="vintage-20261102"]{--navy:#243844;--gold:#ae8e55;--gold-dark:#78603c;--muted:#66757b;background:#fffefa}
.invitation-wedding[data-photo-set] .inv-story,.invitation-wedding[data-photo-set] .inv-album{background:#f8f6f0}
.invitation-wedding[data-photo-set] .cover-photo:after{background:linear-gradient(0deg,#fffefa,transparent)}
.invitation-wedding[data-photo-set] .cover-photo img{object-position:50% 28%}
.invitation-wedding[data-photo-set] .inv-story figure img{object-position:50% 24%}
.invitation-wedding[data-photo-set] .memory-set figure:nth-child(1) img{object-position:50% 35%}
.invitation-wedding[data-photo-set] .memory-set figure:nth-child(2) img{object-position:50% 56%}
.invitation-wedding[data-photo-set] .memory-set figure:nth-child(3) img{object-position:50% 42%}
.invitation-wedding[data-photo-set] .memory-set figcaption{color:#78603c}
.invitation-wedding .editorial-album-single{display:block;width:calc(100% - 60px);max-width:390px;margin-inline:auto}
.invitation-wedding .editorial-album-single>img:first-child{display:block;width:100%;height:auto;aspect-ratio:1170/1550;max-height:none;object-fit:contain;object-position:center}
.invitation-wedding[data-photo-set] .inv-ending{align-items:flex-end;padding:45px 30px;min-height:560px}
.invitation-wedding[data-photo-set] .inv-ending>img{object-position:50% 24%}
.invitation-wedding[data-photo-set] .inv-ending:before{background:linear-gradient(180deg,rgba(20,27,29,.03) 25%,rgba(20,27,29,.2) 52%,rgba(20,27,29,.8) 100%)}
.invitation-wedding[data-photo-set] .inv-ending h4{font-size:clamp(28px,3vw,36px);line-height:1.12;max-width:24ch;margin:19px auto}
@media(max-width:520px){.invitation-wedding .editorial-album-single{width:calc(100% - 44px)}.invitation-wedding[data-photo-set] .inv-ending{min-height:510px;padding:38px 24px}.invitation-wedding[data-photo-set] .inv-ending h4{font-size:30px}}
