/* =========================================================
   Kofrut – Sugam Healthcare LLP
   ========================================================= */

:root {
  --green-900: #092612;      /* footer */
  --green-700: #184518;      /* headings, primary buttons */
  --green-600: #184518;      /* services band */
  --green-400: #7d9087;      /* script subtitles */
  --sage-300:  #90a89b;      /* muted button */
  --sage-50:   #fdfaf4;      /* product section bg */
  --gold:      #c7d530;      /* footer labels */
  --black:     #000;         /* headings */
  --cream:     #f3f0ec;      /* footer */
  --accent:    #c7d530;      /* footer CTA */
  --ink:       #1f2422;
  --ink-soft:  #4b5350;
  --line:      #b9c4bf;
  --white:     #fff;

  --serif: "Playfair Display", Georgia, "Times New Roman", serif;
  --sans:  "Inter Tight", "Helvetica Neue", Arial, sans-serif;

  --container: 1320px;
  --gutter: max(20px, calc((100vw - var(--container)) / 2));
  --header-h: 76px;
  --ease: cubic-bezier(.22, .8, .24, 1);
  --ease-io: cubic-bezier(.77, 0, .18, 1);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: auto; -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  font-family: var(--sans);
  font-size: 16px; letter-spacing: 0.4px;
  line-height: 1.55;
  color: var(--ink);
  background: var(--white);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
button { font: inherit; cursor: pointer; }
ul { list-style: none; margin: 0; padding: 0; }
h1, h2, h3, h4, h5, p, figure { margin: 0; }
address { font-style: normal; }

:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }



/* ---------- Buttons / tags ---------- */
.btn {
  display: inline-flex; align-items: center; justify-content: center;
  padding: 10px 26px;
  font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase;
  border-radius: 3px; border: 0;
  transition: background-color .3s, transform .3s var(--ease);
}
.btn--solid { background: var(--green-700); color: var(--white); }
.btn--solid:hover { background: var(--green-900); }
.btn--muted { background: var(--sage-300); color: var(--white); }
.btn--muted:hover { background: var(--green-700); }

.tag {
  display: inline-block;
  min-width: 80px; padding: 2px 14px;
  font-size: 12px; font-weight: 500; letter-spacing: .02em; text-align: center;
  color: var(--ink-soft);
  border: 1px solid #9aa39f; border-radius: 4px;
}
.tag--filled { background: var(--white); border-color: transparent; }

.pill {
  padding: 6px 20px; min-width: 96px;
  font-size: 11px; font-weight: 500; letter-spacing: .04em; text-transform: uppercase;
  color: var(--ink-soft); background: var(--white);
  border: 1px solid #9aa39f; border-radius: 4px;
  transition: background-color .3s, color .3s, border-color .3s;
}
.pill:hover { border-color: var(--green-700); color: var(--green-700); }
.pill.is-active { background: var(--green-700); border-color: var(--green-700); color: var(--white); }

/* ---------- Type ---------- */
.serif-title {
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(2rem, 3.4vw, 3.4rem);
  line-height: 1.1;
  letter-spacing: -.01em;
  color: var(--black);
}
.serif-title em { font-style: italic; }
.serif-title--md { font-size: clamp(2rem, 3vw, 3rem); }

/* ========================================================
   HEADER
   ======================================================== */
.site-header {
  position: fixed; inset: 0 0 auto 0; z-index: 50;
  height: var(--header-h);
  background: rgba(255,255,255,.96);
  backdrop-filter: saturate(1.4) blur(8px);
  transition: transform .45s var(--ease), box-shadow .3s;
}
.site-header.is-scrolled { box-shadow: 0 1px 0 rgba(15,41,30,.08), 0 8px 24px -16px rgba(15,41,30,.35); }
.site-header.is-hidden { transform: translateY(-100%); }

.site-header__inner {
  height: 100%;
  display: grid; grid-template-columns: 1fr auto 1fr; align-items: center;
  padding: 0 24px;
}
.main-nav ul { display: flex; gap: clamp(14px, 1.6vw, 26px); }
.main-nav a {
  position: relative;
  font-size: 12.5px; font-weight: 500; letter-spacing: .02em; text-transform: uppercase;
  color: var(--ink);
  padding: 6px 0;
  white-space: nowrap;
}
.main-nav a::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1.5px;
  background: var(--green-700);
  transform: scaleX(0); transform-origin: right;
  transition: transform .4s var(--ease);
}
.main-nav a:hover::after, .main-nav a.is-active::after { transform: scaleX(1); transform-origin: left; }
.main-nav__contact { display: none; }

/* ---------- Products mega menu ---------- */
.sub-toggle {
  display: inline-grid; place-items: center;
  width: 20px; height: 20px; margin-left: 2px; padding: 0;
  background: none; border: 0; color: var(--ink);
}
.sub-toggle svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; transition: transform .35s var(--ease); }
.has-sub.is-open .sub-toggle svg { transform: rotate(180deg); }

.mega {
  position: absolute; left: 0; right: 0; top: 100%; z-index: 5;
  background: var(--white);
  border-top: 1px solid #e3e9e6;
  box-shadow: 0 30px 50px -30px rgba(15, 41, 30, .35);
  opacity: 0; visibility: hidden; transform: translateY(-10px);
  transition: opacity .3s var(--ease), transform .45s var(--ease), visibility 0s linear .3s;
}
.has-sub.is-open .mega {
  opacity: 1; visibility: visible; transform: none;
  transition: opacity .3s var(--ease), transform .45s var(--ease), visibility 0s;
}
.mega__inner {
  display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px;
  width: min(100% - 48px, 1400px); margin: 0 auto; padding: 26px 0 20px;
}
.main-nav .mega a { text-transform: none; white-space: normal; letter-spacing: 0; }
.main-nav .mega a::after { display: none; }
.main-nav .mega__item {
  display: flex; align-items: center; gap: 14px;
  padding: 10px; border-radius: 6px;
  transition: background-color .3s;
}
.main-nav .mega__item:hover, .main-nav .mega__item:focus-visible { background: var(--sage-50); }
.mega__item img {
  flex: none; width: 100px; height: 75px; object-fit: cover; border-radius: 4px;
  transition: transform .6s var(--ease);
}
.mega__item:hover img { transform: scale(1.05); }
.mega__text { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.mega__text strong { font-size: 13px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--black); }
.mega__text small { font-size: 12.5px; line-height: 1.35; color: var(--ink-soft); }
.mega__item:hover strong { color: var(--green-700); }
.mega__foot { border-top: 1px solid #eef2f0; }
.main-nav .mega__foot a {
  display: block; width: min(100% - 48px, 1400px); margin: 0 auto; padding: 14px 10px;
  font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--green-700);
}
.main-nav .mega__foot a:hover { color: var(--green-900); }

@media (min-width: 1101px) {
  /* stretch the nav to full header height so the pointer can travel down into the panel */
  .main-nav { align-self: stretch; }
  .main-nav > ul { height: 100%; }
  .main-nav > ul > li { display: flex; align-items: center; }
  .has-sub:hover .mega, .has-sub:focus-within .mega {
    opacity: 1; visibility: visible; transform: none;
    transition: opacity .3s var(--ease), transform .45s var(--ease), visibility 0s;
  }
  .has-sub:hover .sub-toggle svg { transform: rotate(180deg); }

  /* Trust: compact dropdown under its own item instead of the full-width panel */
  .has-sub--drop { position: relative; }
  .mega--drop {
    left: -18px; right: auto; width: 290px;
    border-top: 2px solid var(--green-700); border-radius: 0 0 6px 6px;
  }
  .mega--drop .mega__inner { grid-template-columns: 1fr; gap: 2px; width: auto; padding: 10px; }
  .main-nav .mega--drop .mega__item { padding: 12px 14px; }
  .main-nav .mega--drop .mega__item[aria-current="page"] { background: var(--sage-50); }
}
.main-nav .mega--drop .mega__item[aria-current="page"] strong { color: var(--green-700); }

.brand img { height: 50px; width: auto; }

.header-actions { display: flex; align-items: center; justify-content: flex-end; gap: 22px; }
.header-actions__link { font-size: 15px; color: var(--green-700);  }
.header-actions__link:hover { color: var(--green-900); text-decoration: underline; text-underline-offset: 3px; }

.nav-toggle {
  display: none;
  width: 42px; height: 42px; padding: 11px 9px;
  background: none; border: 0;
  flex-direction: column; justify-content: space-between;
}
.nav-toggle span { display: block; height: 2px; background: var(--green-700); border-radius: 2px; transition: transform .4s var(--ease), opacity .3s; }
.nav-open .nav-toggle span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
.nav-open .nav-toggle span:nth-child(2) { opacity: 0; }
.nav-open .nav-toggle span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }
.nav-overlay { display: none; }

/* ========================================================
   HERO
   ======================================================== */
.hero { padding: calc(var(--header-h) + 60px) 8px 0; }
.hero__title {
  font-family: var(--serif); font-weight: 400;
  font-size: clamp(2.2rem, 4.2vw, 4.4rem);
  line-height: 1.1; letter-spacing: -.015em;
  color: var(--black);
  padding: 0 18px 20px;
}
.hero__title em { font-style: italic; }

.hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 4.12fr) minmax(0, 1fr);
  gap: 10px;
}
.hero__stage {
  position: relative; overflow: hidden;
  aspect-ratio: 1367 / 651;
  border-radius: 3px;
  background: #e8ede9;
}
.hero__slides { position: absolute; inset: 0; }
.hero-slide {
  position: absolute; inset: 0;
  clip-path: inset(0 0 0 100%);
  z-index: 0;
}
.hero-slide img {
  width: 100%; height: 100%; object-fit: cover;
  transform: scale(1.12);
  transition: transform 1.6s var(--ease);
}
.hero-slide.is-active { clip-path: inset(0 0 0 0); z-index: 2; transition: clip-path 1s var(--ease-io); }
.hero-slide.is-active img { transform: scale(1); }
.hero-slide.is-leaving { clip-path: inset(0 0 0 0); z-index: 1; }
.hero-slide.is-leaving img { transform: scale(1.06); transition: transform 1s var(--ease-io); }

.hero__arrow {
  position: absolute; top: 50%; z-index: 5;
  width: 48px; height: 48px; margin-top: -24px;
  display: grid; place-items: center;
  background: rgba(255,255,255,.85); border: 0; border-radius: 50%;
  opacity: 0; transition: opacity .35s, transform .35s var(--ease), background-color .3s;
}
.hero__arrow svg { width: 20px; height: 20px; fill: none; stroke: var(--green-700); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.hero__arrow--prev { left: 20px; transform: translateX(-10px); }
.hero__arrow--next { right: 20px; transform: translateX(10px); }
.hero__stage:hover .hero__arrow, .hero__arrow:focus-visible { opacity: 1; transform: none; }
.hero__arrow:hover { background: var(--white); }

.hero__progress {
  position: absolute; left: 0; right: 0; bottom: 0; z-index: 5;
  height: 3px; background: rgba(255,255,255,.35);
}
.hero__progress span {
  display: block; height: 100%; width: 100%;
  background: var(--green-700);
  transform: scaleX(0); transform-origin: left;
}
.hero__progress.is-running span { animation: heroProgress var(--hero-delay, 6s) linear forwards; }
.hero__stage.is-paused .hero__progress span { animation-play-state: paused; }
@keyframes heroProgress { to { transform: scaleX(1); } }

.hero__thumbs { display: grid; grid-template-rows: repeat(3, 1fr); gap: 10px; min-height: 0; }
.hero-thumb {
  position: relative; overflow: hidden;
  padding: 0; border: 0; border-radius: 3px;
  background: #e8ede9;
  min-height: 0;
}
.hero-thumb img {
  width: 100%; height: 100%; object-fit: cover;
  transition: transform .8s var(--ease), opacity .45s var(--ease);
}
.hero-thumb::after {
  content: ""; position: absolute; inset: 0;
  box-shadow: inset 0 0 0 0 var(--green-700);
  transition: box-shadow .3s;
}
.hero-thumb:hover img { transform: scale(1.06); }
.hero-thumb:hover::after { box-shadow: inset 0 0 0 3px var(--green-700); }
.hero-thumb.is-swapping img { opacity: 0; transform: translateY(12%) scale(1.04); }

/* ========================================================
   ABOUT
   ======================================================== */
.about { padding: 140px 0 150px; }
.about__head {
  display: flex; justify-content: space-between; align-items: flex-start; gap: 40px;
  padding-left: var(--gutter); padding-right: 16px;
  margin-bottom: 44px;
}
.about__head .serif-title { max-width: 12.8em; }
.about__body {
  display: grid;
  grid-template-columns: minmax(0, 830px) minmax(0, 1fr);
  gap: clamp(40px, 8vw, 130px);
  padding-left: var(--gutter);
  align-items: start;
}
.about__text p { font-size: 15px; line-height: 1.55; color: var(--ink); }
.about__text p + p { margin-top: 1.4em; }
.about__media { overflow: hidden; margin-top: -30px; }
.about__media img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.1); }

/* ========================================================
   PRODUCTS (sage)
   ======================================================== */
.products {
  position: relative;
  background: var(--sage-50);
  padding: 130px 0 120px;
  overflow: hidden;
}
.grid-lines { position: absolute; inset: 0; pointer-events: none; }
.grid-lines span {
  position: absolute; top: 0; bottom: 0; width: 1px;
  background: rgba(255,255,255,.95);
  transform: scaleY(0); transform-origin: top;
  transition: transform 2.2s var(--ease);
}
.grid-lines span:nth-child(1) { left: 8.6%; }
.grid-lines span:nth-child(2) { left: 23.2%; transition-delay: .1s; }
.grid-lines span:nth-child(3) { left: 36.8%; transition-delay: .2s; }
.grid-lines span:nth-child(4) { left: 50.9%; transition-delay: .3s; }
.grid-lines span:nth-child(5) { left: 64.4%; transition-delay: .4s; }
.grid-lines span:nth-child(6) { left: 79.1%; transition-delay: .5s; }
.grid-lines span:nth-child(7) { left: 90.7%; transition-delay: .6s; }
.grid-lines.is-in span, html:not(.js) .grid-lines span { transform: scaleY(1); }

.products__intro {
  position: relative;
  width: min(100% - 40px, 440px);
  margin: 0 0 150px 38%;
}
.lede {
  margin-top: 16px;
  font-family: var(--serif); font-size: 15px; line-height: 1.6;
  color: var(--ink-soft);
  max-width: 34ch;
}

.category { position: relative; }
.category + .category { margin-top: 160px; }

