html,
body {
  margin: 0;
  padding: 0;
  width: 100%;
}

:where(a, button, input, select, textarea):focus-visible {
  border-radius: 4px;
  box-shadow: 0 0 0 5px rgba(20, 31, 22, 0.9);
  outline: 3px solid #ffffff;
  outline-offset: 2px;
}

.referencePage {
  --kc-color-ink: #1f251d;
  --kc-color-muted: #687062;
  --kc-color-paper: #fbfaf4;
  --kc-color-page: #d8d8d3;
  --kc-color-surface: #ffffff;
  --kc-color-field: #2e5536;
  --kc-color-leaf: #7c9a58;
  --kc-color-sun: #d8b24f;
  --kc-color-line: rgba(32, 32, 31, 0.13);
  --kc-shadow-soft: 0 24px 60px rgba(32, 32, 31, 0.13);
  --kc-motion-fast: 160ms;
  --kc-motion-base: 240ms;
  --kc-motion-slow: 420ms;
  --kc-motion-reveal-opacity: 800ms;
  --kc-motion-reveal-transform: 800ms;
  --kc-motion-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --kc-motion-reveal-ease: linear;
  --kc-motion-lift: -4px;
  --kc-motion-reveal-y: 40px;
  --kc-frame-max: none;
  --kc-page-max: 100%;
  --kc-content-max: 1320px;
  --kc-content-narrow: 760px;
  --kc-content-pad: clamp(20px, 4vw, 72px);
  --kc-container-pad-x: max(var(--kc-content-pad), calc((100% - var(--kc-content-max)) / 2));
  --kc-grid-gap: clamp(40px, 4.2vw, 64px);
  --kc-section-pad-x: max(24px, calc((100% - var(--kc-content-max)) / 2));
  --kc-radius: 8px;
  --kc-radius-lg: 16px;
  --kc-header-height: 80px;
  --kc-subpage-hero-height: 620px;
  --kc-space-section: clamp(72px, 8vw, 112px);
  --kc-space-compact: clamp(48px, 6vw, 76px);
  --kc-home-hero-height: clamp(620px, 39.583vw, 760px);
  --kc-title-hero-home: 2.875rem;
  --kc-title-hero-sub: 3.25rem;
  --kc-title-hero-detail: 3.25rem;
  --kc-title-home-section: 2.875rem;
  --kc-title-lead: 3.5rem;
  --kc-title-section: 2.875rem;
  --kc-title-block: 2rem;
  --kc-title-card: 1.25rem;
  --kc-title-label: 0.78rem;
  --kc-title-wordmark: 5rem;
  --kc-weight-max: 700;
  --kc-weight-title: 700;
  --kc-weight-section: 700;
  --kc-weight-editorial: 500;
  --kc-weight-body-strong: 600;
  --kc-weight-body: 400;
  --kc-font-hero-home: var(--kc-title-hero-home);
  --kc-font-hero-section: var(--kc-title-hero-sub);
  --kc-font-hero-detail: var(--kc-title-hero-detail);
  --kc-font-section: var(--kc-title-section);
  background: var(--kc-color-paper);
  color: var(--kc-color-ink);
  font-family: Pretendard, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  min-width: 320px;
  padding: 0;
  width: 100%;
}

/* Entry Template Contract body: shared by the public detail renderer and Admin preview. */
.entryDocument {
  display: grid;
  gap: 22px;
  margin-top: 34px;
}

.entryDocument :is(p, h2, h3, blockquote, ul, ol, figure) {
  margin: 0;
}

.entryDocument p,
.entryDocument li {
  color: var(--kc-color-muted);
  font-size: 1rem;
  line-height: 1.85;
  white-space: pre-wrap;
}

.entryDocument h2,
.entryDocument h3 {
  color: var(--kc-color-ink);
  line-height: 1.3;
}

.entryDocument h2 { font-size: clamp(1.5rem, 3vw, 2.15rem); }
.entryDocument h3 { font-size: clamp(1.2rem, 2.3vw, 1.6rem); }

.entryDocument blockquote {
  border-left: 3px solid var(--kc-color-leaf);
  color: var(--kc-color-muted);
  padding: 8px 0 8px 22px;
}

.entryDocument hr {
  border: 0;
  border-top: 1px solid var(--kc-color-line);
  margin: 12px 0;
}

.entryDocumentImage,
.entryDocumentVideo,
.entryDocumentCarousel {
  display: grid;
  gap: 10px;
}

.entryDocumentImage img,
.entryDocumentVideo :is(video, iframe),
.entryDocumentCarousel img {
  background: #edf0e9;
  border-radius: var(--kc-radius);
  display: block;
  height: auto;
  max-height: 780px;
  object-fit: cover;
  width: 100%;
}

.entryDocumentVideo :is(video, iframe) {
  aspect-ratio: 16 / 9;
  border: 0;
}

.entryDocumentCarousel > div {
  display: grid;
  gap: 14px;
  grid-auto-columns: minmax(76%, 1fr);
  grid-auto-flow: column;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scroll-snap-type: inline mandatory;
}

.entryDocumentCarousel > div > img {
  aspect-ratio: 4 / 3;
  scroll-snap-align: start;
}

.entryDocument figcaption {
  color: var(--kc-color-muted);
  font-size: 0.82rem;
  line-height: 1.5;
}

/* 2026-07 customer change set */
.companyOverviewBand {
  display: grid;
  gap: clamp(32px, 5vw, 64px);
  margin-bottom: clamp(72px, 9vw, 120px);
}

.companyOverviewBand > header {
  display: grid;
  gap: 18px;
  max-width: 820px;
}

.companyOverviewBand > header h2,
.companyOverviewBand > header p {
  margin: 0;
}

.companyOverviewBand > header h2 {
  font-size: var(--kc-title-section);
}

.companyOverviewBand > header p {
  color: var(--kc-color-muted);
  font-size: 1rem;
  line-height: 1.8;
}

.companyOverviewGrid {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  list-style: none;
  margin: 0;
  padding: 0;
}

.companyOverviewGrid li {
  background: #f4f3ec;
  border: 1px solid var(--kc-color-line);
  border-radius: var(--kc-radius-lg);
  display: grid;
  gap: 16px;
  min-height: 250px;
  padding: clamp(24px, 3vw, 40px);
}

.companyOverviewGrid li:last-child {
  grid-column: 1 / -1;
}

.companyOverviewGrid span {
  color: #9a7a42;
  font-size: 0.9rem;
  font-weight: 700;
}

.companyOverviewGrid strong {
  font-size: clamp(1.35rem, 2vw, 1.8rem);
  line-height: 1.3;
}

.companyOverviewGrid p {
  color: var(--kc-color-muted);
  font-size: 1rem;
  line-height: 1.78;
  margin: 0;
  word-break: keep-all;
}

.productFilterTabs {
  display: grid;
  gap: 1px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0 0 clamp(36px, 5vw, 64px);
}

.productFilterTabs a {
  align-items: center;
  background: #f0efe8;
  display: flex;
  font-size: 0.94rem;
  font-weight: 700;
  justify-content: center;
  min-height: 58px;
  padding: 12px;
  text-align: center;
}

.productFilterTabs a:hover,
.productFilterTabs a:focus-visible,
.productFilterTabs a.activeTab {
  background: var(--kc-color-field);
  color: #ffffff;
}

.productCatalogSections {
  display: grid;
  gap: clamp(64px, 8vw, 112px);
}

.productGroupSection,
.productSubcategorySection {
  display: grid;
}

.productGroupSection {
  gap: clamp(40px, 5vw, 64px);
}

.productGroupSection > h3,
.productSubcategorySection > h4 {
  margin: 0;
}

.productGroupSection > h3 {
  border-bottom: 1px solid var(--kc-color-line);
  color: var(--kc-color-field);
  font-size: clamp(1.25rem, 2vw, 1.7rem);
  letter-spacing: 0.04em;
  padding-bottom: 14px;
}

.productSubcategorySection {
  gap: 24px;
}

.productSubcategorySection > h4 {
  color: #9a7a42;
  font-size: 0.9rem;
  font-weight: 700;
  letter-spacing: 0.1em;
}

.productCategoryOverview {
  display: grid;
  gap: clamp(28px, 4vw, 52px);
  margin: clamp(72px, 9vw, 120px) auto 0;
  width: min(var(--kc-content-max), calc(100% - 48px));
}

.productCategoryHeader {
  display: grid;
  gap: 12px;
  max-width: 680px;
}

.productCategoryHeader h2,
.productCategoryHeader p {
  margin: 0;
}

.productCategoryHeader h2 {
  font-size: clamp(2.1rem, 4vw, 3.55rem);
  line-height: 1.08;
  word-break: keep-all;
}

.productCategoryHeader > p:last-child {
  color: var(--kc-color-muted);
  font-size: 1rem;
  line-height: 1.75;
  word-break: keep-all;
}

