﻿/* ================================================================
   Scent Pacific — Premium B2B Website CSS v2.3
   ADM-Inspired Palette: Light, natural, green-centric
   Primary: Brand Green (#4A773C) + White + Gold (#c9a96e)
   ================================================================ */

/* ----------------------------------------------------------------
   CSS Variables
   ---------------------------------------------------------------- */
:root {
  /* Brand Green — primary accent (ADM-inspired) */
  --color-green: #4A773C;
  --color-green-dark: #2E5A22;
  --color-green-light: #6B8E5A;
  --color-green-pale: #E8EDE0;
  --color-green-bg: #F2F5EF;

  /* Blue — secondary accent (cool, nature-adjacent) */
  --color-blue: #2D7D9A;
  --color-blue-dark: #1A5E7A;
  --color-blue-light: #4A9BB8;
  --color-blue-pale: #E1EEF5;
  --color-blue-bg: #F0F5F8;

  /* Background tones — light, airy */
  --bg-light: #F5F6F4;
  --bg-white: #FFFFFF;
  --bg-green-light: #F7F9F6;
  --bg-footer: #2D3A2C;         /* Footer — dark green-gray */

  /* Hero — light gradient backgrounds */
  --bg-hero-start: #F5F6F4;
  --bg-hero-end: #E8EDE0;

  /* Gold accent */
  --color-gold: #c9a96e;
  --color-gold-light: #e8d5b0;
  --color-gold-dark: #a07d42;

  /* Text — ADM-inspired: dark charcoal for headings */
  --color-ink: #231F20;
  --color-ink-light: #4A4A4A;
  --color-ink-muted: #7A7A7A;

  /* Surface */
  --color-sand: #f0ece4;
  --color-sand-dark: #e4ddd2;
  --color-cream: #faf8f4;
  --color-warm-white: #fdfcfa;

  /* Dark backgrounds */
  --color-dark: #3A4A38;
  --color-dark-card: #4A5A48;

  /* Render override vars for dark-on-light hero */
  --hero-text: #231F20;
  --hero-text-muted: #4A4A4A;
  --hero-accent: #4A773C;

  /* Font */
  --font-primary: 'Arial', 'Helvetica Neue', Helvetica, sans-serif;

  --nav-height: 76px;
  --container-max: 1200px;
  --container-wide: 1400px;
  --ease-smooth: cubic-bezier(0.4, 0, 0.2, 1);
  --ease-out: cubic-bezier(0, 0, 0.2, 1);
  --transition: 0.3s var(--ease-smooth);
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; font-size: 16px; }

