*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{background:#080e1c;color:#e8e0d2;font-family:Cormorant Garamond,Georgia,serif;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::selection{background:#c9a84c4d;color:#fff}button{cursor:pointer;border:none;background:none;font:inherit;color:inherit}.eyebrow{font-family:Montserrat,sans-serif;font-size:10px;font-weight:500;letter-spacing:4.5px;text-transform:uppercase;color:#c9a84c}.heading-xl{font-family:Playfair Display,serif;font-size:clamp(36px,8vw,72px);font-weight:700;line-height:1.1;color:#f5f0e8}.heading-md{font-family:Playfair Display,serif;font-size:clamp(22px,4.5vw,38px);font-weight:600;line-height:1.25;color:#f5f0e8}.body-lg{font-family:Cormorant Garamond,serif;font-size:clamp(18px,3vw,24px);font-weight:400;line-height:1.75;color:#c8bfb0}.body-md{font-family:Cormorant Garamond,serif;font-size:clamp(16px,2.5vw,20px);font-weight:400;line-height:1.7;color:#a89e90}.text-center{text-align:center}.gold-sep{width:80px;height:1px;background:linear-gradient(90deg,transparent,#c9a84c,transparent);margin:0 auto}.gold-sep-short{width:40px;height:1px;background:linear-gradient(90deg,transparent,#c9a84c88,transparent);margin:0 auto}.stars-layer{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;overflow:hidden}.stars-layer .star{position:absolute;background:radial-gradient(circle,#c9a84c,transparent 70%);border-radius:50%;animation:twinkle var(--dur) ease-in-out infinite alternate;animation-delay:var(--delay)}@keyframes twinkle{0%{opacity:.15;transform:scale(.6)}to{opacity:.9;transform:scale(1.3)}}.butterfly-float{position:fixed;pointer-events:none;z-index:1;opacity:0;animation:flyAcross var(--fly-dur, 18s) linear var(--fly-delay, 0s) infinite}@keyframes flyAcross{0%{transform:translate(-60px,var(--fly-y, 40vh)) rotate(0);opacity:0}5%{opacity:.3}50%{transform:translate(50vw,calc(var(--fly-y, 40vh) - 60px)) rotate(5deg);opacity:.25}95%{opacity:.3}to{transform:translate(105vw,var(--fly-y, 40vh)) rotate(-3deg);opacity:0}}.butterfly-float svg{width:28px;height:28px;fill:#c9a84c;animation:wingFlap .4s ease-in-out infinite alternate}@keyframes wingFlap{0%{transform:scaleX(1)}to{transform:scaleX(.3)}}.reveal{opacity:0;transform:translateY(40px);transition:opacity .9s cubic-bezier(.22,1,.36,1),transform .9s cubic-bezier(.22,1,.36,1)}.reveal.visible{opacity:1;transform:translateY(0)}.envelope-opener{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;align-items:center;justify-content:center;background:#080e1c;transition:opacity .8s ease,visibility .8s ease}.envelope-opener.leaving{opacity:0;visibility:hidden;pointer-events:none}.envelope-scene{position:relative;z-index:2;text-align:center}.envelope-wrap{position:relative;cursor:pointer;transition:transform .3s;-webkit-tap-highlight-color:transparent}.envelope-wrap:hover{transform:scale(1.03)}.env-body-area{position:relative}.env-body{width:clamp(300px,80vw,400px);height:200px;background:linear-gradient(170deg,#f5f0e8,#ede6d8);border-radius:0 0 14px 14px;position:relative;z-index:3;box-shadow:0 10px 40px #0006;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:6px}.env-body:after{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(201,168,76,.3),transparent)}.env-label{font-family:Playfair Display,serif;font-size:17px;font-style:italic;color:#1a2a4e}.env-sublabel{font-family:Montserrat,sans-serif;font-size:9px;letter-spacing:2.5px;text-transform:uppercase;color:#8a7a60}.env-flap{position:absolute;top:-120px;left:0;width:100%;height:140px;transform-origin:bottom center;z-index:4;transition:transform .7s cubic-bezier(.45,.05,.55,.95)}.env-flap:before{content:"";position:absolute;bottom:0;left:0;width:0;height:0;border-left:calc(clamp(300px,80vw,400px)/2) solid transparent;border-right:calc(clamp(300px,80vw,400px)/2) solid transparent;border-bottom:130px solid #e8e0d0}.envelope-wrap.open .env-flap{transform:rotateX(180deg)}.env-seal{position:absolute;top:-20px;left:50%;transform:translate(-50%);width:52px;height:52px;background:radial-gradient(circle at 35% 35%,#d4a853,#b8922e);border-radius:50%;z-index:5;display:flex;align-items:center;justify-content:center;box-shadow:0 3px 16px #b48c2866,inset 0 1px 3px #ffffff4d;transition:opacity .4s ease .3s}.envelope-wrap.open .env-seal{opacity:0}.env-seal svg{width:24px;height:24px;fill:#f5f0e8}.env-inner-l,.env-inner-r{position:absolute;bottom:0;z-index:2}.env-inner-l{left:0;border-bottom:120px solid #e2dace;border-right:calc(clamp(300px,80vw,400px)/2) solid transparent}.env-inner-r{right:0;border-bottom:120px solid #dfd7c9;border-left:calc(clamp(300px,80vw,400px)/2) solid transparent}.env-hint{position:absolute;bottom:-48px;left:0;right:0;text-align:center;font-family:Montserrat,sans-serif;font-size:10px;letter-spacing:2.5px;text-transform:uppercase;color:#c9a84c80;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.3}50%{opacity:.9}}.experience{position:relative;z-index:2}.section-inner{max-width:640px;margin:0 auto;padding:0 24px}.hero{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:0 24px;position:relative;overflow:hidden}.hero-glow{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 50% 60%,rgba(26,42,78,.5) 0%,transparent 70%);pointer-events:none}.hero-butterfly{margin-bottom:24px;animation:gentleFloat 4s ease-in-out infinite}.hero-butterfly svg{width:48px;height:48px}@keyframes gentleFloat{0%,to{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-12px) rotate(2deg)}}.hero .eyebrow,.hero .heading-xl{margin-bottom:16px}.hero-tagline{font-family:Cormorant Garamond,serif;font-size:clamp(16px,3vw,22px);font-style:italic;color:#8a7e6e;font-weight:300;max-width:360px}.scroll-indicator{position:absolute;bottom:36px;display:flex;flex-direction:column;align-items:center;gap:8px;animation:fadeInUp 1.5s ease 2s both}.scroll-indicator span{font-family:Montserrat,sans-serif;font-size:9px;letter-spacing:3px;text-transform:uppercase;color:#c9a84c80}.scroll-arrow{width:20px;height:20px;border-right:1.5px solid rgba(201,168,76,.4);border-bottom:1.5px solid rgba(201,168,76,.4);transform:rotate(45deg);animation:bounceDown 2s ease-in-out infinite}@keyframes bounceDown{0%,to{transform:rotate(45deg) translateY(0);opacity:.4}50%{transform:rotate(45deg) translateY(6px);opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.narrative{padding:80px 0 100px}.narrative-paragraph{text-align:center;max-width:520px;margin:0 auto 32px}.narrative-quote{font-family:Playfair Display,serif;font-size:clamp(20px,4vw,32px);font-style:italic;font-weight:400;color:#c9a84c;text-align:center;line-height:1.5;padding:32px 0;position:relative}.narrative-quote:before{content:"“";font-size:60px;color:#c9a84c26;font-family:Georgia,serif;position:absolute;top:4px;left:50%;transform:translate(-70px);line-height:1}.narrative-quote:after{content:"”";font-size:60px;color:#c9a84c26;font-family:Georgia,serif;position:absolute;bottom:4px;right:50%;transform:translate(70px);line-height:1}.narrative-accent{font-family:Playfair Display,serif;font-size:clamp(18px,3.5vw,28px);font-style:italic;color:#c9a84c;text-align:center;padding:24px 0}.invitation-section{padding:40px 24px 80px;display:flex;justify-content:center}.inv-card{width:100%;max-width:460px;background:linear-gradient(175deg,#faf7f0,#f5f0e8 30%,#f0ebe0);border-radius:20px;padding:clamp(36px,6vw,56px) clamp(28px,5vw,48px);position:relative;overflow:hidden;box-shadow:0 0 0 1px #c9a84c1f,0 4px 16px #0003,0 24px 80px #00000059,0 0 120px #1a2a4e26}.inv-card:before{content:"";position:absolute;top:10px;right:10px;bottom:10px;left:10px;border:1px solid rgba(201,168,76,.2);border-radius:14px;pointer-events:none}.inv-card .eyebrow{color:#b8922e}.inv-corner{position:absolute;width:36px;height:36px;pointer-events:none}.inv-corner--tl{top:18px;left:18px;border-top:1.5px solid #c9a84c;border-left:1.5px solid #c9a84c;border-radius:3px 0 0}.inv-corner--tr{top:18px;right:18px;border-top:1.5px solid rgba(201,168,76,.45);border-right:1.5px solid rgba(201,168,76,.45);border-radius:0 3px 0 0}.inv-corner--bl{bottom:18px;left:18px;border-bottom:1.5px solid rgba(201,168,76,.45);border-left:1.5px solid rgba(201,168,76,.45);border-radius:0 0 0 3px}.inv-corner--br{bottom:18px;right:18px;border-bottom:1.5px solid #c9a84c;border-right:1.5px solid #c9a84c;border-radius:0 0 3px}.inv-watermark{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);opacity:.035;pointer-events:none}.inv-watermark svg{width:220px;height:220px;fill:#1a2a4e}.inv-title{font-family:Playfair Display,serif;font-size:clamp(24px,5vw,32px);font-weight:700;color:#1a2a4e;text-align:center;line-height:1.2;margin-bottom:4px}.inv-subtitle{text-align:center;margin-bottom:28px}.inv-gold-line{width:60px;height:1px;background:linear-gradient(90deg,transparent,#c9a84c,transparent);margin:0 auto 24px}.inv-for{font-family:Playfair Display,serif;font-size:13px;color:#8a7a60;text-align:center;letter-spacing:.5px;margin-bottom:2px}.inv-name{font-family:Playfair Display,serif;font-size:clamp(24px,5vw,30px);font-weight:600;font-style:italic;color:#1a2a4e;text-align:center;margin-bottom:28px}.inv-message{font-family:Cormorant Garamond,serif;font-size:clamp(16px,2.8vw,19px);color:#3a3a3a;text-align:center;line-height:1.7;margin-bottom:32px;padding:0 4px}.inv-info-row{display:flex;gap:12px;margin-bottom:14px}.inv-info-block{flex:1;text-align:center;padding:18px 10px;background:#1a2a4e09;border-radius:12px;border:1px solid rgba(201,168,76,.1)}.inv-info-block.full{width:100%;margin-bottom:14px;flex:unset}.inv-info-label{font-family:Montserrat,sans-serif;font-size:9px;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:#b8922e;margin-bottom:8px}.inv-info-value{font-family:Playfair Display,serif;font-size:17px;font-weight:600;color:#1a2a4e;line-height:1.3}.inv-info-value small{display:block;font-family:Cormorant Garamond,serif;font-size:13px;font-weight:400;color:#6a6a6a;margin-top:3px}.inv-occasion{text-align:center;margin:24px 0;padding:0 4px}.inv-occasion-label{font-family:Montserrat,sans-serif;font-size:9px;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:#b8922e;margin-bottom:12px}.inv-occasion-text{font-family:Cormorant Garamond,serif;font-size:clamp(15px,2.5vw,17px);font-style:italic;color:#4a4a4a;line-height:1.7}.inv-mystery{font-family:Cormorant Garamond,serif;font-size:14.5px;color:#7a7a7a;text-align:center;line-height:1.65;margin:20px 0 28px;font-style:italic}.inv-important{background:#1a2a4e0a;border:1px solid rgba(201,168,76,.15);border-radius:12px;padding:22px 20px;margin:24px 0;text-align:center}.inv-important .inv-info-label{margin-bottom:12px}.inv-important-text{font-family:Cormorant Garamond,serif;font-size:15px;color:#4a4a4a;line-height:1.65}.inv-signature{text-align:center;margin-top:32px;padding-top:24px;border-top:1px solid rgba(201,168,76,.12)}.inv-sig-closing{font-family:Cormorant Garamond,serif;font-size:16px;font-style:italic;color:#6a6a6a}.inv-sig-name{font-family:Playfair Display,serif;font-size:17px;font-style:italic;color:#1a2a4e;margin-top:4px}.inv-sig-icon{margin-top:10px;opacity:.45}.piece-reveal-section{padding:60px 24px 80px}.piece-reveal-btn{display:block;margin:32px auto 0;padding:0;-webkit-tap-highlight-color:transparent}.piece-reveal-box{width:200px;height:200px;background:#c9a84c0f;border:2px dashed rgba(201,168,76,.25);border-radius:20px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;transition:all .4s ease}.piece-reveal-box:hover{border-color:#c9a84c;background:#c9a84c1a;transform:scale(1.03)}.piece-reveal-front span{font-family:Montserrat,sans-serif;font-size:10px;letter-spacing:2px;text-transform:uppercase;color:#c9a84c99;display:block;margin-top:12px}.piece-reveal-box.flipping{animation:flipCard .6s ease}@keyframes flipCard{0%{transform:rotateY(0)}50%{transform:rotateY(90deg)}to{transform:rotateY(0)}}.piece-revealed-card{max-width:360px;margin:32px auto 0;background:#c9a84c0f;border:1px solid rgba(201,168,76,.2);border-radius:20px;padding:36px 28px;text-align:center}.piece-emoji{font-size:36px;display:block;margin-bottom:8px}.piece-big-letter{font-family:Playfair Display,serif;font-size:64px;font-weight:800;background:linear-gradient(135deg,#c9a84c,#e8d48a,#c9a84c);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;display:block;line-height:1}.piece-reveal-title{font-family:Playfair Display,serif;font-size:18px;color:#f5f0e8;margin:12px 0 8px}.piece-reveal-msg{font-family:Cormorant Garamond,serif;font-size:16px;font-style:italic;color:#a89e90;line-height:1.6}.piece-hint{font-family:Montserrat,sans-serif;font-size:10px;letter-spacing:2px;text-transform:uppercase;color:#c9a84c80;margin-top:16px}.pieces-section{padding:60px 0 80px;background:linear-gradient(180deg,transparent,rgba(26,42,78,.06) 30%,rgba(26,42,78,.06) 70%,transparent)}.pieces-header{margin-bottom:48px}.pieces-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;max-width:600px;margin:0 auto;padding:0 24px}.mini-envelope{border-radius:16px;padding:24px 20px;text-align:center;transition:all .4s ease;-webkit-tap-highlight-color:transparent}.mini-envelope--closed{background:#f5f0e80a;border:1.5px solid rgba(201,168,76,.15);cursor:pointer}.mini-envelope--closed:hover{border-color:#c9a84c59;background:#f5f0e812;transform:translateY(-2px)}.mini-envelope--locked{background:#f5f0e805;border:1.5px dashed rgba(201,168,76,.08);opacity:.4}.mini-envelope--input{background:#c9a84c0f;border:1.5px solid rgba(201,168,76,.3)}.mini-envelope--input.shake{animation:shake .4s ease}.mini-envelope--open{background:#c9a84c14;border:1.5px solid rgba(201,168,76,.25)}.mini-env-front{display:flex;flex-direction:column;align-items:center;gap:6px}.mini-env-num{font-family:Montserrat,sans-serif;font-size:9px;font-weight:600;letter-spacing:3px;color:#c9a84c}.mini-env-emoji{font-size:28px}.mini-env-title{font-family:Playfair Display,serif;font-size:15px;color:#e8e0d2}.mini-env-status{font-family:Montserrat,sans-serif;font-size:9px;letter-spacing:2px;text-transform:uppercase;color:#c9a84c4d}.mini-env-tap{font-family:Montserrat,sans-serif;font-size:9px;letter-spacing:2px;text-transform:uppercase;color:#c9a84c80;animation:pulse 2s ease-in-out infinite}.mini-env-hint{font-family:Cormorant Garamond,serif;font-size:15px;font-style:italic;color:#a89e90;margin:8px 0 16px}.mini-env-form{display:flex;gap:10px;justify-content:center;align-items:center}.mini-env-input{width:56px;height:56px;background:#f5f0e80f;border:1.5px solid rgba(201,168,76,.3);border-radius:12px;text-align:center;font-family:Playfair Display,serif;font-size:28px;font-weight:700;color:#c9a84c;text-transform:uppercase;outline:none;-moz-appearance:none;appearance:none;-webkit-appearance:none}.mini-env-input:focus{border-color:#c9a84c;box-shadow:0 0 16px #c9a84c33}.mini-env-submit{font-family:Montserrat,sans-serif;font-size:11px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:#080e1c;background:#c9a84c;border:none;border-radius:10px;padding:14px 20px;cursor:pointer;transition:background .3s}.mini-env-submit:hover{background:#d4b65c}.mini-env-cancel{font-family:Montserrat,sans-serif;font-size:9px;letter-spacing:2px;text-transform:uppercase;color:#c9a84c66;margin-top:12px;background:none;border:none;cursor:pointer}.mini-env-revealed{display:flex;flex-direction:column;align-items:center;gap:4px}.mini-env-big-letter{font-family:Playfair Display,serif;font-size:48px;font-weight:800;background:linear-gradient(135deg,#c9a84c,#e8d48a,#c9a84c);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1}.mini-env-reveal-emoji{font-size:24px}.mini-env-message{font-family:Cormorant Garamond,serif;font-size:15px;font-style:italic;color:#a89e90;line-height:1.6;margin-top:8px}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-4px)}40%{transform:translate(4px)}60%{transform:translate(-3px)}80%{transform:translate(3px)}}.puzzle-section{padding:60px 0 80px}.word-guess-header{margin-bottom:40px}.word-guess-form{max-width:400px;margin:0 auto;text-align:center;padding:0 24px}.word-guess-input{width:100%;padding:18px 20px;background:#f5f0e80d;border:1.5px solid rgba(201,168,76,.2);border-radius:14px;text-align:center;font-family:Playfair Display,serif;font-size:clamp(20px,4vw,28px);font-weight:600;color:#c9a84c;letter-spacing:4px;text-transform:uppercase;outline:none;transition:all .4s ease;-moz-appearance:none;appearance:none;-webkit-appearance:none;margin-bottom:16px}.word-guess-input::placeholder{color:#c9a84c33;font-weight:400;letter-spacing:1px;font-size:clamp(14px,2.5vw,18px)}.word-guess-input:focus{border-color:#c9a84c;background:#c9a84c0f;box-shadow:0 0 24px #c9a84c1f}.word-guess-input.error{border-color:#8b3a3a;animation:shake .4s ease}.word-guess-btn{font-family:Montserrat,sans-serif;font-size:12px;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:#080e1c;background:#c9a84c;border:none;border-radius:12px;padding:16px 40px;cursor:pointer;transition:all .3s;width:100%}.word-guess-btn:hover:not(:disabled){background:#d4b65c;transform:translateY(-1px)}.word-guess-btn:disabled{opacity:.4;cursor:default}.word-guess-error{font-family:Cormorant Garamond,serif;font-size:15px;color:#c97a7a;font-style:italic;margin-top:16px}.word-guessed-badge{display:flex;flex-direction:column;align-items:center;gap:8px;padding:32px;background:#c9a84c0f;border:1px solid rgba(201,168,76,.2);border-radius:20px;max-width:360px;margin:0 auto}.word-guessed-word{font-family:Playfair Display,serif;font-size:36px;font-weight:800;color:#c9a84c;letter-spacing:4px}.word-guessed-check{font-size:24px;color:#c9a84c}.countdown-section{padding:60px 24px 100px}.countdown-card{max-width:480px;margin:0 auto;background:#c9a84c0a;border:1px solid rgba(201,168,76,.15);border-radius:20px;padding:40px 28px;text-align:center}.countdown-emoji{font-size:40px;display:block;margin-bottom:16px}.countdown-title{font-family:Playfair Display,serif;font-size:clamp(24px,5vw,32px);font-weight:700;color:#f5f0e8;margin-bottom:12px}.countdown-message{font-family:Cormorant Garamond,serif;font-size:18px;color:#c8bfb0;line-height:1.6;margin-bottom:8px}.countdown-locked{font-family:Cormorant Garamond,serif;font-size:16px;font-style:italic;color:#a89e90;line-height:1.6;margin-bottom:8px}.countdown-label{font-family:Montserrat,sans-serif;font-size:10px;letter-spacing:2px;text-transform:uppercase;color:#c9a84c;margin:24px 0 20px}.countdown-timer{display:flex;justify-content:center;align-items:center;gap:8px}.countdown-unit{text-align:center}.countdown-number{font-family:Playfair Display,serif;font-size:clamp(32px,8vw,48px);font-weight:700;color:#c9a84c;display:block;line-height:1.1}.countdown-unit-label{font-family:Montserrat,sans-serif;font-size:9px;letter-spacing:2px;text-transform:uppercase;color:#c9a84c66}.countdown-sep{font-family:Playfair Display,serif;font-size:32px;color:#c9a84c4d;margin-top:-12px}.tuesday-section{padding:40px 24px 80px}.tuesday-card{max-width:520px;margin:0 auto 32px;background:#f5f0e80a;border:1px solid rgba(201,168,76,.12);border-radius:20px;padding:36px 28px}.tuesday-piece-card{text-align:center}.tuesday-big-letter{font-family:Playfair Display,serif;font-size:72px;font-weight:800;background:linear-gradient(135deg,#c9a84c,#e8d48a 40%,#c9a84c 60%,#a88530);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;display:block;line-height:1;margin:12px 0}.tuesday-piece-index{font-family:Montserrat,sans-serif;font-size:10px;letter-spacing:3px;color:#c9a84c80;display:block;margin-bottom:16px}.tuesday-piece-msg{font-family:Cormorant Garamond,serif;font-size:17px;font-style:italic;color:#a89e90;line-height:1.65}.unlock-word{font-family:Playfair Display,serif;font-size:clamp(40px,10vw,80px);font-weight:800;background:linear-gradient(135deg,#c9a84c,#e8d48a 40%,#c9a84c 60%,#a88530);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:6px;animation:shimmer 3s ease-in-out infinite;background-size:200% 100%}@keyframes shimmer{0%{background-position:100% 0}50%{background-position:0% 0}to{background-position:100% 0}}.unlock-heart{font-size:48px;animation:heartPulse 1.5s ease-in-out infinite;display:inline-block}@keyframes heartPulse{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.tuesday-destination{text-align:center}.destination-hints{margin:20px 0}.destination-hint{font-family:Cormorant Garamond,serif;font-size:17px;font-style:italic;color:#c8bfb0;line-height:1.6;margin-bottom:12px;opacity:0;animation:fadeInUp .6s ease forwards}.destination-hint-icon{color:#c9a84c;margin-right:8px}.destination-reveal{font-family:Playfair Display,serif;font-size:18px;font-weight:600;color:#c9a84c;font-style:italic}.tuesday-dinner{text-align:center}.carta-header-inv{display:flex;align-items:center;gap:10px;margin-bottom:24px}.carta-body-inv{background:#f5f0e80f;border-radius:14px;padding:28px 24px}.carta-body-inv p{font-family:Cormorant Garamond,serif;font-size:16px;color:#c8bfb0;line-height:1.7;margin-bottom:16px}.carta-body-inv p:last-of-type{margin-bottom:0}.carta-greeting-inv{font-family:Playfair Display,serif;font-size:20px;color:#f5f0e8;display:block;margin-bottom:20px}.carta-closing-inv{font-family:Cormorant Garamond,serif;font-size:17px;color:#c9a84c;display:block;margin-top:24px}.carta-sig-inv{font-family:Playfair Display,serif;font-size:15px;font-style:italic;color:#8a7e6e;margin-top:8px}.celebration{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:100}.celebration span{position:absolute;animation:confettiFall var(--fall-dur, 4s) ease-in var(--fall-delay, 0s) forwards;opacity:0}@keyframes confettiFall{0%{opacity:1;transform:translateY(-20px) rotate(0) scale(0)}10%{opacity:1;transform:translateY(0) rotate(30deg) scale(1)}to{opacity:0;transform:translateY(100vh) rotate(720deg) scale(.5)}}@media(max-width:480px){.narrative{padding:60px 0 70px}.narrative-paragraph{margin-bottom:24px}.narrative-quote:before,.narrative-quote:after{display:none}.narrative-quote{font-size:clamp(18px,5vw,24px);padding:24px 8px}.invitation-section{padding:32px 16px 60px}.inv-card{padding:32px 24px}.inv-info-row{flex-direction:column;gap:10px}.piece-reveal-section{padding:48px 16px 60px}.piece-reveal-box{width:160px;height:160px}.pieces-section{padding:48px 0 60px}.pieces-grid{padding:0 16px;gap:12px;grid-template-columns:1fr}.mini-envelope{padding:20px 16px}.mini-env-input{width:48px;height:48px;font-size:24px}.puzzle-section{padding:48px 0 60px}.word-guess-form{padding:0 16px}.word-guess-input{padding:14px 16px;font-size:20px}.countdown-section{padding:48px 16px 80px}.countdown-card{padding:32px 20px}.tuesday-section{padding:32px 16px 60px}.tuesday-card{padding:28px 20px}.carta-body-inv{padding:22px 18px}.tuesday-big-letter{font-size:56px}}@media(max-width:360px){.hero .heading-xl{font-size:32px}.inv-card{padding:28px 20px}.piece-big-letter{font-size:48px}.piece-revealed-card{padding:28px 20px}.countdown-number{font-size:28px}.tuesday-big-letter{font-size:44px}}.photo-frame{max-width:360px;margin:48px auto;padding:10px 10px 32px;background:#faf7f0;border-radius:4px;box-shadow:0 8px 40px #00000059,0 2px 8px #0003;transform:rotate(var(--rotate, 0deg));transition:transform .4s ease}.photo-frame:hover{transform:rotate(0) scale(1.02)}.photo-img{width:100%;display:block;border-radius:2px;aspect-ratio:auto}.photo-caption{font-family:Cormorant Garamond,serif;font-size:14px;font-style:italic;color:#6b6155;text-align:center;margin-top:12px;padding:0 8px}@media(max-width:480px){.photo-frame{max-width:280px;margin:36px auto;padding:8px 8px 24px}.photo-caption{font-size:13px}}.carousel-section{padding:32px 0 48px;overflow:hidden}.carousel-title{font-family:Cormorant Garamond,serif;font-size:16px;text-transform:uppercase;letter-spacing:3px;color:#c9a84c;text-align:center;margin-bottom:24px;opacity:.8}.photo-carousel{width:100%;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.photo-carousel::-webkit-scrollbar{display:none}.photo-carousel-track{display:flex;gap:20px;padding:16px 32px;width:max-content}.photo-carousel-item{flex-shrink:0}.photo-frame-mini{width:200px;padding:8px 8px 24px;background:#faf7f0;border-radius:4px;box-shadow:0 6px 28px #0000004d,0 2px 6px #00000026;transform:rotate(var(--rotate, 0deg));transition:transform .3s ease}.photo-frame-mini:hover,.photo-frame-mini:active{transform:rotate(0) scale(1.05);z-index:2}.photo-frame-mini .photo-img{width:100%;display:block;border-radius:2px}.photo-frame-mini .photo-caption{font-family:Cormorant Garamond,serif;font-size:12px;font-style:italic;color:#6b6155;text-align:center;margin-top:8px}@media(max-width:480px){.photo-carousel-track{gap:14px;padding:12px 20px}.photo-frame-mini{width:170px;padding:6px 6px 18px}}.inv-accept-section{padding:32px 0;text-align:center}.inv-accept-btn{display:inline-flex;align-items:center;gap:12px;padding:16px 40px;background:linear-gradient(135deg,#c9a84c,#b8922e);color:#080e1c;font-family:Cormorant Garamond,serif;font-size:20px;font-weight:700;letter-spacing:.5px;border:none;border-radius:50px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 24px #c9a84c4d;position:relative;overflow:hidden}.inv-accept-btn:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,transparent 0%,rgba(255,255,255,.2) 50%,transparent 100%);transform:translate(-100%);animation:btn-shimmer 3s ease-in-out infinite}@keyframes btn-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.inv-accept-btn:hover{transform:translateY(-2px);box-shadow:0 8px 32px #c9a84c73}.inv-accept-btn:active{transform:scale(.97)}.inv-accept-btn:disabled{opacity:.7;cursor:default}.inv-accept-btn-heart{font-size:18px}.inv-accepted-badge{display:flex;flex-direction:column;align-items:center;gap:8px;animation:accepted-appear .6s ease-out}.inv-accepted-heart{font-size:40px;animation:accepted-heart-beat 1.2s ease-in-out infinite}.inv-accepted-text{font-family:Cormorant Garamond,serif;font-size:24px;font-weight:700;color:#c9a84c}.inv-accepted-sub{font-size:16px;color:#a89e90;font-style:italic}@keyframes accepted-appear{0%{opacity:0;transform:scale(.5)}60%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}@keyframes accepted-heart-beat{0%,to{transform:scale(1)}15%{transform:scale(1.25)}30%{transform:scale(1)}45%{transform:scale(1.15)}}.inv-buttons-row{display:flex;flex-direction:column;align-items:center;gap:16px}.inv-reject-btn{padding:10px 28px;font-family:Cormorant Garamond,serif;font-size:16px;color:#8a7e6e;border:1px solid rgba(138,126,110,.3);border-radius:50px;background:transparent;cursor:pointer;transition:all .3s ease}.inv-reject-btn:hover{border-color:#8a7e6e80;color:#a89e90}.inv-rejected-msg{text-align:center;animation:accepted-appear .5s ease-out}.inv-rejected-text{font-family:Cormorant Garamond,serif;font-size:22px;font-weight:700;color:#c9a84c;margin-bottom:8px}.inv-rejected-sub{font-size:16px;color:#a89e90;font-style:italic}.hearts-rain{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:9998;overflow:hidden}.heart-particle{position:absolute;top:-50px;opacity:0}@keyframes heart-fall{0%{opacity:0;transform:translateY(0) translate(0) rotate(0) scale(.3)}8%{opacity:1;transform:translateY(8vh) translate(calc(var(--sway) * .3)) rotate(30deg) scale(.8)}50%{opacity:1;transform:translateY(50vh) translate(var(--sway)) rotate(180deg) scale(1)}to{opacity:0;transform:translateY(110vh) translate(calc(var(--sway) * .5)) rotate(360deg) scale(.6)}}.date-countdown{padding:24px 0 8px;text-align:center}.date-countdown-label{font-family:Cormorant Garamond,serif;font-size:14px;text-transform:uppercase;letter-spacing:2px;color:#a89e90;margin-bottom:12px}.date-countdown-timer{display:flex;justify-content:center;gap:16px}.date-countdown-unit{display:flex;flex-direction:column;align-items:center}.date-countdown-num{font-family:Cormorant Garamond,serif;font-size:28px;font-weight:700;color:#c9a84c;line-height:1}.date-countdown-txt{font-size:10px;text-transform:uppercase;letter-spacing:1.5px;color:#8a7e6e;margin-top:4px}.date-countdown-sep{font-size:24px;color:#c9a84c66;align-self:flex-start;line-height:1}.music-toggle{position:fixed;bottom:24px;right:24px;z-index:9999;width:48px;height:48px;border-radius:50%;background:#c9a84c26;border:1px solid rgba(201,168,76,.4);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;color:#c9a84c;transition:all .3s ease;box-shadow:0 4px 20px #0000004d}.music-toggle:hover{background:#c9a84c40;border-color:#c9a84c99;transform:scale(1.08)}.music-toggle:active{transform:scale(.95)}.music-icon{display:flex;align-items:center;justify-content:center}.music-icon.playing svg{animation:music-pulse 1.5s ease-in-out infinite}.music-label{position:absolute;font-size:20px;animation:music-bounce 2s ease-in-out infinite}@keyframes music-pulse{0%,to{opacity:.8;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}@keyframes music-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@media(max-width:480px){.music-toggle{width:42px;height:42px;bottom:20px;right:16px}}@supports (padding-bottom: env(safe-area-inset-bottom)){.tuesday-section{padding-bottom:calc(80px + env(safe-area-inset-bottom))}.music-toggle{bottom:calc(24px + env(safe-area-inset-bottom))}}
