.budget-page{background:var(--color-bg);min-width:320px}.budget-header{border-bottom:1px solid var(--color-border);background:var(--color-bg)}.budget-header__inner,.budget-progress,.budget-shell{width:100%;margin:0}.budget-header__inner{grid-template-columns:1fr auto;align-items:center;gap:16px;padding:16px 20px;display:grid}.budget-brand{flex:none;align-items:center;min-height:48px;display:inline-flex}.budget-logo{width:clamp(96px,32vw,140px);height:auto;display:block}.budget-contact{min-height:48px;color:var(--color-text);text-align:right;align-content:center;gap:4px;display:grid}.budget-contact__label{color:var(--color-muted);font-size:12px;display:none}.budget-contact__phone{color:var(--color-accent-text);font-size:14px;font-weight:700}.budget-progress{padding:0 20px 20px}.budget-progress__summary{color:var(--color-body);margin:0 0 12px;font-size:14px;font-weight:650}.budget-progress__list{grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;margin:0;padding:0;list-style:none;display:grid}.budget-progress__item{grid-template-rows:4px auto;align-content:start;gap:8px;min-width:0;display:grid}.budget-progress__bar{border-radius:var(--radius);background:var(--color-border);height:4px;min-height:4px;display:block}.budget-progress__item[data-budget-progress-state=complete] .budget-progress__bar{background:var(--color-accent)}.budget-progress__item[data-budget-progress-state=current] .budget-progress__bar{background:var(--color-accent-action)}.budget-progress__item[data-budget-progress-state=upcoming] .budget-progress__bar{background:var(--color-border)}.budget-progress__label{overflow-wrap:anywhere;color:var(--color-muted);font-size:10px;line-height:1.35}.budget-progress__label[aria-current=step]{color:var(--color-text);font-weight:700}.budget-shell{padding:32px 20px 80px}.budget-intro{max-width:680px;margin-bottom:28px}.budget-intro h1{text-wrap:balance}.budget-intro .body-copy{max-width:620px;margin-top:18px}.budget-form{border:1px solid var(--color-border);background:#ffffff42;width:100%;padding:20px}.budget-step[hidden],.budget-actions[hidden]{display:none}.budget-actions [hidden],.budget-submission-status [hidden]{display:none!important}.budget-step{border:0;min-width:0;margin:0;padding:0}.budget-step__content{gap:32px;display:grid}.budget-field{gap:10px;min-width:0;display:grid}.budget-field__label,.budget-custom-size__title{color:var(--color-text);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:12px;font-weight:700;line-height:1.4}.budget-input{border:1px solid var(--color-border-strong);border-radius:var(--radius);background:var(--color-bg);width:100%;min-height:48px;color:var(--color-text);font:inherit;padding:12px 14px}.budget-input:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}.budget-textarea{resize:vertical;min-height:128px}.budget-check{min-height:48px;color:var(--color-body);align-items:flex-start;gap:12px;line-height:1.6;display:flex}.budget-check input{width:18px;height:18px;accent-color:var(--color-accent-action);flex:none;margin:3px 0 0}.budget-check a,.budget-summary__edit,.budget-whatsapp-fallback{color:var(--color-accent-text);text-underline-offset:3px;font-weight:700;text-decoration:underline}.budget-summary{border-top:1px solid var(--color-border);gap:20px;margin-top:8px;padding-top:28px;display:grid}.budget-summary__header,.budget-summary__section-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.budget-summary__header h2{color:var(--color-text);font-family:var(--font-heading);text-wrap:balance;margin:6px 0 0;font-size:clamp(24px,6vw,32px);font-weight:600;line-height:1.2}.budget-summary__hint{max-width:260px;color:var(--color-body);text-align:right;margin:0;font-size:14px;line-height:1.5}.budget-summary__sections{gap:12px;display:grid}.budget-summary__section{border:1px solid var(--color-border);background:var(--color-bg);min-width:0;padding:16px}.budget-summary__section h3{color:var(--color-text);margin:0;font-size:16px;line-height:1.4}.budget-summary__edit{min-height:48px;font:inherit;cursor:pointer;touch-action:manipulation;background:0 0;border:0;flex:none;margin:-12px -8px -8px 0;padding:12px 8px}.budget-summary__edit:hover,.budget-check a:hover,.budget-whatsapp-fallback:hover{color:var(--color-accent-text)}.budget-summary__list{gap:10px;margin:16px 0 0;display:grid}.budget-summary__list>div{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:12px;min-width:0;display:grid}.budget-summary__list dt,.budget-summary__list dd{overflow-wrap:anywhere;min-width:0;margin:0;line-height:1.45}.budget-summary__list dt{color:var(--color-muted);font-size:13px}.budget-summary__list dd{color:var(--color-text);text-align:right;font-size:14px;font-weight:650}.budget-submission-status{margin-top:20px}.budget-submission-status .budget-form__status{margin:0}.budget-whatsapp-fallback{min-height:48px;padding-top:12px;display:inline-block}.budget-summary__edit:focus-visible,.budget-check:focus-within,.budget-check a:focus-visible,.budget-whatsapp-fallback:focus-visible{outline:3px solid var(--color-accent);outline-offset:3px}.budget-choice-grid{grid-template-columns:1fr;gap:10px;display:grid}.budget-choice-group{gap:10px;display:grid}.budget-choice{border:1px solid var(--color-border-strong);border-radius:var(--radius);background:var(--color-bg);min-width:0;min-height:72px;color:var(--color-text);cursor:pointer;align-items:flex-start;gap:12px;padding:12px 14px;display:flex;position:relative}.budget-choice input{width:18px;height:18px;accent-color:var(--color-accent-action);flex:none;margin:0}.budget-choice__content{min-width:0;color:var(--color-text);flex:auto;gap:4px;line-height:1.4;display:grid}.budget-choice__image{aspect-ratio:1;border-radius:var(--radius);object-fit:cover;pointer-events:none;width:100%;height:auto;display:block}.budget-choice--beach{cursor:default}.budget-choice__select{cursor:pointer;gap:4px;min-height:48px;display:grid}.budget-choice-carousel,.budget-beach-carousel{min-width:0;position:relative}.budget-choice-carousel__status,.budget-beach-carousel__status{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.budget-choice-carousel__viewport,.budget-beach-carousel__viewport{overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;touch-action:pan-y;cursor:grab;width:100%;overflow-x:auto}.budget-choice-carousel__viewport::-webkit-scrollbar{display:none}.budget-beach-carousel__viewport::-webkit-scrollbar{display:none}.budget-choice-carousel__track,.budget-beach-carousel__track{display:flex}.budget-choice-carousel__slide,.budget-beach-carousel__slide{scroll-snap-align:start;scroll-snap-stop:always;flex:0 0 100%;min-width:0}.budget-choice-carousel--dragging .budget-choice-carousel__viewport,.budget-beach-carousel--dragging .budget-beach-carousel__viewport{cursor:grabbing;user-select:none}.budget-choice-carousel__dots,.budget-beach-carousel__dots{display:flex;position:absolute;bottom:4px;right:50%;transform:translate(50%)}.budget-choice-carousel__dot,.budget-beach-carousel__dot{cursor:pointer;touch-action:manipulation;background:0 0;border:0;width:48px;height:48px;margin-inline:-4px;padding:0;position:relative}.budget-choice-carousel__dot:before,.budget-beach-carousel__dot:before{content:"";background:#0f171b7a;border:1px solid #ffffffeb;border-radius:50%;width:6px;height:6px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.budget-choice-carousel__dot[aria-current=true]:before,.budget-beach-carousel__dot[aria-current=true]:before{background:var(--color-accent-action);width:8px;height:8px}.budget-choice-carousel__viewport:focus-visible,.budget-choice-carousel__dot:focus-visible,.budget-beach-carousel__viewport:focus-visible,.budget-beach-carousel__dot:focus-visible,.budget-choice-carousel__control:focus-visible{outline:3px solid var(--color-accent);outline-offset:3px}.budget-choice-carousel__control{z-index:1;border:1px solid var(--color-bg);border-radius:var(--radius);background:var(--color-dark);color:#fff;touch-action:manipulation;justify-content:center;align-items:center;width:48px;height:48px;padding:0;font-size:0;line-height:1;display:inline-flex;position:absolute;top:50%;transform:translateY(-50%)}.budget-choice-carousel__control[hidden]{display:none}.budget-choice-carousel__control:hover{background:var(--color-dark-soft)}.budget-choice-carousel--compact .budget-choice-carousel__control{display:none}.budget-choice-carousel__control:before{font-size:24px;line-height:1}.budget-choice-carousel__prev{left:2px}.budget-choice-carousel__prev:before{content:"‹"}.budget-choice-carousel__next{right:2px}.budget-choice-carousel__next:before{content:"›"}.budget-choice-carousel--hinting .budget-choice-carousel__track,.budget-beach-carousel--hinting .budget-beach-carousel__track{animation:.72s ease-in-out budget-beach-carousel-hint}@keyframes budget-beach-carousel-hint{0%,to{transform:translate(0)}45%{transform:translate(-18px)}}.budget-choice--with-finish{align-items:center}.budget-choice--recommended{border-color:var(--color-accent);background:#18a6b20d;align-items:center}.budget-choice--with-water-feature{align-items:center}.budget-choice__finish-image{border-radius:var(--radius);object-fit:cover;pointer-events:none;flex:none;width:clamp(64px,18vw,88px);height:clamp(64px,18vw,88px);display:block}.budget-choice__water-feature-image{border-radius:var(--radius);object-fit:cover;pointer-events:none;flex:none;width:clamp(88px,24vw,112px);height:clamp(88px,24vw,112px);display:block}.budget-choice-grid--equipment>.budget-choice>.budget-choice__image{flex:none;width:clamp(88px,24vw,112px);height:clamp(88px,24vw,112px)}.budget-choice--with-carousel .budget-choice__content{grid-template-columns:minmax(0,1fr) clamp(88px,24vw,112px);align-items:center;gap:12px;width:100%;display:grid}.budget-choice--with-carousel .budget-choice__select{grid-template-columns:18px minmax(0,1fr);align-items:start;column-gap:12px;min-width:0}.budget-choice--with-carousel .budget-choice__select>input{grid-row:1/span 2;margin-top:2px}.budget-choice--with-carousel .budget-choice-carousel--compact{aspect-ratio:1;width:100%;max-width:100%}.budget-choice__title{overflow-wrap:anywhere;flex-wrap:wrap;align-items:baseline;gap:8px;font-size:15px;font-weight:700;display:flex}.budget-choice__description,.budget-field__hint{color:var(--color-body);font-size:13px;line-height:1.5}.budget-choice__description{overflow-wrap:anywhere}.budget-choice__note{border-top:1px solid var(--color-border);color:var(--color-accent-text);margin-top:2px;padding-top:4px;font-size:12px;font-weight:700;line-height:1.4}.budget-field__hint{margin:-2px 0 2px}.budget-choice__badge{color:var(--color-accent-text);letter-spacing:.06em;font-size:10px;font-weight:800;line-height:1.3}.budget-choice--advice{border-style:dashed}.budget-choice--advice-inline{align-items:center;min-height:48px;margin-bottom:4px}.budget-choice:has(input:checked){border-color:var(--color-accent-action);background:#18a6b21a}.budget-custom-size{border-left:3px solid var(--color-accent);background:var(--color-band);gap:14px;margin-top:2px;padding:16px;display:grid}.budget-custom-size[hidden]{display:none}.budget-custom-size__fields{grid-template-columns:1fr;gap:12px;display:grid}.budget-field__error{min-height:0;color:var(--color-error,#9a3f28);margin:0;font-size:13px;line-height:1.4}.budget-photo-note{border-left:3px solid var(--color-accent);color:var(--color-body);margin:0;padding:14px 16px;font-size:14px;line-height:1.6}.budget-step legend{color:var(--color-text);font-family:var(--font-heading);margin-bottom:16px;padding:0;font-size:clamp(24px,7vw,32px);font-weight:600;line-height:1.2}.budget-step-placeholder{border:1px dashed var(--color-border-strong);min-height:96px;color:var(--color-body);margin:0;padding:20px;line-height:1.7}.budget-actions{grid-template-columns:1fr;gap:12px;margin-top:32px;display:grid}.budget-actions button,.budget-choice{touch-action:manipulation;width:100%;min-height:48px}.budget-choice:focus-within,.budget-actions button:focus-visible,.budget-brand:focus-visible,.budget-contact:focus-visible,.budget-no-script a:focus-visible{outline:3px solid var(--color-accent);outline-offset:3px}.budget-actions button:hover{filter:brightness(.94)}.budget-contact:hover,.budget-no-script a:hover{color:var(--color-accent-text)}.budget-form__status{min-height:24px;color:var(--color-body);margin:20px 0 0;line-height:1.5}.budget-no-script{border-left:3px solid var(--color-accent);color:var(--color-body);margin:24px 0 0;padding:16px;line-height:1.6}.budget-no-script a{color:var(--color-accent-text);text-underline-offset:3px;font-weight:700;text-decoration:underline}.skip-link{z-index:30;background:var(--color-dark);color:#fff;padding:10px 14px;font-size:14px;font-weight:700;position:fixed;top:8px;left:8px;transform:translateY(-160%)}.skip-link:focus-visible{outline:3px solid var(--color-accent);outline-offset:3px;transform:translateY(0)}@media (width>=681px){.budget-header__inner,.budget-progress,.budget-shell{width:min(100%,1100px);margin:0 auto}.budget-header__inner{padding:18px var(--gutter);justify-content:space-between;gap:24px;display:flex}.budget-contact__label{display:block}.budget-progress{padding:0 var(--gutter) 24px}.budget-progress__list{gap:8px}.budget-progress__label{font-size:12px}.budget-shell{padding:clamp(32px, 6vw, 72px) var(--gutter) 120px}.budget-intro{margin-bottom:clamp(28px,5vw,48px)}.budget-form{padding:clamp(22px,4vw,40px)}.budget-step legend{font-size:clamp(24px,3vw,32px)}.budget-choice-grid--timeframe{grid-template-columns:repeat(2,minmax(0,1fr))}.budget-choice-grid--size{grid-template-columns:repeat(4,minmax(0,1fr))}.budget-choice-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}.budget-choice-grid--features,.budget-choice-grid--finishes,.budget-choice-grid--equipment{grid-template-columns:repeat(3,minmax(0,1fr))}.budget-custom-size__fields{grid-template-columns:repeat(2,minmax(0,1fr))}.budget-actions{justify-content:flex-end;display:flex}.budget-actions button,.budget-choice{width:auto}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.budget-page,.budget-page *,.budget-page :before,.budget-page :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.budget-step,.budget-progress__bar{transition:none!important;animation:none!important}.budget-choice-carousel__viewport,.budget-beach-carousel__viewport{scroll-behavior:auto!important}.budget-choice-carousel__track,.budget-beach-carousel__track{animation:none!important;transform:none!important}}
