:root{--wine:#350e1c;--deep:#240b14;--gold:#d7b67a;--cream:#f7f0e5;--ink:#4a2630}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--wine);color:var(--cream);font-family:Arial,Helvetica,sans-serif;line-height:1.7}a{color:inherit}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--gold);outline-offset:5px}.skip{position:fixed;top:-100px;left:15px;z-index:20;background:var(--cream);color:var(--wine);padding:12px}.skip:focus{top:15px}.hero{min-height:850px;min-height:100svh;position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:130px 32px 110px;overflow:hidden;background:radial-gradient(ellipse at 50% 38%,#65253866,transparent 65%),linear-gradient(120deg,#260a15,#461326 48%,#280b16)}.hero:before,.hero:after{content:"";position:absolute;width:550px;height:550px;border:1px solid #d7b67a22;transform:rotate(45deg);pointer-events:none}.hero:before{top:-440px;left:-200px}.hero:after{bottom:-440px;right:-200px}.hero-frame{position:absolute;inset:25px;border:1px solid #d7b67a65;pointer-events:none}.hero-frame:after{content:"";position:absolute;inset:7px;border:1px solid #d7b67a22}.ornament{color:var(--gold);font-size:32px}.ornament-top{margin-bottom:35px}.eyebrow{font-size:10px;letter-spacing:.28em;font-weight:500;line-height:1.8;color:var(--gold)}h1,h2,.signature,footer p{font-family:Georgia,'Times New Roman',serif;font-weight:400}h1{font-size:clamp(58px,9vw,110px);line-height:1.08;margin:30px 0 28px;letter-spacing:-.045em}h1>span:last-child{display:block}.amp{display:block;font-size:.54em;color:var(--gold);font-style:italic;margin:9px 0;letter-spacing:0}.rule{display:flex;align-items:center;gap:18px;color:var(--gold);width:190px}.rule:before,.rule:after{content:"";height:1px;background:#d7b67a70;flex:1}.hero-date{font-size:19px;letter-spacing:.2em;margin:22px 0 15px}.hero-date span{color:var(--gold);padding:0 7px}.hero-place{font-family:Georgia,serif;font-size:20px;margin:0}.hero-place span{display:block;font-family:Arial,sans-serif;font-size:10px;letter-spacing:.2em;margin-top:8px;text-transform:uppercase}.discover{position:absolute;bottom:47px;text-decoration:none;font-size:9px;letter-spacing:.22em;color:var(--gold)}.discover span{display:block;font-size:24px;margin-top:8px;animation:drift 3s ease-in-out infinite}.music{position:fixed;right:15px;top:15px;z-index:10;display:flex;align-items:center;gap:9px;border:1px solid #d7b67a80;border-radius:30px;background:#2b0c18ee;color:var(--cream);padding:10px 16px;cursor:pointer;font-size:11px;box-shadow:0 5px 20px #0002}.music>span:first-child{color:var(--gold);font-size:18px;line-height:1}.audio-status{position:fixed;right:15px;top:62px;z-index:11;max-width:270px;font-size:12px;background:var(--cream);color:var(--wine);border-radius:8px;padding:0 12px}.audio-status:empty{display:none}section:not(.hero){padding:90px 25px;text-align:center}h2{font-size:clamp(32px,5vw,48px);line-height:1.25;margin:20px 0 25px;letter-spacing:-.025em}.intro{background:var(--cream);color:var(--ink)}.intro .eyebrow{color:#876126}.intro>p:not(.eyebrow){max-width:480px;margin:20px auto;font-size:15px}.intro .signature{font-size:25px!important;font-style:italic}.countdown{display:flex;justify-content:center;gap:0;max-width:470px;margin:50px auto 0}.countdown div{flex:1;border-right:1px solid #b996603b}.countdown div:last-child{border:0}.countdown strong{display:block;color:var(--wine);font-family:Georgia,serif;font-weight:400;font-size:38px;line-height:1.3;font-variant-numeric:tabular-nums}.countdown span{font-size:8px;letter-spacing:.13em;color:#795b48}.venue{background:linear-gradient(135deg,#3d1020,#290c17);position:relative}.arch{width:250px;height:205px;margin:0 auto 30px;border:1px solid #d7b67a65;border-radius:150px 150px 0 0;display:flex;align-items:flex-end;padding:18px}.arch svg{stroke:var(--gold);stroke-width:1;opacity:.85}.venue>p:not(.eyebrow){font-size:14px;color:#e4d4ca}.date-detail{margin:38px auto;display:flex;justify-content:center;align-items:center;gap:35px}.date-detail p{font-size:9px;letter-spacing:.15em}.date-detail strong{display:block;font-family:Georgia,serif;font-size:19px;letter-spacing:0;font-weight:400;margin-top:8px}.date-detail>span{color:var(--gold)}.button{min-height:51px;display:inline-flex;align-items:center;justify-content:center;gap:24px;padding:13px 27px;text-decoration:none;font-size:12px;letter-spacing:.04em;cursor:pointer;transition:background .25s,transform .25s}.button:hover{transform:translateY(-2px)}.outline{border:1px solid var(--gold);color:var(--gold)}.outline:hover{background:#d7b67a12}.text-link{display:block;width:fit-content;margin:22px auto 0;text-underline-offset:5px;font-size:11px;color:#e3c99e}.rsvp{background:#efe5d7;color:var(--ink)}.rsvp .eyebrow{color:#876126}.spark{font-size:28px;color:#a17c41}.rsvp>p:not(.eyebrow){font-size:14px}form{max-width:390px;margin:35px auto 0;text-align:left}label{display:block;font-size:12px;margin:20px 0 7px}input,select{width:100%;min-height:50px;border:1px solid #a98a6b80;background:#fbf7f0;color:var(--ink);border-radius:0;padding:12px;font-size:16px}.gold{background:var(--wine);color:var(--cream);border:1px solid var(--wine);width:100%;margin-top:25px}.gold:hover{background:#581c30}.small{font-size:11px;line-height:1.7;color:#745d56}.rsvp .small{text-align:center}footer{text-align:center;padding:45px 20px 50px;background:var(--deep)}footer p{font-size:23px;margin:10px 0}footer>span{font-size:8px;letter-spacing:.2em;color:var(--gold)}.entrance{animation:arrive 1.2s ease both}.hero h1{animation-delay:.15s}.hero .rule{animation-delay:.3s}.hero-date{animation-delay:.4s}.hero-place{animation-delay:.5s}.js .reveal{opacity:0;transform:translateY(20px);transition:opacity .9s,transform .9s}.js .reveal.visible{opacity:1;transform:none}@keyframes arrive{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:none}}@keyframes drift{50%{transform:translateY(6px)}}@media(max-width:420px){.hero{padding-left:28px;padding-right:28px;min-height:820px;min-height:100svh}h1{font-size:60px}.eyebrow{font-size:9px}.hero-frame{inset:16px}.date-detail{gap:17px}.date-detail strong{font-size:17px}.countdown strong{font-size:32px}section:not(.hero){padding:75px 22px}.music{font-size:10px}.hero-date{font-size:17px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js .reveal{opacity:1;transform:none}}

/* Portada de apertura; sin JavaScript la invitación sigue accesible. */
[hidden]{display:none!important}.welcome-open{overflow:hidden}.welcome{position:fixed;inset:0;z-index:30;overflow:auto;display:grid;place-items:center;min-height:100svh;padding:28px;background:radial-gradient(ellipse at 50% 35%,#66273b,#350e1c 65%,#240b14);text-align:center}.welcome-card{width:min(100%,480px);border:1px solid #d7b67a80;padding:45px 22px;box-shadow:0 0 0 7px #d7b67a0c;animation:arrive 1s ease both}.welcome-card h2{font-size:clamp(42px,8vw,62px);margin:22px 0;line-height:1.18}.welcome-card h2 em{color:var(--gold);font-weight:400}.welcome-date{font-size:12px;letter-spacing:.25em;margin:25px 0 35px;color:var(--gold)}.welcome-card .button{width:100%;gap:8px;padding:14px 10px}.silent{background:none;border:0;cursor:pointer;padding:8px;text-decoration:underline;min-height:44px}

textarea{font:inherit;box-sizing:border-box;width:100%;min-height:96px;border:1px solid #a98a6b80;background:#fbf7f0;color:var(--ink);border-radius:0;padding:12px;font-size:16px;line-height:1.5;resize:vertical}textarea:focus-visible{outline:3px solid var(--gold);outline-offset:5px}

.preview-badge{position:fixed;bottom:12px;left:50%;transform:translateX(-50%);z-index:40;padding:7px 14px;border:1px solid #d7b67a80;border-radius:30px;background:#240b14ee;color:#f7f0e5;white-space:nowrap;font:10px/1.6 Arial;pointer-events:none}