/* Category heading: big sans word + italic serif subtitle */
.cat-head {
  display: grid;
  grid-template-columns: 55fr 45fr;
  gap: 26px;
  margin: 0 auto 80px;
  padding: 0 20px;
}
.cat-head__words { text-align: right; }
.cat-head__big {
  font-family: var(--sans); font-weight: 600;
  font-size: clamp(3rem, 7.4vw, 7.6rem);
  line-height: .86; letter-spacing: -.045em; text-transform: uppercase;
  color: var(--black);
}
.cat-head__script {
  display: block;
  font-family: var(--serif); font-style: italic; font-weight: 400;
  font-size: clamp(2.8rem, 6.6vw, 6.8rem);
  line-height: 1; letter-spacing: -.02em;
  color: var(--black);
  margin-top: -.02em;
  white-space: nowrap;
}
.cat-head__text {
  max-width: 250px;
  padding-top: .6vw;
  font-size: 13.5px; line-height: 1.4; color: var(--ink-soft);
}
.cat-head--stacked { grid-template-columns: 1fr; }
.cat-head--stacked .cat-head__words { text-align: center; }
.cat-head--stacked .cat-head__text { margin: 22px auto 0; text-align: center; width: auto; max-width: 340px; padding: 0; }

/* ---------- Lozenge cards ---------- */
.loz-grid {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(20px, 3.2vw, 56px);
  width: min(100% - 40px, 1500px);
  margin: 0 auto;
}
.loz-card {
  background: var(--white);
  border-radius: 4px;
  padding: 0 14px 14px;
  display: flex; flex-direction: column;
}
.loz-card__head {
  display: grid; grid-template-columns: 170px 1fr; align-items: center; gap: 16px;
  position: relative; z-index: 2;
}
.loz-card__icon {
  display: grid; place-items: center;
  height: 122px;
  background: var(--white);
  margin: 0 0 -26px 20px;
  padding: 18px 10px 6px;
  border-radius: 0 0 4px 4px;
}
.loz-card__icon img { width: 110px; height: 96px; object-fit: contain; mix-blend-mode: multiply; transition: transform .7s var(--ease); }
.loz-card:hover .loz-card__icon img { transform: rotate(-8deg) scale(1.06); }
.loz-card__title {
  font-size: clamp(15px, 1.25vw, 19px); font-weight: 500; line-height: 1.2;
  text-transform: uppercase; color: var(--black);
  padding-top: 16px;
}
.loz-card__media { position: relative; overflow: hidden; aspect-ratio: 470 / 346; }
.loz-card__media img {
  width: 100%; height: 100%; object-fit: cover;
  transition: transform .9s var(--ease), opacity .45s var(--ease);
}
.loz-card:hover .loz-card__media img { transform: scale(1.04); }
.loz-card__media.is-swapping img { opacity: 0; transform: translateX(-8%); }
.loz-card__media.is-entering img { transition: none; opacity: 0; transform: translateX(8%); }
.loz-card__badge {
  position: absolute; top: 44px; right: 14px;
  padding: 5px 12px;
  font-size: 11px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase;
  color: var(--white); background: var(--green-700); border-radius: 3px;
  opacity: 0; transform: translateY(-8px);
  transition: opacity .4s var(--ease), transform .4s var(--ease);
}
.loz-card.is-sugarfree .loz-card__badge { opacity: 1; transform: none; }
.loz-card__opts { display: flex; gap: 12px; padding-top: 14px; }

/* ---------- Generic product ---------- */
.product { text-align: center; }
.product__media { position: relative; overflow: hidden; border-radius: 4px; margin-bottom: 18px; }
.product__media img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.1); transition: transform 1.6s var(--ease); }
.product:hover .product__media:not(.product__media--plain) img { transform: scale(1.14); }
.product__media--plain { border-radius: 0; background: transparent; }
.product__media--plain img { transform: none; object-fit: contain; object-position: center bottom; transition: transform .8s var(--ease); }
.product:hover .product__media--plain img { transform: translateY(-8px); }
.product__name {
  font-size: clamp(14px, 1.1vw, 17px); font-weight: 500; letter-spacing: .005em;
  text-transform: uppercase; color: var(--black);
  margin-bottom: 10px;
}

.liquid-grid {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 30px;
  width: min(100% - 40px, 1600px);
  margin: 0 auto;
}
.liquid-grid .product__media { max-width: 290px; aspect-ratio: 5 / 6; margin-left: auto; margin-right: auto; }

/* ---------- Slider (activates on small screens) ---------- */
.slider { position: relative; }
.slider__nav { display: none; }

.paddingtop{ padding-top: 350px !important;}

/* Desktop slider (.slider--always): full width, 4 per view, looping, side arrows */
@media (min-width: 1101px) {
  .slider--always { width: 100%; padding: 0 30px; overflow: hidden; }
  .slider--always .slider__track {
    display: flex; gap: 30px;
    width: 100%;
    overflow-x: auto;
    scrollbar-width: none;
  }
  .slider--always .slider__track::-webkit-scrollbar { display: none; }
  .slider--always.is-loop .slider__track { overflow: visible; will-change: transform; }
  .slider--always .slider__track > * { flex: 0 0 calc((100% - 90px) / 4); }
  .slider--always .slider__nav { display: block; }
  .slider--always .slider__dots { display: none; }
  .slider--always .slider__arrows button {
    position: absolute; z-index: 2; top: calc(50% - 35px); transform: translateY(-50%);
    width: 38px; height: 38px; display: grid; place-items: center;
    background: var(--green-700); border: 0; border-radius: 5px;
    transition: background-color .3s, opacity .3s;
  }
  .slider--always .slider__arrows button:hover:not(:disabled) { background: var(--green-900); }
  .slider--always .slider__prev { left: 20px; }
  .slider--always .slider__next { right: 20px; }
  .slider--always .slider__arrows button:disabled { opacity: .3; cursor: default; }
  .slider--always .slider__arrows svg { width: 14px; height: 14px; fill: none; stroke: var(--white); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
}

/* ========================================================
   EXTERNAL
   ======================================================== */
.external { padding: 130px 0 120px; overflow: hidden; }
.external .cat-head { margin-bottom: 60px; }

.ext-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: 20px;
}
.ext-grid__a { grid-column: 1 / 6; grid-row: 1; }
.ext-grid__a .product__media { border-radius: 0 4px 4px 0; aspect-ratio: 644 / 506; }
.ext-grid__b { grid-column: 9 / 13; grid-row: 1 / 3; margin-top: 150px; }
.ext-grid__b .product__media { border-radius: 4px 0 0 4px; aspect-ratio: 537 / 690; }
.ext-grid__c { grid-column: 3 / 7; grid-row: 2; margin-top: 70px; }
.ext-grid__c .product__media { aspect-ratio: 624 / 565; }

.duo {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  padding: 0 20px;
  margin-top: 140px;
}
.duo .product__media { aspect-ratio: 837 / 574; }

/* ========================================================
   SERVICES
   ======================================================== */
.services {
  background: var(--green-600);
  color: var(--white);
  padding: 120px 20px 130px;
  text-align: center;
}
.services__title {
  font-family: var(--sans); font-weight: 600;
  font-size: clamp(2.4rem, 5.6vw, 5.6rem);
  line-height: .95; letter-spacing: -.045em; text-transform: uppercase;
  margin-bottom: 44px;
}
.services__text { max-width: 640px; margin: 0 auto; }
.services__text p { font-size: 15px; line-height: 1.4; color: rgba(255,255,255,.92); }
.services__text p + p { margin-top: 1.3em; }

/* ========================================================
   FOOTER
   ======================================================== */
.site-footer {
  background:#eff5f2;
  color: var(--black);
  padding: 110px 0 40px;
}
.site-footer__top,
.site-footer__bottom {
  display: flex; justify-content: space-between; gap: 60px;
  width: min(100% - 52px, 1820px);
  margin: 0 auto;
}
.site-footer__top { align-items: flex-end; }

.f-main { max-width: 760px; }
.f-logo-link { display: inline-block; }
.f-logo { height: clamp(56px, 7vw, 60px); width: auto; mix-blend-mode: multiply; }

.f-nav { display: flex; flex-wrap: wrap; gap: 8px 16px; margin-top: 80px; }
.f-nav a {
  font-size: 14px; font-weight: 500; letter-spacing: .01em; text-transform: uppercase;
  color: var(--black); transition: color .3s;
}
.f-nav a:hover { color: var(--accent); }

.f-cta {
  display: inline-flex; align-items: center; gap: 6px;
  margin-top: 38px; padding-bottom: 4px;
  font-size: 18px; font-weight: 500; letter-spacing: .01em; text-transform: uppercase;
 
  border-bottom: 1px solid currentColor;
}
.f-cta span { transition: transform .3s var(--ease); }
.f-cta:hover span { transform: translateX(5px); }
.f-cta__note { margin-top: 12px;   }
.f-cta__note a:hover { text-decoration: underline; text-underline-offset: 2px; }

.f-about { margin-top: 38px; font-size: 14px; line-height: 1.3; }

.f-side { display: flex; flex-direction: column; align-items: flex-end; gap: 36px; text-align: right; }
.socials { display: flex; gap: 22px; }
.socials a { display: grid; place-items: center; width: 32px; height: 32px; }
.socials svg { width: 28px; height: 28px; fill: var(--black); transition: fill .3s; }
.socials a:hover svg { fill: var(--accent); }
.f-address { display: flex; flex-direction: column; gap: 4px; font-size: 13px; line-height: 1.45; }
.f-address strong { font-weight: 600; }

.site-footer__bottom { align-items: flex-end; margin-top: 90px; }
.f-legal { display: flex; flex-wrap: wrap; font-size: 13.5px; }
.f-legal li + li::before { content: "|"; margin: 0 8px; font-size: 10px; vertical-align: 1px; }
.f-legal a { transition: color .3s; }
.f-legal a:hover { color: var(--accent); }
.f-disclaimer { max-width: 52ch; font-size: 12.5px; color: var(--ink-soft); text-align: right; }

/* ========================================================
   ABOUT PAGE
   ======================================================== */
.ap-hero { padding: calc(var(--header-h) + 90px) 0 0; }
.ap-hero .cat-head { margin-bottom: 70px; }
.ap-hero__media {
  overflow: hidden;
  margin: 0 20px;
  border-radius: 4px;
  aspect-ratio: 1920 / 900;
}
.ap-hero__media img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.1); }

.ap-story__body {
  display: grid;
  grid-template-columns: minmax(0, 830px) minmax(0, 1fr);
  gap: clamp(40px, 8vw, 130px);
  padding: 0 var(--gutter);
  align-items: start;
}
.ap-facts { display: grid; gap: 28px; }
.ap-facts li { padding-top: 16px; border-top: 1px solid var(--line); }
.ap-facts strong {
  display: block;
  font-family: var(--serif); font-weight: 400;
  font-size: clamp(2.2rem, 3.4vw, 3.4rem); line-height: 1;
  color: var(--black);
}
.ap-facts span { display: block; margin-top: 8px; font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--ink-soft); }

.ap-quote {
  position: relative; overflow: hidden;
  background: var(--sage-50);
  padding: 150px 20px;
  text-align: center;
}
.ap-quote blockquote { position: relative; max-width: 1080px; margin: 0 auto; }
.ap-quote .serif-title { font-size: clamp(1.8rem, 3.2vw, 3.2rem); }
.ap-quote footer { margin-top: 34px; font-size: 15px; color: var(--ink-soft); }

.ap-team { padding: 140px 0; }
.ap-team__grid {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(40px, 7vw, 120px);
  padding: 0 var(--gutter);
}
.ap-team__col { padding-top: 22px; border-top: 1px solid var(--line); }
.ap-num { display: block; font-size: 12px; font-weight: 600; letter-spacing: .08em; color: var(--green-400); margin-bottom: 30px; }
.ap-team__title {
  font-family: var(--sans); font-weight: 600;
  font-size: clamp(1.8rem, 2.8vw, 2.8rem);
  line-height: 1; letter-spacing: -.035em; text-transform: uppercase;
  color: var(--black);
  margin-bottom: 24px;
}
.ap-team__col p { font-size: 15px; line-height: 1.55; max-width: 60ch; }
.ap-standards { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 28px; }

.ap-vm {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
  gap: clamp(40px, 7vw, 120px);
  padding: 0 var(--gutter) 150px 0;
  align-items: start;
}
.ap-vm__media { overflow: hidden; border-radius: 0 4px 4px 0; aspect-ratio: 4 / 5; position: sticky; top: calc(var(--header-h) + 20px); }
.ap-vm__media img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.1); }
.ap-vm__text { display: grid; gap: 90px; padding-top: 30px; }
.ap-vm__head {
  font-family: var(--sans); font-weight: 600;
  font-size: clamp(2.6rem, 5vw, 5rem);
  line-height: .95; letter-spacing: -.045em; text-transform: uppercase;
  color: var(--black);
  margin-bottom: 30px;
}
.ap-vm__head em {
  font-family: var(--serif); font-style: italic; font-weight: 400;
  text-transform: none; letter-spacing: -.02em;
}
.ap-vm__item p { font-size: 15px; line-height: 1.55; max-width: 62ch; }
.ap-vm__item p + p { margin-top: 1.2em; }

