@font-face{font-family:"New York";src:url("../assets/fonts/new-york.woff") format("woff");font-display:swap}
@font-face{font-family:"Photograph Signature";src:url("../assets/fonts/photograph-signature.ttf") format("truetype");font-display:swap}
@font-face{font-family:"Cinzel";src:url("../assets/fonts/cinzel.woff2") format("woff2");font-display:swap}
@font-face{font-family:"Jura";src:url("../assets/fonts/jura.woff2") format("woff2");font-display:swap}
:root{--forest:#0b2b20;--forest-dark:#061a12;--cream:#f3eddd;--ink:#143127;--muted:#68756e;--gold:#cca95e;--gold-light:#ead39a;--serif:"New York",Georgia,serif;--sans:"Jura",sans-serif;--script:"Photograph Signature",cursive}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;background:#d5d8da}body{margin:0;background:#d5d8da;color:var(--ink);font:15px/1.7 var(--sans);-webkit-font-smoothing:antialiased}body.is-locked{overflow:hidden}body.is-locked::before{content:"";position:fixed;z-index:999;inset:0;background:#d5d8da}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}img{display:block;max-width:100%}a{color:inherit}.desktop-scene{display:none}
/* These assets deliberately bleed beyond the 500px canvas. Without this
   override the global responsive-image cap creates a visible vertical seam. */
.cover-forest-backdrop,.cover-canopy,.cover-flora,.art-canopy,.garden-base,.cream-canopy>img:first-child,.card-canopy,.gallery-canopy,.story-canopy,.gift-canopy{max-width:none}
/* The scroll lock only needs overflow:hidden. The old fixed pseudo-layer sat
   above the invitation and caused a white/grey flash while the cover faded. */
body.is-locked::before{display:none}
.invitation{position:relative;width:100%;max-width:500px;margin:auto;background:var(--cream);overflow:hidden;box-shadow:0 0 45px rgba(0,0,0,.18)}.page-content[aria-hidden="true"]{visibility:hidden}.section-inner{position:relative;z-index:5;width:min(calc(100% - 48px),430px);margin:auto;padding:90px 0}.section-inner.narrow{width:min(calc(100% - 70px),380px)}.section-inner.wide{width:min(calc(100% - 22px),468px)}.section-cream{position:relative;background:var(--cream);overflow:hidden}.art-forest{position:relative;color:#f7f1e4;background-color:#1f3528;background-image:linear-gradient(rgba(4,22,15,.12),rgba(5,27,18,.28)),url("../assets/images/theme/iyfw4.webp"),url("../assets/images/theme/xr2tl.webp");background-position:center;background-size:cover;background-repeat:no-repeat;overflow:hidden}.eyebrow,.role{margin:0;text-transform:uppercase;letter-spacing:.3em;font-size:10px}.script-label{margin:0;font:400 48px/1 var(--script);color:var(--gold)}.section-heading{text-align:center;margin:0 auto 34px}.section-heading p:not(.script-label){margin:10px auto 0;max-width:390px;color:var(--muted);font-size:13px}.section-heading.light p:not(.script-label){color:rgba(248,242,228,.78)}
.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:9px 22px;border:1px solid transparent;background:transparent;text-decoration:none;letter-spacing:.08em;font-size:11px;cursor:pointer;transition:transform .25s,box-shadow .25s,background-color .25s}.button:hover{transform:translateY(-2px)}.button:active{transform:translateY(0) scale(.96)}.button svg{width:16px;fill:none;stroke:currentColor;stroke-width:1.5}.button-gold{border-radius:999px;background:var(--gold);color:#fff;box-shadow:0 9px 22px rgba(0,0,0,.18)}.button-gold:hover{box-shadow:0 13px 27px rgba(0,0,0,.24)}.button-outline{border-color:var(--gold);color:var(--gold-light)}.button-dark{background:var(--forest);color:#fff}

/* opening cover */
.cover{position:fixed;z-index:1000;inset:0;width:100%;max-width:500px;min-height:100dvh;margin:auto;overflow:hidden;color:#fff;background:linear-gradient(rgba(5,25,17,.03),rgba(5,25,17,.2)),url("../assets/images/theme/iyfw4.webp") center/cover no-repeat;isolation:isolate;transition:opacity 1s,visibility 1s,transform 1.05s cubic-bezier(.75,0,.2,1)}.cover::after{content:"";position:absolute;z-index:5;inset:0;background:linear-gradient(180deg,transparent 58%,rgba(4,21,14,.12));pointer-events:none}.cover.is-open{opacity:0;visibility:hidden;transform:translateY(-4%)}
.cover-forest-backdrop{position:absolute;z-index:1;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;animation:coverBackdropIn 1.35s cubic-bezier(.16,1,.3,1) both}
.cover-scenery{position:absolute;z-index:2;inset:0;pointer-events:none}.cover-canopy{position:absolute;top:-10px;left:-5%;width:110%;animation:canopySway 8s ease-in-out infinite alternate}.cover-side-leaf{position:absolute;top:4%;width:46%;filter:brightness(.85)}.cover-side-leaf-left{left:-22%;transform:rotate(11deg)}.cover-side-leaf-right{right:-22%;transform:scaleX(-1) rotate(11deg)}.cover-cloud{position:absolute;top:2%;width:49%;opacity:.73;animation:cloudDrift 9s ease-in-out infinite alternate}.cover-cloud-left{left:5%}.cover-cloud-right{right:1%;transform:scaleX(-1);animation-delay:-4s}.cover-birds{position:absolute;top:9%;left:28%;width:46%;height:8%;animation:birdDrift 11s ease-in-out infinite alternate}.cover-birds i{position:absolute;width:11px;height:5px;border-top:2px solid rgba(6,16,12,.8);border-radius:50%}.cover-birds i::after{content:"";position:absolute;left:7px;top:-2px;width:10px;height:5px;border-top:2px solid rgba(6,16,12,.8);border-radius:50%;transform:rotate(-25deg)}.cover-birds i:nth-child(1){left:3%}.cover-birds i:nth-child(2){left:55%;top:28%;transform:scale(.5)}.cover-birds i:nth-child(3){right:0;top:65%;transform:scale(.35)}
.cover-content{position:relative;z-index:7;min-height:100dvh;padding:clamp(74px,10vh,102px) 24px 225px;display:flex;flex-direction:column;align-items:center;text-align:center}.cover .eyebrow{margin-bottom:11px;color:var(--gold-light);text-shadow:0 2px 10px #000}.cover-portrait,.oval-photo{position:relative;width:min(53vw,230px);aspect-ratio:.69;border:2px solid var(--gold);border-radius:50%;padding:7px;filter:drop-shadow(0 16px 25px rgba(0,0,0,.25))}.cover-portrait::before,.oval-photo::before{content:"";position:absolute;z-index:2;inset:6px;border:1px solid var(--gold-light);border-radius:50%;pointer-events:none}.cover-portrait>img:first-child,.oval-photo>img:first-child{width:100%;height:100%;object-fit:cover;object-position:50% 38%;border-radius:50%}.cover-portrait-flower,.oval-flower{position:absolute!important;z-index:4;width:23%!important;height:auto!important;bottom:14%;object-fit:contain!important;border-radius:0!important;filter:drop-shadow(0 4px 6px rgba(0,0,0,.2))!important}.cover-portrait-flower-left,.oval-flower.left{left:-11%}.cover-portrait-flower-right,.oval-flower.right{right:-11%;transform:scaleX(-1)}.couple-title{margin:13px 0 4px;font:400 clamp(31px,8vw,43px)/1 var(--serif);text-shadow:0 3px 15px #000}.couple-title span,.art-title span{font-family:var(--script);color:var(--gold-light)}.guest-card{margin:2px 0 16px;display:flex;flex-direction:column;font-size:12px;line-height:1.3;text-shadow:0 2px 8px #000}.guest-card strong{font-weight:400}.cover .button{font-size:15px;letter-spacing:0}
.cover-garden,.art-garden{position:absolute;z-index:6;right:0;bottom:0;left:0;height:34%;min-height:240px;pointer-events:none}.cover-flora,.garden-base{position:absolute;z-index:3;bottom:-2px;left:-8%;width:116%}.cover-peacocks,.garden-peacocks{position:absolute;z-index:4;bottom:-2%;left:50%;width:38%;transform:translateX(-50%)}.cover-tropical,.garden-corner{position:absolute;z-index:5;bottom:-1%;width:45%}.cover-tropical-left,.garden-corner.left{left:-7%}.cover-tropical-right,.garden-corner.right{right:-7%;transform:scaleX(-1)}.cover-white-flower{position:absolute;z-index:6;bottom:-2%;width:13%}.cover-white-flower-left{left:10%}.cover-white-flower-right{right:10%;transform:scaleX(-1)}.cover-garden-butterfly{position:absolute;z-index:7;width:10%;max-width:48px;animation:butterfly 7s ease-in-out infinite}.cover-garden-butterfly-left{left:11%;bottom:28%}.cover-garden-butterfly-right{right:8%;bottom:35%;animation-delay:-3s}.reveal-cover{opacity:0;transform:translateY(14px);animation:coverReveal .8s both}.reveal-cover:nth-child(2){animation-delay:.12s}.reveal-cover:nth-child(3){animation-delay:.28s}.reveal-cover:nth-child(4){animation-delay:.42s}.reveal-cover:nth-child(5){animation-delay:.58s}

/* home, exactly follows the opened AR019 composition */
.home-art{min-height:960px;background-position:center}.sky-layer{position:absolute;z-index:2;inset:0;pointer-events:none}.art-canopy{position:absolute;z-index:3;top:-7px;left:-5%;width:110%}.art-side-leaf{position:absolute;z-index:2;top:3%;width:42%}.art-side-leaf.left{left:-22%}.art-side-leaf.right{right:-22%;transform:scaleX(-1)}.art-cloud{position:absolute;z-index:2;top:1%;width:48%;opacity:.67}.art-cloud.left{left:5%}.art-cloud.right{right:2%;transform:scaleX(-1)}.home-content{position:relative;z-index:7;padding-top:30px;text-align:center}.home-content .eyebrow{color:#fff;text-shadow:0 2px 8px #000;margin-bottom:13px}.home-content .oval-photo{margin:auto;width:230px}.art-title{margin:13px 0 2px;font:400 43px/1 var(--serif);text-shadow:0 3px 15px #000}.art-date{margin:9px 0 0;font-size:15px;text-shadow:0 2px 8px #000}.home-art .art-garden{height:39%;min-height:360px}.garden-butterfly{position:absolute;z-index:7;right:6%;bottom:26%;width:48px;animation:butterfly 7s ease-in-out infinite}

/* quote: the source keeps a full-height portrait behind a compact centered verse. */
.verse-photo{position:relative;height:620px;overflow:hidden;background:#273a27}.verse-photo>img{width:100%;height:100%;object-fit:cover;object-position:center 45%;opacity:.45;filter:saturate(.7) brightness(.9)}.verse-photo::after{content:"";position:absolute;inset:0;background:rgba(39,58,39,.25)}.verse-overlay{position:absolute;z-index:3;top:198px;right:30px;left:30px;text-align:center;color:#fff}.verse-overlay blockquote{margin:0;font:400 13px/1.3 var(--sans)}.verse-overlay p{margin:10px 0 0;font:700 14px/1.3 var(--sans);letter-spacing:0;color:#fff}

/* couple */
.couple-art{padding-top:150px;padding-bottom:330px}.cream-canopy{position:absolute;z-index:1;top:0;right:0;left:0;height:290px;overflow:hidden;opacity:.9}.cream-canopy>img:first-child{width:110%;margin-left:-5%;filter:brightness(.76)}.cream-trunk{position:absolute;top:70px;width:45%;opacity:.28}.cream-trunk.left{left:-25%;transform:rotate(-12deg)}.cream-trunk.right{right:-25%;transform:scaleX(-1) rotate(-12deg)}.couple-inner{padding-top:70px;padding-bottom:0}.couple-intro{max-width:390px;margin:0 auto 70px;text-align:center}.couple-intro h2{margin:0 0 12px;font:400 34px/1 var(--script);color:var(--gold)}.couple-intro p{margin:0;font-size:13px}.person{max-width:390px;margin:auto;text-align:center}.person-oval{position:relative;width:245px;aspect-ratio:.72;margin:0 auto 28px;padding:7px;border:1.5px solid var(--gold);border-radius:50%}.person-oval::before{content:"";position:absolute;z-index:2;inset:7px;border:1px solid rgba(255,255,255,.9);border-radius:50%}.person-oval>img:first-child{width:100%;height:100%;object-fit:cover;object-position:center 22%;border-radius:50%}.person-flower{position:absolute;z-index:4;width:23%;bottom:12%}.person-flower.left{left:-10%}.person-flower.right{right:-10%;transform:scaleX(-1)}.person .role{color:var(--gold)}.person h3{margin:6px 0 9px;font:400 31px/1.2 var(--serif)}.person p{margin:0;color:var(--muted);font-size:13px}.person p strong{color:var(--ink)}.social-link{display:inline-block;margin-top:13px;text-decoration:none;border-bottom:1px solid var(--gold);font-size:12px}.ampersand{margin:58px 0;text-align:center;font:400 65px/1 var(--script);color:var(--gold)}.cream-garden{position:absolute;z-index:2;right:0;bottom:0;left:0;height:315px}.cream-garden>img:first-child{position:absolute;bottom:0;width:112%;max-width:none;margin-left:-6%}.mini-peacocks{position:absolute;bottom:-45px;left:50%;width:34%;transform:translateX(-50%)}

/* Couple scene follows AR019: a rounded forest panel, arch portraits and
   ornamental trees anchored at opposite sides of the composition. */
.couple-art{margin-top:-47%;padding-top:0;padding-bottom:330px;color:#f7f1e4;background-color:#3d4b37;background-image:linear-gradient(rgba(61,75,55,.08),rgba(10,35,25,.18)),url("../assets/images/theme/xr2tl.webp");background-position:center;background-size:cover;background-repeat:no-repeat;border-radius:250px 250px 0 0}.cream-canopy{inset:0;height:100%;overflow:visible;opacity:1;pointer-events:none}.cream-canopy>img:first-child{position:absolute;top:-8px;left:-5%;width:110%;margin:0;filter:brightness(.72)}.cream-trunk{width:24%;opacity:.3;filter:brightness(.72) saturate(.72)}.cream-trunk.left{top:790px;left:-11%;transform:rotate(-8deg)}.cream-trunk.right{top:330px;right:-11%;transform:scaleX(-1) rotate(-8deg)}.couple-inner{padding-top:125px}.couple-intro{margin-bottom:50px;text-shadow:0 2px 12px rgba(0,0,0,.28)}.couple-intro h2{color:var(--gold-light)}.couple-intro p{color:rgba(247,241,228,.92)}.person-oval{width:200px;height:300px;aspect-ratio:auto;margin-bottom:10px;padding:0;border:7px double #d2af6f;border-radius:200px 200px 36px 36px;box-shadow:0 0 10px rgba(0,0,0,.19)}.person-oval::before{display:none}.person-oval>img:first-child{object-position:center center;border-radius:inherit}.person-flower{width:25%;bottom:-2%;--flower-flip:1;animation:flowerSway 2s 2s ease-in-out infinite alternate}.person-flower.left{left:-6%;transform-origin:bottom left}.person-flower.right{right:-1%;--flower-flip:-1;transform-origin:bottom right}.person .role,.person .social-link{display:none}.person h3{margin:0 0 4px;color:#fff;font-size:26px}.person p{color:rgba(247,241,228,.9);font-size:14px}.person p strong{color:#fff}.ampersand{display:none}.person+.ampersand+.person{margin-top:50px}.cream-garden{height:330px}
@keyframes flowerSway{from{transform:scaleX(var(--flower-flip)) rotate(-3deg) scale(1)}to{transform:scaleX(var(--flower-flip)) rotate(0deg) scale(1.05)}}
.couple-art{z-index:9}.couple-inner{padding-top:100px}

/* event opener: the gateway, forest and garden are one layered AR019 scene. */
.event-art{background:#3f4b38 url("../assets/images/theme/xr2tl.webp") top center/cover no-repeat;background-attachment:scroll}.event-opening{position:relative;height:558px;overflow:hidden;display:grid;place-items:center;background:rgba(63,75,56,.33)}.event-opening-stage{position:absolute;z-index:1;inset:0;pointer-events:none}.event-opening-bg{position:absolute;bottom:0;left:15%;width:70%;height:100%;object-fit:cover;object-position:bottom;border-radius:100px 100px 0 0;opacity:.72}.event-gateway{position:absolute;z-index:2;top:42px;left:0;width:100%;filter:brightness(.83) contrast(1.06) saturate(1.67) hue-rotate(40deg)}.event-opening-garden{position:absolute;z-index:3;right:0;bottom:0;left:0;height:170px}.event-peacocks{position:absolute;z-index:3;bottom:-5px;left:50%;width:22%;transform:translateX(-50%)}.event-garden-base{position:absolute;z-index:2;right:-4%;bottom:-17%;width:108%;max-width:none}.event-white-flower{position:absolute;z-index:5;bottom:0;width:15%;transform-origin:bottom left}.event-white-flower.left{left:5%}.event-white-flower.right{right:5%;transform:scaleX(-1)}.event-tropical{position:absolute;z-index:4;bottom:-10%;width:40%}.event-tropical.left{left:0}.event-tropical.right{right:0;transform:scaleX(-1)}.event-butterfly{position:absolute;z-index:6}.event-butterfly.left{left:10%;bottom:20%;width:15%}.event-butterfly.right{right:15%;bottom:10%;width:10%}.event-opening-copy{position:relative;z-index:7;width:67%;display:flex;flex-direction:column;align-items:center;gap:13px;padding-top:80px;text-align:center}.event-message{max-width:300px;margin:0;text-align:center;font:400 12px/1.3 var(--sans)}.countdown{width:100%;display:grid;grid-template-columns:repeat(4,1fr);padding:0;text-align:center}.countdown div+div{border:0}.countdown strong{display:block;font:500 18px/1.2 var(--sans);color:#fff}.countdown span{display:block;font-size:11px;line-height:1.2;text-transform:none;letter-spacing:0;color:#fff}.event-full-date{margin:0;text-align:center;font:400 14px/1.3 var(--sans)}.event-save-date{margin:0;border-radius:20px;padding:8px 20px;font-size:14px;letter-spacing:0}.event-intro{padding-top:42px;padding-bottom:130px}.events-stack{display:grid;gap:32px}.event-card{position:relative;min-height:620px;overflow:hidden;border:1px solid rgba(217,179,99,.62);background:linear-gradient(rgba(4,24,16,.46),rgba(4,22,15,.75)),url("../assets/images/theme/iyfw4.webp") center/cover}.card-canopy{position:absolute;z-index:2;top:0;left:-5%;width:110%}.card-garden{position:absolute;z-index:2;bottom:0;left:-8%;width:116%;max-width:none}.card-flower{position:absolute;z-index:4;right:-17px;bottom:3px;width:95px}.event-card-content{position:relative;z-index:5;padding:150px 28px 170px;text-align:center}.event-card .role{color:var(--gold-light)}.event-card h3{margin:10px 0 2px;font:400 23px/1 var(--serif)}.event-date{display:flex;align-items:center;justify-content:center;gap:10px;margin:13px 0}.event-date strong{font:400 66px/.9 var(--serif);color:var(--gold-light)}.event-date span{text-align:left;font-size:10px;line-height:1.4}.event-card p{margin:7px 0;color:rgba(255,255,255,.82);font-size:12px}.event-card h4{margin:16px 0 4px;font:400 19px/1.2 var(--serif)}.line{display:block;width:42px;height:1px;margin:17px auto;background:var(--gold)}.event-card .button{margin-top:18px}

.event-intro{padding-top:0}

/* gallery */
.gallery-art{padding-top:95px;background-color:#23382b;background-image:linear-gradient(rgba(16,44,32,.08),rgba(8,29,20,.2)),url("../assets/images/theme/xr2tl.webp");background-position:top center;background-size:cover;background-repeat:no-repeat}.gallery-canopy{position:absolute;z-index:2;top:0;left:-5%;width:110%;filter:brightness(.78)}.gallery-art .section-inner{padding-top:110px}.gallery-art .script-label{font-size:55px}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:150px;gap:6px}.gallery-item{position:relative;padding:0;border:0;overflow:hidden;background:#d9d3c5;cursor:zoom-in}.gallery-item.tall{grid-row:span 2}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .7s}.gallery-item:hover img{transform:scale(1.055)}

/* story */
.story-art{min-height:1500px;background:#0b2a1f}.story-background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.55) brightness(.28)}.story-canopy{position:absolute;z-index:2;top:0;left:-5%;width:110%}.story-art .section-inner{padding-top:170px;padding-bottom:380px}.story-art .script-label{font-size:58px}.story-line{position:relative;display:grid;gap:48px;padding-left:32px}.story-line::before{content:"";position:absolute;top:8px;bottom:10px;left:10px;width:1px;background:var(--gold)}.story-card{position:relative;padding:25px 24px;background:rgba(4,24,16,.72);border:1px solid rgba(211,171,88,.42)}.story-card::before{content:"";position:absolute;left:-27px;top:29px;width:11px;height:11px;background:var(--forest);border:2px solid var(--gold);transform:rotate(45deg)}.story-card span{color:var(--gold-light);font-size:10px;letter-spacing:.2em}.story-card h3{margin:7px 0;font:400 24px/1.2 var(--serif)}.story-card p{margin:0;color:rgba(255,255,255,.75);font-size:13px}.story-garden{position:absolute;z-index:3;right:0;bottom:0;left:0;height:350px}.story-garden img:first-child{position:absolute;bottom:0;left:-8%;width:116%;max-width:none}.story-garden img:last-child{position:absolute;bottom:-60px;left:50%;width:38%;transform:translateX(-50%)}

/* wishes and gift */
.wishes-art{isolation:isolate;padding-top:1px;background:#2b3b22}.wishes-art::before{content:"";position:absolute;z-index:0;inset:0 0 auto;height:100%;background:#fff url("../assets/images/theme/f4bvo.webp") top center/cover no-repeat;opacity:.33;pointer-events:none}.wishes-flower{position:absolute;z-index:6;top:20px;right:-38px;width:110px;opacity:.72}.wishes-art>.section-inner{z-index:5;width:90%;margin-top:80px;padding:110px 25px 95px;border-radius:250px 250px 10px 10px;background:rgba(255,255,255,.71)}.rsvp-form{display:grid;gap:14px;padding:25px;background:#fffaf0;border:1px solid rgba(24,49,39,.18)}.rsvp-form label{display:grid;gap:4px;color:var(--gold);text-transform:uppercase;letter-spacing:.13em;font-size:9px}.rsvp-form input,.rsvp-form select,.rsvp-form textarea{width:100%;padding:11px 3px;border:0;border-bottom:1px solid rgba(20,49,39,.25);border-radius:0;background:transparent;color:var(--ink);outline:none;resize:vertical;text-transform:none;letter-spacing:0;font-size:13px}.rsvp-form .button{margin-top:8px}.wish-list{display:grid;gap:10px;margin-top:25px}.wish{display:grid;grid-template-columns:38px 1fr;gap:12px;padding:16px;background:#fffaf0;border-left:1px solid var(--gold)}.wish-avatar{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--gold);border-radius:50%;font-family:var(--serif)}.wish strong{font:400 14px/1.2 var(--serif)}.wish span{margin-left:7px;color:var(--gold);font-size:8px;text-transform:uppercase}.wish p{grid-column:2;margin:5px 0 0;color:var(--muted);font-size:11px}
.gift-panel{position:relative;min-height:900px;background-image:linear-gradient(rgba(4,23,15,.58),rgba(4,21,14,.75)),url("../assets/images/theme/xr2tl.webp")}.gift-canopy{position:absolute;z-index:2;top:0;left:-5%;width:110%}.gift-panel .section-inner{padding-top:175px;padding-bottom:270px;text-align:center}.bank-card{position:relative;padding:28px;text-align:left;color:#f6efdF;background:linear-gradient(135deg,#355a47,#102c21 72%);box-shadow:0 16px 35px rgba(0,0,0,.3)}.bank-top{display:flex;justify-content:space-between;margin-bottom:28px;font-weight:700}.chip{width:35px;height:25px;border:1px solid #ead496;background:linear-gradient(135deg,#a98235,#f1d897,#967027)}.bank-card p{margin:4px 0;color:rgba(255,255,255,.68);font-size:10px}.bank-card>strong{font:400 21px/1.5 var(--serif);letter-spacing:.1em}.copy-button{margin-top:16px;padding:7px 0;border:0;border-bottom:1px solid var(--gold);background:none;color:var(--gold-light);font-size:9px;text-transform:uppercase;cursor:pointer}.gift-panel .button{margin-top:22px}.address-card{margin-top:12px;padding:18px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.25);text-align:left;font-size:12px}.address-card[hidden]{display:none}.gift-garden{position:absolute;right:0;bottom:0;left:0;height:280px}.gift-garden img{position:absolute;bottom:0;left:-8%;width:116%;max-width:none}

/* closing */
.closing-art{min-height:1080px}.closing-content{position:relative;z-index:7;width:min(calc(100% - 55px),390px);margin:auto;padding:140px 0 390px;text-align:center}.closing-portrait{position:relative;width:230px;aspect-ratio:.69;margin:0 auto 35px;padding:7px;border:2px solid var(--gold);border-radius:50%}.closing-portrait>img:first-child{width:100%;height:100%;object-fit:cover;border-radius:50%}.closing-portrait>img:not(:first-child){position:absolute;width:23%;bottom:12%}.closing-portrait .left{left:-10%}.closing-portrait .right{right:-10%;transform:scaleX(-1);transform-origin:center}.closing-content h2{margin:0 0 17px;font:400 18px/1.55 var(--serif)}.closing-content p{margin:0 0 13px}.closing-content>span{font-size:11px;color:var(--gold-light)}.closing-content h3{margin:7px 0;font:400 42px/1 var(--serif)}.closing-content h3 em{font-family:var(--script);font-style:normal;color:var(--gold-light)}.closing-art .art-garden{height:35%;min-height:340px}
.footer{padding:30px 25px 105px;background:#06170f;color:rgba(255,255,255,.45);text-align:center;font-size:9px;letter-spacing:.12em;text-transform:uppercase}.footer p{margin:3px}

/* controls */
.bottom-nav{position:fixed;z-index:90;left:50%;bottom:12px;transform:translateX(-50%);width:min(calc(100% - 20px),470px);height:66px;display:grid;grid-template-columns:repeat(7,1fr);padding:7px;background:rgba(40,61,51,.82);border:7px solid rgba(229,232,224,.52);border-radius:15px;box-shadow:0 8px 24px rgba(0,0,0,.28);backdrop-filter:blur(10px)}.bottom-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;text-decoration:none;color:#eef1e9;border:1px solid rgba(239,240,229,.3);border-radius:7px}.bottom-nav a.active{color:var(--gold-light);background:rgba(255,255,255,.08)}.bottom-nav b{font:400 22px/1 var(--serif)}.bottom-nav small{font-size:6px;text-transform:uppercase;letter-spacing:.06em}.music-toggle{position:fixed;z-index:91;top:18px;right:max(17px,calc((100vw - 500px)/2 + 17px));display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--gold);border-radius:50%;background:rgba(19,48,36,.8);color:var(--gold-light);cursor:pointer}.music-toggle svg{width:18px;fill:none;stroke:currentColor;stroke-width:1.5}.music-off{display:none}.music-toggle.is-paused .music-on{display:none}.music-toggle.is-paused .music-off{display:block}.toast{position:fixed;z-index:1200;left:50%;bottom:92px;transform:translate(-50%,20px);padding:10px 15px;background:var(--forest);color:#fff;opacity:0;visibility:hidden;font-size:11px;transition:.3s}.toast.show{opacity:1;visibility:visible;transform:translate(-50%,0)}
.bottom-nav{bottom:15px;width:auto;max-width:400px;height:auto;display:flex;gap:0;padding:5px;border:0;border-radius:10px;background:rgba(255,255,255,.31);box-shadow:0 0 10px rgba(0,0,0,.5);backdrop-filter:blur(4px)}.bottom-nav a{flex:0 0 auto;width:35px;height:35px;margin:0 2px;padding:5px;border:0;border-radius:8px;background:#3d4b37;color:#fff;transition:background-color .15s,transform .2s}.bottom-nav a:hover,.bottom-nav a:focus,.bottom-nav a.active{color:#fff;background:#313720}.bottom-nav a:active{transform:scale(.92)}.bottom-nav svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}.bottom-nav small{display:none}.music-toggle,.floating-gift{position:fixed;z-index:91;top:auto;right:max(17px,calc((100vw - 500px)/2 + 17px));display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--gold);border-radius:50%;background:rgba(64,82,70,.84);color:#f7f2e6;box-shadow:0 5px 16px rgba(0,0,0,.18);backdrop-filter:blur(7px)}.music-toggle{bottom:75px}.floating-gift{bottom:127px;text-decoration:none;font:400 26px/1 var(--serif)}
.lightbox{width:min(92vw,720px);padding:0;border:0;background:transparent}.lightbox::backdrop{background:rgba(2,11,7,.92)}.lightbox img{max-height:86vh;margin:auto;box-shadow:0 18px 60px #000}.lightbox button{position:absolute;right:0;top:-45px;border:0;background:none;color:#fff;font-size:30px}

.rsvp-form input,.rsvp-form select,.rsvp-form textarea{transition:border-color .25s,background-color .25s}.rsvp-form input:focus,.rsvp-form select:focus,.rsvp-form textarea:focus{border-bottom-color:var(--gold);background:rgba(204,169,94,.055)}

/* Motion follows the original AR019 choreography: directional decorative
   layers scale in first, then the content enters with a measured stagger. */
.reveal{opacity:0;transform:translateY(6rem);transition:opacity 1.5s ease,transform 1.5s ease;transition-delay:var(--reveal-delay,0ms)}.reveal.is-visible{opacity:1;transform:translateY(0)}
.asset-motion{opacity:0;scale:0;translate:0 0;transform-origin:var(--motion-origin,center);will-change:opacity,scale;transition:opacity 2s ease,scale 2s ease;transition-delay:var(--motion-delay,0ms)}.asset-motion.motion-top{--motion-origin:top}.asset-motion.motion-bottom{--motion-origin:bottom}.asset-motion.motion-left{--motion-origin:bottom left}.asset-motion.motion-right{--motion-origin:bottom right}.asset-motion.motion-zoom{--motion-origin:center}.asset-motion.is-visible{opacity:1;scale:1;translate:0 0}

/* Opening sequence. Separate transform longhands preserve mirrored artwork. */
.cover-canopy{opacity:0;animation:coverTopIn 1.25s .05s cubic-bezier(.16,1,.3,1) both,canopySway 8s 1.3s ease-in-out infinite alternate}.cover-side-leaf{opacity:0}.cover-side-leaf-left{animation:coverLeftIn 1.35s .2s cubic-bezier(.16,1,.3,1) both}.cover-side-leaf-right{animation:coverRightIn 1.35s .2s cubic-bezier(.16,1,.3,1) both}.cover-cloud{opacity:0;animation:coverCloudIn 1.4s .35s ease-out both,cloudDrift 9s 1.8s ease-in-out infinite alternate}.cover-cloud-right{animation-delay:.45s,-4s}.cover-birds{opacity:0;animation:coverCloudIn 1s .75s ease-out both,birdDrift 11s 1.8s ease-in-out infinite alternate}.cover-peacocks{opacity:0;animation:gardenRise 1.65s .65s cubic-bezier(.16,1,.3,1) both}.cover-flora{opacity:0;animation:gardenRise 1.55s .45s cubic-bezier(.16,1,.3,1) both}.cover-tropical-left{opacity:0;animation:coverLeftIn 1.45s .7s cubic-bezier(.16,1,.3,1) both}.cover-tropical-right{opacity:0;animation:coverRightIn 1.45s .7s cubic-bezier(.16,1,.3,1) both}.cover-white-flower{opacity:0;animation:flowerPop 1.2s 1s cubic-bezier(.16,1,.3,1) both}.cover-white-flower-left{transform-origin:bottom left}.cover-white-flower-right{transform-origin:bottom right;animation-delay:1.18s}.cover-garden-butterfly{opacity:0;animation:butterflyIn 1.25s 1.2s ease-out both,butterfly 7s 2.4s ease-in-out infinite}.cover-garden-butterfly-right{animation-delay:1.42s,-3s}.cover-portrait-flower{opacity:0;animation:flowerPop 1.1s .8s cubic-bezier(.16,1,.3,1) both}.cover-portrait-flower-right{animation-delay:1s}.reveal-cover{opacity:0;transform:translateY(22px) scale(.96);animation:coverReveal 1s cubic-bezier(.16,1,.3,1) both}.reveal-cover:nth-child(2){animation-delay:.24s}.reveal-cover:nth-child(3){animation-delay:.48s}.reveal-cover:nth-child(4){animation-delay:.78s}.reveal-cover:nth-child(5){animation-delay:1.05s}

/* The reference keeps clouds and butterflies gently alive after their reveal. */
.art-cloud{--cloud-flip:1;animation:artCloudFloat 11s ease-in-out infinite alternate}.art-cloud.right{--cloud-flip:-1;animation-delay:-5s}
@keyframes coverReveal{to{opacity:1;transform:none}}@keyframes coverBackdropIn{from{opacity:0;scale:.94;transform-origin:top}to{opacity:1;scale:1}}@keyframes coverTopIn{from{opacity:0;translate:0 -48px;scale:.78}to{opacity:1;translate:0 0;scale:1}}@keyframes coverLeftIn{from{opacity:0;translate:-58px 22px;scale:.76}to{opacity:1;translate:0 0;scale:1}}@keyframes coverRightIn{from{opacity:0;translate:58px 22px;scale:.76}to{opacity:1;translate:0 0;scale:1}}@keyframes coverCloudIn{from{opacity:0;scale:.88}to{opacity:.73;scale:1}}@keyframes gardenRise{from{opacity:0;translate:0 90px;scale:.72}to{opacity:1;translate:0 0;scale:1}}@keyframes flowerPop{from{opacity:0;scale:.25}to{opacity:1;scale:1}}@keyframes butterflyIn{from{opacity:0;translate:35px 20px;scale:.45}to{opacity:1;translate:0 0;scale:1}}@keyframes canopySway{to{transform:scale(1.035) rotate(.4deg)}}@keyframes cloudDrift{to{translate:13px 4px;opacity:.86}}@keyframes artCloudFloat{from{transform:scaleX(var(--cloud-flip)) translateX(-7px)}to{transform:scaleX(var(--cloud-flip)) translateX(10px);opacity:.8}}@keyframes birdDrift{to{translate:24px 7px}}@keyframes butterfly{0%,100%{transform:translate(0) rotate(-8deg)}50%{transform:translate(14px,-16px) rotate(10deg)}}
@media(min-width:1100px){
  .desktop-scene{position:fixed;z-index:0;inset:0 auto 0 0;width:calc(100% - 500px);min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;overflow:hidden;color:#fff;text-align:center;background-color:#000;background-image:linear-gradient(180deg,rgba(74,90,73,0) 58%,rgba(74,90,73,.9) 81%,rgba(74,90,73,.94) 100%),url("../assets/images/gallery/0dad2d8fd8.webp");background-position:bottom center;background-repeat:no-repeat;background-size:cover}
  .desktop-scene-copy{position:relative;z-index:3;width:100%;min-height:296px;padding:0 24px 100px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:10px}
  .desktop-scene p{margin:0;color:#d2af6f;font:500 16px/1.2 "Cinzel",sans-serif;letter-spacing:0}
  .desktop-scene h1{margin:0;color:#fff;font:400 40px/1.1 var(--serif);text-shadow:0 0 10px rgba(255,255,255,.87)}
  .desktop-scene h1 span{font:inherit;color:inherit}
  .desktop-tree,.desktop-flower{position:absolute;z-index:2;width:80px;pointer-events:none}
  .desktop-tree{bottom:0;filter:brightness(.9) saturate(.82)}
  .desktop-tree-left{left:-2%;transform:rotate(21deg) scaleX(-1)}
  .desktop-tree-right{right:-2%;transform:rotate(-21deg)}
  .desktop-flower{bottom:7%;animation:flowerSway 2s ease-in-out infinite alternate;transform-origin:bottom left}
  .desktop-flower-left{left:-3%}
  .desktop-flower-right{right:-3%;--flower-flip:1;scale:-1 1;transform-origin:bottom center}
  .invitation{margin-left:auto;margin-right:0}
  .cover{left:auto;right:0;margin:0}
  .bottom-nav{left:calc(100% - 250px)}
  .music-toggle,.floating-gift{left:auto;right:17px}
}
@media(max-width:390px){.cover-content{padding-top:68px}.cover-portrait{width:190px}.home-content .oval-photo{width:205px}.art-title{font-size:38px}.home-art{min-height:880px}.home-art .art-garden{min-height:325px}.person-oval{width:180px;height:260px}.gallery-grid{grid-auto-rows:128px}.section-inner{width:calc(100% - 34px)}.bottom-nav{width:auto}.bottom-nav small{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-delay:0ms!important;transition-duration:.01ms!important;transition-delay:0ms!important}.reveal,.asset-motion{opacity:1;transform:none;translate:0 0;scale:1}}
