:root {
  color-scheme: light;
  --image-radius-sm: 14px;
  --image-radius-md: 22px;
  --image-radius-lg: 30px;
}

* {
  box-sizing: border-box;
}

@media (prefers-reduced-motion: no-preference) {
  html {
    scroll-behavior: smooth;
  }
}

::selection {
  background: rgba(216, 90, 48, 0.22);
  color: #022C22;
}

body {
  margin: 0;
  background: #FAFCFB;
  color: #1A1A1A;
  font-family: 'Inter', "Segoe UI", Roboto, Arial, sans-serif;
  font-size: 1.0125rem;
  line-height: 1.65;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

#scroll-progress {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  z-index: 2000;
  transform-origin: left center;
  transform: scaleX(0);
  background: linear-gradient(90deg, #D85A30, #064E3B, #D85A30);
  background-size: 200% 100%;
  animation: progressShimmer 4s linear infinite;
  pointer-events: none;
}

@keyframes progressShimmer {
  0%   { background-position: 0% 0%; }
  100% { background-position: 200% 0%; }
}

#btt {
  position: fixed;
  bottom: 2.2rem;
  right: 2.2rem;
  z-index: 500;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: #064E3B;
  border: none;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  opacity: 0;
  transform: translateY(14px) scale(0.8);
  transition:
    opacity 0.35s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.35s cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 0.2s,
    background 0.2s;
  box-shadow: 0 4px 18px rgba(15, 110, 86, 0.38);
  pointer-events: none;
}

#btt.show {
  opacity: 1;
  transform: none;
  pointer-events: all;
}

#btt:hover {
  background: #0B6B4F;
  box-shadow: 0 8px 28px rgba(15, 110, 86, 0.5);
  transform: translateY(-3px) !important;
}

#btt svg {
  width: 18px;
  height: 18px;
  stroke: #fff;
  fill: none;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

img {
  display: block;
  max-width: 100%;
}

.is-hidden {
  display: none !important;
}

a {
  color: inherit;
}

:focus-visible {
  outline: 3px solid #D85A30;
  outline-offset: 4px;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.skip-link {
  position: fixed;
  left: 16px;
  top: 16px;
  z-index: 100;
  translate: 0 -140%;
  padding: 10px 14px;
  border-radius: 9px;
  background: #064E3B;
  color: #ffffff;
  font-weight: 800;
  text-decoration: none;
}

.skip-link:focus {
  translate: 0;
}

.site-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 9998;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 10px clamp(18px, 4vw, 54px);
  background: #3D6B45;
  border: 1px solid transparent;
  border-bottom-color: rgba(255, 255, 255, 0.08);
  border-radius: 0;
  box-shadow: none;
  transition:
    top 300ms cubic-bezier(0.22, 1, 0.36, 1),
    left 300ms cubic-bezier(0.22, 1, 0.36, 1),
    right 300ms cubic-bezier(0.22, 1, 0.36, 1),
    border-radius 300ms cubic-bezier(0.22, 1, 0.36, 1),
    border-color 300ms ease,
    box-shadow 300ms ease,
    background-color 300ms ease;
}

.site-header.is-detached {
  border-bottom-color: rgba(255, 255, 255, 0.16);
  box-shadow: 0 10px 30px rgba(9, 26, 18, 0.22);
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-width: max-content;
  line-height: 0;
  text-decoration: none;
}

.brand-mark {
  display: block;
  height: 56px;
  max-width: 112px;
  width: auto;
  border-radius: 0;
  object-fit: contain;
}

.site-header .brand-mark {
  transform: none;
}

.brand strong,
.brand small {
  display: block;
}

.brand strong {
  color: #022C22;
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 1.04rem;
  font-weight: 700;
}

.brand small {
  color: #475569;
  font-size: 0.78rem;
  font-weight: 700;
}

.site-nav {
  display: flex;
  align-items: center;
  gap: 6px;
}

.site-nav a {
  position: relative;
  border-radius: 9px;
  padding: 10px 16px;
  color: rgba(255, 255, 255, 0.82);
  font-family: 'Inter', "Segoe UI", Roboto, Arial, sans-serif;
  font-size: 1.02rem;
  font-weight: 700;
  text-decoration: none;
  transition: color 300ms ease, background-color 180ms ease;
}

.site-nav a:hover {
  background: rgba(255, 255, 255, 0.12);
  color: #ffffff;
}

.site-nav a::after {
  position: absolute;
  right: 16px;
  bottom: 6px;
  left: 16px;
  height: 2px;
  border-radius: 999px;
  background: #D85A30;
  content: "";
  opacity: 0;
  transform: scaleX(0.25);
  transform-origin: center;
  transition:
    opacity 220ms ease,
    transform 220ms ease;
}

.site-nav a[aria-current="page"]::after {
  opacity: 1;
  transform: scaleX(1);
}

.site-nav a[aria-current="page"] {
  color: #ffffff;
}

.language-switcher {
  display: inline-flex;
  gap: 2px;
  padding: 3px;
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.10);
  transition: border-color 300ms ease, background-color 300ms ease;
}

.language-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  min-width: 0;
  min-height: 28px;
  padding: 0 11px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: rgba(255, 255, 255, 0.78);
  cursor: pointer;
  font-family: 'Inter', "Segoe UI", Roboto, Arial, sans-serif;
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-decoration: none;
  transition: color 200ms ease, background-color 160ms ease;
}

.language-button .lang-flag {
  width: 15px;
  height: 15px;
}

.language-button:hover {
  color: #ffffff;
  background: rgba(255, 255, 255, 0.14);
}

.language-button.is-active,
.language-button[aria-current="page"] {
  background: #ffffff;
  color: #123D2E;
}

.lang-trigger-label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.lang-flag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #ffffff center / cover no-repeat;
  overflow: hidden;
  box-shadow: 0 0 0 1px rgba(2, 44, 34, 0.14);
  flex: 0 0 auto;
}

.lang-flag-en {
  background-image: url('data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 viewBox%3D%220 0 512 512%22%3E%3Crect width%3D%22512%22 height%3D%22512%22 fill%3D%22%23b22234%22%2F%3E%3Cg fill%3D%22%23fff%22%3E%3Crect y%3D%2239.4%22 width%3D%22512%22 height%3D%2239.4%22%2F%3E%3Crect y%3D%22118.2%22 width%3D%22512%22 height%3D%2239.4%22%2F%3E%3Crect y%3D%22197%22 width%3D%22512%22 height%3D%2239.4%22%2F%3E%3Crect y%3D%22275.7%22 width%3D%22512%22 height%3D%2239.4%22%2F%3E%3Crect y%3D%22354.5%22 width%3D%22512%22 height%3D%2239.4%22%2F%3E%3Crect y%3D%22433.2%22 width%3D%22512%22 height%3D%2239.4%22%2F%3E%3C%2Fg%3E%3Crect width%3D%22256%22 height%3D%22275.7%22 fill%3D%22%233c3b6e%22%2F%3E%3Cg fill%3D%22%23fff%22%3E%3Ccircle cx%3D%2243%22 cy%3D%2246%22 r%3D%2214%22%2F%3E%3Ccircle cx%3D%22128%22 cy%3D%2246%22 r%3D%2214%22%2F%3E%3Ccircle cx%3D%22213%22 cy%3D%2246%22 r%3D%2214%22%2F%3E%3Ccircle cx%3D%2285%22 cy%3D%2292%22 r%3D%2214%22%2F%3E%3Ccircle cx%3D%22170%22 cy%3D%2292%22 r%3D%2214%22%2F%3E%3Ccircle cx%3D%2243%22 cy%3D%22138%22 r%3D%2214%22%2F%3E%3Ccircle cx%3D%22128%22 cy%3D%22138%22 r%3D%2214%22%2F%3E%3Ccircle cx%3D%22213%22 cy%3D%22138%22 r%3D%2214%22%2F%3E%3Ccircle cx%3D%2285%22 cy%3D%22184%22 r%3D%2214%22%2F%3E%3Ccircle cx%3D%22170%22 cy%3D%22184%22 r%3D%2214%22%2F%3E%3Ccircle cx%3D%2243%22 cy%3D%22230%22 r%3D%2214%22%2F%3E%3Ccircle cx%3D%22128%22 cy%3D%22230%22 r%3D%2214%22%2F%3E%3Ccircle cx%3D%22213%22 cy%3D%22230%22 r%3D%2214%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E');
}

.lang-flag-ru {
  background-image: url('data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 viewBox%3D%220 0 512 512%22%3E%3Crect width%3D%22512%22 height%3D%22512%22 fill%3D%22%23fff%22%2F%3E%3Crect y%3D%22170.7%22 width%3D%22512%22 height%3D%22170.6%22 fill%3D%22%230039a6%22%2F%3E%3Crect y%3D%22341.3%22 width%3D%22512%22 height%3D%22170.7%22 fill%3D%22%23d52b1e%22%2F%3E%3C%2Fsvg%3E');
}

.lang-flag-tm {
  background-image: url("assets/flags/turkmenistan.svg");
  background-position: left center;
  background-size: 165% auto;
}

.lang-trigger {
  display: none;
}

.lang-menu {
  display: inline-flex;
  gap: 4px;
}

.nav-toggle {
  display: none;
  position: relative;
  width: 44px;
  height: 44px;
  border: 1px solid transparent;
  border-radius: 9px;
  background: transparent;
  cursor: pointer;
  flex-shrink: 0;
  -webkit-tap-highlight-color: transparent;
  transition: border-color 300ms ease, background-color 300ms ease;
}

.nav-toggle span:nth-child(2),
.nav-toggle span:nth-child(3) {
  position: absolute;
  left: 50%;
  top: 50%;
  display: block;
  width: 18px;
  height: 2px;
  background: #ffffff;
  border-radius: 2px;
  transform-origin: center;
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), background-color 300ms ease;
}

.nav-toggle span:nth-child(2) {
  transform: translate(-50%, calc(-50% - 4px));
}

.nav-toggle span:nth-child(3) {
  transform: translate(-50%, calc(-50% + 4px));
}

.nav-toggle[aria-expanded="true"] span:nth-child(2) {
  transform: translate(-50%, -50%) rotate(45deg);
}

.nav-toggle[aria-expanded="true"] span:nth-child(3) {
  transform: translate(-50%, -50%) rotate(-45deg);
}

body.nav-open {
  overflow: hidden;
}

.hero {
  position: relative;
  min-height: 100svh;
  display: grid;
  align-items: end;
  isolation: isolate;
  overflow: hidden;
  padding: 0;
}

.hero-layout {
  position: static;
  display: grid;
  min-height: 100svh;
  align-items: center;
  width: 100%;
  overflow: hidden;

  border-radius: 0;
  box-shadow: none;
}

:root {
}

body[data-page="home"].at-top .site-header,
body[data-page="products"].at-top .site-header {
  background: #3D6B45;
  border-bottom-color: rgba(255, 255, 255, 0.08);
  box-shadow: none;
}

body[data-page="home"].at-top .site-nav a,
body[data-page="products"].at-top .site-nav a {
  color: rgba(255, 255, 255, 0.82);
}

body[data-page="home"].at-top .site-nav a:hover,
body[data-page="home"].at-top .site-nav a[aria-current="page"],
body[data-page="products"].at-top .site-nav a:hover,
body[data-page="products"].at-top .site-nav a[aria-current="page"] {
  color: #ffffff;
  background-color: rgba(255, 255, 255, 0.12);
}

body[data-page="home"].at-top .language-switcher,
body[data-page="products"].at-top .language-switcher {
  border-color: rgba(255, 255, 255, 0.28);
  background: rgba(255, 255, 255, 0.08);
}

body[data-page="home"].at-top .language-button,
body[data-page="products"].at-top .language-button {
  color: rgba(255, 255, 255, 0.80);
}

body[data-page="home"].at-top .language-button:hover,
body[data-page="home"].at-top .language-button.is-active,
body[data-page="home"].at-top .language-button[aria-current="page"],
body[data-page="products"].at-top .language-button:hover,
body[data-page="products"].at-top .language-button.is-active,
body[data-page="products"].at-top .language-button[aria-current="page"] {
  background: #ffffff;
  color: #022C22;
}

body[data-page="home"].at-top .nav-toggle,
body[data-page="products"].at-top .nav-toggle {
  background: transparent;
  border-color: transparent;
}

body[data-page="home"].at-top .nav-toggle span:nth-child(2),
body[data-page="home"].at-top .nav-toggle span:nth-child(3),
body[data-page="products"].at-top .nav-toggle span:nth-child(2),
body[data-page="products"].at-top .nav-toggle span:nth-child(3) {
  background: #ffffff;
}

.hero-media,
.hero-overlay {
  position: absolute;
  inset: 0;
}

.hero-media {
  z-index: -2;
  background:
    radial-gradient(circle at top right, rgba(11, 107, 79, 0.24), transparent 42%),
    linear-gradient(135deg, #022C22 0%, #064E3B 100%);
}

.hero-overlay {
  z-index: -1;
  background-color: rgba(4, 44, 40, 0.38);
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='130'%20height='130'%20viewBox='0%200%20130%20130'%3E%3Cg%20fill='none'%20stroke='white'%20stroke-opacity='0.08'%20stroke-width='1.3'%3E%3Cpath%20d='M22%2065%20Q44%2043%2066%2065%20Q44%2087%2022%2065%20Z'/%3E%3Cpath%20d='M65%2022%20Q87%2044%2065%2066%20Q43%2044%2065%2022%20Z'/%3E%3C/g%3E%3Cg%20fill='white'%20fill-opacity='0.06'%3E%3Ccircle%20cx='102'%20cy='102'%20r='3'/%3E%3Ccircle%20cx='112'%20cy='28'%20r='2'/%3E%3Ccircle%20cx='28'%20cy='112'%20r='2'/%3E%3C/g%3E%3C/svg%3E");
  background-repeat: repeat;
  background-size: 130px 130px;
}

.hero-content {
  position: relative;
  z-index: 1;
  width: min(840px, 100%);
  min-width: 0;
  padding: clamp(24px, 6vw, 72px);
  color: #ffffff;
  opacity: var(--hero-copy-opacity, 1);
  transform: translateY(var(--hero-copy-drift, 0));
  will-change: transform, opacity;
}

.hero-video-card {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 100vw;
  height: 100svh;
  overflow: hidden;
  border-radius: inherit;
  background: rgba(255, 255, 255, 0.12);
  transform: translateX(-50%);
  z-index: 0;
}

.hero-video-card::after {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(100deg, rgba(2, 20, 15, 0.82) 0%, rgba(4, 44, 40, 0.58) 42%, rgba(4, 44, 40, 0.08) 100%),
    linear-gradient(0deg, rgba(2, 20, 15, 0.28) 0%, transparent 48%);
  content: "";
}

.hero-video-card video {
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  width: 100vw;
  height: 100svh;
  min-width: 100%;
  min-height: 100%;
  object-fit: cover;
  object-position: center;
  transform: translate(-50%, calc(-50% + var(--hero-drift, 0px))) scale(var(--hero-scale, 1.36));
  transform-origin: center;
  will-change: transform;
}

.eyebrow {
  margin: 0 0 14px;
  color: #064E3B;
  font-family: 'Inter', "Segoe UI", Roboto, Arial, sans-serif;
  font-size: 0.70rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  line-height: 1.35;
  text-transform: uppercase;
  display: flex;
  align-items: center;
  gap: 10px;
}

.eyebrow::after {
  content: '';
  flex: 0 0 22px;
  height: 1px;
  background: #064E3B;
  opacity: 0.4;
  display: block;
}

.hero .eyebrow {
  color: rgba(255, 255, 255, 0.65);
}

.hero .eyebrow::after {
  background: rgba(255, 255, 255, 0.3);
}

h1,
h2,
h3,
p {
  margin-top: 0;
}

h1 {
  max-width: 840px;
  margin-bottom: 24px;
  color: inherit;
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(2.6rem, 5.6vw, 5.2rem);
  font-weight: 400;
  line-height: 0.96;
  letter-spacing: -0.07em;
  overflow-wrap: normal;
  word-break: normal;
}

h1 span {
  display: block;
}

.hero h1 span:last-child {
  font-style: italic;
  color: #D85A30;
  letter-spacing: -0.06em;
}

h2 {
  margin-bottom: 20px;
  color: #022C22;
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(2.1rem, 4.8vw, 4.8rem);
  font-weight: 400;
  line-height: 1.0;
  letter-spacing: -0.035em;
}

h2 em {
  font-style: italic;
  color: #064E3B;
}

h3 {
  margin-bottom: 10px;
  color: #022C22;
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.18;
  letter-spacing: -0.01em;
}

.hero-copy {
  max-width: 640px;
  color: rgba(255, 255, 255, 0.9);
  font-size: clamp(1.05rem, 1.4vw, 1.28rem);
}

.hero-actions,
.contact-section {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  border: 1px solid transparent;
  border-radius: 9px;
  padding: 13px 22px;
  font-family: 'Inter', "Segoe UI", Roboto, Arial, sans-serif;
  font-size: 0.88rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-decoration: none;
  transition: background 180ms ease, border-color 180ms ease, color 180ms ease, box-shadow 180ms ease;
}

.button-primary {
  background: #064E3B;
  color: #ffffff;
  box-shadow: 0 6px 16px rgba(18, 55, 33, 0.16);
}

.button-primary:hover {
  background: #022C22;
  box-shadow: 0 12px 32px rgba(18, 55, 33, 0.30);
}

.button-secondary {
  border-color: rgba(255, 255, 255, 0.36);
  background: rgba(255, 255, 255, 0.08);
  color: #ffffff;
}

.button-secondary:hover {
  background: rgba(255, 255, 255, 0.18);
  border-color: rgba(255, 255, 255, 0.54);
}

.button-catalogue {
  border-color: #D85A30;
  background: #D85A30;
  color: #ffffff;
  font-weight: 700;
  padding: 14px 30px;
  box-shadow: 0 8px 22px rgba(216, 90, 48, 0.32);
}

.button-catalogue:hover {
  background: #b84520;
  border-color: #b84520;
  box-shadow: 0 14px 34px rgba(216, 90, 48, 0.45);
}

.button-contact {
  background: #D85A30;
  color: #ffffff;
  box-shadow: 0 7px 18px rgba(216, 90, 48, 0.24);
}

.button-contact:hover {
  background: #b84520;
  box-shadow: 0 14px 34px rgba(216, 90, 48, 0.45);
}

.motion-reveal {
  opacity: 0;
  transform: translateY(26px);
  transition:
    opacity 700ms cubic-bezier(0.22, 1, 0.36, 1),
    transform 700ms cubic-bezier(0.22, 1, 0.36, 1),
    filter 700ms ease;
  transition-delay: calc(var(--reveal-index, 0) * 55ms);
  filter: blur(7px);
}

.motion-reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
  filter: blur(0);
}

.section-heading.motion-reveal,
.markets-copy.motion-reveal,
.story-copy.motion-reveal,
.contact-copy.motion-reveal,
.op-hero-copy.motion-reveal {
  transform: translateY(34px);
}

.brand-family.motion-reveal,
.news-card.motion-reveal,
.op-brand-card.motion-reveal {
  transform: translateY(34px) scale(0.975);
}

.brand-family.motion-reveal.is-visible,
.news-card.motion-reveal.is-visible,
.op-brand-card.motion-reveal.is-visible {
  transform: translateY(0) scale(1);
}

.catalogue-strip {
  margin-top: 40px;
  padding: 30px 34px;
  background:
    linear-gradient(135deg, rgba(4, 61, 47, 0.82) 0%, rgba(2, 44, 34, 0.86) 100%),
    url("assets/catalogue/page_001.jpg") center / cover no-repeat;
  border: 0;
  border-radius: 16px;
  box-shadow: 0 18px 44px rgba(2, 44, 34, 0.28);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
}

.catalogue-strip p {
  color: #ffffff;
  font-size: 19px;
  font-weight: 600;
  line-height: 1.4;
  margin: 0;
  flex: 1 1 340px;
}

.section.news-section {
  width: 100%;
  max-width: none;
  padding-inline: max(18px, calc((100vw - 1160px) / 2));
  background: #E3F1EA;
}

.news-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  counter-reset: news-counter;
}

.news-card {
  position: relative;
  display: flex;
  min-width: 0;
  min-height: 100%;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid #E5E7EB;
  border-radius: 9px;
  background: #ffffff;
  box-shadow: 0 12px 30px rgba(19, 26, 22, 0.06);
  counter-increment: news-counter;
}

.news-card::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(115deg, transparent 0%, rgba(255, 255, 255, 0.62) 42%, transparent 68%);
  content: "";
  opacity: 0;
  transform: translateX(-120%);
  pointer-events: none;
}

.news-card.is-visible::after,
.op-brand-card.is-visible::after {
  animation: cardSweep 850ms cubic-bezier(0.22, 1, 0.36, 1) calc(var(--reveal-index, 0) * 50ms) both;
}

.news-card::before {
  position: absolute;
  top: 20px;
  right: 20px;
  z-index: 1;
  color: rgba(19, 26, 22, 0.22);
  content: counter(news-counter, decimal-leading-zero);
  font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.12em;
}

@keyframes cardSweep {
  0% {
    opacity: 0;
    transform: translateX(-120%);
  }
  22% {
    opacity: 0.75;
  }
  100% {
    opacity: 0;
    transform: translateX(120%);
  }
}

.news-card-featured {
  grid-column: span 2;
}

.news-card-body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: clamp(24px, 3vw, 34px);
}

.news-card-meta {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 18px;
  padding-right: 54px;
  flex-wrap: wrap;
}

.news-card-source {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  border-radius: 5px;
  padding: 7px 13px;
  background: #E1F5EE;
  color: #064E3B;
  font-family: 'Inter', "Segoe UI", Roboto, Arial, sans-serif;
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  line-height: 1;
  text-transform: uppercase;
}

.news-card-source-gold {
  background: #FAECE7;
  color: #b84520;
}

.news-card-source-blue {
  background: #e9f2fb;
  color: #1565c0;
}

.news-card-source-teal {
  background: #e5f3f4;
  color: #0b7a8a;
}

.news-card-source-purple {
  background: #f1e8f5;
  color: #7b1fa2;
}

.news-card-date {
  color: rgba(255, 255, 255, 0.82);
  font-family: 'Inter', "Segoe UI", Roboto, Arial, sans-serif;
  font-size: 0.72rem;
  font-weight: 800;
}

.news-card-title {
  max-width: 760px;
  margin: 0 0 12px;
  color: #022C22;
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(1.3rem, 2vw, 1.8rem);
  font-style: italic;
  font-weight: 400;
  line-height: 1.14;
  letter-spacing: -0.01em;
}

.news-card:not(.news-card-featured) .news-card-title {
  font-size: clamp(1.2rem, 1.55vw, 1.45rem);
  font-style: italic;
}

.news-card-desc {
  margin: 0;
  color: #475569;
  font-size: 0.93rem;
  line-height: 1.68;
}

.news-card-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  min-height: 58px;
  border-top: 1px solid #E5E7EB;
  padding: 14px clamp(24px, 3vw, 34px);
}

.news-card-tag {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #475569;
  font-size: 0.76rem;
  font-weight: 700;
}

.news-card-tag-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #064E3B;
  flex: 0 0 auto;
}

.news-card-link {
  color: #064E3B;
  font-size: 0.78rem;
  font-weight: 800;
  text-decoration: none;
  white-space: nowrap;
}

.news-card-link:hover {
  color: #b84520;
}

.news-card-toggle {
  display: none;
}

.news-empty {
  grid-column: 1 / -1;
}

.catalogue-cta {
  width: 100%;
  background: #022C22;
  padding-block: clamp(56px, 8vw, 96px);
  padding-inline: max(24px, calc((100vw - 1160px) / 2));
  margin: 0;
}

.catalogue-cta-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 48px;
  flex-wrap: wrap;
  background: none;
  border: none;
  border-radius: 0;
  padding: 0;
}

.catalogue-cta-text .eyebrow {
  color: #f6dfb6;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin-bottom: 14px;
}

.catalogue-cta-text h2 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(1.9rem, 3.6vw, 3.2rem);
  font-weight: 400;
  letter-spacing: -0.02em;
  color: #ffffff;
  margin-bottom: 12px;
  line-height: 1.2;
}

.catalogue-cta-text p {
  color: rgba(255, 255, 255, 0.72);
  font-size: 1rem;
  max-width: 520px;
  margin: 0;
}

.button-catalogue-big {
  display: inline-block;
  padding: 14px 32px;
  background: #D85A30;
  color: #ffffff;
  border: 2px solid #D85A30;
  border-radius: 9px;
  font-size: 15px;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
  transition: background 0.2s, color 0.2s;
}

.button-catalogue-big:hover {
  background: #b84520;
  color: #ffffff;
}

.button-light {
  border-color: #E5E7EB;
  background: #E3F1EA;
  color: #064E3B;
}

.button-light:hover {
  background: #E1F5EE;
}

.button-danger {
  background: #9f1d2b;
  color: #ffffff;
}

.button-danger:hover {
  background: #7d1621;
}

