*{box-sizing:border-box} :root{--night:#10172a;--night2:#18233b;--gold:#d9b66e;--gold2:#f3dfaa;--cream:#fff6e5;--muted:#c9c5ba;--rose:#b52b4c;--line:rgba(217,182,110,.48)}html{scroll-behavior:smooth;scroll-padding-top:80px}body{margin:0;background:var(--night);color:var(--cream);font-family:Montserrat,Arial,sans-serif;font-weight:300;overflow-x:hidden}a{color:inherit}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}#sparkles{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:0;opacity:.72}.ambient-glow{position:fixed;width:420px;height:420px;border-radius:50%;filter:blur(110px);opacity:.1;pointer-events:none;z-index:0}.glow-one{background:#a52b4c;top:15%;left:-260px}.glow-two{background:#d9b66e;right:-280px;top:58%}.loader{position:fixed;inset:0;background:#0b1020;z-index:100;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:opacity .7s,visibility .7s}.loader.done{opacity:0;visibility:hidden}.loader-rose{font-size:55px;animation:breath 1.5s infinite}.loader p{font-family:'Cormorant Garamond',serif;font-size:21px;color:var(--gold2);letter-spacing:.08em}.topbar{position:absolute;top:0;left:0;right:0;padding:24px clamp(20px,5vw,70px);display:flex;justify-content:space-between;align-items:center;z-index:5}.brand{text-decoration:none;letter-spacing:.18em;font-size:13px;font-weight:600}.brand-mark{color:var(--gold);margin-right:7px}.brand-small{border:1px solid var(--line);color:var(--gold);padding:4px 6px;margin-left:5px;font-size:10px}.sound-toggle{border:1px solid var(--line);background:#11172a99;color:var(--cream);border-radius:50px;padding:10px 15px;display:flex;gap:9px;align-items:center;cursor:pointer;font-size:11px;letter-spacing:.04em;transition:background .2s}.sound-toggle:hover{background:#ffffff13}.sound-icon{color:var(--gold);font-size:18px}.hero{min-height:100svh;position:relative;z-index:1;display:flex;justify-content:center;align-items:center;padding:100px 20px 76px;overflow:hidden;background:radial-gradient(ellipse at 50% 43%,#26334b 0%,#151e33 38%,#10172a 73%)}.hero:before{content:"";position:absolute;inset:24px;border:1px solid rgba(217,182,110,.24);pointer-events:none}.hero:after{content:"";position:absolute;inset:34px;border:1px solid rgba(217,182,110,.1);pointer-events:none}.hero-content{position:relative;z-index:2;text-align:center;max-width:760px}.eyebrow,.section-kicker{font-size:10px;letter-spacing:.29em;color:var(--gold);font-weight:500}.eyebrow{display:flex;align-items:center;justify-content:center;gap:13px}.eyebrow span{width:34px;height:1px;background:var(--gold);opacity:.7}.rose-stage{width:200px;height:220px;margin:15px auto 2px;position:relative;display:grid;place-items:center}.rose-halo{position:absolute;width:170px;height:170px;border:1px solid rgba(217,182,110,.4);border-radius:50%;box-shadow:0 0 65px #d9b66e15,inset 0 0 30px #d9b66e0c}.rose-halo:before,.rose-halo:after{content:"";position:absolute;inset:12px;border:1px solid rgba(217,182,110,.2);border-radius:50%}.rose-halo:after{inset:-10px;border-style:dashed;opacity:.4}.rose-drawing{width:190px;height:220px;position:relative;filter:drop-shadow(0 12px 24px #0008);animation:breath 5s ease-in-out infinite}.floating-star{position:absolute;color:var(--gold2);font-size:21px;animation:twinkle 3s ease-in-out infinite}.star-a{top:38px;right:5px}.star-b{bottom:39px;left:7px;animation-delay:1s}.star-c{top:83px;left:1px;animation-delay:1.7s}.hero-pretitle{font-family:'Cormorant Garamond',serif;font-size:19px;font-style:italic;color:#d5c8a8;margin:5px 0 0}.hero h1{font-family:'Great Vibes',cursive;color:var(--gold2);font-size:clamp(66px,11vw,112px);font-weight:400;line-height:1;margin:8px 0 -2px;text-shadow:0 4px 32px #d9b66e20}.name-rule{display:flex;align-items:center;gap:14px;justify-content:center;color:var(--gold);font-size:13px}.name-rule:before,.name-rule:after{content:"";height:1px;width:70px;background:linear-gradient(90deg,transparent,var(--gold))}.name-rule:after{transform:rotate(180deg)}.hero-name{font-family:'Great Vibes',cursive;font-size:clamp(58px,10vw,90px);color:#fff3d4;margin:0 0 10px}.hero-copy{font-family:'Cormorant Garamond',serif;font-size:clamp(19px,3vw,24px);line-height:1.5;color:#e5dfd0;margin:10px 0 28px}.scroll-cue{display:inline-flex;align-items:center;gap:14px;text-decoration:none;font-size:9px;letter-spacing:.19em;color:var(--gold);padding:12px 0}.scroll-cue b{font-size:18px;font-weight:300;animation:arrow 1.5s infinite}.hero-bottom-label{position:absolute;bottom:26px;font-size:9px;letter-spacing:.25em;color:#8f8c84}.hero-ornament{position:absolute;top:42%;font-family:'Cormorant Garamond',serif;font-size:clamp(90px,20vw,200px);color:#d9b66e;opacity:.12;transform:rotate(-35deg)}.ornament-left{left:2%}.ornament-right{right:2%;transform:scaleX(-1) rotate(-35deg)}.section-pad{padding:110px 22px;position:relative;z-index:1}.story{text-align:center;max-width:950px;margin:auto}.story h2,.details-section h2,.dress-card h2,.rsvp-section h2,.closing h2{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:clamp(34px,5.5vw,55px);line-height:1.12;margin:24px 0;color:var(--cream)}h2 em{font-family:'Great Vibes',cursive;font-size:1.35em;font-weight:400;color:var(--gold2)}.gold-divider{display:flex;align-items:center;justify-content:center;gap:12px;color:var(--gold);margin:28px auto}.gold-divider:before,.gold-divider:after{content:"";width:75px;height:1px;background:var(--line)}.gold-divider span{font-size:23px}.story-copy{max-width:660px;margin:0 auto;color:#d8d4cb;line-height:1.95;font-size:15px}.story-signature{font-family:'Great Vibes',cursive;color:var(--gold2);font-size:39px;margin:20px 0}.rose-line{margin:25px auto 0;color:var(--gold);font-size:23px}.details-section{text-align:center;background:linear-gradient(180deg,#ffffff03,transparent,#ffffff04)}.section-intro{color:#c8c5bd;font-family:'Cormorant Garamond',serif;font-size:22px;max-width:600px;line-height:1.5;margin:0 auto 35px}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;max-width:720px;margin:40px auto 24px}.detail-card{border:1px solid var(--line);padding:35px 20px 30px;background:linear-gradient(145deg,#ffffff08,#ffffff02);position:relative;transition:transform .3s,border-color .3s}.detail-card:before{content:"";position:absolute;inset:7px;border:1px solid #d9b66e18;pointer-events:none}.detail-card:hover{transform:translateY(-4px);border-color:#d9b66eb0}.detail-icon{font-size:34px;color:var(--gold);font-family:serif}.detail-label{font-size:9px;letter-spacing:.22em;color:var(--gold);margin:16px 0}.detail-card h3{font-family:'Cormorant Garamond',serif;font-size:49px;font-weight:400;margin:0;color:var(--cream)}.detail-card h3 small{font-size:21px;color:var(--gold2)}.detail-card h3.venue{font-size:42px;padding:5px 0}.card-line{width:40px;height:1px;background:var(--gold);margin:17px auto}.detail-note{font-family:'Cormorant Garamond',serif;color:#c7c1b5;font-size:17px;margin:0 0 8px}.text-link{font-size:11px;color:var(--gold2);text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:4px;display:inline-block;margin-top:7px}.date-pending{color:#aaa69a;font-size:12px;letter-spacing:.05em;margin-top:30px}.countdown{display:flex;justify-content:center;align-items:center;gap:clamp(10px,3vw,24px);margin:34px auto 0}.countdown div{display:flex;flex-direction:column;min-width:48px}.countdown strong{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:clamp(32px,6vw,48px);color:var(--gold2)}.countdown span{font-size:8px;letter-spacing:.14em;color:#c5bfae}.countdown i{font-style:normal;color:var(--gold);font-size:25px;margin-top:-16px}.dress-section{padding-top:50px}.dress-card{max-width:720px;margin:auto;border:1px solid var(--line);outline:1px solid #d9b66e22;outline-offset:8px;padding:clamp(35px,6vw,60px) clamp(20px,6vw,65px);text-align:center;background:radial-gradient(ellipse at 50% 0%,#d9b66e0d,transparent 60%);position:relative}.dress-flourish{font-size:25px;color:var(--gold);margin-bottom:20px}.dress-card p{max-width:490px;margin:0 auto;color:#d0cbc0;font-family:'Cormorant Garamond',serif;font-size:21px;line-height:1.6}.palette{display:flex;justify-content:center;gap:10px;margin:28px 0 18px}.palette span{width:24px;height:24px;border-radius:50%;border:1px solid #ffffff55;box-shadow:0 0 0 4px #ffffff08}.palette span:nth-child(1){background:#17243e}.palette span:nth-child(2){background:#d9b66e}.palette span:nth-child(3){background:#a32642}.palette span:nth-child(4){background:#fff3d9}.dress-card .dress-note{font-size:13px;color:#9d9a91}.rsvp-section{text-align:center;max-width:900px;margin:auto}.rsvp-form{max-width:470px;margin:35px auto 0;text-align:left;display:flex;flex-direction:column;gap:10px}.rsvp-form label{font-size:10px;letter-spacing:.08em;color:var(--gold2);margin-top:8px}.rsvp-form input,.rsvp-form select{width:100%;background:#ffffff08;border:1px solid #d9b66e65;color:var(--cream);padding:14px 13px;border-radius:0;outline:none}.rsvp-form input:focus,.rsvp-form select:focus{border-color:var(--gold)}.rsvp-form input::placeholder{color:#8d8d8b}.rsvp-form select option{background:#151e33;color:var(--cream)}.gold-button{margin-top:12px;padding:15px 18px;background:linear-gradient(135deg,#f1dca5,#c8a054);border:0;color:#17192a;letter-spacing:.04em;font-weight:600;font-size:12px;cursor:pointer;transition:filter .2s,transform .2s}.gold-button:hover{filter:brightness(1.08);transform:translateY(-2px)}.gold-button span{font-size:19px;vertical-align:middle;margin-right:7px}.form-hint{text-align:center;font-size:10px;color:#a9a69d;margin-top:6px}.closing{text-align:center;padding:65px 20px 85px;position:relative;overflow:hidden;background:radial-gradient(ellipse at center,#202b43 0%,#10172a 70%);border-top:1px solid #d9b66e2b;border-bottom:1px solid #d9b66e2b}.closing:before,.closing:after{content:"✧ ❦ ✧";position:absolute;top:50%;font-size:clamp(40px,8vw,90px);color:#d9b66e;opacity:.09}.closing:before{left:-20px;transform:rotate(-90deg)}.closing:after{right:-20px;transform:rotate(90deg)}.closing-rose{font-size:48px;filter:drop-shadow(0 0 20px #a3264255)}.closing-overline{font-size:9px;letter-spacing:.28em;color:var(--gold);margin-top:20px}.closing h2{font-size:clamp(38px,6vw,58px);margin:20px 0}.closing>p:not(.closing-overline){font-family:'Cormorant Garamond',serif;font-size:20px;color:#d1cbbf}.closing-name{font-family:'Great Vibes',cursive;color:var(--gold2);font-size:40px;margin:25px 0 35px}.back-top{text-decoration:none;font-size:9px;letter-spacing:.2em;color:var(--gold);border-bottom:1px solid var(--line);padding-bottom:8px}footer{position:relative;z-index:1;text-align:center;padding:25px 20px 30px;font-size:10px;letter-spacing:.2em;color:var(--gold)}footer span{margin:0 9px}footer small{display:block;margin-top:10px;color:#8d8c86;font-size:10px;letter-spacing:.04em}@keyframes breath{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes twinkle{0%,100%{opacity:.45;transform:scale(.85)}50%{opacity:1;transform:scale(1.15)}}@keyframes arrow{0%,100%{transform:translateY(0)}50%{transform:translateY(5px)}}.reveal{opacity:0;transform:translateY(18px);transition:opacity 1s ease,transform 1s ease}.reveal.visible{opacity:1;transform:translateY(0)}@media(max-width:600px){.topbar{padding:18px 20px}.sound-toggle{padding:9px 12px;font-size:10px}.hero:before{inset:13px}.hero:after{inset:20px}.rose-stage{height:190px;width:175px}.rose-drawing{height:190px;width:165px}.hero-ornament{opacity:.07}.section-pad{padding:78px 22px}.detail-grid{grid-template-columns:1fr;max-width:390px;gap:13px}.detail-card{padding:27px 16px}.detail-card h3{font-size:44px}.dress-section{padding-top:25px}.countdown{gap:9px}.countdown div{min-width:42px}.countdown span{font-size:7px}.closing:before,.closing:after{opacity:.05}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important;transition:none!important}}


.gallery-section{text-align:center;background:linear-gradient(180deg,#ffffff03,transparent)}
.inspiration-gallery{display:grid;grid-template-columns:1.08fr 1fr;grid-template-rows:repeat(2,minmax(180px,245px));gap:16px;max-width:900px;margin:42px auto 0;text-align:left}
.gallery-card{position:relative;overflow:hidden;margin:0;border:1px solid var(--line);background:#0b1020;min-height:0}
.gallery-card-tall{grid-row:span 2}
.gallery-card img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .7s ease,filter .7s ease;filter:saturate(.9)}
.gallery-card:hover img{transform:scale(1.045);filter:saturate(1.1)}
.gallery-card:after{content:"";position:absolute;inset:30% 0 0;background:linear-gradient(transparent,rgba(5,8,17,.9));pointer-events:none}
.gallery-card figcaption{position:absolute;bottom:0;left:0;right:0;z-index:1;padding:20px 18px 17px;color:var(--cream);font-family:'Cormorant Garamond',serif;font-size:22px}
.gallery-card figcaption span{color:var(--gold);font-family:Montserrat,sans-serif;font-size:9px;letter-spacing:.15em;margin-right:8px}
.gallery-note{font-size:11px;color:#8f8d86;margin-top:20px;letter-spacing:.04em}
@media(max-width:600px){.inspiration-gallery{grid-template-columns:1fr 1fr;grid-template-rows:repeat(2,170px);gap:9px;margin-top:30px}.gallery-card-tall{grid-row:span 2}.gallery-card figcaption{font-size:17px;padding:12px 10px}.gallery-card figcaption span{display:block;margin-bottom:4px}}


/* Galería cinematográfica integrada: marcos, brillo, recortes y capas */
.enchanted-section{position:relative;overflow:hidden;text-align:center;background:radial-gradient(ellipse at 50% 45%,rgba(174,122,47,.13),transparent 58%),linear-gradient(180deg,#0b1020,#10172b 52%,#090d19);color:#f8f0dc}
.enchanted-section .section-kicker{color:#d8bd78;letter-spacing:.22em}
.enchanted-section h2{color:#fbf1d9}
.enchanted-section .section-intro{color:#d0c6b3;max-width:620px;margin-inline:auto}
.tiny-rose{color:#d7b765}
.enchanted-stage{position:relative;isolation:isolate;max-width:900px;min-height:670px;margin:42px auto 0}
.stage-glow{position:absolute;z-index:-1;left:16%;right:16%;top:14%;height:65%;background:radial-gradient(ellipse,rgba(218,166,73,.2),rgba(119,25,42,.09) 45%,transparent 72%);filter:blur(28px)}
.feature-rose,.feature-dance,.feature-magic{position:absolute;margin:0;overflow:hidden;border:1px solid rgba(226,194,124,.8);box-shadow:0 18px 55px #0009,0 0 22px #d4a94c24;background:#080b12}
.feature-rose{width:39%;height:72%;left:4%;top:7%;z-index:2;transform:rotate(-3deg);border-radius:48% 48% 8px 8px;padding:7px}
.feature-rose img{width:100%;height:100%;object-fit:cover;object-position:center;border-radius:48% 48% 4px 4px}
.feature-dance{width:53%;height:49%;right:3%;top:2%;z-index:3;transform:rotate(2deg);padding:7px}
.feature-dance img{width:100%;height:100%;object-fit:cover;object-position:center 42%}
.feature-magic{width:43%;height:42%;right:10%;bottom:7%;z-index:4;transform:rotate(-2deg);padding:7px}
.feature-magic img{width:100%;height:100%;object-fit:cover;object-position:center 35%}
.feature-rose:after,.feature-dance:after,.feature-magic:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(5,7,14,.86));pointer-events:none}
.feature-rose figcaption,.feature-dance figcaption,.feature-magic figcaption{position:absolute;z-index:1;left:12px;right:12px;bottom:14px;color:#fff1d2;font-family:'Cormorant Garamond',serif;font-size:clamp(15px,2.2vw,23px);text-shadow:0 2px 12px #000}
.feature-rose figcaption span{display:block;font-family:Montserrat,sans-serif;font-size:9px;letter-spacing:.15em;color:#e3c77f;margin-bottom:5px}
.feature-rose figcaption small{display:block;font-size:13px}
.stage-quote{position:absolute;left:20%;bottom:0;z-index:5;color:#e3c77f;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:clamp(19px,3vw,28px);text-shadow:0 2px 10px #000;padding:10px 22px;background:#0c1120d9;border:1px solid #d2b36a66}
.floating-spark{position:absolute;color:#f4d990;text-shadow:0 0 15px #eac36b;font-size:30px;animation:nicolSpark 3.6s ease-in-out infinite;z-index:6}
.spark-a{left:47%;top:8%}.spark-b{right:5%;top:45%;animation-delay:1s}.spark-c{left:7%;bottom:12%;animation-delay:1.8s}
@keyframes nicolSpark{0%,100%{opacity:.35;transform:translateY(0) scale(.8)}50%{opacity:1;transform:translateY(-13px) scale(1.12)}}
.gallery-note{font-size:11px;color:#a9a18f;margin-top:24px;letter-spacing:.04em}
@media(max-width:620px){.enchanted-stage{min-height:520px;margin-top:28px}.feature-rose{left:1%;top:9%;width:46%;height:68%;padding:5px}.feature-dance{right:0;top:4%;width:58%;height:43%;padding:5px}.feature-magic{right:3%;bottom:9%;width:51%;height:37%;padding:5px}.feature-rose figcaption,.feature-dance figcaption,.feature-magic figcaption{font-size:16px;left:8px;right:8px;bottom:9px}.feature-rose figcaption small{font-size:10px}.stage-quote{left:5%;right:5%;bottom:0;padding:8px;font-size:19px}.spark-a{left:42%;top:5%}.spark-b{right:1%;top:48%}}
