/* ADAYAG universal responsive layer — loaded last on every page. */

:root {
  --site-gutter: clamp(18px, 4vw, 64px);
  --site-content: 1440px;
  --site-card-radius: clamp(22px, 2.1vw, 34px);
  --site-green: #404f1d;
  --site-cream: #f4ede6;
}

*, *::before, *::after { box-sizing: border-box; }
html { min-width: 320px; scroll-behavior: smooth; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
html.site-menu-lock, html.site-menu-lock body { overflow: hidden !important; }
body { min-width: 320px; max-width: 100%; overflow-x: clip !important; }
img, video, canvas, iframe, svg { max-width: 100%; }
img, video { height: auto; }
h1, h2, h3, h4, p, a, span { overflow-wrap: break-word; }
.container, .w-container { width: 100%; max-width: var(--site-content); }

a, button, input, textarea, select, [role="button"] { -webkit-tap-highlight-color: transparent; }
button, [role="button"], a { touch-action: manipulation; }
:focus-visible { outline: 2px solid currentColor !important; outline-offset: 4px; }

/* Navigation and drawer */
html body #navbar { z-index: 1000 !important; }
html body #navbar .nav-wrap { min-width: 0 !important; }
html body #navbar .menu-btn-wrap,
html body #navbar .nav-right-wrap,
html body #navbar a,
html body #navbar button { pointer-events: auto !important; }

html body #navbar .menu-btn-wrap,
html body #sideClose {
  position: relative !important;
  z-index: 4 !important;
  cursor: pointer !important;
  pointer-events: auto !important;
  touch-action: manipulation !important;
  user-select: none !important;
  -webkit-user-select: none !important;
}

.menu-side-bar {
  position: fixed !important;
  inset: 0 auto 0 0 !important;
  z-index: 1200 !important;
  width: min(620px, 100vw) !important;
  max-width: 100vw !important;
  height: 100dvh !important;
  overflow-y: auto !important;
  overscroll-behavior: contain;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: translate3d(-102%, 0, 0) !important;
  transition: transform .45s cubic-bezier(.25,1,.5,1), opacity .25s ease, visibility .25s ease !important;
}

.menu-side-bar.site-menu-open,
.menu-side-bar.menu-is-open,
.menu-side-bar.is-open,
.menu-side-bar[aria-hidden="false"] {
  display: flex !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translate3d(0, 0, 0) !important;
}

.menu-side-bg.site-menu-open,
.menu-side-bg.menu-is-open,
.menu-side-bg.is-open,
.menu-side-bg[aria-hidden="false"] { display: block !important; opacity: 1 !important; visibility: visible !important; pointer-events: auto !important; }
.link-item.has-site-toggle .menu-link-heading { cursor: pointer; }
.link-item.has-site-toggle .link-item_links { max-height: 0; padding-top: 0 !important; padding-bottom: 0 !important; opacity: 0; overflow: hidden !important; transition: max-height .35s ease, padding .35s ease, opacity .25s ease; }
.link-item.has-site-toggle.is-expanded .link-item_links { max-height: 420px; padding-top: 10px !important; padding-bottom: 4px !important; opacity: 1; overflow: visible !important; }

