:root{--color-ink-900:#0e0a0a;--color-ink-800:#252020;--color-ink-700:#413b3c;--color-ink-600:#625c5c;--color-ink-500:#888182;--color-ink-400:#ada6a6;--color-ink-300:#d3cccc;--color-ink-200:#eae2e3;--color-ink-100:#f8f0f1;--color-paper:#ffffff;--color-page:#fff8f8;--color-card-cool:#f8f0f1;--color-black:#000000;--brand-50:#ffeff0;--brand-100:#ffdee0;--brand-200:#ffbfc5;--brand-300:#ff99a4;--brand-400:#f9667b;--brand-500:#dd395a;--brand-600:#c01344;--brand-700:#a20034;--brand-800:#7e0025;--brand-900:#540017;--color-required:#C8204A;--surface-page:var(--color-page);--surface-card:var(--color-card-cool);--surface-card-alt:var(--color-paper);--surface-inverse:var(--color-ink-900);--surface-inverse-alt:var(--color-ink-800);--surface-input:var(--color-paper);--surface-chip:var(--color-ink-100);--surface-chip-inverse:var(--color-ink-800);--text-primary:var(--color-ink-900);--text-secondary:var(--color-ink-700);--text-tertiary:var(--color-ink-600);--text-inverse:var(--color-ink-200);--text-inverse-strong:var(--color-paper);--text-inverse-muted:var(--color-ink-300);--border-subtle:var(--color-ink-200);--border-quiet:var(--color-ink-100);--border-strong:var(--color-ink-900);--border-on-dark:rgba(255,255,255,0.12);--glass-tint:rgba(0,0,0,0.7);--glass-tint-strong:rgba(0,0,0,0.85);--glass-text:var(--color-paper);--primary:var(--color-required);--primary-hover:var(--brand-700);--primary-active:var(--brand-800);--on-primary:var(--color-paper);--primary-subtle:var(--brand-50);--primary-on-subtle:var(--brand-700);--focus:var(--primary);--link:var(--brand-700)}:root{--font-sans:"Manrope","Manrope Placeholder",ui-sans-serif,system-ui,-apple-system,sans-serif;--font-display:var(--font-sans);--font-ui:"Host Grotesk","Host Grotesk Placeholder",ui-sans-serif,system-ui,sans-serif;--font-weight-light:300;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-size-xs:14px;--font-size-sm:16px;--font-size-base:18px;--font-size-md:20px;--font-size-lg:22px;--font-size-xl:24px;--font-size-2xl:32px;--font-size-3xl:38px;--font-size-4xl:42px;--font-size-stat:32px;--line-height-tight:100%;--line-height-snug:110%;--line-height-display:120%;--line-height-base:130%;--line-height-relaxed:140%;--line-height-loose:150%;--letter-spacing-0:0;--letter-spacing-1:-0.1px;--letter-spacing-2:-0.2px;--letter-spacing-3:-0.3px;--letter-spacing-4:-0.4px;--letter-spacing-5:-0.5px;--letter-spacing-6:-0.8px;--letter-spacing-7:-1.0px}@media (min-width:810px){:root{--font-size-2xl:34px;--font-size-3xl:42px;--font-size-4xl:51px;--font-size-stat:50px}}@media (min-width:1200px){:root{--font-size-2xl:36px;--font-size-3xl:50px;--font-size-4xl:58px;--font-size-stat:72px}}.type-stat{font-family:var(--font-sans);font-size:var(--font-size-stat);font-weight:var(--font-weight-light);letter-spacing:var(--letter-spacing-6);line-height:var(--line-height-tight)}.type-h1{font-family:var(--font-sans);font-size:var(--font-size-4xl);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-7);line-height:var(--line-height-display)}.type-h2{font-family:var(--font-sans);font-size:var(--font-size-3xl);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-6);line-height:var(--line-height-snug)}.type-h3{font-family:var(--font-sans);font-size:var(--font-size-2xl);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-6);line-height:var(--line-height-snug)}.type-subtitle{font-family:var(--font-sans);font-size:var(--font-size-lg);font-weight:var(--font-weight-regular);letter-spacing:var(--letter-spacing-3);line-height:var(--line-height-loose)}.type-body-lg{font-family:var(--font-sans);font-size:var(--font-size-md);font-weight:var(--font-weight-regular);letter-spacing:var(--letter-spacing-2);line-height:var(--line-height-relaxed)}.type-body{font-family:var(--font-sans);font-size:var(--font-size-base);font-weight:var(--font-weight-regular);letter-spacing:var(--letter-spacing-1);line-height:var(--line-height-loose)}.type-body-sm{font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:var(--font-weight-regular);letter-spacing:var(--letter-spacing-1);line-height:var(--line-height-base)}.type-ui{font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-1);line-height:var(--line-height-tight)}.type-nav{font-family:var(--font-sans);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-1);line-height:var(--line-height-base)}.type-eyebrow{font-family:var(--font-sans);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-1);line-height:var(--line-height-tight)}.type-caption{font-family:var(--font-ui);font-size:var(--font-size-xs);font-weight:var(--font-weight-regular);letter-spacing:var(--letter-spacing-0);line-height:var(--line-height-tight)}:root{--space-0:0;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--space-24:96px;--space-32:128px;--radius-none:0;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-2xl:24px;--radius-pill:999px;--shadow-none:none;--shadow-xs:0 1px 2px rgba(14,10,10,0.04);--shadow-sm:0 4px 12px rgba(14,10,10,0.06);--container-max:1200px;--container-gutter:24px;--column-gap:24px;--section-padding-y:96px;--bp-mobile:390px;--bp-tablet:810px;--bp-desktop:1200px}:root{--ease-standard:ease-in-out;--ease-emphasized:cubic-bezier(0.2,0,0,1);--duration-fast:150ms;--duration-base:240ms;--duration-slow:400ms;interpolate-size:allow-keywords}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.01ms!important;transition-duration:0.01ms!important}}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.btn{position:relative;display:inline-flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-2) var(--space-2) var(--space-5);min-height:44px;font:var(--font-weight-medium) var(--font-size-sm)/1 var(--font-sans);letter-spacing:var(--letter-spacing-1);border:0;border-radius:var(--radius-pill);cursor:pointer;overflow:hidden;text-decoration:none;transition:color var(--duration-base) var(--ease-standard);box-sizing:border-box}.btn__label{position:relative;z-index:2}.btn__circle{position:relative;display:inline-grid;place-items:center;width:36px;height:36px;border-radius:var(--radius-pill);z-index:1}.btn__circle::before{content:"";position:absolute;inset:0;border-radius:inherit;transform:scale(1);transform-origin:center;transition:transform var(--duration-slow) var(--ease-emphasized);z-index:-1}.btn__circle svg{width:18px;height:18px}.btn__arrow{transform:rotate(0);transition:transform var(--duration-base) var(--ease-standard)}.btn:hover .btn__circle::before{transform:scale(20)}.btn:hover .btn__arrow{transform:rotate(45deg)}.btn:focus-visible{outline:2px solid currentColor;outline-offset:4px}.btn--primary{background:var(--primary);color:var(--on-primary);border:1px solid var(--primary)}.btn--primary .btn__circle{color:var(--primary)}.btn--primary .btn__circle::before{background:var(--on-primary)}.btn--primary:hover{color:var(--primary)}.btn--dark{background:var(--surface-inverse);color:var(--text-inverse-strong);border:1px solid var(--surface-inverse)}.btn--dark .btn__circle{color:var(--surface-inverse)}.btn--dark .btn__circle::before{background:var(--text-inverse-strong)}.btn--dark:hover{color:var(--surface-inverse)}.btn--light{background:var(--surface-chip);color:var(--text-primary)}.btn--light .btn__circle{color:var(--surface-chip)}.btn--light .btn__circle::before{background:var(--text-primary)}.btn--light:hover{color:var(--surface-chip)}.btn--light:not(.btn--block){padding-inline-end:var(--space-5)}.btn--light:not(.btn--block):hover{background:var(--color-ink-200);color:var(--text-primary)}.btn--sm{padding:var(--space-1) var(--space-2) var(--space-1) var(--space-4);font-size:var(--font-size-xs)}.btn--sm .btn__circle{width:28px;height:28px}.btn--lg{padding:var(--space-3) var(--space-3) var(--space-3) var(--space-6);font-size:var(--font-size-base)}.btn--lg .btn__circle{width:44px;height:44px}.btn--block{display:flex;width:100%;justify-content:center;align-items:center;min-height:48px;padding:var(--space-4);border-radius:var(--radius-md);background:var(--surface-inverse);color:var(--text-inverse-strong);font:var(--font-weight-medium) var(--font-size-base)/1 var(--font-sans);border:0;cursor:pointer;overflow:visible;transition:background var(--duration-fast) var(--ease-standard)}.btn--block.btn--primary{background:var(--primary);color:var(--on-primary)}.btn--block:hover{background:var(--surface-inverse-alt)}.btn--block.btn--primary:hover{background:var(--primary-hover)}.btn--block:focus-visible{outline:2px solid var(--border-strong);outline-offset:2px}@media (prefers-reduced-motion:reduce){.btn:hover .btn__circle::before{transform:scale(1)}.btn:hover .btn__arrow{transform:rotate(0)}}.eyebrow{display:inline-block;padding:6px var(--space-3);background:var(--surface-chip);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-1);line-height:var(--line-height-tight);border-radius:var(--radius-pill)}.eyebrow--on-dark{background:var(--surface-chip-inverse);color:var(--text-inverse)}.badge{display:inline-flex;align-items:center;gap:var(--space-1);font-family:var(--font-sans);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-1);line-height:var(--line-height-tight);padding:5px var(--space-3);border-radius:var(--radius-pill);background:var(--primary-subtle);color:var(--primary-on-subtle)}.badge--neutral{background:var(--surface-chip);color:var(--text-secondary)}.badge--solid{background:var(--primary);color:var(--on-primary)}.rating{display:inline-flex;gap:2px;color:var(--text-primary);font-size:var(--font-size-sm);letter-spacing:2px}.field{display:flex;flex-direction:column;gap:var(--space-2)}.field__label{font:var(--font-weight-medium) var(--font-size-sm)/1.4 var(--font-sans);color:var(--text-primary)}.field__required{color:var(--color-required);font-weight:var(--font-weight-semibold);margin-inline-start:2px}.field input,.field textarea,.field select{width:100%;padding:var(--space-4);min-height:40px;background:var(--surface-input);color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);font:var(--font-weight-regular) var(--font-size-sm)/1.4 var(--font-sans)!important;transition:border-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard)}.field textarea{min-height:120px;resize:vertical}.field input::placeholder,.field textarea::placeholder{color:var(--text-tertiary)}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--focus);outline:none;box-shadow:0 0 0 2px var(--focus)}.field--invalid input,.field--invalid textarea,.field--invalid select{border-color:var(--primary)}.field__hint{font-size:var(--font-size-xs);color:var(--text-tertiary)}.field--invalid .field__hint{color:var(--primary-on-subtle)}.card{background:var(--surface-card-alt);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-6)}.card--cool{background:var(--surface-card)}.card--hug{width:max-content}.card--fill{width:100%}.card__icon{width:40px;height:40px;border-radius:var(--radius-pill);background:var(--primary-subtle);color:var(--primary);display:grid;place-items:center;margin-bottom:var(--space-4)}.card__icon svg{width:20px;height:20px}.card__title{font:var(--font-weight-medium) var(--font-size-lg)/1.2 var(--font-sans);letter-spacing:var(--letter-spacing-3);color:var(--text-primary);margin-bottom:var(--space-2)}.card__body{font-size:var(--font-size-sm);color:var(--text-secondary);line-height:var(--line-height-base)}.faq-item{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);margin-block-end:var(--space-3)}.faq-item>summary{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-5) var(--space-6);font:var(--font-weight-medium) var(--font-size-md)/1.4 var(--font-sans);color:var(--text-primary);cursor:pointer;list-style:none}.faq-item>summary::-webkit-details-marker{display:none}.faq-item>summary::after{content:"+";font-size:22px;font-weight:var(--font-weight-regular);color:var(--text-tertiary);display:inline-block;transition:transform var(--duration-base) var(--ease-emphasized)}.faq-item[open]>summary::after{transform:rotate(45deg)}.faq-item p{padding:0 var(--space-6) var(--space-6);color:var(--text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-loose);max-width:60ch}.faq-item::details-content{block-size:0;overflow:clip;transition:block-size var(--duration-base) var(--ease-emphasized),content-visibility var(--duration-base) allow-discrete}.faq-item[open]::details-content{block-size:auto}.service-row{border-bottom:1px solid var(--border-subtle)}.service-row>summary{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-5) 0;cursor:pointer;list-style:none;font:var(--font-weight-medium) var(--font-size-md)/1 var(--font-sans);color:var(--text-primary)}.service-row>summary::-webkit-details-marker{display:none}.service-row__icon{width:24px;height:24px;color:var(--text-primary);flex:0 0 auto}.service-row__label{flex:1}.service-row__toggle{color:var(--text-tertiary);font-size:20px;font-weight:var(--font-weight-regular);display:inline-block;transition:transform var(--duration-base) var(--ease-emphasized)}.service-row__toggle::before{content:"+"}.service-row[open] .service-row__toggle{transform:rotate(45deg)}.service-row__body{padding:0 0 var(--space-6) calc(24px + var(--space-4));color:var(--text-secondary);font-size:var(--font-size-base);line-height:var(--line-height-base);max-width:60ch}.service-row::details-content{block-size:0;overflow:clip;transition:block-size var(--duration-base) var(--ease-emphasized),content-visibility var(--duration-base) allow-discrete}.service-row[open]::details-content{block-size:auto}.testimonial{background:var(--surface-card);border-radius:var(--radius-xl);padding:var(--space-6);display:flex;flex-direction:column}.testimonial--marquee{width:320px;flex:0 0 auto}.testimonial blockquote{margin:var(--space-3) 0 var(--space-6);font:var(--font-weight-regular) var(--font-size-sm)/1.5 var(--font-sans);color:var(--text-primary)}.testimonial__author{display:flex;align-items:center;gap:var(--space-3);margin-top:auto}.testimonial__avatar{width:40px;height:40px;border-radius:var(--radius-pill);object-fit:cover;background:var(--surface-chip)}.testimonial cite{font-style:normal;font-size:var(--font-size-sm);color:var(--text-primary)}.stat{display:flex;flex-direction:column;gap:var(--space-2)}.stat__value{font:var(--font-weight-light) var(--font-size-stat)/var(--line-height-tight) var(--font-sans);letter-spacing:var(--letter-spacing-6);color:var(--text-primary)}.stat__label{font:var(--font-weight-semibold) var(--font-size-md)/1.3 var(--font-sans);color:var(--text-primary)}.stat__desc{font-size:var(--font-size-sm);color:var(--text-secondary);max-width:28ch}.avatar{width:40px;height:40px;border-radius:var(--radius-pill);object-fit:cover;background:var(--color-ink-300);display:inline-grid;place-items:center;font:var(--font-weight-medium) var(--font-size-sm)/1 var(--font-sans);color:var(--text-primary)}.lucide{display:inline-block;vertical-align:middle;flex:0 0 auto}.hp-estimate__card form{display:grid;gap:var(--space-5)}.choice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3)}.choice-tile{display:flex;align-items:center;gap:var(--space-3);cursor:pointer;padding:var(--space-4) var(--space-5);background:var(--surface-input);border:1px solid var(--border-subtle);border-radius:var(--radius-md);font:var(--font-weight-medium) var(--font-size-sm)/1.2 var(--font-sans);color:var(--text-primary);transition:border-color var(--duration-fast) var(--ease-standard),background var(--duration-fast) var(--ease-standard)}.choice-tile:hover{border-color:var(--border-strong)}.choice-tile input{accent-color:var(--primary);width:18px;height:18px;flex:0 0 auto;margin:0}.choice-tile:has(input:checked){border-color:var(--primary);background:var(--primary-subtle)}@media (max-width:540px){.choice-grid{grid-template-columns:1fr}}.hp-form__messages{display:flex;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-5)}.hp-alert{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--font-size-sm);line-height:1.4}.hp-alert--success{background:var(--primary-subtle);color:var(--primary-on-subtle)}.hp-alert--danger,.hp-alert--error{background:var(--brand-50);color:var(--brand-700);border:1px solid var(--brand-200)}.hp-alert--info{background:var(--surface-card);color:var(--text-secondary)}.invalid-feedback{display:none;font-size:var(--font-size-sm);color:var(--primary-on-subtle);margin-top:2px}form.was-validated .field input:invalid,form.was-validated .field select:invalid,form.was-validated .field textarea:invalid{border-color:var(--primary)}form.was-validated .field input:invalid ~ .invalid-feedback,form.was-validated .field select:invalid ~ .invalid-feedback,form.was-validated .field textarea:invalid ~ .invalid-feedback{display:block}.ts-wrapper{width:100%}.ts-wrapper.single .ts-control,.ts-wrapper .ts-control{min-height:40px;padding:var(--space-4);background:var(--surface-input);color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);font:var(--font-weight-regular) var(--font-size-sm)/1.4 var(--font-sans);box-shadow:none}.ts-wrapper.focus .ts-control{border-color:var(--focus);box-shadow:0 0 0 2px var(--focus)}.ts-wrapper.is-invalid .ts-control{border-color:var(--primary)}.ts-wrapper.is-invalid ~ .invalid-feedback{display:block}.ts-control input::placeholder{color:var(--text-tertiary)}.ts-dropdown{border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);background:var(--surface-card-alt);margin-top:4px}.ts-dropdown .option:hover,.ts-dropdown .create:hover,.ts-dropdown .active{background:var(--surface-card);color:var(--text-primary)}