/* Aurora · pergaminos, rosas y luz de hadas */
:root{--rose-deep:#a94e72;--paper:#fff9ef;--gold:#b08a4e;--ink:#49342c}
body{background:#f7e9e4}button:focus-visible,a:focus-visible{outline:3px solid #9c652e;outline-offset:5px}
.entry{background:#ecd2d0;color:#673d43;perspective:1200px;overflow:auto;transition:opacity .6s .7s,visibility 1.4s}
.entry:before{background:url('assets/aurora-pergamino.png') center/contain no-repeat;inset:0;z-index:1}
.entry__content{width:min(76vw,430px);padding:20px 10px 56px;z-index:3;transform:translateY(-7vh);transition:transform .8s,opacity .7s}
.entry .eyebrow{color:#9a6b39}.entry__hello{color:#78544c}.entry__pretitle{color:#895f43}.entry h1{font-size:clamp(60px,12vw,92px);text-shadow:none;color:#9f4f6c;line-height:1.05}.entry h1 span{color:#a76b49;display:block}.entry__date{letter-spacing:.12em;line-height:1.8}.entry__rule{color:#b79555}.entry__silent{color:#775344}.entry__credit{color:#88584e;bottom:20px}.entry .button{background:linear-gradient(130deg,#a55470,#75394f);color:#fff;border:1px solid #cbb17c;border-radius:40px}.entry__frame{z-index:2;border-color:#b99a63;inset:12px}.entry__frame:after{border-color:#b99a6355}.entry__sparkle{z-index:4;color:#d3b56c;animation:twinkle 3s infinite alternate}
.envelope-wing{position:absolute;z-index:2;inset:0;pointer-events:none;background:linear-gradient(135deg,#eec5d1,#c98a9d);border:1px solid #c4a46b;opacity:.5;transition:transform 1.2s,opacity 1s}.envelope-wing--left{clip-path:polygon(0 0,14% 50%,0 100%);transform-origin:left}.envelope-wing--right{clip-path:polygon(100% 0,86% 50%,100% 100%);transform-origin:right}.entry--closed .envelope-wing--left{transform:rotateY(-100deg);opacity:0}.entry--closed .envelope-wing--right{transform:rotateY(100deg);opacity:0}.entry--closed .entry__content{transform:translateY(-16vh);opacity:0}
.hero{height:auto;min-height:850px;display:grid;grid-template-columns:1fr 1fr;background:#f7e7d7;padding:90px 6vw 65px;gap:5vw;color:var(--ink)}.hero__photo{position:relative;inset:auto;width:100%;height:650px;object-fit:contain;filter:none;order:2;border:9px solid #f9efd9;outline:1px solid var(--gold);border-radius:200px 200px 12px 12px;box-shadow:0 16px 50px #7d4c3e2a;background:#efcfba}.hero__veil{background:radial-gradient(ellipse at 5% 0,#e1a7b755,transparent 55%);pointer-events:none}.hero__text{order:1;margin:0;padding:20px 0}.hero h2{font-size:clamp(76px,9vw,130px);line-height:1;color:#985875;text-shadow:none}.hero h2 em{display:block;color:#a27643}.hero__text .eyebrow{color:#a3723e}.hero__date{color:#825b4a}.hero:after{border-color:#b8985d88}.topbar{color:#825a49}.music-toggle{color:#985875;background:#fff7e9;border-color:#c9aa75}.hero__decor{display:none}.scroll-cue{margin-top:35px}.hero__tagline{color:#76524b}
.welcome,.rsvp{background:linear-gradient(90deg,#eddac755,transparent 12% 88%,#eddac755),#fff6e5;border-top:2px solid #c4a46b;border-bottom:2px solid #c4a46b;box-shadow:inset 0 14px 16px -15px #84582e,inset 0 -14px 16px -15px #84582e;position:relative}.welcome:before,.rsvp:before{content:'❧';display:block;font:52px Georgia;color:#ad8952;margin-bottom:20px}.welcome:after,.rsvp:after{content:'❧';display:block;font:52px Georgia;color:#ad8952;transform:rotate(180deg);margin-top:20px}.celebration,.song{background:#f6e5e8}.event-card{border:1px solid #b8965f;border-radius:100px 100px 8px 8px;overflow:hidden}.event-card__date{background:linear-gradient(145deg,#a85b76,#754652)}.event-card__info{padding-top:45px}.memories{background:#fff9ef}.gallery{grid-auto-rows:340px;gap:24px}.gallery__item{border:7px solid #fff3de;outline:1px solid #bb9d65;border-radius:100px 100px 6px 6px;box-shadow:0 9px 25px #714c391c}.gallery__item:first-child{grid-row:span 1}.gallery__item:nth-child(4){grid-column:span 1}.gallery__item img{object-fit:contain;background:#efd9c9}.gallery__item span{font-size:19px}.dress{background:#faeee9}.dress__choices>div{border-color:#d1b989;border-radius:60px 60px 5px 5px}.button--rose{background:#9e5671}.button--outline{border-color:#b99861;border-radius:30px}.footer{background:#63424c}.magic-dust{position:fixed;inset:0;pointer-events:none;z-index:22;overflow:hidden}.magic-particle{position:absolute;top:-30px;left:var(--x);width:5px;height:5px;border-radius:50%;background:#fff6c6;box-shadow:0 0 7px 2px #ddb36e99;animation:floatMagic var(--duration) linear infinite;animation-delay:var(--delay);opacity:0}.magic-particle.petal{width:11px;height:17px;border-radius:70% 0 70% 30%;background:linear-gradient(45deg,#d997ad,#f8d4dc);box-shadow:none}
@keyframes floatMagic{0%{transform:translate3d(0,-20px,0) rotate(0);opacity:0}15%,80%{opacity:.65}100%{transform:translate3d(70px,105vh,0) rotate(300deg);opacity:0}}@keyframes twinkle{to{opacity:.35;transform:scale(.7)}}
@media(max-width:700px){.entry:before{background-size:100% 100%}.entry__content{width:76vw;transform:translateY(-5vh)}.entry h1{font-size:64px}.entry__hello{font-size:16px}.entry .eyebrow{font-size:8px}.entry__date{font-size:8px}.hero{grid-template-columns:1fr;padding:95px 30px 65px;gap:30px;min-height:0}.hero__text{order:1}.hero__photo{order:2;height:auto;max-height:620px;aspect-ratio:3/4;border-width:6px}.hero h2{font-size:78px}.hero h2 em{display:inline}.hero__tagline{font-size:20px}.scroll-cue{margin-top:20px}.gallery{grid-template-columns:1fr 1fr;grid-auto-rows:290px;gap:16px}.gallery__item:first-child{grid-row:auto}.gallery__item span{font-size:15px;left:8px}.event-card__info{padding-top:24px}.section-pad{padding:65px 24px}}
@media(max-width:450px){.gallery{grid-template-columns:1fr;grid-auto-rows:440px;max-width:340px}.entry__content{padding-bottom:45px}.entry h1{font-size:58px;margin-bottom:14px}.entry__rule{margin-bottom:5px}.entry__hello{margin-bottom:10px}.entry__credit{font-size:7px}.entry__buttons{gap:8px}.entry .button{padding:12px 18px}}
@media(max-height:650px){.entry__content{transform:none;padding:15px 10px 40px}.entry h1{font-size:48px}.entry__hello{margin-bottom:8px}.entry__rule{display:none}.entry__date{margin-bottom:10px}}
@media(prefers-reduced-motion:reduce){.magic-dust{display:none}.envelope-wing{transition:none}.entry{transition:none}.entry__content{transition:none}}

/* Jardín vivo: los videos son decorativos y siempre silenciosos. */
.storybook-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none;z-index:0}
.entry:before{background:linear-gradient(90deg,#57363f33,transparent 30% 70%,#57363f33);z-index:1;pointer-events:none}
.entry__content{background:linear-gradient(145deg,#fff9eeeF,#fff3e5d9);border:1px solid #c49e5b;border-radius:46% 46% 18px 18px;box-shadow:0 12px 60px #53354c35,inset 0 0 35px #e9bb9160;padding:45px 22px 60px;transform:none;backdrop-filter:blur(5px)}
.entry__frame{pointer-events:none}.envelope-wing{opacity:.2}
.hero__veil{z-index:0;background:linear-gradient(90deg,#fff4e5de,#fff0e1a8)}
.hero__text{background:#fff8ebd9;padding:40px 25px;border:1px solid #c8a76f;border-radius:180px 180px 18px 18px;box-shadow:0 15px 50px #75435c19;backdrop-filter:blur(4px)}
.hero__photo{z-index:1}.hero .hero__guest{color:#78544c}
.fairytale-name{position:relative;letter-spacing:-.025em;filter:drop-shadow(0 2px 0 #fff7e4);animation:storybookTitle 1.8s both}
.fairytale-name:after{content:'';position:absolute;left:15%;right:15%;bottom:-9px;height:2px;background:linear-gradient(90deg,transparent,#b88b3d,#fff0b1,#b88b3d,transparent);transform-origin:left;animation:goldenLine 2.4s .5s both}
.fairytale-name span,.fairytale-name em{background:linear-gradient(105deg,#9d6c39 15%,#d5ab66 38%,#fff2b5 48%,#a16e3c 60%,#9d6c39 85%);background-size:240% 100%;background-clip:text;-webkit-background-clip:text;color:transparent!important;animation:nameGlow 7s 2s ease-in-out infinite}
.motion-toggle{position:fixed;right:14px;bottom:14px;z-index:24;border:1px solid #c6a16a;border-radius:30px;padding:10px 15px;background:#fff8edf2;color:#754951;font:11px var(--sans);box-shadow:0 3px 18px #39222822;cursor:pointer}
.effects-paused .magic-dust{display:none}.effects-paused *,.effects-paused *:before,.effects-paused *:after{animation-play-state:paused!important}
@keyframes storybookTitle{from{opacity:0;transform:translateY(18px) scale(.94);filter:blur(5px)}to{opacity:1;transform:none;filter:blur(0)}}
@keyframes goldenLine{from{transform:scaleX(0);opacity:0}to{transform:scaleX(1);opacity:1}}
@keyframes nameGlow{0%,35%{background-position:100% 50%}75%,100%{background-position:0% 50%}}
@media(max-width:700px){.entry__content{width:min(78vw,400px);padding:35px 17px 55px;transform:none}.hero__text{padding:35px 18px;width:100%}.hero{padding-left:24px;padding-right:24px}.hero__veil{background:#fff1e6a8}.motion-toggle{font-size:10px;padding:9px 12px}.entry__credit{font-size:7px}}
@media(max-height:650px){.entry__content{padding:20px 15px 40px}.entry h1{font-size:48px}.entry__hello{font-size:13px}}
@media(prefers-reduced-motion:reduce){.fairytale-name,.fairytale-name:after,.fairytale-name span,.fairytale-name em{animation:none}.scroll-cue span,.entry__sparkle{animation:none}}

.effects-paused .fairytale-name,.effects-paused .fairytale-name:after,.effects-paused .fairytale-name span,.effects-paused .fairytale-name em,.is-locked .hero .fairytale-name,.is-locked .hero .fairytale-name:after{animation:none!important}

/* Un único fondo continuo acompaña toda la invitación. */
body{background:#f9e9ed;isolation:isolate}
.living-background{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden;background:#f9e9ed}
.living-background .storybook-video{opacity:.44;object-position:center}
.living-background:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#fff8ee32,#fff0e633 55%,#f5e3eb40)}
.entry{background:transparent}
.entry:before{background:linear-gradient(90deg,#fff2e51a,transparent 30% 70%,#fff2e51a)}
.entry__content{background:linear-gradient(145deg,#fff9eed4,#fff3e5bd);backdrop-filter:blur(2px)}
.hero{background:transparent}.hero__veil{background:transparent}
.hero__text{background:#fff8ebbd;backdrop-filter:blur(2px)}
.welcome,.rsvp{background:linear-gradient(90deg,#eddac733,transparent 12% 88%,#eddac733),#fff6e59c}
.celebration,.song{background:#f6e5e86b}.memories{background:#fff9ef80}.dress{background:#faeee980}
.copy{color:#594248}.family-grid strong{color:#49342c}
.interactive-title{position:relative;transform-origin:center;transition:filter .35s;color:#794654}
.interactive-title.title-enchanted{animation:enchantedTitle 1.05s ease-in-out!important;filter:drop-shadow(0 3px 9px #c79a4966)}
.interactive-title.title-enchanted:before{content:'✦';position:absolute;right:5%;top:0;color:#c69943;font:22px Georgia;pointer-events:none;animation:titleSparkle 1.05s ease-out both}
.hero h2.fairytale-name{color:#985875}
@keyframes enchantedTitle{0%,100%{transform:translateY(0) rotate(0) scale(1)}35%{transform:translateY(-6px) rotate(-1deg) scale(1.025)}70%{transform:translateY(-2px) rotate(.7deg) scale(1.01)}}
@keyframes titleSparkle{0%{opacity:0;transform:translate(-8px,10px) scale(.3) rotate(0)}45%{opacity:1}100%{opacity:0;transform:translate(12px,-23px) scale(1.2) rotate(100deg)}}
@media(prefers-reduced-motion:reduce){.interactive-title{transition:none}.interactive-title.title-enchanted,.interactive-title.title-enchanted:before{animation:none!important}}
.effects-paused .interactive-title.title-enchanted,.effects-paused .interactive-title.title-enchanted:before{animation:none!important}