/* One stable menu system for desktop, tablet and mobile. */
html body #sideMenu {
  width: min(680px, 100vw) !important;
  max-width: 100vw !important;
  height: 100dvh !important;
  padding: 0 !important;
  overflow: hidden !important;
  overscroll-behavior: none !important;
  scrollbar-width: none !important;
  background: var(--site-green) !important;
}
html body #sideMenu::-webkit-scrollbar,
html body #sideMenu .menu-items-wrap::-webkit-scrollbar { display: none !important; width: 0 !important; height: 0 !important; }
html body #sideMenu > .menu-side-bar-inner {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: auto minmax(0, 1fr) !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  padding: max(18px, env(safe-area-inset-top)) clamp(18px, 4vw, 40px) max(22px, env(safe-area-inset-bottom)) !important;
  overflow: hidden !important;
}
html body #sideMenu .close-btn-wrap {
  position: relative !important;
  z-index: 3 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  min-height: 48px !important;
  margin: 0 !important;
}
html body #sideMenu #sideClose.site-menu-close-button {
  position: relative !important;
  inset: auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 46px !important;
  width: 46px !important;
  height: 46px !important;
  padding: 0 0 4px !important;
  border: 1px solid rgba(255,255,255,.72) !important;
  border-radius: 999px !important;
  color: #fff !important;
  background: rgba(255,255,255,.08) !important;
  font-family: Arial, sans-serif !important;
  font-size: 34px !important;
  font-weight: 300 !important;
  line-height: 1 !important;
  text-transform: none !important;
  cursor: pointer !important;
}
html body #sideMenu #sideClose.site-menu-close-button:hover,
html body #sideMenu #sideClose.site-menu-close-button:focus-visible { background: rgba(255,255,255,.18) !important; }
html body #sideMenu .light-divider { display: none !important; }
html body #sideMenu .menu-items {
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  align-items: stretch !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  padding: clamp(24px, 4vh, 48px) 0 0 !important;
  overflow: hidden !important;
}
html body #sideMenu .menu-items-wrap {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  gap: clamp(6px, 1.2vh, 14px) !important;
  padding: 0 4px 4px 0 !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  scrollbar-width: none !important;
  overscroll-behavior: contain !important;
}
html body #sideMenu .link-item,
html body #sideMenu .menu-link-heading,
html body #sideMenu .menu-link-title { width: 100% !important; max-width: 100% !important; min-width: 0 !important; }
html body #sideMenu .link-item { display: block !important; flex: 0 0 auto !important; height: auto !important; min-height: 0 !important; }
html body #sideMenu .menu-link-heading {
  display: flex !important;
  align-items: center !important;
  min-height: 58px !important;
  gap: 12px !important;
  padding: 2px 0 !important;
  overflow: visible !important;
}
html body #sideMenu .menu-link-title { padding: 0 !important; overflow: visible !important; }
html body #sideMenu .heading-77 {
  max-width: 100% !important;
  margin: 0 !important;
  font-size: clamp(38px, 6.2vh, 68px) !important;
  line-height: 1 !important;
  white-space: normal !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}
html body #sideMenu .icon-36 {
  position: relative !important;
  left: auto !important;
  top: auto !important;
  flex: 0 0 38px !important;
  width: 38px !important;
  height: 20px !important;
  object-fit: contain !important;
  opacity: 1 !important;
}
html body #sideMenu .link-item_links {
  position: static !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  width: 100% !important;
  height: auto !important;
  margin: 0 !important;
  padding: 10px 0 4px 50px !important;
  transform: none !important;
}
html body #sideMenu .link-item_links .gap-75,
html body #sideMenu .link-item_links .gap-3em { display: none !important; }
html body #sideMenu .nav-link {
  display: flex !important;
  align-items: center !important;
  min-height: 34px !important;
  font-size: clamp(15px, 2vh, 18px) !important;
  line-height: 1.35 !important;
}
html body #sideMenu .menu-bottom-links-group {
  display: flex !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
  width: 100% !important;
  gap: 10px 18px !important;
  margin-top: 18px !important;
  padding-top: 14px !important;
  border-top: 1px solid rgba(255,255,255,.14) !important;
  opacity: 1 !important;
}

/* Cards and controls */
html body .product-item,
html body .blog-card-wrapper,
html body .capsule-card-new,
html body .production-card,
html body .parameter-card,
html body .comparison-card,
html body .storage-card,
html body .checkout-card { border-radius: var(--site-card-radius) !important; }

html body .btn-white,
html body .btn-green,
html body .btn-add-to-cart,
html body .btn-buy-now,
html body .btn-complete-order,
html body .product-btn-buy,
html body .product-btn-cart,
html body .blog-cta-btn,
html body .submit-btn { min-height: 44px; }

/* Homepage products: the visual occupies its own flow area, so it can never touch the title. */
html body #products .products-items { align-items: stretch !important; }
html body #products .product-item { isolation: isolate; }
html body #products .product-description,
html body #products .product-description > div { min-width: 0 !important; }
html body #products .product-item .text-32-regular { position: relative !important; z-index: 2 !important; text-wrap: balance; }

