*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:"Segoe UI",Arial,sans-serif}
body.sudz-kiosk-home{min-height:100vh;min-height:100dvh;overflow-x:hidden;color:#0d4280;background:radial-gradient(circle at 50% 22%,rgba(255,255,255,.98) 0 12%,rgba(236,248,255,.94) 34%,rgba(195,230,249,.90) 100%),#d9f1ff}
.sudz-kiosk-stage{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:clamp(18px,3vw,42px);position:relative;z-index:3}
.sudz-kiosk-card{width:min(980px,94vw);display:grid;justify-items:center;gap:clamp(12px,1.8vh,22px);padding:clamp(24px,3vw,44px);border:1px solid rgba(255,255,255,.78);border-radius:34px;background:rgba(255,255,255,.78);box-shadow:0 26px 70px rgba(20,88,137,.19);backdrop-filter:blur(7px);text-align:center}
.sudz-kiosk-logo{width:clamp(155px,18vw,230px);height:auto;filter:drop-shadow(0 8px 16px rgba(20,83,130,.12))}
.sudz-welcome h1{margin:0;color:#0d4384;font-size:clamp(2.3rem,5vw,4rem);line-height:1}.sudz-welcome p{margin:10px 0 0;color:#315c84;font-size:clamp(1rem,1.8vw,1.3rem);font-weight:600}
.sudz-main-actions{width:min(700px,100%);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,2.5vw,30px)}
.service-card{min-height:clamp(190px,25vh,255px);border-radius:24px;padding:22px;display:grid;place-items:center;align-content:center;gap:8px;text-decoration:none;cursor:pointer;font:inherit;transition:transform .15s ease,box-shadow .15s ease}.service-card:active{transform:scale(.985)}
.service-card.dropoff{border:0;color:#fff;background:linear-gradient(155deg,#0867c6,#034a9d);box-shadow:0 16px 32px rgba(2,79,164,.24)}
.service-card.pickup{color:#0753a2;background:rgba(255,255,255,.93);border:3px solid #1769c1;box-shadow:0 16px 32px rgba(2,79,164,.12)}
.service-icon{width:72px;height:72px;border-radius:22px;display:grid;place-items:center;font-size:3.2rem;font-weight:900;line-height:1}.dropoff .service-icon{background:rgba(255,255,255,.13)}.pickup .service-icon{background:#eaf5ff}
.service-card strong{font-size:clamp(1.55rem,3vw,2.35rem);letter-spacing:.02em}.service-card>span:last-child{font-size:clamp(1rem,1.7vw,1.25rem);font-weight:650}
.sudz-info-strip{width:min(820px,100%);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:rgba(255,255,255,.80);border:1px solid rgba(255,255,255,.9);border-radius:24px;box-shadow:0 12px 30px rgba(20,88,137,.10);overflow:hidden}
.info-item{min-width:0;padding:18px 14px;display:grid;justify-items:center;align-content:center;gap:4px;position:relative}.info-item+.info-item:before{content:"";position:absolute;left:0;top:18%;height:64%;width:1px;background:#9ec8e8}
.info-icon{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;color:#0757a8;font-size:2rem;font-weight:900}.weight-icon{border-radius:14px;background:#0757a8;color:#fff;font-size:1.05rem;line-height:.85}.weight-icon small{font-size:.62rem;color:#fff}
.info-item strong{font-size:clamp(.88rem,1.6vw,1.1rem)}.info-item span:not(.info-icon){font-size:clamp(.82rem,1.4vw,1rem);font-weight:700}.info-item small{color:#41688b;font-size:.82rem}
.reservation-link{border:0;background:transparent;color:#145c9d;text-decoration:underline;text-underline-offset:4px;font:inherit;font-weight:800;font-size:1rem;cursor:pointer;padding:8px 14px}.keyboard-hint{margin:0;color:#4d708f;font-size:.9rem}
.sudz-droplets{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:2}
.sudz-drop{--drop-size:8px;--drop-left:50vw;--drop-drift:0px;--drop-opacity:.35;position:absolute;top:-6vh;left:var(--drop-left);width:var(--drop-size);height:calc(var(--drop-size)*1.35);border-radius:52% 48% 60% 40%/58% 54% 46% 42%;opacity:0;background:linear-gradient(145deg,rgba(255,255,255,.9),rgba(69,169,230,.52) 46%,rgba(12,105,180,.45));box-shadow:inset 1px 1px 2px rgba(255,255,255,.88),0 2px 5px rgba(21,99,157,.16);animation:sudzRandomFall linear infinite}.sudz-drop:after{content:"";position:absolute;left:24%;top:14%;width:28%;height:24%;border-radius:50%;background:rgba(255,255,255,.72)}
@keyframes sudzRandomFall{0%{transform:translate3d(0,-10vh,0);opacity:0}7%{opacity:var(--drop-opacity)}88%{opacity:var(--drop-opacity)}100%{transform:translate3d(var(--drop-drift),116vh,0);opacity:0}}
.dropoff-choice,.reservation-checkin{width:min(650px,calc(100vw - 30px));border:0;border-radius:24px;padding:0;color:#173b5d;background:#fff;box-shadow:0 30px 80px rgba(8,50,85,.34)}.dropoff-choice::backdrop,.reservation-checkin::backdrop{background:rgba(7,35,58,.58);backdrop-filter:blur(3px)}
.choice-panel,.reservation-checkin form{display:grid;gap:18px;padding:26px}.choice-panel header,.reservation-checkin header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;text-align:left}.choice-panel h2,.reservation-checkin h2{margin:0;color:#0c4f91;font-size:1.8rem}.choice-panel p,.reservation-checkin header p{margin:5px 0 0;color:#617b91}
.dialog-close{width:44px;height:44px;border:0;border-radius:50%;background:#eef5fa;color:#244d6c;font-size:1.8rem;line-height:1;cursor:pointer}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.choice{min-height:150px;border-radius:18px;padding:22px;display:grid;align-content:center;gap:7px;text-align:left;text-decoration:none}.choice.personal{background:#eaf3ff;color:#15599f}.choice.business{background:#e9f6ef;color:#16653f}.choice strong{font-size:1.35rem}.choice span{line-height:1.35}
.secondary-choice{min-height:50px;border:1px solid #bdd1df;border-radius:12px;background:#fff;color:#315d7c;font:inherit;font-weight:800;cursor:pointer}
.reservation-checkin label{display:grid;gap:7px;text-align:left;font-weight:800}.reservation-checkin input{min-height:56px;border:1px solid #b8ccda;border-radius:12px;padding:10px 13px;font:inherit;font-size:1.08rem}.reservation-checkin footer{display:flex;justify-content:flex-end;gap:10px}.reservation-checkin footer button{min-height:50px;border-radius:11px;padding:9px 18px;font:inherit;font-weight:900;cursor:pointer}.reservation-checkin footer .secondary{border:1px solid #bfd0dd;background:#fff;color:#24465f}.reservation-checkin footer .primary{border:0;background:#1268bd;color:#fff}.checkin-result{min-height:24px;color:#8b2f2f;font-weight:800;text-align:left}
@media(max-width:720px){.sudz-kiosk-card{width:min(96vw,46rem);padding:20px}.service-card{min-height:165px}.sudz-info-strip{grid-template-columns:1fr}.info-item+.info-item:before{left:12%;top:0;width:76%;height:1px}.choice-grid{grid-template-columns:1fr}}
@media(max-width:480px){.sudz-main-actions{grid-template-columns:1fr}.service-card{min-height:140px}}
@media(prefers-reduced-motion:reduce){.sudz-drop{animation-duration:18s!important}}

.sudz-condensation{position:fixed;inset:-12%;overflow:hidden;pointer-events:none;z-index:1;filter:blur(24px)}
.sudz-condensation span{position:absolute;display:block;width:clamp(260px,38vw,620px);aspect-ratio:1.45;border-radius:48% 52% 55% 45%/52% 45% 55% 48%;background:radial-gradient(ellipse at 45% 48%,rgba(255,255,255,.34) 0%,rgba(235,248,255,.20) 38%,rgba(202,232,247,.10) 62%,rgba(202,232,247,0) 76%);opacity:.42;will-change:transform,opacity}
.sudz-condensation span:nth-child(1){left:-4%;top:10%;animation:sudzFogOne 26s ease-in-out infinite alternate}
.sudz-condensation span:nth-child(2){right:-8%;top:34%;width:clamp(320px,44vw,720px);opacity:.34;animation:sudzFogTwo 34s ease-in-out -9s infinite alternate}
.sudz-condensation span:nth-child(3){left:26%;bottom:-8%;width:clamp(300px,40vw,680px);opacity:.30;animation:sudzFogThree 30s ease-in-out -15s infinite alternate}
@keyframes sudzFogOne{0%{transform:translate3d(-2vw,-1vh,0) scale(.92) rotate(-3deg);opacity:.26}48%{transform:translate3d(16vw,7vh,0) scale(1.12) rotate(4deg);opacity:.44}100%{transform:translate3d(30vw,-2vh,0) scale(.98) rotate(-1deg);opacity:.31}}
@keyframes sudzFogTwo{0%{transform:translate3d(4vw,7vh,0) scale(1.05) rotate(2deg);opacity:.25}55%{transform:translate3d(-18vw,-5vh,0) scale(.90) rotate(-4deg);opacity:.38}100%{transform:translate3d(-30vw,5vh,0) scale(1.10) rotate(3deg);opacity:.28}}
@keyframes sudzFogThree{0%{transform:translate3d(-12vw,6vh,0) scale(.94);opacity:.20}50%{transform:translate3d(8vw,-9vh,0) scale(1.14);opacity:.34}100%{transform:translate3d(22vw,-2vh,0) scale(1.00);opacity:.23}}
@media(prefers-reduced-motion:reduce){.sudz-condensation span{animation-duration:55s!important}}
