/* Studio blocks on the site (9 Oct 2026) — rows, columns and blocks in the store's own type and colors. */
.kb-row { position: relative; background-size: cover; background-position: center; color: var(--ink, #001219); }
.kb-row-in { display: grid; gap: var(--kb-gap, 32px); margin-inline: auto; padding-inline: clamp(16px, 4vw, 48px); }
.kb-row.w-contained .kb-row-in { max-width: 1200px; }
.kb-row.w-narrow .kb-row-in { max-width: 820px; }
.kb-row.w-full .kb-row-in { max-width: none; }
.kb-col { min-width: 0; display: flex; flex-direction: column; gap: 18px; }
@media (max-width: 760px) { .kb-row:not(.no-stack) .kb-row-in { grid-template-columns: 1fr !important; } }

.kb { translate: var(--dx, 0) var(--dy, 0); }
@media (max-width: 700px) { .kb { translate: var(--mdx, var(--dx, 0)) var(--mdy, var(--dy, 0)); } }
.kb-h { margin: 0; line-height: 1.04; letter-spacing: -.01em; text-wrap: balance; }
.kb-p { margin: 0; line-height: 1.65; font-family: var(--body); }
.kb-btn { display: inline-flex; align-items: center; gap: 8px; text-decoration: none; border-radius: 999px; font: 700 13px/1 var(--body); letter-spacing: .08em; text-transform: uppercase;
  padding: 16px 28px; transition: transform .2s var(--ease, ease), background .2s, color .2s; --kb-btn: var(--red, #AE2012); --kb-btn-ink: #fff; }
.kb-btn.sm { padding: 12px 20px; font-size: 12px; } .kb-btn.lg { padding: 20px 36px; font-size: 14px; }
.kb-btn.solid { background: var(--kb-btn); color: var(--kb-btn-ink); }
.kb-btn.outline { border: 2px solid var(--kb-btn); color: var(--kb-btn); }
.kb-btn.ghost { color: var(--kb-btn); padding-inline: 0; border-bottom: 2px solid currentColor; border-radius: 0; }
.kb-btn:hover { transform: translateY(-2px); }
.kb-fig { margin: 0; overflow: hidden; }
.kb-fig img { display: block; width: 100%; height: auto; }
.kb-fig.crop img { height: 100%; object-fit: cover; }
.kb-empty { display: grid; place-items: center; min-height: 160px; border: 2px dashed currentColor; opacity: .35; border-radius: 14px; font: 600 13px var(--body); padding: 20px; text-align: center; }
.kb-spacer hr { border: 0; border-top: 1px solid currentColor; opacity: .2; margin: 0; position: relative; top: 50%; }
.kb-icon_list ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .7em; }
.kb-icon_list li { display: flex; gap: .7em; align-items: flex-start; line-height: 1.4; }
.kb-icon_list svg { width: 1.25em; height: 1.25em; flex: none; color: var(--kb-ico, var(--red, #AE2012)); }
.kb-accordion details { border-bottom: 1px solid color-mix(in srgb, currentColor 18%, transparent); }
.kb-accordion summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; gap: 16px; padding: 18px 0; font: 700 18px/1.3 var(--body); }
.kb-accordion summary::-webkit-details-marker { display: none; }
.kb-accordion summary i { font-style: normal; font-size: 22px; transition: rotate .2s; }
.kb-accordion details[open] summary i { rotate: 45deg; }
.kb-accordion details > div { padding: 0 0 18px; line-height: 1.6; opacity: .85; }
.kb-tabbar { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 16px; }
.kb-tabbar label { cursor: pointer; }
.kb-tabbar input { position: absolute; opacity: 0; pointer-events: none; }
.kb-tabbar span { display: inline-block; padding: 10px 18px; border-radius: 999px; border: 1.5px solid color-mix(in srgb, currentColor 25%, transparent); font: 700 13px var(--body); }
.kb-tabbar input:checked + span { background: currentColor; }
.kb-tabbar input:checked + span { color: var(--paper, #fff); background: var(--ink, #001219); border-color: var(--ink, #001219); }
.kb-tab { display: none; line-height: 1.6; }
.kb-tabs:has(.kb-tabbar label:nth-child(1) input:checked) .kb-tab:nth-of-type(1),
.kb-tabs:has(.kb-tabbar label:nth-child(2) input:checked) .kb-tab:nth-of-type(2),
.kb-tabs:has(.kb-tabbar label:nth-child(3) input:checked) .kb-tab:nth-of-type(3),
.kb-tabs:has(.kb-tabbar label:nth-child(4) input:checked) .kb-tab:nth-of-type(4),
.kb-tabs:has(.kb-tabbar label:nth-child(5) input:checked) .kb-tab:nth-of-type(5) { display: block; }
.kb-info_box { display: grid; gap: 10px; }
.kb-info_box.boxed { padding: 28px; border-radius: 18px; background: color-mix(in srgb, currentColor 5%, transparent); border: 1px solid color-mix(in srgb, currentColor 12%, transparent); }
.kb-ib-ico { width: 48px; height: 48px; border-radius: 50%; display: inline-grid; place-items: center; background: var(--red, #AE2012); color: #fff; }
.kb-info_box[style*="center"] .kb-ib-ico { margin-inline: auto; }
.kb-ib-ico svg { width: 24px; height: 24px; }
.kb-info_box h3 { margin: 4px 0 0; font: 700 21px/1.2 var(--display); }
.kb-info_box p { margin: 0; line-height: 1.6; opacity: .85; }
.kb-info_box a { color: inherit; font-weight: 700; }
.kb-testimonial blockquote { margin: 0 0 18px; font: 600 clamp(20px, 2.4vw, 28px)/1.35 var(--display); }
.kb-who { display: flex; align-items: center; gap: 12px; }
.kb-who img { width: 48px; height: 48px; border-radius: 50%; object-fit: cover; }
.kb-who b { display: block; } .kb-who small { opacity: .7; }
.kb-video video, .kb-video iframe { display: block; width: 100%; aspect-ratio: 16 / 9; border: 0; border-radius: 14px; background: #000; }
.kb-gal { display: grid; grid-template-columns: repeat(var(--cols, 3), 1fr); gap: 10px; }
.kb-gal img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: var(--r, 12px); display: block; }
.kb-prods { display: grid; grid-template-columns: repeat(var(--cols, 4), 1fr); gap: 18px; }
@media (max-width: 760px) { .kb-gal { grid-template-columns: repeat(2, 1fr); } .kb-prods { grid-template-columns: repeat(2, 1fr); } }
.kb-page { min-height: 40vh; }
