.porch-dialog{border:1px solid var(--line);width:650px;max-width:min(650px,100vw - 32px);max-height:calc(100dvh - 48px);color:var(--ink);background:var(--paper);animation:dialog-enter .26s var(--ease-out) both;border-radius:22px;padding:8px;overflow:hidden;box-shadow:0 28px 80px #20252b2e,0 8px 24px #20252b14}.porch-dialog[open]{flex-direction:column;display:flex}.dialog-scroll{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--field-border) transparent;border-radius:14px;min-height:0;overflow-y:auto}.dialog-scroll::-webkit-scrollbar{width:6px}.dialog-scroll::-webkit-scrollbar-track{background:0 0;margin-block:20px}.dialog-scroll::-webkit-scrollbar-thumb{background:var(--field-border);border-radius:999px}.dialog-scroll:has(>.booking-content){scroll-padding-block:64px 110px}.porch-dialog-wide{width:790px;max-width:min(790px,100vw - 32px)}.porch-dialog::backdrop{-webkit-backdrop-filter:blur(8px);background:#20252b57;animation:.3s both dialog-backdrop-enter}.booking-background{filter:blur(6px);pointer-events:none;-webkit-user-select:none;user-select:none}.porch-dialog.dialog-behind{filter:blur(5px);pointer-events:none;-webkit-user-select:none;user-select:none}.porch-dialog[data-closing=true]{pointer-events:none;animation:.18s ease-in both dialog-exit}.porch-dialog[data-closing=true]::backdrop{animation:.18s ease-in both dialog-backdrop-exit}@keyframes dialog-enter{0%{opacity:0;transform:translateY(12px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes dialog-exit{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(12px)scale(.985)}}@keyframes dialog-backdrop-enter{0%{opacity:0}to{opacity:1}}@keyframes dialog-backdrop-exit{0%{opacity:1}to{opacity:0}}.booking-step{animation:booking-step-enter .24s var(--ease-out)}@keyframes booking-step-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.dialog-close{z-index:5;border:1px solid var(--line);background:color-mix(in srgb, var(--paper) 92%, transparent);-webkit-backdrop-filter:blur(12px);border-radius:12px;width:44px;height:44px;position:absolute;top:20px;right:20px}.dialog-close:hover{background:var(--surface)}.profile-cover{background:var(--surface);align-items:center;gap:25px;padding:36px 72px 32px 36px;display:flex}.profile-cover>img{object-fit:cover;object-position:center 35%;border-radius:10px;flex-shrink:0;width:125px;height:148px}.profile-cover-copy h2{color:var(--ink);letter-spacing:-.035em;margin:0 0 12px;font-size:36px;font-weight:600;line-height:1.1}.profile-cover-copy>p{color:var(--muted);font-size:14px;line-height:1.6}.profile-rating{flex-wrap:wrap;align-items:center;gap:7px;margin-top:15px;font-size:14px;display:flex}.profile-rating>svg{color:var(--ink)}.profile-rating>span{color:var(--muted);margin-left:3px;font-size:13px}.profile-dialog-body{padding:26px 36px 0}.profile-facts{color:var(--muted);flex-wrap:wrap;gap:12px 26px;margin-bottom:28px;font-size:14px;display:flex}.profile-facts>span{align-items:center;gap:8px;display:flex}.profile-facts svg{flex-shrink:0}.profile-dialog-body h3{margin-bottom:12px;font-size:25px;line-height:1.3}.profile-bio{max-width:65ch;margin-bottom:29px;font-size:15px;line-height:1.75}.profile-services{grid-template-columns:1fr 1fr;gap:16px 25px;margin-bottom:32px;display:grid}.profile-services>div{align-items:flex-start;gap:12px;display:flex}.profile-services>div>svg{flex-shrink:0;margin-top:1px}.profile-services strong{font-size:14px;font-weight:600;line-height:1.5;display:block}.profile-services small{color:var(--muted);margin-top:4px;font-size:13px;line-height:1.65;display:block}.profile-detail-grid{grid-template-columns:1.5fr 1fr;gap:28px;margin-bottom:30px;display:grid}.profile-detail-grid h3{font-size:23px}.profile-detail-grid p{font-size:14px;line-height:1.6}.profile-interest-list{flex-wrap:wrap;gap:7px;display:flex}.profile-interest-list>span{background:var(--surface);border-radius:5px;padding:5px 9px;font-size:13px;line-height:1.5}.credential-preview{background:var(--mint);border-radius:8px;margin-bottom:24px;padding:20px}.credential-preview strong{font-size:14px;font-weight:600}.credential-preview p{margin-top:8px;font-size:14px;line-height:1.6}.credential-preview small{color:var(--muted);margin-top:10px;font-size:13px;line-height:1.6;display:block}.profile-childcare-note{color:var(--muted);margin-bottom:24px;font-size:14px;line-height:1.7}.profile-dialog-actions{z-index:3;border-top:1px solid var(--line);background:var(--paper);grid-template-columns:minmax(0,1fr) 44px auto auto;align-items:center;gap:10px;margin:0 -36px;padding:20px 36px;display:grid;position:sticky;bottom:0}.profile-rate{font-size:25px;font-weight:600;line-height:1.2}.profile-rate>span{font-size:13px;font-weight:400}.profile-rate>small{color:var(--muted);max-width:24ch;margin-top:5px;font-size:12px;font-weight:400;line-height:1.6;display:block}.profile-save{border:1px solid var(--line);border-radius:50%;width:44px;height:44px}.profile-save[aria-pressed=true]{background:var(--mint)}.profile-dialog-actions .btn{gap:8px;min-height:44px;padding:12px 15px;font-size:14px}.booking-content,.how-it-works,.application-content,.settings-content{padding:32px 28px 26px}.booking-content{padding-bottom:0}.booking-content>h2,.how-it-works>h2,.application-content>h2,.settings-content>h2{color:var(--ink);letter-spacing:-.03em;max-width:480px;margin:0 38px 24px 0;font-size:32px;font-weight:600;line-height:1.15}.dialog-intro{color:var(--muted);font-size:15px;line-height:1.7}.booking-companion-summary{background:var(--surface);border-radius:16px;align-items:center;gap:14px;padding:18px;display:flex}.booking-companion-summary>img{object-fit:cover;object-position:center 30%;border-radius:12px;width:54px;height:54px}.booking-companion-info{flex:1;min-width:0}.booking-companion-info>strong,.booking-companion-info>span,.booking-companion-info>small{display:block}.booking-companion-info>strong{font-size:15px;font-weight:600;line-height:1.5}.booking-companion-info>span,.booking-companion-info>small{color:var(--muted);margin-top:3px;font-size:13px;line-height:1.5}.booking-live-price{text-align:right;flex-shrink:0;max-width:140px}.booking-live-price>strong{font-size:29px;font-weight:600;line-height:1.2;display:block}.booking-live-price>span{color:var(--muted);margin-top:4px;font-size:12px;line-height:1.5;display:block}.booking-steps{justify-content:space-between;gap:12px;margin:24px 0 28px;padding:0;list-style:none;display:flex}.booking-steps>li{color:var(--muted);flex:1;align-items:center;gap:8px;font-size:14px;line-height:1.5;display:flex}.booking-steps>li>span{border:1px solid var(--line);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:29px;height:29px;font-size:13px;display:flex}.booking-steps>li.current{color:var(--brand-dark);font-weight:600}.booking-steps>li.current>span{background:var(--action);color:var(--on-action);border-color:var(--action)}.booking-steps>li.done>span{background:var(--mint);color:var(--ink);border-color:#0000}.booking-step-heading{letter-spacing:-.02em;outline:none;margin:0 0 22px;font-size:24px;font-weight:600;line-height:1.3}.visit-address-confirmation{flex-direction:column;gap:17px;display:flex}.visit-address-instructions{max-width:48ch;color:var(--muted);font-size:15px;line-height:1.65}.visit-address-map{border:1px solid var(--line);background:var(--surface);border-radius:14px;overflow:hidden}.visit-address-map>iframe{border:0;width:100%;height:320px;display:block}.visit-address-strip{align-items:center;gap:13px;padding:14px 17px;display:flex}.visit-address-strip>svg{color:var(--brand);flex-shrink:0}.visit-address-strip>p{overflow-wrap:anywhere;flex:1;min-width:0;font-size:15px;font-weight:600;line-height:1.65}.visit-address-strip>button,.visit-address-map-links>a{color:var(--brand-dark);text-underline-offset:3px;font-size:13px;font-weight:600;text-decoration:underline}.visit-address-strip>button{flex-shrink:0;min-height:44px}.visit-address-map-links{flex-direction:column;align-items:flex-start;gap:5px;display:flex}.visit-address-map-links>a{align-items:center;gap:7px;min-height:44px;display:inline-flex}.visit-address-map-links>span{color:var(--muted);font-size:12px;line-height:1.6}.booking-form-fields{flex-direction:column;gap:23px;display:flex}.form-label{color:var(--ink);flex-direction:column;gap:8px;font-size:14px;font-weight:600;line-height:1.5;display:flex}.form-label input,.form-label textarea,.form-label select{background:var(--paper);border:1px solid var(--field-border);border-radius:var(--radius-control);width:100%;min-height:48px;color:var(--ink);padding:12px 13px;font-size:16px;font-weight:400;line-height:1.5;transition:border-color .18s,box-shadow .18s;display:block}.form-label :is(input,textarea,select):focus-visible{border-color:var(--brand);outline:2px solid var(--accent);outline-offset:2px}.form-label input::placeholder,.form-label textarea::placeholder{color:var(--muted)}.form-label textarea{resize:vertical;min-height:108px}.form-label input[aria-invalid=true],.acknowledgement input[aria-invalid=true]{border-color:#a63535;outline-color:#a63535}.field-helper{color:var(--muted);font-size:13px;font-weight:400;line-height:1.6}.field-error{color:#963737;font-size:13px;font-weight:400;line-height:1.6;display:block}.form-row{gap:16px;display:flex}.form-row>.form-label{flex:1;min-width:0}.booking-choice-field{border:0;min-width:0;margin:0;padding:0}.booking-choice-field>legend{margin-bottom:10px;padding:0;font-size:14px;font-weight:600;line-height:1.5}.booking-service-options{grid-template-columns:1fr 1fr;gap:9px;display:grid}.booking-service-options>button{text-align:left;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--paper);min-height:50px;transition:background .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s var(--ease-out);align-items:center;gap:9px;padding:12px;font-size:14px;display:flex}.booking-service-options>button:active,.duration-options>button:active{transform:scale(.98)}.booking-service-options>button>span{flex:1}.booking-service-options>button.selected,.duration-options>button.selected{border-color:var(--brand);background:var(--surface);box-shadow:inset 0 0 0 1px var(--brand)}.duration-options{grid-template-columns:repeat(6,1fr);gap:8px;display:grid}.duration-options>button{border:1px solid var(--line);border-radius:var(--radius-control);background:var(--paper);min-height:66px;transition:background .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s var(--ease-out);flex-direction:column;justify-content:center;align-items:center;padding:10px 5px;font-size:21px;line-height:1.3;display:flex}.duration-options>button>span{margin-top:3px;font-size:12px;line-height:1.5}.booking-footer{border-top:1px solid var(--line);z-index:2;background:color-mix(in srgb, var(--paper) 94%, transparent);-webkit-backdrop-filter:blur(16px);justify-content:space-between;align-items:center;gap:14px;margin-top:26px;margin-left:-28px;margin-right:-28px;padding:18px 28px;display:flex;position:sticky;bottom:0}.booking-footer-note{color:var(--muted);font-size:13px}.booking-footer .btn{min-height:48px;font-size:14px}.reuse-address{text-underline-offset:3px;text-align:left;align-self:flex-start;min-height:44px;margin-top:-12px;font-size:14px;text-decoration:underline}.quiet-callout{background:var(--mint);border-radius:12px;align-items:flex-start;gap:12px;padding:17px;font-size:14px;line-height:1.7;display:flex}.quiet-callout>svg{flex-shrink:0;margin-top:2px}.review-section-heading{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.review-section-heading>h4{margin:0;font-size:15px;font-weight:600}.review-section-heading>button{text-underline-offset:3px;min-height:44px;font-size:13px;text-decoration:underline}.booking-review-section+.booking-review-section{border-top:1px solid var(--line);padding-top:13px}.review-details{flex-direction:column;gap:14px;margin:0;display:flex}.review-details>div{grid-template-columns:95px minmax(0,1fr);align-items:flex-start;gap:18px;font-size:14px;line-height:1.7;display:grid}.review-details dt{color:var(--muted)}.review-details dd{overflow-wrap:anywhere;margin:0}.review-note{margin-top:17px}.review-note strong{font-size:14px;font-weight:600}.review-note p{white-space:pre-wrap;overflow-wrap:anywhere;margin-top:7px;font-size:14px;line-height:1.7}.acknowledgement{cursor:pointer;align-items:flex-start;gap:12px;padding:14px 0;font-size:14px;line-height:1.7;display:flex}.acknowledgement input{width:20px;height:20px;accent-color:var(--ink);flex-shrink:0;margin:2px 0 0}.form-error{color:#963737;background:#f9ece8;border-radius:6px;margin-top:16px;padding:14px 16px;font-size:14px;line-height:1.7}.form-error>button{text-underline-offset:3px;min-height:44px;margin-top:6px;text-decoration:underline}.booking-success{text-align:left;padding:44px 36px 36px}.success-mark{background:var(--mint);width:58px;height:58px;color:var(--ink);border-radius:50%;justify-content:center;align-items:center;margin-bottom:23px;display:flex}.booking-success h2{outline:none;margin:0 0 18px;font-size:38px;line-height:1.15}.booking-success>p{font-size:15px;line-height:1.75}.success-summary{border-top:1px solid var(--line);border-bottom:1px solid var(--line);align-items:center;gap:16px;margin:23px 0;padding:20px 0;display:flex}.success-summary>img{object-fit:cover;border-radius:6px;width:56px;height:70px}.success-summary>div{flex-direction:column;flex:1;gap:4px;display:flex}.success-summary>div>strong{font-size:15px;font-weight:600;line-height:1.5}.success-summary>div>span{color:var(--muted);font-size:13px;line-height:1.6}.success-summary>strong{font-size:27px;font-weight:600}.demo-explanation{color:var(--muted);font-size:13px;line-height:1.7}.booking-success>.demo-explanation{font-size:13px}.booking-success>.btn,.booking-success>.quiet-callout{margin-top:24px}.how-steps{flex-direction:column;gap:24px;margin:29px 0;padding:0;list-style:none;display:flex}.how-steps>li{align-items:flex-start;gap:17px;display:flex}.how-steps>li>span{background:var(--surface);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:33px;height:33px;font-size:14px;font-weight:600;display:flex}.how-steps h3{margin-bottom:8px;font-size:24px;line-height:1.3}.how-steps p{color:var(--muted);font-size:14px;line-height:1.75}.how-it-works>.demo-explanation{margin:22px 0}.how-it-works>.btn{min-height:48px}.application-benefits{flex-wrap:wrap;gap:14px 24px;margin:23px 0 27px;font-size:14px;display:flex}.application-benefits>span{align-items:center;gap:8px;display:flex}.application-content form{flex-direction:column;gap:22px;display:flex}.application-content form>.btn{align-self:flex-start;min-height:48px}.settings-content>p{color:var(--muted);margin:20px 0;font-size:15px;line-height:1.75}.settings-content>.quiet-callout{margin-bottom:23px}.reset-confirmation{background:var(--surface);border-radius:8px;padding:20px}.reset-confirmation>strong{font-size:15px;font-weight:600}.reset-confirmation>p{margin:11px 0 20px;font-size:14px;line-height:1.7}.reset-confirmation>div{gap:12px;display:flex}@media (width<=560px){.porch-dialog{border-radius:20px;max-width:calc(100vw - 16px);max-height:calc(100dvh - 24px);padding:6px}.dialog-scroll{border-radius:14px}.porch-dialog-wide{max-width:calc(100vw - 16px)}.dialog-close{top:12px;right:12px}.profile-cover{gap:17px;padding:64px 22px 26px}.profile-cover>img{width:86px;height:110px}.profile-cover-copy h2{margin-bottom:9px;font-size:30px}.profile-cover-copy>p{font-size:13px}.profile-rating{gap:5px;margin-top:11px;font-size:13px}.profile-rating>span{margin-left:0;font-size:12px}.profile-dialog-body{padding:23px 22px 0}.profile-facts{gap:12px;margin-bottom:24px;font-size:13px}.profile-services,.profile-detail-grid{grid-template-columns:1fr;gap:19px}.credential-preview{padding:17px}.profile-dialog-actions{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:10px;margin:0 -22px;padding:14px 22px;bottom:-1px}.profile-rate{min-width:0;font-size:24px}.profile-rate>small{width:calc(100% + 60px);max-width:none;font-size:12px}.profile-save{justify-self:end}.profile-dialog-actions>.btn-secondary{grid-area:2/1}.profile-dialog-actions>.btn-primary{grid-area:2/2}.profile-dialog-actions>.btn{justify-content:center;padding:12px 8px;font-size:14px}.booking-content,.how-it-works,.application-content,.settings-content{padding:32px 22px 26px}.booking-content{padding-bottom:0}.booking-content>h2,.how-it-works>h2,.application-content>h2,.settings-content>h2{margin:6px 43px 25px 0;font-size:31px}.booking-companion-summary{flex-wrap:wrap;gap:11px;padding:15px}.booking-companion-summary>img{width:44px;height:57px}.booking-companion-info>strong{font-size:14px}.booking-companion-info>span,.booking-companion-info>small{font-size:12px}.booking-live-price{max-width:103px}.booking-live-price>strong{font-size:25px}.booking-live-price>span{font-size:12px}.booking-steps{gap:4px;margin:24px 0}.booking-steps>li{flex-direction:column;gap:6px;min-width:0;font-size:13px}.booking-steps>li>span{width:27px;height:27px}.booking-step-heading{font-size:25px}.visit-address-map>iframe{height:260px}.visit-address-strip{flex-wrap:wrap;align-items:flex-start;gap:10px;padding:15px}.visit-address-strip>svg{margin-top:2px}.visit-address-strip>p{flex-basis:calc(100% - 32px);font-size:14px}.visit-address-strip>button{margin-left:32px}.form-label input,.form-label textarea,.form-label select{padding:12px;font-size:16px}.form-row{gap:11px}.booking-service-options>button{gap:7px;padding:12px 10px;font-size:13px}.booking-service-options>button>svg:first-child{width:17px}.booking-service-options>button>svg:last-child:not(:first-child){width:14px}.duration-options{grid-template-columns:repeat(3,1fr);gap:6px}.duration-options>button{flex-direction:row;gap:5px;min-height:48px;font-size:18px}.duration-options>button>span{margin:0;font-size:13px}.booking-footer{gap:10px;margin-left:-22px;margin-right:-22px;padding:15px 22px}.booking-footer .btn{gap:9px;padding:12px 15px}.review-details>div{grid-template-columns:72px minmax(0,1fr);gap:13px}.booking-success{padding:43px 22px 29px}.booking-success h2{margin-right:12px;font-size:32px}.success-summary{gap:11px}.success-summary>img{width:44px;height:60px}.success-summary>strong{font-size:25px}.application-content .form-row{flex-direction:column;gap:22px}.application-content form>.btn{justify-content:center;width:100%}.reset-confirmation>div{flex-wrap:wrap}}@media (width<=370px){.booking-form-fields>.form-row{flex-direction:column}.booking-companion-summary{gap:9px}.booking-live-price{text-align:left;border-top:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:12px;width:100%;max-width:none;margin-top:2px;padding-top:10px;display:flex}.booking-service-options{grid-template-columns:1fr}}