/* БетонСнаб (Тучково) — «Нефрит и сталь»: нефрит H166 (#18856B — акценты и крупный текст; #0E6150 — кнопки, белый текст 7,4:1;
   светлый #8AE6C7 на стальном тёмном #1D2529 10,6:1), стальная полоса #5C6973 (белый 5,6:1), фон #F0F6F7; Libertinus Sans 700/400; знак ₽ — из PT Sans */
@font-face{font-family:"LB";src:url(/fonts/lb700.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"LB";src:url(/fonts/lb400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"RB";src:url(/fonts/rub400.woff2) format("woff2");font-weight:400;font-display:swap;unicode-range:U+20BD,U+2192,U+2248}
@font-face{font-family:"RB";src:url(/fonts/rub700.woff2) format("woff2");font-weight:700;font-display:swap;unicode-range:U+20BD,U+2192,U+2248}
:root{--j:#18856B;--jd:#0E6150;--jl:#8AE6C7;--tint:#E3F5EF;--d:#1D2529;--d2:#2A353A;--sl:#5C6973;--bg:#F0F6F7;--panel:#DDECED;--ink:#1A2124;--muted:#575E61;--onm:#B8C4C8;--line:#D9E4E6;--w:1240px}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth;scroll-padding-top:20px;-webkit-text-size-adjust:100%}
body{margin:0;background:#fff;color:var(--ink);font:400 18px/1.6 "LB","RB",Georgia,sans-serif;font-feature-settings:"lnum"}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3{margin:0}
ul,ol,dl,dd{margin:0;padding:0;list-style:none}
p,figure{margin:0}
button,input,select{font:inherit}
.wrap{width:100%;max-width:var(--w);margin:0 auto;padding:0 24px}
.i{width:20px;height:20px;flex:none}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.h2{font:700 clamp(30px,3.1vw,44px)/1.12 "LB","RB",sans-serif;margin:0 0 24px;color:var(--d);letter-spacing:-.01em}
.h2--c{text-align:center}
.h2--on{color:#fff}
.kick{font:700 14px/1 "LB",sans-serif;color:var(--j);text-transform:uppercase;letter-spacing:.14em;margin:0 0 12px}
.lead{color:var(--muted);max-width:720px}
.sec{padding:84px 0}
.sec--p{background:var(--bg)}
.hpot{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}

/* кнопки, поля */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:0 26px;border:0;border-radius:8px;background:var(--jd);color:#fff;font:700 16.5px/1.1 "LB",sans-serif;text-decoration:none;cursor:pointer;transition:background .15s,color .15s;text-align:center}
.btn:hover{background:#0A4A3D}
.btn--g{background:rgba(255,255,255,.14);box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.6)}
.btn--g:hover{background:#fff;color:var(--d)}
.btn--l{background:var(--tint);color:var(--jd)}
.btn--l:hover{background:var(--jl)}
.btn--s{min-height:40px;padding:0 18px;font-size:15px}
.btn--full{width:100%}
.btn:focus-visible,.fld:focus-visible,.mn__a:focus-visible,.tabs button:focus-visible,summary:focus-visible,.mp__l button:focus-visible,.pt__o:focus-visible,.tp__o:focus-visible{outline:3px solid var(--jl);outline-offset:2px}
.fld{width:100%;min-height:50px;padding:0 16px;border:1.5px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font:400 17px/1.2 "LB",sans-serif}
.fld:focus{border-color:var(--j);outline:0}
.agree{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;line-height:1.45;color:var(--muted)}
.agree input{margin:3px 0 0;accent-color:var(--jd)}

/* надпись */
.wm{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--d);flex:none}
.wm__m{width:34px;height:34px}
.wm__m circle{fill:var(--j)}
.wm__m rect{fill:#fff}
.wm__t{font:700 26px/1 "LB",sans-serif;letter-spacing:-.01em}
.wm__t b{color:var(--j)}
.wm--on{color:#fff}
.wm--on .wm__t b{color:var(--jl)}
.wm--on .wm__m rect{fill:var(--d)}
.wm--on .wm__m circle{fill:var(--jl)}

/* инфо-строка и шапка */
.tb{background:var(--d);color:var(--onm);font-size:14px}
.tb__in{display:flex;justify-content:space-between;gap:20px;min-height:36px;align-items:center}
.tb span{display:inline-flex;align-items:center;gap:8px}
.tb .i{width:16px;height:16px;color:var(--jl)}
.hd{background:#fff;border-bottom:1px solid var(--line)}
.hd__top{display:flex;align-items:center;gap:28px;min-height:84px}
.hd__d{font-size:15px;line-height:1.3;color:var(--muted)}
.hd__c{display:flex;flex-direction:column;align-items:flex-end;gap:2px;margin-left:auto}
.hd__tel{font:700 22px/1 "LB",sans-serif;text-decoration:none}
.hd__mail{font-size:14.5px;color:var(--jd)}
.hd__call,.hd__burger{display:none}
.hd__bar{border-top:1px solid var(--line)}
.mn{display:flex;gap:4px;min-height:50px;align-items:stretch}
.mn__a{display:flex;align-items:center;padding:0 16px;font:700 16px/1 "LB",sans-serif;text-decoration:none;color:var(--ink)}
.mn__a:hover{color:var(--j);box-shadow:inset 0 -3px 0 var(--j)}
.mn__x,.mn__c{display:none}

/* первый экран: тёмное фото, текст по центру */
.hero{position:relative;min-height:600px;display:flex;align-items:center;overflow:hidden;background:var(--d);color:#fff;text-align:center}
.hero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 45%}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(29,37,41,.55),rgba(29,37,41,.82))}
.hero__in{position:relative;z-index:1;padding-top:56px;padding-bottom:56px}
.hero h1{font:700 clamp(36px,4.4vw,62px)/1.06 "LB",sans-serif;max-width:980px;margin:0 auto;letter-spacing:-.015em}
.hero__in p{max-width:720px;margin:20px auto 30px;color:#DCE5E8}
.hero__b{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}

/* схема доставки */
.mp{padding:80px 0;background:var(--sl) linear-gradient(135deg,#5C6973,#46525B);color:#fff}
.mp__in{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:40px;align-items:center}
.mp__t p{color:#E2E8EB;max-width:460px}
.mp__l{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:24px 0 0}
.mp__l button{display:flex;flex-direction:column;align-items:flex-start;width:100%;padding:9px 12px;border:1px solid rgba(255,255,255,.25);border-radius:8px;background:rgba(255,255,255,.06);color:#fff;cursor:pointer;text-align:left;font-size:15px;line-height:1.25}
.mp__l button:hover{background:rgba(255,255,255,.16)}
.mp__l em{font-style:normal;font-size:13.5px;color:var(--jl)}
.mp__s{width:100%;height:auto;overflow:visible}
.mp__r{fill:none;stroke:rgba(255,255,255,.35);stroke-width:1.5;stroke-dasharray:6 6}
.mp__rt{fill:rgba(255,255,255,.65);font:700 15px "LB",sans-serif}
.mp__ln{stroke:rgba(138,230,199,.45);stroke-width:1.5}
.mp__d{fill:#fff;stroke:var(--jl);stroke-width:3}
.mp__tx{fill:#fff;font:700 17px "LB",sans-serif}
.mp__km{fill:var(--jl);font-weight:400;font-size:15px}
.mp__c{fill:var(--jl);stroke:#fff;stroke-width:3}
.mp__ct{fill:#fff;font:700 19px "LB",sans-serif}

/* о компании */
.ab{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:56px;align-items:center}
.ab .lead{margin:0 0 22px}
.ck{display:grid;gap:10px}
.ck li{display:flex;gap:12px;align-items:flex-start}
.ck .i{width:24px;height:24px;padding:4px;border-radius:50%;background:var(--tint);color:var(--jd);stroke-width:2.6;margin-top:1px}
.ck--s{font-size:16px;gap:8px}
.ab__f img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:14px}
.ab__f figcaption{margin:10px 0 0;font-size:14.5px;color:var(--muted)}

/* топ-позиции */
.tp{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.tp__c{display:flex;flex-direction:column;padding:24px 22px 20px;border-radius:14px;background:#fff;box-shadow:0 0 0 1px var(--line)}
.tp__g{display:grid;place-items:center;width:78px;height:78px;border-radius:50%;background:var(--d);color:var(--jl);font:700 22px/1 "LB",sans-serif;margin:0 0 16px}
.tp__c h3{font:700 19px/1.25 "LB",sans-serif;color:var(--d)}
.tp__p{margin:4px 0 8px;font-size:14.5px;color:var(--j);font-weight:700}
.tp__u{font-size:15.5px;color:var(--muted)}
.tp__f{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:16px}
.tp__f b{font:700 24px/1 "LB","RB",sans-serif;color:var(--d)}
.tp__f small{font-size:14px;font-weight:400;color:var(--muted)}
.tp__o{display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:8px;background:var(--jd);color:#fff;cursor:pointer}
.tp__o:hover{background:#0A4A3D}

/* прайс — стальная полоса */
.pb{padding:84px 0;background:var(--sl) linear-gradient(135deg,#46525B,#5C6973)}
.pb__l{text-align:center;color:#E2E8EB;margin:-8px auto 26px;max-width:640px}
.pb__c{max-width:1000px;margin:0 auto;padding:10px 24px 18px;border-radius:14px;background:#fff}
.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin:0 0 4px}
.tabs button{padding:14px 18px;border:0;border-bottom:3px solid transparent;background:none;color:var(--muted);font:700 16px/1 "LB",sans-serif;cursor:pointer;margin-bottom:-1px}
.tabs button.is-on{color:var(--jd);border-color:var(--j)}
.pt{width:100%;border-collapse:collapse}
.pt th{text-align:left;font:700 13.5px/1.2 "LB",sans-serif;color:var(--muted);padding:12px 10px;text-transform:uppercase;letter-spacing:.06em}
.pt td{padding:11px 10px;border-top:1px solid var(--line);font-size:16px}
.pt td b{color:var(--jd)}
.pt__p{font-weight:700;white-space:nowrap}
.pt td:last-child{text-align:right}
.pt__o{border:0;background:none;color:var(--j);font:700 15px/1 "LB",sans-serif;text-decoration:underline;cursor:pointer;padding:6px 0;white-space:nowrap}
.sp{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-width:1000px;margin:18px auto 0}
.sp details{border-radius:10px;background:rgba(255,255,255,.1);color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.22)}
.sp details[open]{background:#fff;color:var(--ink)}
.sp summary{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:15px 18px;font:700 17px/1.25 "LB",sans-serif;cursor:pointer;list-style:none}
.sp summary::-webkit-details-marker{display:none}
.sp summary .i{transition:transform .2s}
.sp details[open] summary .i{transform:rotate(180deg);color:var(--j)}
.sp details div{padding:0 18px 18px}
.sp details p{font-size:15.5px;color:var(--muted);margin:0 0 12px}

/* качество */
.kq{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:56px;align-items:center}
.kq .lead{margin:0 0 18px}
.kq__f{display:grid;gap:12px;padding:30px;border-radius:16px;background:var(--bg);box-shadow:0 0 0 1px var(--line)}
.kq__h{font:700 21px/1.25 "LB",sans-serif}
.kq__t{font:700 28px/1 "LB",sans-serif;color:var(--jd);text-decoration:none;margin:0 0 6px}

/* слоган */
.sl{padding:56px 0;background:var(--j);color:#fff}
.sl__h{font:700 clamp(24px,2.6vw,34px)/1.2 "LB",sans-serif;text-align:center;max-width:920px;margin:0 auto 26px}
.sl__l{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-width:920px;margin:0 auto}
.sl__l a{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-radius:10px;background:rgba(255,255,255,.12);text-decoration:none;font:700 17px/1 "LB",sans-serif}
.sl__l a:hover{background:#fff;color:var(--jd)}

/* для кого */
.au{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:22px;align-items:start}
.au__c{display:flex;flex-direction:column;border-radius:16px;overflow:hidden;background:var(--bg)}
.au__c>div{display:flex;flex-direction:column;gap:16px;padding:28px 30px 30px;flex:1}
.au__c h3{display:flex;align-items:center;gap:12px;font:700 23px/1.2 "LB",sans-serif;color:var(--d)}
.au__c h3 .i{width:40px;height:40px;padding:8px;border-radius:10px;background:var(--d);color:var(--jl)}
.au__c img{width:100%;aspect-ratio:16/8;object-fit:cover}
.au__c .btn{align-self:flex-start;margin-top:auto}

/* контакты */
.kt{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:40px;align-items:stretch}
.kt__n{font:700 20px/1.2 "LB",sans-serif;color:var(--j);margin:-10px 0 14px}
.kt__i{margin:0 0 24px}
.kt__i div{display:grid;grid-template-columns:140px minmax(0,1fr);gap:14px;padding:11px 0;border-bottom:1px solid var(--line)}
.kt__i dt{color:var(--muted);font-size:16px}
.kt__i a{color:var(--jd);font-weight:700}
.kt__m{min-height:420px;border-radius:14px;overflow:hidden;background:var(--panel)}
.kt__m iframe{display:block;width:100%;height:100%;min-height:420px;border:0}

/* подвал */
.ft{background:var(--d);color:#fff;padding:54px 0 0}
.ft__in{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr) minmax(0,1fr);gap:36px}
.ft__a p{margin:14px 0 0;color:var(--onm);font-size:15.5px;max-width:380px}
.ft__c{display:flex;flex-direction:column;gap:8px;font-size:15px;color:var(--onm)}
.ft__c a{text-decoration:none;color:#fff}
.ft__c a:hover{color:var(--jl)}
.ft__h{font:700 16px/1.2 "LB",sans-serif;color:#fff;margin:0 0 4px}
.ft__tel{font:700 22px/1 "LB",sans-serif}
.ft__b{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 30px;margin:40px 0 0;padding:18px 0 24px;border-top:1px solid #2F3A3F;font-size:13.5px;color:#8E9A9F}

/* окно заявки */
.dlg{width:min(460px,calc(100% - 32px));padding:0;border:0;border-radius:14px;box-shadow:0 30px 80px rgba(0,0,0,.35)}
.dlg::backdrop{background:rgba(20,27,30,.6)}
.dlg__f{position:relative;display:grid;gap:12px;padding:34px 30px 28px;border-top:6px solid var(--j)}
.dlg__x{position:absolute;right:10px;top:10px;width:40px;height:40px;border:0;background:none;cursor:pointer;color:var(--muted);display:grid;place-items:center}
.dlg__t{font:700 25px/1.15 "LB",sans-serif;color:var(--d);padding-right:30px}
.dlg__d{font-size:16px;color:var(--muted)}

/* служебные страницы */
.note{padding:110px 0 120px;background:var(--bg);text-align:center}
.note p{max-width:560px;margin:0 auto 10px;color:var(--muted)}
.note__ic{display:inline-grid;place-items:center;width:72px;height:72px;border-radius:50%;background:var(--jd);color:#fff;margin:0 0 20px}
.note__ic .i{width:34px;height:34px}
.note__ic--n{font:700 22px/1 "LB",sans-serif}
.note__b{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:26px!important}

@media (max-width:1140px){
  .hd__d{display:none}
  .tp{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:960px){
  .hd__top{min-height:68px;gap:12px}
  .hd__c,.hd__btn{display:none}
  .hd__call,.hd__burger{display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:8px;background:var(--bg);color:var(--ink);cursor:pointer}
  .hd__call{margin-left:auto;background:var(--jd);color:#fff}
  .hd__bar{border:0}
  .mn{position:fixed;inset:0 0 0 auto;width:min(360px,88vw);flex-direction:column;gap:0;padding:70px 26px 30px;background:#fff;transform:translateX(105%);transition:transform .25s;z-index:30;overflow:auto;min-height:0}
  .nav-open .mn{transform:none;box-shadow:-20px 0 60px rgba(0,0,0,.2)}
  .mn__a{font-size:20px;padding:14px 0;border-bottom:1px solid var(--line)}
  .mn__a:hover{box-shadow:none}
  .mn__x{display:grid;place-items:center;position:absolute;right:14px;top:12px;width:44px;height:44px;border:0;background:none;cursor:pointer}
  .mn__c{display:flex;flex-direction:column;gap:8px;margin:22px 0 0;font-size:15px;color:var(--muted)}
  .mn__c a{font-weight:700;color:var(--jd)}
  .mp__in,.ab,.kq,.au,.kt{grid-template-columns:minmax(0,1fr)}
  .mp__s{order:-1}
  .sp{grid-template-columns:minmax(0,1fr)}
  .ft__in{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .ft__a{grid-column:1/-1}
}
@media (max-width:640px){
  .wrap{padding:0 16px}
  body{font-size:17px}
  .sec,.pb,.mp{padding:60px 0}
  .tb__in span:first-child{display:none}
  .wm__t{font-size:22px}
  .hero{min-height:520px}
  .hero h1{font-size:clamp(30px,8.4vw,38px)}
  .hero__b .btn{flex:1 1 100%}
  .mp__l{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mp__tx,.mp__rt{display:none}
  .mp__ct{font-size:34px}
  .mp__d{stroke-width:5}
  .tp{grid-template-columns:minmax(0,1fr)}
  .pb__c{padding:6px 14px 12px}
  .pt thead{display:none}
  .pt,.pt tbody{display:block}
  .pt tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;padding:12px 0;border-top:1px solid var(--line)}
  .pt td{display:block;padding:0;border:0}
  .pt td:nth-child(1){grid-column:1}
  .pt td:nth-child(2){grid-column:1/-1;font-size:14.5px;color:var(--muted)}
  .pt td.pt__p{grid-column:2;grid-row:1;text-align:right}
  .pt td:last-child{grid-column:1/-1;text-align:left}
  .sl__l{grid-template-columns:minmax(0,1fr)}
  .kq__f{padding:22px 18px}
  .au__c>div{padding:22px 20px}
  .kt__i div{grid-template-columns:minmax(0,1fr);gap:2px}
  .ft__in{grid-template-columns:minmax(0,1fr)}
  .kt__m,.kt__m iframe{min-height:340px}
}
