@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@600&display=swap");.ginv:not([data-theme=garden]){background:var(--g-paper)}.ginv:not([data-theme=garden]) .g-bg-photo{background-image:var(--g-bg-image);opacity:1}.ginv:not([data-theme=garden]) .g-bg-tint{background:linear-gradient(180deg,var(--g-tint-a),var(--g-tint-b))}.ginv:not([data-theme=garden]) .g-b1{background:radial-gradient(circle,rgba(255,255,255,.9),transparent 70%)}.ginv:not([data-theme=garden]) .g-b2{background:radial-gradient(circle,var(--g-blush),transparent 70%)}.ginv:not([data-theme=garden]) .g-column{background:rgba(255,255,255,.42)}.ginv:not([data-theme=garden]) .g-column:before{background-image:var(--g-pattern);opacity:.12}.ginv:not([data-theme=garden]) .g-gate{background-image:var(--g-bg-image);background-color:var(--g-paper)}.ginv:not([data-theme=garden]) .g-gate:before{background:linear-gradient(180deg,var(--g-tint-a),var(--g-tint-b))}.ginv:not([data-theme=garden]) .g-slide .ph{color:rgba(255,255,255,.9)}.ginv[data-theme=boho] .g-column{background:rgba(255,255,255,.6)}.ginv[data-theme=envelope] .g-column{background:rgba(250,244,234,.82)}.ginv .g-flake.k-blush{color:#e9a9b2;opacity:.9}.ginv .g-flake.k-sparkles{color:#fff;filter:drop-shadow(0 0 6px rgba(255,255,255,.9));animation-name:g-fall-twinkle}.ginv .g-flake.k-dust{color:var(--g-gold);filter:drop-shadow(0 0 4px rgba(198,163,91,.8));animation-name:g-fall-twinkle}@keyframes g-fall-twinkle{0%{transform:translateY(0) scale(.6);opacity:0}10%{opacity:1}50%{transform:translateY(50vh) scale(1.1);opacity:.6}90%{opacity:.9}to{transform:translateY(104vh) scale(.5);opacity:0}}.ginv .t-kicker{font-family:var(--font-body);font-size:.66rem;letter-spacing:.32em;text-transform:uppercase;color:var(--g-green)}.ginv .t-kicker.ornate{display:flex;align-items:center;justify-content:center;gap:12px}.ginv .t-kicker.ornate i{width:46px;height:1px;background:linear-gradient(90deg,transparent,currentColor)}.ginv .t-kicker.ornate i:last-child{background:linear-gradient(270deg,transparent,currentColor)}.ginv .t-names{font-family:var(--font-heading),serif;font-weight:500;font-size:clamp(2rem,7vw,2.8rem);line-height:1.1;margin:12px 0 0;color:var(--g-ink)}.ginv .t-names span{display:block}.ginv .t-names.caps span{text-transform:uppercase;letter-spacing:.16em;font-weight:400}.ginv .t-names .amp{display:block;font-family:var(--font-script),cursive;font-style:normal;font-size:.72em;color:var(--g-gold);line-height:1.2;margin:2px 0}.ginv .t-names.big{font-size:clamp(2.3rem,9vw,3.4rem)}.ginv .t-date{font-family:var(--font-body);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--g-green);margin-top:14px}.ginv .t-hero-tag{font-family:var(--font-heading),serif;font-style:italic;font-size:1.05rem;color:var(--g-ink)}.ginv .t-gate-scene{padding:0}.ginv .t-gate-scene .t-scene-card{position:absolute;inset:0;width:100%;height:100%;border-radius:0;overflow:hidden;background:#fff;animation:g-rise 1.1s cubic-bezier(.22,1,.36,1) .1s backwards;transition:transform .9s cubic-bezier(.22,1,.36,1),opacity .7s ease;transform-origin:50% 78%;transition:transform 2.2s cubic-bezier(.6,0,.3,1),opacity 1s ease 1.1s}.ginv .t-gate.is-open .t-scene-card{transform:scale(7);opacity:0}.ginv .t-scene-card .t-open,.ginv .t-scene-card .t-scene-text{transition:opacity .4s ease,transform .5s ease}.ginv .t-gate.is-open .t-scene-text{opacity:0;transform:translateY(-20px)}.ginv .t-gate.is-open .t-open{opacity:0;transform:translateX(-50%) translateY(16px)}.ginv .t-gate-scene{transition:opacity .6s ease 1.6s,visibility 0s 2.2s}.ginv .t-gate-scene.is-open~.g-column{animation:t-page-in 1.4s cubic-bezier(.22,1,.36,1) 1.2s both}@keyframes t-page-in{0%{opacity:0;transform:scale(1.04)}to{opacity:1;transform:none}}.ginv[data-theme=boho] .t-gate-scene .t-scene-card{transform-origin:50% 30%}.ginv[data-theme=lakeside] .t-gate-scene .t-scene-card{transform-origin:50% 72%}.ginv .t-scene-card .t-scene-img{position:absolute;inset:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center 62%;object-position:center 62%;animation:t-slowzoom 18s ease-in-out infinite alternate}.ginv .t-scene-card .t-scene-veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.86),rgba(255,255,255,.55) 24%,rgba(255,255,255,0) 44%,rgba(255,255,255,0) 70%,rgba(255,255,255,.85))}.ginv .t-scene-card .t-scene-text{position:absolute;left:0;right:0;top:max(7%,env(safe-area-inset-top,0px) + 24px);padding:0 22px;text-align:center}.ginv .t-scene-card .t-names,.ginv .t-scene-card .t-names.big{font-size:clamp(2.2rem,7vmin,4rem)}.ginv .t-scene-card .t-date,.ginv .t-scene-card .t-kicker{font-size:clamp(.62rem,1.4vmin,.85rem)}.ginv .t-scene-card .t-open{position:absolute;left:50%;bottom:max(7%,env(safe-area-inset-bottom,0px) + 28px);transform:translateX(-50%);white-space:nowrap}.ginv .t-scene-card .t-open:hover{transform:translateX(-50%) translateY(-2px)}.ginv[data-theme=boho] .t-scene-card .t-scene-text{top:42%}.ginv[data-theme=boho] .t-scene-card .t-scene-img{-o-object-position:center top;object-position:center top}@media (max-aspect-ratio:3/4){.ginv .t-scene-card .t-scene-img{-o-object-position:center top;object-position:center top}}@media (min-aspect-ratio:1/1){.ginv .t-scene-card .t-scene-veil{background:linear-gradient(180deg,rgba(255,255,255,.7),rgba(255,255,255,.35) 30%,rgba(255,255,255,0) 50%,rgba(255,255,255,0) 72%,rgba(255,255,255,.8))}}.ginv[data-theme=boho] .t-scene-card .t-scene-veil{background:linear-gradient(180deg,rgba(255,255,255,0),rgba(255,255,255,0) 30%,rgba(255,255,255,.55) 45%,rgba(255,255,255,.8))}@keyframes t-slowzoom{0%{transform:scale(1)}to{transform:scale(1.08)}}.ginv .t-hero{padding-top:clamp(36px,6vw,60px)}.ginv .t-scene{position:relative;width:min(100%,460px);margin:0 auto;aspect-ratio:9/15;border-radius:24px;overflow:hidden;box-shadow:0 30px 70px rgba(0,0,0,.22),inset 0 0 0 1px rgba(255,255,255,.8);background:#fff;transform-style:preserve-3d}.ginv .t-scene .t-scene-img{position:absolute;inset:-6% 0 0;width:100%;height:106%;-o-object-fit:cover;object-fit:cover;-o-object-position:center top;object-position:center top;transform:translateY(var(--py,0)) scale(var(--ps,1));will-change:transform}.ginv .t-scene-fade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.82),rgba(255,255,255,.5) 20%,rgba(255,255,255,0) 40%,rgba(255,255,255,0) 68%,rgba(255,255,255,.9));pointer-events:none}.ginv .t-scene-top{top:7%;padding:0 20px}.ginv .t-scene-bottom,.ginv .t-scene-top{position:absolute;left:0;right:0;z-index:2}.ginv .t-scene-bottom{bottom:6%;padding:0 24px}.ginv .t-clouds{position:absolute;inset:0;pointer-events:none;overflow:hidden}.ginv .t-clouds span{position:absolute;border-radius:50%;background:radial-gradient(ellipse at center,rgba(255,255,255,.9),rgba(255,255,255,0) 70%);filter:blur(8px);opacity:.8}.ginv .t-clouds .c1{width:70%;height:22%;top:6%;left:-30%;animation:t-cloud 46s linear infinite}.ginv .t-clouds .c2{width:55%;height:16%;top:20%;left:-40%;animation:t-cloud 60s linear -20s infinite;opacity:.6}.ginv .t-clouds .c3{width:80%;height:24%;top:12%;left:-60%;animation:t-cloud 75s linear -45s infinite;opacity:.5}@keyframes t-cloud{0%{transform:translateX(0)}to{transform:translateX(260%)}}.ginv .t-scene:hover .t-scene-img{filter:saturate(1.08)}.ginv .t-hero-boho{position:relative;padding-top:0}.ginv .t-hero-boho .t-boho-frame{position:absolute;top:0;left:50%;transform:translateX(-50%);width:min(100%,520px);height:auto;pointer-events:none;mask-image:linear-gradient(180deg,#000 70%,transparent);-webkit-mask-image:linear-gradient(180deg,#000 70%,transparent);animation:t-breathe 12s ease-in-out infinite}.ginv .t-boho-body{position:relative;z-index:2;padding-top:clamp(190px,56vw,320px)}.ginv .t-boho-body .t-hero-tag{margin-top:18px;padding:0 24px}.ginv .t-boho-names{margin-top:10px}.ginv .t-boho-names small{display:block;font-family:var(--font-body);font-size:.6rem;letter-spacing:.3em;text-transform:uppercase;color:var(--g-green);margin-top:14px}.ginv .t-boho-names h1{font-family:var(--font-heading),serif;font-weight:500;font-size:clamp(2.2rem,8vw,3rem);line-height:1.05;margin:2px 0 0;color:var(--g-ink)}.ginv .t-polaroids{position:relative;height:230px;width:260px;margin:26px auto 0}.ginv .t-polaroid{position:absolute;top:0;left:50%;width:150px;margin:0;padding:10px 10px 30px;background:#fff;box-shadow:0 16px 36px rgba(74,58,58,.22);transform:translateX(-50%) rotate(var(--rot));animation:t-float 6s ease-in-out var(--d) infinite;transition:transform .5s cubic-bezier(.34,1.4,.64,1),box-shadow .4s ease;cursor:pointer}.ginv .t-polaroid:first-child{left:38%}.ginv .t-polaroid:nth-child(2){left:62%;top:24px}.ginv .t-polaroid:hover{transform:translateX(-50%) rotate(0deg) scale(1.08);z-index:3;box-shadow:0 26px 50px rgba(74,58,58,.3);animation-play-state:paused}.ginv .t-polaroid-photo{aspect-ratio:1;display:grid;place-items:center;color:rgba(255,255,255,.85)}.ginv .t-polaroid-photo svg{width:36%}.ginv .t-polaroid figcaption{position:absolute;left:0;right:0;bottom:8px;font-family:var(--font-script),cursive;font-size:1.1rem;color:var(--g-green)}@keyframes t-float{0%,to{translate:0 0}50%{translate:0 -8px}}@keyframes t-breathe{0%,to{transform:translateX(-50%) scale(1)}50%{transform:translateX(-50%) scale(1.02)}}.ginv .t-env-hero{position:relative;width:min(100%,440px);margin:0 auto;aspect-ratio:9/15;border-radius:22px;overflow:hidden;box-shadow:0 30px 70px rgba(61,46,38,.28),inset 0 0 0 1px rgba(255,255,255,.7);background:#efe6d8}.ginv .t-env-hero-img{position:absolute;inset:-6% 0 0;width:100%;height:106%;-o-object-fit:cover;object-fit:cover;-o-object-position:center 40%;object-position:center 40%;transform:translateY(var(--py,0)) scale(var(--ps,1));will-change:transform}.ginv .t-env-hero-light{position:absolute;inset:0;background:radial-gradient(ellipse 60% 40% at 50% 46%,rgba(255,255,255,.35),transparent 70%);animation:t-light 9s ease-in-out infinite;pointer-events:none;mix-blend-mode:soft-light}@keyframes t-light{0%,to{transform:translate(-6%,-3%)}50%{transform:translate(6%,3%)}}.ginv .t-env-hero-top{position:absolute;left:0;right:0;top:7%;z-index:2}.ginv .t-env-hero-date{font-family:var(--font-heading),serif;letter-spacing:.3em;font-size:.95rem;color:var(--g-ink);margin-top:10px}.ginv .t-env-hero-bottom{position:absolute;left:0;right:0;bottom:6%;padding:0 22px;z-index:2}.ginv .t-names.emboss span{color:var(--g-ink);text-shadow:0 1px 0 rgba(255,255,255,.7),0 -1px 0 rgba(61,46,38,.25)}.ginv .t-gate-envelope{perspective:none}.ginv .t-env-stage{display:grid;place-items:center;width:100%}.ginv .t-env{position:relative;width:min(88vw,420px);aspect-ratio:1.42;cursor:pointer;animation:g-rise 1.1s cubic-bezier(.22,1,.36,1) .1s backwards,t-env-bob 5s ease-in-out 1.2s infinite;transition:transform .9s cubic-bezier(.22,1,.36,1),opacity .6s ease;outline:none}.ginv .t-env:focus-visible{filter:drop-shadow(0 0 0 3px var(--g-gold))}.ginv .t-gate.is-open .t-env{transform:translateY(-80px) scale(1.1);opacity:0}@keyframes t-env-bob{0%,to{translate:0 0}50%{translate:0 -6px}}.ginv .t-env-back{position:absolute;inset:0;border-radius:10px;background:#4a3a31;box-shadow:0 40px 80px rgba(61,46,38,.4);z-index:1}.ginv .t-env-card{position:absolute;left:5%;right:5%;bottom:6%;height:92%;z-index:2;background:linear-gradient(180deg,#fbf6ee,#f1e8da);border-radius:8px;box-shadow:0 10px 30px rgba(61,46,38,.25);padding:22px 16px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;transform:translateY(0);transition:transform 1.1s cubic-bezier(.22,1,.36,1) .6s,z-index 0s .95s}.ginv .t-env-card .t-names{font-size:clamp(1.5rem,5.4vw,2rem);margin-top:6px}.ginv .t-env-card .t-card-flourish{width:120px;height:20px;color:var(--g-gold);margin-top:10px}.ginv .is-unsealed .t-env-card{transform:translateY(-62%) scale(1.04);z-index:5}.ginv .t-env-pocket{position:absolute;inset:0;z-index:3;border-radius:10px;background:linear-gradient(160deg,#56423a,#45362e 60%,#3a2c25);filter:drop-shadow(0 -2px 2px rgba(0,0,0,.2));clip-path:polygon(0 0,50% 52%,100% 0,100% 100%,0 100%)}.ginv .t-env-pocket:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.08),transparent 40%);clip-path:polygon(0 0,50% 52%,100% 0)}.ginv .t-env-flap{position:absolute;left:0;right:0;top:0;height:56%;z-index:4;transform-origin:top center;transform:perspective(900px) rotateX(0deg);transition:transform 1s cubic-bezier(.34,1.2,.64,1),z-index 0s .45s;transform-style:preserve-3d}.ginv .t-env-flap-inner{background:linear-gradient(180deg,#6a5445,#503f35);box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);border-radius:10px 10px 0 0}.ginv .t-env-flap-inner,.ginv .t-env-flap:after{position:absolute;inset:0;clip-path:polygon(0 0,100% 0,50% 100%);backface-visibility:hidden}.ginv .t-env-flap:after{content:"";background:linear-gradient(180deg,#3e2f27,#352820);transform:rotateX(180deg)}.ginv .is-unsealed .t-env-flap{transform:perspective(900px) rotateX(-178deg);z-index:0}.ginv .t-env-seal{position:absolute;left:50%;top:56%;width:64px;height:64px;transform:translate(-50%,-50%);z-index:6;filter:drop-shadow(0 6px 12px rgba(0,0,0,.35));transition:transform .5s cubic-bezier(.34,1.5,.64,1),opacity .4s ease;animation:t-seal-pulse 2.4s ease-in-out infinite}.ginv .t-env-seal svg{width:100%;height:100%}.ginv .t-env-seal circle:first-child{fill:var(--g-gold)}.ginv .t-env:hover .t-env-seal{transform:translate(-50%,-50%) scale(1.1) rotate(-6deg)}.ginv .is-unsealed .t-env-seal{transform:translate(-50%,-50%) scale(0) rotate(90deg);opacity:0;animation:none}@keyframes t-seal-pulse{0%,to{filter:drop-shadow(0 6px 12px rgba(0,0,0,.35))}50%{filter:drop-shadow(0 6px 18px rgba(198,163,91,.8))}}.ginv .t-env-hint{position:absolute;left:50%;bottom:-44px;transform:translateX(-50%);white-space:nowrap;font-family:var(--font-body);font-size:.62rem;letter-spacing:.28em;text-transform:uppercase;color:var(--g-ink);opacity:.75;animation:g-hint 2.4s ease-in-out infinite}.ginv .is-unsealed .t-env-hint{opacity:0;animation:none}@media (prefers-reduced-motion:reduce){.ginv .t-boho-frame,.ginv .t-clouds span,.ginv .t-env,.ginv .t-env-hero-light,.ginv .t-env-hint,.ginv .t-env-seal,.ginv .t-polaroid,.ginv .t-scene-card .t-scene-img{animation:none!important}.ginv .t-env-hero-img,.ginv .t-scene .t-scene-img{transform:none!important}.ginv .t-gate-scene .t-scene-card{transition-duration:2.2s,1s!important;transition-delay:0s,1.1s!important}.ginv .t-gate-scene .t-open,.ginv .t-gate-scene .t-scene-text{transition-duration:.4s,.5s!important}.ginv .t-gate-scene{transition-duration:.6s,0s!important;transition-delay:1.6s,2.2s!important}.ginv .t-gate-scene.is-open~.g-column{animation-duration:1.4s!important;animation-delay:1.2s!important}.ginv .t-gate.is-open .t-scene-card{transform:scale(7)!important}}@media (max-width:420px){.ginv .t-polaroids{width:220px;height:200px}.ginv .t-polaroid{width:130px}}.ginv.is-seamless .g-column:before{background-size:640px auto;background-repeat:repeat;opacity:.6}.ginv.is-seamless .g-column{background:var(--g-paper)}.ginv.is-seamless .t-hero-scene{padding-top:0;padding-bottom:0}.ginv.is-seamless .t-hero-scene .g-cue{margin:26px 0 40px}.ginv.is-seamless .t-scene{width:calc(100% + 2 * clamp(20px, 5vw, 56px));margin-left:calc(-1 * clamp(20px, 5vw, 56px));border-radius:0;box-shadow:none;aspect-ratio:9/15;background:transparent}.ginv.is-seamless .t-scene-fade{background:linear-gradient(180deg,rgba(255,255,255,.75),rgba(255,255,255,.4) 18%,rgba(255,255,255,0) 36%)}.ginv.is-seamless .t-scene .t-scene-img{-webkit-mask-image:linear-gradient(180deg,#000,#000 66%,rgba(0,0,0,.6) 82%,rgba(0,0,0,0));mask-image:linear-gradient(180deg,#000,#000 66%,rgba(0,0,0,.6) 82%,rgba(0,0,0,0))}.ginv.is-seamless .t-scene{overflow:visible}.ginv.is-seamless .t-scene-bottom{bottom:3%}.ginv .t-birds{position:absolute;inset:0 0 55% 0;z-index:6;pointer-events:auto;cursor:default;overflow:hidden}.ginv .t-bird{position:absolute;left:0;top:0;width:96px;aspect-ratio:360/398;transform-origin:50% 50%;will-change:transform}.ginv .t-bird-sprite{display:block;width:100%;height:100%;background-size:300% 100%;background-repeat:no-repeat;animation:t-flap var(--fd) steps(3) infinite;filter:drop-shadow(0 6px 8px rgba(31,51,80,.14))}@keyframes t-flap{0%{background-position-x:0}to{background-position-x:150%}}.ginv .t-scene-card .t-birds{inset:0 0 50% 0}.ginv .t-scene-fade,.ginv .t-scene-veil{z-index:1}.ginv .t-scene-card .t-open,.ginv .t-scene-card .t-scene-text{z-index:2}.ginv .t-fountain{width:min(60%,260px);margin:8px auto -6px;filter:drop-shadow(0 10px 20px rgba(28,58,90,.18))}.ginv .t-fountain svg{width:100%;height:auto;overflow:visible}.ginv .t-fountain .jet{stroke-dasharray:6 5;animation:t-jet .7s linear infinite}.ginv .t-fountain .jet.j2,.ginv .t-fountain .jet.j3{animation-duration:.9s;stroke-dasharray:4 6}.ginv .t-fountain .sheet{stroke-dasharray:3 4;animation:t-jet 1.1s linear infinite}.ginv .t-fountain .sheet.s2{animation-delay:-.3s}.ginv .t-fountain .sheet.s3{animation-delay:-.6s}.ginv .t-fountain .sheet.s4{animation-delay:-.9s}@keyframes t-jet{0%{stroke-dashoffset:0}to{stroke-dashoffset:-11}}.ginv .t-fountain .drop{transform-box:fill-box;transform-origin:center;animation:t-drop 1.6s cubic-bezier(.3,0,.7,1) var(--d) infinite}@keyframes t-drop{0%{transform:translate(0) scale(.6);opacity:0}15%{opacity:1}45%{transform:translate(var(--dx),calc(-1 * var(--h))) scale(1)}to{transform:translate(calc(var(--dx) * 2.2),70px) scale(.5);opacity:0}}.ginv .t-fountain .ripple{transform-box:fill-box;transform-origin:center;animation:t-ripple 3s ease-out infinite}.ginv .t-fountain .ripple.r2{animation-delay:-1.5s}@keyframes t-ripple{0%{transform:scale(.3);opacity:.8}to{transform:scale(1.1);opacity:0}}.ginv .t-fountain .shimmer{animation:t-shimmer 2.4s ease-in-out infinite}@keyframes t-shimmer{0%,to{opacity:.15}50%{opacity:.4}}.ginv .t-fountain:hover .drop,.ginv .t-fountain:hover .jet{animation-duration:.9s}.ginv .t-fountain:hover .drop{--h:46px}.ginv .g-cal.ornate{position:relative;background:transparent;padding:34px 26px 30px;border-radius:0;color:var(--g-ink)}.ginv .g-cal.ornate .g-cal-head{font-family:var(--font-body);font-weight:600;font-size:1rem;letter-spacing:.02em;color:var(--g-ink)}.ginv .g-cal.ornate .g-cal-grid{gap:10px 2px;margin-top:16px}.ginv .g-cal.ornate .g-cal-grid .dow{border-bottom:2px solid var(--g-primary,var(--g-green));color:color-mix(in srgb,var(--g-ink) 70%,transparent);padding-bottom:10px;font-size:.7rem;text-transform:none;letter-spacing:.02em;font-weight:600}.ginv .g-cal.ornate .g-cal-grid .day{height:34px;font-weight:500}.ginv .g-cal.ornate .g-cal-grid .day.is-wed{background:none;box-shadow:none;color:#fff;width:40px;height:36px;justify-self:center}.ginv .g-cal.ornate .g-cal-grid .day.is-wed .heart{position:absolute;inset:-4px 0 0;width:100%;height:100%;fill:var(--g-green);filter:drop-shadow(0 6px 12px color-mix(in srgb,var(--g-green) 45%,transparent));animation:g-heartbeat 1.8s ease-in-out infinite}.ginv .g-cal.ornate .g-cal-grid .day.is-wed i{position:relative;font-style:normal;font-size:.78rem;font-weight:700}.ginv .g-cal.ornate .rule{position:absolute;background:var(--g-green)}.ginv .g-cal.ornate .rule.t{top:10px;left:72px;right:72px;height:1.5px}.ginv .g-cal.ornate .rule.b{bottom:10px;left:72px;right:72px;height:1.5px}.ginv .g-cal.ornate .rule.l{left:10px;top:72px;bottom:72px;width:1.5px}.ginv .g-cal.ornate .rule.r{right:10px;top:72px;bottom:72px;width:1.5px}.ginv .g-cal.ornate .fl{position:absolute;width:64px;height:64px;color:var(--g-green)}.ginv .g-cal.ornate .fl.tl{left:4px;top:4px;transform:rotate(90deg)}.ginv .g-cal.ornate .fl.tr{right:4px;top:4px;transform:rotate(180deg)}.ginv .g-cal.ornate .fl.bl{left:4px;bottom:4px}.ginv .g-cal.ornate .fl.br{right:4px;bottom:4px;transform:rotate(-90deg)}.ginv .g-cal.ornate:hover .fl{animation:t-fl-glow 1.6s ease-in-out infinite}@keyframes t-fl-glow{0%,to{filter:drop-shadow(0 0 0 transparent)}50%{filter:drop-shadow(0 0 6px color-mix(in srgb,var(--g-green) 60%,transparent))}}@keyframes g-heartbeat{0%,to{transform:scale(1)}14%{transform:scale(1.12)}28%{transform:scale(1)}42%{transform:scale(1.08)}}.ginv .t-divider{display:block;width:min(86%,560px);margin:-18px auto -26px;mix-blend-mode:multiply;pointer-events:none;animation:t-divider-breathe 9s ease-in-out infinite}.ginv .t-divider img{width:100%;height:auto;display:block}.ginv section+section.has-divider:before{display:none}@keyframes t-divider-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.025)}}.ginv .t-watermark{position:absolute;left:50%;top:50%;width:min(120%,900px);transform:translate(-50%,-50%);opacity:.16;mix-blend-mode:multiply;pointer-events:none;z-index:0}.ginv .t-watermark img{width:100%;height:auto;display:block}.ginv section.has-watermark{position:relative}.ginv section.has-watermark>:not(.t-watermark):not(.t-sched-icon){position:relative;z-index:1}.ginv .t-sched-icon{position:absolute;display:block;width:clamp(70px,16%,120px);z-index:1;pointer-events:none;mix-blend-mode:multiply;animation:t-float 7s ease-in-out var(--d) infinite}.ginv .t-sched-icon img{width:100%;height:auto;display:block}.ginv .t-sched-icon.left{left:clamp(4px,4%,40px)}.ginv .t-sched-icon.right{right:clamp(4px,4%,40px)}@media (max-width:560px){.ginv .t-sched-icon{width:56px;opacity:.8}}.ginv .t-giftbox{position:relative;display:block;width:min(80%,340px);aspect-ratio:1;margin:18px auto 0;background:none;border:0;padding:0;cursor:pointer;-webkit-tap-highlight-color:transparent}.ginv .t-gift-art{position:absolute;inset:14%;display:block;mix-blend-mode:multiply;transition:transform .45s cubic-bezier(.34,1.5,.64,1);animation:t-float 5s ease-in-out infinite}.ginv .t-gift-art img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;display:block;filter:drop-shadow(0 18px 28px rgba(31,51,80,.18))}.ginv .t-giftbox:hover .t-gift-art{transform:scale(1.06) rotate(-2deg)}.ginv .t-giftbox:active .t-gift-art{transform:scale(.96)}.ginv .t-mini{position:absolute;left:var(--x);top:var(--y);width:11%;transform:rotate(var(--r));animation:t-mini-float 6s ease-in-out var(--d) infinite;pointer-events:none}.ginv .t-mini svg{width:100%;height:auto;filter:drop-shadow(0 6px 10px rgba(31,51,80,.18))}.ginv .t-giftbox:hover .t-mini{animation-duration:2.5s}.ginv .t-giftbox .spark{position:absolute;width:14px;height:14px;color:var(--g-gold);animation:g-twinkle 2.6s ease-in-out infinite;pointer-events:none}.ginv .t-gift-hint{position:absolute;left:50%;bottom:-8px;transform:translateX(-50%);font-family:var(--font-body);font-size:.72rem;letter-spacing:.1em;color:var(--g-green);animation:g-hint 2.4s ease-in-out infinite}@keyframes t-mini-float{0%,to{translate:0 0}50%{translate:0 -12px}}.t-modal{position:fixed;inset:0;z-index:95;display:grid;place-items:center;padding:20px;background:rgba(20,30,48,.5);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:g-fade .3s ease 1}.t-modal-card{width:min(100%,760px);max-height:92vh;overflow:auto;background:#fff;border-radius:20px;box-shadow:0 40px 100px rgba(0,0,0,.35);animation:g-zoom-in .45s cubic-bezier(.34,1.4,.64,1) 1;font-family:var(--font-body,sans-serif);color:#1f2a3f}.t-modal-head{position:relative;padding:26px 20px;background:var(--g-ink,#1f3350);color:#fff;text-align:center;border-radius:20px 20px 0 0}.t-modal-head h3{margin:0;font-family:var(--font-heading),serif;font-weight:600;font-size:1.7rem;letter-spacing:.18em;text-transform:uppercase}.t-modal-close{position:absolute;right:14px;top:14px;width:36px;height:36px;border:0;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:1.4rem;cursor:pointer;transition:transform .2s ease,background .2s ease}.t-modal-close:hover{background:rgba(255,255,255,.25);transform:rotate(90deg)}.t-modal-body{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;padding:28px 24px 10px}.t-modal-foot{padding:6px 20px 26px;font-size:.85rem}.t-modal-foot,.t-qr{text-align:center}.t-qr-who{display:flex;align-items:center;justify-content:center;gap:8px;font-weight:600;font-size:1rem;margin:0 0 14px;color:#1f2a3f}.t-qr-badge{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:7px;background:var(--g-ink,#1f3350);color:#fff;font-size:.75rem}.t-qr-box{display:inline-block;padding:16px;border-radius:16px;border:1px solid rgba(31,42,63,.12);box-shadow:0 12px 30px rgba(31,42,63,.12);background:#fff;transition:transform .3s cubic-bezier(.34,1.4,.64,1)}.t-qr-box:hover{transform:scale(1.04)}.t-qr-box svg{display:block}.t-qr-note{font-size:.78rem;margin:12px auto 4px;max-width:240px;line-height:1.4}.t-qr-line{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82rem;margin:2px 0;color:#1f2a3f}.t-qr-actions{display:flex;justify-content:center;gap:10px;margin-top:12px}.ginv .g-btn.mini,.t-modal .g-btn,.t-modal .g-btn.mini{padding:8px 14px;font-size:.66rem}.t-modal .g-btn{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-body);letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:#fff;background:var(--g-ink,#1f3350);border:0;border-radius:999px;cursor:pointer;text-decoration:none}.t-modal .g-btn.ghost{background:#f1f3f7;color:#1f2a3f}.ginv .g-form-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.ginv .t-magic{width:42px;height:42px;border-radius:10px;border:1px solid rgba(36,64,46,.15);background:rgba(255,255,255,.7);color:var(--g-gold);display:grid;place-items:center;cursor:pointer;transition:transform .25s cubic-bezier(.34,1.5,.64,1),box-shadow .25s ease}.ginv .t-magic svg{width:20px;height:20px}.ginv .t-magic:hover{transform:rotate(-12deg) scale(1.1);box-shadow:0 8px 18px rgba(0,0,0,.12)}.ginv .g-wishes{max-height:420px;padding-right:6px;scrollbar-width:thin}.ginv .t-ending{display:flex;justify-content:center;align-items:flex-end;gap:clamp(10px,6%,60px);margin:10px auto 0}.ginv .t-ending-art{width:clamp(120px,38%,260px);mix-blend-mode:multiply;animation:t-float 6s ease-in-out infinite}.ginv .t-ending-art.e2{animation-delay:-3s}.ginv .t-ending-art img{width:100%;height:auto;display:block;transition:transform .5s cubic-bezier(.34,1.4,.64,1)}.ginv .t-ending-art:hover img{transform:translateY(-8px) rotate(-2deg)}.ginv .t-fountain-art{position:relative;width:min(70%,320px);margin:6px auto -4px;filter:none}.ginv .t-fountain-art img{width:100%;height:auto;display:block}.ginv .t-fountain-art svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.ginv .t-fountain-art .jet{stroke-dasharray:10 8;animation:t-jet .7s linear infinite}.ginv .t-fountain-art .sheet{stroke-dasharray:6 7;animation:t-jet 1.1s linear infinite}.ginv .t-fountain-art .drop{animation:t-drop 1.7s cubic-bezier(.3,0,.7,1) var(--d) infinite}.ginv .t-fountain-art .ripple{animation:t-ripple 3.2s ease-out infinite}.ginv .t-fountain-art .ripple.r2{animation-delay:-1.6s}.ginv[data-theme=chateau] .g-foot-florals img:first-child{transform:scaleX(-1)}.ginv[data-theme=spring] .t-gate-scene .t-scene-card{transform-origin:50% 50%}.ginv[data-theme=spring] .t-scene-card .t-scene-text{top:34%}.ginv[data-theme=spring] .t-scene-card .t-scene-veil{background:radial-gradient(ellipse 70% 40% at 50% 46%,rgba(255,255,255,.85),rgba(255,255,255,0) 100%)}.ginv[data-theme=spring] .t-scene-fade{background:radial-gradient(ellipse 80% 36% at 50% 40%,rgba(255,255,255,.8),rgba(255,255,255,0) 100%)}.ginv[data-theme=spring] .t-scene-top{top:30%}.ginv[data-theme=spring] .t-scene .t-scene-img{-o-object-position:center center;object-position:center center}.ginv .t-art{display:block;width:100%;height:auto;color:var(--g-green);overflow:visible}.ginv .t-divider .t-art-divider{width:100%}.ginv .t-watermark .t-art{opacity:1}.ginv .t-sched-icon .t-art-icon{width:100%}.ginv .t-gift-art .t-art-gift{width:100%;height:100%;filter:drop-shadow(0 18px 28px rgba(0,0,0,.12))}.ginv .t-ending-art .t-art-doves{width:100%}.ginv .t-ending-art:hover .t-art-doves{transform:translateY(-8px);transition:transform .5s cubic-bezier(.34,1.4,.64,1)}.ginv.is-mono .t-ending{gap:0}.ginv.is-mono .t-ending-art{width:min(80%,420px)}.ginv.is-mono .t-ending-art.e2{display:none}.ginv .g-foot-florals .t-art{position:absolute;bottom:-10px;width:46%;height:auto}.ginv .g-foot-florals .t-art:first-child{left:0;transform:scaleY(-1)}.ginv .g-foot-florals .t-art:last-child{right:0;transform:scale(-1)}.ginv .g-foot-florals.pair .t-art,.ginv .g-foot-florals.pair img{bottom:0;width:36%;max-height:100%;-o-object-fit:contain;object-fit:contain}.ginv .g-foot-florals.pair .t-art:first-child,.ginv .g-foot-florals.pair img:first-child{left:4%;transform:none}.ginv .g-foot-florals.pair .t-art:last-child,.ginv .g-foot-florals.pair img:last-child{right:4%;transform:none}.ginv.is-mono .g-foot-florals .t-art-corner{width:34%;max-width:150px;opacity:.8}.ginv.is-mono .g-foot-florals .t-art-corner:first-child{left:0;transform:scaleY(-1)}.ginv.is-mono .g-foot-florals .t-art-corner:last-child{right:0;transform:scale(-1)}.ginv.is-mono .t-watermark{opacity:.1;width:min(140%,1000px)}.ginv.is-mono .t-divider{mix-blend-mode:normal;opacity:.9;margin:-8px auto -16px}.ginv.is-mono .t-sched-icon{mix-blend-mode:normal;opacity:.85;width:clamp(54px,11%,84px)}.ginv .t-gate-mono{padding:0;display:grid;place-items:center}.ginv .t-gate-mono .t-mono-card{position:relative;width:min(92vw,520px);padding:clamp(40px,8vh,72px) 28px;text-align:center;background:color-mix(in srgb,var(--g-paper) 86%,transparent);border:1px solid color-mix(in srgb,var(--g-ink) 14%,transparent);box-shadow:0 40px 90px rgba(0,0,0,.18);animation:g-rise 1.1s cubic-bezier(.22,1,.36,1) .1s backwards;transition:transform 1.3s cubic-bezier(.6,0,.3,1),opacity .9s ease .4s}.ginv .t-gate-mono.is-open .t-mono-card{transform:scale(2.6);opacity:0}.ginv .t-gate-mono{transition:opacity .6s ease 1s,visibility 0s 1.6s}.ginv .t-gate-mono.is-open~.g-column{animation:t-page-in 1.4s cubic-bezier(.22,1,.36,1) .8s both}.ginv .t-monogram{position:relative;width:clamp(150px,38vmin,220px);margin:18px auto 10px;color:var(--g-green)}.ginv .t-monogram svg{width:100%;height:auto;display:block}.ginv .t-monogram .draw{stroke-dasharray:1000;stroke-dashoffset:1000;animation:t-draw 2.6s cubic-bezier(.4,0,.2,1) .4s forwards}.ginv .t-monogram .draw.d2{animation-delay:.9s}.ginv .t-monogram .draw.d3{animation-delay:1.3s}@keyframes t-draw{to{stroke-dashoffset:0}}.ginv .t-mono-initials{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--font-heading),serif;font-size:clamp(2.6rem,10vmin,4rem);letter-spacing:.06em;color:var(--g-ink);animation:g-fade 1.2s ease 1.2s both}.ginv .t-mono-initials em{font-family:var(--font-script),cursive;font-style:normal;font-size:.55em;color:var(--g-gold);margin:0 .1em}.ginv .t-mono-initials.script{font-family:var(--font-script),cursive;font-size:clamp(3rem,12vmin,4.6rem);letter-spacing:0}.ginv .t-mono-card .t-names{font-size:clamp(1.6rem,5.5vmin,2.4rem)}.ginv .t-mono-card .t-mono-gate-div{width:70%;margin:6px auto 0;opacity:.8}.ginv .t-mono-card .t-open{margin-top:26px}.ginv .t-mono-corner{position:absolute;width:clamp(60px,18%,110px);color:var(--g-green);opacity:.75;pointer-events:none}.ginv .t-mono-corner.tl{left:8px;top:8px}.ginv .t-mono-corner.tr{right:8px;top:8px;transform:scaleX(-1)}.ginv .t-mono-corner.bl{left:8px;bottom:8px;transform:scaleY(-1)}.ginv .t-mono-corner.br{right:8px;bottom:8px;transform:scale(-1)}.ginv .t-gate-mono .t-kicker{color:var(--g-green)}.ginv .t-gate.is-open .t-mono-corner,.ginv .t-gate.is-open .t-monogram{transition:opacity .4s ease;opacity:0}.ginv .t-hero-mono{padding-top:clamp(50px,9vw,90px)}.ginv .t-mono-hero{position:relative;padding:clamp(34px,7vw,60px) 18px;text-align:center}.ginv .t-mono-hero .t-mono-frame{position:absolute;inset:0 8px;border:1px solid color-mix(in srgb,var(--g-ink) 18%,transparent);pointer-events:none}.ginv .t-mono-hero .t-mono-frame:before{content:"";position:absolute;inset:7px;border:1px solid color-mix(in srgb,var(--g-ink) 10%,transparent)}.ginv .t-mono-hero .t-mono-corner{width:clamp(70px,22%,140px)}.ginv .t-mono-hero .t-mono-corner.tl{left:0;top:0}.ginv .t-mono-hero .t-mono-corner.tr{right:0;top:0}.ginv .t-mono-hero .t-names.big{font-size:clamp(2.6rem,11vw,4.6rem);margin-top:18px}.ginv .t-hero-mono.v-script .t-names.big{font-family:var(--font-script),cursive;font-weight:400;font-size:clamp(3.2rem,13vw,5.4rem);line-height:1}.ginv .t-hero-mono.v-script .t-names .amp{font-size:.5em}.ginv .t-mono-hero-div{width:min(80%,420px);margin:14px auto 0;opacity:.85}.ginv .t-mono-numeral{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;width:min(100%,380px);margin:18px auto 0}.ginv .t-mono-numeral .day{font-family:var(--font-heading),serif;font-size:clamp(4.2rem,18vw,7rem);line-height:.9;font-weight:400;color:var(--g-ink);letter-spacing:-.02em}.ginv .t-mono-numeral .side{font-family:var(--font-body);font-size:.68rem;letter-spacing:.3em;text-transform:uppercase;color:var(--g-green);line-height:1.8}.ginv .t-mono-numeral .side:first-child{text-align:right;border-top:1px solid;border-bottom:1px solid;padding:6px 0}.ginv .t-mono-numeral .side:last-child{text-align:left;border-top:1px solid;border-bottom:1px solid;padding:6px 0}.ginv .t-mono-hero .t-hero-tag{margin-top:20px}.ginv .t-hero-mono.v-bloom .t-mono-hero{padding-top:clamp(70px,16vw,120px)}.ginv .t-hero-mono .g-cue{margin:26px 0 30px}.ginv.is-mono .g-column{background:color-mix(in srgb,var(--g-paper) 70%,transparent)}.ginv.is-mono .g-column:before{background-image:var(--g-pattern);background-size:var(--g-pattern-size,22px 22px);opacity:var(--g-pattern-opacity,1)}.ginv[data-theme=graphite] .g-column:before{background-size:36px 36px}.ginv[data-theme=silverscript] .g-column:before{background-size:28px 28px}.ginv.is-mono .g-bg-photo{background:linear-gradient(180deg,var(--g-tint-a),var(--g-tint-b))}.ginv.is-mono .g-b1,.ginv.is-mono .g-b2{opacity:.35}.ginv.is-mono .g-gate{background-image:none;background:var(--g-paper)}.ginv.is-mono .g-gate:before{background:radial-gradient(ellipse at 50% 30%,color-mix(in srgb,var(--g-blush) 70%,transparent),transparent 70%)}.ginv.is-mono .g-flake.k-petals{color:var(--g-soft,var(--g-sage))}.ginv.is-dark{color:var(--g-ink)}.ginv.is-dark .g-column{background:rgba(255,255,255,.03)}.ginv.is-dark .glass{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.12);box-shadow:0 14px 40px rgba(0,0,0,.45)}.ginv.is-dark .glass:not(.g-formcard):hover{border-color:rgba(255,255,255,.25);box-shadow:0 26px 64px rgba(0,0,0,.6)}.ginv.is-dark .g-wish{background:rgba(255,255,255,.06)}.ginv.is-dark .g-btn{background:var(--g-ink);color:var(--g-paper);box-shadow:0 14px 30px rgba(0,0,0,.5)}.ginv.is-dark .g-btn.ghost{background:rgba(255,255,255,.08);color:var(--g-ink);border-color:rgba(255,255,255,.2)}.ginv.is-dark input,.ginv.is-dark select,.ginv.is-dark textarea{background:rgba(255,255,255,.06);color:var(--g-ink);border-color:rgba(255,255,255,.18)}.ginv.is-dark input::-moz-placeholder,.ginv.is-dark textarea::-moz-placeholder{color:rgba(255,255,255,.4)}.ginv.is-dark input::placeholder,.ginv.is-dark textarea::placeholder{color:rgba(255,255,255,.4)}.ginv.is-dark .g-row:hover{background:rgba(255,255,255,.06)}.ginv.is-dark .g-row .dot{box-shadow:0 0 0 4px rgba(255,255,255,.12)}.ginv.is-dark .g-cal-grid .day.is-wed,.ginv.is-dark .g-cal.ornate .g-cal-grid .day.is-wed{color:var(--g-paper)}.ginv.is-dark .g-cal.ornate .g-cal-grid .day.is-wed .heart{fill:var(--g-ink)}.ginv.is-dark .g-cal-grid .day:not(.is-wed):hover{background:rgba(255,255,255,.1)}.ginv.is-dark .g-muted{color:rgba(255,255,255,.6)}.ginv.is-dark .t-magic{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14)}.ginv.is-dark .t-mono-card{box-shadow:0 40px 90px rgba(0,0,0,.6)}.ginv.is-dark .t-modal-card{background:#1b1b1f;color:#f4f4f6}.ginv.is-dark .g-slide .ph{color:rgba(255,255,255,.8)}.ginv.is-dark .g-lightbox{background:rgba(0,0,0,.85)}.ginv.is-dark .t-mono-initials,.ginv.is-dark .t-mono-numeral .day{text-shadow:0 0 30px rgba(255,255,255,.15)}.ginv.is-dark .g-gal-nav{background:rgba(255,255,255,.1);color:#fff}.ginv.is-dark .t-art{filter:drop-shadow(0 0 6px rgba(255,255,255,.08))}@media (prefers-reduced-motion:reduce){.ginv .t-gate-mono .t-mono-card{transition-duration:1.3s,.9s!important;transition-delay:0s,.4s!important}.ginv .t-gate-mono{transition-duration:.6s,0s!important;transition-delay:1s,1.6s!important}.ginv .t-gate-mono.is-open~.g-column{animation-duration:1.4s!important;animation-delay:.8s!important}.ginv .t-monogram .draw{animation:none!important;stroke-dashoffset:0!important}}.ginv .t-mono-frame-art{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;opacity:.35;overflow:hidden}.ginv .t-mono-frame-art img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;animation:t-breathe-c 14s ease-in-out infinite}@keyframes t-breathe-c{0%,to{transform:scale(1)}50%{transform:scale(1.03)}}.ginv .t-mono-card>:not(.t-mono-frame-art):not(.t-mono-corner){position:relative}.ginv .t-mono-corner img{width:100%;height:auto;display:block}.ginv .t-mono-corner{opacity:.9}.ginv .t-mono-hero .t-mono-corner{width:clamp(90px,26%,170px)}.ginv .t-mono-hero-art{width:min(62%,300px);margin:18px auto 0;animation:t-float 7s ease-in-out infinite}.ginv .t-mono-hero-art img{width:100%;height:auto;display:block;transition:transform .6s cubic-bezier(.34,1.4,.64,1)}.ginv .t-mono-hero-art:hover img{transform:scale(1.04) rotate(-1deg)}.ginv.is-mono .t-ending-art img{width:100%;height:auto}.ginv.is-mono .t-ending-art{width:min(64%,320px);mix-blend-mode:normal}.ginv.is-dark .t-divider,.ginv.is-dark .t-ending-art,.ginv.is-dark .t-sched-icon,.ginv.is-dark .t-watermark{mix-blend-mode:normal}.ginv.is-mono .t-watermark img{width:100%}.ginv.is-mono .t-sched-icon{width:clamp(44px,8%,64px);opacity:.7}.ginv.is-mono .g-foot-florals.pair img{width:30%;max-width:170px;opacity:.85}.ginv.is-mono .g-foot-florals.pair img:first-child{transform:scaleX(-1)}.ginv.is-mono .t-divider{width:min(70%,420px);opacity:.85}.ginv.is-dark .t-mono-frame-art{opacity:.28}.ginv .t-tint{position:relative;display:block;width:100%;color:var(--g-green)}.ginv .t-tint img{display:block;width:100%;height:auto;visibility:hidden}.ginv .t-tint i{position:absolute;inset:0;display:block;background:currentColor;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.ginv .g-foot-florals .t-tint{position:absolute;bottom:-10px;width:46%}.ginv .g-foot-florals .t-tint:first-child{left:0;transform:scaleY(-1)}.ginv .g-foot-florals .t-tint:last-child{right:0;transform:scale(-1)}.ginv .g-foot-florals.pair .t-tint{bottom:0;width:30%;max-width:170px}.ginv .g-foot-florals.pair .t-tint:first-child{left:4%;transform:scaleX(-1)}.ginv .g-foot-florals.pair .t-tint:last-child{right:4%;transform:none}.ginv .t-divider .t-tint,.ginv .t-ending-art .t-tint,.ginv .t-gift-art .t-tint,.ginv .t-mono-corner .t-tint,.ginv .t-sched-icon .t-tint,.ginv .t-watermark .t-tint{width:100%}.ginv .t-gift-art .t-tint{height:100%}.ginv .t-gift-art .t-tint img{height:100%;-o-object-fit:contain;object-fit:contain}.ginv .t-mono-hero-art .t-tint{opacity:.85}.ginv .t-monogram .t-mono-art{display:block;width:100%;animation:g-fade 1.4s ease .2s both}.ginv .t-monogram .t-mono-art .t-tint,.ginv .t-monogram .t-mono-art img{width:100%}.ginv .t-monogram.has-art .t-mono-initials{font-size:clamp(2rem,8vmin,3.2rem)}.ginv.is-dark .t-mono-frame-art{opacity:.4}.ginv .t-mono-card .t-mono-corner .t-tint,.ginv .t-mono-hero .t-mono-corner .t-tint{color:var(--g-green)}.ginv .t-gate-mono.fit-fill .t-mono-frame-art{inset:6px}.ginv .t-gate-mono.fit-fill .t-mono-frame-art img{-o-object-fit:fill;object-fit:fill;animation:none}.ginv img[src*="/lux/"]{filter:sepia(1) saturate(1.7) brightness(1.02) contrast(1.05)}.ginv.is-dark img[src*="/lux/"]{filter:invert(1) sepia(1) saturate(2.2) brightness(1.05);opacity:.9}.ginv .t-mono-hero-art .t-tint img,.ginv .t-mono-hero-art img{max-height:380px;width:auto;max-width:100%;margin:0 auto}.ginv .t-mono-hero-art .t-tint{display:inline-block;width:auto}.ginv .t-art-xi{color:var(--g-green)}.ginv .t-monogram.has-art .t-art-xi+.t-mono-initials{display:none}.ginv.is-dark .t-gate-scene .t-scene-card{background:var(--g-paper)}.ginv.is-dark .t-scene-card .t-scene-veil{background:linear-gradient(180deg,rgba(0,0,0,.55),rgba(0,0,0,.25) 30%,rgba(0,0,0,0) 50%,rgba(0,0,0,0) 70%,rgba(0,0,0,.7))}.ginv.is-dark .t-scene-card .t-date,.ginv.is-dark .t-scene-card .t-kicker,.ginv.is-dark .t-scene-card .t-names{color:var(--g-ink)}.ginv.is-dark .t-scene-card .t-names .amp{color:var(--g-gold)}.ginv .t-mono-card .t-monogram .t-art-xi{width:100%}.ginv.is-mono .g-foot-florals.pair img[src*="/asia/"]{width:36%;max-width:200px}.ginv[data-theme=dynasty] .t-mono-hero-art{width:100%}.ginv[data-theme=dynasty] .t-mono-hero-art .t-tint img,.ginv[data-theme=dynasty] .t-mono-hero-art img{max-height:440px}.ginv .t-monogram.has-disc .t-mono-initials:before{content:"";position:absolute;width:46%;height:46%;border-radius:50%;background:color-mix(in srgb,var(--g-paper) 88%,transparent);box-shadow:0 0 0 2px var(--g-green),0 8px 24px rgba(0,0,0,.35);z-index:-1}.ginv .t-monogram.has-disc .t-mono-initials{font-size:clamp(1.5rem,6vmin,2.3rem)}.ginv .t-mono-frame-art .t-tint{position:absolute;inset:0;width:100%;height:100%}.ginv .t-mono-frame-art .t-tint img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.ginv .t-gate-mono.fit-fill .t-mono-frame-art .t-tint img{-o-object-fit:fill;object-fit:fill}.ginv .t-mono-frame-art .t-tint i{-webkit-mask-size:100% 100%;mask-size:100% 100%}.ginv[data-theme=chibi] .t-mono-hero-art,.ginv[data-theme=loveart] .t-mono-hero-art{width:min(90%,420px)}.ginv[data-theme=chibi] .t-mono-hero-art img,.ginv[data-theme=loveart] .t-mono-hero-art img{max-height:420px;width:auto;max-width:100%;margin:0 auto}.ginv[data-theme=arabia] .t-mono-art img,.ginv[data-theme=arabia] .t-mono-hero-art img{max-height:380px;width:auto;max-width:100%;margin:0 auto}.ginv[data-theme=arabia] .t-mono-hero-art,.ginv[data-theme=porcelain] .t-mono-hero-art{width:min(70%,320px)}.ginv[data-theme=porcelain] .t-mono-hero-art img{border-radius:50% 50% 4px 4px}.ginv[data-theme=porcelain] .t-mono-frame-art{opacity:.35}.ginv[data-theme=porcelain] .t-watermark{opacity:.08}.ginv[data-theme=chinoiserie] .t-mono-frame-art{opacity:.9}.ginv[data-theme=mahal] .t-mono-frame-art{opacity:.6}.ginv[data-theme=mahal] .t-mono-hero-art{width:min(70%,320px)}.ginv[data-theme=dried] .t-mono-hero-art img,.ginv[data-theme=lotus] .t-mono-hero-art img,.ginv[data-theme=ribbon] .t-mono-hero-art img{max-height:460px;width:auto;max-width:100%;margin:0 auto}.ginv[data-theme=sunflower] .t-divider{width:min(70%,420px)}.ginv[data-theme=porcelain] .t-mono-frame-art{opacity:.2}.ginv[data-theme=chinoiserie] .t-monogram .t-mono-art{width:72%;margin:0 auto}.ginv[data-theme=arabia]:not(.is-dark) .t-mono-initials{color:var(--g-gold)}.ginv .t-gate-curtain{position:fixed;inset:0;z-index:60;overflow:hidden;display:block;padding:0;background-image:none!important;background:#140608;transition:opacity .8s ease .9s,visibility 0s linear 1.7s}.ginv .t-gate-curtain.is-open{opacity:0;visibility:hidden;pointer-events:none}.ginv .t-gate-curtain .t-stage{position:absolute;inset:0;display:grid;place-items:center;background:radial-gradient(ellipse at 50% 40%,rgba(255,220,160,.22),rgba(0,0,0,0) 55%),#1a0a0d;background-size:cover;background-position:50%;color:var(--g-ink);text-align:center;padding:24px}.ginv .t-gate-curtain .t-stage-text{opacity:0;transform:translateY(14px);transition:opacity 1.2s ease .5s,transform 1.2s ease .5s;max-width:420px}.ginv .t-gate-curtain.is-drawn .t-stage-text{opacity:1;transform:none}.ginv .t-gate-curtain .t-stage-text .t-names{color:var(--g-gold)}.ginv .t-gate-curtain .t-stage-text .t-date,.ginv .t-gate-curtain .t-stage-text .t-kicker{color:rgba(255,245,230,.85)}.ginv .t-curtain{position:absolute;top:0;bottom:0;width:52%;background-size:200% 100%;background-repeat:no-repeat;box-shadow:0 0 60px rgba(0,0,0,.6);transition:transform 1.6s cubic-bezier(.7,0,.3,1);animation:t-sway 7s ease-in-out infinite alternate}.ginv .t-curtain.left{left:0;background-position:0}.ginv .t-curtain.right{right:0;background-position:100%}.ginv .t-gate-curtain.is-drawn .t-curtain.left{transform:translateX(-104%)}.ginv .t-gate-curtain.is-drawn .t-curtain.right{transform:translateX(104%)}.ginv .t-valance{position:absolute;left:0;right:0;top:0;height:13%;background-size:100% 300%;background-position:top;border-bottom-left-radius:50% 40%;border-bottom-right-radius:50% 40%;box-shadow:0 10px 30px rgba(0,0,0,.5);z-index:2}.ginv .t-curtain-open{position:absolute;left:50%;bottom:9%;transform:translateX(-50%);z-index:3}@keyframes t-sway{0%{background-position-y:48%}to{background-position-y:52%}}.ginv[data-theme=mahal] .t-mono-frame-art{opacity:.32}body.invite-mode>footer,body.invite-mode>header,body.invite-mode>nav{display:none}body.invite-mode{background:#dfe9d8}.ginv{position:relative;min-height:100vh;color:var(--g-ink);overflow-x:hidden;isolation:isolate}.ginv *,.ginv :after,.ginv :before{box-sizing:border-box}.ginv p{margin:0}.ginv .g-bg{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}.ginv .g-bg-photo{position:absolute;inset:-4%;background:url(/assets/images/backgrounds/garden-pattern-blur.webp) 50%/cover no-repeat;opacity:.9;transform:scale(1.04)}.ginv .g-bg-tint{position:absolute;inset:0;background:linear-gradient(180deg,rgba(214,228,205,.55),rgba(149,177,146,.55) 60%,rgba(96,128,100,.6))}.ginv .g-blob{position:absolute;border-radius:50%;filter:blur(70px);opacity:.55;animation:g-drift 28s ease-in-out infinite}.ginv .g-b1{width:46vw;height:46vw;top:-12vw;left:-14vw;background:radial-gradient(circle,#f4d9d4,transparent 70%)}.ginv .g-b2{width:50vw;height:50vw;top:40vh;right:-18vw;background:radial-gradient(circle,#d7e8c8,transparent 70%);animation-delay:-9s}@keyframes g-drift{0%,to{transform:translate(0) scale(1)}50%{transform:translate(3vw,2vh) scale(1.06)}}.ginv .g-column{position:relative;z-index:2;width:min(100%,780px);margin:0 auto;background:rgba(255,255,255,.34);backdrop-filter:blur(18px) saturate(1.15);-webkit-backdrop-filter:blur(18px) saturate(1.15);box-shadow:0 0 80px rgba(36,64,46,.18);border-inline:1px solid rgba(255,255,255,.45)}.ginv .g-column:before{content:"";position:absolute;inset:0;background:url(/assets/images/backgrounds/garden-pattern.webp) top/900px auto repeat;opacity:.16;pointer-events:none}.ginv .g-inner{position:relative;padding-inline:clamp(20px,5vw,56px)}.ginv .g-corner{position:absolute;z-index:3;pointer-events:none;width:clamp(150px,34%,300px);filter:drop-shadow(0 8px 18px rgba(36,64,46,.18))}.ginv .g-corner img{display:block;width:100%;height:auto}.ginv .g-corner.tl{top:-6px;left:-8px}.ginv .g-corner.tr{top:-6px;right:-8px;transform:scaleX(-1)}.ginv .g-corner.bl{bottom:-6px;left:-8px;transform:scaleY(-1)}.ginv .g-corner.br{bottom:-6px;right:-8px;transform:scale(-1)}.ginv .g-corner.sway{animation:g-sway 9s ease-in-out infinite;transform-origin:top left}@keyframes g-sway{0%,to{rotate:0deg}50%{rotate:1.2deg}}.ginv .g-eyebrow{font-family:var(--font-body),sans-serif;text-transform:uppercase;letter-spacing:.3em;font-size:.7rem;color:var(--g-green);text-align:center}.ginv .g-title{font-family:var(--font-heading),Georgia,serif;font-weight:600;font-size:clamp(1.7rem,5vw,2.4rem);line-height:1.1;margin:10px 0 0;text-align:center;color:var(--g-ink);letter-spacing:.02em}.ginv .g-script{font-family:var(--font-script),cursive;font-weight:400}.ginv .g-muted{color:color-mix(in srgb,var(--g-ink) 72%,transparent)}.ginv .g-ornament{display:flex;align-items:center;justify-content:center;gap:10px;margin:16px auto 0;color:var(--g-gold)}.ginv .g-ornament .ln{height:1px;width:48px;background:linear-gradient(90deg,transparent,currentColor)}.ginv .g-ornament .ln.r{background:linear-gradient(270deg,transparent,currentColor)}.ginv .g-ornament svg{width:16px;height:16px}.ginv section{position:relative;padding-block:clamp(48px,8vw,84px);text-align:center}.ginv section+section:before{content:"";position:absolute;top:0;left:50%;width:120px;height:1px;transform:translateX(-50%);background:linear-gradient(90deg,transparent,var(--g-gold),transparent);opacity:.6}.ginv .glass{background:rgba(255,255,255,.5);border:1px solid rgba(255,255,255,.75);border-radius:18px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 14px 40px rgba(36,64,46,.14)}.ginv .reveal{opacity:0;transform:translateY(26px);transition:opacity .85s cubic-bezier(.22,1,.36,1),transform .85s cubic-bezier(.22,1,.36,1)}.ginv .reveal.is-visible{opacity:1;transform:none}.ginv .reveal[data-d="1"]{transition-delay:.1s}.ginv .reveal[data-d="2"]{transition-delay:.2s}.ginv .reveal[data-d="3"]{transition-delay:.3s}.ginv .reveal[data-d="4"]{transition-delay:.4s}.ginv .g-gate{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:20px;background:url(/assets/images/backgrounds/garden-pattern-blur.webp) 50%/cover no-repeat;transition:opacity .9s ease,visibility .9s}.ginv .g-gate:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(200,216,192,.45),rgba(110,140,112,.55))}.ginv .g-gate.is-open{opacity:0;visibility:hidden;pointer-events:none}.ginv .g-gate-card{position:relative;width:min(92vw,520px);padding:44px 32px 40px;border-radius:22px;background:rgba(255,255,255,.5);border:1px solid rgba(255,255,255,.8);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 30px 80px rgba(36,64,46,.3);text-align:center;animation:g-rise 1.1s cubic-bezier(.22,1,.36,1) backwards;overflow:hidden}.ginv .g-gate-card .g-corner{width:44%}.ginv .g-gate-badge{width:54px;height:54px;margin:0 auto 18px;border-radius:50%;background:var(--g-green);color:#fff;display:grid;place-items:center;box-shadow:0 10px 24px rgba(36,64,46,.3)}.ginv .g-gate-badge svg{width:24px;height:24px}.ginv .g-gate-names{font-family:var(--font-heading),serif;font-weight:500;font-size:clamp(1.9rem,6vw,2.5rem);line-height:1.15;margin:0;color:var(--g-ink)}.ginv .g-gate-names .amp{display:block;font-family:var(--font-script),cursive;font-size:.7em;color:var(--g-gold);line-height:1}.ginv .g-gate-date{font-family:var(--font-heading),serif;font-size:1.05rem;color:var(--g-green);margin-top:14px;letter-spacing:.04em}.ginv .g-gate-sub{font-size:.8rem;letter-spacing:.22em;margin-top:10px}.ginv .g-btn,.ginv .g-gate-sub{font-family:var(--font-body);text-transform:uppercase}.ginv .g-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;letter-spacing:.14em;font-size:.74rem;font-weight:500;color:#fff;background:linear-gradient(180deg,var(--g-sage),var(--g-green));padding:14px 30px;border-radius:999px;text-decoration:none;border:0;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;box-shadow:0 10px 24px rgba(36,64,46,.25)}.ginv .g-btn:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(36,64,46,.32)}.ginv .g-btn:focus-visible{outline:2px solid var(--g-gold);outline-offset:3px}.ginv .g-btn.ghost{background:rgba(255,255,255,.55);color:var(--g-ink);border:1px solid rgba(36,64,46,.2);box-shadow:none}.ginv .g-btn svg{width:15px;height:15px}.ginv .g-gate .g-btn{margin-top:24px}@keyframes g-rise{0%{opacity:0;transform:translateY(26px) scale(.98)}to{opacity:1;transform:none}}.ginv .g-hero{padding-top:clamp(80px,14vw,150px);padding-bottom:clamp(40px,7vw,70px)}.ginv .g-arch{position:relative;width:min(100%,420px);margin:0 auto;padding:56px 28px 70px;border-radius:210px 210px 24px 24px;background:rgba(255,255,255,.55);border:1px solid rgba(255,255,255,.85);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 24px 60px rgba(36,64,46,.2);overflow:visible}.ginv .g-arch-wreath{position:absolute;left:50%;top:50%;width:118%;transform:translate(-50%,-50%);color:var(--g-green);opacity:.9;pointer-events:none;animation:g-breathe 10s ease-in-out infinite}@keyframes g-breathe{0%,to{transform:translate(-50%,-50%) scale(1) rotate(0)}50%{transform:translate(-50%,-50%) scale(1.03) rotate(1deg)}}.ginv .g-hero-pre{position:relative;font-family:var(--font-body);font-size:.66rem;letter-spacing:.3em;text-transform:uppercase}.ginv .g-hero-names{position:relative;font-family:var(--font-heading),serif;font-weight:500;font-size:clamp(2.6rem,9vw,3.6rem);line-height:1.05;margin:14px 0 0}.ginv .g-hero-names .amp{display:block;font-family:var(--font-script),cursive;font-size:.65em;color:var(--g-gold);line-height:1.1}.ginv .g-hero-tag{position:relative;font-family:var(--font-heading),serif;font-size:1.05rem;margin-top:16px}.ginv .g-hero-date{position:relative;font-family:var(--font-body);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--g-green);margin-top:12px}.ginv .g-arch>h1,.ginv .g-arch>p{z-index:2}.ginv .g-arch-floral{position:absolute;bottom:-26px;width:46%;z-index:1;pointer-events:none;filter:drop-shadow(0 10px 20px rgba(36,64,46,.25))}.ginv .g-arch-floral img{width:100%;height:auto;display:block}.ginv .g-arch-floral.bl{left:-34px;transform:scaleY(-1)}.ginv .g-arch-floral.br{right:-34px;transform:scale(-1)}.ginv .g-cue{display:inline-flex;flex-direction:column;align-items:center;gap:6px;margin-top:60px;color:var(--g-green);font-family:var(--font-body);font-size:.6rem;letter-spacing:.3em;text-transform:uppercase;text-decoration:none}.ginv .g-cue svg{width:18px;height:18px;animation:g-bob 2.4s ease-in-out infinite}@keyframes g-bob{0%,to{transform:translateY(0)}50%{transform:translateY(6px)}}.ginv .g-families{display:grid;grid-template-columns:1fr auto 1fr;gap:18px;align-items:center;margin-top:28px}.ginv .g-families .fam{font-family:var(--font-heading),serif}.ginv .g-families .fam small{display:block;font-family:var(--font-body);font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;margin-bottom:6px}.ginv .g-families .fam strong{display:block;font-weight:600;font-size:1.02rem;line-height:1.35}.ginv .g-families .bar{width:1px;height:54px;background:linear-gradient(transparent,var(--g-gold),transparent)}.ginv .g-invite-text{max-width:44ch;margin:28px auto 0;font-family:var(--font-heading),serif;font-size:1.1rem;font-style:italic;line-height:1.6}.ginv .g-fullnames{font-family:var(--font-heading),serif;font-weight:600;font-size:clamp(1.9rem,6vw,2.6rem);line-height:1.15;margin-top:26px}.ginv .g-fullnames .amp{display:block;font-family:var(--font-script),cursive;font-size:.7em;color:var(--g-gold)}.ginv .g-events{display:grid;gap:18px;margin-top:30px}.ginv .g-event{padding:28px 22px 26px}.ginv .g-event-name{font-family:var(--font-body);font-size:.78rem;letter-spacing:.26em;text-transform:uppercase;color:var(--g-green)}.ginv .g-event-venue{font-family:var(--font-heading),serif;font-size:1.25rem;font-weight:600;margin-top:8px}.ginv .g-event-note{font-size:.9rem;margin-top:4px}.ginv .g-event-time{font-family:var(--font-heading),serif;font-size:2rem;font-weight:500;letter-spacing:.04em;margin-top:14px;font-variant-numeric:tabular-nums}.ginv .g-datebar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;margin-top:10px;font-family:var(--font-heading),serif}.ginv .g-datebar span{font-size:.78rem;letter-spacing:.2em;text-transform:uppercase}.ginv .g-datebar span:first-child{text-align:right}.ginv .g-datebar span:last-child{text-align:left}.ginv .g-datebar b{font-size:2.2rem;font-weight:500;line-height:1;padding-inline:16px;border-inline:1px solid var(--g-gold)}.ginv .g-year{font-family:var(--font-heading),serif;font-size:1rem;letter-spacing:.16em;margin-top:6px}.ginv .g-story{display:grid;gap:14px;margin-top:28px;text-align:left}.ginv .g-story-card{padding:20px 22px;display:grid;gap:4px}.ginv .g-when{font-family:var(--font-body);font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--g-gold)}.ginv .g-story-card h3{font-family:var(--font-heading),serif;font-size:1.25rem;font-weight:600;margin:2px 0}.ginv .g-story-card p{font-size:.95rem;line-height:1.6}.ginv .g-gal{position:relative;margin-top:34px;height:clamp(320px,80vw,640px);perspective:1600px;overflow:hidden}.ginv .g-gal-track{position:absolute;inset:0;transform-style:preserve-3d}.ginv .g-slide{position:absolute;top:50%;left:50%;width:clamp(200px,60%,470px);aspect-ratio:3/4;transform:translate(-50%,-50%) translateX(var(--x,0)) translateZ(var(--z,0)) rotateY(var(--ry,0)) scale(var(--s,1));opacity:var(--o,1);transition:transform .85s cubic-bezier(.34,1.35,.64,1),opacity .6s ease;cursor:pointer;will-change:transform;margin:0}.ginv .g-slide img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block;transition:transform .9s cubic-bezier(.22,1,.36,1),filter .5s ease}.ginv .g-slide .ph{position:absolute;inset:0;display:grid;place-items:center;color:rgba(255,255,255,.85)}.ginv .g-slide .ph svg{width:34%;opacity:.8}.ginv .g-slide .ph span{position:absolute;bottom:12px;left:0;right:0;font-family:var(--font-body);font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;text-shadow:0 1px 6px rgba(0,0,0,.4)}.ginv .g-gal-nav{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.8);background:rgba(255,255,255,.6);color:var(--g-ink);display:grid;place-items:center;cursor:pointer;z-index:5}.ginv .g-gal-nav svg{width:18px;height:18px}.ginv .g-gal-nav.prev{left:14%}.ginv .g-gal-nav.next{right:14%}.ginv .g-gal-count{margin-top:14px;font-family:var(--font-body);font-size:.78rem;letter-spacing:.16em}.ginv .g-count{display:flex;justify-content:center;flex-wrap:wrap;gap:clamp(10px,4vw,26px);margin-top:22px}.ginv .g-cnum{font-family:var(--font-heading),serif;font-weight:600;font-size:clamp(1.9rem,7vw,2.8rem);line-height:1;font-variant-numeric:tabular-nums}.ginv .g-clab{font-family:var(--font-body);font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;margin-top:6px}.ginv .g-cal{width:min(100%,380px);margin:28px auto 0;padding:22px 18px 18px;border-radius:22px}.ginv .g-cal-head{font-family:var(--font-body);font-weight:500;font-size:.9rem;letter-spacing:.06em}.ginv .g-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px 2px;margin-top:12px;font-family:var(--font-body);font-size:.82rem}.ginv .g-cal-grid .dow{font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;padding-bottom:8px;border-bottom:1px solid rgba(36,64,46,.2)}.ginv .g-cal-grid .day{height:32px;display:grid;place-items:center;border-radius:50%}.ginv .g-cal-grid .day.is-wed{background:var(--g-green);color:#fff;font-weight:600;position:relative;box-shadow:0 6px 16px rgba(36,64,46,.3);animation:g-pulse 2.4s ease-in-out infinite}@keyframes g-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.ginv .g-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:24px}.ginv .g-venue{padding:28px 24px;margin-top:26px;display:grid;gap:10px;justify-items:center}.ginv .g-venue h3{font-family:var(--font-heading),serif;font-size:1.4rem;font-weight:600;margin:0}.ginv .g-venue p{max-width:46ch;line-height:1.6;font-size:.95rem}.ginv .g-venue-map{width:100%;aspect-ratio:16/7;border-radius:14px;margin-top:6px;background:linear-gradient(135deg,color-mix(in srgb,var(--g-sage) 70%,#fff),var(--g-green));display:grid;place-items:center;color:#fff;position:relative;overflow:hidden}.ginv .g-venue-map svg{width:52px;height:52px;filter:drop-shadow(0 6px 10px rgba(0,0,0,.25))}.ginv .g-venue-map:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.18) 1px,transparent 0),linear-gradient(90deg,rgba(255,255,255,.18) 1px,transparent 0);background-size:42px 42px}.ginv .g-swatches{display:flex;justify-content:center;gap:16px;margin-top:22px}.ginv .g-swatch{width:44px;height:44px;border-radius:50%;border:2px solid rgba(255,255,255,.9);box-shadow:0 8px 18px rgba(36,64,46,.2)}.ginv .g-dress{font-family:var(--font-heading),serif;font-size:1.2rem;margin-top:10px}.ginv .g-sched{position:relative;max-width:440px;margin:30px auto 0;text-align:left}.ginv .g-sched:before{content:"";position:absolute;left:92px;top:6px;bottom:6px;width:1px;background:linear-gradient(var(--g-gold),rgba(36,64,46,.25),var(--g-gold))}.ginv .g-row{display:grid;grid-template-columns:72px 40px 1fr;align-items:start;gap:0;padding-block:10px}.ginv .g-row time{font-family:var(--font-heading),serif;font-size:1.05rem;color:var(--g-green);text-align:right;font-variant-numeric:tabular-nums}.ginv .g-row .dot{width:11px;height:11px;margin:7px auto 0;border-radius:50%;background:var(--g-green);box-shadow:0 0 0 4px rgba(255,255,255,.7)}.ginv .g-row .what{font-family:var(--font-heading),serif;font-size:1.1rem;line-height:1.4}.ginv .g-formcard{padding:28px 22px;margin-top:26px;text-align:left}.ginv .g-form{display:grid;gap:14px}.ginv .g-field{display:grid;gap:6px}.ginv .g-field label{font-family:var(--font-body);text-transform:uppercase;letter-spacing:.14em;font-size:.62rem;color:var(--g-green)}.ginv .g-field input,.ginv .g-field select,.ginv .g-field textarea{font-family:var(--font-body);font-size:1rem;color:var(--g-ink);background:rgba(255,255,255,.8);border:1px solid rgba(36,64,46,.18);border-radius:12px;padding:12px 14px;width:100%}.ginv .g-field textarea{min-height:84px;resize:vertical}.ginv .g-field :is(input,select,textarea):focus{outline:2px solid var(--g-green);outline-offset:1px}.ginv .g-row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.ginv .g-chips{display:flex;flex-wrap:wrap;gap:8px}.ginv .g-chip{position:relative}.ginv .g-chip input{position:absolute;inset:0;opacity:0;cursor:pointer}.ginv .g-chip span{display:inline-block;padding:8px 14px;border-radius:999px;border:1px solid var(--g-sage);background:rgba(255,255,255,.55);font-size:.84rem;transition:all .18s ease}.ginv .g-chip input:checked+span{background:var(--g-green);color:#fff;border-color:var(--g-green)}.ginv .g-chip input:focus-visible+span{outline:2px solid var(--g-green);outline-offset:2px}.ginv .g-form .g-btn{justify-self:center}.ginv .g-note{font-size:.74rem;font-style:italic;text-align:center}.ginv .g-status{font-size:.9rem;text-align:center;padding:14px;border-radius:12px;background:rgba(255,255,255,.6)}.ginv .g-status.ok{color:var(--g-green)}.ginv .g-status.err{color:#8a2f2f}.ginv .g-wishes{display:grid;gap:10px;margin-top:18px;max-height:320px;overflow:auto;padding-right:4px}.ginv .g-wish{padding:14px 16px;border-radius:14px;background:rgba(255,255,255,.62);text-align:left}.ginv .g-wish header{display:flex;justify-content:space-between;gap:10px;font-family:var(--font-body);font-size:.8rem}.ginv .g-wish header b{font-weight:600}.ginv .g-wish p{margin-top:4px;font-size:.92rem;line-height:1.5}.ginv .g-gift{width:170px;height:184px;margin:18px auto 0;position:relative;display:block;background:none;border:0;padding:0;cursor:pointer;-webkit-tap-highlight-color:transparent}.ginv .g-gift-svg{width:100%;height:100%;overflow:visible;transition:transform .4s cubic-bezier(.34,1.5,.64,1)}.ginv .g-gift:hover .g-gift-svg{transform:scale(1.06)}.ginv .g-gift:active .g-gift-svg{transform:scale(.96)}.ginv .g-gift .spark{position:absolute;width:11px;height:11px;color:var(--g-gold);animation:g-twinkle 2.6s ease-in-out infinite;pointer-events:none}.ginv .g-gift-hint{position:absolute;left:50%;bottom:-6px;transform:translateX(-50%);font-family:var(--font-body);font-size:.58rem;letter-spacing:.26em;text-transform:uppercase;color:var(--g-green);opacity:.7;animation:g-hint 2.4s ease-in-out infinite;pointer-events:none}.ginv .g-gift svg *{transform-box:fill-box}.ginv .g-gift .gift-body{transform-origin:50% 100%;animation:g-gift-breathe 3.2s ease-in-out infinite}.ginv .g-gift .gift-shadow{transform-origin:50% 50%;animation:g-gift-shadow 3.2s ease-in-out infinite}.ginv .g-gift .gift-shine{animation:g-gift-shine 3.2s ease-in-out infinite}.ginv .g-gift .gift-lid{transform-origin:8% 100%;animation:g-gift-wiggle 3.2s ease-in-out infinite;transition:transform .5s cubic-bezier(.34,1.4,.64,1)}.ginv .g-gift .gift-bow{transform-origin:50% 100%;animation:g-gift-bow 3.2s ease-in-out infinite}.ginv .g-gift:hover .gift-lid{animation:none;transform:translateY(-9px) rotate(-7deg)}.ginv .g-gift.is-open .gift-lid{animation:none;transform:translateY(-34px) rotate(-26deg) translateX(-6px)}.ginv .g-gift.is-open .gift-body{animation:g-gift-pop .55s cubic-bezier(.34,1.6,.64,1) 1}.ginv .g-gift .gift-heart{opacity:0;transform-origin:50% 50%}.ginv .g-gift.is-open .gift-heart,.ginv .g-gift:hover .gift-heart{animation:g-gift-heart 2.2s ease-out var(--d,0s) infinite}.ginv .g-gift .gift-particle{opacity:0;animation:g-gift-particle 1.3s cubic-bezier(.2,.8,.3,1) var(--d,0s) 1 forwards}@keyframes g-gift-breathe{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-4px) scale(1.015,.985)}}@keyframes g-gift-shadow{0%,to{transform:scale(1);opacity:1}50%{transform:scale(.9);opacity:.7}}@keyframes g-gift-shine{0%,to{opacity:.35}50%{opacity:.65}}@keyframes g-gift-wiggle{0%,55%,to{transform:translateY(0) rotate(0)}62%{transform:translateY(-6px) rotate(-5deg)}70%{transform:translateY(-3px) rotate(3deg)}78%{transform:translateY(-5px) rotate(-2deg)}86%{transform:translateY(0) rotate(0)}}@keyframes g-gift-bow{0%,55%,to{transform:scale(1)}66%{transform:scale(1.14,.9)}76%{transform:scale(.94,1.1)}86%{transform:scale(1)}}@keyframes g-gift-pop{0%{transform:scale(1)}35%{transform:scale(1.1,.88)}65%{transform:scale(.95,1.08)}to{transform:scale(1)}}@keyframes g-gift-heart{0%{opacity:0;transform:translate(0) scale(.4)}15%{opacity:1}to{opacity:0;transform:translate(var(--hx,0),-70px) scale(1.1) rotate(12deg)}}@keyframes g-gift-particle{0%{opacity:0;transform:translate(0) scale(.2) rotate(0)}12%{opacity:1}to{opacity:0;transform:translate(var(--px),var(--py)) scale(1) rotate(var(--pr))}}@keyframes g-hint{0%,to{opacity:.45;transform:translate(-50%)}50%{opacity:.9;transform:translate(-50%,-3px)}}@keyframes g-twinkle{0%,to{opacity:.2;transform:scale(.7) rotate(0)}50%{opacity:1;transform:scale(1.1) rotate(25deg)}}.ginv .g-closing{font-family:var(--font-heading),serif;font-style:italic;font-size:1.15rem;margin-top:22px}.ginv .g-foot{padding:30px 20px 120px;text-align:center}.ginv .g-foot .names{font-family:var(--font-script),cursive;font-size:2.4rem}.ginv .g-foot small{display:block;font-family:var(--font-body);font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;margin-top:8px}.ginv .g-foot .credit{font-size:.66rem;margin-top:18px;letter-spacing:.04em;text-transform:none}.ginv .g-foot-florals{position:relative;height:clamp(120px,26vw,220px);margin-top:20px}.ginv .g-foot-florals img{position:absolute;bottom:-10px;width:46%;height:auto}.ginv .g-foot-florals img:first-child{left:0;transform:scaleY(-1) scaleX(1)}.ginv .g-foot-florals img:last-child{right:0;transform:scale(-1)}.ginv .g-music{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom, 0px));z-index:55;width:50px;height:50px;border-radius:50%;border:1px solid rgba(255,255,255,.8);background:rgba(255,255,255,.7);color:var(--g-green);display:grid;place-items:center;cursor:pointer;backdrop-filter:blur(8px);box-shadow:0 10px 24px rgba(36,64,46,.25);transition:transform .2s ease}.ginv .g-music:hover{transform:scale(1.06)}.ginv .g-music:focus-visible{outline:2px solid var(--g-gold);outline-offset:3px}.ginv .g-music svg{width:22px;height:22px}.ginv .g-music .bars{display:none}.ginv .g-music.on .bars{display:block}.ginv .g-music.on .note{display:none}.ginv .g-music .bars rect{animation:g-eq .9s ease-in-out infinite;transform-origin:bottom}.ginv .g-music .bars rect:nth-child(2){animation-delay:.2s}.ginv .g-music .bars rect:nth-child(3){animation-delay:.4s}@keyframes g-eq{0%,to{transform:scaleY(.4)}50%{transform:scaleY(1)}}.ginv .g-flake{position:fixed;top:-24px;z-index:4;pointer-events:none;color:#fff;opacity:0;filter:drop-shadow(0 2px 4px rgba(36,64,46,.2));animation:g-fall linear forwards}.ginv .g-flake svg{width:100%;height:100%}@keyframes g-fall{0%{transform:translateY(-5vh) translateX(0) rotate(0);opacity:0}10%{opacity:.9}to{transform:translateY(108vh) translateX(5vw) rotate(300deg);opacity:0}}.ginv .g-tilt{transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s ease;will-change:transform}.ginv .g-tilt.is-tilting{transition:transform .08s linear}.ginv .g-sheen{position:relative;overflow:hidden}.ginv .g-sheen:after{content:"";position:absolute;top:-40%;bottom:-40%;left:-60%;width:45%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-20deg);opacity:0;pointer-events:none}.ginv .g-sheen:hover:after{animation:g-sheen 1.1s ease forwards}@keyframes g-sheen{0%{opacity:0;left:-60%}15%{opacity:1}to{opacity:0;left:130%}}.ginv .glass:not(.g-formcard){transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s ease,border-color .35s ease}.ginv .glass:not(.g-formcard):hover{transform:translateY(-5px);box-shadow:0 26px 64px rgba(36,64,46,.24);border-color:rgba(255,255,255,.95)}.ginv .g-formcard{transition:box-shadow .35s ease}.ginv .g-formcard:focus-within{box-shadow:0 20px 56px rgba(36,64,46,.22)}.ginv .g-btn{position:relative;overflow:hidden}.ginv .g-btn:before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.38) 50%,transparent 70%);transform:translateX(-120%);transition:transform .7s ease;pointer-events:none}.ginv .g-btn:hover:before{transform:translateX(120%)}.ginv .g-btn:active{transform:translateY(0) scale(.96);transition-duration:.08s}.ginv .g-btn svg{transition:transform .3s ease}.ginv .g-btn:hover svg{transform:translateX(3px)}.ginv .g-ripple{position:absolute;border-radius:50%;background:rgba(255,255,255,.45);transform:translate(-50%,-50%) scale(0);animation:g-ripple .65s ease-out forwards;pointer-events:none}@keyframes g-ripple{to{transform:translate(-50%,-50%) scale(1);opacity:0}}.ginv .g-burst{position:fixed;z-index:70;width:10px;height:14px;border-radius:60% 40% 55% 45%/60% 55% 45% 40%;pointer-events:none;opacity:.95;animation:g-burst .95s cubic-bezier(.2,.7,.2,1) forwards}@keyframes g-burst{to{transform:translate(var(--dx),var(--dy)) rotate(var(--rot)) scale(.3);opacity:0}}.ginv .g-gate-card{transition:transform .9s cubic-bezier(.22,1,.36,1),opacity .6s ease}.ginv .g-gate.is-open .g-gate-card{transform:scale(1.1) translateY(-16px)}.ginv .g-gate-badge{transition:transform .4s cubic-bezier(.34,1.56,.64,1),box-shadow .3s ease}.ginv .g-gate-card:hover .g-gate-badge{transform:scale(1.12) rotate(-6deg);box-shadow:0 14px 30px rgba(36,64,46,.4)}.ginv .g-hero-names{transition:letter-spacing .5s ease,text-shadow .5s ease}.ginv .g-arch:hover .g-hero-names{letter-spacing:.03em;text-shadow:0 6px 24px rgba(36,64,46,.18)}.ginv .g-arch:hover .g-arch-wreath{animation-duration:5s}.ginv .g-gal-nav{transition:transform .2s ease,background .2s ease}.ginv .g-gal-nav:hover{transform:translateY(-50%) scale(1.12);background:rgba(255,255,255,.9)}.ginv .g-gal-nav:active{transform:translateY(-50%) scale(.94)}.ginv .g-cal-grid .day{transition:transform .2s ease,background .2s ease;cursor:default}.ginv .g-cal-grid .day:not(.is-wed):hover{background:rgba(36,64,46,.1);transform:scale(1.15)}.ginv .g-cal-grid .day.is-wed{cursor:pointer}.ginv .g-cal-grid .day.is-wed:hover{transform:scale(1.2);animation:none}.ginv .g-swatch{transition:transform .25s cubic-bezier(.34,1.56,.64,1),box-shadow .25s ease;cursor:pointer}.ginv .g-swatch:hover{transform:scale(1.25) translateY(-4px);box-shadow:0 14px 28px rgba(36,64,46,.3)}.ginv .g-row{border-radius:12px;transition:transform .25s ease,background .25s ease}.ginv .g-row:hover{transform:translateX(6px);background:rgba(255,255,255,.35)}.ginv .g-row .dot{transition:transform .25s ease,box-shadow .25s ease}.ginv .g-row:hover .dot{transform:scale(1.35);box-shadow:0 0 0 6px rgba(255,255,255,.8),0 0 18px var(--g-sage)}.ginv .g-chip span{transition:all .18s ease,transform .12s ease}.ginv .g-chip span:hover{border-color:var(--g-green);transform:translateY(-2px)}.ginv .g-chip input:active+span{transform:scale(.94)}.ginv .g-wish{transition:transform .25s ease,background .25s ease}.ginv .g-wish:hover{transform:translateX(4px);background:rgba(255,255,255,.8)}.ginv .g-music.on:after{content:"";position:absolute;inset:-5px;border-radius:50%;border:2px solid var(--g-sage);animation:g-ring 1.8s ease-out infinite;pointer-events:none}@keyframes g-ring{0%{transform:scale(.9);opacity:.9}to{transform:scale(1.5);opacity:0}}.ginv .g-ornament svg{transition:transform .4s ease}.ginv section:hover .g-ornament svg{transform:rotate(12deg) scale(1.15)}@media (hover:none){.ginv .g-tilt{transform:none!important}}.ginv .g-gal{cursor:grab;touch-action:pan-y;-moz-user-select:none;user-select:none;-webkit-user-select:none}.ginv .g-gal:active{cursor:grabbing}.ginv .g-slide-inner{position:absolute;inset:0;border-radius:14px;overflow:hidden;border:1px solid rgba(255,255,255,.8);box-shadow:0 20px 50px rgba(36,64,46,.3);background:#c4d8bd;transform-origin:50% 100%;transition:transform .55s cubic-bezier(.34,1.4,.64,1),box-shadow .55s ease}.ginv .g-slide:hover .g-slide-inner{transform:translateY(-14px) rotate(-1.2deg);box-shadow:0 34px 70px rgba(36,64,46,.42)}.ginv .g-slide:hover img{transform:scale(1.1);filter:brightness(1.06) saturate(1.1)}.ginv .g-slide .ph{transition:transform .9s cubic-bezier(.22,1,.36,1)}.ginv .g-slide:hover .ph{transform:scale(1.08)}.ginv .g-slide .ph span{display:none}.ginv .g-slide.is-active .ph,.ginv .g-slide.is-active img{animation:g-kenburns 9s ease-in-out infinite alternate}.ginv .g-slide.is-active .g-slide-inner{animation:g-settle .75s cubic-bezier(.34,1.5,.64,1) 1}.ginv .g-slide-cap{position:absolute;left:0;right:0;bottom:0;margin:0;padding:36px 12px 12px;font-family:var(--font-body);font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.4);background:linear-gradient(0deg,rgba(36,64,46,.65),rgba(36,64,46,0));transform:translateY(100%);opacity:0;transition:transform .5s cubic-bezier(.22,1,.36,1) .05s,opacity .4s ease}.ginv .g-slide.is-active .g-slide-cap,.ginv .g-slide:hover .g-slide-cap{transform:translateY(0);opacity:1}.ginv .g-slide-shine{position:absolute;inset:-40% 0;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.55) 50%,transparent 65%);transform:translateX(-130%) skewX(-12deg);pointer-events:none;opacity:0}.ginv .g-slide.is-active .g-slide-shine{animation:g-shine 1.2s ease .25s 1}.ginv .g-slide:hover .g-slide-shine{animation:g-shine .9s ease 1}.ginv .g-gal-dots{display:flex;justify-content:center;gap:8px;margin-top:18px}.ginv .g-dot{width:8px;height:8px;border-radius:99px;border:0;padding:0;background:var(--g-sage);opacity:.55;cursor:pointer;transition:width .4s cubic-bezier(.34,1.4,.64,1),background .3s ease,opacity .3s ease,transform .2s ease}.ginv .g-dot:hover{opacity:1;transform:scale(1.25)}.ginv .g-dot.on{width:24px;background:var(--g-green);opacity:1}.ginv .g-gal-count{margin-top:10px}.ginv .g-count-num{display:inline-block;min-width:1.2em;animation:g-count-in .45s cubic-bezier(.34,1.4,.64,1) 1}.ginv .g-gal-nav{overflow:visible}.ginv .g-gal-nav svg{transition:transform .25s cubic-bezier(.34,1.6,.64,1)}.ginv .g-gal-nav.next:hover svg{transform:translateX(3px)}.ginv .g-gal-nav.prev:hover svg{transform:translateX(-3px)}.g-lightbox{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:20px;background:rgba(36,64,46,.55);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);animation:g-fade .3s ease 1;cursor:zoom-out}.g-lightbox-fig{position:relative;margin:0;width:min(86vw,520px);max-height:86vh;aspect-ratio:3/4;border-radius:18px;overflow:hidden;border:1px solid rgba(255,255,255,.8);box-shadow:0 40px 100px rgba(0,0,0,.4);background:#c4d8bd;animation:g-zoom-in .5s cubic-bezier(.34,1.4,.64,1) 1;cursor:default}.g-lightbox-fig img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.g-lightbox-fig .ph{position:absolute;inset:0;display:grid;place-items:center;color:rgba(255,255,255,.85)}.g-lightbox-fig .ph svg{width:30%;opacity:.8}.g-lightbox-fig .ph span{display:none}.g-lightbox-fig figcaption{position:absolute;left:0;right:0;bottom:0;padding:40px 16px 16px;color:#fff;font-family:var(--font-heading),serif;font-style:italic;font-size:1.2rem;background:linear-gradient(0deg,rgba(36,64,46,.7),transparent)}.g-lightbox-close{position:absolute;top:10px;right:10px;width:36px;height:36px;border-radius:50%;border:1px solid rgba(255,255,255,.8);background:rgba(255,255,255,.7);color:var(--g-ink,#24402e);display:grid;place-items:center;cursor:pointer;transition:transform .2s ease}.g-lightbox-close:hover{transform:rotate(90deg) scale(1.1)}.g-lightbox-close svg{width:16px;height:16px}@keyframes g-kenburns{0%{transform:scale(1) translate(0)}to{transform:scale(1.12) translate(-2%,2%)}}@keyframes g-settle{0%{transform:translateY(10px) scale(.96)}to{transform:translateY(0) scale(1)}}@keyframes g-shine{0%{opacity:0;transform:translateX(-130%) skewX(-12deg)}20%{opacity:1}to{opacity:0;transform:translateX(130%) skewX(-12deg)}}@keyframes g-count-in{0%{opacity:0;transform:translateY(10px) scale(.8)}to{opacity:1;transform:none}}@keyframes g-fade{0%{opacity:0}to{opacity:1}}@keyframes g-zoom-in{0%{opacity:0;transform:scale(.8) translateY(20px)}to{opacity:1;transform:none}}.ginv .g-player{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom, 0px));z-index:55;display:flex;align-items:flex-end;gap:10px;font-family:var(--font-body)}.ginv .g-player-disc{position:relative;width:54px;height:54px;border-radius:50%;border:1px solid rgba(255,255,255,.85);background:rgba(255,255,255,.72);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 10px 30px rgba(36,64,46,.25);display:grid;place-items:center;cursor:pointer;color:var(--g-ink);transition:transform .3s cubic-bezier(.34,1.5,.64,1),box-shadow .3s ease;order:2}.ginv .g-player-disc:hover{transform:scale(1.08);box-shadow:0 14px 36px rgba(36,64,46,.32)}.ginv .g-player-disc:active{transform:scale(.95)}.ginv .g-player-disc .vinyl{position:absolute;inset:7px;border-radius:50%;background:repeating-radial-gradient(circle,var(--g-green) 0 1.5px,var(--g-sage) 1.5px 3.5px);opacity:.9;display:grid;place-items:center;transform:rotate(0)}.ginv .g-player-disc .vinyl .hole{width:14px;height:14px;border-radius:50%;background:var(--g-blush);border:2px solid #fff}.ginv .g-player.playing .g-player-disc .vinyl{animation:g-spin 3.2s linear infinite}.ginv .g-player-disc .note{position:absolute;width:18px;height:18px;right:-2px;top:-4px;background:#fff;border-radius:50%;padding:3px;box-shadow:0 2px 8px rgba(36,64,46,.25);transition:transform .3s ease,opacity .3s ease}.ginv .g-player.playing .g-player-disc .note{animation:g-note-bob 1.4s ease-in-out infinite}.ginv .g-player.playing:before{content:"";position:absolute;right:0;bottom:0;width:54px;height:54px;border-radius:50%;border:2px solid var(--g-sage);animation:g-ring 1.8s ease-out infinite;pointer-events:none}.ginv .g-player-panel{order:1;width:230px;padding:12px 14px 10px;border-radius:18px;border:1px solid rgba(255,255,255,.85);background:rgba(255,255,255,.78);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 16px 40px rgba(36,64,46,.25);color:var(--g-ink);transform-origin:100% 100%;transform:translateX(16px) scale(.85);opacity:0;pointer-events:none;transition:transform .45s cubic-bezier(.34,1.4,.64,1),opacity .3s ease}.ginv .g-player.open .g-player-panel{transform:none;opacity:1;pointer-events:auto}.ginv .g-player-meta{display:flex;align-items:center;gap:10px}.ginv .g-player-meta .txt{flex:1;min-width:0;line-height:1.2}.ginv .g-player-meta b{font-family:var(--font-heading),serif;font-weight:600;font-size:1rem}.ginv .g-player-meta b,.ginv .g-player-meta small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ginv .g-player-meta small{font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;opacity:.7}.ginv .g-player-meta .time{font-size:.66rem;letter-spacing:.08em;font-variant-numeric:tabular-nums;opacity:.75}.ginv .g-player .eq{display:flex;align-items:flex-end;gap:2px;width:16px;height:14px}.ginv .g-player .eq i{flex:1;background:var(--g-green);border-radius:1px;height:30%;transform-origin:bottom;transition:height .3s ease}.ginv .g-player.playing .eq i{animation:g-eq2 .8s ease-in-out infinite}.ginv .g-player.playing .eq i:nth-child(2){animation-delay:.15s}.ginv .g-player.playing .eq i:nth-child(3){animation-delay:.3s}.ginv .g-player.playing .eq i:nth-child(4){animation-delay:.45s}.ginv .g-player-bar{position:relative;height:4px;border-radius:4px;background:rgba(36,64,46,.14);margin:10px 0;overflow:hidden}.ginv .g-player-bar.seekable{cursor:pointer}.ginv .g-player-bar span{display:block;height:100%;background:linear-gradient(90deg,var(--g-sage),var(--g-green));border-radius:4px;transition:width .15s linear}.ginv .g-player-ctrls{display:flex;align-items:center;justify-content:center;gap:12px}.ginv .g-player-ctrls button{width:34px;height:34px;border-radius:50%;border:1px solid rgba(36,64,46,.15);background:rgba(255,255,255,.7);color:var(--g-ink);display:grid;place-items:center;cursor:pointer;transition:transform .25s cubic-bezier(.34,1.5,.64,1),background .2s ease}.ginv .g-player-ctrls button svg{width:16px;height:16px}.ginv .g-player-ctrls button:hover{transform:scale(1.1);background:#fff}.ginv .g-player-ctrls button:active{transform:scale(.92)}.ginv .g-player-ctrls button:disabled{opacity:.4;cursor:default;transform:none}.ginv .g-player-ctrls button.main{width:44px;height:44px;background:var(--g-green);color:#fff;border-color:var(--g-green);box-shadow:0 8px 20px rgba(36,64,46,.3)}.ginv .g-player-ctrls button.main svg{width:20px;height:20px}.ginv .g-player-ctrls button.main:hover{background:var(--g-ink)}@keyframes g-spin{to{transform:rotate(1turn)}}@keyframes g-note-bob{0%,to{transform:translateY(0) rotate(-8deg)}50%{transform:translateY(-4px) rotate(8deg)}}@keyframes g-eq2{0%,to{height:30%}50%{height:100%}}@media (max-width:420px){.ginv .g-player-panel{width:calc(100vw - 100px)}}@media (prefers-reduced-motion:reduce){.ginv .g-tilt{transform:none!important}.ginv .g-btn:before,.ginv .g-burst,.ginv .g-music.on:after,.ginv .g-player.playing:before,.ginv .g-ripple,.ginv .g-sheen:after{display:none!important}}@media (max-width:560px){.ginv .g-families,.ginv .g-row2{grid-template-columns:1fr}.ginv .g-families{gap:10px}.ginv .g-families .bar{width:54px;height:1px;margin:0 auto;background:linear-gradient(90deg,transparent,var(--g-gold),transparent)}.ginv .g-corner{width:34vw}.ginv .g-sched:before{left:78px}.ginv .g-row{grid-template-columns:58px 40px 1fr}.ginv .g-datebar b{font-size:1.8rem}}@media (prefers-reduced-motion:reduce){.ginv .g-arch-wreath,.ginv .g-blob,.ginv .g-cal-grid .day.is-wed,.ginv .g-corner.sway,.ginv .g-cue svg,.ginv .g-gift .gift-body,.ginv .g-gift .gift-bow,.ginv .g-gift .gift-lid,.ginv .g-gift .gift-shadow,.ginv .g-gift .spark,.ginv .g-gift-hint,.ginv .g-music .bars rect,.ginv .g-player .eq i,.ginv .g-player .note,.ginv .g-player .vinyl,.ginv .g-slide-inner,.ginv .g-slide-shine,.ginv .g-slide.is-active .ph,.ginv .g-slide.is-active img{animation:none!important}.ginv .reveal{opacity:1!important;transform:none!important;transition:none!important}.ginv .g-flake{display:none!important}.ginv .g-slide,.ginv .g-slide img,.ginv .g-slide-inner{transition:none!important}}