* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  background: var(--color-bg-primary);
  color: var(--color-text-primary);
  font-family: var(--font-body);
  margin: 0;
  min-width: 320px;
}
body.is-locked,
body.is-menu-open { overflow: hidden; }
a { color: inherit; }
button, input, summary { font: inherit; }
button { color: inherit; }
img { display: block; max-width: 100%; }
.skip-link { background: var(--koh-charcoal); color: var(--koh-off-white); left: 12px; padding: 12px 16px; position: fixed; top: -100px; z-index: 100; }
.skip-link:focus { top: 12px; }
:focus-visible { outline: var(--focus-ring); outline-offset: var(--focus-offset); }
.nav-preview-bar { align-items: center; background: var(--color-bg-secondary); border-bottom: var(--border-subtle); display: flex; flex-wrap: wrap; gap: 8px 20px; padding: 8px var(--page-gutter); }
.nav-preview-bar p { font-size: var(--type-small); letter-spacing: .04em; margin: 0; }
.nav-preview-actions { display: flex; gap: 8px; }
.nav-preview-bar button { background: transparent; border: var(--border-default); cursor: pointer; min-height: 44px; padding: 0 16px; }
.nav-preview-bar button[aria-pressed="true"] { background: var(--koh-charcoal); border-color: var(--koh-charcoal); color: var(--koh-off-white); }
.nav-preview-status { color: var(--color-text-secondary); }
.announcement { align-items: center; border-bottom: var(--border-subtle); display: flex; font-size: var(--type-label); height: var(--size-announcement); justify-content: center; letter-spacing: var(--tracking-micro); overflow: hidden; padding: 0 var(--page-gutter); text-align: center; }
.announcement-track { display: flex; margin: 0; }
.announcement-track p { margin: 0; white-space: nowrap; }
.announcement-track p[aria-hidden="true"] { display: none; }
.site-header { align-items: stretch; background: rgba(247,245,241,.96); border-bottom: var(--border-subtle); display: grid; grid-template-columns: minmax(168px, 1.7fr) minmax(0, 7.3fr) auto; height: var(--size-header-desktop); overflow: visible; position: sticky; top: 0; z-index: 30; }
.wordmark { align-items: center; display: flex; font-family: var(--font-serif-latin); font-size: 32px; letter-spacing: .14em; padding: 0 var(--page-gutter); text-decoration: none; }
.desktop-nav { border-left: var(--border-subtle); display: flex; min-width: 0; overflow: visible; }
.desktop-nav a, .nav-more { align-content: center; background: transparent; border: 0; border-right: var(--border-subtle); color: inherit; cursor: pointer; display: grid; flex: 1 1 120px; gap: 5px; justify-items: center; min-width: 0; padding-inline: 8px; text-decoration: none; transition: background var(--duration-fast) var(--ease-standard); }
.nav-more-wrap { display: none; flex: 1 1 120px; min-width: 0; position: relative; }
.nav-more { display: grid; flex: none; height: 100%; width: 100%; }
body.is-nav-overflow .nav-slot-5 { display: none; }
body.is-nav-overflow .nav-more-wrap { display: flex; }
.desktop-nav a:hover, .nav-more:hover, .nav-more[aria-expanded="true"] { background: var(--color-bg-secondary); }
.desktop-nav span, .nav-more span { font-family: var(--font-serif-latin); font-size: var(--type-label); letter-spacing: .1em; text-transform: uppercase; white-space: nowrap; }
.desktop-nav small, .nav-more small { font-size: var(--type-micro); letter-spacing: .08em; }
.header-actions { align-items: stretch; display: flex; justify-content: flex-end; }
.text-action, .cart-trigger, .menu-trigger { background: transparent; border: 0; cursor: pointer; font-size: var(--type-micro); letter-spacing: .12em; min-width: 72px; padding: 0 14px; text-transform: uppercase; }
.text-action:hover, .cart-trigger:hover, .menu-trigger:hover { background: var(--color-bg-secondary); }
.cart-trigger { border-left: var(--border-subtle); }
.cart-count { align-items: center; background: var(--koh-charcoal); border-radius: var(--radius-circle); color: var(--koh-off-white); display: inline-flex; font-size: 8px; height: 18px; justify-content: center; margin-left: 4px; width: 18px; }
.menu-trigger { display: none; }
.mobile-menu {
  background: var(--color-bg-primary);
  border-bottom: var(--border-default);
  bottom: 0;
  left: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 8px var(--page-gutter) 24px;
  position: fixed;
  right: 0;
  top: var(--mobile-menu-top, var(--size-header-desktop));
  z-index: 29;
}
.mobile-menu a, .mobile-menu button { background: transparent; border: 0; border-bottom: var(--border-subtle); color: inherit; cursor: pointer; display: block; font-family: var(--font-serif-latin); font-size: 17px; letter-spacing: .06em; min-height: 52px; padding: 16px 0; text-align: left; text-decoration: none; width: 100%; }
.menu-group--utility { display: none; }
@media (min-width: 1101px) {
  .menu-group--pages { display: none; }
}
.more-panel {
  background: var(--color-bg-elevated);
  border: var(--border-subtle);
  border-top: 0;
  box-shadow: var(--shadow-overlay);
  left: 0;
  min-width: 100%;
  position: absolute;
  right: auto;
  top: 100%;
  width: max(100%, 220px);
  z-index: 40;
}
.more-panel:not([hidden]) { display: block; }
.more-panel-links { display: grid; }
.more-panel-links a { align-content: center; border-bottom: var(--border-subtle); display: grid; gap: 4px; justify-items: start; min-height: 52px; padding: 12px 16px; text-decoration: none; }
.more-panel-links a:last-child { border-bottom: 0; }
.more-panel-links a:hover { background: var(--color-bg-secondary); }
.more-panel-links span { font-family: var(--font-serif-latin); font-size: var(--type-label); letter-spacing: .1em; text-transform: uppercase; }
.more-panel-links small { font-size: var(--type-micro); letter-spacing: .08em; }
.more-panel-utility { border-top: var(--border-subtle); display: none; }
.more-panel-utility button { background: transparent; border: 0; border-bottom: var(--border-subtle); color: inherit; cursor: pointer; display: block; font-size: var(--type-micro); letter-spacing: .12em; min-height: 48px; padding: 0 16px; text-align: left; text-transform: uppercase; width: 100%; }
.more-panel-utility button:last-child { border-bottom: 0; }
.more-panel-utility button:hover { background: var(--color-bg-secondary); }
.section-rule { border-bottom: var(--border-subtle); }
.section-index { font-family: var(--font-serif-latin); font-size: var(--type-label); letter-spacing: var(--tracking-label); margin: 0; text-transform: uppercase; }
.eyebrow { font-family: var(--font-serif-latin); font-size: var(--type-label); letter-spacing: .16em; margin: 0 0 var(--space-4); text-transform: uppercase; }
.sr-only { clip: rect(0, 0, 0, 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; white-space: nowrap; }
.hero { display: grid; grid-template-columns: 5.5% 36.5% 49% 9%; min-height: clamp(620px, 65vw, 790px); }
.hero.is-single { grid-template-columns: 5.5% 36.5% 58%; }
.hero-rail { align-items: center; display: flex; font-family: var(--font-serif-latin); font-size: var(--type-micro); justify-content: center; letter-spacing: .14em; text-transform: uppercase; writing-mode: vertical-rl; }
.hero-rail--left { border-right: var(--border-subtle); }
.hero-copy { align-content: center; display: grid; padding: clamp(48px, 6vw, 96px); transition: opacity 420ms var(--ease-standard), transform 420ms var(--ease-standard); }
.hero-copy.is-leaving { opacity: 0; transform: translateY(8px); }
.hero-copy h1 { font-family: var(--font-heading); font-size: var(--type-display); font-weight: 400; letter-spacing: var(--tracking-display); line-height: var(--leading-display); margin: clamp(48px, 7vw, 92px) 0 var(--space-7); }
.hero-lead { font-size: var(--type-body); letter-spacing: var(--tracking-body); line-height: var(--leading-body); margin: 0 0 var(--space-9); max-width: 30em; }
.editorial-link { align-items: center; border-bottom: var(--border-default); display: flex; font-size: var(--type-small); justify-content: space-between; min-height: 44px; padding-bottom: 10px; text-decoration: none; width: min(100%, 260px); }
.editorial-link span:last-child { transition: transform var(--duration-button) var(--ease-standard); }
.editorial-link:hover span:last-child { transform: translateX(5px); }
.hero-visual { background: var(--color-bg-secondary); border-left: var(--border-subtle); margin: 0; min-width: 0; overflow: hidden; position: relative; touch-action: pan-y; }
.hero-visual img { height: 100%; inset: 0; object-fit: cover; object-position: center; opacity: 0; position: absolute; transition: opacity var(--duration-slow) var(--ease-standard); width: 100%; }
.hero-visual img.is-active { opacity: 1; }
.hero-nav { border-left: var(--border-subtle); display: grid; grid-template-rows: 1fr auto; min-width: 0; }
.hero.is-single .hero-nav { display: none; }
.slide-index { align-content: center; display: grid; gap: var(--space-3); justify-content: center; }
.slide-index button { background: none; border: 0; cursor: pointer; font-family: var(--font-serif-latin); font-size: var(--type-label); letter-spacing: .14em; min-height: var(--size-touch-min); min-width: var(--size-touch-min); padding: 0; position: relative; }
.slide-index button[aria-current="true"]::after { background: var(--koh-charcoal); bottom: 0; content: ""; height: 1px; left: 50%; position: absolute; transform: translateX(-50%); width: 16px; }
.arrow-nav { border-top: var(--border-subtle); display: grid; grid-template-columns: 1fr 1fr; }
.arrow-nav button { background: transparent; border: 0; cursor: pointer; font-family: var(--font-serif-latin); font-size: 20px; min-height: 64px; }
.arrow-nav button + button { border-left: var(--border-subtle); }
.arrow-nav button:hover { background: var(--color-bg-secondary); }
.featured { display: grid; grid-template-columns: 27% 73%; }
.section-intro { align-content: center; border-right: var(--border-subtle); display: grid; padding: var(--section-space-lg) clamp(32px, 4vw, 72px); }
.section-intro h2 { font-family: var(--font-heading); font-size: var(--type-h2); font-weight: 400; letter-spacing: var(--tracking-heading); line-height: var(--leading-heading); margin: var(--space-9) 0 var(--space-5); }
.section-intro > p:not(.section-index) { font-size: var(--type-body); letter-spacing: var(--tracking-body); line-height: var(--leading-body); margin: 0; max-width: 28em; }
.section-intro .editorial-link { margin-top: var(--space-8); }
.featured-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.quick-product { display: grid; grid-template-rows: auto 1fr auto; min-height: 610px; padding: var(--space-5); position: relative; }
.quick-product + .quick-product { border-left: var(--border-subtle); }
.quick-media { align-items: center; display: flex; justify-content: center; min-height: 300px; overflow: hidden; }
.quick-media img { max-height: 300px; object-fit: contain; transition: transform var(--duration-slow) var(--ease-enter); width: 100%; }
.quick-product:hover .quick-media img { transform: scale(1.015); }
.quick-copy { display: flex; flex-direction: column; }
.product-kicker { font-size: var(--type-small); letter-spacing: .08em; margin: 0 0 8px; }
.quick-copy h3, .catalog-copy h3 { font-family: var(--font-serif-latin); font-size: var(--type-h3); font-weight: 400; letter-spacing: .08em; margin: 0 0 16px; text-transform: uppercase; }
.quick-copy > p:not(.product-kicker):not(.product-meta) { font-size: var(--type-small); line-height: var(--leading-small); margin: 0 0 16px; }
.product-meta { color: var(--color-text-muted); font-size: var(--type-micro); line-height: 1.6; margin: auto 0 12px; }
.add-button { align-items: stretch; background: transparent; border: var(--border-default); cursor: pointer; display: flex; justify-content: space-between; min-height: 48px; min-width: 0; padding: 0; width: 100%; }
.add-button span { align-items: center; display: flex; flex: 1 1 auto; font-size: var(--type-label); letter-spacing: .08em; padding: 0 12px; white-space: nowrap; }
.add-button span:last-child { border-left: var(--border-subtle); flex: 0 0 44px; justify-content: center; padding: 0; width: 44px; }
.add-button:hover { background: var(--color-bg-secondary); }
.brand { display: grid; grid-template-columns: 18% 58% 24%; min-height: 660px; }
.brand.is-no-media { grid-template-columns: 18% 82%; }
.section-label-block { border-right: var(--border-subtle); display: flex; flex-direction: column; justify-content: space-between; padding: var(--space-7) var(--page-gutter); }
.vertical-caption { align-self: flex-start; font-family: var(--font-serif-latin); font-size: var(--type-micro); letter-spacing: .16em; margin: 0; writing-mode: vertical-rl; }
.brand-statement { align-content: center; display: grid; padding: var(--section-space-lg) clamp(48px, 8vw, 128px); }
.brand-statement h2 { font-family: var(--font-heading); font-size: var(--type-h1); font-weight: 400; letter-spacing: var(--tracking-heading); line-height: 1.7; margin: var(--space-5) 0 var(--space-7); }
.brand-statement > p:not(.eyebrow) { font-size: var(--type-body-lg); letter-spacing: var(--tracking-body); line-height: var(--leading-body-lg); margin: 0 0 var(--space-9); max-width: 38em; }
.brand-media { background: var(--color-bg-secondary); margin: 0; min-width: 0; overflow: hidden; }
.brand-media img, .brand-media video { display: block; height: 100%; object-fit: cover; object-position: center; width: 100%; }
.technology { background: var(--color-surface-accent); padding: var(--section-space-lg) var(--page-gutter); }
.wide-heading { align-items: end; display: grid; gap: var(--space-9); grid-template-columns: 5fr 4fr; margin: 0 auto var(--space-12); max-width: var(--page-max-width); }
.wide-heading h2 { font-family: var(--font-heading); font-size: var(--type-h1); font-weight: 400; letter-spacing: var(--tracking-heading); line-height: var(--leading-heading); margin: var(--space-8) 0 0; }
.wide-heading > p { font-size: var(--type-body); letter-spacing: var(--tracking-body); line-height: var(--leading-body); margin: 0; max-width: 34em; }
.equation { align-items: start; display: grid; grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr; margin: 0 auto; max-width: 1120px; }
.equation-node { text-align: center; }
.node-symbol { align-items: center; border: var(--border-default); border-radius: var(--radius-circle); display: flex; font-family: var(--font-serif-latin); font-size: var(--type-small); height: clamp(104px, 10vw, 132px); justify-content: center; letter-spacing: .08em; margin: 0 auto var(--space-5); width: clamp(104px, 10vw, 132px); }
.equation-node--result .node-symbol { background: var(--koh-charcoal); border-color: var(--koh-charcoal); color: var(--koh-off-white); }
.equation-node h3 { font-family: var(--font-heading); font-size: var(--type-h3); font-weight: 400; letter-spacing: .05em; margin: 0 0 8px; }
.equation-node p { font-size: var(--type-small); line-height: var(--leading-small); margin: 0 auto; max-width: 16em; }
.operator { align-items: center; display: flex; font-family: var(--font-serif-latin); height: clamp(104px, 10vw, 132px); justify-content: center; padding: 0 12px; }
.legal-note { color: var(--color-text-muted); font-size: var(--type-micro); letter-spacing: .06em; margin: var(--space-10) auto 0; max-width: 1120px; text-align: right; }
.technology-foot { display: grid; gap: var(--space-6); justify-items: end; margin: var(--space-10) auto 0; max-width: 1120px; }
.technology-foot .legal-note { margin: 0; max-width: none; }
.products { padding-top: var(--section-space-md); }
.catalog-heading { align-items: end; display: flex; justify-content: space-between; margin: 0 auto; max-width: var(--page-max-width); padding: 0 var(--page-gutter) var(--space-10); }
.catalog-heading h2 { font-family: var(--font-serif-latin); font-size: var(--type-h1); font-weight: 400; letter-spacing: .08em; margin: var(--space-5) 0 4px; text-transform: uppercase; }
.catalog-list { border-top: var(--border-subtle); }
.catalog-item { display: grid; grid-template-columns: 50% 50%; min-height: 620px; }
.catalog-item + .catalog-item { border-top: var(--border-subtle); }
.catalog-item--reverse .catalog-media { order: 2; }
.catalog-item--reverse .catalog-copy { border-left: 0; border-right: var(--border-subtle); }
.catalog-media { background: var(--color-bg-secondary); overflow: hidden; }
.catalog-media img { height: 100%; object-fit: cover; transition: transform var(--duration-slow) var(--ease-enter); width: 100%; }
.catalog-item:hover .catalog-media img { transform: scale(1.015); }
.catalog-copy { align-content: center; border-left: var(--border-subtle); display: grid; padding: var(--section-space-lg) clamp(48px, 8vw, 128px); }
.catalog-copy .product-kicker { margin-top: 0; }
.catalog-copy h3 { font-size: var(--type-h2); margin-bottom: var(--space-6); }
.catalog-copy > p:not(.product-kicker) { font-size: var(--type-body); letter-spacing: var(--tracking-body); line-height: var(--leading-body); margin: 0 0 var(--space-7); max-width: 34em; }
.catalog-copy dl { border-top: var(--border-subtle); margin: 0 0 var(--space-8); }
.catalog-copy dl div { border-bottom: var(--border-subtle); display: grid; font-size: var(--type-small); grid-template-columns: 100px 1fr; padding: 12px 0; }
.catalog-copy dt { color: var(--color-text-secondary); }
.catalog-copy dd { margin: 0; }
.catalog-copy > a { align-items: center; border-bottom: var(--border-default); display: flex; font-size: var(--type-small); justify-content: space-between; max-width: 260px; min-height: 44px; text-decoration: none; }
.standards { background: var(--color-surface-accent); display: grid; grid-template-columns: 28% 72%; }
.section-intro--compact { align-content: center; grid-template-columns: minmax(0, 1fr); justify-items: start; padding-block: var(--section-space-md); }
.section-intro--compact h2 { margin: var(--space-9) 0 var(--space-5); }
.standard-grid { display: grid; grid-template-columns: repeat(3, 1fr); }
.standard-grid article { min-height: 340px; padding: var(--space-8); }
.standard-grid article + article { border-left: var(--border-subtle); }
.standard-grid span { font-family: var(--font-serif-latin); font-size: var(--type-h2); font-weight: 400; letter-spacing: .08em; line-height: 1.2; }
.standard-grid h3 { font-family: var(--font-heading); font-size: var(--type-h3); font-weight: 400; letter-spacing: .06em; margin: var(--space-6) 0 var(--space-5); }
.standard-grid p { font-size: var(--type-body); letter-spacing: var(--tracking-body); line-height: var(--leading-body); margin: 0 0 var(--space-7); }
.standard-grid small { border-top: var(--border-subtle); display: block; font-size: var(--type-micro); letter-spacing: .12em; padding-top: 12px; }
.subscription { background: var(--color-bg-secondary); display: grid; grid-template-columns: 45% 55%; min-height: 560px; }
.subscription-copy { align-content: center; display: grid; padding: var(--section-space-lg) clamp(40px, 7vw, 112px); }
.subscription-copy h2 { font-family: var(--font-heading); font-size: var(--type-h1); font-weight: 400; letter-spacing: var(--tracking-heading); line-height: var(--leading-heading); margin: var(--space-5) 0 var(--space-7); }
.subscription-copy > p:not(.eyebrow):not(.section-index) { font-size: var(--type-body); letter-spacing: var(--tracking-body); line-height: var(--leading-body); margin: 0 0 var(--space-8); max-width: 34em; }
.primary-button { align-items: center; background: var(--koh-charcoal); border: var(--border-strong); color: var(--koh-off-white); cursor: pointer; display: inline-flex; font-size: var(--type-button); justify-content: space-between; letter-spacing: .12em; min-height: 52px; padding: 0 20px; text-transform: uppercase; width: min(100%, 300px); }
.primary-button:hover { background: var(--koh-charcoal-dark); }
.primary-button:disabled { cursor: not-allowed; opacity: .45; }
.subscription-copy small { color: var(--color-text-muted); font-size: var(--type-micro); line-height: 1.7; margin-top: 12px; }
.subscription-visual { border-left: var(--border-subtle); overflow: hidden; }
.subscription-visual img { height: 100%; object-fit: cover; width: 100%; }
.faq { display: grid; grid-template-columns: 32% 68%; }
.faq-heading { border-right: var(--border-subtle); padding: var(--section-space-lg) var(--page-gutter); }
.faq-heading h2 { font-family: var(--font-heading); font-size: var(--type-h1); font-weight: 400; letter-spacing: var(--tracking-heading); margin: var(--space-10) 0 var(--space-5); }
.faq-heading > p:last-child { font-size: var(--type-body); line-height: var(--leading-body); }
.faq-list { padding: var(--section-space-md) var(--page-gutter); }
.faq-list details { border-top: var(--border-subtle); }
.faq-list details:last-child { border-bottom: var(--border-subtle); }
.faq-list summary { align-items: center; cursor: pointer; display: grid; font-family: var(--font-heading); font-size: var(--type-h3); grid-template-columns: 1fr auto; letter-spacing: .05em; list-style: none; min-height: 88px; padding: 16px 0; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after { content: "＋"; font-family: var(--font-serif-latin); font-size: 20px; }
.faq-list details[open] summary::after { content: "−"; }
.faq-list details p { font-size: var(--type-body); line-height: var(--leading-body); margin: 0; max-width: 52em; padding: 0 32px 32px 0; }
.news { display: grid; grid-template-columns: 28% 72%; }
.news > header { border-right: var(--border-subtle); padding: var(--section-space-md) var(--page-gutter); }
.news h2 { font-family: var(--font-heading); font-size: var(--type-h1); font-weight: 400; letter-spacing: var(--tracking-heading); margin: var(--space-10) 0 0; }
.news-list { padding: var(--section-space-md) var(--page-gutter); }
.news-list a { align-items: center; border-top: var(--border-subtle); display: grid; font-size: var(--type-small); grid-template-columns: 120px 148px 1fr 24px; min-height: 78px; text-decoration: none; }
.news-list a:last-child { border-bottom: var(--border-subtle); }
.news-list time { color: var(--color-text-secondary); font-family: var(--font-serif-latin); font-size: var(--type-micro); letter-spacing: .1em; text-transform: uppercase; }
.news-tag { align-items: center; border: var(--border-default); color: var(--color-text-primary); display: inline-flex; font-family: var(--font-serif-latin); font-size: var(--type-micro); height: 28px; justify-content: center; justify-self: start; letter-spacing: .12em; min-width: 112px; padding: 0 12px; text-transform: uppercase; }
.news-list strong { font-weight: 400; letter-spacing: .04em; }
.news-list i { font-style: normal; transition: transform var(--duration-button) var(--ease-standard); }
.news-list a:hover i { transform: translateX(5px); }
.journal { padding-top: var(--section-space-md); }
.journal-grid { border-top: var(--border-subtle); display: grid; grid-template-columns: repeat(3, 1fr); }
.journal-grid article + article { border-left: var(--border-subtle); }
.journal-grid a { display: block; padding: var(--space-7); text-decoration: none; }
.journal-field { align-items: center; aspect-ratio: 16 / 9; background: var(--color-bg-secondary); display: flex; justify-content: center; margin: 0 0 var(--space-5); overflow: hidden; position: relative; width: 100%; }
.journal-field::before, .journal-field::after { background: var(--color-border-subtle); content: ""; left: 50%; position: absolute; top: 50%; transform: translate(-50%, -50%); }
.journal-field::before { height: 1px; width: 72%; }
.journal-field::after { height: 72%; width: 1px; }
.journal-field span { background: var(--color-bg-secondary); font-family: var(--font-serif-latin); font-size: var(--type-label); letter-spacing: .18em; padding: 12px; position: relative; z-index: 1; }
.journal-field img { height: 100%; object-fit: cover; width: 100%; }
.journal-grid time { color: var(--color-text-muted); font-size: var(--type-micro); letter-spacing: .1em; }
.journal-grid h3 { font-family: var(--font-heading); font-size: var(--type-h3); font-weight: 400; letter-spacing: .05em; line-height: var(--leading-heading); margin: 14px 0 10px; }
.journal-grid p { font-size: var(--type-small); line-height: var(--leading-small); margin: 0; }
.line-cta { background: var(--koh-charcoal); color: var(--koh-off-white); display: grid; grid-template-columns: 50% 50%; min-height: 430px; }
.line-cta > div { align-content: center; display: grid; padding: var(--section-space-lg) clamp(40px, 8vw, 128px); }
.line-cta > div + div { border-left: 1px solid rgba(247,245,241,.24); }
.line-cta h2 { color: inherit; font-family: var(--font-heading); font-size: var(--type-h1); font-weight: 400; letter-spacing: var(--tracking-heading); line-height: var(--leading-heading); margin: var(--space-7) 0 0; }
.line-cta > div:nth-child(2) p { font-size: var(--type-body); letter-spacing: var(--tracking-body); line-height: var(--leading-body); margin: 0 0 var(--space-8); }
.line-cta button { align-items: center; background: var(--koh-sage-gray); border: var(--border-width) solid var(--koh-sage-gray); color: var(--koh-charcoal); cursor: pointer; display: flex; font-size: var(--type-button); justify-content: space-between; letter-spacing: .12em; min-height: 52px; padding: 0 20px; width: min(100%, 300px); }
.line-cta button:hover { background: var(--koh-sage-deep); border-color: var(--koh-sage-deep); color: var(--koh-off-white); }
.line-cta small { font-size: var(--type-micro); line-height: 1.7; margin-top: 12px; opacity: .72; }
.site-footer { display: grid; grid-template-columns: 2fr 1fr 1.2fr 1fr; min-height: 330px; }
.site-footer > * { padding: var(--space-9) var(--page-gutter); }
.site-footer > * + * { border-left: var(--border-subtle); }
.footer-brand .wordmark { padding: 0; }
.footer-brand p { font-family: var(--font-heading); font-size: var(--type-small); letter-spacing: .06em; margin: var(--space-7) 0 0; }
.site-footer nav { display: flex; flex-direction: column; gap: 14px; }
.site-footer nav a { font-size: var(--type-small); text-decoration: none; }
.footer-meta p { font-family: var(--font-serif-latin); font-size: var(--type-small); letter-spacing: .08em; margin: 0 0 12px; text-transform: uppercase; }
.footer-meta small { display: block; font-size: var(--type-micro); margin-top: var(--space-12); }
.cart-drawer { background: var(--color-bg-elevated); bottom: 0; box-shadow: var(--shadow-overlay); display: grid; grid-template-rows: auto 1fr auto; max-width: 440px; position: fixed; right: 0; top: 0; transform: translateX(105%); transition: transform var(--duration-normal) var(--ease-enter); width: 100%; z-index: 60; }
.cart-drawer.is-open { transform: translateX(0); }
.cart-head { align-items: center; border-bottom: var(--border-subtle); display: flex; height: 76px; justify-content: space-between; padding: 0 24px; }
.cart-head h2 { font-family: var(--font-serif-latin); font-size: var(--type-h2); font-weight: 400; letter-spacing: .08em; margin: 0; }
.cart-close { background: transparent; border: 0; cursor: pointer; font-size: 24px; height: 44px; width: 44px; }
.cart-items { overflow: auto; padding: 24px; }
.cart-empty { font-size: var(--type-body); }
.cart-row { border-bottom: var(--border-subtle); display: grid; grid-template-columns: 1fr auto; padding: 18px 0; }
.cart-row strong { font-family: var(--font-serif-latin); font-size: var(--type-small); font-weight: 400; letter-spacing: .08em; text-transform: uppercase; }
.cart-row span { font-size: var(--type-small); }
.cart-foot { border-top: var(--border-subtle); padding: 24px; }
.cart-foot p { color: var(--color-text-muted); font-size: var(--type-micro); line-height: 1.6; }
.cart-foot .primary-button { width: 100%; }
.drawer-backdrop { background: rgba(39,37,34,.28); inset: 0; position: fixed; z-index: 50; }
.toast { background: var(--koh-charcoal); bottom: 24px; color: var(--koh-off-white); font-size: var(--type-small); left: 50%; margin: 0; max-width: calc(100% - 40px); opacity: 0; padding: 14px 20px; pointer-events: none; position: fixed; transform: translate(-50%, 12px); transition: opacity var(--duration-fast), transform var(--duration-fast); z-index: 80; }
.toast.is-visible { opacity: 1; transform: translate(-50%, 0); }

@media (max-width: 1100px) {
  .site-header { grid-template-columns: 1fr auto; }
  .desktop-nav { display: none; }
  .desktop-only { display: none; }
  .menu-trigger { border-left: var(--border-subtle); display: block; }
  .nav-more-wrap, .more-panel { display: none !important; }
  .menu-group--utility { display: block; }
  .menu-group--pages { display: block; }
  .hero { grid-template-columns: 5% 39% 48% 8%; }
  .hero.is-single { grid-template-columns: 5% 39% 56%; }
  .featured { grid-template-columns: 100%; }
  .section-intro { border-bottom: var(--border-subtle); border-right: 0; grid-template-columns: 1fr 1fr; gap: 32px; }
  .section-intro h2 { margin-block: 32px 0; }
  .section-intro--compact { border-bottom: 0; border-right: var(--border-subtle); grid-template-columns: minmax(0, 1fr); }
  .section-intro--compact h2 { margin: var(--space-9) 0 var(--space-5); }
  .quick-product { min-height: 560px; }
  .quick-media { min-height: 250px; }
  .brand { grid-template-columns: 16% 60% 24%; }
  .brand.is-no-media { grid-template-columns: 16% 84%; }
}

@media (max-width: 767px) {
  .announcement { height: var(--size-announcement-mobile); justify-content: flex-start; padding: 0; }
  .announcement-track { animation: announcement-marquee 22s linear infinite; width: max-content; }
  .announcement-track p { padding-right: 4rem; }
  .announcement-track p[aria-hidden="true"] { display: block; }
  .site-header { grid-template-columns: 1fr auto; height: var(--size-header-mobile); top: 0; }
  .wordmark { font-size: 25px; padding: 0 20px; }
  .desktop-nav, .desktop-only { display: none; }
  .header-actions { grid-column: 2; }
  .cart-trigger, .menu-trigger { display: block; min-width: 66px; padding: 0 10px; }
  .menu-trigger { border-left: var(--border-subtle); }
  .nav-more-wrap, .more-panel { display: none !important; }
  .mobile-menu { top: var(--mobile-menu-top, var(--size-header-mobile)); }
  .menu-group--pages { display: block; }
  .menu-group--utility { display: block; }
  .hero { grid-template-columns: 1fr; grid-template-rows: minmax(0, 1fr) auto 336px; height: 100svh; min-height: 0; overflow: hidden; }
  .hero.is-single { grid-template-columns: 1fr; }
  .hero-rail { display: none; }
  .hero-copy { align-content: start; height: 336px; order: 3; padding: 24px 20px 28px; }
  .hero-copy h1 { font-size: 28px; margin: 12px 0; }
  .hero-lead { margin-bottom: 16px; }
  .hero-visual { aspect-ratio: auto; border-left: 0; border-top: var(--border-subtle); height: auto; min-height: 0; order: 1; }
  .hero-nav { border-left: 0; border-top: var(--border-subtle); grid-template-columns: 1fr; grid-template-rows: auto; order: 2; }
  .slide-index { display: none; }
  .arrow-nav { border-top: 0; }
  .arrow-nav button { min-height: 56px; }
  .section-intro { display: block; padding: 56px 20px; }
  .section-intro h2 { margin: 40px 0 20px; }
  .featured-grid { grid-template-columns: 1fr; }
  .quick-product { grid-template-columns: 46% 54%; grid-template-rows: auto 1fr; min-height: 350px; padding: 24px 20px; }
  .quick-product + .quick-product { border-left: 0; border-top: var(--border-subtle); }
  .quick-media { min-height: 230px; padding-right: 12px; }
  .quick-media img { max-height: 230px; }
  .quick-copy { min-width: 0; padding-left: 12px; }
  .add-button { min-height: 44px; }
  .add-button span:first-child { font-size: 11px; letter-spacing: .04em; padding: 0 8px; }
  .brand { grid-template-columns: 1fr; min-height: 0; }
  .section-label-block { border-bottom: var(--border-subtle); border-right: 0; padding: 24px 20px; }
  .vertical-caption { display: none; }
  .brand-statement { padding: 72px 20px; }
  .brand-statement h2 { font-size: var(--type-h1); margin: 24px 0; }
  .brand-statement > p:not(.eyebrow) { font-size: var(--type-body); }
  .brand-media { border-top: var(--border-subtle); height: auto; }
  .brand-media img, .brand-media video { height: auto; object-fit: unset; }
  .technology { padding: 72px 20px; }
  .wide-heading { display: block; margin-bottom: 64px; }
  .wide-heading h2 { margin-bottom: 24px; }
  .equation { grid-template-columns: 1fr; justify-items: center; }
  .operator { height: 40px; padding: 0; transform: rotate(90deg); width: 40px; }
  .legal-note { margin-top: 56px; text-align: left; }
  .technology-foot { justify-items: start; margin-top: 56px; }
  .technology-foot .legal-note { margin: 0; }
  .products { padding-top: 64px; }
  .catalog-heading { align-items: flex-start; display: grid; gap: 32px; padding: 0 20px 48px; }
  .catalog-item { grid-template-columns: 1fr; min-height: 0; }
  .catalog-item--reverse .catalog-media { order: 0; }
  .catalog-item--reverse .catalog-copy { border-right: 0; }
  .catalog-media { aspect-ratio: 1 / 1; }
  .catalog-copy { border-left: 0; border-top: var(--border-subtle); padding: 56px 20px 64px; }
  .catalog-copy .product-kicker { margin-top: 0; }
  .standards { grid-template-columns: 1fr; }
  .section-intro--compact { border-bottom: var(--border-subtle); }
  .standard-grid { grid-template-columns: 1fr; }
  .standard-grid article { min-height: 280px; padding: 40px 20px; }
  .standard-grid article + article { border-left: 0; border-top: var(--border-subtle); }
  .standard-grid h3 { margin-top: 24px; }
  .subscription { grid-template-columns: 1fr; }
  .subscription-copy { padding: 72px 20px; }
  .subscription-visual { aspect-ratio: 1 / 1; border-left: 0; border-top: var(--border-subtle); }
  .faq { grid-template-columns: 1fr; }
  .faq-heading { border-bottom: var(--border-subtle); border-right: 0; padding: 64px 20px 40px; }
  .faq-heading h2 { margin: 40px 0 16px; }
  .faq-list { padding: 48px 20px 64px; }
  .faq-list summary { grid-template-columns: 1fr auto; min-height: 78px; }
  .faq-list details p { padding: 0 12px 28px 0; }
  .news { grid-template-columns: 1fr; }
  .news > header { border-bottom: var(--border-subtle); border-right: 0; padding: 56px 20px 40px; }
  .news h2 { margin-top: 40px; }
  .news-list { padding: 48px 20px 64px; }
  .news-list a { gap: 8px; grid-template-columns: 1fr auto; padding: 18px 0; }
  .news-list strong { grid-column: 1 / -1; grid-row: 2; }
  .news-list i { grid-column: 2; grid-row: 2; }
  .news-tag { justify-self: end; }
  .journal { padding-top: 64px; }
  .journal-grid { grid-template-columns: 1fr; }
  .journal-grid article + article { border-left: 0; border-top: var(--border-subtle); }
  .journal-grid a { padding: 32px 20px 48px; }
  .line-cta { grid-template-columns: 1fr; min-height: 0; }
  .line-cta > div { padding: 64px 20px; }
  .line-cta > div + div { border-left: 0; border-top: 1px solid rgba(247,245,241,.24); }
  .site-footer { grid-template-columns: 1fr; }
  .site-footer > * { padding: 40px 20px; }
  .site-footer > * + * { border-left: 0; border-top: var(--border-subtle); }
  .footer-meta small { margin-top: 48px; }
}

@media (max-width: 360px) {
  .hero-copy { padding: 20px 20px 22px; }
  .hero-copy h1 { font-size: 24px; }
  .hero-lead { font-size: 13px; }
}

@keyframes announcement-marquee {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation: none !important; }
  .announcement { justify-content: flex-start; padding: 0 20px; }
  .announcement-track { width: 100%; }
  .announcement-track p { overflow: hidden; text-overflow: ellipsis; }
  .announcement-track p[aria-hidden="true"] { display: none; }
}
