@keyframes floatDown{0%,to{opacity:.45;transform:translateY(0)}50%{opacity:.9;transform:translateY(7px)}}.hero{text-align:center;background:var(--bg);flex-direction:column;justify-content:center;align-items:center;min-height:100svh;padding:clamp(48px,7vw,96px) clamp(20px,6vw,64px);display:flex;position:relative;overflow:hidden}.hero-edge{object-fit:cover;opacity:.75;pointer-events:none;width:clamp(52px,9vw,140px);max-width:none;height:100%;position:absolute;top:0;bottom:0}.hero-edge.left{object-position:left center;left:0}.hero-edge.right{object-position:right center;right:0}@media (width<=640px){.hero-edge{display:none}}.hero-inner{flex-direction:column;align-items:center;gap:clamp(18px,2.4vw,30px);max-width:760px;display:flex;position:relative}.hero-inner .monogram{width:clamp(160px,26vw,300px);height:auto;margin-bottom:clamp(18px,3.4vw,44px)}.hero h1{font-family:var(--font-display);color:var(--ink);margin:0;font-size:clamp(56px,10vw,132px);font-weight:400;line-height:1.05}.hero h1 .amp{vertical-align:.12em;font-size:.62em}.hero-eyebrow{letter-spacing:.42em;text-transform:uppercase;color:var(--ink-ter);margin:0 0 clamp(10px,1.6vw,20px);font-size:clamp(10px,1.1vw,12px)}.hero-rule{align-items:center;gap:16px;width:min(420px,80vw);display:flex}.hero-rule span.line{background:var(--rule);flex:1;height:1px}.hero-rule .date{letter-spacing:.28em;color:var(--ink-soft);white-space:nowrap;font-size:clamp(13px,1.5vw,17px)}.hero-sub{font-family:var(--font-title);color:var(--ink-soft);margin:0;font-size:clamp(18px,2.2vw,26px);font-weight:200}.clock{flex-wrap:wrap;justify-content:center;gap:clamp(18px,3.4vw,44px);margin-top:8px;display:flex}.clock .unit{flex-direction:column;align-items:center;gap:6px;min-width:64px;display:flex}.clock .num{font-family:var(--font-title);color:var(--ink);font-variant-numeric:tabular-nums;font-size:clamp(30px,4vw,46px);font-weight:200;line-height:1}.clock .lbl{letter-spacing:.26em;text-transform:uppercase;color:var(--ink-ter);font-size:10px}.scroll-cue{letter-spacing:.28em;text-transform:uppercase;color:var(--ink-ter);flex-direction:column;align-items:center;gap:8px;margin-top:clamp(14px,3vw,34px);font-size:10px;display:flex}.scroll-cue svg{animation:2.6s ease-in-out infinite floatDown}.hero-cta{justify-content:center;display:flex}.hero-cta .btn-solid{display:none}@media (width<=640px){.hero-cta{grid-template-columns:1fr auto 1fr;align-self:stretch;align-items:end;gap:12px;display:grid}.hero-cta .btn-solid{letter-spacing:.18em;width:auto;padding:14px 6px;font-size:10px;display:block}#confirmar,#regalar{scroll-margin-top:24px}}#invitacion{background:var(--bg-alt);padding:clamp(48px,6vw,84px) clamp(20px,6vw,72px)}.invitacion-wrap{flex-wrap:wrap;align-items:center;gap:clamp(28px,4vw,56px);max-width:1080px;margin:0 auto;display:flex}.invitacion-wrap .img-col{flex:300px;justify-content:center;display:flex}.invitacion-wrap .img-col img{width:min(100%,300px);height:auto}.invitacion-wrap .text-col{flex-direction:column;flex:380px;gap:16px;display:flex}.invitacion-wrap h2{font-family:var(--font-title);color:var(--ink);text-wrap:balance;margin:0;font-size:clamp(30px,4vw,48px);font-weight:200;line-height:1.1}.invitacion-wrap p.body{color:var(--ink-soft);text-wrap:pretty;margin:0;font-size:clamp(16px,1.4vw,19px);line-height:1.65}.invitacion-wrap p.signature{color:var(--ink-ter);margin:0;font-size:clamp(17px,1.6vw,21px);font-style:italic}@media (width<=640px){#invitacion{padding-left:0;padding-right:0}.invitacion-wrap{grid-template-rows:auto auto 1fr auto auto;grid-template-columns:30% 1fr;gap:0;display:grid}.invitacion-wrap .img-col{grid-area:1/1/4/-1}.invitacion-wrap .img-col img{width:100%}.invitacion-wrap .text-col{display:contents}.invitacion-wrap .eyebrow{grid-area:1/2;padding:clamp(16px,6vw,32px) 20px 10px 0}.invitacion-wrap h2{grid-area:2/2;padding-right:20px;font-size:clamp(24px,7.4vw,34px)}.invitacion-wrap p.body{grid-area:4/1/auto/-1;padding:28px 20px 16px}.invitacion-wrap p.signature{grid-area:5/1/auto/-1;padding:0 20px}}#eventos{background:var(--bg-alt);padding:clamp(64px,8vw,120px) clamp(20px,6vw,72px)}.eventos-grid{grid-template-columns:1fr 1fr;align-items:stretch;gap:0 clamp(40px,6vw,88px);max-width:1180px;margin:0 auto;display:grid}@media (width<=640px){.eventos-grid{grid-template-columns:1fr;row-gap:0}}.evento-prompt{flex-direction:column;justify-content:center;align-items:flex-start;gap:18px;max-width:440px;padding:clamp(28px,3.4vw,44px) 0;display:flex}.evento-prompt h2{font-family:var(--font-title);color:var(--ink);margin:0;font-size:clamp(34px,4.6vw,56px);font-weight:200;line-height:1.05}.evento-prompt p{color:var(--ink-soft);text-wrap:pretty;margin:0;font-size:17px;line-height:1.7}.evento-card{background:var(--bg);flex-direction:column;gap:16px;padding:clamp(32px,4vw,52px) clamp(26px,3.4vw,48px);display:flex}.evento-card.divider-top{border-top:1px solid var(--divider)}.evento-card img{width:88px;height:auto}.evento-card h3{letter-spacing:.24em;text-transform:uppercase;color:var(--ink);margin:0;font-size:13px;font-weight:400}.evento-card p{color:var(--ink-soft);margin:0;font-size:16px;line-height:1.55}.evento-card p.addr{color:var(--ink-ter)}.evento-card a{align-self:flex-start;margin-top:2px}#galeria{background:var(--bg);padding:0}.galeria-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;display:grid}@media (width<=640px){.galeria-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.galeria-cell{aspect-ratio:4/5;background:var(--bg-alt);justify-content:center;align-items:center;min-width:0;display:flex;position:relative;overflow:hidden}.galeria-cell img.art{opacity:.4;width:42%;height:auto}.galeria-cell img.foto{object-fit:cover;width:100%;height:100%}body.modal-open{overflow:hidden}.modal-overlay{z-index:40;background:var(--overlay);justify-content:center;align-items:center;padding:clamp(16px,4vw,48px);display:none;position:fixed;inset:0}.modal-overlay.open{display:flex}.modal-panel{background:var(--bg);border:1px solid var(--divider);width:min(720px,100%);max-height:92svh;padding:clamp(28px,4vw,48px);position:relative;overflow:auto}.modal-close{border:1px solid var(--rule);width:32px;height:32px;color:var(--ink-ter);background:0 0;border-radius:999px;justify-content:center;align-items:center;font-size:16px;line-height:1;display:flex;position:absolute;top:clamp(20px,3vw,32px);right:clamp(20px,3vw,32px)}.modal-close:hover{border-color:var(--ink);color:var(--ink)}.rsvp-eyebrow{letter-spacing:.22em;text-transform:uppercase;color:var(--ink-soft);margin:0;font-size:15px}.rsvp-intro{color:var(--ink-ter);margin:10px 48px 0 0;font-size:15px;line-height:1.55}.rsvp-grid{grid-template-columns:1fr 1fr;gap:clamp(18px,2.2vw,26px);margin-top:clamp(20px,2.4vw,28px);display:grid}.rsvp-grid .span-2{grid-column:1/-1}@media (width<=640px){.rsvp-grid{grid-template-columns:1fr}}.field{border:1px solid var(--field-border);background:var(--bg);width:100%;color:var(--ink);border-radius:0;outline:none;padding:16px;font-size:16px}.field:focus{border-color:var(--ink-ter)}textarea.field{resize:vertical;min-height:96px;line-height:1.5}.field-float{display:block;position:relative}.field-float>span.label{background:var(--bg);color:var(--ink-ter);z-index:1;padding:0 6px;font-size:12px;position:absolute;top:-8px;left:12px}select.field{appearance:none;cursor:pointer;padding-right:44px}.select-wrap{position:relative}.chevron{pointer-events:none;margin-top:-4px;position:absolute;top:50%;right:16px}.rsvp-submit{background:var(--ink);color:var(--bg);letter-spacing:.24em;text-transform:uppercase;border:none;padding:18px 28px;font-size:13px}.rsvp-submit:hover{background:var(--ink-soft)}.thanks{text-align:center;flex-direction:column;align-items:center;gap:14px;display:flex}.thanks img{width:64px;height:auto}.thanks p.title{font-family:var(--font-title);color:var(--ink);margin:0;font-size:28px;font-weight:200}.thanks p.sub{color:var(--ink-soft);margin:0;font-size:16px}.thanks .actions{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:6px;display:flex}.home-footer{background:var(--bg-footer);text-align:center;flex-direction:column;align-items:center;gap:18px;padding:clamp(56px,8vw,100px) clamp(20px,6vw,72px);display:flex}.home-footer img{opacity:.9;width:clamp(56px,7vw,88px);height:auto}.home-footer p.script{font-family:var(--font-display);color:var(--ink-soft);margin:0;font-size:clamp(34px,5vw,56px);line-height:1.1}.home-footer p.date{letter-spacing:.3em;text-transform:uppercase;color:var(--ink-ter);margin:0;font-size:11px}.home-footer .foot-links{letter-spacing:.22em;text-transform:uppercase;flex-wrap:wrap;justify-content:center;gap:22px;margin-top:10px;font-size:11px;display:flex}
