:root{color:#214b35;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--ivory:#faf6ec;--forest:#214b35;--cranberry:#9b3536;--brass:#b58b4d;--rule:#d9ccaf;--display:Baskerville,"Times New Roman",serif;--ui:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--cranberry-hover:#842a2b;--cranberry-tint:#9b35360c;--form-text:#20252a;--input-border:#bdbeb9;--input-surface:#ffffff7a;--choice-border:#7b817c;--disabled-text:#8a8d89;--control-rule:#d8d8d2;--muted-text:#666b68;--confirmation-text:#59635b;background:#faf6ec;font-family:Georgia,Times New Roman,serif}*{box-sizing:border-box}body{background-image:url(/paper.svg);background-size:640px;min-width:320px;margin:0}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:var(--cranberry)}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--brass);outline-offset:4px}button:disabled{cursor:default}h1,h2,p{margin:0}#root{min-height:100svh;position:relative;overflow:hidden}.evergreen-corner{z-index:0;pointer-events:none;width:150px;height:auto;position:absolute;top:0;left:0}.top-right{left:auto;right:0;transform:scaleX(-1)}.winter-atmosphere{pointer-events:none;z-index:0;position:absolute;inset:0;overflow:hidden}.winter-atmosphere i{left:var(--left);top:var(--top);font-style:normal;position:absolute}.snow-dot{background:var(--brass);opacity:.28;width:3px;height:3px;animation:snow-drift var(--duration) linear infinite;animation-delay:var(--delay);border-radius:50%}.winter-star{color:var(--brass);opacity:.5;animation:8s ease-in-out infinite twinkle;animation-delay:var(--delay);font-size:17px}.invitation-layout{z-index:1;max-width:620px;margin:0 auto;padding:76px 22px 42px;animation:.8s ease-out both arrive;position:relative}.invitation{flex-direction:column;display:flex}.invitation-header{text-align:center}.invitation h1{font-family:var(--display);letter-spacing:-1px;font-size:clamp(30px,8vw,44px);font-weight:400;line-height:1.1}.invitation h1 span{display:block}.invitation-subtitle{margin:14px auto 16px;font-size:clamp(18px,4.8vw,24px);font-style:italic;line-height:1.3}.invitation-copy{max-width:440px;margin:auto;font-size:16px;line-height:1.55}.event-details{gap:22px;margin-top:28px;display:grid}.event-detail{align-items:flex-start;gap:13px;font-size:17px;line-height:1.4;display:flex}.event-detail>svg{width:25px;height:25px;color:var(--brass);stroke-width:2px;flex-shrink:0;margin-top:2px}.event-detail strong{font-size:17px;display:block}.event-detail p{margin-top:3px}.event-detail address{margin-top:3px;font-size:16px;font-style:normal}.directions-link{text-underline-offset:4px;align-items:center;gap:6px;min-height:44px;font-size:16px;display:inline-flex}.pajama-illustration{object-fit:contain;align-self:flex-end;width:190px;height:auto;margin:-5px 0 -1px;display:block}.invitation-actions{grid-template-columns:.72fr 1.28fr;gap:12px;margin-top:10px;display:grid}.holiday-button{border:1.5px solid var(--cranberry);background:var(--cranberry);min-height:48px;color:var(--ivory);text-align:center;border-radius:4px;justify-content:center;align-items:center;gap:10px;padding:11px 13px;font-family:Georgia,Times New Roman,serif;font-size:17px;line-height:1.25;text-decoration:none;transition:background .18s,color .18s;display:inline-flex}.holiday-button:hover{background:var(--cranberry-hover)}.holiday-button.secondary{color:var(--cranberry);background:0 0}.holiday-button.secondary:hover{background:var(--cranberry-tint)}.holiday-button:disabled{opacity:.7}.invitation-rule{background:var(--rule);height:1px;margin:30px 0;position:relative}.invitation-rule span{color:var(--brass);background:var(--ivory);padding:0 13px;font-size:24px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.rsvp-section{scroll-margin-top:24px}.rsvp-section h2{font-family:var(--display);letter-spacing:-.5px;margin-bottom:22px;font-size:28px;font-weight:400;line-height:1.2}.rsvp-section h2:focus{outline:none}.form-fields{border:0;gap:21px;min-width:0;margin:0;padding:0;display:grid}.field-group{gap:8px;display:grid}.field-group>label,.attendance-field legend{font-family:var(--ui);color:var(--form-text);font-size:16px;font-weight:400;line-height:1.4}.field-group input{border:1px solid var(--input-border);background:var(--input-surface);width:100%;height:48px;color:var(--form-text);font:16px var(--ui);border-radius:4px;min-width:0;padding:10px 12px}.field-group input:focus{border-color:var(--forest)}.attendance-field{border:0;min-width:0;margin:0;padding:0}.attendance-field legend{margin-bottom:10px;padding:0}.attendance-options{grid-template-columns:1fr 1fr;gap:10px;display:grid}.attendance-option{border:1px solid var(--choice-border);min-height:56px;color:var(--form-text);cursor:pointer;text-align:center;border-radius:4px;justify-content:center;align-items:center;gap:9px;padding:11px 9px;font-size:16px;line-height:1.3;display:flex;position:relative}.attendance-option svg{flex-shrink:0;width:22px;height:22px}.attendance-option.selected{background:var(--forest);border-color:var(--forest);color:var(--ivory)}.attendance-option input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.attendance-option:has(input:focus-visible){outline:3px solid var(--brass);outline-offset:4px}.quantity-row{align-items:center;gap:16px;display:flex}.quantity-control{border:1px solid var(--input-border);background:var(--input-surface);border-radius:4px;height:48px;display:flex;overflow:hidden}.quantity-control button{width:46px;color:var(--form-text);background:0 0;border:0;flex-shrink:0;justify-content:center;align-items:center;display:flex}.quantity-control button:disabled{color:var(--disabled-text)}.quantity-control input{border:0;border-left:1px solid var(--control-rule);border-right:1px solid var(--control-rule);text-align:center;appearance:textfield;background:0 0;border-radius:0;width:58px;height:46px;padding:6px 2px}.quantity-control input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.quantity-control input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.field-note{font:14px/1.35 var(--ui);color:var(--muted-text)}.submit-button{width:100%;min-height:50px;margin-top:1px;font-size:20px}.form-error{font:15px/1.45 var(--ui);color:var(--cranberry-hover)}.loading-icon{animation:1s linear infinite spin}.rsvp-confirmation{justify-items:start;gap:17px;padding:16px 0 12px;font-size:20px;line-height:1.4;display:grid}.confirmation-note{font:16px/1.5 var(--ui);color:var(--confirmation-text)}.rsvp-confirmation>svg{color:var(--forest)}@media (width<=359px){.invitation-layout{padding-inline:18px}.evergreen-corner{width:120px}.attendance-option{gap:6px;font-size:14px}.invitation h1{font-family:var(--display);font-size:29px}.holiday-button{font-size:15px}.pajama-illustration{width:130px}.event-detail{gap:10px}.event-detail strong{font-size:16px}}@media (width>=821px){.invitation-layout{grid-template-columns:minmax(0,1fr) 1px minmax(0,1fr);align-items:start;gap:46px;max-width:1220px;padding:98px 46px 52px;display:grid}.evergreen-corner{width:245px;top:0;left:0}.top-right{left:auto;right:0}.invitation h1{font-family:var(--display);letter-spacing:-1.9px;font-size:clamp(40px,4.4vw,58px)}.invitation-subtitle{margin-top:17px;font-size:26px}.invitation-copy{max-width:480px;font-size:18px;line-height:1.5}.event-details{gap:24px;margin-top:28px}.event-detail{gap:20px;font-size:19px}.event-detail>svg{width:28px;height:28px}.event-detail strong{font-size:20px}.event-detail address,.directions-link{font-size:18px}.pajama-illustration{order:4;align-self:center;width:350px;margin-top:15px}.invitation-actions{order:3;margin-top:8px;margin-left:48px;display:flex}.mobile-rsvp{display:none}.invitation-actions .secondary{min-height:50px;padding-inline:24px;font-size:19px}.invitation-rule{align-self:stretch;width:1px;height:auto;margin:0}.invitation-rule span{padding:10px 0;top:49%}.rsvp-section{padding-top:13px}.rsvp-section h2{margin-bottom:28px;font-size:32px}.form-fields{gap:25px}.attendance-option{min-height:56px;font-size:17px}.field-group input{height:49px}.submit-button{min-height:55px;font-size:23px}.winter-star{font-size:22px}}@keyframes arrive{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes snow-drift{0%{opacity:0;transform:translateY(-25px)}20%{opacity:.32}85%{opacity:.22}to{opacity:0;transform:translate(6px,180px)}}@keyframes twinkle{0%,to{opacity:.2}50%{opacity:.65}}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