body {
  font-family: var(--font-primary);
  background-color: var(--color-warm-white);
  color: var(--color-ink);
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
ul { list-style: none; }
button { cursor: pointer; border: none; background: none; font-family: var(--font-primary); }

h1,h2,h3,h4 {
  font-family: var(--font-primary); font-weight: 700;
  line-height: 1.2; letter-spacing: -0.01em;
}
h1{font-size:clamp(2rem,4.2vw,3.8rem)}
h2{font-size:clamp(1.6rem,3vw,2.6rem)}
h3{font-size:clamp(1.1rem,1.7vw,1.5rem)}
h4{
  font-size:1rem;font-family:var(--font-primary);font-weight:700;
  text-transform:uppercase;letter-spacing:0.12em
}
em{font-style:italic}
p{font-size:0.975rem;color:var(--color-ink-muted);line-height:1.85}

.label{
  display:inline-block;font-family:var(--font-primary);font-size:0.7rem;font-weight:700;
  letter-spacing:0.2em;text-transform:uppercase;margin-bottom:1.2rem
}
.label-gold{color:var(--color-gold)}.label-blue{color:var(--color-blue)}
.label-green{color:var(--color-green)}.label-light{color:rgba(255,255,255,0.6)}

.container{max-width:var(--container-max);margin:0 auto;padding:0 2rem}
.container-wide{max-width:var(--container-wide);margin:0 auto;padding:0 2rem}
.section{padding:7rem 0}
.section-dark{background:var(--color-dark);color:var(--color-cream)}
.section-dark h2,.section-dark h3{color:var(--color-cream)}
.section-dark p{color:rgba(250,248,244,0.72)}
.section-tinted{background:var(--color-sand)}
.section-blue{background:var(--color-blue-bg)}.section-green{background:var(--color-green-bg)}

.section-header{text-align:center;max-width:680px;margin:0 auto 4.5rem}
.section-intro{font-size:1.05rem;margin-top:1.25rem;color:var(--color-ink-muted)}
.section-dark .section-intro{color:rgba(250,248,244,0.6)}
.section-header-flex{
  display:flex;align-items:flex-end;justify-content:space-between;
  margin-bottom:3.5rem;gap:2rem;flex-wrap:wrap
}

/* ----------------------------------------------------------------
   Buttons
   ---------------------------------------------------------------- */
.btn{
  display:inline-flex;align-items:center;gap:0.5rem;padding:0.85rem 2.2rem;
  font-family:var(--font-primary);font-size:0.8rem;font-weight:700;
  letter-spacing:0.12em;text-transform:uppercase;transition:all .3s var(--ease-smooth);
  position:relative;overflow:hidden;border:none;cursor:pointer;border-radius:4px
}
.btn-primary{
  background:var(--color-blue);color:white;
  box-shadow:0 4px 14px rgba(20,93,160,0.25)
}
.btn-primary:hover{
  background:var(--color-blue-dark);transform:translateY(-2px);
  box-shadow:0 6px 20px rgba(20,93,160,0.35)
}
.btn-primary-gold{
  background:var(--color-gold);color:var(--color-dark);box-shadow:0 4px 14px rgba(201,169,110,0.25)
}
.btn-primary-gold:hover{background:var(--color-gold-dark);transform:translateY(-2px)}
.btn-primary-green{
  background:var(--color-green);color:white;box-shadow:0 4px 14px rgba(13,124,102,0.25)
}
.btn-primary-green:hover{background:var(--color-green-dark);transform:translateY(-2px)}
.btn-ghost{
  background:transparent;color:var(--color-ink);
  border:1.5px solid rgba(26,23,20,0.2)
}
.btn-ghost:hover{border-color:var(--color-blue);color:var(--color-blue)}
.btn-outline-light{
  background:transparent;color:white;border:1.5px solid rgba(255,255,255,0.4)
}
.btn-outline-light:hover{border-color:white;background:rgba(255,255,255,0.08)}
.btn-large{padding:1rem 2.8rem;font-size:0.85rem}.btn-sm{padding:0.6rem 1.4rem;font-size:0.7rem}
.btn span,.btn > *{position:relative;z-index:1}

.link-arrow{
  display:inline-flex;align-items:center;gap:0.5rem;font-size:0.8rem;font-weight:600;
  letter-spacing:0.1em;text-transform:uppercase;color:var(--color-blue);
  transition:gap var(--transition),color var(--transition)
}
.link-arrow:hover{gap:0.9rem;color:var(--color-blue-dark)}
.link-arrow span{transition:transform var(--transition)}
.link-arrow:hover span{transform:translateX(4px)}
.link-arrow-gold{color:var(--color-gold)}.link-arrow-gold:hover{color:var(--color-gold-dark)}

/* ----------------------------------------------------------------
   Product Tags / Pills
   ---------------------------------------------------------------- */
.product-tags{display:flex;flex-wrap:wrap;gap:0.45rem;margin-top:1.25rem}
.tag{
  display:inline-block;font-size:0.65rem;font-weight:600;letter-spacing:0.08em;
  padding:0.28rem 0.75rem;border-radius:100px;transition:all var(--transition);white-space:nowrap
}
.tag-blue{background:var(--color-blue-pale);color:var(--color-blue);border:1px solid rgba(20,93,160,0.15)}
.tag-blue:hover{background:var(--color-blue);color:white}
.tag-gold{background:rgba(201,169,110,0.12);color:var(--color-gold-dark);border:1px solid rgba(201,169,110,0.2)}
.tag-gold:hover{background:var(--color-gold);color:var(--color-dark)}
.tag-green{background:var(--color-green-pale);color:var(--color-green-dark);border:1px solid rgba(13,124,102,0.15)}
.tag-green:hover{background:var(--color-green);color:white}
.tag-outline{background:transparent;color:var(--color-ink-muted);border:1px solid var(--color-sand-dark)}
.tag-outline:hover{border-color:var(--color-blue);color:var(--color-blue)}
.tag-dark{background:rgba(255,255,255,0.10);color:rgba(255,255,255,0.75);border:1px solid rgba(255,255,255,0.14)}
.tag-dark:hover{background:rgba(255,255,255,0.15);color:white}

/* ----------------------------------------------------------------
   Navigation
   ---------------------------------------------------------------- */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:1000;height:var(--nav-height);
  transition:background var(--transition),box-shadow var(--transition)
}
/* Before scrolling: dark text on semi-transparent bg for contrast */
.nav:not(.scrolled){
  background:rgba(15,25,40,0.55);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
.nav.scrolled{
  background:rgba(253,252,250,0.97);backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  box-shadow:0 1px 0 rgba(0,0,0,0.06),0 4px 24px rgba(0,0,0,0.04)
}
.nav-inner{
  max-width:var(--container-wide);margin:0 auto;padding:0 2rem;height:100%;
  display:flex;align-items:center;justify-content:space-between
}
.logo{display:flex;align-items:center;gap:0.6rem;text-decoration:none}
.logo-mark{font-size:1.2rem;color:var(--color-blue-light);transition:transform var(--transition)}
.nav:not(.scrolled) .logo-mark{color:#7ec8f5}
.logo:hover .logo-mark{transform:rotate(30deg) scale(1.1)}
.logo-text{font-family:var(--font-primary);font-size:1.05rem;font-weight:700;color:var(--color-ink);letter-spacing:0.02em;white-space:nowrap}
.nav:not(.scrolled) .logo-text{color:#ffffff;text-shadow:0 1px 4px rgba(0,0,0,0.4)}
.nav-links{display:flex;align-items:center;gap:2rem}
.nav-links a{
  font-size:0.75rem;font-weight:700;letter-spacing:0.09em;text-transform:uppercase;
  color:var(--color-ink-muted);transition:color var(--transition);position:relative;padding:0.4rem 0
}
/* Before scroll: white text with shadow for contrast */
.nav:not(.scrolled) .nav-links a:not(.nav-cta){
  color:rgba(255,255,255,0.92);
  text-shadow:0 1px 3px rgba(0,0,0,0.5)
}
.nav:not(.scrolled) .nav-links a:not(.nav-cta):hover{
  color:#ffffff
}
.nav-links a:not(.nav-cta)::after{
  content:'';position:absolute;bottom:-2px;left:0;right:100%;height:2px;
  background:linear-gradient(90deg,var(--color-blue),var(--color-gold));border-radius:1px;
  transition:right 0.4s var(--ease-smooth)
}
.nav-links a:not(.nav-cta):hover::after{right:0}
.nav-links a:hover{color:var(--color-ink)}
.nav:not(.scrolled) .nav-links a:hover{color:#fff}
/* nav toggle on dark bg */
.nav:not(.scrolled) .nav-toggle span{background:white}
.nav-cta{
  background:var(--color-blue)!important;color:white!important;
  padding:0.55rem 1.3rem!important;font-size:0.7rem!important;
  border-radius:4px;box-shadow:0 2px 10px rgba(20,93,160,0.2)!important;
  transition:all var(--transition)!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  white-space:nowrap!important;line-height:1!important
}
.nav-cta:hover{
  background:var(--color-blue-dark)!important;transform:translateY(-1px)!important;
  box-shadow:0 4px 16px rgba(20,93,160,0.3)!important
}
.has-dropdown{position:relative}
.dropdown{
  position:absolute;top:calc(100%+0.75rem);left:50%;
  transform:translateX(-50%) translateY(-8px);background:white;min-width:240px;
  opacity:0;pointer-events:none;transition:all 0.3s var(--ease-smooth);
  box-shadow:0 20px 60px rgba(0,0,0,0.1),0 0 1px rgba(0,0,0,0.06);
  padding:0.6rem 0;border-radius:8px;border:1px solid rgba(0,0,0,0.05)
}
.has-dropdown:hover .dropdown{opacity:1;pointer-events:all;transform:translateX(-50%) translateY(0)}
.dropdown li a{
  display:flex;align-items:center;justify-content:space-between;
  padding:0.65rem 1.5rem;font-size:0.78rem!important;text-transform:none!important;
  letter-spacing:0!important;color:var(--color-ink-muted)!important;transition:all var(--transition)
}
.dropdown li a:hover{background:var(--color-blue-pale);color:var(--color-blue)!important;padding-left:1.8rem}
.dropdown li a::after{content:'→';font-size:0.65rem;opacity:0;transition:opacity var(--transition)}
.dropdown li a:hover::after{opacity:1}
.nav-toggle{display:none;flex-direction:column;gap:5px;width:28px}
.nav-toggle span{display:block;height:2px;background:var(--color-ink);transition:var(--transition);border-radius:1px}
.nav-toggle span:nth-child(2){width:18px}

/* ----------------------------------------------------------------
   Hero Section
   ---------------------------------------------------------------- */
.hero{
  position:relative;min-height:100vh;display:flex;align-items:center;
  overflow:hidden;background:var(--bg-light)
}
.hero-image-bg{position:absolute;inset:0;z-index:0}
.hero-image-bg img{width:100%;height:100%;object-fit:cover;object-position:center}
.hero-overlay{
  position:absolute;inset:0;z-index:1;
  background:
    linear-gradient(135deg,
      rgba(245,246,244,0.90) 0%,rgba(245,246,244,0.70) 40%,
      rgba(232,237,224,0.50) 70%,rgba(245,246,244,0.88) 100%
    )
}
.hero-bg{position:absolute;inset:0;overflow:hidden;z-index:0}
.hero-video-wrap{position:absolute;inset:0;z-index:0;overflow:hidden}
.hero-video-wrap iframe,.hero-video-wrap video{width:100%;height:100%;pointer-events:none;object-fit:cover}
.hero-gradient{
  position:absolute;inset:0;
  background:
    radial-gradient(ellipse 80% 60% at 70% 40%, rgba(74,119,60,0.08) 0%, transparent 55%),
    radial-gradient(ellipse 50% 50% at 30% 70%, rgba(201,169,110,0.06) 0%, transparent 50%),
    linear-gradient(160deg,#F5F6F4 0%,#E8EDE0 45%,#F5F6F4 100%)
}
.hero-visual{position:absolute;inset:0;pointer-events:none;z-index:1}
.hero-orb{position:absolute;border-radius:50%;filter:blur(80px);animation:orbFloat 10s ease-in-out infinite}
.hero-orb-1{
  width:500px;height:500px;right:-80px;top:-80px;
  background:radial-gradient(circle,rgba(74,119,60,0.10) 0%,transparent 70%);
  animation-duration:11s
}
.hero-orb-2{
  width:350px;height:350px;left:10%;bottom:15%;
  background:radial-gradient(circle,rgba(201,169,110,0.08) 0%,transparent 70%);
  animation-duration:13s;animation-delay:-3s
}
.hero-orb-3{
  width:250px;height:250px;right:25%;bottom:25%;
  background:radial-gradient(circle,rgba(74,119,60,0.1) 0%,transparent 70%);
  animation-duration:15s;animation-delay:-6s
}
@keyframes orbFloat{
  0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(30px,-25px) scale(1.06)}66%{transform:translate(-25px,25px) scale(0.94)}
}

.hero-content{position:relative;z-index:2;max-width:800px;padding:0 2rem;margin:0;margin-top:var(--nav-height);text-align:left}
.hero-tagline{
  font-size:0.72rem;font-weight:600;letter-spacing:0.28em;text-transform:uppercase;
  color:#8BC34A;margin-bottom:1.8rem;display:inline-flex;align-items:center;gap:0.75rem
}
.hero-tagline::before,.hero-tagline::after{
  content:'';width:32px;height:1px;background:#8BC34A;opacity:0.4
}
.hero-title{color:white;margin-bottom:2rem;font-weight:700;text-shadow:0 2px 12px rgba(0,0,0,0.3)}
.hero-title em{color:#9CCC65;font-weight:700}
.hero-sub{font-size:1.08rem;color:rgba(255,255,255,0.8);max-width:560px;margin:0 auto 3rem;line-height:1.85;text-shadow:0 1px 8px rgba(0,0,0,0.25)}
.hero-actions{display:flex;align-items:center;justify-content:center;gap:1.25rem;flex-wrap:wrap}
.hero .btn-ghost{
  color:#9CCC65;border:1.5px solid rgba(156,204,101,0.35);backdrop-filter:blur(4px)
}
.hero .btn-ghost:hover{color:white;border-color:#9CCC65;background:#9CCC65}
.hero-scroll{
  position:absolute;bottom:2.5rem;left:50%;transform:translateX(-50%);
  display:flex;flex-direction:column;align-items:center;gap:0.75rem;z-index:2
}
.hero-scroll span{font-size:0.62rem;letter-spacing:0.28em;text-transform:uppercase;color:var(--color-ink-muted)}
.scroll-line{
  width:1px;height:44px;
  background:linear-gradient(to bottom,var(--color-green),transparent);
  animation:scrollPulse 2.5s ease-in-out infinite
}
@keyframes scrollPulse{0%,100%{opacity:0.3;transform:scaleY(1)}50%{opacity:1;transform:scaleY(1.25)}}

/* Marquee */
.marquee-strip{
  background:linear-gradient(90deg,var(--color-green-dark),var(--color-green),var(--color-gold));
  padding:0.9rem 0;overflow:hidden;position:relative
}
.marquee-strip::before,.marquee-strip::after{
  content:'';position:absolute;top:0;bottom:0;width:60px;z-index:2;pointer-events:none
}
.marquee-strip::before{left:0;background:linear-gradient(90deg,var(--color-green-dark),transparent)}
.marquee-strip::after{right:0;background:linear-gradient(90deg,transparent,var(--color-gold))}
.marquee-track{display:flex;align-items:center;white-space:nowrap;animation:marquee 28s linear infinite}
.marquee-track span{
  font-size:0.68rem;font-weight:600;letter-spacing:0.16em;text-transform:uppercase;
  color:white;padding:0 1.5rem
}
.marquee-track .dot{color:rgba(255,255,255,0.4);padding:0}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ----------------------------------------------------------------
   Intro Section
   ---------------------------------------------------------------- */
.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:center}
.intro-text h2{margin-bottom:1.5rem;margin-top:0.5rem}
.intro-text p{margin-bottom:1.25rem;font-size:1.02rem}
.intro-text p em{color:var(--color-ink);font-style:italic}
.intro-text .link-arrow{margin-top:1rem;display:inline-flex}
.intro-stats{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}

.stat-card{
  background:white;padding:2rem 1.75rem;border:1px solid var(--color-sand-dark);
  border-radius:8px;transition:all 0.3s var(--ease-smooth);position:relative;overflow:hidden
}
.stat-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,var(--color-blue),var(--color-gold));
  transform:scaleX(0);transform-origin:left;transition:transform 0.4s var(--ease-smooth)
}
.stat-card:hover{border-color:var(--color-blue-pale);transform:translateY(-4px);box-shadow:0 12px 36px rgba(0,0,0,0.08)}
.stat-card:hover::before{transform:scaleX(1)}
.stat-number{display:block;font-family:var(--font-primary);font-size:2.2rem;font-weight:700;color:var(--color-blue);line-height:1;margin-bottom:0.75rem}
.stat-label{font-size:0.78rem;color:var(--color-ink-muted);line-height:1.5}

/* ----------------------------------------------------------------
   Solutions Grid — Image Cards with Product Tags
   ---------------------------------------------------------------- */
.solutions-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}

.solution-card{
  display:flex;flex-direction:column;position:relative;overflow:hidden;
  border-radius:12px;min-height:340px;transition:all 0.4s var(--ease-smooth);
  border:1px solid rgba(0,0,0,0.06)
}
.solution-card-image{position:absolute;inset:0;z-index:0}
.solution-card-image img{width:100%;height:100%;object-fit:cover;transition:transform 0.6s var(--ease-smooth)}
.solution-card:hover .solution-card-image img{transform:scale(1.06)}

.solution-card-overlay{
  position:absolute;inset:0;z-index:1;
  background:linear-gradient(to bottom,
    rgba(38,56,72,.32) 0%,rgba(38,56,72,.55) 50%,rgba(38,56,72,.85) 100%);
  transition:background 0.4s var(--ease-smooth)
}
.solution-card:hover .solution-card-overlay{
  background:linear-gradient(to bottom,
    rgba(38,56,72,.22) 0%,rgba(38,56,72,.42) 50%,rgba(38,56,72,.78) 100%)
}

.solution-card-body{
  position:relative;z-index:2;display:flex;flex-direction:column;flex:1;
  padding:2rem 1.75rem;justify-content:flex-end;height:100%
}
.solution-icon{width:48px;height:48px;color:var(--color-gold-light);margin-bottom:1.25rem;opacity:0.9;transition:all var(--transition)}
.solution-card:hover .solution-icon{color:var(--color-blue-light);transform:scale(1.08)}
.solution-card h3{color:white;margin-bottom:0.65rem;font-size:1.3rem;transition:color var(--transition)}
.solution-card p{color:rgba(255,255,255,0.6);font-size:0.85rem;flex:1;margin-bottom:0}

.card-arrow{
  display:inline-flex;align-items:center;gap:0.4rem;margin-top:1.25rem;
  font-size:0.75rem;font-weight:600;color:var(--color-blue-light);
  letter-spacing:0.06em;text-transform:uppercase;opacity:0;
  transform:translateX(-10px);transition:all 0.4s var(--ease-smooth)
}
.card-arrow::after{content:'→'}
.solution-card:hover .card-arrow{opacity:1;transform:translateX(0)}

/* Dark fallback cards */
.solution-card-dark{
  background:linear-gradient(145deg,var(--color-dark),#3e5268);
  border:1px solid rgba(255,255,255,0.10)
}
.solution-card-dark::before{
  content:'';position:absolute;bottom:0;left:0;right:100%;height:2px;
  background:linear-gradient(90deg,var(--color-blue),var(--color-gold));
  transition:right 0.5s var(--ease-smooth)
}
.solution-card-dark:hover::before{right:0}
.solution-card-dark:hover{
  background:linear-gradient(145deg,#3e5268,var(--color-dark));border-color:rgba(20,93,160,0.20)
}

/* Clickable category card CTA label */
.cat-card-cta{
  display:inline-flex;align-items:center;gap:0.4rem;
  font-size:0.72rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;
  color:var(--color-gold-light);margin-top:1rem;opacity:0;
  transform:translateY(4px);transition:all 0.35s var(--ease-smooth)
}
a.cat-card-with-img:hover .cat-card-cta,
a.flavor-card-with-img:hover .cat-card-cta{opacity:1;transform:translateY(0)}
a.cat-card-with-img,a.flavor-card-with-img{cursor:pointer}
a.cat-card-with-img h3,a.flavor-card-with-img h3{transition:color 0.3s}
a.cat-card-with-img:hover h3,a.flavor-card-with-img:hover h3{color:var(--color-gold-light)}

/* ----------------------------------------------------------------
   Why / Differentiators
   ---------------------------------------------------------------- */
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3.5rem 4rem}
.why-item{position:relative}
.why-number{
  font-family:var(--font-primary);font-size:3.5rem;font-weight:700;
  color:var(--color-blue-pale);line-height:1;margin-bottom:1.25rem;opacity:0.6;
  -webkit-text-stroke:1px var(--color-blue);color:transparent
}
.why-item:hover .why-number{opacity:1;-webkit-text-stroke:0;color:var(--color-blue)}
.why-item h3{font-size:1.3rem;margin-bottom:0.85rem}

/* ----------------------------------------------------------------
   Process
   ---------------------------------------------------------------- */
.process-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative}
.process-step{display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 2rem;position:relative}
.step-number{
  width:60px;height:60px;border-radius:50%;border:2px solid var(--color-blue);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--font-primary);font-size:1.35rem;font-weight:700;color:var(--color-blue);
  margin-bottom:1.75rem;background:white;position:relative;z-index:1;
  transition:all var(--transition);box-shadow:0 4px 16px rgba(20,93,160,0.12)
}
.process-step:hover .step-number{
  background:var(--color-blue);color:white;transform:scale(1.08);
  box-shadow:0 6px 24px rgba(20,93,160,0.25)
}
.step-connector{
  position:absolute;top:29px;left:calc(50% + 30px);right:calc(-50% + 30px);
  height:2px;background:linear-gradient(to right,var(--color-blue),var(--color-gold-light),rgba(201,169,110,0.2));
  border-radius:1px
}
.step-content h3{font-size:1.2rem;margin-bottom:0.75rem}

/* ----------------------------------------------------------------
   Insights Preview
   ---------------------------------------------------------------- */
.insights-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
.insight-card{display:block;position:relative;overflow:hidden;border-radius:12px;transition:all 0.4s var(--ease-smooth)}
.insight-card:hover{transform:translateY(-5px)}
.insight-card-featured{grid-row:span 2;min-height:440px;overflow:hidden;border:1px solid var(--color-sand-dark)}
.insight-card-img{position:absolute;inset:0;z-index:0}
.insight-card-img img{width:100%;height:100%;object-fit:cover;transition:transform 0.6s var(--ease-smooth)}
.insight-card:hover .insight-card-img img{transform:scale(1.05)}
.insight-card-overlay{
  position:absolute;inset:0;z-index:1;
  background:linear-gradient(to top,rgba(38,56,72,.85) 0%,rgba(38,56,72,.40) 50%,transparent 100%)
}
.insight-card-featured .insight-content{position:absolute;bottom:0;left:0;right:0;padding:2.5rem;z-index:2}
.insight-card-small{
  background:white;border:1px solid var(--color-sand-dark);padding:2rem;
  border-radius:12px;display:flex;flex-direction:column
}
.insight-card-small .insight-content{flex:1;display:flex;flex-direction:column}
.insight-category{
  font-size:0.66rem;font-weight:600;letter-spacing:0.18em;text-transform:uppercase;
  color:var(--color-blue);display:inline-flex;align-items:center;gap:0.5rem;margin-bottom:0.85rem
}
.insight-category::before{content:'';width:16px;height:2px;background:var(--color-blue);border-radius:1px}
.insight-card h3{font-size:1.2rem;margin-bottom:0.75rem;line-height:1.35;transition:color var(--transition)}
.insight-card-small h3{font-size:1rem}
.insight-card:hover h3{color:var(--color-blue-dark)}
.insight-card p{font-size:0.875rem;margin-bottom:1rem}
.insight-read{
  font-size:0.7rem;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;
  color:var(--color-blue);display:inline-flex;align-items:center;gap:0.4rem;margin-top:auto;padding-top:1rem
}
.insight-read::after{content:'→';font-size:0.8rem}

/* ----------------------------------------------------------------
   Partners Section
   ---------------------------------------------------------------- */
.partners-section{padding:7rem 0;background:var(--color-warm-white)}
.partners-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-top:4rem}
.partner-card{
  background:white;border:1px solid var(--color-sand-dark);border-radius:12px;
  padding:2.5rem 2rem;text-align:center;transition:all 0.4s var(--ease-smooth);position:relative;overflow:hidden
}
.partner-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,var(--color-blue),var(--color-gold));opacity:0;transition:opacity 0.3s
}
.partner-card:hover{transform:translateY(-6px);box-shadow:0 16px 48px rgba(0,0,0,0.08);border-color:var(--color-blue-pale)}
.partner-card:hover::before{opacity:1}
.partner-logo{
  width:80px;height:80px;margin:0 auto 1.5rem;background:var(--color-blue-bg);
  border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-family:var(--font-primary);font-size:1.8rem;color:var(--color-blue);transition:all var(--transition)
}
.partner-card:hover .partner-logo{background:var(--color-blue);color:white;transform:scale(1.08)}
.partner-card h3{font-size:1.05rem;margin-bottom:0.5rem;color:var(--color-ink)}
.partner-card p{font-size:0.8rem;color:var(--color-ink-muted)}
.partner-type-tag{
  display:inline-block;font-size:0.6rem;font-weight:600;letter-spacing:0.1em;
  text-transform:uppercase;padding:0.25rem 0.75rem;background:var(--color-blue-pale);
  color:var(--color-blue);border-radius:100px;margin-top:1rem
}