.stats-band {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  margin: 0;
  background: #064E3B;
  color: #ffffff;
  padding-block: clamp(28px, 4vw, 48px);
  padding-inline: max(24px, calc((100vw - 1160px) / 2));
  border: none;
}

.stats-band div {
  padding: clamp(6px, 1.4vw, 14px) clamp(14px, 2.5vw, 28px);
  background: transparent;
  border-right: 1px solid rgba(255, 255, 255, 0.16);
  text-align: left;
}

.stats-band div:last-child {
  border-right: 0;
}

.stats-band strong,
.stats-band span {
  display: block;
}

.stats-band strong {
  color: #ffffff;
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(2.2rem, 4.4vw, 4.8rem);
  font-weight: 400;
  line-height: 1;
  letter-spacing: -0.03em;
}

.stats-band span {
  margin-top: 10px;
  color: rgba(255, 250, 240, 0.62);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.poster-section {
  width: 100%;
  display: grid;
  grid-template-columns: minmax(240px, 0.9fr) minmax(0, 1.1fr);
  gap: clamp(28px, 5vw, 60px);
  align-items: center;
  margin: 0;
  padding-block: clamp(48px, 7vw, 88px);
  padding-inline: max(24px, calc((100vw - 1160px) / 2));
  border: none;
  border-radius: 0;
  background: #064E3B;
  color: #ffffff;
  overflow: hidden;
}

.poster-copy {
  min-width: 0;
}

.poster-section > .poster-copy .eyebrow {
  color: rgba(255, 255, 255, 0.65);
}

.poster-section > .poster-copy .eyebrow::after {
  background: #D85A30;
  opacity: 0.6;
}

.poster-section > .poster-copy h2 {
  color: #ffffff;
}

.poster-copy h2 {
  margin-bottom: 14px;
  font-size: clamp(2rem, 3.6vw, 3.5rem);
}

.poster-copy p:not(.eyebrow) {
  max-width: 430px;
  margin-bottom: 0;
  color: rgba(255, 250, 240, 0.78);
  font-size: 1.04rem;
}

.poster-carousel {
  display: grid;
  gap: 16px;
  min-width: 0;
}

.poster-frame {
  position: relative;
  display: grid;
  place-items: center;
  width: 100%;
  height: clamp(360px, 52vw, 620px);
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 18px;
  padding: 0;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.18), rgba(255, 255, 255, 0.08)),
    rgba(255, 255, 255, 0.10);
  box-shadow: 0 24px 70px rgba(2, 44, 34, 0.26);
}

.poster-slide {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  border-radius: 17px;
  will-change: transform, opacity;
  filter: drop-shadow(0 14px 28px rgba(2, 44, 34, 0.18));
}

.poster-controls {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) 44px;
  gap: 10px;
  align-items: center;
}

.poster-arrow {
  width: 44px;
  height: 44px;
  border: 1px solid rgba(255, 255, 255, 0.24);
  border-radius: 9px;
  background: rgba(255, 255, 255, 0.08);
  color: #ffffff;
  cursor: pointer;
  font: inherit;
  font-size: 1.25rem;
  font-weight: 900;
}

.poster-arrow:hover {
  background: rgba(255, 255, 255, 0.18);
  color: #ffffff;
}

.poster-dots {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  min-height: 22px;
}

.poster-dot {
  width: 0;
  height: 8px;
  margin: 0;
  border: 0;
  border-radius: 999px;
  padding: 0;
  background: rgba(255, 255, 255, 0.85);
  cursor: pointer;
  opacity: 0;
  overflow: hidden;
  position: relative;
  transition:
    width 360ms cubic-bezier(0.22, 1, 0.36, 1),
    opacity 360ms ease,
    margin 360ms cubic-bezier(0.22, 1, 0.36, 1);
}

.poster-dot.is-hidden {
  width: 0;
  opacity: 0;
  margin: 0;
  pointer-events: none;
}

.poster-dot.is-neighbor {
  width: 8px;
  opacity: 0.32;
  margin: 0 6px;
}

.poster-dot.is-active {
  width: 28px;
  opacity: 1;
  margin: 0 6px;
  overflow: hidden;
}

.poster-dot.is-active::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: rgba(255, 255, 255, 0.4);
  transform: scaleX(0);
  transform-origin: left center;
  animation: dot-fill 3s linear forwards;
}

@keyframes dot-fill {
  from { transform: scaleX(0); }
  to   { transform: scaleX(1); }
}

.section {
  width: min(1160px, calc(100% - 36px));
  margin: 0 auto;
  padding: clamp(64px, 9vw, 118px) 0;
}

body[data-page="home"] main {
  display: flex;
  flex-direction: column;
}

.split-section {
  width: min(1160px, calc(100% - 36px));
  margin: 0 auto;
  padding-block: clamp(64px, 9vw, 110px);
  padding-inline: 0;
  border: none;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.quality-section,
.contact-section {
  width: 100%;
  margin: 0;
  padding-block: clamp(60px, 8vw, 100px);
  padding-inline: max(24px, calc((100vw - 1160px) / 2));
  border: none;
  border-radius: 0;
  box-shadow: none;
}

.split-section {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(280px, 0.88fr);
  gap: clamp(28px, 6vw, 72px);
  align-items: center;
}

.section-copy p,
.section-heading p,
.quality-copy p,
.contact-section p {
  color: #3A4A42;
  font-size: 1.14rem;
  line-height: 1.62;
}

.hl {
  color: #08966F;
  font-weight: 600;
}

.lead {
  color: #22332C;
  font-size: clamp(1.24rem, 1.9vw, 1.5rem);
  font-weight: 500;
  line-height: 1.5;
}

.section-copy > p:not(.eyebrow) {
  max-width: 650px;
}

.feature-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 28px;
}

.feature-list span {
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 999px;
  padding: 8px 14px;
  background: transparent;
  color: #022C22;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.03em;
}

.image-panel {
  margin: 0;
  overflow: hidden;
  border-radius: var(--image-radius-lg);
  box-shadow: 0 14px 36px rgba(6, 78, 59, 0.12);
}

.image-panel img,
.poster-frame img,
.certificate-visual img,
.pcard-media img {
  border-radius: var(--image-radius-md);
}

.proof-panel {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  border-top: 1px solid #E5E7EB;
}

.proof-panel div {
  min-height: auto;
  display: grid;
  grid-template-columns: 100px minmax(0, 1fr);
  align-items: baseline;
  gap: 8px;
  border: 0;
  border-bottom: 1px solid #E5E7EB;
  border-radius: 0;
  padding: 18px 0;
  background: transparent;
  box-shadow: none;
}

.proof-panel strong {
  color: #022C22;
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(1.6rem, 3vw, 2.6rem);
  font-weight: 400;
  line-height: 1;
  letter-spacing: -0.02em;
}

.proof-panel span {
  color: #475569;
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.story-scroll-section {
  --story-progress: 1;
  min-height: 560svh;
  margin: 0;
  padding: 0;
  background:
    linear-gradient(180deg, rgba(250, 252, 251, 0) 0%, #F2F8F5 12%, #F2F8F5 88%, rgba(250, 252, 251, 0) 100%);
}

.story-scroll-section.is-enhanced {
  --story-progress: 0;
}

.story-sticky-shell {
  position: sticky;
  top: 0;
  width: min(1160px, calc(100% - 36px));
  min-height: 100svh;
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(420px, 1.08fr);
  gap: clamp(28px, 5vw, 70px);
  align-items: center;
  margin: 0 auto;
  padding-block: clamp(96px, 12svh, 138px) clamp(46px, 7svh, 88px);
}

.story-copy {
  align-self: center;
}

.story-scroll-section .feature-list {
  max-width: 640px;
}

.story-scroll-section .proof-panel {
  --axis-left: 139px;
  --line-top: 42px;
  --line-bottom: 42px;
  position: relative;
  display: grid;
  gap: 0;
  border: 0;
  padding: 12px 0;
  counter-reset: story-step;
}

.story-scroll-section .proof-panel::before,
.story-scroll-section .proof-panel::after {
  position: absolute;
  left: var(--axis-left);
  top: var(--line-top);
  width: 4px;
  border-radius: 999px;
  content: "";
  transform: translateX(-50%);
}

.story-scroll-section .proof-panel::before {
  bottom: var(--line-bottom);
  background: rgba(6, 78, 59, 0.12);
}

.story-scroll-section .proof-panel::after {
  height: calc((100% - var(--line-top) - var(--line-bottom)) * var(--story-progress));
  background: linear-gradient(180deg, #3D6B45 0%, #3D6B45 46%, #022C22 100%);
  box-shadow: 0 0 24px rgba(11, 107, 79, 0.18);
  transition: height 80ms linear;
}

.story-scroll-section .proof-panel div {
  position: relative;
  z-index: 1;
  min-height: 78px;
  display: grid;
  grid-template-columns: 106px 34px minmax(0, 1fr);
  align-items: center;
  gap: 16px;
  border: 0;
  padding: 13px 0;
  background: transparent;
  box-shadow: none;
  opacity: 1;
}

.story-scroll-section.is-enhanced .proof-panel div {
  opacity: 0.42;
  transform: translateY(8px);
}

.story-scroll-section .proof-panel div::before {
  grid-column: 2;
  grid-row: 1;
  justify-self: center;
  width: 18px;
  height: 18px;
  border: 4px solid #F2F8F5;
  border-radius: 50%;
  background: #B8C9C1;
  box-shadow: 0 0 0 1px rgba(6, 78, 59, 0.16);
  content: "";
  transition:
    background-color 220ms ease,
    box-shadow 220ms ease,
    transform 220ms ease;
}

.story-scroll-section .proof-panel div::after {
  counter-increment: story-step;
  grid-column: 2;
  grid-row: 1;
  justify-self: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: rgba(61, 107, 69, 0.10);
  content: "";
  opacity: 0;
  transform: scale(0.4);
  transition:
    opacity 220ms ease,
    transform 220ms ease;
}

.story-scroll-section .proof-panel strong {
  grid-column: 1;
  grid-row: 1;
  justify-self: end;
  color: #022C22;
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(1.85rem, 3.5vw, 3rem);
  font-weight: 500;
  line-height: 0.92;
  letter-spacing: 0;
  transition: color 220ms ease, transform 220ms ease;
}

.story-scroll-section .proof-panel span {
  grid-column: 3;
  grid-row: 1;
  width: min(100%, 360px);
  border: 1px solid rgba(6, 78, 59, 0.12);
  border-radius: 8px;
  padding: 15px 16px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.92), rgba(227, 241, 234, 0.78));
  color: #334155;
  font-size: 0.9rem;
  font-weight: 800;
  line-height: 1.45;
  letter-spacing: 0.01em;
  box-shadow: 0 14px 34px rgba(18, 33, 25, 0.08);
  transition:
    border-color 220ms ease,
    box-shadow 220ms ease,
    color 220ms ease,
    transform 220ms ease,
    background-color 220ms ease;
}

.story-scroll-section .proof-panel div.is-active,
.story-scroll-section .proof-panel div.is-current {
  opacity: 1;
  transform: translateY(0);
}

.story-scroll-section .proof-panel div.is-active::before,
.story-scroll-section .proof-panel div.is-current::before {
  background: #3D6B45;
  box-shadow: 0 0 0 1px rgba(61, 107, 69, 0.22), 0 0 0 8px rgba(61, 107, 69, 0.12);
  transform: scale(1.08);
}

.story-scroll-section .proof-panel div.is-current::after {
  opacity: 1;
  transform: scale(1);
}

.story-scroll-section .proof-panel div.is-current strong {
  color: #3D6B45;
  transform: translateX(-3px);
}

.story-scroll-section .proof-panel div.is-current span {
  border-color: rgba(61, 107, 69, 0.28);
  color: #022C22;
  box-shadow: 0 20px 46px rgba(18, 33, 25, 0.13);
  transform: translateX(4px);
}

.product-section {
  position: relative;
  width: 100%;
  max-width: none;
  padding-inline: max(18px, calc((100vw - 1220px) / 2));
  padding-block: clamp(86px, 8vw, 128px);
  overflow: clip;
  background:
    radial-gradient(circle at 10% 9%, rgba(245, 166, 35, 0.11), transparent 27%),
    radial-gradient(circle at 88% 18%, rgba(11, 118, 161, 0.12), transparent 30%),
    linear-gradient(180deg, #FBFDFB 0%, #F1F7F4 52%, #FAFCFB 100%);
}

.section-heading {
  max-width: 780px;
  margin-bottom: 38px;
}

.brand-showcase-heading {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(180px, 0.28fr);
  align-items: end;
  gap: clamp(32px, 6vw, 82px);
  width: 100%;
  max-width: none;
  margin-bottom: clamp(22px, 3.2vw, 36px);
}

.portfolio-title {
  max-width: 840px;
  margin: 0;
  color: #022C22;
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(3.4rem, 5.4vw, 5.3rem);
  font-weight: 400;
  line-height: 0.96;
  letter-spacing: 0;
}

.portfolio-intro-copy {
  display: grid;
  gap: 14px;
}

.portfolio-intro-copy .eyebrow {
  margin-bottom: 0;
  color: #0F6E56;
  font-size: clamp(0.82rem, 1vw, 0.94rem);
  font-weight: 750;
  letter-spacing: 0.09em;
}

.portfolio-intro-copy .eyebrow::after {
  flex-basis: 28px;
  background: #0F6E56;
  opacity: 0.55;
}

.portfolio-lead {
  max-width: 680px;
  margin: 4px 0 0;
  color: #3A4A42;
  font-size: clamp(1.06rem, 1.45vw, 1.22rem);
  font-weight: 450;
  line-height: 1.55;
}

.portfolio-stat {
  display: grid;
  gap: 12px;
  justify-items: start;
  min-width: 0;
  color: #0F6E56;
}

.portfolio-count {
  display: inline-block;
  color: #0F6E56;
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(4.4rem, 7.5vw, 6.8rem);
  font-weight: 600;
  line-height: 0.85;
  letter-spacing: 0;
}

.portfolio-stat span {
  display: block;
  max-width: 14rem;
  padding-top: 12px;
  border-top: 1px solid rgba(15, 110, 86, 0.22);
  color: #2F453B;
  font-family: 'Inter', "Segoe UI", Roboto, Arial, sans-serif;
  font-size: clamp(0.96rem, 1.25vw, 1.1rem);
  font-weight: 750;
  line-height: 1.22;
}

.portfolio-nav {
  position: relative;
  z-index: 3;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 clamp(34px, 4.4vw, 54px);
}

.portfolio-nav button {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 8px 15px;
  border: 1px solid rgba(15, 110, 86, 0.16);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.68);
  color: #245344;
  font-family: 'Inter', "Segoe UI", Roboto, Arial, sans-serif;
  font-size: 0.86rem;
  font-weight: 760;
  line-height: 1.2;
  cursor: pointer;
  transition: background 180ms ease, border-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.portfolio-nav button:hover,
.portfolio-nav button:focus-visible {
  border-color: rgba(15, 110, 86, 0.42);
  transform: translateY(-1px);
}

.portfolio-nav button.is-active {
  border-color: #0F6E56;
  background: #0F6E56;
  color: #ffffff;
}

.brand-showcase-stage {
  position: relative;
  z-index: 1;
  display: grid;
  gap: clamp(18px, 2.4vw, 30px);
}

.brand-cluster {
  display: grid;
  gap: clamp(18px, 2.4vw, 30px);
}

.brand-cluster-beverages {
  grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr);
  align-items: stretch;
}

.brand-cluster-contrast {
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
}

.brand-cluster-soft {
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
}

.brand-family {
  --family-accent: #0F6E56;
  --family-ink: #022C22;
  --scene-bg: #F4F8F6;
  position: relative;
  display: grid;
  min-height: 420px;
  overflow: hidden;
  border: 1px solid rgba(6, 78, 59, 0.09);
  border-radius: 28px;
  background:
    radial-gradient(circle at 24% 16%, rgba(255, 255, 255, 0.82), transparent 34%),
    var(--scene-bg);
  box-shadow: 0 26px 80px rgba(19, 26, 22, 0.10);
  isolation: isolate;
  transition: opacity 240ms ease, transform 240ms ease, box-shadow 240ms ease;
}

.brand-family::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(125deg, color-mix(in srgb, var(--family-accent) 10%, transparent), transparent 42%),
    radial-gradient(circle at 76% 70%, color-mix(in srgb, var(--family-accent) 12%, transparent), transparent 34%);
  opacity: 0.9;
}

.brand-family:hover,
.brand-family:focus-within {
  box-shadow: 0 34px 92px rgba(19, 26, 22, 0.15);
  transform: translateY(-3px);
}

.brand-family-link {
  position: absolute;
  inset: 0;
  z-index: 4;
  border-radius: inherit;
}

.brand-family-link:focus-visible {
  outline: 3px solid #D85A30;
  outline-offset: -7px;
}

.brand-copy {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-end;
  gap: 12px;
  padding: clamp(24px, 3.3vw, 44px);
}

.brand-kicker {
  display: inline-flex;
  align-items: center;
  min-height: 25px;
  padding: 6px 11px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--family-accent) 12%, #fff);
  color: var(--family-accent);
  font-family: 'Inter', "Segoe UI", Roboto, Arial, sans-serif;
  font-size: 0.68rem;
  font-weight: 850;
  letter-spacing: 0.08em;
  line-height: 1;
  text-transform: uppercase;
}

.brand-copy h3 {
  margin: 0;
  color: var(--family-ink);
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(2rem, 4vw, 4.6rem);
  font-weight: 400;
  line-height: 0.98;
  letter-spacing: 0;
}

.brand-copy p {
  max-width: 35rem;
  margin: 0;
  color: #354940;
  font-size: clamp(0.96rem, 1.25vw, 1.1rem);
  line-height: 1.55;
}

.brand-cta {
  display: inline-flex;
  align-items: center;
  margin-top: 6px;
  color: var(--family-accent);
  font-family: 'Inter', "Segoe UI", Roboto, Arial, sans-serif;
  font-size: 0.86rem;
  font-weight: 830;
  line-height: 1.2;
  transition: transform 180ms ease;
}

.brand-family:hover .brand-cta,
.brand-family:focus-within .brand-cta {
  transform: translateX(4px);
}

.brand-scene {
  position: relative;
  min-height: 300px;
}

.pack,
.brand-mark-mini,
.scene-orbit,
.bubble {
  position: absolute;
  display: block;
}

.pack {
  z-index: 2;
  width: auto;
  max-width: none;
  height: auto;
  object-fit: contain;
  filter: drop-shadow(0 24px 32px rgba(15, 32, 25, 0.20));
  transform-origin: center bottom;
  transition: transform 400ms cubic-bezier(0.22, 1, 0.36, 1);
}

.brand-family:hover .pack,
.brand-family:focus-within .pack {
  transform: translateY(-5px) rotate(var(--hover-rotate, 0deg));
}

.brand-mark-mini {
  z-index: 3;
  width: clamp(68px, 7vw, 104px);
  height: auto;
  padding: 8px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.82);
  box-shadow: 0 14px 32px rgba(15, 32, 25, 0.13);
}

.brand-family-hero {
  --family-accent: #D85A30;
  --scene-bg: #FFF6EC;
  grid-template-columns: minmax(280px, 0.86fr) minmax(0, 1.14fr);
  min-height: clamp(520px, 52vw, 680px);
}

.juice-scene {
  min-height: 100%;
}

.scene-orbit {
  z-index: 0;
  border: 1px solid rgba(216, 90, 48, 0.22);
  border-radius: 999px;
}

.scene-orbit-a {
  width: 62%;
  aspect-ratio: 1;
  right: 8%;
  top: 11%;
}

.scene-orbit-b {
  width: 38%;
  aspect-ratio: 1;
  right: 39%;
  bottom: 10%;
}

.pack-juice-main {
  --hover-rotate: -1deg;
  height: min(88%, 580px);
  right: 16%;
  bottom: 4%;
}

.pack-juice-ecil {
  --hover-rotate: 2deg;
  height: min(72%, 455px);
  left: 7%;
  bottom: 8%;
}

.pack-juice-small {
  height: min(34%, 210px);
  bottom: 5%;
}

.pack-juice-small-a {
  right: 4%;
}

.pack-juice-small-b {
  right: 28%;
  bottom: 0;
}

.brand-mark-ecil {
  left: 9%;
  top: 12%;
}

.brand-mark-josh {
  right: 10%;
  top: 10%;
}

.family-tea {
  --family-accent: #1676B8;
  --scene-bg: #EAF7FF;
  grid-template-rows: minmax(250px, 1fr) auto;
}

.family-sparkling {
  --family-accent: #069A78;
  --scene-bg: #E7FAF3;
  grid-template-columns: minmax(0, 1fr) minmax(270px, 0.82fr);
}

.cold-scene {
  background:
    linear-gradient(180deg, rgba(255,255,255,0.46), transparent),
    radial-gradient(circle at 50% 68%, rgba(24, 118, 184, 0.18), transparent 46%);
}

.pack-tea {
  --hover-rotate: -2deg;
  height: 78%;
  left: 24%;
  bottom: 4%;
}

.pack-330 {
  --hover-rotate: 2deg;
  height: 83%;
  right: 16%;
  bottom: 0;
}

.bubble-scene {
  min-height: 420px;
}

.bubble {
  border-radius: 50%;
  border: 1px solid rgba(6, 154, 120, 0.3);
  background: rgba(255, 255, 255, 0.42);
}

.bubble-a {
  width: 84px;
  height: 84px;
  right: 13%;
  top: 18%;
}

.bubble-b {
  width: 38px;
  height: 38px;
  left: 19%;
  bottom: 22%;
}

.pack-ozi {
  --hover-rotate: -2deg;
  height: 74%;
  left: 10%;
  bottom: 3%;
}

.pack-tap {
  --hover-rotate: 2deg;
  height: 62%;
  left: 40%;
  bottom: 0;
}

.pack-ok {
  --hover-rotate: 1deg;
  height: 67%;
  right: 11%;
  bottom: 5%;
}

.family-energy {
  --family-accent: #C5441B;
  --family-ink: #FBF7EA;
  --scene-bg: #101714;
  grid-template-columns: minmax(260px, 0.78fr) minmax(0, 1.22fr);
}

.family-energy .brand-copy p {
  color: rgba(255, 255, 255, 0.76);
}

.family-energy .brand-copy h3 {
  color: #FFF8E8;
}

.energy-scene {
  min-height: 420px;
  background:
    linear-gradient(105deg, rgba(197, 68, 27, 0.22), transparent 52%),
    radial-gradient(circle at 67% 54%, rgba(227, 197, 38, 0.16), transparent 36%);
}

.pack-zor {
  height: 78%;
  left: 18%;
  bottom: 3%;
  filter:
    drop-shadow(0 24px 32px rgba(0, 0, 0, 0.32))
    drop-shadow(0 0 28px rgba(255, 244, 196, 0.30));
}

.pack-seljuk {
  height: 45%;
  right: 16%;
  bottom: 10%;
  filter:
    drop-shadow(0 24px 32px rgba(0, 0, 0, 0.28))
    drop-shadow(0 0 24px rgba(193, 255, 78, 0.24));
}

.family-meat {
  --family-accent: #B45309;
  --scene-bg: #FFF1E4;
  grid-template-rows: minmax(250px, 1fr) auto;
}

.deli-scene {
  min-height: 280px;
}

.pack-köşüli {
  width: min(72%, 330px);
  left: 50%;
  top: 50%;
  transform: translate(-50%, -44%);
}

.family-meat:hover .pack-köşüli,
.family-meat:focus-within .pack-köşüli {
  transform: translate(-50%, -48%) rotate(1deg);
}

.family-children {
  --family-accent: #3FA34D;
  --scene-bg: #EFFBEF;
  grid-template-columns: minmax(260px, 0.88fr) minmax(0, 1.12fr);
}

.children-scene {
  min-height: 370px;
}

.pack-yeserje {
  height: 70%;
  left: 20%;
  bottom: 6%;
}

.pack-porridge {
  height: 58%;
  right: 13%;
  bottom: 10%;
}

.family-dairy {
  --family-accent: #1F9BB0;
  --scene-bg: #EAFBFF;
  grid-template-columns: minmax(0, 1.1fr) minmax(260px, 0.9fr);
}

.dairy-scene {
  min-height: 380px;
}

.pack-milk {
  height: 78%;
  left: 17%;
  bottom: 2%;
}

.pack-dap {
  height: 66%;
  right: 18%;
  bottom: 4%;
}

.brand-mark-dairy {
  left: 9%;
  top: 10%;
}

.brand-family-b2b {
  --family-accent: #6D4C41;
  --scene-bg: #F5F0EC;
  grid-template-columns: minmax(320px, 0.76fr) minmax(0, 1.24fr);
  min-height: 430px;
}

.b2b-scene {
  min-height: 420px;
  background:
    linear-gradient(90deg, rgba(109, 76, 65, 0.08), transparent 38%),
    repeating-linear-gradient(90deg, rgba(109, 76, 65, 0.08) 0 1px, transparent 1px 78px);
}

