html,body,main{max-width:100%;overflow-x:clip}.welcome{overflow-x:hidden!important}
.album-frame{border-radius:10px!important}.album-stage{aspect-ratio:4/5!important}.slide{object-fit:contain;background:#1e1018}
/* Texturas del lenguaje Vintage: botánica impresa y superficies de papel. */
.wallpaper{background:none!important;opacity:1!important;overflow:hidden}
.wallpaper:before,.wallpaper:after{content:'';position:absolute;inset:-100px;background-color:#875568;mask:url('assets/vintage/botanical.png') 0 0/310px 310px repeat;opacity:.16}
.wallpaper:after{transform:rotate(180deg);mask-position:150px 90px;opacity:.07}
.album .section-title,.rsvp-inner{background:radial-gradient(ellipse at center,#ba8e9b 20%,#ba8e9be8 50%,transparent 73%)}
.details:after,footer:after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:var(--gold);mask:url('assets/vintage/botanical.png') 40px 20px/350px 350px repeat;opacity:.13}
.details:after{mask-image:linear-gradient(90deg,#000,transparent 32%,transparent 68%,#000),url('assets/vintage/botanical.png');mask-composite:intersect;mask-size:100% 100%,350px 350px;mask-repeat:no-repeat,repeat}
.dark:before{opacity:.3}.paper:before{opacity:.26}
footer{padding:65px 24px 45px;min-height:280px}footer>a{font-size:54px;color:#875568}footer>span{background:#ead4d5d9;padding:7px 12px}
@media(max-width:650px){.wallpaper:before,.wallpaper:after{mask-size:245px 245px}.wallpaper:after{mask-position:120px 70px}footer:after{mask-size:265px 265px}.details:after{mask-size:100% 100%,265px 265px;opacity:.1}}
/* Entrada cinematográfica: nombres, fotografía y elección de música. */
.welcome{background:#542c40;color:#f6efd9;backdrop-filter:none;display:flex;flex-direction:column;gap:24px;justify-content:center;overflow-y:auto;padding:30px 24px;isolation:isolate;min-height:100svh}.welcome-grain{position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 30% 25%,#ba8e9b30,transparent 65%),url('assets/vintage/botanical.png') top -90px right -150px/430px no-repeat;opacity:.22;pointer-events:none}.welcome-stage{position:relative;flex-shrink:0;width:330px;height:min(430px,53svh);max-width:80vw}.welcome-film{position:absolute;inset:0;overflow:hidden;border-radius:48% 48% 3px 3px;background:#422032;box-shadow:0 22px 70px #31162455}.welcome-outline{position:absolute;inset:-12px 9px 9px -12px;border:1px solid #bca66c99;border-radius:48% 48% 3px 3px;transform:rotate(-3deg)}.welcome-title{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;z-index:2;background:linear-gradient(145deg,#704058,#422032);transition:opacity 1.1s}.welcome-title h2{font-size:clamp(52px,12vw,73px);margin:22px 0;line-height:1.05}.welcome-title h2 em{display:block;font-size:35px;color:#dac493;margin:10px 0}.welcome-date{font-size:15px;letter-spacing:.19em}.welcome-film>img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:50% 55%;opacity:0;transition:opacity 1s;filter:saturate(.86)}.welcome-film.is-photo .welcome-title{opacity:0}.welcome-film.is-photo>img{opacity:1}.welcome-spray{width:150px;right:-59px;bottom:-24px;transform:rotate(174deg);--ink:#d7c28e;opacity:.8}.welcome-spray .spray-piece{animation:branch-in 3s var(--delay) ease both}.welcome-actions{text-align:center;position:relative;z-index:2;width:min(370px,100%)}.welcome-actions>p{font:20px/1.5 Display,Georgia,serif;color:#e1ddcc;margin-bottom:18px}.welcome-actions .button{background:#ece2c8;color:#542c40;border-color:#ece2c8;width:100%;font-size:14px;gap:18px;padding:16px 20px}.welcome-actions .quiet-button{display:block;color:#eee7d5;margin:8px auto 0;padding:10px 28px;font-size:14px;border-bottom:1px solid #bca66c60}.welcome.leaving .welcome-stage{transform:scale(1.035);transition:transform .85s ease}.welcome.leaving{opacity:0;visibility:hidden;transition:opacity .85s,visibility .85s}.hero-date{font-size:22px;letter-spacing:.08em;margin:22px 0 25px;color:#fff7e2;text-shadow:0 1px 8px #17261c88}.hero-date:before,.hero-date:after{width:30px;margin:0 14px}
/* Álbum fijo: solo fundido por negro, sin zoom ni balanceo. */
.slide,.slide.active{animation:none!important;transform:none!important}.album-frame{transform:none;width:min(680px,88vw);padding:0;background:#1e1018;border-radius:46% 46% 2px 2px;overflow:hidden;box-shadow:0 20px 65px #542c4020}.album-stage{aspect-ratio:4/4.8}.album-controls{margin-top:26px}.album-spray{left:calc(50% - 435px);bottom:162px;width:230px}.album{padding-top:55px}.album .section-title h2{max-width:720px;margin:20px auto 0}.wallpaper{background-size:380px;opacity:.038}.album:after{content:'';position:absolute;inset:130px max(5%,calc((100% - 1050px)/2)) 128px;border-left:1px solid #87556870;border-right:1px solid #87556870;pointer-events:none;z-index:-1}
/* Ritmo interior: escala, composición y detalles que conectan las secciones. */
.story-copy h2{font-size:clamp(45px,6vw,78px);line-height:1.04;letter-spacing:-.025em}.story-copy{max-width:680px}.story-copy>p:not(.eyebrow){max-width:535px;margin-left:auto;margin-right:auto}.signature{margin-top:32px;padding-top:27px;position:relative}.signature:before{content:'';position:absolute;top:0;width:54px;left:calc(50% - 27px);height:1px;background:var(--gold)}.countdown{margin-bottom:100px;box-shadow:0 12px 50px #542c4010}.countdown>p{max-width:210px;font-size:20px}.count-grid strong{font-size:46px}.count-grid span{font-size:12px}.event-heading{max-width:1000px;margin:auto;display:grid;grid-template-columns:1.3fr 1fr;align-items:center;gap:70px}.event-heading .section-title{text-align:left;padding:0}.event-heading h2{font-size:clamp(44px,5.7vw,76px);line-height:1.08}.date-panel{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:370px;text-align:center;color:var(--dark);border-top:1px solid #b4a073;border-bottom:1px solid #b4a073}.date-panel:before{content:'';position:absolute;inset:15px -15px;border-top:1px solid #b4a07366;border-bottom:1px solid #b4a07366}.date-day{text-transform:uppercase;font-size:14px;letter-spacing:.26em}.date-panel strong{font:150px/.98 Display,Georgia,serif;letter-spacing:-.06em;margin:8px 0;color:#875568}.date-month{font:37px Display,Georgia,serif}.date-year{font-size:18px;letter-spacing:.32em;margin:8px 0 0 .32em}.event-columns{gap:28px;margin-top:80px;max-width:1000px;align-items:stretch}.event-columns article{position:relative;background:linear-gradient(145deg,#e4c4cbbb,#ead4d5);padding:38px 30px 42px;border-radius:130px 130px 3px 3px;border:1px solid #ba8e9b5c}.event-columns article+article{border:1px solid #ba8e9b5c;padding:38px 30px 42px;margin-top:40px;margin-bottom:-40px}.detail-number{border:1px solid #b4a073;width:36px;height:36px;line-height:34px;border-radius:50%;margin:0 auto 25px;font-size:13px}.event-columns h3{font-size:36px}.event-columns .hour{font-size:25px}.agenda{padding-top:50px}.timeline{gap:0;margin-top:65px}.timeline li{padding:30px 15px 10px}.timeline span{font-size:32px}.timeline time{font-size:16px}.agenda-spray{opacity:.3}.details .section-title h2{font-size:clamp(42px,5vw,68px)}.detail-columns{gap:60px;max-width:940px}.detail-columns h3{font-size:38px}.detail-columns article+article{padding-left:60px}.detail-columns .small-symbol{font-size:45px;margin-bottom:18px}.detail-columns .text-button{padding-top:17px}.rsvp-inner{width:min(700px,100%);margin:auto;padding:55px 24px 48px;border-top:1px solid #87556866;border-bottom:1px solid #87556866}.rsvp h2{font-size:clamp(43px,6vw,74px)}.rsvp-inner>p:not(.eyebrow){font-size:18px}.rsvp .button{min-width:250px}.closing-photo{animation:none}.eyebrow{font-size:12px}.text-button{font-size:15px}
@media(max-width:650px){.hero-date{font-size:20px;letter-spacing:.035em}.hero-date:before,.hero-date:after{width:20px;margin:0 10px}.welcome{gap:22px;padding:26px 24px}.welcome-stage{width:280px;height:min(370px,49svh)}.welcome-title h2{font-size:58px}.welcome-title .eyebrow{font-size:12px}.welcome-spray{width:125px;right:-44px;bottom:-16px}.welcome-actions{width:310px}.welcome-actions>p{font-size:19px;margin-bottom:16px}.welcome-grain{background-size:310px;background-position:top -60px right -170px}.album{padding-top:26px}.album-frame{width:87vw;margin-top:38px}.album-stage{aspect-ratio:4/5}.album-spray{width:145px;left:-42px;bottom:145px}.album:after{inset:130px 17px 119px}.story-copy h2{font-size:48px}.story-copy>p:not(.eyebrow){font-size:16px}.countdown{margin-bottom:68px}.count-grid strong{font-size:39px}.countdown>p{font-size:18px}.event-heading{display:flex;flex-direction:column;gap:40px}.event-heading .section-title{text-align:center}.event-heading h2{font-size:43px}.date-panel{width:250px;min-height:350px}.date-panel strong{font-size:154px}.date-month{font-size:38px}.date-year{font-size:19px}.event-columns{gap:26px;margin-top:60px}.event-columns article,.event-columns article+article{padding:35px 24px 38px;margin:0 auto;width:100%;max-width:345px;border:1px solid #ba8e9b5c;border-radius:130px 130px 3px 3px}.event-columns h3{font-size:34px}.timeline{display:flex;flex-direction:column;margin:45px auto 10px;max-width:285px;border-left:1px solid #a99c7470}.timeline li{border-top:0;text-align:left;display:grid;grid-template-columns:65px 1fr;gap:16px;padding:12px 0 20px 25px;align-items:center}.timeline li:before{left:-4px;top:31px}.timeline span{font-size:29px;margin:0}.timeline time{font-size:14px}.agenda{padding-top:25px}.detail-columns{gap:45px}.detail-columns article+article{padding:40px 0 0}.rsvp-inner{padding:42px 0}.rsvp h2{font-size:42px}.rsvp .eyebrow{font-size:11px}.rsvp-inner>p:not(.eyebrow){font-size:17px}}
@media(max-height:650px){.welcome{gap:14px;padding-top:18px;padding-bottom:18px}.welcome-stage{height:43svh}.welcome-title h2{font-size:43px;margin:12px 0}.welcome-title h2 em{font-size:26px;margin:5px}.welcome-actions>p{display:none}.welcome-actions .button{padding:12px 15px}}

/* Camelia: botanical ink and readable accents on rose surfaces. */
.spray{--ink:#875568}.hero-spray{--ink:#ead4d5}.welcome-spray,.closing-spray{--ink:#c8ae83}.agenda-spray{--ink:#ba8e9b}.paper .signature,.paper .hour,.paper .detail-number,.paper .small-symbol{color:#875568}.paper .date-panel strong{color:#875568}.wallpaper:before,.wallpaper:after{background-color:#875568}.welcome-grain{background:radial-gradient(ellipse at 30% 25%,#ba8e9b30,transparent 65%)}.welcome-grain:after{content:'';position:absolute;inset:0;background:#ba8e9b;mask:url('assets/vintage/botanical.png') top -90px right -150px/430px no-repeat}.music[aria-pressed=true]{color:#542c40}
