@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;700&family=Playfair+Display:ital,wght@0,500;0,700;1,500&family=Sacramento&display=swap');
:root{--ink:#193e5c;--blue:#87b9d5;--pale:#eaf5fa;--cream:#fffdf8}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:'DM Sans',sans-serif;background:var(--cream)}.hero{background:#e7f3f9;position:relative;overflow:hidden;padding:35px 7% 100px}.stars{text-align:center;color:#d4a861;font-size:20px}.hero-inner{max-width:1120px;margin:30px auto 0;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.eyebrow{font-size:11px;letter-spacing:.22em;font-weight:700;color:#6b98b3}.script{font-family:Sacramento,cursive;font-size:52px;color:#7aaac5;margin:20px 0 0}h1,h2,h3{font-family:'Playfair Display',serif;font-weight:500}h1{font-size:clamp(65px,8vw,105px);line-height:.95;margin:10px 0 25px}h1 span{display:block;font-size:.52em;font-style:italic;color:#6c9ebd}.lead{line-height:1.8;max-width:440px;color:#55748a}.date{display:flex;align-items:center;gap:15px;margin:30px 0;font-size:11px;letter-spacing:.12em;font-weight:bold}.date b{font-family:'Playfair Display';font-size:45px;color:#74a8c6}.date span{color:#8aa4b4}.button{display:inline-block;background:#426f90;color:white;text-decoration:none;border-radius:30px;padding:16px 25px;font-size:13px}.portrait{position:relative;max-width:430px}.portrait>img{width:100%;height:510px;object-fit:cover;border-radius:48% 48% 40% 40%;border:10px solid white;box-shadow:0 20px 60px #52758b30}.badge{position:absolute;bottom:25px;right:-30px;background:#fff8e7;border-radius:50%;width:115px;height:115px;display:grid;place-content:center;text-align:center;transform:rotate(10deg);font-size:12px;color:#9e8051}.badge strong{font-family:Playfair Display;font-size:20px}.wave{position:absolute;bottom:-35px;left:-5%;width:110%;height:70px;background:var(--cream);border-radius:50% 50% 0 0}.count-section,.section-heading,.memories,footer{text-align:center}.count-section{padding:70px 20px 90px}h2{font-size:clamp(36px,5vw,54px);margin:14px 0}p{color:#698398;line-height:1.7}.countdown{display:flex;justify-content:center;align-items:center;gap:18px;margin:35px auto 20px}.countdown div{background:#edf6fa;border-radius:18px;width:90px;padding:18px 5px}.countdown b{display:block;font:40px 'Playfair Display';color:#477f9f}.countdown span{font-size:11px;text-transform:uppercase;letter-spacing:.1em}.countdown i{font-style:normal;color:#9bbbd0}.small{font-size:12px;letter-spacing:.1em}.event-section{background:#f1f8fb;padding:90px 7%}.section-heading{margin-bottom:65px}.section-heading em{color:#7ca9c2}.event{max-width:1040px;margin:0 auto 90px;display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.event:last-child{margin-bottom:0}.event.reverse .event-image{order:2}.event-image{position:relative}.event-image img{width:100%;height:410px;object-fit:cover;border-radius:48% 48% 12px 12px}.event-image span{position:absolute;bottom:-20px;left:-20px;background:#fff;border-radius:50%;width:70px;height:70px;display:grid;place-items:center;font:28px 'Playfair Display';color:#8db7ce}.event-copy h3{font-size:45px;margin:12px 0}.venue{font-weight:bold;color:#426f90;font-size:18px;margin-bottom:0}.time{display:inline-block;background:#dceef6;border-radius:30px;padding:10px 20px;font-weight:bold;margin:10px 0}.link{display:inline-block;color:#477f9f;font-weight:bold;margin:8px 0 20px}.event iframe{width:100%;height:200px;border:0;border-radius:15px}.memories{padding:90px 7%}.gallery{max-width:900px;margin:40px auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.gallery img{width:100%;height:340px;object-fit:cover;border-radius:150px 150px 15px 15px}.gallery img:nth-child(2){margin-top:30px}footer{background:#e7f3f9;padding:50px 20px 65px}footer img{width:170px;mix-blend-mode:multiply}footer .script{font-size:55px}footer h2{font-size:30px}footer>p:last-child{font-size:12px;letter-spacing:.2em}@media(max-width:700px){.hero{padding:25px 7% 80px}.hero-inner{grid-template-columns:1fr;gap:35px;text-align:center}.lead{margin:auto}.date{justify-content:center}.portrait{width:80%;margin:auto}.portrait>img{height:380px}.badge{right:-20px}.event{grid-template-columns:1fr;gap:30px}.event.reverse .event-image{order:0}.event-image img{height:320px}.event-copy h3{font-size:38px}.gallery{gap:8px}.gallery img{height:200px}.countdown{gap:6px}.countdown div{width:70px}.countdown b{font-size:32px}}

/* Detalles Mickey y movimiento sutil */
footer img{border-radius:50px;animation:float 4s ease-in-out infinite;box-shadow:0 12px 30px #416b8730}.hero:after{content:'✦  ●  ✦';position:absolute;right:5%;top:12%;color:#8db9d0;font-size:26px;letter-spacing:18px;opacity:.55;animation:twinkle 3s ease-in-out infinite}.count-section:before,.memories:before{content:'✦';display:block;color:#d9b76e;font-size:26px;margin-bottom:12px;animation:twinkle 3s infinite}.event-image img,.gallery img{transition:transform .5s,box-shadow .5s}.event-image img:hover,.gallery img:hover{transform:translateY(-8px) rotate(-1deg);box-shadow:0 18px 35px #284c6530}.button{transition:transform .25s,box-shadow .25s}.button:hover{transform:translateY(-3px);box-shadow:0 10px 25px #416b8740}@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}@keyframes twinkle{0%,100%{opacity:.35;transform:scale(.95)}50%{opacity:1;transform:scale(1.08)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition:none!important}}

.mickey-float{position:absolute;width:105px;height:105px;object-fit:contain;mix-blend-mode:multiply;opacity:.9;pointer-events:none;animation:float 4.5s ease-in-out infinite}.hero{position:relative}.mickey-top{left:2%;bottom:20px}.count-section,.memories{position:relative;overflow:hidden}.mickey-side{right:3%;top:25%;width:115px}.mickey-memories{left:3%;top:20%;width:100px}@media(max-width:700px){.mickey-float{width:70px;height:70px}.mickey-top{left:auto;right:5%;bottom:8px}.mickey-side{right:0;top:4%;width:65px}.mickey-memories{left:auto;right:4%;top:3%;width:65px}}

/* Carrusel táctil para la galería */
.gallery-wrap{position:relative;max-width:900px;margin:40px auto 0;padding:0 52px}
.gallery{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;overscroll-behavior-x:contain;padding:0 0 16px}
.gallery::-webkit-scrollbar{display:none}
.gallery img{flex:0 0 calc((100% - 36px)/3);width:calc((100% - 36px)/3);height:340px;object-fit:cover;border-radius:150px 150px 15px 15px;scroll-snap-align:center;user-select:none;-webkit-user-drag:none}
.gallery img:nth-child(2n){margin-top:20px}
.gallery-arrow{position:absolute;z-index:2;top:50%;transform:translateY(-50%);width:42px;height:42px;border:0;border-radius:50%;background:#426f90;color:#fff;font-size:30px;line-height:1;cursor:pointer;box-shadow:0 5px 18px #193e5c30}
.gallery-prev{left:0}.gallery-next{right:0}
.gallery-dots{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin:18px auto 0;max-width:520px}
.gallery-dot{width:9px;height:9px;padding:0;border:0;border-radius:50%;background:#c6dce9;cursor:pointer}
.gallery-dot[aria-selected=true]{background:#426f90;transform:scale(1.3)}
.gallery-hint{font-size:12px;margin:10px 0 0}
.stars,.count-section:before,.memories:before{display:none!important}
.hero:after{content:none!important}
.mickey-float{mix-blend-mode:normal}.mickey-top{width:140px;height:140px}
footer img{border-radius:50px;box-shadow:none;mix-blend-mode:normal}
@media(max-width:700px){.gallery-wrap{padding:0 30px;margin-top:28px}.gallery{gap:12px;padding-bottom:12px}.gallery img{flex:0 0 84%;width:84%;height:min(112vw,430px);border-radius:115px 115px 16px 16px}.gallery-arrow{width:36px;height:36px;font-size:25px}.gallery-dots{max-width:90%;gap:7px}.gallery-dot{width:8px;height:8px}.mickey-top{width:100px;height:100px}.mickey-side{width:64px}.mickey-memories{width:62px}}
@media(prefers-reduced-motion:reduce){.gallery{scroll-behavior:auto}}
