.wax-reveal{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;min-height:100vh;min-height:100dvh;overflow:hidden;perspective:1200px;pointer-events:auto;touch-action:none;isolation:isolate;font-family:inherit;background:#050504}.wax-reveal__wash,.wax-reveal__grain{position:absolute;inset:0}.wax-reveal__grain{opacity:.16;mix-blend-mode:overlay;background-image:linear-gradient(115deg,rgba(255,255,255,.12),transparent 34%,rgba(0,0,0,.14)),radial-gradient(circle at 24% 15%,rgba(255,255,255,.24) 0 1px,transparent 1.5px),radial-gradient(circle at 78% 66%,rgba(0,0,0,.16) 0 1px,transparent 1.5px);background-size:100% 100%,18px 18px,21px 21px}.wax-reveal__spark{position:absolute;width:clamp(7px,1.6vw,15px);aspect-ratio:1;clip-path:polygon(50% 0%,61% 34%,98% 35%,68% 56%,79% 91%,50% 69%,21% 91%,32% 56%,2% 35%,39% 34%);background:#e4b547e6;filter:drop-shadow(0 0 10px rgba(239,199,101,.45));pointer-events:none}.wax-reveal__center{position:relative;z-index:4;display:grid;justify-items:center;gap:clamp(1rem,3vh,1.4rem);padding:2rem}.wax-reveal__seal-button{position:relative;display:grid;place-items:center;width:clamp(176px,34vw,260px);min-width:11rem;aspect-ratio:1;padding:0;border:0;border-radius:999px;background:transparent;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.wax-reveal__seal-button[aria-disabled=true]{cursor:default}.wax-reveal__seal-button:focus-visible{outline:2px solid rgba(244,209,126,.92);outline-offset:.45rem}.wax-reveal__seal-button img{position:relative;z-index:3;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 24px 34px rgba(0,0,0,.42)) drop-shadow(0 0 20px rgba(238,195,92,.28));-webkit-user-select:none;user-select:none;pointer-events:none}.wax-reveal__seal-glow,.wax-reveal__press-ring{position:absolute;inset:-18%;border-radius:50%;pointer-events:none}.wax-reveal__seal-glow{z-index:1;background:radial-gradient(circle,rgba(243,210,126,.34),transparent 62%);filter:blur(7px)}.wax-reveal__press-ring{z-index:2;border:1px solid rgba(244,209,126,.48);box-shadow:inset 0 0 26px #f4d17e29}.wax-reveal__instruction{margin:0;color:#fff6e8d1;font-size:clamp(.86rem,2.6vw,1rem);font-weight:600;letter-spacing:.16em;line-height:1.4;text-transform:uppercase;text-align:center;text-shadow:0 2px 18px rgba(0,0,0,.48)}.wax-reveal__opening-wipe{position:absolute;z-index:5;width:min(42rem,82vw);height:140vh;height:140dvh;border-radius:999px;background:linear-gradient(90deg,transparent,rgba(246,215,142,.62),rgba(255,249,229,.74),transparent);filter:blur(14px);pointer-events:none}@media(max-width:520px){.wax-reveal__center{gap:1rem;padding:1.25rem}.wax-reveal__seal-button{width:clamp(168px,58vw,230px)}.wax-reveal__instruction{max-width:min(18rem,88vw);font-size:.82rem;letter-spacing:.13em}}@media(prefers-reduced-motion:reduce){.wax-reveal__spark,.wax-reveal__opening-wipe{display:none}.wax-reveal__seal-button,.wax-reveal__seal-glow,.wax-reveal__press-ring,.wax-reveal__instruction{transition:none}}:root{color:var(--color-ink);background:var(--color-background);font-family:var(--font-body);line-height:1.5;font-weight:400;text-rendering:optimizeLegibility;font-synthesis:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at top,rgba(255,248,240,.75),transparent 38%),linear-gradient(180deg,#ead8c5,#f4ede3 22%,#f5efe7);color:var(--color-ink)}body:before{content:"";position:fixed;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.08),transparent 28%),radial-gradient(circle at 20% 20%,rgba(255,250,244,.35),transparent 28%);opacity:.9}a{color:inherit}button,input,textarea{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}.app-shell{position:relative;overflow-x:clip}.page-shell{position:relative}.page-shell:before,.page-shell:after{content:"";position:fixed;width:42vw;max-width:460px;aspect-ratio:1;background-image:var(--media-accent-artwork);background-size:cover;background-repeat:no-repeat;opacity:.12;pointer-events:none;z-index:0}.page-shell:before{top:12vh;left:-16vw}.page-shell:after{right:-14vw;bottom:12vh}.site-main{position:relative;z-index:1}.site-preparing{opacity:1;pointer-events:none}.site-ready{opacity:1;transition:opacity .22s ease}.section-shell{position:relative;padding:clamp(4.25rem,9vw,7rem) 1.25rem}.section-inner{width:min(calc(100% - 2rem),var(--layout-max-width));margin:0 auto}.section-shell--hero{min-height:100svh;display:grid;align-items:end;padding-top:5rem;background-image:linear-gradient(180deg,#1913131a,#19131373 42%,#f4ede3db),var(--media-hero-artwork);background-position:center,center top;background-repeat:repeat,no-repeat;background-size:auto,cover}.section-shell--hero .section-inner{display:grid;gap:2.5rem}.eyebrow{display:inline-flex;align-items:center;gap:.65rem;font-family:var(--font-ui);font-size:.82rem;font-weight:700;letter-spacing:.28em;text-transform:uppercase;color:#fff6eedb}.eyebrow:before{content:"";width:2.5rem;height:1px;background:currentColor;opacity:.6}.hero-grid{display:grid;gap:1.5rem;max-width:46rem}.hero-title{margin:0;font-family:var(--font-heading);font-size:clamp(3.6rem,14vw,7rem);line-height:.88;letter-spacing:-.03em;color:#fff8f2}.hero-copy{margin:0;max-width:37rem;font-size:clamp(1rem,2.8vw,1.16rem);color:#fff4ecd6}.hero-meta{display:flex;flex-wrap:wrap;gap:.75rem}.meta-pill{display:inline-flex;align-items:center;min-height:2.75rem;padding:.8rem 1.15rem;border-radius:var(--radius-pill);border:1px solid rgba(255,248,240,.22);background:#16111147;color:#fff7f2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.hero-personal{display:grid;gap:.4rem;margin-top:.6rem}.hero-personal-label{color:#fff6eead;font-size:.85rem;letter-spacing:.16em;text-transform:uppercase}.hero-personal-name{font-family:var(--font-heading);font-size:clamp(2rem,7vw,3.2rem);color:#fff6f0}.hero-actions{display:flex;flex-wrap:wrap;gap:.85rem;margin-top:.6rem}.button{display:inline-flex;align-items:center;justify-content:center;min-height:3.2rem;padding:.9rem 1.35rem;border-radius:var(--radius-pill);border:1px solid transparent;font-family:var(--font-ui);font-weight:700;text-decoration:none;transition:transform .18s ease,background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease}.button:hover,.button:focus-visible{transform:translateY(-1px)}.button:focus-visible,.control-button:focus-visible,.choice-card input:focus-visible+span{outline:2px solid color-mix(in srgb,var(--color-accent) 70%,white);outline-offset:2px}.button--primary{background:linear-gradient(135deg,#cfab8d,#b9835d);color:#fff;box-shadow:var(--shadow-glow)}.button--secondary{background:#fff8f014;border-color:#fff8f038;color:#fff6f0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.hero-scroll{display:inline-flex;gap:.55rem;align-items:center;margin-top:1rem;color:#fff4ecb3;font-size:.92rem}.hero-scroll:before{content:"";width:1.5rem;height:1px;background:currentColor}.section-title{margin:0;font-family:var(--font-heading);font-size:clamp(2.5rem,8vw,4.15rem);line-height:.94;letter-spacing:-.03em}.section-intro{margin:1rem 0 0;max-width:42rem;color:var(--color-ink-soft);font-size:1.02rem}.glass-panel{border:1px solid var(--color-outline);background:linear-gradient(180deg,#fffcf759,#fff7f173),var(--color-surface);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:var(--radius-card);box-shadow:var(--shadow-soft)}.editorial-grid,.details-grid,.map-grid{display:grid;gap:1rem;margin-top:2rem}.editorial-grid{grid-template-columns:1fr}.quote-card{padding:2rem}.quote-card blockquote{margin:0;font-family:var(--font-heading);font-size:clamp(2rem,6vw,3rem);line-height:1.02}.quote-card footer{margin-top:1.35rem;color:var(--color-ink-soft);font-size:.95rem}.detail-card,.timeline-card,.travel-card,.map-card,.rsvp-card,.status-card,.not-found-card{padding:1.5rem}.detail-card h3,.timeline-card h3,.travel-card h3,.map-card h3{margin:0;font-family:var(--font-heading);font-size:1.65rem}.detail-card p,.timeline-card p,.travel-card p,.map-card p,.rsvp-description,.support-copy{color:var(--color-ink-soft)}.timeline-list,.travel-list{display:grid;gap:1rem;margin-top:1.5rem}.timeline-card{display:grid;gap:.65rem}.timeline-time{font-family:var(--font-ui);font-size:.82rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--color-accent)}.travel-list{padding:0;list-style:none}.travel-list li{position:relative;padding-left:1.6rem;color:var(--color-ink-soft)}.travel-list li:before{content:"";position:absolute;left:0;top:.62rem;width:.5rem;height:.5rem;border-radius:999px;background:var(--color-accent);opacity:.7}.map-card iframe{width:100%;min-height:320px;border:0;border-radius:22px;margin-top:1.25rem}.map-meta{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between;align-items:center}.map-badge{display:inline-flex;align-items:center;gap:.55rem;padding:.75rem 1rem;border-radius:var(--radius-pill);background:#b9835d1a;color:var(--color-accent)}.rsvp-layout{display:grid;gap:1.25rem;margin-top:2rem}.rsvp-card,.rsvp-card form{display:grid;gap:1.35rem}.field-group{display:grid;gap:.8rem}.field-label{display:inline-flex;align-items:center;gap:.35rem;font-weight:700}.field-help{margin:-.2rem 0 0;font-size:.94rem;color:var(--color-ink-soft)}.choice-grid{display:grid;gap:.8rem}.choice-card{position:relative;display:block}.choice-card input{position:absolute;inset:0;opacity:0}.choice-card span{display:flex;align-items:center;justify-content:center;min-height:3.8rem;padding:1rem;border-radius:22px;border:1px solid var(--color-outline);background:#fffbf6b8;transition:border-color .18s ease,background-color .18s ease,transform .18s ease,box-shadow .18s ease}.choice-card input:checked+span,.checkbox-card input:checked+span{border-color:#b9835d85;background:#dec5ac3d;box-shadow:0 14px 32px #b9835d1f}.choice-card span:hover,.checkbox-card span:hover{transform:translateY(-1px)}.checkbox-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.checkbox-card{position:relative;display:block}.checkbox-card input{position:absolute;inset:0;opacity:0}.checkbox-card span{display:flex;align-items:center;justify-content:center;min-height:3.2rem;padding:.85rem;text-align:center;border-radius:20px;border:1px solid var(--color-outline);background:#fffbf6b8;transition:border-color .18s ease,background-color .18s ease,transform .18s ease,box-shadow .18s ease}.textarea{min-height:132px;padding:1rem 1.1rem;border-radius:22px;border:1px solid var(--color-outline);background:#fffbf6b8;resize:vertical}.textarea:focus-visible{outline:2px solid color-mix(in srgb,var(--color-accent) 65%,white);outline-offset:2px}.field-error{margin:0;color:var(--color-error);font-size:.92rem}.status-card{display:grid;gap:.45rem;background:#faf6efd6}.status-card strong{font-size:1rem}.status-card--success{border:1px solid rgba(47,106,84,.16)}.status-card--error{border:1px solid rgba(159,71,63,.16)}.status-chip{display:inline-flex;align-items:center;width:fit-content;min-height:2rem;padding:.45rem .9rem;border-radius:var(--radius-pill);background:#2f6a5414;color:var(--color-success);font-size:.86rem;font-weight:700}.footer-shell{padding:0 1.25rem 2.5rem}.footer-inner{width:min(calc(100% - 2rem),var(--layout-max-width));margin:0 auto;padding:1.5rem 0 0;border-top:1px solid var(--color-line);color:var(--color-ink-soft);text-align:center}.music-toggle{position:fixed;right:1rem;bottom:1rem;z-index:20}.control-button{min-width:3rem;min-height:3rem;border-radius:999px;border:1px solid rgba(255,248,240,.22);background:#1f181880;color:#fff8f0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--shadow-glow)}.control-button:disabled{opacity:.6;cursor:not-allowed}.loading-shell,.not-found-shell{min-height:100svh;display:grid;place-items:center;padding:1.25rem}.loading-shell .glass-panel,.not-found-card{max-width:32rem}.not-found-card{text-align:center}.not-found-card h1{margin:0;font-family:var(--font-heading);font-size:clamp(2.4rem,8vw,4rem)}.not-found-card p{margin:1rem 0 0}.hidden-honeypot{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none}@media(min-width:720px){.editorial-grid{grid-template-columns:1.2fr 1fr 1fr}.details-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.timeline-list{grid-template-columns:repeat(2,minmax(0,1fr))}.map-grid{grid-template-columns:1.1fr .9fr}.choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rsvp-layout{grid-template-columns:1.1fr .9fr;align-items:start}}@media(min-width:960px){.section-shell--hero .section-inner{min-height:calc(100svh - 5rem);align-items:end}.hero-grid{gap:1.7rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.choice-card span,.checkbox-card span,.site-ready{transition:none}}@font-face{font-family:Bickham Script Pro;src:url(/assets/bickham-script-pro-DFAbpbl0.woff2) format("woff2");font-display:swap}@font-face{font-family:Brandon Grotesque;src:url(/assets/brandon-grotesque-D_j2k1JP.woff2) format("woff2");font-display:swap}@font-face{font-family:Monotype Corsiva;src:url(/assets/monotype-corsiva-CPu5P4xd.ttf) format("truetype");font-display:swap}body{background:linear-gradient(180deg,#ffffffd1,#edf6edd6 42%,#b9d9b9e6),#edf6ed}body:before{display:none}.invitation-experience-shell{position:relative;min-height:100svh;background:#edf6ed}.invitation-experience-shell:before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background:url(/media/invitation/watercolor-bg-main.png) 50% 0 / cover no-repeat,#dfeedd;opacity:0;transition:opacity .22s ease}.invitation-experience-shell--details:before{opacity:1}.invitation-stage{min-height:100svh;position:relative;isolation:isolate}.wedding-eyebrow{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;margin:0;color:var(--color-primary-deep);font-family:var(--font-ui);font-size:.78rem;font-weight:700;letter-spacing:.18em;line-height:1.2;text-transform:uppercase}.wedding-eyebrow:before,.wedding-eyebrow:after{content:"";width:1.7rem;height:1px;background:currentColor;opacity:.45}.wedding-button{display:inline-flex;min-height:3.35rem;align-items:center;justify-content:center;padding:.9rem 1.65rem;border:1px solid rgba(36,91,45,.14);border-radius:var(--radius-pill);color:var(--color-primary-deep);font-family:var(--font-ui);font-size:1rem;font-weight:800;line-height:1.05;text-align:center;text-decoration:none;background:linear-gradient(180deg,#85af7ceb,#d3e5cff5 58%,#fffffcfa),#f7fbf5;box-shadow:0 16px 30px #1f532e24,inset 0 1px #ffffffe0;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.wedding-button--primary{min-width:11rem}.wedding-button--small{min-width:8.25rem;padding-inline:1.35rem}.wedding-button:hover,.wedding-button:focus-visible{transform:translateY(-1px);border-color:#1f6b3747;box-shadow:0 20px 38px #1f532e2b,inset 0 1px #ffffffeb}.wedding-button:active{transform:translateY(1px);box-shadow:0 10px 22px #1f532e1f,inset 0 1px #ffffffc7}.wedding-button:focus-visible,.wax-seal-button:focus-visible{outline:2px solid color-mix(in srgb,var(--color-accent) 70%,white);outline-offset:4px}.wax-seal-stage{display:grid;place-items:center;padding:clamp(1rem,4vw,2.5rem);text-align:center;background:radial-gradient(circle at 50% 43%,rgba(255,255,247,.96) 0,rgba(251,250,241,.86) 18rem,transparent 40rem),radial-gradient(circle at 18% 16%,rgba(255,255,255,.72),transparent 22rem),radial-gradient(circle at 82% 84%,rgba(211,228,207,.66),transparent 24rem),linear-gradient(145deg,#fffff8fa,#edf6edfa 52%,#d8ead6f0),#edf6ed}.wax-seal-stage:before{content:"";position:absolute;inset:0;z-index:-1;background:repeating-linear-gradient(100deg,rgba(38,93,47,.045) 0 1px,transparent 1px .72rem),repeating-linear-gradient(12deg,rgba(255,255,255,.34) 0 1px,transparent 1px .64rem);-webkit-mask-image:radial-gradient(circle at center,black 0,black 58%,transparent 84%);mask-image:radial-gradient(circle at center,black 0,black 58%,transparent 84%);opacity:.34}.wax-seal-stage:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(255,255,255,.32),transparent 28%,rgba(72,122,72,.08)),radial-gradient(circle at center,transparent 0,transparent 46%,rgba(75,110,72,.12) 100%);pointer-events:none}.wax-seal-stage__inner{display:grid;width:min(100%,42rem);min-height:min(82svh,46rem);place-items:center;position:relative}.wax-seal-stage__paper{position:relative;grid-area:1 / 1;width:clamp(18rem,46vw,32rem);max-width:calc(100vw - 2rem);aspect-ratio:4 / 5;border:1px solid rgba(49,101,57,.13);border-radius:20px;background:linear-gradient(180deg,#fffffcf0,#f9f9eee6 58%,#ecf5e8d1),#fbfaf1;box-shadow:0 34px 80px #385e361f,0 12px 28px #4c341a14,inset 0 1px #fffffff5}.wax-seal-stage__paper:before,.wax-seal-stage__paper:after{content:"";position:absolute;pointer-events:none}.wax-seal-stage__paper:before{inset:9%;border-radius:14px;background:linear-gradient(135deg,transparent calc(50% - 1px),rgba(65,114,72,.13) 50%,transparent calc(50% + 1px)),linear-gradient(225deg,transparent calc(50% - 1px),rgba(65,114,72,.1) 50%,transparent calc(50% + 1px)),linear-gradient(180deg,rgba(255,255,255,.38),transparent);opacity:.58}.wax-seal-stage__paper:after{inset:0;border-radius:inherit;background:radial-gradient(circle at 50% 46%,rgba(205,166,90,.17),transparent 31%),linear-gradient(180deg,rgba(255,255,255,.42),transparent 38%)}.wax-seal-stage__ceremony{position:relative;z-index:1;display:grid;grid-area:1 / 1;width:min(100%,36rem);min-height:min(72svh,39rem);align-content:center;justify-items:center;gap:clamp(.75rem,1.8vw,1.1rem);padding:clamp(1rem,3vw,2rem)}.wax-seal-stage__label{margin:0;color:var(--color-primary-deep);font-family:var(--font-ui);font-size:clamp(.78rem,1.45vw,.92rem);font-weight:700;letter-spacing:.24em;line-height:1.2;text-transform:uppercase}.wax-seal-stage__action{margin:0;color:#23502cc7;font-family:var(--font-ui);font-size:clamp(.74rem,1.35vw,.86rem);font-weight:800;letter-spacing:.18em;line-height:1.2;text-transform:uppercase}.wax-seal-button{position:relative;display:grid;width:clamp(14rem,34vw,22rem);aspect-ratio:1;place-items:center;margin:.1rem 0 .05rem;padding:0;border:0;border-radius:999px;color:#fffdf8;cursor:pointer;background:transparent;isolation:isolate;touch-action:manipulation}.wax-seal-button:disabled{cursor:default}.wax-seal-button__aura,.wax-seal-button__rim{position:absolute;border-radius:999px;pointer-events:none}.wax-seal-button__aura{inset:-8%;z-index:0;background:radial-gradient(circle,rgba(231,205,135,.58) 0,rgba(207,165,83,.28) 34%,transparent 68%),radial-gradient(circle,rgba(255,255,255,.52),transparent 48%);filter:blur(18px);opacity:.78;animation:wax-seal-aura 5.8s ease-in-out infinite;transition:opacity .22s ease,scale .22s ease}.wax-seal-button__rim{inset:13%;z-index:1;border:1px solid rgba(240,210,137,.44);border-radius:999px;box-shadow:0 0 0 .75rem #cfa5530b,0 0 42px #d1a85338;opacity:.72;transition:opacity .22s ease,transform .22s ease}.wax-seal-button:hover .wax-seal-button__aura,.wax-seal-button:focus-visible .wax-seal-button__aura{opacity:.98;scale:1.05}.wax-seal-button:hover .wax-seal-button__rim,.wax-seal-button:focus-visible .wax-seal-button__rim{opacity:.9;transform:scale(1.025)}.wax-seal-button img{position:relative;z-index:2;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 28px 34px rgba(75,48,24,.26)) drop-shadow(0 7px 11px rgba(109,67,29,.14))}.wax-seal-stage__dust{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}.wax-seal-stage__dust span{position:absolute;width:.22rem;height:.22rem;transform:rotate(45deg);border-radius:1px;background:#d2a9547a;box-shadow:0 0 14px #d2a95442;opacity:.42;animation:wax-dust-drift 9s ease-in-out infinite}.wax-seal-stage__dust span:nth-child(1){top:31%;left:31%}.wax-seal-stage__dust span:nth-child(2){top:35%;right:29%;animation-delay:1.8s;animation-duration:10.5s}.wax-seal-stage__dust span:nth-child(3){right:35%;bottom:27%;animation-delay:3.1s;animation-duration:11s}.wax-seal-stage__dust span:nth-child(4){bottom:35%;left:26%;animation-delay:4.4s;animation-duration:12s}@keyframes wax-seal-aura{0%,to{opacity:.72;transform:scale(.98)}50%{opacity:.94;transform:scale(1.04)}}@keyframes wax-dust-drift{0%,to{opacity:.18;translate:0 0}45%{opacity:.48;translate:.16rem -.34rem}}.invitation-card-stage{display:grid;place-items:center;padding:clamp(1rem,4vw,2.6rem);background:linear-gradient(180deg,#edf6edf0,#fffffcf5 54%,#f8c2dc47),#edf6ed;overflow-x:hidden;overflow-y:auto}.invitation-card{position:relative;display:grid;grid-template-rows:minmax(0,1fr);width:min(100%,42rem);min-height:min(92svh,58rem);padding:clamp(1rem,3vw,1.5rem);border:1px solid rgba(47,116,62,.2);border-radius:18px;background:linear-gradient(180deg,#ffffffa8,#edf6edb8),#ffffffa8;box-shadow:0 32px 80px #1d482724}.invitation-card__panel{position:relative;z-index:2;display:grid;grid-template-rows:auto minmax(0,1fr) auto;min-height:calc(min(92svh,58rem) - clamp(2rem,6vw,3rem));align-content:stretch;justify-items:center;gap:clamp(.85rem,2svh,1.45rem);padding:clamp(5rem,10svh,7.2rem) clamp(1rem,4vw,2.6rem) clamp(4.2rem,8svh,6.2rem);text-align:center;border:clamp(.48rem,1.6vw,.82rem) solid rgba(56,129,69,.16);outline:1px solid rgba(255,255,255,.86);border-radius:10px;background:#fffffceb}.invitation-card__floral{position:absolute;left:50%;z-index:1;width:min(100%,40rem);max-width:none;height:auto;opacity:.88;pointer-events:none;translate:-50% 0;-webkit-user-select:none;user-select:none}.invitation-card__floral--top{top:clamp(-3.9rem,-6svh,-2.8rem)}.invitation-card__floral--bottom{bottom:clamp(-2.5rem,-5svh,-1.4rem)}.invitation-card__top,.invitation-card__center,.invitation-card__bottom{position:relative;z-index:2;display:grid;justify-items:center;width:100%}.invitation-card__top{align-self:start;gap:clamp(.55rem,1.4svh,.9rem);padding-top:clamp(2rem,5svh,2.8rem)}.invitation-card__center{align-self:stretch;align-content:center;gap:clamp(.9rem,2.2svh,1.45rem);min-height:0;padding-block:clamp(.45rem,1.5svh,1.1rem)}.invitation-card__bottom{align-self:end;padding-top:clamp(.15rem,1svh,.7rem);padding-bottom:clamp(2rem,5svh,3rem)}.invitation-card__calligraphy{width:clamp(10.5rem,38vw,15.5rem);max-width:68%}.invitation-card__host{width:min(100%,29rem);margin:0;color:var(--color-ink-soft);font-family:var(--font-ui);font-size:clamp(.78rem,1.9vw,.94rem);line-height:1.62;text-transform:uppercase;letter-spacing:.04em}.invitation-card__names{display:grid;justify-items:center;gap:clamp(.16rem,.6svh,.38rem)}.invitation-card__name{display:grid;margin:0;color:var(--color-primary-deep);font-family:var(--font-script);font-size:clamp(4.2rem,14vw,7.2rem);font-weight:400;letter-spacing:0;line-height:.76}.invitation-card__name--bride{margin-top:.2rem}.celestial-pair{position:relative;width:clamp(4.5rem,14vw,6.5rem);height:clamp(3.4rem,10vw,4.8rem);margin:clamp(.05rem,.7svh,.35rem) auto}.celestial-pair img{position:absolute;top:50%;width:clamp(2.05rem,6vw,2.9rem);height:clamp(2.05rem,6vw,2.9rem);object-fit:contain}.celestial-pair__sun{left:50%;animation:sun-orbit 9s ease-in-out 1s infinite}.celestial-pair__moon{right:50%;animation:moon-orbit 9s ease-in-out 1s infinite}.invitation-card__date{display:block;color:var(--color-accent);font-family:var(--font-date);font-size:clamp(3rem,11vw,5.5rem);font-weight:400;line-height:.94}.invitation-card__label{margin:0;color:var(--color-ink-soft);font-family:var(--font-ui);font-size:.78rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.invitation-card__guest{position:relative;display:grid;gap:.22rem;width:min(100%,14.7rem);min-height:4.45rem;align-content:center;padding:clamp(.92rem,2.2svh,1.15rem) clamp(1rem,4vw,1.35rem);border:1px solid rgba(40,96,52,.2);border-radius:var(--radius-card);color:var(--color-primary-deep);text-align:center;background:linear-gradient(155deg,#ffffffb3,#edf6ed94 58%,#f8c2dc52),linear-gradient(335deg,rgba(248,194,220,.32),transparent 50%),#ffffff94;box-shadow:0 18px 42px #1f532e14,0 6px 14px #1f532e0d,inset 0 1px #ffffffa3;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease,background .2s ease;cursor:pointer;appearance:none;touch-action:manipulation}.invitation-card__guest:hover,.invitation-card__guest:focus-visible{transform:translateY(-2px);border-color:#28603452;background:linear-gradient(155deg,#ffffffc2,#edf6eda3 58%,#f8c2dc6b),linear-gradient(335deg,rgba(248,194,220,.42),transparent 50%),#ffffffa8;box-shadow:0 24px 52px #1f532e1a,0 10px 22px #1f532e0f,inset 0 1px #ffffffb3;outline:none}.invitation-card__guest:focus-visible{outline:2px solid color-mix(in srgb,var(--color-accent) 68%,white);outline-offset:4px}.invitation-card__guest span{color:var(--color-ink-soft);font-family:var(--font-ui);font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.invitation-card__guest strong{color:var(--color-primary-deep);font-family:var(--font-name);font-size:clamp(1.35rem,4.5vw,1.95rem);font-weight:400;line-height:.95}@media(min-width:1100px)and (hover:hover)and (pointer:fine){.invitation-card__panel{gap:clamp(1rem,2svh,1.5rem);padding-top:clamp(7rem,10svh,8rem)}.invitation-card__floral--top{top:-4rem;width:min(88%,30rem)}.invitation-card__floral--bottom{bottom:-2.5rem;width:min(92%,36rem)}.invitation-card__top{gap:clamp(.72rem,1.5svh,1rem);padding-top:clamp(1.25rem,2.2svh,1.75rem)}.invitation-card__calligraphy{width:clamp(10.75rem,15vw,14rem);max-width:62%}.invitation-card__host{width:min(100%,30rem);font-size:.88rem;line-height:1.68}}@keyframes sun-orbit{0%,to{z-index:2;transform:translate(-120%,-50%) scale(.92)}50%{z-index:4;transform:translate(18%,-50%) scale(1.05)}}@keyframes moon-orbit{0%,to{z-index:4;transform:translate(120%,-50%) scale(1.05)}50%{z-index:2;transform:translate(-18%,-50%) scale(.92)}}.wedding-page-shell{--wedding-stack-width: min( calc(100vw - 2.5rem) , 38rem);position:relative;isolation:isolate;min-height:100svh;overflow-x:clip;background:transparent}.wedding-page-shell:before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:none;opacity:.9}.wedding-page-shell:after{display:none}.wedding-details-page{position:relative;z-index:1;display:grid;justify-items:center;isolation:isolate;min-height:100svh;overflow-x:clip;background:transparent}.wedding-main-hero,.wedding-section,.wedding-rsvp-wrap,.wedding-footer{position:relative;z-index:2}.wedding-main-hero,.wedding-section{width:min(calc(100% - clamp(1.25rem,4vw,2.25rem)),50rem);margin:0 auto}.wedding-main-hero{display:grid;gap:clamp(1rem,2.8vw,1.75rem);justify-items:center;padding:clamp(1.45rem,4vw,2.55rem) 0 clamp(4.8rem,10vw,7rem);text-align:center}.wedding-main-hero__art{width:min(calc(100vw - 1rem),43rem);max-width:calc(100vw - 1rem);margin:0 auto;filter:drop-shadow(0 22px 34px rgba(37,78,43,.1))}.wedding-main-hero__art img{width:100%;height:auto;margin:0 auto;object-fit:contain}.wedding-main-hero__copy{display:grid;justify-items:center;gap:clamp(.85rem,2vw,1.15rem);width:var(--wedding-stack-width);max-width:100%;padding:clamp(1.25rem,3.5vw,2.15rem) clamp(1.2rem,4vw,2.4rem);border:1px solid rgba(36,91,45,.14);border-radius:clamp(2rem,7vw,4.25rem);background:linear-gradient(180deg,#8bb5814d,#fffffcb8 48%,#f8c2dc57),#ffffff7a;box-shadow:0 28px 62px #1f532e21,0 10px 22px #1f532e12,inset 0 1px #ffffffd1;backdrop-filter:blur(11px);-webkit-backdrop-filter:blur(11px)}.wedding-main-hero .wedding-eyebrow{text-transform:none;letter-spacing:.08em}.wedding-main-hero__title{margin:0;color:var(--color-primary-deep);font-family:var(--font-script);font-size:clamp(3.2rem,8.5vw,5.75rem);font-weight:400;letter-spacing:0;line-height:.86;text-wrap:balance}.wedding-section h2{max-width:36rem;margin:0;color:var(--color-primary-deep);font-family:var(--font-ui);font-size:clamp(1.65rem,8vw,2.45rem);font-weight:800;letter-spacing:0;line-height:1.08;text-wrap:balance}.wedding-section--details h2{font-family:var(--font-body);font-size:clamp(1.65rem,8vw,2.45rem);font-weight:400;line-height:.86}.wedding-section--timeline h2{font-family:var(--font-ui);font-weight:400}.wedding-main-hero__meta{display:flex;flex-wrap:wrap;gap:.45rem .9rem;justify-content:center;margin:0;color:var(--color-primary-deep);font-family:var(--font-ui);font-size:clamp(.92rem,2vw,1.02rem);font-weight:800;letter-spacing:.04em;line-height:1.25;text-transform:none}.wedding-main-hero__meta span{display:inline-flex;align-items:center;gap:.55rem}.wedding-main-hero__meta span+span:before{content:"";width:.32rem;height:.32rem;border-radius:999px;background:currentColor;opacity:.55}.wedding-main-hero__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem;margin-top:.15rem}.wedding-section{padding:clamp(2.7rem,7vw,4.8rem) 0}.wedding-section__header{display:grid;gap:.8rem;justify-items:center;width:var(--wedding-stack-width);max-width:100%;margin:0 auto clamp(1.15rem,3vw,1.8rem);padding:clamp(1.2rem,3vw,1.85rem) clamp(1.15rem,4vw,2.1rem);border:1px solid rgba(36,91,45,.13);border-radius:clamp(1.8rem,6vw,3.75rem);text-align:center;background:linear-gradient(180deg,#8bb58142,#fffffcad 48%,#f8c2dc4d),#ffffff70;box-shadow:0 22px 50px #1f532e1c,inset 0 1px #ffffffc7;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.wedding-card-grid{display:grid;gap:clamp(.95rem,2vw,1.25rem);width:var(--wedding-stack-width);max-width:100%;margin:0 auto}.wedding-card-grid--details,.wedding-card-grid--timeline{grid-template-columns:minmax(0,1fr)}.wedding-card-reveal{display:flex}.wedding-card{position:relative;display:flex;width:100%;height:100%;flex-direction:column;padding:clamp(1.35rem,3vw,1.95rem);border:1px solid rgba(36,91,45,.08);border-radius:clamp(1.65rem,5vw,3.4rem);color:var(--color-ink);background:linear-gradient(180deg,#8bb58126,#fffffc5c 44%,#f8c2dc2b),linear-gradient(150deg,#ffffff5e,#edf6ed40),#ffffff40;box-shadow:0 26px 58px #1f532e0f,0 9px 20px #1f532e08,inset 0 1px #ffffff69;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);overflow:hidden}.wedding-card:after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.19),transparent 38%),radial-gradient(circle at 18% 12%,rgba(255,255,252,.17),transparent 13rem);opacity:.39}.wedding-card h3,.wedding-card--venue h2{position:relative;z-index:1;margin:0;color:var(--color-primary-deep);font-family:var(--font-ui);font-size:clamp(1.2rem,3.2vw,1.55rem);font-weight:800;letter-spacing:0;line-height:1.15;text-wrap:balance}.wedding-card--venue h2{font-size:clamp(1.75rem,4vw,2.65rem);line-height:1.06;text-align:center}.wedding-card p{position:relative;z-index:1;margin:.85rem 0 0;color:color-mix(in srgb,var(--color-ink-soft) 88%,var(--color-primary-deep));font-family:var(--font-ui);font-size:clamp(1rem,2vw,1.07rem);line-height:1.7}.wedding-card__eyebrow,.wedding-card__time{position:relative;z-index:1;display:inline-flex;margin-bottom:.7rem;color:var(--color-accent);font-family:var(--font-ui);font-size:.76rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.wedding-venue-grid{display:grid;gap:clamp(.95rem,2vw,1.25rem);width:var(--wedding-stack-width);max-width:100%;align-items:start;grid-template-columns:minmax(0,1fr);margin:0 auto}.wedding-travel-list{position:relative;z-index:1;display:grid;gap:.72rem;margin:1.1rem 0 0;padding:0;list-style:none}.wedding-travel-list li{position:relative;padding-left:1.35rem;color:color-mix(in srgb,var(--color-ink-soft) 88%,var(--color-primary-deep));line-height:1.6}.wedding-travel-list li:before{content:"";position:absolute;top:.62rem;left:0;width:.45rem;height:.45rem;border-radius:999px;background:var(--color-accent)}.wedding-map-meta{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:.8rem;align-items:center;justify-content:space-between}.wedding-map-meta h3{font-size:clamp(1.35rem,3vw,1.75rem)}.wedding-map-meta p{margin-top:.25rem}.wedding-map-meta span{display:inline-flex;min-height:2rem;align-items:center;padding:.45rem .85rem;border:1px solid rgba(40,96,52,.16);border-radius:var(--radius-pill);color:var(--color-success);background:#ffffffa8;font-size:.78rem;font-weight:800}.wedding-card--map iframe{position:relative;z-index:1;width:100%;min-height:20rem;margin:1rem 0;border:0;border-radius:clamp(1rem,3vw,1.6rem);box-shadow:0 14px 32px #1f532e14}.wedding-rsvp-wrap .section-shell{padding:clamp(2.9rem,7vw,5rem) clamp(.75rem,3vw,1.25rem) clamp(4rem,9vw,6rem)}.wedding-rsvp-wrap .section-inner{width:var(--wedding-stack-width);max-width:100%;padding:clamp(1.25rem,3vw,2.2rem);border:1px solid rgba(36,91,45,.13);border-radius:clamp(1.9rem,6vw,4rem);text-align:center;background:linear-gradient(180deg,#8bb58147,#fffffcb8 46%,#f8c2dc52),#ffffff75;box-shadow:0 28px 62px #1f532e21,0 10px 22px #1f532e12,inset 0 1px #ffffffd1;backdrop-filter:blur(11px);-webkit-backdrop-filter:blur(11px)}.wedding-rsvp-wrap .section-title{color:var(--color-primary-deep);font-family:var(--font-ui);font-size:clamp(3.35rem,9vw,5.6rem);font-weight:400;letter-spacing:0;line-height:.86}.wedding-rsvp-wrap .section-intro{margin-inline:auto;max-width:34rem;color:color-mix(in srgb,var(--color-ink-soft) 86%,var(--color-primary-deep));text-align:center}.wedding-rsvp-wrap .glass-panel,.wedding-rsvp-wrap .choice-card span,.wedding-rsvp-wrap .input-number{border:1px solid rgba(40,96,52,.16);border-radius:clamp(1.35rem,4vw,2.4rem);background:linear-gradient(180deg,#8bb58133,#fffffc9e 48%,#f8c2dc3d),#ffffff85;box-shadow:0 22px 50px #1f532e1c,inset 0 1px #ffffffbd;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.wedding-rsvp-wrap .rsvp-layout{width:100%;grid-template-columns:minmax(0,1fr);margin:clamp(1.35rem,3vw,2rem) auto 0;text-align:left}.wedding-rsvp-wrap .field-label{color:var(--color-primary-deep);font-family:var(--font-ui);letter-spacing:.02em}.wedding-rsvp-wrap .field-help,.wedding-rsvp-wrap .status-card p{color:var(--color-ink-soft)}.wedding-rsvp-wrap .choice-card span{min-height:4rem;color:var(--color-primary-deep);font-weight:800}.wedding-rsvp-wrap .choice-card input:checked+span{border-color:#1f6b374d;background:linear-gradient(180deg,#84ae7a7a,#fffffcc7),#ffffff94;box-shadow:0 18px 38px #1f532e1f,inset 0 1px #ffffffd1}.wedding-rsvp-wrap .choice-card input:focus-visible+span{outline:2px solid color-mix(in srgb,var(--color-accent) 68%,white);outline-offset:4px}.wedding-rsvp-wrap .input-number{width:100%;min-height:3.4rem;padding:.8rem 1rem;color:var(--color-primary-deep);font-weight:800}.wedding-rsvp-wrap .status-chip{color:var(--color-primary-deep);background:#ffffff9e}.wedding-rsvp-wrap .button--primary{width:min(100%,13rem);min-height:3.35rem;border-color:#245b2d24;border-radius:var(--radius-pill);color:var(--color-primary-deep);background:linear-gradient(180deg,#85af7ce6,#d1e4cdf5 58%,#fffffcfa),#f7fbf5;box-shadow:0 16px 30px #1f532e24,inset 0 1px #ffffffe0}.wedding-rsvp-wrap .button--primary:disabled{cursor:wait;opacity:.66}.wedding-footer{z-index:1;background:transparent}.wedding-footer .footer-inner{width:var(--wedding-stack-width);max-width:100%;padding:1.2rem clamp(1rem,3vw,1.6rem);border:1px solid rgba(58,109,69,.18);border-radius:clamp(1.5rem,5vw,3rem);background:linear-gradient(180deg,#fffffc9e,#edf6ed8a 58%,#f8c2dc38),#ffffff5c;box-shadow:0 18px 42px #1f532e17,inset 0 1px #ffffffbd;backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}.wedding-butterfly{display:none;position:absolute;z-index:1;width:clamp(1.7rem,4vw,2.75rem);pointer-events:none;opacity:.42;filter:drop-shadow(0 8px 10px rgba(24,80,52,.1));animation:butterfly-drift 10s ease-in-out infinite}.wedding-butterfly--one{top:clamp(6rem,12vw,12rem);left:clamp(1rem,8vw,3rem)}.wedding-butterfly--two{top:clamp(38rem,44vw,44rem);right:clamp(40rem,28vw,28rem);transform:scaleX(-1);animation-delay:1.7s}@keyframes butterfly-drift{0%,to{translate:0 0}50%{translate:0 -.85rem}}@media(max-width:860px){.wedding-card-grid--details,.wedding-card-grid--timeline,.wedding-venue-grid{grid-template-columns:1fr}.wedding-main-hero{padding-top:clamp(1rem,5vw,1.8rem)}.wedding-main-hero__art{width:min(100%,42rem)}.wedding-card,.wedding-rsvp-wrap .glass-panel,.wedding-rsvp-wrap .choice-card span,.wedding-rsvp-wrap .input-number{border-radius:clamp(1.15rem,5vw,2rem)}.invitation-card{min-height:min(94svh,54rem)}.invitation-card__panel{min-height:max(42rem,calc(100svh - 4rem));padding-block:clamp(4.8rem,10svh,6.2rem) clamp(3.9rem,8svh,5.2rem)}.invitation-card__floral{width:min(100%,34rem)}}@media(max-width:520px){.wedding-eyebrow:before,.wedding-eyebrow:after{width:1.1rem}.wax-seal-stage{padding-inline:1rem}.wax-seal-stage__inner{min-height:min(84svh,42rem)}.wax-seal-stage__paper{width:min(18.5rem,calc(100vw - 1.25rem))}.wax-seal-stage__ceremony{gap:.68rem}.wax-seal-stage__label{font-size:.72rem;letter-spacing:.18em}.wax-seal-stage__action{letter-spacing:.15em}.wax-seal-button{width:min(15.5rem,72vw)}.invitation-card-stage{padding:.65rem}.invitation-card{width:min(100%,25rem);min-height:max(39rem,calc(100svh - 1.3rem));padding:.55rem;border-radius:14px}.invitation-card__panel{min-height:max(38rem,calc(100svh - 2.4rem));gap:clamp(.62rem,1.5svh,.92rem);padding:clamp(4.35rem,12svh,5.35rem) .75rem clamp(3.45rem,10svh,4.75rem);border-width:.42rem}.invitation-card__floral{width:min(100%,28rem)}.invitation-card__floral--top{top:clamp(-1.9rem,-6svh,-1.2rem)}.invitation-card__floral--bottom{bottom:clamp(-1.5rem,-3svh,-.6rem)}.invitation-card__calligraphy{width:clamp(11.25rem,56vw,14rem);max-width:74%}.invitation-card__host{font-size:.72rem;line-height:1.5}.invitation-card__center{gap:clamp(.7rem,1.8svh,1rem);padding-block:clamp(.25rem,1svh,.7rem)}.invitation-card__name{font-size:clamp(3.65rem,17vw,4.55rem);line-height:.78}.celestial-pair{width:clamp(4rem,17vw,5.1rem);height:clamp(3rem,12vw,3.7rem)}.celestial-pair img{width:clamp(1.85rem,7vw,2.35rem);height:clamp(1.85rem,7vw,2.35rem)}.invitation-card__date{font-size:clamp(2.9rem,13vw,3.9rem);line-height:.98}.invitation-card__guest{width:min(100%,14.5rem);min-height:4.35rem}.invitation-card__guest strong{font-size:clamp(1.35rem,7vw,1.75rem)}.wedding-main-hero,.wedding-section{width:min(calc(100% - 1.25rem),50rem)}.wedding-main-hero{gap:.75rem;padding-bottom:4rem}.wedding-main-hero__art{width:min(100%,24rem);max-width:calc(100vw - .35rem);margin-bottom:.25rem}.wedding-main-hero__title{font-size:clamp(2.85rem,13.5vw,4.1rem);line-height:.9}.wedding-main-hero__meta{gap:.25rem .55rem;font-size:.9rem;letter-spacing:.03em}.wedding-main-hero__meta span+span:before{width:.24rem;height:.24rem}.wedding-main-hero__actions{width:min(100%,18rem)}.wedding-button{width:100%;min-height:3.25rem;font-size:.94rem}.wedding-section h2,.wedding-section--details h2,.wedding-rsvp-wrap .section-title{font-size:clamp(1.65rem,8vw,2.45rem)}.wedding-section{padding-block:2.55rem}.wedding-card{padding:1.25rem}.wedding-card--map iframe{min-height:16rem}.wedding-rsvp-wrap .section-shell{padding-inline:.75rem}.wedding-rsvp-wrap .section-inner{width:var(--wedding-stack-width)}.wedding-butterfly{display:none}}@media(prefers-reduced-motion:reduce){.wedding-button,.choice-card span{transition:none}.celestial-pair__sun,.celestial-pair__moon,.wedding-butterfly,.wax-seal-button__aura,.wax-seal-stage__dust span{animation:none}.wax-seal-stage__dust span{box-shadow:none}}