.partner-logos-strip{margin-top:5rem;padding:3rem 0;background:var(--color-sand);border-radius:16px}
.partner-logos-strip-label{
  text-align:center;font-size:0.68rem;font-weight:600;letter-spacing:0.2em;
  text-transform:uppercase;color:var(--color-ink-muted);margin-bottom:2.5rem
}
.partner-logos-grid{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:2.5rem 3.5rem}
.partner-logo-item{
  display:flex;flex-direction:column;align-items:center;gap:0.6rem;
  opacity:0.5;transition:opacity var(--transition),transform var(--transition);filter:grayscale(0.6)
}
.partner-logo-item:hover{opacity:1;transform:scale(1.05);filter:grayscale(0)}
.partner-logo-placeholder{
  width:100px;height:44px;background:var(--color-ink);border-radius:6px;
  display:flex;align-items:center;justify-content:center;
  font-family:var(--font-primary);font-size:0.8rem;color:var(--color-cream);font-style:italic
}
.partner-logo-item span{font-size:0.6rem;color:var(--color-ink-muted);letter-spacing:0.08em;text-transform:uppercase}
.resource-partners{margin-top:4rem;display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.resource-card{
  background:white;border:1px solid var(--color-sand-dark);border-radius:12px;padding:2.5rem;transition:all var(--transition)
}
.resource-card:hover{border-color:var(--color-blue-pale);box-shadow:0 8px 32px rgba(0,0,0,0.06)}
.resource-card h4{font-size:0.68rem;color:var(--color-blue);margin-bottom:0.75rem}
.resource-card h3{font-size:1.2rem;margin-bottom:0.75rem}
.resource-card p{font-size:0.875rem}

/* Sustainability */
.sustainability-hero{
  position:relative;padding:10rem 0 6rem;overflow:hidden;
  color:white;text-align:left
}
.sustainability-hero-overlay{
  position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg,
    rgba(10,25,15,0.65) 0%,rgba(8,18,12,0.50) 50%,rgba(10,25,15,0.70) 100%)
}
.sustainability-hero > *{position:relative;z-index:2}
.sustainability-hero .hero-bg,.sustainability-hero .sustainability-hero-overlay{position:absolute!important;z-index:0}
.sustainability-hero .sustainability-hero-overlay{z-index:1!important}
.sustainability-hero .label{color:#8BC34A;font-weight:600;position:relative;z-index:1}
.sustainability-hero h1{color:white;max-width:800px;position:relative;z-index:1;text-shadow:0 2px 16px rgba(0,0,0,0.4);margin:0 0 1.5rem}
.sustainability-hero h1 em{color:#9CCC65}
.sustainability-hero p{color:rgba(255,255,255,0.9);font-size:1.1rem;max-width:640px;position:relative;z-index:1;text-shadow:0 1px 10px rgba(0,0,0,0.35)}
.sust-values{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;margin-top:5rem}
.sust-value{
  background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.12);
  border-radius:12px;padding:2.5rem 2rem;text-align:center;transition:all var(--transition);backdrop-filter:blur(4px)
}
.sust-value:hover{
  background:rgba(255,255,255,0.08);border-color:rgba(76,175,125,0.3);transform:translateY(-4px)
}
.sust-value-icon{font-size:2.5rem;margin-bottom:1.25rem;display:block}
.sust-value h3{color:white;font-size:1.1rem;margin-bottom:0.75rem}
.sust-value p{color:rgba(255,255,255,0.5);font-size:0.82rem}
.sust-pillars{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-top:5rem}
.sust-pillar{
  background:white;border-radius:16px;overflow:hidden;
  display:grid;grid-template-columns:280px 1fr;border:1px solid var(--color-sand-dark);transition:all var(--transition)
}
.sust-pillar:hover{box-shadow:0 16px 56px rgba(0,0,0,0.08);border-color:var(--color-green-pale)}
.sust-pillar-img{overflow:hidden;position:relative}
.sust-pillar-img img{width:100%;height:100%;object-fit:cover;transition:transform 0.6s var(--ease-smooth)}
.sust-pillar:hover .sust-pillar-img img{transform:scale(1.05)}
.sust-pillar-body{padding:2.5rem;display:flex;flex-direction:column;justify-content:center}
.sust-pillar-body .label{color:var(--color-green)}
.sust-pillar-body h3{font-size:1.5rem;margin-bottom:1rem}
.sust-pillar-body p{font-size:0.95rem}
.sust-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;margin-top:5rem;padding:4rem;background:var(--color-green-bg);border-radius:16px}
.sust-metric{text-align:center}
.sust-metric-number{
  font-family:var(--font-primary);font-size:3rem;font-weight:700;
  color:var(--color-green);line-height:1;display:block;margin-bottom:0.5rem
}
.sust-metric-label{font-size:0.82rem;color:var(--color-ink-light);text-transform:uppercase;letter-spacing:0.08em;font-weight:600}
.sust-certifications{display:flex;flex-wrap:wrap;gap:1rem;margin-top:3rem;justify-content:center}
.sust-cert-badge{
  background:var(--color-dark);color:var(--color-green-light);padding:0.75rem 1.75rem;
  border-radius:8px;font-size:0.72rem;font-weight:700;letter-spacing:0.12em;
  text-transform:uppercase;border:1px solid rgba(45,134,89,0.2);transition:all var(--transition)
}
.sust-cert-badge:hover{background:var(--color-green);color:white;transform:translateY(-2px)}

