/* Основная страница лесозаготовительной техники /equipment/. */
:root {
    --lk-yellow:#ffd504;
    --lk-dark:#1c1c1c;
}
html {
    min-height:100%;
}
* {
    box-sizing:border-box;
}
body {
    margin:0;
    min-height:100vh;
    display:flex;
    flex-direction:column;
    background:#f5f5f5;
    color:#1c1c1c;
    font:16px/1.4 Inter,sans-serif;
}
body > main {
    flex:1 0 auto;
}
h1,h2,h3,p {
    margin:0;
}
a {
    color:inherit;
    text-decoration:none;
}
button,input,textarea {
    font:inherit;
}
button {
    cursor:pointer;
    border:0;
}
input,textarea {
    min-width:0;
    background:transparent;
}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible {
    outline:3px solid #b68a00;
    outline-offset:4px;
}
[hidden] {
    display:none!important;
}
.head-blocks {
    width:calc(100% - 48px);
    max-width:1280px;
    margin-left:auto;
    margin-right:auto;
}
.ep-header {
    height:114px;
    background:#1c1c1c;
    color:white;
}
.ep-header-inner {
    height:100%;
    display:flex;
    align-items:center;
    gap:20px;
}
.ep-header nav {
    display:flex;
    align-items:center;
    gap:20px;
    margin-left:auto;
    font-size:13px;
    white-space:nowrap;
}
.ep-header-contact {
    margin-left:auto;
    text-align:right;
    white-space:nowrap;
    font-size:12px;
}
.ep-header-contact a {
    display:block;
}
.ep-header-contact a:first-child {
    font-size:16px;
    color:#ffd504;
    margin-bottom:8px;
}
.ep-account {
    width:51px;
    height:51px;
    display:grid;
    place-items:center;
    border:1px solid #ffd504;
    border-radius:3px;
    flex-shrink:0;
}
.ep-menu-toggle {
    display:none;
}
.ep-ponsse {
    object-fit:contain;
}
.pl-hero {
    background-image:linear-gradient(#484848,#484848),url('../img/equipment-preview/da1e5.png');
    background-blend-mode:multiply;
    background-position:center,center 85.4%;
    background-size:cover,cover;
}
.pl-hero__inner {
    padding-top:154px;
}
.pl-hero__title {
    font:400 60px/1.3 Tektur,sans-serif;
    text-transform:uppercase;
    max-width:871px;
    margin-top:30px;
}
.pl-hero__note {
    margin-top:65px;
}
.pl-hero .pl-button {
    margin-top:40px;
    background:transparent;
}
.pl-catalog__head {
    gap:24px;
}
.pl-catalog__head .pl-title {
    font-size:50px;
    line-height:66px;
    white-space:nowrap;
    letter-spacing:-1.2px;
}
.pl-search {
    flex:1;
    min-width:240px;
}
.pl-search input {
    width:100%;
    outline-offset:0;
}
.ep-cards {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:13px;
    margin-top:30px;
}
.ep-card {
    padding:0;
    height:280px;
    overflow:hidden;
    background:#fafafa;
    border:1.294px solid #e2e2e2;
    border-radius:9px;
    text-align:left;
}
.ep-card:hover {
    border-color:#b89900;
}
.ep-card-photo {
    display:block;
    height:191px;
    overflow:hidden;
    background:#ededed;
    position:relative;
}
.ep-card-photo img {
    width:100%;
    height:100%;
    object-fit:cover;
}
.ep-card-photo--beaver img {
    height:161.78%;
    position:absolute;
    top:-31.36%;
    left:0;
}
.ep-card-body {
    display:flex;
    flex-direction:column;
    padding:18px 14px;
    gap:6px;
    font:20px Tektur,sans-serif;
    text-transform:uppercase;
}
.ep-card-body small {
    font:16px Inter,sans-serif;
    color:#8a8a8a;
    text-transform:none;
}
.pl-lead input {
    border:0;
    border-bottom:1px solid #333;
    height:38px;
    margin-bottom:20px;
    padding:10px 0;
    font-size:14px;
}
.ep-status {
    font-size:13px;
    margin-top:8px;
}
.pl-benefits {
    margin-top:80px;
}
.pl-benefits__title span {
    color:#ffd504;
}
.ep-services {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:40px;
    margin-top:65px;
}
.ep-service {
    height:300px;
    background:white;
    border:1px solid #efefef;
    border-radius:5px;
    padding:32px 40px 40px;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    position:relative;
}
.ep-service h3 {
    font-size:25px;
    font-weight:600;
    max-width:355px;
    line-height:1.4;
}
.ep-service h3 img {
    vertical-align:middle;
}
.ep-service p {
    max-width:474px;
    color:#4b4b4b;
}
.ep-diamonds {
    position:absolute;
    right:32px;
    top:32px;
    width:48px;
    height:48px;
    transform:rotate(45deg);
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:3px;
}
.ep-diamonds i {
    border:1px solid #ddd;
}
.ep-diamonds i:first-child,.ep-diamonds--2 i:nth-child(2),.ep-diamonds--3 i:nth-child(2),.ep-diamonds--3 i:nth-child(3),.ep-diamonds--4 i {
    background:#ffd504;
    border-color:#ffd504;
}
.pl-benefits__grid {
    margin-top:60px;
    padding:0 110px;
    gap:50px;
}
.pl-about {
    margin-top:80px;
    position:relative;
    background:none;
    isolation:isolate;
}
.pl-about:before {
    content:'';
    position:absolute;
    inset:0;
    z-index:-1;
    background:linear-gradient(174deg,transparent 8%,#000a 57%),linear-gradient(#0004,#0004),url('../img/equipment-preview/543bb.png') center bottom/cover;
    transform:scaleX(-1);
}
.pl-about__card-head img {
    flex-shrink:0;
}
.pl-map {
    height:669px;
    margin-top:80px;
}
.pl-map__canvas {
    top:183px;
}
.pl-map__legend {
    margin-top:20px;
}
.ep-dot {
    flex-shrink:0;
    align-self:center;
}
.pl-map__note {
    top:540px;
}
.pl-branch {
    top:149px;
}
.pl-team {
    padding-bottom:100px;
    background:linear-gradient(#0009,#000c),url('../img/equipment-preview/affb9.png') center bottom/cover;
    min-height:766px;
}
.pl-team__photo {
    object-fit:cover;
    object-position:center 21%;
}
.pl-team__track {
    padding-left:0;
}
.pl-cta__title {
    font-size:55px;
    line-height:1.15;
    max-width:732px;
    width:calc(100% - 510px);
}
.pl-cta__note {
    margin-top:30px;
}
.pl-cta__card .ep-arrow {
    position:absolute;
    top:50px;
    right:50px;
    left:auto;
    width:141px;
    height:141px;
    transform:rotate(-45deg);
}
.pl-cta__card .ep-arrow img {
    position:absolute;
    inset:auto;
    left:-39px;
    top:-4px;
    width:auto;
    height:auto;
    max-width:none;
}
.pl-contacts,.pl-contacts__map {
    height:500px;
}
.pl-contacts__list {
    top:186px;
}
.ep-footer {
    margin-top:100px;
    background:#1c1c1c;
    color:white;
    padding:40px 0 48px;
}
.ep-footer-grid {
    display:grid;
    grid-template-columns:360px 1fr auto;
    gap:36px 78px;
}
.ep-footer-logos {
    display:flex;
    gap:22px;
}
.ep-footer nav {
    grid-column:2/4;
    display:flex;
    justify-content:space-between;
    gap:20px;
    align-items:center;
}
.ep-footer p {
    font-size:12px;
    color:#717171;
    max-width:310px;
}
.ep-privacy {
    font-size:12px;
    color:#717171;
    align-self:end;
}
#ep-dialog {
    border:0;
    border-radius:8px;
    padding:40px;
    width:min(540px,calc(100% - 32px));
    max-height:90vh;
}
#ep-dialog::backdrop {
    background:#000a;
}
#ep-dialog h2 {
    font:32px/1.2 Tektur,sans-serif;
    margin:0 20px 24px 0;
}
.ep-dialog-close {
    position:absolute;
    top:10px;
    right:15px;
    background:transparent;
    font-size:30px;
}
.ep-order label {
    display:block;
    margin:16px 0;
    font-size:14px;
}
.ep-order label input,.ep-order textarea {
    display:block;
    width:100%;
    padding:12px;
    border:1px solid #aaa;
    border-radius:4px;
    margin-top:6px;
}
#ep-dialog button[type=submit] {
    background:#ffd504;
    padding:18px;
    width:100%;
    border-radius:4px;
}
.ep-order small {
    display:block;
    margin-top:16px;
    font-size:12px;
}
.ep-order small a {
    text-decoration:underline;
}
button:disabled {
    opacity:.6;
    cursor:wait;
}
@media(max-width:1400px) {
    .ep-header nav {
        gap:12px;
    }
    .ep-header-contact {
        display:none;
    }
    .ep-footer-grid {
        gap:30px;
    }
    .pl-catalog__head .pl-title {
        font-size:42px;
    }
    .pl-benefits__grid {
        padding:0 50px;
    }
    .ep-services {
        gap:24px;
    }
}
@media(max-width:1280px) {
    .pl-about__card {
        width:55%;
    }
    .pl-about__text {
        max-width:42%;
    }
    .pl-about__card-title {
        font-size:32px;
    }
    .pl-about .pl-button--light {
        width:42%;
    }
    .pl-cta__title {
        font-size:48px;
    }
    .ep-footer nav {
        flex-wrap:wrap;
    }
    .ep-service h3 {
        max-width:75%;
    }
    .pl-map__canvas {
        width:66%;
    }
    .pl-branch {
        width:31%;
    }
    .pl-map__legend {
        max-width:66%;
    }
    .pl-map__note {
        top:500px;
    }
}
@media(max-width:1000px) {
    .ep-header {
        height:90px;
    }
    .ep-header nav {
        display:none;
        position:absolute;
        top:90px;
        left:0;
        right:0;
        padding:24px;
        background:#1c1c1c;
        z-index:5;
        flex-direction:column;
        align-items:flex-start;
        font-size:16px;
    }
    .ep-header nav.is-open {
        display:flex;
    }
    .ep-menu-toggle {
        display:block;
        margin-left:auto;
        color:#ffd504;
        background:none;
        border:1px solid #ffd504;
        padding:10px;
    }
    .ep-header .ep-ponsse {
        display:none;
    }
    .pl-hero {
        height:760px;
    }
    .pl-hero__inner {
        padding-top:100px;
    }
    .pl-hero__title {
        font-size:52px;
    }
    .pl-hero__note {
        margin-top:45px;
    }
    .pl-catalog__head {
        flex-wrap:wrap;
    }
    .pl-catalog__head .pl-title {
        white-space:normal;
        font-size:42px;
        line-height:1.1;
    }
    .pl-search {
        flex:auto;
        width:100%;
    }
    .ep-cards {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .pl-benefits__grid {
        padding:0;
        gap:25px;
    }
    .ep-services {
        margin-top:40px;
    }
    .ep-service {
        padding:25px;
        height:300px;
    }
    .ep-service h3 {
        font-size:22px;
    }
    .ep-diamonds {
        right:22px;
        top:25px;
        width:32px;
        height:32px;
    }
    .pl-about__card {
        width:100%;
    }
    .pl-about__text {
        max-width:100%;
    }
    .pl-about .pl-button--light {
        width:100%;
    }
    .pl-map {
        height:auto;
    }
    .pl-map__canvas {
        position:relative;
        top:auto;
        width:100%;
        margin-top:30px;
    }
    .pl-map__legend {
        max-width:100%;
    }
    .pl-map__note {
        position:static;
    }
    .pl-branch {
        position:static;
        width:100%;
        margin-top:24px;
    }
    .pl-cta__title {
        width:100%;
        max-width:650px;
    }
    .pl-contacts {
        height:auto;
    }
    .pl-contacts__map {
        height:400px;
    }
    .ep-footer-grid {
        grid-template-columns:1fr 1fr;
    }
    .ep-footer nav {
        grid-column:auto;
    }
    .ep-privacy {
        grid-column:1/-1;
    }
}
@media(max-width:600px) {
    .head-blocks {
        width:calc(100% - 32px);
    }
    .pl-hero {
        height:690px;
    }
    .pl-hero__inner {
        padding-top:75px;
    }
    .pl-hero__title {
        font-size:36px;
        line-height:1.2;
        overflow-wrap:normal;
        hyphens:auto;
    }
    .pl-hero__note {
        font-size:20px;
        margin-top:40px;
    }
    .pl-hero__badge {
        font-size:28px;
    }
    .pl-hero .pl-button {
        width:100%;
        height:76px;
    }
    .pl-catalog__head .pl-title {
        font-size:34px;
    }
    .ep-cards {
        gap:10px;
    }
    .ep-card {
        height:215px;
    }
    .ep-card-photo {
        height:135px;
    }
    .ep-card-body {
        font-size:15px;
        padding:12px 10px;
        gap:6px;
    }
    .ep-card-body small {
        font-size:13px;
    }
    .pl-lead {
        padding:24px;
    }
    .pl-lead__form {
        width:100%;
    }
    .pl-benefits__title {
        font-size:40px;
        line-height:1.1;
    }
    .ep-services {
        grid-template-columns:1fr;
        gap:16px;
    }
    .ep-service {
        height:260px;
    }
    .pl-benefits__grid {
        gap:30px;
    }
    .pl-about__card-title {
        font-size:26px;
    }
    .pl-about__card-head {
        gap:16px;
    }
    .pl-about__card-head img {
        max-width:65px;
        height:auto;
    }
    .pl-map__title {
        font-size:34px;
    }
    .pl-team {
        padding-bottom:50px;
    }
    .pl-cta__title {
        font-size:40px;
    }
    .pl-cta__card .ep-arrow {
        right:50px;
        top:50px;
    }
    .ep-footer-grid {
        grid-template-columns:1fr;
    }
    .ep-footer nav {
        justify-content:flex-start;
        gap:20px 30px;
    }
    .ep-footer-logos {
        gap:20px;
    }
    .pl-contacts__value {
        font-size:22px;
    }
    #ep-dialog {
        padding:30px 24px;
    }
}
@media(prefers-reduced-motion:reduce) {
    * {
        scroll-behavior:auto!important;
    }
}
/* Точная геометрия фоновых слоёв и адаптивных карточек. */
.pl-hero {
    background-color:#fff;
}
.pl-point {
    border-radius:2px;
    transform:rotate(45deg);
}
.pl-about__logo-outline {
    position:absolute;
    top:107px;
    right:30px;
}
.pl-contacts::before {
    background:url('../img/equipment-preview/11aba.svg') no-repeat;
}
.pl-cta__card {
    display:block;
}
.pl-team__photo {
    object-position:center 21%;
}
@media(min-width:1281px) {
    .pl-catalog__head .pl-title {
        font-size:50px;
    }
    .pl-hero__title {
        line-height:1.3;
    }
    .pl-benefits__grid {
        gap:40px;
    }
    .pl-benefits {
        min-height:1091px;
    }
    .pl-map__legend {
        position:absolute;
        top:140px;
        left:0;
        margin-top:0;
    }
}
@media(max-width:1000px) {
    .pl-cta__card {
        position:relative;
        top:auto;
        right:auto;
    }
    .pl-cta__card .ep-arrow {
        bottom:auto;
    }
    .pl-team {
        min-height:0;
    }
    .pl-about__logo-outline {
        display:none;
    }
}
@media (min-width: 1001px) {
    .pl-hero__note {
        margin-top: 30px;
    }
}
