.catalog-tools{padding:54px 0 22px}.catalog-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:25px}.catalog-heading h2{font-size:clamp(32px,4vw,54px);line-height:1.05;letter-spacing:-.055em;margin:0}.catalog-heading>a{font-weight:800;border-bottom:1px solid #ff1212;padding-bottom:7px;white-space:nowrap}.catalog-tools label,.home-inquiry label{display:block;font-size:14px;font-weight:800;margin:0 0 9px}.search-row{display:flex;gap:10px}.search-row input,.home-inquiry input,.home-inquiry select,.home-inquiry textarea{background:#101720;color:#fff;border:1px solid #526175;padding:14px 16px;font:inherit;font-size:16px;border-radius:0;min-width:0}.search-row input{flex:1}.search-row button,.filter-row button{border:1px solid #526175;background:#1a2735;color:#f5f7fa;padding:12px 15px;cursor:pointer;font:inherit;font-size:14px}.search-row button:hover,.filter-row button:hover,.filter-row button[aria-pressed=true]{border-color:#ff1212;background:#ff1212;color:#08090c}.filter-row{display:flex;gap:8px;overflow-x:auto;padding:13px 0 5px;scrollbar-width:thin}.filter-row button{flex:none}.search-count,.search-empty{color:#b8c1cd;font-size:15px;margin:13px 0}.search-empty{padding:22px;border:1px solid #526175}[hidden]{display:none!important}:focus-visible{outline:3px solid #ff1212;outline-offset:3px}.home-inquiry{display:grid;grid-template-columns:.8fr 1.2fr;gap:55px;border-top:1px solid #344252;margin-top:70px;padding:65px 0 20px}.home-inquiry h2{font-size:clamp(38px,4vw,60px);line-height:1.03;letter-spacing:-.06em;margin:0}.home-inquiry>div>p:not(.eyebrow){color:#b8c1cd;font-size:17px;line-height:1.55;max-width:400px}.home-inquiry>div>a{font-size:22px;font-weight:800}.home-inquiry form{border:1px solid #344252;background:#141b25;padding:28px;display:grid;gap:10px}.home-inquiry form input,.home-inquiry form select,.home-inquiry form textarea{width:100%}.home-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.home-fields>div{display:grid;align-content:start;gap:2px}.home-inquiry form button{justify-self:start;background:#ff1212;color:#05070a;border:0;padding:16px 20px;margin-top:8px;font-weight:850;cursor:pointer}.home-inquiry form button:hover{background:#e70000}.form-note{font-size:13px;color:#b8c1cd;margin:2px 0}.home-inquiry [data-inquiry-status]:empty{display:none}@media(max-width:760px){.catalog-heading{align-items:start;flex-direction:column}.home-inquiry{grid-template-columns:1fr;gap:25px}.home-fields{grid-template-columns:1fr}}@media(max-width:440px){.home-inquiry form{padding:18px}.search-row{flex-direction:column}}

@media(max-width:440px){.contact-panel{grid-template-columns:1fr;row-gap:7px}.contact-panel .contact-label,.contact-panel .contact-phone,.contact-panel .messengers{grid-column:1;grid-row:auto}.contact-panel .messengers{margin-top:5px}}

.category-list{padding:20px;background:#0b1118;border-top:1px solid #344252;display:grid;gap:20px}
.catalog-category{border:1px solid #344252;background:#141b25;min-width:0}
.catalog-category-head{display:grid;grid-template-columns:minmax(180px,32%) 1fr;align-items:stretch;min-height:190px}
.catalog-category-head>img{width:100%;height:100%;max-height:250px;object-fit:cover}
.catalog-category-head>div{padding:28px 34px;display:flex;flex-direction:column;justify-content:center}
.catalog-category-head .eyebrow{margin:0 0 10px}
.catalog-category-head h3{font-size:clamp(29px,3vw,44px);letter-spacing:-.05em;line-height:1.08;margin:0 0 9px}
.catalog-category-head p:last-child{margin:0;color:#b8c1cd;font-size:16px;line-height:1.5}
.catalog-category .subservices{border-top:1px solid #344252}
.catalog-category .subservice{display:grid;grid-template-columns:112px 28px 1fr 18px;align-items:center;gap:14px;padding:15px;min-height:120px}
.catalog-category .subservice>img{width:112px;height:88px;object-fit:cover;background:#1a2735}
.catalog-category .subservice-content strong{font-size:18px}
.catalog-category .subservice-content span{font-size:14px}
.subcategory-list{display:grid;gap:0;border-top:1px solid #344252}
.catalog-subcategory{border-top:1px solid #344252;background:#101923;min-width:0}
.catalog-subcategory:first-child{border-top:0}
.direction .catalog-subcategory>summary{display:flex;align-items:center;gap:16px;min-height:70px;padding:17px 26px;list-style:none;cursor:pointer;background:#111d2a;border-left:4px solid #ff1212}
.direction .catalog-subcategory>summary::-webkit-details-marker{display:none}
.direction .catalog-subcategory>summary:hover,.direction .catalog-subcategory>summary:focus-visible{background:#1a2a3a;outline:2px solid #ff1212;outline-offset:-2px}
.catalog-subcategory>summary span{font-size:clamp(19px,2vw,25px);font-weight:850;letter-spacing:-.035em;line-height:1.25;min-width:0;overflow-wrap:anywhere}
.catalog-subcategory>summary small{margin-left:auto;color:#b8c1cd;font-size:14px;white-space:nowrap}
.catalog-subcategory>summary b{color:#ff1212;font-size:25px;line-height:1;transition:transform .2s}
.catalog-subcategory[open]>summary b{transform:rotate(180deg)}
.catalog-category .catalog-subcategory .subservices{border-top:1px solid #344252}
@media(max-width:620px){.direction .catalog-subcategory>summary{min-height:62px;padding:14px 17px;gap:8px;flex-wrap:wrap}.catalog-subcategory>summary span{font-size:18px;flex-basis:100%}.catalog-subcategory>summary small{font-size:12px;margin-left:0}.catalog-subcategory>summary b{margin-left:auto}}
@media(max-width:950px){.catalog-category .subservices{grid-template-columns:1fr}.catalog-category .subservice:nth-child(odd){border-right:0}}
@media(max-width:620px){.category-list{padding:10px;gap:12px}.catalog-category-head{grid-template-columns:1fr}.catalog-category-head>img{height:180px}.catalog-category-head>div{padding:20px}.catalog-category .subservice{grid-template-columns:86px 1fr 16px;gap:11px;min-height:100px}.catalog-category .subservice>img{width:86px;height:75px}.catalog-category .subservice-no{display:none}.catalog-category .subservice-content strong{font-size:17px}.catalog-category .subservice-content span{font-size:13px}}

.contact-panel .contact-actions{grid-column:1/-1;grid-row:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;border-top:1px solid #394655;padding-top:12px;margin-top:12px}.cabinet-link{display:inline-flex;align-items:center;justify-content:center;min-height:43px;padding:9px 14px;border:1px solid #ff1212;background:#ff1212;color:#fff;font:800 14px/1.2 Inter,Arial,sans-serif;white-space:nowrap}.cabinet-link:hover,.cabinet-link:focus-visible{background:#ce0000;color:#fff}.contact-panel{min-width:min(100%,420px)}@media(max-width:760px){.contact-panel .contact-actions{grid-column:1;justify-content:flex-start}.contact-panel .contact-actions>.language-switcher{flex:1 1 150px}.contact-panel .contact-actions>.cabinet-link{flex:1 1 150px}}@media(max-width:430px){.contact-panel .contact-actions{display:grid;grid-template-columns:1fr}.contact-panel .contact-actions>.language-switcher{width:100%}.contact-panel .contact-actions>.language-switcher select{flex:1;max-width:none}.contact-panel .contact-actions>.cabinet-link{width:100%}}
.hero-top .contact-panel .contact-actions{display:flex;flex-direction:column;align-items:stretch;gap:9px}
.hero-top .contact-actions>.cabinet-link,.hero-top .contact-actions>.shop-link{width:100%;min-height:44px;text-align:center;white-space:normal}
.hero-top .hero-brand{width:min(330px,45%);flex:none;display:flex;flex-direction:column;align-items:flex-start;gap:16px}
.hero-top .hero-brand .hero-logo{display:block;width:100%;margin:0}
.hero-top .language-slot{min-height:43px}
.hero-top .language-slot .language-switcher{justify-content:flex-start}
@media(min-width:761px){.hero-top{align-items:flex-start}.hero-top .hero-brand{transform:translateY(-60px)}.hero .hero-top>.contact-panel{margin-top:0}}
@media(max-width:760px){.hero-top .hero-brand{width:min(290px,80%)}.hero .hero-top>.contact-panel{margin-top:0;width:100%}}
@media(max-width:650px){.hero-top .hero-brand{width:min(190px,48%)}}
@media(max-width:400px){.hero-top .hero-brand{width:min(250px,85%)}}
.hero-top .contact-actions>.cabinet-promo{width:100%;margin:0;padding:12px 15px 13px;border-left:3px solid #ff1212;background:linear-gradient(90deg,#ff12121a,transparent 85%);color:#fff;line-height:1.25}
.cabinet-promo span{display:block;margin-bottom:5px;color:#ff4141;font:800 11px/1.2 Inter,Arial,sans-serif;letter-spacing:.13em;text-transform:uppercase}
.cabinet-promo strong{display:block;max-width:30ch;font:800 clamp(16px,1.55vw,19px)/1.3 Inter,Arial,sans-serif;letter-spacing:-.02em}
.catalog-guide{margin:4px 0 30px;padding:23px clamp(18px,4vw,42px);border:1px solid #394b5d;border-top:3px solid #ff1212;background:#121c27;text-align:center}
.catalog-guide>span{display:block;color:#ff4040;font:800 13px/1.3 Inter,Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase}
.catalog-guide>p{max-width:860px;margin:9px auto 0;color:#ecf2f8;font:500 clamp(16px,1.5vw,19px)/1.55 Inter,Arial,sans-serif}
@media(max-width:620px){.catalog-guide{margin-bottom:22px;padding:19px 17px}}

.home-inquiry form .messenger-submit{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:8px}.home-inquiry form .messenger-submit button{margin:0;min-height:50px}.home-inquiry form .messenger-submit button:not(:first-child){border:1px solid #ff1212;background:transparent;color:#fff}.home-inquiry form .messenger-submit button:not(:first-child):hover,.home-inquiry form .messenger-submit button:not(:first-child):focus-visible{background:#ff1212;color:#08090c}@media(max-width:440px){.home-inquiry form .messenger-submit{display:grid;grid-template-columns:1fr}.home-inquiry form .messenger-submit button{width:100%}}
.shop-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border:2px solid #ff1919;border-radius:8px;background:#fff;color:#111923;font:850 14px/1.2 Inter,Arial,sans-serif;text-decoration:none;white-space:nowrap;box-shadow:0 4px 16px #ff191922;transition:transform .2s,background .2s,box-shadow .2s}.shop-link:hover,.shop-link:focus-visible{background:#ff1919;color:#fff;transform:translateY(-2px);box-shadow:0 7px 20px #ff19194a}.shop-link:focus-visible{outline:3px solid #fff;outline-offset:3px}footer .shop-link{color:#111923}@media(max-width:440px){.contact-panel .shop-link{width:100%}}@media(prefers-reduced-motion:reduce){.shop-link{transition:none}.shop-link:hover{transform:none}}
@media(max-width:360px){.hero-top .contact-panel,.home-inquiry form,.catalog-guide{min-width:0}.contact-actions>.shop-link{overflow-wrap:anywhere}.direction .catalog-category .subservice{grid-template-columns:70px minmax(0,1fr) 16px}.direction .catalog-category .subservice>img{width:70px;height:68px}}

/* Shop link sits between the language/logo group and the contact card. */
.hero-top>.hero-shop{flex:0 1 285px;min-width:210px;max-width:285px;min-height:56px;text-align:center;white-space:normal;align-self:flex-start;margin:0 auto 0 0}
@media(min-width:761px) and (max-width:1180px){.hero-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(310px,420px);align-items:start;gap:10px 24px}.hero-top>.hero-brand{grid-column:1;grid-row:1;max-width:100%;transform:none}.hero-top>.hero-shop{grid-column:1;grid-row:2;width:min(100%,285px);max-width:none;margin:0}.hero-top>.contact-panel{grid-column:2;grid-row:1/3;width:100%;min-width:0}}
@media(max-width:760px){.hero-top>.hero-shop{width:100%;max-width:none;min-width:0;margin:0;align-self:stretch}.hero-top>.contact-panel{margin-left:0}}

/* Keep the complete offer and call to action in the first desktop viewport. */
@media(min-width:901px){
  .hero{align-items:start;column-gap:36px;row-gap:18px;padding-top:10px;padding-bottom:38px}
  .hero-top{margin-bottom:0}
  .hero-copy{position:relative;margin-top:-155px;z-index:1}
  .hero-photo{height:310px;margin-top:-18px}
}
@media(min-width:901px) and (max-height:800px){
  .hero h1{font-size:clamp(62px,6vw,84px);margin-bottom:18px}
  .hero p:not(.eyebrow){font-size:17px;line-height:1.45;margin-bottom:18px}
  .hero-copy{margin-top:-165px}
  .hero-photo{height:285px}
}
@media(max-width:900px){.hero-copy,.hero-photo{margin-top:0}}

/* Signature aligned with the wordmark rather than the symbol. */
.hero-top .hero-brand .hero-logo-caption{display:block;align-self:stretch;margin:-42px 0 0 31%;width:69%;padding:0;text-align:center;color:#eaf0f6;font:800 13px/1.3 Inter,Arial,sans-serif;letter-spacing:.23em;white-space:nowrap;text-shadow:0 1px 8px #0009}
@media(max-width:760px){.hero-top .hero-brand .hero-logo-caption{margin-top:-33px;font-size:11px;letter-spacing:.18em}}
@media(max-width:400px){.hero-top .hero-brand .hero-logo-caption{margin-top:-32px}}
.hero-copy>.eyebrow{position:relative;top:9px}

/* Center the shop action and keep it as a slim text-sized strip on phones. */
@media(min-width:761px){.hero-top>.hero-shop{margin:0 auto;justify-self:center}}
@media(max-width:760px){.hero-top>.hero-shop{align-self:center;justify-self:center;width:max-content;max-width:100%;min-width:0;min-height:38px;margin:0 auto;padding:8px 10px;font-size:clamp(10px,3vw,12px);line-height:1.15;white-space:nowrap;border-radius:6px}}

/* Shop action belongs to the contact stack, above it and aligned right. */
.hero-top>.hero-contact-stack{display:flex;flex-direction:column;align-items:stretch;gap:10px;flex:0 0 min(420px,100%);min-width:0;margin-left:auto}
.hero-top>.hero-contact-stack>.hero-shop{align-self:flex-end;width:max-content;max-width:100%;margin:0;min-width:0;white-space:normal;text-align:center}
.hero-top>.hero-contact-stack>.contact-panel{width:100%;min-width:0;margin:0}
@media(min-width:901px){.hero-copy{margin-top:-215px}.hero-photo{height:285px}}
@media(min-width:901px) and (max-height:800px){.hero-copy{margin-top:-225px}.hero-photo{height:260px}}
@media(min-width:761px) and (max-width:1180px){.hero-top>.hero-contact-stack{grid-column:2;grid-row:1/3;min-width:0;width:100%}}
@media(max-width:760px){.hero-top>.hero-contact-stack{width:100%;flex:none;margin:0}.hero-top>.hero-contact-stack>.hero-shop{align-self:flex-end;width:max-content;max-width:100%;margin:0;padding:8px 10px;font-size:clamp(10px,3vw,12px);white-space:nowrap}}
.hero-top>.hero-contact-stack>.hero-shop{width:100%;align-self:stretch;min-height:44px;white-space:normal}
/* Override the inline hero padding so language and the right-side actions begin near the top edge. */
#top>.hero{padding-top:0}
@media(max-width:900px){#top>.hero{padding-top:4px}}
/* Give the store action equal breathing room above and below before the contact card. */
.hero-top>.hero-contact-stack{padding-top:12px;gap:12px}
@media(max-width:760px){.hero-top>.hero-contact-stack{padding-top:8px;gap:8px}}
.hero-top>.hero-contact-stack>.hero-shop{background:#ff1919;color:#fff;box-shadow:0 4px 16px #ff191944}
.hero-top>.hero-contact-stack>.hero-shop:hover,.hero-top>.hero-contact-stack>.hero-shop:focus-visible{background:#d90016;color:#fff;box-shadow:0 7px 20px #ff191966}
