/* ===================== TOKENS & RESET ===================== */
:root {
  --ivory: #F7F3EA;
  --ivory-soft: #FBF9F4;
  --paper: #FFFFFF;
  --navy: #0F1A2B;
  --navy-2: #1C2C46;
  --navy-3: #283B59;
  --muted: #5C6675;
  --muted-light: #8E98A5;
  --gold: #B8863E;
  --gold-light: #DDAE5F;
  --gold-pale: #F1E4C6;
  --gold-bg: rgba(184, 134, 62, 0.08);
  --line: rgba(15, 26, 43, 0.12);
  --line-soft: rgba(15, 26, 43, 0.06);
  --line-dark: rgba(247, 243, 234, 0.15);
  --shadow-sm: 0 4px 12px rgba(15, 26, 43, 0.05);
  --shadow-md: 0 12px 32px rgba(15, 26, 43, 0.08);
  --shadow-lg: 0 24px 60px rgba(15, 26, 43, 0.14);
  --serif: 'Fraunces', Georgia, serif;
  --sans: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --container: 1240px;
  --radius-sm: 3px;
  --radius-md: 6px;
  --radius-lg: 12px;
  --transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

*, *::before, *::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  font-size: 16px;
}

body {
  font-family: var(--sans);
  color: var(--navy);
  background-color: var(--ivory);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

a {
  color: inherit;
  text-decoration: none;
  transition: var(--transition);
}

button, input, select, textarea {
  font-family: inherit;
  font-size: inherit;
}

button {
  cursor: pointer;
  border: none;
  background: none;
}

/* ===================== TYPOGRAPHY & LAYOUT ===================== */
.wrap {
  max-width: var(--container);
  margin: 0 auto;
  padding: 0 40px;
}
@media (max-width: 768px) {
  .wrap { padding: 0 20px; }
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--serif);
  font-weight: 500;
  letter-spacing: -0.015em;
  color: var(--navy);
  line-height: 1.2;
}

h1 { font-size: clamp(38px, 5.2vw, 64px); }
h2 { font-size: clamp(28px, 3.4vw, 42px); }
h3 { font-size: clamp(22px, 2.4vw, 30px); }
h4 { font-size: 20px; }

.eyebrow {
  font-family: var(--sans);
  font-size: 11.5px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--gold);
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
}
.eyebrow::before {
  content: '';
  width: 22px;
  height: 1.5px;
  background: var(--gold);
  display: inline-block;
}
.eyebrow-dark {
  color: var(--gold-light);
}
.eyebrow-dark::before {
  background: var(--gold-light);
}

.section {
  padding: 100px 0;
  position: relative;
}
.section-sm { padding: 60px 0; }
.section-lg { padding: 130px 0; }
@media (max-width: 768px) {
  .section { padding: 64px 0; }
  .section-lg { padding: 80px 0; }
}

.section-head {
  max-width: 680px;
  margin-bottom: 56px;
}
.section-head.center {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
.section-head.center .eyebrow {
  justify-content: center;
}
.section-head.center .eyebrow::after {
  content: '';
  width: 22px;
  height: 1.5px;
  background: var(--gold);
  display: inline-block;
}
.section-head p {
  color: var(--muted);
  font-size: 16.5px;
  margin-top: 16px;
  line-height: 1.7;
}

.line-top { border-top: 1px solid var(--line); }
.line-bottom { border-bottom: 1px solid var(--line); }
.bg-soft { background-color: var(--ivory-soft); }
.bg-navy { background-color: var(--navy); color: var(--ivory); }
.bg-navy h1, .bg-navy h2, .bg-navy h3, .bg-navy h4 { color: var(--ivory); }
.bg-navy p { color: rgba(247, 243, 234, 0.72); }

/* Signature Pigment Strip */
.pigment-strip {
  display: flex;
  height: 5px;
  width: 100%;
}
.pigment-strip span { flex: 1; }

/* ===================== BUTTONS & BADGES ===================== */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  font-size: 13.5px;
  font-weight: 600;
  letter-spacing: 0.04em;
  padding: 14px 28px;
  border-radius: var(--radius-sm);
  border: 1px solid transparent;
  transition: var(--transition);
  white-space: nowrap;
  text-transform: capitalize;
}
.btn-sm { padding: 9px 18px; font-size: 12.5px; }
.btn-lg { padding: 18px 36px; font-size: 15px; }

.btn-primary {
  background: var(--navy);
  color: var(--ivory-soft);
}
.btn-primary:hover {
  background: var(--gold);
  color: var(--navy);
  transform: translateY(-2px);
  box-shadow: var(--shadow-sm);
}

.btn-outline {
  border-color: var(--navy);
  color: var(--navy);
  background: transparent;
}
.btn-outline:hover {
  background: var(--navy);
  color: var(--ivory-soft);
  transform: translateY(-2px);
}

.btn-gold {
  background: var(--gold);
  color: var(--navy);
  font-weight: 700;
}
.btn-gold:hover {
  background: var(--gold-light);
  color: var(--navy);
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(184, 134, 62, 0.3);
}

.btn-outline-white {
  border-color: rgba(247, 243, 234, 0.4);
  color: var(--ivory);
}
.btn-outline-white:hover {
  border-color: var(--gold-light);
  color: var(--gold-light);
  background: rgba(221, 174, 95, 0.08);
}

.btn svg {
  width: 15px;
  height: 15px;
  transition: transform 0.25s ease;
}
.btn:hover svg {
  transform: translateX(4px);
}

.badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: var(--radius-sm);
}
.badge-gold {
  background: var(--gold-bg);
  color: var(--gold);
  border: 1px solid rgba(184, 134, 62, 0.25);
}
.badge-navy {
  background: var(--navy);
  color: var(--ivory);
}
.badge-green {
  background: rgba(92, 122, 75, 0.12);
  color: #3C5231;
  border: 1px solid rgba(92, 122, 75, 0.25);
}

/* ===================== HEADER & NAVIGATION ===================== */
header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 600;
  background: rgba(247, 243, 234, 0.94);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(15, 26, 43, 0.08);
  transition: background 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
}
header.scrolled {
  background: rgba(247, 243, 234, 0.98);
  border-bottom-color: var(--line);
  box-shadow: 0 4px 20px rgba(15, 26, 43, 0.04);
}

.nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 18px 40px;
  max-width: var(--container);
  margin: 0 auto;
}
@media (max-width: 980px) {
  .nav { padding: 14px 20px; }
}

.logo {
  display: flex;
  align-items: center;
  gap: 12px;
}
.logo svg {
  width: 32px;
  height: 32px;
  flex-shrink: 0;
}
.logo-text {
  font-family: var(--serif);
  font-size: 20px;
  letter-spacing: 0.04em;
  font-weight: 600;
  line-height: 1;
  color: var(--navy);
}
.logo-text small {
  display: block;
  font-family: var(--sans);
  font-size: 9.5px;
  letter-spacing: 0.26em;
  color: var(--gold);
  margin-top: 3px;
  font-weight: 700;
}

.nav-links {
  display: flex;
  gap: 32px;
  align-items: center;
}
.nav-links a {
  font-size: 13.5px;
  font-weight: 500;
  color: var(--navy-2);
  position: relative;
  padding: 6px 0;
  letter-spacing: 0.01em;
}
.nav-links a::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: 0;
  height: 2px;
  background: var(--gold);
  transition: width 0.25s ease;
}
.nav-links a:hover::after,
.nav-links a.active::after {
  width: 100%;
}
.nav-links a.active {
  color: var(--navy);
  font-weight: 600;
}

.nav-cta {
  display: flex;
  gap: 12px;
  align-items: center;
}

.nav-toggle {
  display: none;
  width: 40px;
  height: 40px;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  color: var(--navy);
}
.nav-toggle svg { width: 18px; height: 18px; }

@media (max-width: 1040px) {
  .nav-links { display: none; }
  .nav-toggle { display: flex; }
}

