:root{--paper:#fbf4e9;--paper-deep:#f4e6d7;--ink:#4d4942;--muted:#817970;--rose:#d88482;--rose-deep:#b95f62;--pink:#f1b7b5;--green:#7f9870;--line:#63574a33;--shadow:0 22px 60px #5d46322e}*{box-sizing:border-box}html{scroll-behavior:smooth;background:#eadfd2}body{color:var(--ink);-webkit-font-smoothing:antialiased;background:radial-gradient(circle at 16% 10%,#ffffffbf,#0000 28%),linear-gradient(135deg,#efe5da,#e8d9cc);margin:0;font-family:Songti SC,STSong,Noto Serif SC,Georgia,serif}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}.invitation-page{place-items:center;min-height:100svh;padding:18px;display:grid}.invitation-card{background:var(--paper);width:min(100%,440px);box-shadow:var(--shadow);border:1px solid #6a5c4f47;border-radius:24px;position:relative;overflow:hidden}.invitation-art{aspect-ratio:.5;width:100%;position:relative;overflow:hidden}.invitation-art img{object-fit:fill;object-position:left center;width:200%;max-width:none;height:100%;display:block}.domestic-invitation-card .invitation-art{aspect-ratio:941/1672}.domestic-invitation-card .invitation-art img{width:100%}.invitation-overlay{background:#fbf4e9fa;border-top:1px solid #6a5c4f21;flex-direction:column;align-items:center;padding:18px 28px 22px;display:flex}.invite-spacer{display:none}.invite-hint{color:var(--muted);letter-spacing:.06em;margin:11px 0 0;font-size:12px}.venue-map-card{background:linear-gradient(135deg,#ffffffc7,#eff5eabd);border:1px solid #6f886447;border-radius:18px;grid-template-rows:auto auto;grid-template-columns:72px minmax(0,1fr);align-items:center;column-gap:14px;width:100%;margin-top:16px;padding:10px 14px 10px 10px;transition:transform .2s,border-color .2s,box-shadow .2s;display:grid;overflow:hidden;box-shadow:0 8px 22px #5d674b1a}.venue-map-card:hover,.venue-map-card:focus-visible{border-color:#b95f626b;transform:translateY(-1px);box-shadow:0 10px 26px #5d674b26}.venue-map-card:active{transform:translateY(1px)}.venue-map-visual{background:linear-gradient(32deg,#0000 46%,#ffffffd1 47% 54%,#0000 55%),linear-gradient(148deg,#0000 34%,#ffffffb8 35% 42%,#0000 43%),repeating-linear-gradient(0deg,#0000 0 15px,#6d87611f 16px 17px),repeating-linear-gradient(90deg,#0000 0 16px,#6d87611f 17px 18px),#dfe9d7;border-radius:13px;grid-row:1/span 2;width:72px;height:64px;position:relative;overflow:hidden}.venue-map-road{background:#fffcf4eb;border:1px solid #baa68747;width:84px;height:7px;position:absolute}.venue-map-road-one{top:14px;left:-8px;transform:rotate(-24deg)}.venue-map-road-two{bottom:13px;right:-18px;transform:rotate(31deg)}.venue-map-pin{z-index:1;background:var(--rose-deep);border:2px solid #ffffffeb;border-radius:50% 50% 50% 0;width:18px;height:18px;position:absolute;top:19px;left:29px;transform:rotate(-45deg);box-shadow:0 4px 9px #8246443d}.venue-map-pin:after{content:"";background:#fffaf5;border-radius:50%;position:absolute;inset:4px}.venue-map-copy{align-self:end;min-width:0}.venue-map-copy strong{color:#56534c;letter-spacing:.02em;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:700;display:block;overflow:hidden}.venue-map-copy small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:10px;line-height:1.45;display:block;overflow:hidden}.venue-map-action{color:var(--rose-deep);align-self:start;margin-top:5px;font:600 11px/1.4 -apple-system,BlinkMacSystemFont,PingFang SC,sans-serif}.primary-button{color:#fffaf5;background:linear-gradient(135deg, var(--rose), var(--rose-deep));cursor:pointer;border:0;border-radius:999px;justify-content:center;align-items:center;gap:14px;min-height:52px;padding:0 28px;transition:transform .2s,box-shadow .2s;display:inline-flex;box-shadow:0 10px 24px #b2585a47}.primary-button:active{transform:translateY(1px)scale(.99)}.primary-button:disabled{opacity:.55;cursor:wait}.invite-button{letter-spacing:.14em;width:min(100%,270px);font-weight:700}.paper-page{background:radial-gradient(circle at 9% 14%,#f0b6b43d 0 28px,#0000 58px),radial-gradient(circle at 92% 75%,#8ea4772e 0 42px,#0000 78px),#eadfd2;min-height:100svh;padding:22px 16px 40px}.paper-sheet{width:min(100%,580px);box-shadow:var(--shadow);background:linear-gradient(#fbf4e9f5,#fbf4e9f5),repeating-linear-gradient(0deg,#0000,#0000 5px,#7c695309 6px);border:1px solid #65584a3d;border-radius:24px;margin:0 auto;padding:24px 22px 30px;position:relative;overflow:hidden}.paper-sheet:before,.paper-sheet:after{content:"✿  ❀  ✿";color:#c770708f;letter-spacing:7px;pointer-events:none;font-size:26px;position:absolute;transform:rotate(-8deg)}.paper-sheet:before{top:14px;left:-18px}.paper-sheet:after{bottom:14px;right:-16px;transform:rotate(8deg)}.back-button{color:#9f5558;background:#fffaf7b8;border:1px solid #b95f6247;border-radius:999px;align-items:center;gap:8px;min-height:40px;padding:0 16px;font-size:14px;font-weight:600;display:inline-flex;box-shadow:0 5px 16px #684b3914}.back-button:active{transform:translateY(1px)}.ribbon-title{color:#4f4742;letter-spacing:.16em;clip-path:polygon(7% 9%,93% 0,100% 50%,92% 100%,7% 91%,0 50%);background:linear-gradient(175deg,#f5c5c2,#efaaa9);width:fit-content;margin:22px auto 12px;padding:10px 34px 9px;font-size:24px;font-weight:600}.form-intro{color:var(--muted);text-align:center;margin:0 auto 24px;font-size:14px;line-height:1.9}.wedding-schedule{text-align:center;background:radial-gradient(circle at 12% 15%,#f1b7b529,#0000 32%),linear-gradient(135deg,#ffffffb3,#faefe5d1);border:1px solid #b95f622e;border-radius:18px;margin:0 0 26px;padding:17px 18px 18px;box-shadow:0 8px 24px #684b3913}.wedding-schedule-kicker{color:var(--rose-deep);letter-spacing:.22em;margin:0;font:600 10px/1 -apple-system,BlinkMacSystemFont,sans-serif}.wedding-schedule h2{color:#5a514b;letter-spacing:.12em;margin:7px 0 16px;font-size:15px;font-weight:600}.wedding-schedule-items{grid-template-columns:1fr 38px 1fr;align-items:center;display:grid}.wedding-schedule-item{gap:5px;display:grid}.wedding-schedule-item time{color:var(--rose-deep);letter-spacing:.04em;font:650 22px/1.1 Georgia,Times New Roman,serif}.wedding-schedule-item span{color:#625a53;letter-spacing:.08em;font-size:13px}.wedding-schedule-line{background:linear-gradient(90deg,#d884821f,#d884828c,#d884821f);height:1px;position:relative}.wedding-schedule-line:after{border:2px solid var(--paper);background:var(--rose);content:"";border-radius:50%;width:6px;height:6px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #d8848257}.rsvp-form{gap:24px;display:grid}.form-section{border-bottom:1px dashed #7c66534d;padding-bottom:22px}.form-section:last-of-type{border-bottom:0;padding-bottom:0}.field-label{letter-spacing:.05em;margin:0 0 12px;font-weight:700;display:block}.field-label .required{color:var(--rose-deep);margin-left:3px}.field-tip{color:var(--muted);margin:-5px 0 12px;font-size:12px;line-height:1.6}.attendance-options{grid-template-columns:1fr 1fr;gap:12px;display:grid}.attendance-option{position:relative}.attendance-option input{opacity:0;pointer-events:none;position:absolute}.attendance-option span{border:1px solid var(--line);cursor:pointer;background:#ffffff7a;border-radius:16px;place-items:center;gap:3px;min-height:76px;transition:all .2s;display:grid}.attendance-option small{color:var(--muted);font-size:11px}.attendance-option input:checked+span{border-color:var(--rose);color:var(--rose-deep);background:#f1b7b538;box-shadow:inset 0 0 0 1px #d8848259}.text-input,.select-input,.textarea-input{width:100%;color:var(--ink);background:#ffffff85;border:1px solid #67574847;border-radius:13px;outline:none;transition:border-color .2s,box-shadow .2s}.text-input,.select-input{height:52px;padding:0 15px}.textarea-input{resize:vertical;min-height:116px;padding:14px 15px;line-height:1.65}.text-input:focus,.select-input:focus,.textarea-input:focus{border-color:var(--rose);box-shadow:0 0 0 3px #d884821f}.select-wrap{position:relative}.select-wrap:after{content:"⌄";color:var(--rose-deep);pointer-events:none;position:absolute;top:12px;right:16px}.select-input{appearance:none}.form-error{color:#ae4d50;text-align:center;margin:-8px 0 0;font-size:13px}.submit-button{letter-spacing:.16em;width:100%;margin-top:2px;font-weight:700}.button-spinner{border:2px solid #fffaf56b;border-top-color:#fffaf5;border-radius:50%;width:18px;height:18px;animation:.75s linear infinite button-spin}.submitting-hint{color:var(--muted);text-align:center;margin:-14px 0 0;font-size:12px}@keyframes button-spin{to{transform:rotate(360deg)}}.success-card{text-align:center;place-items:center;min-height:70svh;padding:30px 12px;display:grid}.success-heart{font-size:42px;animation:1.8s infinite heartbeat}.success-card h1{letter-spacing:.08em;margin:18px 0 20px;font-size:26px}.success-date{color:var(--rose-deep);letter-spacing:.08em;margin:0;font-size:28px}.success-venue{color:var(--muted);margin:10px 0 32px}.success-dialog-backdrop{z-index:50;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#372d277a;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.success-dialog{text-align:center;background:#fffaf4;border:1px solid #b95f623d;border-radius:24px;width:min(100%,360px);padding:30px 26px 26px;animation:.28s ease-out dialog-in;box-shadow:0 24px 70px #3f2b224d}.success-dialog-icon{color:#fff;background:linear-gradient(135deg,#89a477,#66865d);border-radius:50%;place-items:center;width:58px;height:58px;margin:0 auto 16px;font:700 30px/1 -apple-system,BlinkMacSystemFont,sans-serif;display:grid;box-shadow:0 10px 24px #5b804e3d}.success-dialog h2{letter-spacing:.08em;margin:0;font-size:26px}.success-dialog p{color:var(--muted);margin:14px 0 24px;font-size:14px;line-height:1.8}.success-dialog-button{width:100%}@keyframes dialog-in{0%{opacity:0;transform:translateY(12px)scale(.96)}to{opacity:1;transform:none}}@keyframes heartbeat{0%,to{transform:scale(1)}45%{transform:scale(1.08)}}.admin-page{background:#f4efea;min-height:100svh;padding:28px;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,sans-serif}.admin-login-page{background:#f4efea;place-items:center;min-height:100svh;padding:24px;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,sans-serif;display:grid}.admin-login-card{background:#fffdfb;border:1px solid #e3d7cf;border-radius:22px;gap:16px;width:min(100%,400px);padding:34px;display:grid;box-shadow:0 18px 54px #5945361f}.admin-login-card h1{margin:0;font-size:30px}.admin-login-card>p:not(.admin-kicker){color:var(--muted);margin:-4px 0 6px}.admin-login-card label{font-size:13px;font-weight:600}.admin-login-card input{background:#fff;border:1px solid #ded3cb;border-radius:12px;outline:none;width:100%;height:48px;padding:0 14px}.admin-login-card input:focus{border-color:var(--rose);box-shadow:0 0 0 3px #d884821f}.admin-login-card .primary-button{width:100%}.admin-login-error{color:#a04749;margin-top:-7px;font-size:13px}.admin-shell{max-width:1160px;margin:0 auto}.admin-header{justify-content:space-between;align-items:end;gap:18px;margin-bottom:24px;display:flex}.admin-kicker{color:var(--rose-deep);letter-spacing:.18em;text-transform:uppercase;margin:0 0 7px;font:600 12px/1 sans-serif}.admin-header h1{margin:0;font-size:clamp(26px,4vw,40px);font-weight:650}.admin-date{color:var(--muted);margin:8px 0 0;font-size:14px}.outline-button{color:#9b5556;cursor:pointer;background:#fffaf7;border:1px solid #d7b0ac;border-radius:12px;min-height:44px;padding:0 18px}.stat-grid{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px;display:grid}.stat-card{background:#fffdfb;border:1px solid #e4d8d0;border-radius:16px;padding:20px;box-shadow:0 8px 24px #5945360e}.stat-label{color:var(--muted);margin:0 0 14px;font-size:13px}.stat-value{margin:0;font-size:30px;font-weight:700}.stat-value span{color:var(--muted);margin-left:4px;font-size:13px;font-weight:400}.admin-panel{background:#fffdfb;border:1px solid #e3d7cf;border-radius:18px;overflow:hidden;box-shadow:0 10px 35px #5945360f}.panel-toolbar{border-bottom:1px solid #eee4de;justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;display:flex}.panel-toolbar h2{margin:0;font-size:18px}.search-input{background:#fff;border:1px solid #ded3cb;border-radius:10px;outline:none;width:min(100%,260px);height:40px;padding:0 13px}.table-scroll{overflow-x:auto}.guest-table{border-collapse:collapse;white-space:nowrap;width:100%}.guest-table th,.guest-table td{text-align:left;border-bottom:1px solid #f0e8e3;padding:15px 20px;font-size:14px}.guest-table th{color:var(--muted);background:#fbf8f5;font-size:12px;font-weight:600}.guest-table tr:last-child td{border-bottom:0}.guest-table td.note-cell{white-space:normal;color:#665f59;min-width:200px;max-width:340px}.status-chip{border-radius:99px;align-items:center;padding:5px 9px;font-size:12px;display:inline-flex}.status-chip.yes{color:#587348;background:#ebf2e6}.status-chip.no{color:#9c5a5a;background:#f8e8e6}.empty-state{color:var(--muted);text-align:center;padding:54px 20px}.admin-error{color:#a04749;background:#fff0ef;margin:0;padding:14px 20px}@media (width<=760px){.admin-page{padding:18px 14px 32px}.admin-header{flex-direction:column;align-items:flex-start}.stat-grid{grid-template-columns:1fr 1fr}.stat-card{padding:16px}.stat-value{font-size:26px}.panel-toolbar{flex-direction:column;align-items:stretch}.search-input{width:100%}}@media (width<=390px){.invitation-page{padding:0}.invitation-card{border:0;border-radius:0;width:100%}.paper-page{background:var(--paper);padding:0}.paper-sheet{min-height:100svh;box-shadow:none;border:0;border-radius:0}.ribbon-title{font-size:21px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.wedding-camera{color:#fff8e7;isolation:isolate;background:#10251d;width:100%;height:100svh;font-family:Songti SC,STSong,Noto Serif SC,Georgia,serif;position:relative;overflow:hidden}.wedding-world{will-change:transform;width:300vw;height:100%;transition:transform 1.05s cubic-bezier(.72,0,.22,1);display:flex}.wedding-camera.scene-0 .wedding-world{transform:translate(0,0)}.wedding-camera.scene-1 .wedding-world{transform:translate(-100vw)}.wedding-camera.scene-2 .wedding-world{transform:translate(-200vw)}.canvas-scene{overscroll-behavior:contain;width:100vw;height:100svh;padding:max(14px, env(safe-area-inset-top)) 14px max(58px, calc(env(safe-area-inset-bottom) + 48px));background:radial-gradient(circle at 15% 5%,#edd39f14,#0000 26%),radial-gradient(circle at 86% 92%,#c0463526,#0000 31%),#132a21;outline:none;flex:0 0 100vw;overflow:hidden auto}.chalk-board{color:#fff8e7;background:radial-gradient(circle at 12% 18%,#ffffff09 0 1px,#0000 1.5px) 0 0/21px 19px,radial-gradient(circle at 78% 57%,#ffffff06 0 1px,#0000 1.5px) 0 0/27px 23px,linear-gradient(145deg,#ffffff06,#0000 42%),#18382d;border:2px solid #e6cd9a7a;border-radius:22px;width:min(100%,780px);min-height:calc(100svh - 84px);margin:0 auto;position:relative;overflow:hidden;box-shadow:inset 0 0 42px #00000052,0 18px 55px #05120d61}.chalk-board:before{content:"";pointer-events:none;border:1px solid #f9efcf21;border-radius:15px;position:absolute;inset:8px}.invite-board{grid-template-columns:minmax(0,390px) minmax(220px,1fr);align-items:center;gap:clamp(18px,4vw,42px);padding:clamp(28px,6vw,58px);display:grid}.scene-heading{text-align:center;grid-column:1/-1}.scene-heading p,.rsvp-scene-header p,.thanks-kicker{color:#e8cf9c;letter-spacing:.25em;margin:0;font:600 10px/1.2 -apple-system,BlinkMacSystemFont,sans-serif}.scene-heading h1{color:#fff5db;text-shadow:0 2px #ffffff1f;margin:7px 0 0;font:500 clamp(40px,9vw,68px)/.95 Snell Roundhand,Brush Script MT,cursive}.scene-heading h1 i{color:#d9a24d;font-weight:400}.chalk-doodle{color:#fff4d77a;font-size:32px;position:absolute}.chalk-doodle-one{top:36px;left:28px;transform:rotate(-14deg)}.chalk-doodle-two{top:78px;right:32px;transform:rotate(12deg)}.hero-photo-frame,.polaroid-photo,.ending-photo-frame{color:#55473c;background:#f6ead3;margin:0;position:relative;box-shadow:0 18px 35px #050f0b61}.hero-photo-frame{padding:10px 10px 14px;transform:rotate(-1.2deg)}.hero-photo-frame img,.polaroid-photo img,.ending-photo-frame img{object-fit:cover;width:100%;height:auto;display:block}.hero-photo-frame img{aspect-ratio:2/3}.hero-photo-frame figcaption,.polaroid-photo figcaption{text-align:center;letter-spacing:.05em;padding-top:9px;font-family:Kaiti SC,STKaiti,cursive;font-size:13px}.photo-tape{z-index:2;background:#e6ca91ad;width:68px;height:22px;position:absolute;box-shadow:0 1px 2px #412b1721}.tape-left{top:-9px;left:-19px;transform:rotate(-38deg)}.tape-right{top:-8px;right:-19px;transform:rotate(37deg)}.tape-center{top:-10px;left:50%;transform:translate(-50%)rotate(-4deg)}.invite-copy{text-align:center;justify-items:center;display:grid}.save-date{color:#e4b35f;letter-spacing:.14em;margin:0 0 12px;font:700 clamp(18px,4vw,28px)/1.2 Georgia,serif}.venue-line{color:#fff6de;letter-spacing:.08em;max-width:240px;margin:0 0 28px;font-size:clamp(17px,3.7vw,22px);line-height:1.65}.chalk-button{color:#fff8e7;cursor:pointer;letter-spacing:.11em;background:linear-gradient(135deg,#bd4c3a,#983526);border:1px solid #ffeec785;border-radius:999px;justify-content:center;align-items:center;gap:12px;min-height:50px;padding:0 26px;font-weight:650;display:inline-flex;box-shadow:0 10px 24px #5b171047,inset 0 1px #ffffff1f}.chalk-button:active{transform:translateY(1px)scale(.99)}.chalk-button:disabled{opacity:.58;cursor:wait}.accept-button{min-width:205px}.invite-copy small{color:#fff6de9e;margin-top:12px;font-size:11px}.rsvp-board{padding:clamp(18px,4vw,34px)}.rsvp-scene-header{text-align:center;grid-template-columns:42px 1fr 48px;align-items:center;gap:12px;margin-bottom:24px;display:grid}.rsvp-scene-header h1{letter-spacing:.14em;margin:7px 0 0;font-size:clamp(24px,6vw,34px);font-weight:500}.rsvp-scene-header>span{color:#d8ae67;font:700 12px/1 Georgia,serif;transform:rotate(6deg)}.scene-back-button{color:#fff5de;cursor:pointer;background:#ffffff0f;border:1px solid #fff2d34d;border-radius:50%;width:40px;height:40px}.rsvp-scrapbook{grid-template-columns:minmax(150px,220px) 1fr;align-items:center;gap:clamp(15px,3vw,28px);margin:0 auto 28px;display:grid}.polaroid-photo{padding:8px 8px 11px;transform:rotate(-3deg)}.polaroid-photo img{aspect-ratio:2/3}.polaroid-photo figcaption{font-size:12px}.rsvp-detail-stack{gap:12px;display:grid}.chalk-schedule,.chalk-map-card{background:#05181138;border:1px solid #efd6a557;border-radius:15px;box-shadow:inset 0 0 18px #00000024}.chalk-schedule{text-align:center;padding:15px}.chalk-schedule>p{color:#d9ad62;letter-spacing:.22em;margin:0;font:600 9px/1 sans-serif}.chalk-schedule h2{letter-spacing:.12em;margin:7px 0 15px;font-size:15px;font-weight:500}.chalk-schedule>div{grid-template-columns:1fr 28px 1fr;align-items:center;display:grid}.chalk-schedule span{color:#fff8e5d1;gap:4px;font-size:11px;display:grid}.chalk-schedule strong{color:#f0c26f;font:700 20px/1 Georgia,serif}.chalk-schedule i{background:#eccf936b;height:1px}.chalk-map-card{grid-template-columns:34px 1fr;align-items:center;gap:10px;padding:12px 14px;display:grid}.chalk-map-pin{color:#e3b55f;border:1px solid #f5ddac66;border-radius:50% 50% 50% 0;place-items:center;width:30px;height:30px;display:grid;transform:rotate(-45deg)}.chalk-map-pin:first-letter{transform:rotate(45deg)}.chalk-map-card strong,.chalk-map-card small{display:block}.chalk-map-card strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.chalk-map-card small{color:#fff6e09e;margin-top:4px;font:10px/1.4 -apple-system,BlinkMacSystemFont,sans-serif}.chalk-form{color:#4d4137;background:linear-gradient(#f8eed9fa,#f8eed9fa),repeating-linear-gradient(0deg,#0000 0 23px,#89684614 24px);border-radius:18px;gap:18px;padding:clamp(20px,4vw,32px);display:grid;position:relative;box-shadow:0 16px 38px #02100a4d}.chalk-form:before{content:"";background:#dcbf84b8;width:94px;height:21px;position:absolute;top:-10px;left:50%;transform:translate(-50%)rotate(-2deg)}.chalk-form-title{border-bottom:1px dashed #6349314d;justify-content:space-between;align-items:baseline;gap:12px;padding-bottom:12px;display:flex}.chalk-form-title span{color:#a33b2e;letter-spacing:.12em;font:700 25px/1 Georgia,serif}.chalk-form-title p{color:#796e63;margin:0;font-size:11px}.chalk-form fieldset{border:0;min-width:0;margin:0;padding:0}.chalk-form legend,.chalk-field>span{letter-spacing:.05em;margin-bottom:10px;font-size:14px;font-weight:700;display:block}.chalk-attendance-options{grid-template-columns:1fr 1fr;gap:10px;display:grid}.chalk-attendance-options label{position:relative}.chalk-attendance-options input{opacity:0;pointer-events:none;position:absolute}.chalk-attendance-options label>span{cursor:pointer;background:#ffffff61;border:1px solid #64492f3d;border-radius:13px;place-items:center;gap:3px;min-height:66px;display:grid}.chalk-attendance-options small{color:#80766d;font-size:10px}.chalk-attendance-options input:checked+span{color:#a13d30;background:#bb4b3a1a;border-color:#b94d3c;box-shadow:inset 0 0 0 1px #bb4b3a33}.chalk-field small{color:#81766c;margin:-5px 0 10px;font-size:10px;display:block}.chalk-field input,.chalk-field select,.chalk-field textarea{color:#4d4137;background:#ffffff7a;border:1px solid #64492f42;border-radius:12px;outline:none;width:100%}.chalk-field input,.chalk-field select{height:48px;padding:0 13px}.chalk-field textarea{resize:vertical;min-height:104px;padding:13px}.chalk-field input:focus,.chalk-field select:focus,.chalk-field textarea:focus{border-color:#b84b3a;box-shadow:0 0 0 3px #b84b3a1a}.chalk-form-error{color:#9e332c;text-align:center;margin:-5px 0 0;font-size:12px}.chalk-submit{width:100%}.thanks-board{grid-template-columns:minmax(0,420px) 1fr;align-items:center;gap:clamp(20px,5vw,50px);padding:clamp(30px,6vw,62px);display:grid}.thanks-kicker{text-align:center;position:absolute;top:24px;left:0;right:0}.ending-photo-frame{padding:10px;transform:rotate(1.2deg)}.ending-photo-frame img{aspect-ratio:2/3;object-position:center 38%}.thanks-copy{text-align:center;justify-items:center;display:grid}.thanks-copy>span{color:#dfad58;font-size:34px}.thanks-copy h1{letter-spacing:.1em;margin:10px 0 20px;font-size:clamp(28px,6vw,42px);font-weight:500}.thanks-copy p{color:#fff7e2d1;letter-spacing:.08em;margin:5px 0}.thanks-copy p:first-of-type{color:#e4b560;font:700 26px/1.2 Georgia,serif}.thanks-copy .chalk-button{background:#ffffff0f;margin-top:26px}.music-toggle{z-index:80;top:max(15px, env(safe-area-inset-top));right:max(15px, env(safe-area-inset-right));color:#fff7e4;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;background:#0a1e169e;border:1px solid #fff3d457;border-radius:50%;place-items:center;width:38px;height:38px;display:grid;position:fixed;box-shadow:0 7px 18px #020d0938}.music-toggle span{font:700 18px/1 Georgia,serif}.music-toggle.is-playing span{animation:1.8s ease-in-out infinite music-pulse}@keyframes music-pulse{0%,to{transform:rotate(-6deg)scale(1)}50%{transform:rotate(8deg)scale(1.16)}}.music-message{z-index:79;top:max(58px, calc(env(safe-area-inset-top) + 43px));color:#fff6e2;background:#60221be6;border-radius:10px;width:min(260px,100vw - 28px);margin:0;padding:9px 12px;font:11px/1.5 -apple-system,BlinkMacSystemFont,sans-serif;position:fixed;right:14px}.scene-progress{z-index:70;left:50%;bottom:max(17px, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0819127a;border-radius:999px;gap:9px;padding:8px 11px;display:flex;position:fixed;transform:translate(-50%)}.scene-progress button{cursor:pointer;background:0 0;border:1px solid #fff5daa6;border-radius:50%;width:7px;height:7px;padding:0;transition:width .25s,background .25s}.scene-progress button.active{background:#dfad57;border-radius:99px;width:22px}.chalk-success-dialog{color:#4d4137;background:#f8eed9}.chalk-success-dialog .chalk-button{width:100%}@media (width<=620px){.canvas-scene{padding-top:0;padding-left:0;padding-right:0}.chalk-board{border-width:0;border-radius:0;width:100%;min-height:100svh;box-shadow:inset 0 0 34px #0000004d}.chalk-board:before{border-radius:0;inset:7px}.invite-board{padding:max(28px, calc(env(safe-area-inset-top) + 18px)) 25px 72px;grid-template-columns:1fr;align-content:start;gap:14px}.scene-heading{margin-top:2px}.scene-heading h1{font-size:clamp(45px,14vw,59px)}.hero-photo-frame{width:min(100%,300px);margin:0 auto;padding:8px 8px 12px}.hero-photo-frame img{object-position:center 28%;max-height:52svh}.hero-photo-frame figcaption{padding-top:7px;font-size:12px}.invite-copy{margin-top:3px}.save-date{margin-bottom:6px;font-size:19px}.venue-line{margin-bottom:16px;font-size:16px}.accept-button{min-height:48px}.chalk-doodle-one{top:24px;left:17px}.chalk-doodle-two{top:88px;right:17px}.rsvp-board{padding:max(22px, calc(env(safe-area-inset-top) + 14px)) 18px 70px}.rsvp-scene-header{grid-template-columns:38px 1fr 40px;margin-bottom:20px}.rsvp-scene-header h1{font-size:23px}.rsvp-scrapbook{grid-template-columns:minmax(102px,34%) 1fr;gap:12px;margin-bottom:22px}.polaroid-photo{padding:6px 6px 9px}.polaroid-photo figcaption{padding-top:6px;font-size:9px}.chalk-schedule{padding:12px 9px}.chalk-schedule h2{margin-bottom:12px;font-size:13px}.chalk-schedule>div{grid-template-columns:1fr 16px 1fr}.chalk-schedule strong{font-size:16px}.chalk-schedule span{font-size:9px}.chalk-map-card{grid-template-columns:26px 1fr;padding:10px}.chalk-map-pin{width:24px;height:24px}.chalk-map-card strong{font-size:11px}.chalk-map-card small{font-size:8px}.chalk-form{gap:17px;padding:22px 18px}.chalk-form-title{align-items:flex-end}.chalk-form-title span{font-size:22px}.chalk-form-title p{text-align:right;max-width:145px}.thanks-board{padding:max(52px, calc(env(safe-area-inset-top) + 42px)) 25px 72px;grid-template-columns:1fr;align-content:start;gap:22px}.thanks-kicker{top:max(24px, calc(env(safe-area-inset-top) + 14px));font-size:8px}.ending-photo-frame{width:min(100%,330px);margin:0 auto;padding:8px}.ending-photo-frame img{max-height:57svh}.thanks-copy h1{margin:6px 0 11px;font-size:28px}.thanks-copy p:first-of-type{font-size:22px}.thanks-copy .chalk-button{margin-top:18px}}@media (height<=720px) and (width<=620px){.invite-board{gap:10px;padding-top:20px}.scene-heading h1{font-size:42px}.hero-photo-frame img{max-height:44svh}.hero-photo-frame figcaption,.invite-copy small{display:none}.thanks-board{gap:14px}.ending-photo-frame img{max-height:48svh}}.classic-icp-footer{width:100%;padding:20px 16px calc(20px + env(safe-area-inset-bottom));text-align:center;font-size:12px;line-height:1.6}.classic-icp-footer a{color:#d7c8a7;text-decoration:none}.classic-icp-footer a:hover,.classic-icp-footer a:focus-visible{text-decoration:underline}.classic-wedding{--wine:#8f2119;--red:#b23a2c;--red-bright:#c94a36;--gold:#c8a56a;--gold-soft:#e8d4aa;--ink:#342823;--paper:#f8efe2;--paper-light:#fffaf3;min-height:100svh;color:var(--ink);background:radial-gradient(circle at 8% 5%,#fff7e7eb,#0000 28%),radial-gradient(circle at 92% 88%,#841c142e,#0000 34%),linear-gradient(145deg,#ead7c8 0%,#d7b9a8 100%);font-family:Songti SC,STSong,Noto Serif SC,Georgia,serif;overflow-x:clip}.classic-wedding button{-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:transform .28s cubic-bezier(.2,.8,.2,1),box-shadow .28s,border-color .28s,background-color .28s,color .28s,opacity .28s}.classic-wedding button:focus-visible{outline-offset:3px;outline:3px solid #ffeba9e6}.classic-wedding button:active:not(:disabled){transition-duration:.1s;transform:translateY(1px)scale(.965)}.classic-page-shell{width:min(100%,520px);min-height:100svh;margin:0 auto;padding:18px 14px 30px}.classic-card{background:var(--paper);will-change:transform, opacity, filter;border:1px solid #6937272e;border-radius:28px;animation:.78s cubic-bezier(.16,1,.3,1) both classic-page-forward;position:relative;overflow:hidden;box-shadow:0 26px 78px #38140d3d}.classic-direction-backward .classic-card{animation-name:classic-page-backward}.classic-card .classic-photo>img{animation:1.05s cubic-bezier(.16,1,.3,1) both classic-photo-settle}.classic-invite-header,.classic-invite-copy,.classic-rsvp-heading>div,.classic-schedule,.classic-rsvp-form,.classic-ending-header,.classic-ending-copy{animation:.72s cubic-bezier(.16,1,.3,1) .12s both classic-content-rise}.classic-photo{background:var(--midnight-deep,#09142c);margin:0;overflow:hidden}.classic-photo img{object-fit:cover;width:100%;height:100%;display:block}.classic-invitation{background:var(--paper-light)}.classic-invite-header{z-index:3;padding:17px max(34px, env(safe-area-inset-left)) 10px;color:#fff8eb;text-align:center;text-shadow:0 2px 18px #420a0761;background:linear-gradient(#490a0661,#0000);position:absolute;top:0;left:0;right:0}.classic-invite-header:after{content:"";background:var(--gold-soft);width:58px;height:1px;margin:9px auto 0;display:block}.classic-invite-header p,.classic-ending-header p,.classic-rsvp-heading p{letter-spacing:.26em;margin:0 0 8px;font:700 10px/1.4 -apple-system,BlinkMacSystemFont,PingFang SC,sans-serif}.classic-invite-header>p{letter-spacing:.18em;white-space:nowrap;padding:0 12px;font-size:8px}.classic-invite-header p{color:var(--gold-soft)}.classic-invite-header h1{color:#fffaf0;letter-spacing:.03em;margin:0;font-size:clamp(44px,12vw,62px);font-weight:500}.classic-invite-header h1 span{color:#e9c48f;font-style:italic}.classic-invite-header .classic-couple-name{color:#f2d184;letter-spacing:.015em;text-align:center;text-shadow:0 1px #fff7d3,0 3px 8px #0209197a,0 0 12px #efcd7d38;white-space:nowrap;-webkit-text-fill-color:currentColor;width:100%;max-width:none;margin:3px auto 0;padding:.05em 0 .1em;font-family:Snell Roundhand,Apple Chancery,Brush Script MT,cursive;font-size:clamp(40px,11.6vw,54px);font-weight:700;line-height:.95;display:block;position:relative}.classic-invite-header .classic-couple-name:before,.classic-invite-header .classic-couple-name:after{content:"✦";color:#fff2b9;text-shadow:0 0 10px #ffeca1e6;font-family:Georgia,serif;font-size:10px;position:absolute}.classic-invite-header .classic-couple-name:before{top:4px;left:-3px}.classic-invite-header .classic-couple-name:after{font-size:7px;bottom:9px;right:-2px}.classic-invite-header .classic-name-amp{color:#fff0b1;-webkit-text-fill-color:currentColor;font-size:.66em;font-style:italic;position:relative;top:2px}.classic-invite-header .classic-couple-name+small{margin-top:3px}.classic-invite-header small,.classic-ending-header small{letter-spacing:.22em;margin-top:7px;font-size:11px;line-height:1.7;display:block}.classic-invite-header .classic-couple-name+small{letter-spacing:.15em;white-space:nowrap;padding:0 14px;font-size:8px}.classic-photo-one{aspect-ratio:2/3;isolation:isolate;background:#9f261c;position:relative}.classic-photo-one img{z-index:0;object-position:center center;position:relative}.classic-photo-magic{z-index:1;pointer-events:none;background:radial-gradient(circle at 9% 18%,#ffeda6e6 0 1px,#0000 2px),radial-gradient(circle at 88% 27%,#fff9d8d1 0 1.2px,#0000 2.4px),radial-gradient(circle at 13% 42%,#fff4c8b8 0 1px,#0000 2px),radial-gradient(circle at 91% 47%,#ffefafc7 0 1px,#0000 2px),linear-gradient(90deg,#05133033,#0000 16% 84%,#05133033);position:absolute;inset:0;overflow:hidden;box-shadow:inset 0 0 0 1px #f6da926b}.classic-magic-star{color:#ffe9a5;text-shadow:0 0 8px #ffe187f2,0 0 18px #ffecb5a6;font-family:Georgia,serif;line-height:1;animation:2.8s ease-in-out infinite classic-star-twinkle;position:absolute}.classic-magic-star-one{font-size:18px;top:19%;left:7%}.classic-magic-star-two{font-size:21px;animation-delay:-.9s;top:25%;right:7%}.classic-magic-star-three{font-size:24px;animation-delay:-1.7s;top:38%;right:10%}.classic-castle-tracery{opacity:.34;filter:drop-shadow(0 0 7px #ffde878f);fill:none;stroke:#ffe7a3;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.4px;width:96%;height:auto;position:absolute;top:14%;left:2%;right:2%}.classic-photo-one:after{content:"";pointer-events:none;background:linear-gradient(#0000,#fff9eef0);height:84px;position:absolute;bottom:0;left:0;right:0}.classic-invite-copy{z-index:2;text-align:center;background:linear-gradient(90deg, transparent, #b1352914, transparent) top / 100% 1px no-repeat, var(--paper-light);border-radius:24px 24px 0 0;margin-top:-22px;padding:28px 28px 30px;position:relative}.classic-invite-copy:before{content:"SUN  ·  LI";color:var(--gold);letter-spacing:.38em;margin-bottom:13px;font:700 9px/1.2 -apple-system,BlinkMacSystemFont,sans-serif;display:block}.classic-date{color:var(--wine);letter-spacing:.12em;margin:0;font-size:29px}.classic-venue{margin:8px 0 0;font-size:18px;font-weight:700}.classic-welcome{color:#77665c;letter-spacing:.06em;margin:17px 0 22px;font-size:14px}.classic-reply-hint{color:#8c7c70;margin:13px 0 0;font-size:12px}.classic-primary-button,.classic-secondary-button{cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:12px;min-height:52px;padding:0 28px;display:inline-flex;position:relative;overflow:hidden}.classic-primary-button:after,.classic-secondary-button:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#ffffff75,#0000);width:34%;transition:transform .7s cubic-bezier(.2,.75,.2,1);position:absolute;top:-120%;bottom:-120%;left:-48%;transform:rotate(18deg)translate(-180%)}.classic-primary-button:after{animation:4.8s ease-in-out 1.2s infinite classic-button-sheen}.classic-secondary-button{color:var(--wine);background:#fffaf2eb;border:1px solid #8e241c47}.classic-primary-button:disabled{opacity:.58;cursor:wait}.classic-map-card{background:#f8efdf;border:1px solid #9d723d57;border-radius:20px;margin-top:22px;overflow:hidden;box-shadow:0 10px 28px #362b1a1a,inset 0 1px #ffffffb8}.classic-map-link{width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;box-shadow:none;background:#f8efdf;border:0;border-radius:0;grid-template-columns:86px 1fr;align-items:stretch;gap:12px;margin:0;padding:0;display:grid;overflow:hidden}.classic-map-illustration{background:radial-gradient(circle at 20% 20%,#fff0b7e6 0 2px,#0000 3px),radial-gradient(circle at 74% 30%,#fff0b7b8 0 1.5px,#0000 2.5px),linear-gradient(155deg,#1d3564 0%,#0b1935 100%);border-right:1px solid #d2b16859;min-height:132px;position:relative;overflow:hidden}.classic-map-illustration:before,.classic-map-illustration:after{content:"";background:#debe742e;border-radius:50%;height:52px;position:absolute;left:-18px;right:-18px;transform:rotate(-9deg)}.classic-map-illustration:before{bottom:-25px}.classic-map-illustration:after{background:#fff7dc1f;bottom:-38px}.classic-map-route{border:0 dashed #f6d9928c;border-width:0 0 1px 1px;border-radius:0 0 0 48px;position:absolute;inset:19px 17px 22px 14px;transform:rotate(-8deg)}.classic-map-castle{color:#e5c373;filter:drop-shadow(0 3px 8px #00000040);font:35px/1 Georgia,serif;position:absolute;bottom:17px;left:18px}.classic-map-pin{color:#f9e2b5;background:var(--wine);border-radius:50% 50% 50% 0;place-items:center;width:31px;height:31px;display:grid;position:absolute;top:17px;right:14px;transform:rotate(-45deg);box-shadow:0 5px 14px #0000003d}.classic-map-pin b{font-size:8px;transform:rotate(45deg)}.classic-map-copy{align-self:center;padding:15px 13px 15px 0}.classic-map-copy>*{display:block}.classic-map-copy>small{color:#a77c31;letter-spacing:.17em;font-size:8px;font-weight:700}.classic-map-copy>strong{color:#17284d;margin-top:7px;font-size:14px;line-height:1.35}.classic-map-copy>em{color:#786b5e;margin-top:5px;font-size:9px;font-style:normal;line-height:1.5}.classic-map-copy>.classic-map-notes{color:#665b52;border-top:1px solid #a97f3333;gap:7px;margin-top:10px;padding-top:9px;font:400 9px/1.6 -apple-system,BlinkMacSystemFont,PingFang SC,sans-serif;display:grid}.classic-map-notes>span{grid-template-columns:28px 1fr;align-items:start;gap:5px;display:grid}.classic-map-notes b{color:#233f72;text-align:center;background:#27457e0f;border:1px solid #243e7033;border-radius:999px;margin-top:1px;padding:1px 0;font-size:8px}.classic-map-notes i{font-style:normal}.classic-map-copy>.classic-map-action{color:#9a722c;margin-top:10px;font-size:10px;font-weight:700}.classic-map-copy>.classic-map-action b{margin-left:4px;transition:transform .25s;display:inline-block}.classic-map-link:active .classic-map-action b{transform:translate(4px)}.classic-map-guide-download{color:#17284d;text-align:left;width:100%;min-height:62px;font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#fffaefc7;border:0;border-top:1px solid #a97f3338;grid-template-columns:38px 1fr auto;align-items:center;gap:11px;padding:10px 14px;text-decoration:none;transition:background-color .25s,transform .25s;display:grid}.classic-map-guide-download:active{background:#fff8e8;transform:scale(.985)}.classic-map-guide-icon{color:#9a722c;background:linear-gradient(145deg,#fffdf5,#ead8ad);border:1px solid #b78b3773;border-radius:8px;place-items:center;width:36px;height:40px;font:700 18px/1 -apple-system,BlinkMacSystemFont,sans-serif;display:grid;box-shadow:0 3px 9px #4130121a}.classic-map-guide-download>span:nth-child(2){gap:3px;display:grid}.classic-map-guide-download strong{font-size:12px}.classic-map-guide-download small{color:#786b5e;font-size:9px}.classic-map-guide-download>b{color:#a77c31;font-size:14px}.classic-transport-backdrop{padding:max(14px, env(safe-area-inset-top)) 12px max(24px, env(safe-area-inset-bottom));overscroll-behavior:contain;display:block;overflow-y:auto}.classic-transport-dialog{width:min(100%,390px);color:var(--ink);background:#fff9ee;border:1px solid #d8b96f9e;border-radius:22px;margin:0 auto;animation:.28s ease-out classic-dialog-in;overflow:hidden;box-shadow:0 24px 80px #050d1e7a}.classic-transport-header{z-index:2;color:#fff8df;background:linear-gradient(145deg,#294a80,#0d2146);justify-content:space-between;align-items:center;gap:12px;padding:16px 17px;display:flex;position:sticky;top:0;box-shadow:0 5px 18px #050f2433}.classic-transport-header h2{margin:0;font-size:19px}.classic-transport-header small{color:#fff8dfcc;margin-top:4px;font-size:9px;display:block}.classic-transport-header>button{color:#fff8df;cursor:pointer;background:#ffffff14;border:1px solid #ffebb173;border-radius:50%;flex:none;width:36px;height:36px;font:300 25px/1 sans-serif}.classic-transport-image{background:#dceeff;width:100%;height:auto;display:block}.classic-share-thumbnail{object-fit:cover;pointer-events:none;width:300px;height:300px;position:fixed;top:0;left:-10000px}.classic-share-button{color:#36527e;letter-spacing:.08em;text-underline-offset:4px;cursor:pointer;background:0 0;border:0;margin:13px auto 0;padding:8px 14px;font:600 11px/1.4 -apple-system,BlinkMacSystemFont,PingFang SC,sans-serif;-webkit-text-decoration:underline #36527e57;text-decoration:underline #36527e57}.classic-music-toggle{z-index:30;top:max(14px, env(safe-area-inset-top));color:#fff7e8;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);cursor:pointer;isolation:isolate;backface-visibility:hidden;will-change:transform;background:#53140fb8;border:2px solid #f5d7a7c7;border-radius:50%;place-items:center;width:52px;height:52px;padding:0;display:grid;position:fixed;right:14px;overflow:hidden;transform:translateZ(0);box-shadow:0 8px 26px #2708053d}.classic-cat-music-icon{object-fit:cover;backface-visibility:hidden;border-radius:50%;width:calc(100% + 2px);height:calc(100% + 2px);display:block;transform:scale(1.03)}.classic-music-toggle.is-playing:not(.is-muted){animation:1.8s ease-in-out infinite classic-music-pulse}.classic-music-toggle.is-playing:not(.is-muted) .classic-cat-music-icon,.classic-music-toggle.is-muted .classic-cat-music-icon{animation:none}.classic-music-message{z-index:29;color:#fff;background:#4a140fe6;border-radius:10px;width:min(250px,100vw - 28px);margin:0;padding:9px 12px;font-size:11px;position:fixed;top:73px;right:14px}.classic-scene-0 .classic-music-message{top:auto;right:50%;bottom:calc(12px + env(safe-area-inset-bottom));text-align:center;width:min(300px,100vw - 36px);transform:translate(50%)}.classic-rsvp{background:var(--paper);padding:0 20px 32px}.classic-back-button{z-index:5;color:#fff8e8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;background:#5c130db3;border:1px solid #ffeed1a6;border-radius:999px;min-height:40px;padding:0 16px;font-size:13px;font-weight:700;position:absolute;top:18px;left:18px;box-shadow:0 8px 20px #3008052e}.classic-rsvp-heading{margin:0 -20px 24px;display:block;position:relative}.classic-photo-two{aspect-ratio:2/3;width:100%;box-shadow:none;isolation:isolate;border:0;position:relative;transform:none}.classic-photo-two img{z-index:0;object-fit:contain;object-position:center top;position:relative}.classic-rsvp-heading>div{z-index:3;color:#fff8eb;background:linear-gradient(#0000,#4f0a06e0);padding:96px 26px 25px;position:absolute;bottom:0;left:0;right:0}.classic-rsvp-heading p{color:#eccb94}.classic-rsvp-heading h1{text-shadow:0 2px 16px #2f080459;margin:0;font-size:31px;line-height:1.3}.classic-rsvp-heading small{color:#fff8ebdb;margin-top:9px;font-size:12px;line-height:1.8;display:block}.classic-schedule{text-align:center;background:linear-gradient(135deg,#c69e5a14,#0000 55%),#fff9ee;border:1px solid #9a662f42;border-radius:18px;margin-bottom:26px;padding:20px 18px;position:relative}.classic-schedule:before,.classic-schedule:after{content:"◆";color:#c8a56a;font-size:8px;position:absolute;top:14px}.classic-schedule:before{left:15px}.classic-schedule:after{right:15px}.classic-schedule>p{color:var(--wine);letter-spacing:.22em;margin:0;font:700 10px/1.3 sans-serif}.classic-schedule h2{margin:7px 0 17px;font-size:18px}.classic-schedule div{grid-template-columns:1fr 34px 1fr;align-items:center;display:grid}.classic-schedule span{color:#6e5d53;gap:5px;font-size:12px;display:grid}.classic-schedule strong{color:var(--wine);font-size:21px}.classic-schedule i{background:linear-gradient(90deg,#0000,#c39c60,#0000);height:1px}.classic-rsvp-form{gap:22px;display:grid}.classic-form-section{border:0;border-bottom:1px solid #8f211924;margin:0;padding:0 0 22px}.classic-form-section legend,.classic-field>span{letter-spacing:.03em;margin-bottom:11px;font-weight:700;display:block}.classic-form-section legend span{color:var(--red);margin-left:3px}.classic-attendance-options,.classic-guest-side-options{grid-template-columns:1fr 1fr;gap:12px;display:grid}.classic-attendance-options label,.classic-guest-side-options label{position:relative}.classic-attendance-options input,.classic-guest-side-options input{opacity:0;pointer-events:none;position:absolute}.classic-attendance-options label>span,.classic-guest-side-options label>span{text-align:center;cursor:pointer;background:#fffaf2;border:1px solid #593a2b30;border-radius:15px;place-items:center;min-height:62px;padding:10px;font-weight:700;line-height:1.35;display:grid}.classic-field{display:block}.classic-field>small{color:#88786f;margin:-6px 0 10px;font-size:11px;line-height:1.6;display:block}.classic-field input,.classic-field select,.classic-field textarea{width:100%;color:var(--ink);background:#fffaf2;border:1px solid #5a392a38;border-radius:13px;outline:none}.classic-field input,.classic-field select{height:52px;padding:0 15px}.classic-field textarea{resize:vertical;min-height:116px;padding:14px 15px;line-height:1.65}.classic-form-error{color:#9f2720;text-align:center;margin:-7px 0 0;font-size:12px;line-height:1.7}.classic-submit-button{letter-spacing:.12em;width:100%;font-weight:700}.classic-button-spinner{border:2px solid #ffffff6b;border-top-color:#fff;border-radius:50%;width:18px;height:18px;animation:.75s linear infinite classic-spin}.classic-ending-header{z-index:3;color:#fff7e8;text-align:center;text-shadow:0 2px 18px #3708056b;background:linear-gradient(#42090557,#0000);padding:34px 24px 22px;position:absolute;top:0;left:0;right:0}.classic-ending-header p{color:#efd2a2}.classic-ending-header h1{color:#fff9ee;letter-spacing:.08em;margin:0;font-size:34px;font-weight:500}.classic-ending-header small{color:#fff8ebe0}.classic-photo-three{aspect-ratio:2/3;isolation:isolate;position:relative}.classic-photo-three img{z-index:0;object-fit:contain;object-position:center top;position:relative}.classic-photo-fairytale{z-index:2;pointer-events:none;position:absolute;inset:0;overflow:hidden;box-shadow:inset 0 0 0 1px #ffeeb7a8,inset 0 0 0 8px #08183714}.classic-photo-fairytale:before{content:"";border:1px solid #eecf7e85;border-radius:92px 92px 20px 20px;position:absolute;inset:13px;box-shadow:0 0 18px #ffe5991f}.classic-photo-fairytale:after{content:"";border-top:1px solid #ffe59adb;border-radius:50%;width:88px;height:26px;position:absolute;top:12px;left:50%;transform:translate(-50%);box-shadow:0 -2px 12px #ffe39033}.classic-fairytale-star{color:#ffe9a8;text-shadow:0 0 7px #ffefb2eb,0 1px 1px #08142f80;font-family:Georgia,serif;line-height:1;position:absolute}.classic-fairytale-star-one{font-size:17px;top:16%;right:7%}.classic-fairytale-star-two{font-size:13px;top:31%;left:6%}.classic-fairytale-star-three{font-size:18px;top:44%;right:5%}.classic-fairytale-castle{opacity:.76;filter:drop-shadow(0 2px 5px #030b1d5c);width:58px;height:47px;position:absolute;bottom:70px;left:18px}.classic-photo-three .classic-fairytale-castle{bottom:84px;left:auto;right:18px;transform:scaleX(-1)}.classic-fairytale-castle:after{content:"";background:#0c234c94;border:1px solid #ffe191eb;border-radius:3px 3px 0 0;height:7px;position:absolute;bottom:0;left:0;right:0}.classic-fairytale-castle i{background:#0c234c94;border:1px solid #ffe191eb;border-bottom:0;width:13px;height:24px;position:absolute;bottom:6px}.classic-fairytale-castle i:before{content:"";border-bottom:11px solid #e5c068eb;border-left:8px solid #0000;border-right:8px solid #0000;position:absolute;top:-11px;left:50%;transform:translate(-50%)}.classic-fairytale-castle i:first-child{left:3px}.classic-fairytale-castle i:nth-child(2){height:35px;bottom:6px;left:21px}.classic-fairytale-castle i:nth-child(3){right:3px}.classic-ending-copy{z-index:4;color:var(--ink);text-align:center;background:#fff8edf7;border:1px solid #debb7f73;border-radius:22px;margin:-38px 18px 18px;padding:26px 24px 27px;position:relative;box-shadow:0 18px 45px #33080547}.classic-ending-copy:before{content:"THE CELEBRATION AWAITS";color:#ad8752;letter-spacing:.2em;margin-bottom:12px;font:700 9px/1.3 -apple-system,BlinkMacSystemFont,sans-serif;display:block}.classic-ending-copy h2{margin:10px 0 12px;font-size:21px}.classic-ending-copy>p:not(.classic-date):not(.classic-signature){color:#78685e;margin:0;font-size:13px}.classic-signature{color:var(--wine);margin:23px 0;font-size:29px;font-style:italic}.classic-calendar-button{letter-spacing:.08em;width:100%;font-weight:700}.classic-calendar-icon{border:1px solid #14264a57;border-radius:7px;place-items:center;width:22px;height:22px;font:700 17px/1 -apple-system,BlinkMacSystemFont,sans-serif;display:grid}.classic-calendar-hint{color:#857567;margin:10px 0 0;font-size:10px;line-height:1.6;display:block}.classic-ending-copy .classic-secondary-button{width:100%;margin-top:12px}.classic-guide-dialog{width:min(100%,360px);color:var(--ink);text-align:center;background:#fff9ee;border:1px solid #d8b96f7a;border-radius:24px;padding:28px 24px 24px;animation:.28s ease-out classic-dialog-in;box-shadow:0 24px 80px #050d1e61}.classic-guide-symbol{color:#fff5d6;background:linear-gradient(145deg,#36578f,#12284f);border:1px solid #d8b96fbd;border-radius:14px;place-items:center;width:48px;height:48px;margin:0 auto 14px;font:400 28px/1 sans-serif;display:grid}.classic-guide-dialog h2{margin:0;font-size:24px}.classic-guide-dialog>p{color:#74675f;margin:13px 2px 18px;font-size:13px;line-height:1.75}.classic-calendar-summary{color:#65584f;background:#f5ecdd;border:1px solid #2a487e29;border-radius:14px;gap:6px;padding:15px 14px;font-size:11px;line-height:1.55;display:grid}.classic-calendar-summary strong{color:#182d55;font-size:14px}.classic-guide-dialog .classic-primary-button,.classic-guide-dialog .classic-secondary-button{width:100%;margin-top:12px}.classic-guide-status{color:#9a722c!important;margin-bottom:0!important}.classic-share-backdrop{z-index:70;padding:max(20px, env(safe-area-inset-top)) 22px 24px;color:#fff9ec;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#040c1de0;justify-content:flex-end;align-items:flex-start;display:flex;position:fixed;inset:0}.classic-share-guide{text-align:right;width:min(100%,310px)}.classic-share-guide>span{transform-origin:100% 0;font:300 52px/1 sans-serif;display:block;transform:rotate(-18deg)}.classic-share-guide h2{margin:16px 0 8px;font-size:25px}.classic-share-guide p{color:#fff9ece0;margin:0;font-size:14px;line-height:1.8}.classic-share-guide button{color:#fff7df;background:0 0;border:1px solid #ffecb480;border-radius:999px;margin-top:22px;padding:9px 16px;font:600 12px/1.3 sans-serif}.classic-dialog-backdrop{z-index:60;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#36120d94;place-items:center;padding:24px;animation:.3s ease-out both classic-backdrop-in;display:grid;position:fixed;inset:0}.classic-dialog-backdrop.classic-transport-backdrop{place-items:initial;padding:max(14px, env(safe-area-inset-top)) 12px max(24px, env(safe-area-inset-bottom));overscroll-behavior:contain;-webkit-overflow-scrolling:touch;display:block;overflow:hidden auto}.classic-dialog-backdrop.classic-transport-backdrop .classic-transport-dialog{margin:0 auto;overflow:visible}.classic-dialog-backdrop.classic-transport-backdrop .classic-transport-image{object-fit:contain;width:100%;max-width:none;height:auto}.classic-success-dialog{background:var(--paper-light);text-align:center;border:1px solid #c9a56a5c;border-radius:24px;width:min(100%,350px);padding:30px 26px 26px;animation:.28s ease-out classic-dialog-in;box-shadow:0 24px 80px #2e0a0757}.classic-dialog-icon{color:#fff8e9;background:var(--wine);border-radius:50%;place-items:center;width:58px;height:58px;margin:0 auto 16px;font:700 30px/1 sans-serif;display:grid}.classic-success-dialog h2{margin:0;font-size:27px}.classic-success-dialog p{color:#7d6c62;margin:14px 0 22px;font-size:13px;line-height:1.7}.classic-success-dialog .classic-primary-button{width:100%}@keyframes classic-page-forward{0%{opacity:0;filter:blur(7px);transform:translate(28px,12px)scale(.982)}to{opacity:1;filter:blur();transform:translate(0,0)scale(1)}}@keyframes classic-page-backward{0%{opacity:0;filter:blur(7px);transform:translate(-28px,12px)scale(.982)}to{opacity:1;filter:blur();transform:translate(0,0)scale(1)}}@keyframes classic-photo-settle{0%{opacity:.72;transform:scale(1.025)}to{opacity:1;transform:scale(1)}}@keyframes classic-content-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translate(0,0)}}@keyframes classic-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes classic-button-sheen{0%,68%{opacity:0;transform:rotate(18deg)translate(-180%)}73%{opacity:.8}86%{opacity:.2;transform:rotate(18deg)translate(560%)}to{opacity:0;transform:rotate(18deg)translate(560%)}}@keyframes classic-dialog-in{0%{opacity:0;transform:translateY(12px)scale(.96)}to{opacity:1;transform:none}}@keyframes classic-spin{to{transform:rotate(360deg)}}@keyframes classic-music-pulse{0%,to{transform:translateZ(0)scale(1);box-shadow:0 8px 28px #030a1b61,0 0 #ffe09300}50%{transform:translateZ(0)scale(1.09);box-shadow:0 10px 32px #030a1b6b,0 0 20px #ffe09359}}@keyframes classic-star-twinkle{0%,to{opacity:.42;transform:scale(.86)}50%{opacity:1;transform:scale(1.12)}}@media (width<=390px){.classic-page-shell{padding:0}.classic-card{min-height:100svh;box-shadow:none;border:0;border-radius:0}.classic-invite-copy{padding-left:22px;padding-right:22px}.classic-rsvp{padding-left:18px;padding-right:18px}.classic-rsvp-heading{margin-left:-18px;margin-right:-18px}.classic-rsvp-heading h1{font-size:28px}.classic-ending-copy{margin-left:14px;margin-right:14px}.classic-invite-header{padding:max(14px, env(safe-area-inset-top)) 34px 8px}.classic-invite-header .classic-couple-name{width:100%;font-size:clamp(38px,11.6vw,45px)}}@media (hover:hover) and (pointer:fine){.classic-primary-button:hover,.classic-secondary-button:hover,.classic-map-link:hover,.classic-back-button:hover,.classic-music-toggle:hover{transform:translateY(-2px);box-shadow:0 15px 34px #141e3a3d,0 0 22px #f2d58e33}.classic-primary-button:hover:after,.classic-secondary-button:hover:after{animation:none;transform:rotate(18deg)translate(560%)}.classic-share-button:hover{color:#9a722c;transform:translateY(-1px)}}@media (width<=350px){.classic-invite-header>p{letter-spacing:.13em}.classic-invite-header .classic-couple-name{font-size:39px}.classic-invite-header .classic-couple-name+small{letter-spacing:.1em}}@media (prefers-reduced-motion:reduce){.classic-card,.classic-card .classic-photo>img,.classic-invite-header,.classic-invite-copy,.classic-rsvp-heading>div,.classic-schedule,.classic-rsvp-form,.classic-ending-header,.classic-ending-copy,.classic-dialog-backdrop,.classic-success-dialog,.classic-guide-dialog,.classic-music-toggle.is-playing .classic-cat-music-icon,.classic-music-toggle.is-playing,.classic-magic-star,.classic-primary-button:after{animation:none}.classic-wedding button{transition-duration:.01ms}}.classic-wedding{--midnight:#17284d;--midnight-deep:#09142c;--storybook-blue:#29457e;--castle-gold:#d8b96f;--starlight:#fff1bd;background:radial-gradient(circle at 14% 10%,#ffde9647,#0000 24%),radial-gradient(circle at 86% 82%,#506fae47,#0000 30%),linear-gradient(155deg,#2b477d 0%,#101e3d 68%,#071126 125%)}.classic-scene-1{background:radial-gradient(circle at 18% 9%,#ffe19d47,#0000 22%),radial-gradient(circle at 86% 84%,#5777b542,#0000 32%),linear-gradient(150deg,#304e85,#132442 58%,#081226 125%)}.classic-scene-2{background:radial-gradient(circle at 78% 8%,#ffe09c4d,#0000 22%),radial-gradient(circle at 12% 78%,#7e9fda3d,#0000 30%),linear-gradient(155deg,#294778,#0c1932 58%,#050d1e 120%)}.classic-card{outline-offset:-7px;border-color:#d8b96fad;outline:1px solid #ffefbe47;box-shadow:0 28px 82px #030a1c75,0 0 0 1px #1323456b}.classic-invite-header,.classic-rsvp-heading>div,.classic-ending-header{background:radial-gradient(circle at 13% 31%,#fff5c5f2 0 1px,#0000 2px),radial-gradient(circle at 24% 16%,#ffffffbf 0 1px,#0000 1.8px),radial-gradient(circle at 78% 24%,#ffefb5e6 0 1.2px,#0000 2.2px),radial-gradient(circle at 89% 43%,#ffffffbf 0 1px,#0000 1.8px),linear-gradient(#071027b8,#111a382e 75%,#0000)}.classic-rsvp-heading>div{background:radial-gradient(circle at 15% 56%,#fff0b7e6 0 1px,#0000 2px),radial-gradient(circle at 84% 44%,#ffffffb8 0 1px,#0000 1.8px),linear-gradient(#0000,#070f25e6)}.classic-ending-header h1,.classic-rsvp-heading h1{text-shadow:0 2px 18px #01081875;font-family:Georgia,Times New Roman,Songti SC,serif}.classic-invite-header p,.classic-rsvp-heading p,.classic-ending-header p{color:var(--starlight)}.classic-invite-header:after{background:linear-gradient(90deg, transparent, var(--starlight), transparent);width:76px;box-shadow:0 0 10px #ffe8a48c}.classic-invite-copy{background:radial-gradient(circle at 8% 12%,#d7b86d1c,#0000 20%),radial-gradient(circle at 94% 88%,#27457e14,#0000 22%),linear-gradient(90deg,#0000,#27457e29,#0000) top/100% 1px no-repeat,#fff9ee}.classic-invite-copy:before{color:var(--storybook-blue)}.classic-date{color:#9a722c}.classic-primary-button{color:#14264a;background:linear-gradient(135deg,#f4e1aa,#d8b45f 58%,#b88632 115%);border:1px solid #ffefbee6;box-shadow:0 11px 28px #5038123d,0 0 22px #f2d58e24,inset 0 1px #fffceba6}.classic-secondary-button{color:var(--midnight);border-color:#27457e4d}.classic-map-link{background:radial-gradient(circle at 88% 18%,#d8b96f24,#0000 28%),#f3eadb;border-color:#b78b3757}.classic-map-pin{color:#fff7da;background:linear-gradient(145deg,#ddb85f,#9e7228);box-shadow:0 0 0 3px #27457e17}.classic-music-toggle{color:var(--starlight);background:#0c1a3ad1;border-color:#ffe7a6a3;box-shadow:0 8px 28px #030a1b61,0 0 18px #ffe0931f}.classic-back-button{color:#14264a;background:#edd391e6;border-color:#f6dc9ead}.classic-schedule{background:radial-gradient(circle at 12% 15%,#d8b96f2e,#0000 21%),radial-gradient(circle at 91% 88%,#2d4b8417,#0000 25%),#fff9ee;border-color:#2c487e40;box-shadow:inset 0 0 0 4px #27457e09}.classic-schedule:before,.classic-schedule:after{color:var(--storybook-blue)}.classic-schedule>p,.classic-schedule strong{color:var(--midnight)}.classic-schedule i{background:linear-gradient(90deg, transparent, var(--castle-gold), transparent)}.classic-attendance-options input:checked+span,.classic-guest-side-options input:checked+span{border-color:var(--castle-gold);color:var(--midnight);background:#f6ecd2;box-shadow:inset 0 0 0 1px #c297422e}.classic-field input:focus,.classic-field select:focus,.classic-field textarea:focus{border-color:var(--castle-gold);box-shadow:0 0 0 3px #c599411f}.classic-ending-header{background:radial-gradient(circle at 12% 30%,#fff2b9f5 0 1px,#0000 2px),radial-gradient(circle at 25% 16%,#ffffffb8 0 1px,#0000 1.8px),radial-gradient(circle at 75% 22%,#fff1b6eb 0 1.2px,#0000 2.2px),radial-gradient(circle at 89% 39%,#ffffffbd 0 1px,#0000 1.8px),linear-gradient(#081129bf,#141f3f29 78%,#0000)}.classic-ending-copy{background:radial-gradient(circle at 10% 14%,#d8b96f21,#0000 21%),radial-gradient(circle at 90% 82%,#27457e17,#0000 24%),#fff9eefa;border-color:#d8b96fad;box-shadow:0 20px 48px #030c206b}.classic-ending{background:var(--midnight-deep)}.classic-ending-copy:before{content:"OUR NEXT CHAPTER BEGINS";color:var(--storybook-blue)}.classic-signature{color:var(--midnight)}.classic-dialog-backdrop{background:#050c1ea8}.classic-success-dialog{border-color:#d8b96fa3}.classic-dialog-icon{color:var(--starlight);background:var(--midnight)}
