:root{--cream:#fff;--paper:#fafaf7;--paper-warm:#f3f1ea;--navy:#2b2b2b;--maroon:#6e7a4f;--gold:#c9cdb8;--soft-gray-blue:#b8c1cc;--deep-red:#6e7a4f;--sage:#8a9870;--sage-deep:#5a6a40;--ink:#2b2b2b;--muted:#8a8a85;--shadow:0 30px 80px rgba(40,44,30,.08)}*{box-sizing:border-box}html{scroll-behavior:smooth}body,html{overflow-x:hidden}body{margin:0;min-width:320px;background:#efece5;color:var(--ink);font-family:Cormorant Garamond,Cormorant,Georgia,serif;font-size:18px;font-weight:400}body.intro-active{height:100svh;overflow:hidden}a,button{font:inherit}main{overflow-x:hidden}.site-content{opacity:0;pointer-events:none;transition:opacity .62s ease}.site-content.is-opened{opacity:1;pointer-events:auto}h1,h2,h3,p{text-wrap:pretty}.card-section,.envelope-screen{position:relative;display:grid;min-height:100svh;place-items:center;padding:28px 16px;isolation:isolate}.envelope-screen{position:fixed;inset:0;z-index:50;background:#efece5;transition:opacity .72s ease,transform .72s ease}.card-section{min-height:auto;padding-block:clamp(34px,9vw,76px)}.first-card{padding-top:clamp(42px,10vw,90px)}.envelope-wrap{position:relative;display:grid;width:min(430px,100%);justify-items:center;padding:20px 0;text-align:center}.envelope{position:relative;width:min(420px,86vw);aspect-ratio:1.4/1;margin:0 auto 30px;filter:drop-shadow(0 26px 40px rgba(7,27,58,.18));transition:transform .9s cubic-bezier(.2,.7,.2,1),opacity .9s ease,filter .9s ease;cursor:pointer;animation:envBreathe 5.5s ease-in-out infinite}.envelope img{width:100%;height:100%;object-fit:contain;display:block;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none;pointer-events:none}.envelope-glow{position:absolute;inset:-10%;background:radial-gradient(closest-side,rgba(185,155,95,.32),rgba(185,155,95,0) 70%);z-index:-1;opacity:.7;animation:envGlow 4s ease-in-out infinite;pointer-events:none}.envelope-hint{position:absolute;left:50%;top:calc(100% + 10px);transform:translateX(-50%);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--maroon);opacity:.7;white-space:nowrap;animation:hintBob 2.4s ease-in-out infinite}.envelope:hover{transform:translateY(-4px) scale(1.02);animation-play-state:paused}.envelope-screen.is-opened .envelope{opacity:0;transform:translateY(-30px) scale(1.06) rotate(-2deg)}.envelope-screen.is-opened{opacity:0;pointer-events:none;transform:translateY(-16px)}@keyframes envBreathe{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-6px) scale(1.012)}}@keyframes envGlow{0%,to{opacity:.55;transform:scale(1)}50%{opacity:.85;transform:scale(1.06)}}@keyframes hintBob{0%,to{transform:translate(-50%);opacity:.5}50%{transform:translate(-50%,6px);opacity:.95}}.intro-kicker,.section-kicker,.tiny-caps{margin:0;color:var(--ink);font-family:Marck Script,Cormorant,cursive;font-size:1.4rem;font-weight:400;font-style:italic;letter-spacing:.01em;text-transform:none}.envelope-wrap h1{display:grid;justify-items:center;margin:8px 0 22px;color:var(--ink);font-family:Cormorant,Cormorant Garamond,Georgia,serif;font-size:clamp(2.6rem,10vw,5rem);font-weight:500;letter-spacing:.06em;text-transform:uppercase;width:100%}.envelope-wrap h1 span{max-width:100%}.envelope-wrap h1 em{color:var(--ink);font-family:Marck Script,cursive;font-style:normal;font-size:.42em;font-weight:400;letter-spacing:0;line-height:1;text-transform:none;margin:.1em 0}.button-link,.envelope-wrap button{display:inline-flex;min-height:44px;align-items:center;justify-content:center;border:1px solid var(--ink);background:transparent;color:var(--ink);cursor:pointer;font-family:Cormorant,Cormorant Garamond,serif;font-size:.78rem;font-weight:500;letter-spacing:.22em;padding:0 26px;text-decoration:none;text-transform:uppercase;transition:background .22s ease,color .22s ease,transform .22s ease}.button-link:hover,.envelope-wrap button:hover{background:var(--ink);color:#fff;transform:translateY(-1px)}.envelope-wrap button:disabled{cursor:default;opacity:.6}.printed-card{position:relative;width:min(560px,calc(100vw - 32px));min-width:0;margin:0 auto;padding:clamp(40px,8vw,72px) clamp(24px,6vw,56px);border:none;background:#fff;box-shadow:var(--shadow);text-align:center}.printed-card:before{display:none}.main-card{min-height:min(760px,calc(100svh - 36px));display:grid;align-content:center}.opening-text{position:relative;z-index:1;margin:0 auto 28px;color:var(--ink);font-family:Marck Script,cursive;font-size:clamp(1.2rem,4.4vw,1.6rem);font-style:normal;font-weight:400;line-height:1.4;max-width:32ch}.monogram{display:grid;width:88px;height:88px;margin:0 auto 26px;place-items:center;border:1px solid var(--ink);border-radius:50%;font-family:Cormorant,serif;font-size:1.5rem;letter-spacing:.08em;line-height:1}.couple-name,.monogram{z-index:1;color:var(--ink);font-weight:500}.couple-name{position:relative;display:grid;justify-items:center;margin:18px auto 14px;font-family:Cormorant,Cormorant Garamond,Georgia,serif;font-size:clamp(2.4rem,9vw,4.6rem);letter-spacing:.06em;text-transform:uppercase}.couple-name,.couple-name span{max-width:100%}.couple-name em{color:var(--ink);font-family:Marck Script,cursive;font-style:normal;font-weight:400;font-size:.42em;letter-spacing:0;line-height:1;text-transform:none;margin:.05em 0}.gold-divider{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;margin:22px auto;color:var(--ink)}.gold-divider:after,.gold-divider:before{width:min(28vw,130px);height:1px;background:currentColor;opacity:.6;content:""}.gold-divider span{width:5px;height:5px;margin:0 16px;background:currentColor;border:0;border-radius:50%;transform:none;opacity:.7}.gold-divider-small{margin-block:16px}.gold-divider-small:after,.gold-divider-small:before{width:70px}.estate-illustration{position:relative;z-index:1;display:block;width:min(360px,78%);margin:18px auto 22px}.estate-illustration img{width:100%;height:auto;display:block;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.date-layout{position:relative;z-index:1;display:flex;justify-content:center;align-items:center;gap:18px;margin:0 auto 14px;border:0;color:var(--ink);min-width:0;padding:6px 0 10px}.date-piece{font-family:Cormorant,serif;font-size:clamp(.95rem,3vw,1.15rem);font-weight:500;letter-spacing:.22em;text-transform:uppercase;white-space:nowrap;color:var(--ink)}.date-bar{display:inline-block;width:1px;height:1.2em;background:var(--ink);opacity:.55}.date-side{min-width:0}.date-center,.date-side{display:inline-flex;align-items:center;min-height:auto;padding:0;font-family:Cormorant,serif}.date-center{flex-direction:row;gap:6px;border:0}.date-month,.date-side,.date-year{font-size:clamp(.85rem,2.8vw,1.05rem);line-height:1.2;text-transform:uppercase;white-space:nowrap}.date-month,.date-number,.date-side,.date-year{font-weight:500;letter-spacing:.18em;margin:0;color:var(--ink)}.date-number{font-family:Cormorant,serif;font-size:clamp(1rem,3.2vw,1.2rem);line-height:1}.date-center+.date-side:before,.date-side+.date-center:before{content:"|";margin-right:12px;color:var(--ink);opacity:.45;font-weight:300}.date-year{letter-spacing:.22em}.venue-line{margin:0;font-family:Cormorant,serif;font-size:clamp(1rem,3.4vw,1.2rem);font-weight:400;letter-spacing:0;text-transform:none}.venue-line,.venue-subline{position:relative;z-index:1;color:var(--ink);font-style:italic}.venue-subline{margin:4px 0 0;font-size:1rem}.adult-note{position:relative;z-index:1;margin:22px 0 0;color:var(--ink);font-family:Marck Script,cursive;font-size:1.15rem;font-style:normal;font-weight:400}.floral{position:absolute;z-index:0;width:clamp(118px,30vw,160px);color:var(--sage);opacity:.45;pointer-events:none}.floral-intro-left,.floral-top-left{left:-24px;top:-22px}.floral-bottom-right,.floral-intro-right{right:-24px;bottom:-22px;transform:rotate(180deg)}.floral-intro-left{left:max(-46px,-12vw);top:10vh}.floral-intro-right{right:max(-46px,-12vw);bottom:8vh}.vine{fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:3}.leaf{fill:currentColor}.leaf-one,.leaf-three{opacity:.55}.leaf-four,.leaf-two{opacity:.4}.bud{fill:var(--sage-deep);opacity:.5}.floral .vine{stroke-dasharray:220;stroke-dashoffset:220;transition:stroke-dashoffset 1.8s cubic-bezier(.2,.7,.2,1) .2s}.floral .bud,.floral .leaf{transform-box:fill-box;transform-origin:center;transform:scale(0);opacity:0;transition:transform .9s cubic-bezier(.34,1.56,.64,1),opacity .7s ease}.is-visible .floral .vine,.reveal.is-visible .floral .vine{stroke-dashoffset:0}.is-visible .floral .leaf,.reveal.is-visible .floral .leaf{transform:scale(1);opacity:.5}.is-visible .floral .bud,.reveal.is-visible .floral .bud{transform:scale(1);opacity:.55}.reveal.is-visible .floral .leaf-one{transition-delay:.9s,.9s}.reveal.is-visible .floral .leaf-two{transition-delay:1.1s,1.1s}.reveal.is-visible .floral .leaf-three{transition-delay:1.3s,1.3s}.reveal.is-visible .floral .leaf-four{transition-delay:1.5s,1.5s}.reveal.is-visible .floral .bud{transition-delay:1.7s,1.7s}.closing-card,.countdown-card,.details-card,.palette-card,.parents-card,.venue-card{min-height:auto}.formal-copy{position:relative;z-index:1;margin:14px auto;color:var(--ink);font-size:1.12rem;line-height:1.6;font-weight:400}.closing-card h2,.countdown-card h2,.details-card h2,.palette-card h2,.venue-card h2{position:relative;z-index:1;margin:6px 0 24px;color:var(--ink);font-family:Cormorant,serif;font-size:clamp(1.6rem,6vw,2.4rem);font-style:normal;font-weight:500;line-height:1.15;letter-spacing:.04em;text-transform:uppercase}.countdown-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px;margin-top:18px}.time-box{display:grid;min-height:96px;place-items:center;border:1px solid rgba(110,122,79,.4);background:transparent;padding:14px 8px}.time-box strong{font-family:Cormorant,serif;font-size:clamp(2rem,9vw,3rem);line-height:.9}.time-box span,.time-box strong{color:var(--ink);font-weight:500}.time-box span{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;margin-top:6px}.date-target{margin:18px 0 0;color:var(--muted);font-size:.98rem}.date-target,.venue-media{position:relative;z-index:1}.venue-media{margin:0 0 26px;overflow:hidden;border:1px solid rgba(110,122,79,.35);background:var(--paper);aspect-ratio:4/3}.venue-media iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}.venue-media-label{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:18px 12px 14px;text-align:center;background:linear-gradient(180deg,rgba(43,43,43,0),rgba(43,43,43,.6));color:#fff;font-family:Cormorant,serif;font-size:clamp(1.4rem,5vw,1.8rem);font-weight:500;letter-spacing:.1em;text-transform:uppercase;line-height:1;text-shadow:0 2px 10px rgba(0,0,0,.55);pointer-events:none}.button-link{position:relative;z-index:1;margin-top:6px}.music-button{position:fixed;right:24px;bottom:22px;z-index:9999;display:flex;width:52px;height:52px;align-items:center;justify-content:center;border:1px solid var(--ink);border-radius:50%;background:#fff;box-shadow:0 10px 25px rgba(40,44,30,.18);color:var(--ink);cursor:pointer;font-size:1rem;line-height:1}.music-button:after{position:absolute;inset:-6px;border:1px solid rgba(110,122,79,.5);border-radius:50%;animation:musicPulse 1.8s ease-out infinite;content:"";pointer-events:none}.music-button span{position:relative;z-index:1;display:inline-flex;min-width:18px;justify-content:center}.music-button.paused{background:#fff;color:var(--sage-deep)}.music-button.paused:after{animation:none;opacity:0}@keyframes musicPulse{0%{opacity:.8;transform:scale(.9)}to{opacity:0;transform:scale(1.25)}}.palette-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:18px 12px;gap:18px 12px;margin-top:8px}.palette-item{display:grid;justify-items:center;grid-gap:5px;gap:5px}.color-dot{width:68px;height:68px;border:1px solid rgba(7,27,58,.14);border-radius:50%;box-shadow:inset 0 0 0 5px rgba(255,253,248,.42)}.color-navy{background:#071b3a}.color-burgundy{background:#7b1026}.color-dusty{background:#b8c1cc}.color-sage{background:#a5ad91}.color-gold{background:#b99b5f}.color-cream{background:#f7f3ec;border-color:rgba(7,27,58,.25)}.palette-item small{color:var(--maroon);font-size:.68rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.palette-item strong{color:var(--navy);font-size:1rem}.details-card .formal-copy{text-transform:none;letter-spacing:0;font-style:italic;font-size:1.1rem;font-weight:400;line-height:1.6;max-width:32ch}.closing-card{padding-block:clamp(48px,12vw,72px)}.closing-card h2{margin-bottom:20px;font-family:Cormorant,serif;font-size:clamp(2.4rem,9vw,4rem);font-style:normal;font-weight:500;letter-spacing:.05em;text-transform:uppercase}blockquote{position:relative;z-index:1;margin:0 auto 22px;color:var(--ink)}blockquote p{margin:0;font-family:Marck Script,cursive;font-size:clamp(1.2rem,4.6vw,1.6rem);font-style:normal;font-weight:400}blockquote cite{display:block;margin-top:14px;color:var(--ink);font-size:.74rem;font-style:normal;font-weight:500;letter-spacing:.22em;text-transform:uppercase;opacity:.7}.reveal{opacity:0;transform:translateY(50px);transition:opacity 1.4s cubic-bezier(.2,.7,.2,1),transform 1.4s cubic-bezier(.2,.7,.2,1)}.reveal.is-visible{opacity:1;transform:translateY(0)}.section-parallax{position:relative;will-change:transform,opacity;opacity:0;transform:translateY(90px) scale(.97);transition:opacity 1.7s cubic-bezier(.2,.7,.2,1),transform 1.7s cubic-bezier(.2,.7,.2,1)}.section-parallax.is-visible{opacity:1;transform:translateY(0) scale(1)}.section-parallax.from-left{transform:translate3d(-70px,60px,0) scale(.97)}.section-parallax.from-right{transform:translate3d(70px,60px,0) scale(.97)}.section-parallax.from-left.is-visible,.section-parallax.from-right.is-visible{transform:translateZ(0) scale(1)}.section-parallax .printed-card{transition:transform 1.5s cubic-bezier(.2,.7,.2,1) .12s,box-shadow .9s ease .12s;transform:translateY(20px);box-shadow:0 8px 28px rgba(7,27,58,.06)}.section-parallax.is-visible .printed-card{transform:translateY(0);box-shadow:var(--shadow)}.section-parallax .printed-card>*{opacity:0;transform:translateY(14px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.7,.2,1)}.section-parallax.is-visible .printed-card>*{opacity:1;transform:translateY(0)}.section-parallax.is-visible .printed-card>:first-child{transition-delay:.2s}.section-parallax.is-visible .printed-card>:nth-child(2){transition-delay:.32s}.section-parallax.is-visible .printed-card>:nth-child(3){transition-delay:.44s}.section-parallax.is-visible .printed-card>:nth-child(4){transition-delay:.56s}.section-parallax.is-visible .printed-card>:nth-child(5){transition-delay:.68s}.section-parallax.is-visible .printed-card>:nth-child(6){transition-delay:.8s}.section-parallax.is-visible .printed-card>:nth-child(7){transition-delay:.92s}.section-parallax.is-visible .printed-card>:nth-child(8){transition-delay:1.04s}.section-parallax .printed-card>.floral{opacity:.36;transform:none;transition-delay:0ms}.reveal-zoom{opacity:0;transform:scale(.92);transition:opacity 1.1s cubic-bezier(.2,.7,.2,1),transform 1.1s cubic-bezier(.2,.7,.2,1)}.reveal-zoom.is-visible{opacity:1;transform:scale(1)}.printed-card.reveal{transform:translateY(40px) scale(.985)}.printed-card.reveal.is-visible{transform:translateY(0) scale(1)}@keyframes floatY{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.monogram{animation:floatY 4s ease-in-out infinite}.gold-divider:after,.gold-divider:before{transform-origin:center;transform:scaleX(0);transition:transform 1.2s cubic-bezier(.2,.7,.2,1) .2s}.is-visible>.gold-divider:after,.is-visible>.gold-divider:before,.reveal.is-visible .gold-divider:after,.reveal.is-visible .gold-divider:before{transform:scaleX(1)}.couple-name span,.envelope-wrap h1 span{padding-bottom:.05em;color:var(--ink)}.couple-name{line-height:1.05}.envelope-wrap h1{line-height:1}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.countdown-card.is-visible .time-box{animation:tickPop .6s cubic-bezier(.2,.7,.2,1) backwards}.countdown-card.is-visible .time-box:first-child{animation-delay:.2s}.countdown-card.is-visible .time-box:nth-child(2){animation-delay:.32s}.countdown-card.is-visible .time-box:nth-child(3){animation-delay:.44s}.countdown-card.is-visible .time-box:nth-child(4){animation-delay:.56s}@keyframes tickPop{0%{opacity:0;transform:translateY(14px) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}.palette-card.is-visible .palette-item{animation:dotIn .7s cubic-bezier(.2,.7,.2,1) backwards}.palette-card.is-visible .palette-item:first-child{animation-delay:.1s}.palette-card.is-visible .palette-item:nth-child(2){animation-delay:.2s}.palette-card.is-visible .palette-item:nth-child(3){animation-delay:.3s}.palette-card.is-visible .palette-item:nth-child(4){animation-delay:.4s}.palette-card.is-visible .palette-item:nth-child(5){animation-delay:.5s}.palette-card.is-visible .palette-item:nth-child(6){animation-delay:.6s}@keyframes dotIn{0%{opacity:0;transform:translateY(16px) scale(.7)}to{opacity:1;transform:translateY(0) scale(1)}}.color-dot{transition:transform .32s cubic-bezier(.2,.7,.2,1),box-shadow .32s ease}.palette-item:hover .color-dot{transform:translateY(-4px) scale(1.06);box-shadow:inset 0 0 0 5px rgba(255,253,248,.42),0 12px 24px rgba(7,27,58,.18)}.outfit-frame{position:relative;z-index:1;width:100%;margin:6px 0 18px;border:1px solid rgba(110,122,79,.35);background:var(--paper);overflow:hidden;aspect-ratio:4/3}.outfit-frame img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.4s cubic-bezier(.2,.7,.2,1)}.palette-card.is-visible .outfit-frame img{transform:scale(1.04)}.outfit-frame:after{content:"";position:absolute;inset:6px;border:1px solid rgba(185,155,95,.4);pointer-events:none}.outfit-frame-only{aspect-ratio:auto;margin:18px 0 4px;background:transparent;border-color:rgba(110,122,79,.3)}.outfit-frame-only img{height:auto;object-fit:contain}.dresscode-section{position:relative;overflow:hidden;isolation:isolate;background:#efece5}.dresscode-section .printed-card{position:relative;z-index:1}.dresscode-section .palette-card h2{font-family:Cormorant,serif;font-style:normal;font-weight:500;font-size:clamp(1.6rem,6vw,2.4rem);color:var(--ink);letter-spacing:.08em;text-transform:uppercase;line-height:1.15}.floral{animation:floralDrift 14s ease-in-out infinite}.floral-bottom-right,.floral-intro-right{animation-delay:-7s}@keyframes floralDrift{0%,to{transform:rotate(0deg) translateY(0)}50%{transform:rotate(2deg) translateY(-3px)}}.floral-bottom-right,.floral-intro-right{animation-name:floralDriftFlip}@keyframes floralDriftFlip{0%,to{transform:rotate(180deg) translateY(0)}50%{transform:rotate(178deg) translateY(-3px)}}.scroll-progress{position:fixed;top:0;left:0;height:2px;background:var(--sage-deep);z-index:100;transform-origin:left center;transition:transform 80ms linear;pointer-events:none}.monogram:after{content:"";position:absolute;inset:-8px;border:1px dashed rgba(110,122,79,.45);border-radius:50%;animation:ringSpin 22s linear infinite}.monogram{position:relative}@keyframes ringSpin{to{transform:rotate(1turn)}}@media (min-width:720px){.card-section{padding-inline:28px}.printed-card{width:min(560px,calc(100vw - 56px))}.main-card{min-height:790px}.floral{width:190px}.palette-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.music-button{right:32px}}@media (max-width:374px){.printed-card{width:calc(100vw - 24px);max-width:calc(100vw - 24px);padding-inline:14px}.date-layout{grid-template-columns:minmax(0,1fr) minmax(78px,92px) minmax(0,1fr)}.date-center,.date-side{min-height:96px}.date-month,.date-side,.date-year{font-size:.58rem;letter-spacing:.1em}.date-number{font-size:clamp(2.4rem,10vw,2.8rem)}.venue-line{letter-spacing:.05em}}.couple-name span,.envelope-wrap h1 span{display:inline-block;opacity:0;transform:translateX(-90px);transition:opacity 1.3s cubic-bezier(.2,.7,.2,1),transform 1.3s cubic-bezier(.2,.7,.2,1);filter:blur(4px)}.couple-name span:last-of-type,.envelope-wrap h1 span:last-of-type{transform:translateX(90px)}.couple-name em,.envelope-wrap h1 em{display:inline-block;opacity:0;transform:scale(.4) rotate(-12deg);transition:opacity .7s ease,transform .9s cubic-bezier(.34,1.56,.64,1)}.envelope-wrap.is-visible h1 span,.section-parallax.is-visible .couple-name span{opacity:1;transform:translateX(0);filter:blur(0);transition-delay:.5s}.envelope-wrap.is-visible h1 span:last-of-type,.section-parallax.is-visible .couple-name span:last-of-type{transition-delay:.85s}.envelope-wrap.is-visible h1 em,.section-parallax.is-visible .couple-name em{opacity:1;transform:scale(1) rotate(0);transition-delay:1.2s}.calendar-card{padding-block:clamp(40px,8vw,64px)}.calendar-card .calendar-month{margin:6px 0 18px!important;letter-spacing:.18em;font-size:clamp(1.4rem,5vw,1.9rem)}.calendar-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(7,1fr);grid-gap:6px 4px;gap:6px 4px;margin:12px auto 22px;max-width:380px}.calendar-head{font-family:Cormorant,serif;font-size:.72rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);text-align:center;padding:4px 0 10px;border-bottom:1px solid hsla(81,16%,52%,.25)}.calendar-day{position:relative;display:grid;place-items:center;aspect-ratio:1/1;font-family:Cormorant,serif;font-size:clamp(.9rem,3.2vw,1.1rem);font-weight:400;color:var(--ink)}.calendar-day-empty{visibility:hidden}.calendar-day-target{color:var(--sage-deep);font-weight:600;font-size:clamp(1.15rem,4vw,1.45rem)}.calendar-day-target .day-number{position:relative;z-index:2;display:inline-block}.calendar-card.is-visible .calendar-day-target .day-number{animation:heartBeat 1.5s ease-in-out 3.2s infinite}.heart-svg{position:absolute;inset:-22%;width:144%;height:144%;overflow:visible;pointer-events:none;z-index:1}.heart-path{fill:none;stroke:var(--sage);stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:320;stroke-dashoffset:320;transition:stroke-dashoffset 2.4s cubic-bezier(.2,.7,.2,1) .9s,fill .6s ease 3.4s}.calendar-card.is-visible .heart-path{stroke-dashoffset:0;fill:hsla(81,16%,52%,.12)}.calendar-quote{position:relative;z-index:1;margin:8px 0 0;font-family:Marck Script,cursive;font-size:1.2rem;color:var(--sage-deep)}@keyframes heartBeat{0%,to{transform:scale(1)}18%{transform:scale(1.18)}36%{transform:scale(1)}54%{transform:scale(1.1)}72%{transform:scale(1)}}.section-parallax .printed-card .calendar-grid,.section-parallax .printed-card .calendar-quote,.section-parallax .printed-card .date-layout,.section-parallax .printed-card .estate-illustration,.section-parallax .printed-card .formal-copy,.section-parallax .printed-card .opening-text,.section-parallax .printed-card .section-kicker,.section-parallax .printed-card .venue-line,.section-parallax .printed-card .venue-subline,.section-parallax .printed-card blockquote,.section-parallax .printed-card h2{filter:blur(6px);transition:opacity 1.1s ease,transform 1.1s cubic-bezier(.2,.7,.2,1),filter 1.1s ease}.section-parallax.is-visible .printed-card .calendar-grid,.section-parallax.is-visible .printed-card .calendar-quote,.section-parallax.is-visible .printed-card .date-layout,.section-parallax.is-visible .printed-card .estate-illustration,.section-parallax.is-visible .printed-card .formal-copy,.section-parallax.is-visible .printed-card .opening-text,.section-parallax.is-visible .printed-card .section-kicker,.section-parallax.is-visible .printed-card .venue-line,.section-parallax.is-visible .printed-card .venue-subline,.section-parallax.is-visible .printed-card blockquote,.section-parallax.is-visible .printed-card h2{filter:blur(0)}.calendar-card .calendar-day,.calendar-card .calendar-head{opacity:0;transform:translateY(8px);transition:opacity .6s ease,transform .6s cubic-bezier(.2,.7,.2,1)}.calendar-card.is-visible .calendar-head{opacity:1;transform:translateY(0);transition-delay:.6s}.calendar-card.is-visible .calendar-day{opacity:1;transform:translateY(0)}.calendar-card.is-visible .calendar-day:nth-child(7n+8){transition-delay:.7s}.calendar-card.is-visible .calendar-day:nth-child(7n+9){transition-delay:.76s}.calendar-card.is-visible .calendar-day:nth-child(7n+10){transition-delay:.82s}.calendar-card.is-visible .calendar-day:nth-child(7n+11){transition-delay:.88s}.calendar-card.is-visible .calendar-day:nth-child(7n+12){transition-delay:.94s}.calendar-card.is-visible .calendar-day:nth-child(7n+13){transition-delay:1s}.calendar-card.is-visible .calendar-day:nth-child(7n+14){transition-delay:1.06s}.vine-link{position:relative;display:block;width:80px;height:180px;margin:-30px auto;pointer-events:none;z-index:0}.vine-link svg{width:100%;height:100%;overflow:visible;color:var(--sage)}.vine-stem{fill:none;stroke:var(--sage);stroke-width:1.6;stroke-linecap:round;stroke-dasharray:280;stroke-dashoffset:280;opacity:.7;transition:stroke-dashoffset 2.2s cubic-bezier(.2,.7,.2,1) .1s}.vine-link.is-visible .vine-stem{stroke-dashoffset:0}.vine-leaf{fill:var(--sage);opacity:0;transform-box:fill-box;transform-origin:40px 80px;transform:scale(0) rotate(-30deg);transition:transform .9s cubic-bezier(.34,1.56,.64,1),opacity .7s ease}.vine-leaf-l{transform-origin:40px 80px}.vine-leaf-r{transform-origin:40px 140px}.vine-link.is-visible .vine-leaf-l{transform:scale(1) rotate(0);opacity:.55;transition-delay:1.1s}.vine-link.is-visible .vine-leaf-r{transform:scale(1) rotate(0);opacity:.55;transition-delay:1.5s}.vine-bud{fill:var(--sage-deep);opacity:0;transition:opacity .6s ease 1.9s}.vine-link.is-visible .vine-bud{opacity:.7}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}