:root{--paper:#f0f0f0;--ink:#171717;--muted:#666;--green:#171717;--green-dark:#000;--copper:#555;--line:#dcdcdc;--wash:#f7f7f7;color:var(--ink);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#fff;font-family:DM Sans,sans-serif}*,:before,:after{box-sizing:border-box}html,body{min-width:0}body{min-height:100vh;margin:0}.brand-lockup{white-space:nowrap;align-items:center;gap:9px;display:inline-flex}.brand-lockup>span{font-size:17px;font-weight:650}.brand-logo{object-fit:contain;flex:none;width:34px;height:34px;display:block}.brand-lockup.compact .brand-logo{width:27px;height:27px}.brand-lockup.compact>span{font-size:14px}button,input,textarea{font:inherit}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,[role=checkbox]:focus-visible{outline:2px solid var(--copper);outline-offset:3px}.site-shell{flex-direction:column;width:100%;max-width:none;min-height:100dvh;margin:0;display:flex}.topbar{z-index:2;border-bottom:1px solid #eee;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:clamp(12px,2vw,28px);min-height:76px;padding:10px clamp(20px,7.2vw,110px);display:grid;position:relative}.topbar .brand{cursor:pointer;background:0 0;border:0;padding:0}.topbar .desktop-navigation{flex-wrap:nowrap;justify-content:center;align-items:center;gap:clamp(12px,1.7vw,26px);min-width:0;display:flex}.topbar .desktop-navigation a,.topbar .desktop-navigation button{color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;flex:none;padding:10px 0;font-size:clamp(11px,.9vw,13px);text-decoration:none}.topbar .desktop-navigation button.active{color:var(--green);font-weight:700}.topbar .desktop-navigation button:hover,.topbar .desktop-navigation a:hover{color:var(--green)}.nav-count{color:var(--copper);vertical-align:top;margin-left:4px;font-size:9px}.city-tag{color:var(--muted);white-space:nowrap;align-items:center;gap:8px;font-size:11px;display:flex}.city-tag>span,.live-dot{background:#555;border-radius:50%;width:7px;height:7px;display:inline-block}.menu-trigger{border:1px solid var(--line);cursor:pointer;background:#fff;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:44px;height:42px;padding:0;display:none}.menu-trigger span{background:var(--ink);width:18px;height:1px}.site-footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;gap:30px;width:100%;margin-top:auto;padding:23px clamp(20px,7.2vw,110px);font-size:10px;display:flex}.site-footer .brand{cursor:pointer;background:0 0;border:0;padding:0;font-size:15px}.mobile-menu-overlay{z-index:2000;background:#00000073;animation:.18s both fade-in;position:fixed;inset:0}.mobile-menu{z-index:2001;background:#fff;flex-direction:column;width:min(360px,88vw);max-height:100dvh;padding:24px;animation:.22s both mobile-menu-enter;display:flex;position:fixed;top:0;bottom:0;right:0;overflow-y:auto;box-shadow:-12px 0 36px #0000001a}.mobile-menu:focus{outline:none}.mobile-menu-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding-bottom:20px;display:flex}.mobile-menu-header h2{color:var(--ink);margin:0;font-family:Georgia,serif;font-size:24px;font-weight:400}.mobile-menu-close{cursor:pointer;background:#f5f5f5;border:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:26px;line-height:1;display:flex}.mobile-navigation{flex-direction:column;gap:0;padding-top:12px;display:flex}.mobile-navigation a,.mobile-navigation button{color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:0;border-bottom:1px solid #eee;justify-content:space-between;align-items:center;min-height:56px;padding:0 4px;font-size:16px;text-decoration:none;display:flex}.mobile-navigation [aria-current=page]{font-weight:700}.mobile-menu-city{color:var(--muted);margin-top:auto;padding-top:28px;font-size:12px}.eyebrow{color:var(--green);letter-spacing:1.8px;margin-bottom:22px;font-size:9px}.primary-link{background:var(--green);color:#fff;border-radius:2px;justify-content:space-between;align-items:center;gap:34px;min-height:50px;margin-top:16px;padding:0 20px;font-size:13px;font-weight:600;text-decoration:none;transition:background .2s,transform .2s;display:inline-flex}.primary-link:visited{color:#fff}.primary-link span{font-size:18px}.primary-link:hover,.step-submit:hover:not(:disabled){background:var(--green-dark);transform:translateY(-1px)}.step-submit{background:var(--green);color:#fff;cursor:pointer;border:0;justify-content:space-between;align-items:center;width:100%;min-height:42px;margin-top:17px;padding:0 14px;font-size:11px;font-weight:650;transition:background .2s,transform .2s;display:flex}.step-submit span{font-size:16px}.step-submit:disabled{cursor:not-allowed;background:#aaa}.quiet-button{border:1px solid var(--line);color:var(--green);cursor:pointer;background:#fff;min-height:35px;padding:0 12px;font-size:10px}.quiet-button:hover{background:#f3f3f3}.word-download{color:#171717;cursor:pointer;text-align:center;white-space:normal;background:#fff;border:1px solid #777;flex:none;justify-content:center;align-items:center;gap:8px;min-width:210px;max-width:100%;min-height:37px;margin:12px 0;padding:0 12px;font-size:10px;line-height:1.35;display:inline-flex}.word-download>span{flex:none}.word-download:hover{background:#eee}.word-download:disabled{cursor:progress;opacity:.65}.inline-error{color:#555;margin:10px 0 0;font-size:11px}.text-action{color:var(--green);cursor:pointer;text-underline-offset:3px;background:0 0;border:0;margin-top:13px;padding:0;font-size:10px;text-decoration:underline}.contact-form input,.contact-form textarea,.project-form input,.project-form textarea,.admin-login-form input{border:1px solid var(--line);background:#fff;border-radius:0;width:100%;min-height:38px;padding:9px 10px;font-size:11px}.contact-form textarea,.project-form textarea{resize:vertical;min-height:70px}.page-loading{color:var(--muted);justify-content:center;align-items:center;gap:10px;min-height:50vh;font-size:12px;display:flex}.page-loading span{border:2px solid var(--line);border-top-color:var(--green);border-radius:50%;width:17px;height:17px;animation:1s linear infinite spin}.hero{background:var(--paper);grid-template-columns:1fr 1fr;min-height:530px;display:grid;overflow:hidden}.hero-copy{padding:64px 7vw 44px 14%}.hero-copy .eyebrow{color:var(--green);letter-spacing:1.8px;margin-bottom:22px;font-size:9px}.hero h1,.portfolio-intro h1,.admin-login-copy h1,.admin-heading h1{color:var(--ink);letter-spacing:0;margin:0 0 21px;font-family:Georgia,Times New Roman,serif;font-size:58px;font-weight:400;line-height:1.04}.hero-description{color:#555;max-width:370px;font-size:14px;line-height:1.7}.hero-note{color:#666;grid-template-columns:22px 1fr 22px 1fr;align-items:center;gap:6px 10px;max-width:360px;margin-top:38px;font-size:10px;line-height:1.5;display:grid}.hero-note span:nth-child(odd){color:var(--copper);font-family:Georgia,serif;font-size:13px}.hero-image{background-image:url(https://images.unsplash.com/photo-1600210492486-724fe5c67fb0?auto=format&fit=crop&w=1600&q=85);min-height:530px}.image-caption{letter-spacing:1.1px;font-size:8px;bottom:24px}.image-caption b{color:var(--green);margin-right:7px}.image-index{color:#ffffffe6;font-family:Georgia,serif;font-size:13px;position:absolute;top:20px;right:23px}.estimate-section{width:100%;max-width:1240px;margin:0 auto;padding:80px 32px 92px}.section-heading{align-items:end;gap:24px}.section-heading .eyebrow{letter-spacing:1.5px;font-size:9px}.section-heading h2{color:var(--ink);font-size:36px}.section-heading>p{max-width:290px}.estimate-layout{grid-template-columns:minmax(0,1fr) 420px;align-items:start;gap:28px;padding-top:30px;display:grid}.chat-panel{border:1px solid var(--line);background:#fff;flex-direction:column;min-width:0;min-height:clamp(600px,78vh,900px);display:flex}.chat-panel-header{border-bottom:1px solid var(--line);background:#fafafa;justify-content:space-between;align-items:center;min-height:55px;padding:0 19px;display:flex}.chat-panel-header>div:first-child{color:#666;letter-spacing:1.2px;align-items:center;gap:8px;font-size:9px;font-weight:700;display:flex}.mode-switch{background:#eee;gap:2px;padding:3px;display:flex}.mode-switch button{color:#666;cursor:pointer;background:0 0;border:0;padding:7px 10px;font-size:10px}.mode-switch button.selected{color:var(--green);background:#fff;font-weight:700;box-shadow:0 1px 2px #00000014}.chat-log{scroll-behavior:smooth;flex-direction:column;flex:auto;gap:13px;min-height:0;padding:20px 20px 12px;display:flex;overflow-y:auto}.chat-line{align-items:flex-start;gap:9px;max-width:90%;animation:.28s both rise-in;display:flex}.chat-line p{color:#333;background:#f1f1f1;border-radius:0 9px 9px;margin:0;padding:10px 13px;font-size:12px;line-height:1.55}.chat-line.user{justify-content:flex-end;align-self:flex-end}.chat-line.user p{background:var(--green);color:#fff;border-radius:9px 0 9px 9px}.chat-avatar{background:var(--green);color:#fff;flex:0 0 23px;justify-content:center;align-items:center;height:23px;font-family:Georgia,serif;font-size:13px;display:inline-flex}.chat-avatar img{object-fit:cover;width:100%;height:100%}.chat-thinking{color:var(--muted);margin:0 0 0 33px;font-size:11px;font-style:italic}.chat-step{border-top:1px solid var(--line);flex:none;padding:17px 20px 20px}.step-label{color:var(--copper);letter-spacing:1.2px;margin:0 0 12px;font-size:9px;font-weight:700}.choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.choice-grid button{border:1px solid var(--line);cursor:pointer;text-align:left;background:#fff;min-height:70px;padding:13px;transition:border-color .2s,background .2s}.choice-grid button:hover{background:#f5f5f5;border-color:#999}.choice-grid b,.choice-grid span{display:block}.choice-grid b{margin-bottom:5px;font-size:12px}.choice-grid span{color:var(--muted);font-size:10px}.category-picks{flex-wrap:wrap;gap:7px;display:flex}.category-pick{border:1px solid var(--line);cursor:pointer;text-align:left;background:#fff;align-items:center;gap:7px;min-height:34px;padding:5px 9px;font-size:10px;display:flex}.category-pick>span{color:var(--copper);font-size:14px}.category-pick.active{color:var(--green-dark);background:#eee;border-color:#777}.category-pick.active>span{color:var(--green)}.service-search{background:var(--wash);border:1px solid var(--line);align-items:center;gap:7px;height:39px;padding:0 10px;display:flex}.service-search>span{color:var(--green);font-size:19px}.service-search input{background:0 0;border:0;outline:0;width:100%;min-width:0;font-size:11px}.active-categories{flex-wrap:wrap;gap:5px;margin:10px 0;display:flex}.active-categories span{color:var(--green);background:#eee;padding:5px 7px;font-size:9px}.service-list{max-height:330px;overflow:auto}.chat-service{border-bottom:1px solid #eee;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px;min-height:45px;padding:10px 2px;display:grid}.chat-service-check{cursor:pointer;align-items:flex-start;gap:10px;min-width:0;font-size:12px;line-height:1.4;display:flex}.chat-service-check>span:last-child{overflow-wrap:anywhere;padding-top:1px}.chat-service-rate{color:var(--muted);white-space:nowrap;padding-top:3px;font-size:11px}.show-more{margin-top:9px}.empty-state{color:var(--muted);padding:12px;font-size:11px}.ai-results{max-height:390px;overflow:auto}.ai-match-label{color:var(--copper);grid-column:1/-1;padding-left:28px;font-size:9px}.ai-note{color:var(--muted);margin:11px 0 0;font-size:9px;line-height:1.5}.chat-composer{border-top:1px solid var(--line);flex:none;align-items:center;gap:8px;padding:13px 18px;display:flex}.chat-composer input{border:1px solid var(--line);width:100%;min-width:0;height:40px;padding:0 12px;font-size:11px}.chat-composer button{background:var(--green);color:#fff;cursor:pointer;border:0;flex:0 0 40px;height:40px;font-size:19px}.chat-composer button:disabled{cursor:not-allowed;background:#aaa}.ai-calculate{border-top:1px solid var(--line);color:var(--muted);background:#f7f7f7;justify-content:space-between;align-items:center;padding:12px 18px;font-size:10px;display:flex}.ai-calculate button{color:var(--green);cursor:pointer;background:0 0;border:0;font-size:10px;font-weight:700}.estimate-total{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;padding-bottom:14px;display:flex}.estimate-total span{color:var(--muted);font-size:10px}.estimate-total strong{color:var(--green);font-family:Georgia,serif;font-size:24px;font-weight:400}.estimate-lines{max-height:220px;overflow:auto}.estimate-lines>div,.admin-item-list>div{border-bottom:1px solid #eee;justify-content:space-between;align-items:baseline;padding:10px 0;font-size:10px;display:flex}.estimate-lines small,.admin-item-list small{color:var(--muted);margin-top:3px;font-size:9px;display:block}.estimate-lines b,.admin-item-list b{white-space:nowrap;font-size:10px}.contact-form{gap:8px;margin-top:20px;display:grid}.contact-form>p{margin-bottom:3px;font-size:11px;font-weight:700}.contact-form .step-submit{margin-top:0}.lead-success{text-align:center;padding:26px 8px}.lead-success>span{background:var(--green);color:#fff;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.lead-success h3{margin:13px 0 7px;font-family:Georgia,serif;font-size:22px;font-weight:400}.lead-success p{color:var(--muted);font-size:10px;line-height:1.55}.estimate-summary{border-top:2px solid var(--green);background:#f5f5f5;max-height:calc(100dvh - 36px);padding:20px 22px 0;position:sticky;top:18px;overflow-y:auto}.summary-heading{color:var(--muted);letter-spacing:1.1px;justify-content:space-between;align-items:center;font-size:11px;font-weight:700;display:flex}.summary-heading>span:last-child{color:var(--copper)}.summary-empty{color:#888;text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:175px;display:flex}.summary-empty>span{color:#aaa;font-family:Georgia,serif;font-size:30px}.summary-empty p{max-width:155px;margin:6px 0 0;font-size:10px;line-height:1.5}.summary-list{max-height:330px;overflow:auto}.summary-item{border-bottom:1px solid #e5e5e5;padding:14px 0}.summary-item>span{font-size:10px;line-height:1.45;display:block}.summary-item>div{align-items:center;gap:8px;margin:9px 0 0 28px;display:flex}.summary-item input{border:1px solid var(--line);width:68px;padding:5px 6px;font-size:12px}.summary-item small{color:var(--muted);font-size:11px}.summary-item b{color:var(--green);white-space:nowrap;margin-left:auto;font-size:12px}.summary-item>.ai-match-label{margin:6px 0 0 28px;padding:0;font-size:9px;display:block}.summary-total{border-top:1px solid #ccc;justify-content:space-between;align-items:baseline;margin-top:6px;padding:14px 0 8px;display:flex}.summary-total span{color:var(--muted);font-size:11px}.summary-total strong{color:var(--green);font-family:Georgia,serif;font-size:20px;font-weight:400}.summary-disclaimer{color:var(--muted);font-size:10px;line-height:1.5}.summary-city{border-top:1px solid var(--line);color:var(--muted);align-items:center;gap:8px;margin:12px -22px 0;padding:13px 22px;font-size:9px;display:flex}.pin-mark{color:var(--copper);font-size:15px}.summary-picker{border-top:1px solid var(--line);margin-top:20px;padding-top:16px}.estimate-summary .step-submit{margin-top:14px}.checkbox{cursor:pointer;background:#fff;border:1.5px solid #8a8a8a;border-radius:4px;flex:0 0 18px;justify-content:center;align-items:center;width:18px;height:18px;margin:0;padding:0;transition:background .15s,border-color .15s;display:inline-flex}.checkbox:hover{border-color:var(--ink)}.checkbox[data-state=checked]{background:var(--green);border-color:var(--green)}.checkbox>span{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 6.5l2.5 2.5 4.5-5.5' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 50%/12px 12px no-repeat;width:100%;height:100%;font-size:0;line-height:0;display:block}.consent-check{color:var(--muted);cursor:pointer;align-items:flex-start;gap:10px;margin-top:4px;font-size:12px;line-height:1.45;display:flex}.consent-check .checkbox{margin-top:1px}.consent-check a{color:var(--ink);text-underline-offset:2px;text-decoration:underline}.mobile-bar{background:var(--green);color:#fff;cursor:pointer;font:inherit;padding:12px 16px calc(12px + env(safe-area-inset-bottom));text-align:left;z-index:50;border:0;align-items:center;gap:10px;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 16px #0000002e}.mobile-bar-count{color:var(--green);background:#fff;place-items:center;min-width:24px;height:24px;padding:0 6px;font-size:13px;font-weight:700;display:grid}.mobile-bar-label{opacity:.85;flex:1;font-size:13px}.mobile-bar strong{font-family:Georgia,serif;font-size:20px;font-weight:400}.mobile-bar-arrow{opacity:.75;font-size:11px}.mobile-add-wrap{padding-top:0}.mobile-add{border:1.5px dashed var(--green);color:var(--green);cursor:pointer;font:inherit;background:0 0;width:100%;min-height:48px;font-weight:700}.mobile-add>span{margin-right:4px;font-size:18px}.sheet-backdrop{z-index:100;background:#00000073;position:fixed;inset:0}.sheet{background:#fff;border-radius:8px 8px 0 0;flex-direction:column;max-height:88dvh;animation:.22s ease-out sheet-up;display:flex;position:fixed;bottom:0;left:0;right:0}.sheet-header{flex:none;justify-content:center;padding:10px 16px 4px;display:flex;position:relative}.sheet-handle{background:#0003;border-radius:2px;width:40px;height:4px}.sheet-close{cursor:pointer;background:0 0;border:0;width:44px;height:44px;font-size:28px;line-height:1;position:absolute;top:2px;right:8px}.sheet-body{overscroll-behavior:contain;flex:1;padding:8px 16px 16px;overflow-y:auto}.sheet-footer{border-top:1px solid var(--line);padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:#fff;flex:none}.sheet-done{width:100%}@media (prefers-reduced-motion:reduce){.sheet{animation:none}}.portfolio-page{max-width:1200px;margin:auto;padding:74px 34px 100px}.portfolio-intro{grid-template-columns:1fr minmax(220px,330px);align-items:end;max-width:1060px;margin:0 auto 36px;display:grid}.portfolio-intro .eyebrow{grid-column:1/-1;margin-bottom:14px}.portfolio-intro h1{margin-bottom:0;font-size:48px}.portfolio-intro>p:last-child{color:var(--muted);margin:0 0 4px;font-size:12px;line-height:1.65}.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 18px;display:grid}.portfolio-card{cursor:pointer;text-align:left;background:#fff;border:0;min-width:0;padding:0}.portfolio-image-wrap{background:#e5e5e5;height:305px;display:block;position:relative;overflow:hidden}.portfolio-card-1 .portfolio-image-wrap{height:365px}.portfolio-card-2 .portfolio-image-wrap{height:280px}.portfolio-image-wrap img{object-fit:cover;width:100%;height:100%;transition:transform .45s cubic-bezier(.2,.65,.3,1)}.portfolio-card:hover .portfolio-image-wrap img{transform:scale(1.035)}.project-index{color:var(--green);background:#ffffffeb;padding:8px 10px;font-family:Georgia,serif;font-size:12px;position:absolute;top:13px;left:13px}.project-open{color:var(--green);background:#fff;justify-content:center;align-items:center;width:35px;height:35px;font-size:16px;display:flex;position:absolute;bottom:13px;right:13px}.portfolio-card-copy{justify-content:space-between;align-items:baseline;gap:14px;padding:14px 2px;display:flex}.portfolio-card-copy>span{min-width:0}.portfolio-card-copy b,.portfolio-card-copy small{display:block}.portfolio-card-copy b{font-family:Georgia,serif;font-size:17px;font-weight:400}.portfolio-card-copy small{color:var(--muted);margin-top:5px;font-size:10px;line-height:1.5}.portfolio-card-copy strong{color:var(--green);white-space:nowrap;font-size:10px;font-weight:600}.dialog-overlay{z-index:1000;background:#0000009e;animation:.18s both fade-in;position:fixed;inset:0}.project-dialog{overscroll-behavior:contain;z-index:1001;background:#fff;grid-template-columns:minmax(0,1.05fr) minmax(310px,.95fr);width:calc(100% - 38px);max-width:1000px;max-height:min(760px,100dvh - 32px);animation:.25s both dialog-enter;display:grid;position:fixed;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%)}.project-dialog:focus{outline:none}.dialog-close{cursor:pointer;z-index:2;background:#ffffffe6;border:0;width:36px;height:36px;font-size:25px;line-height:1;position:absolute;top:13px;right:13px}.project-dialog-image{background:#e7e7e7;min-height:430px;position:relative}.project-dialog-image img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.photo-switcher{background:#ffffffe6;align-items:center;gap:12px;padding:4px;display:flex;position:absolute;bottom:15px;right:15px}.photo-switcher button{cursor:pointer;background:0 0;border:0;width:28px;height:28px;font-size:15px}.photo-switcher span{font-size:9px}.project-dialog-copy{align-self:center;padding:42px 37px}.project-dialog-copy .eyebrow{margin-bottom:12px}.project-dialog-copy h2{font-family:Georgia,serif;font-size:30px;font-weight:400;line-height:1.15}.project-dialog-copy>p:not(.eyebrow){color:var(--muted);font-size:12px;line-height:1.7}.project-facts{border-top:1px solid var(--line);gap:17px;margin-top:22px;padding-top:17px;display:grid}.project-facts span,.project-facts small,.project-facts b{display:block}.project-facts small{color:var(--muted);letter-spacing:.8px;margin-bottom:5px;font-size:8px}.project-facts b{font-size:12px;font-weight:600;line-height:1.5}.project-dialog-copy .primary-link{margin-top:24px}.admin-login-page{background:var(--paper);grid-template-columns:minmax(0,1fr) minmax(300px,390px);align-items:center;gap:8vw;min-height:calc(100vh - 150px);padding:60px 14%;display:grid}.admin-login-copy h1{font-size:51px}.admin-login-copy>p:last-child{color:var(--muted);max-width:310px;font-size:13px;line-height:1.6}.admin-login-form{border-top:2px solid var(--green);background:#fff;flex-direction:column;gap:12px;padding:26px;display:flex}.admin-lock{background:var(--green);color:#fff;justify-content:center;align-items:center;width:32px;height:32px;font-family:Georgia,serif;display:flex}.admin-login-form h2,.project-form h2{margin:0 0 5px;font-family:Georgia,serif;font-size:23px;font-weight:400}.admin-login-form label,.project-form label{color:var(--muted);font-size:9px;display:block}.admin-login-form input,.project-form input,.project-form textarea{margin-top:6px;display:block}.admin-login-form .step-submit{margin-top:4px}.admin-login-form>small{color:#888;font-size:9px}.admin-page{max-width:1250px;min-height:calc(100vh - 160px);margin:0 auto;padding:58px 34px 90px}.admin-heading{justify-content:space-between;align-items:center;display:flex}.admin-heading .eyebrow{margin-bottom:11px}.admin-heading h1{margin:0;font-size:37px}.admin-stats{border-bottom:1px solid var(--line);border-top:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));margin-top:27px;display:grid}.admin-stats>div{border-right:1px solid var(--line);padding:17px 20px}.admin-stats>div:first-child{padding-left:0}.admin-stats>div:last-child{border:0}.admin-stats span,.admin-stats strong{display:block}.admin-stats span{color:var(--muted);letter-spacing:1px;font-size:8px}.admin-stats strong{color:var(--green);margin-top:6px;font-family:Georgia,serif;font-size:27px;font-weight:400}.admin-toolbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;margin-bottom:23px;display:flex}.admin-tabs{gap:22px;display:flex}.admin-tabs button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:15px 0 12px;font-size:11px}.admin-tabs button[aria-selected=true]{border-bottom-color:var(--green);color:var(--green);font-weight:700}.admin-tabs span{color:var(--copper);margin-left:4px;font-size:9px}.admin-columns{grid-template-columns:minmax(300px,.9fr) 1.1fr;gap:30px;display:grid}.lead-table{border-top:1px solid var(--line)}.lead-row{border:0;border-bottom:1px solid var(--line);cursor:pointer;text-align:left;background:#fff;justify-content:space-between;align-items:center;width:100%;padding:14px 11px;display:flex}.lead-row.active{box-shadow:inset 2px 0 var(--green);background:#f2f2f2}.lead-row>span:last-child{text-align:right}.lead-row b,.lead-row small{display:block}.lead-row small{color:var(--muted);margin-top:5px;font-size:9px}.lead-detail{background:#f7f7f7;min-height:250px;padding:24px}.lead-detail .eyebrow{margin-bottom:11px;font-size:8px}.lead-detail h2{margin-bottom:5px;font-family:Georgia,serif;font-size:25px;font-weight:400}.lead-phone{color:var(--green);font-size:12px}.lead-detail>p:not(.eyebrow){color:var(--muted);margin-top:15px;font-size:10px}.admin-item-list{border-top:1px solid var(--line);margin-top:20px}.admin-lead-total{color:var(--green);text-align:right;margin-top:15px;font-family:Georgia,serif;font-size:21px;font-weight:400;display:block}.admin-portfolio-layout{grid-template-columns:minmax(0,1fr) minmax(300px,.85fr);align-items:start;gap:30px;display:grid}.admin-project-list{border-top:1px solid var(--line)}.admin-project-row{border-bottom:1px solid var(--line);grid-template-columns:54px minmax(0,1fr) 30px 30px;align-items:center;gap:11px;padding:10px 0;display:grid}.admin-project-row img{background:var(--paper);object-fit:cover;width:54px;height:42px}.admin-project-row b,.admin-project-row small{display:block}.admin-project-row small{color:var(--muted);margin-top:4px;font-size:8px;line-height:1.4}.admin-project-row button{color:var(--muted);cursor:pointer;background:0 0;border:0;width:30px;height:30px;font-size:15px}.project-form{background:#f7f7f7;gap:10px;padding:20px;display:grid}.project-form h2{margin-bottom:3px}.project-form textarea{min-height:54px}.project-form input[type=file]{background:#fff;padding:7px}.form-pair{grid-template-columns:1fr 1fr;gap:9px;display:grid}.project-form>small{color:var(--muted);font-size:9px}.form-actions{align-items:center;gap:9px;display:flex}.form-actions .step-submit{margin:0}.admin-page input,.admin-page textarea,.admin-page select{border:1px solid var(--line);font:inherit;background:#fff;border-radius:2px;width:100%;padding:9px 10px;font-size:12px;transition:border-color .15s,box-shadow .15s}.admin-page input:focus,.admin-page textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px color-mix(in srgb, var(--green) 14%, transparent);outline:none}.admin-page label{letter-spacing:.3px;font-size:10px}.admin-tabs button{font-size:12px;transition:color .15s}.admin-tabs button:hover{color:var(--green)}.admin-tabs span{background:color-mix(in srgb, var(--copper) 12%, transparent);border-radius:8px;padding:1px 6px;font-size:10px}.lead-row{transition:background .15s}.lead-row:hover{background:#f7f7f7}.lead-row b{font-size:13px}.lead-row small{font-size:10px}.admin-project-row b{font-size:12px}.admin-project-row small{font-size:10px}.admin-project-row button:hover{color:var(--green)}.admin-project-row img{border-radius:2px}.lead-detail small,.admin-item-list small{font-size:10px}.admin-item-list>div{border-bottom:1px dashed var(--line);justify-content:space-between;align-items:baseline;padding:10px 0;font-size:12px;display:flex}.admin-item-list small{color:var(--muted);margin-top:3px;display:block}.empty-state{color:var(--muted);text-align:center;padding:28px 0;font-size:12px}.inline-error{color:#8a2a21;background:#fbefee;border-left:2px solid #b3382c;padding:10px 14px;font-size:12px}.inline-ok{border-left:2px solid var(--green);color:var(--green);background:#eef6ef;padding:10px 14px;font-size:12px}[hidden]{display:none!important}.admin-stats span{font-size:10px}.admin-stats strong{font-size:32px}.spark{align-items:flex-end;gap:3px;height:30px;margin-top:12px;display:flex}.spark i{background:var(--green);opacity:.22;border-radius:1px;flex:1;min-height:2px;transition:opacity .15s}.spark i:last-child{opacity:1}.spark i:hover{opacity:.8}.pricing-toolbar{background:var(--paper);border-bottom:1px solid var(--line);z-index:5;flex-wrap:wrap;align-items:center;gap:12px;margin:0 0 18px;padding:12px 0;display:flex;position:sticky;top:0}.pricing-search{border:1px solid var(--line);background:#fff;border-radius:2px;flex:260px;align-items:center;gap:8px;max-width:420px;padding:0 10px;transition:border-color .15s,box-shadow .15s;display:flex}.pricing-search:focus-within{border-color:var(--green);box-shadow:0 0 0 3px color-mix(in srgb, var(--green) 14%, transparent)}.pricing-search svg{color:var(--muted);flex:none;width:14px;height:14px}.pricing-search input{box-shadow:none;background:0 0;border:0;flex:1;min-width:0;padding:9px 0;font-size:12px}.pricing-search input:focus{box-shadow:none;outline:none}.pricing-toolbar .step-submit{flex:none;margin:0}.price-status{color:var(--muted);white-space:nowrap;flex:none;margin-left:auto;font-size:11px}.price-status:before{background:var(--green);content:"";border-radius:50%;width:7px;height:7px;margin-right:7px;display:inline-block}.price-status[data-dirty=true]{color:var(--copper)}.price-status[data-dirty=true]:before{background:var(--copper)}.price-section{border:1px solid var(--line);border-top:2px solid var(--green);background:#fff;min-width:0;margin:0 0 18px;padding:0}.price-section-head{background:#fafafa;align-items:center;gap:10px;padding:10px 14px;display:flex}.price-section-head input{background:0 0;border-color:#0000;flex:1;padding:6px 8px;font-family:Georgia,serif;font-size:18px}.price-section-head input:hover{border-color:var(--line)}.price-section-head input:focus{background:#fff}.price-subsection .price-section-head{background:0 0;padding:8px 0}.price-subsection .price-section-head input{font-family:inherit;font-size:13px;font-weight:700}.price-count{color:var(--muted);white-space:nowrap;margin-left:auto;font-size:11px}.price-toggle,.price-section-head>button:last-child{color:var(--muted);cursor:pointer;background:0 0;border:0;width:30px;height:30px;font-size:16px;line-height:1}.price-toggle{transition:transform .15s}.price-toggle[aria-expanded=false]{transform:rotate(-90deg)}.price-toggle:hover,.price-section-head>button:last-child:hover{color:var(--green)}.price-section-head>button:last-child:hover{color:#b3382c}.price-body{padding:4px 14px 16px}.price-subsection{border-left:2px solid var(--copper);margin:16px 0 0 4px;padding-left:14px}.price-head,.price-row{grid-template-columns:minmax(0,1fr) 90px 130px 34px;align-items:center;gap:8px;display:grid}.price-head{border-bottom:1px solid var(--line);color:var(--muted);letter-spacing:1px;text-transform:uppercase;padding:8px 0 6px;font-size:10px}.price-head span:nth-child(3){text-align:right}.price-row{border-bottom:1px solid color-mix(in srgb, var(--line) 55%, transparent);padding:3px 0}.price-row:hover{background:#fafafa}.price-row input{background:0 0;border-color:#0000}.price-row input:hover{border-color:var(--line)}.price-row input:focus{background:#fff}.price-row .price-rate{font-variant-numeric:tabular-nums;text-align:right}.price-row button{color:var(--muted);cursor:pointer;opacity:0;background:0 0;border:0;height:30px;font-size:16px;transition:opacity .15s,color .15s}.price-row:hover button,.price-row:focus-within button{opacity:1}.price-row button:hover{color:#b3382c}@media (hover:none){.price-row button{opacity:1}}.price-add{margin-top:10px}@media (width<=760px){.price-head{display:none}.price-row{grid-template-columns:1fr 70px 100px 30px}.pricing-search{flex:100%;max-width:none}.pricing-toolbar .step-submit{flex:auto}.price-status{width:100%;margin-left:0}}.placeholder-page{max-width:1120px;margin:0 auto;padding:96px 32px 120px}.placeholder-hero{max-width:780px;margin-bottom:64px}.placeholder-hero h1{letter-spacing:-.02em;margin:12px 0 20px;font-size:clamp(2.4rem,6vw,4.2rem);line-height:1.02}.placeholder-intro{opacity:.75;font-size:1.15rem;line-height:1.6}.placeholder-body{flex-direction:column;gap:56px;display:flex}.placeholder-paragraphs{flex-direction:column;gap:18px;max-width:760px;font-size:1.05rem;line-height:1.7;display:flex}.placeholder-features{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;display:grid}.placeholder-feature{background:#00000004;border:1px solid #00000014;border-radius:16px;padding:28px}.placeholder-feature h3{margin:0 0 10px;font-size:1.05rem}.placeholder-feature p{opacity:.75;margin:0;line-height:1.55}.placeholder-steps{flex-direction:column;gap:0;margin:0;padding:0;list-style:none;display:flex}.placeholder-step{border-top:1px solid #00000014;grid-template-columns:64px 1fr;gap:20px;padding:28px 0;display:grid}.placeholder-step:last-child{border-bottom:1px solid #00000014}.placeholder-step-index{letter-spacing:.08em;opacity:.4;padding-top:4px;font-size:.85rem;font-weight:600}.placeholder-step h3{margin:0 0 8px;font-size:1.25rem}.placeholder-step p{opacity:.78;max-width:680px;margin:0;line-height:1.6}.placeholder-details{border-top:1px solid #00000014;margin:0}.placeholder-detail-row{border-bottom:1px solid #00000014;grid-template-columns:minmax(180px,280px) 1fr;gap:24px;padding:16px 0;display:grid}.placeholder-detail-row dt{letter-spacing:.06em;text-transform:uppercase;opacity:.5;padding-top:2px;font-size:.8rem}.placeholder-detail-row dd{font-variant-numeric:tabular-nums;margin:0;font-size:1rem;line-height:1.5}.placeholder-callout{background:#00000005;border-left:3px solid;border-radius:0 16px 16px 0;margin:0;padding:32px 36px;font-size:1.15rem;font-style:normal;line-height:1.6}@media (width<=640px){.placeholder-page{padding:72px 20px 96px}.placeholder-detail-row{grid-template-columns:1fr;gap:4px}.placeholder-step{grid-template-columns:40px 1fr;gap:12px}}@keyframes rise-in{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes dialog-enter{0%{opacity:0;translate:0 7px}to{opacity:1;translate:0}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes mobile-menu-enter{0%{opacity:.8;translate:18px}to{opacity:1;translate:0}}@keyframes sheet-up{0%{transform:translateY(100%)}to{transform:none}}@media (width<=1040px){.estimate-layout{grid-template-columns:minmax(0,1fr) 340px;gap:18px}}@media (width<=900px){.estimate-layout{grid-template-columns:minmax(0,1fr) 245px;gap:16px}.hero-copy{padding-left:9%}.hero h1{font-size:49px}.admin-page{padding-left:24px;padding-right:24px}}@media (width<=860px){.topbar{grid-template-columns:minmax(0,1fr) auto auto;min-height:68px;padding:8px 20px}.topbar .desktop-navigation{display:none}.menu-trigger{display:flex}.estimate-layout{display:block}.chat-panel{min-height:clamp(520px,72dvh,720px)}}@media (width<=680px){.city-tag{font-size:10px}.hero{grid-template-columns:1fr}.hero-copy{padding:50px 23px 33px}.hero h1{font-size:45px}.hero-note{margin-top:26px}.hero-image{min-height:260px}.estimate-section{padding:60px 17px 70px}.section-heading{flex-direction:column;align-items:start;gap:12px;padding-bottom:20px}.section-heading h2{font-size:30px}.chat-log{padding:15px 12px 10px}.chat-step{padding:14px 12px 16px}.chat-panel-header{padding:0 11px}.chat-panel-header>div:first-child{letter-spacing:.7px;font-size:8px}.mode-switch button{padding:7px 8px;font-size:9px}.chat-service{grid-template-columns:minmax(0,1fr) auto}.chat-service-rate{grid-area:1/2}.choice-grid{grid-template-columns:1fr}.portfolio-page{padding:51px 17px 70px}.portfolio-intro{align-items:start;margin-bottom:24px;display:block}.portfolio-intro h1{margin-bottom:12px;font-size:40px}.portfolio-intro>p:last-child{max-width:360px}.portfolio-grid{grid-template-columns:1fr;gap:21px 12px}.portfolio-image-wrap,.portfolio-card-1 .portfolio-image-wrap,.portfolio-card-2 .portfolio-image-wrap{height:265px}.portfolio-card-copy b{font-size:15px}.project-dialog{max-height:calc(100dvh - 24px);display:block;overflow-y:auto}.project-dialog-image{min-height:270px}.project-dialog-copy{padding:25px 22px 27px}.project-dialog-copy h2{font-size:25px}.admin-login-page{grid-template-columns:1fr;gap:28px;min-height:auto;padding:48px 20px}.admin-login-copy h1{font-size:40px}.admin-login-form{max-width:460px}.admin-page{padding:42px 16px 65px}.admin-heading h1{font-size:31px}.admin-stats>div{padding:13px 8px}.admin-stats span{letter-spacing:.3px;font-size:7px}.admin-stats strong{font-size:23px}.admin-columns,.admin-portfolio-layout{grid-template-columns:1fr}.lead-detail{min-height:190px}.site-footer{flex-wrap:wrap;gap:14px;padding:20px 17px}.site-footer>span:last-child{margin-left:auto}.placeholder-page{min-height:65vh;padding:52px 20px 70px}.placeholder-copy{margin-top:27px}}@media (width<=390px){.topbar{padding-left:14px;padding-right:14px}.brand{font-size:16px}.city-tag{gap:5px;font-size:9px}.hero h1{font-size:39px}.service-rate{font-size:8px}.portfolio-card-copy{flex-direction:column;align-items:start;gap:7px}.project-dialog-image{min-height:220px}}@media (width<=860px){.estimate-layout{padding-top:20px}.estimate-layout.has-mobile-bar{padding-bottom:calc(76px + env(safe-area-inset-bottom))}.chat-log{max-height:55dvh}.mode-switch button{min-height:40px;padding:8px 12px;font-size:12px}.chat-line{max-width:94%}.chat-line p{font-size:14px}.choice-grid{grid-template-columns:1fr}.choice-grid button{min-height:64px}.choice-grid b{font-size:14px}.choice-grid span{font-size:12px}.category-pick{min-height:44px;padding:8px 12px;font-size:13px}.chat-composer{padding:10px 14px calc(10px + env(safe-area-inset-bottom));z-index:2;background:#fff;position:sticky;bottom:0}.estimate-layout.has-mobile-bar .chat-composer{bottom:calc(52px + env(safe-area-inset-bottom));padding-bottom:10px}.chat-composer button{flex-basis:44px;height:44px}.chat-composer input,.service-search input,.summary-item input,.contact-form input,.contact-form textarea{font-size:16px}.chat-composer input,.service-search{height:44px}.chat-service{min-height:52px;padding:12px 2px}.chat-service-check{font-size:14px}.chat-service-rate{font-size:12px}.checkbox{flex-basis:24px;width:24px;height:24px}.summary-item>span,.summary-item small{font-size:13px}.summary-item b{font-size:14px}.summary-item input{text-align:right;width:84px;padding:8px}.summary-item>div,.summary-item>.ai-match-label{margin-left:34px}.ai-match-label{padding-left:34px}.consent-check{font-size:13px}.step-submit{min-height:52px}.chat-step .estimate-lines,.sheet .summary-list,.sheet .service-list,.chat-suggestions .service-list{max-height:none;overflow:visible}.sheet .summary-picker,.chat-suggestions .summary-picker{border-top:0;margin-top:0;padding-top:0}.sheet .step-submit{margin-top:14px}.sheet .sheet-footer .step-submit{margin-top:0}.sheet .summary-empty{min-height:120px}.sheet .summary-empty p{max-width:220px;font-size:13px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.cookie-banner{z-index:50;color:#fff;background:#111;border-radius:14px;gap:12px;max-width:720px;margin:0 auto;padding:16px 20px;font-size:14px;display:grid;position:fixed;bottom:16px;left:16px;right:16px;box-shadow:0 12px 40px #00000040}.cookie-banner a{color:#fff;text-decoration:underline}.cookie-settings{gap:4px;margin:0;padding-left:18px;display:grid}.cookie-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.cookie-actions button{color:#fff;cursor:pointer;background:0 0;border:1px solid #ffffff4d;border-radius:999px;padding:8px 14px}.cookie-actions button.primary{color:#111;background:#fff;border-color:#fff}.footer-links{flex-wrap:wrap;gap:16px;display:flex}.footer-links a{color:inherit;opacity:.8;text-decoration:underline}@media (width<=860px){.cookie-banner{bottom:88px}}
