*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:4.6rem}body{margin:0;background:#082a23;color:#f6f0df;font-family:'DM Sans',sans-serif;overflow-x:hidden}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}.nav{height:68px;padding:0 clamp(18px,4vw,80px);position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;background:rgba(4,37,29,.97);border-bottom:1px solid #be9e5b66;gap:16px}.nav .brand{font:600 15px 'Cormorant Garamond',serif;letter-spacing:.16em;color:#eed4a0;white-space:nowrap}.nav nav{display:flex;gap:clamp(12px,2.5vw,38px)}.nav nav a{font-size:10px;letter-spacing:.15em}.nav nav a:hover,.brand:hover{color:#d7ac5d}.music-button{color:#e1c586;border:1px solid #987343;background:none;border-radius:40px;padding:9px 12px;white-space:nowrap;cursor:pointer;font-size:11px}.scene{min-height:680px;min-height:85svh;position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:clamp(74px,9vw,135px) clamp(20px,5vw,100px);text-align:center;isolation:isolate;overflow:hidden}.chapter{display:block;letter-spacing:.23em;font:600 clamp(10px,1.1vw,13px) 'DM Sans',sans-serif;color:#cda75f;line-height:1.8}.chapter-head{width:min(100%,760px);margin:0 auto clamp(24px,4vw,55px);position:relative;z-index:2}.chapter-head h2,.scene h2{font-size:clamp(46px,6vw,92px);line-height:1.03;letter-spacing:-.035em;margin:16px 0}.scene h2 em,.closing h2{font-weight:400;color:#d2a95e}.chapter-head p,.hero-copy>p{font-family:'Cormorant Garamond',serif;font-size:clamp(19px,2.3vw,28px);line-height:1.4;max-width:600px;margin:0 auto}.button-gold{display:inline-flex;align-items:center;justify-content:center;gap:22px;color:#f8e6bd;background:#063e30;border:1px solid #d5b476;box-shadow:0 5px 20px #0003;border-radius:40px;padding:14px 27px;font-size:11px;letter-spacing:.13em;text-transform:uppercase;cursor:pointer;min-height:46px;max-width:100%;transition:transform .25s,background .25s}.button-gold:hover{transform:translateY(-3px);background:#145a46}.button-gold:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #f6d889;outline-offset:3px}.parchment{background:radial-gradient(ellipse at 50% 40%,#fffaf0 0,#f4e8d2 67%,#dfc9a7 100%);color:#254134}.parchment .chapter{color:#8a6635}.parchment h2 em{color:#ac8342}.rule,.line-ornament{color:#ba9456;letter-spacing:.4em;margin:17px auto}.scene-opening{background:radial-gradient(ellipse at 50% 65%,#f1e7c7 0,#efdabb 25%,#bdb997 55%,#416953 90%);color:#173c31;min-height:calc(100svh - 68px)}.hero-copy{position:relative;z-index:3;width:min(100%,650px);padding:55px clamp(14px,3vw,40px);border:1px solid #c9a9678f;background:#f8f0dfc7;box-shadow:0 20px 85px #082f254d;backdrop-filter:blur(3px)}.hero-copy h2{font-size:clamp(54px,7vw,106px);margin-bottom:25px}.hero-copy .button-gold{margin-top:36px}.canopy{position:absolute;top:-12%;left:-5%;width:110%;height:35%;background:radial-gradient(ellipse at 50% -30%,#02281f,#07513f 45%,#063b30 85%,transparent 86%);filter:drop-shadow(0 20px 17px #17433488);z-index:2}.hero-curtain{position:absolute;top:-12%;bottom:0;width:30%;z-index:2;background:repeating-linear-gradient(90deg,#042b22 0%,#0b5c46 14%,#032f26 29%,#0b6049 45%,#034131 57%,#021d17 74%,#0b5b45 100%);border-right:8px solid #b68f47;box-shadow:10px 0 35px #071f1599}.drape-left{left:-19%;transform:skewX(-6deg);border-radius:0 0 55% 0}.drape-right{right:-19%;transform:scaleX(-1) skewX(-6deg);border-radius:0 0 55% 0}.foliage{position:absolute;font-size:clamp(45px,8vw,120px);color:#f4eed4;text-shadow:3px 3px #c7a35e,-4px 2px 12px #04382a55;z-index:3;animation:sway 6s ease-in-out infinite;pointer-events:none}.hero-foliage-left{left:-40px;bottom:14%;writing-mode:vertical-rl}.hero-foliage-right{right:-40px;bottom:14%;writing-mode:vertical-rl;animation-delay:-3s}.flower-line{position:absolute;bottom:10px;left:0;width:100%;font-size:22px;color:#ae8e50;z-index:2}.scene-invitation{min-height:780px}.ornate-card{position:relative;width:min(100%,860px);padding:clamp(40px,8vw,96px) clamp(17px,5vw,70px);border:2px solid #b38a4c;outline:1px solid #d6b579;outline-offset:-14px;background:#fffcf5a8;box-shadow:0 22px 80px #5b3e2030}.ornate-card:before,.ornate-card:after{content:'❧ ✦ ❧';position:absolute;left:50%;transform:translateX(-50%);color:#b18b4d;font-size:26px}.ornate-card:before{top:8px}.ornate-card:after{bottom:8px}.caps{font-size:clamp(10px,1.3vw,13px);letter-spacing:.16em;line-height:2;margin:23px 0}.names{display:flex;flex-direction:column;align-items:center;gap:0;font:italic 500 clamp(42px,7vw,86px) 'Cormorant Garamond',serif;color:#ad8445;line-height:1.05;overflow-wrap:anywhere}.names .amp{font-size:.56em;line-height:.8;color:#48634a}.ornate-card>p:not(.caps){font:22px/1.4 'Cormorant Garamond',serif;max-width:550px;margin:15px auto}.ornate-card strong{font:600 16px 'DM Sans',sans-serif;letter-spacing:.15em}.corner{position:absolute;color:#9b7c3a;font-size:clamp(56px,12vw,150px);opacity:.24;animation:sway 7s ease-in-out infinite;pointer-events:none}.corner-tl{left:-24px;top:-12px}.corner-tr{right:-24px;top:-12px}.corner-bl{left:-25px;bottom:-20px}.corner-br{right:-25px;bottom:-20px}.scene-venue{background:linear-gradient(#f3e1c7,#c6b89b 62%,#153d32 100%);color:#1d3d34;min-height:850px}.scene-venue .chapter{color:#916a33}.scene-venue .button-gold{z-index:3;margin-top:25px}.venue-art-panel{width:min(100%,1080px);height:clamp(275px,45vw,590px);position:relative;overflow:hidden;border:8px solid #e6cf9e;border-radius:55% 55% 20px 20px/17% 17% 20px 20px;box-shadow:0 25px 60px #263a2e66}.venue-art-panel img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center 60%;left:0;top:0;filter:saturate(1.12) contrast(1.02);animation:sceneZoom 20s ease-in-out infinite alternate}.venue-art-panel:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#14372a35,transparent 25%,#f6d9a022)}.float-leaf{position:absolute;z-index:2;font-size:clamp(25px,5vw,60px);color:#f5e4bf;text-shadow:0 3px #997a45;animation:drift 7s ease-in-out infinite}.leaf-1{left:4%;top:16%}.leaf-2{right:7%;top:42%;animation-delay:-3s}.leaf-3{left:13%;bottom:6%;animation-delay:-5s}.footnote{margin:17px 0 0;font-size:10px;color:#354a3e;letter-spacing:.06em}.scene-story{min-height:760px}.story-cards{width:min(100%,1200px);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(13px,3vw,35px)}.story-card{min-width:0}.story-image{height:clamp(210px,30vw,360px);border:8px solid #e4c990;outline:1px solid #b99a65;border-radius:46% 46% 3px 3px/22% 22% 3px 3px;box-shadow:0 10px 25px #674d2e30;display:grid;place-items:center;overflow:hidden;background:linear-gradient(180deg,#f5dab7 0%,#ddac8f 42%,#65795f 76%,#1b5547 100%)}.story-image-2{background:linear-gradient(170deg,#e8c39a,#bd927b 48%,#194c3c)}.story-image-3{background:linear-gradient(145deg,#f8dab3,#859f88 56%,#173e32)}.story-image span{font:100px 'Cormorant Garamond',serif;color:#fff3d7;text-shadow:0 4px 20px #39301caa}.story-card h3{font:italic 500 clamp(26px,3vw,38px) 'Cormorant Garamond',serif;margin:20px 0 6px}.story-card p{font:clamp(16px,1.8vw,21px)/1.3 'Cormorant Garamond',serif;margin:0 auto;max-width:260px}.scene-details{min-height:690px;background:radial-gradient(ellipse at center,#145344,#072f27 80%)}.event-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-width:900px;width:100%;gap:clamp(18px,6vw,80px)}.event{padding:25px 10px;position:relative}.event-icon{border:1px solid #d6b36a;width:95px;height:95px;border-radius:50%;display:grid;place-items:center;margin:0 auto 25px;font-size:48px;color:#d4af69}.event h3{font:600 17px 'Cormorant Garamond',serif;letter-spacing:.14em;margin-bottom:13px}.event strong{font-size:18px;color:#ead4a6}.event p{font:20px/1.4 'Cormorant Garamond',serif;max-width:270px;margin:14px auto}.tradition{margin-top:40px;color:#d1b875;font:italic 22px 'Cormorant Garamond',serif}.scene-journey{min-height:720px}.journey-grid{width:min(100%,1150px);display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.8fr);gap:clamp(25px,5vw,65px);align-items:center}.journey-art{position:relative;min-width:0;overflow:hidden;border:9px solid #ead4ad;box-shadow:0 12px 35px #513d2730;border-radius:40% 40% 10px 10px/15% 15% 10px 10px}.journey-art img{width:100%;height:clamp(280px,38vw,420px);object-fit:cover;display:block}.map-pin{position:absolute;right:20%;top:35%;color:#934d32;font-size:60px}.journey-details{padding:clamp(20px,5vw,55px);border:1px solid #af8d54;background:#fff9efc4}.journey-details h3{font-size:clamp(36px,4vw,60px);line-height:1.1}.journey-details p{font:24px 'Cormorant Garamond',serif;margin:10px auto}.countdown{display:flex;gap:15px;justify-content:center;margin:28px 0}.countdown>div{display:flex;flex-direction:column;min-width:60px}.countdown strong{font:40px 'Cormorant Garamond',serif;color:#90652f}.countdown span{font-size:9px;letter-spacing:.15em}.scene-rsvp{background:linear-gradient(#082b23ab,#082b23d9),url('/assets/romantic-garden.webp') center/cover;min-height:800px}.rsvp-frame{border:2px solid #d7b879;outline:1px solid #d7b879;outline-offset:-12px;background:#f8efdbf5;color:#264234;padding:clamp(35px,7vw,80px) clamp(20px,6vw,85px);width:min(100%,680px);box-shadow:0 30px 80px #0007}.rsvp-frame .chapter{color:#8e693b}.rsvp-frame>p{font:23px 'Cormorant Garamond',serif}.rsvp-frame h2{font-size:clamp(46px,6vw,70px)}.rsvp-frame form{text-align:left;max-width:450px;margin:30px auto 0;display:grid;gap:17px}.rsvp-frame label{display:grid;gap:7px;font:13px 'DM Sans',sans-serif}.rsvp-frame input,.rsvp-frame select{height:45px;border:1px solid #d7c4a0;background:#fffaf1;width:100%;padding:0 14px;color:#284437;border-radius:3px;min-width:0}.rsvp-frame button{width:100%}#rsvpStatus{font-size:13px;text-align:center;min-height:18px}.closing{min-height:280px;background:linear-gradient(#0b35298a,#08251dca),url('/assets/romantic-garden.webp') center/cover;text-align:center;padding:65px 20px 45px;display:flex;flex-direction:column;align-items:center;justify-content:center}.closing>span{font-size:11px;letter-spacing:.2em;color:#d6bd7f}.closing h2{font:italic 400 clamp(70px,11vw,118px) 'Cormorant Garamond',serif;margin:10px}.closing p{font:23px 'Cormorant Garamond',serif}.closing small{color:#ecd7ad}.opening{position:fixed;z-index:100;inset:0;display:grid;place-items:center;background:#0a362b;overflow:hidden;transition:visibility 0s 2s}.curtain{position:absolute;top:0;bottom:0;width:52%;background:repeating-linear-gradient(90deg,#052a21,#0b634c 15%,#03402f 30%,#116248 45%,#022e26 65%,#0d6049 83%,#022e25);transition:transform 2s cubic-bezier(.65,0,.25,1);box-shadow:0 0 35px #001d18b5}.curtain-left{left:0;border-right:8px solid #c5a05f}.curtain-right{right:0;border-left:8px solid #c5a05f}.opening-center{position:relative;z-index:2;text-align:center;max-width:min(90vw,580px);padding:40px 20px;background:#063b2eca;transition:opacity .4s}.opening-center h1{font-size:clamp(68px,10vw,124px);color:#ecd3a0;margin:5px 0}.opening-center p{font:24px 'Cormorant Garamond',serif}.opening-center .kicker{font:10px 'DM Sans',sans-serif;letter-spacing:.22em;color:#e1c98c}.opening-center .seal{font:70px 'Cormorant Garamond',serif;color:#d0b675}.opening-center small{display:block;margin-top:20px;color:#decba3}.opening.open{visibility:hidden;pointer-events:none}.opening.open .curtain-left{transform:translateX(-105%)}.opening.open .curtain-right{transform:translateX(105%)}.opening.open .opening-center{opacity:0}.reveal{opacity:0;transform:translateY(36px);transition:opacity .9s ease,transform .9s ease}.reveal.visible{opacity:1;transform:translateY(0)}@keyframes sway{50%{transform:rotate(7deg) translateY(-9px)}}@keyframes drift{50%{transform:translate(18px,-22px) rotate(14deg)}}@keyframes sceneZoom{to{transform:scale(1.08)}}@media(max-width:800px){.nav{height:61px;padding:0 14px}.nav nav{gap:13px}.nav nav a{font-size:9px}.nav nav a:nth-child(2),.nav nav a:nth-child(3){display:none}.music-button{padding:7px 9px}.scene{min-height:630px;padding:70px 20px}.scene-opening{min-height:calc(100svh - 61px)}.drape-left{left:-25%}.drape-right{right:-25%}.hero-copy{width:min(100%,600px)}.venue-art-panel{height:clamp(290px,55vw,460px)}.journey-grid{grid-template-columns:1fr}.journey-art img{height:340px}.journey-details{width:min(100%,520px);margin:auto}}@media(max-width:580px){.nav .brand{font-size:11px}.nav nav{gap:10px}.nav nav a{font-size:9px}.nav nav a:nth-child(1){display:none}.music-button span{display:none}.scene{padding:65px 17px;min-height:580px}.chapter{letter-spacing:.14em}.scene h2,.chapter-head h2{font-size:clamp(44px,11vw,68px)}.scene-opening{min-height:calc(100svh - 61px)}.hero-copy{padding:45px 19px}.hero-curtain{width:36%}.drape-left{left:-32%}.drape-right{right:-32%}.hero-copy h2{font-size:clamp(55px,14vw,83px)}.foliage{font-size:40px;opacity:.75}.hero-foliage-left{left:-28px}.hero-foliage-right{right:-28px}.scene-invitation{min-height:640px}.ornate-card{padding:54px 22px;outline-offset:-8px}.names{font-size:clamp(42px,10vw,66px)}.scene-venue{min-height:690px}.venue-art-panel{width:calc(100% + 12px);height:clamp(320px,95vw,470px);border-width:5px;border-radius:44% 44% 8px 8px/12% 12% 8px 8px}.venue-art-panel img{object-position:55% center}.story-cards{grid-template-columns:1fr;max-width:420px;gap:36px}.story-image{height:clamp(270px,85vw,370px)}.event-grid{grid-template-columns:1fr;gap:5px}.event{padding:15px}.event-icon{height:72px;width:72px;font-size:38px;margin-bottom:12px}.tradition{font-size:18px}.journey-art img{height:300px}.journey-details{padding:28px 15px}.rsvp-frame{padding:53px 22px;outline-offset:-8px}.scene-rsvp{min-height:700px}.opening-center h1{font-size:64px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}