/* Mobile Slide-out Menu */
.mobile-menu {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  width: min(340px, 86vw);
  background: var(--ivory-soft);
  z-index: 700;
  box-shadow: -20px 0 60px rgba(0, 0, 0, 0.2);
  transform: translateX(100%);
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1);
  display: flex;
  flex-direction: column;
  padding: 30px 28px;
  overflow-y: auto;
}
.mobile-menu.open {
  transform: translateX(0);
}
.mobile-menu-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 28px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--line);
}
.mobile-menu-close {
  width: 36px;
  height: 36px;
  border: 1px solid var(--line);
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-sm);
}
.mobile-menu-links {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.mobile-menu a.mobile-link {
  font-family: var(--serif);
  font-size: 20px;
  padding: 12px 0;
  border-bottom: 1px solid var(--line-soft);
  color: var(--navy);
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.mobile-menu a.mobile-link.active {
  color: var(--gold);
  font-weight: 600;
}
.mobile-menu-cta {
  margin-top: auto;
  padding-top: 24px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.menu-scrim {
  position: fixed;
  inset: 0;
  background: rgba(15, 26, 43, 0.5);
  z-index: 650;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
}
.menu-scrim.open {
  opacity: 1;
  pointer-events: auto;
}

/* ===================== HERO SECTION ===================== */
.hero {
  padding: 160px 0 90px;
  position: relative;
  overflow: hidden;
}
.hero-page {
  padding: 150px 0 70px;
  background: linear-gradient(180deg, var(--ivory) 0%, var(--ivory-soft) 100%);
  border-bottom: 1px solid var(--line);
}
.hero-grid {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 60px;
  align-items: center;
}
.hero h1 {
  margin-top: 16px;
  line-height: 1.08;
}
.hero h1 em {
  font-style: italic;
  color: var(--gold);
  font-weight: 400;
}
.hero-sub {
  font-size: 18px;
  color: var(--muted);
  max-width: 520px;
  margin-top: 24px;
  line-height: 1.7;
}
.hero-actions {
  display: flex;
  gap: 16px;
  margin-top: 38px;
  flex-wrap: wrap;
}
.hero-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-top: 50px;
  padding-top: 26px;
  border-top: 1px solid var(--line);
}
.stat-item {
  display: flex;
  flex-direction: column;
}
.stat-num {
  font-family: var(--serif);
  font-size: 32px;
  font-weight: 600;
  color: var(--navy);
  line-height: 1.1;
}
.stat-label {
  font-size: 12px;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-top: 4px;
}

/* Vials Graphic */
.vials {
  position: relative;
  height: 420px;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: 20px;
}
.vial {
  width: 60px;
  border-radius: 6px 6px 3px 3px;
  position: relative;
  overflow: hidden;
  box-shadow: 0 24px 50px -15px rgba(15, 26, 43, 0.35);
  border: 1px solid rgba(255, 255, 255, 0.6);
  transition: transform 0.3s ease;
}
.vial:hover {
  transform: translateY(-8px);
}
.vial::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(120deg, rgba(255, 255, 255, 0.4), rgba(255, 255, 255, 0) 45%);
}
.vial-cap {
  width: 32px;
  height: 12px;
  background: var(--gold);
  margin: 0 auto;
  border-radius: 2px;
}
.vial-1 { height: 230px; background: linear-gradient(180deg, #E7B23A, #C1892B); }
.vial-2 { height: 330px; background: linear-gradient(180deg, #C1432B, #8E2E1E); }
.vial-3 { height: 270px; background: linear-gradient(180deg, #7A3B2E, #4E241C); }
.vial-4 { height: 380px; background: linear-gradient(180deg, #8C6A3F, #5C4527); }
.vial-5 { height: 250px; background: linear-gradient(180deg, #5C7A4B, #3C5231); }

@keyframes floatVials {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
}
.vial-group {
  display: flex;
  align-items: flex-end;
  gap: 18px;
  animation: floatVials 6s ease-in-out infinite;
}

@media (max-width: 980px) {
  .hero-grid { grid-template-columns: 1fr; }
  .vials { height: 260px; margin-top: 20px; }
  .vial { width: 44px; }
  .vial-1 { height: 160px; } .vial-2 { height: 230px; } .vial-3 { height: 190px; } .vial-4 { height: 250px; } .vial-5 { height: 170px; }
}

/* ===================== PRODUCT CARDS & CATALOGUE ===================== */
.catalogue-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  margin-bottom: 32px;
  flex-wrap: wrap;
}

.filters-scroll {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding-bottom: 6px;
  scrollbar-width: thin;
}
.filter-chip {
  padding: 8px 18px;
  border: 1px solid var(--line);
  background: var(--paper);
  font-size: 13px;
  font-weight: 500;
  color: var(--navy-2);
  border-radius: var(--radius-sm);
  transition: var(--transition);
  white-space: nowrap;
}
.filter-chip:hover {
  border-color: var(--navy);
  color: var(--navy);
}
.filter-chip.active {
  background: var(--navy);
  color: var(--ivory-soft);
  border-color: var(--navy);
}

.search-wrapper {
  position: relative;
  min-width: 260px;
}
.search-wrapper input {
  width: 100%;
  padding: 10px 16px 10px 40px;
  border: 1px solid var(--line);
  background: var(--paper);
  border-radius: var(--radius-sm);
  font-size: 14px;
  color: var(--navy);
  transition: var(--transition);
}
.search-wrapper input:focus {
  outline: none;
  border-color: var(--gold);
  box-shadow: 0 0 0 3px rgba(184, 134, 62, 0.12);
}
.search-wrapper svg {
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
  width: 16px;
  height: 16px;
  color: var(--muted-light);
}

/* Product Grid */
.product-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}
@media (max-width: 1100px) {
  .product-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .product-grid { grid-template-columns: 1fr; }
}

.product-card {
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
  position: relative;
}
.product-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-md);
  border-color: rgba(184, 134, 62, 0.4);
}

.product-card-media {
  position: relative;
  height: 200px;
  background: #EAE6DC;
  overflow: hidden;
}
.product-card-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}
.product-card:hover .product-card-img {
  transform: scale(1.06);
}
.product-card-badge {
  position: absolute;
  top: 14px;
  left: 14px;
  z-index: 2;
}

.product-card-body {
  padding: 24px;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.card-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8px;
}
.card-family-tag {
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--muted);
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: 6px;
}
.card-swatch {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  display: inline-block;
}
.card-botanical {
  font-size: 12px;
  font-style: italic;
  color: var(--gold);
  margin-bottom: 6px;
}
.card-title {
  font-family: var(--serif);
  font-size: 22px;
  line-height: 1.25;
  color: var(--navy);
}
.card-desc {
  font-size: 14px;
  color: var(--muted);
  margin-top: 10px;
  line-height: 1.6;
  flex: 1;
}
.card-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid var(--line-soft);
}
.card-tag {
  font-size: 11px;
  padding: 3px 8px;
  background: var(--ivory);
  border: 1px solid var(--line-soft);
  color: var(--navy-2);
  border-radius: 2px;
}

.card-footer {
  margin-top: 18px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.card-footer .btn {
  padding: 10px 14px;
  font-size: 12.5px;
}

.empty-state {
  grid-column: 1 / -1;
  padding: 60px 20px;
  text-align: center;
  background: var(--paper);
  border: 1px dashed var(--line);
  border-radius: var(--radius-md);
}

/* ===================== PRODUCT DETAIL MODAL / PANEL ===================== */
.modal-overlay {
  position: fixed;
  inset: 0;
  z-index: 900;
  background: rgba(15, 26, 43, 0.65);
  backdrop-filter: blur(6px);
  display: flex;
  justify-content: flex-end;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.35s ease;
}
.modal-overlay.open {
  opacity: 1;
  pointer-events: auto;
}

.modal-drawer {
  width: min(800px, 100%);
  height: 100%;
  background: var(--ivory-soft);
  overflow-y: auto;
  transform: translateX(40px);
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
  box-shadow: -20px 0 60px rgba(0, 0, 0, 0.25);
  display: flex;
  flex-direction: column;
}
.modal-overlay.open .modal-drawer {
  transform: translateX(0);
}

.modal-header {
  position: sticky;
  top: 0;
  background: rgba(251, 249, 244, 0.95);
  backdrop-filter: blur(10px);
  padding: 20px 36px;
  border-bottom: 1px solid var(--line);
  display: flex;
  justify-content: space-between;
  align-items: center;
  z-index: 10;
}
.modal-close {
  width: 36px;
  height: 36px;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: var(--transition);
}
.modal-close:hover {
  background: var(--navy);
  color: var(--ivory);
  border-color: var(--navy);
}

.modal-content {
  padding: 36px;
}
@media (max-width: 600px) {
  .modal-header, .modal-content { padding: 20px; }
}

.modal-hero-img {
  width: 100%;
  height: 280px;
  border-radius: var(--radius-md);
  object-fit: cover;
  margin-bottom: 26px;
  box-shadow: var(--shadow-sm);
}
.modal-title {
  font-size: clamp(32px, 3.8vw, 44px);
  line-height: 1.1;
}
.modal-botanical {
  font-size: 16px;
  color: var(--gold);
  font-style: italic;
  margin-top: 6px;
}
.modal-desc {
  font-size: 16.5px;
  color: var(--navy-2);
  margin-top: 20px;
  line-height: 1.75;
}

.spec-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
  margin: 28px 0;
}
@media (max-width: 600px) {
  .spec-grid { grid-template-columns: 1fr; }
}
.spec-card {
  background: var(--paper);
  border: 1px solid var(--line);
  padding: 18px 20px;
  border-radius: var(--radius-sm);
}
.spec-label {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--muted);
  font-weight: 700;
}
.spec-val {
  font-size: 14.5px;
  color: var(--navy);
  font-weight: 600;
  margin-top: 6px;
}

.doc-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
  margin-top: 14px;
}
@media (max-width: 600px) {
  .doc-grid { grid-template-columns: 1fr; }
}
.doc-box {
  background: var(--paper);
  border: 1px solid var(--line);
  padding: 12px 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 13.5px;
  border-radius: var(--radius-sm);
}
.doc-box span:last-child {
  font-size: 11px;
  color: var(--gold);
  font-weight: 700;
  text-transform: uppercase;
}

.modal-actions {
  margin-top: 36px;
  padding-top: 24px;
  border-top: 1px solid var(--line);
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
}

/* ===================== FEATURE / CATEGORY CARDS ===================== */
.cat-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
@media (max-width: 900px) {
  .cat-grid { grid-template-columns: 1fr; }
}
.cat-card-lux {
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  padding: 36px 30px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 240px;
  transition: var(--transition);
}
.cat-card-lux:hover {
  background: var(--navy);
  color: var(--ivory);
  border-color: var(--navy);
  transform: translateY(-4px);
  box-shadow: var(--shadow-lg);
}
.cat-card-lux:hover h3 { color: var(--ivory); }
.cat-card-lux:hover p { color: rgba(247, 243, 234, 0.7); }
.cat-card-lux:hover .cat-card-icon { color: var(--gold-light); }

.cat-card-top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.cat-card-icon {
  width: 32px;
  height: 32px;
  color: var(--gold);
  transition: var(--transition);
}

/* ===================== APPLICATIONS CARDS ===================== */
.app-grid-cards {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
@media (max-width: 1080px) {
  .app-grid-cards { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 580px) {
  .app-grid-cards { grid-template-columns: 1fr; }
}
.app-box {
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  padding: 28px 24px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  transition: var(--transition);
}
.app-box:hover {
  border-color: var(--gold);
  transform: translateY(-3px);
  box-shadow: var(--shadow-sm);
}
.app-icon {
  width: 36px;
  height: 36px;
  color: var(--gold);
}
.app-title {
  font-family: var(--serif);
  font-size: 19px;
  color: var(--navy);
}
.app-desc {
  font-size: 13.5px;
  color: var(--muted);
  line-height: 1.6;
}

/* ===================== WHY OLEORESINS GRID ===================== */
.why-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: rgba(247, 243, 234, 0.12);
  border: 1px solid rgba(247, 243, 234, 0.12);
  border-radius: var(--radius-md);
  overflow: hidden;
}
@media (max-width: 960px) {
  .why-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
  .why-grid { grid-template-columns: 1fr; }
}
.why-box {
  background: var(--navy);
  padding: 40px 30px;
}
.why-num {
  font-family: var(--serif);
  font-style: italic;
  font-size: 18px;
  color: var(--gold-light);
}
.why-title {
  font-family: var(--serif);
  font-size: 22px;
  margin-top: 14px;
  color: var(--ivory);
}
.why-desc {
  font-size: 14.5px;
  color: rgba(247, 243, 234, 0.65);
  margin-top: 12px;
  line-height: 1.65;
}

/* ===================== SOURCING PROCESS ===================== */
.process-steps {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
  position: relative;
}
.process-steps::before {
  content: '';
  position: absolute;
  top: 24px;
  left: 15%;
  right: 15%;
  height: 1px;
  background: var(--line);
  z-index: 1;
}
@media (max-width: 860px) {
  .process-steps { grid-template-columns: 1fr; gap: 32px; }
  .process-steps::before { display: none; }
}
.process-card {
  position: relative;
  z-index: 2;
}
.process-badge {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: var(--ivory);
  border: 1.5px solid var(--gold);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--serif);
  font-style: italic;
  color: var(--gold);
  font-size: 18px;
  margin-bottom: 20px;
}
.process-title {
  font-family: var(--serif);
  font-size: 24px;
}
.process-desc {
  font-size: 15px;
  color: var(--muted);
  margin-top: 10px;
  line-height: 1.65;
}

/* ===================== FORMS & QUOTE BUILDER ===================== */
.form-panel {
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  padding: 44px;
  box-shadow: var(--shadow-md);
}
@media (max-width: 640px) {
  .form-panel { padding: 24px; }
}

.form-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}
.form-grid.full {
  grid-column: 1 / -1;
}
@media (max-width: 640px) {
  .form-grid { grid-template-columns: 1fr; }
}

.form-group {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.form-group.span-2 {
  grid-column: 1 / -1;
}
.form-group label {
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--navy);
  font-weight: 700;
}
.form-group input,
.form-group select,
.form-group textarea {
  width: 100%;
  padding: 12px 14px;
  border: 1px solid var(--line);
  background: var(--ivory-soft);
  border-radius: var(--radius-sm);
  font-size: 15px;
  color: var(--navy);
  transition: var(--transition);
}
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
  outline: none;
  border-color: var(--gold);
  background: var(--paper);
  box-shadow: 0 0 0 3px rgba(184, 134, 62, 0.12);
}
.form-group textarea {
  resize: vertical;
  min-height: 110px;
}

.type-selector {
  display: flex;
  gap: 12px;
  margin-bottom: 24px;
  flex-wrap: wrap;
}
.type-btn {
  padding: 12px 24px;
  border: 1px solid var(--line);
  background: var(--ivory-soft);
  font-size: 13.5px;
  font-weight: 600;
  color: var(--navy-2);
  border-radius: var(--radius-sm);
  transition: var(--transition);
}
.type-btn.active {
  background: var(--navy);
  color: var(--ivory-soft);
  border-color: var(--navy);
}

.form-alert {
  padding: 24px;
  border-radius: var(--radius-sm);
  margin-top: 24px;
  display: none;
}
.form-alert.success {
  background: rgba(92, 122, 75, 0.12);
  border: 1px solid rgba(92, 122, 75, 0.3);
  color: #2F4225;
}
.form-alert.show {
  display: block;
}

/* ===================== FOOTER ===================== */
footer {
  background: var(--navy);
  color: rgba(247, 243, 234, 0.75);
}
.footer-top {
  padding: 80px 0 50px;
}
.footer-grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1.2fr;
  gap: 40px;
}
@media (max-width: 980px) {
  .footer-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 540px) {
  .footer-grid { grid-template-columns: 1fr; }
}