@media (max-width: 1100px) {
  .ap-hero { padding-top: calc(var(--header-h) + 60px); }
  .ap-hero .cat-head { margin-bottom: 44px; }
  .ap-hero__media { aspect-ratio: 16 / 10; }
  .ap-story__body, .ap-team__grid { grid-template-columns: 1fr; }
  .ap-facts { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
  .ap-quote { padding: 100px 20px; }
  .ap-team { padding: 100px 0; }
  .ap-vm { grid-template-columns: 1fr; padding: 0 var(--gutter) 100px; }
  .ap-vm__media { position: relative; top: 0; border-radius: 4px; aspect-ratio: 16 / 10; }
  .ap-vm__text { gap: 60px; padding-top: 0; }
}
@media (max-width: 640px) {
  .ap-hero__media { margin: 0; border-radius: 0; }
  .ap-story__body, .ap-team__grid, .ap-vm { padding-left: 20px; padding-right: 20px; }
  .ap-facts { grid-template-columns: 1fr; }
}

/* ========================================================
   WHY KOFRUT PAGE
   ======================================================== */
/* ---------- Hero banner ---------- */
.wk-hero {
  position: relative; isolation: isolate; overflow: hidden;
  min-height: max(640px, 100svh);
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  padding: calc(var(--header-h) + 60px) 20px 170px;
  text-align: center;
  background: #cfe3a8;
}
.wk-hero__bg { position: absolute; inset: 0; z-index: -3; overflow: hidden; }
.wk-hero__bg img {
  width: 100%; height: 100%; object-fit: cover;
  transform: scale(1.12);
  animation: wkZoom 18s var(--ease) both;
}
@keyframes wkZoom { from { transform: scale(1.22); } to { transform: scale(1.12); } }

/* soft light behind the text + fade into the page below */
.wk-hero__glow {
  position: absolute; inset: 0; z-index: -2;
  background:
    radial-gradient(ellipse 48% 42% at 50% 46%, rgba(255,255,255,.72), rgba(255,255,255,0) 70%),
    linear-gradient(to bottom, rgba(15,41,30,.12), rgba(15,41,30,0) 30%, rgba(255,255,255,0) 72%, #fff 100%);
}

.wk-hero__bokeh { position: absolute; inset: 0; z-index: -1; pointer-events: none; }
.wk-hero__bokeh span {
  position: absolute; bottom: -40px;
  width: 14px; height: 14px; border-radius: 50%;
  background: radial-gradient(circle, rgba(255,255,255,.95), rgba(255,255,255,0) 70%);
  animation: wkFloat 14s linear infinite;
}
.wk-hero__bokeh span:nth-child(1) { left: 12%; animation-delay: 0s; }
.wk-hero__bokeh span:nth-child(2) { left: 28%; width: 22px; height: 22px; animation-delay: -4s; animation-duration: 18s; }
.wk-hero__bokeh span:nth-child(3) { left: 46%; width: 10px; height: 10px; animation-delay: -9s; }
.wk-hero__bokeh span:nth-child(4) { left: 63%; width: 26px; height: 26px; animation-delay: -2s; animation-duration: 20s; }
.wk-hero__bokeh span:nth-child(5) { left: 78%; animation-delay: -11s; animation-duration: 16s; }
.wk-hero__bokeh span:nth-child(6) { left: 90%; width: 18px; height: 18px; animation-delay: -6s; }
@keyframes wkFloat {
  0%   { transform: translate(0, 0); opacity: 0; }
  15%  { opacity: .9; }
  85%  { opacity: .6; }
  100% { transform: translate(40px, -95vh); opacity: 0; }
}

.wk-hero__content { max-width: 920px; }
.wk-hero__eyebrow {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 7px 18px;
  font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase;
  color: var(--green-700);
  background: rgba(255,255,255,.7);
  border: 1px solid rgba(47,90,69,.18); border-radius: 999px;
  backdrop-filter: blur(6px);
}
.wk-hero__eyebrow span { width: 7px; height: 7px; border-radius: 50%; background: var(--green-700); box-shadow: 0 0 0 4px rgba(47,90,69,.18); }

.wk-hero__title { margin-top: 28px; }
.wk-hero__big {
  display: block;
  font-family: var(--sans); font-weight: 600;
  font-size: clamp(3.2rem, 9vw, 9.2rem);
  line-height: .86; letter-spacing: -.045em; text-transform: uppercase;
  color: var(--green-900);
}
.wk-hero__script {
  display: block;
  font-family: var(--serif); font-style: italic; font-weight: 400;
  font-size: clamp(2.2rem, 5.4vw, 5.4rem);
  line-height: 1.05; letter-spacing: -.02em;
  color: var(--green-700);
}
.wk-hero__text {
  max-width: 46ch; margin: 24px auto 0;
  font-size: clamp(15px, 1.25vw, 18px); line-height: 1.55;
  color: var(--ink);
}
.wk-hero__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 34px; }
.wk-hero__actions .btn { padding: 14px 30px; }
.wk-hero__actions .btn:hover { transform: translateY(-2px); }
.wk-hero__ghost { background: rgba(255,255,255,.75); color: var(--green-900); border: 1px solid rgba(47,90,69,.25); backdrop-filter: blur(6px); }
.wk-hero__ghost:hover { background: var(--white); }

.wk-hero__chips {
  position: absolute; left: 50%; bottom: 64px; translate: -50% 0;
  display: flex; gap: 8px;
  padding: 8px;
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(255,255,255,.9); border-radius: 999px;
  box-shadow: 0 18px 40px -22px rgba(15,41,30,.45);
  backdrop-filter: blur(10px);
}
.wk-hero__chips li {
  display: flex; align-items: center; gap: 10px;
  padding: 6px 18px 6px 6px;
  font-size: 13px; font-weight: 500; white-space: nowrap; color: var(--green-900);
  border-radius: 999px;
  transition: background-color .3s;
}
.wk-hero__chips li:hover { background: var(--sage-50); }
.wk-hero__chips img { width: 36px; height: 36px; padding: 5px; border-radius: 50%; background: var(--white); }

.wk-hero__scroll {
  position: absolute; left: 50%; bottom: 18px; translate: -50% 0;
  width: 22px; height: 34px; border: 1.5px solid var(--green-700); border-radius: 12px;
}
.wk-hero__scroll span {
  position: absolute; left: 50%; top: 7px; width: 3px; height: 7px; margin-left: -1.5px;
  border-radius: 2px; background: var(--green-700);
  animation: wkScroll 1.8s var(--ease) infinite;
}
@keyframes wkScroll { 0% { opacity: 0; transform: translateY(0); } 30% { opacity: 1; } 100% { opacity: 0; transform: translateY(10px); } }

@media (max-width: 900px) {
  .wk-hero { padding-bottom: 60px; min-height: 0; }
  .wk-hero__chips {
    position: static; translate: none;
    display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 44px; border-radius: 18px;
  }
  .wk-hero__scroll { display: none; }
}
@media (max-width: 420px) {
  .wk-hero__chips li { padding-right: 8px; font-size: 12px; white-space: normal; }
}
@media (prefers-reduced-motion: reduce) {
  .wk-hero__bg img { animation: none; }
  .wk-hero__bokeh { display: none; }
}

.wk-badges { padding: 0 20px 140px; }
.wk-badges__grid {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(20px, 3vw, 40px);
  width: min(100%, 1230px);
  margin: 0 auto;
  text-align: center;
}
.wk-badges figure { overflow: hidden; border-radius: 4px; aspect-ratio: 1; }
.wk-badges img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--ease); }
.wk-badges li:hover img { transform: scale(1.05); }
.wk-badges h3 {
  margin-top: 20px;
  font-size: clamp(15px, 1.25vw, 19px); font-weight: 500; line-height: 1.2;
  text-transform: uppercase; color: var(--black);
}

.wk-features { padding-bottom: 140px; }
.wk-features .products__intro { margin-bottom: 70px; }
.wk-features__grid {
  position: relative;
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  width: min(100% - 40px, 1230px);
  margin: 0 auto;
}
.wk-feature {
  display: flex; align-items: center; gap: 20px;
  padding: 26px 28px;
  background: var(--white); border-radius: 4px;
  font-size: 15px; line-height: 1.35; color: var(--ink);
  transition: transform .5s var(--ease), box-shadow .5s var(--ease);
}
.wk-feature:hover { transform: translateY(-4px); box-shadow: 0 14px 30px -18px rgba(15, 41, 30, .35); }
.wk-feature img { width: 44px; height: 44px; flex: none; }

.wk-values { padding: 140px 0; }
.wk-values__grid {
  display: grid; grid-template-columns: 3fr 2fr;
  gap: clamp(40px, 7vw, 120px);
  width: min(100% - 40px, 1230px);
  margin: 0 auto;
}
.wk-label {
  font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase;
  color: var(--black);
  padding-bottom: 14px; border-bottom: 1px solid var(--black);
}
.wk-list li {
  display: flex; gap: 14px; align-items: baseline;
  padding: 18px 0; border-bottom: 1px solid var(--line);
  font-size: clamp(16px, 1.3vw, 20px); line-height: 1.3; color: var(--black);
}
.wk-list li::before { content: ""; flex: none; width: 7px; height: 7px; border-radius: 50%; background: var(--green-700); transform: translateY(-2px); }

.wk-split {
  display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr);
  gap: clamp(40px, 7vw, 120px);
  padding: 0 var(--gutter) 150px;
  align-items: start;
}
.wk-split--rev { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); }
.wk-split__text .serif-title { margin-bottom: 30px; }
.wk-split__text p { font-size: 15px; line-height: 1.55; max-width: 64ch; }
.wk-split__text p + p { margin-top: 1.2em; }
.wk-split__media { overflow: hidden; border-radius: 4px; aspect-ratio: 4 / 5; position: sticky; top: calc(var(--header-h) + 20px); }
.wk-split__media img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.1); }
.wk-split__media--plain { aspect-ratio: 1; background: var(--sage-50); display: grid; place-items: center; }
.wk-split__media--plain img { width: 80%; height: auto; transform: none; }

.wk-doshas { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin: 30px 0; }
.wk-doshas li { padding: 22px 20px; background: var(--sage-50); border-radius: 4px; }
.wk-doshas strong { display: block; font-family: var(--serif); font-weight: 400; font-size: clamp(1.6rem, 2vw, 2rem); line-height: 1; color: var(--black); }
.wk-doshas span { display: block; margin-top: 8px; font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--green-400); }
.wk-doshas p { margin-top: 12px; font-size: 13.5px; line-height: 1.4; }
.wk-split__text .wk-doshas + p { margin-top: 0; }

.wk-society { padding: 120px 0 140px; }
.wk-society__imgs {
  display: grid; grid-template-columns: 3fr 2fr; gap: 14px;
  padding: 0 20px;
  margin-bottom: 90px;
}
.wk-society__imgs figure { overflow: hidden; border-radius: 4px; height: clamp(240px, 34vw, 540px); }
.wk-society__imgs img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.1); }
.wk-society__cols {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 30px clamp(40px, 7vw, 120px);
  width: min(100% - 40px, 1230px);
  margin: 0 auto;
}
.wk-society__cols p { font-size: 15px; line-height: 1.55; }

.wk-faq {
  display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 7fr);
  gap: clamp(40px, 7vw, 120px);
  padding: 140px var(--gutter);
  background: var(--sage-50);
}
.wk-faq__head .serif-title { position: sticky; top: calc(var(--header-h) + 30px); }
.wk-faq__list { border-top: 1px solid var(--black); }
.wk-faq__item { border-bottom: 1px solid var(--line); }
.wk-faq__item summary {
  display: grid; grid-template-columns: 44px 1fr 24px; align-items: center; gap: 12px;
  padding: 24px 0;
  cursor: pointer; list-style: none;
}
.wk-faq__item summary::-webkit-details-marker { display: none; }
.wk-faq__num { font-size: 12px; font-weight: 600; letter-spacing: .08em; color: var(--green-400); }
.wk-faq__q { font-size: clamp(16px, 1.3vw, 20px); font-weight: 500; line-height: 1.3; color: var(--black); }
.wk-faq__icon { position: relative; width: 24px; height: 24px; }
.wk-faq__icon::before, .wk-faq__icon::after {
  content: ""; position: absolute; left: 5px; right: 5px; top: 11px; height: 2px;
  background: var(--green-700); transition: transform .4s var(--ease);
}
.wk-faq__icon::after { transform: rotate(90deg); }
.wk-faq__item[open] .wk-faq__icon::after { transform: rotate(0); }
.wk-faq__a { padding: 0 36px 26px 56px; font-size: 15px; line-height: 1.55; }
.wk-faq__a ul { display: grid; gap: 6px; }
.wk-faq__a li { position: relative; padding-left: 16px; }
.wk-faq__a li::before { content: ""; position: absolute; left: 0; top: .6em; width: 6px; height: 6px; border-radius: 50%; background: var(--green-700); }
.wk-faq__a a { color: var(--green-700); text-decoration: underline; text-underline-offset: 3px; }

@media (max-width: 1100px) {
  .wk-badges { padding-bottom: 100px; }
  .wk-features { padding-bottom: 100px; }
  .wk-features__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .wk-values { padding: 100px 0; }
  .wk-values__grid, .wk-split, .wk-split--rev, .wk-faq { grid-template-columns: 1fr; }
  .wk-split { padding-bottom: 100px; }
  .wk-split--rev .wk-split__media { order: -1; }
  .wk-split__media { position: relative; top: 0; aspect-ratio: 16 / 10; }
  .wk-split__media--plain { aspect-ratio: 16 / 10; }
  .wk-split__media--plain img { width: auto; height: 80%; }
  .wk-society { padding: 90px 0 100px; }
  .wk-society__imgs { margin-bottom: 60px; }
  .wk-faq { padding: 100px var(--gutter); }
  .wk-faq__head .serif-title { position: static; }
}
@media (max-width: 640px) {
  .wk-badges__grid { grid-template-columns: 1fr; width: min(100%, 360px); }
  .wk-features__grid { grid-template-columns: 1fr; }
  .wk-split, .wk-faq { padding-left: 20px; padding-right: 20px; }
  .wk-doshas { grid-template-columns: 1fr; }
  .wk-society__imgs { grid-template-columns: 1fr; }
  .wk-society__imgs figure { height: auto; aspect-ratio: 16 / 10; }
  .wk-society__cols { grid-template-columns: 1fr; }
  .wk-faq__a { padding-left: 0; padding-right: 0; }
}

/* ---------- Back to top ---------- */
.to-top {
  position: fixed; right: 22px; bottom: 22px; z-index: 40;
  width: 50px; height: 50px;
  display: grid; place-items: center;
  background: var(--green-700); border-radius: 5px;
  opacity: 0; visibility: hidden; transform: translateY(16px);
  transition: opacity .4s, transform .4s var(--ease), visibility .4s, background-color .3s;
}
.to-top.is-visible { opacity: 1; visibility: visible; transform: none; }
.to-top:hover { background: var(--green-900); }
.to-top__ring { position: absolute; inset: 0; width: 50px; height: 50px; }
.to-top__ring rect {
  fill: none; stroke: var(--white); stroke-width: 2;
  stroke-dasharray: 100; stroke-dashoffset: 100;
}
.to-top__arrow { width: 18px; height: 18px; fill: none; stroke: var(--white); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; transition: transform .3s var(--ease); }
.to-top:hover .to-top__arrow { transform: translateY(-3px); }

/* ========================================================
   SCROLL ANIMATIONS
   ======================================================== */
.js [data-reveal] {
  opacity: 0;
  transition: opacity 1s var(--ease), transform 1s var(--ease), clip-path 1.2s var(--ease-io);
  transition-delay: var(--d, 0ms);
}
.js [data-reveal="up"]    { transform: translateY(44px); }
.js [data-reveal="left"]  { transform: translateX(-70px); }
.js [data-reveal="right"] { transform: translateX(70px); }
.js [data-reveal="zoom"]  { transform: scale(.94); }
.js [data-reveal].is-in   { opacity: 1; transform: none; }

