:root{
    --bg: #f2f2f2;
    --surface: #ffffff;
    --text: #1b1b1b;
    --muted: rgba(27,27,27,.62);
    --line: rgba(27,27,27,.12);

    --accent: #ea6a2f;      /* оранжевый акцент */
    --accent2: #ff8b55;     /* мягкий */
    --dark: #1f1f1f;

    --r-xl: 26px;
    --r-lg: 20px;
    --r-md: 14px;

    --shadow: 0 14px 30px rgba(0,0,0,.12);
    --shadow2: 0 10px 20px rgba(0,0,0,.10);

    --container: 1280px;
}
main .hero {
    margin-top: -100px;
    padding-top: 100px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
    margin:0;
    font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
    color: var(--text);
    background: var(--bg);
}

img{max-width:100%; display:block}
a{color:inherit; text-decoration:none}
.container{max-width: var(--container); margin:0 auto; padding: 0 18px}

/* Header */
.header{
    position: sticky;
    top: 0;
    z-index: 50;
    padding: 12px 0;
    /*background: linear-gradient(to bottom, rgba(242,242,242,.92), rgba(242,242,242,.70));*/
    /*backdrop-filter: blur(10px);*/
}
.topbar{
    background: var(--surface);
    border-radius: var(--r-xl);
    box-shadow: var(--shadow2);
}
.topbar__inner{
    display:flex;
    align-items:center;
    gap:18px;
    padding: 14px 16px;
}

.brand{
    display:flex;
    align-items:center;
    gap:10px;
    min-width: 220px;
}
.brand__mark{
    width: 40px;
    min-width: 40px;
    height: 40px;
    border-radius: 12px;
    border: 2px solid var(--accent);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 5px;
}
.brand__name{font-weight:900; letter-spacing:.2px}
.brand__sub{font-size:12px; color: var(--muted); margin-top:2px}
.brand--small .brand__mark{width:34px;height:34px;border-radius:11px}
.brand--small .brand__sub{display:none}

.nav{
    display:flex;
    gap:18px;
    margin: 0 auto;
}
.nav__link{
    font-weight:800;
    font-size: 13px;
    letter-spacing:.4px;
    text-transform: uppercase;
    padding: 10px 10px;
    border-radius: 999px;
}
.nav__link:hover{
    background: rgba(0,0,0,.04);
}

.topbar__right{
    display:flex;
    align-items:center;
    gap:14px;
}
.phone{
    text-align:right;
    line-height:1.15;
}
.phone__num{font-weight:900}
.phone__meta{font-size:12px; color: var(--muted); margin-top: 4px;}
.phone__meta a{color: var(--accent); font-weight:800}

.btn{
    border: 1px solid var(--line);
    background: var(--surface);
    color: var(--text);
    padding: 12px 16px;
    border-radius: 999px;
    font-weight:900;
    cursor:pointer;
    line-height: 1rem;
    display: flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    transition: transform .08s ease, background .2s ease, border-color .2s ease;
}
.btn:hover{transform: translateY(-1px)}
.btn:active{transform: translateY(0px)}
.btn--primary{
    background: var(--accent);
    color:#fff;
    border-color: transparent;
    box-shadow: 0 14px 28px rgba(234,106,47,.24);
}
.btn--ghost {
    background: rgba(255, 255, 255, .12);
    border: 1px solid rgb(234 106 47);
    color: var(--text);
    backdrop-filter: blur(10px);
}
main .hero .btn--ghost{
    background: rgba(255, 255, 255, .12);
    border: 1px solid rgb(234 106 47);
    color: #fffefd;
    backdrop-filter: blur(10px);
}

.btn.btn--ghost.btn--block {
    color: black;
}

.btn.btn--ghost.btn--block {
    color: black;
}
option {
    color: black;
}
.btn.btn--ghost.btn--sm {
    color: #3b3b3b;
}
.btn--block{width:100%}
.btn--sm{padding:10px 12px; font-size: 13px}

