:root{--ink:#102b27;--gold:#d7b879;--paper:#f1e5cc;--muted:#c1cabc}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--ink);color:var(--paper);font-family:Georgia,'Times New Roman',serif;line-height:1.6}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}a{color:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #f2c86e;outline-offset:5px}header{position:absolute;inset:0 0 auto;display:flex;justify-content:space-between;align-items:center;max-width:900px;margin:auto;padding:20px 24px;z-index:2}header button{border:1px solid #6a796a;border-radius:30px;background:transparent;color:var(--paper);font:11px system-ui;min-height:44px;padding:10px 12px;margin-left:5px}.brand{text-decoration:none;font-size:30px}.brand span{color:var(--gold);font-size:14px}.stars{position:fixed;inset:0;pointer-events:none;opacity:.4;background-image:radial-gradient(circle at 15% 20%,#dac68e 0 1px,transparent 2px),radial-gradient(circle at 82% 47%,#dac68e 0 1px,transparent 2px),radial-gradient(circle at 44% 78%,#dac68e 0 1px,transparent 2px);background-size:280px 380px;animation:drift 16s ease-in-out infinite alternate}main{position:relative;max-width:780px;margin:auto}section,footer{text-align:center;padding:80px 28px}.opening{padding-top:125px;min-height:95svh}.eyebrow,.micro{font:10px/1.7 system-ui;letter-spacing:2.5px}.eyebrow{color:var(--gold)}.ornament{font-size:53px;color:var(--gold);margin:18px 0}.intro{font-size:17px;color:var(--muted)}h1,h2,h3,p{margin-top:0}h1{font-weight:400;font-size:clamp(58px,12vw,88px);line-height:1.02;letter-spacing:-2px;margin-bottom:24px}h2{font-weight:400;font-size:clamp(39px,8.5vw,58px);line-height:1.12;letter-spacing:-1.3px;margin-bottom:24px}h3{font-size:23px;font-weight:400}em{font-weight:400;color:var(--gold)}.opening-copy{color:var(--muted);font-size:15px}.envelope{display:block;position:relative;width:280px;height:166px;margin:36px auto 25px;background:linear-gradient(145deg,#f5e8c8,#cabb95);border:0;border-radius:3px;box-shadow:0 20px 45px #0005;color:var(--ink);transform:rotate(-3deg);transition:transform .7s}.envelope:hover{transform:rotate(0) translateY(-5px)}.envelope-lines{position:absolute;inset:0;overflow:hidden}.envelope-lines:before{content:'';position:absolute;width:200px;height:200px;border:1px solid #a18a63;transform:rotate(45deg);left:40px;top:-135px}.seal{position:absolute;left:calc(50% - 29px);top:48px;background:#792c2d;color:#e5bb82;border:5px double #9d5150;border-radius:50%;width:58px;height:58px;font-size:29px;line-height:48px;box-shadow:2px 4px 5px #0004}.envelope-caption{position:absolute;bottom:15px;left:0;width:100%;font:9px system-ui;letter-spacing:3px}.micro span{margin:0 10px;color:var(--gold)}.letter{background:var(--paper);color:var(--ink);padding:36px 26px;margin-top:40px;box-shadow:0 12px 50px #0004}.letter .eyebrow{color:#68532e}.letter h2{font-size:35px}.signature{font-style:italic;font-size:30px}.button{display:inline-flex;justify-content:center;align-items:center;gap:15px;background:var(--gold);color:#172b24;border:1px solid var(--gold);border-radius:3px;padding:16px 22px;text-decoration:none;font:14px/1.4 system-ui;min-height:52px}.button:hover{filter:brightness(1.08)}.news-section{background:var(--paper);color:var(--ink);position:relative}.news-section .eyebrow,.news-section em{color:#785b2e}.newspaper{margin:30px 0 20px;box-shadow:0 15px 28px #3c2b2230;transform:rotate(-1.2deg);animation:paper 8s ease-in-out infinite alternate}.newspaper img{display:block;width:100%;height:auto}.newspaper figcaption{padding:12px 8px;font-size:11px;background:#dcccaa}.text-link{font:12px/1.5 system-ui;text-underline-offset:5px;display:inline-block;padding:13px 0}.event{background:#183831}.date{display:flex;flex-direction:column}.date span{font:11px system-ui;letter-spacing:3px}.date strong{font-size:120px;line-height:1.2;font-weight:400;color:var(--gold)}.time{font-size:40px;margin:20px 0 0}.time small{font-size:20px}.rule{display:flex;align-items:center;gap:18px;max-width:210px;margin:35px auto;color:var(--gold)}.rule:before,.rule:after{content:'';height:1px;background:#77816a;flex:1}.light{margin-top:14px}.map-note{letter-spacing:.5px;font-size:10px;margin:10px 0}.event>.text-link{display:block}.count-section{padding:75px 20px}.count{display:flex;justify-content:center;margin:35px 0;gap:20px}.count>div{min-width:50px}.count strong{display:block;font-size:38px;font-weight:400;color:var(--gold);font-variant-numeric:tabular-nums}.count span{font:8px system-ui;letter-spacing:1.5px}.count-section>p:last-child{font-size:14px;color:var(--muted)}.rsvp{background:#eaddc2;color:var(--ink)}.rsvp .eyebrow,.rsvp em{color:#775c30}form{max-width:420px;margin:35px auto 0;text-align:left}label{display:block;font:13px system-ui;margin:23px 0 9px}input,select{width:100%;min-height:52px;border:1px solid #8d8e7b;border-radius:3px;background:#f7eedc;color:#18332b;padding:12px;font:16px system-ui}.privacy{font:12px/1.7 system-ui;color:#4b574d;margin:23px 0}form .button{width:100%;background:var(--ink);color:var(--paper);border-color:var(--ink)}.trap{position:absolute;left:-10000px}#form-status{font:14px/1.6 system-ui;margin:18px 0 0}footer{padding-bottom:130px}footer>p{color:var(--muted)}footer .signature{font-size:48px;color:var(--gold)}footer .text-link{display:block}.fine{font:10px system-ui;margin-top:40px}.bottom{position:fixed;z-index:5;bottom:0;left:0;right:0;display:flex;justify-content:center;gap:25px;padding:14px 12px calc(14px + env(safe-area-inset-bottom));background:#102b27f5;border-top:1px solid #67715a}.bottom a{font:12px system-ui;text-decoration:none;padding:8px 0}.bottom a:last-child{color:var(--gold)}.skip{position:absolute;left:10px;top:-100px;z-index:9;background:var(--paper);color:var(--ink);padding:12px}.skip:focus{top:10px}.noscript{padding:20px;background:var(--paper);color:var(--ink)}[hidden]{display:none!important}@keyframes drift{to{transform:translateY(-30px)}}@keyframes paper{to{transform:rotate(.8deg) translateY(-4px)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}html.still{scroll-behavior:auto}.still *{animation:none!important;transition:none!important}@media(min-width:700px){section,footer{padding-left:100px;padding-right:100px}.opening{padding-top:140px}header{padding-inline:40px}.count{gap:35px}}

/* Recorrido: una sola escena visible en cada momento. */
header{position:relative}main{min-height:calc(100svh - 90px)}[data-step]{min-height:calc(100svh - 90px);padding-top:50px;padding-bottom:110px;animation:arrive .65s ease-out}.opening{padding-top:35px}.letter{margin:0;text-align:center;border:16px solid var(--ink);box-shadow:none}.letter h2{font-size:clamp(36px,8vw,54px)}.step-next{display:flex;margin:25px auto 0}.later{border:0;background:transparent;color:inherit;cursor:pointer}.bottom{align-items:center;min-height:64px}.bottom button{background:transparent;border:0;color:var(--paper);min-height:44px;font:13px system-ui}.bottom span{font:11px system-ui;letter-spacing:1px;color:var(--gold)}[data-step] h1:focus,[data-step] h2:focus{outline:none}@keyframes arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