/* Image wipe (reveal from bottom) + inner zoom-out */
.js [data-reveal="clip"] { opacity: 1; clip-path: inset(100% 0 0 0); }
.js [data-reveal="clip"].is-in { clip-path: inset(0 0 0 0); }
.js [data-reveal="clip"] > img { transform: scale(1.28); transition: transform 1.6s var(--ease); transition-delay: var(--d, 0ms); }
.js [data-reveal="clip"].is-in > img { transform: scale(1.1); transition-delay: 0ms; }
.js .product:hover [data-reveal="clip"].is-in > img { transform: scale(1.14); }

/* Split text: words / characters rise out of a mask */
.js [data-reveal="split"] { opacity: 1; }
.split-w, .split-c {
  display: inline-block;
  vertical-align: top;
  padding-bottom: .16em; margin-bottom: -.16em;
  /* mask only below the baseline so italic / tight glyphs are never cut at the sides */
  clip-path: inset(-.4em -.4em 0 -.4em);
}
.split-w__in, .split-c__in {
  display: inline-block;
  transition: transform 1.05s var(--ease);
  transition-delay: calc(var(--i, 0) * var(--stagger, 55ms) + var(--d, 0ms));
}
.js [data-reveal="split"] .split-w__in, .js [data-reveal="split"] .split-c__in { transform: translateY(110%); }
.js [data-reveal="split"].is-in .split-w__in, .js [data-reveal="split"].is-in .split-c__in { transform: none; }
.split-c__in { --stagger: 38ms; }

/* ========================================================
   RESPONSIVE
   ======================================================== */
@media (max-width: 1280px) {
  .header-actions__link { display: none; }
  .main-nav ul { gap: 18px; }
}

@media (max-width: 1100px) {
  :root { --header-h: 66px; }
  .nav-toggle { display: flex; }
  .brand img { height: 42px; }
  .main-nav {
    position: fixed; top: 0; left: 0; bottom: 0; z-index: 60;
    width: min(84vw, 360px);
    padding: 90px 32px 32px;
    background: var(--white);
    display: flex; flex-direction: column; justify-content: space-between;
    transform: translateX(-102%);
    transition: transform .55s var(--ease-io);
  }
  .nav-open .main-nav { transform: none; }
  .main-nav ul { flex-direction: column; gap: 0; }
  .main-nav li { border-bottom: 1px solid #e3e9e6; opacity: 0; transform: translateX(-20px); transition: opacity .4s, transform .5s var(--ease); }
  .nav-open .main-nav li { opacity: 1; transform: none; }
  .nav-open .main-nav li:nth-child(1) { transition-delay: .15s; }
  .nav-open .main-nav li:nth-child(2) { transition-delay: .2s; }
  .nav-open .main-nav li:nth-child(3) { transition-delay: .25s; }
  .nav-open .main-nav li:nth-child(4) { transition-delay: .3s; }
  .nav-open .main-nav li:nth-child(5) { transition-delay: .35s; }
  .nav-open .main-nav li:nth-child(6) { transition-delay: .4s; }
  .nav-open .main-nav li:nth-child(7) { transition-delay: .45s; }
  .main-nav a { display: block; padding: 14px 0; font-size: 15px; }
  .main-nav a::after { display: none; }
  .main-nav a.is-active { color: var(--green-700); font-weight: 600; }
  .main-nav__contact { display: flex; flex-direction: column; gap: 6px; font-size: 14px; color: var(--green-700); }
  .has-sub { display: flex; flex-wrap: wrap; align-items: center; }
  .has-sub > a { flex: 1; }
  .sub-toggle { width: 40px; height: 40px; margin-right: -10px; }
  .mega {
    position: static; flex-basis: 100%;
    border: 0; box-shadow: none;
    opacity: 1; visibility: visible; transform: none;
    max-height: 0; overflow: hidden;
    transition: max-height .5s var(--ease);
  }
  .has-sub.is-open .mega { max-height: 620px; transition: max-height .5s var(--ease); }
  .mega__inner { grid-template-columns: 1fr; gap: 4px; width: 100%; padding: 0 0 8px; }
  .main-nav .mega__item { padding: 8px 6px; }
  .mega__item img { width: 64px; height: 48px; }
  .main-nav .mega__foot a { width: 100%; padding: 12px 6px; font-size: 12px; }
  .nav-toggle { position: relative; z-index: 70; }
  .nav-overlay {
    display: block; position: fixed; inset: 0; z-index: 55;
    background: rgba(15,41,30,.45);
    opacity: 0; visibility: hidden; transition: opacity .4s, visibility .4s;
  }
  .nav-open .nav-overlay { opacity: 1; visibility: visible; }
  /* while the drawer is open: no blur/transform on the header (they trap the fixed drawer
     inside the 66px bar) and lift the header above the dark overlay */
  .nav-open .site-header { backdrop-filter: none; transform: none; z-index: 60; }
  .nav-open { overflow: hidden; }

  .hero { padding-top: calc(var(--header-h) + 40px); }
  .hero__grid { grid-template-columns: 1fr; }
  .hero__thumbs { grid-template-rows: none; grid-template-columns: repeat(3, 1fr); }
  .hero-thumb { aspect-ratio: 329 / 200; }
  .hero__arrow { opacity: 1; transform: none; width: 40px; height: 40px; margin-top: -20px; }

  .about { padding: 100px 0; }
  .about__body { grid-template-columns: 1fr; padding-right: var(--gutter); }
  .about__media { margin-top: 0; aspect-ratio: 16 / 10; }

  .products__intro { margin: 0 auto 100px; }
  .cat-head, .cat-head--stacked { grid-template-columns: 1fr; gap: 18px; margin-bottom: 50px; }
  .cat-head__words { text-align: left; }
  .cat-head__script { white-space: normal; }
  .cat-head__text { padding-top: 0; }
  .cat-head--stacked .cat-head__words { text-align: center; }
  .cat-head--stacked .cat-head__text { margin-left: auto; }
  .category + .category { margin-top: 110px; }

  /* Sliders on tablet / mobile */
  .slider__track {
    display: flex !important;
    gap: 16px;
    width: 100%;
    padding: 0 20px 6px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-padding: 0 20px;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }
  .slider__track::-webkit-scrollbar { display: none; }
  .slider__track > * { flex: 0 0 min(78vw, 400px); scroll-snap-align: start; }
  .liquid-grid > * { flex-basis: min(62vw, 300px); }
  .slider__nav { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 22px 20px 0; }
  .slider__dots { display: flex; gap: 8px; }
  .slider__dots button {
    width: 8px; height: 8px; padding: 0; border: 0; border-radius: 8px;
    background: var(--line); transition: width .4s var(--ease), background-color .3s;
  }
  .slider__dots button.is-active { width: 26px; background: var(--green-700); }
  .slider__arrows { display: flex; gap: 8px; }
  .slider__arrows button {
    width: 40px; height: 40px; display: grid; place-items: center;
    background: var(--white); border: 1px solid var(--line); border-radius: 50%;
    transition: background-color .3s, border-color .3s, opacity .3s;
  }
  .slider__arrows button:disabled { opacity: .35; cursor: default; }
  .slider__arrows svg { width: 16px; height: 16px; fill: none; stroke: var(--green-700); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }

  .ext-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); row-gap: 60px; }
  .ext-grid__a { grid-column: 1 / 6; grid-row: auto; }
  .ext-grid__b { grid-column: 2 / 7; grid-row: auto; margin-top: 0; }
  .ext-grid__c { grid-column: 1 / 6; grid-row: auto; margin-top: 0; padding-left: 20px; }
  .duo { margin-top: 80px; }

  .site-footer__top, .site-footer__bottom { flex-direction: column; align-items: flex-start; gap: 40px; }
  .f-main, .f-side { width: 100%; }
  .f-side { align-items: flex-start; text-align: left; }
  .f-disclaimer { text-align: left; }
  .site-footer__bottom { margin-top: 60px; gap: 14px; }
}

@media (max-width: 640px) {
  .header-actions .btn { padding: 8px 14px; font-size: 11px; }
  .brand img { height: 34px; }
  .site-header__inner { padding: 0 14px; }
  .hero { padding-left: 0; padding-right: 0; }
  .hero__title { padding: 0 20px 18px; }
  .hero__stage { aspect-ratio: 4 / 3; border-radius: 0; }
  .hero__thumbs { gap: 6px; padding: 0 6px; }

  .about__head { flex-direction: column; gap: 24px; padding-right: var(--gutter); }
  .about__text p { font-size: 14.5px; }

  .loz-card__head { grid-template-columns: 110px 1fr; }
  .loz-card__icon { margin-left: 6px; height: 96px; }
  .loz-card__icon img { width: 80px; height: 72px; }

  .ext-grid { display: flex; flex-direction: column; gap: 50px; }
  .ext-grid__a { margin-right: 12%; }
  .ext-grid__b { margin-left: 12%; }
  .ext-grid__c { padding: 0 20px; }
  .duo { grid-template-columns: 1fr; gap: 40px; }

  .services { padding: 90px 20px; }
  .site-footer { padding-top: 80px; }
  .site-footer__top, .site-footer__bottom { width: min(100% - 32px, 1820px); }
  .f-nav { margin-top: 48px; }
}

/* ========================================================
   PRODUCT PAGES (products / category / product)
   ======================================================== */
.crumbs {
  display: flex; flex-wrap: wrap; align-items: center; gap: 8px;
  font-size: 12px; font-weight: 500; letter-spacing: .06em; text-transform: uppercase;
  color: var(--ink-soft);
}
.crumbs a { color: var(--green-700); }
.crumbs a:hover { text-decoration: underline; text-underline-offset: 3px; }
.crumbs span[aria-current] { color: var(--ink); }

.tag--green { background: var(--green-700); border-color: var(--green-700); color: var(--white); }

/* ---------- Page head ---------- */
.pp-head { padding: calc(var(--header-h) + 50px) 0 70px; }
.pp-head > .crumbs { justify-content: center; margin-bottom: 60px; }
.pp-head .cat-head { margin-bottom: 0; }

.pp-tabs {
  display: flex; flex-wrap: wrap; justify-content: center; gap: 10px;
  margin: 56px auto 0; padding: 0 20px;
}
.pp-tabs .pill { display: inline-flex; align-items: center; gap: 8px; padding: 9px 18px; }
.pp-tabs .pill small { font-size: 10px; opacity: .65; }

/* ---------- Category list (products.html) ---------- */
.pl-head {
  padding: calc(var(--header-h) + 110px) 0 260px;
  background: var(--sage-50);
}
.pl-head .cat-head { margin-bottom: 0; }
.pl-head .cat-head__big { font-size: clamp(2.8rem, 5vw, 5.6rem); }
.pl-head .cat-head__script { font-size: clamp(2.4rem, 4.4vw, 5rem); }

.pl-list { margin-top: -200px; padding: 0 20px 140px; }
.pl-list__inner { width: min(100%, 940px); margin: 0 auto; }

.pl-cat {
  display: block;
  padding-bottom: 56px; margin-bottom: 84px;
  border-bottom: 1px solid var(--line);
}
.pl-cat:last-child { margin-bottom: 0; }
.pl-cat__media { overflow: hidden; background: var(--sage-50); }
.pl-cat__media img { width: 100%; height: auto; transform: scale(1.02); transition: transform 1.4s var(--ease); }
.js .pl-cat .pl-cat__media[data-reveal="clip"] > img { transform: scale(1.2); }
.js .pl-cat .pl-cat__media[data-reveal="clip"].is-in > img { transform: scale(1.02); }
.js .pl-cat:hover .pl-cat__media[data-reveal="clip"].is-in > img, .pl-cat:hover .pl-cat__media img { transform: scale(1.07); }

.pl-cat__row {
  display: flex; justify-content: space-between; align-items: flex-start; gap: 40px;
  margin-top: 60px; padding: 0 4px;
}
.pl-cat__words { text-align: right; }
.pl-cat__title {
  font-family: var(--sans); font-weight: 600;
  font-size: clamp(2.2rem, 4vw, 4.2rem);
  line-height: .9; letter-spacing: -.035em; text-transform: uppercase;
  color: var(--black);
  transition: color .4s;
}
.pl-cat__script {
  display: block; margin-top: 2px;
  font-family: var(--serif); font-style: italic; font-weight: 400;
  font-size: clamp(1.7rem, 2.9vw, 3.1rem); line-height: 1.05; letter-spacing: -.015em;
  color: var(--black);
}
.pl-cat:hover .pl-cat__title { color: var(--green-700); }
.pl-cat__text { max-width: 250px; padding-top: 6px; font-size: 13.5px; line-height: 1.45; color: var(--ink-soft); }

.pk-card__more svg, .pd-related__all svg {
  width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round;
}

/* ---------- Product cards (category + related) ---------- */
.pp-list { padding: 0 var(--gutter) 150px; }
.pp-list__count { margin-bottom: 26px; font-size: 13px; color: var(--ink-soft); }
.pk-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 40px 22px; }

/* category page + "You may also like": full-width 4-up grid with large images */
.pp-list, .pd-related { padding-left: 24px; padding-right: 24px; }
.pp-list .pk-grid, .pd-related .pk-grid { gap: 56px 16px; }
.pp-list .pk-card__media img, .pd-related .pk-card__media img { inset: 0; width: 100%; height: 100%; transform: scale(1.1); }
.pp-list .pk-card:hover .pk-card__media img, .pd-related .pk-card:hover .pk-card__media img { transform: scale(1.15); }
.pp-list .pk-card__alt, .pd-related .pk-card__alt { transform: scale(1.06); }
.pp-list .pk-card:hover .has-alt img:first-child, .pd-related .pk-card:hover .has-alt img:first-child { transform: scale(1.18); }
.pp-list .pk-card:hover .pk-card__alt, .pd-related .pk-card:hover .pk-card__alt { transform: scale(1.12); }
.pp-list .pk-card__body, .pd-related .pk-card__body { padding: 22px 6px 0; }
.pp-list .pk-card__name, .pd-related .pk-card__name { font-size: clamp(15px, 1.15vw, 18px); }

.pk-card { display: flex; flex-direction: column; }
.pk-card__media {
  position: relative; overflow: hidden;
  aspect-ratio: 1 / 1;
  background: var(--sage-50); border-radius: 6px;
}
.pk-card__media img {
  position: absolute; inset: 8%; width: 84%; height: 84%;
  object-fit: contain; mix-blend-mode: multiply;
  will-change: opacity, transform;
  /* visibility waits for the fade-out, so the swap is a true crossfade */
  transition: opacity .7s cubic-bezier(.4, 0, .2, 1), transform 1.1s cubic-bezier(.22, .8, .24, 1), visibility 0s linear 0s;
}
.pk-card__alt { opacity: 0; visibility: hidden; transform: scale(.96); transition-delay: 0s, 0s, .7s; }
.pk-card:hover .pk-card__media img { transform: scale(1.05); }
.pk-card:hover .has-alt img:first-child { opacity: 0; visibility: hidden; transform: scale(1.08); transition-delay: 0s, 0s, .7s; }
.pk-card:hover .pk-card__alt { opacity: 1; visibility: visible; transform: scale(1.03); transition-delay: 0s; }

