:root{--gold: #C9A84C;--gold-l: #F0D080;--gold-d: #8B6914;--rose: #E8A0A8;--rg: #B76E79;--rg-l: #F2D8D2;--deep: #1A0A12;--wine: #4A0E1E;--cream: #FDF5EC}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--deep);color:var(--cream);font-family:Cormorant Garamond,serif;overflow-x:hidden}.fade-in{transform:translateY(20px);transition:opacity .8s ease,transform .8s ease}.fade-in.visible{transform:translateY(0)}.divider{display:flex;align-items:center;gap:13px;margin:16px 0;width:min(380px,78%)}.divider-line{flex:1;height:1px;background:linear-gradient(to right,transparent,var(--gold),transparent)}.divider-gem{width:8px;height:8px;background:var(--gold);transform:rotate(45deg);box-shadow:0 0 8px var(--gold);flex-shrink:0}section{padding:65px 16px}.section-inner{max-width:860px;margin:0 auto}.section-top{display:flex;flex-direction:column;align-items:center;margin-bottom:34px}.section-icon-circle{width:44px;height:44px;border-radius:50%;border:1px solid rgba(201,168,76,.2);background:#c9a84c0e;display:flex;align-items:center;justify-content:center;margin-bottom:11px}.section-icon-circle svg{width:19px;height:19px;opacity:.68}.section-label{font-family:Quicksand,sans-serif;font-size:10px;letter-spacing:5px;color:var(--gold);text-transform:uppercase;margin-bottom:5px;text-align:center}.section-title{font-family:Cinzel Decorative,serif;font-size:clamp(17px,4.5vw,30px);text-align:center;background:linear-gradient(135deg,#f0d080,#c9a84c);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}#intro{position:fixed;inset:0;z-index:9999;cursor:pointer;background:radial-gradient(ellipse at center,#2a0a1a,#0d0408);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;transition:opacity 1.2s ease,visibility 1.2s ease}#intro.hidden{visibility:hidden;pointer-events:none}.particles{position:absolute;inset:0;overflow:hidden;pointer-events:none}.particle{position:absolute;border-radius:50%;opacity:0;animation:particleFly linear infinite}@keyframes particleFly{0%{opacity:0;transform:translateY(0) scale(0)}10%{opacity:1}90%{opacity:.5}to{opacity:0;transform:translateY(-100vh) scale(1.5)}}.crown-container{position:relative;width:clamp(180px,52vw,300px);height:clamp(160px,46vw,265px);margin-bottom:clamp(42px,10vw,58px);animation:crownFloat 3s ease-in-out infinite}.crown-svg{width:100%;height:100%;animation:crownGlow 2.5s ease-in-out infinite alternate}@keyframes crownGlow{0%{filter:drop-shadow(0 0 14px rgba(183,110,121,.75)) drop-shadow(0 0 36px rgba(183,110,121,.2))}to{filter:drop-shadow(0 0 28px rgba(242,216,210,1)) drop-shadow(0 0 70px rgba(183,110,121,.5))}}.number-15{position:absolute;top:calc(100% + 12px);left:50%;transform:translate(-50%);font-family:Cinzel Decorative,serif;font-size:clamp(22px,6.5vw,38px);font-weight:700;background:linear-gradient(180deg,#f5e0dc,#d4a0a8 40%,#b76e79,#8a4a55);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:3px;line-height:1;white-space:nowrap}.intro-title{font-family:Cinzel Decorative,serif;font-size:clamp(10px,2.2vw,14px);color:var(--gold-l);letter-spacing:6px;text-align:center;animation:fadeUp 1s ease .8s forwards}.intro-sub{font-family:Cormorant Garamond,serif;font-size:clamp(14px,2.5vw,18px);color:var(--rose);letter-spacing:2px;margin-top:7px;animation:fadeUp 1s ease 1.3s forwards}.tap-hint{margin-top:30px;font-family:Quicksand,sans-serif;font-size:11px;letter-spacing:4px;color:#c9a84c99;text-transform:uppercase;animation:fadeUp 1s ease 2s forwards,pulse 2s ease 3s infinite}@keyframes pulse{0%,to{opacity:.38}50%{opacity:1}}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.confetti-el{position:fixed;pointer-events:none;z-index:10000}.hero{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;overflow:hidden;padding:80px 20px 60px;background:radial-gradient(ellipse at 30% 40%,rgba(74,14,30,.7) 0%,transparent 60%),radial-gradient(ellipse at 70% 60%,rgba(201,168,76,.1) 0%,transparent 55%),linear-gradient(160deg,#0d0408,#1a0a12,#0a0508)}.hero:before{content:"";position:absolute;inset:0;pointer-events:none;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M30 0L31 29L60 30L31 31L30 60L29 31L0 30L29 29Z' fill='%23C9A84C' fill-opacity='.03'/%3E%3C/svg%3E") repeat}.hero-photo-wrap{position:relative;margin-bottom:26px;width:clamp(145px,36vw,200px);height:clamp(145px,36vw,200px)}.hero-photo-frame{width:100%;height:100%;border-radius:50%;overflow:hidden;border:2px solid transparent;background:linear-gradient(#0d0408,#0d0408) padding-box,linear-gradient(135deg,#f2d8d2,#b76e79,#c9a84c,#b76e79,#f2d8d2) border-box;box-shadow:0 0 30px #b76e794d,0 0 65px #b76e791a;animation:crownFloat 4.5s ease-in-out infinite}.hero-photo-frame img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}.photo-gem{position:absolute;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fff,#f2d8d2,#b76e79);box-shadow:0 0 8px #b76e79b3;top:50%;left:50%;animation:orbitGem 6s linear infinite}@keyframes orbitGem{0%{transform:rotate(0) translate(var(--r)) rotate(0)}to{transform:rotate(360deg) translate(var(--r)) rotate(-360deg)}}@keyframes crownFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-11px)}}.hero-name{font-family:Cinzel Decorative,serif;font-size:clamp(22px,7vw,60px);background:linear-gradient(135deg,#f0d080,#c9a84c 40%,#e8a0a8,#f0d080);background-size:200% 200%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:shimmer 4s ease infinite;text-align:center;line-height:1.2}@keyframes shimmer{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.hero-subtitle{font-size:clamp(12px,2.3vw,18px);color:#b76e79;letter-spacing:6px;text-transform:uppercase;margin:11px 0;font-style:italic;font-weight:300;text-align:center}.divider{display:flex;align-items:center;gap:12px;margin:14px 0}.divider-line{width:60px;height:1px;background:linear-gradient(90deg,transparent,#C9A84C,transparent)}.divider-gem{width:6px;height:6px;background:#c9a84c;transform:rotate(45deg);box-shadow:0 0 6px #c9a84c99}.hero-date{font-family:Cinzel Decorative,serif;font-size:clamp(11px,2.2vw,16px);color:#f0d080;letter-spacing:3px;text-align:center}.hero-message{max-width:430px;text-align:center;font-size:clamp(13px,2vw,17px);color:#fdf5eca6;line-height:1.9;margin-top:13px;font-style:italic;font-weight:300}.scroll-indicator{position:absolute;bottom:20px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:6px;animation:bounce 2s ease-in-out infinite}@keyframes bounce{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(7px)}}.scroll-indicator span{font-family:Quicksand,sans-serif;font-size:10px;letter-spacing:3px;color:#c9a84c61;text-transform:uppercase}.scroll-arrow{width:13px;height:13px;border-right:1px solid #C9A84C;border-bottom:1px solid #C9A84C;transform:rotate(45deg);opacity:.35}@media(max-width:500px){.hero-photo-wrap{width:145px;height:145px}}.message-section{padding:110px 20px;background:radial-gradient(circle at 50% 40%,rgba(201,168,76,.08) 0%,transparent 60%),linear-gradient(180deg,#0d0408,#1a0a12);text-align:center}.section-icon-circle:hover{transform:scale(1.05);border-color:#c9a84c}.section-title{font-family:Cinzel Decorative,serif;font-size:clamp(26px,4vw,40px);background:linear-gradient(135deg,#f0d080,#c9a84c);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.quote-block{position:relative;padding:60px 40px;border-radius:20px;background:#1a0a128c;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(201,168,76,.25);box-shadow:0 0 50px #c9a84c1f;max-width:750px;margin:0 auto;transition:transform .4s ease,box-shadow .4s ease}.quote-block:hover{transform:translateY(-6px);box-shadow:0 0 60px #c9a84c40}.quote-mark{position:absolute;top:18px;left:30px;font-size:80px;font-family:Cinzel Decorative,serif;color:#c9a84c26}.quote-text{font-family:Cormorant Garamond,serif;font-size:clamp(18px,2.5vw,22px);line-height:1.9;color:#fdf5ecd9;font-style:italic;margin-bottom:35px}.quote-author{font-family:Quicksand,sans-serif;font-size:13px;letter-spacing:3px;color:#c9a84ccc;text-transform:uppercase}@media(max-width:600px){.quote-block{padding:45px 25px}.quote-mark{font-size:60px;left:20px}}.evento-section{background:linear-gradient(180deg,#1a0a12,#0d0408)}.event-card{max-width:420px;margin:0 auto;background:linear-gradient(160deg,#c9a84c11,#4a0e1e38);border:1px solid rgba(201,168,76,.16);border-radius:4px;position:relative;overflow:hidden}.event-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--rg),var(--gold),var(--rg),transparent)}.ev-block{display:flex;flex-direction:column;align-items:center;text-align:center;padding:28px 20px}.ev-block-icon{width:44px;height:44px;border-radius:50%;border:1px solid rgba(201,168,76,.2);background:#c9a84c0e;display:flex;align-items:center;justify-content:center;margin-bottom:10px}.ev-block-icon svg{width:20px;height:20px}.ev-block-title{font-family:Cinzel Decorative,serif;font-size:clamp(14px,3vw,18px);background:linear-gradient(135deg,#f0d080,#c9a84c);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:8px;letter-spacing:2px}.ev-block-value{font-size:clamp(14px,2.2vw,17px);color:var(--cream);line-height:1.4}.ev-block-sub{font-size:clamp(11px,1.6vw,13px);color:var(--rose);margin-top:5px;font-family:Quicksand,sans-serif;letter-spacing:1px}.ev-separator{height:1px;background:linear-gradient(to right,transparent,rgba(201,168,76,.2),transparent);margin:0 24px}.ev-directions{display:inline-flex;align-items:center;gap:6px;margin-top:14px;border:1px solid rgba(201,168,76,.28);color:var(--gold);padding:7px 13px;font-family:Quicksand,sans-serif;font-size:10px;letter-spacing:2px;text-transform:uppercase;text-decoration:none;border-radius:2px;transition:background .2s}.ev-directions:hover{background:#c9a84c1a}.ev-directions svg{width:11px;height:11px}.crono-section{background:linear-gradient(180deg,#0d0408,#1a0a12)}.crono-list{max-width:560px;margin:0 auto;position:relative;padding-left:16px}.crono-list:before{content:"";position:absolute;left:43px;top:12px;bottom:12px;width:1px;background:linear-gradient(to bottom,transparent,rgba(183,110,121,.35) 8%,rgba(183,110,121,.35) 92%,transparent)}.crono-item{display:flex;align-items:flex-start;gap:18px;padding:16px 0;position:relative}.crono-dot{display:flex;flex-direction:column;align-items:center;gap:5px;flex-shrink:0;width:56px}.crono-dot-circle{width:11px;height:11px;border-radius:50%;background:var(--rg);border:2px solid rgba(183,110,121,.4);box-shadow:0 0 8px #b76e7980;transition:box-shadow .3s}.crono-item:hover .crono-dot-circle{box-shadow:0 0 14px #b76e79e6}.crono-time{font-family:Cinzel Decorative,serif;font-size:clamp(10px,1.8vw,12px);color:var(--gold);letter-spacing:1px;white-space:nowrap}.crono-body{padding-top:2px}.crono-event{font-family:Cinzel Decorative,serif;font-size:clamp(13px,2.2vw,16px);color:var(--cream);margin-bottom:4px}.crono-desc{font-size:clamp(12px,1.8vw,14px);color:#fdf5ec94;line-height:1.55;font-style:italic}.dress-section{padding:100px 20px;background:radial-gradient(circle at 50% 30%,rgba(183,110,121,.12) 0%,transparent 60%),linear-gradient(180deg,#1a0a12,#0a0508);text-align:center}.section-inner{max-width:1000px;margin:0 auto}.section-icon-circle:hover{transform:rotate(6deg) scale(1.05);border-color:#c9a84c}.dress-palette{display:flex;flex-wrap:wrap;justify-content:center;gap:30px;margin-bottom:45px}.palette-item{text-align:center;transition:transform .3s ease}.palette-item:hover{transform:translateY(-6px)}.palette-color{width:90px;height:90px;border-radius:50%;border:1px solid rgba(201,168,76,.25);box-shadow:0 0 25px #c9a84c26;margin-bottom:12px;transition:transform .3s ease,box-shadow .3s ease}.palette-item:hover .palette-color{transform:scale(1.08);box-shadow:0 0 35px #c9a84c4d}.palette-name{font-family:Cormorant Garamond,serif;font-size:18px;color:#fdf5ecd9}.dress-note{font-family:Quicksand,sans-serif;font-size:14px;letter-spacing:2px;color:#c9a84cbf;text-transform:uppercase;line-height:1.8}@media(max-width:600px){.palette-color{width:75px;height:75px}.dress-palette{gap:20px}}.countdown-section{background:radial-gradient(ellipse at center,rgba(74,14,30,.4) 0%,transparent 70%),#0d0408;text-align:center}.countdown{display:flex;justify-content:center;align-items:flex-start;gap:clamp(6px,2.5vw,36px);flex-wrap:nowrap;margin-top:26px}.count-item{text-align:center}.count-num{font-family:Cinzel Decorative,serif;font-size:clamp(26px,8vw,68px);background:linear-gradient(180deg,#f0d080,#c9a84c);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1}.count-label{font-family:Quicksand,sans-serif;font-size:clamp(8px,1.5vw,11px);letter-spacing:3px;color:var(--rose);text-transform:uppercase;margin-top:5px}.count-sep{font-family:Cinzel Decorative,serif;font-size:clamp(22px,6vw,50px);color:#c9a84c33;line-height:1;padding-top:2px}.gallery-section{padding:90px 20px;background:linear-gradient(180deg,#0d0408,#1a0a12);text-align:center}.section-inner{max-width:1100px;margin:0 auto}.section-top{margin-bottom:55px;text-align:center}.section-icon-circle{width:64px;height:64px;border:1px solid rgba(201,168,76,.3);border-radius:50%;margin:0 auto 18px;display:flex;align-items:center;justify-content:center;background:#c9a84c0d;transition:transform .4s ease,border-color .4s ease}.section-icon-circle:hover{transform:rotate(8deg) scale(1.05);border-color:#c9a84c}.gallery-grid{display:grid;gap:14px;grid-template-columns:1fr}@media(min-width:600px){.gallery-grid{grid-template-columns:1fr 1fr}.gallery-item:nth-child(1){grid-column:1 / -1}.gallery-item:nth-child(1) .img-wrap{padding-bottom:50%}}@media(min-width:960px){.gallery-grid{grid-template-columns:1.2fr 1fr;grid-template-rows:auto auto}.gallery-item:nth-child(1){grid-column:1;grid-row:1 / 3}.gallery-item:nth-child(1) .img-wrap{padding-bottom:105%}.gallery-item:nth-child(4){grid-column:1 / -1}.gallery-item:nth-child(4) .img-wrap{padding-bottom:40%}}.gallery-item{position:relative;overflow:hidden;border-radius:4px;cursor:pointer;border:1px solid rgba(201,168,76,.1);transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease}.gallery-item:hover{transform:translateY(-4px);border-color:#c9a84c73;box-shadow:0 10px 30px #c9a84c33}.img-wrap{position:relative;width:100%;padding-bottom:65%;overflow:hidden}.img-wrap img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;transition:transform .7s ease}.gallery-item:hover img{transform:scale(1.06)}.gallery-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(15,5,12,.65) 0%,transparent 65%);display:flex;align-items:flex-end;justify-content:center;padding-bottom:18px;opacity:0;transition:opacity .35s ease}.gallery-item:hover .gallery-overlay{opacity:1}.gallery-overlay span{font-family:Quicksand,sans-serif;font-size:11px;letter-spacing:3px;color:#c9a84c;text-transform:uppercase}.lightbox{position:fixed;inset:0;background:#050108f5;display:flex;align-items:center;justify-content:center;padding:25px;z-index:999;animation:fadeIn .3s ease}.lightbox img{max-width:min(92vw,1000px);max-height:85vh;object-fit:contain;border-radius:4px;border:1px solid rgba(201,168,76,.25);box-shadow:0 0 60px #c9a84c40;animation:zoomIn .3s ease}.lightbox-close{position:absolute;top:22px;right:28px;background:none;border:none;font-size:24px;color:#c9a84c99;cursor:pointer;transition:color .3s ease}.lightbox-close:hover{color:#c9a84c}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes zoomIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.regalo-section{padding:110px 20px;background:radial-gradient(circle at 50% 30%,rgba(201,168,76,.12) 0%,transparent 60%),linear-gradient(180deg,#0a0508,#1a0a12);text-align:center}.section-inner{max-width:900px;margin:0 auto}.section-top{margin-bottom:60px}.section-icon-circle{width:64px;height:64px;border:1px solid rgba(201,168,76,.3);border-radius:50%;margin:0 auto 18px;display:flex;align-items:center;justify-content:center;background:#c9a84c0d}.section-icon-circle svg{width:26px;height:26px}.section-label{font-family:Quicksand,sans-serif;font-size:10px;letter-spacing:4px;color:#c9a84c;text-transform:uppercase;margin-bottom:8px}.section-title{font-family:Cinzel Decorative,serif;font-size:clamp(24px,4vw,38px);background:linear-gradient(135deg,#f0d080,#c9a84c);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.transfer-card{background:#1a0a1299;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid rgba(201,168,76,.25);border-radius:25px;padding:50px 35px;box-shadow:0 0 40px #c9a84c33}.transfer-note{font-family:Cormorant Garamond,serif;font-size:17px;color:#fdf5ecd9;line-height:1.8;margin-bottom:40px}.transfer-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:18px 0;border-bottom:1px solid rgba(201,168,76,.15)}.transfer-row:last-child{border-bottom:none}.t-icon svg{width:22px;height:22px}.t-body{flex:1;text-align:left}.t-label{font-size:11px;letter-spacing:3px;text-transform:uppercase;color:#c9a84c99;font-family:Quicksand,sans-serif}.t-value{font-size:15px;color:#fdf5ec;margin-top:4px}.copy-btn{background:transparent;border:1px solid rgba(201,168,76,.5);color:#f0d080;padding:6px 14px;border-radius:20px;font-size:12px;cursor:pointer;transition:all .3s ease}.copy-btn:hover{background:#c9a84c;color:#1a0a12}.transfer-footer{margin-top:40px;font-size:13px;letter-spacing:3px;color:#c9a84cb3;text-transform:uppercase}.fade-in{animation:fadeUp .9s ease forwards}@keyframes fadeUp{0%{opacity:0;transform:translateY(25px)}to{opacity:1;transform:translateY(0)}}.rsvp-section{padding:80px 20px;background:linear-gradient(180deg,#0d0408,#1a0a12);text-align:center}.section-inner{max-width:520px;margin:0 auto}.section-label{font-family:Quicksand,sans-serif;font-size:10px;letter-spacing:4px;color:#c9a84c;text-transform:uppercase;margin-bottom:6px}.section-title{font-family:Cinzel Decorative,serif;font-size:clamp(22px,4vw,34px);background:linear-gradient(135deg,#f0d080,#c9a84c);-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:35px}.rsvp-form{display:flex;flex-direction:column;gap:14px}.rsvp-input,.rsvp-select{background:#c9a84c0d;border:1px solid rgba(201,168,76,.18);padding:14px 16px;border-radius:3px;font-family:Cormorant Garamond,serif;font-size:16px;color:#fdf5ec;outline:none;transition:border-color .3s ease,background .3s ease;width:100%}.rsvp-input::placeholder{color:#fdf5ec66;font-style:italic}.rsvp-input:focus,.rsvp-select:focus{border-color:#c9a84c;background:#c9a84c14}.rsvp-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23C9A84C' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center}.rsvp-divider{height:1px;background:linear-gradient(to right,transparent,rgba(201,168,76,.25),transparent);margin:12px 0}.guests-label{font-family:Quicksand,sans-serif;font-size:10px;letter-spacing:3px;color:#c9a84cb3;text-transform:uppercase;text-align:left}.guest-counter{display:flex;align-items:center;border:1px solid rgba(201,168,76,.18);border-radius:3px;overflow:hidden}.guest-count-btn{flex:0 0 50px;border:none;background:#c9a84c12;color:#c9a84c;font-size:20px;cursor:pointer;transition:background .3s ease;padding:14px 0}.guest-count-btn:hover{background:#c9a84c2e}.guest-count-display{flex:1;font-family:Cinzel Decorative,serif;font-size:15px;color:#fdf5ec;background:#c9a84c08;padding:14px 0}.extra-guest{display:flex;flex-direction:column;gap:10px;padding:14px;background:#c9a84c0a;border:1px solid rgba(201,168,76,.15);border-radius:4px}.rsvp-btn{margin-top:10px;background:linear-gradient(135deg,#c9a84c,#8b6914,#c9a84c);background-size:200% 100%;border:none;padding:16px;font-family:Cinzel Decorative,serif;font-size:11px;letter-spacing:4px;text-transform:uppercase;cursor:pointer;color:#1a0a12;border-radius:3px;transition:background-position .5s ease,transform .2s ease,box-shadow .2s ease}.rsvp-btn:hover{background-position:100% 0;transform:translateY(-2px);box-shadow:0 8px 20px #c9a84c4d}.rsvp-success{font-size:18px;font-style:italic;color:#f0d080;line-height:1.8;animation:fadeUp .6s ease forwards}@keyframes fadeUp{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}
