*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:Montserrat,'Helvetica Neue',Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
img{max-width:100%}
.paper-blanco{background-color:#faf9f5;background-size:700px;background-position:center top}
.paper-marfil{background-color:#f4efe5;background-size:700px;background-position:center top}
.paper-crema{background-color:#eee5d6;background-size:700px;background-position:center top}
.g-azul{background-color:#1b2a4a;background-size:600px}
.g-salvia{background-color:#3a4432;background-size:600px}
.g-vino{background-color:#4a1a22;background-size:600px}
.g-marfil{background-color:#f4efe5;background-size:600px}
.inv{max-width:480px;margin:0 auto;min-height:100vh;position:relative;overflow:hidden}
@media (min-width:560px){.inv{box-shadow:0 0 0 1px rgba(0,0,0,.04),0 30px 90px rgba(0,0,0,.12)}}
.cap{font-family:Montserrat,sans-serif;font-size:9px;font-weight:500;letter-spacing:4px;text-transform:uppercase}
.light{font-family:Montserrat,sans-serif;font-weight:300}
.it{font-family:Montserrat,sans-serif;font-weight:300;font-style:italic}
.script{font-family:'Pinyon Script',cursive;font-weight:400}
.lift{box-shadow:0 1px 1px rgba(30,24,16,.05),0 8px 16px rgba(30,24,16,.08),0 26px 50px rgba(30,24,16,.14)}
.ill{display:block;margin:0 auto;max-width:100%}
.photo{width:100%;height:100%;object-fit:cover;display:block}
.line{min-height:48px;width:100%;display:flex;align-items:center;justify-content:center;font-family:Montserrat,sans-serif;font-size:9px;font-weight:500;letter-spacing:4px;text-transform:uppercase;text-decoration:none;border:1px solid var(--ink,currentColor);background:transparent;color:var(--ink,currentColor);cursor:pointer;padding:0 16px;-webkit-appearance:none;appearance:none;border-radius:0}
.line.solid{background:var(--acc,var(--ink,#131313));border-color:var(--acc,var(--ink,#131313));color:var(--on,#fff)}
.line:focus-visible,.fld input:focus-visible,.fld select:focus-visible,.fld textarea:focus-visible,.abrir:focus-visible{outline:2px solid currentColor;outline-offset:3px}
.row2{display:flex;gap:10px}.row2 .line{flex:1}
.fld{display:block;text-align:left;margin:0 0 20px}
.fld .cap{display:block;font-size:7.5px;letter-spacing:3px;opacity:.8;margin-bottom:6px}
.fld input,.fld select,.fld textarea{width:100%;border:0;border-bottom:1px solid currentColor;background:transparent;font:300 15px/1.5 Montserrat,sans-serif;color:inherit;padding:8px 0;border-radius:0;-webkit-appearance:none;appearance:none;outline:none}
.fld textarea{resize:vertical}
.fld select{background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 10px) 55%,calc(100% - 5px) 55%;background-size:5px 5px;background-repeat:no-repeat}
.rsvp{margin-top:30px;color:var(--ink)}
.rsvp-btns{display:flex;flex-direction:column;gap:12px;margin-top:6px}
.rsvp-out{min-height:20px;margin:16px 0 0;font-size:13.5px;line-height:1.6}
.rsvp.done .fld,.rsvp.done .rsvp-btns,.rsvp.done>div{display:none}
.rsvp.done .rsvp-out{font-size:16px}
.wall{color:var(--ink)}
.notes{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:26px 0}
.note{padding:16px;text-align:left;color:#2a2622}
details.wall-form>summary{list-style:none}
details.wall-form>summary::-webkit-details-marker{display:none}
details.wall-form[open]>summary{display:none}
.wall-form form{margin-top:10px}
.wall-form .line.solid{margin-top:6px}
.sobre{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;transition:opacity .9s ease,visibility .9s ease}
.sobre.fuera{opacity:0;visibility:hidden;pointer-events:none}
.sobre-in{display:flex;flex-direction:column;align-items:center;gap:38px;padding:24px;max-width:480px;width:100%}
.abrir{background:none;border:0;border-bottom:1px solid currentColor;padding:0 0 7px;cursor:pointer;color:inherit;min-height:44px}
.env{width:316px;max-width:86vw;aspect-ratio:316/210;position:relative;overflow:hidden;border:0;padding:0}
.env .flap{position:absolute;left:0;right:0;top:0;height:56%;clip-path:polygon(0 0,100% 0,50% 100%);box-shadow:inset 0 -1px 0 rgba(0,0,0,.06)}
.seal{border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:inset 0 0 0 5px rgba(255,255,255,.06),inset 0 -4px 8px rgba(0,0,0,.35),0 3px 6px rgba(0,0,0,.28)}
.reveal{opacity:0;transform:translateY(16px);transition:opacity 1.1s ease,transform 1.1s ease}
.reveal.in{opacity:1;transform:none}
.sec{padding:70px 30px 0;text-align:center}
.sec-title{margin:0;font-size:16px;letter-spacing:6px;text-transform:uppercase;font-weight:300}
.prog{margin-top:30px;display:flex;flex-direction:column;gap:16px}
.prog>div{display:flex;justify-content:space-between;align-items:baseline;padding-bottom:14px;border-bottom:1px solid var(--rule,rgba(0,0,0,.12))}
.prog>div:last-child{border-bottom:0}
.preview-flag{position:fixed;left:50%;bottom:14px;transform:translateX(-50%);z-index:60;background:rgba(19,19,19,.82);color:#fff;font:500 9px Montserrat,sans-serif;letter-spacing:3px;text-transform:uppercase;padding:9px 14px;pointer-events:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}.sobre{transition:none}}