.pk-card__body { padding-top: 18px; display: flex; flex-direction: column; gap: 10px; flex: 1; }
.pk-card__name {
  font-size: 15px; font-weight: 500; line-height: 1.3; letter-spacing: .005em;
  text-transform: uppercase; color: var(--black);
}
.pk-card__tags { display: flex; flex-wrap: wrap; gap: 6px; }
.pk-card__tags .tag { min-width: 0; padding: 2px 10px; font-size: 11px; }
.pk-card__more {
  display: inline-flex; align-items: center; gap: 8px; margin-top: auto; padding-top: 4px;
  font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase;
  color: var(--green-700);
}
.pk-card__more svg { transition: transform .4s var(--ease); }
.pk-card:hover .pk-card__more svg { transform: translateX(5px); }

/* ---------- Product details ---------- */
.pd-top { padding: calc(var(--header-h) + 36px) var(--gutter) 110px; }
.pd-top > .crumbs { margin-bottom: 36px; }
.pd-top__grid {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(36px, 6vw, 100px); align-items: start;
}

.pd-gallery { position: sticky; top: calc(var(--header-h) + 20px); }
.pd-gallery__main {
  aspect-ratio: 1 / 1; overflow: hidden;
  background: var(--sage-50); border-radius: 6px;
  display: grid; place-items: center;
}
.pd-gallery__main img {
  width: 86%; height: 86%; object-fit: contain; mix-blend-mode: multiply;
  transition: opacity .18s linear, transform .5s var(--ease);
}
.js .pd-gallery[data-reveal="clip"] > .pd-gallery__main img { transform: none; }

.pd-info { padding-top: 10px; }
.pd-info__cat {
  display: inline-block;
  font-size: 12px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase;
  color: var(--green-700);
}
.pd-info__cat:hover { text-decoration: underline; text-underline-offset: 3px; }
.pd-info__name {
  margin-top: 16px;
  font-family: var(--serif); font-weight: 400;
  font-size: clamp(2.2rem, 3.8vw, 3.8rem); line-height: 1.05; letter-spacing: -.015em;
  color: var(--black);
}
.pd-info__tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 22px; }
.pd-info__short { margin-top: 24px; font-size: 16px; line-height: 1.6; color: var(--ink); max-width: 56ch; }

.pd-facts {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 30px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line);
}
.pd-facts li { padding: 16px 16px 16px 0; }
.pd-facts li + li { padding-left: 16px; border-left: 1px solid var(--line); }
.pd-facts span { display: block; font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--green-400); }
.pd-facts strong { display: block; margin-top: 6px; font-size: 14px; font-weight: 500; line-height: 1.35; color: var(--ink); }

.pd-dose {
  margin-top: 26px; padding: 20px 22px;
  background: var(--sage-50); border-left: 3px solid var(--green-700); border-radius: 0 4px 4px 0;
  font-size: 14px; line-height: 1.6;
}
.pd-dose__label { display: block; margin-bottom: 6px; font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--green-700); }
.pd-dose ul { padding-left: 18px; list-style: disc; }

.pd-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.pd-actions .btn { padding: 14px 28px; }
.pd-actions__ghost { border: 1px solid var(--green-700); color: var(--green-700); background: transparent; }
.pd-actions__ghost:hover { background: var(--green-700); color: var(--white); }

/* detail sections */
.pd-details {
  display: grid; grid-template-columns: 250px minmax(0, 1fr);
  gap: clamp(36px, 6vw, 100px);
  padding: 100px var(--gutter) 120px;
  background:#f0f0f0;
}
.pd-nav { position: sticky; top: calc(var(--header-h) + 24px); align-self: start; }
.pd-nav__label { margin-bottom: 14px; font-size: 11px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--green-400); }
.pd-nav li { border-left: 1px solid var(--line); }
.pd-nav a {
  display: block; padding: 6px 0 6px 16px; margin-left: -1px;
  font-size: 14px; color: var(--ink-soft);
  border-left: 2px solid transparent;
  transition: color .3s, border-color .3s;
}
.pd-nav a:hover { color: var(--green-700); }
.pd-nav a.is-active { color: var(--green-900); font-weight: 500; border-left-color: var(--green-700); }

.pd-content { max-width: 860px; }
.pd-sec { padding: 34px 0; border-top: 1px solid var(--line); scroll-margin-top: calc(var(--header-h) + 20px); }
.pd-sec:first-child { padding-top: 0; border-top: 0; }
.pd-sec__title {
  margin-bottom: 18px;
  font-family: var(--serif); font-weight: 400;
  font-size: clamp(1.6rem, 2.2vw, 2.2rem); line-height: 1.15;
  color: var(--green-900);
}
.pd-sec__body { font-size: 15px; line-height: 1.7; color: var(--ink); }
.pd-sec__body p + p, .pd-sec__body p + table, .pd-sec__body table + p,
.pd-sec__body p + ul, .pd-sec__body p + ol { margin-top: 14px; }
.pd-sec__body ul, .pd-sec__body ol { display: grid; gap: 10px; padding-left: 20px; }
.pd-sec__body ul { list-style: disc; }
.pd-sec__body ol { list-style: decimal; }
.pd-sec__body li::marker { color: var(--green-700); }
.pd-sec__body strong { font-weight: 600; color: var(--green-900); }
.pd-sec__body table {
  width: 100%; border-collapse: collapse;
  background: var(--white); border-radius: 6px; overflow: hidden;
  font-size: 14.5px;
}
.pd-sec__body td { padding: 11px 18px; border-bottom: 1px solid #ebe7e1; vertical-align: top; }
.pd-sec__body tr:last-child td { border-bottom: 0; }
.pd-sec__body td:last-child:not(:first-child) { width: 1%; white-space: nowrap; text-align: right; font-weight: 600; color: var(--green-700); }
.pd-sec__body td[colspan] { font-weight: 600; color: var(--green-400); background: var(--sage-50); text-align: left; }

.pd-sec--refs details summary { display: flex; align-items: center; justify-content: space-between; cursor: pointer; list-style: none; }
.pd-sec--refs details summary::-webkit-details-marker { display: none; }
.pd-sec--refs summary .pd-sec__title { margin-bottom: 0; }
.pd-sec--refs summary::after {
  content: "+"; font-size: 26px; font-weight: 300; line-height: 1; color: var(--green-700);
  transition: transform .3s var(--ease);
}
.pd-sec--refs details[open] summary::after { transform: rotate(45deg); }
.pd-sec--refs details[open] .pd-sec__body { margin-top: 18px; font-size: 13px; color: var(--ink-soft); }
.pd-note { margin-top: 30px; padding-top: 24px; border-top: 1px solid var(--line); font-size: 13px; color: var(--ink-soft); }

/* related */
.pd-related { padding: 120px var(--gutter) 150px; }
.pd-related__head { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 44px; }
.pd-related__all {
  display: inline-flex; align-items: center; gap: 8px; white-space: nowrap;
  font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--green-700);
}

.pp-missing { text-align: center; padding-bottom: 150px; }
.pp-missing .crumbs { justify-content: center; margin-bottom: 40px; }
.pp-missing p { margin: 16px 0 28px; color: var(--ink-soft); }

/* ---------- Responsive ---------- */
@media (max-width: 1100px) {
  .pk-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .pd-details { grid-template-columns: 1fr; }
  .pd-nav { position: static; }
  .pd-nav ul { display: flex; flex-wrap: wrap; gap: 8px; }
  .pd-nav li { border-left: 0; }
  .pd-nav a { padding: 6px 12px; margin: 0; border: 1px solid var(--line); border-radius: 999px; font-size: 13px; }
  .pd-nav a.is-active { border-color: var(--green-700); }
}
@media (max-width: 900px) {
  .pd-top__grid { grid-template-columns: 1fr; }
  .pd-gallery { position: static; }
}
@media (max-width: 640px) {
  .pp-head { padding-top: calc(var(--header-h) + 30px); }
  .pp-head > .crumbs { justify-content: flex-start; padding: 0 20px; margin-bottom: 36px; }
  .pp-tabs { justify-content: flex-start; margin-top: 36px; }
  .pp-list, .pd-top, .pd-details, .pd-related { padding-left: 20px; padding-right: 20px; }
  .pl-head { padding: calc(var(--header-h) + 50px) 0 140px; }
  .pl-list { margin-top: -100px; }
  .pl-cat { padding-bottom: 36px; margin-bottom: 50px; }
  .pl-cat__row { flex-direction: column; gap: 14px; margin-top: 22px; }
  .pl-cat__words { text-align: left; }
  .pl-cat__text { max-width: none; padding-top: 0; }
  .pp-list, .pd-related { padding-left: 12px; padding-right: 12px; }
  .pp-list .pk-grid, .pd-related .pk-grid { gap: 36px 10px; }
  .pk-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px 14px; }
  .pk-card__name { font-size: 13px; }
  .pd-facts { grid-template-columns: 1fr; }
  .pd-facts li + li { padding-left: 0; border-left: 0; border-top: 1px solid var(--line); }
  .pd-details { padding-top: 70px; }
  .pd-sec__body td { padding: 10px 12px; }
  .pd-related__head { flex-direction: column; align-items: flex-start; }
}

/* ========================================================
   INGREDIENTS PAGE
   ======================================================== */
.ing-hero { padding-bottom: 0; }

.ing-intro { padding-bottom: 110px; }
.ing-intro__body {
  display: grid; grid-template-columns: minmax(0, 1fr) auto;
  gap: clamp(40px, 8vw, 130px); align-items: end;
  padding: 0 var(--gutter);
}
.ing-intro__body > p { max-width: 58ch; font-size: 16px; line-height: 1.6; color: var(--ink); }
.ing-stats { display: flex; gap: clamp(28px, 4vw, 60px); }
.ing-stats li { padding-top: 16px; border-top: 1px solid var(--line); min-width: 120px; }
.ing-stats strong {
  display: block;
  font-family: var(--serif); font-weight: 400;
  font-size: clamp(2.4rem, 3.6vw, 3.6rem); line-height: 1; color: var(--green-700);
}
.ing-stats span { display: block; margin-top: 8px; font-size: 13px; color: var(--ink-soft); }

.ing-list { padding: 0 var(--gutter) 150px; }
.ing-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }

.ing-card {
  position: relative;
  display: flex; flex-direction: column;
  padding: 30px 30px 34px;
  background: var(--sage-50); border-radius: 6px;
  transition: background-color .5s var(--ease), transform .6s var(--ease), box-shadow .6s var(--ease);
}
.ing-card:hover { background: #e4eee9; transform: translateY(-6px); box-shadow: 0 22px 40px -28px rgba(15, 41, 30, .45); }
.ing-card__num { font-family: var(--serif); font-size: 15px; color: var(--green-400); }
.ing-card__media {
  display: grid; place-items: center;
  aspect-ratio: 4 / 3; margin: 6px 0 18px;
}
.ing-card__img {
  width: 76%; height: 100%; object-fit: contain;
  transition: transform .9s var(--ease);
}
.ing-card__img--flat { mix-blend-mode: multiply; width: 88%; }   /* jpg with a white background */
.ing-card:hover .ing-card__img { transform: scale(1.07) rotate(-2deg); }
.ing-card__name {
  font-family: var(--sans); font-weight: 600;
  font-size: clamp(1.5rem, 2vw, 2rem); line-height: 1; letter-spacing: -.02em; text-transform: uppercase;
  color: var(--black);
}
.ing-card__bot {
  margin-top: 6px;
  font-family: var(--serif); font-style: italic;
  font-size: 17px; color: var(--green-700);
}
.ing-card__text { margin-top: 16px; font-size: 14px; line-height: 1.6; color: var(--ink-soft); }

.ing-cta .services__text { margin-bottom: 40px; }
.ing-cta__btn { padding: 15px 34px; background: var(--white); color: var(--green-900); }
.ing-cta__btn:hover { background: var(--gold); transform: translateY(-2px); }

@media (max-width: 1100px) {
  .ing-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ing-intro__body { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .ing-intro { padding-bottom: 70px; }
  .ing-intro__body, .ing-list { padding-left: 20px; padding-right: 20px; }
  .ing-stats { gap: 20px; }
  .ing-stats li { min-width: 0; flex: 1; }
  .ing-grid { grid-template-columns: 1fr; gap: 16px; }
  .ing-card { padding: 24px; }
  .ing-card__media { aspect-ratio: 16 / 9; margin-bottom: 12px; }
  .ing-card__img { width: 60%; }
  .ing-card__img--flat { width: 72%; }
}

/* ========================================================
   CONTACT PAGE
   ======================================================== */
.ct-head { padding-bottom: 70px; padding-top: 250px; }

.ct-eyebrow {
  display: inline-block; margin-bottom: 14px;
  font-size: 11px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase;
  color: var(--green-400);
}
.ct-eyebrow--gold { color: var(--gold); }

/* quick contact tiles */
.ct-quick {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px;
  padding: 0 var(--gutter) 90px;
}
.ct-tile {
  position: relative; display: flex; flex-direction: column; gap: 6px;
  padding: 34px 32px 30px;
  background: var(--sage-50); border: 1px solid transparent; border-radius: 6px;
  transition: background-color .4s var(--ease), color .4s var(--ease), transform .4s var(--ease);
}
.ct-tile__icon {
  display: grid; place-items: center; width: 52px; height: 52px; margin-bottom: 22px;
  border-radius: 50%; background: var(--white); color: var(--green-700);
  transition: background-color .4s var(--ease), color .4s var(--ease);
}
.ct-tile__icon svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.ct-tile__label { font-size: 11px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--green-400); transition: color .4s; }
.ct-tile__value { font-size: clamp(1.1rem, 1.5vw, 1.35rem); font-weight: 600; letter-spacing: -.01em; color: var(--green-700); word-break: break-word; transition: color .4s; }
.ct-tile__note { font-size: 14px; color: var(--ink-soft); transition: color .4s; }
.ct-tile__arrow {
  position: absolute; top: 34px; right: 32px;
  font-size: 22px; color: var(--green-700);
  transition: transform .4s var(--ease), color .4s;
}
.ct-tile:hover { background: var(--green-700); transform: translateY(-4px); }
.ct-tile:hover .ct-tile__icon { background: var(--gold); color: var(--green-900); }
.ct-tile:hover .ct-tile__label { color: var(--gold); }
.ct-tile:hover .ct-tile__value, .ct-tile:hover .ct-tile__arrow { color: var(--white); }
.ct-tile:hover .ct-tile__note { color: rgba(255,255,255,.75); }
.ct-tile:hover .ct-tile__arrow { transform: translateX(6px); }

/* form + location */
.ct-main { padding: 0 var(--gutter) 120px; }
.ct-grid {
  display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  gap: clamp(28px, 4vw, 64px); align-items: stretch;
}

.ct-form-wrap { padding-top: 8px; }
.ct-form__title { font-size: clamp(2.2rem, 3.4vw, 3.4rem); }
.ct-form__lead { margin-top: 16px; max-width: 46ch; font-size: 15px; line-height: 1.6; color: var(--ink-soft); }
.ct-form { display: grid; grid-template-columns: 1fr 1fr; gap: 30px 28px; margin-top: 44px; }
.ct-field { display: flex; flex-direction: column; gap: 6px; }
.ct-field--full { grid-column: 1 / -1; }
.ct-field label { font-size: 11px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--green-700); }
.ct-field input, .ct-field textarea, .ct-field select {
  width: 100%; padding: 12px 0;
  font: inherit; font-size: 16px; color: var(--ink);
  background: transparent; border: 0; border-bottom: 1px solid var(--line); border-radius: 0;
  transition: border-color .3s, box-shadow .3s;
}
.ct-field select {
  appearance: none; -webkit-appearance: none; cursor: pointer; padding-right: 28px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232f5a45' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 2px center / 16px;
}
.ct-field textarea { resize: vertical; min-height: 130px; }
.ct-field input::placeholder, .ct-field textarea::placeholder { color: #9aa39f; }
.ct-field input:focus, .ct-field textarea:focus, .ct-field select:focus {
  outline: none; border-bottom-color: var(--green-700); box-shadow: 0 1px 0 0 var(--green-700);
}
.ct-field.is-invalid input, .ct-field.is-invalid textarea { border-bottom-color: var(--accent); box-shadow: 0 1px 0 0 var(--accent); }
.ct-form__foot { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; gap: 18px; margin-top: 4px; }
.ct-form__btn { gap: 10px; padding: 16px 36px; }
.ct-form__btn span { transition: transform .3s var(--ease); }
.ct-form__btn:hover span { transform: translateX(4px); }
.ct-form__status { font-size: 14px; color: var(--green-700); }
.ct-form__status.is-error { color: var(--accent); }

/* map card with address panel */
.ct-visit {
  display: flex; flex-direction: column; overflow: hidden;
  border-radius: 6px; background: var(--green-900); color: var(--white);
}
.ct-visit__map { flex: 1 1 auto; min-height: 300px; line-height: 0; }
.ct-visit__map iframe { width: 100%; height: 100%; min-height: 300px; border: 0; filter: grayscale(.35) contrast(1.02); }
.ct-visit__card { padding: clamp(28px, 3vw, 40px); }
.ct-visit__title { font-family: var(--serif); font-weight: 400; font-size: clamp(1.6rem, 2.2vw, 2.1rem); line-height: 1.15; }
.ct-visit__addr { margin-top: 12px; font-size: 15px; line-height: 1.6; color: rgba(255,255,255,.78); }
.ct-visit__meta {
  display: grid; grid-template-columns: 1fr 1fr; gap: 16px;
  margin: 24px 0 0; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.15);
}
.ct-visit__meta dt { font-size: 11px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--gold); }
.ct-visit__meta dd { margin: 4px 0 0; font-size: 14.5px; }
.ct-visit__link {
  display: inline-flex; gap: 10px; align-items: center; margin-top: 26px;
  font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase;
  color: var(--gold); border-bottom: 1px solid currentColor; padding-bottom: 4px;
}
.ct-visit__link span { transition: transform .3s var(--ease); }
.ct-visit__link:hover span { transform: translateX(4px); }