/* ----------------------------------------------------------------
   CTA
   ---------------------------------------------------------------- */
.cta-section{
  position:relative;padding:9rem 0;overflow:hidden;
  background:linear-gradient(135deg,var(--color-green-dark) 0%,var(--color-green) 50%,var(--color-green-dark) 100%);
  text-align:center
}
.cta-bg{
  position:absolute;inset:0;
  background:
    radial-gradient(ellipse 60% 60% at 50% 50%, rgba(255,255,255,0.10) 0%, transparent 55%),
    radial-gradient(ellipse 35% 35% at 25% 25%, rgba(201,169,110,0.06) 0%, transparent 50%)
}
.cta-content{position:relative;z-index:1}
.cta-content h2{color:white;margin-bottom:1.5rem}
.cta-content h2 em{color:var(--color-gold-light)}
.cta-content > p{color:rgba(255,255,255,0.75);font-size:1.05rem;max-width:520px;margin:0 auto 2.75rem}
.cta-actions{display:flex;align-items:center;justify-content:center;gap:1.25rem;flex-wrap:wrap;margin-bottom:2rem}
.cta-section .btn-primary{background:#9CCC65;color:white;border:2px solid #9CCC65}
.cta-section .btn-primary:hover{background:#8BBC4E;border-color:#8BBC4E;color:white}
.cta-section .btn-outline-light{background:transparent;color:white;border:2px solid rgba(255,255,255,0.5)}
.cta-section .btn-outline-light:hover{background:rgba(255,255,255,0.12);border-color:white}
.cta-note{font-size:0.74rem;color:rgba(255,255,255,0.3);letter-spacing:0.08em}

/* ----------------------------------------------------------------
   Footer
   ---------------------------------------------------------------- */
.footer{background:var(--bg-footer);color:var(--color-cream);padding:6rem 0 0}
.footer-grid{
  display:grid;grid-template-columns:2fr 1fr 1fr 1.5fr;gap:4rem;
  padding-bottom:4rem;border-bottom:1px solid rgba(255,255,255,0.06)
}
.footer-brand .logo-text{color:var(--color-cream)}.footer-brand .logo-mark{color:var(--color-blue-light)}
.footer-brand p{margin-top:1.5rem;font-size:0.875rem;color:rgba(250,248,244,0.42);max-width:280px;line-height:1.75}
.footer-location{margin-top:1.25rem}
.footer-location span{font-size:0.68rem;letter-spacing:0.12em;text-transform:uppercase;color:rgba(250,248,244,0.25)}
.footer-links h4{font-size:0.68rem;letter-spacing:0.18em;color:rgba(250,248,244,0.3);margin-bottom:1.75rem}
.footer-links li{margin-bottom:0.75rem}
.footer-links a{font-size:0.87rem;color:rgba(250,248,244,0.5);transition:color var(--transition)}
.footer-links a:hover{color:var(--color-blue-light)}
.footer-contact h4{font-size:0.68rem;letter-spacing:0.18em;color:rgba(250,248,244,0.3);margin-bottom:1.75rem}
.footer-contact p{font-size:0.87rem;color:rgba(250,248,244,0.42);margin-bottom:1.25rem}
.footer-email{font-family:var(--font-primary);font-size:1.1rem;color:var(--color-blue-light);transition:color var(--transition)}
.footer-email:hover{color:var(--color-blue)}
.footer .btn-ghost{color:#9CCC65;border:1.5px solid rgba(156,204,101,0.3);background:transparent}
.footer .btn-ghost:hover{background:#9CCC65;color:white;border-color:#9CCC65}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;padding:1.75rem 0}
.footer-bottom p{font-size:0.74rem;color:rgba(250,248,244,0.22)}
.footer-legal{display:flex;gap:2rem}
.footer-legal a{font-size:0.74rem;color:rgba(250,248,244,0.22);transition:color var(--transition)}
.footer-legal a:hover{color:rgba(250,248,244,0.5)}

/* Page Hero (inner pages) */
.page-hero{
  padding:10rem 0 5rem;
  text-align:left;position:relative;overflow:hidden
}
/* Plain page-hero without image: light green gradient */
.page-hero:not(.page-hero-with-img){
  background:linear-gradient(135deg,var(--bg-light) 0%,var(--bg-green-light) 50%,var(--bg-light) 100%);
}
.page-hero::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse 80% 60% at 50% 80%, rgba(74,119,60,0.06) 0%, transparent 60%)
}
.page-hero .label{color:#8BC34A;position:relative;z-index:1;font-weight:600}
.page-hero h1{color:white;max-width:800px;margin:0 0 1.5rem;font-weight:700;position:relative;z-index:1;text-shadow:0 2px 12px rgba(0,0,0,0.3)}
.page-hero h1 em{color:#9CCC65}
.page-hero p{color:rgba(255,255,255,0.8);font-size:1.1rem;max-width:600px;margin:0;position:relative;z-index:1;text-shadow:0 1px 8px rgba(0,0,0,0.25)}

.page-hero-with-img{position:relative;overflow:hidden}
.page-hero-img{position:absolute;inset:0;z-index:0}
.page-hero-img img{width:100%;height:100%;object-fit:cover;opacity:0.25}
.page-hero-img-overlay{
  position:absolute;inset:0;z-index:1;
  background:linear-gradient(135deg,
    rgba(245,246,244,.90) 0%,rgba(232,237,224,.80) 40%,rgba(245,246,244,.90) 100%)
}

/* About Page */
.about-story{padding:7rem 0}
.about-story-grid{display:grid;grid-template-columns:1fr 1fr;gap:7rem;align-items:center}
.about-story-text h2{margin-bottom:2rem}
.about-story-text p{font-size:1rem;margin-bottom:1.25rem}
.about-visual{position:relative;height:560px;border-radius:16px;overflow:hidden}
.about-visual-card{position:absolute;border-radius:12px;overflow:hidden}
.about-visual-card-1{top:0;left:0;right:15%;bottom:20%;background:var(--color-sand);display:flex;align-items:center;justify-content:center;border:1px solid var(--color-sand-dark)}
.about-visual-card-2{bottom:0;right:0;left:30%;top:55%;background:var(--color-dark);display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;padding:2rem;border-radius:12px}
.about-visual-card-2 span{font-family:var(--font-primary);font-size:2rem;color:var(--color-gold)}
.about-visual-card-2 small{font-size:0.72rem;letter-spacing:0.15em;text-transform:uppercase;color:rgba(250,248,244,0.4);margin-top:0.5rem}
.about-visual-inner{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:2rem;text-align:center}
.about-visual-icon{width:80px;height:80px;color:var(--color-gold);opacity:0.6}
.about-visual-inner p{font-family:var(--font-primary);font-size:1.1rem;font-style:italic;color:var(--color-ink-muted);max-width:220px}

/* Values */
.values{padding:7rem 0;background:var(--bg-green-light)}
.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:4rem}
.value-card{padding:3rem 2.5rem;border:1px solid var(--color-sand-light);transition:border-color var(--transition);border-radius:8px;background:white}
.value-card:hover{border-color:var(--color-blue)}
.value-icon{font-family:var(--font-primary);font-size:2.5rem;color:var(--color-gold);margin-bottom:1.5rem;display:block}
.value-card h3{color:var(--color-ink);margin-bottom:1rem}
.value-card p{color:var(--color-ink-muted)}

/* Fragrance Page */
.fragrance-intro{padding:7rem 0}
.fragrance-intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:start}
.fragrance-categories{padding:7rem 0;background:var(--color-sand)}
.fragrance-category-list{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-top:4rem}

/* Image-enhanced category cards */
.fragrance-cat-card{
  background:white;padding:2.5rem;border:1px solid var(--color-sand-dark);
  border-radius:12px;transition:all 0.4s var(--ease-smooth);position:relative;overflow:hidden
}
.fragrance-cat-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,var(--color-blue),var(--color-gold));
  transform:scaleX(0);transform-origin:left;transition:transform 0.4s var(--ease-smooth)
}
.fragrance-cat-card:hover::before{transform:scaleX(1)}
.fragrance-cat-card:hover{
  border-color:var(--color-blue-pale);transform:translateY(-4px);
  box-shadow:0 16px 48px rgba(0,0,0,0.07)
}
.fragrance-cat-card h3{font-size:1.25rem;margin-bottom:0.75rem}
.fragrance-cat-card p{font-size:0.875rem}
.cat-tag{
  display:inline-block;font-size:0.65rem;letter-spacing:0.15em;text-transform:uppercase;
  color:var(--color-gold-dark);border:1px solid rgba(201,169,110,0.3);
  padding:0.3rem 0.75rem;margin-bottom:1.25rem;border-radius:100px
}