.pack-concentrate {
  height: 54%;
  bottom: 14%;
}

.pack-grape {
  left: 12%;
}

.pack-tomato {
  left: 34%;
  bottom: 9%;
}

.pack-apple {
  left: 56%;
}

.pack-pumpkin {
  right: 8%;
  bottom: 16%;
}

.products-cta-wrap {
  display: flex;
  justify-content: center;
  margin-top: clamp(34px, 4.8vw, 62px);
}

.products-cta {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-height: 54px;
  padding: 16px 34px;
  border-radius: 999px;
  background: #D85A30;
  color: #fff;
  box-shadow: 0 16px 36px rgba(216, 90, 48, 0.30);
  font-family: 'Inter', "Segoe UI", Roboto, Arial, sans-serif;
  font-size: 0.96rem;
  font-weight: 820;
  line-height: 1;
  text-decoration: none;
  transition: background 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.products-cta:hover,
.products-cta:focus-visible {
  background: #C24A24;
  box-shadow: 0 22px 46px rgba(216, 90, 48, 0.42);
  transform: translateY(-2px);
}

.brand-showcase.is-filtering .brand-family {
  transition: opacity 220ms ease, transform 220ms ease, filter 220ms ease;
}

.brand-family.is-filtered-out {
  display: none;
}

@media (max-width: 1040px) {
  .brand-showcase-heading,
  .brand-family-hero,
  .family-sparkling,
  .family-energy,
  .family-children,
  .family-dairy,
  .brand-family-b2b {
    grid-template-columns: 1fr;
  }

  .brand-cluster-beverages,
  .brand-cluster-contrast,
  .brand-cluster-soft {
    grid-template-columns: 1fr;
  }

  .brand-scene {
    order: -1;
    min-height: 360px;
  }

  .brand-family-hero {
    min-height: 0;
  }

  .product-section {
    padding: clamp(64px, 8vw, 72px) clamp(32px, 5vw, 48px) clamp(58px, 7vw, 72px);
  }

  .brand-showcase-heading {
    grid-template-areas:
      "copy"
      "stat"
      "filters";
    row-gap: 28px;
  }

  .juice-scene {
    min-height: 500px;
  }

  .portfolio-stat {
    display: flex;
    align-items: end;
    gap: 16px;
  }

  .portfolio-stat span {
    max-width: 18rem;
  }
}

@media (max-width: 768px) {
  .product-section {
    padding: clamp(48px, 10vw, 56px) clamp(20px, 6vw, 24px) clamp(52px, 11vw, 64px);
  }

  .brand-showcase-heading {
    gap: 24px;
    margin-bottom: 34px;
  }

  .portfolio-title {
    max-width: 100%;
    font-size: clamp(2.45rem, 11vw, 3.35rem);
    line-height: 1;
  }

  .portfolio-lead {
    max-width: 100%;
    font-size: clamp(1rem, 4.25vw, 1.08rem);
  }

  .portfolio-stat {
    display: grid;
    gap: 16px;
    margin-bottom: 0;
  }

  .portfolio-count {
    font-size: clamp(3.3rem, 17vw, 4.2rem);
  }

  .portfolio-stat span {
    max-width: 16rem;
    padding-top: 16px;
    white-space: normal;
  }

  .portfolio-nav {
    gap: 10px;
    margin-bottom: 0;
    overflow-x: auto;
    padding-bottom: 4px;
    flex-wrap: nowrap;
    scrollbar-width: none;
  }

  .portfolio-nav::-webkit-scrollbar {
    display: none;
  }

  .portfolio-nav button {
    min-height: 36px;
    padding: 7px 12px;
    font-size: 0.8rem;
  }

  .brand-family {
    min-height: 0;
    border-radius: 22px;
  }

  .brand-copy {
    padding: 22px;
  }

  .brand-copy h3 {
    font-size: clamp(1.85rem, 9vw, 2.65rem);
  }

  .brand-copy p {
    font-size: 0.95rem;
  }

  .brand-scene {
    min-height: 320px;
  }

  .juice-scene {
    min-height: 430px;
  }

  .pack-juice-main {
    height: 78%;
    right: 10%;
  }

  .pack-juice-ecil {
    height: 62%;
    left: 4%;
  }

  .pack-juice-small {
    height: 27%;
  }

  .brand-mark-mini {
    width: 76px;
  }

  .pack-tea {
    height: 74%;
    left: 18%;
  }

  .pack-330 {
    height: 80%;
    right: 12%;
  }

  .pack-ozi {
    height: 70%;
    left: 6%;
  }

  .pack-tap {
    height: 58%;
    left: 39%;
  }

  .pack-ok {
    height: 63%;
    right: 6%;
  }

  .pack-zor {
    height: 74%;
    left: 16%;
  }

  .pack-seljuk {
    height: 42%;
    right: 12%;
  }

  .pack-milk,
  .pack-dap {
    height: 70%;
  }

  .pack-concentrate {
    height: 46%;
  }
}

@media (max-width: 520px) {
  .brand-showcase-stage,
  .brand-cluster {
    gap: 16px;
  }

  .brand-scene {
    min-height: 270px;
  }

  .juice-scene {
    min-height: 360px;
  }

  .bubble-a,
  .scene-orbit-a {
    opacity: 0.55;
  }

  .pack-juice-main {
    height: 72%;
    right: 7%;
  }

  .pack-juice-ecil {
    height: 56%;
    left: 2%;
  }

  .pack-juice-small-a {
    right: 2%;
  }

  .pack-juice-small-b {
    right: 25%;
  }

  .pack-tea {
    left: 13%;
  }

  .pack-330 {
    right: 8%;
  }

  .pack-ozi {
    height: 66%;
  }

  .pack-tap {
    height: 54%;
  }

  .pack-ok {
    height: 58%;
  }

  .pack-köşüli {
    width: min(78%, 280px);
  }

  .pack-yeserje {
    height: 66%;
    left: 13%;
  }

  .pack-porridge {
    height: 54%;
    right: 7%;
  }

  .pack-milk {
    height: 70%;
    left: 13%;
  }

  .pack-dap {
    height: 62%;
    right: 9%;
  }

  .pack-concentrate {
    height: 38%;
  }

  .pack-grape {
    left: 7%;
  }

  .pack-tomato {
    left: 30%;
  }

  .pack-apple {
    left: 52%;
  }

  .pack-pumpkin {
    right: 3%;
  }

  .products-cta {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .brand-family,
  .brand-family .pack,
  .brand-cta,
  .products-cta,
  .portfolio-nav button {
    transition: none !important;
  }

  .brand-family:hover,
  .brand-family:focus-within,
  .brand-family:hover .pack,
  .brand-family:focus-within .pack {
    transform: none !important;
  }
}

/* Editorial product universe */
.product-section {
  padding: clamp(80px, 7vw, 96px) clamp(72px, 5.6vw, 88px) clamp(64px, 5.2vw, 80px);
  background:
    linear-gradient(180deg, rgba(255,255,255,0.62), rgba(240,247,244,0.82) 28%, rgba(251,253,251,0.96) 100%),
    radial-gradient(circle at 12% 7%, rgba(236, 92, 37, 0.14), transparent 28%),
    radial-gradient(circle at 86% 19%, rgba(0, 156, 135, 0.14), transparent 30%),
    radial-gradient(circle at 52% 70%, rgba(28, 126, 184, 0.10), transparent 34%),
    #f7fbf8;
}

.brand-showcase-heading {
  grid-template-areas:
    "copy stat"
    "filters stat";
  grid-template-columns: minmax(0, 1fr) minmax(240px, 320px);
  align-items: center;
  column-gap: clamp(64px, 7vw, 96px);
  row-gap: clamp(40px, 4vw, 48px);
  max-width: 1320px;
  margin-right: auto;
  margin-bottom: clamp(40px, 4.2vw, 56px);
  margin-left: auto;
}

.portfolio-title {
  font-size: clamp(4rem, 6vw, 6rem);
  line-height: 0.98;
}

.portfolio-intro-copy {
  grid-area: copy;
  gap: clamp(20px, 2vw, 28px);
  min-width: 0;
}

.portfolio-nav {
  grid-area: filters;
  gap: 10px 12px;
  max-width: 100%;
  margin: 0;
}

.portfolio-stat {
  grid-area: stat;
  align-self: center;
  gap: 18px;
}

.portfolio-count {
  font-size: clamp(4.6rem, 5.8vw, 5.8rem);
}

.portfolio-stat span {
  max-width: none;
  padding-top: 18px;
  font-size: clamp(1rem, 1.05vw, 1.12rem);
  line-height: 1.25;
  text-transform: uppercase;
  white-space: nowrap;
}

.portfolio-nav button {
  flex: 0 0 auto;
  min-height: 42px;
  padding: 9px 17px;
  white-space: nowrap;
}

.brand-showcase-stage {
  max-width: 1320px;
  margin-inline: auto;
  gap: clamp(12px, 1.8vw, 22px);
}

@media (max-width: 1040px) {
  .product-section {
    padding: clamp(64px, 8vw, 72px) clamp(32px, 5vw, 48px) clamp(58px, 7vw, 72px);
  }

  .brand-showcase-heading {
    grid-template-areas:
      "copy"
      "stat"
      "filters";
    grid-template-columns: 1fr;
    align-items: start;
    row-gap: 28px;
  }

  .portfolio-stat {
    display: grid;
    align-self: start;
    justify-items: start;
  }

  .portfolio-nav {
    width: 100%;
  }
}

@media (max-width: 768px) {
  .product-section {
    padding: clamp(48px, 10vw, 56px) clamp(20px, 6vw, 24px) clamp(52px, 11vw, 64px);
  }

  .brand-showcase-heading {
    row-gap: 24px;
    margin-bottom: 32px;
  }

  .portfolio-intro-copy {
    gap: 20px;
  }

  .portfolio-stat span {
    white-space: normal;
  }

  .portfolio-nav {
    overflow-x: auto;
    padding-bottom: 4px;
    flex-wrap: nowrap;
    scrollbar-width: none;
  }

  .portfolio-nav::-webkit-scrollbar {
    display: none;
  }
}

.brand-cluster {
  position: relative;
  display: grid;
  gap: clamp(12px, 1.8vw, 22px);
  isolation: isolate;
}

.brand-cluster-beverages,
.brand-cluster-soft {
  padding: clamp(12px, 1.6vw, 18px);
  border-radius: clamp(28px, 4vw, 48px);
  overflow: hidden;
  box-shadow: inset 0 0 0 1px rgba(6, 78, 59, 0.07);
}

.brand-cluster-beverages {
  grid-template-columns: minmax(0, 0.96fr) minmax(0, 1.04fr);
  align-items: stretch;
  background:
    linear-gradient(90deg, rgba(232, 246, 255, 0.94), rgba(229, 255, 248, 0.94)),
    radial-gradient(circle at 18% 80%, rgba(22, 118, 184, 0.18), transparent 28%),
    radial-gradient(circle at 80% 22%, rgba(6, 154, 120, 0.16), transparent 30%);
}

.brand-cluster-beverages::before,
.brand-cluster-soft::before,
.brand-family-b2b::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(6, 78, 59, 0.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(6, 78, 59, 0.045) 1px, transparent 1px);
  background-size: 76px 76px;
  mask-image: radial-gradient(circle at 50% 50%, black, transparent 72%);
  opacity: 0.75;
}

.brand-cluster-soft {
  grid-template-columns: minmax(0, 1.06fr) minmax(0, 0.94fr);
  background:
    radial-gradient(circle at 18% 22%, rgba(255, 209, 156, 0.22), transparent 28%),
    radial-gradient(circle at 77% 72%, rgba(94, 184, 205, 0.18), transparent 32%),
    linear-gradient(105deg, rgba(237, 253, 232, 0.96), rgba(235, 251, 255, 0.96));
}

.brand-cluster-contrast {
  grid-template-columns: minmax(0, 1.12fr) minmax(0, 0.88fr);
  gap: clamp(12px, 1.8vw, 22px);
  align-items: stretch;
}

.brand-family {
  min-height: clamp(340px, 34vw, 486px);
  border: 0;
  border-radius: clamp(24px, 3vw, 38px);
  background: var(--scene-bg);
  box-shadow: none;
  overflow: hidden;
  transform: translateZ(0);
}

.brand-family::before {
  z-index: 0;
  background:
    radial-gradient(circle at var(--glow-x, 72%) var(--glow-y, 24%), color-mix(in srgb, var(--family-accent) 20%, transparent), transparent 34%),
    linear-gradient(135deg, rgba(255,255,255,0.48), transparent 42%);
  opacity: 1;
}

.brand-family::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  z-index: 1;
  height: 34%;
  background: linear-gradient(0deg, rgba(0,0,0,0.07), transparent);
  pointer-events: none;
  opacity: 0.35;
}

.brand-family:hover,
.brand-family:focus-within {
  box-shadow: 0 28px 72px rgba(16, 36, 28, 0.13);
  transform: translateY(-2px);
}

.brand-copy {
  justify-content: center;
  gap: 10px;
  padding: clamp(24px, 3.2vw, 44px);
}

.brand-kicker {
  min-height: 0;
  padding: 0;
  border-radius: 0;
  background: transparent;
  font-size: 0.68rem;
  letter-spacing: 0.13em;
}

.brand-copy h3 {
  font-size: clamp(2.1rem, 3.6vw, 4.15rem);
  line-height: 1.02;
}

.brand-copy p {
  max-width: 30rem;
  font-size: clamp(0.92rem, 1.05vw, 1.02rem);
  line-height: 1.5;
}

.brand-cta {
  margin-top: 2px;
  padding-bottom: 3px;
  border-bottom: 1px solid currentColor;
  font-size: 0.8rem;
  letter-spacing: 0.01em;
}

.brand-scene {
  z-index: 1;
  min-height: clamp(280px, 32vw, 440px);
}

.pack {
  filter:
    drop-shadow(0 20px 26px rgba(7, 25, 18, 0.20))
    drop-shadow(0 4px 8px rgba(7, 25, 18, 0.12));
  transition: transform 520ms cubic-bezier(0.22, 1, 0.36, 1), filter 520ms ease;
}

.brand-family:hover .pack,
.brand-family:focus-within .pack {
  transform: translate3d(var(--hover-x, 0), var(--hover-y, -5px), 0) rotate(var(--hover-rotate, 0deg));
}

