:root{--ivory:#f7f1e6;--ivory-2:#efe6d3;--cream:#fbf7ee;--ink:#2b2318;--ink-soft:#5a4b36;--gold:#b8912b;--gold-2:#d4a94a;--gold-hi:#f4dc8a;--gold-lo:#8a6a1c;--shadow:0 30px 80px -30px #3c280a59}*{box-sizing:border-box;margin:0;padding:0}.invitation-page{-webkit-tap-highlight-color:transparent;background:var(--ivory);color:var(--ink);scroll-behavior:smooth;min-height:100vh;font-family:Cormorant Garamond,Times New Roman,serif;font-weight:400;position:relative;overflow-x:hidden}.invitation-page.locked{height:100vh;overflow:hidden}.mono{letter-spacing:.12em;text-transform:uppercase;font-family:JetBrains Mono,Menlo,monospace;font-weight:400}.serif-italic{font-family:Cormorant Garamond,serif;font-style:italic}.grain{pointer-events:none;z-index:100;opacity:.18;mix-blend-mode:multiply;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.2 0 0 0 0 0.15 0 0 0 0 0.05 0 0 0 0.6 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");background-size:240px 240px;animation:1.6s steps(4,end) infinite grainShift;position:fixed;inset:0}@keyframes grainShift{0%{transform:translate(0)}25%{transform:translate(-4px,3px)}50%{transform:translate(3px,-4px)}75%{transform:translate(-3px,-3px)}to{transform:translate(0)}}.vignette{pointer-events:none;z-index:99;background:radial-gradient(#0000 55%,#3c280a47 100%);position:fixed;inset:0}.candle{z-index:1;pointer-events:none;filter:blur(20px);mix-blend-mode:screen;background:radial-gradient(circle,#f4dc8a59 0%,#f4dc8a1f 30%,#0000 60%);border-radius:50%;width:60vmax;height:60vmax;animation:4s ease-in-out infinite flicker;position:fixed}.candle.c1{top:-20vmax;left:-15vmax}.candle.c2{animation-duration:5.2s;animation-delay:-1.7s;bottom:-25vmax;right:-20vmax}@keyframes flicker{0%,to{opacity:.55;transform:scale(1)}40%{opacity:.82;transform:scale(1.05)}55%{opacity:.45;transform:scale(.98)}75%{opacity:.7;transform:scale(1.02)}}.cover{z-index:90;background:radial-gradient(#f8efd8,#e8d9b0 55%,#b89555);justify-content:center;align-items:center;transition:opacity .8s .6s;display:flex;position:fixed;inset:0;overflow:hidden}.cover.opened{opacity:0;pointer-events:none}.gate{transform-origin:0;will-change:transform;background:linear-gradient(#00000026 0%,#0000 15% 85%,#0003 100%),linear-gradient(90deg,#2a2116,#3d3020 40%,#4d3d2a);width:50%;height:100%;transition:transform 1.6s cubic-bezier(.7,.02,.3,1);position:absolute;top:0;box-shadow:inset 0 0 60px #00000080}.gate.right{transform-origin:100%;background:linear-gradient(#00000026 0%,#0000 15% 85%,#0003 100%),linear-gradient(-90deg,#2a2116,#3d3020 40%,#4d3d2a);right:0}.gate.left{left:0}.cover.opening .gate.left{transform:perspective(1400px)rotateY(-105deg)}.cover.opening .gate.right{transform:perspective(1400px)rotateY(105deg)}.gate-ornament{opacity:.85;pointer-events:none;width:80%;height:90%;position:absolute;top:50%;transform:translateY(-50%)}.gate.left .gate-ornament{right:4%}.gate.right .gate-ornament{left:4%}.cover-card{z-index:5;text-align:center;color:var(--gold-hi);max-width:88vw;padding:40px 32px;transition:opacity .6s,transform .6s;position:relative}.cover.opening .cover-card{opacity:0;transform:translateY(-20px)scale(.96)}.cover-arch{aspect-ratio:3/4;width:220px;max-width:60vw;margin:0 auto 24px;position:relative}.cover-eyebrow{color:#f4dc8abf;margin-bottom:14px;font-size:11px}.cover-monogram{background:linear-gradient(#f8e6a4,#e6c664 30%,#b8912b 55%,#f4dc8a 75%,#b8912b);color:#0000;letter-spacing:-.02em;-webkit-background-clip:text;background-clip:text;font-family:Cormorant Garamond,serif;font-size:clamp(56px,14vw,96px);font-style:italic;line-height:1;position:relative}.cover-couple{color:#f8e6a4;letter-spacing:.02em;margin-top:18px;font-family:Cormorant Garamond,serif;font-size:clamp(24px,6vw,36px);font-weight:500}.cover-couple .amp{color:#d4a94a;margin:0 .35em;font-style:italic;font-weight:400}.shine{display:inline-block;position:relative;overflow:hidden}.shine:after{content:"";mix-blend-mode:overlay;background:linear-gradient(100deg,#0000 30%,#fff0b4d9 50%,#0000 70%);width:40%;height:100%;animation:3.6s ease-in-out infinite shineSweep;position:absolute;top:0;left:-60%;transform:skew(-20deg)}@keyframes shineSweep{0%,20%{left:-60%}60%,to{left:120%}}.tap-open{z-index:6;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#f4dc8a;cursor:pointer;background:#140e0459;border:1px solid #f4dc8a8c;border-radius:100px;align-items:center;gap:8px;padding:14px 26px;font-size:11px;transition:all .3s;animation:2.4s ease-in-out infinite pulseUp;display:flex;position:absolute;bottom:6vh;left:50%;transform:translate(-50%)}.tap-open:hover,.tap-open:active{background:#f4dc8a26;transform:translate(-50%)scale(1.04)}@keyframes pulseUp{0%,to{transform:translate(-50%)translateY(0)}50%{transform:translate(-50%)translateY(-6px)}}.cover.opening .tap-open{opacity:0;pointer-events:none;transition:opacity .2s}.main{z-index:2;opacity:0;transition:opacity 1s 1.4s;position:relative}.main.visible{opacity:1}section{max-width:640px;margin:0 auto;padding:6vh 24px;position:relative}.reveal{opacity:0;transition:opacity 1.2s cubic-bezier(.2,.7,.2,1),transform 1.2s cubic-bezier(.2,.7,.2,1);transform:translateY(30px)}.reveal.in{opacity:1;transform:translateY(0)}.reveal-stagger.in{transition-delay:calc(var(--stagger,0) * .12s)}.reveal-stagger[data-stagger="0"]{--stagger:0}.reveal-stagger[data-stagger="1"]{--stagger:1}.reveal-stagger[data-stagger="2"]{--stagger:2}.reveal-stagger[data-stagger="3"]{--stagger:3}.reveal-stagger[data-stagger="4"]{--stagger:4}.reveal-stagger[data-stagger="5"]{--stagger:5}.reveal-stagger[data-stagger="6"]{--stagger:6}.reveal-stagger[data-stagger="7"]{--stagger:7}.eyebrow{color:var(--gold);text-align:center;margin-bottom:14px;font-size:9px;position:relative}.eyebrow:before,.eyebrow:after{content:"";background:var(--gold);vertical-align:middle;opacity:.6;width:32px;height:1px;margin:0 12px;display:inline-block}.hero{text-align:center;padding-top:8vh;padding-bottom:6vh}.hero-frame{aspect-ratio:3/4;width:min(280px,72vw);box-shadow:var(--shadow), 0 0 60px -10px #b8912b40;background:var(--ivory-2);will-change:transform;border-radius:200px 200px 6px 6px;margin:0 auto 28px;position:relative;overflow:hidden}.hero-frame-glow{pointer-events:none;z-index:2;background:radial-gradient(circle,#f4dc8a33 0%,#0000 70%);position:absolute;inset:-20%}.hero-frame:before{content:"";z-index:3;pointer-events:none;border:1px solid #b8912b59;border-radius:190px 190px 3px 3px;position:absolute;inset:8px}.hero-frame img{object-fit:cover;width:100%;height:100%;transition:transform 1s;display:block}.hero-frame:hover img{transform:scale(1.03)}.hero-names{letter-spacing:-.015em;font-family:Cormorant Garamond,serif;font-size:clamp(48px,13vw,88px);font-weight:500;line-height:1}.hero-names .name{background:linear-gradient(#d4a94a,#b8912b 40%,#f4dc8a,#b8912b 70%,#8a6a1c) 0 0/100% 240%;color:#0000;-webkit-background-clip:text;background-clip:text;animation:5.5s ease-in-out infinite goldShimmer;display:block}.hero-names .amp{color:var(--ink-soft);-webkit-text-fill-color:initial;background:0 0;margin:.15em 0;font-size:.48em;font-style:italic;font-weight:400;animation:none;display:block}@keyframes goldShimmer{0%,to{background-position:0 0}50%{background-position:0 100%}}.hero-tagline{color:var(--ink-soft);margin-top:16px;font-size:10px}.ring-section{text-align:center;padding:6vh 24px 8vh;position:relative}.ring-showcase{background:radial-gradient(#fbf3dce6 0%,#0000 70%);max-width:480px;margin:0 auto;padding:48px 32px;position:relative}.ring-showcase-glow{pointer-events:none;background:radial-gradient(circle,#f4dc8a59 0%,#0000 55%);animation:4s ease-in-out infinite ringPulse;position:absolute;inset:0}@keyframes ringPulse{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}.ring-showcase-frame{justify-content:center;align-items:center;width:140px;height:140px;margin:0 auto 28px;display:flex;position:relative}.ring-icon{color:var(--gold)}.ring-icon-large{opacity:.85;filter:drop-shadow(0 8px 24px #b8912b59);width:120px;height:120px;animation:5s ease-in-out infinite ringFloat}.ring-icon-large svg{width:100%;height:100%}@keyframes ringFloat{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-8px)rotate(2deg)}}.ring-sparkle{background:var(--gold-hi);width:6px;height:6px;box-shadow:0 0 8px var(--gold-hi);border-radius:50%;animation:2.5s ease-in-out infinite sparkle;position:absolute}.ring-sparkle-1{animation-delay:0s;top:10%;right:15%}.ring-sparkle-2{animation-delay:.8s;bottom:20%;left:10%}.ring-sparkle-3{animation-delay:1.6s;top:30%;left:5%}@keyframes sparkle{0%,to{opacity:.2;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}.ring-eyebrow{margin-bottom:16px}.ring-caption{color:var(--ink-soft);max-width:28ch;margin:0 auto;font-size:clamp(18px,4.5vw,22px);line-height:1.5}.ring-divider{margin-top:32px}.message{text-align:center;padding:5vh 24px}.message .body{color:var(--ink);text-wrap:pretty;max-width:32ch;margin:0 auto;font-size:clamp(19px,5vw,24px);font-weight:400;line-height:1.55}.message .body em{color:var(--gold-lo);font-style:italic}.divider{width:30px;height:30px;color:var(--gold);opacity:.7;margin:16px auto}.divider svg{width:100%;height:100%}.signoff{color:var(--ink-soft);margin-top:4px;font-family:Cormorant Garamond,serif;font-size:18px;font-style:italic}.message-bible{color:var(--ink-soft);border:none;max-width:34ch;margin:0 auto 20px;padding:0;font-size:clamp(15px,3.8vw,18px);line-height:1.5}.message-bible-ref{color:var(--gold);letter-spacing:.14em;margin-top:8px;font-size:9px;font-style:normal;display:block}.message-parents{margin-bottom:16px}.message-parents-groom{margin-top:4px;margin-bottom:16px}.message-parents-names{color:var(--ink);margin-bottom:4px;font-family:Cormorant Garamond,serif;font-size:clamp(16px,4vw,20px);font-weight:500}.message-family{color:var(--ink-soft);letter-spacing:.06em;font-size:10px;line-height:1.4}.message-invite{color:var(--ink-soft);max-width:34ch;margin:0 auto 12px;font-size:clamp(15px,3.8vw,18px);line-height:1.4}.message-ceremony{background:linear-gradient(#d4a94a,#b8912b 40%,#8a6a1c);color:#0000;letter-spacing:.02em;-webkit-background-clip:text;background-clip:text;margin-bottom:12px;font-family:Cormorant Garamond,serif;font-size:clamp(28px,7vw,40px);font-weight:500}.message-of,.message-and{color:var(--ink-soft);margin-bottom:4px;font-size:clamp(14px,3.5vw,17px)}.message-name{color:var(--ink);margin-bottom:8px;font-family:Cormorant Garamond,serif;font-size:clamp(20px,5vw,26px);font-weight:500}.message-details{color:var(--ink-soft);flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;max-width:100%;margin:16px auto;font-size:9px;line-height:1.5;display:flex}.message-details .dot{background:var(--gold);opacity:.6;border-radius:50%;flex-shrink:0;width:3px;height:3px}.message-blessing{max-width:32ch;margin:16px auto 0;font-size:clamp(16px,4vw,20px)}.message-wishes-label{color:var(--gold);margin-top:6px;margin-bottom:4px;font-size:9px}.scroll-hint{justify-content:center;margin:0 auto;padding:20px 0;display:flex}.scroll-hint .line{background:linear-gradient(180deg, transparent 0%, var(--gold-hi) 100%);width:1px;height:60px;position:relative;overflow:hidden}.scroll-hint .line:after{content:"";background:linear-gradient(180deg, transparent 0%, var(--gold-hi) 100%);width:100%;height:30%;animation:2s ease-in-out infinite scrollDown;position:absolute;top:-30%;left:0}@keyframes scrollDown{0%{top:-30%}to{top:100%}}.date-section{text-align:center}.date-card{width:min(320px,80vw);box-shadow:var(--shadow), 0 0 0 1px #b8912b40;text-align:center;background:radial-gradient(at top,#fbf3dc,#f0e2b8);border-radius:6px;margin:0 auto;padding:32px 24px}.date-card .month{color:var(--gold);margin-bottom:8px;font-size:12px}.date-card .day{background:linear-gradient(#d4a94a,#b8912b,#8a6a1c);color:#0000;letter-spacing:-.04em;-webkit-background-clip:text;background-clip:text;font-family:Cormorant Garamond,serif;font-size:96px;font-weight:500;line-height:1}.date-card .year{color:var(--ink);margin-top:8px;font-family:Cormorant Garamond,serif;font-size:22px;font-style:italic}.date-card .time{color:var(--ink);margin-top:22px;font-family:Cormorant Garamond,serif;font-size:22px;font-style:italic}.date-card .weekday{color:var(--ink-soft);margin-top:12px;font-size:10px}.date-caption{color:var(--ink-soft);margin-top:24px;font-size:11px}.countdown{padding:12px 0}.countdown-grid{background:linear-gradient(180deg, var(--cream) 0%, var(--ivory-2) 100%);border:1px solid #b8912b40;border-radius:4px;grid-template-columns:repeat(4,1fr);gap:0;max-width:min(360px,84vw);margin:0 auto;padding:18px 6px 14px;display:grid;position:relative}.cd-cell{text-align:center;padding:8px 4px;position:relative}.cd-cell+.cd-cell:before{content:"";background:#b8912b33;width:1px;height:60%;position:absolute;top:20%;left:0}.cd-num{background:linear-gradient(#d4a94a,#b8912b);color:#0000;letter-spacing:-.02em;-webkit-background-clip:text;background-clip:text;font-family:Cormorant Garamond,serif;font-size:clamp(32px,9vw,52px);font-weight:500;line-height:1}.cd-label{color:var(--ink-soft);letter-spacing:.18em;margin-top:8px;font-size:9px}.venue{text-align:center}.venue-card{background:var(--cream);box-shadow:var(--shadow);border:1px solid #b8912b40;border-radius:6px;max-width:380px;margin:0 auto;padding:28px 22px;position:relative;overflow:hidden}.venue-card:before,.venue-card:after{content:"";border:1px solid var(--gold);opacity:.5;width:40px;height:40px;position:absolute}.venue-card:before{border-bottom:none;border-right:none;top:12px;left:12px}.venue-card:after{border-top:none;border-left:none;bottom:12px;right:12px}.venue-icon{width:44px;height:44px;color:var(--gold);margin:0 auto 20px}.venue-icon svg{width:100%;height:100%}.venue-name{color:var(--ink);margin-bottom:8px;font-family:Cormorant Garamond,serif;font-size:clamp(22px,5vw,30px);font-weight:500}.venue-address{color:var(--ink-soft);letter-spacing:.06em;margin-bottom:6px;font-size:12px;line-height:1.4}.venue-place{color:var(--ink-soft);letter-spacing:.06em;margin-bottom:20px;font-size:13px}.venue-when{color:var(--ink-soft);flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;margin-bottom:28px;font-size:11px;display:flex}.venue-when .dot{background:var(--gold);opacity:.6;border-radius:50%;width:3px;height:3px;display:inline-block}.map-btn{color:var(--gold);letter-spacing:.12em;text-transform:uppercase;background:0 0;border:1px solid #b8912b80;border-radius:100px;align-items:center;gap:8px;padding:12px 24px;font-family:JetBrains Mono,monospace;font-size:11px;text-decoration:none;transition:all .3s;display:inline-flex}.map-btn:hover{background:#b8912b1a;transform:translateY(-2px)}.map-btn svg{width:16px;height:16px}.footer{text-align:center;max-width:640px;margin:0 auto;padding:4vh 24px 6vh}.footer-monogram{background:linear-gradient(#d4a94a,#b8912b 50%,#8a6a1c);color:#0000;-webkit-background-clip:text;background-clip:text;margin-bottom:20px;font-family:Cormorant Garamond,serif;font-size:clamp(48px,12vw,72px);font-style:italic}.footer-line{color:var(--ink-soft);margin-bottom:32px;font-size:10px}.petals-stage{pointer-events:none;z-index:50;position:fixed;inset:0;overflow:hidden}.petal{pointer-events:none;will-change:transform;position:fixed}.petal svg{width:100%;height:100%}.floating-rings{pointer-events:none;z-index:1;position:fixed;inset:0;overflow:hidden}.floating-ring-wrap{will-change:transform;position:absolute}.floating-ring{color:var(--gold);opacity:.12;animation:6s ease-in-out infinite floatRing}.floating-ring svg{width:100%;height:100%}@keyframes floatRing{0%,to{transform:translateY(0)rotate(0)}33%{transform:translateY(-12px)rotate(5deg)}66%{transform:translateY(6px)rotate(-3deg)}}.parallax-decor-layer{pointer-events:none;z-index:0;position:fixed;inset:0;overflow:hidden}.parallax-orb{will-change:transform;border-radius:50%;position:absolute}.orb-1{background:radial-gradient(circle,#d4a94a26 0%,#0000 70%);width:300px;height:300px;top:15%;right:-80px}.orb-2{background:radial-gradient(circle,#b8912b1f 0%,#0000 70%);width:200px;height:200px;bottom:30%;left:-60px}.orb-3{background:radial-gradient(circle,#f4dc8a2e 0%,#0000 70%);width:160px;height:160px;top:45%;left:75%}.parallax-sparkle{background:var(--gold-hi);opacity:.5;will-change:transform;width:4px;height:4px;box-shadow:0 0 6px var(--gold-hi);border-radius:50%;position:absolute}.sparkle-1{top:20%;left:20%}.sparkle-2{top:60%;right:25%}.sparkle-3{bottom:15%;left:40%}.quote-section{text-align:center;max-width:560px;padding:6vh 32px;position:relative}.quote-mark{color:var(--gold);opacity:.25;font-family:Cormorant Garamond,serif;font-size:clamp(64px,15vw,100px);line-height:.6;position:absolute}.quote-mark-left{top:0;left:8px}.quote-mark-right{bottom:0;right:8px}.quote-text{color:var(--ink);z-index:1;max-width:32ch;margin:0 auto 24px;font-size:clamp(22px,5.5vw,28px);line-height:1.55;position:relative}.quote-author{color:var(--gold);font-size:11px;font-style:normal}.gallery-section{max-width:480px;padding:4vh 12px}.gallery-caption{text-align:center;color:var(--ink-soft);margin-bottom:16px;font-size:16px}.gallery-zigzag{flex-direction:column;align-items:center;gap:-8px;padding:0;display:flex;position:relative}.photo-card{cursor:default;background:#fff;border-radius:2px;width:150px;margin-top:-12px;padding:6px 6px 22px;transition:transform .4s,box-shadow .4s;position:relative;box-shadow:0 3px 14px -3px #3c280a38,0 1px 3px #0000000f}.photo-card:first-child{margin-top:0}.photo-card:nth-child(odd){align-self:flex-start;margin-left:8%;transform:rotate(-2deg)}.photo-card:nth-child(2n){align-self:flex-end;margin-right:8%;transform:rotate(2deg)}.photo-card:hover{z-index:10;box-shadow:0 10px 32px -6px #3c280a4d;transform:rotate(0)scale(1.06)!important}.photo-card img{aspect-ratio:1;object-fit:cover;width:100%;display:block}@media (width<=480px){.photo-card{width:130px;padding:5px 5px 18px}.photo-card:nth-child(odd){margin-left:4%}.photo-card:nth-child(2n){margin-right:4%}}.action-btn{color:var(--gold);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;background:0 0;border:1px solid #b8912b73;border-radius:100px;justify-content:center;align-items:center;gap:10px;padding:14px 28px;font-family:JetBrains Mono,monospace;font-size:11px;text-decoration:none;transition:all .3s;display:inline-flex}.action-btn svg{flex-shrink:0;width:18px;height:18px}.action-btn:hover:not(:disabled){background:#b8912b1f;transform:translateY(-2px);box-shadow:0 8px 24px -8px #b8912b59}.action-btn:disabled{opacity:.6;cursor:wait}.action-btn-primary{background:linear-gradient(135deg,#b8912b26 0%,#d4a94a14 100%);border-color:#b8912b8c}.action-btn-whatsapp{color:#1a8f4a;background:#25d36614;border-color:#25d36666}.action-btn-whatsapp:hover{background:#25d36626}.calendar-section{text-align:center;padding:5vh 24px}.calendar-actions{flex-direction:column;align-items:center;gap:14px;margin-top:8px;display:flex}.download-section{text-align:center;padding:5vh 24px}.download-caption{color:var(--ink-soft);max-width:28ch;margin:8px auto 16px;font-size:16px}.download-card-hidden{pointer-events:none;position:fixed;top:0;left:-9999px}.invitation-card-render{background:var(--ivory);width:600px;padding:48px}.icr-border{border:2px solid var(--gold);background:linear-gradient(145deg,#fbf3dc,#f0e2b8);padding:8px}.icr-inner{text-align:center;border:1px solid #b8912b66;padding:48px 40px}.icr-eyebrow{color:var(--gold);margin-bottom:20px;font-size:12px}.icr-monogram{background:linear-gradient(#d4a94a,#b8912b,#8a6a1c);color:#0000;-webkit-background-clip:text;background-clip:text;margin-bottom:12px;font-family:Cormorant Garamond,serif;font-size:72px;font-style:italic;line-height:1}.icr-names{color:var(--ink);margin-bottom:28px;font-family:Cormorant Garamond,serif;font-size:36px;font-weight:500}.icr-amp{color:var(--gold);margin:0 .3em;font-style:italic}.icr-divider{background:linear-gradient(90deg, transparent, var(--gold), transparent);width:60px;height:1px;margin:0 auto 28px}.icr-date{flex-direction:column;align-items:center;gap:4px;margin-bottom:12px;display:flex}.icr-day{background:linear-gradient(#d4a94a,#b8912b);color:#0000;-webkit-background-clip:text;background-clip:text;font-family:Cormorant Garamond,serif;font-size:96px;font-weight:500;line-height:1}.icr-month-year{color:var(--ink);letter-spacing:.08em;font-family:Cormorant Garamond,serif;font-size:20px}.icr-time{color:var(--ink-soft);margin-bottom:24px;font-size:22px}.icr-venue-name{color:var(--ink);font-family:Cormorant Garamond,serif;font-size:22px;font-weight:500}.icr-venue-place{color:var(--ink-soft);margin-top:6px;margin-bottom:24px;font-size:11px}.icr-tagline{color:var(--gold);font-size:10px}.rsvp-section{text-align:center;background:linear-gradient(#0000 0%,#fbf3dc66 50%,#0000 100%);padding:5vh 24px}.rsvp-text{color:var(--ink);max-width:30ch;margin:0 auto 16px;font-size:clamp(16px,4vw,20px);line-height:1.4}.share-section{text-align:center;padding:5vh 24px}.share-actions{flex-direction:column;align-items:center;gap:14px;margin-bottom:20px;display:flex}.share-hint{color:var(--ink-soft);justify-content:center;align-items:center;gap:8px;font-size:10px;display:flex}.share-hint svg{opacity:.6;width:14px;height:14px}.music-section{text-align:center;padding:5vh 24px 6vh}.music-player{background:linear-gradient(180deg, var(--cream) 0%, var(--ivory-2) 100%);max-width:360px;box-shadow:var(--shadow);border:1px solid #b8912b40;border-radius:8px;flex-direction:column;align-items:center;gap:20px;margin:0 auto;padding:32px 28px;display:flex}.music-visualizer{justify-content:center;align-items:flex-end;gap:4px;height:48px;display:flex}.music-bar{background:linear-gradient(180deg, var(--gold-hi), var(--gold));border-radius:2px;width:4px;height:12px;animation:1.2s ease-in-out infinite musicBar}@keyframes musicBar{0%,to{opacity:.4;height:8px}50%{opacity:1;height:40px}}.music-title{color:var(--ink);font-size:20px}.music-status{color:var(--gold);margin-top:4px;font-size:10px}.music-btn{width:48px;height:48px;color:var(--gold);cursor:not-allowed;opacity:.7;background:#b8912b1a;border:1px solid #b8912b66;border-radius:50%;justify-content:center;align-items:center;display:flex}.music-btn svg{width:20px;height:20px;margin-left:2px}.music-caption{color:var(--ink-soft);margin-top:16px;font-size:10px}.venue-map{box-shadow:var(--shadow);border:1px solid #b8912b40;border-radius:8px;max-width:480px;margin-top:20px;margin-left:auto;margin-right:auto;overflow:hidden}.venue-map iframe{border:0;width:100%;height:280px;display:block}section+section,.date-section,.countdown,.calendar-section,.download-section,.rsvp-section,.share-section,.music-section,.gallery-section,.quote-section{position:relative}section+section:before,.date-section:before,.countdown:before{content:"";background:linear-gradient(90deg,#0000,#b8912b4d,#0000);width:min(120px,30vw);height:1px;margin:0 auto;display:block;position:absolute;top:0;left:50%;transform:translate(-50%)}@media (prefers-reduced-motion:reduce){.grain,.candle,.shine:after,.tap-open,.hero-names .name,.scroll-hint .line:after,.ring-showcase-glow,.ring-icon-large,.ring-sparkle,.floating-ring,.music-bar{animation:none!important}.reveal{opacity:1;transition:none;transform:none}.hero-frame,.parallax-decor,.floating-ring-wrap{will-change:auto;transform:none!important}.gallery-frame:hover{transform:none}.photo-card:hover{transform:none!important}.action-btn:hover:not(:disabled){transform:none}}@media (width<=600px){section{padding:5vh 16px}.hero{padding-top:6vh;padding-bottom:4vh}.hero-frame{width:min(240px,68vw);margin-bottom:24px}.hero-names{font-size:clamp(38px,11vw,60px)}.message{padding:4vh 16px}.message .body{font-size:clamp(16px,4.2vw,20px)}.ring-section{padding:4vh 16px 5vh}.ring-icon-large{width:80px;height:80px}.date-card{padding:28px 20px}.date-card .day{font-size:80px}.venue-card{padding:24px 16px}.quote-section{padding:4vh 16px}.quote-text{font-size:clamp(18px,4.5vw,22px)}.footer{padding:4vh 16px 8vh}.music-player{padding:20px 16px}.rsvp-section,.share-section,.download-section,.calendar-section,.music-section{padding:4vh 16px}.gallery-section{padding:3vh 8px}.cover-card{padding:18px 24px 112px}.cover-arch{width:min(190px,54vw);margin-bottom:14px}.cover-couple{margin-top:10px}.calendar-actions,.share-actions{width:100%;max-width:320px;margin-left:auto;margin-right:auto}.action-btn{width:100%}.venue-map iframe{height:220px}.ring-showcase{padding:32px 20px}}@media (width<=380px){.cover-card{padding:10px 22px 94px}.cover-arch{width:min(145px,44vw);margin-bottom:8px}.cover-monogram{font-size:clamp(48px,12vw,66px)}.cover-couple{margin-top:6px;font-size:clamp(21px,5vw,28px)}.cover-eyebrow{margin-bottom:8px}.tap-open{padding:12px 22px;bottom:16px}}
