:root{--green:#12703a;--green-dk:#0c5229;--green-soft:#e7f3eb;--ink:#13211a;--ink-2:#3c4a42;--muted:#62716a;--line:#dfe6e1;--bg:#f7f8f5;--surface:#ffffff;--amber:#b45309;--radius:14px;--font:"Segoe UI",system-ui,-apple-system,Roboto,"Helvetica Neue",Arial,sans-serif}*{box-sizing:border-box}body,html{margin:0}body{background:var(--bg);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.55}a{color:var(--green)}img{max-width:100%}h1,h2,h3{line-height:1.2;text-wrap:balance;letter-spacing:-.01em}:focus-visible{outline:3px solid #7cc39a;outline-offset:2px}.wrap{max-width:1080px;margin:0 auto;padding-inline:20px}.header{background:var(--surface);border-bottom:1px solid var(--line)}.header .wrap{justify-content:space-between;gap:16px;padding-block:14px;flex-wrap:wrap}.header .wrap,.logo{display:flex;align-items:center}.logo{gap:10px;font-weight:800;font-size:20px;color:var(--ink);text-decoration:none}.logo svg{width:32px;height:32px}.nav{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.nav a{color:var(--ink-2);font-weight:600}.btn,.nav a{text-decoration:none;font-size:15px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:10px;padding:12px 18px;font-weight:700;border:1.5px solid transparent;cursor:pointer;font-family:inherit}.btn.primary{background:var(--green);color:#fff}.btn.primary:hover{background:var(--green-dk)}.btn.ghost{border-color:var(--line);color:var(--ink);background:var(--surface)}.nav .btn{padding:9px 14px;color:#fff}.hero{background:linear-gradient(180deg,#0f3d24,#12703a);color:#fff}.hero .wrap{padding-block:64px;display:grid;grid-gap:18px;gap:18px;max-width:1080px}.hero h1{font-size:clamp(32px,5vw,52px);margin:0;max-width:18ch}.hero p{font-size:18px;margin:0;max-width:58ch;color:#d9efe1}.hero .actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px}.hero .btn.ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.5)}.hero .area{font-size:14px;color:#bfe3cc}section.block{padding-block:56px}section.block h2{font-size:30px;margin:0 0 8px}section.block .lead{color:var(--muted);margin:0 0 28px;max-width:62ch}.grid{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px}.card h3{margin:0 0 8px;font-size:18px}.card ul{margin:0;padding-left:18px;color:var(--ink-2)}.steps{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));counter-reset:step}.steps .card:before{counter-increment:step;content:counter(step);display:inline-grid;place-items:center;width:32px;height:32px;border-radius:50%;color:var(--green);font-weight:800;margin-bottom:10px}.band,.steps .card:before{background:var(--green-soft)}.two{display:grid;grid-gap:24px;gap:24px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));align-items:start}.footer{background:#0f2419;color:#c7d8cd;font-size:14px}.footer .wrap{padding-block:32px;display:grid;grid-gap:12px;gap:12px}.footer a{color:#e6f2ea}.footer .links{display:flex;gap:18px;flex-wrap:wrap}.legal{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:28px;margin-block:32px;max-width:820px}.legal h1{font-size:32px;margin-top:0}.legal h2{font-size:21px;margin-top:28px}.legal li,.legal p{color:var(--ink-2)}.form{display:grid;grid-gap:16px;gap:16px}.field{display:grid;grid-gap:6px;gap:6px}.field .lbl,.field label{font-weight:600;font-size:14px}.input{border:1px solid #c9d3cc;border-radius:10px;padding:11px 12px;font:inherit;background:#fff;width:100%}.row2{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.seg{flex-wrap:wrap}.seg,.seg label{display:flex;gap:8px}.seg label{align-items:center;border:1px solid #c9d3cc;border-radius:10px;padding:10px 14px;cursor:pointer;font-weight:600}.consent{display:flex;gap:12px;align-items:flex-start;background:#f4f7f5;border:1px solid var(--line);border-radius:10px;padding:14px;font-size:14px;color:var(--ink-2)}.consent input{width:20px;height:20px;margin-top:2px;flex:none;accent-color:var(--green)}.note{font-size:14px;color:var(--muted)}.ok{background:var(--green-soft);border:1px solid #b9dcc6;border-radius:10px;padding:14px;color:#0c4a25}.err{color:#b42318;font-size:14px}.formcard{margin-top:28px;max-width:860px}fieldset.plain{border:0;padding:0;margin:0;min-width:0;display:grid;grid-gap:8px;gap:8px}fieldset.plain legend{padding:0;margin-bottom:8px}.checks{display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.checks.inline{display:flex;flex-wrap:wrap;gap:8px 18px}.checkgroup{display:grid;grid-gap:6px;gap:6px;align-content:start}.checkgroup .cat{font-size:13px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.checks label{display:flex;gap:8px;align-items:center;font-size:15px;color:var(--ink-2);cursor:pointer}.checks input,.seg input{width:18px;height:18px;accent-color:var(--green);flex:none}textarea.input{resize:vertical;min-height:64px}select.input{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}.linkbtn{background:none;border:0;padding:0;color:var(--green);font:inherit;font-weight:700;text-decoration:underline;cursor:pointer}html{scroll-behavior:smooth}.narrow{max-width:520px;padding-block:40px}.pad{padding:28px}.h1{font-size:28px;margin:0 0 12px}.btn.small{padding:7px 12px;font-size:14px}.nav .btn.ghost{color:var(--ink)}.btn.danger{background:#b42318;color:#fff}.btn.secondary{background:var(--green-soft);color:var(--green-dk)}.btn[disabled]{opacity:.55;cursor:not-allowed}.demo{background:#fff7e6;border:1px solid #f5d38a;color:#7a4b00;border-radius:10px;padding:10px 12px;font-size:14px;margin:0}.input.code{font-size:24px;letter-spacing:.3em;max-width:220px}.app{padding-block:24px 56px}.app-head{display:flex;justify-content:space-between;align-items:end;gap:12px;flex-wrap:wrap;margin-bottom:18px}.app-head h1{margin:0;font-size:28px}.app-head p{margin:4px 0 0;color:var(--muted)}.subnav{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:20px;border-bottom:1px solid var(--line)}.subnav a{padding:10px 12px;text-decoration:none;color:var(--ink-2);font-weight:600;font-size:15px;border-bottom:3px solid transparent;margin-bottom:-1px}.subnav a.on{color:var(--green);border-color:var(--green)}.stack{display:grid;grid-gap:16px;gap:16px}.cols{grid-gap:16px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.cols,.cols-main{display:grid;gap:16px;align-items:start}.cols-main{grid-gap:16px;grid-template-columns:minmax(0,2fr) minmax(260px,1fr)}@media (max-width:820px){.cols-main{grid-template-columns:minmax(0,1fr)}}.card h2{font-size:19px;margin:0 0 12px}.muted{color:var(--muted)}.small{font-size:14px}.row,.spread{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.spread{justify-content:space-between}.list{list-style:none;margin:0;padding:0}.list>li{padding:12px 0;border-top:1px solid var(--line)}.list>li:first-child{border-top:0;padding-top:0}.list a.rowlink{display:block;text-decoration:none;color:inherit}.badge{display:inline-block;padding:3px 9px;border-radius:999px;font-size:12.5px;font-weight:700;background:#eef2ef;color:var(--ink-2);white-space:nowrap}.badge.green{background:var(--green-soft);color:var(--green-dk)}.badge.amber{background:#fff4e0;color:#8a4b00}.badge.red{background:#fde8e7;color:#9b1c14}.badge.blue{background:#e8f0fd;color:#1d4ea8}.table-wrap{overflow-x:auto}table.t{width:100%;border-collapse:collapse;font-size:14.5px}table.t td,table.t th{text-align:left;padding:9px 10px;border-bottom:1px solid var(--line);vertical-align:top}table.t th{font-size:12.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}table.t td.num,table.t th.num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.kv{display:grid;grid-template-columns:max-content 1fr;grid-gap:6px 14px;gap:6px 14px;font-size:15px;margin:0}.kv dt{color:var(--muted)}.kv dd{margin:0}.total{font-size:22px;font-weight:800}.photos{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.photo{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#f4f6f4;display:grid;min-width:0}.photo img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}.photo .cap{padding:6px 8px;font-size:13px;font-weight:700;display:flex;justify-content:space-between;gap:6px}.photo .empty{aspect-ratio:4/3;display:grid;place-items:center;color:var(--muted);font-size:13px;text-align:center;padding:8px}.photo form{padding:0 8px 8px}.photo input[type=file]{font-size:12px;max-width:100%}.timeline{list-style:none;padding:0;margin:0;display:grid;grid-gap:8px;gap:8px;font-size:14px}.timeline li{display:grid;grid-template-columns:130px 1fr;grid-gap:8px;gap:8px}.timeline time{color:var(--muted)}.stars{display:flex;gap:6px;flex-wrap:wrap}.stars label{border:1px solid #c9d3cc;border-radius:10px;padding:8px 12px;cursor:pointer;font-weight:700}.stars input{accent-color:var(--green)}.inline-form{display:inline}.pricebox{background:var(--green-soft);border-radius:12px;padding:14px 16px}.svc{display:flex;gap:12px;align-items:flex-start;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff;cursor:pointer}.svc input{width:20px;height:20px;margin-top:3px;accent-color:var(--green);flex:none}.svc .p{margin-left:auto;text-align:right;font-weight:800;white-space:nowrap}.svc .p small{display:block;font-weight:600;color:var(--muted);font-size:12.5px}.svc-list{display:grid;grid-gap:10px;gap:10px}.map{width:100%;height:480px;border-radius:12px;border:1px solid var(--line);background:#dfe6e1}.toggle{display:inline-flex;gap:8px;align-items:center;font-weight:600;cursor:pointer}.toggle input{width:20px;height:20px;accent-color:var(--green)}.flash{background:var(--green-soft);border:1px solid #b9dcc6;color:#0c4a25;border-radius:10px;padding:10px 14px;margin-bottom:16px}.empty-state{text-align:center;padding:32px 16px;color:var(--muted)}.kv dd,.timeline span{min-width:0;overflow-wrap:anywhere}.timeline li{grid-template-columns:minmax(96px,130px) minmax(0,1fr)}.card{min-width:0}