:root{color-scheme:dark;font-family:Georgia,'Times New Roman',serif;background:#06251c;color:#f9e8b6}
*{box-sizing:border-box}
body{margin:0;min-height:100svh;background:radial-gradient(ellipse at top,#164b38,#041f18 70%)}
main{width:min(100%,560px);margin:0 auto;box-shadow:0 0 70px #0007}
.cover{position:relative}
.art{width:100%;height:auto;display:block}
@font-face{font-family:InvitationPhrase;src:url('phrase-italic.ttf') format('truetype');font-style:italic;font-display:swap}
.inner-art{position:relative}
.music-button{position:absolute;left:33%;top:71.9%;width:34%;height:4.9%;border-radius:6px;cursor:pointer;-webkit-tap-highlight-color:#e1bc6933}
.music-button:hover{box-shadow:inset 0 0 24px #fff3b02b}
.music-button{border:0;background:transparent;padding:0;color:#f9e8b6;font:inherit}
.music-button[aria-pressed="true"]::after{content:"Pausar música";position:absolute;inset:7% 5%;display:flex;align-items:center;justify-content:center;border-radius:30px;background:#063729;color:#ffedbc;font-size:clamp(.875rem,3.4vw,1.15rem)}
.music-button:focus-visible{outline:3px solid white;outline-offset:3px}
.music-credit{width:100%;font-size:.875rem;line-height:1.6;color:#dccb9f;text-align:center}
.music-credit summary{cursor:pointer;padding:8px}
.music-credit p{margin:8px 0}
.music-credit a{color:inherit}
.audio-fallback{display:block;width:min(90%,520px);margin:16px auto}
.music-error{width:min(90%,520px);margin:16px auto;line-height:1.5;text-align:center;color:#ffedbc}
.invitation-phrase{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;font-family:InvitationPhrase,Georgia,serif;font-style:italic;font-size:7.5px;fill:#123628}
.envelope-link{position:absolute;left:10%;top:53%;width:80%;height:30%;border-radius:3px;cursor:pointer;-webkit-tap-highlight-color:#d9b66030}
.envelope-link:focus-visible{outline:4px solid #fff3b0;outline-offset:-5px;background:#d9b66015}
.envelope-link:hover{box-shadow:inset 0 0 32px #fff3b029}
.actions{display:flex;flex-direction:column;align-items:center;gap:18px;padding:20px 20px 30px;background:#062b20;border-top:1px solid #b99a57}
.whatsapp{display:flex;align-items:center;justify-content:center;min-height:56px;width:100%;padding:16px;border:1px solid #e1bc69;background:linear-gradient(135deg,#f7e4b1,#c99d46);color:#123628;font-size:1.05rem;font-weight:bold;text-decoration:none;text-align:center;line-height:1.5;border-radius:6px;box-shadow:0 5px 20px #0005}
.whatsapp:hover{filter:brightness(1.08)}
.phone{color:#f5e2b8;font-size:1.125rem;text-underline-offset:5px}
.back{color:#dccb9f;font-size:1rem;text-underline-offset:5px;padding:8px}
.countdown{width:100%;text-align:center;scroll-margin-top:20px;padding:12px 0 8px}
.countdown h1{margin:0 0 20px;font-size:1.5rem;font-weight:normal;color:#efd595}
.countdown-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.countdown-grid div{border:1px solid #b89c59;border-radius:5px;background:#0e3a2c;padding:16px 2px 12px}
.countdown-grid strong{display:block;font-size:clamp(1.65rem,7vw,2.5rem);font-weight:normal;font-variant-numeric:tabular-nums;line-height:1.1;color:#ffe7aa}
.countdown-grid span{display:block;margin-top:9px;font-size:.875rem;color:#e6d4a8}
.countdown p{margin:16px 0 0;line-height:1.5;font-size:1rem}
.deadline{margin:0;text-align:center;font-size:1.1rem;line-height:1.6;color:#f6e3b2}
.deadline time{font-weight:bold;white-space:nowrap}
.map-link{display:flex;justify-content:center;align-items:center;width:100%;min-height:52px;padding:14px;border:1px solid #d9b660;border-radius:6px;color:#f5e0aa;text-align:center;text-decoration:none;font-size:1.05rem;line-height:1.5;background:#0b3528}
.map-link:hover{background:#164635}
.address{margin:0;text-align:center;line-height:1.6;font-size:1rem;color:#e6d4a8}
@media(max-width:330px){.countdown-grid{gap:5px}.countdown-grid span{font-size:.8rem}}
a:focus-visible{outline:3px solid white;outline-offset:5px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:600px){body{padding:24px 0}.cover,.details{border:1px solid #997b40}}
@media(prefers-reduced-motion:no-preference){.details{animation:reveal .5s ease-out}@keyframes reveal{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}}

.guest-note{width:100%;padding:22px 20px;border:1px solid #b99a5780;border-radius:8px;background:#0b3528;text-align:center}
.guest-note h2{margin:0 0 14px;color:#efd595;font-size:1.25rem;font-weight:normal;line-height:1.5}
.guest-note p{margin:0;color:#f6e3b2;font-size:1rem;line-height:1.8}
.guest-note p+p{margin-top:16px}

.gift-link{gap:12px}.gift-link svg{width:28px;height:28px;flex:none}
.gift-page{background:radial-gradient(ellipse at top,#18513c,#062b20 65%);padding:34px 24px 28px;border:1px solid #b99a57}
.gift-header{text-align:center}.gift-monogram{display:flex;align-items:center;justify-content:center;width:88px;height:88px;margin:0 auto 16px;border:1px solid #d9b660;border-radius:50%;font-family:InvitationPhrase,Georgia,serif;font-style:italic;font-size:4rem;color:#efd595;box-shadow:0 0 28px #d9b66018}
.gift-eyebrow{color:#d9b660;letter-spacing:2px;font-size:.875rem}.gift-header h1{font-size:clamp(1.9rem,7vw,2.5rem);font-weight:normal;line-height:1.2;margin:22px 0;color:#ffe7aa}.gift-header>p:last-child{font-size:1rem;line-height:1.8;color:#e6d4a8}
.gift-grid{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 16px;padding:0;margin:34px 0}.gift-grid li{text-align:center;min-width:0}.gift-symbol{width:94px;height:94px;display:flex;align-items:center;justify-content:center;margin:0 auto 14px;border:1px solid #d9b660;border-radius:50%;background:#f7e4b10b;color:#e1bc69}.gift-symbol svg{width:52px;height:52px}.gift-grid h2{font-size:1.05rem;font-weight:normal;line-height:1.5;color:#ffe7aa;margin:0}.gift-grid p{font-size:.95rem;line-height:1.6;color:#e6d4a8;margin:4px 0 0}.gift-footer{text-align:center;border-top:1px solid #b99a5755;padding-top:20px}.gift-footer p{line-height:1.7;color:#e6d4a8;margin:0 0 22px}
@media(max-width:350px){.gift-page{padding:28px 16px}.gift-grid{gap:24px 10px}.gift-symbol{width:80px;height:80px}.gift-grid h2{font-size:1rem}}