@media (max-width: 1100px) {
  .ct-grid { grid-template-columns: 1fr; }
  .ct-visit__map, .ct-visit__map iframe { min-height: 340px; }
}
@media (max-width: 860px) {
  .ct-quick { grid-template-columns: 1fr; gap: 14px; padding-bottom: 60px; }
  .ct-tile { padding: 24px 22px; }
  .ct-tile__icon { margin-bottom: 12px; }
  .ct-tile__arrow { top: 24px; right: 22px; }
}
@media (max-width: 640px) {
  .ct-head { padding-bottom: 44px; }
  .ct-quick { padding: 0 20px 56px; }
  .ct-main { padding: 0 20px 80px; }
  .ct-form { grid-template-columns: 1fr; gap: 24px; }
  .ct-visit__meta { grid-template-columns: 1fr; }
}

/* ========================================================
   TRUST PAGES (quality / certificates / affiliation)
   ======================================================== */
.tr-head { padding-bottom: 90px; padding-top: 250px; }

/* quality: process steps */
.tr-process { padding: 0 var(--gutter) 130px; }
.tr-process__head { max-width: 720px; margin-bottom: 60px; }
.tr-steps {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0; padding: 0; list-style: none;
  border-top: 1px solid var(--line);
}
.tr-step {
  position: relative; display: flex; flex-direction: column; justify-content: space-between; gap: 40px;
  min-height: 230px; padding: 30px 34px 34px 0;
  border-bottom: 1px solid var(--line);
}
.tr-step:not(:nth-child(3n+1)) { padding-left: 34px; border-left: 1px solid var(--line); }
.tr-step__num {
  font-family: var(--serif); font-style: italic;
  font-size: clamp(3rem, 4.4vw, 4.6rem); line-height: 1;
  color: var(--sage-300);
  transition: color .4s var(--ease);
}
.tr-step__title {
  max-width: 22ch;
  font-family: var(--sans); font-weight: 600;
  font-size: clamp(1.05rem, 1.35vw, 1.3rem); line-height: 1.25; letter-spacing: -.01em;
  color: var(--black);
}
.tr-step::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px;
  background: var(--green-700); transform: scaleX(0); transform-origin: left;
  transition: transform .6s var(--ease);
}
.tr-step:hover::after { transform: scaleX(1); }
.tr-step:hover .tr-step__num { color: var(--green-700); }
.tr-step:last-child .tr-step__num { color: var(--gold); }

.tr-standards .tr-standards__tags { justify-content: center; margin-top: 38px; }
.tr-standards .tag { background: var(--white); border-color: transparent; color: var(--green-700); font-weight: 600; padding: 6px 18px; }

/* next-page cards */
.tr-next {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px;
  padding: 120px var(--gutter);
}
.tr-next__card {
  position: relative; display: flex; flex-direction: column; gap: 4px;
  padding: 38px 40px; border: 1px solid var(--line); border-radius: 6px;
  transition: background-color .4s var(--ease), border-color .4s var(--ease);
}
.tr-next__card .ct-eyebrow { margin-bottom: 10px; }
.tr-next__title {
  font-weight: 600; font-size: clamp(1.8rem, 2.8vw, 2.8rem);
  line-height: 1; letter-spacing: -.035em; text-transform: uppercase; color: var(--black);
  transition: color .4s;
}
.tr-next__note { margin-top: 12px; max-width: 40ch; font-size: 14.5px; color: var(--ink-soft); transition: color .4s; }
.tr-next__arrow { position: absolute; top: 36px; right: 40px; font-size: 26px; color: var(--green-700); transition: transform .4s var(--ease), color .4s; }
.tr-next__card:hover { background: var(--green-700); border-color: var(--green-700); }
.tr-next__card:hover .tr-next__title, .tr-next__card:hover .tr-next__arrow { color: var(--white); }
.tr-next__card:hover .tr-next__note { color: rgba(255,255,255,.75); }
.tr-next__card:hover .ct-eyebrow { color: var(--gold); }
.tr-next__card:hover .tr-next__arrow { transform: translateX(6px); }

/* certificates grid */
.tr-certs { padding: 0 var(--gutter) 130px; }
.tr-certs__grid {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 50px 26px; margin: 0; padding: 0; list-style: none;
}
.tr-cert__link { display: flex; flex-direction: column; height: 100%; }
.tr-cert__media {
  display: grid; place-items: center; overflow: hidden;
  aspect-ratio: 4 / 4.2; padding: 34px;
  background: var(--sage-50); border-radius: 6px;
}
.tr-cert__media img {
  width: auto; height: 100%; max-height: 100%; object-fit: contain;
  box-shadow: 0 18px 40px -18px rgba(15,41,30,.45);
  transition: transform .8s var(--ease);
}
.tr-cert__link:hover .tr-cert__media img { transform: scale(1.05) rotate(-1deg); }
.tr-cert__body { display: grid; grid-template-columns: auto 1fr; column-gap: 16px; padding-top: 22px; }
.tr-cert__num { grid-row: span 3; padding-top: 4px; font-size: 12px; font-weight: 600; letter-spacing: .08em; color: var(--green-400); }
.tr-cert__title { font-size: 1.35rem; font-weight: 600; letter-spacing: -.02em; line-height: 1.2; color: var(--black); }
.tr-cert__sub { margin-top: 4px; font-size: 14px; color: var(--ink-soft); }
.tr-cert__cta {
  justify-self: start; display: inline-flex; gap: 8px; align-items: baseline; margin-top: 16px; padding-bottom: 3px;
  font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase;
  color: var(--green-700); border-bottom: 1px solid currentColor;
}
.tr-cert__cta small { font-size: 11px; font-weight: 500; letter-spacing: .02em; text-transform: none; color: var(--ink-soft); }
.tr-cert__cta > span { transition: transform .3s var(--ease); }
.tr-cert__link:hover .tr-cert__cta > span { transform: translateX(4px); }

/* dark photo band */
.tr-band {
  position: relative; overflow: hidden; isolation: isolate;
  padding: clamp(90px, 10vw, 150px) var(--gutter); color: var(--white);
  background: var(--green-900);
}
.tr-band__bg { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; }
.tr-band::after {
  content: ""; position: absolute; inset: 0; z-index: -1;
  background: linear-gradient(90deg, rgba(15,41,30,.94) 0%, rgba(15,41,30,.8) 45%, rgba(15,41,30,.25) 100%);
}
.tr-band__inner { max-width: 560px; }
.tr-band__title { color: var(--white); }
.tr-band__inner p { margin-top: 18px; font-size: 15.5px; line-height: 1.6; color: rgba(255,255,255,.8); }
.tr-band__btn { gap: 10px; margin-top: 32px; padding: 15px 32px; background: var(--gold); color: var(--green-900); }
.tr-band__btn:hover { background: var(--white); }

/* affiliation logos */
.tr-affs { position: relative; overflow: hidden; isolation: isolate; padding: clamp(70px, 8vw, 120px) var(--gutter); }
.tr-affs__bg { position: absolute; inset: 0; z-index: -1; width: 100%; height: 100%; object-fit: cover; }
.tr-affs__grid {
  display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 18px;
  margin: 0; padding: 0; list-style: none;
}
.tr-aff {
  display: flex; flex-direction: column; align-items: center; text-align: center;
  padding: 34px 22px 30px; background: rgba(255,255,255,.94); border-radius: 6px;
  box-shadow: 0 20px 44px -26px rgba(15,41,30,.45);
  transition: transform .5s var(--ease);
}
.tr-aff:hover { transform: translateY(-6px); }
.tr-aff__logo { display: grid; place-items: center; width: 100%; height: 96px; margin-bottom: 22px; }
.tr-aff__logo img { max-width: 100%; max-height: 80px; width: auto; height: auto; object-fit: contain; }
.tr-aff__name { font-size: 1.05rem; font-weight: 600; letter-spacing: -.01em; color: var(--green-700); }
.tr-aff__full { margin-top: 6px; font-size: 13px; line-height: 1.4; color: var(--ink-soft); }

@media (max-width: 1100px) {
  .tr-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tr-step:not(:nth-child(3n+1)) { padding-left: 0; border-left: 0; }
  .tr-step:nth-child(2n) { padding-left: 30px; border-left: 1px solid var(--line); }
  .tr-certs__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tr-affs__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .tr-head { padding-bottom: 56px; }
  .tr-process, .tr-certs { padding: 0 20px 90px; }
  .tr-process__head { margin-bottom: 36px; }
  .tr-steps { grid-template-columns: 1fr; }
  .tr-step, .tr-step:nth-child(2n) { min-height: 0; flex-direction: row; justify-content: flex-start; align-items: center; gap: 22px; padding: 22px 0; border-left: 0; }
  .tr-step__num { flex: none; width: 2.2em; font-size: 2.4rem; }
  .tr-next { grid-template-columns: 1fr; gap: 14px; padding: 80px 20px; }
  .tr-next__card { padding: 28px 24px; }
  .tr-next__arrow { top: 26px; right: 24px; }
  .tr-certs__grid { grid-template-columns: 1fr; gap: 40px; }
  .tr-band { padding: 80px 20px; }
  .tr-band::after { background: rgba(15,41,30,.86); }
  .tr-affs { padding: 60px 20px; }
  .tr-affs__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .tr-aff { padding: 24px 14px 22px; }
  .tr-aff:last-child:nth-child(odd) { grid-column: 1 / -1; }
  .tr-aff__logo { height: 70px; margin-bottom: 14px; }
  .tr-aff__logo img { max-height: 60px; }
}

/* ========================================================
   PAGE LOADER (logo animation)
   ======================================================== */
.loader { display: none; }
.js .loader {
  --s: 1.25;                                   /* logo scale */
  position: fixed; inset: 0; z-index: 200;
  display: grid; place-items: center;
  background:
    radial-gradient(ellipse 50% 45% at 50% 50%, var(--sage-50), rgba(239,245,243,0) 70%),
    var(--white);
  clip-path: inset(0 0 0 0);
  transition: clip-path .9s var(--ease-io) .25s;
  /* safety net: never block the page if JS fails */
  animation: loaderFailsafe .01s linear 8s forwards;
}
.loader.is-done { clip-path: inset(0 0 100% 0); pointer-events: none; }
@keyframes loaderFailsafe { to { visibility: hidden; opacity: 0; pointer-events: none; } }

/* green curtain that follows the white panel up */
.js .loader::after {
  content: ""; position: absolute; inset: 0; z-index: -1;
  background: var(--green-700);
  clip-path: inset(100% 0 0 0);
}
.loader.is-done::after { animation: loaderCurtain 1.1s var(--ease-io) both; }
@keyframes loaderCurtain {
  0%   { clip-path: inset(100% 0 0 0); }
  45%  { clip-path: inset(0 0 0 0); }
  100% { clip-path: inset(0 0 100% 0); }
}