.brand-family-hero {
  --family-accent: #D85A30;
  --scene-bg: linear-gradient(110deg, #fff0df 0%, #fff8ed 38%, #e9f7df 100%);
  grid-template-columns: minmax(280px, 0.56fr) minmax(0, 1.44fr);
  min-height: clamp(540px, 51vw, 690px);
}

.brand-family-hero .brand-copy {
  justify-content: center;
  padding-right: 0;
}

.juice-scene {
  min-height: 100%;
}

.juice-scene::before,
.juice-scene::after {
  content: "";
  position: absolute;
  border-radius: 999px;
  pointer-events: none;
}

.juice-scene::before {
  width: 44%;
  aspect-ratio: 1;
  right: 12%;
  top: 7%;
  background: radial-gradient(circle, rgba(150, 199, 59, 0.2), rgba(255,255,255,0) 68%);
}

.juice-scene::after {
  width: 34%;
  aspect-ratio: 1;
  left: 8%;
  bottom: 8%;
  background: radial-gradient(circle, rgba(231, 95, 34, 0.18), rgba(255,255,255,0) 68%);
}

.scene-orbit {
  border-color: rgba(216, 90, 48, 0.18);
}

.scene-orbit-a {
  width: 58%;
  right: 7%;
  top: 6%;
}

.scene-orbit-b {
  width: 30%;
  right: 36%;
  bottom: 12%;
}

.pack-juice-main {
  height: min(94%, 640px);
  right: 17%;
  bottom: -2%;
}

.pack-juice-ecil {
  height: min(78%, 500px);
  left: 4%;
  bottom: 2%;
  z-index: 3;
}

.pack-juice-ecil-alt {
  height: min(45%, 300px);
  left: 27%;
  bottom: 2%;
  z-index: 2;
}

.pack-juice-josh-alt {
  height: min(50%, 330px);
  right: 2%;
  bottom: 10%;
  z-index: 2;
}

.pack-juice-small {
  height: min(29%, 190px);
  z-index: 4;
}

.pack-juice-small-a {
  right: 8%;
  bottom: 1%;
}

.pack-juice-small-b {
  right: 25%;
  bottom: -1%;
}

.pack-juice-small-c {
  right: 0;
  bottom: 28%;
}

.brand-mark-mini {
  width: clamp(60px, 6vw, 94px);
  padding: 7px;
  border-radius: 12px;
}

.brand-mark-ecil {
  left: 14%;
  top: 8%;
}

.brand-mark-josh {
  right: 11%;
  top: 5%;
}

.juice-scene {
  --juice-large-h: min(76%, 530px);
  --juice-secondary-h: calc(var(--juice-large-h) * 0.84);
  --juice-small-h: calc(var(--juice-large-h) * 0.36);
  --juice-large-floor: 3%;
  --juice-small-floor: 4%;
  --juice-logo-top: 5%;
  --juice-logo-size: clamp(70px, 6.4vw, 102px);
}

.juice-scene .pack {
  width: auto;
  max-width: none;
  object-fit: contain;
}

.pack-juice-main,
.pack-juice-ecil {
  height: var(--juice-large-h);
  bottom: var(--juice-large-floor);
  z-index: 4;
}

.pack-juice-ecil {
  left: 6%;
}

.pack-juice-main {
  right: 29%;
}

.pack-juice-ecil-alt,
.pack-juice-josh-alt {
  height: var(--juice-secondary-h);
  bottom: var(--juice-large-floor);
  z-index: 2;
}

.pack-juice-ecil-alt {
  left: 22%;
}

.pack-juice-josh-alt {
  right: 7%;
}

.pack-juice-small {
  height: var(--juice-small-h);
  bottom: var(--juice-small-floor);
  z-index: 5;
}

.pack-juice-small-a {
  right: 45%;
}

.pack-juice-small-b {
  right: 38%;
}

.pack-juice-small-c {
  right: 14%;
}

.brand-mark-ecil,
.brand-mark-josh {
  top: var(--juice-logo-top);
  width: var(--juice-logo-size);
  aspect-ratio: 1.24 / 1;
  padding: clamp(8px, 0.85vw, 12px);
  display: grid;
  place-items: center;
  object-fit: contain;
}

.brand-mark-ecil {
  left: 9%;
}

.brand-mark-josh {
  right: 10%;
}

.scene-orbit-a {
  width: 54%;
  right: 9%;
  top: 5%;
}

.scene-orbit-b {
  width: 29%;
  right: 33%;
  bottom: 17%;
}

.brand-cluster-beverages .brand-family {
  border-radius: clamp(20px, 2.4vw, 32px);
  background: transparent;
}

.brand-cluster-beverages .brand-family::after,
.brand-cluster-soft .brand-family::after {
  opacity: 0;
}

.family-tea {
  --family-accent: #1676B8;
  --scene-bg: transparent;
  grid-template-rows: minmax(310px, 1fr) auto;
  min-height: clamp(440px, 38vw, 560px);
}

.family-tea .brand-copy {
  padding-top: 0;
}

.cold-scene {
  min-height: clamp(310px, 28vw, 420px);
  background:
    radial-gradient(circle at 42% 72%, rgba(22, 118, 184, 0.22), transparent 42%),
    linear-gradient(180deg, rgba(255,255,255,0.36), transparent);
}

.pack-tea {
  height: 86%;
  left: 10%;
  bottom: 1%;
  z-index: 3;
}

.pack-tea-alt {
  height: 62%;
  left: 38%;
  bottom: 5%;
  z-index: 2;
}

.pack-330 {
  height: 92%;
  right: 18%;
  bottom: -2%;
  z-index: 4;
}

.pack-330-alt {
  height: 60%;
  right: 2%;
  bottom: 6%;
  z-index: 2;
}

.family-sparkling {
  --family-accent: #069A78;
  --scene-bg: transparent;
  grid-template-columns: minmax(0, 1.24fr) minmax(230px, 0.76fr);
  min-height: clamp(440px, 38vw, 560px);
}

.bubble-scene {
  min-height: 100%;
  background: radial-gradient(circle at 56% 60%, rgba(6, 154, 120, 0.18), transparent 38%);
}

.bubble {
  animation: brandBubbleDrift 9s ease-in-out infinite alternate;
}

.bubble-a {
  width: 92px;
  height: 92px;
  right: 12%;
  top: 12%;
}

.bubble-b {
  width: 48px;
  height: 48px;
  left: 13%;
  bottom: 16%;
  animation-duration: 12s;
}

.pack-ozi {
  height: 84%;
  left: 6%;
  bottom: 0;
  z-index: 3;
}

.pack-tap {
  height: 70%;
  left: 36%;
  bottom: -1%;
  z-index: 4;
}

.pack-ok {
  height: 76%;
  right: 15%;
  bottom: 1%;
  z-index: 5;
}

.pack-ozi-alt {
  height: 54%;
  right: 3%;
  bottom: 10%;
  z-index: 2;
}

.pack-ok-alt {
  height: 48%;
  left: 22%;
  bottom: 17%;
  z-index: 2;
}

.brand-cluster-soft .brand-family {
  border-radius: clamp(20px, 2.4vw, 32px);
  background: transparent;
}

.family-children {
  --family-accent: #3FA34D;
  --scene-bg: transparent;
  grid-template-columns: minmax(230px, 0.5fr) minmax(0, 0.5fr);
  min-height: clamp(390px, 35vw, 520px);
}

.children-scene {
  min-height: 100%;
}

.pack-yeserje {
  height: 75%;
  left: 9%;
  bottom: 3%;
  z-index: 4;
}

.pack-cereal {
  height: 45%;
  left: 40%;
  bottom: 4%;
  z-index: 2;
}

.pack-porridge {
  height: 54%;
  right: 22%;
  top: 8%;
  z-index: 1;
}

.family-dairy {
  --family-accent: #1F9BB0;
  --scene-bg: transparent;
  grid-template-columns: minmax(0, 0.58fr) minmax(230px, 0.42fr);
  min-height: clamp(390px, 35vw, 520px);
}

.dairy-scene {
  min-height: 100%;
}

.dairy-scene::before {
  content: "";
  position: absolute;
  left: 3%;
  right: 4%;
  bottom: 2%;
  height: 46%;
  border-radius: 54% 46% 0 0;
  background: linear-gradient(180deg, rgba(255,255,255,0.72), rgba(198,237,245,0.58));
  transform: skewY(-3deg);
}

.pack-milk {
  height: 84%;
  left: 9%;
  bottom: 0;
  z-index: 4;
}

.pack-milk-alt {
  height: 58%;
  left: 45%;
  bottom: 4%;
  z-index: 2;
}

.pack-dap {
  height: 70%;
  right: 12%;
  bottom: 3%;
  z-index: 3;
}

.pack-dap-alt {
  height: 48%;
  right: 37%;
  top: 6%;
  z-index: 1;
}

.brand-mark-dairy {
  left: 8%;
  top: 8%;
}

.family-energy {
  --family-accent: #D95B21;
  --family-ink: #FBF7EA;
  --scene-bg: radial-gradient(circle at 72% 55%, rgba(227,197,38,0.16), transparent 32%), linear-gradient(115deg, #151210, #07110d 58%, #101714);
  grid-template-columns: minmax(230px, 0.52fr) minmax(0, 0.48fr);
  min-height: clamp(420px, 38vw, 560px);
}

.family-energy .brand-copy h3 {
  font-size: clamp(2.2rem, 3.7vw, 4rem);
}

.family-energy .brand-copy p {
  max-width: 24rem;
}

.energy-scene {
  min-height: 100%;
  background:
    linear-gradient(80deg, rgba(217, 91, 33, 0.16), transparent 44%),
    radial-gradient(circle at 50% 74%, rgba(168, 255, 69, 0.15), transparent 34%);
}

.energy-scene::before {
  content: "";
  position: absolute;
  inset: 10% 11% 6% 0;
  background: linear-gradient(105deg, transparent, rgba(255, 244, 196, 0.14), transparent);
  transform: skewX(-13deg);
  opacity: 0.72;
}

.pack-zor {
  height: 88%;
  left: 12%;
  bottom: -1%;
  filter:
    drop-shadow(0 28px 36px rgba(0, 0, 0, 0.42))
    drop-shadow(0 0 26px rgba(255, 244, 196, 0.28));
}

.pack-seljuk {
  height: 53%;
  right: 11%;
  bottom: 12%;
  filter:
    drop-shadow(0 24px 32px rgba(0, 0, 0, 0.36))
    drop-shadow(0 0 20px rgba(193, 255, 78, 0.28));
}

.family-meat {
  --family-accent: #B45309;
  --scene-bg: linear-gradient(145deg, #fff1df, #f4d6bd 100%);
  grid-template-rows: minmax(250px, 1fr) auto;
  min-height: clamp(420px, 38vw, 560px);
}

.deli-scene {
  min-height: clamp(290px, 27vw, 420px);
  background:
    radial-gradient(circle at 54% 54%, rgba(125, 64, 35, 0.18), transparent 42%),
    repeating-linear-gradient(135deg, rgba(127, 69, 38, 0.05) 0 2px, transparent 2px 28px);
}

.pack-köşüli {
  width: auto;
  height: 84%;
  left: 54%;
  top: auto;
  bottom: 0;
  transform: translateX(-50%) rotate(-2deg);
  z-index: 3;
}

.pack-köşüli-alt {
  height: 50%;
  left: 14%;
  bottom: 8%;
  z-index: 2;
  transform: rotate(5deg);
}

.family-meat:hover .pack-köşüli,
.family-meat:focus-within .pack-köşüli {
  transform: translateX(-50%) translateY(-5px) rotate(-1deg);
}

.brand-family-b2b {
  --family-accent: #6D4C41;
  --scene-bg: linear-gradient(105deg, #f5f0ec 0%, #faf8f5 45%, #e8e0dc 100%);
  grid-template-columns: minmax(280px, 0.58fr) minmax(0, 1.42fr);
  min-height: clamp(410px, 34vw, 540px);
}

.brand-family-b2b::after {
  height: auto;
  background-image:
    linear-gradient(rgba(109, 76, 65, 0.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(109, 76, 65, 0.08) 1px, transparent 1px);
  background-size: 88px 88px;
  mask-image: linear-gradient(90deg, transparent, black 24%, black 96%);
  opacity: 0.72;
}

.b2b-scene {
  min-height: 100%;
  background:
    linear-gradient(90deg, rgba(109, 76, 65, 0.06), transparent 32%),
    radial-gradient(circle at 52% 68%, rgba(109, 76, 65, 0.14), transparent 34%);
}

.pack-concentrate {
  height: 61%;
  bottom: 12%;
}

.pack-grape {
  left: 4%;
}

.pack-tomato {
  left: 23%;
  bottom: 7%;
}

.pack-apple {
  left: 43%;
}

.pack-carrot {
  left: 61%;
  bottom: 8%;
}

.pack-pumpkin {
  right: 1%;
  bottom: 15%;
}

.products-cta-wrap {
  margin-top: clamp(26px, 3.6vw, 44px);
}

@keyframes brandBubbleDrift {
  from { transform: translate3d(0, 0, 0); }
  to { transform: translate3d(8px, -16px, 0); }
}

@media (max-width: 1040px) {
  .brand-showcase-heading,
  .brand-family-hero,
  .family-sparkling,
  .family-energy,
  .family-children,
  .family-dairy,
  .brand-family-b2b {
    grid-template-columns: 1fr;
  }

  .brand-cluster-beverages,
  .brand-cluster-soft,
  .brand-cluster-contrast {
    grid-template-columns: 1fr;
  }

  .brand-family-hero .brand-copy,
  .brand-copy {
    padding: clamp(22px, 4vw, 34px);
  }

  .brand-scene {
    order: -1;
    min-height: clamp(300px, 48vw, 460px);
  }

  .brand-showcase-heading {
    margin-bottom: clamp(58px, 7vw, 82px);
  }

  .juice-scene {
    min-height: clamp(430px, 70vw, 560px);
    --juice-large-h: min(78%, 500px);
    --juice-secondary-h: calc(var(--juice-large-h) * 0.86);
    --juice-small-h: calc(var(--juice-large-h) * 0.36);
    --juice-large-floor: 3%;
    --juice-small-floor: 5%;
  }
}

@media (max-width: 768px) {
  .product-section {
    padding-inline: max(14px, calc((100vw - 1320px) / 2));
    padding-block: clamp(52px, 10vw, 74px);
  }

  .brand-showcase-heading {
    margin-bottom: 34px;
  }

  .brand-cluster-beverages,
  .brand-cluster-soft {
    padding: 10px;
    border-radius: 28px;
  }

  .brand-family {
    min-height: 0;
    border-radius: 24px;
  }

  .brand-copy h3 {
    font-size: clamp(1.95rem, 9vw, 2.9rem);
  }

  .brand-copy p {
    max-width: 100%;
    font-size: 0.94rem;
  }

  .brand-scene {
    min-height: 300px;
  }

  .juice-scene {
    min-height: 420px;
  }

  .juice-scene {
    --juice-large-h: min(72%, 390px);
    --juice-secondary-h: calc(var(--juice-large-h) * 0.84);
    --juice-small-h: calc(var(--juice-large-h) * 0.36);
    --juice-large-floor: 5%;
    --juice-small-floor: 6%;
    --juice-logo-top: 6%;
    --juice-logo-size: 76px;
  }

  .pack-juice-ecil { left: 2%; }
  .pack-juice-main { right: 24%; }
  .pack-juice-ecil-alt { left: 22%; }
  .pack-juice-josh-alt { right: 4%; }
  .pack-juice-small-a { right: 45%; }
  .pack-juice-small-b { right: 36%; }
  .pack-juice-small-c { right: 12%; }

  .pack-tea { height: 78%; left: 9%; }
  .pack-tea-alt { height: 52%; left: 35%; }
  .pack-330 { height: 82%; right: 14%; }
  .pack-330-alt { height: 48%; right: 2%; }

  .pack-ozi { height: 76%; left: 4%; }
  .pack-tap { height: 62%; left: 34%; }
  .pack-ok { height: 66%; right: 12%; }
  .pack-ozi-alt { height: 44%; right: 0; }
  .pack-ok-alt { height: 40%; }

  .pack-yeserje { height: 68%; left: 8%; }
  .pack-cereal { height: 38%; }
  .pack-porridge { height: 46%; right: 20%; }

  .pack-milk { height: 76%; }
  .pack-milk-alt { height: 50%; }
  .pack-dap { height: 62%; right: 8%; }
  .pack-dap-alt { height: 40%; }

  .pack-zor { height: 80%; left: 10%; }
  .pack-seljuk { height: 47%; right: 10%; }

  .pack-köşüli { height: 76%; }
  .pack-köşüli-alt { height: 42%; left: 8%; }

  .pack-concentrate { height: 48%; }
  .pack-grape { left: 0; }
  .pack-tomato { left: 20%; }
  .pack-apple { left: 40%; }
  .pack-carrot { left: 58%; }
  .pack-pumpkin { right: -2%; }
}

@media (max-width: 520px) {
  .brand-showcase-stage {
    gap: 14px;
  }

  .brand-scene {
    min-height: 270px;
  }

  .juice-scene {
    min-height: 360px;
  }

  .brand-mark-mini {
    width: 64px;
  }

  .juice-scene {
    --juice-large-h: min(64%, 300px);
    --juice-secondary-h: calc(var(--juice-large-h) * 0.88);
    --juice-small-h: calc(var(--juice-large-h) * 0.36);
    --juice-large-floor: 8%;
    --juice-small-floor: 8%;
    --juice-logo-size: 62px;
  }

  .pack-juice-ecil { left: 1%; }
  .pack-juice-main { right: 24%; }
  .pack-juice-ecil-alt { left: 22%; }
  .pack-juice-josh-alt { right: 3%; }
  .pack-juice-small-a { right: 47%; }
  .pack-juice-small-b { right: 35%; }
  .pack-juice-small-c { right: 12%; }

  .cold-scene,
  .bubble-scene,
  .children-scene,
  .dairy-scene,
  .deli-scene {
    min-height: 280px;
  }

  .pack-tea-alt,
  .pack-330-alt,
  .pack-ozi-alt,
  .pack-ok-alt,
  .pack-cereal,
  .pack-dap-alt,
  .pack-milk-alt {
    opacity: 0.92;
  }

  .pack-concentrate {
    height: 38%;
  }

  .products-cta {
    justify-content: center;
  }
}

@media (prefers-reduced-motion: reduce) {
  .bubble {
    animation: none !important;
  }
}

/* Product-family art direction system */
.brand-showcase-stage {
  --scene-floor: 7%;
  --scene-floor-high: 14%;
  --scene-safe: clamp(16px, 2.2vw, 34px);
  --pkg-carton-lg: min(76%, 520px);
  --pkg-carton-md: calc(var(--pkg-carton-lg) * 0.76);
  --pkg-carton-sm: calc(var(--pkg-carton-lg) * 0.36);
  --pkg-bottle-hero: min(76%, 430px);
  --pkg-bottle-support: calc(var(--pkg-bottle-hero) * 0.66);
  --pkg-pouch-hero: min(70%, 370px);
  --pkg-pouch-support: calc(var(--pkg-pouch-hero) * 0.62);
  --pkg-box-support: calc(var(--pkg-pouch-hero) * 0.58);
  --pkg-dairy-hero: min(72%, 380px);
  --pkg-dairy-support: calc(var(--pkg-dairy-hero) * 0.64);
  --pkg-deli-hero: min(67%, 360px);
  --pkg-deli-support: calc(var(--pkg-deli-hero) * 0.72);
  --pkg-jar: min(57%, 285px);
}

.brand-scene {
  position: relative;
  overflow: visible;
}

.brand-scene::after {
  content: "";
  position: absolute;
  left: var(--surface-left, 8%);
  right: var(--surface-right, 8%);
  bottom: calc(var(--scene-floor, 7%) - 3px);
  z-index: 0;
  height: 14px;
  border-radius: 999px;
  background: radial-gradient(ellipse, rgba(4, 45, 34, 0.16), transparent 70%);
  filter: blur(3px);
  pointer-events: none;
}

.brand-scene .pack {
  width: auto;
  max-width: none;
  object-fit: contain;
  object-position: center bottom;
}

.format-carton-large { height: var(--pkg-carton-lg); bottom: var(--scene-floor); }
.format-carton-medium { height: var(--pkg-carton-md); bottom: var(--scene-floor); }
.format-carton-small { height: var(--pkg-carton-sm); bottom: var(--scene-floor-high); }
.format-bottle-hero { height: var(--pkg-bottle-hero); bottom: var(--scene-floor); }
.format-bottle-support { height: var(--pkg-bottle-support); bottom: var(--scene-floor); }
.format-glass-hero { height: var(--pkg-bottle-hero); bottom: var(--scene-floor); }
.format-glass-support { height: var(--pkg-bottle-support); bottom: var(--scene-floor); }
.format-pet-hero { height: calc(var(--pkg-bottle-hero) * 0.94); bottom: var(--scene-floor); }
.format-pet-support { height: calc(var(--pkg-bottle-support) * 0.96); bottom: var(--scene-floor); }
.format-pouch-hero { height: var(--pkg-pouch-hero); bottom: var(--scene-floor); }
.format-pouch-support { height: var(--pkg-pouch-support); bottom: var(--scene-floor); }
.format-box-support { height: var(--pkg-box-support); bottom: var(--scene-floor); }
.format-dairy-hero { height: var(--pkg-dairy-hero); bottom: var(--scene-floor); }
.format-dairy-support { height: var(--pkg-dairy-support); bottom: var(--scene-floor); }
.format-deli-hero { height: var(--pkg-deli-hero); bottom: var(--scene-floor); }
.format-deli-support { height: var(--pkg-deli-support); bottom: var(--scene-floor); }
.format-jar { height: var(--pkg-jar); bottom: var(--scene-floor); }

.brand-mark-mini {
  width: var(--brand-logo-size, clamp(68px, 6vw, 102px));
  aspect-ratio: 1.26 / 1;
  padding: clamp(8px, 0.85vw, 12px);
  object-fit: contain;
}

.brand-mark-ecil,
.brand-mark-josh {
  top: var(--brand-logo-top, 5%);
}

.juice-scene {
  --scene-floor: 4%;
  --scene-floor-high: 6%;
  --surface-left: 7%;
  --surface-right: 6%;
  --brand-logo-top: 5%;
  --brand-logo-size: clamp(72px, 6.3vw, 106px);
  --pkg-carton-lg: min(73%, 510px);
  --pkg-carton-md: calc(var(--pkg-carton-lg) * 0.73);
  --pkg-carton-sm: calc(var(--pkg-carton-lg) * 0.36);
}

.pack-juice-ecil { left: 11%; z-index: 4; }
.pack-juice-main { right: 25%; z-index: 4; }
.pack-juice-ecil-alt { left: 26%; z-index: 2; }
.pack-juice-josh-alt { right: 7%; z-index: 2; }
.pack-juice-small-a { right: 42%; z-index: 6; }
.pack-juice-small-b { right: 33%; z-index: 6; }
.pack-juice-small-c { right: 13%; z-index: 6; }
.brand-mark-ecil { left: 10%; }
.brand-mark-josh { right: 10%; }

.scene-orbit-a {
  right: 8%;
  top: 6%;
}

.scene-orbit-b {
  right: 33%;
  bottom: 18%;
}

.children-scene {
  --scene-floor: 8%;
  --surface-left: 12%;
  --surface-right: 12%;
  --pkg-pouch-hero: min(68%, 350px);
}

.pack-yeserje { left: 15%; z-index: 4; }
.pack-porridge { right: 16%; z-index: 3; }
.pack-cereal { left: 42%; z-index: 2; }

.dairy-scene {
  --scene-floor: 7%;
  --surface-left: 8%;
  --surface-right: 8%;
  --pkg-dairy-hero: min(70%, 370px);
}

.pack-milk { left: 10%; z-index: 4; }
.pack-dap { right: 14%; z-index: 4; }
.pack-milk-alt { left: 38%; z-index: 2; }
.pack-dap-alt { right: 37%; z-index: 2; }
.brand-mark-dairy { display: none; }

.cold-scene {
  --scene-floor: 7%;
  --surface-left: 7%;
  --surface-right: 7%;
  --pkg-bottle-hero: min(76%, 395px);
}

.pack-tea { left: 13%; z-index: 4; }
.pack-330 { right: 20%; z-index: 4; }
.pack-tea-alt { left: 36%; z-index: 2; }
.pack-330-alt { right: 5%; z-index: 2; }

.bubble-scene {
  --scene-floor: 7%;
  --surface-left: 8%;
  --surface-right: 8%;
  --pkg-bottle-hero: min(75%, 395px);
}

.pack-ozi { left: 8%; z-index: 4; }
.pack-tap { left: 37%; z-index: 5; }
.pack-ok { right: 17%; z-index: 6; }
.pack-ozi-alt { right: 5%; z-index: 2; }
.pack-ok-alt { left: 23%; z-index: 2; }

.energy-scene {
  --scene-floor: 8%;
  --surface-left: 11%;
  --surface-right: 16%;
  --pkg-bottle-hero: min(75%, 390px);
}

.pack-zor { left: 17%; z-index: 4; }
.pack-seljuk { right: 20%; z-index: 5; }

.deli-scene {
  --scene-floor: 9%;
  --surface-left: 9%;
  --surface-right: 9%;
  --pkg-deli-hero: min(76%, 420px);
}

.pack-köşüli {
  left: 50%;
  bottom: var(--scene-floor);
  z-index: 4;
  transform: translateX(-50%) rotate(-2deg);
}

.pack-köşüli-alt {
  left: 16%;
  bottom: var(--scene-floor);
  z-index: 2;
  transform: rotate(5deg);
}

.family-meat:hover .pack-köşüli,
.family-meat:focus-within .pack-köşüli {
  transform: translateX(-50%) translateY(-5px) rotate(-1deg);
}

.b2b-scene {
  --scene-floor: 13%;
  --surface-left: 5%;
  --surface-right: 5%;
  --pkg-jar: min(55%, 292px);
}

.pack-grape { left: 6%; z-index: 3; }
.pack-tomato { left: 24%; z-index: 5; }
.pack-apple { left: 43%; z-index: 4; }
.pack-carrot { left: 61%; z-index: 4; }
.pack-pumpkin { right: 3%; z-index: 2; }

@media (max-width: 1040px) {
  .brand-showcase-stage {
    --pkg-carton-lg: min(70%, 450px);
    --pkg-bottle-hero: min(72%, 370px);
    --pkg-pouch-hero: min(66%, 330px);
    --pkg-dairy-hero: min(68%, 340px);
  }

  .brand-scene {
    overflow: hidden;
  }

  .juice-scene {
    min-height: clamp(410px, 66vw, 540px);
  }

  .pack-juice-ecil { left: 6%; }
  .pack-juice-main { right: 25%; }
  .pack-juice-ecil-alt { left: 25%; }
  .pack-juice-josh-alt { right: 4%; }
}

@media (max-width: 768px) {
  .brand-showcase-stage {
    --pkg-carton-lg: min(64%, 350px);
    --pkg-bottle-hero: min(68%, 315px);
    --pkg-pouch-hero: min(64%, 305px);
    --pkg-dairy-hero: min(64%, 300px);
    --pkg-deli-hero: min(58%, 280px);
    --pkg-jar: min(45%, 220px);
  }

  .brand-scene {
    min-height: 310px;
  }

  .juice-scene {
    --scene-floor: 9%;
    --scene-floor-high: 10%;
    --brand-logo-size: 70px;
    min-height: 420px;
  }

  .pack-juice-ecil { left: 3%; }
  .pack-juice-main { right: 24%; }
  .pack-juice-ecil-alt { left: 23%; }
  .pack-juice-josh-alt { right: 3%; }
  .pack-juice-small-a { right: 47%; }
  .pack-juice-small-b { right: 36%; }
  .pack-juice-small-c { right: 11%; }

  .pack-yeserje { left: 9%; }
  .pack-porridge { right: 9%; }
  .pack-cereal { left: 40%; }
  .pack-milk { left: 7%; }
  .pack-dap { right: 9%; }
  .pack-milk-alt { left: 36%; }
  .pack-dap-alt { right: 35%; }
  .pack-tea { left: 9%; }
  .pack-330 { right: 14%; }
  .pack-tea-alt { left: 35%; }
  .pack-330-alt { right: 2%; }
  .pack-ozi { left: 5%; }
  .pack-tap { left: 34%; }
  .pack-ok { right: 11%; }
  .pack-ozi-alt { right: 0; }
  .pack-ok-alt { left: 22%; }
  .pack-zor { left: 12%; }
  .pack-seljuk { right: 15%; }
  .pack-köşüli {
    left: 67%;
    height: min(61%, 284px);
  }

  .pack-köşüli-alt {
    left: 9%;
    height: min(53%, 256px);
  }
  .pack-grape { left: 2%; }
  .pack-tomato { left: 21%; }
  .pack-apple { left: 40%; }
  .pack-carrot { left: 58%; }
  .pack-pumpkin { right: 0; }
}

@media (max-width: 520px) {
  .brand-showcase-stage {
    --pkg-carton-lg: min(58%, 278px);
    --pkg-bottle-hero: min(64%, 265px);
    --pkg-pouch-hero: min(60%, 255px);
    --pkg-dairy-hero: min(60%, 250px);
    --pkg-deli-hero: min(54%, 240px);
    --pkg-jar: min(46%, 178px);
  }

  .juice-scene {
    --brand-logo-size: 60px;
    min-height: 350px;
  }

  .brand-mark-ecil { left: 6%; }
  .brand-mark-josh { right: 6%; }

  .brand-family-b2b {
    min-height: 0;
  }

  .b2b-scene {
    min-height: 260px;
    --scene-floor: 16%;
    --surface-left: 7%;
    --surface-right: 7%;
  }

  .pack-grape { left: 3%; }
  .pack-tomato { left: 20%; }
  .pack-apple { left: 38%; }
  .pack-carrot { left: 55%; }
  .pack-pumpkin { right: 1%; }
}

@media (max-width: 640px) {
  .product-section {
    padding-inline: clamp(16px, 5vw, 24px);
    padding-block: 54px 68px;
  }

  .brand-showcase-stage {
    gap: 20px;
  }

  .brand-cluster,
  .brand-cluster-beverages,
  .brand-cluster-soft,
  .brand-cluster-contrast {
    display: grid;
    grid-template-columns: 1fr;
    gap: 18px;
    padding: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    overflow: visible;
  }

  .brand-cluster-beverages::before,
  .brand-cluster-soft::before,
  .brand-family-b2b::after {
    opacity: 0;
  }

  .brand-family,
  .brand-family-hero,
  .family-children,
  .family-dairy,
  .family-tea,
  .family-sparkling,
  .family-energy,
  .family-meat,
  .brand-family-b2b {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto auto;
    min-height: 0;
    border: 1px solid rgba(6, 78, 59, 0.08);
    border-radius: 28px;
    box-shadow: 0 18px 54px rgba(12, 42, 32, 0.10);
    overflow: hidden;
  }

  .family-children { --scene-bg: linear-gradient(145deg, #f3fff0, #e9fcff); }
  .family-dairy { --scene-bg: linear-gradient(145deg, #f3fff8, #e6f8ff); }
  .family-tea { --scene-bg: linear-gradient(145deg, #eef8ff, #e9fff5); }
  .family-sparkling { --scene-bg: linear-gradient(145deg, #effbff, #e8fff7); }

  .brand-scene {
    order: 0;
    min-height: clamp(230px, 64vw, 300px);
    overflow: hidden;
  }

  .brand-scene::after {
    left: 14%;
    right: 14%;
    height: 10px;
    opacity: 0.72;
  }

  .brand-copy {
    order: 1;
    justify-content: flex-start;
    gap: 9px;
    padding: 20px clamp(20px, 6vw, 28px) 24px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.36), rgba(255, 255, 255, 0.12));
  }

  .brand-copy h3 {
    max-width: 11ch;
    font-size: clamp(1.95rem, 8.7vw, 2.58rem);
    line-height: 1;
  }

  .brand-copy p {
    max-width: 28rem;
    font-size: clamp(0.95rem, 4.2vw, 1.04rem);
    line-height: 1.45;
  }

  .brand-kicker {
    font-size: 0.62rem;
    letter-spacing: 0.17em;
  }

  .brand-cta {
    width: max-content;
    max-width: 100%;
    font-size: 0.9rem;
  }

  .juice-scene {
    min-height: clamp(285px, 72vw, 340px);
    --pkg-carton-lg: min(61%, 244px);
    --pkg-carton-md: calc(var(--pkg-carton-lg) * 0.7);
    --pkg-carton-sm: calc(var(--pkg-carton-lg) * 0.32);
    --scene-floor: 9%;
    --scene-floor-high: 12%;
  }

  .pack-juice-ecil { left: 3%; }
  .pack-juice-main { right: 27%; }
  .pack-juice-ecil-alt { left: 21%; }
  .pack-juice-josh-alt { right: 2%; }
  .pack-juice-small-a { right: 47%; }
  .pack-juice-small-b { right: 38%; }
  .pack-juice-small-c { right: 13%; }

  .children-scene {
    min-height: clamp(250px, 66vw, 305px);
    --pkg-pouch-hero: min(62%, 230px);
    --pkg-pouch-support: calc(var(--pkg-pouch-hero) * 0.52);
    --pkg-box-support: calc(var(--pkg-pouch-hero) * 0.5);
    --scene-floor: 10%;
  }

  .pack-yeserje { left: 9%; bottom: var(--scene-floor); }
  .pack-porridge { left: 58%; right: auto; bottom: 11%; }
  .pack-cereal { left: 48%; right: auto; bottom: 46%; }

  .dairy-scene {
    min-height: clamp(255px, 67vw, 310px);
    --pkg-dairy-hero: min(62%, 238px);
    --pkg-dairy-support: calc(var(--pkg-dairy-hero) * 0.55);
    --scene-floor: 9%;
  }

  .pack-milk { left: 7%; }
  .pack-dap { right: 8%; }
  .pack-milk-alt { left: 38%; }
  .pack-dap-alt { right: 38%; bottom: 42%; }

  .cold-scene {
    min-height: clamp(255px, 66vw, 305px);
    --pkg-bottle-hero: min(66%, 250px);
    --pkg-bottle-support: calc(var(--pkg-bottle-hero) * 0.5);
    --scene-floor: 9%;
  }

  .pack-tea { left: 7%; }
  .pack-tea-alt { left: 34%; }
  .pack-330 { right: 20%; }
  .pack-330-alt { right: 6%; }

  .bubble-scene {
    min-height: clamp(265px, 68vw, 315px);
    --pkg-bottle-hero: min(64%, 252px);
    --pkg-bottle-support: calc(var(--pkg-bottle-hero) * 0.52);
    --scene-floor: 9%;
  }

  .pack-ozi { left: 6%; }
  .pack-ok-alt { left: 25%; }
  .pack-tap { left: 38%; }
  .pack-ok { right: 17%; }
  .pack-ozi-alt { right: 5%; }

  .energy-scene {
    min-height: clamp(250px, 66vw, 305px);
    --pkg-bottle-hero: min(66%, 250px);
    --pkg-bottle-support: calc(var(--pkg-bottle-hero) * 0.54);
    --scene-floor: 10%;
  }

  .pack-zor { left: 18%; }
  .pack-seljuk { right: 17%; }

  .deli-scene {
    min-height: clamp(245px, 65vw, 300px);
    --pkg-deli-hero: min(62%, 244px);
    --pkg-deli-support: calc(var(--pkg-deli-hero) * 0.86);
    --scene-floor: 10%;
  }

  .pack-köşüli {
    left: 63%;
    height: var(--pkg-deli-hero);
  }

  .pack-köşüli-alt {
    left: 11%;
    height: var(--pkg-deli-support);
  }

  .b2b-scene {
    min-height: clamp(245px, 64vw, 290px);
    --pkg-jar: min(50%, 178px);
    --scene-floor: 12%;
  }
}

.product-section .poster-section {
  width: 100%;
  margin-top: clamp(32px, 5vw, 56px);
  padding: clamp(24px, 4vw, 42px);
  border: 1px solid #E5E7EB;
  border-radius: var(--image-radius-lg);
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.84), rgba(227, 241, 234, 0.94)),
    #E3F1EA;
  box-shadow: 0 22px 70px rgba(19, 26, 22, 0.08);
}

.product-section .poster-frame {
  height: clamp(320px, 46vw, 560px);
  border-color: rgba(6, 78, 59, 0.10);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(248, 252, 250, 0.76)),
    #ffffff;
  box-shadow: 0 18px 52px rgba(19, 26, 22, 0.12);
}

@media (min-width: 621px) {
  .product-section .poster-frame {
    width: auto;
    aspect-ratio: 4960 / 7018;
    margin-inline: auto;
  }
}

.product-section .poster-section {
  color: #1A1A1A;
}

.product-section .poster-section > .poster-copy .eyebrow {
  color: #475569;
}

.product-section .poster-section > .poster-copy h2 {
  color: #022C22;
}

.product-section .poster-copy p:not(.eyebrow) {
  color: #475569;
}

.product-section .poster-arrow {
  border-color: #E5E7EB;
  background: #ffffff;
  color: #064E3B;
}

.product-section .poster-arrow:hover {
  background: #064E3B;
  color: #ffffff;
}

.product-section .poster-dot {
  background: #064E3B;
}

.product-section .poster-dot.is-active::after {
  background: rgba(6, 78, 59, 0.4);
}

.quality-section {
  display: grid;
  grid-template-columns: minmax(260px, 0.75fr) minmax(0, 1fr);
  gap: clamp(32px, 6vw, 72px);
  align-items: center;
  background: #FAFCFB;
  width: 100%;
  margin: 0;
  padding-block: clamp(60px, 8vw, 100px);
  padding-inline: max(24px, calc((100vw - 1160px) / 2));
  border: none;
  border-radius: 0;
}

.quality-section-combined {
  grid-template-columns: minmax(280px, 0.82fr) minmax(0, 1.18fr);
  row-gap: clamp(34px, 6vw, 76px);
}

.quality-section-combined .quality-copy {
  grid-column: 1 / -1;
  max-width: none;
}

.quality-section-combined .quality-copy h2 {
  max-width: none;
  margin-bottom: 0;
  font-size: clamp(2.4rem, 5vw, 4rem);
}

@media (min-width: 1180px) {
  .quality-section-combined .quality-copy h2 {
    white-space: nowrap;
  }
}

.quality-visual {
  display: grid;
  place-items: center;
  gap: 8px;
  min-height: 300px;
  overflow: hidden;
  border-radius: var(--image-radius-lg);
  border: 1px solid #E5E7EB;
  background:
    linear-gradient(145deg, #022C22, #064E3B);
  box-shadow: none;
}

.certificate-gallery {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(16px, 2vw, 26px);
  align-items: stretch;
}

.certificate-card {
  --cert-accent: #3D6B45;
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  color: inherit;
  text-decoration: none;
  overflow: hidden;
  border: 1px solid rgba(6, 78, 59, 0.10);
  border-radius: 18px;
  background: #ffffff;
  box-shadow: 0 12px 34px rgba(19, 26, 22, 0.07);
  transition:
    border-color 200ms ease,
    box-shadow 200ms ease,
    transform 200ms ease;
}

.certificate-card::before {
  content: "";
  height: 5px;
  background: var(--cert-accent);
}

.certificate-frame {
  display: grid;
  place-items: center;
  aspect-ratio: 0.8;
  overflow: hidden;
  margin: clamp(12px, 1.4vw, 16px) clamp(12px, 1.4vw, 16px) 0;
  border-radius: 12px;
  padding: clamp(10px, 1.4vw, 16px);
  background:
    radial-gradient(120% 120% at 50% 0%, color-mix(in srgb, var(--cert-accent) 8%, #fff) 0%, #F4F8F6 100%);
}

.certificate-frame img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  border-radius: 4px;
  filter: drop-shadow(0 6px 16px rgba(19, 26, 22, 0.14));
}

.certificate-meta {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 16px clamp(14px, 1.6vw, 20px) clamp(16px, 1.8vw, 22px);
}

.certificate-card strong {
  align-self: flex-start;
  color: var(--cert-accent);
  font-size: 0.82rem;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0.02em;
  padding: 6px 11px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--cert-accent) 12%, #fff);
  border: 1px solid color-mix(in srgb, var(--cert-accent) 28%, #fff);
}

.certificate-label {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  color: #22332C;
  font-size: 0.98rem;
  font-weight: 700;
  line-height: 1.3;
}

.certificate-label::before {
  content: "";
  flex: none;
  margin-top: 1px;
  width: 17px;
  height: 17px;
  border-radius: 50%;
  background:
    url('data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 viewBox%3D%220 0 24 24%22%3E%3Cpath fill%3D%22none%22 stroke%3D%22%23fff%22 stroke-width%3D%223.5%22 stroke-linecap%3D%22round%22 stroke-linejoin%3D%22round%22 d%3D%22M5 12.5l4.5 4.5L19 7%22%2F%3E%3C%2Fsvg%3E') center / 12px no-repeat,
    var(--cert-accent);
}

.certificate-card:hover,
.certificate-card:focus-visible {
  border-color: color-mix(in srgb, var(--cert-accent) 45%, transparent);
  box-shadow: 0 26px 56px rgba(19, 26, 22, 0.14);
  transform: translateY(-4px);
}

.quality-visual strong {
  color: #f6dfb6;
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(5rem, 14vw, 10rem);
  font-weight: 400;
  line-height: 0.85;
}

.quality-visual span {
  color: rgba(255, 250, 240, 0.84);
  font-weight: 900;
}

.cert-list {
  display: grid;
  gap: 10px;
  padding: 0;
  margin: 28px 0 0;
  list-style: none;
}

.cert-list li {
  display: grid;
  gap: 3px;
  border-left: 2px solid #064E3B;
  border-radius: 0 9px 9px 0;
  padding: 14px 18px;
  background: #F1F8F4;
  box-shadow: none;
}

.cert-list strong {
  color: #022C22;
  font-size: 0.92rem;
  font-weight: 700;
}

.cert-list span {
  color: #475569;
  font-size: 0.82rem;
}

.faq-section {
  width: 100%;
  max-width: none;
  margin: 0;
  padding-block: clamp(56px, 8vw, 100px);
  padding-inline: max(18px, calc((100vw - 1160px) / 2));
  background: #E3F1EA;
}

.faq-list {
  margin-top: clamp(28px, 4vw, 48px);
  border-top: 1px solid #b0b3ac;
}

.faq-item {
  border-bottom: 1px solid #b0b3ac;
}

.faq-question {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  width: 100%;
  padding: 24px 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 1.05rem;
  font-weight: 400;
  color: #022C22;
  text-align: left;
  letter-spacing: -0.01em;
}

.faq-icon {
  flex-shrink: 0;
  position: relative;
  width: 28px;
  height: 28px;
  border: 1px solid #E5E7EB;
  border-radius: 50%;
  background: #ffffff;
  transition: background 240ms ease, border-color 240ms ease;
}

.faq-icon::before,
.faq-icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 12px;
  height: 2px;
  background: #064E3B;
  translate: -50% -50%;
  transition: transform 240ms ease, background 240ms ease;
}

.faq-icon::after {
  transform: rotate(90deg);
}

.faq-item.is-open .faq-icon {
  background: #064E3B;
  border-color: #064E3B;
}

.faq-item.is-open .faq-icon::before,
.faq-item.is-open .faq-icon::after {
  background: #fff;
}

.faq-item.is-open .faq-icon::after {
  transform: rotate(0deg);
}

.faq-body {
  max-height: 0;
  overflow: hidden;
  transition: max-height 360ms cubic-bezier(0.4, 0, 0.2, 1);
}

.faq-answer {
  margin: 0 0 22px;
  max-width: 780px;
  color: #475569;
  font-size: 0.97rem;
  line-height: 1.65;
}

.faq-answer a {
  color: #064E3B;
  text-decoration: underline;
}

.contact-section {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(320px, 1.1fr);
  align-items: start;
  justify-content: stretch;
  gap: clamp(32px, 5vw, 64px);
  background: #022C22;
  color: #ffffff;
  width: 100%;
  margin: 0;
  padding-block: clamp(60px, 8vw, 100px);
  padding-inline: max(24px, calc((100vw - 1160px) / 2));
  border: none;
  border-radius: 0;
}

.contact-copy {
  max-width: 760px;
}

.contact-section .eyebrow {
  color: #FAECE7;
}

.contact-section .eyebrow::after,
.catalogue-cta-text .eyebrow::after,
.page-hero .eyebrow::after {
  background: #D85A30;
  opacity: 0.55;
}

.contact-section h2,
.contact-section p {
  color: #ffffff;
}

.contact-form {
  display: flex;
  flex-direction: column;
  gap: 18px;
  align-self: stretch;
  padding: clamp(22px, 2.6vw, 34px);
  border: 1px solid rgba(255, 255, 255, 0.10);
  border-radius: calc(9px + 6px);
  background: rgba(255, 255, 255, 0.04);
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.22);
}

.form-field-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.form-field {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
}

.form-label {
  font-family: 'Inter', "Segoe UI", Roboto, Arial, sans-serif;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.5);
}

.form-input {
  width: 100%;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 9px;
  padding: 13px 15px;
  background: rgba(255, 255, 255, 0.05);
  color: #ffffff;
  font-family: 'Inter', "Segoe UI", Roboto, Arial, sans-serif;
  font-size: 0.95rem;
  line-height: 1.5;
  transition: border-color 180ms ease, background 180ms ease, box-shadow 180ms ease;
}

.form-input::placeholder {
  color: rgba(255, 255, 255, 0.34);
}

.form-input:hover {
  border-color: rgba(255, 255, 255, 0.26);
}

.form-input:focus {
  outline: none;
  border-color: #D85A30;
  background: rgba(255, 255, 255, 0.08);
  box-shadow: 0 0 0 3px rgba(216, 90, 48, 0.24);
}

.form-input:-webkit-autofill,
.form-input:-webkit-autofill:hover,
.form-input:-webkit-autofill:focus {
  -webkit-text-fill-color: #ffffff;
  caret-color: #ffffff;
  transition: background-color 9999s ease-in-out 0s;
}

.form-textarea {
  min-height: 132px;
  resize: vertical;
}

.button-accent {
  background: #D85A30;
  color: #ffffff;
  box-shadow: 0 10px 28px rgba(216, 90, 48, 0.38);
}

.button-accent:hover {
  background: #b84520;
  box-shadow: 0 14px 34px rgba(216, 90, 48, 0.48);
  transform: translateY(-1px);
}

.contact-submit {
  align-self: flex-start;
  margin-top: 6px;
  padding-inline: 30px;
}

.form-note {
  margin: 0;
  color: rgba(255, 255, 255, 0.5);
  font-size: 0.82rem;
}

.form-success {
  margin: 0;
  padding: 12px 15px;
  border: 1px solid rgba(216, 90, 48, 0.45);
  border-radius: 9px;
  background: rgba(216, 90, 48, 0.14);
  color: #FAECE7;
  font-size: 0.88rem;
  line-height: 1.55;
}

.contact-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  width: 100%;
}

.contact-card {
  min-height: 120px;
  display: grid;
  align-content: space-between;
  gap: 14px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 9px;
  padding: 22px;
  background: rgba(255, 255, 255, 0.06);
  color: #ffffff;
  text-decoration: none;
  transition: background 200ms ease, border-color 200ms ease;
}

.contact-card:hover {
  background: rgba(255, 255, 255, 0.11);
  border-color: rgba(255, 255, 255, 0.22);
}

.contact-card span {
  color: rgba(255, 250, 240, 0.55);
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.contact-card strong {
  color: #ffffff;
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 1.05rem;
  font-weight: 400;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.product-facts {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.product-facts span {
  border: 1px solid #E5E7EB;
  border-radius: 9px;
  padding: 8px 10px;
  background: #E1F5EE;
  color: #064E3B;
  font-size: 0.83rem;
  font-weight: 800;
}

.site-footer {
  background: #040C0A;
  color: rgba(255, 255, 255, 0.9);
  border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.footer-inner {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr) minmax(0, 1fr);
  gap: 56px;
  padding: 60px clamp(18px, 4vw, 54px) 48px;
  max-width: calc(1160px + 108px);
  margin: 0 auto;
}

.footer-brand {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.footer-logo {
  width: 88px;
  height: 88px;
  flex: 0 0 auto;
  border-radius: 0;
  border: none;
  object-fit: contain;
}

.footer-brand strong {
  display: block;
  color: #ffffff;
  font-size: 0.98rem;
  letter-spacing: 0.01em;
}

.site-footer p {
  margin: 0;
  color: rgba(255, 255, 255, 0.44);
  font-size: 0.82rem;
  line-height: 1.65;
}

.footer-col-heading {
  margin: 0 0 18px;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.3);
}

.footer-links {
  display: flex;
  flex-direction: column;
  gap: 13px;
}

.footer-links a,
.footer-address a {
  font-size: 0.9rem;
  text-decoration: none;
}

.footer-address {
  display: flex;
  flex-direction: column;
  gap: 11px;
  font-style: normal;
  font-size: 0.9rem;
}

.footer-address span {
  color: rgba(255, 255, 255, 0.62);
}

.site-footer a {
  color: rgba(255, 255, 255, 0.62);
  text-decoration: none;
}

.site-footer a:hover {
  color: #ffffff;
}

.footer-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  padding: 20px clamp(18px, 4vw, 54px);
}

.footer-back-top {
  color: rgba(255, 255, 255, 0.38);
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-decoration: none;
  text-transform: uppercase;
  transition: color 200ms ease;
  white-space: nowrap;
}

.footer-back-top:hover {
  color: rgba(255, 255, 255, 0.9);
}

.footer-bar-inner {
  max-width: calc(1160px + 108px);
  margin: 0 auto;
}

.page-shell,
.admin-shell {
  width: min(1160px, calc(100% - 36px));
  margin: 0 auto;
  padding: 32px 0 80px;
}

.admin-shell {
  padding-top: 60px;
}

.page-hero {
  width: 100%;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 28px;
  align-items: end;
  margin-bottom: 0;
  padding: clamp(100px, 14vw, 160px) max(24px, calc((100vw - 1160px) / 2)) clamp(48px, 7vw, 80px);
  border: none;
  border-radius: 0;
  background: #022C22;
  color: #ffffff;
  box-shadow: none;
  overflow: hidden;
}

.page-hero .eyebrow {
  color: #f6dfb6;
}

.page-hero h1 {
  max-width: 820px;
  margin-bottom: 8px;
  font-size: clamp(2.8rem, 6vw, 5.4rem);
  color: #ffffff;
}

.page-hero p {
  max-width: 680px;
  margin-bottom: 0;
  color: rgba(255, 255, 255, 0.78);
  font-size: 1.08rem;
}

.page-hero .product-facts span {
  border-color: rgba(255, 255, 255, 0.2);
  background: rgba(255, 255, 255, 0.08);
  color: rgba(255, 255, 255, 0.88);
}

.page-hero .hero-actions {
  margin-top: 8px;
}

.catalog-toolbar,
.catalog-summary,
.admin-toolbar,
.admin-utility,
.form-actions,
.admin-actions {
  display: flex;
  align-items: end;
  gap: 12px;
  flex-wrap: wrap;
}

.admin-panel,
.admin-metrics div {
  border: 1px solid #E5E7EB;
  border-radius: 9px;
  background: #E3F1EA;
  box-shadow: none;
}

.catalog-toolbar {
  justify-content: space-between;
  padding: 0 0 24px;
  margin-bottom: 24px;
  background: none;
  border: none;
  border-radius: 0;
  border-bottom: 1px solid #E5E7EB;
}

.catalog-summary {
  background: none;
  border: none;
  border-radius: 0;
  padding: 0;
  margin-bottom: 32px;
}

.catalog-toolbar label,
.admin-toolbar label,
.admin-panel label {
  display: grid;
  gap: 7px;
  color: #475569;
  font-size: 0.82rem;
  font-weight: 900;
}

.catalog-toolbar label {
  flex: 1 1 260px;
}

input,
select,
textarea {
  width: 100%;
  border: 1px solid #E5E7EB;
  border-radius: 9px;
  padding: 12px 13px;
  background: #ffffff;
  color: #1A1A1A;
  font: inherit;
}

textarea {
  resize: vertical;
}

.catalog-summary {
  justify-content: space-between;
  padding: 14px 16px;
  margin-bottom: 18px;
}

.catalog-summary strong {
  color: #1A1A1A;
  font-size: 0.88rem;
  font-weight: 600;
}

.catalog-summary span {
  color: #475569;
  font-size: 0.88rem;
  font-weight: 500;
}

.catalog-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.catalog-card {
  overflow: hidden;
  border: 1px solid #E5E7EB;
  border-radius: 9px;
  background: #ffffff;
  box-shadow: none;
  transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.catalog-card:hover {
  box-shadow: 0 8px 32px rgba(29, 40, 33, 0.1);
  transform: translateY(-2px);
}

.catalog-card-body {
  padding: 26px;
}

.catalog-card-top,
.admin-item-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
}

.catalog-card-top span,
.admin-item-top span {
  color: #D85A30;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.catalog-card-top strong,
.status-published,
.status-draft {
  border-radius: 999px;
  padding: 5px 8px;
  font-size: 0.72rem;
  text-transform: uppercase;
}

.catalog-card-top strong,
.status-published {
  background: #E1F5EE;
  color: #064E3B;
}

.status-draft {
  background: #f8e5e7;
  color: #9f1d2b;
}

.catalog-card h2 {
  margin-bottom: 10px;
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 1.45rem;
  font-weight: 400;
  letter-spacing: -0.01em;
  line-height: 1.25;
}

.catalog-card p,
.admin-item p {
  color: #475569;
}

.catalog-card dl {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin: 18px 0;
}

.catalog-card dt {
  color: #475569;
  font-size: 0.78rem;
  font-weight: 900;
}

.catalog-card dd {
  margin: 0;
  font-weight: 800;
}

.flavor-row {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.flavor-row span {
  border-radius: 9px;
  padding: 6px 9px;
  background: #E1F5EE;
  color: #064E3B;
  font-size: 0.78rem;
  font-weight: 700;
}

.empty-state {
  padding: 28px;
  border: 1px dashed #E5E7EB;
  border-radius: 9px;
  color: #475569;
  background: #E3F1EA;
  text-align: center;
}

.admin-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 28px;
}

.admin-metrics div {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 16px 18px;
  border: 1px solid #E5E7EB;
  border-radius: 9px;
  background: #ffffff;
}

.admin-metrics strong {
  font-size: 1.75rem;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: #064E3B;
  line-height: 1;
}

.admin-metrics span {
  color: #475569;
  font-size: 0.78rem;
  font-weight: 600;
}

.admin-view[hidden] {
  display: none;
}

.admin-card {
  border: 1px solid #E5E7EB;
  border-radius: 9px;
  background: #ffffff;
  overflow: hidden;
  margin-bottom: 40px;
}

.admin-card-toolbar {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 16px 20px;
  border-bottom: 1px solid #E5E7EB;
  background: #E3F1EA;
  flex-wrap: wrap;
}

.admin-search-box {
  position: relative;
  flex: 1 1 240px;
  display: flex;
  align-items: center;
}

.admin-search-box svg {
  position: absolute;
  left: 12px;
  color: #475569;
  pointer-events: none;
}

.admin-search-box input {
  width: 100%;
  padding: 9px 12px 9px 36px;
  background: #ffffff;
}

.admin-card-toolbar select {
  width: auto;
  flex: 0 0 auto;
  padding: 9px 12px;
  background: #ffffff;
}

.admin-card-intro {
  padding: 20px 20px 8px;
}

.admin-card-intro h2 {
  font-size: 1rem;
  font-weight: 700;
  margin-bottom: 3px;
}

.admin-card-intro p {
  color: #475569;
  font-size: 0.84rem;
  margin-bottom: 0;
}

.admin-field {
  display: grid;
  gap: 5px;
  margin-bottom: 14px;
}

.admin-field label {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: #475569;
}

.admin-field-hint {
  font-weight: 400;
  text-transform: none;
  letter-spacing: 0;
  opacity: 0.7;
}

.admin-field-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.admin-field-row-tight {
  grid-template-columns: minmax(120px, 180px) minmax(120px, 180px);
}

.admin-field input[type="color"] {
  width: 100%;
  min-height: 42px;
  padding: 4px;
}

.admin-check-row {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 20px;
  font-size: 0.88rem;
  font-weight: 500;
  color: #1A1A1A;
  cursor: pointer;
}

.admin-check-row input[type="checkbox"] {
  width: auto;
  accent-color: #064E3B;
}

.admin-form-actions {
  display: flex;
  gap: 10px;
}

.admin-list {
  display: flex;
  flex-direction: column;
  padding: 0 20px;
}

.admin-list .empty-state {
  margin: 18px 0;
}

.admin-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 16px;
  align-items: center;
  padding: 16px 0;
  border-bottom: 1px solid #E5E7EB;
}

.admin-item-with-thumb {
  grid-template-columns: 74px minmax(0, 1fr) auto;
}

.admin-item-with-chip {
  grid-template-columns: 12px minmax(0, 1fr) auto;
}

.admin-item-thumb {
  width: 74px;
  aspect-ratio: 1;
  object-fit: contain;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  background: #E3F1EA;
  padding: 7px;
}

.admin-item-chip {
  width: 10px;
  height: 68px;
  border-radius: 999px;
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.08);
}

.admin-item:last-child {
  border-bottom: none;
}

.admin-item-main {
  min-width: 0;
}

.admin-item-top {
  justify-content: flex-start;
}

.admin-item-top > span:first-child {
  margin-right: auto;
}

.admin-item h3 {
  font-size: 1.02rem;
  font-weight: 700;
  margin-bottom: 2px;
}

.admin-item p {
  font-size: 0.82rem;
  color: #475569;
  margin-bottom: 8px;
}

.status-featured {
  font-style: normal;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #D85A30;
}

.admin-item-actions {
  display: flex;
  gap: 6px;
  flex-wrap: nowrap;
  flex-shrink: 0;
}

.admin-icon-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  background: #ffffff;
  color: #475569;
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.admin-icon-btn:hover {
  background: #E1F5EE;
  border-color: #064E3B;
  color: #064E3B;
}

.admin-icon-btn-danger:hover {
  background: #f8e5e7;
  border-color: #9f1d2b;
  color: #9f1d2b;
}

.admin-item-actions button[data-user-action] {
  border: 1px solid #E5E7EB;
  border-radius: 7px;
  padding: 7px 12px;
  background: #ffffff;
  color: #1A1A1A;
  cursor: pointer;
  font: inherit;
  font-size: 0.78rem;
  font-weight: 600;
  white-space: nowrap;
}

.enquiry-actions {
  flex-direction: column;
  align-items: stretch;
}

.enquiry-actions button,
.admin-item-actions button[data-enquiry-action] {
  border: 1px solid #E5E7EB;
  border-radius: 7px;
  padding: 7px 12px;
  background: #ffffff;
  color: #1A1A1A;
  cursor: pointer;
  font: inherit;
  font-size: 0.76rem;
  font-weight: 600;
  white-space: nowrap;
}

.admin-item-actions button[data-enquiry-action]:hover {
  background: #E3F1EA;
  border-color: #064E3B;
  color: #064E3B;
}

.admin-item-actions button[data-enquiry-action="delete"] {
  color: #9f1d2b;
}

.admin-item-actions button[data-enquiry-action="delete"]:hover {
  background: #f8e5e7;
  border-color: #9f1d2b;
}

.enquiry-message {
  white-space: pre-wrap;
}

.status-email-missing {
  font-style: normal;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #8a4b00;
}

.admin-inline-error {
  margin: 12px 20px 0;
  padding: 10px 12px;
  border: 1px solid #f3b8bf;
  border-radius: 8px;
  background: #fff1f2;
  color: #9f1d2b;
  font-size: 0.82rem;
  font-weight: 600;
}

.admin-item-actions button[data-user-action]:hover {
  background: #E3F1EA;
  border-color: #064E3B;
  color: #064E3B;
}

.admin-item-actions button[data-user-action="delete"] {
  color: #9f1d2b;
  border-color: transparent;
}

.admin-item-actions button[data-user-action="delete"]:hover {
  background: #f8e5e7;
  border-color: #9f1d2b;
}

.admin-inline-form {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 12px;
  padding: 0 20px 16px;
  border-bottom: 1px solid #EEF1F4;
}

.admin-inline-form .admin-field {
  flex: 1 1 200px;
  margin: 0;
}

.admin-inline-form button {
  flex: 0 0 auto;
}

.admin-data-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 20px;
  border-top: 1px solid #E5E7EB;
  background: #E3F1EA;
  flex-wrap: wrap;
}

.admin-data-actions-label {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #475569;
}

.admin-data-actions-buttons {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.admin-action-btn {
  font: inherit;
  font-size: 0.76rem;
  font-weight: 600;
  padding: 7px 13px;
  border: 1px solid #E5E7EB;
  border-radius: 7px;
  background: #ffffff;
  color: #1A1A1A;
  cursor: pointer;
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
}

.admin-action-btn input[type="file"] {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.admin-action-btn:hover {
  background: #E3F1EA;
}

.admin-action-btn-danger {
  color: #9f1d2b;
  border-color: transparent;
}

.admin-action-btn-danger:hover {
  background: #f8e5e7;
  border-color: transparent;
}

@media (max-width: 920px) {
  .footer-inner {
    grid-template-columns: 1fr 1fr;
  }

  .footer-brand {
    grid-column: 1 / -1;
  }

  .site-header {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 8px;
  }

  .language-switcher {
    grid-area: 1 / 1;
    justify-self: start;
    position: relative;
    padding: 0;
    border: 0;
    background: transparent;
    z-index: 9999;
  }

  .brand {
    grid-area: 1 / 2;
    justify-self: center;
  }

  .nav-toggle {
    grid-area: 1 / 3;
    justify-self: end;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;

    z-index: 60;
  }

  .lang-trigger {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 36px;
    padding: 0 12px;
    border: 1px solid transparent;
    border-radius: 9px;
    background: transparent;
    color: #ffffff;
    cursor: pointer;
    font-family: 'Inter', "Segoe UI", Roboto, Arial, sans-serif;
    font-size: 0.8rem;
    font-weight: 800;
    -webkit-tap-highlight-color: transparent;
    transition: border-color 220ms ease, background-color 220ms ease, color 220ms ease;
    z-index: 10000;
  }

  body[data-page="home"].at-top .lang-trigger,
  body[data-page="products"].at-top .lang-trigger {
    border-color: transparent;
    background: transparent;
    color: #ffffff;
  }

  .lang-caret {
    width: 11px;
    height: 8px;
    transition: transform 240ms cubic-bezier(0.22, 1, 0.36, 1);
  }

  .language-switcher.is-open .lang-caret {
    transform: rotate(180deg);
  }

  .lang-menu {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 104px;
    padding: 6px;
    background: #ffffff;
    border: 1px solid #E5E7EB;
    border-radius: 12px;
    box-shadow: 0 16px 36px rgba(19, 26, 22, 0.16);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-8px) scale(0.97);
    transform-origin: top left;
    pointer-events: none;
    transition:
      opacity 220ms ease,
      transform 240ms cubic-bezier(0.22, 1, 0.36, 1),
      visibility 220ms ease;
    z-index: 10001;
  }

  body[data-page="home"].at-top .lang-menu,
  body[data-page="products"].at-top .lang-menu {
    border-color: rgba(255, 255, 255, 0.24);
    background: rgba(2, 44, 34, 0.96);
    box-shadow: 0 16px 36px rgba(2, 12, 9, 0.26);
  }

  .language-switcher.is-open .lang-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0) scale(1);
    pointer-events: auto;
  }

  .lang-menu .language-button {
    width: 100%;
    justify-content: flex-start;
    min-width: 0;
    min-height: 40px;
    padding: 0 12px;
    background: transparent;
    color: #0F172A;
    font-size: 0.82rem;
  }

  body[data-page="home"].at-top .lang-menu .language-button:not(.is-active):not([aria-current="page"]),
  body[data-page="products"].at-top .lang-menu .language-button:not(.is-active):not([aria-current="page"]) {
    background: transparent;
    color: rgba(255, 255, 255, 0.84);
  }

  .lang-menu .language-button.is-active,
  .lang-menu .language-button[aria-current="page"],
  body[data-page="home"].at-top .lang-menu .language-button.is-active,
  body[data-page="home"].at-top .lang-menu .language-button[aria-current="page"],
  body[data-page="products"].at-top .lang-menu .language-button.is-active,
  body[data-page="products"].at-top .lang-menu .language-button[aria-current="page"] {
    background: #ffffff;
    color: #022C22;
  }

  .site-nav {
    position: fixed;
    inset: 0;
    z-index: 45;
    width: 100vw;
    height: 100dvh;
    min-height: 100svh;
    display: flex !important;
    flex-direction: column;
    justify-content: center;
    padding: 100px clamp(24px, 6vw, 64px) 48px;

    background:
      linear-gradient(rgba(2, 44, 34, 0.82), rgba(2, 44, 34, 0.82)),
      url("assets/site/menu bar background.jpg") center / cover no-repeat,
      #022C22;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transform: translateY(-8px);
    transition:
      opacity 0.3s ease,
      visibility 0.3s ease,
      transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  }

  .site-nav.is-open {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
  }

  body[data-page="home"].at-top .site-nav.is-open,
  body[data-page="products"].at-top .site-nav.is-open {
    justify-content: flex-start;
    overflow-y: auto;
    padding-top: max(92px, calc(env(safe-area-inset-top) + 84px));
    padding-bottom: 36px;
  }

  .site-nav a {
    display: block;
    font-family: 'Playfair Display', Georgia, serif;
    font-size: clamp(2.2rem, 9vw, 3.2rem);
    font-weight: 400;
    letter-spacing: -0.02em;
    line-height: 1.08;
    color: rgba(255, 255, 255, 0.65);
    padding: 16px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    text-decoration: none;
    background: none;
    border-radius: 0;
    opacity: 0;
    transform: translateY(12px);
    transition:
      color 0.2s ease,
      opacity 0.3s ease,
      transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  }

  .site-nav a:last-child {
    border-bottom: none;
  }

  .site-nav.is-open a {
    opacity: 1;
    transform: translateY(0);
  }

  .site-nav.is-open a:nth-child(1) { transition-delay: 0.05s; }
  .site-nav.is-open a:nth-child(2) { transition-delay: 0.1s; }
  .site-nav.is-open a:nth-child(3) { transition-delay: 0.15s; }
  .site-nav.is-open a:nth-child(4) { transition-delay: 0.2s; }
  .site-nav.is-open a:nth-child(5) { transition-delay: 0.25s; }

  .site-nav a:hover,
  .site-nav a[aria-current="page"],
  .site-nav a:focus-visible {
    color: #ffffff;
    background: none;
  }

  .site-nav a::after {
    display: none !important;
  }

  .hero {
    min-height: 100svh;
  }

  .hero-layout {
    grid-template-columns: 1fr;
  }

  .hero-video-card {
    width: 100vw;
  }

  .stats-band,
  .news-grid,
  .catalog-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .news-card-featured {
    grid-column: span 2;
  }

  .admin-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .split-section,
  .poster-section,
  .quality-section,
  .contact-section,
  .admin-layout {
    grid-template-columns: 1fr;
  }

  .certificate-gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .story-scroll-section {
    min-height: auto;
    padding-bottom: 72px;
  }

  .story-sticky-shell {
    position: static;
    min-height: auto;
    grid-template-columns: 1fr;
    align-content: center;
    gap: 26px;
  }

  .story-copy {
    max-width: 780px;
  }

  .story-scroll-section .proof-panel {
    --axis-left: 121px;
    position: relative;
    top: auto;
    width: min(720px, 100%);
  }

  .story-scroll-section .proof-panel div {
    grid-template-columns: 88px 34px minmax(0, 1fr);
    transition: opacity 520ms ease, transform 520ms ease;
  }

  .admin-form-panel {
    position: static;
    border-right: none;
    border-bottom: 1px solid #E5E7EB;
  }
}

@media (max-width: 620px) {
  .site-header {
    justify-content: space-between;
    gap: 8px;
    padding: 9px 14px;
    min-height: 70px;
  }

  .brand span {
    display: none;
  }

  .brand-mark {
    height: 48px;
    max-width: 98px;
  }

  .certificate-gallery {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .certificate-card {
    max-width: 430px;
    width: 100%;
    margin-inline: auto;
  }

  .site-header .brand-mark {
    transform: none;
  }

  .site-header.is-detached {
    top: 10px;
    left: 14px;
    right: 14px;
    border-radius: 16px;
    box-shadow: 0 14px 42px rgba(19, 26, 22, 0.14);
  }

  .lang-menu .language-button {
    min-height: 38px;
    font-size: 0.78rem;
  }

  .hero {
    height: 100svh;
    min-height: 100svh;
    padding: 0;
    align-items: stretch;
  }

  .hero-content {
    width: min(360px, calc(100vw - 36px));
    padding: 92px 22px 28px;
  }

  .hero-layout {
    gap: 18px;
    height: 100svh;
    align-items: center;
  }

  .hero-video-card {
    width: 100vw;
  }

  .hero-overlay {
    background: rgba(4, 44, 40, 0.28);
    background-image: none;
  }

  .hero-video-card::after {
    background:
      linear-gradient(180deg, rgba(2, 44, 34, 0.22) 0%, rgba(2, 44, 34, 0.52) 42%, rgba(2, 20, 15, 0.74) 100%),
      linear-gradient(90deg, rgba(2, 20, 15, 0.54) 0%, rgba(2, 20, 15, 0.12) 100%);
  }

  .hero-video-card video {
    transform: translate(-50%, -50%) scale(1.32);
  }

  h1 {
    max-width: 100%;
    margin-bottom: 18px;
    font-size: 1.92rem;
    line-height: 1.08;
    word-break: break-word;
  }

  .hero .eyebrow {
    max-width: 100%;
    margin-bottom: 12px;
    font-size: 0.62rem;
    line-height: 1.45;
    overflow-wrap: anywhere;
  }

  .hero-copy {
    max-width: 100%;
    font-size: 1rem;
  }

  .button,
  .contact-section .button {
    width: 100%;
  }

  .hero-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: stretch;
    gap: 10px;
    width: 100%;
  }

  .hero-actions .button {
    min-height: 44px;
    border-radius: 8px;
    padding: 10px 12px;
    font-size: 0.8rem;
    line-height: 1.15;
    text-align: center;
  }

  .hero-actions .button-primary {
    grid-column: 1 / -1;
    background: rgba(255, 255, 255, 0.94);
    color: #022C22;
    box-shadow: 0 8px 18px rgba(2, 20, 15, 0.14);
  }

  .hero-actions .button-secondary {
    border-color: rgba(255, 255, 255, 0.42);
    background: rgba(255, 255, 255, 0.10);
  }

  .hero-actions .button-contact {
    background: rgba(216, 90, 48, 0.92);
    box-shadow: 0 7px 16px rgba(2, 20, 15, 0.16);
  }

  .news-grid,
  .catalog-grid,
  .admin-metrics,
  .form-field-row {
    grid-template-columns: 1fr;
  }

  .news-grid {
    align-items: start;
  }

  .news-card {
    height: auto;
    min-height: 0;
  }

  .news-card-featured {
    grid-column: span 1;
  }

  .news-card-body {
    flex: 0 0 auto;
  }

  .news-card-desc {
    max-height: 0;
    margin-top: 0;
    overflow: hidden;
    opacity: 0;
    transition: max-height 380ms ease, opacity 300ms ease, margin-top 380ms ease;
  }

  .news-card.is-open .news-card-desc {
    max-height: 600px;
    margin-top: 12px;
    opacity: 1;
  }

  .news-card-toggle {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 16px;
    border: 0;
    padding: 0;
    background: transparent;
    color: #064E3B;
    font-family: 'Inter', "Segoe UI", Roboto, Arial, sans-serif;
    font-size: 0.8rem;
    font-weight: 800;
    letter-spacing: 0.02em;
    cursor: pointer;
  }

  .news-card-toggle-icon {
    transition: transform 200ms ease;
  }

  .news-card.is-open .news-card-toggle-icon {
    transform: rotate(180deg);
  }

  .stats-band {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: 0;
  }

  .stats-band div {
    min-height: 124px;
    padding: 24px 32px;
    border-right: 0;
    border-bottom: 0;
  }

  .stats-band div:nth-child(odd) {
    border-right: 1px solid rgba(255, 255, 255, 0.16);
  }

  .stats-band div:nth-child(-n + 2) {
    border-bottom: 1px solid rgba(255, 255, 255, 0.16);
  }

  .stats-band strong {
    font-size: clamp(2rem, 9vw, 3rem);
  }

  .story-scroll-section {
    min-height: auto;
    padding-bottom: 72px;
  }

  .story-sticky-shell {
    display: contents;
  }

  .story-copy {
    width: min(720px, calc(100% - 24px));
    margin: 0 auto;
    padding-top: 40px;
  }

  .story-scroll-section .section-copy p,
  .story-scroll-section .section-copy > p:not(.eyebrow) {
    font-size: 0.95rem;
  }

  .story-scroll-section .proof-panel {
    --axis-left: 91px;
    --line-top: 36px;
    --line-bottom: 36px;
    position: relative;
    top: auto;
    width: min(720px, calc(100% - 24px));
    margin: 24px auto 0;
    padding: 4px 0 8px;
  }

  .story-scroll-section .proof-panel div {
    min-height: 72px;
    grid-template-columns: 66px 30px minmax(0, 1fr);
    gap: 10px;
    padding: 9px 0;
  }

  .story-scroll-section .proof-panel::before,
  .story-scroll-section .proof-panel::after {
    width: 3px;
  }

  .story-scroll-section .proof-panel div::before {
    width: 15px;
    height: 15px;
    border-width: 3px;
  }

  .story-scroll-section .proof-panel div::after {
    width: 28px;
    height: 28px;
  }

  .story-scroll-section .proof-panel strong {
    font-size: clamp(1.2rem, 7vw, 1.85rem);
  }

  .story-scroll-section .proof-panel span {
    width: 100%;
    padding: 11px 12px;
    font-size: 0.75rem;
    line-height: 1.32;
    overflow-wrap: anywhere;
  }

  .feature-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    width: 100%;
    margin-top: 24px;
    counter-reset: feature;
  }

  .feature-list span {
    min-width: 0;
    min-height: 70px;
    display: flex;
    align-items: flex-start;
    gap: 10px;
    border-color: rgba(6, 78, 59, 0.14);
    border-radius: 999px;
    padding: 12px 11px;
    background:
      linear-gradient(135deg, rgba(227, 241, 234, 0.92), rgba(255, 255, 255, 0.96));
    box-shadow: 0 10px 24px rgba(18, 33, 25, 0.08);
    color: #022C22;
    font-size: 0.76rem;
    line-height: 1.35;
    letter-spacing: 0.01em;
    overflow-wrap: anywhere;
  }

  .feature-list span::before {
    counter-increment: feature;
    content: "0" counter(feature);
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: #064E3B;
    color: #ffffff;
    font-size: 0.64rem;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0;
    box-shadow: 0 6px 12px rgba(6, 78, 59, 0.18);
  }

  .page-shell,
  .admin-shell {
    width: calc(100% - 24px);
    max-width: 1160px;
    padding-top: 72px;
  }

  .page-hero {
    padding: 26px 18px;
  }

  .page-hero h1 {
    max-width: 100%;
    font-size: 1.95rem;
    line-height: 1.08;
    overflow-wrap: anywhere;
  }

  .catalog-toolbar,
  .catalog-summary {
    display: grid;
    align-items: stretch;
  }

  .form-grid,
  .catalog-card dl,
  .contact-grid {
    grid-template-columns: 1fr;
  }

  .admin-item {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .admin-item-with-thumb {
    grid-template-columns: 58px minmax(0, 1fr);
  }

  .admin-item-with-chip {
    grid-template-columns: 10px minmax(0, 1fr);
  }

  .admin-item-thumb {
    width: 58px;
  }

  .admin-item-with-thumb .admin-item-actions,
  .admin-item-with-chip .admin-item-actions {
    grid-column: 1 / -1;
    justify-content: flex-end;
  }

  .admin-item-actions {
    flex-wrap: wrap;
  }

  .admin-field-row {
    grid-template-columns: 1fr;
  }

  .admin-catalog-header {
    flex-direction: column;
  }

  .stats-band div {
    text-align: left;
  }

  .poster-section,
  .product-section .poster-section {
    width: 100%;
    padding: 26px clamp(16px, 5vw, 22px);
    border-radius: 24px;
  }

  .poster-frame,
  .product-section .poster-frame {
    aspect-ratio: 4960 / 7018;
    height: auto;
    border-radius: 18px;
    padding: 0;
  }

  .product-section .poster-carousel {
    margin-inline: calc(clamp(16px, 5vw, 22px) * -1);
  }

  .poster-slide {
    inset: 0;
    width: 100%;
    height: 100%;
    border-radius: 17px;
  }

  .poster-controls {
    grid-template-columns: 42px minmax(0, 1fr) 42px;
    padding-inline: 2px;
  }

  .poster-arrow {
    width: 42px;
    height: 42px;
  }

  .catalogue-cta-inner {
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
  }

  .button-catalogue-big {
    width: 100%;
    justify-content: center;
  }

  .hero-actions {
    flex-direction: column;
    gap: 8px;
  }

  .button {
    min-height: 42px;
    padding: 9px 16px;
    font-size: 0.8rem;
  }

  .catalogue-strip {
    flex-direction: column;
    gap: 14px;
    align-items: flex-start;
    padding: 20px 22px;
  }

  .catalogue-strip p {
    flex: 0 0 auto;
    font-size: 16px;
  }

  .page-hero {
    padding: clamp(80px, 16vw, 120px) 18px clamp(32px, 6vw, 56px);
    gap: 18px;
  }

  .product-facts {
    gap: 8px;
  }

  .product-facts span {
    font-size: 0.72rem;
    padding: 6px 10px;
  }

  .footer-inner {
    grid-template-columns: 1fr;
    gap: 36px;
    padding: 44px clamp(18px, 4vw, 54px) 36px;
  }
}

@media (max-width: 380px) {
  .feature-list {
    grid-template-columns: 1fr;
  }

  .feature-list span {
    min-height: 56px;
  }
}

.admin-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 max(24px, calc((100vw - 1160px) / 2));
  height: 60px;
  background: #ffffff;
  border-bottom: 1px solid #E5E7EB;
}

.admin-header-brand {
  display: flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  color: #1A1A1A;
  font-size: 0.88rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.admin-header-brand .brand-mark {
  width: 30px;
  height: 30px;
  object-fit: contain;
}

.admin-header-actions {
  display: flex;
  align-items: center;
  gap: 14px;
}

.admin-header-link {
  color: #475569;
  font-size: 0.82rem;
  font-weight: 500;
  text-decoration: none;
}

.admin-header-link:hover {
  color: #1A1A1A;
}

.admin-logout-btn {
  font-size: 0.82rem;
}

.admin-tabs {
  display: flex;
  gap: 4px;
  padding: 4px;
  border-radius: 10px;
  background: #E3F1EA;
}

.admin-tab {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  border: none;
  border-radius: 7px;
  padding: 8px 16px;
  background: transparent;
  color: #475569;
  font: inherit;
  font-size: 0.84rem;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}

.admin-tab:hover {
  color: #1A1A1A;
}

.admin-tab.is-active {
  background: #ffffff;
  color: #064E3B;
  box-shadow: 0 1px 3px rgba(4, 44, 40, 0.12);
}

.admin-tab svg {
  flex-shrink: 0;
}

.admin-page-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  padding: 36px 0 28px;
  border-bottom: 1px solid #E5E7EB;
  margin-bottom: 32px;
}

.admin-page-header .eyebrow {
  color: #D85A30;
  margin-bottom: 6px;
}

.admin-page-title {
  font-size: clamp(1.8rem, 3.5vw, 2.6rem);
  margin: 0;
}

.admin-page-actions .button {
  gap: 8px;
}

.admin-lock {
  position: fixed;
  inset: 0;
  z-index: 200;
  display: grid;
  grid-template-columns: 1fr 1fr;
}

.admin-lock[hidden] {
  display: none;
}

.admin-lock-left {
  background: #022C22;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: clamp(32px, 5vw, 64px);
  color: #ffffff;
}

.admin-lock-brand {
  display: flex;
  align-items: center;
  gap: 14px;
}

.admin-lock-brand .brand-mark {
  width: 52px;
  height: 52px;
  object-fit: contain;
}

.admin-lock-brand strong {
  display: block;
  color: #ffffff;
  font-size: 1rem;
  font-weight: 700;
}

.admin-lock-brand small {
  display: block;
  color: rgba(255, 255, 255, 0.55);
  font-size: 0.78rem;
  font-weight: 500;
  margin-top: 2px;
}

.admin-lock-quote {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(1.3rem, 2.5vw, 2rem);
  font-weight: 400;
  color: rgba(255, 255, 255, 0.88);
  line-height: 1.45;
  border: none;
  padding: 0;
  margin: 0;
  max-width: 400px;
}

.admin-lock-back {
  color: rgba(255, 255, 255, 0.45);
  font-size: 0.82rem;
  text-decoration: none;
  transition: color 0.15s ease;
}

.admin-lock-back:hover {
  color: #ffffff;
}

.admin-lock-right {
  background: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: clamp(32px, 5vw, 64px);
}

.admin-lock-form-wrap {
  width: 100%;
  max-width: 360px;
}

.admin-lock-title {
  font-size: clamp(1.8rem, 3vw, 2.6rem);
  margin-bottom: 8px;
}

.admin-lock-desc {
  color: #475569;
  margin-bottom: 28px;
  font-size: 0.9rem;
}

.admin-lock-form-wrap form {
  display: grid;
  gap: 14px;
}

.admin-lock-submit {
  width: 100%;
  margin-top: 4px;
}

.admin-login-error {
  margin: 0;
  padding: 10px 14px;
  border-radius: 9px;
  background: #f8e5e7;
  color: #9f1d2b;
  font-size: 0.88rem;
  font-weight: 600;
}

.admin-users-add {
  padding: 22px 20px;
  border-top: 1px solid #E5E7EB;
  background: #E3F1EA;
}

.admin-users-add h3 {
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #475569;
  margin-bottom: 16px;
}

.admin-users-form {
  display: flex;
  gap: 12px;
  align-items: flex-end;
  flex-wrap: wrap;
}

.admin-users-form .admin-field {
  flex: 1 1 180px;
  margin-bottom: 0;
}

.admin-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 20px max(24px, calc((100vw - 1160px) / 2));
  border-top: 1px solid #E5E7EB;
  font-size: 0.76rem;
  color: #475569;
  background: #E3F1EA;
}

.admin-footer a {
  color: #475569;
  text-decoration: none;
}

.admin-footer a:hover {
  color: #1A1A1A;
}

.admin-drawer-backdrop {
  position: fixed;
  inset: 0;
  z-index: 150;
  background: rgba(4, 44, 40, 0.42);
  backdrop-filter: blur(2px);
  animation: adminFade 0.2s ease;
}

.admin-drawer-backdrop[hidden] {
  display: none;
}

@keyframes adminFade {
  from { opacity: 0; }
  to { opacity: 1; }
}

.admin-drawer {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 160;
  display: flex;
  flex-direction: column;
  width: min(440px, 100vw);
  height: 100%;
  background: #ffffff;
  box-shadow: -16px 0 48px rgba(4, 44, 40, 0.18);
  transform: translateX(100%);
  transition: transform 0.32s cubic-bezier(0.22, 1, 0.36, 1);
  overflow: hidden;
}

.admin-drawer-wide {
  width: min(620px, 100vw);
}

.admin-drawer.is-open {
  transform: translateX(0);
}

.admin-drawer-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 22px 24px;
  border-bottom: 1px solid #E5E7EB;
}

.admin-drawer-head h2 {
  font-size: 1.15rem;
  font-weight: 700;
  margin-bottom: 3px;
}

.admin-drawer-head p {
  color: #475569;
  font-size: 0.82rem;
  margin-bottom: 0;
}

.admin-drawer-close {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border: none;
  border-radius: 8px;
  background: #E3F1EA;
  color: #1A1A1A;
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease;
}

.admin-drawer-close:hover {
  background: #f8e5e7;
  color: #9f1d2b;
}

.admin-drawer-body {
  flex: 1;
  overflow-y: auto;
  padding: 22px 24px;
}

.admin-drawer-foot {
  display: flex;
  gap: 10px;
  margin-top: 8px;
  padding-top: 18px;
  border-top: 1px solid #E5E7EB;
}

.admin-drawer-foot .button {
  flex: 1;
}

.button-ghost {
  background: transparent;
  border-color: #E5E7EB;
  color: #1A1A1A;
}

.button-ghost:hover {
  background: #E3F1EA;
  border-color: #064E3B;
  color: #064E3B;
}

body.admin-no-scroll {
  overflow: hidden;
}

@media (max-width: 780px) {
  .admin-tab {
    padding: 8px 11px;
  }

  .admin-tab span {
    display: none;
  }

  .admin-header-link {
    display: none;
  }
}

@media (max-width: 600px) {
  .admin-lock {
    grid-template-columns: 1fr;
    grid-template-rows: auto minmax(0, 1fr);
    overflow-y: auto;
    background: #ffffff;
  }

  .admin-lock-left {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 18px;
    width: 100vw;
    max-width: 100%;
    padding: max(20px, env(safe-area-inset-top)) 24px 20px;
  }

  .admin-lock-brand {
    min-width: 0;
  }

  .admin-lock-brand .brand-mark {
    width: 46px;
    height: 46px;
  }

  .admin-lock-quote {
    display: none;
  }

  .admin-lock-back {
    justify-self: end;
    flex-shrink: 0;
    color: rgba(255, 255, 255, 0.68);
    white-space: nowrap;
  }

  .admin-lock-right {
    align-items: flex-start;
    justify-content: stretch;
    width: 100vw;
    max-width: 100%;
    padding: 32px 24px max(40px, env(safe-area-inset-bottom));
  }

  .admin-lock-form-wrap {
    min-width: 0;
    width: min(100%, calc(100vw - 48px));
    max-width: none;
  }

  .admin-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .admin-page-header {
    flex-wrap: wrap;
    gap: 16px;
  }

  .admin-page-actions,
  .admin-page-actions .button {
    width: 100%;
  }

  .admin-drawer {
    width: 100vw;
  }
}

.footer-admin-trigger {
  border: 0;
  padding: 0;
  background: transparent;
  color: rgba(255, 255, 255, 0.28);
  cursor: default;
  font: inherit;
  font-size: 0.74rem;
  letter-spacing: 0.04em;
}

@media (min-width: 921px) and (hover: hover) and (pointer: fine) {
  .site-nav a,
  .language-button,
  .button,
  .button-catalogue-big,
  .brand-family,
  .news-card,
  .catalog-card,
  .admin-item,
  .admin-metrics div,
  .proof-panel div,
  .cert-list li,
  .feature-list span,
  .flavor-row span,
  .product-facts span,
  .contact-card,
  .quality-visual,
  .catalog-toolbar,
  .catalog-summary,
  .catalogue-strip,
  .catalogue-cta-inner,
  .hero-video-card,
  .poster-section,
  .poster-arrow,
  .poster-dot,
  .admin-item-actions button,
  .admin-action-btn,
  .admin-header-link,
  .admin-lock-back,
  .footer-links a,
  .footer-address a,
  .site-footer a,
  input,
  select,
  textarea {
    transition:
      transform 220ms ease,
      box-shadow 220ms ease,
      border-color 220ms ease,
      background-color 220ms ease,
      color 220ms ease,
      opacity 220ms ease;
  }

  .site-nav a {
    position: relative;
  }

  .site-nav a::after {
    position: absolute;
    right: 14px;
    bottom: 7px;
    left: 14px;
    height: 2px;
    border-radius: 999px;
    background: #D85A30;
    content: "";
    opacity: 0;
    transform: scaleX(0.25);
    transform-origin: center;
    transition:
      opacity 220ms ease,
      transform 220ms ease;
  }

  .site-nav a:hover {
    transform: translateY(-2px);
    box-shadow: inset 0 0 0 1px rgba(31, 81, 50, 0.08);
  }

  .site-nav a:hover::after,
  .site-nav a[aria-current="page"]::after {
    opacity: 1;
    transform: scaleX(1);
  }

  .language-button:hover {
    transform: translateY(-1px);
  }

  .button:hover,
  .button-catalogue-big:hover,
  .admin-item-actions button:hover,
  .admin-logout:hover {
    transform: translateY(-3px);
    box-shadow: 0 16px 34px rgba(18, 33, 25, 0.16);
  }

  .button-primary:hover {
    box-shadow: 0 18px 42px rgba(31, 81, 50, 0.3);
  }

  .button-secondary:hover {
    border-color: rgba(255, 255, 255, 0.7);
  }

  .brand-family:hover,
  .news-card:hover,
  .catalog-card:hover,
  .admin-item:hover,
  .admin-metrics div:hover,
  .proof-panel div:hover,
  .cert-list li:hover,
  .catalog-toolbar:hover,
  .catalog-summary:hover,
  .catalogue-strip:hover,
  .catalogue-cta-inner:hover,
  .admin-panel:hover,
  .poster-section:hover,
  .quality-visual:hover {
    border-color: rgba(31, 81, 50, 0.34);
    box-shadow: 0 24px 58px rgba(18, 33, 25, 0.13);
    transform: translateY(-4px);
  }

  .catalog-card:hover .catalog-card-top span,
  .admin-item:hover .admin-item-top span {
    color: #b84520;
  }

  .catalog-card:hover h2,
  .admin-item:hover h3,
  .cert-list li:hover strong {
    color: #022C22;
  }

  .feature-list span:hover,
  .flavor-row span:hover,
  .product-facts span:hover {
    background: #064E3B;
    color: #ffffff;
    transform: translateY(-2px);
    box-shadow: 0 10px 22px rgba(31, 81, 50, 0.18);
  }

  .contact-card:hover {
    border-color: rgba(246, 223, 182, 0.55);
    background: rgba(255, 255, 255, 0.14);
    transform: translateY(-3px);
  }

  .stats-band div {
    transition:
      background-color 220ms ease,
      box-shadow 220ms ease,
      transform 220ms ease;
  }

  .stats-band div:hover {
    z-index: 1;
    background: #E1F5EE;
    box-shadow: 0 18px 42px rgba(18, 33, 25, 0.12);
    transform: translateY(-3px);
  }

  input:hover,
  select:hover,
  textarea:hover {
    border-color: rgba(31, 81, 50, 0.4);
    box-shadow: 0 8px 22px rgba(18, 33, 25, 0.07);
  }

  input:focus,
  select:focus,
  textarea:focus {
    border-color: #064E3B;
    box-shadow: 0 0 0 4px rgba(31, 81, 50, 0.12);
    outline: none;
  }

  .site-footer a:hover {
    display: inline-flex;
    opacity: 1;
    transform: translateY(-2px);
  }
}

.catalog-search {
  flex: 1 1 340px;
}

.catalog-toolbar .catalog-summary {
  flex: 0 0 auto;
  gap: 16px;
  align-items: baseline;
  padding: 0;
  margin: 0 0 4px;
  background: none;
  border: 0;
}

.cat-filter {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0 0 30px;
}

.cat-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: auto;
  border: 1.5px solid #E5E7EB;
  border-radius: 999px;
  padding: 9px 15px;
  background: #ffffff;
  color: #1A1A1A;
  font-family: 'Inter', "Segoe UI", Roboto, Arial, sans-serif;
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  cursor: pointer;
  transition: background 200ms ease, border-color 200ms ease, color 200ms ease, transform 200ms ease, box-shadow 200ms ease;
}

.cat-pill:hover {
  border-color: #064E3B;
  color: #064E3B;
  transform: translateY(-2px);
  box-shadow: 0 10px 22px rgba(19, 26, 22, 0.10);
}

.cat-pill.is-active {
  background: #064E3B;
  border-color: #064E3B;
  color: #ffffff;
}

.cat-pill-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 22px;
  padding: 2px 7px;
  border-radius: 999px;
  background: #E1F5EE;
  color: #064E3B;
  font-size: 0.7rem;
  font-weight: 800;
}

