/* Contemporary movement and small-screen refinements */
:root{--progress:0}.scroll-meter{position:fixed;z-index:45;top:0;left:0;width:100%;height:3px;background:rgba(168,96,100,.14);pointer-events:none}.scroll-meter span{display:block;height:100%;width:100%;background:var(--rose);transform:scaleX(var(--progress));transform-origin:left}.intro-names span,.nav-mark span{color:var(--rose);font-style:italic}.hero:before{content:'B & S'}.invitation-ribbon{position:relative;z-index:3;display:flex;overflow:hidden;white-space:nowrap;height:43px;align-items:center;background:var(--wine);color:#f6e8e1;font:500 .58rem var(--mono);letter-spacing:.16em;text-transform:uppercase}.invitation-ribbon span{flex:none;padding-right:28px;animation:ribbon 24s linear infinite}.date-seal{position:absolute;z-index:3;right:1%;bottom:-18px;width:82px;height:82px;display:grid;place-content:center;text-align:center;border-radius:50%;background:var(--rose);color:var(--cream);font:400 2.1rem/.67 var(--serif);transform:rotate(10deg);box-shadow:0 10px 18px rgba(63,33,41,.2);animation:sealFloat 4s ease-in-out infinite}.date-seal small{font:500 .52rem var(--mono);letter-spacing:.12em;text-transform:uppercase}.hero h1 span{animation:headlineIn .9s both cubic-bezier(.16,1,.3,1)}.hero h1 span:last-child{animation-delay:.12s}.hero h1 i{display:block;animation:ampIn .8s .25s both cubic-bezier(.16,1,.3,1)}.welcome-content:after{content:'B&S';position:absolute;right:-10%;bottom:-26%;font:400 9rem/.7 var(--serif);letter-spacing:-.13em;color:rgba(168,96,100,.08);z-index:-1}.portrait-copy{position:relative;overflow:hidden}.portrait-mark{position:absolute;right:7%;bottom:6%;font:400 clamp(4rem,9vw,8rem)/.7 var(--serif);letter-spacing:-.15em;color:rgba(239,207,192,.16);transform:rotate(-8deg)}.portrait-band figure[data-parallax],.gallery-heading[data-parallax]{transform:translateY(calc(var(--parallax-y,0) * 1px));will-change:transform}.person-card{transform-origin:center bottom}.person-card:nth-child(2){transition-delay:.12s}.person-card .card-top{transition:letter-spacing .35s}.person-card:hover .card-top{letter-spacing:.2em}.timeline .moment{position:relative;overflow:hidden}.timeline .moment:after{content:'';position:absolute;inset:0;background:rgba(168,96,100,.06);transform:scaleX(0);transform-origin:left;transition:transform .45s;pointer-events:none}.timeline .moment:hover:after{transform:scaleX(1)}.timeline .moment>*{position:relative;z-index:1}.main-moment:after{background:rgba(255,255,255,.08)!important}.gallery-heading{will-change:transform}.gallery-photo.a{transform:rotate(-3deg) translateY(0)}.gallery-photo.b{transform:rotate(4deg) translateY(0)}.gallery-photo.reveal{opacity:0}.gallery-photo.reveal.visible{opacity:1}.gallery-photo.a.reveal.visible{animation:slideLeft .9s cubic-bezier(.16,1,.3,1) both}.gallery-photo.b.reveal.visible{animation:slideRight .9s .13s cubic-bezier(.16,1,.3,1) both}.gallery-badge{position:absolute;z-index:4;right:27%;bottom:12%;width:80px;height:80px;display:grid;place-content:center;text-align:center;border-radius:50%;background:var(--cream);color:var(--wine);font:400 1.75rem/.6 var(--serif);letter-spacing:-.1em;transform:rotate(-12deg);box-shadow:0 9px 15px rgba(63,33,41,.17)}.gallery-badge span{font:italic .8rem var(--serif);letter-spacing:0}.contact-inner{position:relative}.contact-inner:before{content:'✦';position:absolute;left:-8%;top:0;color:var(--blush);font-size:4rem}.reveal{transition-duration:1s}@keyframes ribbon{to{transform:translateX(-100%)}}@keyframes sealFloat{50%{transform:rotate(6deg) translateY(-7px)}}@keyframes headlineIn{from{opacity:0;transform:translateY(45px);filter:blur(8px)}to{opacity:1;transform:none;filter:none}}@keyframes ampIn{from{opacity:0;transform:scale(.4) rotate(-25deg)}to{opacity:1;transform:none}}@keyframes slideLeft{from{opacity:0;transform:rotate(-9deg) translate(-70px,40px)}to{opacity:1;transform:rotate(-3deg)}}@keyframes slideRight{from{opacity:0;transform:rotate(12deg) translate(70px,40px)}to{opacity:1;transform:rotate(4deg)}}@media(max-width:720px){.invitation-ribbon{height:38px;font-size:.51rem}.date-seal{width:61px;height:61px;font-size:1.6rem;right:2%;bottom:-9px}.date-seal small{font-size:.44rem}.welcome-content:after{font-size:6rem;bottom:-17%;right:0}.portrait-mark{font-size:5rem}.gallery-badge{width:58px;height:58px;right:31%;bottom:17%;font-size:1.35rem}.gallery-badge span{font-size:.6rem}.contact-inner:before{left:0;top:-33px;font-size:2.5rem}.moment{transition:background .35s,padding .35s,transform .7s cubic-bezier(.2,.8,.2,1)!important}.person-card{transition:box-shadow .4s,transform .8s cubic-bezier(.2,.8,.2,1)!important}}
@media(prefers-reduced-motion:reduce){.invitation-ribbon span,.date-seal,.hero h1 span,.hero h1 i{animation:none!important}.scroll-meter{display:none}}
