@font-face{font-family:Cormorant Local;src:url(/fonts/CormorantGaramond-Light.ttf)format("truetype");font-weight:300;font-style:normal;font-display:block}@font-face{font-family:Cormorant Local;src:url(/fonts/CormorantGaramond-Regular.ttf)format("truetype");font-weight:400;font-style:normal;font-display:block}@font-face{font-family:Cormorant Local;src:url(/fonts/CormorantGaramond-Medium.ttf)format("truetype");font-weight:500;font-style:normal;font-display:block}@font-face{font-family:Cormorant Local;src:url(/fonts/CormorantGaramond-SemiBold.ttf)format("truetype");font-weight:600;font-style:normal;font-display:block}@font-face{font-family:Cormorant Local;src:url(/fonts/CormorantGaramond-Bold.ttf)format("truetype");font-weight:700;font-style:normal;font-display:block}@font-face{font-family:Cormorant Local;src:url(/fonts/CormorantGaramond-Italic.ttf)format("truetype");font-weight:400;font-style:italic;font-display:block}@font-face{font-family:Cormorant Local;src:url(/fonts/CormorantGaramond-MediumItalic.ttf)format("truetype");font-weight:500;font-style:italic;font-display:block}@font-face{font-family:Cormorant Local;src:url(/fonts/CormorantGaramond-SemiBoldItalic.ttf)format("truetype");font-weight:600;font-style:italic;font-display:block}@font-face{font-family:Miss Katherine Cyrillic;src:url(/fonts/Miss_Katherine_Cyrillic_Script.ttf)format("truetype");font-weight:400;font-style:normal;font-display:block}@font-face{font-family:Bickham Local;src:url(/fonts/Bickham%20Script%20Pro%20Semibold.ttf)format("truetype");font-weight:600;font-style:normal;font-display:block}:root{--paper:#f3ece1;--paper-deep:#dfd1bd;--sage:#596b4f;--sage-dark:#1d3327;--olive:#848569;--rose:#bd8a80;--wine:#79323f;--gold:#b99154;--espresso:#17120f;--ink:#261d19;--muted:#74675c;--line:#3d2e252e;--shadow:0 28px 80px #1c14102e;--radius:8px;--display-font:"Cormorant Local", "Cormorant Garamond", Georgia, serif;--logo-font:"Cormorant Local", "Cormorant Garamond", Georgia, serif;--reference-font:"Cormorant Local", "Cormorant Garamond", Georgia, serif;--ampersand-font:"Bickham Local", "Cormorant Local", Georgia, serif;--script-font:"Miss Katherine Cyrillic", "Cormorant Local", Georgia, serif;--text-font:Inter, system-ui, sans-serif;font-family:var(--display-font);color:var(--ink);background:var(--paper)}*{box-sizing:border-box}img,.protected-media{-webkit-user-drag:none;-webkit-user-select:none;user-select:none}html{scroll-behavior:smooth;scrollbar-gutter:stable;scrollbar-color:#596b4fb8 #f3ece1e0;scrollbar-width:thin;scroll-padding-top:92px;overflow-y:scroll}section{scroll-margin-top:92px}body{background:radial-gradient(circle at 16% 38%, #79323f24, transparent 25rem), radial-gradient(circle at 84% 18%, #b9915426, transparent 24rem), linear-gradient(90deg, #1d332712, transparent 42%), var(--paper);min-width:320px;margin:0;overflow-x:hidden}body.intro-lock{overflow:hidden}html.intro-lock{overflow-y:scroll}::-webkit-scrollbar{width:12px}::-webkit-scrollbar-track{background:linear-gradient(#fffaf0e0,#e8dccce6)}::-webkit-scrollbar-thumb{background:linear-gradient(#b99154d1,#596b4fe0);border:3px solid #f3ece1f2;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:linear-gradient(#c7a55ef2,#344f3bf2)}button,input,textarea,select{font:inherit}a{color:inherit;text-decoration:none}.intro-gate{z-index:100;opacity:1;visibility:visible;background:#0a1b14;place-items:center;min-height:100dvh;padding:0;transition:opacity .62s,visibility .62s;display:grid;position:fixed;inset:0;overflow:hidden}.intro-gate:after{content:"";z-index:0;pointer-events:none;background:radial-gradient(circle at 50% 45%,#ffe8b214,#0000 22rem),linear-gradient(90deg,#08120e2e,#0000 30% 70%,#08120e2e);position:absolute;inset:0}.intro-gate.is-opening{opacity:0;visibility:hidden;pointer-events:none;transition-delay:0s}.intro-envelope-video-backdrop{z-index:-1;object-fit:cover;filter:blur(22px)brightness(.58)saturate(1.08);width:106%;height:106%;display:block;position:absolute;inset:-3%;transform:scale(1.08)}.intro-envelope-video{z-index:1;object-fit:contain;width:auto;max-width:100vw;height:100dvh;display:block;position:relative;box-shadow:0 0 42px #0000002e}@media (orientation:portrait){.intro-envelope-video-backdrop{display:none}.intro-envelope-video{object-fit:cover;width:100vw;max-width:none;height:100dvh}}.site-header{z-index:30;color:#252525;pointer-events:auto;--header-bg-alpha:.9;--header-border-alpha:.7;--header-shadow-alpha:.14;--header-detail-alpha:.72;--header-blur:10px;width:min(820px,100% - 32px);transition:top .42s cubic-bezier(.22,1,.36,1),width .42s cubic-bezier(.22,1,.36,1);position:fixed;top:14px;left:50%;transform:translate(-50%)}.site-header.is-embedded{--header-bg-alpha:0;--header-border-alpha:0;--header-shadow-alpha:0;--header-detail-alpha:.28;--header-blur:0px;top:24px}.site-header.is-detached{top:14px}.header-shell{isolation:isolate;border:.5px solid rgba(255, 255, 255, var(--header-border-alpha));background:linear-gradient(180deg, rgba(255, 255, 255, var(--header-bg-alpha)), rgba(248, 243, 234, calc(var(--header-bg-alpha) * .94)));min-height:62px;box-shadow:0 18px 54px rgba(18, 19, 14, var(--header-shadow-alpha)), inset 0 1px rgba(255, 255, 255, calc(var(--header-bg-alpha) * .7));-webkit-backdrop-filter:blur(var(--header-blur));backdrop-filter:blur(var(--header-blur));border-radius:14px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px;transition:border-color .42s cubic-bezier(.22,1,.36,1),background .42s cubic-bezier(.22,1,.36,1),box-shadow .42s cubic-bezier(.22,1,.36,1),-webkit-backdrop-filter .42s cubic-bezier(.22,1,.36,1),backdrop-filter .42s cubic-bezier(.22,1,.36,1);display:grid;position:relative;overflow:hidden}.header-shell:before,.header-shell:after{content:"";pointer-events:none;position:absolute}.header-shell:before{z-index:-1;border-top:1px solid rgba(185, 145, 84, var(--header-detail-alpha));border-bottom:1px solid rgba(185, 145, 84, calc(var(--header-detail-alpha) * .52));opacity:calc(var(--header-detail-alpha) + .08);transition:opacity .42s cubic-bezier(.22,1,.36,1),border-color .42s cubic-bezier(.22,1,.36,1);inset:6px 10px;-webkit-mask-image:linear-gradient(90deg,#0000,#000 13% 87%,#0000);mask-image:linear-gradient(90deg,#0000,#000 13% 87%,#0000)}.header-shell:after{z-index:-2;opacity:calc(var(--header-bg-alpha) * .72);background:radial-gradient(circle at 8%,#b991541a,#0000 10rem),radial-gradient(circle at 92%,#79323f12,#0000 9rem);transition:opacity .42s cubic-bezier(.22,1,.36,1);inset:0}.brand,.date-mark,.header-logo{letter-spacing:0;font-size:24px;font-family:var(--logo-font);pointer-events:auto;justify-content:center;align-items:center;font-weight:400;display:inline-flex}.header-logo{color:#252525;border-radius:10px;width:56px;min-height:46px;font-style:italic;font-weight:600;line-height:1;position:relative}.header-logo:after{content:"";background:linear-gradient(90deg, transparent, rgba(185, 145, 84, var(--header-detail-alpha)), transparent);transform-origin:50%;height:1px;transition:opacity .42s cubic-bezier(.22,1,.36,1),transform .42s cubic-bezier(.22,1,.36,1);position:absolute;bottom:8px;left:13px;right:13px;transform:scaleX(.86)}.site-header.is-detached .header-logo:after{transform:scaleX(1)}.date-mark:before{content:"";background:#fff9ef8c;width:46px;height:1px;margin-right:14px;display:inline-block}.nav{min-width:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;font-family:var(--display-font);pointer-events:auto;background:0 0;border:0;border-radius:0;justify-content:center;padding:0;font-size:16px;font-weight:600;display:flex;position:static}.nav.is-open{display:flex}.nav a{color:#252525;opacity:1;border-radius:0;min-height:42px;padding:13px 13px 0;transition:color .18s,transform .18s;position:relative}.nav a+a:before{content:"";background:rgba(185, 145, 84, var(--header-detail-alpha));border-radius:50%;width:3px;height:3px;transition:opacity .42s cubic-bezier(.22,1,.36,1);position:absolute;top:51%;left:-2px;transform:translateY(-50%)}.nav a:hover{color:var(--wine);transform:translateY(-1px)}.header-rsvp{min-height:42px;color:var(--sage-dark);font-family:var(--display-font);justify-content:center;align-items:center;padding:12px 14px 0;font-size:17px;font-weight:700;line-height:1;transition:color .18s,transform .18s;display:inline-flex;position:relative}.header-rsvp:after{content:"";transform-origin:50%;background:linear-gradient(90deg,#0000,#b99154bf,#0000);height:1px;transition:transform .18s,opacity .18s;position:absolute;bottom:8px;left:14px;right:14px}.header-rsvp:hover{color:var(--wine);transform:translateY(-1px)}.header-rsvp:hover:after{opacity:.9;transform:scaleX(1.08)}.site-header.is-detached .header-rsvp{color:var(--sage-dark)}.icon-button{color:#252525;cursor:pointer;pointer-events:auto;background:#2525250f;border:1px solid #fff9ef73;border-radius:999px;place-items:center;width:42px;height:42px;display:inline-grid}.menu-button{display:none}.hero{min-height:100vh;color:var(--espresso);isolation:isolate;background:radial-gradient(circle at 76% 22%,#b9915433,#0000 26rem),radial-gradient(circle at 16% 72%,#79323f1f,#0000 22rem),linear-gradient(135deg,#f9f3ea,#efe6d8 52%,#dccbb7);display:grid;position:relative;overflow:hidden}.hero-media{z-index:-2;background:linear-gradient(90deg,#fffcf5eb,#fffcf58f 43%,#efe5d7c7),url(/assets/hero-lake-terrace-background.webp) 50%/cover;position:absolute;inset:0}.hero-media:before{content:"";opacity:.86;background:radial-gradient(at 50% 100%,#414a371f,#0000 50%),linear-gradient(#fffcf533,#fffcf58f);position:absolute;inset:0}.hero-petal-field{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.hero-petal{opacity:0;filter:drop-shadow(0 12px 14px #96662233);width:clamp(30px,3.2vw,58px);animation:petalFall var(--fall-duration,18s) linear infinite;animation-delay:var(--fall-delay,0s);transform-origin:50%;will-change:transform, opacity;position:absolute;top:-16vh}.petal-one{--drift:52px;--spin:118deg;--fall-duration:18s;--fall-delay:-4s;left:8%}.petal-two{--drift:-34px;--spin:-96deg;--fall-duration:22s;--fall-delay:-12s;left:20%}.petal-three{--drift:42px;--spin:132deg;--fall-duration:20s;--fall-delay:-8s;left:44%}.petal-four{--drift:-58px;--spin:-148deg;--fall-duration:24s;--fall-delay:-16s;left:61%}.petal-five{--drift:38px;--spin:104deg;--fall-duration:19s;--fall-delay:-2s;left:76%}.petal-six{--drift:-46px;--spin:-122deg;--fall-duration:21s;--fall-delay:-10s;width:clamp(24px,2.6vw,44px);left:88%}.petal-seven{--drift:-24px;--spin:86deg;--fall-duration:26s;--fall-delay:-19s;width:clamp(22px,2.4vw,40px);left:34%}.hero-photo-stack{z-index:0;aspect-ratio:1.08;pointer-events:auto;width:min(47vw,620px);position:absolute;top:51%;right:clamp(46px,7vw,126px);transform:translateY(-46%)}.hero-photo-stack.is-expanded{z-index:4}.hero-photo{color:inherit;cursor:pointer;filter:drop-shadow(0 28px 44px #32251d2e);transform-origin:50% 70%;background:0 0;border:0;height:auto;padding:0;transition:left .62s cubic-bezier(.22,1,.36,1),right .62s cubic-bezier(.22,1,.36,1),top .62s cubic-bezier(.22,1,.36,1),bottom .62s cubic-bezier(.22,1,.36,1),width .62s cubic-bezier(.22,1,.36,1),opacity .52s,filter .62s,transform .68s cubic-bezier(.22,1,.36,1),z-index 0s linear .34s;display:block;position:absolute}.hero-photo img{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:auto;display:block}.hero-photo-formal{z-index:3;width:60%;top:4%;left:26%;transform:rotate(3deg)}.hero-photo-casual{z-index:2;opacity:.9;width:50%;top:15%;left:-8%;transform:rotate(-10deg)}.hero-photo-mirror{z-index:1;opacity:.82;width:48%;bottom:4%;right:-6%;transform:rotate(10deg)}.hero-photo-stack.is-expanded .hero-photo.is-active{z-index:9;opacity:1;filter:drop-shadow(0 34px 54px #32251d40);pointer-events:none;width:88%;transition-delay:0s;inset:-4% auto auto 6%;transform:rotate(0)scale(1.02)}.hero-photo-stack.is-expanded .hero-photo.is-resting{opacity:.58;filter:drop-shadow(0 18px 30px #32251d1f)}.hero-photo:focus-visible{outline-offset:6px;outline:2px solid #b99154b8}.hero-photo-glow{z-index:0;filter:blur(18px);background:radial-gradient(circle,#fff6dca8,#b9915426 45%,#0000 72%);border-radius:50%;position:absolute;inset:12% 6% 5% 3%}.hero-content{z-index:2;text-align:left;pointer-events:none;width:min(690px,100% - 40px);margin:auto auto clamp(120px,16vh,170px) clamp(22px,9vw,128px);padding:0 0 0 clamp(18px,3vw,42px);position:relative}.hero-content:before{content:"";background:linear-gradient(#b9915400,#b99154b8,#596b4f00);width:1px;position:absolute;top:8px;bottom:12px;left:0}.hero-note{color:var(--wine);margin:0 0 20px;font-size:clamp(24px,3vw,38px);font-weight:500}h1,h2,h3,p{margin-top:0}h1{max-width:690px;color:var(--wine);letter-spacing:0;margin-bottom:16px;font-size:clamp(66px,9vw,132px);font-weight:500;line-height:.88}.hero-content h1{max-width:720px;font-family:var(--reference-font);letter-spacing:0;font-style:italic;font-weight:500}.hero-name-line{display:block}.hero-name-amp{color:inherit;font-family:var(--ampersand-font);margin:0 .02em 0 .04em;font-size:1.18em;font-style:normal;font-weight:600;line-height:0;display:inline-block;transform:translateY(.02em)}.hero-note,.hero-content p:not(.hero-note){font-style:italic}.hero-content p:not(.hero-note){max-width:460px;color:var(--muted);margin:0 0 34px;font-size:clamp(21px,2vw,30px);line-height:1.45}.button{border-radius:var(--radius);letter-spacing:.02em;cursor:pointer;border:0;justify-content:center;align-items:center;gap:10px;min-height:48px;padding:14px 28px;font-family:Inter,system-ui,sans-serif;font-size:13px;font-weight:600;transition:transform .18s,box-shadow .18s,background .18s;display:inline-flex}.button:hover{transform:translateY(-1px)}.button:disabled{cursor:wait;opacity:.68}.button.primary{color:#fffaf1;background:linear-gradient(#6f7d5d,#455f42);box-shadow:0 20px 44px #0f1a114d}.button.ghost{color:var(--sage-dark);background:#fffcf5b8;border:1px solid #53694745}.hero .button.ghost{color:var(--sage-dark);background:#fffcf557;border-color:#5369474d;box-shadow:inset 0 1px #ffffff7a}.sr-only{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.gold-reveal{vertical-align:bottom;white-space:nowrap;padding:.42em 0;display:inline-block;position:relative;overflow:hidden}.gold-reveal>span:first-child{color:#0000;filter:blur(7px);opacity:0;background-image:linear-gradient(92deg,#9a7130,#d1ac57 23%,#fff1ad 36%,#c89b42 48%,#8c6826 58%,#dfc06d 76%,#b99154);background-size:245% 100%;-webkit-background-clip:text;background-clip:text;animation:.92s cubic-bezier(.22,1,.36,1) forwards goldTextRise,3.6s ease-in-out .9s infinite goldSweep;display:inline-block;transform:translateY(12px)}.envelope-section{grid-template-columns:minmax(270px,.58fr) minmax(420px,1fr);align-items:center;gap:clamp(32px,6vw,86px);max-width:1180px;margin:0 auto;padding:clamp(48px,6vw,82px) clamp(20px,6vw,92px) clamp(72px,9vw,132px);display:grid}.envelope-copy h2{max-width:520px;color:var(--wine);margin-bottom:22px;font-size:clamp(44px,5vw,78px);font-weight:500;line-height:.96}.envelope-copy p{max-width:470px;color:var(--muted);font-family:Inter,system-ui,sans-serif;line-height:1.75}.envelope-card{aspect-ratio:1.36;width:min(590px,100%);color:var(--ink);perspective:1200px;isolation:isolate;justify-self:end;display:block;position:relative}.envelope-body:focus-visible{outline-offset:8px;outline:3px solid #b9915480}.envelope-body{z-index:2;cursor:pointer;background:radial-gradient(circle at 50% 12%,#fffcf594,#0000 15rem),linear-gradient(135deg,#fffcf438 0 1px,#0000 1px 9px),linear-gradient(#eee6d4,#d5c7ae);border:1px solid #9c825357;border-radius:7px;padding:0;position:absolute;inset:36% 0 0;overflow:hidden;box-shadow:0 34px 82px #17120f33,inset 0 1px #ffffffb8}.envelope-body:before{content:"";clip-path:polygon(0 0,100% 0,51% 88%);transform-origin:top;background:linear-gradient(#ffffff5c,#0000 58%),linear-gradient(120deg,#75604629,#0000 42%),#e8dfcf;border-bottom:1px solid #a2804680;height:72%;transition:transform .76s cubic-bezier(.22,1,.36,1),filter .76s;position:absolute;inset:-1px -1px auto}.envelope-body:after{content:"";clip-path:polygon(0 100%,50% 28%,100% 100%);background:linear-gradient(140deg,#0000 49.2%,#ffffff7a 50%,#0000 50.8%),linear-gradient(220deg,#0000 49.2%,#7560462e 50%,#0000 50.8%),linear-gradient(#e6dbc766,#c6b9a24d);height:56%;position:absolute;inset:auto 0 0}.envelope-flap{z-index:3;filter:drop-shadow(0 1px #ffffffb3);pointer-events:none;border-top:2px solid #d3b86fad;border-radius:50% 50% 0 0/62% 62% 0 0;height:50%;position:absolute;top:9%;left:8%;right:8%}.envelope-seam{z-index:3;transform-origin:bottom;background:linear-gradient(#ffffff80,#89714e57);width:1px;height:62%;position:absolute;bottom:0}.envelope-seam-left{left:25%;transform:rotate(-49deg)}.envelope-seam-right{right:25%;transform:rotate(49deg)}.envelope-seal{z-index:4;filter:drop-shadow(0 14px 18px #4b2b1447);pointer-events:none;width:clamp(74px,9vw,110px);height:auto;transition:transform .76s cubic-bezier(.22,1,.36,1),top .76s;position:absolute;top:34%;left:50%;transform:translate(-50%,-50%)rotate(-2deg)}.envelope-love{z-index:4;color:var(--gold);font-family:var(--display-font);font-size:clamp(16px,1.6vw,20px);font-weight:600;line-height:1;position:absolute;bottom:clamp(22px,3.4vw,36px);left:0;right:0}.envelope-letter{z-index:1;text-align:center;filter:drop-shadow(0 24px 38px #17120f29);opacity:0;transform-origin:50% 100%;pointer-events:none;min-height:78%;transition:transform .84s cubic-bezier(.22,1,.36,1),opacity .42s,filter .64s;display:block;position:absolute;top:0;left:4%;right:4%;transform:translateY(50%)scale(.9)}.envelope-letter-paper{object-fit:fill;opacity:.96;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.envelope-letter-content{z-index:1;pointer-events:none;align-content:center;justify-items:center;gap:clamp(8px,1.2vw,14px);min-height:clamp(330px,31vw,430px);padding:clamp(56px,5.8vw,86px) clamp(32px,5vw,70px) clamp(40px,4.6vw,66px);display:grid;position:relative}.envelope-letter-seal{filter:drop-shadow(0 15px 24px #4d2b1433);pointer-events:none;width:clamp(72px,8vw,104px);margin-bottom:clamp(2px,.5vw,8px)}.envelope-letter-script{color:#7a3340;font-family:var(--script-font);text-wrap:balance;margin:0;font-size:clamp(30px,4.3vw,48px);font-weight:400;line-height:1.08}.envelope-letter strong{color:var(--sage-dark);letter-spacing:.16em;text-transform:uppercase;font-family:Inter,system-ui,sans-serif;font-size:clamp(13px,1.45vw,16px);font-weight:800;line-height:1.2}.envelope-letter span,.envelope-letter small{color:var(--muted);font-family:Inter,system-ui,sans-serif;font-size:clamp(12px,1.35vw,15px);font-weight:700}.envelope-letter small{font-weight:500}.calendar-actions{pointer-events:auto;flex-wrap:wrap;justify-content:center;gap:8px 12px;margin-top:clamp(6px,1vw,12px);display:flex}.calendar-actions a{min-height:40px;color:var(--sage-dark);clip-path:polygon(2% 0,98% 1%,100% 52%,98% 100%,2% 99%,0 48%);font-family:var(--display-font);background:linear-gradient(#fffdf8d6,#e6dbc77a),#fffcf5b8;border:1px solid #596b4f47;border-radius:2px;justify-content:center;align-items:center;gap:7px;padding:8px 13px;font-size:clamp(15px,1.35vw,18px);font-weight:700;line-height:1;display:inline-flex;box-shadow:0 10px 22px #2d211a14,inset 0 1px #ffffffa6}.calendar-actions a:first-child{color:#fffaf1;background:linear-gradient(180deg, #67775bfa, #2d442bfa), var(--sage);border-color:#293c2952}.envelope-card.is-open .envelope-letter{z-index:5;opacity:1;filter:drop-shadow(0 30px 50px #17120f2e);pointer-events:none;transform:translateY(-26%)scale(1)}.envelope-card.is-open .envelope-body:before{filter:brightness(1.04);transform:rotateX(38deg)translateY(-10%)}.envelope-card.is-open .envelope-seal{top:38%;transform:translate(-50%,-50%)scale(.88)rotate(-8deg)}.details-band,.program-section,.place-section,.rsvp-section{padding:clamp(76px,9vw,132px) clamp(20px,5vw,72px)}.section-heading{text-align:center;justify-content:center;align-items:center;gap:20px;margin-bottom:30px;display:flex}.section-heading h2,.program-copy h2,.rsvp-copy h2,.place-copy h2,.admin-content h1,.login-card h1{color:var(--wine);font-size:clamp(42px,5.4vw,76px);font-weight:500;line-height:.98}.flourish{background:linear-gradient(90deg, transparent, var(--gold), transparent);width:min(120px,18vw);height:1px}.section-kicker{color:var(--gold);letter-spacing:.16em;text-transform:uppercase;margin:0 0 20px;font-family:Inter,system-ui,sans-serif;font-size:12px;font-weight:800}.details-band{grid-template-columns:minmax(260px,.76fr) minmax(360px,1fr);align-items:center;gap:clamp(28px,6vw,88px);max-width:1120px;margin:0 auto;display:grid;position:relative}.editorial-image{min-height:clamp(440px,54vw,680px);box-shadow:var(--shadow);clip-path:inset(0 round 8px);background:linear-gradient(#17120f00,#17120f14),url(/assets/details-love-lives-here.webp) 50%/cover}.details-panel{border-left:1px solid var(--line);padding:clamp(28px,4vw,58px);position:relative}.detail-list{gap:0;display:grid}.info-card+.info-card{border-top:1px solid var(--line)}.info-card{text-align:left;grid-template-columns:44px minmax(0,1fr);gap:18px;min-height:128px;padding:24px 0;display:grid}.info-icon{color:var(--gold);place-items:start center;display:grid}.info-icon svg{stroke-width:1.4px;width:23px;height:23px}.info-card h3{color:var(--espresso);grid-column:2;margin:0 0 9px;font-size:clamp(27px,3vw,38px);font-weight:600}.info-card p{grid-column:2}.info-card p,.program-copy p,.rsvp-copy p,.mini-note,.login-card p,.muted{color:var(--muted);font-family:Inter,system-ui,sans-serif;line-height:1.7}.info-card p,.moment-copy time,.envelope-letter span,.rsvp-copy p,.form-status,.stat-card strong,td,input,textarea,select{font-variant-numeric:tabular-nums}.swatches{gap:10px;margin-top:22px;display:flex}.swatches span{border:1px solid #261d1926;border-radius:50%;width:42px;height:42px;box-shadow:0 10px 26px #17120f1f}.details-love-seal{filter:drop-shadow(0 18px 24px #492c152e);pointer-events:none;width:clamp(86px,9vw,118px);height:auto;margin-top:28px;margin-left:auto;display:block;transform:rotate(3deg)}.program-section{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:minmax(210px,280px) minmax(0,1fr);align-items:start;gap:clamp(28px,4vw,54px);max-width:1120px;margin:0 auto;display:grid}.program-copy{min-width:0;position:sticky;top:104px}.program-copy h2{max-width:280px;margin:0 0 34px;font-size:clamp(48px,5vw,72px)}.program-copy p{max-width:260px}.editorial-timeline{gap:clamp(34px,5vw,66px);min-width:0;padding:0 0 clamp(16px,3vw,34px);display:grid;position:relative}.timeline-progress{z-index:1;pointer-events:none;width:94px;position:absolute;inset:0 50% 0 auto;transform:translate(50%)}.timeline-rail{background:linear-gradient(#d2c09f6b,#596b4f24);border-radius:999px;width:4px;position:absolute;top:14px;bottom:8px;left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 0 0 1px #fff9ef5c,0 18px 36px #596b4f1f}.timeline-fill{border-radius:inherit;background:linear-gradient(#c9a458 0% 22%,#637350 49%,#4f684b 76%,#d0aa5c);width:100%;min-height:96px;transition:height .12s linear;position:absolute;top:0;left:0;box-shadow:0 0 22px #c9a45842}.timeline-shine{z-index:2;object-fit:contain;filter:drop-shadow(0 10px 18px #b9915457);width:46px;height:54px;display:block;position:absolute}.timeline-shine-main{margin-left:-44px;position:sticky;top:38vh;left:50%;transform:translateY(-8px)}.timeline-shine-pair{width:38px;height:44px;top:10%;left:50%;transform:translate(-44px)}.timeline-shine-low{opacity:.96;width:34px;height:40px;top:43%;left:50%;transform:translate(14px)}.timeline-moment{z-index:2;grid-template-columns:minmax(176px,.82fr) 56px minmax(210px,.9fr);align-items:center;gap:clamp(16px,2.6vw,32px);min-width:0;min-height:270px;display:grid;position:relative}.timeline-moment.is-reverse{grid-template-columns:minmax(210px,.9fr) 56px minmax(176px,.82fr)}.timeline-moment.is-reverse .timeline-art-wrap{grid-area:1/3}.timeline-moment.is-reverse .moment-pin{grid-column:2}.timeline-moment.is-reverse .moment-copy{text-align:right;grid-area:1/1;justify-items:end}.timeline-art-wrap{place-items:center;min-height:230px;display:grid}.timeline-art{object-fit:contain;filter:drop-shadow(0 20px 34px #17120f1a);width:min(260px,100%);max-height:280px;transform:rotate(-1.8deg)}.timeline-moment.is-reverse .timeline-art{transform:rotate(2deg)}.moment-pin{place-items:center;min-height:250px;display:grid}.moment-copy{justify-items:start;gap:10px;width:100%;min-width:0;max-width:300px;display:grid}.moment-seal{object-fit:contain;filter:drop-shadow(0 12px 18px #492c152e);width:72px;height:66px;margin-bottom:8px}.moment-copy time{color:var(--muted);font-variant-numeric:tabular-nums;font-family:Inter,system-ui,sans-serif;font-size:16px;font-weight:700}.moment-copy h3{color:var(--espresso);font-family:var(--display-font);margin:0;font-size:clamp(31px,3vw,42px);font-weight:600;line-height:1.02}.moment-copy p{color:var(--ink);margin:0;font-family:Inter,system-ui,sans-serif;font-size:clamp(15px,1.3vw,18px);line-height:1.35}.place-section{grid-template-columns:minmax(280px,.62fr) minmax(360px,1fr);align-items:center;gap:clamp(30px,6vw,78px);max-width:1120px;margin:0 auto;display:grid}.place-copy p{max-width:470px;color:var(--muted);font-family:Inter,system-ui,sans-serif;line-height:1.75}.map-link{min-height:48px;color:var(--sage-dark);border-bottom:1px solid #b991548c;align-items:center;gap:10px;margin-top:20px;font-family:Inter,system-ui,sans-serif;font-size:14px;font-weight:800;display:inline-flex}.map-frame{border-radius:var(--radius);min-height:clamp(360px,44vw,540px);box-shadow:var(--shadow);background:#d8d0bf;border:1px solid #3d2e2529;position:relative;overflow:hidden}.map-frame:before{content:"";z-index:1;pointer-events:none;border:1px solid #fffcf5a8;border-radius:4px;position:absolute;inset:18px}.map-frame iframe{z-index:0;width:calc(100% + 152px);height:calc(100% + 152px);min-height:inherit;filter:saturate(1.08)contrast(1.02)brightness(.98);border:0;position:absolute;top:-76px;left:-76px}.rsvp-section{grid-template-columns:minmax(260px,.78fr) minmax(340px,1fr);align-items:start;gap:clamp(34px,6vw,82px);max-width:1120px;margin:0 auto;display:grid;position:relative;overflow:visible}.rsvp-paper-sheet{z-index:0;object-fit:fill;opacity:.92;filter:drop-shadow(0 30px 54px #30241c29);pointer-events:none;width:calc(100% + 96px);max-width:none;height:calc(100% + 136px);position:absolute;top:-70px;left:-48px}.rsvp-wax-seal{z-index:2;filter:drop-shadow(0 18px 28px #492c1538);pointer-events:none;width:clamp(90px,12vw,142px);height:auto;position:absolute;top:clamp(18px,4vw,54px);left:50%;transform:translate(-50%,-46%)rotate(-2deg)}.rsvp-copy,.rsvp-form{z-index:1;position:relative}.rsvp-copy h2{max-width:520px;font-size:clamp(44px,4.4vw,64px)}.rsvp-section:before{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#b9915494,#0000);width:min(360px,35vw);height:1px;position:absolute;inset:clamp(30px,5vw,72px) auto auto 0}.mini-note{border-top:1px solid var(--line);border-bottom:1px solid var(--line);align-items:flex-start;gap:12px;margin-top:24px;padding:18px 0;display:flex}.rsvp-form,.login-card,.table-panel,.stat-card{border-radius:var(--radius);box-shadow:var(--shadow);background:#fffcf5b8;border:1px solid #503f3126}.rsvp-form{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(135deg,#fffcf5e6,#eee4d6ad),#fffcf5bf;gap:18px;padding:clamp(22px,4vw,42px);display:grid;position:relative}.luxury-rsvp-form{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;isolation:isolate;background:0 0;border:0;border-radius:0;padding:0;overflow:visible}.rsvp-form:before{content:"";pointer-events:none;border:1px solid #b991542e;border-radius:5px;position:absolute;inset:10px}.luxury-rsvp-form:before{content:none}.rsvp-form-inner{z-index:1;gap:24px;min-height:548px;padding:clamp(54px,6vw,82px) clamp(42px,6vw,86px) clamp(34px,4vw,58px);display:grid;position:relative}.rsvp-step-pages{min-height:378px;position:relative}.rsvp-step{opacity:0;pointer-events:none;transform-origin:50% 0;align-content:start;gap:22px;transition:opacity .26s,transform .32s cubic-bezier(.22,1,.36,1);display:grid;position:absolute;inset:0;transform:scale(.96)translateY(12px)}.rsvp-step.is-active{opacity:1;pointer-events:auto;position:relative;transform:none}.rsvp-choice{gap:10px}.rsvp-choice legend,.line-field span{color:#2d221cf5;font-family:var(--display-font);letter-spacing:0;font-size:22px;font-weight:600;line-height:1.2}.rsvp-choice-grid{grid-template-columns:repeat(var(--choice-columns), minmax(0, 1fr));gap:12px 14px;display:grid}.rsvp-choice-grid button{color:#261d19eb;clip-path:polygon(1.5% 0,98.2% .8%,100% 50%,98.4% 100%,1.2% 99.2%,0 48%);cursor:pointer;min-width:0;min-height:46px;font-family:var(--display-font);letter-spacing:0;background:linear-gradient(#fffdf8d1,#eee5d68a),#fffcf5c7;border:1px solid #9474464d;border-radius:2px;justify-content:flex-start;align-items:center;gap:11px;padding:9px 14px;font-size:22px;font-weight:600;transition:color .18s,background .18s,border-color .18s,transform .12s,box-shadow .18s;display:inline-flex;position:relative;box-shadow:0 8px 18px #2d211a14,inset 0 1px #ffffffb3,inset 0 -10px 18px #a68b6112}.rsvp-choice-grid button:before{content:"";background:#fffcf5b8;border:1px solid #b99154c2;border-radius:2px;flex:none;width:16px;height:16px;transform:rotate(-2deg);box-shadow:inset 0 2px 4px #4130231a,0 1px #ffffffb8}.rsvp-choice-grid button:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#b9915447,#0000);height:1px;position:absolute;bottom:7px;left:13px;right:13px}.rsvp-choice-grid button:hover:not(:disabled){border-color:#b9915473;transform:translateY(-1px);box-shadow:0 12px 24px #2d211a1c,inset 0 1px #ffffffbd,inset 0 -8px 18px #a68b611a}.rsvp-choice-grid button.selected{color:#fff8ed;background:linear-gradient(180deg, #67775bfa, #3d5236fa), var(--sage);text-shadow:0 1px #0e16103d;border-color:#273b2780;box-shadow:0 13px 26px #1d332733,inset 0 1px #ffffff38,inset 0 -10px 18px #1422181a}.rsvp-choice-grid button.selected:before{content:"✓";color:#fff7e9;font-family:var(--display-font);background:#fffcf524;border-color:#fff9efd1;place-items:center;font-size:18px;font-weight:700;line-height:1;display:inline-grid}.rsvp-choice-grid button:disabled{cursor:not-allowed;opacity:.42}.rsvp-choice-grid span{text-overflow:clip;white-space:normal;max-width:100%;line-height:1.05;overflow:visible}.rsvp-choice.compact .rsvp-choice-grid button{justify-content:center;min-height:40px;padding:8px 10px;font-size:21px}.rsvp-choice.compact .rsvp-choice-grid button:before{display:none}.line-field{gap:8px}.line-field input,.line-field textarea{min-height:46px;font-family:var(--display-font);letter-spacing:0;background:0 0;border-width:0 0 1px;border-color:#9c825342;border-radius:0;padding:8px 0 10px;font-size:22px;font-weight:500}.line-field input::placeholder,.line-field textarea::placeholder{color:#2626268f}.line-field input:focus,.line-field textarea:focus{box-shadow:none;border-color:#596b4fb3}.line-field textarea{min-height:128px}.rsvp-confirm-card{text-align:center;background:0 0;border-top:1px solid #b9915438;border-bottom:1px solid #b9915429;border-radius:0;justify-items:center;gap:8px;margin-top:4px;padding:18px 0;display:grid}.rsvp-confirm-card strong{color:var(--espresso);font-size:clamp(26px,3vw,34px);font-weight:500;line-height:1}.rsvp-confirm-card p{max-width:340px;color:var(--muted);margin:0;font-family:Inter,system-ui,sans-serif;font-size:13px;line-height:1.55}.rsvp-navigation{grid-template-columns:44px 1fr minmax(132px,160px);align-items:center;gap:16px;margin-top:auto;display:grid}.rsvp-nav-arrow{width:40px;height:40px;color:var(--sage-dark);cursor:pointer;background:linear-gradient(135deg,#fffcf5d1,#e8e0d275);border:1px solid #9c82533d;border-radius:2px;place-items:center;display:inline-grid;transform:rotate(90deg);box-shadow:0 10px 22px #2d211a14}.rsvp-nav-arrow:disabled{cursor:default;opacity:.22}.rsvp-step-dots{justify-content:center;gap:8px;display:flex}.rsvp-step-dots button{cursor:pointer;background:#fffcf594;border:1px solid #9c82533d;border-radius:999px;width:24px;height:5px;padding:0}.rsvp-step-dots button.active{background:var(--sage-dark);border-color:#404f339e}.rsvp-next-button{color:#fffaf1;background:linear-gradient(180deg, #67775bfa, #2d442bfa), var(--sage);clip-path:polygon(2% 0,98% .8%,100% 48%,98% 100%,1.8% 99.2%,0 50%);width:100%;min-height:48px;font-family:var(--display-font);letter-spacing:0;border:1px solid #293c2952;border-radius:2px;padding:0 22px;font-size:22px;font-weight:600;position:relative;box-shadow:0 14px 28px #1d332733,inset 0 1px #ffffff38,inset 0 -9px 18px #1422181f}label,fieldset{color:var(--sage-dark);border:0;gap:9px;margin:0;padding:0;font-family:Inter,system-ui,sans-serif;font-size:13px;font-weight:700;display:grid}legend{margin-bottom:9px;padding:0}input,textarea,select{width:100%;min-height:46px;color:var(--ink);background:#ffffffa1;border:1px solid #5369473d;border-radius:6px;outline:none;padding:12px 14px}input:focus,textarea:focus,select:focus{border-color:var(--sage);box-shadow:0 0 0 4px #53694721}textarea{resize:vertical;min-height:112px}.luxury-rsvp-form .line-field input,.luxury-rsvp-form .line-field textarea{color:#261d19f0;min-height:42px;box-shadow:none;font-family:var(--display-font);background:0 0;border-width:0 0 1px;border-color:#765f3e4d;border-radius:0;padding:8px 0 10px;font-size:23px;font-weight:500;line-height:1.12}.luxury-rsvp-form .line-field input:focus,.luxury-rsvp-form .line-field textarea:focus{box-shadow:none;border-color:#596b4fb3}.luxury-rsvp-form .line-field textarea{min-height:128px}.segmented{grid-template-columns:1fr 1fr;gap:8px;display:grid}.segmented button{min-height:44px;color:var(--sage-dark);cursor:pointer;background:#ffffff9e;border:1px solid #53694738;border-radius:6px}.segmented button.selected{color:#fffaf1;background:var(--sage);border-color:#0000}.submit-button{width:100%}.form-status{z-index:2;width:min(520px,100% - 20px);font-family:var(--display-font);text-align:center;background:linear-gradient(#fffdf8b8,#ede2d16b),#fffcf599;border:1px solid #b991543d;border-radius:2px;justify-self:center;margin:-6px auto 0;padding:12px 16px;font-size:23px;font-weight:600;line-height:1.16;position:relative;transform:none;box-shadow:0 10px 22px #2d211a14,inset 0 1px #ffffffa8}.form-status.success{color:#213b2b;background:#f7f4ebb3;border-color:#404f3352}.form-status.error{color:#6e2432;background:#fff8efbd;border-color:#79323f47}.form-status.loading,.form-status.typing{color:#6f2f3c;font-family:var(--script-font);background:#fff9efad;border-color:#b991543d;font-size:clamp(34px,4.4vw,46px);font-weight:400;line-height:.92;animation:.9s ease-in-out infinite alternate noteWiggle}.form-status.loading:after,.form-status.typing:after{content:"";text-align:left;width:1.2em;animation:1.1s steps(4,end) infinite typingDots;display:inline-block}footer{min-height:clamp(560px,72vw,760px);color:var(--sage-dark);text-align:center;background:radial-gradient(circle at 50% 28%, #b991542e, transparent 25rem), linear-gradient(180deg, #1d3327f5, #0f1611fa), var(--sage-dark);justify-content:center;place-items:center;padding:clamp(78px,9vw,130px) 20px;display:grid;position:relative;overflow:hidden}.footer-paper{isolation:isolate;place-items:center;width:min(960px,100vw - 24px);min-height:clamp(390px,42vw,540px);padding:clamp(86px,10vw,126px) clamp(36px,6vw,70px) clamp(72px,8vw,100px);display:grid;position:relative}.footer-paper-sheet{z-index:-1;object-fit:fill;opacity:.96;filter:drop-shadow(0 34px 58px #060b0857);pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.footer-seal{filter:drop-shadow(0 18px 26px #5033163d);pointer-events:none;width:clamp(92px,9vw,126px);height:auto;margin-bottom:clamp(12px,2vw,22px)}footer p{color:#6f3340;max-width:780px;font-family:var(--script-font);letter-spacing:0;margin:0 auto clamp(18px,2vw,28px);font-size:clamp(44px,6.4vw,86px);font-weight:400;line-height:.94}footer span{color:#1d3327bd;text-transform:uppercase;letter-spacing:.14em;font-family:Inter,system-ui,sans-serif;font-weight:700}.admin-login{place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{gap:18px;width:min(420px,100%);padding:34px;display:grid}.login-card svg{color:var(--wine)}.login-card h1{margin-bottom:0}.login-card a{color:var(--sage);justify-self:start;font-family:Inter,system-ui,sans-serif;font-weight:700}.admin-shell{background:linear-gradient(90deg, var(--sage-dark) 0 260px, transparent 260px), var(--paper);grid-template-columns:260px 1fr;min-height:100vh;display:grid}.admin-sidebar{color:#fff9ef;flex-direction:column;gap:34px;height:100vh;padding:28px 22px;display:flex;position:sticky;top:0}.admin-sidebar nav{gap:10px;font-family:Inter,system-ui,sans-serif;font-size:14px;display:grid}.admin-sidebar a{border-radius:6px;align-items:center;gap:10px;min-height:42px;padding:0 12px;display:flex}.admin-sidebar nav a.active,.admin-sidebar nav a:hover{background:#fff9ef1f}.admin-content{padding:clamp(26px,5vw,58px)}.admin-topline{justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px;display:flex}.muted{margin-bottom:8px;font-size:13px}.stat-grid{grid-template-columns:repeat(4,minmax(140px,1fr));gap:16px;margin-bottom:20px;display:grid}.stat-card{gap:10px;padding:22px;display:grid;box-shadow:0 12px 34px #2a211d14}.stat-card div{color:var(--gold)}.stat-card strong{font-size:36px;font-weight:500}.stat-card span{color:var(--muted);font-family:Inter,system-ui,sans-serif;font-size:13px}.table-panel{overflow:hidden;box-shadow:0 16px 48px #2a211d1a}.table-tools{border-bottom:1px solid var(--line);grid-template-columns:minmax(180px,1fr) 180px auto;gap:12px;padding:18px;display:grid}.search-control{display:block;position:relative}.search-control svg{color:var(--muted);position:absolute;top:50%;left:14px;transform:translateY(-50%)}.search-control input{padding-left:42px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:980px;font-family:Inter,system-ui,sans-serif;font-size:14px}th,td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:16px 18px}th{color:var(--sage-dark);text-transform:uppercase;font-size:12px}.status-chip{border-radius:999px;justify-content:center;min-width:82px;padding:5px 10px;font-size:12px;font-weight:700;display:inline-flex}.status-chip.yes{color:#264532;background:#67825c2e}.status-chip.no{color:#7f2632;background:#7d2f3b1f}.status-chip.maybe{color:#73562f;background:#b98b4b24}.empty-state{text-align:center;color:var(--muted);padding:38px 18px;font-family:Inter,system-ui,sans-serif}@media (max-width:900px){.site-header{width:min(620px,100% - 24px);top:12px}.header-shell{grid-template-columns:auto auto auto;justify-content:space-between;min-height:58px}.nav{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffeb;border:.5px solid #ffffff85;border-radius:14px;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:8px;display:none;position:absolute;top:calc(100% + 8px);left:0;right:0;box-shadow:0 18px 54px #12130e1f}.nav.is-open{display:grid}.nav a{text-align:center;justify-content:center;padding:14px 10px 0}.menu-button{display:inline-grid}.hero-content{margin:auto auto 110px clamp(18px,6vw,48px)}.hero-photo-stack{opacity:.86;width:min(64vw,500px);top:43%;right:-2vw}.hero-petal{opacity:0;width:clamp(26px,5vw,48px)}.details-band,.envelope-section,.program-section,.place-section,.rsvp-section,.admin-shell{grid-template-columns:1fr}.info-card+.info-card{border-top:1px solid var(--line)}.envelope-card{justify-self:center;width:min(590px,100%)}.program-copy{position:static}.program-copy h2,.program-copy p{max-width:100%}.editorial-timeline{gap:22px}.timeline-progress{left:22px;right:auto;transform:none}.timeline-moment,.timeline-moment.is-reverse{grid-template-columns:52px 1fr;gap:18px;min-height:auto;padding:18px 0 20px}.timeline-moment .timeline-art-wrap,.timeline-moment.is-reverse .timeline-art-wrap{grid-area:1/2;justify-content:start;min-height:160px}.timeline-moment .moment-pin,.timeline-moment.is-reverse .moment-pin{grid-area:1/1/span 2;align-self:stretch;min-height:auto}.timeline-moment .moment-copy,.timeline-moment.is-reverse .moment-copy{text-align:left;grid-area:2/2;justify-items:start;max-width:min(420px,100vw - 118px)}.timeline-art{width:min(220px,72vw);max-height:230px}.moment-copy h3{font-size:clamp(28px,7vw,36px);line-height:1.08}.moment-seal{width:62px}.admin-shell{background:var(--paper)}.admin-sidebar{background:var(--sage-dark);height:auto;position:static}.admin-sidebar nav{grid-template-columns:repeat(2,1fr)}.stat-grid,.table-tools{grid-template-columns:1fr}}@media (max-width:580px){html{scroll-padding-top:88px}.site-header{width:calc(100% - 20px);top:10px}.header-shell{grid-template-columns:auto auto auto;justify-content:space-between;min-height:54px;padding:6px}.header-logo{width:48px;min-height:42px;font-size:22px}.header-rsvp{min-height:42px;padding:12px 12px 0;font-size:16px}.menu-button{width:42px;height:42px}.nav{grid-template-columns:1fr}.hero{background:radial-gradient(circle at 78% 24%,#b991542e,#0000 18rem),linear-gradient(160deg,#faf4ec,#efe5d8 52%,#d9c8b5);min-height:96vh}.hero-media{background:linear-gradient(#fffcf53d,#f5eee45c 34%,#373e2ec2),url(/assets/hero-lake-terrace-background.webp) 50%/cover}.hero-content{width:calc(100% - 32px);margin:auto auto 104px 16px;padding-left:16px}.hero-photo-stack{opacity:.82;width:min(560px,122vw);top:116px;left:50%;right:auto;transform:translate(-42%)}.petal-four,.petal-six{display:none}.petal-one{--drift:28px;left:6%}.petal-two{--drift:-22px;left:30%}.petal-three{--drift:24px;left:54%}.petal-five{--drift:-20px;left:78%}.hero-photo-formal{width:60%;top:1%;left:26%;transform:rotate(3deg)}.hero-photo-casual{width:48%;top:20%;left:5%;transform:rotate(-9deg)}.hero-photo-mirror{width:44%;bottom:6%;right:7%;transform:rotate(8deg)}.hero-photo-stack.is-expanded .hero-photo.is-active{width:78%;top:-2%;left:8%;transform:rotate(0)scale(1)}.hero-photo-stack.is-expanded .hero-photo.is-resting{opacity:.5}h1{color:#fff9ef;text-shadow:0 16px 38px #17120f5c;max-width:330px}.hero-note,.hero-content p:not(.hero-note){color:#fff9ef;text-shadow:0 10px 28px #17120f5c}.hero:before{content:"";z-index:1;pointer-events:none;background:linear-gradient(#0000 26%,#1f24191a 46%,#1f2419b3 100%);position:absolute;inset:0}.segmented{grid-template-columns:1fr;display:grid}.envelope-section{padding-top:54px}.envelope-card{aspect-ratio:1.1}.envelope-card.is-open{margin-top:78px}.envelope-body{inset:43% 0 0}.envelope-letter{left:-2%;right:-2%}.envelope-card.is-open .envelope-letter{transform:translateY(-24%)scale(1)}.envelope-letter-content{min-height:320px;padding:68px 34px 46px}.envelope-letter-seal{width:82px}.envelope-letter-script{font-size:36px}.envelope-letter strong{max-width:240px;font-size:12px}.calendar-actions{width:min(280px,100%)}.calendar-actions a{width:100%;min-height:42px}.button{width:100%}.timeline-shine{width:28px;height:34px}.rsvp-section{padding-top:112px}.rsvp-paper-sheet{opacity:.9;width:calc(100% + 36px);max-width:none;height:calc(100% + 70px);top:-34px;left:-18px;transform:none}.rsvp-wax-seal{width:86px;top:30px}.rsvp-form-inner{min-height:590px;padding:24px 20px}.rsvp-step-pages{min-height:455px}.rsvp-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.rsvp-choice legend,.line-field span{font-size:20px}.rsvp-choice-grid button{min-height:42px;padding:8px 10px;font-size:19px}.rsvp-choice-grid button:before{width:14px;height:14px}.rsvp-navigation{grid-template-columns:38px 1fr minmax(118px,132px);gap:10px}.rsvp-nav-arrow{width:36px;height:36px}.rsvp-next-button{min-height:43px;padding:0 14px;font-size:20px}.form-status{width:min(340px,100% - 18px);margin-top:-8px;font-size:20px}.form-status.loading,.form-status.typing{font-size:34px}footer{text-align:center;min-height:620px;padding:72px 12px}.footer-paper{width:min(410px,100vw - 8px);min-height:540px;padding:94px 34px 84px}.footer-paper-sheet{content:url(/assets/handmade-paper-vertical.png)}.footer-seal{width:92px;margin-bottom:18px}footer p{max-width:310px;font-size:clamp(44px,14vw,58px);line-height:.98}footer span{max-width:260px;font-size:11px;line-height:1.6}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@keyframes petalFall{0%{opacity:0;transform:translateY(-16vh)rotate(0)}10%{opacity:.62}78%{opacity:.52}to{opacity:0;transform:translate3d(var(--drift), 116vh, 0) rotate(var(--spin))}}@keyframes goldTextRise{to{opacity:1;filter:blur();transform:translateY(-1px)}}@keyframes goldSweep{0%,to{background-position:0%}50%{background-position:100%}}@keyframes noteWiggle{0%{transform:translateY(0)rotate(-.35deg)}to{transform:translateY(-1px)rotate(.35deg)}}@keyframes typingDots{0%{content:""}25%{content:"."}50%{content:".."}75%,to{content:"..."}}@keyframes heroPhotoFloat{0%{translate:0}to{translate:0 -14px}}@keyframes slowDrift{0%{transform:scale(1.03)translateZ(0)}to{transform:scale(1.08)translate(-1.2%,-.6%)}}.rsvp-honeypot{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}