.cat-pill.is-active .cat-pill-num {
  background: rgba(255, 255, 255, 0.24);
  color: #ffffff;
}

.product-board {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(290px, 1fr));
  gap: 24px;
}

.pcard {
  position: relative;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid #E5E7EB;
  border-radius: var(--image-radius-md);
  background: #ffffff;
  box-shadow: 0 12px 32px rgba(19, 26, 22, 0.06);
  transition: transform 260ms cubic-bezier(0.22, 1, 0.36, 1), box-shadow 260ms ease, border-color 260ms ease;
}

.pcard:hover {
  transform: translateY(-6px);
  border-color: #064E3B;
  box-shadow: 0 28px 54px rgba(19, 26, 22, 0.15);
}

.pcard-media {
  position: relative;
  display: grid;
  place-items: center;
  height: 230px;
  padding: 26px 22px 22px;
  background: linear-gradient(165deg, #E1F5EE 0%, #ffffff 80%);
  border-bottom: 1px solid #E5E7EB;
}

.pcard-media::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 5px;
  background: #064E3B;
}

.pcard-media img {
  max-height: 100%;
  width: auto;
  max-width: 100%;
  object-fit: contain;
  transition: transform 380ms cubic-bezier(0.22, 1, 0.36, 1);
}

.pcard:hover .pcard-media img {
  transform: scale(1.05);
}

