.guest-shell{max-width:680px;margin:auto;min-height:100vh;background:radial-gradient(circle at 95% 20%,#f4dbe9,transparent 35%),radial-gradient(circle at 0 80%,#dcecf8,transparent 38%),#fdf9fc}.guest-header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:20px;background:#fff;border-bottom:1px solid #e8dfe9}.guest-header strong{font-size:20px}.guest-header a,.guest-back{color:#874062;font-weight:800}.guest-main{padding:24px 20px 40px}.guest-main h1{font-size:29px;line-height:1.15;letter-spacing:-.5px}.guest-main h2{font-size:20px}.guest-main p{line-height:1.5}.guest-main .card{margin:16px 0}.guest-tint{background:linear-gradient(135deg,#fbecf4,#edf6fc)}.guest-choice{display:block;text-decoration:none;color:#27212d;padding:20px;border:1px solid #ded2e7;border-radius:20px;background:#edf6fc;margin:12px 0}.guest-choice strong{font-size:20px;display:block}.guest-choice span{color:#625a68;display:block;margin-top:6px}.guest-choice.rescue{background:#fbecf4}.guest-hint{font-size:14px;color:#625a68}.guest-notice{background:#f4e7f1;padding:16px;border-radius:16px;margin:16px 0}.guest-main label{display:block;font-weight:750;margin:16px 0 7px}.guest-main .priority{display:flex;justify-content:space-between;align-items:center;gap:10px;border-bottom:1px solid #e8dfe9;padding:8px 0}.guest-main .priority label{display:flex;align-items:center;gap:10px;margin:0}.guest-main input[type=checkbox]{width:20px;height:20px;flex-shrink:0}.guest-main .priority button{min-height:44px;min-width:44px;background:#e8ddf4;border:0;border-radius:12px;color:#41264d;font-size:20px}.guest-main summary{cursor:pointer;font-weight:800}.guest-main .error{color:#8a224e;font-weight:700}.guest-main .line{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid #e8dfe9}.guest-trap{position:absolute;left:-9999px}.guest-main .bar{height:10px;background:#e8ddf4;border-radius:10px;margin:5px 0 16px}.guest-main .bar span{display:block;background:#8f59ad;height:100%;border-radius:10px}.guest-main pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit}.guest-main a.button{display:block;text-align:center;text-decoration:none}.guest-main .owner-links{display:flex;gap:16px;flex-wrap:wrap}.guest-main textarea{min-height:110px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #8f59ad;outline-offset:3px}@media(max-width:420px){.guest-main{padding:20px 14px}.guest-main h1{font-size:26px}}
/* Quote service navigation uses the existing Messy Mamas palette. */
.selected-service{background:linear-gradient(135deg,var(--pink2),var(--blue2))}
.selected-service-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.selected-service-heading h2{margin:6px 0 0}
.guest-nav-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 14px;border:1px solid var(--purple);border-radius:12px;background:#fff;color:var(--purple);font:inherit;font-weight:800;cursor:pointer}
.guest-nav-button:hover{background:var(--lav)}
.service-checklist{border-top:1px solid #d8c8df;padding-top:8px}
.service-checklist summary{padding:12px 0;min-height:44px}
.service-checklist li{margin:10px 0;line-height:1.4}
.scope-room{background:#ffffffb8;border:1px solid #ded2e7;border-radius:14px;margin:10px 0;padding:0 14px}
.scope-room > summary{display:flex;justify-content:space-between;align-items:center;gap:12px;list-style:none}
.scope-room > summary::before{content:'+';color:#68417c}
.scope-room[open] > summary::before{content:'−'}
.scope-room > summary span{flex:1}
.scope-room > summary small{font-size:12px;font-weight:600;color:#625a68;text-align:right}
.scope-room ul,.scope-extras ul{padding-left:22px}
.scope-extras{border-top:2px solid #d8c8df;margin-top:22px;padding-top:8px}
.scope-extras h3{color:#68417c}
.service-checklist h3{font-size:17px}
.service-checklist summary:focus-visible{outline:3px solid var(--purple2);outline-offset:3px;border-radius:6px}
button.guest-choice{width:100%;font:inherit;text-align:left;cursor:pointer}
.guest-choice small{font-size:13px;font-weight:600}
@media(max-width:420px){.selected-service-heading .guest-nav-button{width:100%}}
/* Release 2: familiar branding, clear ZIP entry and an estimate worth reviewing. */
.guest-brand{display:flex;align-items:center;gap:10px;min-width:0}
.guest-brand strong{line-height:1.15}
.guest-brand small{display:block;font-size:13px;letter-spacing:.08em;margin-top:4px;color:#625a68}
.guest-logo{position:relative;display:block;flex:0 0 64px;width:64px;height:64px;overflow:hidden;border-radius:50%}
.guest-logo img{position:absolute;width:900%;max-width:none;height:auto;left:50%;top:50%;transform:translate(-50%,-47.8%)}
.guest-header .guest-signin{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:8px 12px;border:1px solid #d8c8df;border-radius:12px;text-decoration:none;font-size:14px;white-space:nowrap}
.guest-signin:hover{background:#f4e7f1}
.zone-intro{text-align:center;padding:12px 0 4px}
.service-area{font-size:14px;color:#625a68;max-width:470px;margin:18px auto}
.rescue-nudge{padding:14px 16px;background:#f4e7f1;border-radius:14px;font-size:14px}
.rescue-nudge a{display:inline-block;color:#68417c;font-weight:800;text-underline-offset:3px;padding:5px 0}
#estimate-preview{scroll-margin-top:18px}
#estimate-preview:focus{outline:3px solid #8f59ad;outline-offset:4px}
.estimate-heading h2{font-size:25px;margin:16px 0 6px}
.estimate-heading p{margin:0 0 20px;color:#625a68}
.estimate-facts{display:grid;grid-template-columns:1fr 1fr;gap:16px;background:#fff9;padding:16px;border-radius:14px}
.estimate-facts dt{font-size:12px;font-weight:800;color:#68417c;margin-bottom:5px}
.estimate-facts dd{margin:0;font-size:15px;line-height:1.4;overflow-wrap:anywhere}
.estimate-basis{margin:8px 0 18px}
.estimate-extras-title{font-size:15px;margin:18px 0 0}
.pantry-bundle{background:#f5edf8;border:1px solid #ded2e7;border-radius:18px;padding:16px;margin:12px 0}
.pantry-bundle h3{margin:0;font-size:18px}
.pantry-donation{padding-left:12px;border-left:3px solid #b893cc}
.special-timing-details{padding:16px;background:#f4e7f1;border-radius:16px;margin:16px 0}
.special-timing-details[hidden]{display:none}
.recovery-card .button{margin:18px 0}
.recovery-card .guest-back{display:inline-block;padding:12px 0}
@media(max-width:420px){.guest-header{padding:14px 12px;gap:8px}.guest-logo{width:48px;height:48px;flex-basis:48px}.guest-brand{gap:7px}.guest-header strong{font-size:16px}.guest-header .guest-signin{font-size:12px;padding:8px}.estimate-facts{grid-template-columns:1fr}.estimate-heading h2{font-size:22px}}
.request-summary{overflow-wrap:anywhere}.request-summary h3{font-size:16px;margin:20px 0 8px}.handoff-extras{list-style:none;padding:0;margin:8px 0}.handoff-extras li{display:flex;justify-content:space-between;gap:16px;padding:8px 0}.handoff-extras strong{white-space:nowrap}.handoff-next{padding-left:22px}.handoff-next li{padding:8px 0 8px 4px;line-height:1.5}.handoff-send{width:100%;min-height:48px}.account-next summary{min-height:44px;line-height:1.5}.request-summary details summary{min-height:44px;padding:10px 0}

.opening-card{background:linear-gradient(135deg,#fbecf4,#edf6fc);border:1px solid #ded2e7;overflow-wrap:anywhere}.opening-option{padding:16px 0;border-top:1px solid #ded2e7}.opening-option h3{margin:8px 0;font-size:18px}.opening-fine-print{font-size:14px;color:#625a68;line-height:1.5}.opening-confirmed{padding:12px;border-radius:12px;background:#fff}.opening-card button{min-height:44px}

.opening-owner label small{display:block;font-weight:400;line-height:1.5}.opening-owner form>.button{margin-top:16px}

.guest-header a:hover,.guest-back:hover,.guest-header a:focus-visible,.guest-back:focus-visible{color:#6D2F50}
.guest-main .owner-links a{color:#874062;font-weight:700;padding:6px 0}
.guest-main .owner-links a:hover,.guest-main .owner-links a:focus-visible{color:#6D2F50}

.guest-header a:hover,.guest-back:hover,.guest-header a:focus-visible,.guest-back:focus-visible{color:#6D2F50}
.guest-main .owner-links a{color:#874062;font-weight:700;padding:6px 0}
.guest-main .owner-links a:hover,.guest-main .owner-links a:focus-visible{color:#6D2F50}

/* Approved quote refresh, October 4: familiar colors and compact choices. */
.guest-header{background:linear-gradient(120deg,#F9D9E8,#F4E7F1 48%,#D6EEF8);border-bottom:1px solid #D5A3BD;box-shadow:0 5px 20px #87406214}.guest-header .guest-signin{background:#FFF9FC;border-color:#D5A3BD;color:#874062}.guest-logo{box-shadow:0 0 0 3px #fff9fccc,0 4px 12px #87406219}.guest-main .button{background:#28677F;color:#fff}.guest-main .button.secondary{background:#FFF9FC;color:#874062;border:1px solid #D5A3BD}.guest-main a,.guest-main a:visited{color:#874062}.guest-main a.button{color:#fff}.guest-main input:not([type=checkbox]):not([type=radio]),.guest-main textarea,.guest-main select{background:#FFF9FC;border-color:#D5A3BD}.guest-main input[type=radio],.guest-main input[type=checkbox]{accent-color:#874062}.room-counts{display:grid;grid-template-columns:1fr 1fr;gap:14px}.room-stepper{display:flex;align-items:center;border:1px solid #D5A3BD;border-radius:14px;overflow:hidden;background:#FFF9FC}.room-stepper button{border:0;background:#FCEAF2;color:#874062;font-size:24px;width:42px;min-height:48px;flex-shrink:0}.guest-main .room-stepper input{border:0;min-width:0;padding:8px 0;text-align:center;appearance:textfield}.room-stepper input::-webkit-inner-spin-button,.room-stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.cute-dropdown{background:linear-gradient(120deg,#F9D9E8,#F4E7F1 48%,#D6EEF8);border:1px solid #D5A3BD;border-radius:17px;padding:0;margin:10px 0 18px;overflow:hidden}.cute-dropdown>summary{display:flex;justify-content:space-between;gap:12px;padding:15px;color:#303346;list-style:none}.cute-dropdown>summary::-webkit-details-marker{display:none}.cute-dropdown>summary>span:last-child{color:#874062;font-size:23px;line-height:1}.cute-dropdown[open]>summary>span:last-child{transform:rotate(180deg)}.cute-dropdown fieldset{border:0;min-width:0;margin:0;padding:0 10px 10px}.cute-dropdown .condition-stack,.cute-dropdown .window-grid{padding:0 10px 10px;display:grid;grid-template-columns:1fr}.guest-main .cute-dropdown label{background:#E7F4FB;border:1px solid #BEDCE9;border-radius:15px;padding:14px;margin:8px 0;display:flex;align-items:center;gap:10px}.guest-main .cute-dropdown label:nth-child(even){background:#FCEAF2;border-color:#D5A3BD}.cute-dropdown label:has(input:checked){outline:2px solid #AC507E;outline-offset:-2px}.cute-dropdown strong,.cute-dropdown small{display:block}.cute-dropdown small{color:#656577;font-size:13px;margin-top:4px}.cute-dropdown input{width:18px;height:18px;flex-shrink:0}.extras-menu>summary{color:#874062;cursor:pointer;font-size:20px}.extras-menu>summary small{display:block;font-size:14px;color:#656577;font-weight:400;margin:6px 0}.pantry-donation{background:#FCEAF2;border-radius:18px;padding:18px;margin:12px 0}.pantry-donation[hidden]{display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}summary:focus-visible{outline:3px solid #AC507E;outline-offset:3px}@media(max-width:350px){.room-counts{grid-template-columns:1fr}}
