*,
*::before,
*::after{box-sizing:border-box}
:root{
    --radius-sm:8px;
    --radius-md:12px;
    --radius-lg:18px;
    --radius-pill:999px;
    --shadow-sm:0 4px 20px rgba(0,0,0,.05);
    --shadow-md:0 10px 30px rgba(0,0,0,.10);
    --shadow-lg:0 20px 50px rgba(0,0,0,.10);
    --transition:.25s ease;
    --color-primary:#f2c100;
    --color-primary-hover:#d9ad00;
    --color-text:#1f1f1f;
    --color-text-light:#5f5f5f;
    --color-text-white:#ffffff;
    --color-heading:#1f1f1f;
    --color-background:#ffffff;
    --color-background-light:#f8f8f8;
    --color-background-alt:#f8f8f8;
    --color-background-dark:#1f1f1f;
    --color-border:#e8e8e8;
}
html{scroll-behavior:smooth; -webkit-text-size-adjust:100%}
body{margin:0; min-width:320px; overflow-x:hidden; font-family:'Inter',sans-serif; font-size:16px; line-height:1.6; font-weight:400; color:var(--color-text); background:var(--color-background); -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; text-rendering:optimizeLegibility}
main{display:block}
img{display:block; max-width:100%; height:auto; border:0}
picture{display:block}
svg{display:block}
a{color:inherit; text-decoration:none; transition:color .25s ease}
button,
input,
select,
textarea{font:inherit}
button{cursor:pointer; border:none; background:none}
ul,
ol{margin:0; padding:0; list-style:none}
p,
h1,
h2,
h3,
h4,
h5,
h6{margin:0}
section{padding:5rem 0}
.container{width:min(1200px,calc(100% - 2rem)); margin-inline:auto}
::selection{color:#fff; background:var(--color-primary)}
:focus-visible{outline:3px solid var(--color-primary); outline-offset:3px}
/* MOBILE */
@media (max-width:767px){
    section{padding-top:4rem !important; padding-bottom:4rem !important}
    .container{width:min(100%,calc(100% - 1.5rem))}
}
/* BUTTONS */
.button{display:inline-flex; align-items:center; justify-content:center; gap:.75rem; min-height:54px; padding:0 1.75rem; border:none; border-radius:var(--radius-pill); font-size:1rem; font-weight:600; text-decoration:none; cursor:pointer; transition: background-color var(--transition), color var(--transition), transform var(--transition), box-shadow var(--transition)}
.button svg{width:18px; height:18px; stroke:currentColor; flex-shrink:0}
.button--primary{background:var(--color-primary); color:var(--color-text); box-shadow:var(--shadow-sm)}
.button--primary:hover{background:var(--color-primary-hover); color:var(--color-text); transform:translateY(-2px); box-shadow:var(--shadow-md)}
.button--outline{background:transparent; color:var(--color-text); border:2px solid var(--color-border)}
.button--outline:hover{border-color:var(--color-primary); color:var(--color-primary)}
/* HEADER */
.header{position:sticky; top:0; z-index:1000; background:var(--color-background); border-bottom:1px solid var(--color-border); box-shadow:var(--shadow-sm); transition: background-color var(--transition), box-shadow var(--transition), min-height var(--transition)}
.header--scrolled{box-shadow:var(--shadow-md)}
.header__container{display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:2rem; min-height:80px}
.header__logo{display:flex; align-items:center; flex-shrink:0}
.header__logo img{display:block; width:auto; height:56px}
.header__nav{display:flex; justify-content:center}
.header__menu{display:flex; align-items:center; gap:2rem}
.header__menu li{display:flex}
.header__menu a{position:relative; display:flex; align-items:center; min-height:80px; font-size:1rem; font-weight:600; color:var(--color-text); white-space:nowrap; text-decoration:none; transition:color var(--transition)}
.header__menu a:hover{color:var(--color-primary)}
.header__menu a::after{content:""; position:absolute; left:0; bottom:0; width:100%; height:3px; border-radius:999px; background:var(--color-primary); transform:scaleX(0); transform-origin:center; transition:transform var(--transition)}
.header__menu a:hover::after,
.header__menu a.active::after{transform:scaleX(1)}
.header__menu a.active{color:var(--color-primary)}
.mobile-menu__nav a.active{color:var(--color-primary); background:rgba(242,193,0,.08)}
.header__actions{display:flex; align-items:center; gap:1rem}
.header__phone{display:flex; align-items:center; justify-content:center; gap:.6rem; padding:.9rem 1.4rem; border-radius:var(--radius-pill); background:var(--color-primary); color:var(--color-text-white); font-weight:600; white-space:nowrap; transition: background-color var(--transition), transform var(--transition), box-shadow var(--transition)}
.header__phone:hover{background:var(--color-primary-hover); color:#fff; transform:translateY(-2px); box-shadow:var(--shadow-md); text-decoration:none}
.header__phone svg{width:18px; height:18px; stroke:currentColor}
.header__toggle{display:none; align-items:center; justify-content:center; width:48px; height:48px; padding:0; border:0; border-radius:var(--radius-md); background:none; color:var(--color-text); cursor:pointer; transition: background-color var(--transition), color var(--transition)}
.header__toggle:hover{background:var(--color-background-light)}
.header__toggle svg{width:26px; height:26px; stroke:currentColor}
.header__toggle:focus-visible,
.mobile-menu__close:focus-visible{outline:3px solid var(--color-primary)}
/* MOBILE MENU (BASE) */
.mobile-menu{position:fixed; inset:0; z-index:1100; display:flex; flex-direction:column; background:var(--color-background); visibility:hidden; opacity:0; pointer-events:auto}
.mobile-menu__header{display:flex; align-items:center; justify-content:space-between; min-height:80px; padding:0 1.5rem; border-bottom:1px solid var(--color-border)}
.mobile-menu__header img{height:42px; width:auto}
.mobile-menu__close{display:flex; align-items:center; justify-content:center; width:48px; height:48px; border:none; border-radius:var(--radius-md); background:none; cursor:pointer; color:var(--color-text); transition: background-color var(--transition)}
.mobile-menu__close:hover{background:var(--color-background-light)}
.mobile-menu__close svg{width:24px; height:24px}
.mobile-menu__nav{flex:1}
.mobile-menu__footer{padding:1.5rem; border-top:1px solid var(--color-border)}
.mobile-menu__footer .button{width:100%}
/* MOBILE MENU */
.mobile-menu{transform:translateY(-24px); transition: opacity .35s ease, transform .35s ease, visibility .35s}
.mobile-menu.is-active{visibility:visible; opacity:1; transform:translateY(0)}
.mobile-menu__nav{flex:1; overflow-y:auto; padding:1rem 1.5rem 2rem}
.mobile-menu__nav ul{display:flex; flex-direction:column}
.mobile-menu__nav li{border-bottom:1px solid var(--color-border)}
.mobile-menu__nav a{display:flex; align-items:center; justify-content:space-between; min-height:64px; font-size:1.2rem; font-weight:600; color:var(--color-text); transition: color var(--transition), transform var(--transition)}
.mobile-menu__nav a:hover{color:var(--color-primary)}
.mobile-menu__nav svg{width:20px; height:20px; color:var(--color-primary)}
.mobile-menu__footer{padding:1.5rem; border-top:1px solid var(--color-border); background:var(--color-background)}
.mobile-menu__footer .button{display:flex; align-items:center; justify-content:center; gap:.75rem; width:100%; min-height:54px}
/* OVERLAY */
.overlay{position:fixed; inset:0; z-index:1090; background:rgba(0,0,0,.45); opacity:0; visibility:hidden; transition: opacity .35s ease, visibility .35s ease; pointer-events:none}
.overlay.is-active{opacity:1; visibility:visible; pointer-events:auto}
/* BODY */
body.menu-open{overflow:hidden}
/* TABLET */
@media (max-width:991px){
    .header__container{grid-template-columns:auto 1fr auto; min-height:72px; gap:1rem}
    .header__logo img{height:46px}
    .header__nav{display:none}
    .header__phone{margin-left:auto; padding:.8rem}
    .header__phone span{display:none}
    .header__toggle{display:flex}
}
/* MOBILE */
@media (max-width:767px){
    .header__container{min-height:68px}
    .header__logo img{height:40px}
    .mobile-menu__header{min-height:68px; padding:0 1rem}
    .mobile-menu__header img{height:36px}
    .mobile-menu__nav{padding:1rem}
    .mobile-menu__nav a{min-height:60px; font-size:1.1rem}
    .mobile-menu__footer{padding:1rem}
}
/* HERO */
.hero{position:relative; display:flex; align-items:center; min-height:calc(100svh - 110px); padding:7rem 0; color:var(--color-text-white); background: linear-gradient(90deg, rgba(20,20,20,.68) 0%, rgba(24,24,24,.55) 40%, rgba(24,24,24,.18) 75%, rgba(24,24,24,.05) 100%), url("/images/header.jpg") center / cover no-repeat; isolation:isolate;  background-attachment:scroll}
.hero__content{position:relative; max-width:650px; z-index:2; animation:heroFade .7s ease-out}
@keyframes heroFade{
    from{opacity:0; transform:translateY(20px)}
    to{opacity:1; transform:none}
}
.hero__badge{display:inline-flex; align-items:center; margin-bottom:1.5rem; padding:.55rem 1rem; border:1px solid rgba(255,255,255,.25); border-radius:999px; background:rgba(255,255,255,.14); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); font-size:.95rem; color:rgba(255,255,255,.92); font-weight:500; letter-spacing:.02em}
.hero__title{margin-bottom:1.5rem; font-size:clamp(2.8rem,5vw,4.8rem); line-height:1.05; font-weight:800; letter-spacing:-0.03em; text-wrap:balance; overflow-wrap:break-word}
.hero__description{max-width:36rem; margin-bottom:2.5rem; font-size:1.25rem; line-height:1.8; color:rgba(255,255,255,.92)}
.hero__buttons{display:flex; flex-wrap:wrap; align-items:center; gap:1.5rem}
.hero__catalog{display:inline-flex; align-items:center; gap:.5rem; font-size:1rem; font-weight:600; color:var(--color-text-white); transition: color var(--transition), transform var(--transition)}
.hero__catalog:hover{color:var(--color-primary); text-decoration:none; gap:.75rem; transform:translateX(5px)}
.hero__catalog svg{width:18px; height:18px; stroke:currentColor; flex-shrink:0; transition:transform .25s ease}
/* TABLET */
@media (max-width:991px){
    .hero{min-height:auto; padding:6rem 0; background-position:60% center}
    .hero__content{max-width:100%}
    .hero__title{font-size:3.2rem}
}
/* MOBILE */
@media (max-width:767px){
    .hero{align-items:center; min-height:70svh; padding:5rem 0 3.5rem; background-position:65% center; text-align:left}
    .hero__content{max-width:100%}
    .hero__badge{font-size:.85rem; margin-bottom:1rem}
    .hero__title{font-size:2.4rem; line-height:1.1}
    .hero__description{font-size:1rem; line-height:1.7; max-width:100%}
    .hero__buttons{flex-direction:column; align-items:center; gap:1rem}
    .hero__buttons .button{max-width:22rem; width:100%}
    .hero__catalog{align-self:center; display:inline-flex; justify-content:center; align-items:center; font-size:1.05rem; font-weight:700}
}
/* SECTION HEADING */
.section-heading{max-width:760px; margin:0 auto 3.5rem; text-align:center}
.section-heading__subtitle{display:inline-flex; align-items:center; justify-content:center; margin-bottom:1rem; padding:.5rem 1rem; border-radius:999px; background:rgba(255,193,7,.12); color:var(--color-primary); font-size:.875rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase}
.section-heading__title{margin-bottom:1rem; font-size:clamp(2rem,4vw,3rem); font-weight:800; line-height:1.15; color:var(--color-text); text-wrap:balance}
.section-heading__description{max-width:680px; margin:0 auto; font-size:1.05rem; line-height:1.75; color:var(--color-text-light)}
/* PRODUCTS */
.products__grid{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1.5rem}
.product-card{display:flex; flex-direction:column; align-items:flex-start; height:100%; padding:2rem; border:1px solid var(--color-border); border-radius:var(--radius-lg); background:#ffffff; transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease}
.product-card:hover{transform:translateY(-8px); border-color:var(--color-primary); box-shadow:var(--4)}
.product-card__icon{display:flex; align-items:center; justify-content:center; width:64px; height:64px; margin-bottom:1.5rem; border-radius:18px; background:rgba(255,193,7,.12); color:var(--color-primary)}
.product-card__icon svg{width:30px; height:30px; stroke-width:2}
.product-card__title{margin-bottom:.85rem; font-size:1.35rem; font-weight:700; line-height:1.3; color:var(--color-text)}
.product-card__text{margin:0; line-height:1.75; color:var(--color-text-light)}
@media (max-width:1200px){
    .products__grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:991px){
    .products__grid{grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.25rem}
    .product-card{padding:1.75rem}
}
@media (max-width:767px){
    .products__grid{grid-template-columns:1fr; gap:1rem}
    .product-card{align-items:center; text-align:center; padding:1.5rem}
    .product-card__icon{margin-bottom:1.25rem}
    .product-card__title{font-size:1.25rem}
}
/* SHOWROOM */
.showroom__wrapper{display:grid; grid-template-columns:1.2fr .8fr; gap:4rem; align-items:center; margin-top:4rem; margin-bottom:4rem}
.showroom__image{overflow:hidden; border-radius:24px; box-shadow:0 20px 60px rgba(0,0,0,.12)}
.showroom__image img{display:block; width:100%; height:100%; object-fit:cover; transition:transform .6s ease}
.showroom__image:hover img{transform:scale(1.05)}
.showroom__title{margin-bottom:1.5rem; font-size:2rem; font-weight:700; color:var(--color-text); line-height:1.2}
.showroom__content p{margin-bottom:1.4rem; color:var(--color-text-light); line-height:1.85}
.showroom__list{display:grid; gap:1rem; margin-top:2rem}
.showroom__list li{position:relative; padding-left:2rem; font-weight:500; color:var(--color-text)}
.showroom__list li::before{content:""; position:absolute; left:0; top:.45rem; width:10px; height:10px; border-radius:50%; background:var(--color-primary)}
.showroom__grid{display:grid; grid-template-columns:repeat(4,1fr); gap:1.5rem}
.showroom__grid figure{overflow:hidden; margin:0; border-radius:20px; box-shadow:0 12px 35px rgba(0,0,0,.08); background:#f8f8f8}
.showroom__grid img{display:block; width:100%; aspect-ratio:3/2; object-fit:cover; transition: transform .45s ease, filter .35s ease}
.showroom__grid figure:hover img{transform:scale(1.08); filter:brightness(1.05)}
@media (max-width:991px){
    .showroom__wrapper{grid-template-columns:1fr; gap:3rem; margin-top:3rem; margin-bottom:3rem}
    .showroom__content{text-align:center}
    .showroom__title{font-size:1.8rem}
    .showroom__list{max-width:450px; margin:2rem auto 0}
    .showroom__grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:767px){
    .showroom__wrapper{gap:2rem; margin-top:2.5rem; margin-bottom:2.5rem}
    .showroom__image{border-radius:18px}
    .showroom__title{font-size:1.5rem}
    .showroom__content p{font-size:1rem; line-height:1.8}
    .showroom__list{gap:.8rem; text-align:left}
    .showroom__grid{grid-template-columns:1fr; gap:1rem}
    .showroom__grid figure{border-radius:16px}
}
/* BRANDS */
.brands__grid{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.5rem; margin-top:4rem}
.brand-card{display:flex; align-items:center; justify-content:center; min-height:180px; padding:2rem; border:1px solid var(--color-border); border-radius:var(--radius-lg); background:#ffffff; overflow:hidden; transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease}
.brand-card:hover{transform:translateY(-6px); border-color:rgba(0,0,0,.08); box-shadow:0 18px 40px rgba(0,0,0,.08)}
.brand-card img{display:block; width:auto; max-width:82%; max-height:110px; object-fit:contain; transition: transform .35s ease, opacity .35s ease}
.brand-card:hover img{transform:scale(1.05)}
@media (max-width:1200px){
    .brands__grid{gap:1.25rem}
}
@media (max-width:991px){
    .brands__grid{grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.25rem; margin-top:3rem}
    .brand-card{min-height:170px}
    .brand-card img{max-height:95px}
}
@media (max-width:767px){
    .brands__grid{grid-template-columns:1fr; gap:1rem; margin-top:2.5rem}
    .brand-card{min-height:150px; padding:1.75rem; border-radius:18px}
    .brand-card img{max-width:85%; max-height:90px}
}
/* CATALOG */
.catalog-grid{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:2rem; margin-top:4rem}
.catalog-card{overflow:hidden; border-radius:var(--radius-lg); background:#ffffff; border:1px solid var(--color-border); transition: transform .35s ease, box-shadow .35s ease}
.catalog-card:hover{transform:translateY(-8px); box-shadow:0 20px 50px rgba(0,0,0,.10)}
.catalog-card picture{display:block; overflow:hidden}
.catalog-card img{display:block; width:100%; aspect-ratio:3/2; object-fit:cover; transition:transform .7s ease}
.catalog-card:hover img{transform:scale(1.08)}
.catalog-card__content{padding:1.6rem; text-align:center}
.catalog-card__brand{display:inline-block; margin-bottom:.6rem; font-size:.8rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--color-primary)}
.catalog-card__title{margin:0; font-size:1.45rem; font-weight:700; line-height:1.3; color:var(--color-heading)}
.catalog-note{max-width:850px; margin:4rem auto 0; text-align:center}
.catalog-note p{margin:0; font-size:1.05rem; line-height:1.9; color:var(--color-text)}
@media (max-width:1200px){
    .catalog-grid{gap:1.5rem}
}
@media (max-width:991px){
    .catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:3rem}
    .catalog-note{margin-top:3rem}
}
@media (max-width:767px){
    .catalog-grid{grid-template-columns:1fr; gap:1.5rem; margin-top:2.5rem}
    .catalog-card__content{padding:1.3rem}
    .catalog-card__title{font-size:1.25rem}
    .catalog-note{margin-top:2.5rem}
    .catalog-note p{font-size:1rem}
}
/* GALLERY */
.gallery .container{max-width:1440px}
.gallery__grid{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem}
.gallery__item{display:block; overflow:hidden; border-radius:18px; text-decoration:none; background:#f4f4f4}
.gallery__item img{display:block; width:100%; aspect-ratio:3/2; object-fit:cover; transition: transform .45s ease, filter .35s ease}
.gallery__item:hover img{transform:scale(1.05); filter:brightness(1.04)}
@media (max-width:1200px){
    .gallery .container{max-width:1200px}
    .gallery__grid{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:991px){
    .section-heading{margin-bottom:3rem}
    .gallery__grid{grid-template-columns:repeat(2,1fr); gap:.9rem}
}
@media (max-width:767px){
    .section-heading{margin-bottom:2.5rem}
    .section-heading__subtitle{font-size:.8rem}
    .section-heading__description{font-size:1rem; line-height:1.7}
    .gallery__grid{grid-template-columns:1fr; gap:.85rem}
    .gallery__item{border-radius:14px}
}
/* ADVANTAGES */
.advantages__grid{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:2rem; margin-top:4rem}
.advantage-card{padding:2.5rem; border:1px solid var(--color-border); border-radius:var(--radius-lg); background:#ffffff; transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease}
.advantage-card:hover{transform:translateY(-8px); border-color:rgba(0,0,0,.08); box-shadow:0 18px 40px rgba(0,0,0,.08)}
.advantage-card__icon{display:flex; align-items:center; justify-content:center; width:68px; height:68px; margin-bottom:1.5rem; border-radius:18px; background:rgba(255,193,7,.12); color:var(--color-primary)}
.advantage-card__icon svg{width:32px; height:32px; stroke-width:2}
.advantage-card h3{margin:0 0 1rem; font-size:1.35rem; font-weight:700; line-height:1.3; color:var(--color-heading)}
.advantage-card p{margin:0; color:var(--color-text); line-height:1.8}
@media (max-width:1200px){
    .advantages__grid{gap:1.5rem}
}
@media (max-width:991px){
    .advantages__grid{grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:3rem}
}
@media (max-width:767px){
    .advantages__grid{grid-template-columns:1fr; gap:1.25rem; margin-top:2.5rem}
    .advantage-card{padding:2rem}
    .advantage-card__icon{width:60px; height:60px; margin-bottom:1.25rem}
    .advantage-card__icon svg{width:28px; height:28px}
    .advantage-card h3{font-size:1.2rem}
}
/* FAQ */
.faq__list{max-width:900px; margin:4rem auto 0}
.faq-item{margin-bottom:1rem; border:1px solid var(--color-border); border-radius:var(--radius-lg); background:#ffffff; overflow:hidden; transition: border-color .3s ease, box-shadow .3s ease, transform .3s ease}
.faq-item:hover{border-color:rgba(0,0,0,.08); box-shadow:0 12px 32px rgba(0,0,0,.06)}
.faq-item[open]{border-color:rgba(0,0,0,.08); box-shadow:0 18px 40px rgba(0,0,0,.08)}
.faq-item summary{position:relative; display:flex; align-items:center; padding:1.5rem 4.5rem 1.5rem 1.75rem; cursor:pointer; list-style:none; font-size:1.15rem; font-weight:700; color:var(--color-heading); transition:color .3s ease}
.faq-item summary:hover{color:var(--color-primary)}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::before,
.faq-item summary::after{content:""; position:absolute; right:1.75rem; top:50%; width:18px; height:2px; background:var(--color-primary); border-radius:2px; transition:transform .3s ease}
.faq-item summary::after{transform:translateY(-50%) rotate(90deg)}
.faq-item summary::before{transform:translateY(-50%)}
.faq-item[open] summary::after{transform:translateY(-50%) rotate(0deg)}
.faq-item__content{padding:0 1.75rem 1.75rem}
.faq-item__content p{margin:0; color:var(--color-text); line-height:1.8}
@media (max-width:991px){
    .faq__list{margin-top:3rem}
}
@media (max-width:767px){
    .faq__list{margin-top:2.5rem}
    .faq-item summary{padding:1.25rem 3.5rem 1.25rem 1.25rem; font-size:1rem}
    .faq-item summary::before,
    .faq-item summary::after{right:1.25rem}
    .faq-item__content{padding:0 1.25rem 1.5rem}
}
/* CONTACT */
.contact__grid{display:grid; grid-template-columns:420px 1fr; gap:2rem; margin-top:4rem; align-items:stretch}
.contact-card{padding:2rem; border:1px solid var(--color-border); border-radius:var(--radius-lg); background:#ffffff}
.contact-item{display:flex; gap:1.25rem}
.contact-item + .contact-item{margin-top:2rem; padding-top:2rem; border-top:1px solid var(--color-border)}
.contact-item__icon{flex-shrink:0; display:flex; align-items:center; justify-content:center; width:60px; height:60px; border-radius:18px; background:rgba(255,193,7,.12); color:var(--color-primary)}
.contact-item__icon svg{width:28px; height:28px}
.contact-item h3{margin:0 0 .75rem; font-size:1.2rem; font-weight:700; color:var(--color-heading)}
.contact-item p{margin:0; line-height:1.8}
.contact-item a{color:var(--color-heading); text-decoration:none; transition:color .3s ease}
.contact-item a:hover{color:var(--color-primary)}
.contact-link{display:inline-flex; align-items:center; margin-top:1rem; font-weight:600; color:var(--color-primary)!important}
.contact-hours{margin:0; padding:0; list-style:none}
.contact-hours li{display:flex; justify-content:space-between; gap:1rem; padding:.45rem 0; border-bottom:1px solid rgba(0,0,0,.05)}
.contact-hours li:last-child{border-bottom:none}
.contact-hours strong{color:var(--color-heading)}
.contact-map{overflow:hidden; border-radius:var(--radius-lg); border:1px solid var(--color-border); min-height:600px}
.contact-map iframe{display:block; width:100%; height:100%; border:0}
.contact-delivery{margin-top:3rem; padding:2rem; border-radius:var(--radius-lg); background:#ffffff; border:1px solid var(--color-border); text-align:center}
.contact-delivery h3{margin:0 0 1rem; font-size:1.5rem; color:var(--color-heading)}
.contact-delivery p{margin:0; line-height:1.9; max-width:950px; margin-inline:auto}
@media (max-width:991px){
    .contact__grid{grid-template-columns:1fr; margin-top:3rem}
    .contact-map{min-height:450px}
}
@media (max-width:767px){
    .contact__grid{gap:1.5rem; margin-top:2.5rem}
    .contact-card{padding:1.5rem}
    .contact-item{gap:1rem}
    .contact-item__icon{width:50px; height:50px; border-radius:14px}
    .contact-item__icon svg{width:24px; height:24px}
    .contact-item h3{font-size:1.1rem}
    .contact-map{min-height:350px}
    .contact-delivery{margin-top:2rem; padding:1.5rem}
    .contact-delivery h3{font-size:1.3rem}
    .contact-hours li{font-size:.95rem}
}
/* FOOTER */
.footer{padding:4rem 0 2rem; background:#1f1f1f; color:rgba(255,255,255,.8)}
.footer__content{display:flex; justify-content:space-between; align-items:flex-start; gap:3rem; padding-bottom:2.5rem; border-bottom:1px solid rgba(255,255,255,.08)}
.footer__company{max-width:520px}
.footer__title{margin:0 0 1rem; font-size:1.8rem; font-weight:700; color:#ffffff}
.footer__description{margin:0; line-height:1.8}
.footer__contacts{display:flex; flex-direction:column; align-items:flex-end; gap:.75rem; text-align:right}
.footer__contacts a{font-size:1.2rem; font-weight:700; color:#ffffff; text-decoration:none; transition:color .3s ease}
.footer__contacts a:hover{color:var(--color-primary)}
.footer__contacts span{color:rgba(255,255,255,.75)}
.footer__bottom{display:flex; justify-content:space-between; align-items:center; gap:2rem; padding-top:2rem; font-size:.95rem}
.footer__bottom p{margin:0; color:rgba(255,255,255,.65)}
.footer__bottom a{color:#ffffff; text-decoration:none; transition:color .3s ease}
.footer__bottom a:hover{color:var(--color-primary)}
@media (max-width:991px){
    .footer{padding:3.5rem 0 2rem}
    .footer__content{flex-direction:column; gap:2rem}
    .footer__contacts{align-items:flex-start; text-align:left}
    .footer__bottom{flex-direction:column; text-align:center; gap:1rem}
}
@media (max-width:767px){
    .footer{padding:3rem 0 1.5rem}
    .footer__title{font-size:1.5rem}
    .footer__contacts a{font-size:1.1rem}
    .footer__bottom{font-size:.9rem}
}
/* 404 */
.error404{display:flex; align-items:center; min-height:calc(100vh - 180px); background:var(--color-light)}
.error404__box{max-width:720px; margin:0 auto; padding:4rem; text-align:center; background:#fff; border:1px solid var(--color-border); border-radius:var(--radius-xl); box-shadow:var(--shadow-sm)}
.error404__icon{display:flex; align-items:center; justify-content:center; width:90px; height:90px; margin:0 auto 2rem; border-radius:50%; background:rgba(242,193,0,.12); color:var(--color-primary)}
.error404__icon svg{width:42px; height:42px; stroke-width:2}
.error404__number{margin-bottom:.5rem; font-size:clamp(5rem,12vw,8rem); font-weight:800; line-height:1; color:var(--color-primary); letter-spacing:-4px}
.error404 h1{margin-bottom:1.25rem; font-size:clamp(2rem,4vw,2.75rem); font-weight:800; line-height:1.2; color:var(--color-heading)}
.error404 p{max-width:560px; margin:0 auto 2.5rem; font-size:1.125rem; line-height:1.8; color:var(--color-text-light)}
.error404__buttons{display:flex; justify-content:center; gap:1rem; flex-wrap:wrap}
.error404__buttons .button{min-width:230px}
.error404__buttons .button i{width:20px; height:20px}
@media (max-width:991px){
    .error404{min-height:auto}
    .error404__box{padding:3rem 2rem}
}
@media (max-width:767px){
    .error404__box{padding:2.5rem 1.5rem; border-radius:24px}
    .error404__icon{width:72px; height:72px; margin-bottom:1.5rem}
    .error404__icon svg{width:34px; height:34px}
    .error404__number{font-size:4.5rem; letter-spacing:-2px}
    .error404 h1{font-size:1.8rem}
    .error404 p{font-size:1rem; margin-bottom:2rem}
    .error404__buttons{flex-direction:column}
    .error404__buttons .button{width:100%}
}