.loader__inner {
  display: flex; flex-direction: column; align-items: center;
  transition: opacity .4s var(--ease), transform .6s var(--ease);
}
.loader.is-done .loader__inner { opacity: 0; transform: translateY(-30px); }

.loader__logo {
  position: relative;
  display: flex; align-items: center;
  height: calc(70px * var(--s));
}

/* the leaf mark (left 54px of the logo) */
.loader__mark {
  position: relative;
  width: calc(54px * var(--s)); height: 100%;
  animation: loaderMark .9s var(--ease) both;
}
.loader__mark::before, .loader__mark::after {  /* ripple rings */
  content: ""; position: absolute; left: 50%; top: 50%;
  width: calc(78px * var(--s)); height: calc(78px * var(--s));
  margin: calc(-39px * var(--s)) 0 0 calc(-39px * var(--s));
  border: 2px solid rgba(76,175,80,.45); border-radius: 50%;
  animation: loaderRipple 1.8s var(--ease) .5s infinite;
  opacity: 0;
}
.loader__mark::after { animation-delay: 1.4s; }
.loader__crop { position: relative; z-index: 1; display: block; width: 100%; height: 100%; overflow: hidden; }
.loader__crop img, .loader__word img {
  width: calc(351px * var(--s)); max-width: none; height: 100%;
}
.loader__mark .loader__crop img { animation: loaderSway 2.4s ease-in-out 1s infinite; transform-origin: 30% 80%; }

/* the wordmark (rest of the logo), wiped in from the left */
.loader__word {
  display: block; overflow: hidden;
  width: calc(297px * var(--s)); height: 100%;
  margin-left: calc(-2px * var(--s));
  clip-path: inset(0 100% 0 0);
  animation: loaderWipe 1s var(--ease-io) .55s forwards;
}
.loader__word img { margin-left: calc(-54px * var(--s)); }

.loader__bar {
  position: relative; overflow: hidden;
  width: calc(180px * var(--s)); height: 2px; margin-top: 28px;
  background: rgba(47,90,69,.14); border-radius: 2px;
}
.loader__bar span {
  position: absolute; inset: 0;
  background: linear-gradient(90deg, #4caf50, var(--green-700));
  transform: scaleX(0); transform-origin: left;
  animation: loaderBar 1.6s var(--ease-io) .2s forwards;
}
.loader__tag {
  margin-top: 16px;
  font-family: var(--serif); font-style: italic;
  font-size: 17px; letter-spacing: .01em; color: var(--green-400);
  opacity: 0;
  animation: loaderFade .8s var(--ease) 1.1s forwards;
}

@keyframes loaderMark {
  from { opacity: 0; transform: translateY(18px) scale(.6) rotate(-25deg); }
  to   { opacity: 1; transform: none; }
}
@keyframes loaderRipple {
  0%   { opacity: .9; transform: scale(.55); }
  100% { opacity: 0;  transform: scale(1.35); }
}
@keyframes loaderSway { 0%, 100% { transform: rotate(0); } 50% { transform: rotate(-6deg); } }
@keyframes loaderWipe { to { clip-path: inset(0 0 0 0); } }
@keyframes loaderBar  { to { transform: scaleX(1); } }
@keyframes loaderFade { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }

/* later pages in the same visit: faster intro */
.loader--quick .loader__mark { animation-duration: .5s; }
.loader--quick .loader__word { animation-duration: .5s; animation-delay: .15s; }
.loader--quick .loader__bar span { animation-duration: .7s; animation-delay: 0s; }
.loader--quick .loader__tag { animation-duration: .4s; animation-delay: .3s; }

html.is-loading, html.is-loading body { overflow: hidden; }

@media (max-width: 520px) {
  .js .loader { --s: .85; }
  .loader__tag { font-size: 15px; }
}
@media (prefers-reduced-motion: reduce) {
  .loader__word { clip-path: none; }
  .loader__bar span { transform: none; }
  .loader__tag { opacity: 1; }
  .loader__mark::before, .loader__mark::after { display: none; }
}

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .001ms !important; transition-duration: .001ms !important; transition-delay: 0ms !important; }
  .js [data-reveal], .js [data-reveal] * { opacity: 1 !important; transform: none !important; clip-path: none !important; }
  .grid-lines span { transform: scaleY(1); }
  .hero-slide img, .product__media img, .about__media img,
  .ap-hero__media img, .ap-vm__media img,
  .wk-split__media img, .wk-society__imgs img { transform: none !important; }
}

.product__link{display:contents;color:inherit;text-decoration:none}