/* Image card variant for fragrance categories */
.cat-card-with-img {
  position:relative;padding:0;min-height:260px;border:none;overflow:hidden
}
.cat-card-with-img .cat-card-img {
  position:absolute;inset:0;z-index:0
}
.cat-card-with-img .cat-card-img img {
  width:100%;height:100%;object-fit:cover;transition:transform 0.6s var(--ease-smooth)
}
.cat-card-with-img:hover .cat-card-img img { transform:scale(1.06) }
.cat-card-with-img .cat-card-overlay {
  position:absolute;inset:0;z-index:1;
  background:linear-gradient(to top,
    rgba(38,56,72,.68) 0%,rgba(38,56,72,.32) 60%,
    rgba(38,56,72,.08) 100%);
  transition:background 0.4s var(--ease-smooth)
}
.cat-card-with-img:hover .cat-card-overlay {
  background:linear-gradient(to top,
    rgba(38,56,72,.58) 0%,rgba(38,56,72,.24) 60%,
    transparent 100%)
}
.cat-card-body {
  position:relative;z-index:2;padding:2rem;display:flex;flex-direction:column;
  justify-content:flex-end;height:100%
}
.cat-card-body .cat-tag {
  border-color:rgba(201,169,110,0.5);
  background:rgba(38,56,72,.45);color:var(--color-gold-light);
  backdrop-filter:blur(4px)
}
.cat-card-body h3 { color:white;font-size:1.2rem;margin-bottom:0.5rem }
.cat-card-body p { color:rgba(255,255,255,0.7);font-size:0.82rem }