/* Footer stays compact and consistent on every route. */
html body .footer-hero-wrap,
html body .footer { position: static !important; height: auto !important; min-height: 0 !important; }
html body .footer-wrap { height: auto !important; min-height: 0 !important; }
html body .footer-top,
html body .footer-bottom { min-width: 0 !important; }

/* Shopping cart remains usable on narrow and touch screens. */
html body .cart-drawer {
  width: min(430px, 100vw) !important;
  max-width: 100vw !important;
  overscroll-behavior: contain;
}
html body .cart-drawer-items { overflow-y: auto !important; -webkit-overflow-scrolling: touch; }

/* Large desktop */
@media screen and (min-width: 1440px) {
  html body #products .products-items,
  html body #blog .blog-grid { max-width: 1360px !important; margin-left: auto !important; margin-right: auto !important; }
}

/* Laptop and tablet */
@media screen and (min-width: 768px) and (max-width: 1199px) {
  :root { --site-gutter: clamp(28px, 4.5vw, 52px); }

  html body #navbar {
    top: 16px !important;
    left: 16px !important;
    right: 16px !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
  }

  html body #navbar .nav-right-wrap { gap: 14px !important; }
  html body #navbar .contact-wrap .text-14-caps,
  html body #navbar .menu-text,
  html body #navbar .lang-btn,
  html body #navbar .lang-divider { font-size: 13px !important; }

  html body #products .products-items {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 28px !important;
    overflow: visible !important;
  }

  html body #products .product-item {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    height: auto !important;
    min-height: 570px !important;
    padding: 26px 24px 28px !important;
    overflow: hidden !important;
  }

  html body #products .product-item.product-3 {
    grid-column: 1 / -1 !important;
    justify-self: center !important;
    width: min(100%, calc((100% - 28px) / 2)) !important;
  }

  html body #products .product-image.boxes {
    position: relative !important;
    inset: auto !important;
    display: block !important;
    width: auto !important;
    height: 260px !important;
    max-height: 260px !important;
    margin: 0 auto 20px !important;
    transform: none !important;
    object-fit: contain !important;
  }

  html body #products .bottle-shadow-ellipse { display: none !important; }
  html body #products .product-description { flex: 1 1 auto !important; height: auto !important; }
  html body #products .product-description > div { display: flex !important; flex-direction: column !important; height: 100% !important; }
  html body #products .product-item .text-32-regular { min-height: 64px !important; margin: 0 !important; font-size: 25px !important; line-height: 1.16 !important; }
  html body #products .product-description .text-16-regular-desc { margin: auto auto 0 !important; }

  html body #blog .blog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }

  .blog-hero-grid,
  .blog-content-section { grid-template-columns: 1fr !important; }
  .blog-content-section { gap: 3rem !important; }

  body.product-detail-page .product-grid { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr) !important; gap: 28px !important; }
}

