@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@300;400;500;600&family=DM+Sans:wght@300;400;500&family=Pinyon+Script&display=swap";@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;1,400&family=Alex+Brush&family=Montserrat:wght@300;400;500&display=swap";:root{--paper: #fcfaf6;--cream: #f3eee5;--gold: #9a8053;--gold-light: #d8c7a6;--ink: #403d37;--muted: #777168;--line: #e5ded1;--sage: #a4ae99;--dark: #44443d}*{box-sizing:border-box}body{margin:0;background:#e4dfd6;color:var(--ink);font-family:DM Sans,sans-serif;font-weight:300;-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:inherit}img{display:block}.script{font-family:Pinyon Script,cursive;font-weight:400;color:var(--gold)}.eyebrow{margin:0;color:var(--gold);font-size:9px;letter-spacing:.3em;text-transform:uppercase;font-weight:500}.reveal-on-scroll{opacity:0;transform:translateY(35px);transition:opacity .8s cubic-bezier(.25,1,.5,1),transform .8s cubic-bezier(.25,1,.5,1);will-change:opacity,transform}.scratch-card-wrapper{position:relative;margin:12px auto;display:block;-moz-user-select:none;user-select:none;-webkit-user-select:none;touch-action:none;overflow:hidden;border-radius:5px}.scratch-content{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:8px;text-align:center;background:#fbf8f1;color:var(--ink);border:1px solid #dfd3bd;border-radius:5px;z-index:1}.scratch-content.heading-style{font-family:Cormorant Garamond,serif;font-size:25px;line-height:1.1;font-weight:500;color:#403d37;letter-spacing:0;text-transform:none}.scratch-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:2;cursor:crosshair;border-radius:5px;transition:opacity .9s ease,transform .9s ease}.scratch-canvas.fade-out{opacity:0;transform:scale(1.06);pointer-events:none}.scratch-card-wrapper.revealed .scratch-content{animation:revealDetail .8s cubic-bezier(.2,.8,.2,1)}@keyframes revealDetail{0%{opacity:.4;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.envelope-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 45%,rgba(216,199,166,.28),transparent 38%),#e8e1d5;transition:opacity 1s ease,visibility 1s ease,background 1.5s ease}.envelope-screen.is-opening-screen{background:#fdfcf9}.envelope-screen:before{content:"";position:absolute;top:18px;right:18px;bottom:18px;left:18px;border:1px solid rgba(154,128,83,.28);pointer-events:none}.envelope-glow{position:absolute;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.7),transparent 70%);filter:blur(50px);animation:glowPulse 5s ease-in-out infinite}@keyframes glowPulse{0%,to{transform:scale(.95);opacity:.6}50%{transform:scale(1.08);opacity:1}}.intro-copy{position:absolute;top:8%;text-align:center;z-index:2;animation:introFloat 5s ease-in-out infinite}@keyframes introFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.intro-copy p{color:var(--gold);font-size:9px;letter-spacing:.35em;margin:0 0 10px}.intro-copy h1{margin:0;color:#806b49;font:42px Pinyon Script}.intro-copy h1 span{color:#c5ae85}.intro-copy small{display:block;margin-top:8px;color:#8c8375;font-size:8px;letter-spacing:.28em}.intro-copy.fade-out,.tap-open.fade-out{opacity:0;transform:translateY(-10px);transition:opacity .5s ease,transform .5s ease}.envelope{position:relative;width:min(410px,78vw);height:min(285px,54vw);border:0;background:transparent;perspective:1000px;transform-style:preserve-3d;filter:drop-shadow(0 25px 35px rgba(64,55,42,.18));z-index:3;transition:transform 1s ease}.envelope-back,.envelope-front,.envelope-flap{position:absolute;top:0;right:0;bottom:0;left:0}.envelope-back{background:#d5c4a7;border:1px solid #bca982;border-radius:3px}.envelope-front{z-index:4;background:linear-gradient(32deg,transparent 49.5%,#c4b18f 50%,transparent 50.5%),linear-gradient(-32deg,transparent 49.5%,#c4b18f 50%,transparent 50.5%),#d9c9ad;clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}.envelope-flap{z-index:5;background:#cdbb9a;clip-path:polygon(0 0,100% 0,50% 62%);transform-origin:top center;transition:transform .9s cubic-bezier(.65,0,.25,1)}.envelope-paper{position:absolute;z-index:2;width:77%;height:83%;left:11.5%;bottom:5%;padding:12px;background:#fffdf8;border:1px solid #e4d8c2;transform:translateY(12px);will-change:transform;transition:transform 1.1s cubic-bezier(.25,1,.5,1) .3s}.paper-content{width:100%;height:100%;border:1px solid #e2d6c0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--gold)}.paper-content span{font:7px DM Sans;letter-spacing:.3em}.paper-content h2{font:42px Pinyon Script;margin:4px 0;line-height:.7}.paper-content i{font:22px Pinyon Script;color:#c8b28a}.paper-content b{margin-top:12px;font-size:7px;letter-spacing:.2em;font-weight:400}.wax-seal{position:absolute;z-index:8;width:62px;height:62px;border-radius:50%;left:50%;bottom:27%;transform:translate(-50%,50%);display:grid;place-items:center;background:#92734a;color:#f7edda;border:3px double #d6c198;box-shadow:0 5px 12px #00000024;font:22px Pinyon Script;transition:all .5s ease}.wax-seal span{color:#ead8b7;font-size:15px}.envelope.opening .wax-seal{opacity:0;transform:translate(-50%,50%) scale(.6) rotate(20deg)}.envelope.opening .envelope-flap{transform:rotateX(180deg);z-index:1}.envelope.opening .envelope-paper{transform:translateY(-88%) scale(1.08);transition:transform 1.1s cubic-bezier(.25,1,.5,1) .3s;z-index:10;box-shadow:0 25px 50px #0000001a}.envelope.opening{transform:translateY(25px) scale(1.02);transition:transform 1s ease .3s;pointer-events:none}.tap-open{position:relative;z-index:5;border:0;background:transparent;color:#806b49;margin-top:30px;font-size:9px;letter-spacing:.25em;text-transform:uppercase;animation:pulse 2s infinite}.tap-icon{display:block;font-size:18px;margin-bottom:2px}@keyframes pulse{50%{opacity:.45;transform:translateY(3px)}}.invitation-page{opacity:0;visibility:hidden;min-height:100vh}.invitation-visible{opacity:1;visibility:visible;animation:pageIn 1.2s ease both}@keyframes pageIn{0%{opacity:0}to{opacity:1}}.navbar{position:fixed;top:0;left:0;right:0;z-index:20;height:65px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;background:rgba(252,250,246,.9);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid rgba(154,128,83,.12)}.brand{border:0;background:transparent;color:var(--gold);font:27px Cormorant Garamond;letter-spacing:.1em}.brand span{font-family:Pinyon Script;color:#c3aa7e}.nav-links{display:flex;gap:28px}.nav-links button{border:0;background:none;color:var(--muted);text-transform:uppercase;letter-spacing:.16em;font-size:9px;transition:color .3s ease}.nav-links button:hover{color:var(--gold)}.menu-button{display:none;border:0;background:transparent}.menu-button span{display:block;width:22px;height:1px;margin:5px;background:var(--gold);transition:transform .3s ease}.music-toggle{position:fixed;right:20px;top:82px;z-index:30;display:flex;align-items:center;gap:8px;padding:9px 13px;border:1px solid rgba(154,128,83,.45);border-radius:30px;background:rgba(252,250,246,.88);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--gold);font-size:8px;letter-spacing:.12em;text-transform:uppercase;box-shadow:0 8px 25px #46372314;transition:transform .3s ease,background .3s ease}.music-toggle:hover{transform:translateY(-2px);background:#fffdf8}.music-icon{width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:rgba(154,128,83,.12);font-size:14px}.music-toggle.playing .music-icon{animation:musicPulse 1.4s ease-in-out infinite}@keyframes musicPulse{0%,to{transform:scale(1)}50%{transform:scale(1.18)}}.invitation-cover{min-height:100svh;position:relative;overflow:hidden;display:grid;place-items:center;text-align:center;background:linear-gradient(rgba(247,242,233,.72),rgba(247,242,233,.9)),url(https://images.unsplash.com/photo-1464366400600-7168b8af9bc3?auto=format&fit=crop&w=1800&q=85) center / cover}.invitation-cover:before{content:"";position:absolute;top:30px;right:30px;bottom:30px;left:30px;border:1px solid rgba(154,128,83,.28)}.cover-inner{width:min(750px,90%);padding-top:60px;position:relative;z-index:2;animation:coverReveal 1.3s ease .3s both}@keyframes coverReveal{0%{opacity:0;transform:translateY(25px)}to{opacity:1;transform:translateY(0)}}.cover-intro{font-size:clamp(28px,5vw,48px);margin:22px 0 8px}.cover-inner h1{margin:0;color:#806b49;font:clamp(82px,13vw,150px) "Pinyon Script";line-height:.75;display:flex;flex-direction:column}.cover-inner h1 span{font-size:.3em;color:#c4ad82;line-height:1.25}.cover-divider{display:flex;justify-content:center;align-items:center;gap:15px;margin:35px 0 18px;color:#b69a6b}.cover-divider span{width:65px;height:1px;background:#cbb99a}.cover-date{font-size:11px;letter-spacing:.25em;color:#625d53;text-transform:uppercase}.cover-venue{color:#847a6b;font-size:12px}.scroll-button{margin-top:25px;border:1px solid var(--gold);background:transparent;color:var(--gold);padding:13px 22px;text-transform:uppercase;font-size:9px;letter-spacing:.18em;transition:all .35s ease}.scroll-button:hover{background:var(--gold);color:#fff;transform:translateY(-3px)}.scroll-button span{margin-left:10px}.cover-decoration{position:absolute;width:120px;height:120px;border:1px solid rgba(154,128,83,.18);transform:rotate(45deg)}.cover-decoration.top{top:-70px;left:-70px}.cover-decoration.bottom{bottom:-70px;right:-70px}.section{padding:105px 7%}.section-heading{text-align:center;margin-bottom:45px}.section-heading h2{margin:8px 0 15px;font-size:clamp(55px,7vw,78px);line-height:.9}.section-subtitle{max-width:550px;margin:auto;color:var(--muted);font-size:13px;line-height:1.8}.details-section{background:var(--paper);text-align:center}.wedding-details-box{max-width:1100px;margin:0 auto 40px;padding:50px 35px;display:grid;grid-template-columns:1fr 1px 1fr 1px 1.3fr;align-items:center;background:#faf7f1;border:1px solid #d9cbb2;box-shadow:0 18px 45px #594a3214;position:relative;overflow:hidden;transition:transform .5s ease,box-shadow .5s ease}.wedding-details-box:hover{transform:translateY(-4px);box-shadow:0 25px 60px #594a321f}.wedding-details-box:before{content:"";position:absolute;top:8px;right:8px;bottom:8px;left:8px;border:1px solid #eee6d8;pointer-events:none}.wedding-detail{padding:10px 25px;position:relative;z-index:1;transition:transform .5s ease}.wedding-detail:hover{transform:translateY(-3px)}.detail-symbol{color:var(--gold);font-size:25px;margin-bottom:12px;transition:transform .5s ease}.wedding-detail:hover .detail-symbol{transform:translateY(-4px) scale(1.08)}.wedding-detail>span{color:var(--gold);font-size:8px;letter-spacing:.25em}.wedding-detail p{margin:0;color:var(--muted);font-size:11px;line-height:1.6}.location-detail .scratch-content.heading-style{font-size:22px}.location-detail .scratch-card-wrapper{max-width:280px}.detail-divider{height:80px;background:#ded4c4}.outline-button{display:inline-block;padding:12px 23px;background:transparent;border:1px solid var(--gold);color:var(--gold);text-transform:uppercase;letter-spacing:.16em;font-size:9px;text-decoration:none;transition:all .35s ease}.outline-button:hover{background:var(--gold);color:#fff;transform:translateY(-2px)}.countdown-section{padding:85px 20px;text-align:center;background:#e8e4db}.countdown-section h2{margin:10px 0 25px;font-size:58px}.countdown{display:flex;justify-content:center;gap:clamp(15px,5vw,55px)}.count-item{min-width:70px;display:flex;flex-direction:column}.count-item strong{color:var(--gold);font:42px Cormorant Garamond}.count-item span{color:var(--muted);font-size:8px;letter-spacing:.15em;text-transform:uppercase}.story-section{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:9%;background:var(--paper)}.story-image{overflow:hidden}.story-image img{width:100%;height:570px;-o-object-fit:cover;object-fit:cover;transition:transform 1s ease}.story-image:hover img{transform:scale(1.04)}.story-copy{max-width:470px}.story-copy h2{font-size:68px;margin:10px 0 25px;line-height:.9}.story-copy p:not(.eyebrow){color:var(--muted);font-size:13px;line-height:2}.signature{color:var(--gold);font:38px Pinyon Script;margin-top:25px}.map-section{padding:100px 7%;background:#f0ece4;text-align:center}.map-card h2{font-size:58px;margin:10px 0}.map-card>p:not(.eyebrow){color:var(--muted);font-size:12px}.map-section iframe{display:block;width:100%;height:430px;margin:30px auto 20px;border:1px solid #d8cdbb;filter:grayscale(.8);transition:filter .5s ease}.map-section iframe:hover{filter:grayscale(.2)}.map-button{text-decoration:none}.schedule-section{background:var(--paper)}.timeline{max-width:700px;margin:auto}.timeline-item{display:grid;grid-template-columns:90px 22px 1fr;gap:18px;min-height:105px}.timeline-time{color:var(--gold);font-size:10px}.timeline-dot{width:9px;height:9px;border:1px solid var(--gold);border-radius:50%;position:relative;margin-top:4px}.timeline-dot:after{content:"";position:absolute;width:1px;height:105px;background:var(--line);left:3px;top:8px}.timeline-item:last-child .timeline-dot:after{display:none}.timeline-content h3{margin:0;font:25px Cormorant Garamond}.timeline-content p{color:var(--muted);font-size:11px}.split-section{display:grid;grid-template-columns:1fr 1fr}.split-card{padding:95px 12%;text-align:center}.split-card h2{font-size:65px;margin:10px 0 20px}.split-card>p:last-child{color:var(--muted);font-size:13px;line-height:1.9}.dress{background:#e7e9e0}.gift{background:#efe5d4}.dress-swatches{display:flex;justify-content:center;margin:25px 0}.dress-swatches span{width:32px;height:32px;border-radius:50%;margin-left:-5px;border:2px solid white}.dress-swatches span:nth-child(1){background:#b7b0a2}.dress-swatches span:nth-child(2){background:#a4ae99}.dress-swatches span:nth-child(3){background:#d3bf99}.dress-swatches span:nth-child(4){background:#f0e8da}.gift-icon{color:var(--gold);font-size:32px;margin:20px;animation:heartFloat 2.5s ease-in-out infinite}@keyframes heartFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.gallery-section{background:var(--paper)}.gallery-grid{max-width:1000px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:12px}.gallery-grid img{width:100%;height:370px;-o-object-fit:cover;object-fit:cover;transition:transform .6s ease,filter .6s ease}.gallery-grid img:hover{transform:scale(1.02);filter:brightness(1.04)}.gallery-grid img:nth-child(2),.gallery-grid img:nth-child(3){height:250px}.rsvp-section{background:#e9e5dc}.rsvp-card{max-width:620px;margin:auto;text-align:center;position:relative}.rsvp-card h2{font-size:68px;margin:10px 0}.rsvp-card form{display:grid;gap:11px;margin-top:30px}.rsvp-card input,.rsvp-card select,.rsvp-card textarea{width:100%;padding:14px;border:1px solid #d9d0c1;background:#fcfaf6;outline:none;transition:border-color .3s ease,box-shadow .3s ease}.rsvp-card input:focus,.rsvp-card select:focus,.rsvp-card textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px #9a805314}.rsvp-card textarea{resize:vertical}.gold-button{border:1px solid var(--gold);background:var(--gold);color:#fff;padding:14px 24px;text-transform:uppercase;letter-spacing:.15em;font-size:9px;transition:all .35s ease}.gold-button:hover{background:#80683f;transform:translateY(-2px)}.success-message{position:relative;overflow:hidden;margin-top:30px;padding:35px;background:#fcfaf6;border:1px solid var(--line);animation:successIn .7s ease both}@keyframes successIn{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.success-icon{position:relative;z-index:2;width:45px;height:45px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;margin:auto;color:var(--gold);background:#fcfaf6}.floating-hearts-container{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1;overflow:hidden}.floating-heart{position:absolute;bottom:-20px;color:var(--gold-light);font-size:24px;opacity:0;animation:floatUpBurst 2s ease-in forwards}@keyframes floatUpBurst{0%{transform:translateY(0) scale(.5);opacity:0}20%{opacity:.8;transform:translateY(-30px) scale(1.1)}to{transform:translateY(-120px) scale(1.5);opacity:0}}.footer{padding:75px 20px 30px;background:#44443d;color:#fff;text-align:center}.footer .ornament{color:#d4bf98;font-size:25px}.footer h2{font-size:62px;color:#ddcaa6;margin:10px}.footer>p{font-size:9px;letter-spacing:.2em}.share-button{margin-top:20px;padding:12px 22px;background:transparent;border:1px solid #d5c09b;color:#d5c09b;text-transform:uppercase;letter-spacing:.15em;font-size:9px;transition:all .3s ease}.share-button:hover{background:#d5c09b;color:#44443d}.footer-note{opacity:.45;margin-top:45px!important}.floating-share{position:fixed;right:18px;bottom:18px;z-index:18;width:46px;height:46px;border-radius:50%;border:1px solid var(--gold);background:rgba(252,250,246,.95);color:var(--gold);box-shadow:0 10px 25px #3228141f;transition:transform .3s ease}.floating-share:hover{transform:translateY(-4px) rotate(5deg)}@media (max-width: 700px){body{background:var(--paper)}.envelope-screen:before{top:10px;right:10px;bottom:10px;left:10px}.envelope-glow{width:280px;height:280px}.intro-copy{top:9%}.intro-copy h1{font-size:37px}.envelope{width:84vw;height:58vw;max-height:280px}.paper-content h2{font-size:37px}.wax-seal{width:52px;height:52px;font-size:19px}.paper-content b{font-size:6px}.navbar{height:60px;padding:0 18px}.menu-button{display:block}.nav-links{position:absolute;display:none;top:60px;left:0;right:0;flex-direction:column;background:rgba(252,250,246,.98);padding:8px 18px 18px;border-bottom:1px solid var(--line)}.nav-links.open{display:flex;animation:menuOpen .35s ease both}@keyframes menuOpen{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.nav-links button{text-align:left;padding:14px 5px;border-bottom:1px solid var(--line)}.music-toggle{right:12px;top:72px;padding:7px 10px;font-size:7px}.music-toggle span:last-child{display:none}.music-icon{width:30px;height:30px}.invitation-cover:before{top:14px;right:14px;bottom:14px;left:14px}.cover-inner{padding-top:45px}.cover-intro{font-size:27px}.cover-inner h1{font-size:91px}.cover-divider{margin:25px 0 14px}.cover-divider span{width:35px}.section{padding:72px 20px}.section-heading h2{font-size:55px}.wedding-details-box{grid-template-columns:1fr;padding:35px 18px;gap:0}.wedding-details-box:before{top:6px;right:6px;bottom:6px;left:6px}.wedding-detail{padding:30px 5px}.wedding-detail p{font-size:10px}.detail-divider{width:100px;height:1px;margin:auto}.scratch-card-wrapper{max-width:calc(100vw - 80px)}.scratch-content.heading-style{font-size:22px}.location-detail .scratch-content.heading-style{font-size:19px;line-height:1.1}.location-detail .scratch-card-wrapper{max-width:calc(100vw - 80px)}.countdown-section{padding:70px 15px}.countdown-section h2{font-size:48px}.countdown{gap:8px}.count-item{min-width:64px}.count-item strong{font-size:32px}.count-item span{font-size:7px}.story-section{grid-template-columns:1fr;gap:45px}.story-image img{height:400px}.story-copy{text-align:center}.story-copy h2{font-size:56px}.map-section{padding:72px 15px}.map-card h2{font-size:48px}.map-section iframe{height:350px}.timeline-item{grid-template-columns:65px 18px 1fr;gap:10px}.timeline-content h3{font-size:22px}.split-section{grid-template-columns:1fr}.split-card{padding:70px 25px}.split-card h2{font-size:55px}.gallery-grid{grid-template-columns:1fr 1fr;gap:7px}.gallery-grid img,.gallery-grid img:nth-child(2),.gallery-grid img:nth-child(3){height:220px}.rsvp-card h2{font-size:55px}.footer h2{font-size:52px}.floating-share{width:42px;height:42px;right:14px;bottom:14px}}@media (max-width: 380px){.cover-inner h1{font-size:78px}.cover-intro{font-size:24px}.count-item{min-width:55px}.count-item strong{font-size:28px}.countdown{gap:3px}.scratch-content.heading-style{font-size:19px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}:root{--off-white: #FDFBF7;--ivory: #FFFFFF;--dusk-light: #E6D4D4;--dusk: #B88B8D;--dusk-dark: #8E5D5F;--text-main: #4A3B3C;--text-muted: #8A797A;--border-color: rgba(184, 139, 141, .25);--font-serif: "Cormorant Garamond", serif;--font-script: "Alex Brush", cursive;--font-sans: "Montserrat", sans-serif}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-serif);background:var(--off-white);color:var(--text-main);overflow-x:hidden;-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:radial-gradient(circle at 15% 10%,rgba(184,139,141,.08),transparent 30%),radial-gradient(circle at 85% 75%,rgba(184,139,141,.08),transparent 30%);z-index:-1}body.locked{overflow:hidden}.elegant-lock{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:flex;align-items:center;justify-content:center;pointer-events:all}.elegant-lock.is-unlocked{pointer-events:none;visibility:hidden;transition:visibility 0s linear 1.5s}.lock-door{position:absolute;top:0;bottom:0;width:50vw;background:var(--ivory);transition:transform 1.2s cubic-bezier(.77,0,.17,1) .3s;display:flex;align-items:center;justify-content:center}.lock-door:after{content:"";position:absolute;top:15px;right:15px;bottom:15px;left:15px;border:1px solid var(--border-color);pointer-events:none}.door-left{left:0;border-right:1px solid var(--dusk);transform-origin:left;box-shadow:10px 0 30px #4a3b3c0d}.door-right{right:0;border-left:1px solid var(--dusk);transform-origin:right;box-shadow:-10px 0 30px #4a3b3c0d}.elegant-lock.is-unlocked .door-left{transform:translate(-100%)}.elegant-lock.is-unlocked .door-right{transform:translate(100%)}.lock-center{position:relative;z-index:10;display:flex;flex-direction:column;align-items:center;transition:opacity .5s ease,transform .6s cubic-bezier(.2,.8,.2,1)}.elegant-lock.is-unlocked .lock-center{opacity:0;transform:scale(1.3)}.lock-names{display:flex;align-items:center;gap:15px;margin-bottom:30px;color:var(--dusk-dark);font-size:clamp(2rem,5vw,3rem);font-family:var(--font-serif);animation:fadeDown 1s ease both}.lock-names i{font-style:italic;font-size:.8em;color:var(--dusk);font-family:var(--font-script)}.lock-seal{width:90px;height:90px;border-radius:50%;background:linear-gradient(135deg,var(--dusk),var(--dusk-dark));color:var(--ivory);font-family:var(--font-serif);font-size:1.8rem;display:grid;place-items:center;cursor:pointer;border:none;outline:none;box-shadow:0 10px 30px #b88b8d66,inset 0 0 15px #0000001a;transition:transform .4s cubic-bezier(.34,1.56,.64,1);animation:popIn 1s cubic-bezier(.34,1.56,.64,1) .3s both,floatSeal 4s ease-in-out infinite}.lock-seal:before{content:"";position:absolute;top:4px;right:4px;bottom:4px;left:4px;border:1px dashed rgba(255,255,255,.6);border-radius:50%}.lock-seal:hover{transform:scale(1.1) rotate(5deg)}.lock-hint{margin-top:30px;font-family:var(--font-sans);font-size:.65rem;letter-spacing:.4em;text-transform:uppercase;color:var(--text-muted);animation:fadeUp 1s ease .6s both}@keyframes fadeDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes popIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes floatSeal{50%{transform:translateY(-5px)}}.audio-toggle-btn{position:fixed;bottom:30px;right:30px;width:50px;height:50px;border-radius:50%;background:rgba(253,251,247,.75);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-color);display:grid;place-items:center;cursor:pointer;z-index:100;box-shadow:0 10px 30px #4a3b3c26;color:var(--dusk-dark);transition:all .4s ease;opacity:0;pointer-events:none;transform:translateY(20px);outline:none}.audio-toggle-btn.is-visible{opacity:1;pointer-events:auto;transform:translateY(0)}.audio-toggle-btn:hover{transform:scale(1.1);background:var(--ivory)}.audio-icon{font-size:1.3rem;line-height:1}.navbar-glass-pill{position:fixed;top:30px;left:50%;transform:translate(-50%);padding:12px 35px;width:-moz-max-content;width:max-content;z-index:50;background:rgba(253,251,247,.4);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.6);border-radius:50px;box-shadow:0 15px 35px #4a3b3c1a;display:flex;align-items:center;justify-content:center;transition:all .4s ease}.navbar-glass-pill .nav-brand{font-family:var(--font-serif);font-size:1.4rem;color:var(--dusk-dark);text-decoration:none;letter-spacing:.25em;text-transform:uppercase;text-shadow:0 0 10px rgba(255,255,255,.8)}.navbar-glass-pill .nav-brand span{color:var(--dusk);font-style:italic;font-family:var(--font-script);font-size:1.9rem;margin:0 10px;text-transform:none;text-shadow:none}.main-content{opacity:0;transition:opacity 1.5s ease}.main-content.visible{opacity:1}.hero-full-bg{position:relative;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background-size:cover;background-position:center;background-attachment:fixed}.hero-full-bg:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,rgba(74,59,60,.3) 0%,rgba(74,59,60,.75) 100%);z-index:1;pointer-events:none}.hero-pure-content{position:relative;z-index:2;text-align:center;color:var(--ivory);padding:0 20px;width:100%;max-width:800px}.hero-eyebrow-pure{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.35em;font-size:.75rem;color:var(--dusk-light);margin-bottom:30px;text-shadow:0 2px 10px rgba(74,59,60,.5)}.hero-title-pure h1{font-family:var(--font-script);font-size:clamp(3.5rem,12vw,8rem);color:var(--ivory);font-weight:400;line-height:.85;text-shadow:0 10px 30px rgba(74,59,60,.4);margin:0}.hero-title-pure .ampersand{font-family:var(--font-serif);font-size:clamp(2.5rem,6vw,4rem);color:var(--dusk-light);font-style:italic;margin:15px 0;display:block;text-shadow:0 10px 30px rgba(74,59,60,.4)}.hero-subtitle-pure{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.25em;font-size:.8rem;color:#ffffffe6;line-height:2.2;margin-top:40px;text-shadow:0 2px 10px rgba(74,59,60,.5)}.hero-subtitle-pure strong{display:block;margin-top:15px;color:var(--dusk-light);font-size:1.1rem;font-family:var(--font-serif);letter-spacing:.15em;text-transform:none;font-weight:400}.scroll-indicator{position:absolute;bottom:30px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:12px;opacity:.8;z-index:10;color:var(--ivory)}.scroll-line{width:1px;height:60px;background:rgba(255,255,255,.2);position:relative;overflow:hidden}.scroll-line:after{content:"";position:absolute;top:0;left:0;width:100%;height:50%;background:var(--dusk-light);animation:scrollDrop 2s cubic-bezier(.77,0,.17,1) infinite}@keyframes scrollDrop{0%{transform:translateY(-100%)}to{transform:translateY(200%)}}.modern-reveal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;width:100%;max-width:1080px;margin:0 auto}.mrc-card{position:relative;height:260px;border-radius:24px;background:rgba(253,251,247,.65);border:1px solid var(--border-color);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);overflow:hidden;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:box-shadow .5s ease,transform .5s ease,border-color .5s ease;box-shadow:0 10px 30px #4a3b3c08}.mrc-card:hover,.mrc-card.is-active{transform:translateY(-8px);box-shadow:0 25px 50px #b88b8d26;border-color:#b88b8d80}.mrc-glow{position:absolute;width:250%;height:250%;background:radial-gradient(circle at 50% 50%,rgba(184,139,141,.15) 0%,transparent 50%);top:50%;left:50%;transform:translate(-50%,-50%) scale(0);transition:transform .8s cubic-bezier(.2,.8,.2,1);pointer-events:none;z-index:1}.mrc-card:hover .mrc-glow,.mrc-card.is-active .mrc-glow{transform:translate(-50%,-50%) scale(1)}.mrc-content-front,.mrc-content-back{position:absolute;top:0;right:0;bottom:0;left:0;padding:2rem;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;transition:all .6s cubic-bezier(.4,0,.2,1);z-index:2}.mrc-content-front{transform:translateY(0);opacity:1}.mrc-icon{font-size:2.2rem;color:var(--dusk-dark);margin-bottom:1.2rem;transition:transform .5s ease}.mrc-title{font-family:var(--font-sans);font-size:.85rem;letter-spacing:.35em;text-transform:uppercase;color:var(--text-main);font-weight:500}.mrc-hint{font-family:var(--font-serif);font-size:1.1rem;font-style:italic;color:var(--text-muted);margin-top:.8rem;opacity:.7}.mrc-content-back{transform:translateY(40px);opacity:0;pointer-events:none}.mrc-main-text{font-family:var(--font-serif);font-size:2rem;color:var(--text-main);line-height:1.1;margin-bottom:.8rem}.mrc-sub-text{font-family:var(--font-sans);font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;color:var(--dusk-dark)}.mrc-card:hover .mrc-content-front,.mrc-card.is-active .mrc-content-front{transform:translateY(-40px);opacity:0}.mrc-card:hover .mrc-content-back,.mrc-card.is-active .mrc-content-back{transform:translateY(0);opacity:1;pointer-events:auto}.mrc-card:hover .mrc-icon,.mrc-card.is-active .mrc-icon{transform:scale(.8)}.gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:20px;max-width:1000px;margin:0 auto}.gal-item{border-radius:18px;overflow:hidden;border:1px solid var(--border-color);box-shadow:0 15px 40px #4a3b3c0f;position:relative}.gal-img{display:block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .8s ease}.gal-item:hover .gal-img{transform:scale(1.05)}.gal-1{grid-column:1 / 8;aspect-ratio:16/10}.gal-2{grid-column:8 / 13;aspect-ratio:3/4}.gal-3{grid-column:1 / 6;aspect-ratio:3/4}.gal-4{grid-column:6 / 13;aspect-ratio:16/10}.section{padding:7rem 1.5rem;max-width:1080px;margin:0 auto;text-align:center}.section-narrow{max-width:800px;margin:0 auto}.section-header{margin-bottom:3.5rem;display:flex;flex-direction:column;align-items:center;gap:.5rem}.serif-heading{font-family:var(--font-serif);font-size:clamp(2rem,4vw,3rem);color:var(--text-main)}.sans-sub{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.2em;font-size:.75rem;color:var(--text-muted)}p{line-height:1.8;color:var(--text-muted);font-size:1.1rem}.divider{display:flex;align-items:center;gap:1rem;margin:2rem auto;width:-moz-fit-content;width:fit-content;opacity:.8}.divider:before,.divider:after{content:"";width:64px;height:1px;background:linear-gradient(90deg,transparent,var(--dusk))}.divider:after{background:linear-gradient(90deg,var(--dusk),transparent)}.divider-icon{color:var(--dusk);font-size:1rem}.countdown-wrapper{display:flex;justify-content:center;gap:clamp(.75rem,4vw,2rem);flex-wrap:wrap;padding:2.4rem 1rem;background:rgba(253,251,247,.7);border:1px solid var(--border-color);border-radius:22px;box-shadow:0 18px 50px #4a3b3c0d}.count-box{display:flex;flex-direction:column;align-items:center;min-width:70px}.count-num{font-family:var(--font-serif);font-size:clamp(2.5rem,6vw,3.8rem);color:var(--dusk-dark);line-height:1;margin-bottom:.5rem}.timeline{position:relative;max-width:800px;margin:0 auto;padding:2rem 0;text-align:left}.timeline:before{content:"";position:absolute;left:24px;top:0;bottom:0;width:1px;background:linear-gradient(to bottom,transparent,var(--dusk),transparent)}.timeline-item{position:relative;padding-left:60px;margin-bottom:3rem;display:flex;flex-direction:column}.timeline-dot{position:absolute;left:18px;top:20px;width:14px;height:14px;background:var(--off-white);border:2px solid var(--dusk);border-radius:50%;z-index:2;box-shadow:0 0 10px #b88b8d66}.timeline-content{background:rgba(253,251,247,.7);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border-color);border-radius:16px;padding:1.5rem 2rem;box-shadow:0 10px 30px #4a3b3c0d;transition:transform .3s ease,border-color .3s ease}.timeline-content:hover{transform:translateY(-5px);border-color:#b88b8d80}.timeline-time{font-family:var(--font-serif);font-style:italic;color:var(--dusk-dark);font-size:1.4rem;margin-bottom:.5rem}.timeline-content h3{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.1em;font-size:.9rem;color:var(--text-main);font-weight:500;margin-bottom:.5rem}.timeline-content p{font-size:1rem;margin:0;color:var(--text-muted)}@media (min-width: 768px){.timeline:before{left:50%;transform:translate(-50%)}.timeline-item{padding-left:0;flex-direction:row;justify-content:space-between;align-items:center}.timeline-item:nth-child(2n){flex-direction:row-reverse}.timeline-dot{left:50%;transform:translate(-50%);top:50%;margin-top:-7px}.timeline-content{width:44%}.timeline-item:nth-child(2n) .timeline-content{text-align:right}}.info-flex-container{display:flex;flex-wrap:wrap;gap:3rem;justify-content:center;margin-bottom:4rem}.info-flex-item{flex:1 1 250px;max-width:350px}.map-container{width:100%;height:clamp(300px,50vh,450px);border:1px solid var(--border-color);padding:.45rem;background:var(--ivory);margin-top:2rem;border-radius:18px}.map-container iframe{width:100%;height:100%;border:none;filter:grayscale(10%) sepia(20%) hue-rotate(-20deg)}.rsvp-section{background:rgba(253,251,247,.82);max-width:720px;padding:4.5rem 2.2rem;border:1px solid var(--border-color);border-radius:22px;margin:0 auto 4rem}.rsvp-form{display:flex;flex-direction:column;gap:2.5rem;margin-top:2rem}.input-group{width:100%;position:relative}.rsvp-input{width:100%;background:transparent;border:none;border-bottom:1px solid var(--border-color);padding:.8rem 0;font-family:var(--font-serif);font-size:1.2rem;outline:none;color:var(--text-main)}.rsvp-input:focus{border-bottom-color:var(--dusk-dark)}.rsvp-input::-moz-placeholder{color:var(--text-muted);font-family:var(--font-sans);font-size:.75rem;text-transform:uppercase;letter-spacing:.1em}.rsvp-input::placeholder{color:var(--text-muted);font-family:var(--font-sans);font-size:.75rem;text-transform:uppercase;letter-spacing:.1em}.btn-elegant{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;padding:1.15rem 2.7rem;border:1px solid var(--dusk);cursor:pointer;background:linear-gradient(135deg,var(--ivory),var(--off-white));color:var(--text-main);transition:all .35s ease;border-radius:999px;margin:2rem auto 0;display:block}.btn-elegant:hover{transform:translateY(-2px);background:var(--dusk);color:var(--ivory)}.footer{padding:4rem 1.5rem;text-align:center;border-top:1px solid var(--border-color)}.reveal-on-scroll{opacity:0;transform:translateY(40px);transition:opacity 1.2s cubic-bezier(.2,.8,.2,1),transform 1.2s cubic-bezier(.2,.8,.2,1)}.reveal-on-scroll.is-visible{opacity:1;transform:translateY(0)}@media (max-width: 768px){.audio-toggle-btn{bottom:20px;right:20px;width:45px;height:45px}.audio-icon{font-size:1.1rem}.hero-full-bg{background-attachment:scroll}.gallery-grid{grid-template-columns:1fr;gap:15px}.gal-1,.gal-2,.gal-3,.gal-4{grid-column:1 / -1;aspect-ratio:4/3;height:auto}.section{padding:4rem 1.2rem}.hero-title-pure h1{font-size:clamp(3rem,15vw,4.5rem)}.hero-title-pure .ampersand{font-size:2.5rem}.rsvp-section{padding:3rem 1.5rem}.countdown-wrapper{gap:1rem;padding:1.5rem .5rem}.count-num{font-size:2rem}.navbar-glass-pill{width:90%;max-width:320px;padding:10px 20px}.modern-reveal-grid{gap:1rem}.mrc-card{height:220px}.lock-seal{width:70px;height:70px;font-size:1.4rem}.lock-names{font-size:1.8rem}}