/* Compliance Page */
.compliance-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem;margin-top:4rem}
.compliance-card{background:var(--color-sand);padding:3rem;border:1px solid var(--color-sand-dark);border-radius:12px;transition:all var(--transition)}
.compliance-card:hover{border-color:var(--color-blue-pale);box-shadow:0 8px 32px rgba(0,0,0,0.05)}
.compliance-icon{font-size:2rem;margin-bottom:1.5rem;display:block;color:var(--color-blue)}
.compliance-card h3{margin-bottom:1rem}
.cert-badges{display:flex;flex-wrap:wrap;gap:0.75rem;margin-top:3rem}
.cert-badge{
  background:var(--color-dark);color:var(--color-gold-light);padding:0.6rem 1.4rem;
  font-size:0.72rem;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;
  border:1px solid rgba(201,169,110,0.2);border-radius:4px
}

/* Insights Page */
.insights-hero-list{padding:7rem 0}
.insights-big-grid{display:grid;grid-template-columns:2fr 1fr;gap:3rem}
.insights-main article{border-bottom:1px solid var(--color-sand-dark);padding:3rem 0}
.insights-main article:first-child{padding-top:0}
.article-meta{display:flex;align-items:center;gap:1.5rem;margin-bottom:1rem}
.article-category{font-size:0.68rem;font-weight:600;letter-spacing:0.18em;text-transform:uppercase;color:var(--color-blue)}
.article-date{font-size:0.75rem;color:var(--color-ink-muted)}
.insights-main h3{margin-bottom:0.85rem;transition:color var(--transition)}
.insights-main a:hover h3{color:var(--color-blue-dark)}
.insights-sidebar{position:sticky;top:calc(var(--nav-height) + 2rem)}
.sidebar-block{background:var(--color-sand);padding:2.5rem;border:1px solid var(--color-sand-dark);margin-bottom:2rem;border-radius:8px}
.sidebar-block h4{margin-bottom:1.5rem;color:var(--color-ink-muted);font-size:0.68rem}
.sidebar-topics{display:flex;flex-wrap:wrap;gap:0.5rem}
.sidebar-topic{
  font-size:0.72rem;padding:0.4rem 1rem;background:white;
  border:1px solid var(--color-sand-dark);color:var(--color-ink-muted);
  transition:var(--transition);cursor:pointer;border-radius:100px
}
.sidebar-topic:hover{border-color:var(--color-blue);color:var(--color-blue)}