/* Mobile */
@media screen and (max-width: 767px) {
  :root { --site-gutter: clamp(16px, 5vw, 24px); --site-card-radius: 24px; }

  html body #navbar {
    top: max(10px, env(safe-area-inset-top)) !important;
    left: 10px !important;
    right: 10px !important;
    width: auto !important;
    height: 54px !important;
    padding: 0 12px !important;
    border-radius: 18px !important;
  }

  html body #navbar .nav-wrap {
    position: relative !important;
    display: flex !important;
    width: 100% !important;
    height: 100% !important;
    padding: 0 !important;
    align-items: center !important;
    justify-content: space-between !important;
  }

  html body #navbar .logo-header-mobile { display: none !important; }
  html body #navbar .logo-header-wrap {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    z-index: 2 !important;
    display: block !important;
    width: 70px !important;
    height: 29px !important;
    transform: translate(-50%, -50%) !important;
  }

  html body #navbar .menu-btn-wrap,
  html body #navbar .nav-right-wrap { position: static !important; width: auto !important; height: 100% !important; transform: none !important; }
  html body #navbar .menu-btn-wrap { min-width: 38px !important; }
  html body #navbar .nav-right-wrap { margin-left: auto !important; gap: 6px !important; }
  html body #navbar .contact-wrap { display: none !important; }
  html body #navbar .lang-selector { gap: 3px !important; }
  html body #navbar .lang-btn,
  html body #navbar .lang-divider { font-size: 11px !important; }
  html body #navbar .nav-cart-btn { width: 32px !important; min-width: 32px !important; height: 32px !important; padding: 6px !important; }

  .menu-side-bar { width: 100vw !important; }
  .menu-side-bar-inner { min-height: 100dvh !important; padding: max(22px, env(safe-area-inset-top)) 20px max(28px, env(safe-area-inset-bottom)) !important; overflow-y: auto !important; }
  .menu-side-bar .heading-77 { font-size: clamp(27px, 8vw, 36px) !important; line-height: 1.08 !important; }
  .menu-side-bar .nav-link { font-size: 16px !important; min-height: 38px; display: flex; align-items: center; }
  .menu-side-bar .menu-items-wrap { gap: 18px !important; }
  html body #sideMenu .menu-link-heading { min-height: 48px !important; }
  html body #sideMenu .icon-36 { flex-basis: 32px !important; width: 32px !important; height: 17px !important; }
  html body #sideMenu .link-item_links { padding-left: 44px !important; }

  html body .cart-drawer { width: 100vw !important; padding-bottom: env(safe-area-inset-bottom) !important; }
  html body .cart-drawer-header { padding-top: max(20px, env(safe-area-inset-top)) !important; }
  html body .cart-item, html body .cart-item-details { min-width: 0 !important; }

  html body .container,
  html body .w-container { max-width: none !important; padding-left: var(--site-gutter) !important; padding-right: var(--site-gutter) !important; }

  html body .hero { min-height: max(680px, 100svh) !important; height: auto !important; }
  html body .hero-wrap { min-height: max(680px, 100svh) !important; height: auto !important; }
  html body .hero-img-wrap {
    inset: 26px 0 auto 0 !important;
    width: 100% !important;
    height: 62% !important;
  }
  html body .hero-img-wrap > video {
    object-position: 50% 50% !important;
    transform: translateY(0) scale(1) !important;
  }
  html body .hero-heading-2 { left: var(--site-gutter) !important; right: var(--site-gutter) !important; bottom: max(18px, env(safe-area-inset-bottom)) !important; width: auto !important; max-width: 410px !important; }
  html body .hero-glass-card { width: 100% !important; padding: 20px !important; border-radius: 24px !important; }
  html body .hero-glass-card .hero-btns-wrap { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; width: 100% !important; gap: 8px !important; }
  html body .hero-glass-card .btn-white.btn-hero { width: 100% !important; min-width: 0 !important; padding: 0 10px !important; }

  html body .section-divider-green { height: 12px !important; min-height: 12px !important; }
  html body .numbers-video { height: clamp(230px, 64vw, 330px) !important; }
  html body .numbers-content { padding: 46px var(--site-gutter) 52px !important; }
  html body #s-carbon .carbon-cost-wrap { display: flex !important; flex-direction: column !important; padding: 52px var(--site-gutter) 0 !important; }
  html body #s-carbon .carbon-content { padding: 0 !important; }
  html body #s-carbon .potato-wrap {
    width: min(100%, 360px) !important;
    max-width: 360px !important;
    min-height: 0 !important;
    margin: 0 auto !important;
    overflow: hidden !important;
    border-radius: 24px !important;
  }
  html body #s-carbon .potato-img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: auto !important;
    object-fit: contain !important;
    border-radius: inherit !important;
  }

  html body #products { padding-top: 52px !important; padding-bottom: 60px !important; }
  html body #products .products-items {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 22px !important;
    width: 100% !important;
    margin: 28px 0 0 !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  html body #products .product-item {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    width: min(100%, 430px) !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 auto !important;
    padding: 24px 18px 26px !important;
    overflow: hidden !important;
    transform: none !important;
  }

  html body #products .product-image.boxes,
  html body #products .product-item.product-1 .product-image,
  html body #products .product-item.product-2 .product-image,
  html body #products .product-item.product-3 .product-image {
    position: relative !important;
    inset: auto !important;
    display: block !important;
    width: auto !important;
    height: clamp(220px, 64vw, 290px) !important;
    max-height: 290px !important;
    margin: 0 auto 22px !important;
    transform: none !important;
    object-fit: contain !important;
  }

  html body #products .bottle-shadow-ellipse { display: none !important; }
  html body #products .product-description,
  html body #products .product-description > div { position: relative !important; display: flex !important; flex-direction: column !important; width: 100% !important; height: auto !important; }
  html body #products .product-item .text-32-regular { min-height: 0 !important; margin: 0 0 18px !important; font-size: clamp(22px, 6.5vw, 27px) !important; line-height: 1.15 !important; }
  html body #products .product-btns { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; width: 100% !important; gap: 8px !important; margin: 0 0 20px !important; }
  html body #products .product-btn-buy,
  html body #products .product-btn-cart { min-width: 0 !important; padding: 0 8px !important; font-size: 13px !important; white-space: nowrap !important; }
  html body #products .product-description .text-16-regular-desc { margin: 0 auto !important; font-size: 14px !important; line-height: 1.55 !important; }

  /* Homepage mobile: remove the farm-location summary and its reserved space. */
  html body .field-trials-mobile-info {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }
  html body .field-trials-mobile-info + #s-trials,
  html body #blog-banner {
    margin-top: 0 !important;
  }

  html body #blog .container { padding-left: var(--site-gutter) !important; padding-right: var(--site-gutter) !important; }
  html body #blog .blog-grid { grid-template-columns: 1fr !important; width: 100% !important; max-width: 430px !important; }
  html body #blog .blog-card-wrapper { width: 100% !important; }
  html body #blog { padding-bottom: 42px !important; }
  html body #blog .blog-card-wrapper:nth-child(3) .splide__img {
    box-sizing: border-box !important;
    object-fit: contain !important;
    object-position: center !important;
    padding: 16px !important;
    background: #f7f3ed !important;
  }

  /* Product detail routes */
  body.product-detail-page .product-page-section { min-height: 0 !important; padding: 92px 0 54px !important; }
  body.product-detail-page .product-detail-container { width: 100% !important; padding: 0 var(--site-gutter) !important; }
  body.product-detail-page .product-grid { display: grid !important; grid-template-columns: 1fr !important; gap: 22px !important; }
  body.product-detail-page .product-image-container { min-height: 390px !important; padding: 22px !important; }
  body.product-detail-page .product-detail-image { max-height: 340px !important; }
  body.product-detail-page .product-details-container { padding: 26px 20px !important; }
  body.product-detail-page .product-title-h1 { font-size: clamp(32px, 9vw, 44px) !important; }
  body.product-detail-page .purchase-actions-wrap { display: grid !important; grid-template-columns: 1fr !important; gap: 10px !important; }
  body.product-detail-page .detail-qty-select,
  body.product-detail-page .btn-add-to-cart,
  body.product-detail-page .btn-buy-now { width: 100% !important; }

  /* Checkout */
  body.checkout-page .checkout-section { padding: 94px 0 48px !important; }
  body.checkout-page .checkout-section .container { padding: 0 var(--site-gutter) !important; }
  body.checkout-page .checkout-grid { grid-template-columns: 1fr !important; gap: 18px !important; }
  body.checkout-page .checkout-card { padding: 22px 18px !important; }
  body.checkout-page .form-row-2,
  body.checkout-page .form-row-3 { grid-template-columns: 1fr !important; }
  body.checkout-page .summary-item-row { align-items: flex-start !important; gap: 10px !important; }

  /* Contact */
  body.contact-page .approach-hero.contact,
  body.contact-page .contact-page-wrap { height: auto !important; min-height: 100svh !important; }
  body.contact-page .contact-page-wrap { display: grid !important; grid-template-columns: 1fr !important; padding: 96px var(--site-gutter) 48px !important; gap: 34px !important; }
  body.contact-page .contact-left,
  body.contact-page .contact-right,
  body.contact-page .contact-left-wrap,
  body.contact-page .form-block,
  body.contact-page .fields-box { width: 100% !important; max-width: none !important; }
  body.contact-page .text-90-regular { font-size: clamp(48px, 16vw, 78px) !important; line-height: .95 !important; }
  body.contact-page .contact-details-row { display: grid !important; grid-template-columns: 1fr !important; gap: 16px !important; margin-bottom: 24px !important; }
  body.contact-page .contact-detail-col.right-col { align-items: flex-start !important; text-align: left !important; }
  body.contact-page .fields-list { width: 100% !important; }

  /* Editorial/article routes */
  body.article-page .blog-hero-section { padding: 98px var(--site-gutter) 46px !important; }
  body.article-page .blog-hero-grid { grid-template-columns: 1fr !important; gap: 30px !important; }
  body.article-page .blog-title-h1 { font-size: clamp(34px, 10vw, 48px) !important; }
  body.article-page .blog-intro { font-size: 17px !important; line-height: 1.55 !important; }
  body.article-page .blog-hero-image-container { aspect-ratio: 4 / 3 !important; border-radius: 24px !important; }
  body.article-page .blog-content-section { grid-template-columns: 1fr !important; gap: 28px !important; padding: 42px var(--site-gutter) 58px !important; }
  body.article-page .blog-sidebar { display: flex !important; flex-direction: row !important; flex-wrap: wrap !important; gap: 16px !important; }
  body.article-page .toc-sidebar { position: static !important; width: 100% !important; }
  body.article-page .blog-rich-text { min-width: 0 !important; font-size: 16px !important; line-height: 1.75 !important; }
  body.article-page .blog-rich-text h2 { font-size: clamp(27px, 7.5vw, 34px) !important; }
  body.article-page .blog-rich-text h3 { font-size: clamp(22px, 6vw, 28px) !important; }
  body.article-page .article-wide { width: 100% !important; max-width: 100% !important; margin-left: 0 !important; margin-right: 0 !important; }
  body.article-page .comparison-grid,
  body.article-page .parameter-grid,
  body.article-page .cta-bottles-grid { grid-template-columns: 1fr !important; }
  body.article-page .seasonal-table-wrap { overflow-x: auto !important; -webkit-overflow-scrolling: touch; }
  body.article-page .blog-cta-block { padding: 34px 20px !important; border-radius: 24px !important; }

  /* Legal routes */
  body.body-2 .policy-page-section { padding: 100px var(--site-gutter) 54px !important; }
  body.body-2 .policy-container { width: 100% !important; max-width: 900px !important; }
  body.body-2 .policy-title { font-size: clamp(36px, 10vw, 54px) !important; }
  body.body-2 .policy-content { font-size: 15px !important; line-height: 1.7 !important; }

  /* Approach route */
  body.body-2 .approach-hero { min-height: max(620px, 100svh) !important; }
  body.body-2 .approach-hero-content { width: 100% !important; padding-left: var(--site-gutter) !important; padding-right: var(--site-gutter) !important; }
  body.body-2 .approach-hero-heading { font-size: clamp(44px, 13vw, 68px) !important; }
  body.body-2 .approach-s-1-wrap,
  body.body-2 .approach-s-2-wrap,
  body.body-2 .approach-s-3-wrap,
  body.body-2 .approach-s-4-wrap,
  body.body-2 .approach-s-5-wrap { height: auto !important; min-height: 0 !important; padding-left: var(--site-gutter) !important; padding-right: var(--site-gutter) !important; }
  body.body-2 .approach-s-1-content,
  body.body-2 .approach-s-2-content,
  body.body-2 .approach-s-3-content,
  body.body-2 .approach-s-4-content,
  body.body-2 .approach-s-5-content { width: 100% !important; max-width: none !important; }
  html body.body-2 #s-5 .approach-5-photo-wrap {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 1460 / 1699 !important;
    overflow: hidden !important;
    background: #e7d2b0 !important;
  }
  html body.body-2 #s-5 .approach-5-photo-wrap > img.hands-approach {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
  }
  body.body-2 .production-visual-grid { display: grid !important; grid-template-columns: 1fr !important; gap: 18px !important; }
  body.body-2 .production-card { width: 100% !important; }

  /* Footer */
  html body .footer { padding: 44px var(--site-gutter) max(28px, env(safe-area-inset-bottom)) !important; }
  html body .footer .container { padding: 0 !important; }
  html body .footer-wrap { gap: 34px !important; }
  html body .footer-top { display: flex !important; flex-direction: column !important; gap: 30px !important; }
  html body .footer-right { width: 100% !important; }
  html body .footer-links { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; width: 100% !important; gap: 26px 18px !important; }
  html body .footer-links > .footer-links-group { padding-top: 0 !important; }
  html body .footer-bottom { display: flex !important; flex-direction: column !important; align-items: flex-start !important; gap: 16px !important; margin-top: 0 !important; }
  html body .footer-bottom-links { display: flex !important; flex-wrap: wrap !important; gap: 10px 18px !important; }

  /* Unified, compact mobile footer shared by every route. */
  html body section.footer {
    padding: 38px var(--site-gutter) max(26px, env(safe-area-inset-bottom)) !important;
  }
  html body section.footer > .container > .footer-wrap {
    display: flex !important;
    flex-direction: column !important;
    gap: 28px !important;
  }
  html body section.footer > .container > .footer-wrap > .footer-top {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 28px !important;
  }
  html body section.footer > .container > .footer-wrap > .footer-top > .footer-links {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    align-items: start !important;
    width: 100% !important;
    gap: 26px 22px !important;
  }
  html body section.footer > .container > .footer-wrap .footer-links-group-wrap,
  html body section.footer > .container > .footer-wrap .footer-links-group {
    align-items: flex-start !important;
    justify-content: flex-start !important;
    text-align: left !important;
    margin: 0 !important;
  }
  html body section.footer > .container > .footer-wrap .footer-links-group-wrap:nth-child(3) {
    grid-column: 1 / -1 !important;
  }
  html body section.footer > .container > .footer-wrap .footer-links-group-wrap:nth-child(3) > .footer-links-group {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    gap: 12px 24px !important;
    padding-top: 0 !important;
  }
  html body section.footer > .container > .footer-wrap .footer-links .div-block-3.mobile {
    display: none !important;
  }
  html body section.footer > .container > .footer-wrap .footer-link {
    margin-left: 0 !important;
    margin-right: 0 !important;
    text-align: left !important;
  }
  html body section.footer > .container > .footer-wrap > .footer-top > .footer-right {
    width: 100% !important;
    padding-top: 24px !important;
    border-top: 1px solid rgba(64, 79, 29, .18) !important;
  }
  html body section.footer > .container > .footer-wrap > .footer-top > .footer-right .gap-20 {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    margin: 0 !important;
    text-align: left !important;
  }
  html body section.footer > .container > .footer-wrap > .footer-top > .footer-right .align-right {
    text-align: left !important;
  }
  html body section.footer > .container > .footer-wrap > .footer-bottom {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    width: 100% !important;
    gap: 20px 18px !important;
    margin: 0 !important;
    padding-top: 24px !important;
    border-top: 1px solid rgba(64, 79, 29, .18) !important;
    text-align: left !important;
  }
  html body section.footer > .container > .footer-wrap > .footer-bottom > .text-14-caps {
    text-align: left !important;
  }
  html body section.footer > .container > .footer-wrap > .footer-bottom > .farm-icon-green-wrap {
    justify-self: end !important;
    margin: 0 !important;
  }
  html body section.footer > .container > .footer-wrap > .footer-bottom > .footer-bottom-links {
    grid-column: 1 / -1 !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    gap: 16px 24px !important;
    margin: 0 !important;
    text-align: left !important;
  }
  html body section.footer > .container > .footer-wrap > .footer-bottom .footer-bottom-links > .div-block-3 {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 10px 20px !important;
    margin: 0 !important;
    text-align: left !important;
  }
  html body section.footer > .container > .footer-wrap > .footer-bottom .footer-link.adelt {
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    margin: 0 !important;
  }
}

