:root{--green:#58df7d;--forest:#073d28;--cream:#f5ead4;--brown:#8b3c1b;--ember:#ee7b32;--navy:#061c32;--navy2:#0a2f50;--yellow:#ffd329;--white:#fff;--ink:#08130e;--shadow:0 24px 80px rgba(0,0,0,.42);--condensed:"Arial Narrow","Avenir Next Condensed",Impact,sans-serif;--sans:Inter,"Avenir Next",system-ui,sans-serif;--brush:"Marker Felt","Segoe Print","Chalkboard SE",cursive}
*{box-sizing:border-box}html{background:#030706;scroll-behavior:smooth}body{margin:0;background:#030706;color:#fff;font:16px/1.45 var(--sans);overflow-x:hidden}button,input,select,textarea{font:inherit}button{cursor:pointer}.skip-link{position:fixed;z-index:999;left:10px;top:10px;transform:translateY(-150%);background:#fff;color:#111;padding:12px 16px}.skip-link:focus{transform:none}
.art-screen{position:relative;min-height:100svh;display:grid;place-items:center;isolation:isolate;background:#030706;overflow:hidden}.art-screen:before{content:"";position:absolute;inset:-6%;z-index:-2;background-image:linear-gradient(rgba(1,4,3,.54),rgba(1,4,3,.68)),var(--art);background-size:cover;background-position:center;filter:blur(32px) saturate(1.08);transform:scale(1.12)}.art-screen:after{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at center,transparent 45%,rgba(0,0,0,.48))}
.artboard{position:relative;width:min(100vw,150svh);aspect-ratio:3/2;box-shadow:0 0 0 1px rgba(255,255,255,.08),var(--shadow);overflow:hidden;background:#050807}.art-image{display:block;width:100%;height:100%;object-fit:contain;user-select:none;-webkit-user-drag:none}.hotspots{position:absolute;inset:0}.hotspot{position:absolute;border:0;border-radius:16px;background:transparent;color:transparent;padding:0}.hotspot:before{content:"";position:absolute;inset:2px;border-radius:inherit;border:2px solid transparent;transition:.2s ease}.hotspot:hover:before,.hotspot:focus-visible:before,.hotspot.is-selected:before{border-color:var(--accent,#fff);box-shadow:0 0 0 4px rgba(255,255,255,.16),0 0 28px color-mix(in srgb,var(--accent,#fff) 72%,transparent);background:rgba(255,255,255,.035)}.hotspot:focus-visible{outline:0}.hotspot.is-selected:after{content:"✓";position:absolute;right:8px;top:8px;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--accent);color:#07110d;font-weight:950;box-shadow:0 4px 16px rgba(0,0,0,.35)}
.art-screen[data-world=ballroom] .hotspot:hover:before,.art-screen[data-world=ballroom] .hotspot:focus-visible:before{inset:0;border-width:3px;box-shadow:none;background:transparent}
.screen-tools{position:absolute;z-index:5;right:18px;bottom:18px;display:flex;gap:9px}.pill{border:1px solid rgba(255,255,255,.64);border-radius:999px;background:rgba(3,10,8,.7);backdrop-filter:blur(14px);color:#fff;padding:12px 18px;font:900 .72rem/1 var(--condensed);letter-spacing:.11em;box-shadow:0 8px 30px rgba(0,0,0,.24);transition:.2s}.pill:hover,.pill:focus-visible{transform:translateY(-2px);outline:2px solid #fff;outline-offset:2px}.pill.green{background:rgba(5,85,49,.88);border-color:#78efa0}.pill.yellow{background:var(--yellow);color:var(--navy);border-color:var(--yellow)}
.mobile-ui{display:none}.transition{position:fixed;z-index:200;inset:0;display:none;background:#020403}.transition.is-active{display:block}.transition video{width:100%;height:100%;display:block;object-fit:cover}.transition-skip{position:absolute;right:max(18px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom))}
.transition[data-world=cleaning] video{object-position:center top}
.sheet{width:min(780px,calc(100vw - 28px));max-height:calc(100svh - 28px);padding:0;border:1px solid rgba(255,255,255,.28);border-radius:22px;background:rgba(6,22,17,.96);color:#fff;box-shadow:0 30px 100px rgba(0,0,0,.65);backdrop-filter:blur(24px);overflow:auto}.sheet::backdrop{background:rgba(0,0,0,.72);backdrop-filter:blur(9px)}.sheet.cleaning-sheet{background:rgba(5,26,47,.97)}.sheet-head{position:sticky;top:0;z-index:3;display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:24px 26px 18px;background:inherit;border-bottom:1px solid rgba(255,255,255,.14)}.sheet-head p{margin:0 0 3px;color:var(--accent,var(--green));font:900 .68rem/1 var(--condensed);letter-spacing:.18em;text-transform:uppercase}.sheet-head h2{margin:0;font:950 clamp(2rem,5vw,3.6rem)/.9 var(--condensed);letter-spacing:-.02em}.close{border:0;background:rgba(255,255,255,.1);color:#fff;border-radius:50%;width:42px;height:42px;font-size:1.6rem}.close:focus-visible{outline:2px solid #fff}.sheet-body,#sheet-body{padding:24px 26px 30px}.choice-section+ .choice-section{margin-top:26px}.choice-section h3{margin:0 0 12px;font:900 1rem/1 var(--condensed);letter-spacing:.08em}.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.choice{position:relative}.choice input{position:absolute;opacity:0;pointer-events:none}.choice span{display:flex;align-items:center;min-height:50px;padding:12px 14px;border:1px solid rgba(255,255,255,.22);border-radius:10px;background:rgba(255,255,255,.05);transition:.18s}.choice input:focus-visible+span{outline:2px solid #fff;outline-offset:2px}.choice input:checked+span{background:color-mix(in srgb,var(--accent,var(--green)) 25%,transparent);border-color:var(--accent,var(--green));box-shadow:inset 4px 0 var(--accent,var(--green))}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}.field label{font:800 .78rem/1.1 var(--condensed);letter-spacing:.06em}.field input,.field select,.field textarea{width:100%;border:1px solid rgba(255,255,255,.25);border-radius:9px;background:rgba(255,255,255,.07);color:#fff;padding:13px 14px}.field select option{color:#111}.field textarea{min-height:100px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--accent,var(--green));outline-offset:1px}.form-note{color:rgba(255,255,255,.66);font-size:.85rem}.form-error{min-height:20px;color:#ffd99a;font-weight:700}.form-actions{display:flex;justify-content:space-between;gap:12px;margin-top:22px}.form-actions button{border:1px solid rgba(255,255,255,.3);border-radius:999px;background:transparent;color:#fff;padding:13px 18px;font-weight:900}.form-actions .next{margin-left:auto;background:var(--accent,var(--green));border-color:var(--accent,var(--green));color:#07140d}.step-dots{display:flex;gap:8px;margin-bottom:18px}.step-dots i{height:4px;flex:1;border-radius:9px;background:rgba(255,255,255,.16)}.step-dots i.on{background:var(--accent,var(--green))}
.confirmation{min-height:100svh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 50% 30%,#174c35,#06110d)}.confirmation.clean{background:radial-gradient(circle at 50% 30%,#15507b,#041425)}.confirm-card{width:min(720px,94vw);padding:clamp(34px,7vw,72px);text-align:center;border:1px solid rgba(255,255,255,.22);background:rgba(3,16,11,.8);box-shadow:var(--shadow)}.clean .confirm-card{background:rgba(4,24,43,.9)}.confirm-card .mark{color:var(--accent);font:900 .72rem/1 var(--condensed);letter-spacing:.2em}.confirm-card h1{margin:18px 0;font:950 clamp(4rem,10vw,8rem)/.82 var(--condensed)}.confirm-card p{max-width:560px;margin:0 auto 28px;color:rgba(255,255,255,.74);font-size:1.05rem}.confirm-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}
.toast{position:fixed;z-index:250;left:50%;bottom:22px;transform:translate(-50%,120px);opacity:0;background:#fff;color:#09120e;padding:12px 18px;border-radius:999px;box-shadow:var(--shadow);font-weight:800;transition:.25s}.toast.show{transform:translate(-50%,0);opacity:1}
@media(max-width:760px){body{background:var(--navy)}.art-screen{display:block;min-height:100svh}.art-screen:after{background:linear-gradient(180deg,transparent 0 24%,rgba(2,7,6,.3) 42%,rgba(2,7,6,.96) 70%)}.artboard{width:100%;height:100svh;aspect-ratio:auto;box-shadow:none}.art-image{object-fit:cover;object-position:var(--mobile-pos,center)}.hotspots,.screen-tools{display:none}.mobile-ui{position:absolute;z-index:6;inset:auto 0 0;display:block;padding:84px 20px max(24px,env(safe-area-inset-bottom));background:linear-gradient(transparent,rgba(2,9,7,.94) 30%,#04100c 72%)}.art-screen[data-world=cleaning] .mobile-ui{background:linear-gradient(transparent,rgba(3,18,32,.93) 28%,#05182b 72%)}.mobile-kicker{margin:0;color:var(--accent);font:900 .68rem/1 var(--condensed);letter-spacing:.17em}.mobile-ui h1{margin:9px 0 10px;max-width:560px;font:950 clamp(2.7rem,13vw,5rem)/.86 var(--condensed);letter-spacing:-.025em}.mobile-ui p{max-width:560px;margin:0 0 18px;color:rgba(255,255,255,.76)}.mobile-actions{display:grid;grid-template-columns:1fr;gap:9px}.mobile-actions button{width:100%;text-align:left}.mobile-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;width:100%;padding:0 0 12px;margin-bottom:8px}.mobile-nav button{min-width:0;border:1px solid rgba(255,255,255,.26);border-radius:999px;background:rgba(0,0,0,.24);color:#fff;padding:10px 3px;font:900 .62rem/1 var(--condensed);letter-spacing:.025em;white-space:nowrap}.mobile-list{display:grid;grid-template-columns:1fr 1fr;gap:8px;max-height:30svh;overflow:auto;padding-right:3px}.mobile-list button{min-height:50px;border:1px solid rgba(255,255,255,.22);border-radius:10px;background:rgba(255,255,255,.07);color:#fff;text-align:left;padding:11px;font-weight:800}.mobile-list button.is-selected{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 22%,transparent)}.transition video{object-position:center}.sheet{width:100%;max-width:none;height:min(88svh,850px);max-height:none;margin:auto 0 0;border-radius:22px 22px 0 0;--sheet-solid:#06150f}.sheet.cleaning-sheet{--sheet-solid:#061c32}.sheet-head{padding:20px;background:var(--sheet-solid)}.sheet-body,#sheet-body{padding:20px 20px 0}.choice-grid,.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.form-actions{position:sticky;z-index:4;bottom:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:9px;margin:22px -20px 0;padding:16px 20px max(16px,env(safe-area-inset-bottom));background:var(--sheet-solid);border-top:1px solid rgba(255,255,255,.12);box-shadow:0 -16px 30px rgba(0,0,0,.18)}.form-actions button{width:100%;min-width:0;padding-inline:10px}.form-actions:has(>:nth-child(3)) .next{grid-column:1/-1}.confirmation{padding:18px}.confirm-actions{display:grid}.confirm-actions button{width:100%}}
.form-note a,.confirm-card p a{color:var(--accent,var(--green));font-weight:800}.confirm-actions a.pill{text-decoration:none;display:inline-block}.art-screen[data-world=ballroom] .hotspot:hover:before{inset:5px;border-width:1px;border-color:rgba(255,255,255,.72);box-shadow:0 0 6px color-mix(in srgb,var(--accent) 48%,transparent);background:rgba(255,255,255,.015)}.art-screen[data-world=ballroom] .hotspot:focus-visible:before{inset:4px;border-width:2px;border-color:#fff;box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 55%,transparent);background:transparent}
.art-screen[data-world=ballroom] .hotspot{border-radius:999px}.art-screen[data-world=ballroom] .hotspot:hover:before{inset:0;border:2px solid rgba(255,255,255,.88);box-shadow:none;background:rgba(255,255,255,.07);backdrop-filter:none}.art-screen[data-world=ballroom] .hotspot:focus-visible:before{inset:0;border:2px solid #fff;box-shadow:none;background:rgba(255,255,255,.06)}
.choice-section h3,.field label{font:900 1rem/1.15 var(--condensed);letter-spacing:.08em;text-transform:uppercase}.choice-section+.form-grid,.form-grid+.choice-section{margin-top:26px}.field{gap:10px}.field select{min-height:56px}.art-screen[data-world=catering] .hotspot:hover:before{inset:0;border:0;box-shadow:inset 0 0 18px rgba(255,255,255,.14);background:rgba(255,255,255,.055);backdrop-filter:brightness(1.07) saturate(1.04)}.art-screen[data-world=catering] .hotspot:focus-visible:before{inset:0;border:2px solid rgba(255,255,255,.92);box-shadow:inset 0 0 14px rgba(255,255,255,.1);background:rgba(255,255,255,.04)}
.art-screen[data-world=catering] .hotspot.is-selected:before{inset:0;border:0;box-shadow:inset 0 0 18px rgba(98,232,146,.24);background:rgba(98,232,146,.1)}.art-screen[data-world=catering] .hotspot.is-selected:after{display:none}
.art-screen[data-world=cleaning] .hotspot{border-radius:12px}
.art-screen[data-world=cleaning] .hotspot:hover:before{inset:0;border:2px solid rgba(255,211,41,.92);box-shadow:none;background:rgba(255,211,41,.08);backdrop-filter:none}
.art-screen[data-world=cleaning] .hotspot:focus-visible:before{inset:0;border:2px solid #fff;box-shadow:none;background:rgba(255,255,255,.05)}
.art-screen[data-world=cleaning] .hotspot.is-selected:before{inset:0;border:2px solid var(--yellow);box-shadow:none;background:rgba(255,211,41,.06)}
.art-screen[data-world=cleaning] .hotspot[aria-label="Facilities"],.art-screen[data-world=cleaning] .hotspot[aria-label="Services"],.art-screen[data-world=cleaning] .hotspot[aria-label="Get a quote"]{border-radius:6px}
.art-screen[data-world=cleaning] .hotspot[aria-label="Return to the ballroom"]{border-radius:18px}
.art-screen[data-screen=cleaning] .hotspot[aria-label="Explore facilities"],.art-screen[data-screen=cleaning] .hotspot[aria-label="Get a cleaning quote"],.art-screen[data-screen=cleaning-facilities] .hotspot[aria-label="Get a cleaning quote"],.art-screen[data-screen=cleaning-services] .hotspot[aria-label="Continue to cleaning quote"]{border-radius:999px}
.art-screen[data-screen=cleaning-services] .hotspot.is-selected:after{content:"";left:var(--check-x,90.5%);right:auto;top:var(--check-y,68.6%);bottom:auto;width:8px;height:15px;margin:-12px 0 0 -4px;border:0;border-right:3px solid var(--yellow);border-bottom:3px solid var(--yellow);border-radius:0;background:transparent;box-shadow:none;transform:rotate(45deg);transform-origin:center}
.art-screen[data-screen=cleaning-services] .hotspot:nth-child(n+5):nth-child(-n+7){--check-y:68.9%;--check-x:90.25%}
.art-screen[data-screen=cleaning-services] .hotspot:nth-child(n+8):nth-child(-n+10){--check-y:72%;--check-x:90.25%}
.art-screen[data-screen=cleaning-services] .hotspot:nth-child(3n+2){--check-x:91%}
.art-screen[data-screen=cleaning-services] .hotspot:nth-child(3n){--check-x:90.7%}
.art-screen[data-screen=cleaning-services] .hotspot:nth-child(3n+1){--check-x:89.4%}
@media(min-width:761px){.art-screen[data-screen=cleaning-services]{min-height:106.7svh;overflow:visible}.art-screen[data-screen=cleaning-services] .artboard{width:min(100vw,160svh)}}
.form-actions .reset-action{border-color:color-mix(in srgb,var(--accent,var(--green)) 68%,#fff);color:var(--accent,var(--green));background:color-mix(in srgb,var(--accent,var(--green)) 8%,transparent)}
.form-actions .reset-action:hover,.form-actions .reset-action:focus-visible{outline:2px solid var(--accent,var(--green));outline-offset:2px;background:color-mix(in srgb,var(--accent,var(--green)) 16%,transparent)}
.sheet{font-size:1.1rem}.sheet-head p{font-size:.78rem}.choice-section h3,.field label{font-size:1.1rem}.choice span{min-height:56px;padding:14px 16px;font-size:1.05rem}.field input,.field select,.field textarea{font-size:1.05rem;padding:15px 16px}.form-note{font-size:1rem}.form-actions button{font-size:1rem;padding:15px 20px}
@media(max-width:760px){.mobile-kicker{font-size:.78rem}.mobile-ui p{font-size:1.08rem;line-height:1.55}.mobile-list button{font-size:1rem;line-height:1.3;min-height:56px}.pill{font-size:.82rem;padding:14px 18px}}
.quote-nav-clean{position:absolute;z-index:7;left:22%;top:0;width:50.5%;height:7.7%;display:flex;align-items:center;justify-content:center;gap:clamp(18px,3.2vw,54px);background:linear-gradient(90deg,rgba(28,17,11,.97),rgba(20,15,11,.99),rgba(25,18,12,.97));border-bottom:1px solid rgba(255,232,200,.34)}.quote-nav-clean button{position:relative;border:0;background:transparent;color:#fff;padding:13px 4px 11px;font:900 clamp(.62rem,.78vw,.82rem)/1 var(--condensed);letter-spacing:.04em}.quote-nav-clean button:hover,.quote-nav-clean button:focus-visible{color:var(--green);outline:0}.quote-nav-clean button.active{color:var(--green)}.quote-nav-clean button.active:after{content:"";position:absolute;left:0;right:0;bottom:3px;height:2px;background:var(--green)}
.saved-menu{display:grid;gap:20px}.saved-chips{display:flex;flex-wrap:wrap;gap:8px}.saved-chips span{display:inline-flex;align-items:center;min-height:38px;padding:8px 12px;border:1px solid color-mix(in srgb,var(--accent,var(--green)) 72%,#fff);border-radius:999px;background:color-mix(in srgb,var(--accent,var(--green)) 14%,transparent);font-weight:800}.journey-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.journey-actions button,.edit-selection{border:1px solid rgba(255,255,255,.34);border-radius:999px;background:transparent;color:#fff;padding:15px 18px;font-weight:900}.journey-actions .next{grid-column:1/-1;background:var(--green);border-color:var(--green);color:#07140d;font-size:1.05rem}.journey-actions button:disabled{opacity:.45;cursor:not-allowed}.saved-selection{padding:16px;border:1px solid rgba(98,232,146,.28);border-radius:14px;background:rgba(98,232,146,.06)}.edit-selection{margin-top:14px;color:var(--green);border-color:rgba(98,232,146,.48)}
@media(max-width:760px){.quote-nav-clean{display:none}.journey-actions{grid-template-columns:1fr}.journey-actions .next{grid-column:auto}}
@media(prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}