/* Forms */
.form-section{padding:7rem 0}
.form-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:7rem;align-items:start}
.form-intro h2{margin-bottom:1.5rem}
.form-intro p{font-size:1rem;margin-bottom:1.25rem}
.form-note{
  background:var(--color-sand);border-left:3px solid var(--color-blue);
  padding:1.5rem 1.75rem;margin-top:2.5rem;border-radius:0 8px 8px 0
}
.form-note p{font-size:0.875rem;margin:0}
.form-body{background:var(--color-sand);padding:3.5rem;border:1px solid var(--color-sand-dark);border-radius:12px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}
.form-group{margin-bottom:1.75rem}
.form-group label{
  display:block;font-size:0.72rem;font-weight:600;letter-spacing:0.12em;
  text-transform:uppercase;color:var(--color-ink-muted);margin-bottom:0.65rem
}
.form-group input,.form-group select,.form-group textarea{
  width:100%;background:white;border:1px solid var(--color-sand-dark);
  padding:0.85rem 1.1rem;font-family:var(--font-primary);font-size:0.9rem;
  color:var(--color-ink);outline:none;transition:border-color var(--transition);
  appearance:none;border-radius:6px
}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--color-blue)}
.form-group textarea{resize:vertical;min-height:120px}
.form-group select{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236b6459' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.5rem
}
.form-submit{display:flex;align-items:center;justify-content:space-between;margin-top:0.5rem}
.form-privacy{font-size:0.72rem;color:var(--color-ink-muted)}
.form-body .btn-primary{min-width:180px;justify-content:center}