.pcard-kicker {
  position: absolute;
  top: 15px;
  left: 15px;
  padding: 5px 11px;
  border-radius: 999px;
  background: #064E3B;
  color: #ffffff;
  font-family: 'Inter', "Segoe UI", Roboto, Arial, sans-serif;
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.pcard-badge {
  position: absolute;
  top: 15px;
  right: 15px;
  padding: 5px 11px;
  border-radius: 999px;
  background: #ffffff;
  border: 1px solid #064E3B;
  color: #064E3B;
  font-family: 'Inter', "Segoe UI", Roboto, Arial, sans-serif;
  font-size: 0.6rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.pcard-body {
  display: flex;
  flex-direction: column;
  gap: 12px;
  flex: 1 1 auto;
  padding: 20px 22px 24px;
}

.pcard-titles {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
}

.pcard-name {
  margin: 0;
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.1;
  letter-spacing: -0.01em;
  color: #022C22;
}

.pcard-volume {
  flex-shrink: 0;
  font-size: 0.74rem;
  font-weight: 700;
  color: #475569;
  white-space: nowrap;
}

.pcard-desc {
  margin: 0;
  color: #475569;
  font-size: 0.9rem;
  line-height: 1.55;
}

.pcard-flavors {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: auto;
  padding-top: 4px;
}

.pcard-flavor {
  padding: 4px 11px;
  border-radius: 999px;
  background: #E1F5EE;
  color: #064E3B;
  font-size: 0.72rem;
  font-weight: 600;
  white-space: nowrap;
}

.pcard-flavor-more {
  background: transparent;
  color: #475569;
  border: 1px dashed #E5E7EB;
}

@media (max-width: 620px) {
  .product-board {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .catalog-toolbar .catalog-summary {
    margin-bottom: 0;
  }

  .pcard-media {
    height: 210px;
  }

  .cat-filter {
    gap: 8px;
    margin-bottom: 24px;
  }

  .cat-pill {
    font-size: 0.8rem;
    padding: 8px 13px;
  }
}

.markets-section{display:grid;grid-template-columns:minmax(0,0.8fr) minmax(0,1.2fr);gap:2.5rem;align-items:center;}
.markets-map{width:100%;margin:0;border-radius:var(--image-radius-lg);overflow:hidden;background:#F1F8F4;}
.markets-copy h2 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(2.25rem, 4.1vw, 4.2rem);
  font-weight: 400;
  line-height: 0.96;
  letter-spacing: -0.045em;
}
.quality-section-combined.markets-section{
  grid-template-columns:minmax(280px,0.82fr) minmax(0,1.18fr);
  column-gap:clamp(32px,6vw,72px);
  row-gap:clamp(34px,6vw,76px);
}

.quality-section-combined .markets-copy {
  align-self: start;
}

.markets-list-label{margin:1.4rem 0 .7rem;color:#064E3B;font-family:'Inter', "Segoe UI", Roboto, Arial, sans-serif;font-size:.70rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;}
.markets-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.55rem;}
.markets-list li{position:relative;padding-left:1.15rem;color:#1A1A1A;font-size:1.05rem;line-height:1.3;}
.markets-list li::before{content:"";position:absolute;left:0;top:.55em;width:7px;height:7px;border-radius:50%;background:#064E3B;}
@media (max-width:820px){
  .markets-section{grid-template-columns:1fr;gap:1.75rem;}
  .quality-section-combined.markets-section{grid-template-columns:1fr;gap:1.75rem;}
  .markets-map{max-width:760px;margin:0 auto;}
}

.emap {
  display: block;
  margin: 0;
  background: transparent;
  border-radius: var(--image-radius-lg);
  overflow: hidden;
}

.emap__svg {
  display: block;
  width: 100%;
  height: auto;
  border-radius: inherit;
  transform-origin: center center;
}

@media (min-width: 821px) {
  .markets-map {
    aspect-ratio: 1.64;
  }

  .emap {
    height: 100%;
  }

  .emap__svg {
    width: 140%;
    max-width: none;
    height: auto;
    transform: translate(-12%, -24%);
  }
}

@media (max-width: 620px) {
  .markets-map {
    aspect-ratio: 1.15;
  }

  .emap,
  .emap__svg {
    height: 100%;
  }

  .emap__svg {
    width: 148%;
    max-width: none;
    transform: translateX(-16%) scale(1.4);
  }
}

.emap__land {
  fill: #d8d8d8;
  stroke: none;
}

.emap__dot {
  fill: #006b2e;
  transform-box: fill-box;
  transform-origin: center;
}

.emap__dot-ring {
  fill: none;
  stroke: #D85A30;
  stroke-width: 1.45;
  opacity: 0;
  transform-box: fill-box;
  transform-origin: center;
}

.emap__dot-kazakhstan {
  fill: #D85A30;
}

.emap__pulse {
  fill: #006b2e;
  transform-box: fill-box;
  transform-origin: center;
  opacity: 0;
}

.emap__label {
  fill: #173424;
  font-size: 9px;
  font-weight: 600;
  font-family: inherit;
  letter-spacing: 0.2px;
  paint-order: stroke;
  stroke: #F1F8F4;
  stroke-width: 2.1px;
  stroke-linejoin: round;
  pointer-events: none;
  opacity: 0;
}

.emap__label-src {
  fill: #006b2e;
  font-weight: 700;
}

.emap.is-connected .emap__label {
  animation: emap-label-in 0.5s ease forwards;
  animation-delay: 1.1s;
}

.emap__route {
  stroke: #b8b8b8;
  stroke-width: 1.2;
  stroke-linecap: round;
  fill: none;
}

.emap__route-kazakhstan {
  stroke: #D85A30;
}

.emap__routes {
  display: none;
}

.emap.is-connected .emap__routes {
  display: block;
}

.emap.is-connected .emap__route {
  stroke-dasharray: 1;
  stroke-dashoffset: 1;
  animation: emap-draw 1s cubic-bezier(0.22, 1, 0.36, 1) forwards;
  animation-delay: 0s;
}

.emap.is-connected .emap__dot-dest {
  opacity: 0;
  animation: emap-pop 0.5s cubic-bezier(0.22, 1, 0.36, 1) forwards;
  animation-delay: 0.85s;
}

.emap.is-connected .emap__dot-ring {
  animation: emap-ring-pop 0.65s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

.emap.is-connected .emap__pulse {
  animation: emap-pulse 2.4s ease-out infinite;
}

@keyframes emap-draw {
  to { stroke-dashoffset: 0; }
}

@keyframes emap-pop {
  0%   { opacity: 0; transform: scale(0.2); }
  60%  { opacity: 1; transform: scale(1.35); }
  100% { opacity: 1; transform: scale(1); }
}

@keyframes emap-ring-pop {
  0%   { opacity: 0; transform: scale(0.35); }
  65%  { opacity: 0.9; transform: scale(1.18); }
  100% { opacity: 0.9; transform: scale(1); }
}

@keyframes emap-pulse {
  0%   { opacity: 0.55; transform: scale(1); }
  70%  { opacity: 0;    transform: scale(2.6); }
  100% { opacity: 0;    transform: scale(2.6); }
}

@keyframes emap-label-in {
  from { opacity: 0; }
  to   { opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.001ms !important;
  }

  .motion-reveal,
  .motion-reveal.is-visible {
    opacity: 1;
    transform: none;
    filter: none;
  }

  .hero-content {
    transform: none;
    opacity: 1;
    will-change: auto;
  }

  .hero-video-card video {
    transform: translate(-50%, -50%) scale(1.36);
    will-change: auto;
  }

  .story-scroll-section {
    min-height: auto;
  }

  .story-sticky-shell {
    position: static;
    min-height: auto;
  }

  .story-scroll-section .proof-panel {
    position: relative;
    top: auto;
  }

  .story-scroll-section,
  .story-scroll-section.is-enhanced {
    --story-progress: 1;
  }

  .story-scroll-section.is-enhanced .proof-panel div,
  .story-scroll-section .proof-panel div,
  .story-scroll-section .proof-panel div::before,
  .story-scroll-section .proof-panel div::after,
  .story-scroll-section .proof-panel strong,
  .story-scroll-section .proof-panel span {
    transition: none;
    transform: none;
  }

  .story-scroll-section.is-enhanced .proof-panel div {
    opacity: 1;
  }

  .emap.is-connected .emap__route {
    animation: none;
    stroke-dashoffset: 0;
  }
  .emap.is-connected .emap__dot-dest {
    animation: none;
    opacity: 1;
  }
  .emap.is-connected .emap__dot-ring {
    animation: none;
    opacity: 0.9;
  }
  .emap.is-connected .emap__pulse {
    animation: none;
    opacity: 0;
  }
  .emap.is-connected .emap__label {
    animation: none;
    opacity: 1;
  }
}

/* ============ Animated brand landing ============ */
.brand-hero {
  position: relative;
  min-height: 100svh;
  display: grid;
  place-items: center;
  overflow: hidden;
  isolation: isolate;
  padding: clamp(96px, 15vh, 168px) 24px clamp(64px, 10vh, 112px);
  text-align: center;
  color: #ffffff;
}

.brand-hero-bg {
  position: absolute;
  inset: 0;
  z-index: -2;
  background: #3D6B45;
}

.brand-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  opacity: 0.5;
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='130'%20height='130'%20viewBox='0%200%20130%20130'%3E%3Cg%20fill='none'%20stroke='white'%20stroke-opacity='0.08'%20stroke-width='1.3'%3E%3Cpath%20d='M22%2065%20Q44%2043%2066%2065%20Q44%2087%2022%2065%20Z'/%3E%3Cpath%20d='M65%2022%20Q87%2044%2065%2066%20Q43%2044%2065%2022%20Z'/%3E%3C/g%3E%3Cg%20fill='white'%20fill-opacity='0.06'%3E%3Ccircle%20cx='102'%20cy='102'%20r='3'/%3E%3Ccircle%20cx='112'%20cy='28'%20r='2'/%3E%3Ccircle%20cx='28'%20cy='112'%20r='2'/%3E%3C/g%3E%3C/svg%3E");
  background-repeat: repeat;
  background-size: 150px 150px;
  animation: brandPatternDrift 40s linear infinite;
}

@keyframes brandPatternDrift {
  to { background-position: 150px 150px; }
}

.brand-hero-inner {
  display: grid;
  justify-items: center;
  gap: clamp(14px, 2.4vh, 24px);
  width: min(760px, 100%);
}

.brand-logo-stage {
  position: relative;
  width: clamp(190px, 30vw, 300px);
  aspect-ratio: 1 / 1;
  display: grid;
  place-items: center;
  animation: brandLogoFloat 6s ease-in-out 1.1s infinite;
}

.brand-logo-mark {
  position: relative;
  z-index: 2;
  width: 100%;
  height: auto;
  filter: drop-shadow(0 18px 40px rgba(0, 0, 0, 0.45));
  animation: brandLogoIn 1.1s cubic-bezier(0.2, 0.7, 0.2, 1) both;
}

.brand-logo-glow {
  position: absolute;
  inset: -14%;
  z-index: 0;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 255, 255, 0.22), transparent 65%);
  filter: blur(18px);
  animation: brandGlowPulse 4.5s ease-in-out infinite;
}

.brand-logo-ring {
  position: absolute;
  inset: -6%;
  z-index: 1;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.22);
  animation: brandRingPulse 4.5s ease-out infinite;
}

@keyframes brandLogoIn {
  from { opacity: 0; transform: translateY(24px) scale(0.7) rotate(-8deg); }
  to   { opacity: 1; transform: translateY(0) scale(1) rotate(0); }
}
@keyframes brandLogoFloat {
  0%, 100% { transform: translateY(0) rotate(-1.6deg); }
  50%      { transform: translateY(-14px) rotate(1.6deg); }
}
@keyframes brandGlowPulse {
  0%, 100% { opacity: 0.5; transform: scale(0.95); }
  50%      { opacity: 0.9; transform: scale(1.06); }
}
@keyframes brandRingPulse {
  0%   { opacity: 0.5; transform: scale(0.9); }
  70%  { opacity: 0; transform: scale(1.35); }
  100% { opacity: 0; transform: scale(1.35); }
}

.brand-hero-eyebrow {
  margin: 0;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.7);
}

.brand-wordmark {
  margin: 0;
  display: flex;
  gap: 0.02em;
  font-family: 'Inter', "Segoe UI", Roboto, Arial, sans-serif;
  font-weight: 800;
  font-size: clamp(2.6rem, 8.4vw, 4.9rem);
  line-height: 1;
  letter-spacing: 0.04em;
  text-indent: 0.04em;
}

.brand-wordmark span {
  display: inline-block;
  opacity: 0;
  animation:
    brandLetterIn 0.6s cubic-bezier(0.2, 0.7, 0.2, 1) both,
    brandLetterWave 3.2s ease-in-out infinite;
  animation-delay: 0.50s, 1.60s;
}
.brand-wordmark .wm-sp { width: 0.3em; }
.brand-wordmark span:nth-child(1) { animation-delay: 0.50s, 1.60s; }
.brand-wordmark span:nth-child(2) { animation-delay: 0.58s, 1.69s; }
.brand-wordmark span:nth-child(3) { animation-delay: 0.66s, 1.78s; }
.brand-wordmark span:nth-child(4) { animation-delay: 0.74s, 1.87s; }
.brand-wordmark span:nth-child(5) { animation-delay: 0.82s, 1.96s; }
.brand-wordmark span:nth-child(6) { animation-delay: 0.90s, 2.05s; }
.brand-wordmark span:nth-child(7) { animation-delay: 0.98s, 2.14s; }

@keyframes brandLetterIn {
  from { opacity: 0; transform: translateY(18px); }
  to   { opacity: 1; transform: none; }
}
@keyframes brandLetterWave {
  0%, 100% { transform: translateY(0); }
  50%      { transform: translateY(-7px); }
}

.brand-hero-tagline {
  margin: 0;
  max-width: 32ch;
  font-size: clamp(1rem, 2.4vw, 1.24rem);
  color: rgba(255, 255, 255, 0.86);
}

.brand-hero-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  margin-top: 4px;
}

