@font-face{font-family:Sloop Script Pro;src:url(/Sloop%20Script%20Pro%20Medium.otf)format("opentype");font-display:swap;font-style:normal;font-weight:400}:root{--script:"Sloop Script Pro", "Sloop Script", "Cormorant Garamond", Georgia, serif;--display:"Cormorant Garamond", Georgia, "Times New Roman", serif;--serif:Georgia, "Times New Roman", serif;--body:Manrope, Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;color:#203f2d;font-family:var(--body);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f2eadb;font-size:16px;line-height:1.5}*{box-sizing:border-box}html{background:#f2eadb;min-width:320px;min-height:100%}body{background:#f2eadb;min-width:320px;min-height:100%;margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}img,svg{display:block}#root{min-height:100svh}.invite{--ink:#203f2d;--ink-soft:#59655b;--gold:#bd914d;--gold-light:#ead6ac;--paper:#fffcf5e6;--paper-solid:#fffaf0;--veil:#f2eadb;--line:#b88f4e57;--shadow:0 20px 50px #3c2d1524;isolation:isolate;width:min(100%,744px);min-height:100svh;color:var(--ink);background:radial-gradient(circle at 50% 7%,#badef585,#0000 28rem),linear-gradient(#f8f1e5 0%,#f5ead8 44%,#eee1cd 100%);margin:0 auto;padding:0 14px 30px;position:relative;overflow:hidden}.invite:before{content:"";z-index:0;pointer-events:none;opacity:.32;background-image:linear-gradient(30deg,#bd914d2e 12%,#0000 12.5% 87%,#bd914d2e 87.5%,#bd914d2e),linear-gradient(150deg,#bd914d2e 12%,#0000 12.5% 87%,#bd914d2e 87.5%,#bd914d2e),linear-gradient(30deg,#bd914d2e 12%,#0000 12.5% 87%,#bd914d2e 87.5%,#bd914d2e),linear-gradient(150deg,#bd914d2e 12%,#0000 12.5% 87%,#bd914d2e 87.5%,#bd914d2e);background-position:0 0,0 0,28px 49px,28px 49px;background-size:56px 98px;position:fixed;inset:0;-webkit-mask-image:linear-gradient(#0000 0%,#000 14% 92%,#0000 100%);mask-image:linear-gradient(#0000 0%,#000 14% 92%,#0000 100%)}.invite>*{z-index:1;position:relative}.start-screen{z-index:100;color:#bd914d;cursor:pointer;background:#efe1cc;border:0;width:100%;height:100svh;padding:0;transition:opacity .68s;display:block;position:fixed;inset:0;overflow:hidden}.start-screen img{object-fit:cover;object-position:center center;width:100%;height:100%;position:absolute;inset:0}.start-screen.is-fading{opacity:0;pointer-events:none}.personal-intro{z-index:99;cursor:pointer;background:radial-gradient(circle at 50% 42%,#fffaeec7,#0000 22rem),linear-gradient(#f7efe1 0%,#efe1cc 100%);border:0;place-items:center;width:100%;min-height:100svh;padding:0;transition:opacity .62s;display:grid;position:fixed;inset:0}.personal-intro.is-fading{opacity:0;pointer-events:none}.personal-intro-message{color:#bd914d;text-align:center;grid-template-rows:1fr auto 1fr;align-items:center;width:min(100% - 30px,620px);min-height:78svh;animation:.9s ease-out both personalTextIn;display:grid}.personal-intro-message .personal-names{color:#c69a58;max-width:100%;font-family:var(--script);white-space:pre-line;overflow-wrap:anywhere;text-shadow:0 1px #ffffff75;font-size:clamp(48px,15vw,104px);font-weight:400;line-height:.98;display:block}.personal-intro-message p{color:#bd914d;max-width:520px;margin:0 auto;font-size:clamp(15px,4vw,20px);line-height:1.55}.hero{z-index:1;background:#d9e8ef;width:calc(100% + 28px);height:60svh;min-height:430px;max-height:620px;margin-inline:-14px;position:relative;overflow:hidden}.hero img{z-index:0;object-fit:cover;object-position:center bottom;width:100%;height:100%;display:block;position:relative}.hero:after{content:"";z-index:1;background:linear-gradient(#0000 0%,#f8f1e58f 50%,#f8f1e5 100%);height:34%;position:absolute;inset:auto 0 0}.sky-glow{z-index:2;aspect-ratio:1;filter:blur(2px);background:radial-gradient(circle,#fffae2e6,#ffebb147 36%,#0000 67%);border-radius:50%;width:54%;position:absolute;bottom:10%;right:-12%}.crescent{z-index:3;filter:drop-shadow(0 0 8px #fff9d3e6);border-radius:50%;width:42px;height:42px;position:absolute;top:9%;left:50%;transform:rotate(-21deg);box-shadow:-11px 4px #fffff4eb}.arch-card,.paper-card{z-index:2;background:linear-gradient(135deg, #fffffff7, #fff7e8fa), var(--paper-solid);box-shadow:var(--shadow), inset 0 0 28px #ffffff94;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid #bd914d3d;position:relative}.arch-card{z-index:8;width:min(92vw,620px);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;margin:clamp(-116px,-15vw,-72px) auto 16px;padding:0}.arch-card img{width:100%;height:auto;display:block}.bismillah{color:#bd914ddb;font-family:var(--serif);letter-spacing:.06em;font-size:17px}.moon-mark{color:var(--gold);margin-top:12px;font-size:31px}.date-line{color:var(--ink);font-family:var(--display);letter-spacing:.09em;justify-content:center;align-items:center;gap:12px;margin-bottom:16px;font-size:clamp(25px,6.4vw,42px);display:flex}.date-line:before,.date-line:after{content:"";background:linear-gradient(90deg, transparent, var(--gold), transparent);width:58px;height:1px}.paper-card{border-radius:18px;margin:14px auto 0;padding:24px 20px}h2,.section-title{color:var(--ink);font-family:var(--display);text-transform:uppercase;letter-spacing:.08em;margin:0;font-weight:600}h2{font-size:clamp(22px,6.2vw,36px);line-height:1.08}.intro-card{text-align:center;overflow:hidden}.intro-card h2{margin-bottom:18px}.intro-card p{color:#4e544f;max-width:560px;margin:0 auto;font-size:17px;line-height:1.48}.corner{opacity:.4;background:radial-gradient(circle at 50% 50%, transparent 0 17px, var(--gold) 18px 19px, transparent 20px), linear-gradient(45deg, transparent 46%, var(--gold) 47% 49%, transparent 50%), linear-gradient(-45deg, transparent 46%, var(--gold) 47% 49%, transparent 50%);background-size:38px 38px;width:92px;height:100%;position:absolute;top:0}.corner-left{left:-31px;-webkit-mask-image:linear-gradient(90deg,#000,#0000);mask-image:linear-gradient(90deg,#000,#0000)}.corner-right{right:-31px;-webkit-mask-image:linear-gradient(270deg,#000,#0000);mask-image:linear-gradient(270deg,#000,#0000)}.section-title{justify-content:center;align-items:center;gap:9px;margin-bottom:20px;font-size:clamp(22px,6vw,36px);display:flex}.section-title span{background:radial-gradient(circle, var(--gold) 0 3px, transparent 4px) center/10px 10px, linear-gradient(90deg, transparent, var(--gold), transparent) center/100% 1px no-repeat;width:31px;height:10px}.calendar-card{padding-inline:28px;overflow:hidden}.calendar-card:before,.calendar-card:after{content:"";opacity:.22;background:radial-gradient(circle at 50% 0, transparent 0 15px, var(--gold) 16px 17px, transparent 18px), linear-gradient(45deg, transparent 46%, var(--gold) 47% 49%, transparent 50%), linear-gradient(-45deg, transparent 46%, var(--gold) 47% 49%, transparent 50%);background-size:40px 40px;width:62px;position:absolute;top:0;bottom:0}.calendar-card:before{left:-18px}.calendar-card:after{right:-18px}.calendar-week,.calendar-grid{z-index:1;text-align:center;grid-template-columns:repeat(7,1fr);display:grid;position:relative}.calendar-week{color:#6e746d;letter-spacing:.08em;margin-bottom:13px;font-size:13px}.calendar-grid{gap:7px 5px}.calendar-grid time{color:#405044;min-height:32px;font-family:var(--body);place-items:center;font-size:19px;line-height:1;display:grid}.calendar-grid .chosen{color:var(--ink);font-weight:700;position:relative}.calendar-grid .chosen:before{content:"";z-index:-1;border:3px solid var(--gold);background:#ffffff7a;border-radius:45% 55% 46% 54%/53% 45% 55% 47%;position:absolute;inset:-7px -5px;transform:rotate(-7deg)}.program-card{padding-inline:14px}.program-grid{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.program-grid article{justify-items:center;gap:6px;min-width:0;padding:0 8px;display:grid}.program-grid article+article{border-left:1px solid var(--line)}.program-grid svg{fill:none;width:34px;height:34px;stroke:var(--ink);stroke-width:2.3px;stroke-linecap:round;stroke-linejoin:round}.program-grid strong{color:var(--ink);font-family:var(--display);font-size:clamp(23px,7vw,36px);font-weight:500;line-height:1}.program-grid p{color:#4f564f;letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:10px;font-weight:700}.place-card{grid-template-columns:62px 1fr;align-items:center;gap:14px;display:grid;overflow:hidden}.place-card:after{content:"";opacity:.16;background:radial-gradient(ellipse at 50% 100%, transparent 0 30px, var(--gold) 31px 33px, transparent 34px), radial-gradient(ellipse at 50% 100%, transparent 0 52px, var(--gold) 53px 55px, transparent 56px), linear-gradient(var(--gold), var(--gold)) 50% 38%/20px 62px no-repeat, linear-gradient(var(--gold), var(--gold)) 18% 48%/12px 48px no-repeat, linear-gradient(var(--gold), var(--gold)) 82% 48%/12px 48px no-repeat;width:176px;height:104px;position:absolute;bottom:-7px;right:-14px}.place-card h2{margin-bottom:8px;font-size:clamp(19px,5.1vw,30px)}.place-card p{color:#353f38;margin:0;font-size:14px;line-height:1.36}.place-card a{color:#a2793f;text-underline-offset:4px;margin-top:10px;font-size:14px;text-decoration-color:#a2793f73;display:inline-flex}.pin{background:radial-gradient(circle at 32% 28%, #ffffff2e, transparent 30%), var(--ink);border-radius:50%;place-items:center;width:56px;height:56px;display:grid;box-shadow:inset 0 -10px 20px #00000024}.pin svg{fill:none;stroke:#fffaf0;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;width:32px}.dress-card{text-align:center;overflow:hidden}.dress-card h2{margin-bottom:8px;font-size:clamp(20px,5.4vw,32px)}.dress-card p{color:#5f655f;margin:12px auto 0;font-size:13px;line-height:1.35}.dress-card:before,.dress-card:after{content:"";opacity:.26;background:radial-gradient(circle at 50% 50%, transparent 0 13px, var(--gold) 14px 15px, transparent 16px), linear-gradient(45deg, transparent 47%, var(--gold) 48% 52%, transparent 53%), linear-gradient(-45deg, transparent 47%, var(--gold) 48% 52%, transparent 53%);background-size:34px 34px;width:78px;position:absolute;top:0;bottom:0}.dress-card:before{left:-28px}.dress-card:after{right:-28px}.swatches{z-index:1;justify-content:center;gap:clamp(18px,6vw,36px);display:flex;position:relative}.swatches span{border:2px solid #bd914d66;border-radius:50%;width:38px;height:38px;box-shadow:inset 0 0 0 5px #fffaf0,0 7px 16px #3125141f}.countdown-card{text-align:center;margin-bottom:16px}.countdown-card h2{margin-bottom:16px;font-size:clamp(20px,5.4vw,32px)}.rsvp-button{color:#fffaf0;width:min(100%,500px);min-height:58px;font:700 12px/1 var(--body);letter-spacing:.055em;text-transform:uppercase;cursor:pointer;background:radial-gradient(circle at 50% 0,#ffffff1f,#0000 45%),linear-gradient(135deg,#173721,#315b38);border:2px solid #bd914dd1;border-radius:999px;justify-content:center;align-items:center;gap:12px;margin-top:22px;padding:12px 18px;display:inline-flex;box-shadow:0 14px 26px #203f2d38}.rsvp-button svg{fill:none;stroke:currentColor;stroke-width:2.5px;stroke-linejoin:round;width:24px}.rsvp-button:focus-visible{outline-offset:4px;outline:3px solid #bd914d8c}.rsvp-button:disabled,.rsvp-button.is-confirmed{cursor:default;color:#fffaf0e6;background:radial-gradient(circle at 50% 0,#ffffff14,#0000 45%),linear-gradient(135deg,#4a6548,#60765b);border-color:#788f708c;box-shadow:0 10px 18px #203f2d1f}.sticky-rsvp{left:50%;bottom:calc(12px + env(safe-area-inset-bottom));z-index:20;width:min(100vw - 28px,500px);margin-top:0;animation:.32s ease-out both stickyButtonIn;position:fixed;transform:translate(-50%)}.rsvp-inline-error{color:#9b3a28;text-align:center;margin:10px 0 0;font-size:13px}.admin-page{--ink:#203f2d;--gold:#bd914d;--paper-solid:#fffaf0;--shadow:0 20px 50px #3c2d1524;width:min(100%,744px);min-height:100svh;color:var(--ink);background:radial-gradient(circle at 50% 0,#ffffffb8,#0000 22rem),linear-gradient(#f8f1e5 0%,#efe1cc 100%);margin:0 auto;padding:18px 14px 32px}.admin-hero{text-align:center}.admin-hero h1{font-family:var(--display);text-transform:uppercase;margin:4px 0 10px;font-size:clamp(48px,15vw,92px);font-weight:600;line-height:.94}.admin-hero p{color:#5f655f;max-width:430px;margin:0 auto}.admin-form{gap:12px;display:grid}.admin-form label{color:var(--ink);font-family:var(--display);letter-spacing:.06em;text-transform:uppercase;font-size:27px;font-weight:600}.admin-form textarea{resize:vertical;width:100%;min-height:136px;color:var(--ink);font:500 17px/1.45 var(--body);background:#fffcf5b8;border:1px solid #bd914d5c;border-radius:14px;padding:14px 16px;box-shadow:inset 0 2px 12px #5c44200f}.admin-form textarea:focus{border-color:#bd914db8;outline:3px solid #bd914d38}.admin-form button{color:#fffaf0;min-height:54px;font:700 15px/1 var(--body);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:linear-gradient(135deg,#173721,#315b38);border:2px solid #bd914dd1;border-radius:999px}.admin-form button:disabled{cursor:not-allowed;opacity:.55}.admin-error{color:#9b3a28;margin:0;font-size:14px}.admin-links h2{margin-bottom:12px}.admin-links ol{gap:10px;margin:0;padding:0;list-style:none;display:grid}.admin-links li{background:#ffffff6b;border:1px solid #bd914d2e;border-radius:14px;gap:7px;padding:12px;display:grid}.admin-links div{align-items:baseline;gap:10px;min-width:0;display:flex}.admin-links strong{color:#fffaf0;background:var(--ink);border-radius:50%;flex:none;place-items:center;width:30px;height:30px;font-size:14px;display:grid}.admin-links span{min-width:0;color:var(--ink);overflow-wrap:anywhere;white-space:pre-line;font-weight:700}.admin-links a{color:#a2793f;overflow-wrap:anywhere;text-underline-offset:4px;font-size:14px}.admin-rsvp{border-top:1px solid #bd914d2e;gap:4px;padding-top:5px;display:grid}.admin-rsvp p{color:#4e544f;margin:0;font-size:14px;line-height:1.35}.admin-rsvp b{color:var(--ink)}.admin-empty{color:#7a7469;margin:0;font-size:14px}.countdown{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.countdown div{min-width:0}.countdown strong{color:var(--ink);font-family:var(--display);font-variant-numeric:tabular-nums;font-size:clamp(35px,10vw,58px);font-weight:500;line-height:.95;display:block}.countdown span{color:#525a52;letter-spacing:.08em;text-transform:uppercase;margin-top:5px;font-size:10px;font-weight:700;display:block}.answer-note{color:#6c6255;margin:12px 0 0;font-size:14px}@media (width>=745px){body{background:#f2eadb}}@media (width<=380px){.invite{padding-inline:10px}.arch-card{width:94vw;padding-inline:16px}.program-grid p{font-size:10px}.place-card{grid-template-columns:58px 1fr;gap:12px}.pin{width:56px;height:56px}}@media (prefers-reduced-motion:no-preference){.crescent{animation:7s ease-in-out infinite floatMoon}}@keyframes floatMoon{50%{transform:translateY(7px)rotate(-18deg)}}@keyframes stickyButtonIn{0%{opacity:0;transform:translate(-50%,18px)}}@keyframes personalTextIn{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
