:root{--navy:#123f81;--ink:#16355f;--blue:#dcebf9;--paper:#f7faff;--line:#bdcfe3}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.7}h1,h2,h3,p{margin:0}h1,h2,.occasion,.signature,.detail-main{font-family:Georgia,'Times New Roman',serif;font-weight:400}a{color:inherit}a:focus-visible{outline:3px solid #3984cf;outline-offset:6px}.cover{display:grid;grid-template-columns:1fr 1fr;min-height:850px;min-height:min(900px,100svh)}.cover-copy{padding:42px 32px 50px;text-align:center;align-self:center}.monogram{font-family:Georgia,serif;font-size:29px;border:1px solid var(--line);border-radius:50%;width:60px;height:60px;margin:0 auto 35px;line-height:58px;position:relative}.monogram span{position:absolute;right:-7px;top:-8px;font-size:22px;background:var(--paper);line-height:1}.eyebrow{text-transform:uppercase;font-size:.78rem;letter-spacing:.22em;font-weight:600}.occasion{font-style:italic;font-size:1.5rem;margin:21px 0 11px}h1{font-size:clamp(3.5rem,6vw,6.4rem);line-height:.98;letter-spacing:-.045em}h1 em{font-weight:400}h1 span{display:block;font-family:Arial,sans-serif;letter-spacing:.23em;text-transform:uppercase;font-size:.88rem;line-height:1.8;margin-top:23px}.rule{display:flex;align-items:center;gap:20px;max-width:190px;margin:27px auto 20px;color:#6081ad}.rule:before,.rule:after{content:'';height:1px;background:var(--line);flex:1}.intro{font-size:.95rem;line-height:1.8}.cover-date{font-size:.86rem;letter-spacing:.16em;margin-top:25px;font-weight:600}.text-link{display:inline-block;text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:5px;font-size:.88rem;margin-top:28px}.text-link span{margin-left:16px}.cover-art{position:relative;min-height:620px;background:#b6d4ed;overflow:hidden}.cover-art img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}.art-caption{position:absolute;bottom:29px;left:24px;right:24px;text-align:center;color:white;text-shadow:0 1px 7px #123f81;font-family:Georgia,serif;font-style:italic;font-size:1.4rem}.section{padding:86px 24px;text-align:center}h2{font-size:clamp(2.2rem,4vw,3.5rem);line-height:1.15;letter-spacing:-.025em;margin:15px 0 28px}h2 em{font-weight:400}.invitation{max-width:720px;margin:auto}.invitation p:not(.eyebrow){margin:0 auto 16px;max-width:555px}.invitation strong{font-weight:500}.signature{display:block;font-size:1.5rem;font-style:italic;margin-top:27px}.countdown-section{padding:64px 24px;text-align:center;background:var(--blue)}.countdown-section h2{margin-bottom:34px}.countdown{display:grid;grid-template-columns:repeat(4,1fr);max-width:640px;margin:auto}.countdown>div+div{border-left:1px solid #9eb9d4}.countdown span{display:block;font-family:Georgia,serif;font-size:clamp(2.5rem,6vw,4.7rem);line-height:1.15;font-variant-numeric:tabular-nums}.countdown small{display:block;font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;margin-top:10px}.countdown-note{font-size:.9rem;margin-top:30px}.details{max-width:960px;margin:auto}.details-grid{display:grid;grid-template-columns:1fr 1fr;margin-top:45px}.details-grid article{padding:0 28px}.details-grid article+article{border-left:1px solid var(--line)}.detail-number{font-size:.8rem;letter-spacing:.12em;color:#51729a}.details h3{text-transform:uppercase;font-size:.83rem;letter-spacing:.18em;margin:9px 0 18px}.detail-main{font-size:2rem;line-height:1.3;margin-bottom:8px}time{display:block;font-size:1.3rem;margin-top:12px}.muted{font-size:.86rem;color:#4d6483}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;background:var(--navy);color:white;padding:13px 24px;text-decoration:none;min-height:50px;font-size:.9rem;border:1px solid var(--navy);border-radius:3px;margin-top:23px;transition:background .2s,transform .2s}.button:hover{background:#235a9d;transform:translateY(-2px)}.reserved{border-top:1px solid var(--line);padding-top:30px;margin:46px auto 0;font-size:.9rem}.reserved span{margin-right:12px}.contact{background:var(--navy);color:#fff}.contact h2{margin-bottom:20px}.contact p:not(.eyebrow){color:#e0eaf9}.button-light{background:#eef5ff;color:var(--navy);border-color:#eef5ff}.button-light:hover{background:#cfdef3}.phone{display:block;width:fit-content;margin:23px auto 0;font-size:.9rem;text-underline-offset:5px}footer{padding:35px 20px;text-align:center}footer span{font-family:Georgia,serif;font-style:italic;font-size:1.6rem}footer p{font-size:.75rem;letter-spacing:.17em;margin-top:8px}@media(min-width:1500px){.cover-copy{padding:70px}.cover{min-height:900px}}@media(max-width:700px){.cover{grid-template-columns:1fr;min-height:0}.cover-copy{padding:32px 22px 40px}.monogram{margin-bottom:24px;width:48px;height:48px;line-height:46px;font-size:25px}.occasion{margin-top:18px}h1{font-size:4.6rem}.cover-art{min-height:0;aspect-ratio:4/3}.cover-art img{object-position:50% 65%}.art-caption{font-size:1.2rem;bottom:20px}.section{padding:59px 23px}.countdown-section{padding:48px 16px}.countdown small{font-size:.75rem;letter-spacing:.02em}.details-grid{grid-template-columns:1fr;gap:32px;margin-top:32px}.details-grid article{padding:0}.details-grid article+article{border-left:0;border-top:1px solid var(--line);padding-top:32px}.reserved{margin-top:32px}h2{font-size:2.5rem}.eyebrow{letter-spacing:.17em}.contact br{display:none}}@media(max-width:360px){h1{font-size:3.9rem}.button{gap:12px;padding:13px 16px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}
/* Mariposas azules: fondo delicado con superficies claras para facilitar la lectura. */
body{background:var(--paper) url('assets/portada.png') center top/100% auto repeat-y}
.cover-copy{background:rgba(247,250,255,.87);align-self:stretch;display:flex;flex-direction:column;justify-content:center;align-items:center}
.cover-copy .monogram{flex-shrink:0}.cover-copy .rule{width:190px}
.invitation,.details{background:rgba(247,250,255,.92)}
.countdown-section{background:rgba(220,235,249,.94)}
.gift{background:rgba(235,244,255,.92);border-top:1px solid var(--line)}
.gift h2{margin-bottom:20px}.gift-main{font-family:Georgia,'Times New Roman',serif;font-size:1.8rem;font-style:italic;margin-bottom:16px}
.art-caption{color:var(--navy);text-shadow:0 1px 8px white;background:rgba(247,250,255,.78);padding:8px 12px;border-radius:3px}
footer{background:rgba(247,250,255,.92)}
@media(max-width:700px){body{background-size:auto 1050px}.gift br{display:none}}
