/* /grunty/ — поверх sinka.css */
.g-hero{display:grid;grid-template-columns:minmax(0,3.6fr) minmax(0,8.4fr);gap:24px;align-items:center;padding-top:50px;min-height:520px;position:relative;overflow:hidden}
.g-hero h1{font-size:clamp(44px,4.4vw,64px);line-height:.96}
.g-hero .sub{font:500 22px/1.3 var(--b);margin:0 0 18px}
.g-hero .lead{color:var(--tx2);max-width:420px}
.g-art{position:relative}
.g-art img{width:100%;height:auto}
.g-art .pin{position:absolute;transform:translate(-50%,-50%);width:28px;height:28px;border-radius:50%;border:1.5px solid var(--pen);
  background:rgba(14,47,94,.85);color:var(--pen);font:500 13px var(--m);cursor:pointer;z-index:2;transition:transform .2s,background .2s}
.g-art .pin::after{content:"";position:absolute;inset:-7px;border-radius:50%;border:1px solid var(--pen);opacity:0;animation:ping 2.4s infinite}
.g-art .pin.on,.g-art .pin:hover{background:var(--pen);color:#14305a;transform:translate(-50%,-50%) scale(1.12)}
@keyframes ping{0%{opacity:.7;transform:scale(.7)}80%,100%{opacity:0;transform:scale(1.5)}}
.pins-leg{list-style:none;margin:18px 0 0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.pins-leg li{font-size:14px;color:var(--tx);border-top:1px solid var(--ln3);padding-top:8px;transition:color .2s,border-color .2s;cursor:default}
.pins-leg li b{font:500 13px var(--m);color:var(--pen);margin-right:6px}
.pins-leg li span{display:block;color:var(--tx2);font-size:13px;margin-top:2px}
.pins-leg li.on{border-color:var(--pen)}
.g-art .lvl{position:absolute;left:0;right:0;border-top:1px dashed var(--pen);opacity:.85;z-index:1}
.g-art .lvl span{position:absolute;right:0;top:-24px;font:400 12px var(--m);color:var(--pen)}
.layers-lbl{position:absolute;left:-8px;top:0;bottom:0;width:150px;z-index:2;pointer-events:none}
.layers-lbl i{position:absolute;left:0;font:400 13px var(--b);font-style:normal;color:var(--tx);white-space:nowrap;transform:translateX(-100%);padding-right:10px}

/* четыре участка */
.tabs4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--ln2)}
.tabs4 button{background:none;border:0;border-right:1px solid var(--ln2);color:var(--tx);font:500 16px var(--b);padding:12px 10px 10px;cursor:pointer;
  display:flex;flex-direction:column;align-items:center;gap:10px;transition:background .2s}
.tabs4 button:last-child{border-right:0}
.tabs4 button span{display:block;width:100%;padding:6px 0}
.tabs4 button.on span{background:var(--pen);color:#14305a}
.tabs4 button img{height:70px;width:auto;opacity:.9;transition:transform .4s}
.tabs4 button:hover img{transform:translateY(-3px)}
.case{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,3.4fr) minmax(0,3.4fr);gap:16px;margin-top:16px}
.case .box{min-height:300px}
.case svg{width:100%;height:auto;display:block}
.case svg text{font:400 12.5px var(--m);fill:var(--tx)}
.case ul{list-style:none;padding:0;margin:0}
.case li{position:relative;padding:7px 0 7px 32px;font-size:15.5px;border-bottom:1px solid var(--ln3)}
.case li:last-child{border-bottom:0}
.case .yes li::before{content:"";position:absolute;left:2px;top:9px;width:18px;height:18px;border:1.5px solid var(--pen)}
.case .yes li::after{content:"";position:absolute;left:7px;top:11px;width:7px;height:11px;border:solid var(--pen);border-width:0 2px 2px 0;transform:rotate(40deg)}
.case .ask li::before{content:"?";position:absolute;left:4px;top:2px;font:500 24px var(--m);color:var(--tx2)}
.case .look{color:var(--tx2);font-size:15px;margin:0 0 12px}
.case .fade{animation:unfold .4s}

