:root{--surface-sky:#dce8fb;--surface-cream:#faf6ef;--surface-white:#fff;--ink-navy:#2e3b54;--ink-slate:#51658a;--accent-lavender:#5c60b8;--accent-lavender-tint:#dad8f6;--accent-lavender-script:#9496d6;--accent-gold:#b89c72;--accent-sage:#8fa07e;--accent-blush:#dcb3af;--border-hairline:#e4d9c8;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--space-16:64px;--space-24:96px;--radius-none:0px;--radius-sm:4px;--radius-md:14px;--radius-pill:999px;--shadow-soft:0 24px 48px -16px #2e3b5438;--shadow-hairline:0 1px 0 0 #b89c7259;--cream:var(--surface-cream);--cream-2:var(--surface-sky);--cream-3:var(--border-hairline);--ink:var(--ink-navy);--ink-soft:var(--ink-slate);--ink-mute:var(--ink-slate);--blush:var(--accent-blush);--blush-deep:var(--accent-lavender);--sage:var(--accent-sage);--sage-deep:var(--ink-navy);--blue:var(--surface-sky);--blue-deep:var(--ink-slate);--dusty:var(--accent-lavender-tint);--dusty-deep:var(--ink-slate);--sepia:var(--ink-slate);--gold:var(--accent-gold);--font-italiana:var(--font-cormorant);--font-eb-garamond:var(--font-cormorant)}*,:before,:after{box-sizing:border-box}body{margin:0}html,body{-webkit-font-smoothing:antialiased;background:var(--surface-cream);color:var(--ink-navy);font-size:18px;line-height:1.6;overflow-x:clip}body{background:linear-gradient(180deg, var(--surface-sky) 0%, var(--surface-cream) 32%, var(--surface-cream) 100%);min-height:100vh}body:before{content:"";pointer-events:none;z-index:1;opacity:.35;mix-blend-mode:multiply;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.18  0 0 0 0 0.23  0 0 0 0 0.33  0 0 0 0.05 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");position:fixed;inset:0}.font-names{font-family:var(--font-playfair), "Playfair Display", Georgia, serif;letter-spacing:.01em;font-weight:400}.font-script{font-family:var(--font-pinyon), "Pinyon Script", cursive;letter-spacing:0;font-weight:400}.font-display{font-family:var(--font-cormorant), "Cormorant Garamond", var(--font-noto-serif-tc), Georgia, serif;letter-spacing:0;font-weight:400}.font-italiana{font-family:var(--font-cormorant), "Cormorant Garamond", var(--font-noto-serif-tc), serif;letter-spacing:.3em;text-transform:uppercase;font-weight:600}.font-body{font-family:var(--font-cormorant), "Cormorant Garamond", Georgia, serif}.font-zh{font-family:var(--font-noto-serif-tc), "Noto Serif TC", serif;letter-spacing:.06em;font-weight:400;line-height:1.9}#__next,main{z-index:2;position:relative}a{color:var(--accent-lavender)}:focus-visible{outline:2px solid var(--accent-lavender);outline-offset:3px}.section-wash{isolation:isolate;position:relative}.section-wash:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(55% 38% at 12% 18%,#fbe4d68c,#0000 70%),radial-gradient(48% 34% at 88% 32%,#dad8f699,#0000 70%),radial-gradient(70% 45% at 50% 96%,#dce8fbb3,#0000 72%);width:100vw;position:absolute;top:-60px;bottom:-60px;left:50%;transform:translate(-50%);-webkit-mask-image:linear-gradient(#0000,#000 18% 82%,#0000);mask-image:linear-gradient(#0000,#000 18% 82%,#0000)}main>section.section-wash:last-of-type:before{bottom:0}.section-eyebrow{font-family:var(--font-gilda), var(--font-noto-serif-tc), Georgia, serif;letter-spacing:.4em;text-transform:uppercase;color:var(--ink-slate);justify-content:center;align-items:center;gap:14px;margin-bottom:18px;font-size:13px;line-height:18px;display:flex}.section-eyebrow:before,.section-eyebrow:after{content:"";opacity:.9;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 40' fill='none' stroke='%23b89c72' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><path d='M7 21 c-3 0 -5 -2 -3 -4 c2 -1.5 4 0 3 1.5'/><path d='M7 21 C26 23 46 19 96 20'/><path d='M19 21.5 c-2 -5 4 -8.5 7.5 -5 c1.5 2 -0.5 4 -2.5 3'/><path d='M33 20.5 c-2 -5.5 4.5 -9 8 -5.5 c1.5 2 -0.5 4 -2.5 3'/><path d='M47 20 c2.5 -6 9 -9 13.5 -7 c-2.5 5.5 -8.5 8 -13.5 7 z' fill='%23b89c72' fill-opacity='0.3'/><path d='M55 20.5 c0 6 -4 10 -9 11 c0 -5 4 -9.5 9 -11 z' fill='%23b89c72' fill-opacity='0.3'/><path d='M66 20 C63 12 67 4 74.5 4 c5 0 6.5 5 3 7 c-3 1.5 -6 -1 -4 -3'/><path d='M68 20.5 C65.5 28 70 35.5 76 35.5 c4.5 0 5.5 -4.5 2.5 -5.5 c-2.5 -1 -4.5 1.5 -3 3'/><path d='M80 20 c2 -3 5 -4 8 -3'/></svg>") 50%/contain no-repeat;flex-shrink:0;width:64px;height:26px}.section-eyebrow:after{margin-left:-.4em;transform:scaleX(-1)}.section-title{font-family:var(--font-gilda), var(--font-noto-serif-tc), Georgia, serif;letter-spacing:.06em;color:var(--ink-navy);margin:0 0 40px;font-size:clamp(30px,4.2vw,44px);font-style:normal;font-weight:400;line-height:1.25}.panel{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-md);box-shadow:var(--shadow-soft), inset 0 0 0 5px #ffffff8c, inset 0 0 0 6px #b89c722e;background:#faf6efc7;border:1px solid #b89c7273;position:relative}.numerals{font-family:var(--font-gilda), Georgia, serif;font-variant-numeric:lining-nums tabular-nums}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.hero{background:linear-gradient(180deg, var(--surface-sky) 0%, var(--surface-cream) 100%);justify-content:center;align-items:center;min-height:100svh;display:flex;position:relative;overflow:hidden}.hero:after{content:"";z-index:2;pointer-events:none;background:linear-gradient(to bottom, transparent, var(--surface-cream));height:120px;position:absolute;bottom:0;left:0;right:0}.hero-backdrop{object-fit:cover;filter:blur(28px)saturate(1.05);opacity:.7;transform:scale(1.12)}.hero-frame{aspect-ratio:9/16;border-radius:var(--radius-md);height:min(92svh,1100px);box-shadow:var(--shadow-soft);background:linear-gradient(180deg, var(--surface-sky) 0%, var(--surface-cream) 100%);position:relative;overflow:hidden;container-type:size}.hero-art{object-fit:cover;object-position:center top}.hero-text{z-index:1;text-align:center;color:var(--ink-navy);text-shadow:0 0 18px #faf6efa6;flex-direction:column;align-items:center;padding-top:9.5cqh;display:flex;position:absolute;inset:0}.hero-monogram{letter-spacing:.1em;align-items:center;gap:1.5cqw;font-size:max(16px,4.6cqw);display:flex;position:absolute;top:4.5cqw;left:7cqw}.hero-eyebrow{font-family:var(--font-gilda), "Gilda Display", Georgia, serif;letter-spacing:.4em;text-transform:uppercase;color:var(--ink-slate);margin-right:-.4em;font-size:max(11px,2.9cqw);font-weight:400;line-height:1.4}.hero-names{flex-direction:column;align-items:center;margin:4cqw 0 0;font-weight:400;display:flex;position:relative}.hero-name{z-index:1;font-family:var(--font-gilda), "Gilda Display", Georgia, serif;letter-spacing:0;font-size:max(42px,14cqw);font-weight:400;line-height:1.05;position:relative}.hero-name--first{transform:translate(-7cqw)}.hero-name--second{transform:translate(7cqw)}.hero-amp{font-family:var(--font-alex-brush), "Alex Brush", cursive;color:var(--accent-lavender-script);opacity:.9;text-shadow:none;margin:-5cqw 0 -6.5cqw;font-size:max(56px,18cqw);font-weight:400;line-height:.95;display:block;transform:translate(1cqw)}.hero-rule{background:var(--accent-gold);width:9cqw;height:1px;margin:4cqw 0 3.5cqw}.hero-invitation{font-family:var(--font-cormorant), "Cormorant Garamond", Georgia, serif;color:var(--ink-navy);margin:0;font-size:max(14px,3.5cqw);font-weight:400;line-height:1.6}.hero-date{font-family:var(--font-gilda), "Gilda Display", Georgia, serif;font-variant-numeric:lining-nums;letter-spacing:.04em;align-items:center;gap:3.5cqw;margin-top:4cqw;font-size:max(22px,6cqw);font-weight:400;display:flex}.hero-flourish{width:13cqw;color:var(--accent-gold);opacity:.85;display:inline-flex}@media (max-width:640px){.hero-backdrop{display:none}.hero-frame{border-radius:var(--radius-none);height:auto;box-shadow:none;position:absolute;inset:0;aspect-ratio:auto!important}}.no-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar{scrollbar-width:none}@keyframes scrollHint{0%,to{transform-origin:top;opacity:.3;transform:scaleY(.3)}50%{transform-origin:top;opacity:1;transform:scaleY(1)}}
