:root{--color-black:#000;--color-white:#fff;--color-orange:#f35d2f;--color-offwhite:#ffedd3;--color-dark:#3a1f18;--font-display:"New Beginnings", "Nunito", sans-serif;--font-body:"DM Sans", Inter, system-ui, sans-serif;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--radius-md:.375rem;--radius-lg:.5rem;color:var(--color-white);background:var(--color-black);font-family:var(--font-body);font-synthesis:none;text-rendering:optimizelegibility}*{box-sizing:border-box}html{background:var(--color-black);min-height:100%}html,body,#root{width:100%;min-height:100%}body{min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}.page-shell{background:linear-gradient(135deg,#000000f5,#3a1f18eb),radial-gradient(circle at 50% 0,#f35d2f3d,#0000 42%);width:100%;min-height:100vh;display:flex;position:relative;overflow-x:hidden}.page-shell:before{content:"";pointer-events:none;opacity:.07;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.8'/%3E%3C/svg%3E");position:absolute;inset:0}.totem{background:var(--color-black);z-index:1;grid-template-rows:1fr auto;grid-template-columns:minmax(20rem,.86fr) minmax(0,1.14fr);width:100%;min-height:100vh;display:grid;position:relative}.totem-header{padding:clamp(var(--space-8), 6vh, var(--space-12)) clamp(var(--space-8), 5vw, 5rem);background:var(--color-orange);color:var(--color-black);flex-direction:column;grid-row:1/3;justify-content:center;display:flex}.brand-logo{width:176px;height:auto;margin-bottom:var(--space-8);display:block}.overline{margin:0 0 var(--space-3);letter-spacing:.18em;text-transform:uppercase;font-size:.75rem;font-weight:700}h1{font-family:var(--font-display);letter-spacing:0;margin:0;font-size:4.75rem;font-weight:900;line-height:.98}.intro{max-width:26rem;margin:var(--space-4) 0 0;font-size:1rem;font-weight:600;line-height:1.55}.guest-form{align-content:center;gap:var(--space-4);min-height:calc(100vh - 56px);padding:clamp(var(--space-8), 6vh, var(--space-12)) clamp(var(--space-8), 5vw, 5rem);background:var(--color-offwhite);color:var(--color-black);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.field:first-child,.form-error,.clear-button,.submit-button{grid-column:1/-1}.field{gap:var(--space-2);flex-direction:column;display:flex}.field>span,.choice-group legend{color:var(--color-dark);font-size:.86rem;font-weight:700}.input-shell{align-items:center;gap:var(--space-3);border-radius:var(--radius-md);background:var(--color-white);min-height:56px;padding:0 var(--space-4);color:var(--color-orange);border:2px solid #3a1f182e;transition:border-color .18s,box-shadow .18s;display:flex}.input-shell:focus-within{border-color:var(--color-orange);box-shadow:0 0 0 3px #f35d2f29}.input-shell input,.input-shell select{width:100%;min-width:0;color:var(--color-black);background:0 0;border:0;outline:0;font-size:1rem}.input-shell select{appearance:none;cursor:pointer}.input-shell select:disabled{cursor:wait;color:#3a1f188c}.input-shell input::placeholder{color:#3a1f1873}.choice-group{gap:var(--space-2);border:0;flex-direction:column;min-width:0;margin:0;padding:0;display:flex}.choice-row{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.choice{border-radius:var(--radius-md);background:var(--color-white);min-height:52px;color:var(--color-dark);cursor:pointer;border:2px solid #3a1f182e;justify-content:center;align-items:center;font-weight:800;transition:background .18s,border-color .18s,color .18s;display:flex}.choice input{opacity:0;pointer-events:none;position:absolute}.choice-active{border-color:var(--color-orange);background:var(--color-orange);color:var(--color-black)}.clear-button,.submit-button{border-radius:var(--radius-md);justify-content:center;align-items:center;gap:var(--space-2);min-height:60px;padding:var(--space-4) var(--space-6);cursor:pointer;border:0;font-size:1rem;font-weight:900;transition:background .18s,transform .18s;display:inline-flex}.clear-button{background:var(--color-white);color:var(--color-dark);border:2px solid #3a1f1838}.submit-button{background:var(--color-black);color:var(--color-white)}.clear-button:disabled,.submit-button:disabled{cursor:not-allowed;opacity:.68;transform:none}.clear-button:hover,.clear-button:focus-visible{background:#3a1f1814;transform:translateY(-1px)}.submit-button:hover,.submit-button:focus-visible{background:var(--color-dark);transform:translateY(-1px)}.clear-button:disabled:hover,.submit-button:disabled:hover{background:var(--color-white)}.submit-button:disabled:hover{background:var(--color-black)}.clear-button:focus-visible,.submit-button:focus-visible{outline:3px solid var(--color-orange);outline-offset:3px}.form-error{border-radius:var(--radius-md);color:var(--color-dark);padding:var(--space-3) var(--space-4);background:#f35d2f1f;border:2px solid #3a1f1829;margin:0;font-size:.92rem;font-weight:800;line-height:1.4}.totem-footer{justify-content:center;align-items:center;gap:var(--space-2);background:var(--color-black);min-height:56px;color:var(--color-offwhite);grid-column:2;font-weight:800;display:flex}.success-screen{min-height:100vh;padding:var(--space-10) var(--space-8);text-align:center;background:radial-gradient(circle at 50% 22%, #f35d2f47, transparent 34%), linear-gradient(180deg, var(--color-black) 0%, var(--color-dark) 100%);color:var(--color-offwhite);flex-direction:column;grid-area:1/1/-1/-1;justify-content:center;align-items:center;animation:.42s ease-out both success-stage;display:flex}.success-logo{width:164px;height:auto;margin-bottom:var(--space-12);animation:.52s ease-out 80ms both success-rise;display:block}.success-mark{width:112px;height:112px;margin-bottom:var(--space-8);border:3px solid var(--color-orange);background:var(--color-offwhite);color:var(--color-black);border-radius:50%;place-items:center;animation:.68s cubic-bezier(.2,.9,.22,1.18) .18s both success-pop;display:grid;box-shadow:0 18px 48px #f35d2f38}.success-mark svg{stroke-dasharray:90;stroke-dashoffset:90px;animation:.52s ease-out .52s both success-check}.success-screen .overline{color:var(--color-orange);animation:.52s ease-out .32s both success-rise}.success-screen h1{max-width:10ch;animation:.56s ease-out .4s both success-rise}.success-copy{max-width:22rem;margin:var(--space-5) 0 var(--space-8);color:#ffedd3d1;font-size:1.1rem;font-weight:600;line-height:1.55;animation:.56s ease-out .48s both success-rise}.success-button{border-radius:var(--radius-md);background:var(--color-orange);min-height:56px;color:var(--color-black);justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-4) var(--space-6);cursor:pointer;border:0;font-weight:900;transition:background .18s,transform .18s;animation:.56s ease-out .56s both success-rise;display:inline-flex}.success-button:hover,.success-button:focus-visible{background:var(--color-offwhite);transform:translateY(-1px)}.success-button:focus-visible{outline:3px solid var(--color-orange);outline-offset:3px}@keyframes success-stage{0%{opacity:0;filter:saturate(.85)}to{opacity:1;filter:saturate()}}@keyframes success-rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes success-pop{0%{opacity:0;transform:scale(.72)}62%{opacity:1;transform:scale(1.08)}to{opacity:1;transform:scale(1)}}@keyframes success-check{to{stroke-dashoffset:0}}@media (prefers-reduced-motion:reduce){.success-screen,.success-logo,.success-mark,.success-mark svg,.success-screen .overline,.success-screen h1,.success-copy,.success-button{animation:none}}@media (width<=900px){.totem{flex-direction:column;display:flex}.totem-header{min-height:auto;padding:var(--space-5) var(--space-8) var(--space-6);justify-content:flex-start}.guest-form{min-height:auto;padding:var(--space-8);flex:1;grid-template-columns:1fr;align-content:start}.totem-footer{grid-column:auto}h1{font-size:3.35rem}}@media (width<=560px){.totem-header,.guest-form{padding-left:var(--space-5);padding-right:var(--space-5)}.brand-logo{width:148px;margin-bottom:var(--space-4)}.success-screen{min-height:100vh;padding-left:var(--space-5);padding-right:var(--space-5)}}
