@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,wght@0,300;0,400;0,500;0,700;1,400&family=Libre+Baskerville:ital,wght@0,400;0,700;1,400&display=swap');

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}

body{font-family:'DM Sans',Helvetica,Arial,sans-serif;font-weight:400;font-size:16px;line-height:1.55;color:#1a1a1a;background:#fff;-webkit-font-smoothing:antialiased}

a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
ul{list-style:none}
button{background:none;border:none;cursor:pointer;font-family:inherit;color:inherit}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.h2{font-family:'DM Sans',sans-serif;font-size:42px;font-weight:400;line-height:1.15;letter-spacing:-0.02em}
.h3{font-family:'DM Sans',sans-serif;font-size:1.875rem;font-weight:400;line-height:1.25;letter-spacing:-0.01em}
.h4{font-size:22px;font-weight:400;line-height:1.35}

.l-wrapper{max-width:1440px;margin:0 auto;padding:0 48px}
.l-wrapper--wide{max-width:100%;padding:0 48px}
.l-wrapper--mid{max-width:1200px;margin:0 auto;padding:0 3rem}

.logo-img{height:28px;width:auto}

.m-TopMenu{position:sticky;top:0;z-index:100;background:#fff;border-bottom:1px solid #e8e8e8}
.m-TopMenu__container{display:flex;align-items:center;justify-content:space-between;height:64px}
.m-TopMenu__logo{display:flex;align-items:center}
.m-TopMenu__navigation[data-navigation-menu="desktop"]{display:flex;align-items:center;flex:1;justify-content:flex-end}
.m-TopMenu__menu-section{display:flex;align-items:center}
.m-TopMenu__menu-item a{display:inline-block;padding:20px 18px;font-size:14px;font-weight:400;letter-spacing:.01em;color:#1a1a1a;transition:opacity .2s}
.m-TopMenu__menu-item a:hover{opacity:.55}
.navRight{margin-left:12px;border-left:1px solid #e0e0e0}
.phoneLink{font-variant-numeric:tabular-nums}
.m-TopMenu__btn-group{display:none}
.cart_toggle{position:relative;padding:20px 14px}
.cart_badge{position:absolute;top:13px;right:8px;width:18px;height:18px;background:#1a1a1a;color:#fff;border-radius:50%;font-size:10px;display:flex;align-items:center;justify-content:center;font-weight:600}
.cart_badge:empty{display:none}

.burger_btn{width:32px;height:32px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:4px}
.burger_line{display:block;width:22px;height:2px;background:#1a1a1a;transition:transform .25s,opacity .2s}
.burger_btn.is--active .burger_line:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger_btn.is--active .burger_line:nth-child(2){opacity:0}
.burger_btn.is--active .burger_line:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

.mobileMenu{display:none;position:fixed;top:64px;left:0;right:0;bottom:0;background:#fff;z-index:99;overflow-y:auto}
.mobileMenu.is--active{display:block}
.mobileMenu_inner{padding:2rem 24px}
.mobileMenu_links li{border-bottom:1px solid #eee}
.mobileMenu_links li a{display:block;padding:15px 0;font-size:1.125rem}

.heroWrap{position:relative;overflow:hidden;height:520px}
.heroWrap img{width:100%;height:100%;object-fit:cover}
.hero_overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.08) 0%,rgba(0,0,0,.38) 100%)}
.hero_nav{position:absolute;bottom:40px;left:48px;z-index:2}
.hero_navItems{display:flex;flex-direction:column;gap:8px}
.hero_link a{display:flex;align-items:center;gap:10px;color:#fff;font-size:2rem;font-weight:500;line-height:1.3;transition:opacity .2s}
.hero_link a:hover{opacity:.7}
.hero_linkIcon{font-size:28px;font-weight:300}

.advantages{margin-top:76px;margin-bottom:58px}
.advantages_grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.advantages_item i{font-size:1.4rem;color:#888;margin-bottom:12px;display:block}
.advantages_item h3{font-size:16px;font-weight:600;margin-bottom:8px}
.advantages_item p{font-size:14px;line-height:1.65;color:#555}

.whatWeOffer{margin-bottom:70px}
.whatWeOffer_heading{margin-bottom:36px}
.whatWeOffer_split{display:grid;grid-template-columns:1fr 1fr;gap:42px;align-items:center}
.whatWeOffer_img{aspect-ratio:16/10;overflow:hidden;background:#f2f2f0}
.whatWeOffer_img img{width:100%;height:100%;object-fit:cover}
.whatWeOffer_text p{font-size:15px;line-height:1.7;color:#444;margin-bottom:14px}
.whatWeOffer_list{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.whatWeOffer_tag{padding:7px 16px;font-size:13px;border:1px solid #ddd;color:#444;transition:border-color .2s}
.whatWeOffer_tag:hover{border-color:#1a1a1a}

.products{margin-bottom:80px}
.products_heading{margin-bottom:36px}
.products_grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.prodCard{border:1px solid #eee;transition:border-color .2s}
.prodCard:hover{border-color:#bbb}
.prodCard_img{aspect-ratio:4/3;overflow:hidden;background:#f5f5f3}
.prodCard_img img{width:100%;height:100%;object-fit:cover;transition:transform .35s}
.prodCard:hover .prodCard_img img{transform:scale(1.04)}
.prodCard_body{padding:16px 18px 18px}
.prodCard_name{font-size:15px;font-weight:500;margin-bottom:4px}
.prodCard_system{font-size:12px;color:#999;margin-bottom:10px}
.prodCard_row{display:flex;justify-content:space-between;align-items:center}
.prodCard_price{font-size:17px;font-weight:600}
.prodCard_stars{color:#d4a017;font-size:12px;display:flex;gap:1px}
.prodCard_addBtn{margin-top:12px;width:100%;padding:9px 0;background:#1a1a1a;color:#fff;font-size:13px;font-weight:500;border:none;cursor:pointer;transition:background .2s}
.prodCard_addBtn:hover{background:#333}

.reviewsSection{margin-bottom:80px;background:#fafaf8;padding:64px 0}
.reviewsSection_heading{margin-bottom:36px}
.reviews_scroll{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.revCard{padding:24px 22px 22px;background:#fff;border:1px solid #eee}
.revCard_top{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.revCard_stars{display:flex;gap:2px;color:#d4a017;font-size:13px}
.revCard_date{font-size:11px;color:#aaa}
.revCard_body{font-size:14px;line-height:1.65;color:#444;margin-bottom:14px}
.revCard_author strong{display:block;font-size:13px;font-weight:600}
.revCard_author span{font-size:12px;color:#999}

.teamSection{margin-bottom:80px}
.teamSection_heading{margin-bottom:36px}
.teamGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.teamMember_photo{aspect-ratio:3/4;overflow:hidden;background:#f2f2f0;margin-bottom:16px}
.teamMember_photo img{width:100%;height:100%;object-fit:cover}
.teamMember_name{font-size:17px;font-weight:500;margin-bottom:2px}
.teamMember_role{font-size:13px;color:#888;margin-bottom:10px;display:block}
.teamMember p{font-size:14px;line-height:1.65;color:#555}

.hww_section{position:relative;padding:80px 0;overflow:hidden;margin-bottom:80px}
.hww_bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hww_overlay{position:absolute;inset:0;background:rgba(0,0,0,.6)}
.hww_content{position:relative;z-index:2;max-width:700px}
.hww_heading{color:#fff;margin-bottom:32px}
.hww_steps{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.hww_step{padding:22px;background:rgba(255,255,255,.1);backdrop-filter:blur(4px)}
.hww_step h3{font-size:15px;font-weight:600;color:#fff;margin-bottom:8px}
.hww_step p{font-size:14px;line-height:1.6;color:rgba(255,255,255,.85)}

.faqSection{margin-bottom:80px}
.faqSection_heading{margin-bottom:36px}
.faq_list{max-width:780px}
.faq_item{border-bottom:1px solid #eee}
.faq_q{display:flex;justify-content:space-between;align-items:center;padding:18px 0;cursor:pointer;font-size:15px;font-weight:500;width:100%;text-align:left}
.faq_q i{font-size:14px;transition:transform .25s;color:#999}
.faq_item.is--open .faq_q i{transform:rotate(180deg)}
.faq_a{max-height:0;overflow:hidden;transition:max-height .3s ease}
.faq_item.is--open .faq_a{max-height:400px}
.faq_a p{font-size:14px;line-height:1.65;color:#555;padding:0 0 18px}

.contactSection{margin-bottom:80px}
.contactSection_heading{margin-bottom:32px}
.contactForm_wrap{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.contactForm{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.contactForm .full{grid-column:span 2}
.formField{display:flex;flex-direction:column;gap:5px}
.formField label{font-size:12px;font-weight:500;color:#888;text-transform:uppercase;letter-spacing:.04em}
.formField input,.formField textarea{padding:10px 12px;border:1px solid #ddd;font-family:inherit;font-size:14px;color:#1a1a1a;outline:none;transition:border-color .2s;background:#fff}
.formField input:focus,.formField textarea:focus{border-color:#1a1a1a}
.formField textarea{resize:vertical;min-height:120px}
.formField.err input,.formField.err textarea{border-color:#c44}
.contactSubmit{padding:12px 32px;background:#1a1a1a;color:#fff;font-size:14px;font-weight:500;cursor:pointer;border:none;transition:background .2s}
.contactSubmit:hover{background:#333}
.contactSubmit:disabled{opacity:.5;cursor:default}
.contact_info p{font-size:15px;line-height:1.7;color:#444;margin-bottom:12px}
.contact_info a{color:#1a1a1a;text-decoration:underline;text-underline-offset:2px}

.m-Footer{background:#fafaf8;border-top:1px solid #e5e5e3;padding:64px 0 30px;position:relative}
.m-Footer__scroll-top{position:absolute;top:-20px;right:48px;width:40px;height:40px;background:#fff;border:1px solid #ddd;display:flex;align-items:center;justify-content:center;font-size:1.1rem;transition:border-color .2s}
.m-Footer__scroll-top:hover{border-color:#1a1a1a}
.m-Footer__columns{display:grid;grid-template-columns:1fr 1fr 1fr 1.4fr;gap:40px;margin-bottom:48px}
.m-Footer__title{font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-bottom:18px}
.m-Footer__link{margin-bottom:10px}
.m-Footer__link .link{font-size:14px;color:#555;transition:color .2s}
.m-Footer__link .link:hover{color:#1a1a1a}
.m-Footer__text{font-size:.875rem;line-height:1.7;color:#555}
.m-Footer__text a{color:#555;transition:color .2s}
.m-Footer__text a:hover{color:#1a1a1a}
.m-Footer__text strong{color:#1a1a1a;font-weight:600}
.m-Footer__copy{font-size:13px;color:#999;text-align:center;padding-top:24px;border-top:1px solid #e5e5e3}

.cartOverlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:200}
.cartOverlay.is--open{display:block}
.cartPopup{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;width:560px;max-width:92vw;max-height:85vh;z-index:201;display:none;flex-direction:column}
.cartPopup.is--open{display:flex}
.cartPopup_header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #eee}
.cartPopup_header h2{font-size:18px;font-weight:600}
.cartPopup_close{font-size:1.4rem;padding:4px}
.cartPopup_body{flex:1;overflow-y:auto;padding:16px 24px}
.cartItem{display:grid;grid-template-columns:64px 1fr auto;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid #f0f0f0}
.cartItem_img{width:64px;height:48px;object-fit:cover;background:#f5f5f3}
.cartItem_name{font-size:14px;font-weight:500}
.cartItem_price{font-size:13px;color:#777}
.cartItem_qty{display:flex;align-items:center;gap:8px}
.cartItem_qty button{width:26px;height:26px;border:1px solid #ddd;display:flex;align-items:center;justify-content:center;font-size:14px}
.cartItem_qty span{font-size:14px;min-width:20px;text-align:center}
.cartItem_remove{font-size:16px;color:#aaa;cursor:pointer;transition:color .2s}
.cartItem_remove:hover{color:#c44}
.cartItem_actions{display:flex;align-items:center;gap:10px}
.cart_empty{text-align:center;padding:40px 0;color:#999;font-size:14px}
.cartPopup_footer{padding:16px 24px;border-top:1px solid #eee}
.cart_total{display:flex;justify-content:space-between;margin-bottom:16px;font-size:16px;font-weight:600}
.cart_actions{display:flex;gap:10px}
.cart_clearBtn{padding:10px 20px;border:1px solid #ddd;font-size:13px;cursor:pointer;background:#fff;transition:border-color .2s}
.cart_clearBtn:hover{border-color:#1a1a1a}
.cart_orderBtn{flex:1;padding:10px 20px;background:#1a1a1a;color:#fff;font-size:13px;font-weight:500;cursor:pointer;border:none;transition:background .2s}
.cart_orderBtn:hover{background:#333}

.orderModal{display:none;position:fixed;inset:0;z-index:300;background:rgba(0,0,0,.5);align-items:center;justify-content:center}
.orderModal.is--open{display:flex}
.orderModal_box{background:#fff;padding:32px;width:420px;max-width:90vw}
.orderModal_box h3{font-size:20px;font-weight:600;margin-bottom:20px}
.orderForm{display:flex;flex-direction:column;gap:14px}
.orderForm input{padding:10px 12px;border:1px solid #ddd;font-family:inherit;font-size:14px;outline:none}
.orderForm input:focus{border-color:#1a1a1a}
.orderForm input.err{border-color:#c44}
.orderForm_submit{padding:12px;background:#1a1a1a;color:#fff;font-size:14px;font-weight:500;cursor:pointer;border:none}
.orderForm_close{padding:10px;border:1px solid #ddd;font-size:13px;cursor:pointer;background:#fff;margin-top:6px;width:100%}

.thankyou{display:none;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;padding:40px;text-align:center;z-index:400;box-shadow:0 8px 32px rgba(0,0,0,.12)}
.thankyou.is--show{display:block}
.thankyou h3{font-size:20px;font-weight:600;margin-bottom:8px}
.thankyou p{font-size:14px;color:#555}

.pageHero{position:relative;height:400px;display:flex;align-items:flex-end;overflow:hidden}
.pageHero--short{height:320px}
.pageHero_bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pageHero_overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.1) 0%,rgba(0,0,0,.45) 100%)}
.pageHero_content{position:relative;z-index:2;padding-bottom:44px}
.pageHero_title{color:#fff;display:block}

.page_inner{padding-top:72px;padding-bottom:90px}
.page_heading{margin-bottom:12px}
.page_updated{font-size:13px;color:#999;margin-bottom:38px;letter-spacing:.01em}
.page_body h3{font-size:20px;font-weight:600;margin-top:2em;margin-bottom:.6em;color:#1a1a1a}
.page_body p{font-size:15px;line-height:1.72;color:#444;margin-bottom:1em}
.page_body a{color:#1a1a1a;text-decoration:underline;text-underline-offset:2px}
.page_body a:hover{color:#555}

.content-block{margin-top:72px}
.content-block_split{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.content-block_split--flip{direction:rtl}
.content-block_split--flip > *{direction:ltr}
.content-block_img-wrap{overflow:hidden;aspect-ratio:4/3;background:#f2f2f0}
.content-block_img-wrap img{width:100%;height:100%;object-fit:cover}
.content-block_heading{margin-bottom:20px}
.content-block_text p{font-size:15px;line-height:1.7;color:#444}

.blog_list{padding-top:64px;padding-bottom:5rem}
.blog_entry{display:grid;grid-template-columns:380px 1fr;gap:44px;margin-bottom:64px;align-items:start}
.blog_entry--flip{grid-template-columns:1fr 380px}
.blog_entry--flip .blog_entry-img{order:2}
.blog_entry--flip .blog_entry-content{order:1}
.blog_entry-img{aspect-ratio:4/3;overflow:hidden;background:#f2f2f0}
.blog_entry-img img{width:100%;height:100%;object-fit:cover}
.blog_entry-date{font-size:13px;color:#999;display:block;margin-bottom:10px}
.blog_entry-title{margin-bottom:16px}
.blog_entry-content p{font-size:15px;line-height:1.7;color:#444}

.team_intro{padding-top:68px;padding-bottom:20px;max-width:800px;color:#555}
.team_cards{padding-top:20px;padding-bottom:40px}
.team_card{display:grid;grid-template-columns:340px 1fr;gap:44px;margin-bottom:72px;align-items:start}
.team_card--flip{grid-template-columns:1fr 340px}
.team_card--flip .team_card-photo{order:2}
.team_card--flip .team_card-info{order:1}
.team_card-photo{aspect-ratio:3/4;overflow:hidden;background:#f2f2f0}
.team_card-photo img{width:100%;height:100%;object-fit:cover}
.team_card-name{margin-bottom:6px}
.team_card-role{display:block;font-size:14px;color:#888;margin-bottom:18px;letter-spacing:.02em}
.team_card-info p{font-size:15px;line-height:1.7;color:#444}
.team_closing{padding-bottom:80px}
.team_closing-block{max-width:760px;border-top:1px solid #ddd;padding-top:40px}
.team_closing-block h2{margin-bottom:16px}
.team_closing-block p{font-size:15px;line-height:1.7;color:#444}

.reviews_intro{margin-bottom:48px;max-width:680px;color:#555;padding-top:64px}

@media(max-width:1024px){
.l-wrapper,.l-wrapper--wide,.l-wrapper--mid{padding:0 32px}
.h2{font-size:34px}
.h3{font-size:24px}
.heroWrap{height:420px}
.hero_link a{font-size:26px}
.hero_nav{left:32px;bottom:32px}
.advantages_grid{grid-template-columns:repeat(2,1fr)}
.whatWeOffer_split{grid-template-columns:1fr}
.products_grid{grid-template-columns:repeat(3,1fr)}
.reviews_scroll{grid-template-columns:repeat(2,1fr)}
.teamGrid{grid-template-columns:repeat(2,1fr)}
.hww_steps{grid-template-columns:1fr}
.m-Footer__columns{grid-template-columns:1fr 1fr;gap:2rem}
.blog_entry{grid-template-columns:300px 1fr;gap:32px}
.blog_entry--flip{grid-template-columns:1fr 300px}
.team_card{grid-template-columns:280px 1fr;gap:32px}
.team_card--flip{grid-template-columns:1fr 280px}
}

@media(max-width:768px){
.l-wrapper,.l-wrapper--wide,.l-wrapper--mid{padding:0 20px}
.m-TopMenu__navigation[data-navigation-menu="desktop"]{display:none}
.m-TopMenu__btn-group{display:flex;align-items:center;gap:4px}
.h2{font-size:28px}
.h3{font-size:1.3rem}
.heroWrap{height:360px}
.hero_link a{font-size:22px}
.hero_nav{left:20px;bottom:24px}
.advantages_grid{grid-template-columns:1fr}
.products_grid{grid-template-columns:repeat(2,1fr)}
.reviews_scroll{grid-template-columns:1fr}
.teamGrid{grid-template-columns:1fr}
.contactForm_wrap{grid-template-columns:1fr}
.contactForm{grid-template-columns:1fr}
.contactForm .full{grid-column:span 1}
.m-Footer__columns{grid-template-columns:1fr;gap:28px}
.m-Footer__scroll-top{right:20px}
.pageHero{height:300px}
.pageHero--short{height:240px}
.pageHero_content{padding-bottom:32px}
.content-block_split{grid-template-columns:1fr;gap:24px}
.content-block_split--flip{direction:ltr}
.blog_entry,.blog_entry--flip{grid-template-columns:1fr;gap:20px}
.blog_entry--flip .blog_entry-img{order:0}
.blog_entry--flip .blog_entry-content{order:0}
.team_card,.team_card--flip{grid-template-columns:1fr;gap:20px}
.team_card--flip .team_card-photo{order:0}
.team_card--flip .team_card-info{order:0}
.team_card-photo{aspect-ratio:3/2;max-height:320px}
.page_inner{padding-top:48px;padding-bottom:56px}
.cartPopup{width:100%;max-width:100%;height:100%;max-height:100%;top:0;left:0;transform:none}
}

@media(max-width:480px){
.heroWrap{height:300px}
.hero_link a{font-size:19px}
.products_grid{grid-template-columns:1fr}
.h2{font-size:24px}
.h3{font-size:1.19rem}
.m-Footer{padding:40px 0 22px}
.pageHero{height:240px}
}