.productCategoryGrid {
  display: grid;
  gap: 20px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.productCategoryCard {
  background: #f4f3ec;
  border-radius: var(--kc-radius-lg);
  display: grid;
  grid-template-columns: minmax(0, 54%) minmax(0, 46%);
  height: 240px;
  min-height: 240px;
  overflow: hidden;
  position: relative;
  text-decoration: none;
}

.productCategoryCard img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.productCategoryCard > div {
  align-content: center;
  background: #f4f3ec;
  display: grid;
  gap: 8px;
  min-height: 0;
  padding: 20px 24px;
}

.productCategoryCard span {
  color: #9a7a42;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.productCategoryCard h3,
.productCategoryCard p,
.productCategoryCard em {
  margin: 0;
}

.productCategoryCard h3 {
  font-size: clamp(1.45rem, 2vw, 2rem);
  line-height: 1.2;
}

.productCategoryCard p {
  color: var(--kc-color-muted);
  font-size: 0.92rem;
  line-height: 1.55;
  word-break: keep-all;
}

.productCategoryCard em {
  color: var(--kc-color-ink);
  font-size: 0.9rem;
  font-style: normal;
  font-weight: 700;
  margin-top: 4px;
}

.productCategoryCard em span {
  color: inherit;
  font-size: inherit;
  letter-spacing: 0;
}

.productCategoryCard:hover img,
.productCategoryCard:focus-visible img {
  transform: scale(1.035);
}

.productCategoryCard img {
  transition: transform var(--kc-motion-base) var(--kc-motion-ease);
}

.heroCustomerActions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 24px;
}

.homeHeroActions + .heroCustomerActions {
  margin-top: 10px;
}

.heroCustomerActions a,
.heroCustomerActions button {
  align-items: center;
  appearance: none;
  background: #ffffff;
  border: 1px solid rgba(255, 255, 255, 0.76);
  border-radius: 999px;
  color: var(--kc-color-ink);
  cursor: pointer;
  display: inline-flex;
  font: inherit;
  font-size: 0.82rem;
  font-weight: 700;
  justify-content: center;
  min-height: 42px;
  padding: 0 18px;
  text-align: center;
  transition: background var(--kc-motion-fast) var(--kc-motion-ease), color var(--kc-motion-fast) var(--kc-motion-ease), transform var(--kc-motion-fast) var(--kc-motion-ease), box-shadow var(--kc-motion-fast) var(--kc-motion-ease);
}

.heroCustomerActions button {
  background: rgba(255, 255, 255, 0.14);
  color: #ffffff;
}

.heroCustomerActions a:hover,
.heroCustomerActions a:focus-visible,
.heroCustomerActions button:hover,
.heroCustomerActions button:focus-visible {
  box-shadow: 0 12px 28px rgba(20, 24, 19, 0.22);
  transform: translateY(var(--kc-motion-lift));
}

.brochureModal {
  align-items: center;
  background: rgba(14, 22, 16, 0.78);
  display: flex;
  inset: 0;
  justify-content: center;
  opacity: 0;
  padding: 24px;
  pointer-events: none;
  position: fixed;
  transition: opacity var(--kc-motion-base) var(--kc-motion-ease), visibility var(--kc-motion-base) var(--kc-motion-ease);
  visibility: hidden;
  z-index: 180;
}

.brochureModal.isOpen {
  opacity: 1;
  pointer-events: auto;
  visibility: visible;
}

.brochureModal > section {
  background: #fbfaf6;
  border-radius: var(--kc-radius-lg);
  box-shadow: 0 28px 80px rgba(5, 14, 8, 0.32);
  color: var(--kc-color-ink);
  max-width: 620px;
  padding: clamp(32px, 5vw, 52px);
  position: relative;
  width: 100%;
}

.brochureModal h2 {
  font-size: clamp(1.75rem, 4vw, 2.5rem);
  line-height: 1.16;
  margin: 0;
  word-break: keep-all;
}

.brochureModal > section > p:not(.eyebrow) {
  color: var(--kc-color-muted);
  line-height: 1.7;
  margin: 16px 0 0;
}

.brochureModalClose {
  align-items: center;
  appearance: none;
  background: #edf0e9;
  border: 0;
  border-radius: 50%;
  color: var(--kc-color-ink);
  cursor: pointer;
  display: flex;
  font-size: 1.5rem;
  height: 42px;
  justify-content: center;
  position: absolute;
  right: 20px;
  top: 20px;
  width: 42px;
}

.brochureModalChoices {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 30px;
}

.brochureModalChoices :is(a, button) {
  align-content: center;
  appearance: none;
  background: #edf0e9;
  border: 1px solid rgba(31, 37, 29, 0.12);
  border-radius: var(--kc-radius);
  color: var(--kc-color-ink);
  display: grid;
  font: inherit;
  gap: 8px;
  min-height: 110px;
  padding: 20px;
  text-align: left;
  text-decoration: none;
}

.brochureModalChoices a {
  cursor: pointer;
}

.brochureModalChoices button:disabled {
  cursor: not-allowed;
  opacity: 0.68;
}

.brochureModalChoices span {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.4;
}

.brochureModalChoices small {
  color: var(--kc-color-muted);
  font-size: 0.78rem;
  font-weight: 600;
}

.homeWorkCard p,
.homeBlogCard p,
.homeWhyGrid p,
.organizationFlow p,
.partnerShowcaseCards p,
.partnerTrustList,
.postBoardCopy p {
  font-size: max(1rem, 16px);
  line-height: 1.7;
}

@media (max-width: 980px) {
  .desktopLineBreak {
    display: none;
  }

  .mobileInlineSpace {
    display: inline;
  }

  .companyOverviewGrid {
    grid-template-columns: 1fr;
  }

  .companyOverviewGrid li:last-child {
    grid-column: auto;
  }
}

@media (max-width: 640px) {
  .companyOverviewBand {
    margin-bottom: 72px;
  }

  .companyOverviewGrid li {
    min-height: 0;
    padding: 24px 20px;
  }

  .productFilterTabs {
    grid-template-columns: 1fr;
  }

  .productCategoryOverview {
    margin-top: 72px;
    width: min(calc(100% - 36px), 1200px);
  }

  .productCategoryGrid {
    grid-template-columns: 1fr;
  }

  .productCategoryCard {
    grid-template-columns: 1fr;
    grid-template-rows: minmax(230px, 64vw) auto;
    height: auto;
    min-height: 0;
  }

  .productCategoryCard img {
    aspect-ratio: 16 / 10;
    height: auto;
  }

  .heroCustomerActions {
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: min(100%, 360px);
  }

  .heroCustomerActions a,
  .heroCustomerActions button {
    border-radius: 12px;
    font-size: 0.76rem;
    min-height: 48px;
    padding: 8px 10px;
  }

  .brochureModal {
    padding: 14px;
  }

  .brochureModal > section {
    padding: 34px 22px 24px;
  }

  .brochureModalChoices {
    grid-template-columns: 1fr;
  }

  .brochureModalChoices :is(a, button) {
    min-height: 86px;
  }
}

.referencePage main,
.siteFooter {
  background: var(--kc-color-paper);
  margin: 0;
  max-width: none;
  overflow: hidden;
  width: 100%;
}

.referencePage *,
.referencePage *::before,
.referencePage *::after {
  box-sizing: border-box;
}

.referencePage a {
  color: inherit;
  text-decoration: none;
}

.mobileInlineSpace {
  display: none;
}

.referencePage .heroCustomerActions a {
  color: var(--kc-color-ink);
}

.referencePage img {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.referencePage img[src*="kc-intro-02"] {
  object-position: center center;
  transform: scale(1.48);
}

.referencePage button,
.referencePage input,
.referencePage select,
.referencePage textarea {
  font: inherit;
}

.referencePage .revealItem {
  opacity: 0;
  transform: translateY(var(--kc-motion-reveal-y));
  transition:
    opacity var(--kc-motion-reveal-opacity) var(--kc-motion-reveal-ease),
    transform var(--kc-motion-reveal-transform) var(--kc-motion-reveal-ease);
  will-change: opacity, transform;
}

.referencePage .isRevealVisible {
  opacity: 1;
  transform: translateY(0);
  will-change: auto;
}

.referencePage h1,
.referencePage h2,
.referencePage h3 {
  font-weight: var(--kc-weight-title);
  letter-spacing: 0;
  word-break: keep-all;
}

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

.skipLink:focus {
  background: var(--kc-color-ink);
  border-radius: var(--kc-radius);
  clip: auto;
  color: #ffffff;
  height: auto;
  margin: 12px;
  padding: 10px 14px;
  width: auto;
  z-index: 1000;
}

.siteHeader {
  backdrop-filter: blur(14px);
  background: rgba(24, 66, 42, 0.12);
  color: #ffffff;
  height: var(--kc-header-height);
  margin: 0 auto calc(var(--kc-header-height) * -1);
  max-width: none;
  position: sticky;
  top: 0;
  transform: none;
  transition: background var(--kc-motion-base) var(--kc-motion-ease), box-shadow var(--kc-motion-base) var(--kc-motion-ease);
  width: 100%;
  z-index: 50;
}

.isScrolled {
  background: rgba(34, 83, 49, 0.94);
  box-shadow: none;
}

.headerInner {
  align-items: center;
  display: flex;
  gap: 24px;
  height: 100%;
  justify-content: space-between;
  margin: 0 auto;
  width: min(var(--kc-content-max), calc(100% - (var(--kc-content-pad) * 2)));
}

.brandMark {
  align-items: center;
  display: inline-flex;
  gap: 12px;
  min-width: max-content;
}

.brandMark .brandLogo {
  display: block;
  filter: brightness(0) invert(1) drop-shadow(0 8px 18px rgba(0, 0, 0, 0.2));
  height: clamp(32px, 3.4vw, 42px);
  object-fit: contain;
  width: auto;
}

.desktopNav {
  align-items: center;
  display: flex;
  flex: 0 0 auto;
  gap: 32px;
  justify-content: center;
  margin-left: auto;
  margin-right: 28px;
}

.navItem {
  position: relative;
}

.navItem > a {
  align-items: center;
  display: inline-flex;
  font-size: 0.82rem;
  font-weight: 500;
  height: 44px;
  letter-spacing: 0;
  padding: 0;
  transition: color var(--kc-motion-fast) var(--kc-motion-ease), opacity var(--kc-motion-fast) var(--kc-motion-ease);
}

.navItem > a:hover,
.navItem > a:focus-visible {
  color: var(--kc-color-sun);
}

.navDropdown {
  background: var(--kc-color-surface);
  border-radius: var(--kc-radius);
  box-shadow: var(--kc-shadow-soft);
  color: var(--kc-color-ink);
  left: 50%;
  min-width: 240px;
  opacity: 0;
  padding: 12px;
  pointer-events: none;
  position: absolute;
  top: calc(100% + 10px);
  transform: translate(-50%, 8px);
  transition: opacity var(--kc-motion-fast) var(--kc-motion-ease), transform var(--kc-motion-fast) var(--kc-motion-ease);
}

.navItem:hover .navDropdown,
.navItem:focus-within .navDropdown {
  opacity: 1;
  pointer-events: auto;
  transform: translate(-50%, 0);
}

.navDropdown a {
  border-radius: 999px;
  color: var(--kc-color-muted);
  display: block;
  font-size: 0.9rem;
  font-weight: 700;
  padding: 12px 14px;
  transition: background var(--kc-motion-fast) var(--kc-motion-ease), color var(--kc-motion-fast) var(--kc-motion-ease);
}

.navDropdown a:hover,
.navDropdown a:focus-visible {
  background: #f2f0e9;
  color: var(--kc-color-ink);
}

.headerActions {
  align-items: center;
  display: inline-flex;
  gap: 12px;
}

.iconButton,
.iconTextButton,
.menuButton,
.closeButton {
  background: transparent;
  border: 0;
  color: inherit;
  cursor: pointer;
}

.iconButton,
.iconTextButton {
  align-items: center;
  border-radius: 999px;
  display: inline-flex;
  font-weight: 500;
  gap: 4px;
  height: 34px;
  justify-content: center;
  min-width: 28px;
  transition: background var(--kc-motion-fast) var(--kc-motion-ease), color var(--kc-motion-fast) var(--kc-motion-ease), transform var(--kc-motion-fast) var(--kc-motion-ease);
}

.iconButton:hover,
.iconButton:focus-visible,
.iconTextButton:hover,
.iconTextButton:focus-visible,
.menuButton:hover,
.menuButton:focus-visible,
.closeButton:hover,
.closeButton:focus-visible {
  background: rgba(255, 255, 255, 0.13);
}

.iconButton span {
  font-size: 1.3rem;
  transform: translateY(-1px);
}

.languageSwitcher {
  position: relative;
}

.langCaret {
  color: #c7a16c;
}

.languageMenu {
  background: var(--kc-color-surface);
  border-radius: var(--kc-radius);
  box-shadow: var(--kc-shadow-soft);
  color: var(--kc-color-ink);
  min-width: 140px;
  opacity: 0;
  padding: 8px;
  pointer-events: none;
  position: absolute;
  right: 0;
  top: calc(100% + 8px);
  transform: translateY(8px);
  transition: opacity var(--kc-motion-fast) var(--kc-motion-ease), transform var(--kc-motion-fast) var(--kc-motion-ease);
}

.isOpen .languageMenu {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.languageMenu a,
.languageMenu button {
  background: transparent;
  border: 0;
  border-radius: 999px;
  color: inherit;
  cursor: pointer;
  display: block;
  padding: 10px 12px;
  text-align: left;
  text-decoration: none;
  transition: background var(--kc-motion-fast) var(--kc-motion-ease), color var(--kc-motion-fast) var(--kc-motion-ease);
  width: 100%;
}

.languageMenu a:hover,
.languageMenu a:focus-visible {
  background: #f2f0e9;
}

.languageMenu button:disabled {
  cursor: default;
  opacity: 0.55;
}

.menuButton {
  border-radius: 999px;
  display: none;
  height: 32px;
  width: 32px;
}

.menuButton span {
  background: currentColor;
  display: block;
  height: 2px;
  margin: 6px 0;
  width: 100%;
}

.referenceHomeHero {
  background: #e9e7e0;
  border-radius: 0;
  height: var(--kc-home-hero-height);
  min-height: 620px;
  overflow: hidden;
  position: relative;
}

.kcHomeHero {
  min-height: 620px;
}

.referenceHomeHero > img {
  object-position: center 52%;
}

.referenceHomeHero::after {
  background:
    linear-gradient(90deg, rgba(12, 18, 13, 0.7), rgba(12, 18, 13, 0.3) 50%, rgba(12, 18, 13, 0.08)),
    linear-gradient(0deg, rgba(12, 18, 13, 0.22), rgba(12, 18, 13, 0.22));
  content: "";
  inset: 0;
  position: absolute;
}

.homeHeroCopy {
  bottom: auto;
  color: #ffffff;
  left: max(var(--kc-content-pad), calc((100% - var(--kc-content-max)) / 2));
  max-width: min(860px, calc(100% - (var(--kc-content-pad) * 2)));
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1;
}

.homeHeroCopy p {
  color: var(--kc-color-sun);
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0;
  margin: 0 0 18px;
}

.homeHeroCopy h1 {
  color: #ffffff;
  font-size: var(--kc-font-hero-home);
  font-weight: var(--kc-weight-title);
  letter-spacing: 0;
  line-height: 1.02;
  margin: 0;
  word-break: keep-all;
}

.homeHeroCopy h1 span {
  display: block;
}

@media (min-width: 981px) {
  .homeHeroCopy h1 span {
    white-space: nowrap;
  }
}

.homeHeroCopy > span {
  color: rgba(255, 255, 255, 0.86);
  display: block;
  font-size: 1rem;
  line-height: 1.7;
  margin-top: 20px;
  max-width: 500px;
}

.homeHeroActions {
  display: flex;
  gap: 10px;
  margin-top: 26px;
}

.homeHeroActions a,
.ctaBand a {
  align-items: center;
  background: #ffffff;
  border-radius: 999px;
  color: #1f251d;
  display: inline-flex;
  font-size: 0.82rem;
  font-weight: 700;
  min-height: 38px;
  padding: 0 18px;
  transition: background var(--kc-motion-fast) var(--kc-motion-ease), color var(--kc-motion-fast) var(--kc-motion-ease), transform var(--kc-motion-fast) var(--kc-motion-ease), box-shadow var(--kc-motion-fast) var(--kc-motion-ease);
}

.homeHeroActions a + a {
  background: rgba(255, 255, 255, 0.14);
  color: #ffffff;
}

.homeHeroActions a:hover,
.homeHeroActions a:focus-visible,
.ctaBand a:hover,
.ctaBand a:focus-visible {
  box-shadow: 0 12px 28px rgba(20, 24, 19, 0.16);
  transform: translateY(var(--kc-motion-lift));
}

.homeStatement {
  background: #fbfaf6;
  display: grid;
  column-gap: var(--kc-grid-gap);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0 auto;
  min-height: auto;
  padding: clamp(48px, 6vw, 84px) max(24px, calc((100% - var(--kc-content-max)) / 2));
  text-align: left;
}

.homeStatement h1 {
  color: #563f3c;
  font-size: var(--kc-title-lead);
  letter-spacing: 0;
  line-height: 1.08;
  margin: 0 0 10px;
  word-break: keep-all;
}

.homeStatement h1 span {
  white-space: nowrap;
}

.homeStatement > div {
  display: flex;
  flex-direction: column;
}

.homeStatement p {
  color: #563f3c;
  font-size: 1rem;
  line-height: 1.78;
  margin: 0 0 28px;
  max-width: 680px;
  text-wrap: pretty;
  word-break: keep-all;
}

.homeStatementImage {
  border-radius: 18px;
  height: clamp(220px, 22vw, 320px);
  margin: 0;
  overflow: hidden;
}

.homeStatementImage img {
  height: 100%;
}

.referenceTitle {
  align-items: end;
  background: #fbfaf6;
  display: flex;
  min-height: 96px;
  padding: 0 20px 12px;
}

.referenceTitle h2 {
  color: #563f3c;
  font-size: var(--kc-title-hero-sub);
  letter-spacing: 0;
  line-height: 1;
  margin: 0;
}

.homeFeatureSplit {
  align-items: stretch;
  background: #ffffff;
  display: grid;
  column-gap: var(--kc-grid-gap);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  padding: clamp(52px, 5vw, 78px) max(24px, calc((100% - var(--kc-content-max)) / 2));
}

.homeFeatureSplit > div {
  display: flex;
  flex-direction: column;
}

.homeFeatureSplit figure {
  border-radius: 18px;
  height: clamp(220px, 22vw, 320px);
  margin: 0;
  overflow: hidden;
}

.homeFeatureSplit h2 {
  color: #2f2a28;
  font-size: var(--kc-title-lead);
  line-height: 1.04;
  margin: 0;
  word-break: keep-all;
}

.homeFeatureSplit p:not(.eyebrow) {
  color: #687062;
  line-height: 1.75;
  margin: 0 0 28px;
  max-width: 620px;
  text-wrap: pretty;
}

.homeFeatureSplit ul {
  display: grid;
  gap: 14px;
  list-style: none;
  margin: auto 0 0;
  padding: 0;
}

.homeFeatureSplit li {
  align-items: center;
  color: #2f2a28;
  display: grid;
  font-weight: 700;
  gap: 14px;
  grid-template-columns: 20px 1fr;
  min-height: 32px;
  padding: 0;
}

.homeFeatureSplit li::before {
  background: #1f251d;
  border-radius: 50%;
  color: #ffffff;
  content: "→";
  display: grid;
  font-size: 0.68rem;
  height: 20px;
  place-items: center;
  width: 20px;
}

.imageQuote {
  color: #ffffff;
  display: grid;
  height: 370px;
  overflow: hidden;
  place-items: center;
  position: relative;
}

.trustStrip {
  align-items: center;
  background: #fbfaf6;
  display: grid;
  gap: 24px;
  grid-template-columns: 220px 1fr;
  margin: 0 auto;
  padding: 20px max(24px, calc((100% - var(--kc-content-max)) / 2));
}

.trustStrip p {
  color: #2f2a28;
  font-size: 0.8rem;
  line-height: 1.45;
  margin: 0;
}

.trustStrip div {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 14px 28px;
  justify-content: space-between;
}

.trustStrip span {
  color: #70746b;
  font-size: 0.78rem;
  font-weight: 700;
  white-space: nowrap;
}

.homeSectionRule {
  align-items: center;
  color: #5f645c;
  display: none;
  font-size: 0.76rem;
  grid-template-columns: 1fr auto 1fr;
  margin-bottom: clamp(24px, 3vw, 42px);
  min-height: 38px;
}

.homeSectionRule span:nth-child(2) {
  color: #2f2a28;
}

.homeSectionRule span:last-child {
  text-align: right;
}

.homeWorkSection,
.homeSolutionsSection,
.homeBlogMagazine,
.homeWhyChoose {
  background: #fbfaf6;
  color: #2f2a28;
  padding: clamp(48px, 5vw, 76px) max(24px, calc((100% - var(--kc-content-max)) / 2));
}

.homeWorkSection {
  padding-top: clamp(48px, 5vw, 76px);
}

.homeWorkHeader {
  align-items: start;
  display: grid;
  column-gap: var(--kc-grid-gap);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  row-gap: 18px;
  margin-bottom: 36px;
}

.homeWorkTitle {
  align-items: start;
  display: grid;
  gap: 18px;
  justify-items: start;
}

.homeWorkMoreLink,
.homeWorkMoreLink:any-link {
  color: #2f2a28;
  font-size: 0.92rem;
  font-weight: 700;
  line-height: 1.3;
  margin-left: 8px;
  text-decoration-line: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 6px;
}

.homeWorkMoreLink:hover,
.homeWorkMoreLink:focus-visible {
  color: #8a7048;
}

.homeWorkHeader p {
  grid-column: 2;
  grid-row: 1;
}

.homeWorkHeader h2,
.homeSolutionsHeader h2,
.homeWhyChoose h2 {
  color: #2f2a28;
  font-size: var(--kc-title-section);
  font-weight: var(--kc-weight-editorial);
  letter-spacing: 0;
  line-height: 1.04;
  margin: 0;
  word-break: keep-all;
}

.homeWorkHeader p,
.homeSolutionsHeader p,
.homeWhyChoose > p {
  color: #687062;
  font-size: 0.98rem;
  line-height: 1.7;
  margin: 0;
  text-wrap: pretty;
  word-break: keep-all;
}

.homeWorkGrid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.homeWorkCard {
  border-radius: 16px;
  color: #ffffff;
  display: grid;
  min-height: clamp(168px, 15vw, 220px);
  overflow: hidden;
  position: relative;
  transition: box-shadow var(--kc-motion-fast) var(--kc-motion-ease), transform var(--kc-motion-fast) var(--kc-motion-ease);
}

.homeWorkCard::after {
  background:
    linear-gradient(0deg, rgba(15, 20, 14, 0.74), rgba(15, 20, 14, 0.08)),
    linear-gradient(90deg, rgba(15, 20, 14, 0.18), rgba(15, 20, 14, 0));
  content: "";
  inset: 0;
  position: absolute;
}

.homeWorkCard img {
  inset: 0;
  position: absolute;
  transition: transform var(--kc-motion-slow) var(--kc-motion-ease);
}

.homeWorkCard:hover,
.homeWorkCard:focus-within {
  box-shadow: 0 18px 42px rgba(32, 32, 31, 0.11);
  transform: translateY(var(--kc-motion-lift));
}

.homeWorkCard:hover img,
.homeWorkCard:focus-within img {
  transform: scale(1.025);
}

.homeWorkCard div {
  align-self: end;
  display: grid;
  gap: 10px;
  padding: 20px;
  position: relative;
  z-index: 1;
}

.homeWorkCard strong {
  color: #ffffff;
  font-size: var(--kc-title-card);
  font-weight: var(--kc-weight-editorial);
  line-height: 1.08;
}

.homeWorkCard p {
  color: rgba(255, 255, 255, 0.78);
  font-size: 0.82rem;
  line-height: 1.55;
  margin: 0;
  word-break: keep-all;
}

.homeSolutionsSection {
  background: #ffffff;
}

.homeSolutionsHeader {
  align-items: start;
  display: grid;
  column-gap: var(--kc-grid-gap);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-bottom: clamp(18px, 2.4vw, 30px);
}

.homeSolutionsHeader p {
  max-width: 620px;
}

.homeSolutionsGrid {
  display: grid;
  gap: clamp(18px, 1.4vw, 28px);
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.homeSolutionsGrid figure {
  border-radius: 18px;
  box-sizing: border-box;
  justify-self: stretch;
  margin: 0;
  max-width: 100%;
  min-width: 0;
  overflow: hidden;
  transition: box-shadow var(--kc-motion-fast) var(--kc-motion-ease), transform var(--kc-motion-fast) var(--kc-motion-ease);
  width: 100%;
}

.homeSolutionsGrid figure:hover {
  box-shadow: 0 18px 42px rgba(32, 32, 31, 0.1);
  transform: translateY(var(--kc-motion-lift));
}

.homeSolutionsLarge {
  aspect-ratio: 1.24 / 1;
  min-height: clamp(280px, 26vw, 390px);
}

.homeSolutionsSmallGrid {
  display: contents;
}

.homeSolutionsSmallGrid figure {
  aspect-ratio: 1.24 / 1;
  min-height: clamp(280px, 26vw, 390px);
}

.homeSolutionsMeta {
  align-items: end;
  display: none;
  gap: 14px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  padding-top: 16px;
}

.homeSolutionsMeta p {
  background: #fbfaf6;
  border-radius: 14px;
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 16px;
}

.homeSolutionsMeta span {
  color: #687062;
  font-size: 0.72rem;
}

.homeSolutionsMeta strong {
  color: #2f2a28;
  font-size: 0.86rem;
  font-weight: 500;
}

.homeEventFeature {
  color: #ffffff;
  display: grid;
  min-height: clamp(300px, 29vw, 430px);
  overflow: hidden;
  position: relative;
  transition: box-shadow var(--kc-motion-fast) var(--kc-motion-ease), transform var(--kc-motion-fast) var(--kc-motion-ease);
}

.homeEventFeature::after {
  background: linear-gradient(90deg, rgba(14, 24, 15, 0.72), rgba(14, 24, 15, 0.22));
  content: "";
  inset: 0;
  position: absolute;
}

.homeEventFeature > img {
  inset: 0;
  position: absolute;
  transition: transform var(--kc-motion-slow) var(--kc-motion-ease);
}

.homeEventFeature:hover {
  box-shadow: 0 18px 42px rgba(32, 32, 31, 0.12);
  transform: translateY(var(--kc-motion-lift));
}

.homeEventFeature:hover > img {
  transform: scale(1.02);
}

.homeEventOverlay {
  align-items: center;
  display: grid;
  gap: 32px;
  grid-template-columns: minmax(0, 1fr);
  justify-items: center;
  padding: clamp(34px, 5vw, 64px) max(24px, calc((100% - var(--kc-content-max)) / 2));
  position: relative;
  text-align: center;
  z-index: 1;
}

.homeEventOverlay h2 {
  color: #ffffff;
  font-size: var(--kc-title-section);
  font-weight: var(--kc-weight-editorial);
  line-height: 1.02;
  margin: 0;
  max-width: 820px;
  word-break: keep-all;
}

.homeEventOverlay a {
  align-items: center;
  background: #ffffff;
  border-radius: 999px;
  color: #1f251d;
  display: inline-flex;
  font-size: 0.82rem;
  font-weight: 700;
  justify-self: center;
  margin-top: 28px;
  min-height: 38px;
  padding: 0 18px;
  transition: box-shadow var(--kc-motion-fast) var(--kc-motion-ease), transform var(--kc-motion-fast) var(--kc-motion-ease);
}

.homeEventOverlay a:hover,
.homeEventOverlay a:focus-visible {
  box-shadow: 0 12px 28px rgba(20, 24, 19, 0.18);
  transform: translateY(var(--kc-motion-lift));
}

.homeEventOverlay dl {
  display: grid;
  gap: 12px;
  margin: 0;
}

.homeEventOverlay dl div {
  padding-top: 0;
}

.homeEventOverlay dt,
.homeEventOverlay dd {
  margin: 0;
}

.homeEventOverlay dt {
  color: rgba(255, 255, 255, 0.72);
  font-size: 0.74rem;
}

.homeEventOverlay dd {
  color: #ffffff;
  font-size: 0.94rem;
  font-weight: 500;
}

.homeBlogMagazine {
  background: #ffffff;
}

.homeBlogIntro {
  display: grid;
  justify-content: start;
  margin-bottom: clamp(20px, 2.4vw, 32px);
}

.homeBlogIntro h2 {
  color: #2f2a28;
  margin: 0;
  max-width: 760px;
  text-align: left;
}

.homeBlogLayout {
  display: grid;
  gap: clamp(28px, 4vw, 52px);
  grid-template-columns: minmax(132px, 0.16fr) minmax(0, 0.84fr);
}

.homeBlogTabs {
  align-content: start;
  display: grid;
  gap: 10px;
}

.homeBlogTabs button {
  align-items: center;
  appearance: none;
  background: #fbfaf6;
  border: 1px solid rgba(32, 32, 31, 0.13);
  border-radius: 999px;
  color: #687062;
  cursor: pointer;
  display: inline-flex;
  font-size: 0.9rem;
  font-weight: 700;
  min-height: 42px;
  padding: 0 16px;
  text-align: left;
  transition: background var(--kc-motion-fast) var(--kc-motion-ease), border-color var(--kc-motion-fast) var(--kc-motion-ease), color var(--kc-motion-fast) var(--kc-motion-ease), transform var(--kc-motion-fast) var(--kc-motion-ease);
  width: 100%;
}

.homeBlogTabs button:hover,
.homeBlogTabs button:focus-visible,
.homeBlogTabs .isActiveBlogTab {
  background: #174f3a;
  border-color: #174f3a;
  color: #ffffff;
}

.homeBlogTabs button:hover,
.homeBlogTabs button:focus-visible {
  transform: translateX(2px);
}

.homeBlogGrid {
  display: grid;
  gap: 22px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.homeBlogCard {
  color: #2f2a28;
  display: grid;
  gap: 9px;
  transition: opacity var(--kc-motion-slow) var(--kc-motion-ease), transform var(--kc-motion-base) var(--kc-motion-ease);
}

.homeBlogCard img {
  aspect-ratio: 1.18 / 1;
  border-radius: 16px;
  margin-bottom: 8px;
  overflow: hidden;
  transition: transform var(--kc-motion-slow) var(--kc-motion-ease), filter var(--kc-motion-fast) var(--kc-motion-ease);
}

.homeBlogCard:hover,
.homeBlogCard:focus-visible {
  transform: translateY(var(--kc-motion-lift));
}

.homeBlogCard:hover img,
.homeBlogCard:focus-visible img {
  filter: saturate(1.04);
  transform: scale(1.025);
}

.homeBlogCard span {
  color: #bfa16f;
  font-size: 0.76rem;
  font-weight: 700;
}

.homeBlogCard strong {
  color: #2f2a28;
  font-size: var(--kc-title-card);
  font-weight: var(--kc-weight-editorial);
  line-height: 1.18;
}

.homeBlogCard p {
  color: #687062;
  font-size: 0.88rem;
  line-height: 1.58;
  margin: 0;
}

.homeBlogCard em {
  color: #174f3a;
  font-size: 0.82rem;
  font-style: normal;
  font-weight: 700;
  margin-top: 4px;
}

.homeWhyChoose {
  background: #fbfaf6;
  text-align: center;
}

.homeWhyChoose h2 {
  margin: 0 auto;
  max-width: 760px;
}

.homeWhyChoose > p {
  margin: 24px auto 42px;
  max-width: 680px;
}

.homeWhyGrid {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0 auto 34px;
  max-width: 1040px;
  text-align: left;
}

.homeWhyGrid article {
  background: #ffffff;
  border: 0;
  border-radius: 18px;
  display: grid;
  gap: 26px;
  min-height: 176px;
  padding: 26px;
  transition: box-shadow var(--kc-motion-fast) var(--kc-motion-ease), transform var(--kc-motion-fast) var(--kc-motion-ease);
}

.homeWhyGrid article:hover {
  box-shadow: 0 16px 34px rgba(32, 32, 31, 0.08);
  transform: translateY(var(--kc-motion-lift));
}

.homeWhyGrid .isPrimaryWhy {
  background: #17613c;
  color: #ffffff;
}

.homeWhyGrid span {
  color: inherit;
  font-size: 1.25rem;
  font-weight: 800;
  line-height: 1.28;
}

.homeWhyGrid p {
  color: #687062;
  line-height: 1.68;
  margin: 0;
}

.homeWhyGrid .isPrimaryWhy p {
  color: rgba(255, 255, 255, 0.76);
}

.imageQuote::after {
  background: rgba(13, 15, 13, 0.45);
  content: "";
  inset: 0;
  position: absolute;
}

.imageQuote img {
  inset: 0;
  position: absolute;
}

.imageQuote div {
  font-size: var(--kc-title-section);
  font-weight: var(--kc-weight-title);
  line-height: 1.12;
  max-width: calc(100% - 48px);
  position: relative;
  text-align: center;
  word-break: keep-all;
  z-index: 1;
}

.purposeSection {
  background: #fbfaf6;
  border-bottom: 1px solid rgba(32, 32, 31, 0.13);
  color: #563f3c;
  padding: clamp(76px, 8vw, 128px) max(24px, calc((100% - var(--kc-content-max)) / 2));
}

.purposeInner {
  display: grid;
  gap: clamp(42px, 5vw, 76px);
  margin: 0 auto;
  max-width: 1200px;
}

.purposeIntro {
  margin: 0 auto;
  max-width: 920px;
  text-align: center;
}

.purposeIntro p {
  color: #64685f;
  font-size: 1.04rem;
  line-height: 1.78;
  margin: 22px 0 0;
  word-break: keep-all;
}

.purposeIntro .eyebrow {
  color: #bfa16f;
  margin: 0 0 18px;
}

.purposeIntro h2 {
  color: #2f2a28;
  font-size: var(--kc-title-section);
  letter-spacing: 0;
  line-height: 1.08;
  margin: 0;
  word-break: keep-all;
}

.purposeGrid {
  align-items: center;
  display: grid;
  gap: clamp(32px, 4vw, 64px);
  grid-template-columns: minmax(0, 1fr) minmax(320px, 390px) minmax(0, 1fr);
}

.purposePillars {
  display: grid;
  gap: 18px;
}

.purposePillars article {
  background: #ffffff;
  border: 1px solid rgba(32, 32, 31, 0.08);
  border-radius: var(--kc-radius-lg);
  min-height: 0;
  padding: 24px;
}

.purposePillars span {
  color: #bfa16f;
  display: block;
  font-size: 0.82rem;
  font-weight: 700;
  margin-bottom: 18px;
}

.purposePillars strong {
  color: #2f2a28;
  display: block;
  font-size: var(--kc-title-card);
  line-height: 1.25;
  margin-bottom: 12px;
}

.purposePillars p {
  color: #686b62;
  font-size: 0.95rem;
  line-height: 1.75;
  margin: 0;
  word-break: keep-all;
}

.purposeCenter {
  align-items: center;
  display: grid;
  gap: 34px;
  justify-items: center;
}

.purposeDiagram {
  height: 230px;
  margin: 0 auto;
  position: relative;
  width: 340px;
}

.purposeCircle {
  background: rgba(255, 255, 255, 0.24);
  border: 1px solid rgba(90, 82, 74, 0.17);
  border-radius: 50%;
  color: #4f4742;
  display: grid;
  font-size: 0.92rem;
  height: 208px;
  line-height: 1.62;
  place-items: center;
  position: absolute;
  text-align: center;
  top: 0;
  width: 208px;
}

.left {
  left: 0;
}

.right {
  right: 0;
}

.purposeDiagram span {
  background: rgba(191, 161, 111, 0.45);
  height: 142px;
  left: 50%;
  position: absolute;
  top: 84px;
  width: 1px;
}

.purposeDiagram span::after {
  border-bottom: 1px solid rgba(191, 161, 111, 0.62);
  border-right: 1px solid rgba(191, 161, 111, 0.62);
  bottom: -1px;
  content: "";
  height: 10px;
  left: -5px;
  position: absolute;
  transform: rotate(45deg);
  width: 10px;
}

.purposeBrand {
  display: grid;
  justify-items: center;
  text-align: center;
}

.purposeBrand .sectionBrandLogo {
  display: block;
  height: auto;
  margin: 0 auto 18px;
  object-fit: contain;
  width: clamp(150px, 13vw, 245px);
}

.purposeBrand p {
  color: #2f2a28;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.72;
  margin: 0;
}

.purposeClosing {
  color: #4f514c;
  font-size: 1.06rem;
  line-height: 1.7;
  margin: -22px auto 0;
  max-width: 560px;
  text-align: center;
  word-break: keep-all;
}

.homeDownloadActions {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  justify-content: center;
}

.purposeActions {
  margin-top: -18px;
}

.referenceButton {
  background: #bfa16f;
  border-radius: 999px;
  color: #ffffff !important;
  display: inline-grid;
  font-size: 0.82rem;
  font-weight: 500;
  min-height: 39px;
  min-width: 148px;
  padding: 0 18px;
  place-items: center;
  transition: background var(--kc-motion-fast) var(--kc-motion-ease), box-shadow var(--kc-motion-fast) var(--kc-motion-ease), transform var(--kc-motion-fast) var(--kc-motion-ease);
}

.referenceButton:any-link {
  color: #ffffff !important;
}

.referenceButton:hover,
.referenceButton:focus-visible {
  background: #aa8d5f;
  box-shadow: 0 12px 30px rgba(128, 105, 67, 0.22);
  transform: translateY(var(--kc-motion-lift));
}

.referenceButton:active,
.homeHeroActions a:active,
.ctaBand a:active {
  transform: translateY(1px);
}

.section {
  margin: 0 auto;
  padding: var(--kc-space-section) 0;
  width: min(var(--kc-content-max), calc(100% - 48px));
}

.sectionHeading {
  max-width: 720px;
}

.centerHeading {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.sectionHeading.row {
  align-items: end;
  display: flex;
  gap: 24px;
  justify-content: space-between;
  margin-bottom: 34px;
  max-width: none;
}

.sectionHeading h2 {
  color: #563f3c;
  font-size: var(--kc-font-section);
  letter-spacing: 0;
  line-height: 1.08;
  margin: 0;
}

.productGrid {
  display: grid;
  gap: clamp(24px, 3vw, 44px);
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.isFeatured {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.productCard {
  transition: opacity var(--kc-motion-slow) var(--kc-motion-ease), transform var(--kc-motion-base) var(--kc-motion-ease);
}

.productCard a {
  background: #ffffff;
  border: 1px solid rgba(32, 32, 31, 0.08);
  border-radius: var(--kc-radius-lg);
  color: #563f3c;
  display: grid;
  overflow: visible;
  min-height: 100%;
  padding: 14px;
  transition: border-color var(--kc-motion-fast) var(--kc-motion-ease), box-shadow var(--kc-motion-fast) var(--kc-motion-ease);
}

.productCard figure {
  aspect-ratio: 1.08 / 1;
  border-radius: 12px;
  height: auto;
  margin: 0;
  overflow: hidden;
}

.productCard img {
  object-fit: cover;
  padding: 0;
  transition: transform var(--kc-motion-slow) var(--kc-motion-ease);
}

.productCard:hover,
.productCard:focus-within {
  transform: translateY(var(--kc-motion-lift));
}

.productCard:hover a,
.productCard:focus-within a {
  border-color: rgba(23, 79, 58, 0.22);
  box-shadow: 0 18px 42px rgba(32, 32, 31, 0.08);
}

.productCard:hover img,
.productCard:focus-within img {
  transform: scale(1.035);
}

.productCard div {
  align-content: start;
  display: grid;
  min-height: 190px;
  padding: 22px 8px 4px;
}

.productCard span {
  color: #bfa16f;
  font-size: 0.78rem;
  font-weight: 700;
  text-transform: uppercase;
}

.sourceBadge {
  align-self: end;
  background: #f4f1e9;
  color: #7f6947;
  display: inline-grid;
  font-size: 0.78rem;
  font-style: normal;
  font-weight: 700;
  justify-self: start;
  line-height: 1.2;
  margin-top: 18px;
  min-height: 30px;
  padding: 8px 12px;
  place-items: center;
}

.productCard h3 {
  color: #2f2a28;
  font-size: var(--kc-title-card);
  line-height: 1.28;
  margin: 14px 0 10px;
}

.productCard p {
  color: #6f716a;
  font-size: 0.94rem;
  line-height: 1.65;
  margin: 0;
}

.productCard em {
  align-self: end;
  color: #2e5536;
  font-size: 0.86rem;
  font-style: normal;
  font-weight: 700;
  margin-top: 26px;
}

.postBoard {
  background: #fbfaf6;
  color: #2f2a28;
  display: grid;
  gap: 28px;
  padding: clamp(72px, 8vw, 128px) var(--kc-section-pad-x);
}

.postBoardHeader {
  align-items: end;
  display: flex;
  gap: 28px;
  justify-content: space-between;
}

.postBoardHeader h2 {
  color: #2f2a28;
  font-size: var(--kc-font-section);
  line-height: 1.08;
  margin: 0;
}

.postBoardHeader > p {
  color: #687062;
  font-size: 0.92rem;
  font-weight: 700;
  margin: 0 0 6px;
}

.postBoardToolbar {
  align-items: start;
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(0, 1fr) minmax(240px, 320px);
}

.postBoardCategories {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.postBoardCategories button {
  appearance: none;
  background: #ffffff;
  border: 1px solid rgba(32, 32, 31, 0.12);
  border-radius: 999px;
  color: #687062;
  cursor: pointer;
  font-size: 0.9rem;
  font-weight: 700;
  min-height: 42px;
  padding: 0 16px;
}

.postBoardCategories button[aria-pressed="true"],
.postBoardCategories button:hover,
.postBoardCategories button:focus-visible {
  background: #174f3a;
  border-color: #174f3a;
  color: #ffffff;
}

.postBoardSearch {
  display: grid;
}

.postBoardSearch input {
  background: #ffffff;
  border: 1px solid rgba(32, 32, 31, 0.12);
  border-radius: 999px;
  color: #2f2a28;
  font: inherit;
  min-height: 42px;
  padding: 0 18px;
  width: 100%;
}

.postBoardList {
  display: grid;
  gap: 14px;
}

.postBoardItem a {
  align-items: center;
  background: #ffffff;
  border: 1px solid rgba(32, 32, 31, 0.08);
  border-radius: var(--kc-radius);
  display: grid;
  gap: 24px;
  grid-template-columns: minmax(160px, 220px) minmax(0, 1fr) auto;
  height: 195px;
  padding: 14px 18px 14px 14px;
  transition: border-color var(--kc-motion-fast) var(--kc-motion-ease), box-shadow var(--kc-motion-fast) var(--kc-motion-ease), transform var(--kc-motion-fast) var(--kc-motion-ease);
}

.postBoardItem a:hover,
.postBoardItem a:focus-visible {
  border-color: rgba(23, 79, 58, 0.35);
  box-shadow: 0 16px 36px rgba(32, 32, 31, 0.07);
  transform: translateY(-2px);
}

.postBoardItem figure {
  align-self: center;
  border-radius: 8px;
  height: 165px;
  margin: 0;
  overflow: hidden;
}

.postBoardItem img {
  display: block;
  height: 100%;
  object-fit: cover;
  transition: transform var(--kc-motion-slow) var(--kc-motion-ease);
  width: 100%;
}

.postBoardItem a:hover img,
.postBoardItem a:focus-visible img {
  transform: scale(1.025);
}

.postBoardCopy {
  align-content: center;
  display: grid;
  gap: 9px;
}

.postBoardMeta {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.postBoardMeta span,
.postBoardMeta small {
  background: #f4f1e9;
  color: #7f6947;
  font-size: 0.76rem;
  font-weight: 700;
  padding: 7px 10px;
}

.postBoardMeta small {
  background: #edf3ed;
  color: #174f3a;
}

.postBoardItem h3 {
  color: #2f2a28;
  font-size: clamp(1.1rem, 1.4vw, 1.45rem);
  line-height: 1.36;
  margin: 0;
  word-break: keep-all;
}

.postBoardItem p {
  color: #687062;
  font-size: 0.94rem;
  line-height: 1.65;
  margin: 0;
}

.postBoardItem em {
  color: #174f3a;
  font-size: 0.84rem;
  font-style: normal;
  font-weight: 700;
}

.postBoardItem a > strong {
  align-self: center;
  color: #174f3a;
  font-size: 0.88rem;
  white-space: nowrap;
}

.postBoardEmpty {
  background: #ffffff;
  border: 1px solid rgba(32, 32, 31, 0.08);
  color: #687062;
  margin: 0;
  padding: 28px;
}

.postBoardPagination {
  align-items: center;
  display: flex;
  gap: 14px;
  justify-content: center;
}

.postBoardPagination button {
  appearance: none;
  background: #2f2a28;
  border: 0;
  border-radius: 999px;
  color: #ffffff;
  cursor: pointer;
  font-weight: 700;
  min-height: 42px;
  padding: 0 18px;
}

.postBoardPagination button:disabled {
  background: #dfddd4;
  color: #8d8f88;
  cursor: default;
}

.postBoardPagination span {
  color: #687062;
  font-weight: 700;
}

.homeInquiry {
  align-items: center;
  background: #ffffff;
  color: #2f2a28;
  display: grid;
  gap: 80px;
  grid-template-columns: 0.72fr 1fr;
  padding: var(--kc-space-section) var(--kc-section-pad-x) var(--kc-space-compact);
}

.homeInquiryInfo {
  align-content: center;
  display: grid;
  gap: 0;
  text-align: center;
}

.homeInquiryInfo .inquiryBrandLogo {
  display: block;
  height: auto;
  margin: 0 auto;
  object-fit: contain;
  width: clamp(140px, 16vw, 220px);
}

.homeInquiryInfo h2 {
  color: #3f3936;
  font-size: 1.48rem;
  letter-spacing: 0;
  line-height: 1.55;
  margin: 34px 0 44px;
  word-break: keep-all;
}

.homeInquiryInfo p {
  color: #5f5751;
  font-size: 0.94rem;
  line-height: 1.78;
  margin: 0 0 18px;
}

.homeReferenceForm {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.82), rgba(251, 250, 246, 0.96)),
    #fbfaf6;
  border: 1px solid rgba(86, 63, 60, 0.12);
  border-radius: var(--kc-radius);
  box-shadow: 0 22px 58px rgba(47, 42, 40, 0.08);
  display: grid;
  gap: 24px;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  margin: 0 auto;
  max-width: var(--kc-content-max);
  padding: clamp(28px, 4vw, 44px);
  text-align: left;
  width: 100%;
}

.homeReferenceForm label,
.homeReferenceForm fieldset {
  border: 0;
  color: #5f5751;
  display: grid;
  gap: 9px;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.1;
  margin: 0;
  padding: 0;
  text-transform: uppercase;
}

.homeReferenceForm .formFull,
.homeReferenceForm button {
  grid-column: 1 / -1;
}

.homeReferenceForm .formHalf {
  grid-column: span 3;
}

.homeReferenceForm .formThird {
  grid-column: span 2;
}

.homeReferenceForm input,
.homeReferenceForm select,
.homeReferenceForm textarea {
  background: #ffffff;
  border: 1px solid rgba(86, 63, 60, 0.18);
  border-radius: var(--kc-radius);
  color: #2f2a28;
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0;
  min-height: 54px;
  outline: 0;
  padding: 0 16px;
  text-transform: none;
  transition: border-color var(--kc-motion-fast) var(--kc-motion-ease), box-shadow var(--kc-motion-fast) var(--kc-motion-ease), background var(--kc-motion-fast) var(--kc-motion-ease);
  width: 100%;
}

.homeReferenceForm input::placeholder,
.homeReferenceForm textarea::placeholder {
  color: rgba(95, 87, 81, 0.46);
  transition: color var(--kc-motion-fast) var(--kc-motion-ease);
}

.homeReferenceForm input:focus::placeholder,
.homeReferenceForm textarea:focus::placeholder {
  color: rgba(95, 87, 81, 0.28);
}

.homeReferenceForm select {
  appearance: none;
  background-image:
    linear-gradient(45deg, transparent 50%, #806943 50%),
    linear-gradient(135deg, #806943 50%, transparent 50%);
  background-position:
    calc(100% - 20px) 50%,
    calc(100% - 14px) 50%;
  background-repeat: no-repeat;
  background-size: 6px 6px, 6px 6px;
  padding-right: 42px;
}

.homeReferenceForm input:hover,
.homeReferenceForm select:hover,
.homeReferenceForm textarea:hover {
  border-color: rgba(128, 105, 67, 0.46);
}

.homeReferenceForm input:focus,
.homeReferenceForm select:focus,
.homeReferenceForm textarea:focus {
  background: #fffefa;
  border-color: #bfa16f;
  box-shadow: 0 0 0 4px rgba(191, 161, 111, 0.14);
}

.homeReferenceForm textarea {
  line-height: 1.65;
  min-height: 188px;
  padding: 16px;
  resize: vertical;
}

.homeReferenceForm fieldset {
  align-items: center;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.homeReferenceForm legend {
  color: #5f5751;
  grid-column: 1 / -1;
  margin-bottom: 8px;
}

.homeReferenceForm fieldset span {
  align-self: center;
  color: rgba(95, 87, 81, 0.52);
  display: none;
}

.homeReferenceForm button {
  background: #153f2e;
  border: 0;
  border-radius: 999px;
  color: #ffffff;
  cursor: pointer;
  font-weight: 700;
  justify-self: end;
  letter-spacing: 0;
  min-height: 52px;
  min-width: 168px;
  padding: 0 26px;
  transition: background var(--kc-motion-fast) var(--kc-motion-ease), box-shadow var(--kc-motion-fast) var(--kc-motion-ease), transform var(--kc-motion-fast) var(--kc-motion-ease);
}

.homeReferenceForm .formSubmit {
  justify-self: end;
}

.homeReferenceForm button:hover,
.homeReferenceForm button:focus-visible {
  background: #0f3023;
  box-shadow: 0 14px 34px rgba(21, 63, 46, 0.18);
  transform: translateY(-1px);
}

.homeReferenceForm button:active {
  transform: translateY(1px);
}

.homeReferenceForm button:disabled {
  cursor: not-allowed;
  opacity: 0.72;
  transform: none;
}

.formStatus,
.formError {
  grid-column: 1 / -1;
  letter-spacing: 0;
  margin: 0;
  text-transform: none;
}

.formStatus {
  color: #256c44;
}

.formError {
  color: #9f1d1d;
}

.productHero {
  color: #ffffff;
  display: grid;
  height: var(--kc-subpage-hero-height);
  min-height: var(--kc-subpage-hero-height);
  overflow: hidden;
  place-items: center start;
  position: relative;
}

.compactHero {
  height: var(--kc-subpage-hero-height);
  min-height: var(--kc-subpage-hero-height);
}

.productHero > img {
  inset: 0;
  position: absolute;
  z-index: 0;
}

.productHeroOverlay {
  background:
    linear-gradient(90deg, rgba(24, 29, 22, 0.74), rgba(24, 29, 22, 0.32) 48%, rgba(24, 29, 22, 0.08)),
    linear-gradient(0deg, rgba(24, 29, 22, 0.18), rgba(24, 29, 22, 0.18));
  inset: 0;
  position: absolute;
  z-index: 1;
}

.productHeroCopy {
  margin: 0 auto;
  padding-top: var(--kc-header-height);
  position: relative;
  width: min(var(--kc-content-max), calc(100% - (var(--kc-content-pad) * 2)));
  z-index: 2;
}

.productHeroCopy h1 {
  color: #ffffff;
  font-size: var(--kc-font-hero-section);
  letter-spacing: 0;
  line-height: 1.03;
  margin: 0;
  max-width: 720px;
  word-break: keep-all;
}

.productHeroCopy h2 {
  color: rgba(255, 255, 255, 0.9);
  font-size: 1.5rem;
  line-height: 1.3;
  margin: 22px 0 0;
  max-width: 820px;
  word-break: keep-all;
}

.productHeroCopy p:not(.eyebrow) {
  color: rgba(255, 255, 255, 0.82);
  font-size: 1.08rem;
  line-height: 1.8;
  margin: 24px 0 0;
  max-width: 720px;
  word-break: keep-all;
}

.heroDown {
  border-bottom: 2px solid rgba(255, 255, 255, 0.76);
  border-right: 2px solid rgba(255, 255, 255, 0.76);
  bottom: 38px;
  height: 24px;
  left: 50%;
  position: absolute;
  transform: translateX(-50%) rotate(45deg);
  width: 24px;
  z-index: 2;
}

.sectionNavWrap {
  background: #fbfaf6;
  padding: 18px var(--kc-section-pad-x) 0;
}

.sectionNav {
  background: #ffffff;
  border: 1px solid rgba(32, 32, 31, 0.12);
  border-radius: 999px;
  display: flex;
  gap: 8px;
  justify-content: center;
  margin: 0 auto;
  padding: 7px;
  width: fit-content;
  max-width: 100%;
}

.sectionNav a {
  border-radius: 999px;
  color: #6f716a;
  display: grid;
  font-size: 0.85rem;
  font-weight: 700;
  min-height: 42px;
  padding: 0 18px;
  place-items: center;
  transition: background var(--kc-motion-fast) var(--kc-motion-ease), color var(--kc-motion-fast) var(--kc-motion-ease), transform var(--kc-motion-fast) var(--kc-motion-ease);
}

.sectionNav a:hover,
.sectionNav a:focus-visible,
.activeTab {
  background: #bfa16f;
  color: #ffffff !important;
}

.sectionNav a:hover,
.sectionNav a:focus-visible {
  transform: translateY(-1px);
}

.introduceEditorial {
  background: #efede3;
  color: #2f2a28;
  padding: 28px var(--kc-section-pad-x) 82px;
}

.introduceEditorialInner {
  display: grid;
  gap: 0;
  margin: 0 auto;
  max-width: var(--kc-content-max);
}

.introduceEditorialHero {
  aspect-ratio: 3.05 / 1;
  border-radius: 10px;
  margin: 0;
  overflow: hidden;
}

.introduceEditorialHero img {
  object-position: center 58%;
}

.introduceEditorial .sectionNavWrap {
  background: transparent;
  margin-bottom: clamp(72px, 7vw, 108px);
  padding: 0;
}

.introduceEditorial .sectionNav {
  box-shadow: 0 1px 0 rgba(32, 32, 31, 0.04);
}

.introduceLeadGrid,
.introduceInfoGrid {
  display: grid;
  column-gap: var(--kc-grid-gap);
  row-gap: clamp(28px, 4vw, 72px);
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.introduceLeadGrid {
  align-items: start;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-bottom: clamp(92px, 8vw, 136px);
}

.introduceLeadGrid h1 {
  color: #2f2a28;
  font-size: var(--kc-title-section);
  font-weight: var(--kc-weight-title);
  letter-spacing: 0;
  line-height: 1.08;
  margin: 0;
  word-break: keep-all;
}

.introduceLeadGrid > div {
  align-content: start;
  display: grid;
  gap: 24px;
}

.introduceLeadGrid p,
.introduceLeadCopy p {
  color: #5f645c;
  font-size: 0.92rem;
  line-height: 1.72;
  margin: 0;
  max-width: 620px;
  word-break: keep-all;
}

.introduceLeadCopy {
  display: grid;
  gap: 22px;
  grid-column: span 2;
  padding-top: 3px;
}

.companyOverviewLead,
.historyLead,
.organizationLead,
.partnerLead {
  align-items: center;
  grid-template-columns: minmax(0, 1fr);
  justify-items: center;
  margin-left: auto;
  margin-right: auto;
  max-width: 1180px;
  row-gap: clamp(22px, 2vw, 36px);
  text-align: center;
}

.companyOverviewLead > div,
.historyLead > div,
.organizationLead > div,
.partnerLead > div {
  justify-items: center;
}

.companyOverviewLead h1,
.historyLead h1,
.organizationLead h1,
.partnerLead h1 {
  max-width: 920px;
}

.companyOverviewLead .introduceLeadCopy,
.historyLead .introduceLeadCopy,
.organizationLead .introduceLeadCopy,
.partnerLead .introduceLeadCopy {
  grid-column: auto;
  max-width: 820px;
  padding-top: 0;
}

.companyOverviewLead .introduceLeadCopy p,
.historyLead .introduceLeadCopy p,
.organizationLead .introduceLeadCopy p,
.partnerLead .introduceLeadCopy p {
  margin-left: auto;
  margin-right: auto;
  max-width: 820px;
}

.organizationLead .introduceLeadCopy,
.organizationLead .introduceLeadCopy p {
  max-width: 1100px;
}

.companyOverviewEditorial {
  background: #ffffff;
}

.companyProfileSlides {
  display: grid;
  gap: clamp(24px, 3vw, 52px);
  margin: 0 auto;
  max-width: 1200px;
}

.companyProfileSlides a {
  background: #ffffff;
  display: block;
  overflow: hidden;
}

.companyProfileSlides a:focus-visible {
  outline: 3px solid #bfa16f;
  outline-offset: 5px;
}

.companyProfileSlides img {
  display: block;
  height: auto;
  width: 100%;
}

.introduceLeadCopy a {
  color: #3d413b;
  display: inline-flex;
  font-size: 0.8rem;
  font-weight: 700;
  justify-self: start;
  line-height: 1.1;
  text-decoration: underline;
  text-underline-offset: 5px;
}

.introduceInfoGrid {
  align-items: start;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-bottom: clamp(104px, 8vw, 144px);
}

.introduceWhiteBand {
  background: #ffffff;
  box-shadow: 0 0 0 100vmax #ffffff;
  clip-path: inset(0 -100vmax);
  padding: clamp(72px, 6.5vw, 104px) 0;
}

.introduceInfoGrid article {
  display: grid;
  gap: 18px;
}

.introduceInfoGrid article > a,
.introduceLinkLine a {
  color: #3d413b;
  display: inline-flex;
  font-size: 0.8rem;
  font-weight: 700;
  justify-self: start;
  line-height: 1.1;
  text-decoration: underline;
  text-underline-offset: 5px;
}

.introduceInfoGrid h2 {
  color: #2f2a28;
  font-size: var(--kc-title-block);
  font-weight: var(--kc-weight-title);
  letter-spacing: 0;
  line-height: 1.18;
  margin: 0;
  word-break: keep-all;
}

.introduceInfoGrid p {
  color: #5f645c;
  font-size: 0.95rem;
  line-height: 1.72;
  margin: 0;
  word-break: keep-all;
}

.introduceInfoGrid figure {
  align-self: start;
  aspect-ratio: 1 / 1.08;
  border-radius: 10px;
  margin: 0;
  overflow: hidden;
}

.introduceInfoGrid.introduceWhiteBand figure,
.secondaryIntroGrid figure {
  aspect-ratio: 16 / 9;
  grid-column: span 2;
}

.secondaryIntroGrid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-bottom: 0;
}

.historyTimelineBand,
.organizationFlowBand,
.partnerShowcaseBand {
  margin-bottom: clamp(104px, 8vw, 144px);
}

.historyTimelineBand {
  align-items: start;
  display: grid;
  column-gap: var(--kc-grid-gap);
  row-gap: clamp(36px, 5vw, 72px);
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.historyIntroCard {
  grid-column: span 1;
}

.historyIntroCard,
.organizationFlowIntro,
.partnerShowcaseIntro {
  align-content: start;
  display: grid;
  gap: 20px;
}

.historyIntroCard h2,
.organizationFlowIntro h2,
.partnerShowcaseIntro h2 {
  color: #2f2a28;
  font-size: var(--kc-title-block);
  font-weight: var(--kc-weight-title);
  letter-spacing: 0;
  line-height: 1.12;
  margin: 0;
  word-break: keep-all;
}

.historyIntroCard p,
.organizationFlowIntro p,
.partnerShowcaseIntro p {
  color: #5f645c;
  font-size: 0.98rem;
  line-height: 1.78;
  margin: 0;
  word-break: keep-all;
}

.historyTimelineModern {
  display: grid;
  gap: 14px;
  grid-column: span 2;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  list-style: none;
  margin: 0;
  padding: 0;
}

.historyTimelineModern li {
  background: rgba(255, 255, 255, 0.78);
  border: 1px solid rgba(32, 32, 31, 0.08);
  border-radius: var(--kc-radius-lg);
  display: grid;
  gap: 10px;
  padding: 24px;
}

.historyTimelineModern time {
  color: #bfa16f;
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1;
}

.historyTimelineModern strong {
  color: #2f2a28;
  font-size: 0.98rem;
  font-weight: 700;
  line-height: 1.45;
  overflow-wrap: anywhere;
  word-break: keep-all;
}

.historyGlobalGrid,
.organizationOpsGrid,
.partnerTrustGrid {
  margin-bottom: 0;
}

.historyGlobalGrid {
  align-items: start;
}

.historyGlobalGrid article {
  align-self: start;
}

.historyGlobalGrid figure {
  aspect-ratio: 16 / 9;
  grid-column: span 2;
}

.organizationOpsGrid figure {
  aspect-ratio: 16 / 9;
  grid-column: span 2;
}

.partnerTrustGrid figure {
  aspect-ratio: 917 / 627;
  grid-column: span 2;
}

.historyRegionList,
.partnerTrustList {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.historyRegionList,
.partnerTrustList {
  margin-top: 10px;
  max-width: 520px;
}

.historyRegionList span,
.partnerTrustList span {
  background: rgba(255, 255, 255, 0.58);
  border: 1px solid rgba(32, 32, 31, 0.1);
  border-radius: 999px;
  color: #3e453b;
  font-size: 0.86rem;
  font-weight: 700;
  padding: 9px 14px;
}

.organizationFlowBand {
  display: grid;
  column-gap: var(--kc-grid-gap);
  row-gap: clamp(36px, 5vw, 72px);
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.organizationFlowIntro {
  grid-column: span 1;
}

.organizationFlow {
  counter-reset: flow;
  display: grid;
  gap: 14px;
  grid-column: span 2;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  list-style: none;
  margin: 0;
  padding: 0;
}

.organizationFlow li {
  background: rgba(255, 255, 255, 0.58);
  border: 1px solid rgba(32, 32, 31, 0.08);
  border-radius: var(--kc-radius-lg);
  display: grid;
  gap: 18px;
  min-height: 260px;
  padding: 28px clamp(20px, 2vw, 32px) 32px;
}

.organizationFlow li:first-child {
  padding-left: clamp(20px, 2vw, 32px);
}

.organizationFlow span {
  color: #bfa16f;
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0;
}

.organizationFlow span {
  font-size: 1.52rem;
}

.organizationFlow strong {
  color: #2f2a28;
  font-size: var(--kc-title-card);
  font-weight: var(--kc-weight-title);
  line-height: 1.25;
  word-break: keep-all;
}

.organizationFlow p {
  color: #687062;
  font-size: 0.92rem;
  line-height: 1.72;
  margin: 0;
  word-break: keep-all;
}

.partnerShowcaseBand {
  align-items: start;
  display: grid;
  column-gap: var(--kc-grid-gap);
  row-gap: clamp(36px, 5vw, 72px);
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.partnerShowcaseIntro {
  grid-column: span 1;
}

.partnerShowcaseCards {
  display: grid;
  grid-auto-rows: 344px;
  gap: 32px;
  grid-column: span 2;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.partnerShowcaseCards article {
  background: rgba(255, 255, 255, 0.58);
  border: 1px solid rgba(32, 32, 31, 0.08);
  border-radius: var(--kc-radius-lg);
  display: grid;
  gap: 16px;
  grid-template-rows: auto 84px minmax(0, 1fr);
  height: 100%;
  min-height: 0;
  overflow: hidden;
  padding: 24px;
}

.partnerCardHeading {
  align-items: baseline;
  display: flex;
  gap: 12px;
  min-width: 0;
  white-space: nowrap;
}

.partnerLogoSlot {
  align-items: center;
  display: flex;
  height: 84px;
  max-width: 100%;
  min-width: 0;
}

.referencePage .partnerLogo {
  display: block;
  height: 84px;
  max-height: 100%;
  max-width: 100%;
  object-fit: contain;
  object-position: left center;
  width: 100%;
}

.partnerShowcaseCards strong {
  color: #2f2a28;
  font-size: calc(var(--kc-title-block) * 0.7);
  font-weight: var(--kc-weight-title);
  line-height: 1.1;
  word-break: keep-all;
}

.partnerShowcaseCards span {
  color: #bfa16f;
  font-size: calc(var(--kc-title-block) * 0.7);
  font-weight: var(--kc-weight-title);
  letter-spacing: -0.04em;
  line-height: 1.1;
}

.partnerShowcaseCards p {
  color: #687062;
  font-size: 0.94rem;
  line-height: 1.76;
  margin: 0;
  word-break: keep-all;
}

.introduceLinkLine {
  margin-top: 10px !important;
}

.introduceCta {
  background: #1f251d;
  color: #ffffff;
  display: grid;
  justify-items: center;
  min-height: clamp(380px, 38vw, 560px);
  overflow: hidden;
  padding: clamp(88px, 9vw, 128px) 24px;
  place-content: center;
  position: relative;
  isolation: isolate;
  text-align: center;
}

.introduceCta::after {
  background:
    linear-gradient(90deg, rgba(24, 29, 22, 0.58), rgba(24, 29, 22, 0.34), rgba(24, 29, 22, 0.58)),
    linear-gradient(0deg, rgba(24, 29, 22, 0.34), rgba(24, 29, 22, 0.34));
  content: "";
  inset: 0;
  position: absolute;
  z-index: -1;
}

.introduceCtaImage {
  inset: 0;
  object-position: center 72%;
  position: absolute;
  z-index: -2;
}

.introduceCta .eyebrow {
  color: #d8b24f;
  margin-bottom: 18px;
}

.introduceCta h2 {
  color: #ffffff;
  font-size: var(--kc-title-section);
  font-weight: var(--kc-weight-title);
  letter-spacing: 0;
  line-height: 1.18;
  margin: 0 0 34px;
  max-width: 720px;
  text-shadow: 0 2px 20px rgba(0, 0, 0, 0.42);
  word-break: keep-all;
}

.introduceCta .referenceButton {
  background: rgba(255, 255, 255, 0.96);
  color: #1f251d !important;
}

.wide {
  max-width: 860px;
}

.splitStory {
  align-items: center;
  display: grid;
  column-gap: var(--kc-grid-gap);
  row-gap: 42px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0 auto;
  padding: var(--kc-space-section) 0;
  width: min(var(--kc-content-max), calc(100% - 48px));
}

.brandStoryCanvas {
  background: #ffffff;
  margin: 0 auto;
  max-width: 1200px;
  overflow: hidden;
  width: 100%;
}

.brandStoryPage,
.brandStoryPage .sectionNavWrap {
  background: #ffffff;
}

.brandStoryCanvas > img {
  display: block;
  height: auto;
  margin-top: -80%;
  object-fit: contain;
  width: 100%;
}

.reversedStory {
  direction: rtl;
}

.reversedStory > * {
  direction: ltr;
}

.splitStoryImage,
.storyPanel > img,
.productDetailGrid figure,
.singlePostView figure {
  background: #f1eee6;
  border-radius: var(--kc-radius-lg);
  min-height: 460px;
  overflow: hidden;
}

.splitStoryCopy h2,
.storyPanel h2,
.textBand h2,
.processBand h2 {
  color: #2f2a28;
  font-size: var(--kc-font-section);
  letter-spacing: 0;
  line-height: 1.08;
  margin: 0 0 28px;
  word-break: keep-all;
}

.splitStoryCopy p,
.storyPanel p,
.textBand p,
.sectionHeading p:not(.eyebrow) {
  color: #687062;
  font-size: 1.08rem;
  line-height: 1.9;
  margin: 0;
  word-break: keep-all;
}

.storyPanelStack {
  display: grid;
  gap: 0;
}

.storyPanel {
  align-items: center;
  display: grid;
  column-gap: var(--kc-grid-gap);
  row-gap: 42px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  padding: var(--kc-space-section) var(--kc-section-pad-x);
}

.storyPanel:nth-child(even) {
  background: #f6f5f0;
}

.profileGrid,
.specGrid,
.certificationDetailGrid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.profileGrid div,
.specGrid div,
.certificationDetailGrid article,
.detailLines div {
  background: #ffffff;
  border: 1px solid rgba(32, 32, 31, 0.08);
  border-radius: var(--kc-radius-lg);
  padding: 24px;
}

.profileGrid span,
.specGrid span,
.certificationDetailGrid span,
.detailLines span,
.partnerGrid span {
  color: #bfa16f;
  display: block;
  font-size: 0.78rem;
  font-weight: 700;
  margin-bottom: 10px;
  text-transform: uppercase;
}

.profileGrid strong,
.specGrid strong,
.certificationDetailGrid strong,
.detailLines strong {
  color: #2f2a28;
  font-size: 1.12rem;
  line-height: 1.45;
}

.statsBand {
  background: #ffffff;
  color: #2f2a28;
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  padding: 18px var(--kc-section-pad-x);
}

.statsBand div {
  background: #fbfaf6;
  border: 1px solid rgba(32, 32, 31, 0.08);
  border-radius: var(--kc-radius-lg);
  display: grid;
  gap: 10px;
  min-height: 104px;
  padding: 28px clamp(18px, 3vw, 34px);
  place-content: center start;
  text-align: left;
}

.statsBand strong {
  color: #1f251d;
  font-size: var(--kc-title-block);
  line-height: 1;
}

.statsBand span {
  color: #687062;
  font-size: 0.78rem;
  line-height: 1.35;
}

.timeline {
  display: grid;
  gap: 14px;
  list-style: none;
  margin: 64px 0 0;
  padding: 0;
}

.timeline li {
  background: #ffffff;
  border: 1px solid rgba(32, 32, 31, 0.08);
  border-radius: var(--kc-radius-lg);
  display: grid;
  gap: 10px;
  padding: 24px;
}

.timeline li::before {
  content: none;
}

.timeline time {
  color: #bfa16f;
  font-weight: 700;
}

.timeline strong {
  color: #2f2a28;
  font-size: 1.22rem;
}

.processList {
  display: grid;
  gap: 14px;
  list-style: none;
  margin: 48px 0 0;
  padding: 0;
}

.processList li {
  align-items: center;
  background: #ffffff;
  border: 1px solid rgba(32, 32, 31, 0.08);
  border-radius: var(--kc-radius-lg);
  color: #2f2a28;
  display: grid;
  font-weight: 700;
  gap: 16px;
  grid-template-columns: 18px 1fr;
  min-height: 68px;
  padding: 22px 24px;
}

.processList span {
  background: #bfa16f;
  border-radius: 50%;
  height: 10px;
  width: 10px;
}

.textBand,
.processBand,
.referenceInquiry {
  background: #f6f5f0;
  padding: clamp(64px, 6vw, 88px) var(--kc-section-pad-x);
  text-align: center;
}

.textBand .referenceButton {
  margin-top: 32px;
}

.sourceBodySection {
  background: #ffffff;
  display: grid;
  gap: 28px;
  padding: var(--kc-space-section) var(--kc-section-pad-x);
}

.sourceBodyHeader {
  align-items: end;
  display: flex;
  gap: 24px;
  justify-content: space-between;
}

.sourceBodyHeader h2 {
  color: #2f2a28;
  font-size: var(--kc-title-section);
  line-height: 1.1;
  margin: 0;
}

.sourceBodyMeta {
  align-items: center;
  display: flex;
  flex: 0 0 auto;
  gap: 10px;
}

.sourceBodyMeta span,
.sourceBodyMeta a {
  background: #f4f1e9;
  color: #7f6947;
  font-size: 0.84rem;
  font-weight: 700;
  padding: 10px 14px;
}

.sourceBodyMeta a {
  background: #2f2a28;
  color: #ffffff;
}

.sourceBodyText {
  color: #4f514c;
  font-size: 1.03rem;
  line-height: 1.95;
  max-width: 860px;
  white-space: normal;
  word-break: keep-all;
}

.detailImageSection {
  background: #ffffff;
  padding: clamp(56px, 6vw, 88px) var(--kc-section-pad-x);
}

.detailImageInner {
  display: grid;
  gap: 28px;
  margin: 0 auto;
  max-width: min(1000px, 100%);
}

.detailImageInner figure {
  background: #ffffff;
  border: 1px solid rgba(32, 32, 31, 0.08);
  border-radius: var(--kc-radius);
  box-shadow: 0 18px 48px rgba(32, 32, 31, 0.08);
  margin: 0;
  overflow: hidden;
}

.detailImageInner img {
  height: auto;
  object-fit: contain;
  width: 100%;
}

.sourceLink {
  color: #174f3a;
  font-size: 0.92rem;
  font-weight: 700;
  justify-self: start;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.partnerGrid,
.factStrip {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 48px;
}

.partnerGrid article,
.factStrip div {
  background: #ffffff;
  border: 1px solid rgba(32, 32, 31, 0.08);
  border-radius: var(--kc-radius-lg);
  min-height: 180px;
  padding: 26px;
  transition: border-color var(--kc-motion-fast) var(--kc-motion-ease), box-shadow var(--kc-motion-fast) var(--kc-motion-ease), transform var(--kc-motion-fast) var(--kc-motion-ease);
}

.partnerGrid article:hover,
.factStrip div:hover {
  border-color: rgba(23, 79, 58, 0.2);
  box-shadow: 0 16px 36px rgba(32, 32, 31, 0.07);
  transform: translateY(var(--kc-motion-lift));
}

.factStrip div {
  align-content: center;
  display: grid;
  justify-items: center;
  text-align: center;
}

.partnerGrid strong,
.factStrip strong {
  color: #2f2a28;
  display: block;
  font-size: var(--kc-title-block);
  line-height: 1.08;
  margin-bottom: 18px;
}

.factStrip strong {
  margin-bottom: 8px;
}

.partnerGrid p,
.factStrip span {
  color: #687062;
  line-height: 1.75;
}

.certificationGrid {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 36px;
}

.certificationCard {
  background: #ffffff;
  border: 1px solid rgba(32, 32, 31, 0.08);
  border-radius: var(--kc-radius-lg);
  display: grid;
  min-height: 250px;
  padding: 24px;
  transition: border-color var(--kc-motion-fast) var(--kc-motion-ease), box-shadow var(--kc-motion-fast) var(--kc-motion-ease), transform var(--kc-motion-fast) var(--kc-motion-ease);
}

.certificationCard:hover,
.certificationCard:focus-within {
  border-color: rgba(23, 79, 58, 0.22);
  box-shadow: 0 18px 42px rgba(32, 32, 31, 0.08);
  transform: translateY(var(--kc-motion-lift));
}

.certificationCard > span {
  color: #bfa16f;
  font-size: 0.78rem;
  font-weight: 700;
  text-transform: uppercase;
}

.certificationCard h3 {
  color: #2f2a28;
  font-size: 1.28rem;
  line-height: 1.28;
  margin: 16px 0 10px;
}

.certificationCard p,
.certificationCard small {
  color: #6f716a;
  line-height: 1.65;
}

.cardActions {
  align-self: end;
  display: flex;
  gap: 10px;
  margin-top: 24px;
}

.cardActions a {
  border: 1px solid rgba(32, 32, 31, 0.18);
  border-radius: 999px;
  color: #2e5536;
  font-size: 0.86rem;
  font-weight: 700;
  padding: 10px 12px;
  transition: background var(--kc-motion-fast) var(--kc-motion-ease), border-color var(--kc-motion-fast) var(--kc-motion-ease), color var(--kc-motion-fast) var(--kc-motion-ease);
}

.cardActions a:hover,
.cardActions a:focus-visible {
  background: #174f3a;
  border-color: #174f3a;
  color: #ffffff;
}

.contentCardBand {
  background: #f6f5f0;
  padding: var(--kc-space-section) max(24px, calc((100% - var(--kc-content-max)) / 2));
}

.contentCardGrid {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.contentCard {
  color: #ffffff;
  display: grid;
  min-height: 320px;
  overflow: hidden;
  place-items: end start;
  position: relative;
  transition: box-shadow var(--kc-motion-fast) var(--kc-motion-ease), transform var(--kc-motion-fast) var(--kc-motion-ease);
}

.contentCard::after {
  background: linear-gradient(0deg, rgba(20, 24, 19, 0.7), rgba(20, 24, 19, 0.1));
  content: "";
  inset: 0;
  position: absolute;
}

.contentCard img {
  inset: 0;
  position: absolute;
  transition: transform var(--kc-motion-slow) var(--kc-motion-ease);
}

.contentCard:hover,
.contentCard:focus-visible {
  box-shadow: 0 18px 42px rgba(32, 32, 31, 0.12);
  transform: translateY(var(--kc-motion-lift));
}

.contentCard:hover img,
.contentCard:focus-visible img {
  transform: scale(1.025);
}

.contentCard strong {
  color: #ffffff;
  font-size: 1.8rem;
  line-height: 1.15;
  padding: 32px;
  position: relative;
  z-index: 1;
}

.galleryGrid {
  display: grid;
  gap: clamp(22px, 1.8vw, 32px);
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.galleryGrid button {
  background: #f1eee6;
  border: 0;
  border-radius: var(--kc-radius-lg);
  cursor: pointer;
  height: 390px;
  min-width: 0;
  overflow: hidden;
  padding: 0;
}

.findUs {
  background: #fbfaf6;
  padding: var(--kc-space-section) var(--kc-section-pad-x);
}

.findUs h2,
.referenceInquiry h2 {
  color: #2f2a28;
  font-size: var(--kc-font-section);
  line-height: 1.08;
  margin: 0 0 22px;
}

.referenceInquiry > p {
  color: #4f514c;
  line-height: 1.7;
  margin: 0 auto 26px;
  max-width: 760px;
}

.findUsRow {
  background: #ffffff;
  border: 1px solid rgba(32, 32, 31, 0.08);
  border-radius: var(--kc-radius-lg);
  display: grid;
  gap: 18px;
  grid-template-columns: 0.35fr 0.35fr 1fr;
  margin-bottom: 12px;
  padding: 22px 24px;
  transition: border-color var(--kc-motion-fast) var(--kc-motion-ease), box-shadow var(--kc-motion-fast) var(--kc-motion-ease), transform var(--kc-motion-fast) var(--kc-motion-ease);
}

.findUsRow:hover {
  border-color: rgba(23, 79, 58, 0.2);
  box-shadow: 0 14px 32px rgba(32, 32, 31, 0.06);
  transform: translateY(-2px);
}

.findUsRow span {
  color: #bfa16f;
  font-weight: 700;
}

.findUsRow strong {
  color: #2f2a28;
}

.findUsRow p {
  color: #687062;
  margin: 0;
}

.referenceMap {
  background: #e9ece4;
  border-radius: var(--kc-radius-lg);
  height: clamp(360px, 33vw, 520px);
  margin: 0 0 28px;
  overflow: hidden;
  position: relative;
  transition: box-shadow var(--kc-motion-base) var(--kc-motion-ease);
}

.referenceMap:hover {
  box-shadow: 0 18px 42px rgba(32, 32, 31, 0.08);
}

.referenceMap iframe {
  border: 0;
  height: 100%;
  inset: 0;
  opacity: 1;
  position: absolute;
  width: 100%;
}

.referenceMapCanvas {
  height: 100%;
  inset: 0;
  position: absolute;
  width: 100%;
}

.referenceMapLink {
  align-items: center;
  background: #153f2e;
  border-radius: 999px;
  color: #ffffff;
  display: inline-flex;
  font-size: 0.86rem;
  font-weight: 700;
  left: 50%;
  min-height: 36px;
  padding: 0 14px;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
}

.productDetailHero {
  align-items: center;
  background:
    linear-gradient(125deg, rgba(31, 37, 29, 0.98), rgba(46, 85, 54, 0.9) 58%, rgba(31, 37, 29, 0.96));
  color: #ffffff;
  display: grid;
  column-gap: var(--kc-grid-gap);
  row-gap: 42px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  height: var(--kc-subpage-hero-height);
  min-height: var(--kc-subpage-hero-height);
  padding: calc(var(--kc-header-height) + 64px) var(--kc-section-pad-x) 72px;
}

.productDetailHeroMedia {
  align-self: center;
  background: #f1eee6;
  border-radius: var(--kc-radius-lg);
  display: grid;
  height: 360px;
  min-height: 0;
  overflow: hidden;
  place-items: center;
}

.productDetailHeroMedia img {
  height: 100%;
  object-fit: contain;
  padding: 44px;
}

.productDetailHeroCopy h1 {
  color: #ffffff;
  font-size: var(--kc-font-hero-detail);
  line-height: 1.04;
  margin: 0;
  max-width: 620px;
  word-break: keep-all;
}

.productDetailHeroCopy > p:not(.eyebrow) {
  color: rgba(255, 255, 255, 0.78);
  font-size: 1rem;
  line-height: 1.75;
  margin: 22px 0 0;
  max-width: 560px;
}

.detailHeroSpecs {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 34px;
}

.detailHeroSpecs div {
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: var(--kc-radius);
  padding: 18px;
}

.detailHeroSpecs span {
  color: #bfa16f;
  display: block;
  font-size: 0.72rem;
  font-weight: 700;
  margin-bottom: 8px;
  text-transform: uppercase;
}

.detailHeroSpecs strong {
  color: #ffffff;
  font-size: 0.95rem;
  line-height: 1.35;
}

.productCommerceSection {
  background: #ffffff;
  padding: var(--kc-space-section) var(--kc-section-pad-x);
}

.productCommerceLayout {
  align-items: start;
  display: grid;
  grid-template-columns: minmax(0, 980px);
  justify-content: start;
}

.productCommerceBody {
  min-width: 0;
}

.productCommerceBody h2 {
  color: #2f2a28;
  font-size: var(--kc-font-section);
  line-height: 1.08;
  margin: 0;
  max-width: 760px;
}

.productCommerceLead {
  color: #687062;
  font-size: 1.05rem;
  line-height: 1.85;
  margin: 24px 0 0;
  max-width: 760px;
  word-break: keep-all;
}

.productCommerceFacts {
  border-bottom: 1px solid var(--kc-color-line);
  border-top: 1px solid var(--kc-color-line);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 42px 0 0;
}

.productCommerceFacts div {
  border-top: 1px solid rgba(32, 32, 31, 0.09);
  display: grid;
  gap: 8px;
  padding: 22px 0;
}

.productCommerceFacts div:nth-child(-n + 2) {
  border-top: 0;
}

.productCommerceFacts div:nth-child(2n) {
  padding-left: 28px;
}

.productCommerceFacts div:nth-child(2n + 1) {
  padding-right: 28px;
}

.productCommerceFacts dt {
  color: #bfa16f;
  font-size: 0.74rem;
  font-weight: 700;
  text-transform: uppercase;
}

.productCommerceFacts dd {
  color: #2f2a28;
  font-weight: 700;
  line-height: 1.45;
  margin: 0;
  word-break: keep-all;
}

.productCopyBlocks {
  display: grid;
  gap: 28px;
  margin-top: 48px;
}

.productCopyBlocks section {
  border-top: 1px solid var(--kc-color-line);
  padding-top: 28px;
}

.productCopyBlocks h3 {
  color: #2f2a28;
  font-size: 1.22rem;
  font-weight: 700;
  line-height: 1.35;
  margin: 0;
  word-break: keep-all;
}

.productCopyBlocks ul {
  display: grid;
  gap: 10px;
  list-style: none;
  margin: 18px 0 0;
  padding: 0;
}

.productCopyBlocks li {
  color: #5f665b;
  font-size: 1rem;
  line-height: 1.8;
  padding-left: 18px;
  position: relative;
  word-break: keep-all;
}

.productCopyBlocks li::before {
  background: #174f3a;
  border-radius: 50%;
  content: "";
  height: 5px;
  left: 0;
  position: absolute;
  top: 0.82em;
  width: 5px;
}

.certificationHero {
  align-items: end;
  background:
    linear-gradient(90deg, rgba(15, 20, 14, 0.88), rgba(15, 20, 14, 0.54)),
    url("/tenant-assets/koreancactus/migrations/koreancactus/images/qhd/web/hero/kc-farm-12-wide-1920x1080.webp") center / cover;
  color: #ffffff;
  display: grid;
  gap: 48px;
  grid-template-columns: minmax(0, 1fr) 280px;
  height: var(--kc-subpage-hero-height);
  min-height: var(--kc-subpage-hero-height);
  padding: calc(var(--kc-header-height) + 80px) var(--kc-section-pad-x) 76px;
}

.certificationHero h1 {
  color: #ffffff;
  font-size: var(--kc-font-hero-detail);
  line-height: 1.05;
  margin: 0;
  max-width: 720px;
  text-shadow: 0 1px 18px rgba(0, 0, 0, 0.35);
}

.certificationHero p {
  color: rgba(255, 255, 255, 0.78);
  line-height: 1.7;
  margin: 22px 0 0;
}

.certificationHero aside {
  background: rgba(255, 255, 255, 0.14);
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: var(--kc-radius-lg);
  padding: 24px;
}

.certificationHero aside span {
  color: #d8b24f;
  display: block;
  font-size: 0.78rem;
  font-weight: 700;
  margin-bottom: 12px;
  text-transform: uppercase;
}

.certificationHero aside strong {
  color: #ffffff;
  display: block;
  font-size: 1.6rem;
  line-height: 1.08;
}

.certificationDetailSection {
  padding-top: var(--kc-space-compact);
}

.productDetailGrid,
.singlePostView {
  align-items: start;
  display: grid;
  column-gap: var(--kc-grid-gap);
  row-gap: 42px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  padding: var(--kc-space-section) var(--kc-section-pad-x);
}

.productDetailGrid h2,
.singlePostView h1,
.singlePostView h2 {
  color: #2f2a28;
  font-size: var(--kc-font-section);
  line-height: 1.08;
  margin: 0 0 24px;
}

.postDetailHero {
  color: #ffffff;
  display: grid;
  height: var(--kc-subpage-hero-height);
  min-height: var(--kc-subpage-hero-height);
  overflow: hidden;
  place-items: center;
  position: relative;
  padding: var(--kc-header-height) 0 0;
}

.postDetailHero::after {
  background:
    linear-gradient(0deg, rgba(15, 20, 14, 0.54), rgba(15, 20, 14, 0.54)),
    linear-gradient(90deg, rgba(15, 20, 14, 0.42), rgba(15, 20, 14, 0.22));
  content: "";
  inset: 0;
  position: absolute;
}

.postDetailHero img {
  inset: 0;
  position: absolute;
}

.postDetailHero div {
  display: grid;
  justify-items: center;
  position: relative;
  text-align: center;
  width: min(var(--kc-content-max), calc(100% - (var(--kc-content-pad) * 2)));
  z-index: 1;
}

.postDetailHero h1 {
  color: #ffffff;
  font-size: var(--kc-font-hero-detail);
  line-height: 1.06;
  margin: 0;
  max-width: 920px;
  word-break: keep-all;
}

.postDetailHero p:not(.eyebrow) {
  color: rgba(255, 255, 255, 0.78);
  line-height: 1.75;
  margin: 22px 0 0;
  max-width: 620px;
}

.postArticleSection {
  background: #ffffff;
  display: grid;
  gap: clamp(32px, 5vw, 72px);
  grid-template-columns: minmax(180px, 260px) minmax(0, 860px);
  justify-content: start;
  padding: var(--kc-space-section) var(--kc-container-pad-x);
}

.postArticleAside {
  align-content: start;
  border-top: 2px solid #2f2a28;
  display: grid;
  gap: 12px;
  padding-top: 18px;
}

.postArticleAside span {
  color: #bfa16f;
  font-size: 0.82rem;
  font-weight: 800;
}

.postArticleAside strong {
  color: #2f2a28;
  font-size: 1.04rem;
  line-height: 1.35;
}

.postArticleAside small {
  color: #687062;
  font-size: 0.86rem;
  font-weight: 700;
}

.postArticleAside a {
  background: #2f2a28;
  border-radius: 999px;
  color: #ffffff;
  display: inline-grid;
  font-size: 0.88rem;
  font-weight: 700;
  justify-self: start;
  min-height: 42px;
  padding: 0 18px;
  place-items: center;
}

.postArticleBody {
  color: #4f514c;
  display: grid;
  gap: 22px;
}

.postArticleBody h2 {
  color: #2f2a28;
  font-size: var(--kc-title-section);
  line-height: 1.15;
  margin: 0;
  word-break: keep-all;
}

.postArticleBody p {
  margin: 0;
}

.postArticleLead {
  color: #687062;
  font-size: 1.14rem;
  line-height: 1.75;
}

.postArticleText {
  border-top: 1px solid rgba(32, 32, 31, 0.1);
  color: #4f514c;
  font-size: 1.03rem;
  line-height: 1.95;
  padding-top: 30px;
  word-break: keep-all;
}

.postDetailNav {
  align-items: center;
  background: #fbfaf6;
  display: grid;
  gap: 24px;
  grid-template-columns: auto minmax(0, 1fr);
  padding: 36px var(--kc-container-pad-x) clamp(72px, 8vw, 108px);
}

.postListLink {
  background: #ffffff;
  border: 1px solid rgba(32, 32, 31, 0.12);
  border-radius: 999px;
  color: #2f2a28;
  display: grid;
  font-weight: 800;
  min-height: 46px;
  padding: 0 20px;
  place-items: center;
}

.postDetailNav > div {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.postDetailNav > div > a {
  background: #ffffff;
  border: 1px solid rgba(32, 32, 31, 0.08);
  color: #2f2a28;
  display: grid;
  font-size: 0.95rem;
  font-weight: 700;
  gap: 6px;
  min-height: 78px;
  padding: 18px;
  word-break: keep-all;
}

.postDetailNav > div > a span {
  color: #bfa16f;
  font-size: 0.78rem;
}

.productDetailGrid p,
.singlePostView p {
  color: #687062;
  line-height: 1.85;
}

.detailLines {
  display: grid;
  gap: 14px;
  margin-top: 34px;
}

.ctaBand {
  color: #ffffff;
  display: grid;
  min-height: clamp(320px, 34vw, 520px);
  overflow: hidden;
  place-items: center;
  position: relative;
  text-align: center;
}

.ctaBand::after {
  background: rgba(15, 20, 14, 0.42);
  content: "";
  inset: 0;
  position: absolute;
}

.ctaBand img {
  inset: 0;
  position: absolute;
}

.ctaBand div {
  display: grid;
  justify-items: center;
  position: relative;
  z-index: 1;
}

.ctaBand h2 {
  color: #ffffff;
  font-size: var(--kc-title-section);
  line-height: 1.16;
  margin: 0 0 24px;
  max-width: 720px;
  word-break: keep-all;
}

.homeStatement h1,
.homeFeatureSplit h2,
.homeWorkHeader h2,
.homeSolutionsHeader h2,
.homeEventOverlay h2,
.homeBlogIntro h2,
.homeWhyChoose h2,
.ctaBand h2 {
  font-size: var(--kc-title-home-section);
  font-weight: var(--kc-weight-section);
  letter-spacing: 0;
  line-height: 1.08;
  word-break: keep-all;
}

.productHeroCopy h1,
.productDetailHeroCopy h1,
.certificationHero h1,
.postDetailHero h1,
.sectionHeading h2,
.postBoardHeader h2,
.splitStoryCopy h2,
.storyPanel h2,
.textBand h2,
.processBand h2,
.findUs h2,
.referenceInquiry h2,
.sourceBodyHeader h2,
.productDetailGrid h2,
.singlePostView h1,
.singlePostView h2,
.introduceLeadGrid h1,
.introduceInfoGrid h2,
.historyIntroCard h2,
.organizationFlowIntro h2,
.partnerShowcaseIntro h2,
.introduceCta h2 {
  font-weight: var(--kc-weight-section);
  letter-spacing: 0;
  word-break: keep-all;
}

.siteFooter {
  background: #fbfaf6;
  color: #687062;
  display: grid;
  font-size: 0.9rem;
  gap: 8px;
  line-height: 1.8;
  padding: 48px max(24px, calc((100% - var(--kc-content-max)) / 2)) 44px;
  position: relative;
  text-align: left;
}

.footerBrand {
  color: #17613c;
  display: block;
  font-size: var(--kc-title-wordmark);
  font-weight: var(--kc-weight-editorial);
  letter-spacing: 0;
  line-height: 0.96;
  margin-bottom: 16px;
  max-width: 100%;
  overflow-wrap: normal;
  white-space: nowrap;
  width: 100%;
}

.siteFooter p {
  margin: 0;
  max-width: none;
  overflow-wrap: normal;
  white-space: normal;
  width: 100%;
  word-break: keep-all;
}

.footerTop {
  background: #17613c;
  border: 0;
  border-radius: 50%;
  color: #ffffff;
  cursor: pointer;
  height: 42px;
  position: absolute;
  right: 24px;
  top: -21px;
  width: 42px;
}

.searchOverlay,
.mobileDrawer {
  background: rgba(20, 24, 19, 0.86);
  color: #ffffff;
  inset: 0;
  opacity: 0;
  pointer-events: none;
  position: fixed;
  transition: opacity var(--kc-motion-base) var(--kc-motion-ease);
  z-index: 100;
}

.searchOverlay[aria-hidden="false"],
.mobileDrawer[aria-hidden="false"] {
  opacity: 1;
  pointer-events: auto;
}

.searchPanel {
  margin: 16vh auto 0;
  transform: translateY(10px);
  transition: transform var(--kc-motion-base) var(--kc-motion-ease);
  width: min(900px, calc(100% - 48px));
}

.searchOverlay[aria-hidden="false"] .searchPanel {
  transform: translateY(0);
}

.eyebrow {
  color: var(--kc-color-sun);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0;
  margin: 0 0 14px;
}

.searchPanel input {
  background: transparent;
  border: 0;
  border-bottom: 2px solid rgba(255, 255, 255, 0.7);
  color: #ffffff;
  font-size: var(--kc-title-section);
  font-weight: var(--kc-weight-title);
  outline: 0;
  padding: 18px 0;
  width: 100%;
}

.searchPanel input::placeholder {
  color: rgba(255, 255, 255, 0.44);
}

.closeButton {
  border-radius: 999px;
  font-size: 2rem;
  height: 50px;
  position: absolute;
  right: 28px;
  top: 22px;
  width: 50px;
}

.mobileDrawer nav {
  display: grid;
  gap: 22px;
  margin: 95px auto 0;
  transform: translateY(12px);
  transition: transform var(--kc-motion-base) var(--kc-motion-ease);
  width: min(520px, calc(100% - 48px));
}

.mobileDrawer[aria-hidden="false"] nav {
  transform: translateY(0);
}

.mobileDrawer a {
  display: block;
  font-size: 2rem;
  font-weight: 700;
}

.mobileNavGroup {
  border-top: 1px solid rgba(255, 255, 255, 0.18);
  display: grid;
  gap: 12px;
  padding-top: 18px;
}

.unsupported {
  background: #fbfaf4;
  color: #1f251d;
  min-height: 60vh;
  padding: 120px 48px;
}

@media (hover: none) {
  .productCard:hover,
  .postBoardItem a:hover,
  .certificationCard:hover,
  .contentCard:hover,
  .homeWorkCard:hover,
  .homeSolutionsGrid figure:hover,
  .homeEventFeature:hover,
  .homeBlogCard:hover,
  .homeWhyGrid article:hover,
  .partnerGrid article:hover,
  .factStrip div:hover,
  .findUsRow:hover,
  .referenceButton:hover,
  .homeHeroActions a:hover,
  .heroCustomerActions a:hover,
  .heroCustomerActions button:hover,
  .ctaBand a:hover,
  .homeEventOverlay a:hover {
    box-shadow: none;
    transform: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .referencePage *,
  .referencePage *::before,
  .referencePage *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    transition-delay: 0ms !important;
  }

  .revealItem,
  .isRevealVisible {
    opacity: 1 !important;
    transform: none !important;
  }
}

@media (max-width: 980px) {
  .desktopLineBreak {
    display: none;
  }

  .mobileInlineSpace {
    display: inline;
  }

  .referencePage {
    --kc-subpage-hero-height: 520px;
    --kc-title-hero-home: 2.75rem;
    --kc-title-hero-sub: 3rem;
    --kc-title-hero-detail: 2.875rem;
    --kc-title-home-section: 2.5rem;
    --kc-title-lead: 3rem;
    --kc-title-section: 2.5rem;
    --kc-title-block: 1.75rem;
    --kc-title-card: 1.2rem;
    --kc-title-wordmark: 4.2rem;
  }

  .desktopNav {
    display: none;
  }

  .menuButton {
    display: block;
  }

  .referenceHomeHero {
    height: 560px;
    min-height: 560px;
  }

  .homeHeroCopy {
    bottom: auto;
    left: 30px;
    right: 24px;
    top: 50%;
    transform: translateY(-50%);
  }

  .homeHeroCopy h1 {
    font-size: var(--kc-font-hero-home);
  }

  .homeStatement {
    grid-template-columns: 1fr;
    min-height: 0;
    padding: 76px 24px;
  }

  .homeStatement h1 span {
    white-space: normal;
  }

  .homeFeatureSplit,
  .productDetailHero,
  .certificationHero {
    grid-template-columns: 1fr;
  }

  .homeFeatureSplit {
    gap: 36px;
  }

  .trustStrip {
    grid-template-columns: 1fr;
  }

  .productGrid,
  .isFeatured,
  .certificationGrid,
  .contentCardGrid,
  .galleryGrid,
  .profileGrid,
  .specGrid,
  .certificationDetailGrid,
  .statsBand,
  .splitStory,
  .storyPanel,
  .partnerGrid,
  .factStrip,
  .productDetailGrid,
  .singlePostView,
  .findUsRow,
  .postBoardToolbar,
  .postBoardItem a,
  .postArticleSection,
  .postDetailNav,
  .postDetailNav > div,
  .homeInquiry,
  .purposeGrid,
  .homeWorkHeader,
  .homeWorkGrid,
  .homeSolutionsHeader,
  .homeSolutionsGrid,
  .homeEventOverlay,
  .homeBlogLayout,
  .homeBlogGrid,
  .homeWhyGrid {
    grid-template-columns: 1fr;
  }

  .homeWorkHeader {
    align-items: start;
  }

  .homeWorkHeader p {
    grid-column: 1;
    grid-row: auto;
  }

  .homeSolutionsLarge {
    grid-row: auto;
    min-height: 420px;
  }

  .homeSolutionsSmallGrid,
  .homeSolutionsMeta {
    grid-template-columns: 1fr;
  }

  .homeEventOverlay {
    align-items: end;
  }

  .homeBlogIntro {
    justify-content: start;
  }

  .homeBlogTabs {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    padding-bottom: 4px;
  }

  .homeBlogTabs button {
    flex: 0 0 auto;
    width: auto;
  }

  .homeBlogIntro h2,
  .homeWhyChoose {
    text-align: left;
  }

  .purposePillars {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .reversedStory {
    direction: ltr;
  }

  .productHeroCopy {
    width: min(100% - 32px, 680px);
  }

  .productHeroCopy h1 {
    font-size: var(--kc-font-hero-section);
  }

  .sectionNav {
    align-items: stretch;
    border-radius: 22px;
    flex-direction: column;
  }

  .introduceEditorial {
    padding-left: 24px;
    padding-right: 24px;
  }

  .introduceLeadGrid,
  .introduceInfoGrid,
  .secondaryIntroGrid {
    grid-template-columns: 1fr;
    margin-left: 0;
  }

  .introduceLeadCopy {
    grid-column: auto;
  }

  .introduceEditorial .sectionNavWrap {
    margin-bottom: 56px;
  }

  .introduceLeadGrid,
  .introduceInfoGrid {
    margin-bottom: 72px;
  }

  .historyTimelineBand,
  .organizationFlowBand,
  .partnerShowcaseBand {
    grid-template-columns: 1fr;
  }

  .organizationFlowIntro,
  .partnerShowcaseIntro,
  .historyTimelineModern,
  .organizationFlow,
  .partnerShowcaseCards {
    grid-column: auto;
    grid-template-columns: 1fr;
  }

  .organizationFlow {
    border-bottom: 0;
    border-top: 0;
  }

  .organizationFlow li {
    border-left: 0;
    border-top: 0;
    padding: 24px;
  }

  .organizationFlow li:first-child {
    padding-left: 0;
  }

  .historyTimelineBand,
  .organizationFlowBand,
  .partnerShowcaseBand {
    margin-bottom: 72px;
  }

  .organizationFlow li,
  .partnerShowcaseCards article {
    min-height: 0;
  }

  .introduceWhiteBand {
    padding: 64px 0;
  }

  .secondaryIntroGrid {
    margin-bottom: 0;
  }

  .secondaryIntroGrid article:first-child,
  .secondaryIntroGrid article:nth-child(2) {
    grid-column: auto;
  }

  .introduceEditorialHero {
    aspect-ratio: 1.7 / 1;
  }

  .introduceInfoGrid figure {
    aspect-ratio: 16 / 10;
  }

  .introduceInfoGrid.introduceWhiteBand figure,
  .secondaryIntroGrid figure {
    grid-column: auto;
  }

  .historyGlobalGrid figure {
    grid-column: auto;
  }

  .organizationOpsGrid figure {
    grid-column: auto;
  }

  .partnerTrustGrid figure {
    grid-column: auto;
  }

  .splitStory,
  .storyPanel,
  .productDetailGrid,
  .singlePostView {
    gap: 34px;
    padding-bottom: 76px;
    padding-top: 76px;
  }

  .productCommerceSection {
    padding-bottom: 76px;
  }

  .productCommerceLayout {
    grid-template-columns: 1fr;
  }

  .productCommerceFacts {
    grid-template-columns: 1fr;
  }

  .productCommerceFacts div,
  .productCommerceFacts div:nth-child(2n),
  .productCommerceFacts div:nth-child(2n + 1) {
    padding-left: 0;
    padding-right: 0;
  }

  .productCommerceFacts div:nth-child(2) {
    border-top: 1px solid rgba(32, 32, 31, 0.09);
  }

  .productDetailHero {
    gap: 34px;
    align-content: end;
    height: var(--kc-subpage-hero-height);
    min-height: var(--kc-subpage-hero-height);
    overflow: hidden;
    padding-bottom: 56px;
    padding-top: calc(var(--kc-header-height) + 42px);
    position: relative;
  }

  .productDetailHeroMedia {
    display: none;
  }

  .productDetailHeroCopy {
    position: relative;
    z-index: 1;
  }

  .productDetailHeroCopy > p:not(.eyebrow) {
    max-width: 640px;
  }

  .detailHeroSpecs {
    display: none;
  }

  .certificationHero {
    align-items: end;
    height: var(--kc-subpage-hero-height);
    min-height: var(--kc-subpage-hero-height);
    overflow: hidden;
    padding-bottom: 56px;
    padding-top: calc(var(--kc-header-height) + 58px);
  }

  .certificationHero aside {
    display: none;
  }

  .postDetailHero {
    height: var(--kc-subpage-hero-height);
    min-height: var(--kc-subpage-hero-height);
    padding-bottom: 62px;
    padding-left: 0;
    padding-right: 0;
    padding-top: calc(var(--kc-header-height) + 58px);
  }

  .detailHeroSpecs {
    grid-template-columns: 1fr;
  }

  .splitStoryImage,
  .storyPanel > img,
  .productDetailGrid figure,
  .singlePostView figure {
    min-height: 320px;
  }

  .sectionHeading.row {
    align-items: start;
    flex-direction: column;
  }

  .sourceBodyHeader {
    align-items: start;
    flex-direction: column;
  }

  .postBoardHeader {
    align-items: start;
    flex-direction: column;
  }

  .postBoardItem a {
    gap: 14px;
    height: auto;
    min-height: 0;
    padding: 14px;
  }

  .postBoardItem figure {
    aspect-ratio: 16 / 9;
    height: auto;
  }

  .postBoardItem a > strong {
    justify-self: start;
  }

  .postArticleAside {
    border-top-width: 1px;
  }

  .postDetailNav {
    align-items: stretch;
  }
}

@media (max-width: 640px) {
  .referencePage {
    --kc-title-hero-home: 2rem;
    --kc-title-hero-sub: 2.125rem;
    --kc-title-hero-detail: 2.25rem;
    --kc-title-home-section: 1.875rem;
    --kc-title-lead: 2rem;
    --kc-title-section: 1.875rem;
    --kc-title-block: 1.5rem;
    --kc-title-card: 1.125rem;
    --kc-title-wordmark: 2.6rem;
  }

  .siteHeader {
    height: 70px;
    margin-bottom: -70px;
  }

  .headerInner {
    width: calc(100% - 34px);
  }

  .brandMark .brandLogo {
    height: 34px;
  }

  .iconButton {
    display: inline-flex;
  }

  .homeInquiryInfo h2 br {
    display: none;
  }

  .referenceTitle h2 {
    font-size: var(--kc-title-hero-sub);
  }

  .imageQuote {
    height: 310px;
  }

  .purposeSection {
    min-height: 0;
    padding: 72px 18px;
  }

  .purposeIntro h2 {
    font-size: var(--kc-font-section);
    margin: 0;
  }

  .purposeIntro p {
    font-size: 0.96rem;
  }

  .purposeDiagram {
    height: 212px;
    width: 288px;
  }

  .purposeCircle {
    font-size: 0.82rem;
    height: 176px;
    width: 176px;
  }

  .purposePillars {
    grid-template-columns: 1fr;
  }

  .purposePillars article {
    min-height: 0;
    padding: 22px;
  }

  .purposeBrand .sectionBrandLogo {
    width: 180px;
  }

  .homeHeroCopy {
    bottom: auto;
    left: 16px;
    top: 50%;
    transform: translateY(-50%);
  }

  .homeHeroCopy h1 {
    font-size: var(--kc-font-hero-home);
    line-height: 1.03;
  }

  .homeHeroCopy > span {
    font-size: 0.92rem;
  }

  .homeFeatureSplit {
    padding: 72px 20px;
  }

  .homeWorkSection,
  .homeSolutionsSection,
  .homeBlogMagazine,
  .homeWhyChoose {
    padding: 72px 20px;
  }

  .homeSectionRule {
    grid-template-columns: 1fr;
    gap: 6px;
    padding: 10px 0;
  }

  .homeSectionRule span:last-child {
    text-align: left;
  }

  .homeWorkCard,
  .homeEventFeature {
    min-height: 310px;
  }

  .homeSolutionsLarge {
    min-height: 320px;
  }

  .homeFeatureSplit figure,
  .homeStatementImage {
    min-height: 0;
    height: 300px;
  }

  .productDetailHero,
  .certificationHero,
  .postDetailHero {
    padding-left: 20px;
    padding-right: 20px;
  }

  .postDetailHero {
    padding-left: 0;
    padding-right: 0;
  }

  .productDetailHeroCopy h1,
  .certificationHero h1,
  .postDetailHero h1 {
    font-size: var(--kc-font-hero-detail);
  }

  .certificationHero aside {
    padding: 18px;
  }

  .referenceMap {
    height: 320px;
  }

  .ctaBand {
    min-height: 260px;
  }

  .homeDownloadActions {
    gap: 18px;
  }

  .section {
    padding: 72px 0;
    width: min(100% - 36px, 1200px);
  }

  .introduceEditorial {
    padding: 56px 18px 64px;
  }

  .introduceEditorialInner {
    gap: 0;
  }

  .introduceLeadGrid h1 {
    font-size: 2.35rem;
  }

  .introduceCta {
    padding: 68px 20px;
  }

  .productCard figure {
    height: auto;
    width: 100%;
  }

  .homeInquiry {
    padding: 72px 20px;
  }

  .homeReferenceForm {
    grid-template-columns: 1fr;
  }

  .homeReferenceForm .formHalf {
    grid-column: 1 / -1;
  }

  .homeReferenceForm .formThird {
    grid-column: 1 / -1;
  }

  .homeReferenceForm fieldset {
    grid-template-columns: 1fr;
  }

  .homeReferenceForm fieldset span {
    display: none;
  }
}

/* Keep customer-change readability authoritative. */
.homeWorkCard p,
.homeBlogCard p,
.homeWhyGrid p,
.organizationFlow p,
.partnerShowcaseCards p,
.postBoardCopy p {
  font-size: max(1rem, 16px);
  line-height: 1.7;
}

/* Keep localized layout overrides last so later Korean presentation rules
   cannot restore keep-all or fixed-height assumptions. */
.referencePage[data-locale="en"] :where(h1, h2, h3, h4, p, li, strong),
.referencePage[data-locale="ja"] :where(h1, h2, h3, h4, p, li, strong) {
  overflow-wrap: anywhere;
  word-break: normal;
}

.referencePage[data-locale="ja"] :where(h1, h2, h3, h4, p, li, strong) {
  line-break: strict;
}

.referencePage[data-locale="en"] .homeStatement h1 span,
.referencePage[data-locale="ja"] .homeStatement h1 span,
.referencePage[data-locale="en"] .partnerCardHeading,
.referencePage[data-locale="ja"] .partnerCardHeading {
  white-space: normal;
}

.homeStatement > div,
.homeFeatureSplit > div,
.historyTimelineBand > *,
.organizationFlowBand > *,
.partnerShowcaseBand > *,
.historyTimelineModern > *,
.organizationFlow > *,
.partnerShowcaseCards > * {
  min-width: 0;
}

.referencePage[data-locale="en"] .partnerShowcaseCards,
.referencePage[data-locale="ja"] .partnerShowcaseCards {
  grid-auto-rows: minmax(344px, auto);
}

.referencePage[data-locale="en"] .partnerShowcaseCards article,
.referencePage[data-locale="ja"] .partnerShowcaseCards article {
  height: auto;
  min-height: 344px;
}

.referencePage[data-locale="ja"] .productCard h3 {
  letter-spacing: -0.01em;
}