/* ---------- WhatsApp chat button ---------- */
.wa-float {
  position: fixed; right: 22px; bottom: 84px; z-index: 40;
  width: 52px; height: 52px; border-radius: 50%;
  display: grid; place-items: center;
  background: #25d366; color: #fff;
  box-shadow: 0 6px 18px rgba(0,0,0,.25);
  transition: transform .3s var(--ease), background-color .3s;
}
.wa-float:hover { background: #1ebe5b; transform: scale(1.08); }
.wa-float svg { width: 30px; height: 30px; }

/* ---------- Brochure popup ---------- */
body.modal-open { overflow: hidden; }
.bro-modal { position: fixed; inset: 0; z-index: 100; display: grid; place-items: center; padding: 20px; opacity: 0; visibility: hidden; transition: opacity .3s, visibility .3s; }
.bro-modal.is-open { opacity: 1; visibility: visible; }
.bro-modal__backdrop { position: absolute; inset: 0; background: rgba(15,41,30,.6); }
.bro-modal__box { position: relative; width: min(440px, 100%); background: var(--white); border-radius: 8px; padding: 32px 28px 26px; box-shadow: 0 20px 50px rgba(0,0,0,.3); }
.bro-modal__close { position: absolute; top: 8px; right: 12px; background: none; border: 0; font-size: 28px; line-height: 1; cursor: pointer; color: var(--black); }
.bro-modal h2 { margin: 0 0 6px; color: var(--green-700); font-size: 1.5rem; }
.bro-modal p { margin: 0 0 18px; font-size: .95rem; }
.bro-modal label { display: block; margin-bottom: 14px; font-size: .85rem; font-weight: 600; }
.bro-modal input { display: block; width: 100%; margin-top: 5px; padding: 11px 12px; border: 1px solid var(--green-400); border-radius: 4px; font: inherit; }
.bro-modal input:focus { outline: 2px solid var(--green-700); border-color: transparent; }
.bro-modal .btn { width: 100%; border: 0; cursor: pointer; justify-content: center; }
.bro-modal .btn:disabled { opacity: .6; cursor: wait; }
.bro-modal__msg { min-height: 1.2em; margin: 12px 0 0; font-size: .9rem; word-break: break-word; }
.bro-modal__msg.is-ok { color: var(--green-700); }
.bro-modal__msg.is-err { color: var(--accent); }

/* =========================================================
   THEME LAYER — modelled on neotravisil.ru
   deep green header/footer, lime accent, cream sections,
   pill shapes, light sans type
   ========================================================= */
:root {
  --lime: #c7d530;
  --lime-2: #d0de31;
  --cream: #fdfaf4;
  --forest: #184518;
  --forest-ink: #3c433d;
  --footer-bg: #092612;
  --serif: "Inter Tight", "Helvetica Neue", Arial, sans-serif;
  --line: #c9d3c0;
}
body { background: var(--cream); color: var(--forest-ink); font-weight: 300; }
.serif-title, .hero__title, .services__title { font-weight: 500; letter-spacing: -.01em; color: var(--forest); }
.serif-title em, .hero__title em { color: var(--lime); font-style: normal; background: var(--forest); padding: 0 .25em; border-radius: .2em; }

/* header: deep green, white links, lime hover */
.site-header { background: var(--forest); backdrop-filter: none; }
.site-header.is-scrolled { box-shadow: 0 8px 24px -16px rgba(0,0,0,.5); }
.brand img, .f-logo { mix-blend-mode: lighten; }
.main-nav > ul > li > a, .main-nav > ul > li > .sub-toggle,
.header-actions__link { color: #fff; }
.main-nav > ul > li > a:hover, .header-actions__link:hover { color: var(--lime); }
.main-nav a::after { background: var(--lime); }
.nav-toggle span { background: #fff; }
.site-header .btn--solid { background: var(--lime); color: var(--forest); border-radius: 40px; font-weight: 700; }
.site-header .btn--solid:hover { background: #fff; }
@media (max-width: 1100px) {
  .main-nav { background: var(--forest); }
  .main-nav a, .main-nav .sub-toggle, .main-nav .mega__item strong { color: #fff; }
  .main-nav .mega__item small { color: rgba(255,255,255,.7); }
  .main-nav .mega { background: transparent; }
  .main-nav__contact a { color: var(--lime); }
}

/* buttons / tags: pill, lime */
.btn { border-radius: 40px; }
.btn--solid { background: var(--forest); color: #fff; }
.btn--solid:hover { background: var(--lime); color: var(--forest); }
.btn--muted { background: var(--lime); color: var(--forest); }
.btn--muted:hover { background: var(--forest); color: #fff; }
.tag, .pill { border-radius: 40px; border-color: var(--lime); }
.hero-thumb:hover::after { box-shadow: inset 0 0 0 3px var(--lime); }
.hero-slide img, .hero__stage { border-radius: 20px; }

/* sections */
.services { background: var(--forest); }
.services__title { color: #fff; }
.site-footer { background: var(--footer-bg); color: #fff; }
.f-nav a, .f-legal a, .site-footer a { color: #fff; }
.f-nav a:hover, .f-legal a:hover, .site-footer a:hover { color: var(--lime); }
.f-disclaimer { color: rgba(255,255,255,.65); }
.f-cta { color: var(--lime); }
:focus-visible { outline-color: var(--lime); }
.site-footer .f-cta { color: var(--lime); }

/* ---------- Lozenges hero video + highlight ---------- */
.hero-slide--video video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.hero-slide--video::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(9,38,18,.78), rgba(9,38,18,0) 60%); pointer-events: none; }
.hero-slide__cap {
  position: absolute; left: clamp(20px, 4vw, 56px); bottom: clamp(20px, 4vw, 48px); z-index: 2;
  max-width: 460px; display: flex; flex-direction: column; align-items: flex-start; gap: 12px; color: #fff;
}
.hero-slide__cap strong { font-size: clamp(1.3rem, 2.4vw, 2.2rem); font-weight: 500; line-height: 1.15; }
.hero-slide__kicker { padding: 4px 14px; border-radius: 40px; background: var(--lime); color: var(--forest); font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.hero-slide__cap .btn--solid { background: var(--lime); color: var(--forest); font-weight: 700; }
.hero-slide__cap .btn--solid:hover { background: #fff; }

.category--featured {
  background: var(--forest); border-radius: 24px; padding: 48px 0 56px; color: #fff;
  box-shadow: 0 0 0 6px var(--lime) inset;
}
.category--featured .cat-head__big, .category--featured .cat-head__text, .category--featured .loz-card__title { color: #fff; }
.category--featured .cat-head__script { color: var(--lime); }

/* Full screen video banner above the hero */
.vbanner { position: relative; overflow: hidden; height: 100vh; height: 100svh; min-height: 420px; padding-top: var(--header-h); background: var(--green-900); }
.vbanner__video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.vbanner + .hero { padding-top: 60px; }

/* Hero: 1200px container, centred title, rounded cards */
.vbanner + .hero, .hero { padding: 72px 20px 0; max-width: 1440px; margin-inline: auto; }
.hero__title { text-align: center; max-width: 900px; margin: 0 auto 36px; padding: 0; font-size: clamp(2rem, 4vw, 3.6rem); line-height: 1.12; }
.hero__grid { gap: 16px; }
.hero__stage, .hero-thumb { border-radius: 18px; }
.hero__stage { box-shadow: 0 30px 60px -28px rgba(9,38,18,.45); }
.hero-thumb { box-shadow: 0 14px 30px -18px rgba(9,38,18,.4); }
.hero__thumbs { gap: 16px; }
.hero__progress { left: 24px; right: 24px; bottom: 18px; width: auto; border-radius: 3px; overflow: hidden; }
@media (max-width: 900px) { .hero__thumbs { gap: 10px; padding: 0; } }
@media (max-width: 640px) {
  .hero, .vbanner + .hero { padding: 48px 14px 0; }
  .hero__title { margin-bottom: 24px; }
  .hero__stage { border-radius: 14px; }
  .hero-thumb { border-radius: 10px; }
}

/* Hero heading: no green highlight behind the italic part */
.hero__title em { background: none; padding: 0; color: var(--forest); font-style: italic; }

/* Hero heading on a single line (wraps again on phones) */
.hero__title { max-width: none; white-space: nowrap; font-size: clamp(1.6rem, 3.6vw, 3.6rem); }
@media (max-width: 640px) { .hero__title { white-space: normal; font-size: clamp(1.7rem, 7vw, 2.2rem); } }

/* Footer social icons in white */
.site-footer .socials svg { fill: #fff; }
.site-footer .socials a:hover svg { fill: var(--accent); }

/* About heading: no green highlight behind the italic part */
.about .serif-title em { background: none; padding: 0; color: var(--forest); font-style: italic; }

/* ---------- Reasons to choose (zig-zag, numbered path) ---------- */
.reasons { padding: 90px 20px 60px; }
.reasons__inner { max-width: 1100px; margin: 0 auto; }
.reasons__title { font-family: var(--serif); font-weight: 400; font-size: clamp(2rem, 4vw, 3.4rem); line-height: 1.2; text-align: center; color: var(--forest); margin-bottom: 64px; }
.reasons__title strong { font-weight: 700; }
.reasons__list { list-style: none; margin: 0; padding: 0; }
.rs { position: relative; display: grid; align-items: center; gap: 40px; min-height: 260px; margin-bottom: 70px; }
.rs--odd { grid-template-columns: minmax(0, 300px) minmax(0, 1fr) 150px; }
.rs--even { grid-template-columns: 150px minmax(0, 1fr) minmax(0, 300px); }
.rs--even .rs__num { grid-column: 1; grid-row: 1; text-align: left; }
.rs--even .rs__text { grid-column: 2; grid-row: 1; }
.rs--even .rs__media { grid-column: 3; grid-row: 1; }
.rs__media { position: relative; width: 100%; aspect-ratio: 1; }
.rs__media img { width: 100%; height: 100%; display: block; object-fit: cover; border-radius: 50%; box-shadow: 0 24px 44px -26px rgba(9,38,18,.55); }
.rs__media--tint img { object-fit: contain; padding: 8%; background: radial-gradient(circle at 50% 40%, #f6f9dc, #dfe8a8); }
.rs__badge { position: absolute; top: -6%; right: -8%; width: 38%; aspect-ratio: 1; border-radius: 50%; display: grid; place-items: center; text-align: center; background: var(--lime); color: var(--forest); font-weight: 800; font-size: clamp(.7rem, 1.2vw, 1rem); line-height: 1.1; text-transform: uppercase; box-shadow: 0 12px 24px -14px rgba(9,38,18,.6); }
.rs__cal { position: absolute; left: -6%; top: 6%; width: 52%; filter: drop-shadow(0 10px 14px rgba(9,38,18,.3)); transform: rotate(-6deg); }
.rs__title { font-family: var(--serif); font-weight: 500; font-size: clamp(1.3rem, 2vw, 1.9rem); line-height: 1.1; text-transform: uppercase; letter-spacing: .01em; color: var(--forest); margin-bottom: 14px; }
.rs__desc { font-size: clamp(1rem, 1.5vw, 1.35rem); line-height: 1.3; font-weight: 300; color: var(--ink); max-width: 28em; }
.rs__num { font-family: var(--sans); font-weight: 800; font-size: clamp(6rem, 12vw, 10rem); line-height: .8; color: var(--sage-300); text-align: right; }
/* dashed connector from this number to the next */
.rs:not(:last-child)::after {
  content: ""; position: absolute; left: 0; right: 0; top: calc(100% - 20px); height: 90px; pointer-events: none;
  background: no-repeat center / 100% 100%;
}
.rs--odd:not(:last-child)::after { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cpath d='M92 0C92 70 8 30 8 100' fill='none' stroke='%23c7d530' stroke-width='4' stroke-dasharray='14 10' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E"); }
.rs--even:not(:last-child)::after { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cpath d='M8 0C8 70 92 30 92 100' fill='none' stroke='%23c7d530' stroke-width='4' stroke-dasharray='14 10' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E"); }
@media (max-width: 800px) {
  .reasons { padding-top: 60px; }
  .rs--odd, .rs--even { grid-template-columns: 1fr; text-align: center; gap: 18px; min-height: 0; margin-bottom: 54px; justify-items: center; }
  .rs--odd .rs__num, .rs--even .rs__num { grid-column: 1; grid-row: 1; text-align: center; font-size: 5rem; }
  .rs--odd .rs__media, .rs--even .rs__media { grid-column: 1; grid-row: 2; width: min(260px, 70%); }
  .rs--odd .rs__text, .rs--even .rs__text { grid-column: 1; grid-row: 3; }
  .rs:not(:last-child)::after { display: none; }
}

/* dark background version */
.reasons { background: var(--forest); }
.reasons__title, .rs__title { color: #fff; }
.reasons__title strong { color: var(--lime); }
.rs__desc { color: rgba(255,255,255,.85); }
.rs__num { color: rgba(255,255,255,.14); }
.rs__media img { box-shadow: 0 24px 44px -24px rgba(0,0,0,.7); }
.rs__cal rect:first-child { fill: #fff; }

/* gap between the hero slider and the reasons section */
.reasons { margin-top: 90px; }
@media (max-width: 600px) { .reasons { margin-top: 56px; } }

/* Products intro: heading and description on one line each (desktop) */
@media (min-width: 901px) {
  .products > .products__intro { width: min(100% - 40px, 1100px); margin: 0 auto 150px; text-align: center; }
  .products > .products__intro .serif-title br { display: none; }
  .products > .products__intro .serif-title, .products > .products__intro .lede { white-space: nowrap; max-width: none; }
}

/* Products section: tighter top and bottom spacing */
.products { padding: 70px 0 60px; }
@media (min-width: 901px) { .products > .products__intro { margin-bottom: 70px; } }
@media (max-width: 900px) { .products__intro { margin-bottom: 60px; } }

/* No highlight background behind heading text, site-wide */
.serif-title em, .hero__title em, .services__title em, .ap-vm__head em { background: none; padding: 0; border-radius: 0; color: inherit; font-style: italic; }

/* =========================================================
   DARK GREEN THEME (home page): green page, white text, lime headings,
   outlined pill buttons - after neotravisil.ru
   ========================================================= */
.theme-dark { --alt: #104417; background: var(--forest); color: #fff; }
.theme-dark .hero { background: var(--forest); max-width: none; padding: 72px calc((100% - 1400px) / 2) 0; }
@media (max-width: 1440px) { .theme-dark .hero { padding-left: 20px; padding-right: 20px; } }
.theme-dark .hero__title, .theme-dark .hero__title em { color: var(--lime); }
.theme-dark .hero__stage, .theme-dark .hero-thumb { box-shadow: 0 30px 60px -28px rgba(0,0,0,.6); }
.theme-dark .hero__progress span { background: var(--lime); }

/* sections */
.theme-dark .reasons { margin-top: 90px; }
.theme-dark .about { background: var(--alt); }
.theme-dark .about .serif-title, .theme-dark .serif-title { color: #fff; }
.theme-dark .about .serif-title em, .theme-dark .serif-title em { color: var(--lime); }
.theme-dark .about__text p { color: rgba(255,255,255,.86); }
.theme-dark .about__head .btn--muted, .theme-dark .btn--muted { background: transparent; color: #fff; border: 2px solid var(--lime); }
.theme-dark .btn--muted:hover { background: #fff; color: var(--forest); border-color: #fff; }

.theme-dark .products { background: var(--forest); }
.theme-dark .lede { color: rgba(255,255,255,.8); }
.theme-dark .grid-lines span { background: rgba(255,255,255,.07); }
.theme-dark .cat-head__big { color: #fff; }
.theme-dark .cat-head__script { color: var(--lime); }
.theme-dark .cat-head__text { color: rgba(255,255,255,.82); }

/* product display */
.theme-dark .category--featured { background: var(--alt); }
.theme-dark .loz-card { background: rgba(255,255,255,.06); border: 1px solid rgba(199,213,48,.25); border-radius: 22px; padding: 0 16px 18px; transition: transform .4s var(--ease), border-color .3s; }
.theme-dark .loz-card:hover { transform: translateY(-6px); border-color: var(--lime); }
.theme-dark .loz-card__icon { background: #fff; border-radius: 0 0 24px 24px; }
.theme-dark .loz-card__title { color: #fff; }
.theme-dark .loz-card__media { border-radius: 16px; }
.theme-dark .product__name, .theme-dark .product__name a { color: #fff; }
.theme-dark .product__media { border-radius: 20px; }
.theme-dark .product__media--plain { border-radius: 20px; background: rgba(255,255,255,.94); }
.theme-dark .ext-grid__a .product__media, .theme-dark .ext-grid__b .product__media { border-radius: 20px; }
.theme-dark .tag, .theme-dark .pill { color: #fff; background: transparent; border: 1px solid var(--lime); }
.theme-dark .tag--filled { background: transparent; border: 1px solid var(--lime); }
.theme-dark .pill:hover { background: #fff; color: var(--forest); border-color: #fff; }
.theme-dark .pill.is-active { background: var(--lime); border-color: var(--lime); color: var(--forest); font-weight: 700; }
.theme-dark .slider--always .slider__arrows button { background: var(--lime); }
.theme-dark .slider--always .slider__arrows svg { stroke: var(--forest); }
.theme-dark .slider__dots button { background: rgba(255,255,255,.3); }
.theme-dark .slider__dots button.is-active { background: var(--lime); }

.theme-dark .external { background: var(--alt); }
.theme-dark .services { background: #0a3f19; }

/* ---------- Dark theme: shared tokens so every page follows it ---------- */
.theme-dark {
  --black: #fff;
  --ink: rgba(255,255,255,.9);
  --ink-soft: rgba(255,255,255,.72);
  --green-700: var(--lime);
  --green-900: #fff;
  --green-400: rgba(255,255,255,.6);
  --sage-50: #104417;
  --sage-300: var(--lime);
  --line: rgba(255,255,255,.2);
  --surface: #104417;
}
.theme-dark .btn--solid, .theme-dark .pd-actions__ghost { background: transparent; color: #fff; border: 2px solid var(--lime); }
.theme-dark .btn--solid:hover { background: #fff; color: var(--forest); border-color: #fff; }
.theme-dark .site-header .btn--solid { background: var(--lime); color: var(--forest); border: 0; }
.theme-dark .site-header .btn--solid:hover { background: #fff; }
.theme-dark .hero-slide__cap .btn--solid { background: var(--lime); color: var(--forest); border: 0; }

/* ---------- Dark theme: component fixes for inner pages ---------- */
/* lime backgrounds need dark text */
.theme-dark .loz-card__badge, .theme-dark .tag--green { color: var(--forest); font-weight: 700; }
.theme-dark .to-top { background: var(--lime); }
.theme-dark .to-top:hover { background: #fff; }
.theme-dark .to-top svg, .theme-dark .to-top span { color: var(--forest); stroke: var(--forest); }
.theme-dark .ct-tile { background: var(--surface); }
.theme-dark .ct-tile:hover, .theme-dark .tr-next__card:hover { background: var(--lime); border-color: var(--lime); }
.theme-dark .ct-tile:hover .ct-tile__value, .theme-dark .ct-tile:hover .ct-tile__arrow,
.theme-dark .ct-tile:hover .ct-tile__note, .theme-dark .ct-tile:hover .ct-tile__label,
.theme-dark .tr-next__card:hover .tr-next__title, .theme-dark .tr-next__card:hover .tr-next__arrow,
.theme-dark .tr-next__card:hover .tr-next__note, .theme-dark .tr-next__card:hover .ct-eyebrow { color: var(--forest); }
.theme-dark .ct-tile:hover .ct-tile__icon { background: var(--forest); color: var(--lime); }
.theme-dark .ct-tile__icon { background: #fff; color: var(--forest); }

/* surfaces that were white */
.theme-dark .ct-visit { background: #0a3f19; }
.theme-dark .ct-visit__card { color: #fff; }
.theme-dark .ct-visit__addr { color: rgba(255,255,255,.8); }
.theme-dark .ct-visit__meta dd { color: #fff; }
.theme-dark .tr-aff__name { color: var(--forest); }
.theme-dark .tr-aff__full { color: #4b5350; }
.theme-dark .tr-band { background: #0a3f19; }
.theme-dark .pd-sec__body table { background: var(--surface); }
.theme-dark .pd-sec__body td[colspan] { background: #0a3f19; color: var(--lime); }
.theme-dark .wk-list li, .theme-dark .wk-faq__item { color: var(--ink); }
.theme-dark .wk-doshas li { background: var(--surface); }

/* product image tiles: keep a white stage so pack shots stay readable */
.theme-dark .pk-card__media, .theme-dark .pd-gallery__main, .theme-dark .pl-cat__media,
.theme-dark .wk-split__media--plain { background: #fff; }
.theme-dark .pl-head { background: var(--forest); }
.theme-dark .pd-details { background: var(--forest); }
.theme-dark .pd-dose { background: var(--surface); }
.theme-dark .ing-card, .theme-dark .tr-cert { background: var(--surface); }
.theme-dark .ing-cta__btn { background: var(--lime); color: var(--forest); }

/* Why Kofrut hero: darken the pale gradient so white text reads */
.theme-dark .wk-hero { background: #0a3f19; }
.theme-dark .wk-hero__bg img { filter: brightness(.55) saturate(.9); }
.theme-dark .wk-hero__glow {
  background:
    radial-gradient(ellipse 50% 44% at 50% 46%, rgba(10,63,25,.7), rgba(10,63,25,0) 70%),
    linear-gradient(to bottom, rgba(0,0,0,.25), rgba(0,0,0,0) 30%, rgba(24,69,24,0) 72%, var(--forest) 100%);
}
.theme-dark .wk-hero__eyebrow { color: var(--lime); background: rgba(10,63,25,.75); border-color: rgba(199,213,48,.4); }
.theme-dark .wk-hero__eyebrow span { background: var(--lime); box-shadow: 0 0 0 4px rgba(199,213,48,.25); }
.theme-dark .wk-hero__big { color: #fff; }
.theme-dark .wk-hero__script { color: var(--lime); }
.theme-dark .wk-hero__text { color: rgba(255,255,255,.9); }
.theme-dark .wk-hero__ghost { background: rgba(10,63,25,.7); color: #fff; border: 2px solid var(--lime); }
.theme-dark .wk-hero__ghost:hover { background: #fff; color: var(--forest); }
.theme-dark .wk-hero__chips { background: rgba(10,63,25,.82); border-color: rgba(199,213,48,.35); }
.theme-dark .wk-hero__chips li { color: #fff; }
.theme-dark .wk-hero__chips li:hover { background: rgba(255,255,255,.12); }
.theme-dark .wk-hero__chips img { background: #fff; }
.theme-dark .wk-feature { background: var(--surface); border: 1px solid rgba(199,213,48,.2); border-radius: 14px; }
.theme-dark .wk-feature img, .theme-dark .wk-feature svg { background: #fff; border-radius: 50%; padding: 6px; }
.theme-dark .tag--green { background: var(--lime); border-color: var(--lime); }
.theme-dark .pl-cat__script { color: var(--lime); }

/* Sub menu (mega / dropdown) on the dark theme */
.theme-dark .mega { background: #0a3f19; border-top-color: rgba(255,255,255,.12); box-shadow: 0 30px 50px -30px rgba(0,0,0,.6); }
.theme-dark .mega--drop { border-top-color: var(--lime); }
.theme-dark .main-nav .mega__item:hover, .theme-dark .main-nav .mega__item:focus-visible,
.theme-dark .main-nav .mega--drop .mega__item[aria-current="page"] { background: rgba(255,255,255,.1); }
.theme-dark .mega__text strong { color: #fff; }
.theme-dark .mega__text small { color: rgba(255,255,255,.75); }
.theme-dark .mega__item:hover strong, .theme-dark .main-nav .mega--drop .mega__item[aria-current="page"] strong { color: var(--lime); }
.theme-dark .mega__foot { border-top-color: rgba(255,255,255,.12); }
.theme-dark .main-nav .mega__foot a { color: var(--lime); }
.theme-dark .main-nav .mega__foot a:hover { color: #fff; }

/* Page loader on the dark theme */
.js .loader {
  background: radial-gradient(ellipse 50% 45% at 50% 50%, #1f5a1f, rgba(24,69,24,0) 70%), var(--forest);
}
.js .loader::after { background: #0a3f19; }
.loader__word img { filter: brightness(0) invert(1); }
.loader__mark::before, .loader__mark::after { border-color: rgba(199,213,48,.5); }
.loader__bar { background: rgba(255,255,255,.18); }
.loader__bar span { background: linear-gradient(90deg, var(--lime), #fff); }
.loader__tag { color: var(--lime); }