.burger{
    display:none;
    width:44px; height:44px;
    border-radius: 999px;
    border:1px solid var(--line);
    background: var(--surface);
    cursor:pointer;
    align-items:center;
    justify-content:center;
    gap:4px;
    flex-direction:column;
}
.burger span{
    width:18px; height:2px; background: var(--text); display:block; border-radius:2px;
}

/* Hero */
.hero{
    position: relative;
    min-height: 800px;
    display:flex;
    align-items: stretch;
}
.hero__bg{
    position:absolute;
    inset: 0;
    background:
            linear-gradient(90deg, rgba(0,0,0,.55) 0%, rgba(0,0,0,.45) 44%, rgba(0,0,0,.22) 70%, rgba(0,0,0,.09) 100%),
            url("img/hero.webp") center/cover no-repeat;
    filter: saturate(1.02);
}
.hero__grid{
    position:relative;
    display:grid;
    grid-template-columns: 1.3fr .9fr;
    gap: 26px;
    padding: 190px 0;
    align-items: center;
}
.hero__left{color:#fff; padding-right: 10px}
.hero__title{
    margin:0 0 16px;
    font-size: clamp(34px, 4vw, 56px);
    line-height:1.03;
    font-weight: 1000;
    letter-spacing: .2px;
    text-shadow: 0 10px 28px rgba(0,0,0,.35);
}
.hero__subtitle{
    margin:0 0 16px;
    font-size: 18px;
    color: rgba(255,255,255,.88);
    max-width: 56ch;
}
.hero__chips{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin: 14px 0 22px;
}
.chip{
    padding: 10px 12px;
    border-radius: 999px;
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.18);
    color: rgba(255,255,255,.92);
    font-weight: 800;
    font-size: 13px;
    backdrop-filter: blur(10px);
}
.hero__actions{display:flex; gap:12px; flex-wrap:wrap}
.hero__note{margin-top: 14px; font-size: 12px; color: rgba(255,255,255,.75)}

/* Cards / forms */
.card{
    background: var(--surface);
    border-radius: var(--r-xl);
    box-shadow: var(--shadow);
}
.form-card{
    padding: 22px;
    /*align-self: start;*/
}
.form-card__title{
    font-weight:1000;
    font-size: 20px;
    margin-bottom: 8px;
}
.form-card__desc{
    color: var(--muted);
    margin-bottom: 14px;
}

.form{display:flex; flex-direction:column; gap: 12px}
.field__label{display:block; font-size: 12px; color: var(--muted); margin-bottom: 6px; font-weight: 800}
.input, .select{
    width:100%;
    padding: 14px 14px;
    border-radius: 14px;
    border: 1px solid var(--line);
    outline:none;
    font-weight: 800;
    background: #fff;
}
.input:focus, .select:focus{border-color: rgba(234,106,47,.55); box-shadow: 0 0 0 4px rgba(234,106,47,.12)}
.form__fineprint{
    font-size: 12px;
    color: var(--muted);
    line-height: 1.35;
}
.form__ok{
    padding: 10px 12px;
    border-radius: 14px;
    background: rgba(0,0,0,.04);
    font-weight: 900;
}

/* Quote */
.quote{padding: 54px 0}
.quote__inner{
    background: #f6f6f6;
    border-radius: var(--r-xl);
    padding: 44px 30px;
    text-align:center;
    border: 1px solid rgba(0,0,0,.06);
}
.quote__mark{font-size: 40px; opacity:.65; margin-bottom: 12px}
.quote__text{font-size: 18px; color: var(--muted)}
.quote__author{margin-top: 10px; color: var(--text); font-weight: 900}

