:root{--vct-ink:#123a38;--vct-deep:#082c2b;--vct-accent:#2f7d67;--vct-bright:#d5a94e;--vct-paper:#f7f3e9;--vct-soft:#e6efe8;--vct-line:rgba(18,58,56,.14);--vct-shadow:0 18px 50px rgba(7,42,40,.14)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body.vct-body{margin:0;background:#dce7e1;color:var(--vct-ink);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;line-height:1.7;overflow-x:hidden}.vct-body img{display:block;max-width:100%}.vct-body a{color:inherit}.vct-body button,.vct-body input,.vct-body textarea,.vct-body select{font:inherit}.vct-skip{position:fixed;left:12px;top:-100px;z-index:1000;padding:10px 14px;background:#fff;border-radius:8px}.vct-skip:focus{top:12px}.vct-backdrop{display:none}.vct-shell{position:relative;width:100%;max-width:520px;margin:0 auto;background:var(--vct-paper);box-shadow:var(--vct-shadow);overflow:hidden}.vct-hero{position:relative;min-height:100svh;padding:52px 24px 34px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#fff;background:radial-gradient(circle at 50% 33%,rgba(74,151,126,.38),transparent 28%),linear-gradient(155deg,#0d4541 0%,#082d2d 65%,#061f20 100%);isolation:isolate}.vct-hero:before,.vct-hero:after{content:"";position:absolute;border:1px solid rgba(213,169,78,.34);border-radius:50%;z-index:-1}.vct-hero:before{width:310px;height:310px;top:13%;left:50%;transform:translateX(-50%)}.vct-hero:after{width:370px;height:370px;top:9%;left:50%;transform:translateX(-50%);border-style:dashed}.vct-hero__ornament{position:absolute;inset:0;overflow:hidden;z-index:-1;opacity:.75}.vct-hero__ornament i{position:absolute;width:120px;height:120px;border:1px solid rgba(255,255,255,.08);transform:rotate(45deg)}.vct-hero__ornament i:nth-child(1){left:-72px;top:12%}.vct-hero__ornament i:nth-child(2){right:-62px;bottom:18%}.vct-hero__ornament i:nth-child(3){width:44px;height:44px;right:34px;top:46px;border-color:rgba(213,169,78,.45)}.vct-kicker,.vct-overline{margin:0 0 10px;font-size:.69rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase}.vct-hero>h1{margin:0 0 28px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.4rem,7vw,2rem);font-weight:500;letter-spacing:.025em}.vct-portrait{width:min(58vw,236px);aspect-ratio:1;border-radius:50%;padding:8px;background:rgba(255,255,255,.1);border:1px solid rgba(213,169,78,.7);box-shadow:0 22px 55px rgba(0,0,0,.28)}.vct-portrait img{width:100%;height:100%;object-fit:cover;border-radius:50%}.vct-portrait--empty{display:grid;place-items:center;background:linear-gradient(145deg,#417d6e,#183f3c)}.vct-portrait--empty span{font:500 5rem/1 Georgia,serif;color:#f3dba6}.vct-hero__label{margin:27px 0 3px;color:#d8c28d;font-size:.72rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.vct-hero__name{margin:0;max-width:100%;font:500 clamp(2.15rem,11vw,3.4rem)/1.07 Georgia,"Times New Roman",serif;overflow-wrap:anywhere}.vct-hero__description{margin:8px 0 0;color:rgba(255,255,255,.78)}.vct-hero__date{margin-top:15px;font-weight:700;color:#f3e2bd}.vct-guest{width:100%;max-width:340px;margin:28px 0 16px;padding:14px 18px;border:1px solid rgba(255,255,255,.15);border-radius:18px;background:rgba(255,255,255,.07);backdrop-filter:blur(8px)}.vct-guest span{display:block;font-size:.72rem;color:rgba(255,255,255,.68)}.vct-guest strong{display:block;margin-top:1px;overflow-wrap:anywhere}.vct-button{display:inline-flex;min-height:44px;align-items:center;justify-content:center;border:0;border-radius:999px;padding:11px 22px;text-decoration:none;font-weight:800;font-size:.83rem;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.vct-button:hover{transform:translateY(-2px)}.vct-button:focus-visible,.vct-body input:focus-visible,.vct-body textarea:focus-visible,.vct-body select:focus-visible{outline:3px solid #e8bd62;outline-offset:3px}.vct-button--primary{color:#143936;background:#f2d18b;box-shadow:0 10px 26px rgba(0,0,0,.18)}.vct-button--outline{margin-top:18px;border:1px solid var(--vct-accent);color:var(--vct-accent);background:transparent}.vct-section{position:relative;padding:76px 22px}.vct-section__inner,.vct-heading{position:relative;text-align:center}.vct-section h2,.vct-heading h2{margin:0 0 18px;font:500 clamp(2rem,10vw,2.9rem)/1.08 Georgia,"Times New Roman",serif;color:var(--vct-deep);overflow-wrap:anywhere}.vct-section p{margin:0 auto 16px;max-width:40ch}.vct-overline{color:var(--vct-accent)}.vct-section__icon{display:grid;width:44px;height:44px;margin:0 auto 18px;place-items:center;border-radius:50%;background:var(--vct-soft);color:var(--vct-accent)}.vct-opening{background:#fff}.vct-opening__intro{font-weight:650;color:var(--vct-deep)}.vct-opening cite{display:block;margin-top:22px;color:#71817d;font-size:.82rem}.vct-child{background:linear-gradient(180deg,var(--vct-paper),#ecf2eb)}.vct-child:before{content:"";display:block;width:1px;height:54px;margin:-104px auto 42px;background:var(--vct-bright)}.vct-parents{display:flex;flex-direction:column;gap:3px;margin:30px auto 0;padding:18px;border-radius:20px;background:#fff;box-shadow:0 12px 30px rgba(18,58,56,.07)}.vct-parents span{font-size:.75rem;color:#74827f}.vct-parents strong{overflow-wrap:anywhere}.vct-countdown{color:#fff;background:var(--vct-deep)}.vct-countdown h2,.vct-countdown .vct-overline{color:#fff}.vct-countdown__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:30px}.vct-countdown__grid span{min-width:0;padding:15px 3px;border:1px solid rgba(255,255,255,.14);border-radius:15px;background:rgba(255,255,255,.06)}.vct-countdown__grid strong{display:block;font:500 clamp(1.45rem,8vw,2rem)/1 Georgia,serif;color:#f2d18b}.vct-countdown__grid small{display:block;margin-top:8px;font-size:.59rem;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.72)}.vct-events{background:#f8f6ef}.vct-heading{margin-bottom:30px}.vct-events__list{display:grid;gap:16px}.vct-event{position:relative;padding:28px 22px;text-align:center;border:1px solid var(--vct-line);border-radius:24px;background:#fff;box-shadow:0 12px 32px rgba(18,58,56,.06);overflow:hidden}.vct-event__number{position:absolute;right:14px;top:4px;font:500 3.5rem/1 Georgia,serif;color:rgba(47,125,103,.08)}.vct-event h3{margin:0 0 12px;font:600 1.55rem/1.2 Georgia,serif;color:var(--vct-deep)}.vct-event time,.vct-event__time{display:block;margin:0!important;font-size:.88rem;color:#526764}.vct-event__location{display:block;margin-top:18px}.vct-event address{margin:5px auto 0;max-width:34ch;font-style:normal;font-size:.87rem;color:#63736f}.vct-gallery{background:#e7efe9}.vct-gallery__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.vct-gallery figure{margin:0;aspect-ratio:4/5;overflow:hidden;border-radius:18px}.vct-gallery figure:first-child:nth-last-child(odd){grid-column:1/-1;aspect-ratio:16/11}.vct-gallery img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.vct-gallery figure:hover img{transform:scale(1.03)}.vct-rsvp{background:#fff}.vct-heading>span{display:block;max-width:38ch;margin:0 auto}.vct-rsvp-form{display:grid;gap:9px;margin-top:28px;padding:20px;border-radius:24px;background:#f2f5f0;text-align:left}.vct-rsvp-form label{margin-top:5px;font-size:.76rem;font-weight:800}.vct-rsvp-form input,.vct-rsvp-form textarea,.vct-rsvp-form select{width:100%;min-width:0;border:1px solid rgba(18,58,56,.18);border-radius:12px;padding:12px 13px;background:#fff;color:var(--vct-ink)}.vct-rsvp-form textarea{resize:vertical}.vct-rsvp-form .vct-button{margin-top:10px}.vct-rsvp-status{min-height:1.7em;margin:0!important;text-align:center;font-size:.8rem}.vct-wishes{display:grid;gap:10px;margin-top:22px}.vct-wishes article{padding:17px;border-left:3px solid var(--vct-bright);border-radius:5px 16px 16px 5px;background:#f8f5ed}.vct-wishes article>div{display:flex;align-items:center;justify-content:space-between;gap:8px}.vct-wishes article span{font-size:.65rem;text-transform:uppercase;color:#6d7b78}.vct-wishes article p{margin:6px 0 0;font-size:.88rem}.vct-closing{padding-top:90px;padding-bottom:90px;color:#fff;background:linear-gradient(160deg,#0c4641,#072828)}.vct-closing h2,.vct-closing .vct-overline{color:#fff}.vct-inviting{display:flex;flex-direction:column;gap:6px;margin-top:26px;padding-top:22px;border-top:1px solid rgba(255,255,255,.15)}.vct-inviting span{font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:#d8c28d}.vct-closing__family{margin-top:30px!important}.vct-closing__family strong{display:block;font-family:Georgia,serif;font-size:1.25rem}.vct-branding{display:flex;justify-content:center;gap:5px;padding:24px;background:#071f20;color:rgba(255,255,255,.65);font-size:.73rem}.vct-branding strong{color:#fff}.vct-footer{padding:15px 20px 24px;text-align:center;background:#071f20;color:rgba(255,255,255,.48);font-size:.7rem}.vct-footer p{margin:0}.vct-audio{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));z-index:90}.vct-audio audio{position:absolute;width:1px;height:1px;opacity:0}.vct-audio button{display:grid;width:48px;height:48px;padding:0;place-items:center;border:1px solid rgba(255,255,255,.48);border-radius:50%;background:rgba(8,44,43,.9);box-shadow:0 8px 25px rgba(0,0,0,.24);color:#f2d18b;font-size:1.2rem;cursor:pointer;backdrop-filter:blur(10px)}.vct-audio.is-playing button{animation:vct-spin 5s linear infinite}.vct-enhanced [data-reveal]{opacity:0;transform:translateY(20px);transition:opacity .65s ease,transform .65s ease}.vct-enhanced [data-reveal].is-visible{opacity:1;transform:none}@keyframes vct-spin{to{transform:rotate(360deg)}}
@media (min-width:700px){body.vct-body{padding:36px 0}.vct-backdrop{display:block;position:fixed;inset:0;overflow:hidden;pointer-events:none}.vct-backdrop span{position:absolute;border-radius:50%;filter:blur(2px);opacity:.55}.vct-backdrop span:nth-child(1){width:34vw;height:34vw;left:-8vw;top:-7vw;background:#9abeb0}.vct-backdrop span:nth-child(2){width:30vw;height:30vw;right:-8vw;bottom:-7vw;background:#b3c9b6}.vct-backdrop span:nth-child(3){width:14vw;height:14vw;right:7vw;top:12vh;border:1px solid rgba(18,58,56,.18)}.vct-shell{border-radius:32px}.vct-hero{min-height:820px}.vct-audio{right:calc(50% - 244px)}}
@media (max-width:350px){.vct-hero{padding-left:17px;padding-right:17px}.vct-section{padding-left:16px;padding-right:16px}.vct-countdown__grid{gap:4px}.vct-countdown__grid span{padding-left:1px;padding-right:1px}.vct-event{padding-left:17px;padding-right:17px}.vct-rsvp-form{padding:16px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.vct-enhanced [data-reveal]{opacity:1;transform:none;transition:none}.vct-audio.is-playing button{animation:none}.vct-button,.vct-gallery img{transition:none}}
