:root{--smoke:#0a0a0a;--smoke-deep:#050505;--smoke-soft:#0a0a0a;--brown:#6f5f4e;--brown-surface:#000;--brown-deep:#16110d;--green:#93c7a6;--green-deep:#5f9070;--text:#f4f3ef;--muted:#b9b5ac;--line:#2a2a2a}*{box-sizing:border-box}body,html{margin:0;padding:0}body,html{background:#000}body{background-attachment:fixed;color:var(--text);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.5;min-height:100vh}.wrap{max-width:880px;margin:0 auto;padding:28px 20px 90px}h1{font-size:32px;letter-spacing:-.02em;margin:8px 0}h1,h2{color:#fff}h2{font-size:20px;margin:30px 0 12px;border-bottom:1px solid var(--line);padding-bottom:8px}h3{font-size:15px;margin:16px 0 6px}.tag,h3{color:var(--green)}.tag{font-weight:700;text-transform:uppercase;letter-spacing:.1em;font-size:12px}label{display:block;font-size:13px;font-weight:600;margin:12px 0 4px;color:var(--text)}input,select,textarea{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--smoke-deep);color:var(--text);font-size:14px;font-family:inherit}input::placeholder,textarea::placeholder{color:#8c887f}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 2px rgba(147,199,166,.25)}textarea{min-height:90px;resize:vertical}.row{grid-template-columns:1fr 1fr;grid-gap:14px}.row,.row3{display:grid;gap:14px}.row3{grid-template-columns:1fr 1fr 1fr;grid-gap:14px}@media (max-width:620px){.row,.row3{grid-template-columns:1fr}}.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.chip{border:1px solid var(--line);border-radius:20px;padding:6px 12px;font-size:13px;cursor:pointer;background:var(--smoke-soft);color:var(--text);-webkit-user-select:none;-moz-user-select:none;user-select:none}.chip.on{background:var(--green-deep);color:#fff;border-color:var(--green)}.btn{background:linear-gradient(180deg,var(--green) 0,var(--green-deep) 100%);color:#14241a;border:none;border-radius:10px;padding:14px 20px;font-size:16px;font-weight:800;cursor:pointer;margin-top:22px;width:100%}.btn:hover{filter:brightness(1.05)}.btn:disabled{opacity:.5;cursor:default}.btn-ghost{background:var(--brown);color:#fff;border:1px solid var(--brown);border-radius:8px;padding:10px 14px;font-size:14px;font-weight:700;cursor:pointer}.btn-ghost:hover{filter:brightness(1.08)}.card{background:var(--brown-surface);border:1px solid var(--brown-deep);border-radius:12px;padding:16px;margin:12px 0}.muted{color:var(--muted);font-size:13px}.price{font-size:40px;font-weight:800;color:var(--green)}.render{width:100%;border:1px solid var(--line);border-radius:12px;margin:10px 0;background:#fff}table{width:100%;border-collapse:collapse;font-size:13px}td,th{text-align:left;padding:8px 6px;border-bottom:1px solid var(--line)}th{color:var(--green)}.total{font-size:22px;font-weight:800;color:#fff}.banner{background:var(--brown-deep);border:1px solid var(--brown);border-radius:8px;font-size:13px;color:#f0e7da}.banner,.err{padding:12px;margin:12px 0}.err{background:#4a2b2b;border:1px solid #7a4a4a;color:#ffd9d9;border-radius:8px}.upload{border:2px dashed var(--line);border-radius:10px;padding:14px;text-align:center;font-size:13px;background:var(--smoke-deep)}.tier{cursor:pointer;transition:border-color .15s,box-shadow .15s}.tier-on,.tier:hover{border-color:var(--green)}.tier-on{box-shadow:0 0 0 2px var(--green) inset}.pill{background:var(--green-deep);border-radius:20px;padding:4px 12px;font-size:13px;font-weight:600}.dl,.pill{display:inline-block;color:#fff}.dl{background:var(--brown);border-radius:8px;padding:10px 16px;font-size:14px;font-weight:700;text-decoration:none;margin:6px 8px 6px 0}.studio-shell{display:grid;grid-template-columns:1.25fr .9fr;grid-gap:16px;gap:16px;margin:16px 0 22px;align-items:stretch}.assistant-panel,.estimate-card,.studio-preview{background:radial-gradient(circle at 18% 0,rgba(147,199,166,.14),transparent 32%),#000;border:1px solid var(--line);border-radius:16px;padding:16px}.estimate-card h3,.studio-preview h3{margin-top:6px}.yard-preview{position:relative;min-height:260px;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:linear-gradient(145deg,rgba(255,255,255,.05),transparent 24%),radial-gradient(circle at 22% 84%,rgba(147,199,166,.2),transparent 18%),radial-gradient(circle at 78% 70%,rgba(111,95,78,.42),transparent 22%),#050505}.preview-house{position:absolute;left:24%;top:14%;width:52%;height:38%;border:1px solid #50483e;border-radius:8px;background:linear-gradient(180deg,#181818,#080808);box-shadow:0 22px 44px rgba(0,0,0,.4)}.preview-house:before{content:"";position:absolute;left:10%;top:-31%;width:80%;height:54%;transform:skewX(-18deg);border:1px solid #3a332d;background:#101010}.preview-path{position:absolute;left:43%;top:48%;width:14%;height:56%;border-radius:999px 999px 0 0;background:linear-gradient(180deg,rgba(244,243,239,.32),rgba(147,199,166,.16));transform:perspective(140px) rotateX(28deg)}.preview-bed{position:absolute;border:1px solid rgba(147,199,166,.45);background:rgba(95,144,112,.22)}.preview-bed-a{left:6%;top:52%;width:34%;height:28%;border-radius:60% 30% 45% 28%}.preview-bed-b{right:6%;top:50%;width:31%;height:32%;border-radius:32% 58% 30% 45%}.preview-patio{position:absolute;right:12%;bottom:8%;width:24%;height:18%;border:1px solid rgba(216,198,163,.5);border-radius:12px;background:repeating-linear-gradient(45deg,rgba(216,198,163,.2),rgba(216,198,163,.2) 8px,rgba(216,198,163,.08) 0,rgba(216,198,163,.08) 16px)}.preview-dot{position:absolute;width:18px;height:18px;border-radius:50%;background:var(--green);box-shadow:0 0 28px rgba(147,199,166,.55)}.preview-dot-a{left:16%;bottom:18%}.preview-dot-b{right:21%;top:47%}.palette-row{display:flex;gap:8px;margin-top:12px}.swatch{width:36px;height:14px;border:1px solid var(--line);border-radius:999px}.estimate-total{color:#fff;font-size:30px;font-weight:900;letter-spacing:-.03em;margin-top:8px}.readiness{height:10px;border-radius:999px;background:#101010;border:1px solid var(--line);overflow:hidden;margin-top:18px}.readiness div{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--green-deep),var(--green));transition:width .2s ease}.mini-cta,.preset-btn{border:1px solid var(--green-deep);background:rgba(95,144,112,.18);color:var(--text);border-radius:999px;cursor:pointer;font-weight:800}.mini-cta{width:100%;padding:11px 14px;margin-top:12px}.mini-cta:hover,.preset-btn:hover{border-color:var(--green);background:rgba(147,199,166,.22)}.style-grid{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:10px;gap:10px;margin:10px 0 18px}.style-card{min-height:116px;padding:12px;text-align:left;border:1px solid var(--line);border-radius:14px;color:var(--text);background:#050505;cursor:pointer}.style-card span{display:block;color:#fff;font-weight:900;margin-bottom:8px}.style-card small{color:var(--muted);line-height:1.35}.style-card-on,.style-card:hover{border-color:var(--green);box-shadow:inset 0 0 0 1px rgba(147,199,166,.36)}.assistant-panel{display:grid;grid-template-columns:.85fr 1.15fr;grid-gap:12px;gap:12px;align-items:center;margin:10px 0 12px}.preset-row{display:flex;flex-wrap:wrap;gap:8px}.preset-btn{padding:8px 12px}.progress-theater{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:20px;background:rgba(0,0,0,.82);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.progress-theater>div{width:min(520px,100%);border:1px solid var(--green-deep);border-radius:18px;background:radial-gradient(circle at 20% 0,rgba(147,199,166,.18),transparent 36%),#000;padding:24px;box-shadow:0 30px 90px rgba(0,0,0,.7)}.loader{height:9px;overflow:hidden;border:1px solid var(--line);border-radius:999px;background:#090909}.loader:before{content:"";display:block;width:42%;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--green-deep),var(--green));animation:load-sweep 1.25s ease-in-out infinite}@keyframes load-sweep{0%{transform:translateX(-110%)}to{transform:translateX(250%)}}@media (max-width:820px){.assistant-panel,.studio-shell{grid-template-columns:1fr}.style-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:520px){.style-grid{grid-template-columns:1fr}.yard-preview{min-height:220px}}.photo-field{border:1px solid var(--line);border-radius:10px;padding:12px;background:var(--smoke-deep)}.photo-thumb{width:100%;border-radius:8px;border:1px solid var(--line);display:block}.photo-actions{display:flex;gap:8px;margin-top:8px}.drop-zone{min-height:142px;display:grid;place-items:center;text-align:center;border:2px dashed var(--line);border-radius:10px;padding:12px;background:rgba(255,255,255,.02);cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s}.drop-zone-on,.drop-zone:hover{border-color:var(--green);background:rgba(147,199,166,.1);box-shadow:inset 0 0 0 2px rgba(147,199,166,.16)}.drop-zone-filled{display:block;padding:0;border-style:solid}.photo-file-ready{min-height:138px;display:grid;place-items:center;grid-gap:6px;gap:6px;padding:18px;color:#fff}.photo-file-ready div{color:var(--green);overflow-wrap:anywhere}.photo-file-ready small{color:var(--muted);max-width:34ch}.drop-help{margin-top:8px;color:var(--muted);font-size:12px;line-height:1.4}.cam-overlay{position:fixed;inset:0;background:rgba(20,22,24,.92);z-index:50;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:16px}.cam-video{width:min(94vw,720px);max-height:70vh;border-radius:12px;background:#000;border:1px solid var(--line)}.cam-bar{display:flex;gap:12px;margin-top:16px}.cam-shutter{width:64px;height:64px;border-radius:50%;background:var(--green);border:4px solid #fff;cursor:pointer}.site-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:14px 20px;border-bottom:1px solid var(--line);background:rgba(0,0,0,.88);position:-webkit-sticky;position:sticky;top:0;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:20}.brand{font-weight:800;color:#fff;text-decoration:none;font-size:15px;letter-spacing:-.01em}.site-nav{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.site-nav a{color:var(--muted);text-decoration:none;font-size:14px}.site-nav a:hover{color:#fff}.nav-cta{background:var(--green-deep);color:#fff!important;padding:7px 14px;border-radius:8px;font-weight:700}.site-footer{border-top:1px solid var(--line);margin-top:60px;padding:28px 0}.site-footer a{color:var(--green);text-decoration:none}.hero{padding:8px 0 4px}.hero h1{font-size:38px;line-height:1.1}.lead{font-size:18px;color:#d8d5cc;max-width:62ch}.cta-row{margin:18px 0 6px;display:flex;gap:12px;flex-wrap:wrap}.cta{background:linear-gradient(180deg,var(--green) 0,var(--green-deep) 100%);color:#14241a;font-weight:800;padding:13px 22px;border-radius:10px;display:inline-block}.cta,.cta-secondary{text-decoration:none}.cta-secondary{border:1px solid var(--line);color:var(--text);padding:13px 20px;border-radius:10px}.grid{grid-template-columns:repeat(3,1fr);grid-gap:14px}.grid,.grid-2{display:grid;gap:14px;margin:14px 0}.grid-2{grid-template-columns:repeat(2,1fr);grid-gap:14px}@media (max-width:700px){.grid,.grid-2{grid-template-columns:1fr}.hero h1{font-size:30px}}.feature{background:var(--brown-surface);border:1px solid var(--brown-deep);border-radius:12px;padding:16px}.feature h3{color:#fff;margin-top:0}.feature a{color:var(--green);text-decoration:none}.steps{counter-reset:step;display:grid;grid-gap:12px;gap:12px}.step{display:flex;gap:12px;align-items:flex-start}.step .n{flex:0 0 32px;height:32px;border-radius:50%;background:var(--green-deep);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800}.faq{margin:8px 0}.faq details{border-bottom:1px solid var(--line);padding:12px 0}.faq summary{cursor:pointer;font-weight:600;color:#fff}.faq p{color:var(--muted);margin:8px 0 0}.loc-links{display:flex;flex-wrap:wrap;gap:8px}.loc-links a{background:var(--smoke-soft);border:1px solid var(--line);border-radius:8px;padding:6px 10px;font-size:13px;color:var(--text);text-decoration:none}.loc-links a:hover{border-color:var(--green)}.crumbs{font-size:12px;color:var(--muted);margin:4px 0 10px}.crumbs a{color:var(--green);text-decoration:none}.admin-test-card{display:grid;grid-template-columns:.78fr 1.22fr;grid-gap:16px;gap:16px;align-items:start;border-color:rgba(147,199,166,.38)}.admin-test-card input[type=file]{padding:9px}@media (max-width:820px){.admin-test-card{grid-template-columns:1fr}}.contractor-bid-entry{display:grid;grid-template-columns:1fr auto;grid-gap:16px;gap:16px;align-items:center;border-color:rgba(147,199,166,.36);background:radial-gradient(circle at 0 0,rgba(147,199,166,.14),transparent 34%),#000}.contractor-bid-entry h2{margin-top:6px}.bid-builder-wrap{max-width:1180px}.bid-builder{margin-top:18px}.bid-hero{display:grid;grid-template-columns:minmax(0,1fr) 320px;grid-gap:18px;gap:18px;align-items:stretch;margin:18px 0}.bid-hero-panel,.bid-line-card,.bid-summary-panel,.bid-total-grid>div{border:1px solid var(--line);border-radius:16px;background:linear-gradient(145deg,rgba(255,255,255,.045),transparent 34%),#050505}.bid-hero-panel{display:grid;align-content:center;grid-gap:6px;gap:6px;padding:22px;border-color:rgba(147,199,166,.32)}.bid-hero-panel strong{color:#fff;font-size:42px;line-height:1;letter-spacing:-.04em}.bid-hero-panel small{color:var(--green);font-weight:800}.bid-control-grid{display:grid;grid-template-columns:1.2fr 1fr 180px;grid-gap:12px;gap:12px;padding:14px;border:1px solid var(--line);border-radius:16px;background:#030303}.bid-template-bar{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-gap:10px;gap:10px;margin:14px 0}.bid-template-bar button{min-height:88px;text-align:left;border:1px solid var(--line);border-radius:14px;padding:12px;background:#070707;color:var(--text);cursor:pointer}.bid-template-bar button:focus-visible,.bid-template-bar button:hover{outline:none;border-color:var(--green);box-shadow:inset 0 0 0 2px rgba(147,199,166,.15)}.bid-template-bar strong{display:block;color:#fff;margin-bottom:6px}.bid-template-bar span{color:var(--muted);font-size:12px;line-height:1.35}.bid-total-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:12px;gap:12px;margin:14px 0 18px}.bid-total-grid>div{padding:16px}.bid-total-grid .expected{border-color:var(--green);background:radial-gradient(circle at 18% 0,rgba(147,199,166,.2),transparent 36%),#050505}.bid-total-grid span{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.1em;font-weight:900}.bid-total-grid strong{display:block;color:#fff;font-size:30px;line-height:1;margin:8px 0 6px;letter-spacing:-.04em}.bid-total-grid small{color:var(--green);font-weight:800}.bid-workspace{display:grid;grid-template-columns:minmax(0,1fr) 360px;grid-gap:16px;gap:16px;align-items:start}.bid-section-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}.bid-section-head h2,.bid-summary-panel h2{margin-top:0}.bid-lines{min-width:0}.bid-line-card{padding:14px;margin-bottom:12px;border-color:rgba(111,95,78,.82)}.bid-line-top,.bid-line-totals{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.bid-line-top strong{color:#fff;font-size:22px}.bid-line-grid{display:grid;grid-template-columns:1.3fr .62fr .52fr repeat(3,.7fr);grid-gap:10px;gap:10px}.bid-line-totals{margin-top:12px;padding-top:10px;border-top:1px solid var(--line)}.bid-line-totals span{color:var(--green);font-size:12px;font-weight:900}.bid-line-totals button{border:1px solid #6e3030;border-radius:8px;background:#210c0c;color:#ffd9d9;padding:7px 10px;cursor:pointer}.bid-line-totals button:hover{filter:brightness(1.12)}.bid-summary-panel{position:-webkit-sticky;position:sticky;top:84px;padding:16px;border-color:rgba(147,199,166,.34)}.bid-summary-panel textarea{min-height:240px;margin:10px 0;font-size:12px}.bid-margin-callout{display:grid;grid-gap:2px;gap:2px;padding:12px;border:1px solid rgba(147,199,166,.28);border-radius:12px;background:rgba(147,199,166,.08)}.bid-margin-callout strong{color:#fff;font-size:24px}.bid-margin-callout span{color:var(--muted);font-size:12px}@media (max-width:1080px){.bid-template-bar{grid-template-columns:repeat(3,minmax(0,1fr))}.bid-line-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:820px){.bid-control-grid,.bid-hero,.bid-total-grid,.bid-workspace,.contractor-bid-entry{grid-template-columns:1fr}.contractor-bid-entry .cta{width:100%;text-align:center}.bid-summary-panel{position:static}}@media (max-width:560px){.bid-line-grid,.bid-template-bar{grid-template-columns:1fr}.bid-hero-panel strong,.bid-total-grid strong{font-size:28px}}