/* Enkupanet — buyer-focused visual refinements, layered over the original design. */
:root {
  --muted: #58675d;
  --focus-ring: #0e752c;
  --gold-text: #765817;
  --gold-on-green: #f8e6b8;
}
html { scroll-padding-top: 105px; }
body { overflow-x: clip; }
:where(a, button, summary):focus-visible {
  outline: 3px solid var(--focus-ring);
  outline-offset: 4px;
}
:where(.pill-link, .nav-contact, .product-card, .feature-card, .catalogue-help-link, .dialog-inquiry, .partner-inquiry) {
  -webkit-tap-highlight-color: transparent;
}
.main-nav a, .nav-contact, .lang-switch button { min-height: 44px; }
.main-nav a { display: inline-flex; align-items: center; }
.mobile-nav-contact { display: none !important; }

/* Hero: two purposeful actions, and an accurate four-family label (not a false carousel). */
.hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; }
.hero-actions .pill-link { margin-top: 32px; }
.hero-secondary {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: 49px;
  margin-top: 32px;
  color: #f0e8d5;
  font-size: 12px;
  font-weight: 650;
  border-bottom: 1px solid rgba(236, 224, 190, .7);
  transition: color .2s, border-color .2s;
}
.hero-secondary:hover { color: #fff; border-color: #fff; }
.hero-secondary span[aria-hidden] { font-size: 17px; }
.hero-index { margin-top: 46px; }
.hero-index-total { color: #f0d59c; letter-spacing: .16em; font-weight: 750; }
.hero-index .index-line { width: 38px; }

/* Product collection: highlight buyer-relevant information and make inquiry effortless. */
.product-card { height: 100%; }
.product-card-info { display: flex; flex-direction: column; height: calc(100% - 248px); }
.product-card .product-brief { min-height: 0; margin-bottom: 17px; }
.product-card-spec {
  margin-top: auto;
  border-top: 1px solid #e7e0d2;
  padding-top: 14px;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px 14px;
  color: #243e31;
}
.product-card-spec-label { color: #66756b; font-size: 11px; }
.product-card-spec-value { font-size: 12px; font-weight: 750; text-align: right; line-height: 1.5; }
.catalogue-help {
  margin-top: 36px;
  padding: 27px 30px;
  border: 1px solid #d8d2c5;
  border-left: 3px solid #b2945e;
  background: #f8f6ef;
  display: flex;
  gap: 20px 36px;
  justify-content: space-between;
  align-items: center;
}
.catalogue-help h3 { font: normal 25px/1.25 var(--serif); margin-bottom: 7px; }
.catalogue-help p { color: #566c60; font-size: 13px; line-height: 1.7; max-width: 690px; }
.catalogue-help-link, .partner-inquiry {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  padding: 14px 19px;
  min-height: 46px;
  flex: 0 0 auto;
  background: var(--green);
  color: white;
  font-size: 12px;
  font-weight: 700;
  transition: background .2s, transform .2s;
}
.catalogue-help-link:hover, .partner-inquiry:hover { background: #285541; transform: translateY(-2px); }

/* Product details: conventional close placement and product-specific inquiry action. */
.product-dialog { position: fixed; }
.dialog-close {
  position: absolute;
  z-index: 11;
  top: 15px;
  right: 15px;
  left: auto;
  margin: 0;
  border: 1px solid #ddd6c7;
  box-shadow: 0 3px 12px rgba(13, 35, 26, .1);
}
.dialog-info { padding-top: 77px; }
.dialog-actions { border-top: 1px solid #d8d2c6; margin-top: 26px; padding-top: 24px; }
.dialog-inquiry {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  min-height: 48px;
  padding: 14px 21px;
  background: var(--green);
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  transition: background .2s;
}
.dialog-inquiry:hover { background: #275640; }
.dialog-inquiry-note { font-size: 11px; color: #697a70; line-height: 1.65; margin-top: 12px; }
.partner-inquiry { margin-top: 26px; }
.footer-intro { font-size: 13px; line-height: 1.7; color: #c9d7ce; margin: -8px 0 23px; }

/* Chinese copy uses a type system intended for Han characters. */
html:lang(zh-CN) {
  --sans: "Noto Sans CJK SC", "Microsoft YaHei", "PingFang SC", Arial, sans-serif;
}
html:lang(zh-CN) :is(.hero h1, .section-intro h2, .catalogue-top h2, .product-card h3,
  .story-section h2, .coffee-section h2, .approach-section h2, .partner-section h2,
  .footer-main h2, .dialog-info h2, .catalogue-help h3) {
  font-family: var(--sans);
  letter-spacing: -.025em;
}
html:lang(zh-CN) .hero h1 { line-height: 1.22; }
html:lang(zh-CN) .hero h1 em { font-style: normal; }

@media (max-width: 1200px) {
  .hero-actions { align-items: flex-start; gap: 7px 16px; }
  .hero-actions .pill-link, .hero-secondary { margin-top: 26px; }
  .product-card-info { height: calc(100% - 248px); }
}
@media (max-width: 920px) {
  .mobile-nav-contact {
    display: flex !important;
    justify-content: space-between;
    align-items: center;
    background: var(--green);
    color: white;
    padding: 14px 16px !important;
    margin-top: 17px;
    font-weight: 700;
    font-size: 13px;
    border: 0 !important;
  }
  .mobile-toggle { align-items: center; justify-content: center; min-width: 44px; min-height: 44px; }
  .main-nav a { min-height: 49px; }
  .main-nav { max-height: calc(100dvh - 95px); overflow-y: auto; }
  .product-card-info { height: calc(100% - 200px); }
}
@media (max-width: 640px) {
  html { scroll-padding-top: 83px; }
  .topline { font-size: 9px; letter-spacing: .04em; padding: 0 9px; }
  .brand-copy strong { font-size: 15px; }
  .brand-copy small { font-size: 9px; line-height: 1.3; letter-spacing: .035em; }
  .lang-switch button { min-width: 32px; font-size: 12px; }
  .hero-copy { min-height: 0; }
  .hero-copy-inner { padding: 56px 0 46px; }
  .hero h1 { font-size: clamp(39px, 10.2vw, 57px); line-height: 1.09; }
  .hero-desc { font-size: 14px; line-height: 1.75; }
  .hero-actions { display: flex; flex-direction: column; gap: 3px; align-items: flex-start; }
  .hero-actions .pill-link { margin-top: 26px; }
  .hero-secondary { min-height: 44px; margin-top: 0; }
  .hero-index { margin-top: 38px; font-size: 10px; gap: 10px; }
  .hero-index .index-caption { margin-left: 0; font-size: 10px; }
  .section-intro h2, .catalogue-top h2, .coffee-section h2, .approach-section h2,
  .partner-section h2, .story-section h2 { font-size: clamp(38px, 10.4vw, 54px); }
  .section-intro .eyebrow, .coffee-copy .eyebrow, .story-section .eyebrow,
  .catalogue-top .eyebrow { font-size: 11px; }
  .feature-label small, .feature-number { font-size: 11px; }
  .feature-label div > span { font-size: 13px; }
  .filter-row button { min-height: 44px; font-size: 12px; padding: 11px 15px; }
  .product-card-info { height: calc(100% - 170px); }
  .product-card .product-brief { font-size: 12px; line-height: 1.65; margin-bottom: 14px; }
  .product-card .product-local { font-size: 11px; line-height: 1.4; }
  .product-card-top { font-size: 10px; }
  .product-card-spec-label { font-size: 11px; }
  .product-card-spec-value { font-size: 12px; }
  .catalogue-help { padding: 24px 19px; align-items: flex-start; flex-direction: column; gap: 17px; }
  .catalogue-help h3 { font-size: 24px; }
  .catalogue-help p { font-size: 13px; }
  .catalogue-help-link { width: 100%; }
  .story-section p, .coffee-copy p, .approach-header > p, .partner-grid p { font-size: 14px; }
  .step p { font-size: 12px; }
  .step .step-cn { font-size: 11px; }
  .footer-intro { font-size: 13px; }
  .footer-brand small { font-size: 9px; }
  .dialog-close { top: 9px; right: 9px; margin: 0; min-height: 44px; min-width: 44px; }
  .dialog-info { padding: 26px 23px 33px; }
  .dialog-info h2 { font-size: 35px; }
  .dialog-inquiry { display: flex; width: 100%; }
  .spec-row { font-size: 12px; }
  .partner-inquiry { display: flex; width: max-content; max-width: 100%; }
}
@media (max-width: 470px) {
  .product-grid { grid-template-columns: 1fr; gap: 17px; }
  .product-card-img { height: 235px; }
  .product-card-info { height: auto; min-height: 206px; padding: 20px 21px 22px; }
  .product-card h3 { font-size: 27px; }
  .product-card .product-local { font-size: 12px; }
  .product-card .product-brief { font-size: 13px; }
  .product-card-spec { margin-top: auto; }
  .steps-grid { grid-template-columns: 1fr 1fr; gap: 18px; }
  .step h3 { font-size: 18px; }
}
@media (max-width: 360px) {
  .brand-copy strong { font-size: 13px; }
  .brand-copy small { font-size: 8px; }
  .hero h1 { font-size: 38px; }
  .hero-index { flex-wrap: wrap; }
  .origin-grid { grid-template-columns: 1fr; }
  .steps-grid { grid-template-columns: 1fr; }
  .step { display: grid; grid-template-columns: 35px 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .hero-secondary, .catalogue-help-link, .dialog-inquiry, .partner-inquiry { transition: none; }
  .catalogue-help-link:hover, .partner-inquiry:hover { transform: none; }
}


/* Premium motion system — Enkupanet
   Editorial easing, one-time reveals, and quiet gold interactions.
   Brand colors, type hierarchy and image content remain unchanged. */
@media (prefers-reduced-motion: no-preference) {
  @keyframes enk-rise {
    from { opacity: 0; transform: translate3d(0, 19px, 0); }
    to { opacity: 1; transform: translate3d(0, 0, 0); }
  }
  @keyframes enk-photo-arrive {
    from { opacity: .76; transform: scale(1.065); }
    to { opacity: 1; transform: scale(1); }
  }
  @keyframes enk-line-draw {
    from { transform: scaleX(0); }
    to { transform: scaleX(1); }
  }
  @keyframes enk-dialog-arrive {
    from { opacity: 0; transform: translate3d(0, 18px, 0) scale(.986); }
    to { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
  }
  @keyframes enk-backdrop-arrive {
    from { opacity: 0; }
    to { opacity: 1; }
  }

  html.motion-ready .hero .eyebrow {
    animation: enk-rise .68s cubic-bezier(.22,1,.36,1) .07s both;
  }
  html.motion-ready .hero h1 {
    animation: enk-rise .9s cubic-bezier(.22,1,.36,1) .17s both;
  }
  html.motion-ready .hero .hero-chinese {
    animation: enk-rise .72s cubic-bezier(.22,1,.36,1) .29s both;
  }
  html.motion-ready .hero .hero-desc {
    animation: enk-rise .8s cubic-bezier(.22,1,.36,1) .39s both;
  }
  html.motion-ready .hero .hero-actions {
    animation: enk-rise .82s cubic-bezier(.22,1,.36,1) .49s both;
  }
  html.motion-ready .hero .hero-index {
    animation: enk-rise .8s cubic-bezier(.22,1,.36,1) .61s both;
  }
  html.motion-ready .hero .eyebrow-line {
    transform-origin: left center;
    animation: enk-line-draw .8s cubic-bezier(.22,1,.36,1) .29s both;
  }
  html.motion-ready .hero-visual img {
    animation: enk-photo-arrive 1.5s cubic-bezier(.22,1,.36,1) both;
  }

  /* Scroll-triggered elements remain visible without JavaScript. */
  html.motion-ready [data-motion] {
    transition-property: opacity, transform;
    transition-duration: .8s;
    transition-timing-function: cubic-bezier(.22,1,.36,1);
    transition-delay: var(--motion-delay, 0ms);
  }
  html.motion-ready [data-motion]:not(.is-in-view) {
    opacity: 0;
    transform: translate3d(0, 24px, 0);
  }
  html.motion-ready [data-motion].is-in-view {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
  html.motion-ready .feature-card[data-motion]:not(.is-in-view),
  html.motion-ready .product-card[data-motion]:not(.is-in-view) {
    transform: translate3d(0, 18px, 0);
  }
  html.motion-ready .product-card[data-motion].is-in-view:hover {
    transform: translate3d(0, -5px, 0);
  }

  .product-dialog[open] {
    transform-origin: center;
    animation: enk-dialog-arrive .38s cubic-bezier(.22,1,.36,1) both;
  }
  .product-dialog[open]::backdrop {
    animation: enk-backdrop-arrive .32s ease-out both;
  }
}

/* Quiet, purposeful interactions. No perpetual loops or parallax. */
@media (hover: hover) and (pointer: fine) {
  .main-nav a:not(.mobile-nav-contact) {
    position: relative;
  }
  .main-nav a:not(.mobile-nav-contact)::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 4px;
    height: 1px;
    background: var(--gold);
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform .36s cubic-bezier(.22,1,.36,1);
  }
  .main-nav a:not(.mobile-nav-contact):is(:hover,:focus-visible)::after {
    transform: scaleX(1);
  }
  .hero-actions a span[aria-hidden="true"],
  .catalogue-help-link span[aria-hidden="true"],
  .partner-inquiry span[aria-hidden="true"],
  .dialog-inquiry span[aria-hidden="true"] {
    display: inline-block;
    transition: transform .34s cubic-bezier(.22,1,.36,1);
  }
  .hero-actions a:hover span[aria-hidden="true"],
  .catalogue-help-link:hover span[aria-hidden="true"],
  .partner-inquiry:hover span[aria-hidden="true"],
  .dialog-inquiry:hover span[aria-hidden="true"] {
    transform: translate3d(3px, -3px, 0);
  }
  .feature-card::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: var(--gold);
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform .55s cubic-bezier(.22,1,.36,1);
    pointer-events: none;
  }
  .feature-card:is(:hover,:focus-visible)::after {
    transform: scaleX(1);
  }
  .feature-card .feature-label {
    transition: transform .42s cubic-bezier(.22,1,.36,1);
  }
  .feature-card:is(:hover,:focus-visible) .feature-label {
    transform: translate3d(0,-4px,0);
  }
  .product-card:is(:hover,:focus-visible) {
    border-color: #c9af77;
  }
}

@media (max-width: 640px) and (prefers-reduced-motion: no-preference) {
  html.motion-ready [data-motion] {
    transition-duration: .59s;
    transition-delay: 0ms;
  }
  html.motion-ready [data-motion]:not(.is-in-view) {
    transform: translate3d(0, 15px, 0);
  }
  html.motion-ready .hero-visual img {
    animation-duration: .86s;
  }
}
@media (prefers-reduced-motion: reduce) {
  html.motion-ready [data-motion] {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
  .product-dialog[open], .product-dialog[open]::backdrop {
    animation: none !important;
  }
  .main-nav a::after,
  .feature-card::after,
  .hero-actions a span[aria-hidden="true"] {
    transition: none !important;
  }
}

/* Enkupanet brand green — sampled from supplied logo reference (#0E752C).
   Existing gold, cream, layout, imagery, and motion remain unchanged. */
:root {
  --green: #0E752C;
  --green-dark: #075522;
}
.topline, .hero, .hero-copy, .story-content { background-color: var(--green); }
.approach-section { background-color: #0B682B; }
footer { background-color: #075222; }

/* Retain gold as the accent; lighten small text over the brighter brand green
   so international buyers can still read it clearly. */
.topline, .topline-right,
.hero .eyebrow-light, .hero-chinese,
.hero-index, .hero-index-total, .hero-index .index-caption {
  color: #FFF0C9;
}
.hero-desc, .story-section p, .approach-header > p, .step p {
  color: #F3F7EF;
}
.story-section h2 em, .story-section .values,
.step .step-cn, .step .step-num {
  color: #FFF0C9;
}
.hero .hero-index .index-line,
.hero .eyebrow-line { background-color: var(--gold); }

/* Green photo treatment and tactile controls use the same emerald family. */
.feature-wash {
  background: linear-gradient(to top, rgba(4,72,26,.85), rgba(8,88,35,.08) 60%);
}
.nav-contact:hover, .catalogue-help-link:hover,
.partner-inquiry:hover, .dialog-inquiry:hover {
  background-color: #086026;
}
@media (prefers-contrast: more) {
  .hero-desc, .story-section p, .approach-header > p, .step p {
    color: #FFFFFF;
  }
}

/* Editorial layer for the existing static Enkupanet site. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.reading-progress{position:fixed;z-index:200;top:0;left:0;width:100%;height:3px;background:var(--gold);transform:scaleX(var(--reading-progress,0));transform-origin:left;pointer-events:none}
.hero{isolation:isolate}
.hero-visual::after{content:"";position:absolute;inset:16px;border:1px solid rgba(255,240,201,.32);pointer-events:none}
.hero-visual-shade{background:linear-gradient(90deg,rgba(2,44,18,.3),transparent 40%),linear-gradient(0deg,rgba(2,32,14,.62),transparent 42%)}
.hero-image-label{background:rgba(7,68,29,.8);border-left:2px solid var(--gold);padding:12px 15px;backdrop-filter:blur(10px)}
.hero-copy-inner::after{content:"";display:block;width:72px;height:2px;background:var(--gold);margin-top:34px;opacity:.8}
.catalogue-mobile-tools{display:none}
.product-card:focus-visible{outline-offset:5px}
.product-card-img{position:relative}
.product-card-img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 67%,rgba(9,49,23,.14));pointer-events:none}
.origin-explorer{margin-top:20px}
.origin-map{position:relative;width:min(100%,400px);margin:0 auto 20px;aspect-ratio:6/5}
.origin-map img{width:100%;height:100%;object-fit:contain}
.origin-pin{position:absolute;left:var(--x);top:var(--y);display:grid;place-items:center;width:27px;height:27px;transform:translate(-50%,-50%);border-radius:50%;border:1px solid #fff;background:#0E752C;color:#fff;font-size:11px;font-weight:750;box-shadow:0 3px 12px #14332255;transition:background .3s,scale .3s,box-shadow .3s}
.origin-pin.active{z-index:2;background:#b78a37;color:#102e1c;scale:1.28;box-shadow:0 0 0 6px #fff9,0 3px 16px #14332255}
.map-north{position:absolute;right:5%;top:6%;color:#4c644f;font:700 11px var(--sans);letter-spacing:.12em}
.origin-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.origin-list button{min-height:54px;display:grid;grid-template-columns:24px 1fr;align-items:center;gap:0 8px;border:1px solid #d6cfbd;background:#f8f5eb;text-align:left;padding:8px 10px;color:var(--text);transition:background .25s,border-color .25s}
.origin-list button>span{grid-row:span 2;color:#9a7c43;font:700 11px var(--sans)}
.origin-list button strong{font-size:12px;font-weight:700}
.origin-list button small{color:#69776b;font-size:10px}
.origin-list button:hover,.origin-list button.active{background:#0E752C;border-color:#0E752C;color:#fff}
.origin-list button:is(:hover,.active)>span,.origin-list button:is(:hover,.active) small{color:#fff0c9}
.origin-selection{margin-top:15px;color:#0d6328;font-size:12px;font-weight:700;line-height:1.5}
.origin-disclaimer{margin-top:10px;color:#5f6b60;font-size:11px;line-height:1.6}
.approach-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(35px,7vw,120px);align-items:start}
.approach-header{position:sticky;top:125px;display:block}
.approach-header>p{max-width:450px;margin-top:28px;padding:0}
.steps-grid{display:block;margin:0;border-left:1px solid rgba(255,240,201,.35)}
.step{display:grid;grid-template-columns:58px 1fr;gap:17px;position:relative;padding:30px 0 34px 25px;border-top:1px solid rgba(255,240,201,.32);opacity:.7;transition:opacity .4s,background .4s,padding-left .4s}
.step:first-child{border-top:0}
.step::before{content:"";position:absolute;left:-2px;top:0;bottom:0;width:3px;background:var(--gold);transform:scaleY(0);transform-origin:top;transition:transform .5s}
.step.current{opacity:1;background:linear-gradient(90deg,rgba(255,240,201,.09),transparent 80%);padding-left:34px}
.step.current::before{transform:scaleY(1)}
.step h3{font-size:26px}
.step p{max-width:440px}
.dialog-share{display:inline-flex;align-items:center;min-height:44px;margin-top:13px;color:var(--green);font-size:12px;font-weight:750;text-decoration:underline;text-underline-offset:4px}
.dialog-share:hover{color:#075522}
.dialog-inquiry-note{margin-top:8px}
@media(max-width:920px){



 .approach-layout{grid-template-columns:1fr;gap:48px}
 .approach-header{position:static}
 .approach-section h2{max-width:680px}
 .steps-grid{max-width:760px}
}
@media(max-width:640px){
 .hero-visual::after{inset:11px}
 .hero-copy-inner::after{margin-top:24px}
 .filter-row{display:flex;flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:none;margin-right:-17px;padding:0 17px 8px 0}
 .filter-row::-webkit-scrollbar{display:none}
 .filter-row button{flex:0 0 auto}
 .catalogue-mobile-tools{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:0 0 14px;color:#53685b;font-size:11px;font-weight:700}
 .catalogue-mobile-tools>div{display:flex;gap:6px}
 .catalogue-mobile-tools button{width:44px;height:44px;border:1px solid #a5b7a6;background:transparent;color:var(--green);font-size:19px}
 .catalogue-mobile-tools button:hover{background:var(--green);color:#fff}
 .product-grid{display:flex;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scroll-padding-inline:17px;gap:17px;margin:0 -17px;padding:0 17px 18px;scrollbar-width:thin;scrollbar-color:#b59b6a transparent}
 .product-card{flex:0 0 min(82vw,365px);scroll-snap-align:start;height:auto}
 .product-card-img{height:225px}
 .product-card-info{height:auto;min-height:240px;padding:20px 21px 22px}
 .product-card h3{font-size:27px}
 .origin-list{gap:5px}
 .origin-list button{min-height:61px;padding:7px;grid-template-columns:18px 1fr;gap:0 5px}
 .origin-list button strong{font-size:11px}
 .origin-list button small{font-size:9px}
 .step{grid-template-columns:42px 1fr;gap:12px;padding:23px 0 25px 17px;opacity:1}
 .step.current{padding-left:22px}
 .step h3{font-size:21px}
 .dialog-share{width:100%;justify-content:center}
}
@media(max-width:360px){
 .nav-layout{gap:5px}
 .brand{gap:6px}
 .brand img{width:32px;height:32px}
 .brand-copy strong{font-size:11px;letter-spacing:.045em}
 .brand-copy small{display:none}
 .lang-switch{gap:2px}
 .lang-switch button{min-width:28px}
 .origin-list{grid-template-columns:1fr}
 .origin-list button{grid-template-columns:24px 1fr}
 .steps-grid{display:block}
}
@media(prefers-reduced-motion:reduce){.origin-pin,.origin-list button,.step,.step::before{transition:none}.reading-progress{display:none}}

/* A useful buyer directory replaces the repeated closing slogan. */
footer{padding:0 0 27px;background:#075222}
.footer-topline{display:flex;justify-content:space-between;gap:25px;border-bottom:1px solid #ffffff4d;padding:23px 0;color:#e6d5a7;font-size:10px;font-weight:750;letter-spacing:.16em}
.footer-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(230px,.75fr);gap:clamp(48px,8vw,130px);padding:80px 0 90px}
.footer-main h2{max-width:720px;font-size:clamp(45px,5vw,70px);margin:42px 0 30px}
.footer-intro{max-width:520px;margin:0 0 30px;color:#d5e3d7;font-size:14px}
.footer-email{font-size:clamp(20px,2.5vw,32px);overflow-wrap:anywhere}
.footer-directory{display:flex;flex-direction:column;align-self:stretch;justify-content:flex-end;border-left:1px solid #ffffff55;padding-left:clamp(28px,4vw,60px)}
.footer-directory h3,.footer-directory-label{color:#dfc889;font-size:10px;font-weight:750;letter-spacing:.16em;text-transform:uppercase}
.footer-directory h3{margin:0 0 22px}
.footer-directory a{display:flex;align-items:center;min-height:48px;border-bottom:1px solid #ffffff3d;color:#fff;font-size:14px;font-weight:600;transition:color .2s,padding-left .2s}
.footer-directory a:hover{color:#f2dca6;padding-left:5px}
.footer-directory-label{margin-top:38px}
.footer-directory p{color:#d5e3d7;font-size:11px;line-height:1.7;letter-spacing:.08em;margin-top:12px}
.footer-bottom{margin-top:0;border-color:#ffffff55;align-items:center}
.footer-bottom a{min-height:44px;display:inline-flex;align-items:center}
.credits{max-width:none}
.credits a{display:inline;min-height:0;margin:0;color:#f6eee0;text-decoration:underline;text-underline-offset:2px}
@media(max-width:760px){.footer-grid{grid-template-columns:1fr;gap:52px;padding:62px 0 69px}.footer-directory{border-left:0;border-top:1px solid #ffffff55;padding:36px 0 0;justify-content:flex-start}.footer-directory h3{margin-bottom:10px}.footer-directory-label{margin-top:30px}}
@media(max-width:640px){.footer-topline{padding:19px 0;font-size:9px}.footer-topline span:last-child{display:none}.footer-main h2{font-size:clamp(44px,11vw,58px);margin:34px 0 25px}.footer-intro{font-size:13px}.footer-email{font-size:clamp(19px,5.3vw,26px)}.footer-bottom{gap:12px 22px}.footer-bottom a{margin-left:0}}
@media(prefers-reduced-motion:reduce){.footer-directory a{transition:none}}

/* Readable text and focus states without changing the brand palette. */
:is(.hero, .story-section, .approach-section, footer) :where(a, button, summary):focus-visible {
  --focus-ring: var(--gold-on-green);
}
.lang-switch button:not(.active) { color: var(--muted); }
.lang-switch button { min-width: 28px; }
.eyebrow:not(.eyebrow-light), .section-marker, .partner-accent,
.origin-panel-head, .origin-list button > span { color: var(--gold-text); }
.story-section .eyebrow-light, .approach-section .eyebrow-light {
  color: var(--gold-on-green);
}
.catalogue-top h2 em { color: var(--gold-text); }
.product-card-top span:first-child { color: var(--gold-text); }
.product-card .product-brief, .origin-list button small,
.origin-disclaimer { color: var(--muted); }
#dialogCategory, #dialogSpecHeading { color: var(--gold-text); }
#dialogDescription, #dialogNote, #dialogInquiryNote { color: var(--muted); }
.step { opacity: 1; }
.footer-bottom, .footer-bottom summary { color: #d5e3d7; }


/* Clean minimal navigation, responsive dropdown without excess space. */
.footer-bottom .footer-credits-link{margin-left:0;opacity:.8;font-size:10px;letter-spacing:.04em}
.footer-bottom .footer-credits-link:hover{opacity:1;text-decoration:underline;text-underline-offset:4px}
@media(min-width:921px){
 .site-header .main-nav{display:flex;align-items:center;gap:clamp(14px,2vw,32px);margin-left:auto;min-width:0}
 .site-header .main-nav>a:not(.mobile-nav-contact){display:inline-flex;white-space:nowrap;font:600 12px/1.3 var(--sans);color:#244635;min-height:44px;align-items:center}
 .site-header .main-nav .mobile-nav-contact{display:none!important}
 .site-header .nav-end{flex:0 0 auto;gap:clamp(12px,1.5vw,23px)}
 .site-header .nav-contact{white-space:nowrap}
}
@media(max-width:920px){
 body.menu-open{overflow:hidden}
 body.menu-open::before{content:"";position:fixed;inset:0;z-index:90;background:rgba(6,27,15,.45);backdrop-filter:blur(2px)}
 .site-header{isolation:isolate}
 .site-header .main-nav{display:none;position:absolute;inset:100% 0 auto;z-index:30;width:100%;max-height:calc(100dvh - 76px);overflow-y:auto;overscroll-behavior:contain;margin:0;padding:18px clamp(22px,5vw,42px) 26px;background:#f8f6ef;border-bottom:1px solid #d8dfd0;box-shadow:0 15px 35px rgba(12,37,23,.15);flex-direction:column;align-items:stretch;gap:0}
 .site-header .main-nav.open{display:flex;min-height:0;height:auto;padding-top:18px;animation:enk-menu-drop .26s ease both}
 .site-header .main-nav>a:not(.mobile-nav-contact){display:flex;min-height:67px;align-items:center;padding:13px 0;border:0;border-bottom:1px solid #d6dcd0;white-space:normal;font:400 clamp(23px,5.5vw,29px)/1.2 var(--serif);color:#173d2d;transition:color .2s}
 .site-header .main-nav>a:not(.mobile-nav-contact):hover{color:#0e752c}
 .site-header .main-nav .mobile-nav-contact{display:flex!important;min-height:55px;align-items:center;justify-content:space-between;width:100%;gap:15px;padding:15px 18px!important;margin:21px 0 0!important;background:#0e752c;color:white;border:1px solid #0e752c!important;font:700 13px/1.3 var(--sans);white-space:normal}
 .site-header .main-nav .mobile-nav-contact span:last-child{font-size:19px}
}
@media(max-width:640px){
 .site-header .main-nav{max-height:calc(100dvh - 69px);padding:12px 22px 24px}
 .site-header .main-nav.open{padding-top:12px}
 .site-header .main-nav>a:not(.mobile-nav-contact){min-height:62px;font-size:clamp(23px,6.3vw,29px)}
}
@keyframes enk-menu-drop{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.site-header .main-nav.open{animation:none}}

/* Mobile-only visual navigation enhancement: no decorative words or numbers. */
@media(max-width:920px){
  .site-header .main-nav.open{
    padding-bottom:calc(23px + env(safe-area-inset-bottom,0px));
    box-shadow:0 22px 44px rgba(7,35,17,.22);
    border-bottom:1px solid rgba(13,65,28,.14);
  }
  .site-header .main-nav.open>a:not(.mobile-nav-contact){
    font-size:clamp(23px,5.35vw,28px);
    min-height:64px;
    letter-spacing:-.012em;
    transition:color .2s ease,transform .2s ease;
  }
  .site-header .main-nav.open>a:not(.mobile-nav-contact):is(:hover,:focus-visible){
    color:#0e752c;
    transform:translateX(4px);
  }
  .site-header .main-nav.open::after{
    content:"";
    display:block;
    flex:none;
    order:1;
    height:clamp(92px,18vw,132px);
    width:100%;
    margin-top:19px;
    border-radius:2px;
    background-image:linear-gradient(90deg,rgba(6,52,25,.15),rgba(6,52,25,.02) 58%,rgba(6,52,25,.18)),url("assets/green-coffee.webp");
    background-size:cover;
    background-position:center 50%;
    box-shadow:inset 0 0 0 1px rgba(10,53,27,.10);
    pointer-events:none;
  }
  .site-header .main-nav.open .mobile-nav-contact{
    order:2;
    margin-top:16px!important;
    min-height:55px;
    border-radius:2px;
    transition:background-color .2s ease,box-shadow .2s ease;
  }
  .site-header .main-nav.open .mobile-nav-contact:is(:hover,:focus-visible){
    background:#075522;
    box-shadow:0 6px 20px rgba(7,67,31,.18);
  }
  .site-header .mobile-toggle[aria-expanded="true"]{
    background:rgba(14,117,44,.07);
    border-radius:50%;
  }
}
@media(max-width:640px){
  .site-header .main-nav.open>a:not(.mobile-nav-contact){min-height:61px}
  .site-header .main-nav.open::after{height:clamp(92px,24vw,112px);margin-top:17px}
}
@media(max-height:540px) and (max-width:920px){
  .site-header .main-nav.open::after{height:68px}
  .site-header .main-nav.open>a:not(.mobile-nav-contact){min-height:52px}
}
@media(prefers-reduced-motion:reduce){
  .site-header .main-nav.open>a:not(.mobile-nav-contact),
  .site-header .main-nav.open .mobile-nav-contact{transition:none}
}
