@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400&family=Montserrat:wght@400;500;600&display=swap');
:root{--navy:#102444;--royal:#244faa;--gold:#c7ac78;--paper:#f7f5ef;--serif:'Cormorant Garamond',Georgia,serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--navy);font-family:Montserrat,Arial,sans-serif;font-size:14px;line-height:1.8}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible{outline:3px solid var(--gold);outline-offset:5px}[hidden]{display:none!important}.preview{position:fixed;top:0;width:100%;text-align:center;z-index:50;background:#eee6d4;color:#34405a;font-size:10px;letter-spacing:1px;padding:5px}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3,h4{font-family:var(--serif);font-weight:400;line-height:1.12}h2{font-size:clamp(38px,5vw,62px)}.eyebrow{display:block;font-size:10px;letter-spacing:3px;font-weight:500}.cover{min-height:100svh;background:linear-gradient(90deg,#06162bf2,#122d53b0),url('assets/foto-03.jpg') center 42%/cover;color:var(--paper);display:grid;place-items:center;text-align:center;padding:80px 20px 40px}.cover-inner{width:min(100%,640px)}.cover h1{font-size:clamp(70px,11vw,120px);margin:26px 0 0}.cover-sub{font-size:12px;letter-spacing:6px;color:var(--gold)}.cover-date{display:flex;align-items:center;justify-content:center;gap:25px;margin:30px 0 38px}.cover-date span{font-size:10px;letter-spacing:2px}.cover-date b{font:58px var(--serif);padding:0 25px;border-left:1px solid #bba67677;border-right:1px solid #bba67677}.envelope{position:relative;width:310px;height:190px;background:#e9e5dc;border:0;box-shadow:0 18px 40px #0005;overflow:hidden;color:var(--navy);transition:transform .5s}.envelope:hover{transform:translateY(-7px)}.envelope:before,.envelope:after{content:'';position:absolute;bottom:0;width:0;height:0;border-bottom:145px solid #f8f5ec}.envelope:before{left:0;border-right:310px solid transparent}.envelope:after{right:0;border-left:310px solid transparent;opacity:.6}.flap{position:absolute;inset:0;border-top:115px solid #fffdf6;border-left:155px solid transparent;border-right:155px solid transparent;filter:drop-shadow(0 3px 2px #0002)}.seal{position:absolute;top:63px;left:124px;z-index:2;background:#234878;border:5px double #b8a477;width:64px;height:64px;border-radius:50%;font:33px var(--serif);color:#d8c291;display:grid;place-items:center}.seal span{position:absolute;top:-4px;font-size:18px}.envelope-label{position:absolute;bottom:16px;left:0;right:0;z-index:3;font-size:8px;letter-spacing:2px}.hint{font-size:10px;letter-spacing:2px;margin:17px 0;color:#ddd4c2}nav{height:70px;background:var(--navy);color:white;display:flex;justify-content:space-between;align-items:center;padding:0 6%;padding-top:10px}nav a{text-decoration:none;font-size:9px;letter-spacing:2px}nav a:first-child{font:24px var(--serif)}nav a span{font-size:11px;color:var(--gold);margin-left:10px}.hero{height:90svh;min-height:620px;position:relative;background:#162941;overflow:hidden}.hero>img{width:100%;height:100%;object-fit:cover;object-position:center 38%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#081a37e8 0%,#10244444 48%,transparent),linear-gradient(0deg,#091a34bb,transparent 45%)}.hero-copy{position:absolute;left:10%;top:33%;color:white}.hero h1{font-size:clamp(78px,11vw,150px);margin:20px 0 0}.hero-copy>p{letter-spacing:6px;color:#e1c78f}.scroll{display:block;margin-top:100px;font-size:9px;letter-spacing:2px;text-decoration:none}.section{padding:100px 6%;text-align:center}.ornament{display:block;color:var(--gold);font-size:37px;margin-bottom:18px}.welcome h2{margin:25px 0}.welcome>p{max-width:600px;margin:0 auto;color:#626977;line-height:2.1}.signature{font:italic 55px var(--serif);margin:20px 0;color:var(--royal)}.countdown{display:flex;justify-content:center;gap:40px;margin-top:45px}.countdown b{display:block;font:48px var(--serif)}.countdown span{font-size:8px;letter-spacing:2px}.family{background:#edece5;padding-top:70px;padding-bottom:70px}.family-grid{display:grid;grid-template-columns:repeat(3,1fr);max-width:1000px;margin:40px auto 0}.family h3{font-style:italic;font-size:25px;color:#7a704f}.family p{font:27px/1.3 var(--serif);margin-bottom:0}.family p span{font-size:20px;color:#9e8a60}.portrait{display:grid;grid-template-columns:1fr 1fr;min-height:580px;background:var(--navy);color:#f5f2e9}.portrait img{width:100%;height:620px;object-fit:cover;object-position:center 33%}.portrait>div{display:flex;flex-direction:column;justify-content:center;padding:60px}.portrait .eyebrow{color:var(--gold);margin-bottom:30px}.portrait h2{font-size:clamp(38px,4vw,60px)}.occasions h2{margin:20px 0 8px}.year{font-size:10px;letter-spacing:4px;color:#8d7c55}.events{display:grid;grid-template-columns:1fr 1fr;max-width:1000px;margin:55px auto 0}.events article{padding:15px 35px}.events article+article{border-left:1px solid #c7ac7866}.event-icon{font-size:36px;color:#a68d5a}.events h3{font-size:34px;margin:15px}.time{font:54px var(--serif);margin:20px 0}.time small{font:12px Montserrat,Arial}.events h4{font-size:27px;min-height:62px}.events article>p:not(.time){font-size:12px;line-height:2;min-height:50px;color:#677080}.button{display:inline-block;border:1px solid #b39b69;background:transparent;color:var(--navy);padding:14px 25px;text-decoration:none;font-size:9px;letter-spacing:2px;transition:background .2s,color .2s}.button:hover{background:var(--navy);color:white}.details{background:#eaece9;display:grid;grid-template-columns:1fr 1fr;gap:60px}.details h2{margin:25px 0}.details p{color:#626977;font-size:12px}.swatches{display:flex;justify-content:center;gap:10px;margin:25px}.swatches i{background:var(--navy);width:24px;height:24px;border-radius:50%;border:3px solid white;box-shadow:0 0 0 1px #ccc}.swatches i+i{background:#244faa}.line-envelope{font-size:38px;color:#9b865b}.gallery-section h2{margin:24px 0 45px}.gallery{max-width:1100px;display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:0 auto 32px}.gallery button{background:none;padding:0;border:0;overflow:hidden;aspect-ratio:3/4}.gallery img{height:100%;width:100%;object-fit:cover;transition:transform .5s}.gallery button:hover img{transform:scale(1.045)}.rsvp{background:var(--navy);color:#fff;scroll-margin-top:35px}.rsvp h2{margin:24px 0}.rsvp>p{color:#c3ccda;font-size:12px}.rsvp form,.rsvp #family-confirm{max-width:400px;margin:30px auto 0}.rsvp label{display:block;text-align:left;font-size:11px;margin-bottom:9px}.phone-line{display:flex;align-items:center;border-bottom:1px solid #8894a5;margin-bottom:25px}.phone-line span{padding-right:15px;color:var(--gold)}.phone-line input{width:100%;padding:13px 5px;background:transparent;color:white;border:0;outline:none;letter-spacing:3px}.filled{background:var(--gold);width:100%;color:var(--navy)}.filled:hover{background:#e1c895;color:var(--navy)}.demo-note{font-size:10px!important;color:#b6c3d8!important}.rsvp select{display:block;width:100%;padding:12px;background:white;color:var(--navy);margin-bottom:20px}.rsvp h3{font-size:29px;color:#e1c895}.photo-memories h2{margin:25px 0}.photo-memories p{color:#626977;font-size:12px}.hashtag{letter-spacing:3px;margin:30px 0 0}footer{text-align:center;background:#e9e7df;padding:60px 20px}footer h2{font-size:56px;margin:0 0 20px}footer p{font-size:12px;color:#6b6f76}footer .eyebrow{margin-top:30px}.music{position:fixed;bottom:20px;right:20px;border:1px solid #c7ac78;background:var(--navy);color:var(--gold);width:46px;height:46px;border-radius:50%;font-size:22px;z-index:10}#music-panel{position:fixed;bottom:80px;right:20px;background:white;padding:30px;box-shadow:0 8px 30px #0003;max-width:300px;z-index:10;font-size:12px}#close-music{float:right;background:transparent;border:0;font-size:24px}dialog{border:0;background:#0b1529f5;color:white;width:100vw;max-width:100vw;height:100svh;max-height:100svh;padding:40px;margin:0}dialog[open]{display:flex;justify-content:center;align-items:center;gap:25px}dialog::backdrop{background:#071329ee}dialog img{max-width:80%;max-height:88svh;object-fit:contain}dialog button{border:0;background:none;color:white;font-size:40px}#close-photo{position:absolute;right:22px;top:10px}#photo-number{position:absolute;bottom:10px;left:45%;font-size:12px}@media(min-width:1000px){.hero>img{object-position:70% 36%}.hero{height:860px}.hero>img{width:62%;margin-left:38%}}@media(max-width:650px){.section{padding:70px 23px}.cover{background-position:45% center}.hero{height:88svh;min-height:650px}.hero>img{object-position:53% center}.hero-shade{background:linear-gradient(0deg,#071a37ed,transparent 75%)}.hero-copy{left:7%;top:auto;bottom:55px}.hero h1{font-size:76px}.scroll{margin-top:35px;font-size:8px}.hero .eyebrow{font-size:9px}.countdown{gap:24px}.countdown b{font-size:38px}.countdown span{font-size:7px;letter-spacing:1px}.family-grid{grid-template-columns:1fr;gap:35px}.portrait{grid-template-columns:1fr}.portrait img{height:500px}.portrait>div{padding:45px 25px}.portrait h2{margin-bottom:0}.events{grid-template-columns:1fr}.events article{padding:20px 5px 45px}.events article+article{border-left:0;border-top:1px solid #c7ac7866;padding-top:45px}.details{grid-template-columns:1fr;gap:50px}.gallery{grid-template-columns:repeat(2,1fr);gap:9px}.gallery-section h2{font-size:40px}.preview{font-size:8px;letter-spacing:.5px}.envelope{width:290px}.seal{left:114px}.cover h1{font-size:80px}.cover-date{gap:15px}.cover-date b{font-size:50px}dialog{padding:35px 5px;gap:4px}dialog img{max-width:83%}dialog button{font-size:30px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Revision: encuadres completos y confirmaciones prioritarias */
.cover{position:relative;background:#102444;overflow:hidden;isolation:isolate;min-height:850px}.cover-photo{position:absolute;right:0;top:0;width:56%;height:100%;object-fit:contain;object-position:center;background:#0c1d35;z-index:-2}.cover:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#102444 0%,#102444 40%,transparent 65%);z-index:-1}.cover-inner{margin-right:auto;width:50%;padding:30px}.cover .eyebrow{font-size:12px}.hero{height:auto!important;min-height:0!important;display:grid;grid-template-columns:1fr 1fr}.hero>img{grid-column:2;grid-row:1;width:100%!important;height:auto!important;max-height:900px;object-fit:contain!important;object-position:top center!important;margin:0!important;background:#0c1d35}.hero-copy{position:relative;grid-column:1;grid-row:1;left:auto;top:auto;bottom:auto;align-self:center;padding:65px 10%}.hero h1{font-size:clamp(65px,8vw,120px)}.hero-shade{display:none}.hero .scroll{margin-top:45px}.portrait{min-height:0;align-items:center}.portrait img{height:auto;max-height:850px;object-fit:contain;object-position:top center;background:#0c1d35}.reserved-colors{display:block;font:500 clamp(28px,3vw,40px)/1.2 var(--serif);color:var(--navy);margin-bottom:16px}.reserved-explanation{display:block;font-size:17px;line-height:1.8;color:#39465b}.swatches i{width:40px;height:40px}.rsvp{padding-top:65px;padding-bottom:65px}.rsvp h2{font-size:clamp(43px,6vw,72px)}.rsvp>p{font-size:16px}.rsvp form,.rsvp #family-confirm{max-width:480px}.rsvp label{font-size:15px}.rsvp input,.rsvp select{font-size:18px}.rsvp .filled{font-size:13px;padding:19px 15px;letter-spacing:1.3px}.sticky-rsvp{position:fixed;bottom:17px;left:50%;transform:translateX(-50%);background:#c7ac78;color:#102444;padding:13px 22px;z-index:15;text-decoration:none;font-size:11px;letter-spacing:1px;font-weight:600;box-shadow:0 4px 20px #0003;white-space:nowrap}.music{bottom:20px}.photo-memories{padding-bottom:90px}footer{padding-bottom:100px}nav a:last-child{font-size:11px}.cover-sub{font-size:15px}.cover .hint{font-size:12px}@media(max-width:650px){.cover{padding:0;min-height:100svh;display:flex;flex-direction:column}.cover-photo{position:relative;width:100%;height:auto;max-height:none;object-fit:contain;z-index:0}.cover:after{display:none}.cover-inner{width:100%;padding:30px 20px 35px;margin:0;background:linear-gradient(#102444,#0b1b33);z-index:1}.cover h1{font-size:70px;margin-top:10px}.cover .eyebrow{font-size:10px}.cover-date{margin:20px 0 28px}.cover-sub{font-size:13px}.hero{grid-template-columns:1fr;display:flex;flex-direction:column}.hero>img{width:100%;max-height:none;order:0}.hero-copy{order:1;padding:32px 25px 35px;color:#fff;background:#102444}.hero h1{font-size:76px;margin:12px 0}.hero-copy .scroll{margin-top:25px}.hero .eyebrow{font-size:11px}.portrait img{height:auto;max-height:none;width:100%}.portrait>div{padding:36px 25px}.rsvp{padding:55px 22px}.rsvp h2{font-size:47px}.rsvp>p{font-size:15px}.reserved-explanation{font-size:18px}.reserved-colors{font-size:34px}.details p{font-size:15px}.sticky-rsvp{font-size:10px;padding:14px 18px;bottom:15px}.music{right:10px;bottom:17px;width:38px;height:38px}.envelope{height:180px}.preview{font-size:8px}.gallery button{aspect-ratio:auto}.gallery img{height:auto;display:block}.gallery button:hover img{transform:none}}

/* Fondo fotografico y jerarquia solicitada */
.cover{background:#102444;min-height:100svh}.cover-photo{width:100%;height:100%;object-fit:cover;object-position:center 22%;filter:blur(2px);transform:scale(1.01)}.cover:after{background:linear-gradient(90deg,#081a35df,#10244480 65%,#10244455)}.cover-inner{width:min(100%,760px);margin:auto;padding:70px 25px 35px}.cover h1{font-size:clamp(90px,12vw,170px)}.cover-sub{font-size:clamp(20px,3vw,34px);letter-spacing:7px}.hero{display:grid;grid-template-columns:1fr 1fr;background:#102444 url(assets/foto-15.jpg) center/cover;isolation:isolate;position:relative}.hero:before{content:"";position:absolute;inset:0;background:inherit;filter:blur(15px);z-index:-2}.hero:after{content:"";position:absolute;inset:0;background:#102444bb;z-index:-1}.hero>img{background:transparent;max-height:950px}.hero-copy{background:transparent;padding:60px 7%}.hero h1{font-size:clamp(95px,10.8vw,180px);line-height:.95}.hero-copy>p{font-size:clamp(22px,2.7vw,40px);letter-spacing:5px;margin-top:30px}.details>div:nth-child(2)>h2{font-size:clamp(28px,3vw,40px);font-weight:500;line-height:1.2}.rsvp{scroll-margin-top:35px}@media(max-width:650px){.cover{display:grid;place-items:center;padding:0;min-height:100svh}.cover-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 15%;z-index:-2;filter:blur(1px)}.cover:after{display:block;background:linear-gradient(#10244466,#102444bb 45%,#07172ce8)}.cover-inner{background:transparent;width:100%;padding:70px 18px 30px}.cover h1{font-size:93px}.cover-sub{font-size:23px;letter-spacing:4px}.cover .eyebrow{font-size:9px}.hero{display:flex;flex-direction:column}.hero>img{height:auto!important;width:100%;max-height:none;object-fit:contain!important}.hero-copy{padding:35px 20px 45px;text-align:center}.hero h1{font-size:clamp(88px,24vw,150px)}.hero-copy>p{font-size:28px;letter-spacing:4px}.hero .scroll{font-size:8px;letter-spacing:1px}.details>div:nth-child(2)>h2{font-size:34px}.cover .envelope{width:290px}.cover-date{margin:25px 0 30px}}

.cover-photo{object-position:center top}@media(max-width:650px){.cover-photo{object-position:center top}}

/* Mismos tamaños en ambas columnas de detalles */
.details>div>h2,.details>div:nth-child(2)>h2{font-size:clamp(38px,5vw,62px);font-weight:400;line-height:1.12}.details>div>p,.details .reserved-explanation{font-size:18px;line-height:1.8;color:#39465b}.details .reserved-colors{font-size:clamp(28px,3vw,40px);line-height:1.2}@media(max-width:650px){.details>div>h2,.details>div:nth-child(2)>h2{font-size:40px}.details>div>p,.details .reserved-explanation{font-size:18px}.details .reserved-colors{font-size:34px}}

/* Foto entera en el sobre, sin ampliacion ni recortes */
.cover{background:#102444;min-height:100svh}.cover-photo{inset:28px 0 0;width:100%;height:calc(100% - 28px);object-fit:contain;object-position:center center;transform:none;filter:blur(2px);background:#102444}.cover:after{background:linear-gradient(90deg,#10244455,#07172c66,#10244455)}@media(max-width:650px){.cover-photo{inset:25px 0 0;width:100%;height:calc(100% - 25px);object-fit:contain;object-position:center center;transform:none;filter:blur(1.5px)}.cover:after{background:linear-gradient(#10244433,#07172c88)}}

#confirmation-frame{display:block;width:100%;max-width:580px;height:690px;border:0;margin:20px auto 0;background:#102444}.form-fallback{font-size:12px!important}.form-fallback a{color:#e1c895}@media(max-width:650px){#confirmation-frame{height:760px}}

#music-panel{width:350px;max-width:calc(100vw - 30px);padding:20px}#music-player iframe{width:100%;height:200px;border:0}#music-panel a{color:#244faa}

.confirm-link{display:block;max-width:480px;margin:35px auto 20px;text-align:center;font-size:15px!important;padding:22px 15px!important;text-decoration:none}.form-fallback{line-height:1.9}

.music[aria-pressed=true]{background:#c7ac78;color:#102444;font-size:19px}