.brand-hero-products {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 18px;
  margin-top: 12px;
}

.brand-mini-card {
  display: flex;
  align-items: center;
  gap: 15px;
  min-width: 250px;
  padding: 12px 22px 12px 12px;
  border-radius: 18px;
  border: 1px solid rgba(255, 255, 255, 0.28);
  background: rgba(255, 255, 255, 0.13);
  color: #ffffff;
  text-decoration: none;
  box-shadow: 0 16px 34px rgba(3, 24, 16, 0.20);
  transition: transform 0.25s ease, background 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}
.brand-mini-card:hover {
  transform: translateY(-3px);
  background: rgba(255, 255, 255, 0.18);
  border-color: rgba(255, 255, 255, 0.42);
  box-shadow: 0 20px 42px rgba(3, 24, 16, 0.26);
}
.brand-mini-logo {
  flex: 0 0 auto;
  width: 76px;
  height: 76px;
  border-radius: 15px;
  overflow: hidden;
  background: #ffffff;
  padding: 6px;
  display: grid;
  place-items: center;
  box-shadow:
    0 10px 24px rgba(0, 0, 0, 0.28),
    inset 0 0 0 1px rgba(2, 44, 34, 0.06);
}
.brand-mini-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.brand-mini-text {
  display: flex;
  flex-direction: column;
  line-height: 1.25;
  text-align: left;
}
.brand-mini-text strong { font-size: 1.08rem; }
.brand-mini-text small {
  font-size: 0.75rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.82);
}

.brand-hero-scroll {
  position: absolute;
  bottom: 22px;
  left: 50%;
  transform: translateX(-50%);
  width: 26px;
  height: 42px;
  border: 2px solid rgba(255, 255, 255, 0.4);
  border-radius: 14px;
  display: grid;
  justify-items: center;
  padding-top: 7px;
}
.brand-hero-scroll span {
  width: 4px;
  height: 8px;
  border-radius: 2px;
  background: #ffffff;
  animation: brandScrollDot 1.6s ease-in-out infinite;
}
@keyframes brandScrollDot {
  0%   { opacity: 0; transform: translateY(-4px); }
  40%  { opacity: 1; }
  100% { opacity: 0; transform: translateY(10px); }
}

.brand-hero-eyebrow,
.brand-hero-tagline,
.brand-hero-actions,
.brand-hero-products {
  opacity: 0;
  animation: brandFadeUp 0.7s ease both;
}
.brand-hero-eyebrow  { animation-delay: 0.15s; }
.brand-hero-tagline  { animation-delay: 1.15s; }
.brand-hero-actions  { animation-delay: 1.35s; }
.brand-hero-products { animation-delay: 1.55s; }

@keyframes brandFadeUp {
  from { opacity: 0; transform: translateY(16px); }
  to   { opacity: 1; transform: none; }
}