/* Checkboxes - custom styled */
.checkbox-group{display:grid;grid-template-columns:repeat(2,1fr);gap:0.5rem;margin-top:0.5rem}
.checkbox-item{display:flex;align-items:center;gap:0.5rem;cursor:pointer;position:relative;padding:0.35rem 0}
.checkbox-item input[type=checkbox]{appearance:none;-webkit-appearance:none;width:20px;height:20px;flex-shrink:0;border:2px solid #6b7280;border-radius:4px;background:white;cursor:pointer;margin:0;position:relative}
.checkbox-item input[type=checkbox]:checked{border-color:#1A5E7A;background:#1A5E7A url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 12 10 16 18 8'/%3E%3C/svg%3E") center/14px no-repeat}
.checkbox-item span{font-size:0.88rem;color:var(--color-ink);letter-spacing:0.01em}

/* Flavor Page */
.flavor-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:4rem}
.flavor-card{
  padding:2.75rem 2rem;border:1px solid var(--color-sand-dark);
  background:var(--color-sand);transition:var(--transition);position:relative;
  overflow:hidden;border-radius:12px
}
.flavor-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,var(--color-green),var(--color-blue));
  transform:scaleX(0);transform-origin:left;transition:transform 0.4s var(--ease-smooth)
}
.flavor-card:hover::before{transform:scaleX(1)}
.flavor-card:hover{box-shadow:0 16px 48px rgba(0,0,0,0.07);transform:translateY(-4px)}
.flavor-card h3{margin-bottom:0.75rem;font-size:1.2rem}

/* Image-enhanced flavor cards */
.flavor-card-with-img {
  position:relative;padding:0;min-height:300px;border:none;overflow:hidden
}
.flavor-card-with-img .flavor-card-bg {
  position:absolute;inset:0;z-index:0
}
.flavor-card-with-img .flavor-card-bg img {
  width:100%;height:100%;object-fit:cover;transition:transform 0.6s var(--ease-smooth)
}
.flavor-card-with-img:hover .flavor-card-bg img { transform:scale(1.06) }
.flavor-card-with-img .flavor-card-overlay {
  position:absolute;inset:0;z-index:1;
  background:linear-gradient(to top,
    rgba(38,56,72,.70) 0%,rgba(38,56,72,.42) 55%,
    rgba(38,56,72,.15) 100%);
  transition:background 0.4s var(--ease-smooth)
}
.flavor-card-with-img:hover .flavor-card-overlay {
  background:linear-gradient(to top,
    rgba(38,56,72,.60) 0%,rgba(38,56,72,.35) 55%,
    transparent 100%)
}
.flavor-card-with-img .flavor-card-inner {
  position:relative;z-index:2;padding:2rem;display:flex;flex-direction:column;
  justify-content:flex-end;height:100%
}
.flavor-card-with-img .cat-tag {
  background:rgba(38,56,72,.45);color:var(--color-gold-light);
  border-color:rgba(255,255,255,0.15);backdrop-filter:blur(4px)
}
.flavor-card-with-img h3 { color:white }
.flavor-card-with-img p { color:rgba(255,255,255,0.7) }

/* Animations (scroll reveal) */
.reveal{opacity:0;transform:translateY(28px);transition:opacity 0.7s var(--ease-smooth),transform 0.7s var(--ease-smooth)}
.reveal.visible{opacity:1;transform:translateY(0)}
.reveal-delay-1{transition-delay:0.1s}.reveal-delay-2{transition-delay:0.2s}
.reveal-delay-3{transition-delay:0.3s}.reveal-delay-4{transition-delay:0.4s}
.reveal-delay-5{transition-delay:0.5s}

/* Image lazy load fade-in */
.img-fade{opacity:0;transition:opacity 0.6s var(--ease-smooth)}
.img-fade.loaded{opacity:1}

/* ================================================================
   Responsive Design
   ================================================================ */
@media (max-width: 1100px) {
  .intro-grid{grid-template-columns:1fr;gap:4rem}
  .about-story-grid{grid-template-columns:1fr;gap:4rem}
  .about-visual{height:360px}
  .fragrance-intro-grid{grid-template-columns:1fr}
  .insights-big-grid{grid-template-columns:1fr}
  .insights-sidebar{position:static}
  .form-grid{grid-template-columns:1fr;gap:3.5rem}
  .footer-grid{grid-template-columns:1fr 1fr;gap:3rem}
  .partners-grid{grid-template-columns:repeat(2,1fr)}
  .resource-partners{grid-template-columns:repeat(2,1fr)}
  .sust-pillars{grid-template-columns:1fr}
  .sust-values{grid-template-columns:repeat(2,1fr)}
  .sust-metrics{grid-template-columns:repeat(2,1fr);padding:3rem 2rem}
}

@media (max-width: 900px) {
  :root{--nav-height:68px}
  .nav-links{
    display:none;position:fixed;top:var(--nav-height);left:0;right:0;
    background:var(--color-warm-white);flex-direction:column;padding:2rem;gap:1.5rem;
    border-bottom:1px solid var(--color-sand-dark);
    box-shadow:0 8px 32px rgba(0,0,0,0.08);align-items:flex-start
  }
  .nav-links.open{display:flex}.nav-toggle{display:flex}
  .solutions-grid{grid-template-columns:repeat(2,1fr)}
  .why-grid{grid-template-columns:repeat(2,1fr)}
  .process-steps{grid-template-columns:repeat(2,1fr);gap:3rem}
  .step-connector{display:none}
  .insights-grid{grid-template-columns:1fr}
  .insight-card-featured{min-height:360px;grid-row:span 1}
  .compliance-grid{grid-template-columns:1fr}
  .values-grid{grid-template-columns:1fr 1fr}
  .fragrance-category-list{grid-template-columns:1fr}
  .form-row{grid-template-columns:1fr}
  .flavor-grid{grid-template-columns:1fr}
  .partner-logos-grid{gap:1.5rem 2.5rem}
  .sust-pillar{grid-template-columns:1fr}
  .sust-pillar-img{height:200px}
}

@media (max-width: 640px) {
  .section{padding:5rem 0}
  .container{padding:0 1.25rem}
  .solutions-grid{grid-template-columns:1fr}
  .why-grid{grid-template-columns:1fr}
  .intro-stats{grid-template-columns:1fr 1fr}
  .footer-grid{grid-template-columns:1fr}
  .process-steps{grid-template-columns:1fr}
  .values-grid{grid-template-columns:1fr}
  .flavor-grid{grid-template-columns:1fr}
  .hero-title{font-size:clamp(2.2rem,8vw,3.5rem)}
  .form-body{padding:2rem 1.5rem}
  .checkbox-group{grid-template-columns:1fr}
  .form-submit{flex-direction:column;gap:1rem;align-items:flex-start}
  .hero-actions{flex-direction:column;align-items:center}
  .cta-actions{flex-direction:column;align-items:center}
  .partners-grid{grid-template-columns:1fr}
  .resource-partners{grid-template-columns:1fr}
  .sust-values{grid-template-columns:1fr}
  .sust-metrics{grid-template-columns:1fr 1fr}

}