.inv{--pad:max(20px, env(safe-area-inset-left));background:var(--bg);min-height:100dvh;color:var(--text);isolation:isolate;font-family:Inter,system-ui,sans-serif;position:relative;overflow-x:hidden}.inv-preview-bar{z-index:100;color:#fff;text-align:center;background:#6d28d9;padding:6px;font-size:13px;position:fixed;top:0;left:0;right:0}.env{z-index:80;background:radial-gradient(circle at 50% 30%, color-mix(in srgb, var(--accent2) 40%, var(--bg)), var(--bg) 70%);place-items:center;padding:24px;transition:opacity .9s .5s,visibility 0s linear 1.4s;display:grid;position:fixed;inset:0}.env.env-out{opacity:0;visibility:hidden;pointer-events:none}.env-card{aspect-ratio:1.45;cursor:pointer;background:linear-gradient(160deg, var(--surface), color-mix(in srgb, var(--accent2) 35%, var(--surface)));width:min(340px,86vw);color:var(--text);perspective:800px;border:0;border-radius:10px;padding:0;animation:3.5s ease-in-out infinite env-bob;position:relative;box-shadow:0 30px 60px -25px #00000073}.env-flap{transform-origin:top;background:linear-gradient(180deg, color-mix(in srgb, var(--accent2) 55%, var(--surface)), color-mix(in srgb, var(--accent2) 30%, var(--surface)));clip-path:polygon(0 0,100% 0,50% 100%);border-radius:10px 10px 0 0;height:58%;transition:transform .8s cubic-bezier(.6,.05,.3,1);position:absolute;inset:0 0 auto}.env-out .env-flap{transform:rotateX(180deg)}.env-out .env-card{transition:transform .9s .3s;animation:none;transform:translateY(30px)scale(.96)}.env-seal{background:var(--accent);width:64px;height:64px;color:var(--surface);font-family:var(--display);z-index:2;border-radius:50%;place-items:center;font-size:1.35rem;transition:opacity .3s;display:grid;position:absolute;top:58%;left:50%;transform:translate(-50%,-50%);box-shadow:0 6px 16px -4px #0006,inset 0 0 0 3px #ffffff40}.env-out .env-seal{opacity:0}.env-text{gap:2px;font-size:.78rem;display:grid;position:absolute;bottom:14px;left:0;right:0}.env-text small{opacity:.75;letter-spacing:.06em}.env-text strong{letter-spacing:.12em;text-transform:uppercase;color:var(--accent);font-size:.95rem;animation:2s infinite pulse}@keyframes env-bob{0%,to{transform:translateY(0)rotate(-1deg)}50%{transform:translateY(-10px)rotate(1deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.45}}.inv-hero{text-align:center;min-height:100dvh;padding:calc(40px + env(safe-area-inset-top)) var(--pad) calc(70px + env(safe-area-inset-bottom));place-items:center;display:grid;position:relative;overflow:hidden}.inv-hero-media{object-fit:cover;z-index:-1;width:100%;height:100%;position:absolute;inset:0;transform:scale(1.08)}.is-open .inv-hero-media{animation:18s ease-out forwards kenburns}.inv-hero.has-media:after{content:"";z-index:-1;background:linear-gradient(#00000040,#00000026 40%,#0009);position:absolute;inset:0}.inv-hero.has-media,.inv-hero.has-media .inv-eyebrow,.inv-hero.has-media .inv-orn{color:#fff}.inv-hero-inner{justify-items:center;gap:12px;max-width:640px;display:grid}.inv-eyebrow{letter-spacing:.38em;text-transform:uppercase;color:var(--accent);margin:0;font-size:.8rem;font-weight:600}.inv-title{font-family:var(--display);overflow-wrap:anywhere;margin:0;font-size:clamp(3.2rem,15vw,6.5rem);font-weight:400;line-height:1}.tpl-fiesta .inv-title,.tpl-baby .inv-title{font-size:clamp(2.8rem,13vw,5.5rem);font-weight:600}.tpl-minimal .inv-title{letter-spacing:-.03em;font-weight:700}.inv-subtitle{opacity:.9;max-width:30ch;margin:0;font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(1.15rem,4.5vw,1.5rem);font-style:italic}.tpl-minimal .inv-subtitle,.tpl-fiesta .inv-subtitle{font-family:inherit;font-size:1.05rem;font-style:normal}.inv-date{letter-spacing:.04em;margin:8px 0 0;font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(1.2rem,4.8vw,1.6rem)}.tpl-minimal .inv-date,.tpl-fiesta .inv-date,.tpl-baby .inv-date{font-family:inherit;font-size:1.1rem;font-weight:600}.inv-orn{width:160px;height:16px;color:var(--accent)}.inv-orn.sm{width:110px;margin:0 auto 18px;display:block}.tpl-minimal .inv-orn{display:none}.a1,.a2,.a3,.a4,.a5,.inv-hero-inner>.inv-orn{opacity:0}.is-open .inv-hero-inner>.inv-orn{animation:1s .9s both rise}.is-open .a1{animation:1s 1.1s both rise}.is-open .a2{animation:1.4s 1.3s both title-in}.is-open .a3{animation:1s 1.8s both rise}.is-open .a4{animation:1s 2.05s both rise}.is-open .a5{animation:1s 2.3s both rise}@keyframes rise{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}@keyframes title-in{0%{opacity:0;filter:blur(8px);letter-spacing:.08em;transform:translateY(20px)scale(.96)}to{opacity:1;filter:none;transform:none}}@keyframes kenburns{0%{transform:scale(1.12)}to{transform:scale(1)}}.inv-count{justify-content:center;gap:10px;margin-top:14px;display:flex}.inv-count div{background:color-mix(in srgb, var(--surface) 75%, transparent);border:1px solid color-mix(in srgb, var(--accent) 30%, transparent);-webkit-backdrop-filter:blur(8px);min-width:64px;color:var(--text);border-radius:14px;gap:2px;padding:10px 8px;display:grid}.inv-count b{font-variant-numeric:tabular-nums;font-family:Cormorant Garamond,Georgia,serif;font-size:1.5rem;font-weight:600}.tpl-minimal .inv-count b,.tpl-fiesta .inv-count b,.tpl-baby .inv-count b{font-family:inherit}.inv-count span{letter-spacing:.14em;text-transform:uppercase;opacity:.7;font-size:.66rem}.inv-today{color:var(--accent);font-size:1.3rem;font-weight:600}.inv-scroll{bottom:calc(18px + env(safe-area-inset-bottom));opacity:.5;border:1.5px solid;border-radius:14px;width:24px;height:38px;position:absolute;left:50%;transform:translate(-50%)}.inv-scroll span{background:currentColor;border-radius:3px;width:3px;height:7px;margin-left:-1.5px;animation:1.8s infinite scrolldot;position:absolute;top:7px;left:50%}@keyframes scrolldot{0%{opacity:0;transform:translateY(0)}40%{opacity:1}to{opacity:0;transform:translateY(12px)}}.inv-section{width:min(620px, 100% - 2 * var(--pad));text-align:center;margin:0 auto;padding:64px 0}.inv-section.wide{width:min(980px, 100% - 2 * var(--pad))}.inv-h2{font-family:var(--display);color:var(--accent);margin:0 0 22px;font-size:clamp(2.2rem,9vw,3.2rem);font-weight:400;line-height:1.1}.tpl-minimal .inv-h2{color:var(--text);letter-spacing:-.02em;font-size:clamp(1.6rem,6vw,2.2rem);font-weight:700}.tpl-fiesta .inv-h2,.tpl-baby .inv-h2{font-weight:600}.inv-intro{margin:0;font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(1.3rem,5vw,1.65rem);line-height:1.55}.tpl-minimal .inv-intro,.tpl-fiesta .inv-intro,.tpl-baby .inv-intro{font-family:inherit;font-size:1.15rem;line-height:1.7}.inv-story{opacity:.8;margin:22px 0 0;font-style:italic;line-height:1.6}.inv-muted{opacity:.75;margin:0 0 12px;line-height:1.6}.center{text-align:center;justify-content:center}.reveal{opacity:0;transition:opacity 1s,transform 1s cubic-bezier(.2,.7,.2,1);transform:translateY(40px)}.reveal.in{opacity:1;transform:none}.inv-card{background:var(--surface);text-align:center;border:1px solid color-mix(in srgb, var(--accent) 22%, transparent);box-shadow:0 24px 50px -32px color-mix(in srgb, var(--text) 60%, transparent);border-radius:22px;padding:26px 22px}.inv-venue{font-family:var(--display);margin:0 0 6px;font-size:clamp(1.6rem,6vw,2.1rem);line-height:1.15}.tpl-minimal .inv-venue{font-size:1.4rem;font-weight:700}.inv-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:14px;display:flex}.inv-btn{background:var(--accent);color:var(--surface);border:1.5px solid var(--accent);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:13px 22px;font-family:inherit;font-size:.95rem;font-weight:600;text-decoration:none;transition:transform .2s,filter .2s;display:inline-flex}.inv-btn:hover{filter:brightness(1.05);transform:translateY(-2px)}.inv-btn.ghost{color:var(--text);border-color:color-mix(in srgb, var(--accent) 55%, transparent);background:0 0}.inv-btn.full{width:100%;margin-top:6px}.inv-btn:disabled{opacity:.6}.tpl-minimal .inv-btn{border-radius:10px}.inv-timeline{gap:0;max-width:420px;margin:0 auto;padding:0;list-style:none;display:grid;position:relative}.inv-timeline:before{content:"";background:color-mix(in srgb, var(--accent) 45%, transparent);width:1px;position:absolute;top:8px;bottom:8px;left:50%}.inv-timeline li{background:var(--bg);gap:2px;padding:18px 0;display:grid;position:relative}.inv-timeline li:before{content:"";background:var(--accent);border-radius:50%;width:9px;height:9px;margin-left:-4.5px;position:absolute;top:0;left:50%}.inv-timeline .t{color:var(--accent);letter-spacing:.06em;font-size:.9rem;font-weight:700}.inv-timeline .l{font-family:var(--display);font-size:1.6rem;line-height:1.2}.tpl-minimal .inv-timeline .l,.tpl-fiesta .inv-timeline .l,.tpl-baby .inv-timeline .l{font-size:1.2rem;font-weight:600}.inv-timeline .d{opacity:.7;font-size:.95rem}.inv-dress{margin:0;font-family:Cormorant Garamond,Georgia,serif;font-size:1.5rem}.tpl-minimal .inv-dress,.tpl-fiesta .inv-dress,.tpl-baby .inv-dress{font-family:inherit;font-size:1.15rem;font-weight:600}.inv-gallery{grid-template-columns:repeat(2,1fr);grid-auto-flow:dense;gap:8px;display:grid}@media (min-width:720px){.inv-gallery{grid-template-columns:repeat(3,1fr)}}.inv-gallery img,.inv-gallery video{aspect-ratio:1;object-fit:cover;background:color-mix(in srgb, var(--accent2) 30%, var(--bg));border-radius:14px;width:100%;height:100%}.inv-gallery .big{grid-area:span 2/span 2}.inv-form{text-align:left;gap:14px;display:grid}.inv-form label{gap:6px;font-size:.9rem;font-weight:600;display:grid}.inv-form small{opacity:.6;font-weight:400}.inv-form input,.inv-form select,.inv-form textarea{border:1px solid color-mix(in srgb, var(--text) 18%, transparent);background:var(--bg);width:100%;color:var(--text);border-radius:12px;padding:13px 14px;font-family:inherit;font-size:16px}.inv-form input:focus,.inv-form select:focus,.inv-form textarea:focus{outline:2px solid var(--accent);border-color:#0000}.inv-toggle{grid-template-columns:1fr 1fr;gap:8px;display:grid}.inv-toggle button{border:1.5px solid color-mix(in srgb, var(--accent) 40%, transparent);color:var(--text);cursor:pointer;background:0 0;border-radius:14px;padding:14px 10px;font-family:inherit;font-size:.95rem;font-weight:600}.inv-toggle button.on{background:var(--accent);color:var(--surface);border-color:var(--accent)}.inv-error{color:#c62828;margin:0;font-size:.9rem}.hp{opacity:0;width:1px;height:1px;position:absolute;left:-9999px}.rsvp-done{animation:.6s both rise}.inv-closing{padding-bottom:calc(80px + env(safe-area-inset-bottom));justify-items:center;gap:14px;display:grid}.inv-closing-text{font-family:var(--display);margin:0;font-size:clamp(2rem,8vw,2.8rem);line-height:1.15}.tpl-minimal .inv-closing-text{font-size:1.6rem;font-weight:700}.inv-hashtag{color:var(--accent);letter-spacing:.04em;margin:0;font-weight:600}.inv-link{color:var(--accent);font-size:.92rem}.inv-made{opacity:.45;color:inherit;margin-top:28px;font-size:.75rem;text-decoration:none}.inv-music{z-index:70;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));background:var(--accent);width:48px;height:48px;color:var(--surface);cursor:pointer;border:0;border-radius:50%;place-items:center;font-size:1.1rem;display:grid;position:fixed;box-shadow:0 10px 24px -8px #00000073}.inv-music:focus-visible,.inv-btn:focus-visible,.inv-toggle button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.inv-cal{margin-top:22px}.inv-cal-label{letter-spacing:.16em;text-transform:uppercase;opacity:.65;margin:0;font-size:.75rem}.inv-cal .inv-actions{margin-top:10px}.inv-btn svg{flex:none}.inv-particles{pointer-events:none;z-index:0;position:fixed;inset:0;overflow:hidden}.inv-particles i{opacity:0;animation-name:drift;animation-timing-function:linear;animation-iteration-count:infinite;display:block;position:absolute;top:-5%}.inv>section{z-index:1;position:relative}@keyframes drift{0%{opacity:0;transform:translate(0,0)rotate(0)}10%{opacity:.85}90%{opacity:.7}to{opacity:0;transform:translate(40px,110vh)rotate(420deg)}}.p-elegante i{background:color-mix(in srgb, var(--accent2) 80%, #fff);border-radius:100% 0}.p-jardin i{background:color-mix(in srgb, var(--accent) 70%, #fff);border-radius:0 100%}.p-fiesta i{border-radius:2px}.p-fiesta i:nth-child(3n){background:var(--accent)}.p-fiesta i:nth-child(3n+1){background:var(--accent2)}.p-fiesta i:nth-child(3n+2){background:#ffd23f;width:6px!important;height:14px!important}.p-baby i{background:radial-gradient(circle at 30% 30%, #fff, color-mix(in srgb, var(--accent) 50%, transparent));border-radius:50%;bottom:-5%;animation-name:bubble!important;top:auto!important}.p-baby i:nth-child(2n){background:radial-gradient(circle at 30% 30%, #fff, color-mix(in srgb, var(--accent2) 60%, transparent))}@keyframes bubble{0%{opacity:0;transform:translateY(0)scale(.6)}15%{opacity:.8}to{opacity:0;transform:translateY(-110vh)translate(30px)scale(1.3)}}.p-noche i{box-shadow:0 0 6px 1px color-mix(in srgb, var(--accent) 70%, #fff);background:#fff;border-radius:50%;width:2px!important;height:2px!important;animation-name:twinkle!important;animation-duration:3s!important}.p-noche i:nth-child(4n){width:3px!important;height:3px!important}@keyframes twinkle{0%,to{opacity:.1;transform:scale(.6)}50%{opacity:1;transform:scale(1.3)}}.tpl-noche{background:radial-gradient(ellipse at 50% -10%, color-mix(in srgb, var(--accent2) 45%, var(--bg)), var(--bg) 60%) fixed}.tpl-noche .inv-title{background:linear-gradient(180deg, #fff6d5, var(--accent) 70%);color:#0000;-webkit-background-clip:text;background-clip:text}.tpl-noche .inv-hero.has-media .inv-title{-webkit-text-fill-color:initial;color:#fff;background:0 0}.tpl-elegante .inv-hero:not(.has-media),.tpl-jardin .inv-hero:not(.has-media){background:radial-gradient(circle at 50% 35%, color-mix(in srgb, var(--accent2) 28%, transparent), transparent 60%)}.tpl-fiesta .inv-hero:not(.has-media){background:radial-gradient(circle at 20% 20%, color-mix(in srgb, var(--accent) 22%, transparent), transparent 45%), radial-gradient(circle at 80% 70%, color-mix(in srgb, var(--accent2) 22%, transparent), transparent 45%)}.tpl-baby .inv-hero:not(.has-media){background:radial-gradient(circle at 25% 25%, color-mix(in srgb, var(--accent2) 30%, transparent), transparent 45%), radial-gradient(circle at 75% 75%, color-mix(in srgb, var(--accent) 30%, transparent), transparent 45%)}.burst{z-index:90;pointer-events:none;position:fixed;bottom:20%;left:50%}.burst i{border-radius:2px;width:8px;height:12px;animation:2.4s cubic-bezier(.1,.6,.3,1) forwards burst;position:absolute}@keyframes burst{0%{opacity:1;transform:translate(0)rotate(0)}60%{opacity:1}to{transform:translate(var(--x), calc(var(--y) + 70vh)) rotate(var(--r));opacity:0}}@media (prefers-reduced-motion:reduce){.inv-particles{display:none}.reveal{opacity:1;transform:none}.a1,.a2,.a3,.a4,.a5,.inv-hero-inner>.inv-orn{opacity:1;animation:none!important}}.rsvp-note{margin-bottom:14px;font-size:.92rem}