/* Sections */
.section{padding: 72px 0}
.section--soft{background: #efefef}
.section--tight{padding: 54px 0}
.section__head{text-align:center; margin-bottom: 24px}
.section__title{
    margin:0 0 10px;
    font-size: clamp(26px, 3vw, 40px);
    font-weight: 1000;
}
.section__title.accent{color: var(--accent)}
.section__sub{margin:0 auto; color: var(--muted); max-width: 78ch; line-height:1.6}
.section__actions{display:flex; gap:12px; flex-wrap:wrap; margin-top: 18px}

.hint{margin-top: 30px; color: var(--muted); font-size: 13px; text-align:center}

/* Filter */
.filter{
    display:flex;
    justify-content:center;
    gap:10px;
    flex-wrap:wrap;
    margin: 18px 0 22px;
}
.pill{
    padding: 10px 14px;
    border-radius: 999px;
    border: 1px solid var(--line);
    background: rgba(255,255,255,.6);
    font-weight: 900;
    cursor:pointer;
}
.pill.is-active{background: rgba(234,106,47,.12); border-color: rgba(234,106,47,.35); color: var(--accent)}

/* Products */
.grid{
    display:grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}
.product{overflow:hidden}
.product__img{position:relative; background:#f2f2f2}
.product__img img{width:100%; height: 240px;     object-fit: contain;
    padding: 15px;}
.badge{
    position:absolute;
    top: 12px; right: 12px;
    background: var(--accent);
    color:#fff;
    padding: 8px 10px;
    border-radius: 999px;
    font-weight: 1000;
    font-size: 12px;
}
.product__body{padding: 16px}
.product__name{font-weight: 1000; font-size: 16px; margin-bottom: 6px}
.product__meta{color: var(--muted); font-size: 13px; line-height: 1.35; margin-bottom: 10px}
.product__price{font-weight: 1000; font-size: 18px}
.product__actions{
    display:flex;
    gap:10px;
    padding: 0 16px 16px;
}

/* About two columns */
.two{
    display:grid;
    grid-template-columns: 1.05fr .95fr;
    gap: 22px;
    align-items:center;
}
.media{
    border-radius: var(--r-xl);
    overflow:hidden;
    box-shadow: var(--shadow2);
    background:#ddd;
}
.media img{width:100%; height: 420px; object-fit: cover}
.media--wide img{height: 520px}

/* Facts */
.facts{display:grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 18px}
.fact{
    background: rgba(255,255,255,.7);
    border: 1px solid rgba(0,0,0,.06);
    border-radius: var(--r-lg);
    padding: 14px;
    text-align:center;
}
.fact__n{font-size: 22px; font-weight: 1000; color: var(--accent)}
.fact__t{font-size: 12px; color: var(--muted); font-weight: 900}

/* Steps */
.steps{
    display:grid;
    grid-template-columns: .92fr 1.08fr;
    gap: 18px;
    align-items:stretch;
}
.steps__left{display:flex; flex-direction:column; gap: 12px}
.step{
    border: 1px solid rgba(0,0,0,.08);
    background: rgba(255,255,255,.75);
    border-radius: var(--r-lg);
    padding: 16px;
}
.step.is-active{border-color: rgba(234,106,47,.35); box-shadow: 0 10px 18px rgba(234,106,47,.10)}
.step__title{font-weight:1000; margin-bottom: 6px}
.step__text{color: var(--muted); font-weight: 700; line-height: 1.5; font-size: 13px}

/* CTA */
.cta{
    display:grid;
    grid-template-columns: 1.05fr .95fr;
    gap: 18px;
    align-items:stretch;
}
.cta__img img{height: 520px; width:100%; object-fit: cover; border-radius: var(--r-xl)}
.cta__panel{
    border-radius: var(--r-xl);
    background: linear-gradient(180deg, #262626 0%, #1f1f1f 100%);
    color:#fff;
    padding: 22px;
    box-shadow: var(--shadow);
}
.cta__title{
    margin:0 0 14px;
    font-size: 20px;
    font-weight: 1000;
    line-height:1.2;
}
.form--dark .field__label{color: rgba(255,255,255,.72)}
.form--dark .input, .form--dark .select{
    background: rgba(255,255,255,.08);
    border-color: rgba(255,255,255,.14);
    color:#fff;
}
.form--dark .input::placeholder{color: rgba(255,255,255,.55)}
.form--dark .form__fineprint{color: rgba(255,255,255,.68)}
.form--dark .form__ok{background: rgba(255,255,255,.08)}

/* Contacts */
.contacts{
    display:grid;
    grid-template-columns: .9fr 1.2fr .9fr;
    gap: 18px;
    align-items:stretch;
}
.contact-card{padding: 18px}
.contact-card__title{font-weight:1000; font-size: 16px; margin-bottom: 10px}
.contact-card__big{font-weight: 1000; font-size: 22px; line-height: 40px;}
.contact-card__small{color: var(--muted); margin: 8px 0 14px; font-weight: 800}
.contact-card__text{color: var(--text); font-weight: 900; line-height: 1.5}
/*.contact-card--accent{*/
/*    background: linear-gradient(160deg, rgba(234,106,47,.18), rgba(234,106,47,.06));*/
/*    border: 1px solid rgba(234,106,47,.22);*/
/*}*/
.map-card{padding: 18px}
.map-card__title{font-weight:1000; margin-bottom: 10px}
.map{
    height: 260px;
    border-radius: var(--r-lg);
    overflow:hidden;
    border: 1px solid rgba(0,0,0,.08);
    background: #e9e9e9;
}
.map__stub{
    height:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    color: var(--muted);
    font-weight: 900;
}

/* Footer */
.footer{
    display:flex;
    justify-content:space-between;
    gap: 16px;
    padding: 22px 6px 0;
    color: var(--muted);
    font-weight: 800;
    flex-wrap:wrap;
}
.footer__links{display:flex; gap:14px}
.footer__links a:hover{color: var(--accent)}

/* Drawer */
.overlay{
    position: fixed; inset: 0;
    background: rgba(0,0,0,.42);
    z-index: 80;
}
.drawer{
    position: fixed;
    top: 10px; right: 10px; left: 10px;
    border-radius: var(--r-xl);
    background: var(--surface);
    box-shadow: var(--shadow);
    z-index: 90;
    padding: 14px;
    transform: translateY(-8px);
}
.drawer__top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap: 12px;
    padding: 6px 4px 10px;
}
.drawer__nav{
    display:flex;
    flex-direction:column;
    gap: 8px;
    padding: 10px 0 12px;
    border-top: 1px solid rgba(0,0,0,.06);
    border-bottom: 1px solid rgba(0,0,0,.06);
}
.drawer__link{
    padding: 12px 12px;
    border-radius: 14px;
    font-weight: 1000;
}
.drawer__link:hover{background: rgba(0,0,0,.04)}
.drawer__cta{padding-top: 12px;
    gap: 15px;
    display: flex;
    flex-direction: column;}
.drawer__hint{margin-top: 10px; color: var(--muted); font-weight: 800; font-size: 12px}

.icon-btn{
    width: 44px; height: 44px;
    border-radius: 999px;
    border: 1px solid var(--line);
    background: var(--surface);
    cursor:pointer;
    font-weight: 1000;
}

/* Modal */
.modal{
    position: fixed; inset:0;
    display:flex;
    align-items:center;
    justify-content:center;
    padding: 18px;
    background: rgba(0,0,0,.45);
    z-index: 100;
}
.modal__box{
    width: min(560px, 100%);
    background: var(--surface);
    border-radius: var(--r-xl);
    padding: 18px;
    box-shadow: var(--shadow);
    position: relative;
}
.modal__close{position:absolute; top: 12px; right: 12px}
.modal__title{font-weight: 1000; font-size: 18px; margin-bottom: 8px}
.modal__text{color: var(--muted); line-height: 1.55; font-weight: 800; margin-bottom: 14px}
.modal__actions{display:flex; gap:10px; flex-wrap:wrap}




.consent{
    display: grid;
    grid-template-columns: 18px 1fr;
    gap: 10px;
    align-items: start;
    cursor: pointer;
    user-select: none;
    margin-top: 2px;
}

.consent__cb{
    position: absolute;
    opacity: 0;
    width: 1px;
    height: 1px;
    pointer-events: none;
}

.consent__box{
    width: 18px;
    height: 18px;
    border-radius: 6px;
    border: 1px solid var(--line);
    background: #fff;
    margin-top: 2px;
    box-shadow: 0 1px 0 rgba(0,0,0,.05);
    transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}

/* checked state */
.consent__cb:checked + .consent__box{
    background: var(--accent);
    border-color: transparent;
    box-shadow: 0 0 0 4px rgba(234,106,47,.12);
}
.consent__cb:checked + .consent__box::after{
    content: "";
    display: block;
    width: 8px;
    height: 5px;
    border-left: 2px solid #fff;
    border-bottom: 2px solid #fff;
    transform: rotate(-45deg);
    margin: 3px 0 0 3px;
}

.consent__text{
    font-size: 12px;
    color: var(--muted);
    line-height: 1.35;
    font-weight: 800;
}
.consent__text a{
    color: var(--accent);
    font-weight: 1000;
}
.consent__text a:hover{
    text-decoration: underline;
}

/* focus / accessibility */
.consent__cb:focus-visible + .consent__box{
    box-shadow: 0 0 0 4px rgba(234,106,47,.18);
    border-color: rgba(234,106,47,.55);
}

/* invalid (when trying to submit without checking) */
.consent__cb:invalid + .consent__box{
    border-color: rgba(220, 60, 60, .75);
    box-shadow: 0 0 0 4px rgba(220, 60, 60, .12);
}

/* Dark variant (for dark form) */
.consent--dark .consent__box{
    background: rgba(255,255,255,.06);
    border-color: rgba(255,255,255,.18);
}
.consent--dark .consent__text{
    color: rgba(255,255,255,.70);
}
.consent--dark .consent__text a{
    color: #fff;
    text-decoration: underline;
}
.consent--dark .consent__cb:checked + .consent__box{
    background: var(--accent);
    border-color: transparent;
    box-shadow: 0 0 0 4px rgba(234,106,47,.18);
}
.consent--dark .consent__cb:invalid + .consent__box{
    border-color: rgba(255, 120, 120, .85);
    box-shadow: 0 0 0 4px rgba(255, 120, 120, .18);
}


@media (min-width: 980px) {
    .drawer {
        display: none;
    }
}

/* Responsive */
@media (max-width: 980px){
    .nav{display:none}
    .burger{display:flex}
    .phone{display:none}

    .hero__grid{grid-template-columns: 1fr; padding: 44px 18px}
    .form-card{max-width: 520px}
    .grid{grid-template-columns: repeat(2, 1fr)}
    .two{grid-template-columns: 1fr}
    .facts{grid-template-columns: repeat(3, 1fr)}
    .steps{grid-template-columns: 1fr}
    .cta{grid-template-columns: 1fr}
    .cta__img img{height: 380px}
    .media img{height: 360px}
    .contacts{grid-template-columns: 1fr}
}

@media (max-width: 560px){
    .topbar__inner{padding: 12px}
    .brand{min-width: unset}
    .btn--primary{padding: 12px 14px}
    .grid{grid-template-columns: 1fr}
    .hero{min-height: 640px}
    .hero__chips{gap:8px}
    .chip{font-size: 12px; padding: 9px 11px}
    .fact__t {word-break: break-all;}
}

@media (max-width: 480px){
    .brand__sub {
        display: none;
    }
    .brand__mark {
        width: 35px;
        min-width: 35px;
        height: 35px;
    }
    .header .btn .btn--primary {
        padding: 10px 10px;
        font-size: 13px;
    }
    .brand__name {
        font-size: 13px;
    }
}

