@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";.wedding-page{--paper: #fcfaf6;--cream: #f3eee5;--gold: #9a8053;--gold-light: #d8c7a6;--ink: #403d37;--muted: #777168;--line: #e5ded1;--sage: #a4ae99;--dark: #44443d;min-height:100vh;background:#e4dfd6;color:var(--ink);font-family:DM Sans,sans-serif;font-weight:300;-webkit-font-smoothing:antialiased}.wedding-page,.wedding-page *{box-sizing:border-box}.wedding-page{scroll-behavior:smooth}.wedding-page button,.wedding-page input,.wedding-page textarea,.wedding-page select{font:inherit}.wedding-page button{cursor:pointer}.wedding-page a{color:inherit}.wedding-page img{display:block}.wedding-page .script{font-family:Pinyon Script,cursive;font-weight:400;color:var(--gold)}.wedding-page .eyebrow{margin:0;color:var(--gold);font-size:9px;letter-spacing:.3em;text-transform:uppercase;font-weight:500}.wedding-page .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}.wedding-page .reveal-on-scroll.is-visible{opacity:1;transform:translateY(0)}.wedding-page .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}.wedding-page .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}.wedding-page .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}.wedding-page .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}.wedding-page .scratch-canvas.fade-out{opacity:0;transform:scale(1.06);pointer-events:none}.wedding-page .scratch-card-wrapper.revealed .scratch-content{animation:wedding-revealDetail .8s cubic-bezier(.2,.8,.2,1)}@keyframes wedding-revealDetail{0%{opacity:.4;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.wedding-page .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}.wedding-page .envelope-screen.is-opening-screen{background:#fdfcf9}.wedding-page .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}.wedding-page .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:wedding-glowPulse 5s ease-in-out infinite}@keyframes wedding-glowPulse{0%,to{transform:scale(.95);opacity:.6}50%{transform:scale(1.08);opacity:1}}.wedding-page .intro-copy{position:absolute;top:8%;text-align:center;z-index:2;animation:wedding-introFloat 5s ease-in-out infinite}@keyframes wedding-introFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.wedding-page .intro-copy p{color:var(--gold);font-size:9px;letter-spacing:.35em;margin:0 0 10px}.wedding-page .intro-copy h1{margin:0;color:#806b49;font:42px Pinyon Script}.wedding-page .intro-copy h1 span{color:#c5ae85}.wedding-page .intro-copy small{display:block;margin-top:8px;color:#8c8375;font-size:8px;letter-spacing:.28em}.wedding-page .intro-copy.fade-out,.wedding-page .tap-open.fade-out{opacity:0;transform:translateY(-10px);transition:opacity .5s ease,transform .5s ease}.wedding-page .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}.wedding-page .envelope-back,.wedding-page .envelope-front,.wedding-page .envelope-flap{position:absolute;top:0;right:0;bottom:0;left:0}.wedding-page .envelope-back{background:#d5c4a7;border:1px solid #bca982;border-radius:3px}.wedding-page .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%)}.wedding-page .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)}.wedding-page .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}.wedding-page .paper-content{width:100%;height:100%;border:1px solid #e2d6c0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--gold)}.wedding-page .paper-content span{font:7px DM Sans;letter-spacing:.3em}.wedding-page .paper-content h2{font:42px Pinyon Script;margin:4px 0;line-height:.7}.wedding-page .paper-content i{font:22px Pinyon Script;color:#c8b28a}.wedding-page .paper-content b{margin-top:12px;font-size:7px;letter-spacing:.2em;font-weight:400}.wedding-page .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}.wedding-page .wax-seal span{color:#ead8b7;font-size:15px}.wedding-page .envelope.opening .wax-seal{opacity:0;transform:translate(-50%,50%) scale(.6) rotate(20deg)}.wedding-page .envelope.opening .envelope-flap{transform:rotateX(180deg);z-index:1}.wedding-page .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}.wedding-page .envelope.opening{transform:translateY(25px) scale(1.02);transition:transform 1s ease .3s;pointer-events:none}.wedding-page .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:wedding-pulse 2s infinite}.wedding-page .tap-icon{display:block;font-size:18px;margin-bottom:2px}@keyframes wedding-pulse{50%{opacity:.45;transform:translateY(3px)}}.wedding-page .invitation-page{opacity:0;visibility:hidden;min-height:100vh}.wedding-page .invitation-visible{opacity:1;visibility:visible;animation:wedding-pageIn 1.2s ease both}@keyframes wedding-pageIn{0%{opacity:0}to{opacity:1}}.wedding-page .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)}.wedding-page .brand{border:0;background:transparent;color:var(--gold);font:27px Cormorant Garamond;letter-spacing:.1em}.wedding-page .brand span{font-family:Pinyon Script;color:#c3aa7e}.wedding-page .nav-links{display:flex;gap:28px}.wedding-page .nav-links button{border:0;background:none;color:var(--muted);text-transform:uppercase;letter-spacing:.16em;font-size:9px;transition:color .3s ease}.wedding-page .nav-links button:hover{color:var(--gold)}.wedding-page .menu-button{display:none;border:0;background:transparent}.wedding-page .menu-button span{display:block;width:22px;height:1px;margin:5px;background:var(--gold);transition:transform .3s ease}.wedding-page .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}.wedding-page .music-toggle:hover{transform:translateY(-2px);background:#fffdf8}.wedding-page .music-icon{width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:rgba(154,128,83,.12);font-size:14px}.wedding-page .music-toggle.playing .music-icon{animation:wedding-musicPulse 1.4s ease-in-out infinite}@keyframes wedding-musicPulse{0%,to{transform:scale(1)}50%{transform:scale(1.18)}}.wedding-page .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}.wedding-page .invitation-cover:before{content:"";position:absolute;top:30px;right:30px;bottom:30px;left:30px;border:1px solid rgba(154,128,83,.28)}.wedding-page .cover-inner{width:min(750px,90%);padding-top:60px;position:relative;z-index:2;animation:wedding-coverReveal 1.3s ease .3s both}@keyframes wedding-coverReveal{0%{opacity:0;transform:translateY(25px)}to{opacity:1;transform:translateY(0)}}.wedding-page .cover-intro{font-size:clamp(28px,5vw,48px);margin:22px 0 8px}.wedding-page .cover-inner h1{margin:0;color:#806b49;font:clamp(82px,13vw,150px) "Pinyon Script";line-height:.75;display:flex;flex-direction:column}.wedding-page .cover-inner h1 span{font-size:.3em;color:#c4ad82;line-height:1.25}.wedding-page .cover-divider{display:flex;justify-content:center;align-items:center;gap:15px;margin:35px 0 18px;color:#b69a6b}.wedding-page .cover-divider span{width:65px;height:1px;background:#cbb99a}.wedding-page .cover-date{font-size:11px;letter-spacing:.25em;color:#625d53;text-transform:uppercase}.wedding-page .cover-venue{color:#847a6b;font-size:12px}.wedding-page .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}.wedding-page .scroll-button:hover{background:var(--gold);color:#fff;transform:translateY(-3px)}.wedding-page .scroll-button span{margin-left:10px}.wedding-page .cover-decoration{position:absolute;width:120px;height:120px;border:1px solid rgba(154,128,83,.18);transform:rotate(45deg)}.wedding-page .cover-decoration.top{top:-70px;left:-70px}.wedding-page .cover-decoration.bottom{bottom:-70px;right:-70px}.wedding-page .section{padding:105px 7%}.wedding-page .section-heading{text-align:center;margin-bottom:45px}.wedding-page .section-heading h2{margin:8px 0 15px;font-size:clamp(55px,7vw,78px);line-height:.9}.wedding-page .section-subtitle{max-width:550px;margin:auto;color:var(--muted);font-size:13px;line-height:1.8}.wedding-page .details-section{background:var(--paper);text-align:center}.wedding-page .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-page .wedding-details-box:hover{transform:translateY(-4px);box-shadow:0 25px 60px #594a321f}.wedding-page .wedding-details-box:before{content:"";position:absolute;top:8px;right:8px;bottom:8px;left:8px;border:1px solid #eee6d8;pointer-events:none}.wedding-page .wedding-detail{padding:10px 25px;position:relative;z-index:1;transition:transform .5s ease}.wedding-page .wedding-detail:hover{transform:translateY(-3px)}.wedding-page .detail-symbol{color:var(--gold);font-size:25px;margin-bottom:12px;transition:transform .5s ease}.wedding-page .wedding-detail:hover .detail-symbol{transform:translateY(-4px) scale(1.08)}.wedding-page .wedding-detail>span{color:var(--gold);font-size:8px;letter-spacing:.25em}.wedding-page .wedding-detail p{margin:0;color:var(--muted);font-size:11px;line-height:1.6}.wedding-page .location-detail .scratch-content.heading-style{font-size:22px}.wedding-page .location-detail .scratch-card-wrapper{max-width:280px}.wedding-page .detail-divider{height:80px;background:#ded4c4}.wedding-page .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}.wedding-page .outline-button:hover{background:var(--gold);color:#fff;transform:translateY(-2px)}.wedding-page .countdown-section{padding:85px 20px;text-align:center;background:#e8e4db}.wedding-page .countdown-section h2{margin:10px 0 25px;font-size:58px}.wedding-page .countdown{display:flex;justify-content:center;gap:clamp(15px,5vw,55px)}.wedding-page .count-item{min-width:70px;display:flex;flex-direction:column}.wedding-page .count-item strong{color:var(--gold);font:42px Cormorant Garamond}.wedding-page .count-item span{color:var(--muted);font-size:8px;letter-spacing:.15em;text-transform:uppercase}.wedding-page .story-section{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:9%;background:var(--paper)}.wedding-page .story-image{overflow:hidden}.wedding-page .story-image img{width:100%;height:570px;-o-object-fit:cover;object-fit:cover;transition:transform 1s ease}.wedding-page .story-image:hover img{transform:scale(1.04)}.wedding-page .story-copy{max-width:470px}.wedding-page .story-copy h2{font-size:68px;margin:10px 0 25px;line-height:.9}.wedding-page .story-copy p:not(.eyebrow){color:var(--muted);font-size:13px;line-height:2}.wedding-page .signature{color:var(--gold);font:38px Pinyon Script;margin-top:25px}.wedding-page .map-section{padding:100px 7%;background:#f0ece4;text-align:center}.wedding-page .map-card h2{font-size:58px;margin:10px 0}.wedding-page .map-card>p:not(.eyebrow){color:var(--muted);font-size:12px}.wedding-page .map-section iframe{display:block;width:100%;height:430px;margin:30px auto 20px;border:1px solid #d8cdbb;filter:grayscale(.8);transition:filter .5s ease}.wedding-page .map-section iframe:hover{filter:grayscale(.2)}.wedding-page .map-button{text-decoration:none}.wedding-page .schedule-section{background:var(--paper)}.wedding-page .timeline{max-width:700px;margin:auto}.wedding-page .timeline-item{display:grid;grid-template-columns:90px 22px 1fr;gap:18px;min-height:105px}.wedding-page .timeline-time{color:var(--gold);font-size:10px}.wedding-page .timeline-dot{width:9px;height:9px;border:1px solid var(--gold);border-radius:50%;position:relative;margin-top:4px}.wedding-page .timeline-dot:after{content:"";position:absolute;width:1px;height:105px;background:var(--line);left:3px;top:8px}.wedding-page .timeline-item:last-child .timeline-dot:after{display:none}.wedding-page .timeline-content h3{margin:0;font:25px Cormorant Garamond}.wedding-page .timeline-content p{color:var(--muted);font-size:11px}.wedding-page .split-section{display:grid;grid-template-columns:1fr 1fr}.wedding-page .split-card{padding:95px 12%;text-align:center}.wedding-page .split-card h2{font-size:65px;margin:10px 0 20px}.wedding-page .split-card>p:last-child{color:var(--muted);font-size:13px;line-height:1.9}.wedding-page .dress{background:#e7e9e0}.wedding-page .gift{background:#efe5d4}.wedding-page .dress-swatches{display:flex;justify-content:center;margin:25px 0}.wedding-page .dress-swatches span{width:32px;height:32px;border-radius:50%;margin-left:-5px;border:2px solid white}.wedding-page .dress-swatches span:nth-child(1){background:#b7b0a2}.wedding-page .dress-swatches span:nth-child(2){background:#a4ae99}.wedding-page .dress-swatches span:nth-child(3){background:#d3bf99}.wedding-page .dress-swatches span:nth-child(4){background:#f0e8da}.wedding-page .gift-icon{color:var(--gold);font-size:32px;margin:20px;animation:wedding-heartFloat 2.5s ease-in-out infinite}@keyframes wedding-heartFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.wedding-page .gallery-section{background:var(--paper)}.wedding-page .gallery-grid{max-width:1000px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:12px}.wedding-page .gallery-grid img{width:100%;height:370px;-o-object-fit:cover;object-fit:cover;transition:transform .6s ease,filter .6s ease}.wedding-page .gallery-grid img:hover{transform:scale(1.02);filter:brightness(1.04)}.wedding-page .gallery-grid img:nth-child(2),.wedding-page .gallery-grid img:nth-child(3){height:250px}.wedding-page .rsvp-section{background:#e9e5dc}.wedding-page .rsvp-card{max-width:620px;margin:auto;text-align:center;position:relative}.wedding-page .rsvp-card h2{font-size:68px;margin:10px 0}.wedding-page .rsvp-card form{display:grid;gap:11px;margin-top:30px}.wedding-page .rsvp-card input,.wedding-page .rsvp-card select,.wedding-page .rsvp-card textarea{width:100%;padding:14px;border:1px solid #d9d0c1;background:#fcfaf6;outline:none;transition:border-color .3s ease,box-shadow .3s ease}.wedding-page .rsvp-card input:focus,.wedding-page .rsvp-card select:focus,.wedding-page .rsvp-card textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px #9a805314}.wedding-page .rsvp-card textarea{resize:vertical}.wedding-page .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}.wedding-page .gold-button:hover{background:#80683f;transform:translateY(-2px)}.wedding-page .success-message{position:relative;overflow:hidden;margin-top:30px;padding:35px;background:#fcfaf6;border:1px solid var(--line);animation:wedding-successIn .7s ease both}@keyframes wedding-successIn{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.wedding-page .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}.wedding-page .floating-hearts-container{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1;overflow:hidden}.wedding-page .floating-heart{position:absolute;bottom:-20px;color:var(--gold-light);font-size:24px;opacity:0;animation:wedding-floatUpBurst 2s ease-in forwards}@keyframes wedding-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}}.wedding-page .footer{padding:75px 20px 30px;background:#44443d;color:#fff;text-align:center}.wedding-page .footer .ornament{color:#d4bf98;font-size:25px}.wedding-page .footer h2{font-size:62px;color:#ddcaa6;margin:10px}.wedding-page .footer>p{font-size:9px;letter-spacing:.2em}.wedding-page .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}.wedding-page .share-button:hover{background:#d5c09b;color:#44443d}.wedding-page .footer-note{opacity:.45;margin-top:45px!important}.wedding-page .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}.wedding-page .floating-share:hover{transform:translateY(-4px) rotate(5deg)}@media (max-width: 700px){.wedding-page{background:var(--paper)}.wedding-page .envelope-screen:before{top:10px;right:10px;bottom:10px;left:10px}.wedding-page .envelope-glow{width:280px;height:280px}.wedding-page .intro-copy{top:9%}.wedding-page .intro-copy h1{font-size:37px}.wedding-page .envelope{width:84vw;height:58vw;max-height:280px}.wedding-page .paper-content h2{font-size:37px}.wedding-page .wax-seal{width:52px;height:52px;font-size:19px}.wedding-page .paper-content b{font-size:6px}.wedding-page .navbar{height:60px;padding:0 18px}.wedding-page .menu-button{display:block}.wedding-page .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)}.wedding-page .nav-links.open{display:flex;animation:wedding-menuOpen .35s ease both}@keyframes wedding-menuOpen{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.wedding-page .nav-links button{text-align:left;padding:14px 5px;border-bottom:1px solid var(--line)}.wedding-page .music-toggle{right:12px;top:72px;padding:7px 10px;font-size:7px}.wedding-page .music-toggle span:last-child{display:none}.wedding-page .music-icon{width:30px;height:30px}.wedding-page .invitation-cover:before{top:14px;right:14px;bottom:14px;left:14px}.wedding-page .cover-inner{padding-top:45px}.wedding-page .cover-intro{font-size:27px}.wedding-page .cover-inner h1{font-size:91px}.wedding-page .cover-divider{margin:25px 0 14px}.wedding-page .cover-divider span{width:35px}.wedding-page .section{padding:72px 20px}.wedding-page .section-heading h2{font-size:55px}.wedding-page .wedding-details-box{grid-template-columns:1fr;padding:35px 18px;gap:0}.wedding-page .wedding-details-box:before{top:6px;right:6px;bottom:6px;left:6px}.wedding-page .wedding-detail{padding:30px 5px}.wedding-page .wedding-detail p{font-size:10px}.wedding-page .detail-divider{width:100px;height:1px;margin:auto}.wedding-page .scratch-card-wrapper{max-width:calc(100vw - 80px)}.wedding-page .scratch-content.heading-style{font-size:22px}.wedding-page .location-detail .scratch-content.heading-style{font-size:19px;line-height:1.1}.wedding-page .location-detail .scratch-card-wrapper{max-width:calc(100vw - 80px)}.wedding-page .countdown-section{padding:70px 15px}.wedding-page .countdown-section h2{font-size:48px}.wedding-page .countdown{gap:8px}.wedding-page .count-item{min-width:64px}.wedding-page .count-item strong{font-size:32px}.wedding-page .count-item span{font-size:7px}.wedding-page .story-section{grid-template-columns:1fr;gap:45px}.wedding-page .story-image img{height:400px}.wedding-page .story-copy{text-align:center}.wedding-page .story-copy h2{font-size:56px}.wedding-page .map-section{padding:72px 15px}.wedding-page .map-card h2{font-size:48px}.wedding-page .map-section iframe{height:350px}.wedding-page .timeline-item{grid-template-columns:65px 18px 1fr;gap:10px}.wedding-page .timeline-content h3{font-size:22px}.wedding-page .split-section{grid-template-columns:1fr}.wedding-page .split-card{padding:70px 25px}.wedding-page .split-card h2{font-size:55px}.wedding-page .gallery-grid{grid-template-columns:1fr 1fr;gap:7px}.wedding-page .gallery-grid img,.wedding-page .gallery-grid img:nth-child(2),.wedding-page .gallery-grid img:nth-child(3){height:220px}.wedding-page .rsvp-card h2{font-size:55px}.wedding-page .footer h2{font-size:52px}.wedding-page .floating-share{width:42px;height:42px;right:14px;bottom:14px}}@media (max-width: 380px){.wedding-page .cover-inner h1{font-size:78px}.wedding-page .cover-intro{font-size:24px}.wedding-page .count-item{min-width:55px}.wedding-page .count-item strong{font-size:28px}.wedding-page .countdown{gap:3px}.wedding-page .scratch-content.heading-style{font-size:19px}}@media (prefers-reduced-motion: reduce){.wedding-page *,.wedding-page *:before,.wedding-page *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.walima-page{--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;min-height:100vh;width:100%;font-family:var(--font-serif);background:var(--off-white);color:var(--text-main);overflow-x:hidden;-webkit-font-smoothing:antialiased}.walima-page,.walima-page *{box-sizing:border-box}.walima-page *{margin:0;padding:0}.walima-page{scroll-behavior:smooth}.walima-page button,.walima-page input,.walima-page textarea,.walima-page select{font:inherit}.walima-page img{max-width:100%}.walima-page: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:0}.walima-page>*{position:relative;z-index:1}body.locked{overflow:hidden}.walima-page .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}.walima-page .elegant-lock.is-unlocked{pointer-events:none;visibility:hidden;transition:visibility 0s linear 1.5s}.walima-page .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}.walima-page .lock-door:after{content:"";position:absolute;top:15px;right:15px;bottom:15px;left:15px;border:1px solid var(--border-color);pointer-events:none}.walima-page .door-left{left:0;border-right:1px solid var(--dusk);transform-origin:left;box-shadow:10px 0 30px #4a3b3c0d}.walima-page .door-right{right:0;border-left:1px solid var(--dusk);transform-origin:right;box-shadow:-10px 0 30px #4a3b3c0d}.walima-page .elegant-lock.is-unlocked .door-left{transform:translate(-100%)}.walima-page .elegant-lock.is-unlocked .door-right{transform:translate(100%)}.walima-page .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)}.walima-page .elegant-lock.is-unlocked .lock-center{opacity:0;transform:scale(1.3)}.walima-page .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:walimaFadeDown 1s ease both}.walima-page .lock-names i{font-style:italic;font-size:.8em;color:var(--dusk);font-family:var(--font-script)}.walima-page .lock-seal{position:relative;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:walimaPopIn 1s cubic-bezier(.34,1.56,.64,1) .3s both,walimaFloatSeal 4s ease-in-out infinite}.walima-page .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%}.walima-page .lock-seal:hover{transform:scale(1.1) rotate(5deg)}.walima-page .lock-hint{margin-top:30px;font-family:var(--font-sans);font-size:.65rem;letter-spacing:.4em;text-transform:uppercase;color:var(--text-muted);animation:walimaFadeUp 1s ease .6s both}@keyframes walimaFadeDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes walimaPopIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes walimaFadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes walimaFloatSeal{50%{transform:translateY(-5px)}}@keyframes walimaScrollDrop{0%{transform:translateY(-100%)}to{transform:translateY(200%)}}.walima-page .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}.walima-page .audio-toggle-btn.is-visible{opacity:1;pointer-events:auto;transform:translateY(0)}.walima-page .audio-toggle-btn:hover{transform:scale(1.1);background:var(--ivory)}.walima-page .audio-icon{font-size:1.3rem;line-height:1}.walima-page .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}.walima-page .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)}.walima-page .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}.walima-page .main-content{opacity:0;transition:opacity 1.5s ease}.walima-page .main-content.visible{opacity:1}.walima-page .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}.walima-page .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}.walima-page .hero-pure-content{position:relative;z-index:2;text-align:center;color:var(--ivory);padding:0 20px;width:100%;max-width:800px}.walima-page .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)}.walima-page .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}.walima-page .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)}.walima-page .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)}.walima-page .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}.walima-page .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)}.walima-page .scroll-line{width:1px;height:60px;background:rgba(255,255,255,.2);position:relative;overflow:hidden}.walima-page .scroll-line:after{content:"";position:absolute;top:0;left:0;width:100%;height:50%;background:var(--dusk-light);animation:walimaScrollDrop 2s cubic-bezier(.77,0,.17,1) infinite}.walima-page .modern-reveal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;width:100%;max-width:1080px;margin:0 auto}.walima-page .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}.walima-page .mrc-card:hover,.walima-page .mrc-card.is-active{transform:translateY(-8px);box-shadow:0 25px 50px #b88b8d26;border-color:#b88b8d80}.walima-page .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}.walima-page .mrc-card:hover .mrc-glow,.walima-page .mrc-card.is-active .mrc-glow{transform:translate(-50%,-50%) scale(1)}.walima-page .mrc-content-front,.walima-page .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}.walima-page .mrc-content-front{transform:translateY(0);opacity:1}.walima-page .mrc-icon{font-size:2.2rem;color:var(--dusk-dark);margin-bottom:1.2rem;transition:transform .5s ease}.walima-page .mrc-title{font-family:var(--font-sans);font-size:.85rem;letter-spacing:.35em;text-transform:uppercase;color:var(--text-main);font-weight:500}.walima-page .mrc-hint{font-family:var(--font-serif);font-size:1.1rem;font-style:italic;color:var(--text-muted);margin-top:.8rem;opacity:.7}.walima-page .mrc-content-back{transform:translateY(40px);opacity:0;pointer-events:none}.walima-page .mrc-main-text{font-family:var(--font-serif);font-size:2rem;color:var(--text-main);line-height:1.1;margin-bottom:.8rem}.walima-page .mrc-sub-text{font-family:var(--font-sans);font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;color:var(--dusk-dark)}.walima-page .mrc-card:hover .mrc-content-front,.walima-page .mrc-card.is-active .mrc-content-front{transform:translateY(-40px);opacity:0}.walima-page .mrc-card:hover .mrc-content-back,.walima-page .mrc-card.is-active .mrc-content-back{transform:translateY(0);opacity:1;pointer-events:auto}.walima-page .mrc-card:hover .mrc-icon,.walima-page .mrc-card.is-active .mrc-icon{transform:scale(.8)}.walima-page .gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:20px;max-width:1000px;margin:0 auto}.walima-page .gal-item{border-radius:18px;overflow:hidden;border:1px solid var(--border-color);box-shadow:0 15px 40px #4a3b3c0f;position:relative}.walima-page .gal-img{display:block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .8s ease}.walima-page .gal-item:hover .gal-img{transform:scale(1.05)}.walima-page .gal-1{grid-column:1 / 8;aspect-ratio:16 / 10}.walima-page .gal-2{grid-column:8 / 13;aspect-ratio:3 / 4}.walima-page .gal-3{grid-column:1 / 6;aspect-ratio:3 / 4}.walima-page .gal-4{grid-column:6 / 13;aspect-ratio:16 / 10}.walima-page .section{padding:7rem 1.5rem;max-width:1080px;margin:0 auto;text-align:center}.walima-page .section-narrow{max-width:800px;margin:0 auto}.walima-page .section-header{margin-bottom:3.5rem;display:flex;flex-direction:column;align-items:center;gap:.5rem}.walima-page .serif-heading{font-family:var(--font-serif);font-size:clamp(2rem,4vw,3rem);color:var(--text-main)}.walima-page .sans-sub{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.2em;font-size:.75rem;color:var(--text-muted)}.walima-page p{line-height:1.8;color:var(--text-muted);font-size:1.1rem}.walima-page .divider{display:flex;align-items:center;gap:1rem;margin:2rem auto;width:-moz-fit-content;width:fit-content;opacity:.8}.walima-page .divider:before,.walima-page .divider:after{content:"";width:64px;height:1px;background:linear-gradient(90deg,transparent,var(--dusk))}.walima-page .divider:after{background:linear-gradient(90deg,var(--dusk),transparent)}.walima-page .divider-icon{color:var(--dusk);font-size:1rem}.walima-page .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}.walima-page .count-box{display:flex;flex-direction:column;align-items:center;min-width:70px}.walima-page .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}.walima-page .timeline{position:relative;max-width:800px;margin:0 auto;padding:2rem 0;text-align:left}.walima-page .timeline:before{content:"";position:absolute;left:24px;top:0;bottom:0;width:1px;background:linear-gradient(to bottom,transparent,var(--dusk),transparent)}.walima-page .timeline-item{position:relative;padding-left:60px;margin-bottom:3rem;display:flex;flex-direction:column}.walima-page .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}.walima-page .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}.walima-page .timeline-content:hover{transform:translateY(-5px);border-color:#b88b8d80}.walima-page .timeline-time{font-family:var(--font-serif);font-style:italic;color:var(--dusk-dark);font-size:1.4rem;margin-bottom:.5rem}.walima-page .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}.walima-page .timeline-content p{font-size:1rem;margin:0;color:var(--text-muted)}.walima-page .info-flex-container{display:flex;flex-wrap:wrap;gap:3rem;justify-content:center;margin-bottom:4rem}.walima-page .info-flex-item{flex:1 1 250px;max-width:350px}.walima-page .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}.walima-page .map-container iframe{width:100%;height:100%;border:none;filter:grayscale(10%) sepia(20%) hue-rotate(-20deg)}.walima-page .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}.walima-page .rsvp-form{display:flex;flex-direction:column;gap:2.5rem;margin-top:2rem}.walima-page .input-group{width:100%;position:relative}.walima-page .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)}.walima-page .rsvp-input:focus{border-bottom-color:var(--dusk-dark)}.walima-page .rsvp-input::-moz-placeholder{color:var(--text-muted);font-family:var(--font-sans);font-size:.75rem;text-transform:uppercase;letter-spacing:.1em}.walima-page .rsvp-input::placeholder{color:var(--text-muted);font-family:var(--font-sans);font-size:.75rem;text-transform:uppercase;letter-spacing:.1em}.walima-page .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}.walima-page .btn-elegant:hover{transform:translateY(-2px);background:var(--dusk);color:var(--ivory)}.walima-page .footer{padding:4rem 1.5rem;text-align:center;border-top:1px solid var(--border-color)}.walima-page .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)}.walima-page .reveal-on-scroll.is-visible{opacity:1;transform:translateY(0)}@media (min-width: 768px){.walima-page .timeline:before{left:50%;transform:translate(-50%)}.walima-page .timeline-item{padding-left:0;flex-direction:row;justify-content:space-between;align-items:center}.walima-page .timeline-item:nth-child(2n){flex-direction:row-reverse}.walima-page .timeline-dot{left:50%;transform:translate(-50%);top:50%;margin-top:-7px}.walima-page .timeline-content{width:44%}.walima-page .timeline-item:nth-child(2n) .timeline-content{text-align:right}}@media (max-width: 768px){.walima-page .audio-toggle-btn{bottom:20px;right:20px;width:45px;height:45px}.walima-page .audio-icon{font-size:1.1rem}.walima-page .hero-full-bg{background-attachment:scroll}.walima-page .gallery-grid{grid-template-columns:1fr;gap:15px}.walima-page .gal-1,.walima-page .gal-2,.walima-page .gal-3,.walima-page .gal-4{grid-column:1 / -1;aspect-ratio:4 / 3;height:auto}.walima-page .section{padding:4rem 1.2rem}.walima-page .hero-title-pure h1{font-size:clamp(3rem,15vw,4.5rem)}.walima-page .hero-title-pure .ampersand{font-size:2.5rem}.walima-page .rsvp-section{padding:3rem 1.5rem}.walima-page .countdown-wrapper{gap:1rem;padding:1.5rem .5rem}.walima-page .count-num{font-size:2rem}.walima-page .navbar-glass-pill{width:90%;max-width:320px;padding:10px 20px}.walima-page .modern-reveal-grid{gap:1rem}.walima-page .mrc-card{height:220px}.walima-page .lock-seal{width:70px;height:70px;font-size:1.4rem}.walima-page .lock-names{font-size:1.8rem}}