/* признаки воды */
.signs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.sign{border:1px solid var(--ln2);padding:16px 14px;display:flex;flex-direction:column;position:relative}
.sign .n{font:500 22px var(--m);color:var(--pen)}
.sign h3{font-size:19px;text-transform:none;letter-spacing:.01em;margin:4px 0 8px;min-height:44px}
.sign .pic{height:120px;display:flex;align-items:center;justify-content:center;margin:0 0 12px}
.sign .pic img{max-height:120px;width:auto}
.sign ul{list-style:none;margin:0;padding:0;font-size:14px;color:var(--tx2)}
.sign li{padding:3px 0 3px 12px;position:relative}
.sign li::before{content:"›";position:absolute;left:0;color:var(--pen)}
.sign .tick{margin-top:auto;padding-top:12px;display:flex;align-items:center;gap:8px;font:400 13px var(--m);color:var(--tx2);cursor:pointer}
.sign .tick input{accent-color:var(--pen);width:18px;height:18px}
.sign.on{border-color:var(--pen)}
.signs-sum{margin-top:16px;display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.signs-sum .meter{flex:1;min-width:220px;height:10px;border:1px solid var(--ln2);position:relative}
.signs-sum .meter i{position:absolute;left:0;top:0;bottom:0;background:var(--pen);transition:width .4s}
.signs-sum p{margin:0;color:var(--tx2);flex:2;min-width:260px}

/* отчёт */
.otchet{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,3.6fr) minmax(0,3.6fr);gap:16px}
.otchet svg{width:100%;height:auto;display:block}
.otchet svg text{font:400 12.5px var(--m);fill:var(--tx)}
.otchet .skv{cursor:pointer}
.otchet .skv circle{transition:r .2s}
.otchet .skv:hover circle.o,.otchet .skv.on circle.o{stroke:var(--pen);stroke-width:2.5}
.otchet .look{color:var(--tx2);font-size:14.5px;margin:12px 0 0}
.otchet ol{list-style:none;margin:0;padding:0;counter-reset:o}
.otchet ol li{counter-increment:o;display:grid;grid-template-columns:40px 1fr;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid var(--ln3);font-size:15px;cursor:pointer}
.otchet ol li::before{content:"0" counter(o);font:500 15px var(--m);color:var(--tx2);border:1px solid var(--ln2);text-align:center;padding:5px 0}
.otchet ol li.on::before{color:#14305a;background:var(--pen);border-color:var(--pen)}

/* таблица фундаментов */
.ftab-wrap{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:20px;align-items:start}
.ftab{width:100%;border-collapse:collapse;border:1px solid var(--ln2)}
.ftab th,.ftab td{border:1px solid var(--ln3);padding:10px 12px;text-align:center;font-weight:400}
.ftab thead th{font:600 16px var(--h);text-transform:uppercase;letter-spacing:.03em;vertical-align:bottom}
.ftab thead img{height:62px;width:auto;margin:0 auto 8px}
.ftab tbody th{text-align:left;font-size:15px;color:var(--tx)}
.ftab td{cursor:pointer;transition:background .2s}
.ftab td:hover,.ftab td.on{background:rgba(243,198,75,.12)}
.mk{display:inline-block;width:22px;height:22px;position:relative}
.mk.y::after{content:"";position:absolute;left:7px;top:1px;width:7px;height:14px;border:solid #b9ea6e;border-width:0 2.5px 2.5px 0;transform:rotate(40deg)}
.mk.t::after{content:"";position:absolute;left:1px;top:2px;border-left:10px solid transparent;border-right:10px solid transparent;border-bottom:17px solid var(--pen);opacity:.95}
.mk.t::before{content:"";position:absolute;left:5px;top:7px;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:10px solid var(--bg);z-index:1}
.mk.n::before,.mk.n::after{content:"";position:absolute;left:10px;top:1px;width:2.5px;height:20px;background:var(--bad);transform:rotate(45deg)}
.mk.n::after{transform:rotate(-45deg)}
.ftab-side .box p{margin:0 0 12px;display:flex;gap:12px;align-items:flex-start;font-size:14.5px;color:var(--tx2)}
.ftab-side .box p .mk{flex:none}
.ftab-note{min-height:120px}
.ftab-note b{display:block;font:600 13px var(--m);text-transform:uppercase;letter-spacing:.05em;color:var(--pen);margin-bottom:6px}
.ftab-note span{font-size:15px}

@media (max-width:1100px){
  .signs{grid-template-columns:repeat(3,minmax(0,1fr))}
  .case,.otchet{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .case>.box:first-child,.otchet>.box:first-child{grid-column:1/-1}
  .ftab-wrap{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:760px){
  .g-hero{grid-template-columns:minmax(0,1fr);padding-top:26px}
  .pins-leg{grid-template-columns:minmax(0,1fr)}
  .g-art .pin{width:24px;height:24px;font-size:12px}
  .tabs4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tabs4 button:nth-child(2){border-right:0}
  .tabs4 button:nth-child(-n+2){border-bottom:1px solid var(--ln2)}
  .case,.otchet{grid-template-columns:minmax(0,1fr)}
  .signs{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sign h3{font-size:17px}
  .ftab-scroll{overflow-x:auto}
  .ftab{min-width:560px}
}
