:root{--bg:#f7f4ef;--bg-warm:#f0ebe3;--navy-deep:#0b1528;--navy:#132a4a;--navy-light:#1e3a5f;--ink:#1a1a1a;--muted:#8a8580;--accent:#c9a88a;--seal-pink:#f5e6e8;--seal-edge:#fff;--pill-bg:#c9a88a59;--shadow:#0b152859;--font-serif:"Cormorant Garamond", Georgia, serif;--font-sans:"Outfit", system-ui, sans-serif}.page{z-index:1;max-width:480px;min-height:100vh;font-family:var(--font-sans);background-color:var(--bg);color:var(--ink);flex-direction:column;align-items:center;margin:0 auto;padding:clamp(1.65rem,5vw,2.75rem) 1.25rem 2rem;display:flex;position:relative}body.show-invite-page{background-color:#faf8f4!important;background-image:radial-gradient(circle at 18% 10%,#2d3a520d,#0000 36%),radial-gradient(circle at 85% 90%,#3e342c0a,#0000 38%),linear-gradient(160deg,#fdfcfa 0%,#f6f3ed 48%,#efeae3 100%)!important}body.show-invite-page .hero,body.show-invite-page .card-wrap,body.show-invite-page .foot{display:none!important}body.show-invite-page .page{min-height:100vh;max-width:100%!important;padding:0!important}.hero{text-align:center;flex-direction:column;align-items:center;width:100%;margin-bottom:.65rem;display:flex}.pill{letter-spacing:.28em;text-transform:uppercase;background:var(--pill-bg);color:var(--navy);border-radius:999px;margin:0 0 1rem;padding:.5rem 1.1rem;font-size:.74rem;font-weight:600;display:inline-block}.names{font-family:var(--font-serif);color:var(--navy);letter-spacing:.02em;flex-flow:row;justify-content:center;align-items:baseline;gap:.28em;width:100%;max-width:100%;margin:0 0 .65rem;padding:0 .35rem;font-size:clamp(1.48rem,5.5vw,2.2rem);font-weight:600;line-height:1.2;display:flex}.name-part{text-align:center;flex:0 auto;min-width:0}.names .ampersand{font-family:var(--font-serif);color:var(--accent);opacity:1;flex:none;padding:0 .02em;font-size:1.05em;font-style:italic;font-weight:600;line-height:1}.card-wrap{perspective:1500px;perspective-origin:50% 42%;flex:1;justify-content:center;align-items:center;width:100%;transition:perspective 1s;display:flex}.card-wrap:has(.card-stage.is-open){perspective:1180px}.card-stage{--card-move-duration:.48s;--card-move-ease:cubic-bezier(.33, 1, .68, 1);--door-duration:1.22s;aspect-ratio:3/5;width:min(100%,380px);transform-style:preserve-3d;transition:transform var(--card-move-duration) var(--card-move-ease), box-shadow var(--card-move-duration) ease;border-radius:18px;position:relative;transform:translateY(0)scale(1);box-shadow:0 14px 28px #0b152824,0 4px 10px #0b152814}.card-stage.is-open{--card-move-duration:1.05s;--card-move-ease:cubic-bezier(.28, .85, .32, 1);--door-duration:1.22s;transform:translateY(-12px)scale(1.035);box-shadow:0 32px 56px #0b152833,0 12px 24px #0b15281f}@media (hover:hover) and (pointer:fine){.card-stage:not(.is-open):hover{--card-move-duration:.38s;--door-duration:.34s;transform:translateY(-10px)scale(1.022);box-shadow:0 24px 44px #0b15282e,0 10px 22px #0b15281a}.card-stage:not(.is-open):hover .card-door--left{transform:translate(-5px)}.card-stage:not(.is-open):hover .card-door--right{transition-delay:0s;transform:translate(5px)}.card-stage:not(.is-open):hover .tap-hint{color:#ffffff9e;letter-spacing:.24em;border-color:#ffffff85}}.card-reveal{background:linear-gradient(160deg, #fdfcfa 0%, var(--bg-warm) 100%);text-align:center;z-index:0;transform-origin:50%;border:1px solid #132a4a14;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;padding:1.75rem 1.25rem;transition:transform .9s cubic-bezier(.22,1,.36,1) .18s;display:flex;position:absolute;inset:0;transform:scale(.94);box-shadow:inset 0 0 0 1px #fffc}.card-stage.is-open .card-reveal{transform:scale(1)}.reveal-title{font-family:var(--font-serif);color:var(--navy);max-width:12ch;margin:0 0 .5rem;font-size:1.45rem;font-weight:600;line-height:1.25}.invitation-page{width:100%;max-width:900px;padding:max(.75rem, env(safe-area-inset-top)) 1rem max(.75rem, env(safe-area-inset-bottom));box-sizing:border-box;flex-direction:column;flex:1;align-items:stretch;min-height:min-content;display:flex;position:relative;overflow:visible}.invite-hero{z-index:2;box-sizing:border-box;flex-direction:column;align-items:center;width:100%;min-height:100vh;display:flex;position:relative}.invite-hero__inner{flex:1;justify-content:center;align-items:center;width:100%;min-height:0;display:flex}.scroll-continue{padding:.35rem 1rem max(2rem, env(safe-area-inset-bottom));color:inherit;flex-direction:column;flex-shrink:0;align-items:center;gap:.45rem;margin-top:auto;text-decoration:none;display:flex}.scroll-continue__label{font-family:var(--font-sans);letter-spacing:.42em;text-transform:uppercase;color:#7a85b0;font-size:.52rem;font-weight:500}.scroll-continue__line{background:#c8cdda8c;border-radius:2px;width:2px;height:2.65rem;position:relative;overflow:hidden}.scroll-continue__line-fill{background:linear-gradient(#6b8ec9 0%,#3d5a94 100%);border-radius:2px 2px 0 0;height:50%;position:absolute;top:0;left:0;right:0}.invite-close{z-index:20;font-family:var(--font-sans);letter-spacing:.22em;text-transform:uppercase;color:#243a62;cursor:pointer;background:#fffffff2;border:1px solid #14294b3d;border-radius:999px;padding:.5rem .7rem;font-size:.5rem;position:fixed;top:1rem;right:1rem}.invite-bg-initials{font-family:var(--font-serif);color:#14294b05;letter-spacing:.04em;pointer-events:none;z-index:0;place-items:center;font-size:clamp(20rem,38vw,28rem);font-weight:600;display:grid;position:fixed;inset:0}.invite-panel{z-index:2;text-align:center;box-sizing:border-box;background:linear-gradient(#fff 0%,#f6f9ff 100%);border:1px solid #14294b38;border-radius:clamp(128px,30vw,210px) clamp(128px,30vw,210px) 12px 12px;flex-direction:column;flex:0 auto;justify-content:center;width:min(100%,440px);max-width:94vw;min-height:min(82vh,680px);max-height:min(96vh,820px);margin:0 auto;padding:.55rem;display:flex;position:relative;overflow:hidden;box-shadow:0 16px 40px #0e203e26,inset 0 0 0 1px #ffffffd9}.invite-panel__body{box-sizing:border-box;border:1px solid #14294b33;border-radius:clamp(112px,26vw,192px) clamp(112px,26vw,192px) 8px 8px;flex-direction:column;flex:1;justify-content:center;align-items:center;width:100%;min-height:0;padding:clamp(1.4rem,4.25vh,2.15rem) clamp(1.05rem,3.8vw,1.45rem) clamp(1.15rem,3.5vh,1.85rem);display:flex}.invite-top-mark{justify-content:center;margin:0 auto 1.2rem;display:flex}.invite-mandala{object-fit:contain;opacity:.94;width:min(6.25rem,26vw);height:auto;margin-top:.2rem;display:block}.invite-eyebrow{letter-spacing:.35em;text-transform:uppercase;color:#435a84;margin:0 0 .85rem;font-size:.68rem}.invite-names{font-family:var(--font-serif);color:#172d53;margin:0 0 clamp(.65rem,2vh,1.1rem);font-size:clamp(2.25rem,5.5vw + 2.8vh,4rem);font-style:italic;line-height:1.08}.invite-names span{color:#2c4978cc;margin:.12rem 0;font-size:.88em;font-weight:400;display:block}.invite-date{letter-spacing:.34em;text-transform:uppercase;color:#314a76;margin:clamp(1rem,2.5vh,1.65rem) 0 .25rem;font-size:.8rem;font-weight:500}.invite-location{letter-spacing:.22em;text-transform:uppercase;color:#5f7398;margin:0;font-size:.62rem}.invite-blue-drape{background-color:#e4eaf5;background-image:radial-gradient(90% 70% at 50% 20%,#ffffff73,#0000 55%),linear-gradient(165deg,#eef3fb 0%,#dce6f4 45%,#cfd9ec 100%);width:100vw;margin-top:4rem;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}.union-section{z-index:1;box-sizing:border-box;background:0 0;flex-direction:column;justify-content:center;align-items:center;width:100%;margin:0;padding:clamp(3rem,6.25vh,3rem) 1.25rem clamp(2.5rem,6.5vw,4rem);display:flex;position:relative;overflow:visible}.union-section__deco{pointer-events:none;z-index:0;position:absolute;inset:0;overflow:hidden}.union-section__mandala{object-fit:contain;opacity:.22;mix-blend-mode:multiply;width:min(72vw,380px);height:auto;position:absolute;top:50%;transform:translateY(-50%)}.union-section__mandala--left{left:max(-28%,-7.5rem)}.union-section__mandala--right{right:max(-28%,-7.5rem);transform:translateY(-50%)scaleX(-1)}.union-section__inner{z-index:1;text-align:center;width:100%;max-width:36rem;margin:0 auto;padding-top:0;position:relative}.union-section__lead{font-family:var(--font-serif);letter-spacing:.28em;text-transform:uppercase;color:#2a3348;margin:0 0 clamp(1.75rem,5vw,2.5rem);font-size:clamp(.78rem,2.1vw,.95rem);font-weight:600;line-height:1.65}.union-section__photo{box-sizing:border-box;background:#f7f9fc;border:1px solid #14294b29;border-radius:20px;width:min(100%,380px);max-width:min(92vw,400px);margin:0 auto;padding:.65rem;box-shadow:0 16px 40px #0e203e1f,0 2px 8px #0e203e0f}.union-section__photo img{aspect-ratio:3/4;object-fit:cover;box-sizing:border-box;border:1px solid #14294b38;border-radius:14px;width:100%;display:block}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.parents-section{z-index:1;box-sizing:border-box;background:0 0;width:100%;margin:0;padding:clamp(2.5rem,7vw,3.75rem) 1.25rem clamp(4rem,12vw,5.5rem);position:relative;overflow:visible}.parents-section__inner{z-index:1;width:100%;max-width:100%;margin:0;position:relative}.parents-cards-row{flex-direction:row;justify-content:center;align-items:stretch;gap:0;display:flex}.parents-cards-row__mid{flex:0 0 3.25rem;justify-content:center;align-items:center;min-height:12rem;margin-left:clamp(.75rem,2.8vw,1.5rem);margin-right:clamp(.75rem,2.8vw,1.5rem);display:flex;position:relative}.parents-section__line{background:linear-gradient(#0000 0%,#1e325a24 12%,#1e325a38 50%,#1e325a24 88%,#0000 100%);width:1px;position:absolute;top:-1.75rem;bottom:-1.75rem;left:50%;transform:translate(-50%)}.parents-section__amp{z-index:2;width:3.15rem;height:3.15rem;font-family:var(--font-serif);color:#fff;background:linear-gradient(145deg,#6b8ec9 0%,#3d5a94 45%,#2a4472 100%);border:2px solid #fffffff2;border-radius:50%;justify-content:center;align-items:center;font-size:1.35rem;font-style:italic;font-weight:600;line-height:1;display:flex;position:relative;box-shadow:0 6px 18px #0e203e38,0 2px 6px #0e203e1f}.parents-card{background:#fff;border:1px solid #14294b1f;flex:1;min-width:0;max-width:22rem;overflow:hidden;box-shadow:0 12px 32px #0e203e1a,0 2px 8px #0e203e0d}.parents-card--bride{--parents-card-r:1.85rem;border-radius:var(--parents-card-r) 0 var(--parents-card-r) 0}.parents-card--groom{--parents-card-r:1.85rem;border-radius:0 var(--parents-card-r) 0 var(--parents-card-r)}.parents-card__body{text-align:center;border:1px solid #14294b33;margin:.65rem;padding:clamp(1rem,3vw,1.35rem) clamp(.85rem,2.5vw,1.1rem)}.parents-card--bride .parents-card__body{border-radius:calc(var(--parents-card-r) - .65rem) 0 calc(var(--parents-card-r) - .65rem) 0;padding-top:6rem;padding-bottom:6rem}.parents-card--groom .parents-card__body{border-radius:0 calc(var(--parents-card-r) - .65rem) 0 calc(var(--parents-card-r) - .65rem);padding-top:6rem;padding-bottom:6rem}.parents-card__label{font-family:var(--font-sans);letter-spacing:.32em;text-transform:uppercase;color:#5f7398;margin:0 0 clamp(1.15rem,3.2vw,1.55rem);font-size:.52rem;font-weight:500}.parents-card__parents{font-family:var(--font-serif);letter-spacing:.12em;text-transform:uppercase;color:#435a84;margin:0 0 clamp(2rem,5vw,2.85rem);font-size:clamp(.62rem,1.65vw,.72rem);font-weight:600;line-height:1.55}.parents-card__name{color:#172d53;margin-top:0;margin-bottom:0;font-family:Great Vibes,cursive;font-size:clamp(2.35rem,6.5vw,3.15rem);font-weight:400;line-height:1.1}@media (max-width:720px){.parents-cards-row{flex-direction:column;align-items:center;gap:0}.parents-card{width:100%;max-width:22rem}.parents-card--bride{--parents-card-r:1.45rem;border-radius:var(--parents-card-r) 0 var(--parents-card-r) 0;order:1}.parents-card--groom{--parents-card-r:1.45rem;border-radius:0 var(--parents-card-r) 0 var(--parents-card-r);order:3}.parents-cards-row__mid{flex:none;order:2;width:100%;min-height:3.5rem;margin-inline:clamp(1rem,6vw,2rem)}.parents-section__line{width:1px;height:100%;top:0;bottom:0;left:50%}}.when-section{z-index:1;box-sizing:border-box;background:0 0;width:100%;padding:clamp(4.25rem,11vw,7rem) 1.25rem clamp(4.5rem,12vw,7.25rem);position:relative;overflow:visible}.when-section__deco{pointer-events:none;z-index:0;position:absolute;inset:0;overflow:hidden}.when-section__mandala{object-fit:contain;opacity:.5;mix-blend-mode:multiply;width:min(78vw,460px);height:auto;position:absolute;top:50%;transform:translateY(-50%)}.when-section__mandala--left{left:max(-32%,-9rem)}.when-section__mandala--right{right:max(-32%,-9rem);transform:translateY(-50%)scaleX(-1)}.when-section__inner{z-index:1;max-width:48rem;margin:0 auto;padding-block:clamp(1rem,3vw,2rem);position:relative}.when-grid{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:stretch;gap:clamp(1.75rem,5vw,3.5rem);margin-bottom:clamp(3rem,8vw,4.25rem);display:grid}.when-col{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:clamp(.85rem,2.2vw,1.15rem);min-height:clamp(11rem,28vw,14rem);display:flex}.when-col__icon{color:#3d5a94;justify-content:center;align-items:center;margin-bottom:.15rem;display:flex}.when-icon-svg{width:2.25rem;height:2.25rem}.when-col__label{font-family:var(--font-sans);letter-spacing:.34em;text-transform:uppercase;color:#5f7398;margin:0;font-size:clamp(.58rem,1.5vw,.72rem);font-weight:500}.when-col__main{font-family:var(--font-serif);letter-spacing:.08em;text-transform:uppercase;color:#172d53;margin:0;font-size:clamp(1.45rem,4.2vw,1.95rem);font-weight:600;line-height:1.45}.when-col__sub{font-family:var(--font-serif);letter-spacing:.14em;text-transform:uppercase;color:#5f7398;margin:0;font-size:clamp(1.05rem,2.75vw,1.25rem);font-weight:500;line-height:1.5}.when-divider{background:linear-gradient(#0000 0%,#1e325a1f 15%,#1e325a38 50%,#1e325a1f 85%,#0000 100%);align-self:center;width:1px;min-height:clamp(11rem,32vw,15rem)}.when-section__pill{width:fit-content;max-width:100%;font-family:var(--font-sans);letter-spacing:.2em;text-transform:uppercase;text-align:center;color:#243a62;box-sizing:border-box;background:#fff;border:1px solid #14294b1a;border-radius:999px;flex-wrap:wrap;justify-content:center;align-items:center;gap:.45em;margin:0 auto;padding:.75rem 1.5rem;font-size:clamp(.58rem,1.65vw,.72rem);font-weight:600;display:flex;box-shadow:0 10px 28px #0e203e1a,0 2px 8px #0e203e0d}.when-section__pill-star{color:#3d5a94;font-size:.65em;line-height:1}@media (max-width:640px){.when-grid{grid-template-columns:1fr;gap:2.25rem}.when-divider{background:linear-gradient(90deg,#0000 0%,#1e325a1f 15%,#1e325a38 50%,#1e325a1f 85%,#0000 100%);width:min(12rem,70%);height:1px;min-height:0;margin:0 auto}.when-col{gap:clamp(.75rem,2.5vw,1rem);min-height:0}}.countdown-section{box-sizing:border-box;background:#faf8f4 radial-gradient(85% 55% at 50% 0,#132a4a0a,#0000 58%);flex-direction:column;justify-content:center;width:100vw;min-height:min(92vh,52rem);margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);padding:clamp(5rem,14vw,8.75rem) 1.35rem clamp(5.25rem,15vw,9rem);display:flex;position:relative;overflow:hidden}.countdown-section__watermark{font-family:var(--font-serif);letter-spacing:.02em;white-space:nowrap;color:#132a4a0f;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:clamp(6rem,30vw,14rem);font-weight:600;line-height:1;position:absolute;top:44%;left:50%;transform:translate(-50%,-50%)}.countdown-section__inner{z-index:1;text-align:center;max-width:32rem;margin:0 auto;position:relative}.countdown-section__title{flex-direction:column;align-items:center;gap:.35rem;margin:0 0 clamp(1.5rem,4vw,2.25rem);line-height:1.15;display:flex}.countdown-section__title-serif{font-family:var(--font-serif);letter-spacing:.34em;text-transform:uppercase;color:var(--navy);font-size:clamp(1.2rem,3.75vw,1.65rem);font-weight:600}.countdown-section__title-script{color:var(--navy);letter-spacing:.02em;font-family:Great Vibes,cursive;font-size:clamp(3.75rem,13.5vw,5.5rem);font-weight:400;line-height:1.05}.countdown-section__pill{width:fit-content;font-family:var(--font-sans);letter-spacing:.26em;text-transform:uppercase;color:var(--navy);background:#fff;border:1px solid #132a4a1f;border-radius:999px;justify-content:center;align-items:center;gap:.45em;margin:0 auto clamp(2.5rem,6vw,3.5rem);padding:.72rem 1.55rem;font-size:clamp(.68rem,1.85vw,.82rem);font-weight:600;display:flex;box-shadow:0 6px 20px #0e203e14}.countdown-section__grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:clamp(.65rem,3vw,1.15rem);display:grid}.countdown-box{background:#fff;border:1px solid #132a4a14;border-radius:50% 50% 16px 16px/28% 28% 16px 16px;flex-direction:column;justify-content:flex-start;align-items:center;padding:clamp(1.25rem,4vw,1.75rem) .45rem clamp(2rem,5.5vw,2.5rem);display:flex;position:relative;box-shadow:0 12px 28px #0e203e1a,0 2px 8px #0e203e0a}.countdown-box__value{font-family:var(--font-serif);font-variant-numeric:tabular-nums;color:var(--navy);min-height:1.2em;font-size:clamp(1.75rem,7vw,2.45rem);font-weight:700;line-height:1.1}.countdown-box__label{font-family:var(--font-sans);letter-spacing:.22em;text-transform:uppercase;color:#5f7398;margin-top:.6rem;font-size:clamp(.58rem,1.65vw,.72rem);font-weight:600}.countdown-box__diamond{background:var(--navy);opacity:.55;width:6px;height:6px;position:absolute;bottom:.85rem;left:50%;transform:translate(-50%)rotate(45deg)}@media (max-width:640px){.countdown-section{min-height:min(78vh,44rem)}}@media (max-width:380px){.countdown-section{min-height:min(70vh,38rem);padding:clamp(3.75rem,12vw,4.5rem) 1rem clamp(4rem,13vw,5rem)}.countdown-section__grid{gap:.45rem}.countdown-box{padding-inline:.28rem}.countdown-box__value{font-size:1.4rem}.countdown-box__label{letter-spacing:.16em;font-size:.52rem}}.venue-section{box-sizing:border-box;background-color:#eef2f9;background-image:linear-gradient(165deg,#f5f7fc 0%,#e9eef8 42%,#e4eaf4 100%);flex-direction:column;justify-content:center;width:100vw;min-height:min(100vh,56rem);margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);padding:clamp(4.5rem,12vw,7.5rem) clamp(1.35rem,5vw,3rem) clamp(4.75rem,12vw,7.75rem);display:flex}.venue-section__inner{grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);align-items:center;gap:clamp(2.5rem,7vw,5rem);width:100%;max-width:min(72rem,94vw);margin:0 auto;display:grid}.venue-section__copy{text-align:left}.venue-kicker{align-items:center;gap:.85rem;margin:0 0 clamp(1.1rem,2.5vw,1.5rem);display:flex}.venue-kicker__line{background:#132a4a47;flex-shrink:0;width:clamp(2.5rem,6vw,3.5rem);height:1px;display:block}.venue-kicker__text{font-family:var(--font-sans);letter-spacing:.32em;text-transform:uppercase;color:#5f7398;font-size:clamp(.65rem,1.65vw,.82rem);font-weight:600}.venue-title{color:var(--navy);letter-spacing:.02em;margin:0 0 clamp(1.15rem,2.5vw,1.5rem);font-family:Great Vibes,cursive;font-size:clamp(3rem,9.5vw,4.75rem);font-weight:400;line-height:1.08}.venue-location{font-family:var(--font-sans);letter-spacing:.22em;text-transform:uppercase;color:#3d5a94;align-items:center;gap:.65rem;margin:0 0 clamp(1.5rem,3vw,2rem);font-size:clamp(.72rem,1.85vw,.88rem);font-weight:600;display:flex}.venue-location__icon{color:#3d5a94;flex-shrink:0;width:clamp(1.15rem,2.8vw,1.35rem);height:clamp(1.15rem,2.8vw,1.35rem)}.venue-desc{max-width:36rem;font-family:var(--font-sans);color:#4a6288;margin:0 0 clamp(2rem,4vw,2.75rem);font-size:clamp(.95rem,2.35vw,1.15rem);font-weight:400;line-height:1.7}.venue-cta{font-family:var(--font-sans);letter-spacing:.22em;text-transform:uppercase;color:#fff;background:linear-gradient(165deg, var(--navy-light) 0%, var(--navy) 55%, var(--navy-deep) 100%);border:1px solid #ffffff1f;border-radius:999px;justify-content:center;align-items:center;gap:.65rem;padding:clamp(.95rem,2.2vw,1.1rem) clamp(1.65rem,3.5vw,2rem);font-size:clamp(.65rem,1.65vw,.78rem);font-weight:600;text-decoration:none;transition:transform .2s,box-shadow .2s;display:inline-flex;box-shadow:0 10px 28px #0e203e38,0 2px 8px #0e203e1f}.venue-cta__icon{flex-shrink:0;width:clamp(1.05rem,2.5vw,1.2rem);height:clamp(1.05rem,2.5vw,1.2rem)}@media (hover:hover) and (pointer:fine){.venue-cta:hover{transform:translateY(-2px);box-shadow:0 14px 36px #0e203e47,0 2px 10px #0e203e24}}.venue-section__map{width:100%}.venue-map-frame{box-sizing:border-box;background:#fff;border:1px solid #132a4a1a;border-radius:50% 50% 22px 22px/22% 22% 22px 22px;width:100%;max-width:min(32rem,100%);margin-left:auto;margin-right:auto;padding:clamp(.85rem,2.5vw,1.15rem);position:relative;box-shadow:0 20px 48px #0e203e24,0 4px 14px #0e203e14}.venue-map-frame__clip{background:#dfe6f2;border-radius:50% 50% 14px 14px/22% 22% 14px 14px;position:relative;overflow:hidden}.venue-map-frame__embed{border:0;width:100%;height:clamp(18rem,min(52vh,52vw),34rem);min-height:min(42vh,20rem);display:block}.venue-map-frame__link{font-family:var(--font-sans);letter-spacing:.2em;text-transform:uppercase;color:var(--navy);background:#fffffff2;border:1px solid #132a4a1a;border-radius:999px;padding:.5rem 1.1rem;font-size:clamp(.52rem,1.35vw,.62rem);font-weight:600;text-decoration:none;transition:background .2s,color .2s;position:absolute;bottom:.85rem;left:50%;transform:translate(-50%);box-shadow:0 6px 20px #0e203e1f}@media (max-width:768px){.venue-section{min-height:min(100vh,52rem)}.venue-section__inner{grid-template-columns:1fr;gap:clamp(2.25rem,6vw,3.25rem)}.venue-section__copy{text-align:center;max-width:min(32rem,100%);margin:0 auto}.venue-kicker,.venue-location{justify-content:center}.venue-desc{margin-left:auto;margin-right:auto}.venue-map-frame{max-width:min(28rem,100%)}.venue-map-frame__embed{height:clamp(17rem,45vh,26rem);min-height:16rem}}@media (max-width:480px){.venue-section{min-height:0;padding:clamp(3.25rem,10vw,4rem) 1.15rem clamp(3.5rem,11vw,4.5rem)}}.rsvp-section{box-sizing:border-box;background-color:var(--navy-deep);background-image:radial-gradient(circle at 18% 22%, #ffffff0a, transparent 42%), radial-gradient(circle at 82% 78%, #ffffff08, transparent 45%), radial-gradient(circle at 1px 1px, #ffffff0d 1px, transparent 0), linear-gradient(165deg, #0d1a30 0%, var(--navy-deep) 38%, #070f1c 100%);color:#ffffffeb;background-size:auto,auto,14px 14px,auto;width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);padding:clamp(4rem,14vw,7rem) clamp(1.35rem,5vw,2rem)}.rsvp-section__inner{text-align:center;max-width:32rem;margin:0 auto}.rsvp-eyebrow{font-family:var(--font-sans);letter-spacing:.34em;text-transform:uppercase;color:#ffffffe0;margin:0 0 1.15rem;font-size:clamp(.78rem,2vw,.95rem);font-weight:500}.rsvp-title{font-family:var(--font-serif);letter-spacing:.06em;color:#fff;margin:0 0 1.35rem;font-size:clamp(3.65rem,14vw,5.75rem);font-style:italic;font-weight:400;line-height:1.05}.rsvp-rule{justify-content:center;align-items:center;gap:.85rem;margin:0 0 1.75rem;display:flex}.rsvp-rule__line{background:#ffffff47;flex:1;max-width:6.5rem;height:1px}.rsvp-rule__diamond{background:#ffffff8c;flex-shrink:0;width:7px;height:7px;transform:rotate(45deg)}.rsvp-copy{font-family:var(--font-sans);letter-spacing:.02em;color:#ffffffd1;margin:0 0 clamp(2.25rem,5vw,3rem);font-size:clamp(.98rem,2.55vw,1.18rem);font-weight:300;line-height:1.65}.rsvp-phones{flex-direction:column;align-items:center;gap:clamp(1.25rem,3vw,1.65rem);margin:0;padding:0;list-style:none;display:flex}.rsvp-phones__item{flex-direction:column;align-items:center;gap:.35rem;display:flex}.rsvp-phone__name{font-family:var(--font-sans);letter-spacing:.26em;text-transform:uppercase;color:#ffffff73;font-size:clamp(.68rem,1.75vw,.82rem);font-weight:600}.rsvp-phone{font-family:var(--font-sans);letter-spacing:.1em;color:#fff;border-bottom:1px solid #ffffff40;padding-bottom:.12em;font-size:clamp(1.1rem,3vw,1.35rem);font-weight:500;text-decoration:none;transition:color .2s,border-color .2s}@media (min-width:520px){.rsvp-phones{flex-direction:row;justify-content:center;gap:clamp(2.5rem,8vw,4rem)}}.closing-section{box-sizing:border-box;background-color:#faf8f4;background-image:radial-gradient(90% 60% at 50% 0,#132a4a0b,#0000 55%),radial-gradient(circle at 1px 1px,#132a4a0a 1px,#0000 0);background-position:0 0;background-repeat:repeat;background-size:auto,12px 12px;background-attachment:scroll;background-origin:padding-box;background-clip:border-box;width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);padding:clamp(4rem,12vw,6.5rem) clamp(1.35rem,5vw,2rem) clamp(2.75rem,8vw,4rem);position:relative;overflow:hidden}.closing-section__watermark{white-space:nowrap;color:#132a4a12;pointer-events:none;-webkit-user-select:none;user-select:none;font-family:Great Vibes,cursive;font-size:clamp(4rem,22vw,10rem);font-weight:400;line-height:1;position:absolute;top:38%;left:50%;transform:translate(-50%,-50%)}.closing-section__inner{z-index:1;text-align:center;flex-direction:column;align-items:center;max-width:36rem;margin:0 auto;display:flex;position:relative}.closing-pill{font-family:var(--font-sans);letter-spacing:.32em;text-transform:uppercase;color:var(--navy);background:#ffffffa6;border:1px solid #132a4a38;border-radius:999px;margin:0 0 clamp(1.25rem,3.5vw,1.75rem);padding:.5rem 1.35rem;font-size:clamp(.58rem,1.5vw,.7rem);font-weight:600;display:inline-block}.closing-names{color:var(--navy);letter-spacing:.02em;white-space:nowrap;margin:0 0 clamp(1.5rem,4vw,2.25rem);font-family:Great Vibes,cursive;font-size:clamp(2.65rem,12.5vw,5.35rem);font-weight:400;line-height:1.12}.closing-names__amp{opacity:.92;font-size:.85em}.closing-mandala{justify-content:center;align-items:center;width:min(12.5rem,52vw);height:min(12.5rem,52vw);margin:0 0 clamp(2.5rem,7vw,3.75rem);display:flex}.closing-mandala__img{object-fit:contain;opacity:.38;mix-blend-mode:multiply;filter:saturate(.75)hue-rotate(-8deg);width:100%;height:100%}.site-footer{border-top:1px solid #132a4a1a;width:100%;padding-top:clamp(.25rem,2vw,.75rem)}.site-footer__rights{font-family:var(--font-sans);letter-spacing:.2em;text-transform:uppercase;color:#5f7398;margin:0 0 .85rem;font-size:clamp(.52rem,1.35vw,.62rem);font-weight:500;line-height:1.55}.card-door{width:50%;height:100%;transform-style:preserve-3d;transition:transform var(--door-duration) cubic-bezier(.28, .82, .32, 1);z-index:1;will-change:transform;position:absolute;top:0}.card-door--left{transform-origin:100%;border-radius:18px 0 0 18px;left:0}.card-door--right{transform-origin:0;border-radius:0 18px 18px 0;transition-delay:0s;left:50%}.card-stage.is-open .card-door--right{transition-delay:90ms}.door-inner{background-color:var(--navy-deep);background-image:radial-gradient(circle at 1px 1px, #ffffff14 1px, transparent 0), linear-gradient(165deg, var(--navy-light) 0%, var(--navy) 45%, var(--navy-deep) 100%);transition:box-shadow var(--card-move-duration,.48s) ease;background-size:10px 10px,auto;border:1px solid #ffffff14;position:absolute;inset:0;overflow:hidden}.card-door--left .door-inner{border-radius:18px 0 0 18px;box-shadow:inset -1px 0 #ffffff1f}.card-door--right .door-inner{border-radius:0 18px 18px 0;box-shadow:inset 1px 0 #ffffff1f}.card-stage.is-open .card-door--left .door-inner{box-shadow:inset -1px 0 #ffffff1a,-12px 10px 28px #00000052}.card-stage.is-open .card-door--right .door-inner{box-shadow:inset 1px 0 #ffffff1a,12px 10px 28px #00000052}.card-door--left .door-inner:after{content:"";background:linear-gradient(#0000 8%,#ffffff73 45%,#ffffff8c 55%,#0000 92%);width:1px;height:100%;position:absolute;top:0;right:0;box-shadow:0 0 12px #ffffff26}.door-side-text{text-align:center;transform-origin:50%;letter-spacing:.32em;text-transform:uppercase;color:#ffffff4d;white-space:nowrap;pointer-events:none;width:max-content;margin:0;padding-inline:.35em;font-size:.48rem;font-weight:500;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-90deg)}.corner{pointer-events:none;width:clamp(88px,27%,118px);height:clamp(88px,27%,118px);position:absolute}.corner__mandala{opacity:1.5;mix-blend-mode:screen;filter:brightness(1.12)saturate(1.05);width:clamp(168px,48vh,240px);max-width:none;height:auto;display:block;position:absolute}.corner--tl{top:0;left:0}.corner--tl .corner__mandala{top:0;left:0;transform:translate(-45%,-45%)}.corner--tr{top:0;right:0}.corner--tr .corner__mandala{top:0;left:auto;right:0;transform:translate(45%,-45%)}.corner--bl{bottom:0;left:0}.corner--bl .corner__mandala{top:auto;bottom:0;left:0;transform:translate(-45%,45%)}.corner--br{bottom:0;right:0}.corner--br .corner__mandala{inset:auto 0 0 auto;transform:translate(45%,45%)}.card-stage__center{z-index:4;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:0;display:flex;position:absolute;inset:0}.card-stage__center .seal{pointer-events:auto;flex-shrink:0}.seal{z-index:1;cursor:pointer;background:linear-gradient(145deg, var(--seal-edge) 0%, var(--seal-pink) 100%);width:88px;height:88px;box-shadow:0 4px 24px var(--shadow), 0 0 0 1px #ffffffe6, inset 0 1px 0 #fffffff2;border:none;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:.15rem;padding:0;transition:transform .38s cubic-bezier(.33,1,.68,1),opacity .5s,box-shadow .38s;display:flex;position:relative}.seal-initials{font-family:var(--font-serif);color:var(--navy);font-size:1.35rem;font-weight:700;line-height:1}.seal-open{letter-spacing:.28em;text-transform:uppercase;color:var(--accent);font-size:.55rem;font-weight:600}.tap-hint{z-index:1;margin:0;text-align:center;letter-spacing:.22em;text-transform:uppercase;color:#ffffff73;pointer-events:none;border:1px solid #ffffff61;border-radius:999px;width:max-content;max-width:calc(100% - 1.5rem);margin-inline:auto;padding:.5rem .95rem;font-size:.58rem;font-weight:500;transition:opacity .45s,color .38s,letter-spacing .38s,border-color .38s;display:inline-block;position:absolute;bottom:clamp(.85rem,2.8vh,1.35rem);left:0;right:0}.card-stage.is-open .card-door--left{transform:rotateY(-104deg)translateZ(16px)}.card-stage.is-open .card-door--right{transform:rotateY(104deg)translateZ(16px)}.card-stage.is-open .seal{opacity:0;pointer-events:none;transform:scale(.85)}.card-stage.is-open .tap-hint{opacity:0}.foot{text-align:center;min-height:2.5rem;margin-top:1.25rem}.foot-hint{letter-spacing:.38em;text-transform:uppercase;color:var(--muted);opacity:.85;margin:0;font-size:.62rem;transition:opacity .35s}.foot-link{font-family:var(--font-sans);letter-spacing:.2em;text-transform:uppercase;color:var(--navy);cursor:pointer;background:0 0;border:1px solid #132a4a40;border-radius:999px;padding:.5rem 1rem;font-size:.65rem;font-weight:500;transition:background .2s,border-color .2s}@keyframes anim-fade-up{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@keyframes anim-fade-scale{0%{opacity:0;transform:translateY(18px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes anim-seal-breathe{0%,to{box-shadow:0 4px 24px var(--shadow), 0 0 0 1px #ffffffe6, inset 0 1px 0 #fffffff2}50%{box-shadow:0 6px 28px #0b152838,0 0 0 1px #fffffff2,0 0 20px #f5e6e880,inset 0 1px #fffffffa}}@keyframes anim-float-soft{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes anim-mandala-sway{0%,to{transform:translateY(-50%)rotate(0)}50%{transform:translateY(-50%)rotate(2.5deg)}}@keyframes anim-mandala-sway-mirror{0%,to{transform:translateY(-50%)scaleX(-1)rotate(0)}50%{transform:translateY(-50%)scaleX(-1)rotate(-2.5deg)}}@keyframes anim-shimmer-fill{0%{transform:translateY(-100%)}to{transform:translateY(100%)}}@keyframes anim-watermark-drift{0%,to{opacity:1;transform:translate(-50%,-50%)}50%{opacity:.92;transform:translate(-50%,calc(-50% - 6px))}}body:not(.show-invite-page) .hero .pill{animation:.85s cubic-bezier(.22,1,.36,1) 50ms both anim-fade-up}body:not(.show-invite-page) .hero .names .name-part:first-child{animation:.75s cubic-bezier(.22,1,.36,1) .28s both anim-fade-up}body:not(.show-invite-page) .hero .names .ampersand{animation:.7s cubic-bezier(.34,1.2,.64,1) .42s both anim-fade-scale}body:not(.show-invite-page) .hero .names .name-part:last-child{animation:.75s cubic-bezier(.22,1,.36,1) .5s both anim-fade-up}body:not(.show-invite-page) .card-wrap{animation:1.05s cubic-bezier(.22,1,.36,1) .35s both anim-fade-scale}body:not(.show-invite-page) .foot .foot-hint{animation:.7s cubic-bezier(.22,1,.36,1) .85s both anim-fade-up}.card-stage:not(.is-open) .seal{animation:3.8s ease-in-out infinite anim-seal-breathe}.card-stage:not(.is-open) .tap-hint{animation:2.8s ease-in-out infinite anim-float-soft}.scroll-continue__line-fill{animation:2.4s ease-in-out infinite anim-shimmer-fill}body.show-invite-page .invite-close{animation:.55s cubic-bezier(.22,1,.36,1) .15s both anim-fade-up}body.show-invite-page .invite-panel{animation:1s cubic-bezier(.22,1,.36,1) 80ms both anim-fade-scale}body.show-invite-page .invite-mandala{animation:.75s cubic-bezier(.22,1,.36,1) .28s both anim-fade-up}body.show-invite-page .invite-eyebrow{animation:.7s cubic-bezier(.22,1,.36,1) .38s both anim-fade-up}body.show-invite-page .invite-names{animation:.85s cubic-bezier(.22,1,.36,1) .48s both anim-fade-up}body.show-invite-page .invite-date{animation:.65s cubic-bezier(.22,1,.36,1) .62s both anim-fade-up}body.show-invite-page .invite-location{animation:.65s cubic-bezier(.22,1,.36,1) .72s both anim-fade-up}body.show-invite-page .scroll-continue{animation:.75s cubic-bezier(.22,1,.36,1) .88s both anim-fade-up}.countdown-section__watermark{animation:14s ease-in-out infinite anim-watermark-drift}.closing-section__watermark{animation:16s ease-in-out infinite anim-watermark-drift}.reveal-on-scroll{opacity:0;transition:opacity .85s cubic-bezier(.22,1,.36,1),transform .85s cubic-bezier(.22,1,.36,1);transform:translateY(22px)}.reveal-on-scroll.is-inview{opacity:1;transform:translateY(0)}.union-section.is-inview .union-section__mandala--left{animation:18s ease-in-out infinite anim-mandala-sway}.union-section.is-inview .union-section__mandala--right{animation:20s ease-in-out infinite anim-mandala-sway-mirror}.wedding-snow{z-index:6;pointer-events:none;opacity:0;transition:opacity .45s;position:fixed;inset:0;overflow:hidden}body.show-invite-page .wedding-snow{opacity:1}.wedding-snow__flake{top:-12%;left:var(--x,50%);font-size:var(--size,1rem);color:rgba(28, 58, 104, var(--alpha,.52));text-shadow:0 0 10px #2e589c57,0 0 22px #5a85c942;filter:drop-shadow(0 3px 10px #0b152833);animation:anim-wedding-snow-fall var(--dur,12s) linear infinite;animation-delay:var(--delay,0s);position:absolute}@keyframes anim-wedding-snow-fall{0%{opacity:0;transform:translateY(-10vh)rotate(0)}10%{opacity:1}50%{transform:translate3d(calc(var(--drift,0px) * .7), 48vh, 0) rotate(130deg)}to{transform:translate3d(var(--drift,0px), 112vh, 0) rotate(260deg);opacity:.1}}
