:root{color:#302023;font-synthesis:none;--wine:#641c34;--wine-deep:#35111d;--gold:#eec78a;--gold-ink:#875e2e;--paper:#fffaf3;--muted:#6f5559;--border:#e8d8ca;--serif:Georgia, "Times New Roman", serif;background:#f7efe5;font-family:system-ui,-apple-system,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}:focus-visible{outline-offset:3px;outline:3px solid #915333}.event-page{background:radial-gradient(at 10% 5%,#eed8cf 0%,#0000 35%),radial-gradient(at 100% 30%,#f0e0c8 0%,#0000 42%),#f7efe5;min-height:100vh}.effects-paused{--festive-play-state:paused}.shell{width:min(1160px,100% - 48px);margin-inline:auto}.site-header{color:#fff8e9;background:linear-gradient(108deg,#3b101e,#5d1c2f 68%,#431323);border-bottom:1px solid #a57652;box-shadow:0 6px 28px #53243624}.header-row{justify-content:space-between;align-items:center;gap:16px;width:min(1320px,100% - 48px);min-height:78px;margin-inline:auto;display:flex}.event-brand,.header-actions{align-items:center;gap:14px;display:flex}.brand-logo{background:#fff3dc;border-radius:10px;flex:0 0 54px;align-items:center;height:54px;padding-left:6px;display:flex;overflow:hidden;box-shadow:0 3px 14px #260b17a6}.brand-logo img{flex:none;width:auto;max-width:none;height:37px;display:block}.brand-name{gap:3px;display:grid}.brand-name span:first-child{color:#fff8e9;font:400 1.17rem/1.1 var(--serif)}.brand-name span:last-child,.status-badge{color:#f1cc95;letter-spacing:.15em;text-transform:uppercase;font-size:.64rem;font-weight:750}.status-badge{white-space:nowrap;border:1px solid #d8a37372;border-radius:30px;padding:8px 11px}.light-control{color:#f6dfc3;white-space:nowrap;cursor:pointer;background:0 0;border:0;padding:8px 6px;font-size:.75rem}.light-control span{color:var(--gold);margin-right:3px}.light-control:hover{color:#fff}.light-control:focus-visible{outline-color:var(--gold)}.layout{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:clamp(18px,3vw,38px);padding-block:clamp(24px,4vw,48px) 64px;display:grid}.event-card{isolation:isolate;color:#fff5e1;background-color:#41121e;background-image:linear-gradient(#29091438 0%,#390f1b14 53%,#220a14df 100%),linear-gradient(90deg,#2d0c1c8c,#43182412 70%),url(/art/christmas-hero.webp);background-position:50%,50%,52%;background-size:cover;border:1px solid #9a6654;border-radius:24px;flex-direction:column;justify-content:space-between;min-height:620px;padding:clamp(82px,9vw,115px) clamp(25px,4vw,49px) 28px;display:flex;position:sticky;top:24px;overflow:hidden;box-shadow:0 20px 48px #4e202a3d,0 3px 9px #60203127}.event-card:after{content:"";z-index:-1;pointer-events:none;border:1px solid #f7d39d55;border-radius:17px;position:absolute;inset:10px}.festive-lights{pointer-events:none;width:100%;height:82px;position:absolute;top:8px;left:0;overflow:visible}.light-wire,.light-stem{stroke:#d5a97099;stroke-width:1px;fill:none}.light-stem{stroke-width:1.45px}.festive-bulb{animation:3.9s ease-in-out infinite alternate light-glow;animation-play-state:var(--festive-play-state,running)}@keyframes light-glow{0%,14%{opacity:.48}63%,to{opacity:1}}.receipt-medallion>span{opacity:.65;animation:5.5s ease-in-out infinite glint;animation-play-state:var(--festive-play-state,running)}@keyframes glint{0%,to{opacity:.24;transform:translateY(3px)scale(.72)}48%{opacity:.94;transform:translateY(-4px)scale(1)}}.event-copy{position:relative}.eyebrow{letter-spacing:.19em;text-transform:uppercase;margin:0 0 11px;font-size:.67rem;font-weight:800}.event-kicker{color:#f3cf98;align-items:center;gap:8px;display:flex}.event-kicker span{font-size:1rem}.event-card h1{font:400 clamp(3rem, 6.2vw, 6.2rem)/.86 var(--serif);letter-spacing:-.07em;text-shadow:0 4px 24px #220a14a6;margin:13px 0 0}.event-card h1 em{color:#ffdb9f;margin-top:.05em;font-weight:400;display:block}.event-intro{color:#fff0de;max-width:25ch;margin:21px 0 0;font-size:.94rem;line-height:1.55}.event-details{background:#2e101bd1;border:1px solid #f3c9915e;border-radius:12px;margin:65px 0 0;padding:6px 15px}.event-details div{grid-template-columns:clamp(48px,5vw,68px) minmax(0,1fr);align-items:baseline;gap:10px;padding-block:10px;display:grid}.event-details div+div{border-top:1px solid #f9d3a12e}.event-details dt{letter-spacing:.12em;text-transform:uppercase;color:#f4ce94;font-size:.7rem;font-weight:750}.event-details dd{color:#fff4e4;font:400 clamp(1.025rem, 1.8vw, 1.2rem)/1.32 var(--serif);margin:0}.event-details time{font-variant-numeric:lining-nums tabular-nums}.form-card{background:linear-gradient(145deg,#fffaf3 0%,#fffdf9 80%);border:1px solid #e6ccbc;border-radius:24px;min-width:0;animation:.52s cubic-bezier(.2,.75,.2,1) both card-in;position:relative;overflow:hidden;box-shadow:0 18px 44px #5a281a16,0 2px 7px #641c340d}.form-card:before{content:"";background:linear-gradient(90deg,#73263f,#bd8251 47%,#e4b27a);height:4px;position:absolute;inset:0 0 auto}.form-card:after{content:"";pointer-events:none;width:32%;height:4px;animation:8s ease-in-out infinite gilt-sweep;animation-play-state:var(--festive-play-state,running);background:linear-gradient(90deg,#0000,#fff1c1,#0000);position:absolute;inset:0 auto auto 0}@keyframes gilt-sweep{0%{opacity:0;transform:translate(-100%)}12%{opacity:.92}36%,to{opacity:0;transform:translate(315%)}}.form-heading,.form-section,.form-footer,.confirmation{padding:25px clamp(19px,3.5vw,42px)}.form-heading{padding-top:35px}.form-heading>.festive-seal{width:46px;height:46px;margin:0 0 17px}.form-heading>.festive-seal svg{width:26px;height:26px}.card-kicker{color:#8b442e}h2{color:#431728;font:400 clamp(2.05rem, 4vw, 3.2rem)/1.02 var(--serif);letter-spacing:-.045em;margin:0}.form-heading>p:not(.eyebrow),.muted{color:var(--muted);line-height:1.55}.form-heading .test-note{overflow-wrap:anywhere;background:#fbf0e0;border:1px solid #ebd4be;border-radius:8px;max-width:100%;margin:2px 0 0;padding:8px 11px;font-size:.82rem;display:inline-block}.test-note span{color:var(--gold-ink);margin-right:3px}.test-note strong{color:#572233}.delegate-start{margin-top:18px}.delegate-start button{overflow-wrap:anywhere;max-width:100%}.form-section,.form-footer{border-top:1px solid #efe1d6}h3{color:#48212e;align-items:center;gap:9px;margin:0 0 17px;font-size:1rem;display:flex}h3 span{color:#7b382b;font-variant-numeric:tabular-nums;background:#faeadc;border:1px solid #efd4bc;border-radius:8px;place-items:center;width:31px;height:29px;font-size:.7rem;display:grid}.choice-field{border:0;min-width:0;margin:0 0 18px;padding:0}.choice-field:last-child{margin-bottom:0}.choice-field legend{margin-bottom:9px;padding:0;font-size:.93rem;font-weight:650}.choice-row{flex-wrap:wrap;gap:9px;display:flex}.choice{color:#41252e;cursor:pointer;background:#fffdf8;border:1px solid #d4b9aa;border-radius:11px;align-items:center;gap:9px;min-width:102px;min-height:45px;padding:8px 13px;font-weight:650;transition:color .2s,background .2s,border-color .2s,box-shadow .24s,transform .2s;display:inline-flex;position:relative;overflow:hidden}.choice:hover{border-color:#b37d61;transform:translateY(-1px);box-shadow:0 3px 10px #64243919}.choice[data-answer=yes]{--selected:#2b523d;--selected-wash:#e9f1e8;--selected-border:#6c9074}.choice[data-answer=no]{--selected:#791f3c;--selected-wash:#f9e8e9;--selected-border:#bc7b87}.choice:has(input:checked){color:var(--selected);background:var(--selected-wash);border-color:var(--selected-border);box-shadow:0 2px 8px #64243918}.choice:has(input:checked):after{content:"✦";color:#9f692f;pointer-events:none;font-size:.68rem;animation:.5s ease-out both selection-sparkle;position:absolute;top:6px;right:8px}.choice input{width:16px;height:16px;accent-color:var(--selected);margin:0}.choice:has(input:focus-visible){outline-offset:2px;outline:3px solid #915333}.choice input:focus-visible{outline:none}.family-questions{margin-top:21px}.details-box{background:#fbf1e5;border:1px solid #ead4bd;border-radius:11px;margin-bottom:14px;padding:13px 14px}.details-box p{margin:0 0 12px;font-size:.88rem}.child-count-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.child-count{color:#542c37;grid-template-rows:1fr auto;gap:7px;font-size:.84rem;font-weight:700;display:grid}.child-stepper{background:#fffdf9;border:1px solid #ddbb9f;border-radius:12px;grid-template-columns:44px minmax(0,1fr) 44px;min-height:48px;display:grid}.child-stepper button{color:#6e3741;cursor:pointer;background:#f7eadb;border:0;border-radius:10px 0 0 10px;place-items:center;padding:0;transition:background .2s;display:grid}.child-stepper button:last-child{background:var(--wine);color:#fff5e4;border-radius:0 10px 10px 0}.child-stepper button:first-child:enabled:hover{background:#eed6bc}.child-stepper button:last-child:enabled:hover{background:#7c2945}.child-stepper button:disabled{color:#927c75;cursor:default;background:#f4ede4}.child-stepper button svg{width:21px;height:21px}.child-stepper input{border:0;width:100%;min-width:0;color:var(--wine-deep);text-align:center;font-variant-numeric:tabular-nums;appearance:textfield;background:0 0;border-inline:1px solid #eee0d0;border-radius:0;padding:0 2px;font-size:1.05rem}.child-stepper input::-webkit-inner-spin-button{appearance:none;margin:0}.child-stepper input::-webkit-outer-spin-button{appearance:none;margin:0}.child-stepper :focus-visible{outline-offset:-3px}.child-stepper button:last-child:focus-visible{outline-color:var(--gold)}.child-counts strong{color:var(--wine)}.night-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.night-option{color:#542c37;cursor:pointer;background:linear-gradient(135deg,#fffaf1,#fffdf8);border:1px solid #dfc2a9;border-radius:13px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-height:65px;padding:9px 12px;font-size:.88rem;font-weight:750;transition:background .2s,border-color .2s,box-shadow .2s;display:grid}.night-option input{accent-color:#2f573f;grid-area:1/3;width:16px;height:16px;margin:0}.night-option>span:last-child{grid-area:1/2}.night-icon{color:#784529;background:#f5e4cf;border-radius:11px;grid-area:1/1;place-items:center;width:40px;height:40px;display:grid}.night-icon svg{width:26px;height:26px}.night-option:has(input:checked){color:#254734;background:#eaf2e8;border-color:#6f937a;box-shadow:inset 0 0 0 1px #6f937a}.night-option:has(input:checked) .night-icon{color:#f6d399;background:#294e3a}.night-option:has(input:checked) .night-icon svg{animation:.42s ease-out both selection-sparkle}:is(.night-option:hover,.colleague-option:not(:has(input:disabled)):hover){border-color:#ab795a}:is(.night-option:has(input:focus-visible),.colleague-option:has(input:focus-visible)){outline-offset:2px;outline:3px solid #915333}.night-option input:focus-visible,.colleague-option input:focus-visible{outline:none}.colleague-picker{background:radial-gradient(at 100% 0,#f5e2ca,#0000 65%),#fcf4e8;border:1px solid #e5c7a8;border-radius:15px;min-width:0;padding:12px 15px 15px}.colleague-picker legend{color:#512738;max-width:100%;margin-bottom:0;padding:0 6px}.colleague-optional{color:#744928;letter-spacing:.07em;text-transform:uppercase;vertical-align:middle;background:#fff5e5;border:1px solid #e7c9a8;border-radius:999px;margin-left:3px;padding:3px 7px;font-size:.62rem;font-weight:800;display:inline-block}.colleague-intro{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:7px 12px;margin-bottom:13px;display:flex}.colleague-intro p{color:var(--muted);margin:0;font-size:.83rem;line-height:1.45}.colleague-count{color:#2a5139;background:#e6eee1;border-radius:999px;padding:4px 8px;font-size:.72rem;font-weight:750}.colleague-search{color:#4f2935;gap:6px;font-size:.84rem;font-weight:750;display:grid}.search-control{color:#875132;background:#fffdfa;border:1px solid #c9a68e;border-radius:10px;align-items:center;gap:8px;min-height:45px;padding:0 10px;display:flex}.search-control:focus-within{outline-offset:2px;outline:3px solid #915333}.search-control svg{flex-shrink:0;width:21px;height:21px}.search-control input{color:#352128;background:0 0;border:0;outline:none;width:100%;min-width:0;min-height:43px;padding:0;font-weight:450}.search-control input::placeholder{color:#785e61}.search-feedback{color:var(--muted);margin:9px 0 0;font-size:.8rem}.colleagues{gap:8px;display:grid}.colleagues:not(:empty){margin-top:12px}.colleague-option{color:#41252e;overflow-wrap:anywhere;cursor:pointer;background:#fffdfa;border:1px solid #ead6c4;border-radius:10px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;min-height:47px;padding:5px 10px 5px 6px;font-size:.85rem;font-weight:650;transition:background .2s,border-color .2s;display:grid}.colleague-avatar{color:#844c34;background:#f6e8db;border-radius:9px;place-items:center;width:34px;height:34px;display:grid}.colleague-avatar svg{width:20px;height:20px}.colleague-option input{accent-color:#2f573f;width:17px;height:17px;margin:0}.colleague-option:has(input:checked){background:#edf3e9;border-color:#8ba491}.colleague-option:has(input:checked) .colleague-avatar{color:#2b533a;background:#d9e8d7}.colleague-option:has(input:disabled){opacity:.65;cursor:default}.form-footer{background:#fff8ef}.primary-button{color:#fff7e7;cursor:pointer;background:linear-gradient(112deg,#0000 35%,#ffd89b38 50%,#0000 65%) 100% 0/260% 100%,linear-gradient(110deg,#741e39,#4d152c);border:1px solid #752a45;border-radius:10px;justify-content:center;align-items:center;gap:18px;min-height:46px;padding:10px 17px;font-weight:750;transition:transform .2s,box-shadow .2s,background-position .6s;display:inline-flex;box-shadow:0 5px 12px #7d2e4b30}.primary-button span{color:#f1c68a;font-size:1.15rem}.primary-button:disabled{opacity:.65;cursor:wait}.primary-button:not(:disabled):is(:hover,:focus-visible){background-position:0 0;transform:translateY(-2px);box-shadow:0 8px 16px #7d2e4b45}.error{color:#9b2632;margin:0 0 13px;font-weight:650}.confirmation{text-align:center;justify-items:center;padding-block:clamp(32px,6vw,70px);display:grid}.invitation-intro{align-content:center;min-height:345px}.confirmation .muted{max-width:34ch;margin-bottom:0}.festive-seal{color:#8b452c;background:radial-gradient(circle at 30% 30%,#fff7e9,#f4d8b6);border:1px solid #e2b77e;border-radius:50%;place-items:center;width:62px;height:62px;margin:0 auto 20px;display:grid;position:relative;box-shadow:0 0 0 5px #f5e5d4}.festive-seal:before{content:"";background:conic-gradient(from 24deg, #e5c29b7a 0 57%, #d5a46f 69%, #fff3c8 77%, #ac6331 86%, #e5c29b7a 97%);pointer-events:none;animation:6s linear infinite seal-orbit;animation-play-state:var(--festive-play-state,running);border-radius:50%;position:absolute;inset:-6px;-webkit-mask:radial-gradient(farthest-side,#0000 calc(100% - 2.7px),#000 calc(100% - 1.8px));mask:radial-gradient(farthest-side,#0000 calc(100% - 2.7px),#000 calc(100% - 1.8px))}@keyframes seal-orbit{to{transform:rotate(1turn)}}.festive-seal svg{width:31px;height:31px}.receipt-seal{font-size:1.7rem;animation:.6s ease-out both selection-sparkle}.confirmation code{color:#61263b;overflow-wrap:anywhere;background:#fbecd9;border-radius:7px;max-width:100%;margin-top:8px;padding:8px 11px;display:block}.receipt-card{padding-block:clamp(32px,5vw,55px)}.receipt-medallion{color:#a57438;align-items:center;gap:12px;margin-bottom:22px;display:flex}.receipt-medallion .festive-seal{margin:0}.receipt-medallion>span:first-child{animation-delay:-1.4s}.receipt-medallion>span:last-child{align-self:flex-start;font-size:1.25rem}.receipt-countdown{text-align:left;color:#fff2d9;background:radial-gradient(at 15% 15%,#7c2f43,#0000 65%),#461629;border:1px solid #a87551;border-radius:13px;align-items:center;gap:clamp(12px,3vw,21px);width:min(100%,430px);margin:24px 0 3px;padding:14px 17px;display:flex;box-shadow:0 8px 18px #681d3924}.countdown-badge{border-right:1px solid #f6d0a45c;flex:0 0 86px;justify-items:center;padding:6px 8px 6px 0;display:grid}.countdown-badge strong{font:400 clamp(2rem, 4vw, 2.85rem)/1 var(--serif);color:#ffe0a7}.countdown-badge span{color:#ffe0a7;letter-spacing:.12em;text-transform:uppercase;margin-top:4px;font-size:.61rem;font-weight:750}.receipt-countdown p{color:#fff5e4;font:400 1.17rem/1.25 var(--serif);margin:0 0 4px}.receipt-countdown time{color:#f0c998;font-size:.76rem}.receipt-note{margin-top:18px}.receipt-details{text-align:left;background:#fffdf8;border:1px solid #ecdaca;border-radius:10px;width:min(100%,430px);margin:23px 0 0}.receipt-details div{grid-template-columns:84px minmax(0,1fr);align-items:baseline;gap:6px;padding:10px 13px;display:grid}.receipt-details div+div{border-top:1px solid #efe0d4}.receipt-details dt{color:#84442e;letter-spacing:.09em;text-transform:uppercase;font-size:.65rem;font-weight:800}.receipt-details dd{color:#522735;margin:0;font-size:.83rem}.receipt-details dd span{color:var(--muted);white-space:nowrap;font-size:.7rem}.receipt-details code{background:0 0;margin:0;padding:0;display:inline}.branch-enter{animation:.34s cubic-bezier(.22,.72,.24,1) both branch-in}@keyframes branch-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes card-in{0%{opacity:0;transform:translateY(13px)}to{opacity:1;transform:translateY(0)}}@keyframes selection-sparkle{0%{opacity:0;scale:.55}60%{opacity:1;scale:1.2}to{opacity:1;scale:1}}@media (width<=840px){.layout{grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr)}.event-card{min-height:530px}.event-card h1{font-size:clamp(2.8rem,6.1vw,4.5rem)}}@media (width<=690px){.shell,.header-row{width:calc(100% - 28px)}.header-row{min-height:62px}.event-brand,.header-actions{gap:8px}.brand-logo{border-radius:8px;flex-basis:44px;height:44px;padding-left:5px}.brand-logo img{height:30px}.brand-name span:first-child{font-size:.91rem}.brand-name span:last-child{font-size:.53rem}.status-badge{display:none}.layout{grid-template-columns:1fr;gap:18px;padding-block:17px 37px}.event-card{background-position:50%,50%,54% 48%;border-radius:19px;min-height:0;padding:66px 23px 19px;position:relative;top:auto}.event-card:after{border-radius:13px;inset:7px}.festive-lights{height:56px;top:5px}.event-card h1{font-size:clamp(3.05rem,11vw,4.65rem)}.event-intro{margin-top:14px;font-size:.86rem}.event-details{margin-top:27px;padding:4px 10px}.event-details div{padding-block:8px}.form-card{border-radius:19px}.invitation-intro{min-height:265px}}@media (width<=400px){.child-count-grid{gap:8px}.night-option{gap:6px;padding-inline:7px}.night-icon{width:30px;height:32px}.night-icon svg{width:22px;height:22px}.receipt-countdown{padding:12px}.countdown-badge{flex-basis:71px}.receipt-details div{grid-template-columns:69px minmax(0,1fr)}}@media (width<=359px){.child-count-grid{grid-template-columns:1fr}}.effects-paused :is(.branch-enter,.form-card,.receipt-seal){animation:none}.effects-paused .choice:has(input:checked):after{animation:none}.effects-paused .night-option:has(input:checked) .night-icon svg{animation:none}@media (prefers-reduced-motion:reduce){.light-control{display:none}.festive-bulb,.festive-seal:before,.receipt-medallion>span,.form-card:after,.branch-enter,.form-card,.receipt-seal{animation:none}.choice:has(input:checked):after{animation:none}.night-option:has(input:checked) .night-icon svg{animation:none}.form-card:after{opacity:0}.choice,.primary-button,.night-option,.colleague-option,.child-stepper button{transition:none}.choice:hover,.primary-button:not(:disabled):is(:hover,:focus-visible){transform:none}}
