.tools-hero{padding:clamp(52px,7vw,100px) var(--gutter) clamp(48px,6vw,80px);border-bottom:1px solid var(--line)}
.tools-hero-grid{max-width:1500px;margin:auto;display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(38px,7vw,110px);align-items:end}
.tools-kicker{font:700 10px/1.2 var(--body);letter-spacing:.2em;text-transform:uppercase;margin-bottom:18px}
.tools-hero h1{font-size:clamp(70px,8.4vw,140px);line-height:.83;letter-spacing:-.04em}
.tools-hero p{font-size:clamp(16px,1.45vw,21px);line-height:1.6;max-width:690px}
.tools-shell{max-width:1500px;margin:auto;padding:clamp(48px,6vw,82px) var(--gutter)}
.tool-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.tool-card{background:var(--paper);padding:clamp(24px,3vw,42px);min-height:310px;display:flex;flex-direction:column;text-decoration:none;color:inherit}
.tool-card:hover{background:#e8e6de}.tool-card .num{font:700 10px var(--body);letter-spacing:.18em;opacity:.55}.tool-card h2{font-size:clamp(42px,4.2vw,64px);margin-top:54px}.tool-card p{font-size:14px;line-height:1.6;max-width:520px;margin:16px 0 24px}.tool-card .text-link{margin-top:auto;align-self:flex-start}
.tool-workspace{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(290px,.85fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.tool-panel,.tool-result{background:var(--paper);padding:clamp(24px,3vw,42px)}
.tool-result{background:#111;color:#f6f3ea;min-height:420px}.tool-result .label,.tool-aside .label{font-size:10px;letter-spacing:.17em;text-transform:uppercase;opacity:.65}
.field-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.field{display:grid;gap:8px}.field label,.field>span{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.field input,.field select{width:100%;border:1px solid var(--line);background:#fff;padding:13px 14px;font:15px var(--body);border-radius:0}
.field-help,.tool-note{font-size:12px;line-height:1.55;opacity:.68;margin-top:14px}.tool-error{font-size:13px;font-weight:700;margin-top:12px}
.tool-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.tool-button{border:1px solid var(--ink);background:var(--ink);color:var(--paper);padding:14px 18px;font:700 13px var(--body);cursor:pointer}.tool-button:hover{background:var(--lime);color:var(--ink)}.tool-button.light{background:transparent;color:var(--ink)}.tool-button.light:hover{background:#e6e4dc}
.result-big{font:800 clamp(62px,7vw,105px)/.9 var(--heading);margin:26px 0}.result-big small{font:600 14px var(--body);letter-spacing:0}
.result-stat{display:flex;justify-content:space-between;gap:20px;padding:14px 0;border-top:1px solid #ffffff2b;font-size:13px}.result-stat b{font-size:15px}
.formula{max-width:1050px;margin-top:40px;padding-top:28px;border-top:1px solid var(--line)}.formula h2{font-size:38px}.formula p{font-size:14px;line-height:1.65;margin-top:12px}
.map-toolbar{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:end;margin-bottom:26px}.map-toolbar .field{max-width:600px}.map-buttons{display:flex;gap:8px;flex-wrap:wrap}
.process-steps{display:grid;gap:1px;background:var(--line);border:1px solid var(--line)}.process-step{display:grid;grid-template-columns:58px 1fr;gap:20px;background:var(--paper);padding:24px}.step-number{font:800 24px var(--heading);opacity:.45}.step-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:16px}.step-heading h2{font-size:34px}.step-controls{display:flex;gap:4px}.step-controls button{border:1px solid var(--line);background:transparent;padding:7px 9px;cursor:pointer;font-size:11px}.step-controls button:hover{background:var(--lime)}.step-controls button:disabled{opacity:.3;cursor:not-allowed}
.map-overview{margin-top:32px;border-top:1px solid var(--ink);padding-top:22px}.map-overview h2{font-size:36px}.overview-track{display:flex;gap:1px;background:var(--line);margin-top:15px;overflow:auto}.overview-track span{background:var(--paper);padding:14px;min-width:170px;font-size:12px}.overview-track small{opacity:.6}
.upload-zone{border:1px dashed var(--ink);min-height:240px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:30px;cursor:pointer}.upload-zone:hover{background:#e8e6de}.upload-zone input{position:absolute;opacity:0;pointer-events:none}.upload-zone strong{font-size:22px}.upload-zone span{font-size:12px;line-height:1.55;margin-top:9px}.upload-icon{font-size:32px!important;margin:0 0 12px!important}
.tool-aside{background:#111;color:#f6f3ea;padding:clamp(28px,4vw,52px)}.tool-aside h2{font-size:clamp(45px,5vw,72px);margin-top:30px}.tool-aside ul{list-style:none;padding:0;margin:28px 0}.tool-aside li{padding:13px 0;border-top:1px solid #ffffff2b;font-size:13px}.tool-aside li:before{content:"✓";margin-right:10px;color:var(--lime)}
.catalog-results{margin-top:34px;border:1px solid var(--line);padding:clamp(24px,3vw,42px)}.catalog-results h2{font-size:clamp(42px,4.5vw,68px)}.catalog-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin:26px 0}.catalog-summary div{background:var(--paper);padding:22px;font-size:11px}.catalog-summary b{display:block;font:800 40px var(--heading)}
.table-scroll{overflow:auto;border:1px solid var(--line);margin:22px 0}.table-scroll table{border-collapse:collapse;width:100%;min-width:680px}.table-scroll th,.table-scroll td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line);font-size:12px}.table-scroll th{font-size:10px;text-transform:uppercase;letter-spacing:.08em}
.tools-band{background:var(--lime);padding:clamp(52px,6vw,84px) var(--gutter)}.tools-band>div{max-width:1500px;margin:auto;display:grid;grid-template-columns:.85fr 1.15fr;gap:70px}.tools-band h2{font-size:clamp(52px,6vw,90px)}.tools-band p{font-size:16px;line-height:1.7;max-width:720px}
@media(max-width:900px){.tools-hero-grid,.tool-workspace,.tools-band>div{grid-template-columns:1fr}.tool-grid{grid-template-columns:1fr}.map-toolbar{grid-template-columns:1fr}.field-grid{grid-template-columns:1fr}.catalog-summary{grid-template-columns:1fr}.tool-result{min-height:0}}
@media(max-width:620px){.tools-hero h1{font-size:20vw}.process-step{grid-template-columns:1fr}.step-heading{align-items:flex-start;flex-direction:column}.tools-shell{padding-left:18px;padding-right:18px}}