/* Compact homepage feature cards on phones. */
@media screen and (max-width: 767px) {
  html body .adayag-tech-value[data-i18n="tech.val3"]::first-letter {
    font-size: .58em !important;
    line-height: 1 !important;
  }

  html body .capsule .capsule-cards-wrap {
    padding: 30px 16px !important;
  }

  html body .capsule .capsule-cards-new {
    gap: 12px !important;
  }

  html body .capsule .capsule-card-new,
  html body .capsule .capsule-card-inner {
    min-height: 148px !important;
    height: auto !important;
  }

  html body .capsule .capsule-card-new {
    border-radius: 22px !important;
  }

  html body .capsule .capsule-card-inner {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    padding: 22px 18px 18px !important;
    text-align: center !important;
  }

  html body .capsule .capsule-card-new .card-icon {
    position: absolute !important;
    top: 14px !important;
    left: 14px !important;
    right: auto !important;
    width: 30px !important;
    height: 30px !important;
  }

  html body .capsule .capsule-card-description,
  html body .capsule .capsule-card-description-2,
  html body .capsule .capsule-card-description-3 {
    width: 100% !important;
    text-align: center !important;
  }

  html body .capsule .capsule-card-new .card-title {
    width: 100% !important;
    margin: 0 0 8px !important;
    font-size: clamp(20px, 5.8vw, 23px) !important;
    line-height: 1.12 !important;
  }

  html body .capsule .capsule-card-description .text-14-caps,
  html body .capsule .capsule-card-description-2 .text-14-caps,
  html body .capsule .capsule-card-description-3 .text-14-caps {
    font-size: 13.5px !important;
    line-height: 1.42 !important;
  }
}

