:root{--bg:#fff;--raised:#f5f5f7;--ivory:#1d1d1f;--soft:#3a3a3f;--muted:#5f5f66;--line:#d2d2d7;--line-strong:#a1a1a6;--action:#0a5ce6;--action-hover:#0747b3;--bright:#0a5ce6;--error:#b3261e;--ink:#1d1d1f;--on-dark:#fff;--on-dark-soft:#ffffffdb;--ui:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--display:var(--ui);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:var(--ui);color:var(--ivory);background:var(--bg);font-synthesis:none;-webkit-font-smoothing:antialiased;font-size:100%}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);min-width:320px;color:var(--ivory);margin:0}button,input,select,textarea{font:inherit;color:inherit}input,textarea{caret-color:var(--bright)}::selection{background:var(--action);color:#fff}:focus-visible{outline:2px solid var(--bright);outline-offset:2px}a{color:var(--bright)}p{margin:0}.num{font-variant-numeric:tabular-nums}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.icon{flex:none;display:block}.skip-link{z-index:20;background:var(--ink);color:#fff;border-radius:10px;padding:12px 16px;font-weight:600;text-decoration:none;position:fixed;top:8px;left:8px;transform:translateY(-200%)}.skip-link:focus{transform:none}.studio{height:100vh;grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr) 380px;height:100dvh;display:grid;overflow:hidden}.map-frame{background:#1a231d;grid-area:1/1;min-height:0;position:relative}.map-frame .map-canvas{position:absolute;inset:0}.map-frame.is-loading:after{content:"";pointer-events:none;animation:1.6s ease-in-out infinite frame-pulse;position:absolute;inset:0;box-shadow:inset 0 0 0 3px #7fb98a00}@keyframes frame-pulse{50%{box-shadow:inset 0 0 0 3px #7fb98a8c}}.map-failed{background:var(--raised);border-radius:12px;padding:14px 16px;font-size:.9375rem;position:absolute;inset:auto 16px 48px}.map-attribution{max-width:100%;color:var(--on-dark-soft);pointer-events:none;background:#1d1d1fbd;border-top-left-radius:8px;padding:4px 8px;font-size:.6875rem;line-height:1.35;position:absolute;bottom:0;right:0}.map-hint{z-index:2;background:#fff;border-radius:12px;max-width:420px;padding:14px 16px;position:absolute;bottom:40px;left:16px;box-shadow:0 10px 30px #1d1d1f47}.map-hint p{font-size:.9375rem;line-height:1.45}.map-hint-actions{gap:8px;margin-top:12px;display:flex}.maplibregl-marker.zone-label{pointer-events:none}.zone-label{color:var(--on-dark);font:600 .75rem/1.2 var(--ui);white-space:nowrap;font-variant-numeric:tabular-nums;background:#1d1d1fd1;border-radius:12px;justify-items:center;gap:1px;padding:5px 9px;display:grid}.zone-label span{color:var(--on-dark-soft);font-weight:500}.zone-label.is-off{background:#1d1d1fa3;outline:1px dashed #ffffffa6}.tools{z-index:3;background:#1d1d1feb;border-radius:12px;flex-wrap:wrap;grid-area:1/1;place-self:start;gap:4px;max-width:calc(100% - 32px);margin:16px;padding:6px;display:flex;box-shadow:0 8px 24px #0000004d}.tool{min-height:44px;color:var(--on-dark);cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;background:0 0;border:0;border-radius:10px;align-items:center;gap:7px;padding:0 12px;font-size:.8125rem;font-weight:600;transition:background-color .18s,color .18s;display:inline-flex}.tool:hover:not(:disabled){background:#ffffff24}.tool:focus-visible{outline-color:#fff}.tool.is-on{background:var(--action)}.tool:disabled{opacity:.4;cursor:not-allowed}.panel{background:var(--bg);border-left:1px solid var(--line);flex-direction:column;grid-area:1/2;min-height:0;display:flex}.panel-top{-webkit-backdrop-filter:blur(18px)saturate(160%);backdrop-filter:blur(18px)saturate(160%);color:var(--ink);border-bottom:1px solid var(--line);background:#ffffffd1;justify-content:space-between;align-items:center;gap:12px;padding:8px 16px 8px 24px;display:flex}.brand{min-height:44px;color:var(--ink);align-items:center;text-decoration:none;display:flex}.brand img{width:auto;max-width:168px;height:auto;max-height:26px;display:block}.reach{gap:2px;display:flex}.reach a{min-width:44px;min-height:44px;color:var(--ink);border-radius:10px;align-items:center;gap:6px;padding:0 8px;font-size:.875rem;font-weight:700;text-decoration:none;transition:background-color .18s;display:inline-flex}.reach a:hover{background:var(--raised)}.reach a:focus-visible,.brand:focus-visible{outline-color:var(--bright)}.progress{align-items:center;gap:12px;padding:16px 24px 0;display:flex}.progress-segments{flex:1;gap:4px;display:flex}.progress-segments span{background:var(--line);border-radius:2px;flex:1;height:3px;transition:background-color .25s}.progress-segments .is-done{background:#8fbf9c}.progress-segments .is-now{background:var(--action)}.progress-name{color:var(--muted);flex:none;font-size:.8125rem}.panel-body{overscroll-behavior:contain;flex:1;min-height:0;padding:22px 24px 24px;overflow-y:auto}.panel-body h1{font-family:var(--display);letter-spacing:-.025em;text-wrap:balance;margin:0 0 12px;font-size:2.125rem;font-weight:600;line-height:1}.panel-body h1:focus{outline:none}.matched-address{color:var(--ivory);margin:0 0 .5rem;font-size:.875rem;font-weight:800}.lede{color:var(--soft);font-size:1.0625rem;line-height:1.5}.muted{color:var(--muted);margin-top:12px;font-size:.875rem;line-height:1.5}.subhead{margin:24px 0 6px;font-size:1rem;font-weight:600}.panel-body .subhead+p{color:var(--soft);font-size:.9375rem;line-height:1.5}.panel-actions{padding:12px 24px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--bg);justify-content:space-between;gap:10px;display:flex}.panel-actions .button--primary{flex:1;max-width:220px;margin-left:auto}.panel-foot{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px 14px;margin-top:32px;font-size:.75rem;display:flex}.text-button{min-height:44px;color:var(--soft);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0;font-size:.75rem;text-decoration:underline}.button{cursor:pointer;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:0 18px;font-size:.9375rem;font-weight:600;line-height:1;text-decoration:none;transition:background-color .18s,border-color .18s,color .18s;display:inline-flex}.button--primary{background:var(--action);color:#fff}.button--primary:hover:not(:disabled){background:var(--action-hover)}.button--outline{border-color:var(--line-strong);color:var(--ivory);background:0 0}.button--outline:hover:not(:disabled){border-color:var(--ivory)}.button--quiet{color:var(--soft);background:0 0}.button--quiet:hover:not(:disabled){background:var(--raised);color:var(--ivory)}.button--small{min-height:44px;padding:0 12px;font-size:.8125rem}.button--block{width:100%}.button:disabled{opacity:.45;cursor:not-allowed}.field{margin-top:16px}.field-label{color:var(--soft);margin-bottom:6px;font-size:.8125rem;font-weight:600;display:block}.text-input{border:1px solid var(--line-strong);width:100%;min-height:48px;color:var(--ivory);background:#fff;border-radius:10px;padding:12px 14px;font-size:1rem;line-height:1.3;transition:border-color .18s;display:block}.text-input::placeholder{color:#66726a}.text-input:focus{border-color:var(--bright);box-shadow:0 0 0 1px var(--bright);outline:none}.text-input[aria-invalid=true]{border-color:var(--error)}textarea.text-input{resize:vertical}select.text-input{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='%230E1712' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 10l5 5 5-5'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;padding-right:40px}.field-error{color:var(--error);margin-top:6px;font-size:.8125rem}.inline-field{gap:8px;display:flex}.inline-field .text-input{flex:1;min-width:0}.find-form{gap:12px;margin-top:20px;display:grid}.address-field{position:relative}.suggestions{z-index:5;border:1px solid var(--line-strong);background:#fff;border-radius:10px;margin:6px 0 0;padding:4px;list-style:none;position:absolute;top:100%;left:0;right:0;box-shadow:0 14px 30px #1d1d1f2e}.suggestions li{cursor:pointer;border-radius:12px;align-items:center;min-height:44px;padding:8px 12px;font-size:.9375rem;line-height:1.3;display:flex}.suggestions li.is-active{background:var(--raised)}.skeleton{gap:10px;margin-top:20px;display:grid}.skeleton span{background:linear-gradient(90deg,var(--raised) 0%,#e6e6ea 50%,var(--raised) 100%);background-size:200% 100%;border-radius:4px;height:12px;animation:1.4s ease-in-out infinite shimmer;display:block}.skeleton .short{width:60%}@keyframes shimmer{to{background-position:-200% 0}}.fallback{border-top:1px solid var(--line);margin-top:22px;padding-top:18px}.fallback>p:first-child{font-size:1rem;line-height:1.5}.stack{gap:8px;margin-top:14px;display:grid}.size-form{margin-top:14px}.contact-actions{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.notice{border:1px solid var(--line-strong);background:var(--raised);border-radius:10px;margin-top:14px;padding:12px 14px;font-size:.9375rem;line-height:1.45}.notice--preview{border-color:var(--action);background:#e9f3eb;font-weight:600}.notice--error{border-color:var(--error)}.notice--error .button{margin-top:10px}.zone-list{margin:18px 0 0;padding:0;list-style:none}.zone-row{border-top:1px solid var(--line);padding:12px 0}.zone-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.zone-name{gap:2px;display:grid}.zone-name strong{font-size:.9375rem;font-weight:600}.zone-name span{color:var(--muted);font-size:.8125rem}.zone-row.is-on .zone-name span{color:var(--soft)}.surface-picker{border:0;grid-template-columns:repeat(4,1fr);gap:6px;min-width:0;margin:10px 0 0;padding:0;display:grid}.surface-option{border:1px solid var(--line);text-align:center;cursor:pointer;border-radius:10px;justify-items:center;gap:6px;min-height:44px;padding:6px 4px 8px;font-size:.75rem;font-weight:500;transition:border-color .18s,background-color .18s;display:grid;position:relative}.surface-option input{opacity:0;width:1px;height:1px;position:absolute}.surface-option:hover{border-color:var(--line-strong)}.surface-option.is-on{border-color:var(--action);box-shadow:inset 0 0 0 1px var(--action);background:#e9f3eb}.surface-option:focus-within{outline:2px solid var(--bright);outline-offset:2px}.surface-swatch{background-size:64px 64px;border-radius:6px;width:100%;height:26px}.totals{border-top:1px solid var(--line);margin-top:18px;padding-top:12px}.totals dl{margin:0}.totals-row{justify-content:space-between;gap:12px;padding:4px 0;font-size:.9375rem;display:flex}.totals-row dd{margin:0}.totals-row--all{border-top:1px solid var(--line);margin-top:6px;padding-top:10px;font-size:1.0625rem;font-weight:600}.honest-line{color:var(--muted);margin-top:10px;font-size:.8125rem;line-height:1.45}.use-grid{grid-template-columns:1fr 1fr;gap:8px;margin-top:18px;display:grid}.toggle{border:1px solid var(--line);min-height:48px;color:var(--ivory);text-align:left;cursor:pointer;background:0 0;border-radius:10px;align-items:center;gap:10px;padding:0 12px;font-size:.9375rem;transition:border-color .18s,background-color .18s;display:flex}.toggle:hover{border-color:var(--line-strong)}.toggle-mark{border:1px solid var(--line-strong);color:#0000;border-radius:5px;place-items:center;width:20px;height:20px;transition:background-color .18s;display:grid}.toggle.is-on{border-color:var(--action);background:#e9f3eb}.toggle.is-on .toggle-mark{border-color:var(--action);background:var(--action);color:#fff}.photo-preview{margin:16px 0 0}.photo-preview img{object-fit:cover;border-radius:10px;width:100%;max-height:260px;display:block}.consent-form{margin-top:4px}.checks{margin-top:18px}.check{cursor:pointer;grid-template-columns:24px 1fr;align-items:start;gap:10px;min-height:44px;padding:8px 0;font-size:.9375rem;line-height:1.45;display:grid}.check input{width:20px;height:20px;accent-color:var(--action);margin:2px 0 0}.check em{color:var(--muted);font-size:.8125rem;font-style:normal}.fine-print{color:var(--muted);margin-top:10px;font-size:.8125rem;line-height:1.5}.snapshot{margin:16px 0 0}.snapshot img{border-radius:10px;width:100%;display:block}.snapshot-empty{aspect-ratio:4/3;background:var(--raised);border-radius:10px}.snapshot figcaption{color:var(--muted);margin-top:8px;font-size:.8125rem}.price-line{margin-top:14px;font-size:1rem;font-weight:600}.cost-link{margin-top:8px;font-size:.9375rem}.cost-link a{min-height:44px;color:var(--ink);text-decoration:underline;-webkit-text-decoration-color:var(--action);text-decoration-color:var(--action);text-underline-offset:4px;align-items:center;font-weight:700;text-decoration-thickness:2px;display:inline-flex}@media (max-width:899px){.studio{grid-template-rows:56dvh minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.studio.screen-1{grid-template-rows:40dvh minmax(0,1fr)}.studio.screen-3,.studio.screen-4,.studio.screen-5{grid-template-rows:28dvh minmax(0,1fr)}.map-frame{grid-area:1/1}.tools{flex-wrap:nowrap;grid-area:1/1;justify-self:stretch;gap:2px;max-width:none;margin:8px;padding:4px}.tool{text-align:center;flex-direction:column;flex:1 1 0;justify-content:center;gap:3px;min-width:0;min-height:52px;padding:4px 2px;font-size:.6875rem;line-height:1.15}.panel{z-index:4;border-left:0;border-radius:12px 12px 0 0;grid-area:2/1;margin-top:-12px;position:relative;overflow:hidden;box-shadow:0 -10px 30px #00000059}.panel-top{padding:4px 12px 4px 18px}.brand img{max-height:24px}.progress{padding:12px 18px 0}.panel-body{padding:16px 18px 20px}.panel-body h1{margin-bottom:6px;font-size:1.625rem}.lede{font-size:.9375rem;line-height:1.45}.panel-actions{padding:10px 18px calc(10px + env(safe-area-inset-bottom))}.map-hint{max-width:none;bottom:36px;left:8px;right:8px}.map-attribution{padding:3px 6px;font-size:.625rem;bottom:12px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.studio-error{background:var(--raised);place-items:center;min-height:100%;padding:24px;display:grid}.studio-error-panel{border:1px solid var(--line);background:var(--bg);border-radius:12px;width:100%;max-width:420px;padding:24px}.studio-error-panel .contact-actions{margin-top:18px}.map-notice{z-index:2;max-width:360px;color:var(--on-dark);pointer-events:none;background:#1d1d1fe0;border-radius:12px;padding:10px 14px;font-size:.8125rem;line-height:1.4;position:absolute;bottom:40px;left:16px}.map-hint .map-hint-note{color:var(--muted);margin-top:8px;font-size:.8125rem}@media (max-width:899px){.map-notice{max-width:none;bottom:36px;left:8px;right:8px}}