.footer-logo {
  display: flex;
  align-items: center;
  gap: 12px;
}
.footer-logo svg { width: 32px; height: 32px; }
.footer-logo-text {
  font-family: var(--serif);
  color: var(--ivory);
  font-size: 20px;
  font-weight: 600;
}
.footer-tagline {
  font-family: var(--serif);
  font-style: italic;
  color: var(--gold-light);
  margin-top: 14px;
  font-size: 15.5px;
}
.footer-desc {
  font-size: 14px;
  margin-top: 16px;
  line-height: 1.7;
  max-width: 320px;
}

.footer-col h5 {
  font-family: var(--sans);
  font-size: 11.5px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(247, 243, 234, 0.4);
  margin-bottom: 20px;
  font-weight: 700;
}
.footer-col a {
  display: block;
  font-size: 14.5px;
  margin-bottom: 12px;
  color: rgba(247, 243, 234, 0.7);
}
.footer-col a:hover {
  color: var(--gold-light);
  transform: translateX(3px);
}

.footer-bottom {
  border-top: 1px solid var(--line-dark);
  padding: 24px 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 13px;
  color: rgba(247, 243, 234, 0.45);
  flex-wrap: wrap;
  gap: 14px;
}
/* ===================== TOAST NOTIFICATION ===================== */
.toast-notification {
  position: fixed;
  bottom: 24px;
  right: 24px;
  background: var(--navy);
  color: var(--ivory);
  padding: 14px 22px;
  border-radius: var(--radius-md);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25);
  border: 1px solid var(--gold);
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 14px;
  z-index: 9999;
  transform: translateY(100px);
  opacity: 0;
  transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
  pointer-events: none;
}
.toast-notification.show {
  transform: translateY(0);
  opacity: 1;
  pointer-events: auto;
}
.toast-icon {
  width: 20px;
  height: 20px;
  color: var(--gold-light);
  flex-shrink: 0;
}


