*,*:before,*:after{box-sizing:border-box}:root{--font-sans: "Poppins", sans-serif;--black: #0b0c0c;--text: #1d1d1b;--muted: #626a6e;--line: #d6d6d6;--line-strong: #90979a;--surface: #ffffff;--surface-glass: rgba(255, 255, 255, .86);--soft: #f1f1f1;--soft-2: #f8f8f8;--focus: #ffdd00;--crimson: #990033;--error: #b10e1e;--error-soft: #fff3f4;--success: #176c43;--success-soft: #edf8f1;--shadow: 0 18px 44px rgba(11, 12, 12, .12);--shadow-soft: 0 10px 24px rgba(11, 12, 12, .08);--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.25rem;--text-xl: 1.75rem;--text-display: 2.5rem;font-family:var(--font-sans);color:var(--text)}html{min-height:100%;background:#f7f8f7;scroll-behavior:smooth}html,body,#root{min-height:100%}body{min-height:100%;margin:0;font-family:var(--font-sans);font-size:var(--text-base);line-height:1.5;color:var(--text);background-color:#f7f8f7;background-image:linear-gradient(rgba(11,12,12,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(11,12,12,.045) 1px,transparent 1px),linear-gradient(rgba(11,12,12,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(11,12,12,.025) 1px,transparent 1px);background-size:32px 32px,32px 32px,160px 160px,160px 160px;background-position:-1px -1px;background-attachment:fixed;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}#root{min-height:100vh}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}button:focus,a:focus,input:focus,textarea:focus,dialog:focus{outline:none}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,[tabindex="-1"]:focus-visible{outline:3px solid var(--focus);outline-offset:3px;box-shadow:0 0 0 6px var(--black)}p,li{font-size:var(--text-base);line-height:1.65;color:var(--muted)}a{color:var(--crimson);font-weight:700;text-underline-offset:.18em}svg{width:1.1em;height:1.1em;stroke-width:2;flex:0 0 auto}.app-shell{min-height:100vh;display:flex;flex-direction:column}.skip-link{position:fixed;left:1rem;top:-5rem;z-index:30;background:var(--focus);color:var(--black);border:2px solid var(--black);padding:.75rem 1rem;font-weight:800;text-decoration:none}.skip-link:focus-visible{top:1rem}.app-header{min-height:82px;padding:max(1rem,env(safe-area-inset-top)) clamp(1rem,3vw,2rem) 1rem;background:#fffffff2;border-bottom:2px solid var(--black);display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;position:sticky;top:0;z-index:10;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.brand-panel{display:flex;align-items:center;gap:1.25rem;min-width:0}.homes-logo{display:block;width:112px;max-height:58px;object-fit:contain;flex:0 0 auto}.logo-fallback{display:inline-flex;align-items:center;min-height:48px;color:var(--black);font-size:var(--text-lg);font-weight:800}.brand-copy{min-width:0}.brand-copy h1{margin:0;color:var(--black);font-size:var(--text-xl);line-height:1.2;font-weight:800;letter-spacing:-.01em}.brand-copy p{margin:.2rem 0 0;color:var(--muted);font-size:var(--text-sm);font-weight:700}.header-actions{display:flex;align-items:center;gap:1rem}.header-meta{border-left:1px solid var(--line);padding-left:1rem;color:var(--muted);font-size:var(--text-xs);line-height:1.35;text-align:right}.header-meta strong{display:block;color:var(--black);font-size:var(--text-sm);font-weight:800}.time-badge{min-height:44px;border:1px solid var(--black);background:var(--surface);color:var(--black);display:inline-flex;align-items:center;gap:.45rem;padding:0 .75rem;font-size:var(--text-sm);font-weight:800;white-space:nowrap}.top-progress{height:5px;background:#d9dcda;position:sticky;top:82px;z-index:9}.top-progress span{display:block;height:100%;background:var(--black);transition:width .24s ease-out}.main-shell{width:100%;max-width:1500px;margin:0 auto;padding:1.5rem clamp(1rem,3vw,2rem) 3rem;flex:1 0 auto}.consultation-stage{display:grid;gap:1rem;align-items:start}.glass-panel{background:var(--surface-glass);border:1px solid rgba(11,12,12,.2);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(18px) saturate(1.08);backdrop-filter:blur(18px) saturate(1.08)}.form-panel{min-width:0;padding:clamp(1rem,2.5vw,2rem);animation:fade-up .18s ease-out}@keyframes fade-up{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.form-titlebar{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding-bottom:1.5rem;border-bottom:1px solid rgba(11,12,12,.2)}.eyebrow{display:block;margin-bottom:.35rem;color:var(--crimson);font-size:var(--text-xs);line-height:1.3;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.form-titlebar h2{max-width:26ch;margin:0;color:var(--black);font-size:var(--text-xl);line-height:1.25;font-weight:800;letter-spacing:-.01em}.form-titlebar p{max-width:65ch;margin:.45rem 0 0}.step-count{flex:0 0 auto;border:1px solid var(--line-strong);background:#ffffffd1;color:var(--black);padding:.5rem .7rem;font-size:var(--text-sm);font-weight:800;font-variant-numeric:tabular-nums}.welcome-stack,.field-stack,.review-stack{display:grid;gap:1.5rem;margin-top:1.5rem}.lead-block{max-width:70ch}.lead-block h3,.info-block h3,.launch-details h3,.review-section h3,.privacy-panel h3,.verification-panel h3{margin:0;color:var(--black);font-size:var(--text-lg);line-height:1.3;font-weight:800}.lead-block p{margin:.75rem 0 0}.welcome-grid{display:grid;grid-template-columns:1fr;gap:.75rem}.info-block{display:flex;align-items:flex-start;gap:.85rem;min-height:100%;border:1px solid var(--line-strong);background:#ffffffc7;padding:1rem}.info-block>svg{width:28px;height:28px;margin-top:.1rem;color:var(--crimson)}.info-block h3{font-size:var(--text-base)}.info-block p{margin:.35rem 0 0}.launch-details{border-left:5px solid var(--black);background:var(--soft-2);padding:1.25rem}.launch-details dl{display:grid;gap:.75rem;margin:1rem 0 0}.launch-details dl div{display:grid;gap:.2rem;padding-top:.75rem;border-top:1px solid var(--line)}.launch-details dt{color:var(--muted);font-size:var(--text-sm);font-weight:700}.launch-details dd{margin:0;color:var(--black);font-size:var(--text-base);font-weight:700}.config-note{margin:.6rem 0 0;color:#5c4a00;font-size:var(--text-sm);font-weight:600}.field{display:grid;gap:.55rem;padding-top:1.5rem;border-top:1px solid rgba(11,12,12,.17)}.field:first-child{padding-top:0;border-top:0}.field-label-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.field-label-row label{max-width:65ch;color:var(--black);font-size:var(--text-base);line-height:1.5;font-weight:800}.field-label-row>span,.matrix-fieldset legend>span{flex:0 0 auto;border:1px solid var(--line);background:var(--soft);color:var(--muted);padding:.25rem .45rem;font-size:var(--text-xs);font-weight:800;text-transform:uppercase;letter-spacing:.04em}.field-help{max-width:70ch;margin:0;color:var(--muted);font-size:var(--text-sm);line-height:1.55;font-weight:600}input[type=text],input[type=email],textarea{width:100%;border:1px solid var(--line-strong);background:#ffffffeb;color:var(--black);padding:.75rem;font-size:var(--text-base);line-height:1.5;transition:background-color .12s ease,border-color .12s ease}input[type=text],input[type=email]{min-height:52px}textarea{min-height:148px;resize:vertical}input[type=text]:hover,input[type=email]:hover,textarea:hover{background:var(--surface);border-color:var(--black)}input[aria-invalid=true],textarea[aria-invalid=true]{border:3px solid var(--error)}.option-grid{display:grid;grid-template-columns:1fr;gap:.65rem}.option-tile{min-height:52px;border:1px solid var(--line-strong);background:#ffffffd6;color:var(--black);display:flex;align-items:center;gap:.7rem;padding:.7rem .8rem;font-weight:700;cursor:pointer;transition:transform .12s ease,border-color .12s ease,background-color .12s ease}.option-tile:hover{border-color:var(--black);background:var(--surface)}.option-tile:has(input:checked){border-color:var(--black);background:var(--black);color:var(--surface);box-shadow:var(--shadow-soft)}.option-tile:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:3px;box-shadow:0 0 0 6px var(--black)}.option-tile.disabled{opacity:.48;cursor:not-allowed}.option-tile input{width:21px;height:21px;flex:0 0 auto;accent-color:var(--black)}.option-tile:has(input:checked) input{accent-color:var(--focus)}.option-tile input:focus-visible{outline:none;box-shadow:none}.selection-count{grid-column:1 / -1;margin:.1rem 0 0;color:var(--muted);font-size:var(--text-sm);font-weight:700;font-variant-numeric:tabular-nums}.word-count{margin:0;color:var(--muted);font-size:var(--text-sm);font-weight:700;text-align:right;font-variant-numeric:tabular-nums}.word-count.over{color:var(--error)}.field-error,.matrix-error{margin:0;color:var(--error);font-size:var(--text-sm);line-height:1.5;font-weight:800}.field-error:before,.matrix-error:before{content:"Error: "}.has-error>.field-label-row label{color:var(--error)}.declaration-check{min-height:68px;border:2px solid var(--black);background:var(--surface);display:flex;align-items:flex-start;gap:.85rem;padding:1rem;cursor:pointer}.declaration-check:hover{background:var(--soft-2)}.declaration-check:has(input:checked){background:var(--black);color:#fff}.declaration-check:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:3px;box-shadow:0 0 0 6px var(--black)}.declaration-check input{width:23px;height:23px;flex:0 0 auto;margin-top:.1rem;accent-color:var(--focus)}.declaration-check input:focus-visible{outline:none;box-shadow:none}.declaration-check strong,.declaration-check small{display:block}.declaration-check strong{font-size:var(--text-base);line-height:1.5}.declaration-check small{margin-top:.25rem;color:inherit;opacity:.78;font-size:var(--text-sm);line-height:1.45}.matrix-fieldset{min-width:0;margin:0;padding:0;border:0}.matrix-fieldset legend{width:100%;color:var(--black);font-size:var(--text-base);font-weight:800;display:flex;align-items:center;justify-content:space-between;gap:1rem}.matrix-fieldset>.field-help{margin-top:.35rem}.matrix-wrap{margin-top:.8rem;overflow-x:auto;border:1px solid var(--line-strong);background:var(--surface);-webkit-overflow-scrolling:touch}.influence-matrix{width:100%;min-width:660px;border-collapse:collapse;font-size:var(--text-sm)}.influence-matrix th,.influence-matrix td{border-bottom:1px solid var(--line);padding:.7rem}.influence-matrix thead th{position:sticky;top:0;background:var(--soft);color:var(--black);font-size:var(--text-sm);font-weight:800;text-align:center}.influence-matrix thead th:first-child{text-align:left}.influence-matrix tbody th{width:44%;color:var(--black);font-size:var(--text-sm);line-height:1.4;font-weight:700;text-align:left}.influence-matrix tbody td{width:14%;text-align:center}.influence-matrix tbody tr:last-child th,.influence-matrix tbody tr:last-child td{border-bottom:0}.matrix-row:hover{background:var(--soft-2)}.matrix-row.invalid{background:var(--error-soft)}.matrix-error{display:block;margin-top:.3rem}.matrix-option{min-width:44px;min-height:44px;display:inline-grid;place-items:center;cursor:pointer}.matrix-option input{width:22px;height:22px;accent-color:var(--black)}.matrix-option:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:2px;box-shadow:0 0 0 5px var(--black)}.matrix-option input:focus-visible{outline:none;box-shadow:none}.matrix-option-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.step-actions{display:flex;justify-content:space-between;gap:.75rem;margin-top:1.75rem;padding-top:1.25rem;border-top:1px solid rgba(11,12,12,.2)}.primary-action,.secondary-action,.danger-action,.clear-draft,.text-button,.icon-button{min-height:48px;border:1px solid var(--black);display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:0 1rem;font-size:var(--text-sm);font-weight:800;transition:transform .12s ease,background-color .12s ease,color .12s ease,opacity .12s ease}.primary-action{background:var(--black);color:var(--surface)}.secondary-action{background:var(--surface);color:var(--black)}.danger-action{background:var(--error);border-color:var(--error);color:#fff}.primary-action:hover,.secondary-action:hover,.danger-action:hover{transform:translateY(-1px)}.primary-action:active,.secondary-action:active,.danger-action:active{transform:translateY(0)}.primary-action:disabled,.secondary-action:disabled{opacity:.42;transform:none}.spin{animation:spin .72s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.progress-rail{min-width:0}.progress-card{padding:1rem}.panel-heading{display:grid;gap:.75rem}.panel-heading h2{margin:0;color:var(--black);font-size:var(--text-lg);line-height:1.3;font-weight:800}.panel-heading p{margin:.25rem 0 0;color:var(--muted);font-size:var(--text-sm);font-weight:700;font-variant-numeric:tabular-nums}.save-status{min-height:36px;width:fit-content;border:1px solid var(--line);background:var(--soft);color:var(--black);display:inline-flex;align-items:center;gap:.4rem;padding:0 .6rem;font-size:var(--text-xs);font-weight:800}.save-status.saving{color:var(--muted)}.step-list{display:flex;gap:.55rem;overflow-x:auto;margin:1rem 0 0;padding:.2rem 0 .6rem;list-style:none;scrollbar-width:none}.step-list::-webkit-scrollbar{display:none}.step-list li{flex:0 0 auto}.step-button{min-height:68px;width:230px;border:1px solid rgba(11,12,12,.22);background:#ffffffb3;color:var(--black);display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:.75rem;padding:.65rem;text-align:left;transition:transform .12s ease,background-color .12s ease,border-color .12s ease}.step-button:hover{background:var(--surface);border-color:var(--black)}.step-button.active{background:var(--black);color:var(--surface);border-color:var(--black);box-shadow:var(--shadow-soft)}.step-button.complete:not(.active){background:#ffffffeb;border-color:var(--black)}.step-marker{width:38px;height:38px;border:1px solid currentColor;display:inline-grid;place-items:center;font-size:var(--text-sm);font-weight:800;font-variant-numeric:tabular-nums}.step-marker svg{width:19px;height:19px}.step-copy{min-width:0;display:grid;gap:.1rem}.step-copy strong{font-size:var(--text-sm);line-height:1.25;font-weight:800}.step-copy span{color:inherit;opacity:.72;font-size:var(--text-xs);line-height:1.35;font-weight:600}.clear-draft{width:100%;margin-top:.6rem;border-color:transparent;background:transparent;color:var(--muted)}.clear-draft:hover{border-color:var(--line-strong);background:var(--soft);color:var(--error)}.review-warning,.review-ready,.submit-error{border-left:5px solid var(--error);background:var(--error-soft);padding:1rem}.review-ready{display:flex;gap:.8rem;border-left-color:var(--success);background:var(--success-soft)}.review-ready>svg{width:27px;height:27px;color:var(--success)}.review-warning strong,.review-ready strong,.submit-error strong{color:var(--black);font-size:var(--text-base);font-weight:800}.review-warning p,.review-ready p,.submit-error p{margin:.3rem 0 0}.submit-error{margin-top:1.5rem}.review-section{border:1px solid var(--line-strong);background:#fffc}.review-heading{min-height:62px;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1rem;border-bottom:1px solid var(--line)}.review-heading h3{font-size:var(--text-base)}.text-button{min-height:44px;border-color:transparent;background:transparent;color:var(--crimson);padding:0 .5rem;text-decoration:underline;text-underline-offset:.2em}.text-button:hover{background:var(--soft)}.review-section dl{margin:0}.review-row{display:grid;gap:.3rem;padding:.85rem 1rem;border-top:1px solid var(--line)}.review-row:first-child{border-top:0}.review-row.invalid{border-left:4px solid var(--error);background:var(--error-soft)}.review-row dt{color:var(--muted);font-size:var(--text-sm);line-height:1.4;font-weight:700}.review-row dd{margin:0;color:var(--black);font-size:var(--text-base);line-height:1.55;font-weight:600;overflow-wrap:anywhere;white-space:pre-wrap}.privacy-panel{display:flex;align-items:flex-start;gap:.9rem;border:1px solid var(--black);background:var(--soft-2);padding:1rem}.privacy-panel>svg{width:28px;height:28px;color:var(--crimson)}.privacy-panel h3,.verification-panel h3{font-size:var(--text-base)}.privacy-panel p{margin:.35rem 0 0}.verification-panel{border-top:1px solid var(--line);padding-top:1.25rem}.turnstile-box{min-height:68px;margin-top:.75rem}.site-footer{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;border-top:1px solid rgba(11,12,12,.16);background:#ffffffeb;padding:1.25rem clamp(1rem,3vw,2rem) max(1.25rem,env(safe-area-inset-bottom));color:var(--muted);font-size:var(--text-xs);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.site-footer strong{color:var(--crimson)}.clear-dialog{width:min(560px,calc(100vw - 2rem));border:2px solid var(--black);background:var(--surface);color:var(--text);padding:1.25rem;box-shadow:var(--shadow)}.clear-dialog::backdrop{background:#0b0c0c94;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.dialog-header h2{margin:0;color:var(--black);font-size:var(--text-xl);line-height:1.25}.icon-button{width:48px;padding:0;background:var(--surface);color:var(--black)}.clear-dialog>p{margin:1rem 0 0}.dialog-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--line)}.success-screen{min-height:100vh;display:grid;place-items:center;padding:1rem}.success-card{width:min(680px,100%);border:2px solid var(--black);background:var(--surface-glass);padding:clamp(1.25rem,4vw,2.5rem);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.success-card>img{display:block;width:130px;max-height:72px;object-fit:contain;margin-bottom:1.5rem}.success-icon{width:52px;height:52px;color:var(--success);margin-bottom:.8rem}.success-card h1{max-width:20ch;margin:0;color:var(--black);font-size:var(--text-display);line-height:1.15;font-weight:800;letter-spacing:-.02em}.success-card>p:not(.eyebrow){max-width:60ch;margin:.75rem 0 0}.receipt{display:grid;gap:0;margin:1.5rem 0;border:1px solid var(--line-strong)}.receipt div{display:grid;gap:.2rem;padding:.85rem 1rem;border-top:1px solid var(--line)}.receipt div:first-child{border-top:0}.receipt dt{color:var(--muted);font-size:var(--text-sm);font-weight:700}.receipt dd{margin:0;color:var(--black);font-size:var(--text-base);font-weight:800;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}@media(min-width:640px){.welcome-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.option-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.review-row{grid-template-columns:minmax(180px,.38fr) minmax(0,1fr);gap:1rem}.launch-details dl{grid-template-columns:repeat(3,minmax(0,1fr))}.launch-details dl div{padding:0 0 0 .75rem;border-top:0;border-left:1px solid var(--line)}.launch-details dl div:first-child{padding-left:0;border-left:0}}@media(min-width:1024px){.consultation-stage{grid-template-columns:minmax(0,1fr) minmax(350px,430px)}.progress-rail{position:sticky;top:112px}.step-list{display:grid;overflow:visible;padding:0}.step-list li,.step-button{width:100%}.panel-heading{grid-template-columns:minmax(0,1fr) auto;align-items:start}}@media(max-width:760px){.app-header{min-height:76px}.top-progress{top:76px}.homes-logo{width:82px}.brand-panel{gap:.75rem}.brand-copy h1{font-size:var(--text-lg)}.header-meta,.time-badge{display:none}.main-shell{padding-top:1rem}.form-titlebar{display:grid}.step-count{grid-row:1;width:fit-content}.step-actions,.dialog-actions{display:grid;grid-template-columns:1fr}.primary-action,.secondary-action,.danger-action{width:100%}.success-card h1{font-size:var(--text-xl)}}@media(max-width:620px){.matrix-wrap{overflow:visible;border:0;background:transparent}.influence-matrix{min-width:0;display:block}.influence-matrix thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.influence-matrix tbody{display:grid;gap:.75rem}.influence-matrix tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--line-strong);background:var(--surface)}.influence-matrix tbody th{width:auto;grid-column:1 / -1;border-bottom:1px solid var(--line);padding:.85rem}.influence-matrix tbody td{width:auto;border-bottom:1px solid var(--line);padding:0}.influence-matrix tbody td:nth-of-type(odd){border-right:1px solid var(--line)}.matrix-option{width:100%;min-height:54px;display:flex;justify-content:flex-start;gap:.6rem;padding:.6rem .75rem}.matrix-option-text{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto;white-space:normal;color:var(--black);font-size:var(--text-sm);font-weight:700}}@media(pointer:coarse){.primary-action,.secondary-action,.danger-action,.clear-draft,.text-button,.icon-button,.step-button,.option-tile{min-height:48px}}@media(hover:none){.primary-action:hover,.secondary-action:hover,.danger-action:hover,.step-button:hover,.option-tile:hover{transform:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