@media screen and (max-width: 389px) {
  html body #navbar .menu-text { display: none !important; }
  html body #navbar .logo-header-wrap { width: 64px !important; }
  html body #products .product-btn-buy,
  html body #products .product-btn-cart { font-size: 12px !important; }
  html body .hero-glass-card { padding: 18px !important; }
  html body .hero-glass-card .hero-btns-wrap .text-14-caps { font-size: 10px !important; }
  html body section.footer > .container > .footer-wrap > .footer-top > .footer-links {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  html body section.footer > .container > .footer-wrap > .footer-bottom > .footer-bottom-links {
    align-items: flex-start !important;
  }
}

@media screen and (max-height: 620px) and (orientation: landscape) {
  html body .hero,
  html body .hero-wrap { min-height: 580px !important; }
  html body .hero-heading-2 { max-width: 420px !important; }
  html body .hero-glass-card .text-60-regular { font-size: 30px !important; }
  html body .hero-glass-card .text-16-regular-desc { font-size: 12px !important; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}


/* Homepage mobile production story: keep more of the 16:9 footage visible and
   carry the dark reading surface cleanly into the following green divider. */
@media screen and (max-width: 767px) {
  html body #s-second,
  html body #s-second .second-section-wrap {
    height: auto !important;
    min-height: 0 !important;
    padding: 0 !important;
    gap: 0 !important;
    background: #172108 !important;
  }

  html body #s-second > .container,
  html body #s-second > .w-container {
    width: 100% !important;
    max-width: none !important;
    padding: 0 !important;
  }

  html body #s-second .corn-video-wrap-new {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: #172108 !important;
  }

  html body #s-second .corn-video-wrap-new::after {
    content: "" !important;
    position: absolute !important;
    inset: 0 0 auto 0 !important;
    z-index: 1 !important;
    width: 100% !important;
    height: 75vw !important;
    pointer-events: none !important;
    background: linear-gradient(180deg, rgba(15, 20, 6, 0) 58%, rgba(23, 33, 8, 0.42) 100%) !important;
  }

  html body #s-second .corn-video-wrap-new > video {
    position: relative !important;
    inset: auto !important;
    z-index: 0 !important;
    display: block !important;
    flex: 0 0 auto !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 4 / 3 !important;
    object-fit: cover !important;
    object-position: 50% 45% !important;
    transform: none !important;
  }

  html body #s-second .corn-text-wrap {
    position: relative !important;
    z-index: 2 !important;
    display: flex !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 24px 22px 32px !important;
    gap: 10px !important;
    align-items: flex-start !important;
    text-align: left !important;
    background: #172108 !important;
  }

  html body #s-second .corn-text-wrap .h2-style,
  html body #s-second .corn-text-wrap .description-wrap,
  html body #s-second .corn-text-wrap .text-16-regular-desc {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    color: #ffffff !important;
    text-align: left !important;
  }

  html body #s-second + .section-divider-green {
    margin-top: 0 !important;
  }
}
