:root {
  color-scheme: light;
  font-family: Manrope, Arial, sans-serif;
  color: #171b1f;
  background: #f7f7f3;
  font-synthesis: none;
}
* { box-sizing: border-box; }
body { margin: 0; }
html { scroll-padding-top: 100px; }
[id] { scroll-margin-top: 100px; }
svg { width: 20px; height: 20px; flex-shrink: 0; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.container { width: min(1320px, 100%); margin-inline: auto; padding-inline: 32px; }
a { color: inherit; text-underline-offset: 4px; }
button, input, select, textarea { font: inherit; }
button, .button {
  display: inline-flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  min-height: 48px;
  padding: 14px 22px;
  border: 0;
  border-radius: 8px;
  background: #ffce00;
  color: #171b1f;
  font-weight: 800;
  text-decoration: none;
  cursor: pointer;
}
button:hover, .button:hover { background: #f0c200; }
button:disabled { cursor: wait; opacity: .65; }
:focus-visible { outline: 3px solid #27639e; outline-offset: 4px; }
.skip { position: fixed; top: -80px; padding: 16px; background: white; z-index: 10; }
.skip:focus { top: 0; }
.topbar { background: #101313; color: #c4c6c1; font-size: 11px; }
.topbar .container { display: flex; align-items: center; justify-content: space-between; min-height: 34px; gap: 16px; }
.family { display: inline-flex; align-items: center; gap: 14px; letter-spacing: .7px; }
.family img { width: 58px; height: auto; }
.topbar a { display: inline-flex; align-items: center; gap: 7px; text-decoration: none; }
.topbar svg { width: 13px; height: 13px; }
.special-header { position: sticky; top: 0; z-index: 5; background: #191c1d; color: white; }
.header-inner {
  display: flex;
  align-items: center;
  gap: 26px;
  min-height: 88px;
}
.brand { margin-right: auto; line-height: 0; }
.brand img { width: 218px; height: auto; }
.main-nav { display: flex; align-items: center; gap: 24px; }
.main-nav a { padding-block: 12px; color: #e4e5e1; font-size: 13px; font-weight: 700; text-decoration: none; }
.main-nav a:hover { color: #ffce00; }
.header-phone { display: inline-flex; align-items: center; gap: 9px; text-decoration: none; font-size: 13px; font-weight: 700; white-space: nowrap; }
.header-phone svg { color: #ffce00; width: 18px; height: 18px; }
.header-cta { font-size: 12px; gap: 20px; padding: 12px 17px; border-radius: 7px; white-space: nowrap; }
.category-strip { background: #eeeDE7; border-bottom: 1px solid #deded6; }
.category-nav { display: flex; gap: 8px; align-items: center; justify-content: center; padding-block: 12px; overflow-x: auto; scrollbar-width: thin; scrollbar-color: #c7c8bf transparent; }
.category-nav a { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 36px; padding: 7px 14px; border: 1px solid #d0d1c8; border-radius: 24px; background: #f6f6f1; color: #62665d; font-size: 12px; line-height: 1.5; font-weight: 700; text-decoration: none; white-space: nowrap; }
.category-nav svg { width: 17px; height: 17px; }
.category-nav a:hover { color: #20241e; background: #fff; border-color: #b9bdb0; }
.category-nav [aria-current=page] { background: #fff3b9; border-color: #d4b237; color: #292a23; }
main { max-width: 1320px; margin: auto; padding: 30px 32px 80px; }
.breadcrumbs, .small, small, .result-count { font-size: 13px; color: #52606c; line-height: 1.7; }
.breadcrumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 0; font-size: 11px; }
.breadcrumbs a { text-decoration: none; }
.breadcrumbs a:hover { text-decoration: underline; }
.breadcrumbs span { color: #bec2b8; }
.intro { padding: 40px 0 32px; max-width: 780px; }
.eyebrow { font-size: 12px; letter-spacing: 2px; font-weight: 800; color: #58616a; }
h1 { font-size: clamp(34px, 5vw, 62px); line-height: 1.08; letter-spacing: -2px; margin: 16px 0 24px; overflow-wrap: anywhere; }
h2 { font-size: 30px; line-height: 1.2; letter-spacing: -.7px; }
p { line-height: 1.75; }
.intro p { font-size: 16px; color: #646a61; max-width: 660px; margin-bottom: 0; }
.category-grid, .product-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.category-card { background: white; border-radius: 16px; padding: 32px; border: 1px solid #ddd; text-decoration: none; }
.category-card > span { font-size: 27px; font-weight: 800; }
.category-card b { display: block; margin-top: 28px; }
.filters { padding: 24px; border: 1px solid #e0e1d8; border-radius: 14px; background: white; box-shadow: 0 4px 18px #20241e05; }
.filter-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 22px; }
.filter-heading h2 { display: flex; align-items: center; gap: 10px; margin: 0; font-size: 19px; line-height: 1.4; letter-spacing: -.5px; }
.filter-heading h2 svg { width: 19px; height: 19px; }
.filter-clear { display: inline-flex; align-items: center; gap: 6px; color: #6b7065; font-size: 11px; font-weight: 700; text-decoration: none; white-space: nowrap; }
.filter-clear:hover { color: #1d211b; text-decoration: underline; }
.filter-clear svg { width: 14px; height: 14px; }
.filter-fields { display: grid; grid-template-columns: minmax(0, 1fr) minmax(180px, .55fr) auto; align-items: end; gap: 14px; }
label { display: grid; gap: 8px; font-size: 14px; font-weight: 700; }
.filters label { min-width: 0; font-size: 11px; letter-spacing: .3px; color: #656b60; }
input, select, textarea { width: 100%; min-width: 0; font-size: 16px; background: white; color: #171b1f; border: 1px solid #cdd1c6; border-radius: 8px; padding: 13px; min-height: 48px; }
input::placeholder, textarea::placeholder { color: #858a7e; font-weight: 400; }
input:focus, select:focus, textarea:focus { border-color: #a58b28; outline: 2px solid #ffce0040; outline-offset: 1px; }
.filters input, .filters select { height: 52px; background: #f8f8f4; font-weight: 500; }
.search-input { position: relative; display: block; }
.search-input > svg { position: absolute; left: 14px; top: 17px; width: 18px; height: 18px; color: #7b8173; pointer-events: none; }
.search-input input { padding-left: 42px; }
.filter-submit { min-height: 52px; font-size: 13px; padding: 14px 20px; gap: 24px; }
textarea { resize: vertical; }
.results-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 20px 0; }
.results-heading .result-count { margin: 0; font-size: 12px; }
.results-heading > a { display: inline-flex; align-items: center; gap: 8px; color: #676e60; font-size: 12px; font-weight: 600; text-decoration: none; }
.results-heading > a:hover { text-decoration: underline; }
.results-heading svg { width: 16px; height: 16px; }
.empty-results { grid-column: 1 / -1; padding: 32px; border: 1px dashed #cdd1c6; border-radius: 14px; text-align: center; }
.empty-results h2 { font-size: 24px; }
.product-card { border: 1px solid #e1e4e5; border-radius: 14px; background: white; transition: border-color .15s; }
.product-card:hover { border-color: #d4ab1b; }
.product-card > a { padding: 24px; height: 100%; display: flex; flex-direction: column; text-decoration: none; }
.product-card img { width: 100%; height: 220px; object-fit: contain; margin-bottom: 24px; }
.product-card h2 { font-size: 19px; letter-spacing: -.3px; line-height: 1.4; overflow-wrap: anywhere; }
.product-card b { display: block; padding-top: 24px; margin-top: auto; font-size: 14px; }
.pagination { display: flex; justify-content: center; gap: 16px; margin: 30px 0; }
.pagination a { min-width: 44px; padding: 10px; text-align: center; text-decoration: none; border: 1px solid #deded4; border-radius: 8px; background: white; }
.pagination [aria-current=page] { background: #ffce00; border-color: #ffce00; font-weight: 800; }
.product-detail { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; padding: 35px 0; }
.product-detail > *, .inquiry > *, .form-grid > *, dl > div { min-width: 0; }
.product-info, .product-detail, .inquiry { overflow-wrap: anywhere; }
.product-detail h1 { font-size: clamp(30px, 3vw, 45px); letter-spacing: -1px; }
.product-photo { background: white; padding: 35px; border-radius: 20px; }
.product-photo img { width: 100%; height: 380px; object-fit: contain; }
.availability { display: inline-block; border-radius: 6px; padding: 10px 14px; background: #fff1b4; font-weight: 700; }
.phone-link { display: block; margin-top: 24px; }
.product-info { background: white; border-radius: 16px; padding: 32px; margin-top: 20px; }
.product-info p { max-width: 900px; }
dl { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; }
dl > div { border-top: 1px solid #ddd; padding: 15px 0; }
dt { color: #56616a; font-size: 13px; }
dd { margin: 7px 0 0; font-weight: 800; }
.inquiry { display: grid; grid-template-columns: 1fr 1.7fr; gap: 45px; border-top: 1px solid #d2d6d6; padding-top: 50px; margin-top: 60px; }
.inquiry h2 { font-size: 40px; }
.inquiry > div > p { color: #636b5e; font-size: 15px; }
.inquiry form { padding: 28px; border: 1px solid #e0e1d8; border-radius: 16px; background: #fff; }
.inquiry form { display: grid; gap: 20px; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.consent { display: flex; align-items: start; gap: 10px; font-size: 12px; color: #5c6456; font-weight: 400; line-height: 1.65; }
.consent input { width: 22px; min-height: 22px; flex-shrink: 0; margin: 0; accent-color: #d3a800; }
.trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.form-message { margin: 0; color: #92201b; }
.form-message.success { color: #165c3e; padding: 20px; background: #e4f4e9; border-radius: 8px; }
.site-footer { background: #191c1d; color: #fff; }
.footer-contact { display: flex; justify-content: space-between; align-items: center; gap: 36px; padding-block: 52px; border-bottom: 1px solid #ffffff1f; }
.footer-contact .eyebrow { font-size: 10px; color: #c9cec2; letter-spacing: 1.4px; }
.footer-contact h2 { margin: 16px 0 0; font-size: clamp(30px, 3vw, 42px); line-height: 1.15; letter-spacing: -1px; }
.footer-phone { display: inline-flex; align-items: center; gap: 18px; text-decoration: none; }
.phone-badge { display: grid; place-items: center; width: 54px; height: 54px; border-radius: 50%; background: #ffce00; color: #20241e; }
.phone-badge svg { width: 24px; height: 24px; }
.footer-phone small { display: block; color: #bac0b3; font-size: 9px; letter-spacing: 1.1px; }
.footer-phone strong { display: block; margin-top: 6px; font-size: 29px; letter-spacing: -.6px; }
.footer-phone > svg { width: 26px; height: 26px; margin-left: 20px; color: #ffce00; }
.footer-main { display: grid; grid-template-columns: 1.35fr 1fr 1fr; gap: 56px; padding-block: 44px; }
.footer-main > * { min-width: 0; }
.footer-main .brand { display: inline-block; }
.footer-main .brand img { width: 210px; max-width: 100%; }
.footer-main h3 { margin: 0 0 18px; font-size: 14px; }
.footer-main p { color: #acb3a8; font-size: 13px; line-height: 1.8; }
.footer-brand > span { display: block; margin-top: 18px; font-size: 11px; color: #878f81; }
.footer-main nav a, .footer-help > a { display: flex; align-items: center; gap: 8px; width: fit-content; min-height: 34px; color: #ced2c8; font-size: 12px; text-decoration: none; }
.footer-main a:hover { color: #ffce00; }
.footer-main svg { width: 15px; height: 15px; }
.footer-help p { margin-top: 20px; }
.footer-bottom { display: flex; justify-content: space-between; gap: 20px; padding-block: 20px; border-top: 1px solid #ffffff1a; font-size: 10px; color: #a1a99a; }
@media (max-width: 1100px) {
  .main-nav { gap: 16px; }
  .header-inner { gap: 20px; }
  .header-phone span { display: none; }
  .header-phone { justify-content: center; min-width: 40px; min-height: 44px; }
}
@media (max-width: 900px) {
  .main-nav { display: none; }
  .header-phone span { display: inline; }
  .category-nav { justify-content: flex-start; }
  .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .product-detail, .inquiry { gap: 28px; }
  .product-photo img { height: 280px; }
  .inquiry { grid-template-columns: 1fr; }
  .inquiry > div { max-width: 550px; }
  .filter-fields { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .filter-query { grid-column: 1 / -1; }
  .footer-main { gap: 28px; }
  .footer-phone { gap: 12px; }
  .footer-phone > svg { margin-left: 0; }
}
@media (max-width: 600px) {
  html { scroll-padding-top: 78px; }
  [id] { scroll-margin-top: 78px; }
  .container { padding-inline: 18px; }
  .family > span { display: none; }
  .topbar .container { min-height: 30px; }
  .header-inner { min-height: 76px; gap: 10px; }
  .brand img { width: 150px; }
  .header-phone span { display: none; }
  .header-phone { min-width: 34px; }
  .header-cta { min-height: 40px; padding: 10px 12px; gap: 0; font-size: 11px; }
  .header-cta svg { display: none; }
  .category-nav { padding-block: 10px; gap: 7px; }
  .category-nav a { min-height: 36px; font-size: 11px; padding: 7px 12px; gap: 7px; }
  main { padding: 20px 18px 45px; }
  .intro { padding: 30px 0 26px; }
  .intro h1 { font-size: 38px; letter-spacing: -1.3px; margin: 12px 0 16px; }
  .intro p { font-size: 14px; }
  .filters { padding: 18px; }
  .filter-heading { align-items: start; gap: 12px; margin-bottom: 18px; }
  .filter-heading h2 { font-size: 16px; gap: 8px; }
  .filter-heading h2 svg { display: none; }
  .filter-clear { font-size: 10px; }
  .filter-clear svg { display: none; }
  .filter-fields { grid-template-columns: minmax(0, 1fr) auto; gap: 14px 10px; }
  .filter-submit { gap: 8px; padding: 12px; font-size: 11px; }
  .filter-submit svg { width: 16px; height: 16px; }
  .filters select { padding: 10px; font-size: 16px; }
  .results-heading { align-items: start; gap: 12px; }
  .pagination { gap: 6px; }
  .pagination a { min-width: 38px; padding: 10px 8px; }
  .results-heading > a { font-size: 10px; max-width: 130px; text-align: right; }
  .result-count { font-size: 11px; }
  .product-grid, .category-grid, .product-detail, .inquiry, .form-grid { grid-template-columns: 1fr; }
  .product-card > a { padding: 24px; }
  .product-card img { height: 230px; }
  .product-info { padding: 24px; }
  dl { grid-template-columns: 1fr 1fr; }
  .inquiry { margin-top: 40px; padding-top: 25px; }
  .inquiry h2 { font-size: 32px; }
  .inquiry form { padding: 20px; }
  .footer-contact { flex-direction: column; align-items: flex-start; gap: 28px; padding-block: 36px; }
  .footer-phone strong { font-size: 26px; }
  .footer-phone > svg { margin-left: auto; }
  .footer-phone { width: 100%; }
  .footer-main { grid-template-columns: 1fr 1fr; gap: 30px 18px; padding-block: 32px; }
  .footer-brand { grid-column: 1 / -1; }
  .footer-brand p br { display: none; }
  .footer-main h3 { font-size: 12px; }
  .footer-main nav a, .footer-help > a { min-height: 40px; font-size: 11px; }
  .footer-help p { font-size: 11px; }
  .footer-bottom { flex-direction: column; gap: 8px; font-size: 10px; }
}
@media (max-width: 370px) {
  .brand img { width: 128px; }
  .header-inner { gap: 8px; }
  .header-cta { padding-inline: 9px; font-size: 10px; }
  .filter-fields { grid-template-columns: minmax(0, 1fr); }
  .filter-submit { justify-content: space-between; }
}
.cg-content-article{max-width:860px;margin:40px auto;padding:28px;overflow-wrap:anywhere}
.cg-content-article h1{font-size:clamp(28px,4vw,48px)}
.cg-content-photo{display:block;width:100%;height:auto;max-height:540px;object-fit:contain;margin:24px 0}