/* ===================== AUREVA CLEAN / MOBILE OVERRIDES ===================== */
.hero-clean { padding: 150px 0 90px; }
.hero-clean-inner { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr); gap:70px; align-items:center; }
.hero-clean .hero-copy { max-width:720px; }
.hero-card { background:var(--navy); color:var(--ivory); padding:42px; border-radius:var(--radius-lg); box-shadow:var(--shadow-md); }
.hero-card-kicker { font-size:11px; letter-spacing:.18em; font-weight:700; color:var(--gold-light); text-transform:uppercase; }
.hero-card-title { font-family:var(--serif); font-size:clamp(30px,3.5vw,46px); line-height:1.12; margin-top:24px; }
.hero-card-title span { color:var(--gold-light); font-style:italic; }
.hero-card p { color:rgba(247,243,234,.72); margin-top:18px; line-height:1.7; }
.text-link { display:inline-block; margin-top:20px; color:var(--gold); font-weight:700; font-size:14px; }
.hero-card .text-link { color:var(--gold-light); }
.section-compact { padding:78px 0; }
.intro-grid { display:grid; grid-template-columns:1fr 1.15fr; gap:70px; align-items:start; }
.lead-copy { color:var(--muted); font-size:17px; line-height:1.8; max-width:700px; }
.compact-head { display:flex; justify-content:space-between; align-items:end; max-width:none; gap:30px; margin-bottom:34px; }
.simple-points { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:rgba(247,243,234,.14); }
.simple-points > div { background:var(--navy); padding:32px 28px; }
.simple-points span { color:var(--gold-light); font-family:var(--serif); font-size:18px; }
.simple-points h3 { color:var(--ivory); font-size:24px; margin-top:12px; }
.simple-points p { color:rgba(247,243,234,.68); font-size:14px; line-height:1.7; margin-top:9px; }
.cta-simple { text-align:center; }
.cta-simple .eyebrow { justify-content:center; }
.cta-simple h2 { margin-top:5px; }
.cta-simple p { color:var(--muted); margin:12px auto 26px; }
.quote-hero p { color:var(--muted); font-size:17px; max-width:650px; margin-top:14px; }
.quote-layout { display:grid; grid-template-columns:.75fr 1.25fr; gap:60px; align-items:start; }
.quote-intro { padding-top:18px; }
.quote-intro h2 { margin-top:10px; }
.quote-intro > p { color:var(--muted); line-height:1.75; margin-top:16px; }
.quote-contact { margin-top:30px; padding-top:20px; border-top:1px solid var(--line); display:flex; flex-direction:column; gap:6px; }
.quote-contact strong { font-size:14px; }
.quote-contact a { color:var(--gold); font-weight:700; }
.form-submit-row { margin-top:26px; }
.form-alert.success { padding:24px; }
.form-alert.success h3 { color:#2F4225; margin:0; font-size:28px; }
.form-alert.success p { margin:8px 0 0; color:#40513A; }
.success-ref { font-size:13px !important; color:var(--muted) !important; }
.footer-email { margin-top:14px; font-size:14px; }
.footer-email a { color:var(--gold-light); font-weight:600; }

@media (max-width: 980px) {
  .hero-clean-inner, .intro-grid, .quote-layout { grid-template-columns:1fr; gap:38px; }
  .hero-clean { padding-top:120px; }
  .hero-card { max-width:620px; }
  .simple-points { grid-template-columns:1fr; }
}
@media (max-width: 640px) {
  .wrap { padding-left:18px; padding-right:18px; }
  .section-compact { padding:58px 0; }
  .hero-clean { padding:105px 0 58px; }
  .hero-clean-inner { gap:30px; }
  .hero-sub { font-size:16px; }
  .hero-actions { flex-direction:column; gap:10px; margin-top:28px; }
  .hero-actions .btn, .cta-simple .btn, .form-submit-row .btn { width:100%; }
  .hero-card { padding:28px; }
  .hero-card-title { font-size:31px; }
  .compact-head { align-items:flex-start; flex-direction:column; gap:18px; }
  .compact-head .btn { width:100%; }
  .product-grid { grid-template-columns:1fr !important; }
  .quote-hero { padding:110px 0 52px; }
  .quote-layout { gap:28px; }
  .quote-intro { padding-top:0; }
  .form-panel { padding:20px; }
  .type-selector { display:grid; grid-template-columns:1fr; gap:8px; }
  .type-btn { width:100%; padding:12px 14px; }
  .form-grid { grid-template-columns:1fr !important; gap:16px; }
  .form-group.span-2 { grid-column:auto; }
  .form-group input, .form-group select, .form-group textarea { min-height:48px; font-size:16px; }
  .form-group textarea { min-height:120px; }
  .footer-top { padding:55px 0 35px; }
  .footer-bottom { flex-direction:column; gap:8px; align-items:flex-start !important; }
  .footer-bottom span { font-size:12px; }
}

@media (max-width: 700px) {
  /* Force any older inline two-column layouts to stack cleanly on phones. */
  section .wrap[style*="grid-template-columns"],
  .wrap[style*="grid-template-columns"] { grid-template-columns: 1fr !important; }
  .section-head[style*="display:flex"] { align-items:flex-start !important; }
  .nav-cta .btn { display:none; }
  .nav { min-height:64px; }
  .nav .logo svg { width:32px; height:32px; }
  .logo-text { font-size:17px; }
  .logo-text small { font-size:8px; }
}


/* === FINAL MOBILE RESPONSIVE PASS === */
@media (max-width: 760px) {
html, body { width:100%; max-width:100%; overflow-x:hidden; }
.wrap { width:100%; }
.product-card-media { aspect-ratio: 4 / 3; height:auto; min-height:0; }
.product-card-img { object-fit:cover; }
.catalogue-toolbar { width:100%; }
.search-wrapper { min-width:0; width:100%; }
.filters-scroll { max-width:100%; -webkit-overflow-scrolling:touch; }
.btn { max-width:100%; }
table { display:block; width:100%; overflow-x:auto; }
.form-panel { width:100%; max-width:100%; overflow:hidden; }
.form-grid { min-width:0; }
.form-group { min-width:0; }
.form-group input, .form-group select, .form-group textarea { width:100%; max-width:100%; }
.modal-drawer { width:min(720px, 100vw); max-height:100vh; overflow-y:auto; }
.modal-content { min-width:0; overflow-wrap:anywhere; }
.modal-actions .btn { min-width:0; }
.hero-clean-inner > *, .intro-grid > *, .quote-layout > * { min-width:0; }
}

@media (max-width: 640px) {
  .nav { padding:12px 16px; }
  .logo { gap:8px; }
  .logo svg { width:28px !important; height:28px !important; }
  .nav-toggle { width:38px; height:38px; }
  h1 { font-size:clamp(34px, 11vw, 48px); }
  h2 { font-size:clamp(27px, 8vw, 36px); }
  .section-head { margin-bottom:32px; }
  .product-card-media { aspect-ratio: 1.25 / 1; }
  .product-card-body { padding:18px; }
  .product-card-body .btn { width:100%; }
  .catalogue-toolbar { gap:14px; }
  .search-wrapper { margin-top:0 !important; }
  .filter-chip { padding:8px 13px; font-size:12px; }
  .modal-drawer { border-radius:0; }
  .modal-hero-img { height:210px; }
  .modal-content { padding:18px; }
  .modal-actions { flex-direction:column; }
  .modal-actions .btn { width:100%; }
  .quote-layout { grid-template-columns:1fr !important; }
  .quote-intro h2 { font-size:32px; }
  .footer-grid { grid-template-columns:1fr !important; gap:30px; }
}


/* ===== AUREVA MOBILE V2: true single-column phone layout ===== */
*, *::before, *::after { box-sizing: border-box; }
img, svg, video { max-width: 100%; height: auto; }
body { margin: 0; width: 100%; min-width: 0 !important; overflow-x: hidden; }
.wrap { width: 100%; max-width: var(--container); margin-left: auto; margin-right: auto; }

.hero-image-card { overflow: hidden; padding: 0 !important; background: var(--paper); }
.hero-image-card img { display:block; width:100%; height:100%; min-height:360px; object-fit:cover; }
.hero-image-caption { padding:20px 24px 22px; display:flex; flex-direction:column; gap:6px; }
.hero-image-caption span { color:var(--gold); text-transform:uppercase; letter-spacing:.12em; font-size:11px; font-weight:700; }
.hero-image-caption strong { color:var(--navy); font-size:18px; }

@media (max-width: 760px) {
  .wrap { width:100% !important; max-width:100% !important; padding-left:18px !important; padding-right:18px !important; }
  .nav { width:100%; padding-left:16px !important; padding-right:16px !important; }
  .nav-links { display:none !important; }
  .nav-cta .btn { display:none !important; }
  .nav-toggle { display:flex !important; align-items:center; justify-content:center; flex:0 0 40px; }
  .hero-clean { padding:88px 0 48px !important; }
  .hero-clean-inner { width:100% !important; display:grid !important; grid-template-columns:1fr !important; gap:28px !important; }
  .hero-copy, .hero-card { width:100% !important; max-width:none !important; min-width:0 !important; }
  .hero-copy h1 { font-size:clamp(40px, 12vw, 54px) !important; line-height:1.03; }
  .hero-sub { font-size:16px !important; line-height:1.65 !important; }
  .hero-actions { display:flex !important; flex-direction:column !important; width:100%; }
  .hero-actions .btn { width:100% !important; justify-content:center; }
  .hero-image-card img { min-height:250px; height:250px; }
  .hero-image-caption { padding:17px 18px 20px; }

  /* Catalogue */
  .catalogue-toolbar { display:flex !important; flex-direction:column !important; align-items:stretch !important; width:100% !important; gap:18px !important; }
  .catalogue-toolbar > div { width:100% !important; min-width:0 !important; }
  .filters-scroll { width:100% !important; max-width:100% !important; overflow-x:auto !important; display:flex !important; flex-wrap:nowrap !important; }
  .search-wrapper { width:100% !important; min-width:0 !important; }
  .search-wrapper input { width:100% !important; }
  .product-grid { width:100% !important; grid-template-columns:1fr !important; gap:18px !important; }
  .product-card { width:100% !important; min-width:0 !important; }
  .product-card-media { width:100% !important; aspect-ratio: 4 / 3 !important; }
  .product-card-img { width:100% !important; height:100% !important; object-fit:cover !important; }
  .product-card-body { width:100% !important; }

  /* Every inline 2/3/4-column section becomes one column */
  section .wrap[style*="grid-template-columns"],
  section .wrap > [style*="grid-template-columns"],
  .wrap[style*="grid-template-columns"] {
    display:grid !important;
    grid-template-columns:1fr !important;
    width:100% !important;
    max-width:100% !important;
  }

  /* About roadmap */
  .bg-navy .wrap > div[style*="repeat(4"] {
    display:grid !important;
    grid-template-columns:1fr !important;
    width:100% !important;
    gap:14px !important;
  }
  .bg-navy .wrap > div[style*="repeat(4"] > div {
    width:100% !important;
    min-width:0 !important;
    padding:22px 20px !important;
  }

  /* About/story cards */
  .cat-grid { grid-template-columns:1fr !important; width:100% !important; }

  /* Quote */
  .quote-layout { display:grid !important; grid-template-columns:1fr !important; width:100% !important; gap:28px !important; }
  .form-panel, .form-grid, .form-group { width:100% !important; min-width:0 !important; }
  .form-grid { grid-template-columns:1fr !important; }
  .form-group.span-2 { grid-column:auto !important; }
  .form-group input, .form-group select, .form-group textarea { width:100% !important; max-width:100% !important; }
  .type-selector { grid-template-columns:1fr !important; }

  /* Footer */
  .footer-grid { grid-template-columns:1fr !important; width:100% !important; }

  /* Typography / spacing */
  .section { padding-left:0 !important; padding-right:0 !important; }
  .section-head h2, .compact-head h2 { font-size:clamp(30px, 9vw, 42px) !important; }
  .btn { max-width:100%; white-space:normal; }
}

/* Ensure no component can create a wider layout on a phone. */
@media (max-width: 480px) {
  .container, main, section, footer, header { max-width:100vw; }
  .section { overflow:clip; }
  .mobile-menu { max-width:100vw !important; }
  .hero-image-card img { height:220px; min-height:220px; }
  .product-card-media { aspect-ratio: 1.15 / 1 !important; }
  .product-card-body { padding:16px !important; }
  .filter-chip { flex:0 0 auto; }
  .quote-hero { padding-top:92px !important; }
}


/* =========================================================
   AUREVA V3 — FULL RESPONSIVE / CLEAN HERO
   ========================================================= */
.hero-photo {
  position: relative;
  min-height: min(860px, 88vh);
  display: flex;
  align-items: center;
  overflow: hidden;
  isolation: isolate;
  background: var(--navy);
  color: var(--ivory);
}
.hero-photo-bg,
.hero-photo-overlay {
  position: absolute;
  inset: 0;
}
.hero-photo-bg {
  z-index: -3;
  background: url("../images/aureva-hero-banner.jpg") center center / cover no-repeat;
  transform: scale(1.01);
}
.hero-photo-overlay {
  z-index: -2;
  background:
    linear-gradient(90deg, rgba(7,18,18,.94) 0%, rgba(7,18,18,.82) 36%, rgba(7,18,18,.30) 65%, rgba(7,18,18,.12) 100%),
    linear-gradient(0deg, rgba(7,18,18,.46), transparent 35%);
}
.hero-photo-content {
  padding-top: 90px;
  padding-bottom: 90px;
}
.hero-photo h1 {
  color: var(--ivory);
  font-size: clamp(48px, 6.5vw, 86px);
  max-width: 820px;
  line-height: .99;
  margin-top: 8px;
}
.hero-photo h1 em {
  color: var(--gold-light);
  font-style: italic;
  font-weight: 400;
}
.hero-photo .hero-sub {
  max-width: 650px;
  margin-top: 24px;
  color: rgba(247,243,234,.82);
  font-size: 18px;
  line-height: 1.7;
}
.hero-photo .hero-actions {
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  margin-top:32px;
}
.hero-photo .btn { min-height:52px; }
.hero-scroll-cue {
  position:absolute;
  left:50%;
  bottom:26px;
  transform:translateX(-50%);
  color:rgba(247,243,234,.72);
  font-size:10px;
  letter-spacing:.16em;
  text-transform:uppercase;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
}
.hero-scroll-cue span { width:1px; height:30px; background:var(--gold-light); }

/* Prevent any page section from creating a desktop-width island */
html, body { width:100%; max-width:100%; }
main, section, footer, header { max-width:100%; }
.mobile-stack { min-width:0; }
.mobile-stack > * { min-width:0; max-width:100%; }

/* Roadmap is deliberately stacked on phones */
.roadmap-grid { display:grid !important; }
.roadmap-grid > div { min-width:0 !important; max-width:100% !important; }

/* Quote success is intentionally compact */
.form-alert.success {
  padding: 20px !important;
  border: 1px solid rgba(60,82,49,.22);
  background: #eef3eb;
}
.success-simple {
  display:flex;
  align-items:flex-start;
  gap:13px;
}
.success-simple > svg {
  flex:0 0 25px;
  width:25px;
  height:25px;
  margin-top:3px;
  color:#3c5231;
}
.success-simple h3 {
  margin:0 !important;
  font-size:22px !important;
  color:#2f4225 !important;
}
.success-simple p {
  margin:4px 0 0 !important;
  color:#40513a !important;
}
.success-simple .success-ref {
  font-size:12.5px !important;
  color:var(--muted) !important;
}

/* Contact details must never run into headings on small screens */
.quote-contact a { overflow-wrap:anywhere; word-break:break-word; }

/* Full-width controls on phones */
@media (max-width: 760px) {
  .hero-photo {
    min-height: calc(100svh - 72px);
    min-height: 720px;
    align-items:flex-end;
  }
  .hero-photo-bg {
    background-position: 62% center;
  }
  .hero-photo-overlay {
    background:
      linear-gradient(180deg, rgba(7,18,18,.10) 0%, rgba(7,18,18,.28) 35%, rgba(7,18,18,.88) 72%, rgba(7,18,18,.96) 100%);
  }
  .hero-photo-content {
    width:100% !important;
    padding:120px 18px 92px !important;
  }
  .hero-photo h1 {
    font-size:clamp(43px, 12vw, 62px) !important;
    line-height:1.0 !important;
  }
  .hero-photo .hero-sub {
    font-size:15.5px !important;
    line-height:1.6 !important;
    margin-top:18px;
  }
  .hero-photo .hero-actions {
    flex-direction:column;
    width:100%;
    margin-top:24px;
  }
  .hero-photo .hero-actions .btn {
    width:100% !important;
  }
  .hero-scroll-cue { display:none; }

  /* Header */
  #site-header, #site-header .nav {
    width:100% !important;
    max-width:100% !important;
  }
  .nav { min-height:72px; }

  /* Every explicitly declared multi-column layout */
  .mobile-stack,
  .mobile-stack[style] {
    display:grid !important;
    grid-template-columns:1fr !important;
    width:100% !important;
    max-width:100% !important;
    gap:24px !important;
  }
  .mobile-stack > div,
  .mobile-stack > article {
    width:100% !important;
    max-width:100% !important;
  }

  /* Roadmap: one card at a time, never a horizontal strip */
  .roadmap-grid {
    grid-template-columns:1fr !important;
    gap:14px !important;
  }
  .roadmap-grid > div {
    width:100% !important;
    padding:22px 20px !important;
  }

  /* Catalogue */
  .hero-page .wrap,
  .section .wrap,
  .footer-top.wrap,
  .footer-bottom.wrap {
    width:100% !important;
    max-width:100% !important;
  }
  .catalogue-toolbar {
    display:flex !important;
    flex-direction:column !important;
    width:100% !important;
  }
  .catalogue-toolbar > div {
    width:100% !important;
    max-width:100% !important;
  }
  .filters-scroll {
    width:100% !important;
    max-width:100% !important;
    overflow-x:auto !important;
    flex-wrap:nowrap !important;
  }
  .search-wrapper {
    width:100% !important;
    min-width:0 !important;
  }
  .product-grid {
    display:grid !important;
    grid-template-columns:1fr !important;
    width:100% !important;
  }
  .product-card {
    width:100% !important;
    max-width:100% !important;
  }
  .product-card-media {
    height:auto !important;
    aspect-ratio:16/10 !important;
  }

  /* Forms */
  .quote-layout {
    display:grid !important;
    grid-template-columns:1fr !important;
    width:100% !important;
  }
  .form-panel, .form-grid, .form-group {
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
  }
  .form-grid {
    display:grid !important;
    grid-template-columns:1fr !important;
  }
  .form-group.span-2 { grid-column:1 !important; }
  .form-group input,
  .form-group select,
  .form-group textarea {
    width:100% !important;
    max-width:100% !important;
  }
  .type-selector {
    display:grid !important;
    grid-template-columns:1fr !important;
    width:100% !important;
  }
  .type-btn { width:100% !important; }

  /* Tables / application content */
  .table-wrap, .responsive-table, table {
    max-width:100% !important;
  }
  .table-wrap, .responsive-table {
    overflow-x:auto !important;
  }

  /* Images never determine page width */
  img, svg, video, canvas, iframe {
    max-width:100% !important;
  }

  /* Footer */
  .footer-grid {
    display:grid !important;
    grid-template-columns:1fr !important;
    width:100% !important;
  }
}

@media (max-width: 480px) {
  .hero-photo { min-height: 680px; }
  .hero-photo-content { padding-left:18px !important; padding-right:18px !important; }
  .hero-photo h1 { font-size:44px !important; }
  .form-alert.success { margin:0 !important; }
}

/* =========================================================
   AUREVA V4 — CINEMATIC HERO + REAL MOBILE LAYOUT
   ========================================================= */
html, body {
  width:100% !important;
  max-width:100% !important;
  overflow-x:hidden !important;
}
*, *::before, *::after { box-sizing:border-box; }
img, svg, video, canvas, iframe { max-width:100%; }

.aureva-hero {
  min-height: min(900px, calc(100svh - 72px));
  height: 900px;
  position:relative;
  overflow:hidden;
  isolation:isolate;
  display:flex;
  align-items:center;
  color:var(--ivory);
  background:#071614;
}
.aureva-hero .hero-photo-bg {
  position:absolute !important;
  inset:-4% !important;
  z-index:-4;
  background-image:url("../images/aureva-hero-banner.jpg") !important;
  background-size:cover !important;
  background-position:center !important;
  transform:scale(1.04);
  transition:transform .15s ease-out;
  will-change:transform;
}
.aureva-hero .hero-photo-overlay {
  position:absolute !important;
  inset:0 !important;
  z-index:-3;
  background:
    linear-gradient(90deg, rgba(4,16,15,.88) 0%, rgba(4,16,15,.70) 34%, rgba(4,16,15,.22) 72%, rgba(4,16,15,.10) 100%),
    linear-gradient(0deg, rgba(2,10,9,.66), transparent 42%);
}
.hero-spice-glow {
  position:absolute;
  right:8%;
  top:22%;
  width:260px;
  height:260px;
  border-radius:50%;
  background:rgba(213,164,83,.13);
  filter:blur(55px);
  z-index:-2;
  pointer-events:none;
}
.aureva-hero .hero-photo-content {
  position:relative;
  z-index:2;
  width:100%;
  padding-top:90px;
  padding-bottom:90px;
}
.aureva-hero h1 {
  max-width:900px;
  font-size:clamp(52px,7vw,94px) !important;
  line-height:.98 !important;
  letter-spacing:-.035em;
  color:#fff !important;
  text-shadow:0 2px 25px rgba(0,0,0,.16);
}
.aureva-hero h1 em {
  color:#ddb06a !important;
}
.aureva-hero .hero-sub {
  max-width:650px;
  color:rgba(255,255,255,.84) !important;
  font-size:19px !important;
  line-height:1.7 !important;
}
.aureva-hero .hero-actions { margin-top:32px; }
.aureva-hero .btn-gold {
  background:#c89445 !important;
  border-color:#c89445 !important;
  color:#101c2c !important;
}
.hero-hotspot {
  position:absolute;
  z-index:3;
  display:flex;
  align-items:center;
  gap:8px;
  color:rgba(255,255,255,.9);
  font-size:10px;
  letter-spacing:.16em;
  text-transform:uppercase;
  pointer-events:none;
}
.hero-hotspot::before {
  content:"";
  width:7px;
  height:7px;
  border-radius:50%;
  background:#ddb06a;
  box-shadow:0 0 0 6px rgba(221,176,106,.14),0 0 22px rgba(221,176,106,.65);
}
.hotspot-1 { right:24%; top:29%; }
.hotspot-2 { right:12%; top:58%; }
.hotspot-3 { right:31%; bottom:19%; }

.aureva-hero .hero-scroll-cue {
  position:absolute;
  z-index:4;
  left:50%;
  bottom:28px;
  transform:translateX(-50%);
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:10px;
  color:rgba(255,255,255,.78);
  font-size:10px;
  letter-spacing:.18em;
  text-transform:uppercase;
  text-decoration:none;
}
.aureva-hero .hero-scroll-cue i {
  display:block;
  width:1px;
  height:42px;
  background:linear-gradient(#ddb06a,rgba(221,176,106,0));
  position:relative;
}
.aureva-hero .hero-scroll-cue i::after {
  content:"";
  position:absolute;
  bottom:4px;
  left:-3px;
  width:7px;
  height:7px;
  border-right:1px solid #ddb06a;
  border-bottom:1px solid #ddb06a;
  transform:rotate(45deg);
}

/* All inner wrappers must use the viewport on small screens */
@media (max-width:900px) {
  .wrap {
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding-left:20px !important;
    padding-right:20px !important;
  }
  .hero-page,
  .section,
  .hero {
    width:100% !important;
    max-width:100% !important;
    overflow:hidden !important;
  }

  /* Universal page layouts */
  .hero-grid,
  .intro-grid,
  .quote-layout,
  .story-grid,
  .roadmap-grid,
  .cat-grid,
  .app-grid-cards,
  .why-grid,
  .process-steps,
  .quality-grid,
  .product-grid,
  .simple-points {
    width:100% !important;
    max-width:100% !important;
    grid-template-columns:1fr !important;
  }

  .hero-grid > *,
  .intro-grid > *,
  .quote-layout > *,
  .story-grid > *,
  .roadmap-grid > *,
  .cat-grid > *,
  .app-grid-cards > *,
  .why-grid > *,
  .process-steps > *,
  .quality-grid > *,
  .product-grid > *,
  .simple-points > * {
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
  }

  /* Catalogue controls */
  .catalogue-toolbar {
    width:100% !important;
    display:block !important;
  }
  .catalogue-toolbar > * {
    width:100% !important;
    max-width:100% !important;
    margin-bottom:14px;
  }
  .filters-scroll {
    width:100% !important;
    max-width:100% !important;
    display:flex !important;
    flex-wrap:nowrap !important;
    overflow-x:auto !important;
    -webkit-overflow-scrolling:touch;
    padding-bottom:8px;
  }
  .filter-chip { flex:0 0 auto !important; }
  .search-wrapper {
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
  }

  /* Cards */
  .product-card {
    width:100% !important;
    max-width:100% !important;
  }
  .product-card-media {
    width:100% !important;
    height:auto !important;
    aspect-ratio:16/10 !important;
  }

  /* Form */
  .form-panel,
  .form-grid,
  .form-group,
  .type-selector {
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
  }
  .form-grid { grid-template-columns:1fr !important; }
  .form-group.span-2 { grid-column:auto !important; }
  .form-group input,
  .form-group select,
  .form-group textarea {
    width:100% !important;
    max-width:100% !important;
  }
  .type-selector { grid-template-columns:1fr !important; }
  .type-btn { width:100% !important; }

  /* Tables */
  .table-wrap, .responsive-table {
    width:100% !important;
    max-width:100% !important;
    overflow-x:auto !important;
  }
  table { min-width:0 !important; }

  /* Footer */
  .footer-top.wrap,
  .footer-bottom.wrap {
    width:100% !important;
  }
  .footer-grid {
    width:100% !important;
    grid-template-columns:1fr !important;
  }
}

/* Hero on phones: image first, text over it, just like an ingredient brand site */
@media (max-width:600px) {
  .aureva-hero {
    height:calc(100svh - 72px) !important;
    min-height:700px !important;
    max-height:none !important;
    align-items:flex-end !important;
  }
  .aureva-hero .hero-photo-bg {
    inset:-8% -10% !important;
    background-position:68% center !important;
    transform:scale(1.08);
  }
  .aureva-hero .hero-photo-overlay {
    background:
      linear-gradient(180deg, rgba(4,16,15,.05) 0%, rgba(4,16,15,.08) 28%, rgba(4,16,15,.48) 54%, rgba(4,16,15,.94) 82%, rgba(4,16,15,.98) 100%) !important;
  }
  .aureva-hero .hero-photo-content {
    padding:70px 20px 82px !important;
  }
  .aureva-hero h1 {
    font-size:clamp(42px,12.5vw,58px) !important;
    line-height:.99 !important;
  }
  .aureva-hero .hero-sub {
    font-size:16px !important;
    line-height:1.58 !important;
    margin-top:18px !important;
    max-width:100% !important;
  }
  .aureva-hero .hero-actions {
    flex-direction:column !important;
    width:100% !important;
    gap:10px !important;
    margin-top:22px !important;
  }
  .aureva-hero .hero-actions .btn {
    width:100% !important;
    min-height:54px;
  }
  .hero-hotspot { display:none; }
  .aureva-hero .hero-scroll-cue {
    left:20px;
    transform:none;
    bottom:20px;
    flex-direction:row;
    gap:10px;
    letter-spacing:.13em;
  }
  .aureva-hero .hero-scroll-cue i {
    width:28px;
    height:1px;
    background:linear-gradient(90deg,#ddb06a,rgba(221,176,106,0));
  }
  .aureva-hero .hero-scroll-cue i::after {
    right:4px;
    left:auto;
    bottom:-3px;
    transform:rotate(-45deg);
  }

  /* Header */
  #site-header { width:100% !important; }
  .nav {
    width:100% !important;
    min-width:0 !important;
    padding:0 14px 0 16px !important;
  }
  .logo { min-width:0 !important; }
  .logo-text { font-size:22px !important; }
  .nav-cta .btn { min-width:0 !important; }

  /* Page hero sections */
  .hero-page {
    padding:112px 0 54px !important;
  }
  .hero-page .wrap {
    width:100% !important;
    max-width:none !important;
  }
  .hero-page h1 {
    font-size:42px !important;
    line-height:1.03 !important;
  }
  .hero-page .hero-sub,
  .hero-page p {
    max-width:100% !important;
  }

  .section { padding:58px 0 !important; }
  .section-head { margin-bottom:30px !important; }
  .section-head h2,
  .compact-head h2 { font-size:34px !important; }

  /* About */
  .story-grid img,
  .story-grid figure,
  .story-grid .story-image {
    width:100% !important;
    max-width:100% !important;
  }
  .roadmap-grid {
    gap:14px !important;
  }
  .roadmap-grid > * {
    padding:22px 18px !important;
    overflow-wrap:anywhere;
  }

  /* Applications / quality */
  .app-box,
  .cat-card-lux {
    min-height:0 !important;
    padding:24px 20px !important;
  }

  /* Quote */
  .quote-layout { gap:30px !important; }
  .quote-intro h2 { font-size:34px !important; }
  .type-selector {
    display:grid !important;
    gap:10px !important;
  }
  .form-panel { padding:18px !important; }
  .form-alert.success {
    margin:0 !important;
    padding:18px !important;
  }
  .success-simple h3 { font-size:21px !important; }

  /* No horizontal strips masquerading as mobile content */
  .mobile-stack,
  .mobile-stack[style] {
    display:grid !important;
    grid-template-columns:1fr !important;
    width:100% !important;
    max-width:100% !important;
  }
}

/* Slightly wider phones/tablets */
@media (min-width:601px) and (max-width:900px) {
  .aureva-hero { height:760px !important; min-height:760px !important; }
  .aureva-hero .hero-photo-content { padding:110px 30px 100px !important; }
  .hero-hotspot { display:none; }
}

/* Accessibility / reduced motion */
@media (prefers-reduced-motion: reduce) {
  .aureva-hero .hero-photo-bg { transition:none !important; }
  .product-card, .app-box, .cat-card-lux { transition:none !important; }
}

/* =========================================================
   AUREVA V5 — FINAL MOBILE + INTERACTIVE POLISH
   ========================================================= */
.aureva-hero{height:min(900px,100svh);min-height:760px;isolation:isolate;}
.hero-carousel-bg{position:absolute;inset:0;z-index:-4;overflow:hidden;background:#0a1518;}
.hero-slide-bg{position:absolute;inset:-3%;opacity:0;background-position:center;background-size:cover;background-repeat:no-repeat;transform:scale(1.045) translate3d(var(--hero-x,0),var(--hero-y,0),0);transition:opacity .8s ease,transform 1.1s cubic-bezier(.16,1,.3,1);}
.hero-slide-bg.is-active{opacity:1;}
.aureva-hero .hero-photo-overlay{z-index:-3;background:linear-gradient(90deg,rgba(5,15,18,.91) 0%,rgba(5,15,18,.74) 36%,rgba(5,15,18,.26) 70%,rgba(5,15,18,.12) 100%),linear-gradient(0deg,rgba(3,10,12,.62),transparent 52%);}
.hero-carousel-copy{max-width:760px;}
.hero-kicker-line{margin:14px 0 12px;color:rgba(255,255,255,.68);font-size:11px;letter-spacing:.2em;font-weight:700;text-transform:uppercase;}
.hero-product-panel{position:absolute;right:7%;top:50%;transform:translateY(-50%);width:320px;padding:26px;background:rgba(12,24,35,.70);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 24px 70px rgba(0,0,0,.24);}
.hero-product-panel::before{content:"";display:block;width:56px;height:4px;background:linear-gradient(90deg,#d9a75d,#8d4b25);margin-bottom:20px;}
.hero-panel-label{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:#ddb06a;font-weight:700;}
.hero-panel-title{font-family:var(--serif);font-size:31px;color:#fff;line-height:1.1;margin-top:8px;}
.hero-product-panel p{color:rgba(255,255,255,.72);font-size:14px;line-height:1.7;margin-top:12px;}
.hero-panel-meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:18px;}
.hero-panel-meta span{border:1px solid rgba(255,255,255,.16);padding:6px 9px;color:rgba(255,255,255,.72);font-size:10px;letter-spacing:.08em;text-transform:uppercase;}
.hero-panel-link{display:inline-block;margin-top:20px;color:#ddb06a;font-size:13px;font-weight:700;}
.hero-arrow{position:absolute;z-index:5;top:50%;transform:translateY(-50%);width:48px;height:48px;border:1px solid rgba(255,255,255,.22);border-radius:50%;color:#fff;background:rgba(8,19,24,.28);backdrop-filter:blur(8px);font-size:34px;line-height:1;display:flex;align-items:center;justify-content:center;transition:.25s ease;}
.hero-arrow:hover{background:rgba(184,134,62,.85);border-color:rgba(255,255,255,.4);color:#0f1a2b;}
.hero-arrow-prev{left:24px}.hero-arrow-next{right:24px}
.hero-dots{position:absolute;z-index:5;left:50%;bottom:26px;transform:translateX(-50%);display:flex;gap:8px;}
.hero-dots button{width:30px;height:3px;background:rgba(255,255,255,.35);border-radius:99px;transition:.3s ease;}
.hero-dots button.is-active{width:56px;background:#ddb06a;}

/* Better featured cards: image-first, no decorative bottle overlays */
.product-card-media{position:relative;background:#eee8da;}
.product-card-media::after{content:"OLEORESIN";position:absolute;right:14px;bottom:12px;padding:6px 8px;border:1px solid rgba(255,255,255,.55);background:rgba(15,26,43,.68);color:#f7f3ea;font-size:9px;letter-spacing:.16em;font-weight:700;z-index:2;}
.card-desc{font-size:14.5px;}
.product-card .btn-quickview{cursor:pointer;}

/* Direct mail link: icon + mail client only, never clipboard */
.footer-email a::before,.quote-contact a::before{content:"✉";display:inline-block;margin-right:8px;font-size:15px;color:var(--gold-light);}
.footer-email a,.quote-contact a{display:inline-flex;align-items:center;}

/* Strong mobile reset for every page */
@media (max-width:760px){
  html,body{width:100%;min-width:0!important;max-width:100vw!important;overflow-x:hidden!important;}
  .wrap{width:100%!important;max-width:100%!important;margin:0!important;padding-left:18px!important;padding-right:18px!important;}
  header,.nav,main,section,footer{width:100%!important;max-width:100vw!important;min-width:0!important;}
  .nav{padding:12px 16px!important;min-height:68px!important;}
  .logo{flex:1;min-width:0;}
  .logo-text{font-size:19px!important;}
  .nav-cta{flex:0 0 auto;}
  .nav-toggle{display:flex!important;width:40px;height:40px;}
  .nav-cta .btn{display:none!important;}
  .mobile-menu{max-width:100vw!important;}
  .hero-page{padding:104px 0 52px!important;}
  .hero-page h1{font-size:42px!important;max-width:100%!important;}
  .section{padding:58px 0!important;}
  .section-head{max-width:100%!important;}
  .intro-grid,.quote-layout,.simple-points,.app-grid-cards,.roadmap-grid,.quality-grid,.cat-grid,.product-grid,.hero-grid{display:grid!important;grid-template-columns:1fr!important;width:100%!important;max-width:100%!important;min-width:0!important;}
  .intro-grid>*,.quote-layout>*,.simple-points>*,.app-grid-cards>*,.roadmap-grid>*,.quality-grid>*,.cat-grid>*,.product-grid>*,.hero-grid>*{width:100%!important;max-width:100%!important;min-width:0!important;}
  .product-grid{gap:18px!important;}
  .product-card{width:100%!important;max-width:100%!important;min-width:0!important;}
  .product-card-media{width:100%!important;aspect-ratio:1.45/1!important;height:auto!important;overflow:hidden!important;}
  .product-card-img{width:100%!important;height:100%!important;object-fit:cover!important;}
  .product-card-body{padding:20px!important;width:100%!important;}
  .product-card .card-footer{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;}
  .product-card .card-footer .btn{width:100%!important;min-width:0!important;}
  .catalogue-toolbar{display:flex!important;flex-direction:column!important;width:100%!important;max-width:100%!important;gap:14px!important;}
  .catalogue-toolbar>*{width:100%!important;max-width:100%!important;min-width:0!important;}
  .filters-scroll{width:100%!important;max-width:100%!important;overflow-x:auto!important;display:flex!important;flex-wrap:nowrap!important;}
  .filter-chip{flex:0 0 auto!important;}
  .search-wrapper{width:100%!important;min-width:0!important;}
  .search-wrapper input{width:100%!important;min-width:0!important;}
  .modal-overlay{padding:0!important;align-items:flex-end!important;}
  .modal-drawer{width:100%!important;max-width:100%!important;max-height:92svh!important;border-radius:18px 18px 0 0!important;}
  .modal-content{width:100%!important;max-width:100%!important;overflow-wrap:anywhere!important;padding:18px!important;}
  .modal-hero-img{width:100%!important;height:220px!important;object-fit:cover!important;}
  .modal-actions{display:grid!important;grid-template-columns:1fr!important;}
  .modal-actions .btn{width:100%!important;}
  .form-panel,.form-grid,.form-group,.type-selector{width:100%!important;max-width:100%!important;min-width:0!important;}
  .form-grid{grid-template-columns:1fr!important;display:grid!important;}
  .form-group.span-2{grid-column:1!important;}
  .form-group input,.form-group select,.form-group textarea{width:100%!important;max-width:100%!important;font-size:16px!important;}
  .type-selector{grid-template-columns:1fr!important;display:grid!important;}
  .type-btn{width:100%!important;}
  table{width:100%!important;max-width:100%!important;font-size:13px!important;}
  .footer-grid{grid-template-columns:1fr!important;width:100%!important;gap:28px!important;}
  .footer-top.wrap,.footer-bottom.wrap{width:100%!important;max-width:100%!important;}

  /* Mobile hero — Plant-Lipids-style image-led experience */
  .aureva-hero{height:calc(100svh - 68px)!important;min-height:720px!important;align-items:flex-end!important;}
  .hero-carousel-bg{inset:0!important;}
  .hero-slide-bg{inset:0!important;background-position:center!important;transform:scale(1.04)!important;}
  .aureva-hero .hero-photo-overlay{background:linear-gradient(180deg,rgba(5,15,18,.02) 0%,rgba(5,15,18,.14) 28%,rgba(5,15,18,.55) 55%,rgba(5,15,18,.94) 84%,rgba(5,15,18,.98) 100%)!important;}
  .aureva-hero .hero-photo-content{padding:0 18px 92px!important;}
  .hero-carousel-copy{max-width:100%!important;}
  .hero-kicker-line{font-size:9px;margin:10px 0 10px;}
  .aureva-hero h1{font-size:clamp(42px,12vw,58px)!important;line-height:1.0!important;max-width:100%!important;}
  .aureva-hero .hero-sub{font-size:15.5px!important;line-height:1.55!important;margin-top:16px!important;max-width:100%!important;}
  .aureva-hero .hero-actions{display:grid!important;grid-template-columns:1fr!important;width:100%!important;margin-top:20px!important;gap:9px!important;}
  .aureva-hero .hero-actions .btn{width:100%!important;min-height:52px!important;}
  .hero-product-panel{position:relative;right:auto;top:auto;transform:none;width:100%;margin-top:18px;padding:15px 16px;background:rgba(8,19,28,.64);}
  .hero-product-panel p{font-size:12px;margin-top:7px;}
  .hero-panel-title{font-size:24px;}
  .hero-panel-meta,.hero-panel-link{display:none;}
  .hero-arrow{width:42px;height:42px;top:42%;font-size:30px;background:rgba(8,19,28,.34);}
  .hero-arrow-prev{left:12px}.hero-arrow-next{right:12px}
  .hero-dots{bottom:18px;}
  .hero-dots button{width:22px}.hero-dots button.is-active{width:40px;}
  .aureva-hero .hero-scroll-cue{display:none!important;}
}

@media (min-width:761px) and (max-width:1100px){
  .hero-product-panel{right:4%;width:285px;}
  .hero-carousel-copy{max-width:62%;}
}

@media (prefers-reduced-motion:reduce){
  .hero-slide-bg,.hero-product-panel,.hero-arrow,.hero-dots button{transition:none!important;}
}
.hero-contact-float{position:fixed;right:22px;bottom:22px;z-index:500;display:inline-flex;align-items:center;gap:9px;padding:11px 15px;border-radius:999px;background:#c89445;color:#101c2c;box-shadow:0 14px 30px rgba(15,26,43,.18);font-size:12px;font-weight:700;letter-spacing:.03em;}
.hero-contact-float span{font-size:17px;line-height:1;}
.hero-contact-float:hover{transform:translateY(-2px);}
@media(max-width:760px){.hero-contact-float{right:14px;bottom:14px;padding:10px 13px;font-size:11px;}.hero-contact-float span{font-size:16px;}}
.product-card-media::before{content:"";position:absolute;right:16px;bottom:48px;width:30px;height:30px;border-radius:50%;z-index:3;border:1px solid rgba(255,255,255,.65);box-shadow:0 5px 18px rgba(15,26,43,.18);background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.55) 0 9%,transparent 10%),linear-gradient(145deg,#e0b34d,#8b3e20 72%);}

/* =========================================================
   AUREVA V6 — FINAL PRESENTATION POLISH
   ========================================================= */
.aureva-hero{margin-top:0;min-height:calc(100svh - 76px);height:min(900px,calc(100svh - 76px));}
.aureva-hero .hero-photo-content{padding-top:110px;padding-bottom:120px;}
.hero-spectrum{display:block;}
.hero-spectrum .spectrum-intro{margin-top:8px;color:rgba(255,255,255,.76);font-size:13px;line-height:1.5;}
.spectrum-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:18px;}
.spectrum-tab{min-width:0;text-align:left;padding:11px 10px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.04);color:rgba(255,255,255,.76);transition:.25s ease;}
.spectrum-tab span{display:block;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;}
.spectrum-tab small{display:block;margin-top:5px;color:rgba(255,255,255,.48);font-size:10px;}
.spectrum-tab:hover,.spectrum-tab.is-active{background:rgba(200,148,69,.18);border-color:rgba(221,176,106,.72);color:#fff;}
.spectrum-tab.is-active small{color:#ddb06a;}
.hero-spectrum .hero-panel-link{margin-top:16px;}
.aureva-hero .hero-scroll-cue{bottom:26px;left:50%;transform:translateX(-50%);flex-direction:row;gap:10px;padding:9px 14px;border:1px solid rgba(255,255,255,.26);border-radius:999px;background:rgba(8,19,28,.42);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#fff;font-size:10px;letter-spacing:.12em;}
.aureva-hero .hero-scroll-cue i{width:auto;height:auto;background:none;color:#ddb06a;font-style:normal;font-size:15px;line-height:1;}
.aureva-hero .hero-scroll-cue i::after{display:none;}
.product-card-media::before{display:none!important;}
.product-card-media::after{content:"OLEORESIN";right:12px;bottom:12px;}
.product-card-media{height:235px!important;aspect-ratio:auto!important;display:flex;align-items:center;justify-content:center;}
.product-card-img{width:100%;height:100%;object-fit:cover;object-position:center;}
.card-standard{font-size:10px;color:var(--muted-light);font-weight:700;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;}
.card-meta{min-height:24px;}
.principles-grid{grid-template-columns:repeat(3,1fr);align-items:stretch;}
.principle-card{position:relative;overflow:hidden;min-height:280px!important;}
.principle-card::after{content:"";position:absolute;left:0;bottom:0;width:0;height:3px;background:var(--gold);transition:width .35s ease;}
.principle-card:hover::after{width:100%;}
.roadmap-grid{grid-template-columns:repeat(4,1fr);gap:18px!important;align-items:stretch;}
.roadmap-card{position:relative;background:rgba(247,243,234,.035);border:1px solid rgba(247,243,234,.12);padding:28px 24px!important;border-radius:12px;min-height:290px;transition:.3s ease;}
.roadmap-card:hover,.roadmap-card.is-active{background:rgba(247,243,234,.07);border-color:rgba(221,176,106,.55);transform:translateY(-3px);}
.roadmap-card::before{content:"";position:absolute;left:0;top:20px;bottom:20px;width:2px;background:transparent;transition:.3s ease;}
.roadmap-card:hover::before,.roadmap-card.is-active::before{background:var(--gold-light);}
.roadmap-index{display:inline-block;color:var(--gold-light);font-size:11px;font-weight:700;letter-spacing:.16em;}
.roadmap-status{float:right;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:rgba(247,243,234,.55);padding:5px 8px;border:1px solid rgba(247,243,234,.12);border-radius:3px;}
.roadmap-card h3{margin-top:24px;}
.roadmap-card p{font-size:13.5px!important;line-height:1.65!important;margin-top:10px;}
.applications-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px!important;align-items:stretch;}
.app-box{min-height:350px;border-radius:10px;padding:28px 26px!important;gap:12px;}
.app-box:hover{transform:translateY(-4px);border-color:rgba(184,134,62,.55);box-shadow:0 18px 42px rgba(15,26,43,.08);}
.app-index{font-size:11px;letter-spacing:.16em;font-weight:700;color:var(--gold);}
.app-title{font-size:22px!important;line-height:1.2!important;}
.app-desc{font-size:14px!important;line-height:1.7!important;}
.app-box > div:last-child{margin-top:auto!important;}
.quality-assays{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;}
.quality-assay-card{min-height:255px!important;padding:30px!important;}
.quality-assay-card h3{font-size:27px;line-height:1.12;margin-top:10px;}
.quality-assay-card p{font-size:15px;line-height:1.7;}
.quality-assay-card:hover{background:var(--navy);}
.product-grid{align-items:stretch;}
.product-card{height:100%;}
.product-card-body{min-height:285px;}
@media(max-width:1100px){.roadmap-grid{grid-template-columns:repeat(2,1fr);}.applications-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:760px){
  .aureva-hero{height:calc(100svh - 68px)!important;min-height:760px!important;align-items:center!important;}
  .aureva-hero .hero-photo-content{padding:92px 18px 112px!important;display:flex;flex-direction:column;justify-content:center;min-height:100%;}
  .aureva-hero h1{font-size:clamp(40px,11.2vw,55px)!important;line-height:1.02!important;}
  .aureva-hero .hero-sub{font-size:15.5px!important;line-height:1.55!important;}
  .aureva-hero .hero-actions{margin-top:18px!important;}
  .aureva-hero .hero-actions .btn{min-height:50px!important;}
  .hero-product-panel.hero-spectrum{margin-top:14px;padding:13px 14px!important;}
  .hero-spectrum .spectrum-intro{font-size:12px;}
  .spectrum-tabs{gap:6px;margin-top:12px;}
  .spectrum-tab{padding:9px 8px;}
  .spectrum-tab span{font-size:10px;}
  .spectrum-tab small{font-size:9px;}
  .hero-spectrum .hero-panel-link{font-size:11px;margin-top:12px;}
  .aureva-hero .hero-arrow{top:46%;width:40px;height:40px;}
  .aureva-hero .hero-scroll-cue{bottom:14px;font-size:9px;}
  .product-card-media{height:235px!important;aspect-ratio:auto!important;}
  .product-card-body{min-height:0!important;}
  .card-family-tag{font-size:10px;}
  .card-standard{font-size:9px;}
  .principles-grid,.roadmap-grid,.applications-grid,.quality-assays{grid-template-columns:1fr!important;}
  .principle-card{min-height:230px!important;}
  .roadmap-card,.app-box{min-height:0!important;}
  .quality-assay-card{min-height:0!important;padding:24px 20px!important;}
  .quality-assay-card h3{font-size:24px;}
}

/* =========================================================
   AUREVA V7 — NATURE-FORWARD HOMEPAGE HERO
   Full-bleed botanical visual, video-like motion, text overlay.
   ========================================================= */
body.home-page #site-header{position:absolute;top:0;left:0;right:0;z-index:50;background:transparent;border-bottom:1px solid rgba(255,255,255,.14);color:#fff;transition:background .35s ease,border-color .35s ease,box-shadow .35s ease;}
body.home-page #site-header .nav{background:transparent;}
body.home-page #site-header .logo-text,body.home-page #site-header .nav-links a{color:#fff;}
body.home-page #site-header .logo svg path:first-child{fill:#fff;}
body.home-page #site-header .nav-links a.active{color:#fff;}
body.home-page #site-header .nav-toggle{color:#fff;border-color:rgba(255,255,255,.38);background:rgba(0,0,0,.08);}
body.home-page #site-header .btn-primary{background:#c89545;border-color:#c89545;color:#101b29;}
body.home-page #site-header.is-scrolled{position:fixed;background:rgba(9,20,27,.96);border-color:rgba(255,255,255,.10);box-shadow:0 8px 30px rgba(0,0,0,.18);backdrop-filter:blur(12px);}
body.home-page #site-header.is-scrolled .logo-text,body.home-page #site-header.is-scrolled .nav-links a{color:#fff;}
.aureva-nature-hero{position:relative;min-height:100svh;height:max(760px,100svh);display:block;overflow:hidden;isolation:isolate;background:#10201c;color:#fff;}
.nature-visual,.nature-slide,.nature-vignette,.nature-grain{position:absolute;inset:0;}
.nature-visual{z-index:-5;overflow:hidden;background:#15241f;}
.nature-slide{background-position:center;background-size:cover;background-repeat:no-repeat;opacity:0;transform:scale(1.06);transition:opacity 1.2s ease;animation:natureDrift 12s ease-in-out infinite alternate;will-change:transform,opacity;}
.nature-slide.is-active{opacity:1;}
.nature-vignette{background:linear-gradient(90deg,rgba(3,13,12,.76) 0%,rgba(3,13,12,.50) 38%,rgba(3,13,12,.12) 78%,rgba(3,13,12,.18) 100%),linear-gradient(0deg,rgba(2,10,9,.88) 0%,rgba(2,10,9,.22) 46%,rgba(2,10,9,.10) 100%);z-index:2;}
.nature-grain{z-index:3;opacity:.10;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.18'/%3E%3C/svg%3E");mix-blend-mode:soft-light;}
@keyframes natureDrift{from{transform:scale(1.05) translate3d(-.8%,0,0)}to{transform:scale(1.13) translate3d(.8%,-1.2%,0)}}
.nature-hero-inner{position:relative;z-index:4;width:100%;min-height:100svh;height:100%;display:flex;flex-direction:column;justify-content:flex-end;padding:150px 0 38px;}
.nature-hero-copy{max-width:820px;padding-bottom:80px;}
.nature-eyebrow{color:#e1b46b!important;}
.nature-kicker{margin:16px 0 10px;color:rgba(255,255,255,.68);font-size:11px;letter-spacing:.22em;font-weight:700;text-transform:uppercase;}
.aureva-nature-hero h1{margin:0;color:#fff;font-size:clamp(50px,7vw,94px);line-height:.98;letter-spacing:-.045em;text-shadow:0 5px 35px rgba(0,0,0,.24);}
.aureva-nature-hero h1 em{color:#ddb06a;font-style:italic;font-weight:400;}
.nature-hero-copy>p{max-width:660px;margin:24px 0 0;color:rgba(255,255,255,.84);font-size:18px;line-height:1.7;}
.nature-hero-copy .hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px;}
.nature-hero-copy .btn{min-height:54px;}
.nature-hero-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;border-top:1px solid rgba(255,255,255,.18);padding-top:17px;}
.nature-scroll{display:inline-flex;align-items:center;gap:12px;color:rgba(255,255,255,.84);font-size:11px;letter-spacing:.16em;text-transform:uppercase;}
.nature-scroll i{display:flex;width:36px;height:36px;border:1px solid rgba(255,255,255,.45);border-radius:50%;align-items:center;justify-content:center;font-style:normal;font-size:17px;animation:natureBounce 1.8s ease-in-out infinite;}
@keyframes natureBounce{0%,100%{transform:translateY(0)}50%{transform:translateY(4px)}}
.nature-slide-status{display:flex;align-items:center;gap:8px;}
.nature-slide-status button{width:32px;height:3px;border:0;border-radius:99px;background:rgba(255,255,255,.34);padding:0;cursor:pointer;transition:width .3s ease,background .3s ease;}
.nature-slide-status button.is-active{width:54px;background:#ddb06a;}
.nature-caption{display:flex;flex-direction:column;text-align:right;min-width:150px;}
.nature-caption strong{font-family:var(--serif);font-size:18px;font-weight:500;}
.nature-caption span{margin-top:3px;color:rgba(255,255,255,.58);font-size:10px;letter-spacing:.12em;text-transform:uppercase;}
.home-portfolio{background:#fbf8f0;}
.home-section-heading{align-items:flex-end;}
.home-section-heading h2{max-width:760px;}
.home-section-heading p{max-width:620px;}
.home-filter-row{display:flex;gap:8px;overflow-x:auto;padding:8px 0 22px;scrollbar-width:none;}
.home-filter-row::-webkit-scrollbar{display:none;}
.home-filter{flex:0 0 auto;border:1px solid #ddd6c8;background:#fffaf2;color:#253043;border-radius:999px;padding:10px 16px;font:600 12px Inter,sans-serif;cursor:pointer;}
.home-filter.is-active{background:#bd8740;border-color:#bd8740;color:#fff;}
.home-featured-grid{grid-template-columns:repeat(4,minmax(0,1fr));}
.featured-more{display:flex;justify-content:center;align-items:center;margin-top:34px;}
.featured-more .btn{min-width:220px;justify-content:center;}

/* Applications comparison table: keep the whole block centered and aligned
   instead of allowing the table to hug the left edge on wide screens. */
.applications-comparison{width:100%;max-width:1240px;margin:0 auto;}
.applications-comparison table{width:100%!important;table-layout:fixed;}
.applications-comparison th,.applications-comparison td{vertical-align:middle;}
.applications-comparison th:nth-child(1),.applications-comparison td:nth-child(1){width:25%;}
.applications-comparison th:nth-child(2),.applications-comparison td:nth-child(2){width:38%;}
.applications-comparison th:nth-child(3),.applications-comparison td:nth-child(3){width:37%;}
@media(max-width:760px){
  .featured-more{margin-top:24px;}
  .featured-more .btn{width:100%;min-width:0;}
  .applications-comparison{max-width:100%;}
  .applications-comparison table{table-layout:auto;min-width:680px;}
}
@media(max-width:900px){
  body.home-page #site-header{position:absolute;}
  body.home-page #site-header .nav-links,body.home-page #site-header .nav-cta .btn{display:none;}
  body.home-page #site-header .nav-toggle{display:flex;}
  .aureva-nature-hero{min-height:calc(100svh - 0px);height:100svh;max-height:none;}
  .nature-hero-inner{padding:118px 20px 22px;min-height:100svh;}
  .nature-hero-copy{padding-bottom:55px;}
  .nature-kicker{font-size:9px;letter-spacing:.17em;}
  .aureva-nature-hero h1{font-size:clamp(43px,12.2vw,62px);line-height:1;}
  .nature-hero-copy>p{font-size:16px;line-height:1.55;margin-top:18px;}
  .nature-hero-copy .hero-actions{flex-direction:column;gap:9px;margin-top:22px;}
  .nature-hero-copy .hero-actions .btn{width:100%;}
  .nature-hero-bottom{padding-top:13px;}
  .nature-caption{display:none;}
  .nature-scroll{font-size:9px;letter-spacing:.12em;}
  .nature-scroll i{width:32px;height:32px;}
  .nature-slide{background-position:center;animation-duration:15s;}
  .home-featured-grid{grid-template-columns:1fr!important;}
  .home-section-heading{display:block!important;}
  .home-section-heading .btn{margin-top:18px;}
}
@media(max-width:480px){
  .nature-hero-inner{padding-left:18px;padding-right:18px;padding-top:105px;}
  .nature-hero-copy{padding-bottom:45px;}
  .nature-eyebrow{font-size:9px!important;letter-spacing:.15em!important;}
  .aureva-nature-hero h1{font-size:clamp(39px,11.5vw,54px);}
  .nature-hero-copy>p{font-size:15px;}
  .nature-slide:nth-child(2){background-position:55% center;}
}
@media(prefers-reduced-motion:reduce){.nature-slide{animation:none!important;transition:none!important}.nature-scroll i{animation:none!important}.nature-slide-status button{transition:none!important}}
/* V7 local motion background: the video is the primary hero visual; image slides remain as a fallback. */
.nature-video{position:absolute;inset:-2%;width:104%;height:104%;object-fit:cover;z-index:0;filter:saturate(.94) contrast(1.02);}
.nature-visual .nature-slide{z-index:0;}
.nature-visual .nature-vignette{z-index:2;}
.nature-visual .nature-grain{z-index:3;}
@media(max-width:600px){.nature-video{inset:-4%;width:108%;height:108%;object-position:center;}}


/* Product imagery: clean, ingredient-first presentation. */
.product-card-media{
  background:#f1eee7!important;
  overflow:hidden!important;
}
.product-card-img{
  object-fit:cover!important;
  object-position:center!important;
  transform:scale(1.015);
  transition:transform .6s cubic-bezier(.2,.7,.2,1);
}
.product-card:hover .product-card-img{transform:scale(1.055);}
.product-card-media::after{
  content:"SPICE EXTRACT";
  right:12px!important;
  bottom:12px!important;
  background:rgba(15,26,43,.78)!important;
}

/* Product catalogue status: one clean centred statement rather than two floating columns. */
.catalogue-status{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  gap:5px;
  margin:4px auto 30px;
  padding:16px 18px 18px;
  border-top:1px solid var(--line-soft);
  border-bottom:1px solid var(--line-soft);
  max-width:720px;
}
.catalogue-status #catalogue-count{
  font-size:14px!important;
  color:var(--navy)!important;
  font-weight:600!important;
}
.catalogue-status > span:last-child{
  font-size:12px!important;
  color:var(--gold)!important;
  font-weight:600!important;
}

/* Custom sourcing section: centred, balanced CTA on all screens. */
.custom-source-grid{
  grid-template-columns:1fr!important;
  max-width:900px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center;
}
.custom-source-grid > div:first-child{
  max-width:780px;
  margin:0 auto;
}
.custom-source-grid > div:first-child p{max-width:760px;margin-left:auto;margin-right:auto;}
.custom-source-action{
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  width:100%!important;
}
.custom-requirement-btn{
  min-width:320px;
  justify-content:center;
  text-align:center;
  cursor:pointer!important;
  position:relative;
  z-index:5;
}
@media(max-width:760px){
  .catalogue-status{max-width:100%;margin-top:0;margin-bottom:24px;padding:14px 12px;}
  .custom-source-grid{padding-left:18px!important;padding-right:18px!important;}
  .custom-requirement-btn{width:100%!important;min-width:0!important;}
}

/* Homepage filter row: premium, tactile buyer-facing controls. */
.home-filter-row{
  align-items:center;
  padding-top:2px;
  padding-bottom:26px;
}
.home-filter{
  transition:transform .2s ease,background .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.home-filter:hover{transform:translateY(-1px);box-shadow:0 7px 18px rgba(15,26,43,.06);}
.home-filter.is-active{box-shadow:0 8px 22px rgba(189,135,64,.18);}

/* Hero spice-forward video overlay. */
.nature-visual::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(5,14,15,.14),rgba(5,14,15,.05) 35%,rgba(5,14,15,.32) 100%);
}
.nature-video{filter:saturate(1.02) contrast(1.04);}

/* Video is the primary hero layer; botanical slides remain fallback only. */
.nature-visual .nature-video{z-index:0!important;}
.nature-visual .nature-slide{z-index:-1!important;}
.nature-visual{background:#10201c;}


/* ===================== AUREVA V8.3 HOME FIXES ===================== */
.aureva-nature-hero .nature-video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
  z-index:0;
}
.aureva-nature-hero .nature-vignette{z-index:2;pointer-events:none;}
.aureva-nature-hero .nature-grain{z-index:3;pointer-events:none;}
.aureva-nature-hero .nature-hero-inner{z-index:4;}
.home-filter-row{position:relative;z-index:5;display:flex;align-items:center;gap:10px;overflow-x:auto;padding:0 0 22px;}
.home-filter{appearance:none;-webkit-appearance:none;display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 22px!important;border:1px solid #ddd6c8;background:#fffaf2;color:#253043;border-radius:999px;font:600 13px/1 var(--sans)!important;white-space:nowrap;cursor:pointer;transition:all .2s ease;}
.home-filter:hover{border-color:#c89545;transform:translateY(-1px);}
.home-filter.is-active{background:#bd8740!important;border-color:#bd8740!important;color:#fff!important;box-shadow:0 7px 18px rgba(189,135,64,.18);}
.featured-more{margin-top:28px!important;}
.featured-more .btn{min-width:0!important;width:auto!important;padding:13px 24px!important;min-height:46px;font-size:13px;}


/* =========================================================
   AUREVA V8.4 — HOMEPAGE HERO / VIDEO / FAVICON POLISH
   ========================================================= */

/* Keep the hero visual inside its own stacking layer so the
   video cannot fall behind the page background. */
.aureva-nature-hero .nature-visual{
  z-index:0 !important;
  pointer-events:none;
}
.aureva-nature-hero .nature-video{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
}

/* =========================================================
   AUREVA V11 — HERO / HEADER CLEARANCE (single source of truth)
   The transparent navbar overlays the hero. Hero copy sits in
   normal block flow with a top padding that always clears the
   navbar's real rendered height at each breakpoint, and the
   scroll-cue row is pinned to the bottom independently.
   ========================================================= */
.aureva-nature-hero .nature-hero-inner{
  display:block !important;
  position:relative !important;
  min-height:100svh !important;
  height:100% !important;
  padding:0 40px !important;
  box-sizing:border-box !important;
}
.aureva-nature-hero .nature-hero-copy{
  position:relative !important;
  z-index:5 !important;
  width:100% !important;
  max-width:820px !important;
  margin:0 !important;
  padding:152px 0 130px !important;
  box-sizing:border-box !important;
}
.aureva-nature-hero .nature-hero-bottom{
  position:absolute !important;
  left:40px !important;
  right:40px !important;
  bottom:38px !important;
  z-index:6 !important;
  box-sizing:border-box !important;
}
@media (max-width:900px){
  .aureva-nature-hero .nature-hero-inner{padding:0 20px !important;}
  .aureva-nature-hero .nature-hero-copy{padding:118px 0 110px !important;}
  .aureva-nature-hero .nature-hero-bottom{left:20px !important;right:20px !important;bottom:22px !important;}
}
@media (max-width:480px){
  .aureva-nature-hero .nature-hero-inner{padding:0 18px !important;}
  .aureva-nature-hero .nature-hero-copy{padding-top:106px !important;padding-bottom:96px !important;}
  .aureva-nature-hero .nature-hero-bottom{left:18px !important;right:18px !important;}
}


/* =========================================================
   AUREVA V15 — FINAL SPACING / LAYOUT FIX
   ========================================================= */
/* HOME: place the hero copy directly beneath the transparent header.
   .aureva-nature-hero also carries the generic .hero class (padding:160px 0 90px),
   so the section's own padding must be zeroed here or it stacks with the
   padding below and pushes the copy far past the header. */
.aureva-nature-hero{
  padding:0 !important;
}
.aureva-nature-hero .nature-hero-inner{
  display:block !important;
  min-height:100svh !important;
  height:100% !important;
  padding:0 40px !important;
  box-sizing:border-box !important;
}
.aureva-nature-hero .nature-hero-copy{
  position:relative !important;
  z-index:5 !important;
  width:100% !important;
  max-width:900px !important;
  margin:0 !important;
  padding:112px 0 130px !important;
  transform:none !important;
  box-sizing:border-box !important;
}
.aureva-nature-hero .nature-hero-bottom{
  position:absolute !important;
  left:40px !important;
  right:40px !important;
  bottom:30px !important;
  z-index:6 !important;
}
.aureva-nature-hero .nature-kicker{margin-bottom:22px !important;}
.aureva-nature-hero h1{margin:0 !important;}
.aureva-nature-hero .nature-hero-copy>p{margin-top:28px !important;}
.aureva-nature-hero .nature-hero-copy .hero-actions{margin-top:24px !important;}

/* APPLICATIONS: eliminate the oversized whitespace under the intro. */
.applications-portfolio-section{
  padding-top:34px !important;
  padding-bottom:56px !important;
}
.applications-portfolio-section .section-head.center{
  margin-bottom:26px !important;
}
.applications-portfolio-section .section-head.center p{
  margin-top:12px !important;
}
.applications-portfolio-section .simple-points{
  gap:20px !important;
}
.applications-portfolio-section .simple-points>div{
  padding:28px 28px 30px !important;
}
.applications-portfolio-section .simple-points>div>span{display:none !important;}
.applications-portfolio-section .simple-points h3{margin-top:0 !important;}

/* APPLICATIONS COMPARISON: compact heading-to-table spacing and full width. */
.applications-comparison-section{
  padding-top:42px !important;
  padding-bottom:56px !important;
}
.applications-comparison-section .section-head.center{
  margin-bottom:24px !important;
}
.applications-comparison{
  width:100% !important;
  max-width:none !important;
}
.applications-comparison th,
.applications-comparison td{
  padding:11px 18px !important;
  line-height:1.4 !important;
  vertical-align:middle !important;
}

@media (max-width:900px){
  .aureva-nature-hero .nature-hero-inner{padding:0 20px !important;}
  .aureva-nature-hero .nature-hero-copy{padding:98px 0 120px !important;}
  .aureva-nature-hero .nature-hero-bottom{left:20px !important;right:20px !important;bottom:22px !important;}
  .applications-portfolio-section{padding-top:30px !important;padding-bottom:48px !important;}
  .applications-comparison-section{padding-top:36px !important;}
}
@media (max-width:640px){
  .aureva-nature-hero .nature-hero-inner{padding:0 18px !important;}
  .aureva-nature-hero .nature-hero-copy{padding:88px 0 118px !important;}
  .aureva-nature-hero .nature-hero-bottom{left:18px !important;right:18px !important;}
  .applications-portfolio-section .section-head.center{margin-bottom:22px !important;}
  .applications-portfolio-section .simple-points{gap:14px !important;}
  .applications-comparison-section{padding-top:30px !important;}
}

/* SEO category landing pages */
.category-product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:34px;}
.category-product-card{overflow:hidden;background:var(--paper);border:1px solid var(--line-soft);border-radius:var(--radius-lg);box-shadow:0 10px 30px rgba(15,26,43,.05);}
.category-product-card img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;}
.category-product-card-body{padding:22px;}
.category-product-card h2{font-size:22px;margin:7px 0 10px;}
.category-product-card p{color:var(--muted);line-height:1.7;}
@media (max-width:900px){.category-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:620px){.category-product-grid{grid-template-columns:1fr;}}

/* =========================================================
   AUREVA V16 — HOMEPAGE HERO CLARITY / OVERLAP FIX
   ========================================================= */
.aureva-nature-hero .nature-hero-copy{
  max-width:900px !important;
  padding:108px 0 48px !important;
}
.aureva-nature-hero h1{
  max-width:900px !important;
  font-size:clamp(50px,5.35vw,82px) !important;
  line-height:.98 !important;
  letter-spacing:-.04em !important;
}
.aureva-nature-hero .nature-hero-copy>p{
  max-width:650px !important;
  margin-top:22px !important;
  font-size:17px !important;
  line-height:1.58 !important;
}
.aureva-nature-hero .nature-hero-copy .hero-actions{
  margin-top:22px !important;
  gap:12px !important;
}
.aureva-nature-hero .nature-hero-bottom{
  bottom:24px !important;
  padding-top:12px !important;
}
@media (max-width:1200px){
  .aureva-nature-hero .nature-hero-copy{max-width:800px !important;padding-top:108px !important;}
  .aureva-nature-hero h1{font-size:clamp(48px,6vw,72px) !important;}
}
@media (max-width:900px){
  .aureva-nature-hero .nature-hero-copy{max-width:100% !important;padding:104px 0 92px !important;}
  .aureva-nature-hero h1{font-size:clamp(43px,9.2vw,62px) !important;line-height:1 !important;}
  .aureva-nature-hero .nature-hero-copy>p{font-size:16px !important;line-height:1.55 !important;margin-top:18px !important;}
  .aureva-nature-hero .nature-hero-copy .hero-actions{margin-top:20px !important;}
  .aureva-nature-hero .nature-hero-bottom{bottom:18px !important;}
}
@media (max-width:640px){
  .aureva-nature-hero .nature-hero-copy{padding:92px 0 92px !important;}
  .aureva-nature-hero h1{font-size:clamp(39px,10.8vw,54px) !important;}
  .aureva-nature-hero .nature-hero-copy>p{font-size:15px !important;}
}

/* Footer social icons (LinkedIn, X, WhatsApp) */
.footer-social{
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:16px;
}
.footer-social a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:36px;
  height:36px;
  flex-shrink:0;
  border-radius:50%;
  color:#fff;
  transition:filter .2s ease, transform .2s ease;
}
.footer-social a svg{
  width:17px;
  height:17px;
  fill:currentColor;
  display:block;
}
.footer-social a:hover{
  filter:brightness(1.12);
  transform:translateY(-2px);
}
.footer-social a.social-linkedin{ background:#0A66C2; }
.footer-social a.social-x{ background:#000000; }
.footer-social a.social-whatsapp{ background:#25D366; }
