.flow{--flow-pad:clamp(1rem, .5rem + 2vw, 2rem);background:var(--white);border:1px solid var(--line);border-radius:var(--radius-md)}.flow--loading{padding:var(--space-8) var(--flow-pad);text-align:center}.flow-progress{padding:var(--flow-pad) var(--flow-pad) 0;gap:4px;list-style:none;display:flex}.flow-progress__step{flex:1;min-width:0}.flow-progress__step>span,.flow-progress__step>button{border:0;border-bottom:3px solid var(--mist-200);text-align:left;width:100%;font:inherit;color:var(--text-muted);background:0 0;gap:.4rem;padding:0 0 .6rem;display:grid}.flow-progress__step>button{cursor:pointer}.flow-progress__step.is-done>button{border-color:var(--teal);color:var(--teal-600)}.flow-progress__step.is-done>button:hover .flow-progress__label{text-decoration:underline}.flow-progress__step.is-current>span{border-color:var(--navy);color:var(--navy)}.flow-progress__n{font-size:var(--text-xs);font-weight:600}.flow-progress__label{font-size:var(--text-xs);white-space:nowrap;text-overflow:ellipsis;font-weight:500;display:none;overflow:hidden}@media (width>=768px){.flow-progress__label{display:block}}.flow-body{padding:var(--space-6) var(--flow-pad) var(--space-7)}.flow-kicker{letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--teal);margin-bottom:var(--space-2);font-size:.75rem;font-weight:700}.flow-title{font-size:var(--text-xl);margin-bottom:var(--space-6);outline:none}.flow-stack{gap:var(--space-7);display:grid}.flow-row{gap:var(--space-5);display:grid}@media (width>=480px){.flow-row{grid-template-columns:1fr 1fr}}.flow-row--3{gap:var(--space-4);display:grid}@media (width>=768px){.flow-row--3{grid-template-columns:2fr 1fr 1fr}}.flow-fieldset{border:0;min-width:0;margin:0;padding:0}.flow-legend{font-weight:600;font-size:var(--text-md);margin-bottom:var(--space-4);padding:0}.opt-grid{gap:var(--space-3);display:grid}@media (width>=480px){.opt-grid--4,.opt-grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1024px){.opt-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}.opt-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}}.opt{display:block;position:relative}.opt input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.opt__box{height:100%;padding:var(--space-4);border:1.5px solid var(--line);border-radius:var(--radius-sm);transition:border-color var(--dur), background-color var(--dur);gap:.25rem;display:grid}.opt input:hover+.opt__box{border-color:var(--slate)}.opt input:checked+.opt__box{border-color:var(--teal);background:var(--teal-wash);box-shadow:inset 0 0 0 1px var(--teal)}.opt input:focus-visible+.opt__box{outline:3px solid var(--focus);outline-offset:2px}.opt__title{font-weight:600}.opt__desc{font-size:var(--text-sm);color:var(--text-muted);line-height:1.4}.sqft{gap:var(--space-3);display:grid}.sqft__input{max-width:12rem;font-weight:600;font-size:var(--text-md)!important}.sqft__presets{gap:var(--space-2);flex-wrap:wrap;display:flex}.pill{border:1.5px solid var(--line);border-radius:var(--radius-sm);background:var(--white);min-height:2.5rem;font:inherit;font-size:var(--text-sm);color:var(--ink);cursor:pointer;padding:.4rem .85rem}.pill:hover{border-color:var(--slate)}.pill.is-on{border-color:var(--teal);background:var(--teal-wash);color:var(--teal-600);font-weight:600}.stepper{border:1.5px solid var(--line);border-radius:var(--radius-sm);grid-template-columns:3rem 1fr 3rem;align-items:center;max-width:14rem;display:grid}.stepper button{cursor:pointer;height:3rem;color:var(--navy);background:0 0;border:0;place-items:center;display:grid}.stepper button:hover:not([disabled]){background:var(--mist)}.stepper button[disabled]{opacity:.35;cursor:not-allowed}.stepper svg path{stroke:currentColor;stroke-width:2px;stroke-linecap:round;fill:none}.stepper output{text-align:center;font-size:var(--text-md);font-weight:600}.addons{gap:var(--space-2);display:grid}@media (width>=768px){.addons{grid-template-columns:1fr 1fr}}.addon{gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1.5px solid var(--line);border-radius:var(--radius-sm);cursor:pointer;grid-template-columns:22px 1fr auto;align-items:center;display:grid;position:relative}.addon input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.addon__check{border:1.5px solid var(--slate);background:var(--white);border-radius:5px;width:22px;height:22px}.addon input:checked~.addon__check{border-color:var(--teal);background:var(--teal) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 10.4l3 2.9 7-7.3' fill='none' stroke='white' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 16px no-repeat}.addon:has(input:checked){border-color:var(--teal)}.addon input:focus-visible~.addon__check{outline:3px solid var(--focus);outline-offset:2px}.addon.is-included{background:var(--mist);cursor:default}.addon.is-included input{cursor:default}.addon__text{line-height:1.35;display:grid}.addon__title{font-weight:500}.addon__desc{font-size:var(--text-xs);color:var(--text-muted)}.addon__price{font-weight:600;font-size:var(--text-sm);color:var(--navy);white-space:nowrap}.addon.is-included .addon__price{color:var(--teal-600)}.flow-nav{z-index:5;border-top:1px solid var(--line);border-radius:0 0 var(--radius-md) var(--radius-md);background:#fffffff7;position:sticky;bottom:0}.flow-nav__inner{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--flow-pad) calc(var(--space-3) + env(safe-area-inset-bottom));display:flex}.flow-nav__running{text-align:center;font-weight:600;line-height:1.2;font-size:var(--text-sm);display:grid}@media (width>=480px){.flow-nav__running{font-size:var(--text-base);display:block}}.result{gap:var(--space-7);display:grid}@media (width>=1024px){.result{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);align-items:start}}.result__price{gap:var(--space-4);padding:var(--space-6);background:var(--brand-bg);color:var(--white);border-radius:var(--radius-md);display:grid}.result__price .muted{color:#ffffffe6}.result__label{color:#ffffffe6;font-weight:500}.result__range{font-size:var(--text-2xl);letter-spacing:var(--tracking-tight);font-variant-numeric:tabular-nums;font-weight:600;line-height:1}.result__discount{color:var(--accent-on-brand);font-weight:500}.result__book{margin-top:var(--space-2)}.result__actions{gap:var(--space-3);margin-top:var(--space-5);flex-wrap:wrap;display:flex}.summary{margin:0 0 var(--space-6);border-top:2px solid var(--navy)}.summary>div{gap:var(--space-3);padding-block:var(--space-3);border-bottom:1px solid var(--line);grid-template-columns:7rem 1fr;display:grid}.summary dt{font-size:var(--text-sm);color:var(--text-muted)}.summary dd{margin:0;font-weight:500}.summary__edit{margin-left:var(--space-3);color:var(--teal);font:inherit;font-size:var(--text-sm);text-underline-offset:.18em;cursor:pointer;background:0 0;border:0;padding:0;font-weight:600;text-decoration:underline}.result__included h3{font-size:var(--text-base);margin-bottom:var(--space-3)}.result__included ul{list-style:none}.result__included li{font-size:var(--text-sm);padding:.4rem 0 .4rem 1.6rem;position:relative}.result__included li:before{content:"";background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Crect x='1' y='1' width='18' height='18' rx='4' fill='%23e3f2f3'/%3E%3Cpath d='M5.5 10.4l3 2.9 6-6.6' fill='none' stroke='%230b7480' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 50%/contain no-repeat;width:14px;height:14px;position:absolute;top:.62rem;left:0}.booking-summary{gap:var(--space-3);padding:var(--space-5);background:var(--mist);border-radius:var(--radius-md);display:grid}.booking-summary__price{font-size:var(--text-lg);font-variant-numeric:tabular-nums;font-weight:600}.booking-summary .summary{margin:0}.dates{gap:var(--space-2);grid-template-columns:repeat(auto-fill,minmax(4.6rem,1fr));display:grid}.date-btn{border:1.5px solid var(--line);border-radius:var(--radius-sm);background:var(--white);font:inherit;color:var(--ink);cursor:pointer;justify-items:center;gap:2px;padding:.55rem .25rem;line-height:1.15;display:grid}.date-btn:hover{border-color:var(--slate)}.date-btn[aria-pressed=true]{border-color:var(--teal);background:var(--teal-wash);box-shadow:inset 0 0 0 1px var(--teal)}.date-btn__dow{font-size:var(--text-xs);color:var(--text-muted)}.date-btn__day{font-size:var(--text-md);font-weight:600}.date-btn__mon{font-size:var(--text-xs)}.date-more{margin-top:var(--space-3);align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.date-more .input{max-width:12rem}.form-grid{gap:var(--space-4);display:grid}@media (width>=768px){.form-grid--2{grid-template-columns:1fr 1fr}.form-grid .span-2{grid-column:span 2}}.req{color:var(--danger)}.consent{font-size:var(--text-xs);color:var(--text-muted);max-width:60ch}.done{gap:var(--space-4);justify-items:start;display:grid}.done__mark{width:56px;height:56px}.summary__note{font-size:var(--text-xs);color:var(--text-muted);margin-top:2px;font-weight:400;display:block}.est-app .flow,.bk-app .flow{min-height:44rem}.flow--loading{place-items:center;display:grid}@media (width>=1024px){.est-app .flow,.bk-app .flow{min-height:36rem}}
