@font-face{font-family:Jakarta;src:url('/assets/plus-jakarta-sans.woff2') format('woff2');font-weight:400 800;font-display:swap}
:root{--paper:#f7f7f6;--white:#fff;--ink:#191919;--muted:#606060;--line:#e3e3e1;--soft:#efefed;--radius:15px;--shadow:0 10px 30px #1717170a;font-family:Jakarta,Arial,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none;font-size:14px;font-variant-numeric:tabular-nums}
*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}img{display:block;max-width:100%}h1,h2,h3,p{margin:0}h1,h2,h3{text-wrap:balance}p{text-wrap:pretty;line-height:1.65}h1{font-size:clamp(32px,4vw,54px);font-weight:750;line-height:1.07;letter-spacing:-.052em}h2{font-size:21px;line-height:1.22;letter-spacing:-.031em}h3{font-size:16px;line-height:1.4;letter-spacing:-.018em}small,.muted{color:var(--muted)}[hidden]{display:none!important}
:focus-visible{outline:2px solid #202020;outline-offset:3px}.skip{position:fixed;left:12px;top:12px;transform:translateY(-180%);z-index:5;padding:12px;background:#fff;border:1px solid}.skip:focus{transform:none}.startup{padding:12vw}
.top{height:72px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 36px;gap:16px}.brand{display:inline-flex;align-items:center;gap:11px;font-weight:800;font-size:20px;letter-spacing:-.045em;white-space:nowrap}.brand img{width:34px;height:34px;border-radius:8px}.brand-note{font-size:11px;font-weight:650;letter-spacing:.14em;text-transform:uppercase;color:#666;border-left:1px solid var(--line);padding-left:14px;margin-left:3px}.toplinks{display:flex;align-items:center;gap:16px}.toplinks a{font-size:13px;font-weight:700}.toplinks a:hover,.inline:hover{text-decoration:underline}.sim{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:6px;padding:6px 9px;color:#4b4b4b;background:#fafafa;font-size:11px;font-weight:700;white-space:nowrap}.sim::before{content:'';width:6px;height:6px;background:#656565;border-radius:50%}
.home{max-width:1330px;margin:auto;padding:35px 48px 35px}.hero{position:relative;isolation:isolate;background:#202020;color:white;border-radius:20px;overflow:hidden;min-height:333px;display:flex;align-items:center;padding:48px 46px;box-shadow:0 16px 36px #15151517}.hero::before,.hero::after{content:'';position:absolute;inset:0;z-index:-1}.hero::before{background:linear-gradient(125deg,#161616,#454545);background-image:url('/assets/concrete-house.jpg');background-position:center 55%;background-size:cover}.hero::after{background:linear-gradient(90deg,#111 0%,#161616f5 25%,#17171788 58%,#17171720 100%)}.hero-copy{max-width:580px}.hero h1{margin:13px 0 15px;font-size:clamp(38px,5.8vw,79px)}.hero p{max-width:420px;color:#eee;font-size:14px}.hero .eyebrow{color:#eee}.hero-meta{position:absolute;right:22px;bottom:19px;color:#fff;background:#171717b8;padding:5px 9px;border-radius:5px;font-size:11px}
.eyebrow{font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#616161}.section-head{display:flex;align-items:end;justify-content:space-between;gap:14px;margin:31px 0 13px}.section-head h2{font-size:24px}.section-head small{font-size:12px}.projects{display:grid;grid-template-columns:1fr 1fr;gap:18px}.project-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:23px;box-shadow:var(--shadow);display:grid;gap:14px}.project-card.scratch{background:linear-gradient(130deg,#fff 35%,#eee 100%)}.card-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.project-icon,.module-icon{display:inline-grid;place-items:center;height:38px;width:38px;border-radius:10px;background:#f0f0ef;border:1px solid #e7e7e5;font-weight:750;font-size:17px;flex:none}.project-card h3{font-size:21px}.project-card p{font-size:13px;color:#595959;min-height:42px}.card-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;border-top:1px solid var(--line);padding-top:13px}.card-metrics small{display:block;margin-bottom:5px}.card-metrics strong{font-size:16px}.project-card .btn{justify-self:start}.footer{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:12px;color:#5f5f5f;margin-top:24px;padding-top:13px;border-top:1px solid var(--line)}
.btn,button{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:#fff;border:1px solid #d9d9d7;color:var(--ink);padding:9px 13px;min-height:38px;border-radius:8px;font-weight:750;line-height:1.3;text-align:center;text-decoration:none}.btn:hover,button:hover{background:#f1f1f0}.primary{background:linear-gradient(145deg,#323232,#171717);color:#fff;border-color:#202020}.primary:hover{background:#383838}.text-button{border-color:transparent;background:transparent}.arrow{font-size:15px;font-weight:500}.badge{display:inline-flex;align-items:center;max-width:100%;background:#f1f1ef;color:#4c4c4c;border-radius:6px;padding:5px 8px;font-size:11px;font-weight:750;white-space:nowrap}.badge.dark{background:#252525;color:#fff}.inline{font-weight:750;text-decoration:underline;text-underline-offset:3px}
.workspace{display:grid;grid-template-columns:232px minmax(0,1fr);min-height:calc(100dvh - 72px)}.side{background:#fff;border-right:1px solid var(--line);padding:20px 14px 24px}.side small{display:block;font-size:11px;font-weight:750;color:#686868;margin:16px 9px 5px}.side small:first-child{margin-top:0}.side a{display:flex;align-items:center;gap:7px;padding:8px 9px;min-height:36px;border-radius:7px;font-size:12px;font-weight:700;color:#3e3e3e}.side a:hover,.side a[aria-current=page]{background:#ededeb;color:#151515}.side a[aria-current=page]::before{content:'';width:5px;height:5px;background:#222;border-radius:50%}.work-main{padding:27px 34px 44px;width:100%;max-width:1370px;margin:auto;align-self:start}.mobile-menu{display:none}.crumb{display:flex;align-items:center;flex-wrap:wrap;gap:7px;color:#606060;font-size:12px;margin-bottom:15px}.crumb a{text-decoration:underline;text-underline-offset:3px}.page-head{display:flex;justify-content:space-between;gap:15px;align-items:end;margin-bottom:23px}.page-head h1{font-size:clamp(28px,3.8vw,44px)}.page-head p{margin-top:8px;color:#5b5b5b;max-width:650px;font-size:13px}.stack{display:grid;gap:16px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;align-items:start}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.metric,.panel{background:white;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);min-width:0}.metric{padding:16px}.metric small{font-size:11px;font-weight:750}.metric strong{display:block;margin-top:7px;font-size:clamp(18px,2.3vw,29px);line-height:1.15;letter-spacing:-.045em;overflow-wrap:anywhere}.metric p{font-size:11px;margin-top:6px;color:#606060}.panel{padding:18px}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.panel-head p{color:#606060;font-size:12px;margin-top:6px}.empty{padding:19px;background:linear-gradient(135deg,#fff,#f3f3f1);border:1px dashed #d6d6d3;border-radius:11px}.empty p{color:#5f5f5f;font-size:13px;margin:5px 0 12px}.empty p:last-child{margin-bottom:0}
.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.steps a{padding:11px;border:1px solid var(--line);border-radius:8px;font-weight:750;font-size:12px}.steps a:hover{background:#f3f3f1}.steps small{display:block;font-weight:600;margin-top:3px}
form.flow{display:grid;gap:12px}.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.fields.solo{grid-template-columns:minmax(0,1fr)}label{display:grid;gap:5px;font-size:12px;font-weight:750;min-width:0}input,select,textarea{width:100%;min-width:0;min-height:40px;padding:8px 10px;border:1px solid #d5d5d3;border-radius:7px;background:#fff;color:#181818}textarea{min-height:75px;resize:vertical}form .tip{font-size:12px;color:#666}.form-error{color:#171717;border-left:3px solid;padding:5px 9px;font-size:12px;font-weight:750}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.table-wrap{overflow-x:auto;max-width:100%}table{width:100%;border-collapse:collapse;text-align:left;font-size:12px}th{font-size:11px;color:#555;white-space:nowrap;background:#f4f4f3;font-weight:800}td,th{padding:10px 11px;border-bottom:1px solid #eaeae9;line-height:1.45}td.num,th.num{text-align:right;white-space:nowrap}td strong{font-weight:800}td small{display:block;margin-top:3px}td .btn,td button{min-height:30px;padding:5px 8px;font-size:11px;white-space:nowrap}.table-wrap tr:last-child td{border-bottom:0}.catalog-tools{display:grid;grid-template-columns:minmax(0,2fr) minmax(120px,1fr);gap:10px}.catalog-list{display:grid;gap:8px;margin-top:12px}.catalog-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:9px}.catalog-row p{font-size:12px;color:#555;margin-top:3px}.catalog-row h3{font-size:13px}.catalog-row .catalog-actions{display:flex;gap:7px;flex-wrap:wrap;flex:none}.catalog-actions .btn,.catalog-actions button{font-size:11px;min-height:33px;padding:5px 8px}
.chart{margin-top:8px}.chart canvas{display:block;width:100%;height:218px}.legend{display:flex;align-items:center;gap:14px;flex-wrap:wrap;font-size:11px;color:#515151;margin-bottom:8px}.legend i{display:inline-block;width:21px;border-top:2px solid #1d1d1d;vertical-align:middle;margin-right:4px}.legend .planned i{border-top:2px dashed #777}.photo{margin:0;border-radius:12px;overflow:hidden;background:#eaeaea}.photo img{width:100%;height:215px;object-fit:cover;filter:grayscale(1)}.photo figcaption{font-size:11px;color:#444;padding:8px 11px}.log-list{display:grid;gap:13px}.log-list article{border:1px solid var(--line);border-radius:11px;background:#fff;padding:15px}.log-list article header{display:flex;gap:9px;justify-content:space-between;align-items:start;margin-bottom:10px}.before-after{display:grid;grid-template-columns:1fr 1fr;gap:9px}.before-after div{padding:9px 11px;background:#f3f3f2;border-radius:7px;font-size:12px;line-height:1.6;overflow-wrap:anywhere}.before-after strong{display:block;margin-bottom:3px}.notice{position:fixed;right:18px;bottom:max(18px,env(safe-area-inset-bottom));z-index:4;padding:12px 15px;background:#202020;color:#fff;border-radius:8px;max-width:calc(100vw - 36px);box-shadow:0 8px 25px #0003;font-weight:700}dialog{border:1px solid var(--line);border-radius:14px;max-width:min(420px,calc(100vw - 25px));padding:20px;color:var(--ink)}dialog::backdrop{background:#0008}dialog p{margin:10px 0 17px}.list-tight li{margin:5px 0}
@media(max-width:1020px){.home{padding-inline:25px}.workspace{grid-template-columns:190px minmax(0,1fr)}.work-main{padding-inline:22px}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.top{height:59px;padding-inline:15px}.brand{font-size:17px}.brand img{width:29px;height:29px}.brand-note{display:none}.toplinks{gap:9px}.toplinks a{font-size:11px}.sim{padding:4px 6px;font-size:10px}.home{padding:16px 14px 25px}.hero{min-height:286px;padding:30px 22px;border-radius:14px}.hero::after{background:linear-gradient(90deg,#111f,#171717b5 75%,#1717176e)}.hero p{font-size:13px}.hero-meta{font-size:9px;bottom:11px;right:11px}.projects,.grid,.grid.three{grid-template-columns:minmax(0,1fr)}.project-card{padding:16px;gap:10px}.project-card p{min-height:0}.section-head{margin:23px 0 12px}.section-head small{font-size:11px}.workspace{display:block}.side{display:none}.mobile-menu{display:block;margin:0 0 14px}.work-main{padding:17px 13px 25px}.page-head{align-items:start;flex-wrap:wrap;margin-bottom:15px}.panel{padding:13px}.steps{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-row{align-items:start;flex-direction:column}.catalog-row .catalog-actions{width:100%}.fields{gap:8px}.chart canvas{height:174px}}
@media(max-width:360px){.sim{display:none}.fields,.catalog-tools,.before-after{grid-template-columns:minmax(0,1fr)}.metric{padding:10px}}
 .toplinks a{white-space:nowrap}
 @media(max-width:700px){.table-wrap td:first-child,.table-wrap th:first-child{min-width:115px}.table-wrap td:first-child small{min-width:102px}}
