@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Montserrat:wght@400;500;600&display=swap');
:root{--ink:#554a3e;--muted:#776957;--cream:#f6f2ea;--gold:#9a7e59;--line:#d8cbb8}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{margin:0;background:var(--cream);color:var(--ink);font-family:Montserrat,Arial,sans-serif;font-size:14px;line-height:1.9}a{color:inherit}header{position:absolute;z-index:3;top:0;width:100%;padding:22px 6%;display:flex;justify-content:space-between;align-items:center}.brand{text-decoration:none;font:26px Georgia,serif;letter-spacing:3px}.brand span{font-style:italic;font-size:20px}.nav-link{font-size:10px;letter-spacing:1px;text-decoration:none;border-bottom:1px solid var(--line);padding:7px 0}main{overflow:hidden;position:relative}section,footer{position:relative;padding:95px 24px;text-align:center}section>*{position:relative;z-index:1}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;line-height:1.12}h1{font-size:clamp(46px,6.8vw,84px);letter-spacing:-2px}h1 em{font-size:.7em;color:var(--gold)}h2{font-size:clamp(37px,4.5vw,55px);margin:15px 0 24px}h2 em{color:#8a7458;font-weight:400}h3{font-size:30px}p{max-width:540px;margin:0 auto}.eyebrow{font-size:10px;letter-spacing:3px;font-weight:500;line-height:1.8}.hero{min-height:100vh;padding-top:115px;padding-bottom:55px;background:radial-gradient(ellipse at 50% 35%,#fff 0%,#fbf9f480,transparent 68%)}.bird{display:block;width:min(330px,65vw);margin:18px auto 10px;mix-blend-mode:multiply}.hero h1{margin:12px 0 18px}.hero-line{font-family:'Cormorant Garamond',Georgia,serif;font-size:23px;line-height:1.4}.date{margin:30px auto 25px;display:flex;align-items:center;justify-content:center;gap:20px}.date span{font-size:10px;letter-spacing:2px}.date strong{border-left:1px solid var(--line);border-right:1px solid var(--line);padding:0 20px;font:25px 'Cormorant Garamond',Georgia,serif}.date i{font-style:normal;color:#c3b298;padding:0 4px}.scroll{text-decoration:none;font-size:10px;letter-spacing:1px}.scroll span{display:block;font-size:24px}.story{padding-top:105px;background:linear-gradient(transparent,#fff9,transparent)}.story h2{font-size:clamp(34px,4.3vw,52px)}.ornament{display:block;font:36px Georgia,serif;color:var(--gold);margin-bottom:25px}.parents{margin-top:35px;font-size:11px}.parents strong{display:block;margin-top:12px;font:23px/1.4 'Cormorant Garamond',Georgia,serif}.parents span{font-style:italic;color:var(--gold)}.event{background:#e9e0d040}.location{max-width:580px;margin:38px auto 0;padding:35px 20px;border:1px solid var(--line);border-radius:140px 140px 8px 8px;background:#ffffff6b}.location>span:first-child{display:block;font-size:35px;color:var(--gold)}.location p{margin:15px auto}.pending{font-size:9px;letter-spacing:1.8px;color:var(--muted);display:block;margin:22px auto 0;max-width:390px}.schedule ol{list-style:none;max-width:600px;padding:0;margin:45px auto 0;text-align:left}.schedule li{display:grid;grid-template-columns:1fr 1.15fr;gap:32px;padding:25px 0;border-bottom:1px solid var(--line)}time{font-size:16px;align-self:center;text-align:right}time small{font-size:10px}li div>span{font-size:10px;letter-spacing:2px;color:var(--gold)}.schedule h3{margin:4px 0 8px}.schedule li p{font-size:11px;line-height:1.7}.dress{background:#eee6d880}.outfits{display:block;width:320px;max-width:85%;margin:35px auto 20px}.swatches{list-style:none;padding:0;display:flex;justify-content:center;gap:20px;margin:28px 0 0;font-size:10px}.swatches i{display:block;width:33px;height:33px;background:var(--swatch);border:1px solid #c9bca7;border-radius:50%;margin:0 auto 8px}.rsvp>p{max-width:610px}.rsvp form{max-width:610px;margin:35px auto 0;text-align:left}fieldset{border:0;padding:0;margin:0}.teams{display:grid;grid-template-columns:1fr 1fr;gap:16px}.teams label{position:relative;cursor:pointer}.teams input{position:absolute;top:19px;right:17px;accent-color:var(--gold);width:16px;height:16px}.teams label>span{display:flex;flex-direction:column;min-height:163px;padding:24px 18px;border:1px solid var(--line);border-radius:75px 75px 5px 5px;text-align:center;transition:.2s;background:#fff7}.teams b{font:32px 'Cormorant Garamond',Georgia,serif;margin-top:9px}.teams small{font-size:10px;margin:10px 0}.teams i{font-size:9px;color:var(--muted);font-style:normal}.teams input:checked+span{background:#e5d9c5;border-color:#93764f;box-shadow:0 0 0 2px #93764f}.selection{text-align:center;font-size:11px;margin:20px 0 28px;color:var(--muted)}.field{display:block;font-size:11px;margin:20px 0 8px;font-weight:500}.field span{font-weight:400;color:var(--muted)}input:not([type=radio]),textarea{width:100%;font:13px/1.7 Montserrat,Arial,sans-serif;border:1px solid var(--line);background:#fff9;border-radius:3px;padding:15px;color:var(--ink)}textarea{resize:vertical}input:focus-visible,textarea:focus-visible,a:focus-visible,button:focus-visible{outline:2px solid #947450;outline-offset:4px}.teams label:focus-within>span{outline:2px solid #947450;outline-offset:4px}.count{text-align:right;font-size:10px;color:var(--muted);margin:4px 0 20px}.button{display:inline-flex;align-items:center;justify-content:center;gap:25px;padding:17px 27px;background:#80684c;border:1px solid #80684c;border-radius:3px;color:white;text-decoration:none;font:500 11px/1.7 Montserrat,Arial,sans-serif;letter-spacing:1px;cursor:pointer}.button:hover{background:#665239}.rsvp .button{width:100%}.note{font-size:10px;line-height:1.8;text-align:center;margin-top:15px;color:var(--muted)}.memories{background:linear-gradient(#efe7d9a0,#fff6)}footer{padding:80px 24px 35px}footer h2{font-size:38px}footer>p{font:italic 27px 'Cormorant Garamond',Georgia,serif;margin-bottom:20px}footer small{display:block;font-size:9px;margin-top:55px;color:var(--muted)}.sky{position:fixed;inset:0;overflow:hidden;pointer-events:none}.sky i{position:absolute;width:550px;height:200px;border-radius:50%;background:radial-gradient(ellipse,#fff 15%,#fff9 38%,transparent 70%);filter:blur(13px);animation:drift 22s ease-in-out infinite alternate}.sky i:before,.sky i:after{content:'';position:absolute;background:inherit;border-radius:50%;width:65%;height:160%;top:-70px;left:20%}.sky i:after{left:-10%;width:55%;top:-30px}.sky i:nth-child(1){top:13%;left:-240px}.sky i:nth-child(2){top:38%;right:-250px;animation-delay:-8s}.sky i:nth-child(3){bottom:-20px;left:0;width:90%}.sky i:nth-child(4){top:-90px;right:0}.sky i:nth-child(5){top:64%;left:-300px;animation-delay:-14s}.sky i:nth-child(6){top:80%;right:-200px;animation-delay:-4s}@keyframes drift{to{transform:translate(45px,15px)}}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(max-width:600px){section{padding:70px 22px}.hero{padding-top:100px;min-height:850px;min-height:100svh}.bird{width:245px}.eyebrow{font-size:9px;letter-spacing:2px}.date{gap:10px}.date span{font-size:9px}.date strong{padding:0 12px;font-size:23px}.hero h1{font-size:49px}.schedule li{gap:20px;grid-template-columns:1fr 1.25fr}time{font-size:13px}.schedule h3{font-size:26px}.swatches{gap:17px}.teams{gap:12px}.teams label>span{padding:23px 10px 15px;min-height:175px}.teams b{font-size:29px}.teams small{font-size:10px;line-height:1.7}.teams input{right:15px;top:20px}.nav-link{font-size:9px;letter-spacing:0}.story h2 br:first-child{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.sky i{animation:none}}
/* Segunda edición: portada, nubes y selección inmersiva */
body{background:#faf6ee url('nubes.png') center top/100% auto repeat-y}.sealed{overflow:hidden}.opening{position:fixed;z-index:20;inset:0;overflow-y:auto;background:#f9f3e8 url('nubes.png') center/cover;display:grid;place-items:center;padding:40px 20px;transition:opacity .8s,transform 1s}.opening-arch{width:min(560px,100%);text-align:center;border:1px solid #c9ad84;border-radius:280px 280px 10px 10px;outline:1px solid #dec8aa;outline-offset:7px;padding:55px 30px 28px;background:#fffaf05c;box-shadow:0 20px 80px #a9916b12;position:relative}.seal{font:29px 'Cormorant Garamond',Georgia,serif;background:#f6efdf;border:1px solid #ccb794;border-radius:50%;width:77px;height:77px;display:grid;place-content:center;position:absolute;top:-35px;left:calc(50% - 38px);box-shadow:0 4px 12px #8e755429}.seal em{font-size:19px}.opening-bird{display:block;width:clamp(150px,24vh,260px);margin:15px auto 0;mix-blend-mode:multiply}.opening h1{font-size:clamp(42px,7vh,67px);line-height:1.02;letter-spacing:-1px}.opening-phrase{font:italic 23px/1.3 'Cormorant Garamond',Georgia,serif;margin:18px auto}.open-button{border-radius:40px;min-width:240px;font-size:13px;margin-top:25px;box-shadow:0 7px 25px #7f644833;animation:invite-glow 3s ease-in-out infinite}.opening small{display:block;font-size:9px;letter-spacing:1px;margin-top:15px}.opening.departing{opacity:0;transform:scale(1.1);pointer-events:none}body.entered header{position:relative;background:#fff7}body.entered .hero{min-height:auto;padding-top:50px;padding-bottom:65px}.hero,.story,.event,.schedule,.dress,.rsvp,.memories,footer{background-color:transparent}.hero{background-image:linear-gradient(#fff5,#fff2)}section:not(.hero):before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at center,#fffaf0bd,transparent 75%);pointer-events:none}.location{background:#fffaf0a6}.rsvp{transition:background-color .6s}.rsvp[data-team="niña"]{background-color:#fce5ed70}.rsvp[data-team="niño"]{background-color:#e2effb80}.team-instruction{text-align:center;font-size:10px;letter-spacing:3px;margin-bottom:25px}.teams{gap:24px;perspective:1000px}.teams label>span.team-card{border-radius:100px 100px 18px 18px;min-height:310px;padding:35px 18px 24px;position:relative;overflow:hidden;transition:transform .45s,box-shadow .45s,opacity .4s,border-color .3s;box-shadow:0 12px 30px #785a3b0d}.team-card.girl{--team:#aa426b;--soft:#f4cade;background:linear-gradient(155deg,#fff4f8,#f4cadb)!important;color:#773b55}.team-card.boy{--team:#356d9f;--soft:#c5dff2;background:linear-gradient(155deg,#f1f9ff,#c3ddf4)!important;color:#345b7f}.team-card:before{content:'';position:absolute;width:110px;height:110px;border-radius:50%;background:#ffffff50;left:-35px;bottom:35px;box-shadow:200px -125px 0 10px #ffffff40}.teams input{top:23px;right:23px;z-index:2;accent-color:#665645}.team-icon{font:58px/1 Georgia,serif;margin:9px 0 15px;display:block}.team-kicker{font-size:8px;letter-spacing:1.5px}.teams b{font-size:44px;margin-top:7px}.teams small{font-size:12px;letter-spacing:2px;margin:5px 0 14px}.gift{font-size:11px;min-height:42px;display:grid;align-content:center}.teams i{font-size:10px;color:inherit;border:1px solid currentColor;border-radius:30px;padding:6px 10px;margin-top:14px}.teams input:checked+.team-card{transform:translateY(-10px) rotate(-2deg);border-color:var(--team);box-shadow:0 20px 45px color-mix(in srgb,var(--team) 25%,transparent),0 0 0 3px var(--team)}.teams input:checked+.boy{transform:translateY(-10px) rotate(2deg)}.teams label:has(input:not(:checked)):has(~label input:checked)>.team-card,.teams:has(input:checked) label:has(input:not(:checked))>.team-card{opacity:.65;transform:scale(.95)}.teams label:hover>.team-card{transform:translateY(-6px)}.chosen{display:none;font-size:11px;font-weight:600;margin-top:13px}.teams input:checked+.team-card .chosen{display:block}.teams input:checked+.team-card i{display:none}.team-reveal{text-align:center;padding:30px 15px 5px;animation:reveal-in .55s ease-out}.team-reveal>span{font-size:35px;line-height:1.3}.team-reveal h3{font-size:36px;margin:6px 0 12px}.team-reveal p{font-size:11px}.continue-link{font-size:10px;display:inline-block;margin-top:18px;text-underline-offset:5px}#celebration{position:fixed;inset:0;z-index:30;pointer-events:none;overflow:hidden}.confetti{position:absolute;top:30%;left:50%;width:8px;height:12px;background:var(--particle);border-radius:2px;animation:confetti-fly 1.5s ease-out forwards;transform:rotate(var(--rot))}.selection{margin-bottom:28px}.rsvp .field{font-size:12px}.rsvp form>input,.rsvp textarea{background:#fffaf5db}section{scroll-margin-top:15px}@keyframes confetti-fly{from{opacity:1;transform:translate(0,0) rotate(0deg)}to{opacity:0;transform:translate(var(--x),var(--y)) rotate(var(--rot))}}@keyframes reveal-in{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:none}}@keyframes invite-glow{50%{box-shadow:0 7px 30px #7f644866;transform:translateY(-2px)}}@media(max-width:600px){body{background-size:auto 1200px}.opening{padding:48px 23px 25px}.opening-arch{padding:48px 18px 24px}.opening h1{font-size:47px}.opening .eyebrow{font-size:9px}.opening-phrase{font-size:22px}.teams{gap:14px}.teams label>span.team-card{padding:29px 10px 20px;min-height:295px}.teams b{font-size:35px}.team-kicker{font-size:7px;letter-spacing:.8px}.team-icon{font-size:49px}.teams small{font-size:10px}.gift{font-size:10px;min-height:43px}.teams i{font-size:9px;padding:6px}.teams input{right:15px;top:20px}.team-reveal h3{font-size:32px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.confetti{display:none}.opening.departing{transform:none}}
.seal{display:flex;align-items:center;justify-content:center;gap:3px}.teams:has(input:checked) label:has(input:not(:checked))>.team-card{opacity:.85}