@media (max-width: 640px) {
  .brand-hero-products { width: 100%; }
  .brand-mini-card {
    flex: 1 1 100%;
    justify-content: flex-start;
    min-width: 0;
    max-width: 360px;
  }
  .brand-mini-logo {
    width: 68px;
    height: 68px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .brand-hero::after,
  .brand-logo-stage,
  .brand-logo-mark,
  .brand-logo-glow,
  .brand-logo-ring,
  .brand-wordmark span,
  .brand-hero-eyebrow,
  .brand-hero-tagline,
  .brand-hero-actions,
  .brand-hero-products,
  .brand-hero-scroll span {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
  .brand-hero-scroll { transform: translateX(-50%) !important; }
}

/* ============ Boxed (moved-down) video hero ============ */
.hero.hero-boxed {
  min-height: 0;
  height: auto;
  display: block;
  align-items: stretch;
  padding: clamp(48px, 8vw, 96px) clamp(20px, 5vw, 64px);
  background: linear-gradient(160deg, #022C22 0%, #064E3B 100%);
}
.hero-boxed .hero-media,
.hero-boxed .hero-overlay {
  display: none;
}
.hero-boxed .hero-layout {
  min-height: 0;
  height: auto;
  max-width: 1180px;
  margin: 0 auto;
  grid-template-columns: 1fr 1fr;
  gap: clamp(28px, 4vw, 60px);
  align-items: center;
}
.hero-boxed .hero-content {
  width: auto;
  padding: 0;
  transform: none;
  opacity: 1;
}
.hero-boxed .hero-video-card {
  position: relative;
  top: auto;
  bottom: auto;
  left: auto;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 10;
  border-radius: 22px;
  box-shadow: 0 30px 60px rgba(0, 0, 0, 0.35);
  transform: none;
}
.hero-boxed .hero-video-card::after {
  background: linear-gradient(0deg, rgba(2, 20, 15, 0.28) 0%, transparent 52%);
}
.hero-boxed .hero-video-card video {
  position: absolute;
  inset: 0;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transform: none;
}

@media (max-width: 820px) {
  .hero-boxed .hero-layout { grid-template-columns: 1fr; }
  .hero-boxed .hero-content { width: min(560px, 100%); }
}

/* ============================================================
   Landing redesign — palette, logo-reveal intro, editorial hero
   ============================================================ */
:root {
  --ink: #16281f;
  --ink-soft: #4c5c53;
  --brand: #3D6B45;
  --brand-deep: #123D2E;
  --brand-bright: #0B6B4F;
  --accent: #D85A30;
  --surface: #FBFAF5;
  --surface-warm: #F1ECE1;
  --hairline: rgba(18, 40, 30, 0.12);
}

/* Logo-only landing: the brand animation, scroll to reveal the site */
.logo-landing {
  position: relative;
  min-height: 100svh;
  display: grid;
  place-items: center;
  padding: clamp(72px, 11vh, 132px) 24px;
  background: radial-gradient(125% 95% at 50% 42%, #f3f3f4 0%, #e7e8ea 60%, #dbdce0 100%);
  overflow: hidden;
}
.logo-landing-stage {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.logo-landing-video {
  width: min(540px, 82vw);
  height: auto;
  display: block;
  -webkit-mask-image: radial-gradient(ellipse 62% 60% at 50% 50%, #000 54%, transparent 84%);
  mask-image: radial-gradient(ellipse 62% 60% at 50% 50%, #000 54%, transparent 84%);
}
.logo-landing-name {
  margin: max(-20px, -3.2vw) 0 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.logo-landing-name strong {
  font-family: 'Inter', "Segoe UI", Roboto, Arial, sans-serif;
  font-weight: 700;
  font-size: clamp(2.05rem, 4vw, 3.35rem);
  letter-spacing: 0.08em;
  line-height: 1;
  color: #123D2E;
}
.logo-landing-name span {
  font-family: 'Inter', "Segoe UI", Roboto, Arial, sans-serif;
  text-transform: uppercase;
  color: #4c5c53;
}

.logo-landing-type {
  margin-top: clamp(12px, 1.3vw, 16px);
  font-size: clamp(0.66rem, 1vw, 0.78rem);
  font-weight: 700;
  letter-spacing: 0.18em;
  line-height: 1.2;
}

.logo-landing-year {
  margin-top: clamp(8px, 0.9vw, 12px);
  font-size: clamp(0.74rem, 1.1vw, 0.92rem);
  font-weight: 700;
  letter-spacing: 0.14em;
  line-height: 1;
}
.logo-landing-cue {
  position: absolute;
  left: 50%;
  bottom: clamp(24px, 5vh, 44px);
  transform: translateX(-50%);
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 7px;
  color: #123D2E;
  text-decoration: none;
  opacity: 0.7;
  transition: opacity 200ms ease;
}
.logo-landing-cue:hover,
.logo-landing-cue:focus-visible { opacity: 1; }
.logo-landing-cue span {
  font-family: 'Inter', "Segoe UI", Roboto, Arial, sans-serif;
  font-size: 0.66rem;
  font-weight: 700;
  letter-spacing: 0.24em;
  text-transform: uppercase;
}
.logo-landing-cue svg { width: 22px; height: 22px; }
@media (prefers-reduced-motion: no-preference) {
  .logo-landing-cue svg { animation: cueBob 1.8s ease-in-out infinite; }
}
@keyframes cueBob {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(5px); }
}

/* Home: header sits out on the logo landing, slides in once you scroll */
body[data-page="home"] .site-header {
  transition:
    transform 420ms cubic-bezier(0.22, 1, 0.36, 1),
    opacity 300ms ease,
    box-shadow 300ms ease,
    border-color 300ms ease;
}
body[data-page="home"].at-top:not(.landing-ready) .site-header {
  transform: translateY(-100%);
  opacity: 0;
  pointer-events: none;
}

/* Editorial hero */
.hero-intro {
  position: relative;
  min-height: 100svh;
  display: flex;
  align-items: center;
  padding: clamp(104px, 14vh, 168px) clamp(20px, 5vw, 64px) clamp(56px, 8vh, 96px);
  background: var(--surface);
  color: var(--ink);
  overflow: hidden;
}
.hero-intro::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(115% 78% at 100% 0%, var(--surface-warm), transparent 56%);
  pointer-events: none;
}
.hero-intro-inner {
  position: relative;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: clamp(32px, 5vw, 72px);
  align-items: center;
}
.hero-intro-copy { min-width: 0; max-width: 620px; }

.hero-kicker {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 clamp(18px, 3vh, 28px);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--brand-deep);
}
.hero-kicker::before {
  content: "";
  width: 22px;
  height: 2px;
  border-radius: 2px;
  background: var(--accent);
}
.hero-title {
  margin: 0 0 clamp(18px, 3vh, 26px);
  max-width: 15ch;
  font-family: 'Playfair Display', Georgia, serif;
  font-weight: 500;
  font-size: clamp(2.25rem, 4.5vw, 3.85rem);
  line-height: 1.04;
  letter-spacing: -0.02em;
  color: var(--brand-deep);
  text-wrap: balance;
}
.hero-title em { font-style: italic; color: var(--brand-bright); }
.hero-lead {
  margin: 0 0 clamp(26px, 4vh, 36px);
  max-width: 52ch;
  font-size: clamp(1.02rem, 1.2vw, 1.15rem);
  line-height: 1.62;
  color: var(--ink-soft);
}
.hero-ctas {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 0 0 clamp(30px, 5vh, 44px);
}
.hero-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 52px;
  padding: 0 26px;
  border: 1px solid transparent;
  border-radius: 10px;
  font-family: 'Inter', "Segoe UI", Roboto, Arial, sans-serif;
  font-size: 0.95rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  text-decoration: none;
  transition: background 180ms ease, border-color 180ms ease, color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}
.hero-btn-primary {
  background: var(--brand-deep);
  color: #ffffff;
  box-shadow: 0 10px 24px rgba(18, 61, 46, 0.18);
}
.hero-btn-primary:hover {
  background: #0d3325;
  transform: translateY(-1px);
  box-shadow: 0 16px 32px rgba(18, 61, 46, 0.24);
}
.hero-btn-ghost {
  background: transparent;
  color: var(--brand-deep);
  border-color: var(--hairline);
}
.hero-btn-ghost:hover {
  border-color: var(--brand-deep);
  background: rgba(18, 61, 46, 0.04);
}
.hero-btn svg { width: 18px; height: 18px; flex: 0 0 auto; }

.hero-stats {
  display: flex;
  flex-wrap: wrap;
  gap: clamp(20px, 4vw, 44px);
  margin: 0;
  padding: clamp(20px, 3vh, 26px) 0 0;
  list-style: none;
  border-top: 1px solid var(--hairline);
}
.hero-stats li { display: flex; flex-direction: column; gap: 2px; }
.hero-stats strong {
  font-family: 'Playfair Display', Georgia, serif;
  font-weight: 500;
  font-size: clamp(1.7rem, 3vw, 2.3rem);
  line-height: 1;
  color: var(--brand-bright);
}
.hero-stats span {
  font-size: 0.82rem;
  color: var(--ink-soft);
  letter-spacing: 0.01em;
}

/* Cinematic factory media panel */
.hero-media-panel {
  position: relative;
  margin: 0;
  min-width: 0;
  aspect-ratio: 4 / 5;
  border-radius: 18px;
  overflow: hidden;
  background: #0d2c20;
  border: 1px solid rgba(18, 40, 30, 0.06);
  box-shadow: 0 24px 60px rgba(13, 40, 30, 0.20);
}
.hero-media-panel video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  filter: saturate(1.03) contrast(1.02);
}
.hero-media-panel::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(to top, rgba(6, 22, 15, 0.5), transparent 40%);
}
.hero-media-panel figcaption {
  position: absolute;
  z-index: 2;
  left: 14px;
  bottom: 14px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  max-width: calc(100% - 28px);
  padding: 8px 13px;
  border-radius: 9px;
  background: rgba(9, 26, 18, 0.58);
  color: #eaf3ee;
  font-size: 0.78rem;
  font-weight: 500;
  letter-spacing: 0.02em;
}
.hero-media-panel figcaption::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--accent);
  flex: 0 0 auto;
}

@media (prefers-reduced-motion: no-preference) {
  .hero-intro-copy > *,
  .hero-media-panel {
    animation: heroRise 720ms cubic-bezier(0.22, 1, 0.36, 1) both;
  }
  .hero-kicker { animation-delay: 60ms; }
  .hero-title { animation-delay: 130ms; }
  .hero-lead { animation-delay: 210ms; }
  .hero-ctas { animation-delay: 290ms; }
  .hero-stats { animation-delay: 360ms; }
  .hero-media-panel { animation-delay: 200ms; }
}
@keyframes heroRise {
  from { opacity: 0; transform: translateY(18px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 900px) {
  .hero-intro-inner { grid-template-columns: 1fr; gap: clamp(28px, 6vw, 40px); }
  .hero-intro-copy { max-width: 640px; order: 1; }
  .hero-media-panel { aspect-ratio: 16 / 10; order: 2; }
}
@media (max-width: 520px) {
  .hero-stats { gap: 18px 28px; }
  .hero-btn { flex: 1 1 auto; justify-content: center; }
}

@media (max-width: 620px) {
  .form-input,
  .form-textarea,
  input,
  select,
  textarea {
    font-size: 16px;
  }

  .hero .eyebrow {
    font-size: 0.72rem;
  }

  .admin-action-btn,
  .admin-card-toolbar select,
  .admin-item-actions button,
  .admin-item-actions button[data-user-action],
  .admin-item-actions button[data-enquiry-action] {
    min-height: 44px;
    padding-block: 10px;
    justify-content: center;
  }

  .admin-inline-form {
    padding: 0 16px 16px;
  }

  .admin-inline-form .admin-field,
  .admin-inline-form button {
    flex: 1 1 100%;
    width: 100%;
  }

  .admin-data-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .admin-data-actions-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
  }

  .admin-data-actions-buttons > * {
    flex: 1 1 auto;
  }

  .admin-item-actions {
    gap: 8px;
  }

  #email-status .admin-item h3 {
    overflow-wrap: anywhere;
  }

  .footer-links a,
  .footer-back-top,
  .news-card-toggle,
  .admin-lock-back {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
  }

  .footer-links a {
    width: 100%;
  }

  .lang-trigger,
  .language-button,
  .lang-menu .language-button,
  .admin-drawer-close,
  .admin-tab,
  .portfolio-nav button {
    min-height: 44px;
  }

  .portfolio-nav button {
    display: inline-flex;
    align-items: center;
  }

  .lang-trigger,
  .admin-drawer-close {
    min-width: 44px;
  }

  .admin-tab {
    padding-inline: 10px;
  }

  #btt {
    width: 44px;
    height: 44px;
    bottom: 1rem;
    right: 1rem;
  }

  .admin-check-row input[type="checkbox"] {
    width: 22px;
    height: 22px;
  }

  .admin-check-row {
    min-height: 44px;
  }

  /* Keep the dots visually small but give the thumb a full-size target. */
  .poster-dot {
    position: relative;
  }

  .poster-dot::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 44px;
    height: 44px;
    transform: translate(-50%, -50%);
  }

  .poster-controls {
    position: relative;
    z-index: 1;
  }
}

@media (max-width: 680px) {
  .children-scene {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    flex-wrap: nowrap;
    min-height: 270px;
    height: 270px;
    padding: 14px 8px 16px;
    overflow: hidden;
  }
  .children-scene .pack {
    position: static;
    width: auto;
    max-width: none;
    flex: 0 0 auto;
    object-fit: contain;
  }
  .children-scene .pack-cereal {
    order: 1;
    height: clamp(130px, 38vw, 145px);
    margin-right: -14px;
    z-index: 1;
  }
  .children-scene .pack-yeserje {
    order: 2;
    height: clamp(220px, 68vw, 242px);
    z-index: 3;
  }
  .children-scene .pack-porridge {
    order: 3;
    height: clamp(135px, 40vw, 155px);
    margin-left: -14px;
    z-index: 2;
  }
}

@media (max-width: 768px) {
  html,
  body {
    overflow-x: clip;
  }

  .site-header,
  .site-header.is-detached {
    top: max(6px, env(safe-area-inset-top));
    right: 12px;
    left: 12px;
    display: grid;
    grid-template-columns: minmax(52px, 1fr) auto minmax(52px, 1fr);
    min-height: 58px;
    padding: 6px 12px;
    gap: 0;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 18px;
    background: #3D6B45;
    box-shadow: 0 10px 30px rgba(6, 30, 20, 0.18);
  }

  .language-switcher {
    grid-column: 1;
    justify-self: start;
  }

  .brand {
    grid-column: 2;
    justify-self: center;
  }

  .nav-toggle {
    grid-column: 3;
    justify-self: end;
    width: 44px;
    height: 44px;
    padding: 0;
  }

  .lang-trigger {
    min-width: 52px;
    min-height: 44px;
    padding: 0 8px;
    gap: 6px;
    font-size: 0.78rem;
    border-radius: 12px;
  }

  .lang-trigger:active,
  .nav-toggle:active {
    background: rgba(255, 255, 255, 0.12);
    transform: scale(0.97);
  }

  .brand-mark,
  .site-header .brand-mark {
    height: 42px;
    max-width: 92px;
  }

  .site-nav {
    padding-top: max(76px, calc(env(safe-area-inset-top) + 68px));
  }

  body[data-page="home"].at-top .site-nav.is-open,
  body[data-page="products"].at-top .site-nav.is-open {
    padding-top: max(76px, calc(env(safe-area-inset-top) + 68px));
  }

  .product-section {
    padding: clamp(48px, 10vw, 56px) max(20px, env(safe-area-inset-left)) clamp(52px, 11vw, 64px);
    padding-right: max(20px, env(safe-area-inset-right));
  }

  .brand-showcase-heading {
    gap: 24px;
    margin-bottom: 32px;
  }

  .portfolio-title {
    font-size: clamp(2.2rem, 9vw, 3rem);
  }

  .portfolio-stat {
    display: grid;
    gap: 16px;
    align-items: start;
  }

  .portfolio-stat span {
    max-width: none;
    padding-top: 16px;
    line-height: 1.25;
    white-space: normal;
  }

  .portfolio-nav {
    gap: 10px;
    margin-bottom: 0;
    overflow-x: auto;
    padding-bottom: 4px;
    flex-wrap: nowrap;
    scrollbar-width: none;
  }

  .portfolio-nav::-webkit-scrollbar {
    display: none;
  }

  .portfolio-nav button {
    min-height: 40px;
    padding: 7px 12px;
    border-radius: 999px;
  }

  .brand-showcase-stage,
  .brand-cluster,
  .brand-cluster-soft {
    gap: 16px;
  }

  .brand-cluster-soft {
    padding: 0;
    background: transparent;
    box-shadow: none;
  }

  .brand-family,
  .family-children,
  .family-dairy {
    width: 100%;
    border: 1px solid rgba(6, 78, 59, 0.10);
    border-radius: 24px;
    box-shadow: 0 18px 42px rgba(12, 42, 32, 0.10);
    overflow: hidden;
    transition: transform 160ms ease, box-shadow 160ms ease;
  }

  .brand-family:active {
    transform: scale(0.985);
    box-shadow: 0 10px 28px rgba(12, 42, 32, 0.12);
  }

  .brand-family:active .brand-cta {
    transform: translateX(4px);
  }

  .family-children,
  .family-dairy {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto;
  }

  .family-children {
    --family-accent: #D85A30;
    --scene-bg:
      radial-gradient(circle at 18% 18%, rgba(255, 255, 255, 0.76), transparent 27%),
      radial-gradient(circle at 78% 22%, rgba(255, 196, 116, 0.34), transparent 32%),
      radial-gradient(circle at 18% 82%, rgba(216, 90, 48, 0.08), transparent 34%),
      linear-gradient(145deg, #FFF7EA 0%, #F9DDC8 100%);
    background: var(--scene-bg);
  }

  .family-dairy {
    --family-accent: #1F9BB0;
    --scene-bg:
      radial-gradient(circle at 76% 18%, rgba(255, 255, 255, 0.86), transparent 28%),
      radial-gradient(circle at 18% 72%, rgba(143, 215, 222, 0.22), transparent 34%),
      linear-gradient(145deg, #F7FFF9 0%, #E8F9FF 100%);
    background: var(--scene-bg);
  }

  .family-children::after,
  .family-dairy::after {
    opacity: 0;
  }

  .family-children .brand-copy,
  .family-dairy .brand-copy {
    padding: 16px 18px 20px;
    gap: 8px;
    background: transparent;
  }

  .family-children .brand-copy h3,
  .family-dairy .brand-copy h3 {
    max-width: 12ch;
    font-size: clamp(1.95rem, 8.1vw, 2.45rem);
    line-height: 1;
  }

  .family-children .brand-copy p,
  .family-dairy .brand-copy p {
    max-width: 30rem;
    font-size: clamp(0.9rem, 3.75vw, 0.98rem);
    line-height: 1.42;
  }

  .family-children .brand-kicker,
  .family-dairy .brand-kicker {
    font-size: 0.6rem;
    letter-spacing: 0.16em;
  }

  .family-children .brand-cta,
  .family-dairy .brand-cta {
    width: max-content;
    max-width: 100%;
    padding-bottom: 3px;
    border-bottom: 1px solid currentColor;
    font-size: 0.88rem;
    line-height: 1.2;
    transition: transform 160ms ease;
  }

  .children-scene,
  .dairy-scene {
    position: relative;
    order: 0;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    height: auto;
    min-height: 0;
    aspect-ratio: 1.55 / 1;
    padding: 18px 10px 16px;
    overflow: hidden;
    background: transparent;
  }

  .children-scene::before,
  .dairy-scene::before {
    content: "";
    position: absolute;
    inset: auto 8% 14px;
    z-index: 0;
    height: 16px;
    border-radius: 999px;
    background: radial-gradient(ellipse, rgba(15, 45, 34, 0.16), transparent 70%);
    filter: blur(4px);
  }

  .children-scene::after {
    content: "";
    position: absolute;
    inset: 12% 10% auto auto;
    z-index: 0;
    width: 42%;
    aspect-ratio: 1;
    border: 1px solid rgba(216, 90, 48, 0.13);
    border-radius: 50%;
    background:
      radial-gradient(circle at 36% 34%, rgba(255, 255, 255, 0.46), transparent 32%),
      radial-gradient(circle, rgba(255, 215, 160, 0.2), transparent 68%);
  }

  .dairy-scene::after {
    content: "";
    position: absolute;
    left: -8%;
    right: -8%;
    bottom: 4%;
    z-index: 0;
    height: 44%;
    border-radius: 50% 50% 0 0;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.36), rgba(159, 220, 226, 0.16));
    transform: rotate(-3deg);
  }

  .children-scene .pack,
  .dairy-scene .pack {
    position: static;
    inset: auto;
    left: auto;
    right: auto;
    top: auto;
    bottom: auto;
    transform: none;
    width: auto;
    max-width: none;
    flex: 0 0 auto;
    object-fit: contain;
    filter:
      drop-shadow(0 18px 18px rgba(8, 35, 25, 0.14))
      drop-shadow(0 4px 6px rgba(8, 35, 25, 0.08));
  }

  .children-scene .pack-cereal {
    order: 1;
    left: auto;
    right: auto;
    top: auto;
    bottom: auto;
    height: clamp(112px, 31vw, 142px);
    margin-right: -10px;
    z-index: 1;
  }

  .children-scene .pack-yeserje {
    order: 2;
    left: auto;
    right: auto;
    top: auto;
    bottom: auto;
    height: clamp(184px, 52vw, 232px);
    z-index: 3;
  }

  .children-scene .pack-porridge {
    order: 3;
    left: auto;
    right: auto;
    top: auto;
    bottom: auto;
    height: clamp(120px, 34vw, 152px);
    margin-left: -10px;
    z-index: 2;
  }

  .dairy-scene {
    justify-content: space-evenly;
    padding-inline: 14px;
  }

  .dairy-scene .pack-milk {
    order: 1;
    left: auto;
    right: auto;
    top: auto;
    bottom: auto;
    height: clamp(178px, 50vw, 236px);
    z-index: 3;
  }

  .dairy-scene .pack-milk-alt {
    order: 2;
    left: auto;
    right: auto;
    top: auto;
    bottom: auto;
    height: clamp(104px, 30vw, 136px);
    margin-inline: -18px -8px;
    z-index: 2;
  }

  .dairy-scene .pack-dap {
    order: 3;
    left: auto;
    right: auto;
    top: auto;
    bottom: auto;
    height: clamp(156px, 44vw, 214px);
    z-index: 3;
  }

  .dairy-scene .pack-dap-alt,
  .dairy-scene .brand-mark-dairy {
    display: none;
  }

  .brand-family.motion-reveal.is-visible .children-scene .pack,
  .brand-family.motion-reveal.is-visible .dairy-scene .pack {
    animation: mobileProductRise 520ms cubic-bezier(0.22, 1, 0.36, 1) both;
  }

  .brand-family.motion-reveal.is-visible .children-scene .pack:nth-of-type(2),
  .brand-family.motion-reveal.is-visible .dairy-scene .pack:nth-of-type(2) {
    animation-delay: 70ms;
  }

  .brand-family.motion-reveal.is-visible .children-scene .pack:nth-of-type(3),
  .brand-family.motion-reveal.is-visible .dairy-scene .pack:nth-of-type(3) {
    animation-delay: 120ms;
  }

  #btt {
    width: 40px;
    height: 40px;
    right: max(12px, env(safe-area-inset-right));
    bottom: max(12px, env(safe-area-inset-bottom));
    box-shadow: 0 8px 22px rgba(15, 110, 86, 0.30);
  }

  #btt svg {
    width: 16px;
    height: 16px;
  }
}

@media (max-width: 360px) {
  .site-header,
  .site-header.is-detached {
    right: 8px;
    left: 8px;
    padding-inline: 10px;
  }

  .product-section {
    padding-inline: 14px;
  }

  .family-children .brand-copy,
  .family-dairy .brand-copy {
    padding-inline: 16px;
  }

  .children-scene,
  .dairy-scene {
    aspect-ratio: 1.42 / 1;
  }
}

@media (max-width: 1040px) {
  .brand-showcase-heading {
    grid-template-areas:
      "copy"
      "stat"
      "filters";
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
    row-gap: 28px;
    margin-bottom: clamp(36px, 5vw, 52px);
  }

  .portfolio-stat {
    align-self: start;
    justify-items: start;
  }

  .portfolio-nav {
    width: 100%;
  }
}

@media (max-width: 768px) {
  .brand-showcase-heading {
    row-gap: 24px;
    margin-bottom: 32px;
  }
}

@keyframes mobileProductRise {
  from {
    opacity: 0;
    transform: translateY(12px) scale(0.96);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@media (prefers-reduced-motion: reduce) {
  .brand-family.motion-reveal.is-visible .children-scene .pack,
  .brand-family.motion-reveal.is-visible .dairy-scene .pack {
    animation: none !important;
  }
}
