/*
Theme Name: Soil Ventures
Theme URI: https://soilventures.in
Author: Soil Ventures
Author URI: https://soilventures.in
Description: A premium, single-page WordPress theme for Soil Ventures — pure essential oils and planting slips of Indian origin. Converted from a static design into a fully functional theme with an editable navigation menu, working Trade Enquiry and Newsletter forms, and translation-ready markup.
Version: 1.1.0
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: soil-ventures
Tags: one-column, custom-menu, custom-logo, translation-ready, agriculture, ecommerce-friendly
*/

:root{
  --cream:#F5F0E8;--deep-green:#1A2E1A;--moss:#3D5C2E;--sage:#7A9E6B;
  --gold:#C8A84B;--warm-white:#FDFAF4;--earth:#6B4F2E;--dark-earth:#3B2A18;
  --vetiver:#2E2418;--border-thin:rgba(60,50,30,0.15);
  --font-display:"Cormorant Garamond",Georgia,serif;
  --font-body:"DM Sans",system-ui,sans-serif;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
#top,#vetiver,#products,#brands,#slips,#about,#origin,#process,#b2b{scroll-margin-top:64px}
body{font-family:var(--font-body);background:#fff;color:var(--deep-green);font-size:16px;line-height:1.7;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:200;background:rgba(255,255,255,0.97);backdrop-filter:blur(10px);border-bottom:1px solid var(--border-thin);padding:0 5%;height:64px;display:flex;align-items:center;justify-content:space-between}
.nav-logo{display:flex;align-items:center;gap:10px;text-decoration:none;flex-shrink:0}
.nav-logo-mark{width:36px;height:36px;border-radius:50%;background:var(--moss);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:16px;font-weight:600;color:#fff;flex-shrink:0}
.nav-logo-text{display:flex;flex-direction:column;line-height:1.2}
.nav-logo-name{font-family:var(--font-display);font-size:15px;font-weight:600;color:#000}
.nav-logo-tagline{font-size:9px;color:var(--sage);letter-spacing:1.5px;text-transform:uppercase}
.nav-links{display:flex;align-items:center;gap:24px;list-style:none}
.nav-links a{font-size:11px;letter-spacing:0.8px;text-transform:uppercase;color:#000;text-decoration:none;opacity:.65;transition:opacity .2s}
.nav-links a:hover{opacity:1}
.nav-cta{background:var(--moss);color:#fff!important;padding:8px 18px;border-radius:2px;opacity:1!important}
.nav-cta:hover{background:var(--deep-green)!important}
.nav-hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:4px;z-index:201}
.nav-hamburger span{display:block;width:22px;height:2px;background:#000;border-radius:2px;transition:all .3s}
.nav-hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-hamburger.open span:nth-child(2){opacity:0}
.nav-hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.nav-drawer{display:none;position:fixed;top:64px;left:0;right:0;z-index:199;background:#fff;border-bottom:1px solid var(--border-thin);padding:16px 5% 24px;flex-direction:column;box-shadow:0 8px 32px rgba(0,0,0,0.1)}
.nav-drawer.open{display:flex}
.nav-drawer li{list-style:none;border-bottom:1px solid var(--border-thin)}
.nav-drawer a{display:block;padding:13px 0;font-size:13px;letter-spacing:1px;text-transform:uppercase;color:#000;text-decoration:none}
.nav-drawer .drawer-cta{margin-top:14px;background:var(--moss);color:#fff!important;text-align:center;padding:13px;border-radius:2px}

/* HERO */
.hero{min-height:100svh;background:var(--deep-green);display:grid;grid-template-columns:1fr 1fr;padding-top:64px;position:relative;overflow:hidden}
.hero-left{display:flex;flex-direction:column;justify-content:center;padding:60px 5% 120px 8%;position:relative;z-index:2}
.hero-eyebrow{font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--gold);margin-bottom:18px;display:flex;align-items:center;gap:10px}
.hero-eyebrow::before{content:"";width:28px;height:1px;background:var(--gold)}
.hero-sub-tag{display:inline-block;font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--gold);border:1px solid rgba(200,168,75,.35);padding:5px 14px;border-radius:2px;margin-bottom:20px;width:fit-content}
.hero-headline{font-family:var(--font-display);font-size:clamp(36px,5.5vw,76px);font-weight:300;line-height:1.06;color:#fff;margin-bottom:24px;letter-spacing:-.5px}
.hero-headline em{font-style:italic;color:var(--gold)}
.hero-body{font-size:15px;line-height:1.8;color:rgba(255,255,255,.6);max-width:480px;margin-bottom:40px}
.hero-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.btn-primary{background:var(--gold);color:var(--dark-earth);padding:13px 28px;border-radius:2px;font-size:12px;letter-spacing:1px;text-transform:uppercase;font-weight:500;text-decoration:none;transition:background .2s,transform .15s;display:inline-block;border:none;cursor:pointer}
.btn-primary:hover{background:#d4b55a;transform:translateY(-1px)}
.btn-ghost{color:#fff;opacity:.7;font-size:13px;text-decoration:none;display:inline-flex;align-items:center;gap:8px;transition:opacity .2s}
.btn-ghost:hover{opacity:1}
.btn-outline-gold{border:1px solid var(--gold);color:var(--gold);padding:12px 26px;border-radius:2px;font-size:11px;letter-spacing:1px;text-transform:uppercase;font-weight:500;text-decoration:none;transition:background .2s,color .2s;display:inline-block}
.btn-outline-gold:hover{background:var(--gold);color:var(--dark-earth)}
.btn-outline-moss{border:1px solid var(--moss);color:var(--moss);padding:12px 26px;border-radius:2px;font-size:11px;letter-spacing:1px;text-transform:uppercase;font-weight:500;text-decoration:none;transition:background .2s,color .2s;display:inline-block}
.btn-outline-moss:hover{background:var(--moss);color:#fff}
.hero-right{position:relative;display:flex;align-items:center;justify-content:center}
.hero-deco{position:absolute;border-radius:50%;border:1px solid rgba(200,168,75,.1)}
.hero-deco-1{width:440px;height:440px;top:50%;left:50%;transform:translate(-50%,-50%)}
.hero-deco-2{width:620px;height:620px;top:50%;left:50%;transform:translate(-50%,-50%);border-color:rgba(200,168,75,.05)}
.hero-vetiver-art{width:340px;height:460px;opacity:.22}
.hero-stats{position:absolute;bottom:40px;left:8%;display:flex;gap:40px;z-index:3;flex-wrap:wrap}
.stat{display:flex;flex-direction:column}
.stat-num{font-family:var(--font-display);font-size:34px;font-weight:300;color:#fff;line-height:1}
.stat-label{font-size:10px;color:rgba(255,255,255,.45);letter-spacing:1.5px;text-transform:uppercase;margin-top:4px}

/* MARQUEE */
.marquee-strip{background:var(--moss);padding:13px 0;overflow:hidden}
.marquee-inner{display:flex;animation:marquee 34s linear infinite;white-space:nowrap;width:max-content}
.marquee-item{font-size:11px;letter-spacing:2.5px;text-transform:uppercase;color:rgba(255,255,255,.7);padding:0 32px;display:flex;align-items:center;gap:16px}
.marquee-dot{color:var(--gold);font-size:5px}
@keyframes marquee{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* COOPERATIVE BAND */
.coop-band{background:#0a0a0a;padding:0 0;display:grid;grid-template-columns:1fr 1fr 1fr;gap:1px}
.coop-item{padding:48px 36px;background:#111;display:flex;flex-direction:column;gap:12px}
.coop-word{font-family:var(--font-display);font-size:clamp(34px,7vw,48px);font-weight:300;color:var(--gold);line-height:1}
.coop-title{font-size:13px;font-weight:500;color:#fff;letter-spacing:.3px}
.coop-desc{font-size:13px;color:rgba(255,255,255,.42);line-height:1.7}

/* SECTIONS */
section{padding:80px 8%}
.section-eyebrow{font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--sage);margin-bottom:14px;display:flex;align-items:center;gap:10px}
.section-eyebrow::before{content:"";width:22px;height:1px;background:var(--sage)}
/* BLACK headings on white/light */
.section-heading{font-family:var(--font-display);font-size:clamp(30px,4vw,54px);font-weight:400;line-height:1.08;color:#000;letter-spacing:-.3px}
.section-heading em{font-style:italic;color:var(--moss)}
/* On dark backgrounds */
.on-dark .section-eyebrow{color:var(--gold)}
.on-dark .section-eyebrow::before{background:var(--gold)}
.on-dark .section-heading{color:#fff}
.on-dark .section-heading em{color:var(--gold)}

/* VETIVER FEATURE */
.vetiver-hero-band{background:var(--vetiver);padding:80px 8%;display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;position:relative;overflow:hidden}
.vetiver-hero-bg-art{position:absolute;right:-40px;top:50%;transform:translateY(-50%);opacity:.04;pointer-events:none}
.vh-eyebrow{font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--gold);margin-bottom:16px;display:flex;align-items:center;gap:10px}
.vh-eyebrow::before{content:"";width:22px;height:1px;background:var(--gold)}
.vh-title{font-family:var(--font-display);font-size:clamp(30px,4vw,52px);font-weight:300;color:#fff;line-height:1.1;margin-bottom:20px}
.vh-title em{font-style:italic;color:var(--gold)}
.vh-body{font-size:14px;color:rgba(255,255,255,.58);line-height:1.8;margin-bottom:20px}
.vh-quote{border-left:2px solid var(--gold);padding-left:20px;margin:24px 0;font-family:var(--font-display);font-size:19px;font-style:italic;color:rgba(255,255,255,.7);line-height:1.55}
.vf-facts{display:flex;flex-direction:column}
.vf-item{padding:18px 0;border-bottom:1px solid rgba(255,255,255,.07);display:flex;gap:16px;align-items:flex-start}
.vf-item:last-child{border-bottom:none}
.vf-icon{width:36px;height:36px;border-radius:50%;background:rgba(200,168,75,.1);border:1px solid rgba(200,168,75,.22);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.vf-icon svg{width:15px;height:15px;color:var(--gold)}
.vf-label{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--gold);margin-bottom:4px}
.vf-value{font-size:13px;color:rgba(255,255,255,.62);line-height:1.6}

/* VETIVER PRODUCT CARD */
.vetiver-product-card{display:grid;grid-template-columns:1fr 1fr;gap:0;border-radius:6px;overflow:hidden;box-shadow:0 4px 48px rgba(0,0,0,0.14);margin-top:48px}
.vp-visual{background:linear-gradient(145deg,#2E2418 0%,#180F06 100%);padding:52px 44px;display:flex;flex-direction:column;justify-content:space-between;min-height:500px;position:relative;overflow:hidden}
.vp-bg{position:absolute;right:-20px;bottom:-20px;opacity:.07;pointer-events:none}
.vp-tag{font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--gold);margin-bottom:12px;display:flex;align-items:center;gap:8px}
.vp-tag::before{content:"";width:18px;height:1px;background:var(--gold)}
.vp-name{font-family:var(--font-display);font-size:clamp(34px,8vw,54px);font-weight:300;color:#fff;line-height:1;margin-bottom:6px}
.vp-name em{font-style:italic;color:var(--gold)}
.vp-latin{font-size:12px;font-style:italic;color:rgba(255,255,255,.38);margin-bottom:28px}
.vp-stats{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.vp-stat{border-top:1px solid rgba(200,168,75,.25);padding-top:12px}
.vp-stat-num{font-family:var(--font-display);font-size:26px;font-weight:300;color:var(--gold);line-height:1}
.vp-stat-label{font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:rgba(255,255,255,.4);margin-top:4px}
.vp-info{background:#FDFAF4;padding:52px 44px;display:flex;flex-direction:column;justify-content:center}
.vp-desc-heading{font-family:var(--font-display);font-size:25px;font-weight:400;color:#000;margin-bottom:16px;line-height:1.25}
.vp-desc{font-size:14px;color:var(--earth);line-height:1.85;margin-bottom:16px}
.vp-constituents{display:flex;flex-direction:column;gap:9px;margin:20px 0}
.vp-constituent{display:flex;align-items:center;gap:12px}
.vp-c-name{font-size:12px;color:var(--earth);width:120px;flex-shrink:0}
.vp-bar-wrap{flex:1;height:5px;background:rgba(61,92,46,.12);border-radius:3px;overflow:hidden}
.vp-bar{height:100%;background:var(--moss);border-radius:3px}
.vp-c-pct{font-size:11px;color:var(--sage);width:36px;text-align:right;flex-shrink:0}
.vp-actions{display:flex;gap:12px;margin-top:8px;flex-wrap:wrap}

/* ABOUT */
.about{background:#fff}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center;margin-top:48px}
.about-visual{border-radius:4px;overflow:hidden;background:var(--deep-green);aspect-ratio:4/5;position:relative}
.about-visual img{width:100%;height:100%;object-fit:cover;object-position:center 20%;display:block}
.about-visual-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(26,46,26,.9) 0%,rgba(26,46,26,0) 55%)}
.about-visual-inner{position:absolute;bottom:0;left:0;right:0;padding:28px;z-index:2}
.founder-name{font-family:var(--font-display);font-size:24px;font-weight:400;color:#fff}
.founder-title{font-size:10px;color:var(--gold);letter-spacing:1.5px;text-transform:uppercase;margin-top:6px;line-height:1.9}
.about-content{display:flex;flex-direction:column;gap:20px}
.about-intro{font-family:var(--font-display);font-size:22px;font-weight:300;line-height:1.5;color:#000;font-style:italic;border-left:3px solid var(--gold);padding-left:20px}
.about-body{font-size:15px;color:var(--earth);line-height:1.85}
.about-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.badge{padding:6px 14px;border:1px solid var(--border-thin);font-size:11px;letter-spacing:.8px;text-transform:uppercase;color:var(--moss);border-radius:2px;background:rgba(61,92,46,.05)}

/* OTHER CROPS */
.products{background:var(--cream)}
.products-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:40px}
.product-card{background:#fff;border:1px solid var(--border-thin);border-radius:4px;overflow:hidden;transition:transform .25s,box-shadow .25s;display:flex;flex-direction:column}
.product-card:hover{transform:translateY(-3px);box-shadow:0 12px 32px rgba(26,46,26,.1)}
.product-image{aspect-ratio:16/8;background:var(--deep-green);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.product-image svg{width:48%;height:48%;opacity:.5}
.product-badge-new{position:absolute;top:10px;right:10px;background:var(--gold);color:var(--dark-earth);font-size:9px;letter-spacing:1.5px;text-transform:uppercase;padding:4px 9px;border-radius:2px;font-weight:500}
.product-body{padding:22px 22px 26px;display:flex;flex-direction:column;flex:1}
.product-name{font-family:var(--font-display);font-size:22px;font-weight:400;color:#000;margin-bottom:4px}
.product-latin{font-size:11px;color:var(--sage);font-style:italic;margin-bottom:10px}
.product-desc{font-size:13px;color:var(--earth);line-height:1.7;margin-bottom:18px;flex:1}
.product-footer{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.product-volume{font-size:11px;color:var(--sage);letter-spacing:.5px}
.product-btn{background:var(--moss);color:#fff;font-size:10px;letter-spacing:1px;text-transform:uppercase;padding:8px 16px;border-radius:2px;text-decoration:none;transition:background .2s}
.product-btn:hover{background:var(--deep-green)}
.prod-bg-lemongrass{background:#2A3A1A}
.prod-bg-basil{background:#1A2C1A}

/* SOURCED OILS */
.sourced{background:#fff}
.sourced-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:40px}
.sourced-card{background:var(--cream);border:1px solid var(--border-thin);border-radius:4px;padding:28px;display:flex;gap:20px;align-items:flex-start;transition:border-color .2s,transform .2s}
.sourced-card:hover{border-color:var(--gold);transform:translateY(-2px)}
.sourced-icon{width:50px;height:50px;border-radius:4px;flex-shrink:0;display:flex;align-items:center;justify-content:center}
.sourced-icon svg{width:24px;height:24px;color:#fff}
.sourced-tag{font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--gold);margin-bottom:5px}
.sourced-name{font-family:var(--font-display);font-size:22px;font-weight:400;color:#000;margin-bottom:3px}
.sourced-origin{font-size:11px;color:var(--sage);font-style:italic;margin-bottom:10px}
.sourced-desc{font-size:13px;color:var(--earth);line-height:1.65}

/* BRANDS */
.brands{background:var(--cream)}
.brands-intro{font-size:15px;color:var(--earth);line-height:1.8;max-width:600px;margin-top:14px;margin-bottom:48px}
.brands-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin-bottom:48px}
.brand-tile{background:#fff;padding:32px 24px;display:flex;flex-direction:column;gap:12px;transition:border-color .2s,transform .2s;border:1px solid var(--border-thin)}
.brand-tile:hover{transform:translateY(-2px);border-color:var(--sage)}
.brand-tile-icon{width:46px;height:46px;border-radius:50%;background:var(--deep-green);display:flex;align-items:center;justify-content:center}
.brand-tile-icon svg{width:20px;height:20px;color:var(--gold)}
.brand-tile-segment{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--sage)}
.brand-tile-name{font-family:var(--font-display);font-size:20px;font-weight:400;color:#000}
.brand-tile-desc{font-size:12px;color:var(--earth);line-height:1.6}
.brands-cta{background:var(--deep-green);border-radius:4px;padding:44px 40px;display:flex;justify-content:space-between;align-items:center;gap:28px;flex-wrap:wrap}
.brands-cta-title{font-family:var(--font-display);font-size:clamp(22px,3vw,34px);font-weight:300;color:#fff;line-height:1.25}
.brands-cta-title em{font-style:italic;color:var(--gold)}
.brands-cta-sub{font-size:13px;color:rgba(255,255,255,.48);margin-top:8px;max-width:380px;line-height:1.65}
.brands-cta-btns{display:flex;gap:12px;flex-wrap:wrap}

/* SLIPS */
.slips{background:#fff}
.slips-intro{font-size:15px;color:var(--earth);line-height:1.8;max-width:640px;margin-top:14px}
.slips-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:44px}
.slip-card{background:var(--cream);border:1px solid var(--border-thin);border-radius:4px;overflow:hidden;transition:transform .25s,box-shadow .25s}
.slip-card:hover{transform:translateY(-3px);box-shadow:0 12px 36px rgba(26,46,26,.1)}
.slip-card-header{padding:36px 30px 26px;position:relative;overflow:hidden;min-height:174px;display:flex;flex-direction:column;justify-content:flex-end}
.slip-card-header-vetiver{background:linear-gradient(135deg,#2E2418 0%,#3A2E1A 100%)}
.slip-card-header-lemongrass{background:linear-gradient(135deg,#1A2E1A 0%,#2A3A1A 100%)}
.slip-card-bg-art{position:absolute;right:-16px;top:-8px;opacity:.11}
.slip-eyebrow{font-size:10px;letter-spacing:2.5px;text-transform:uppercase;color:var(--gold);margin-bottom:7px}
.slip-card-title{font-family:var(--font-display);font-size:clamp(26px,6vw,34px);font-weight:300;color:#fff;line-height:1.05}
.slip-card-title em{font-style:italic;color:var(--gold)}
.slip-card-latin{font-size:12px;font-style:italic;color:rgba(255,255,255,.45);margin-top:5px}
.slip-card-body{padding:24px 28px 28px}
.slip-why-label{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--sage);margin-bottom:7px}
.slip-why-text{font-size:13px;color:var(--earth);line-height:1.7;margin-bottom:16px}
.slip-specs{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px}
.slip-spec{background:#fff;border:1px solid var(--border-thin);border-radius:3px;padding:10px 12px}
.slip-spec-label{font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:var(--sage);margin-bottom:3px}
.slip-spec-value{font-size:13px;color:#000;font-weight:500}
.slip-features{list-style:none;display:flex;flex-direction:column;gap:7px;margin-bottom:18px}
.slip-features li{font-size:13px;color:var(--earth);padding-left:16px;position:relative;line-height:1.55}
.slip-features li::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--gold);position:absolute;left:0;top:7px}
.slip-cta-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.slip-badge{font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--moss);border:1px solid rgba(61,92,46,.2);padding:5px 12px;border-radius:2px}
.slips-enquiry{background:var(--deep-green);padding:56px 8%;display:flex;justify-content:space-between;align-items:center;gap:32px;flex-wrap:wrap}
.eq-label{font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--gold);margin-bottom:12px;display:flex;align-items:center;gap:8px}
.eq-label::before{content:"";width:18px;height:1px;background:var(--gold)}
.slips-enquiry-title{font-family:var(--font-display);font-size:clamp(22px,3vw,36px);font-weight:300;color:#fff;line-height:1.2}
.slips-enquiry-title em{font-style:italic;color:var(--gold)}
.slips-enquiry-body{font-size:14px;color:rgba(255,255,255,.5);margin-top:10px;max-width:420px;line-height:1.65}
.slips-actions{display:flex;gap:14px;flex-wrap:wrap}

/* PROCESS */
.process{background:#0a0a0a;padding:80px 8%}
.process-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:56px}
.process-step{padding:36px 24px;border-top:1px solid rgba(200,168,75,.2);position:relative;background:#111}
.step-number{font-family:var(--font-display);font-size:56px;font-weight:300;color:rgba(200,168,75,.1);line-height:1;position:absolute;top:18px;right:18px}
.step-icon{width:42px;height:42px;border-radius:50%;background:rgba(200,168,75,.08);border:1px solid rgba(200,168,75,.25);display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.step-icon svg{width:18px;height:18px;color:var(--gold)}
.step-title{font-family:var(--font-display);font-size:19px;font-weight:400;color:#fff;margin-bottom:9px}
.step-desc{font-size:13px;line-height:1.7;color:rgba(255,255,255,.42)}

/* ORIGIN */
.origin{background:var(--cream)}
.origin-inner{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center;margin-top:56px}
.origin-map{aspect-ratio:1;background:var(--deep-green);border-radius:4px;overflow:hidden;display:flex;align-items:center;justify-content:center;padding:32px}
.origin-facts{display:flex;flex-direction:column;gap:24px}
.origin-fact{border-left:2px solid var(--gold);padding-left:20px}
.origin-fact-label{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--sage);margin-bottom:4px}
.origin-fact-value{font-family:var(--font-display);font-size:21px;color:#000;font-weight:400}
.origin-fact-body{font-size:13px;color:var(--earth);line-height:1.65;margin-top:3px}

/* CERTS */
.certs{background:#fff;padding:52px 8%}
.certs-inner{display:flex;justify-content:center;align-items:center;gap:44px;flex-wrap:wrap}
.cert-item{display:flex;flex-direction:column;align-items:center;gap:8px}
.cert-icon{width:56px;height:56px;border-radius:50%;border:1px solid var(--border-thin);display:flex;align-items:center;justify-content:center}
.cert-icon svg{width:24px;height:24px;color:var(--moss)}
.cert-label{font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:var(--sage);text-align:center}

/* TESTIMONIALS */
.testimonials{background:#0a0a0a;padding:80px 8%}
.testimonials-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:52px}
.testimonial-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:4px;padding:28px}
.testimonial-quote{font-family:var(--font-display);font-size:16px;font-weight:300;font-style:italic;line-height:1.65;color:rgba(255,255,255,.78);margin-bottom:20px}
.testimonial-meta{display:flex;align-items:center;gap:10px}
.testimonial-avatar{width:34px;height:34px;border-radius:50%;background:var(--moss);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:13px;color:#fff;font-weight:600;flex-shrink:0}
.testimonial-name{font-size:13px;color:#fff;font-weight:500}
.testimonial-location{font-size:11px;color:var(--sage)}
.testimonial-stars{color:var(--gold);font-size:11px;letter-spacing:2px;margin-bottom:14px}

/* B2B */
.b2b{background:var(--cream)}
.b2b-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start;margin-top:52px}
.b2b-cards{display:flex;flex-direction:column;gap:12px}
.b2b-card{background:#fff;border:1px solid var(--border-thin);border-radius:4px;padding:20px 22px;display:flex;gap:14px;align-items:flex-start;transition:border-color .2s}
.b2b-card:hover{border-color:var(--sage)}
.b2b-card-icon{width:36px;height:36px;border-radius:50%;background:rgba(61,92,46,.07);flex-shrink:0;display:flex;align-items:center;justify-content:center}
.b2b-card-icon svg{width:16px;height:16px;color:var(--moss)}
.b2b-card-title{font-size:14px;font-weight:500;color:#000;margin-bottom:3px}
.b2b-card-desc{font-size:13px;color:var(--earth);line-height:1.6}
.b2b-form-wrap{background:var(--deep-green);border-radius:4px;padding:36px 32px}
.b2b-form-title{font-family:var(--font-display);font-size:28px;color:#fff;font-weight:300;margin-bottom:6px}
.b2b-form-sub{font-size:13px;color:rgba(255,255,255,.45);margin-bottom:24px}
.form-group{margin-bottom:14px}
.form-label{display:block;font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:rgba(255,255,255,.45);margin-bottom:6px}
.form-input,.form-select,.form-textarea{width:100%;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:2px;padding:11px 14px;font-family:var(--font-body);font-size:14px;color:#fff;outline:none;transition:border-color .2s;-webkit-appearance:none}
.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--gold)}
.form-input::placeholder,.form-textarea::placeholder{color:rgba(255,255,255,.28)}
.form-select{cursor:pointer}
.form-select option{background:var(--deep-green)}
.form-textarea{resize:vertical;min-height:88px}
.form-submit{width:100%;background:var(--gold);color:var(--dark-earth);border:none;cursor:pointer;padding:13px;font-family:var(--font-body);font-size:12px;font-weight:500;letter-spacing:1px;text-transform:uppercase;border-radius:2px;transition:background .2s}
.form-submit:hover{background:#d4b55a}

/* BLOG */
.blog{background:#fff}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:44px}
.blog-card-image{aspect-ratio:16/10;border-radius:4px;margin-bottom:16px;overflow:hidden;display:flex;align-items:center;justify-content:center}
.blog-category{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--sage);margin-bottom:7px}
.blog-title{font-family:var(--font-display);font-size:20px;font-weight:400;color:#000;line-height:1.3;margin-bottom:9px}
.blog-excerpt{font-size:13px;color:var(--earth);line-height:1.7;margin-bottom:12px}
.blog-meta{font-size:11px;color:var(--sage);display:flex;gap:14px}

/* NEWSLETTER */
.newsletter{background:var(--moss);padding:64px 8%;display:flex;align-items:center;justify-content:space-between;gap:36px;flex-wrap:wrap}
.newsletter-eyebrow{font-size:10px;letter-spacing:3px;text-transform:uppercase;color:rgba(255,255,255,.55);margin-bottom:10px;display:flex;align-items:center;gap:8px}
.newsletter-eyebrow::before{content:"";width:18px;height:1px;background:rgba(255,255,255,.4)}
.newsletter-heading{font-family:var(--font-display);font-size:clamp(22px,3vw,34px);font-weight:300;color:#fff;line-height:1.15}
.newsletter-form{display:flex;flex:0 0 400px;min-width:0}
.newsletter-input{flex:1;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);border-right:none;border-radius:2px 0 0 2px;padding:13px 16px;font-family:var(--font-body);font-size:14px;color:#fff;outline:none;min-width:0;-webkit-appearance:none}
.newsletter-input::placeholder{color:rgba(255,255,255,.38)}
.newsletter-btn{background:var(--gold);color:var(--dark-earth);border:none;padding:13px 22px;font-family:var(--font-body);font-size:11px;font-weight:500;letter-spacing:1px;text-transform:uppercase;border-radius:0 2px 2px 0;cursor:pointer;transition:background .2s;white-space:nowrap}
.newsletter-btn:hover{background:#d4b55a}

/* FOOTER */
footer{background:#000;padding:64px 8% 32px}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:44px;margin-bottom:44px}
.footer-brand-name{font-family:var(--font-display);font-size:22px;font-weight:400;color:#fff;margin-bottom:5px}
.footer-brand-sub{font-size:10px;color:var(--gold);letter-spacing:2px;text-transform:uppercase;margin-bottom:14px}
.footer-desc{font-size:13px;color:rgba(255,255,255,.35);line-height:1.75;max-width:260px;margin-bottom:20px}
.footer-social{display:flex;gap:10px}
.social-icon{width:34px;height:34px;border-radius:50%;border:1px solid rgba(255,255,255,.14);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.45);font-size:13px;cursor:pointer;transition:border-color .2s,color .2s;text-decoration:none}
.social-icon:hover{border-color:var(--gold);color:var(--gold)}
.footer-col-title{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.28);margin-bottom:14px}
.footer-links{list-style:none;display:flex;flex-direction:column;gap:9px}
.footer-links a{font-size:13px;color:rgba(255,255,255,.42);text-decoration:none;transition:color .2s}
.footer-links a:hover{color:#fff}
.footer-bottom{border-top:1px solid rgba(255,255,255,.07);padding-top:20px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px}
.footer-copy,.footer-gst{font-size:11px;color:rgba(255,255,255,.26)}

/* MODAL (Trade Terms / Privacy Policy) */
.modal-overlay{display:none;position:fixed;inset:0;z-index:500;background:rgba(20,24,16,.6);backdrop-filter:blur(3px);padding:5% 5%;overflow-y:auto}
.modal-overlay.open{display:flex;align-items:flex-start;justify-content:center}
.modal-box{background:var(--warm-white);border-radius:6px;max-width:680px;width:100%;margin:40px 0;box-shadow:0 24px 64px rgba(0,0,0,.35);position:relative}
.modal-header{background:var(--deep-green);padding:32px 40px;border-radius:6px 6px 0 0;position:relative}
.modal-eyebrow{font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--gold);margin-bottom:8px}
.modal-title{font-family:var(--font-display);font-size:30px;font-weight:400;color:#fff}
.modal-close{position:absolute;top:20px;right:24px;background:none;border:none;color:rgba(255,255,255,.6);font-size:22px;line-height:1;cursor:pointer;padding:6px;transition:color .2s}
.modal-close:hover{color:#fff}
.modal-body{padding:32px 40px 40px;max-height:60vh;overflow-y:auto}
.modal-section{margin-bottom:22px}
.modal-section:last-child{margin-bottom:0}
.modal-section-title{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--moss);font-weight:500;margin-bottom:8px}
.modal-section p{font-size:13.5px;color:var(--earth);line-height:1.75;margin-bottom:8px}
.modal-section ul{list-style:none;display:flex;flex-direction:column;gap:6px}
.modal-section li{font-size:13.5px;color:var(--earth);line-height:1.6;padding-left:16px;position:relative}
.modal-section li::before{content:"—";position:absolute;left:0;color:var(--sage)}
.modal-updated{font-size:11px;color:var(--sage);margin-top:24px;padding-top:16px;border-top:1px solid var(--border-thin)}
@media(max-width:768px){
  .modal-header{padding:26px 24px}
  .modal-body{padding:24px 24px 32px}
  .modal-title{font-size:24px}
}

/* ANIMATIONS */
@media(prefers-reduced-motion:no-preference){
  .fade-up{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .6s ease}
  .fade-up.visible{opacity:1;transform:none}
}

/* TABLET */
@media(max-width:1024px){
  .vetiver-hero-band{grid-template-columns:1fr;gap:40px;padding:60px 8%}
  .vetiver-product-card{grid-template-columns:1fr}
  .vp-visual{min-height:300px}
  .products-grid,.sourced-grid{grid-template-columns:1fr 1fr}
  .brands-grid{grid-template-columns:1fr 1fr 1fr}
  .process-steps{grid-template-columns:1fr 1fr}
  .testimonials-grid{grid-template-columns:1fr 1fr}
  .footer-grid{grid-template-columns:1fr 1fr;gap:32px}
  .coop-band{grid-template-columns:1fr 1fr}
}

/* MOBILE */
@media(max-width:768px){
  nav{padding:0 5%}
  .nav-links{display:none}
  .nav-hamburger{display:flex}
  section{padding:56px 5%}
  .certs{padding:40px 5%}
  .newsletter{padding:48px 5%;flex-direction:column;align-items:flex-start}
  footer{padding:48px 5% 26px}
  .coop-band{padding:0;grid-template-columns:1fr}
  .hero{grid-template-columns:1fr;min-height:auto}
  .hero-left{padding:44px 5% 36px}
  .hero-right{display:none}
  .hero-stats{position:relative;left:auto;bottom:auto;padding:0 5% 36px;gap:24px;background:var(--deep-green)}
  .about-grid,.origin-inner,.b2b-grid,.slips-grid,.vetiver-hero-band{grid-template-columns:1fr;gap:28px}
  .vetiver-product-card{grid-template-columns:1fr}
  .vp-visual{padding:36px 28px;min-height:260px}
  .vp-info{padding:32px 28px}
  .products-grid,.sourced-grid{grid-template-columns:1fr}
  .brands-grid{grid-template-columns:1fr}
  .process-steps,.testimonials-grid,.blog-grid{grid-template-columns:1fr}
  .slips-enquiry{padding:44px 5%;flex-direction:column;align-items:flex-start}
  .newsletter-form{flex:unset;width:100%}
  .footer-grid{grid-template-columns:1fr;gap:24px}
  .footer-bottom{flex-direction:column;align-items:flex-start;gap:6px}
  .b2b-form-wrap{padding:24px 20px}
  .brands-cta{flex-direction:column;align-items:flex-start;padding:32px 28px}
  .certs-inner{gap:22px}
}
@media(max-width:480px){
  .slip-specs{grid-template-columns:1fr}
  .hero-actions{flex-direction:column;align-items:flex-start}
  .slips-actions{flex-direction:column;width:100%}
  .slips-actions a{text-align:center}
  .brands-grid{grid-template-columns:1fr}
  .vp-stats{grid-template-columns:1fr 1fr}
  .brands-cta-btns{flex-direction:column;width:100%}
}

/* ============ WORDPRESS ADDITIONS ============ */
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important}
.form-notice{border-radius:3px;padding:12px 16px;font-size:13px;margin-bottom:16px;line-height:1.5}
.form-notice-success{background:rgba(122,158,107,.18);border:1px solid rgba(122,158,107,.4);color:#fff}
.form-notice-error{background:rgba(200,80,80,.18);border:1px solid rgba(200,80,80,.4);color:#fff}
.newsletter-notice{font-size:12px;color:#fff;background:rgba(255,255,255,.14);padding:8px 12px;border-radius:2px;margin-top:8px}
.b2b-form-wrap form,.newsletter-form-wrap{margin:0}
body.admin-bar nav{top:32px}
@media screen and (max-width:782px){body.admin-bar nav{top:46px}}

/* ============ MOBILE OPTIMIZATION ============ */

/* Prevent iOS Safari from auto-zooming when a form field receives focus
   (happens whenever font-size is under 16px) — applies to all form
   controls including ones inside the B2B and newsletter forms. */
@media(max-width:768px){
  .form-input,.form-select,.form-textarea,.newsletter-input{
    font-size:16px;
  }
}

/* Larger, easier-to-hit touch targets (44x44px minimum per WCAG/iOS HIG) */
@media(max-width:768px){
  .nav-hamburger{padding:11px;margin:-11px}
  .modal-close{padding:11px;top:14px;right:14px}
  .social-icon{width:40px;height:40px}
  .nav-drawer a{padding:15px 0}
  .footer-links a{display:inline-block;padding:4px 0}
  .btn-primary,.btn-outline-gold,.btn-outline-moss{padding:14px 24px}
  .product-btn{padding:10px 18px}
}
@media(max-width:480px){
  .btn-primary,.btn-outline-gold,.btn-outline-moss{width:100%;text-align:center}
}

/* Remove the mobile tap-highlight flash and speed up tap response */
a,button,.nav-hamburger,.modal-close{-webkit-tap-highlight-color:transparent}
button,a{touch-action:manipulation}

/* Fixed nav shrinks slightly on small screens to free up vertical space,
   and anchor scroll offsets follow suit. */
@media(max-width:768px){
  nav{height:58px}
  #top,#vetiver,#products,#brands,#slips,#about,#origin,#process,#b2b{scroll-margin-top:58px}
  .hero{padding-top:58px}
  .nav-drawer{top:58px;max-height:calc(100svh - 58px);overflow-y:auto;-webkit-overflow-scrolling:touch}
}

/* Prevent long/unbroken words (product names, emails) from overflowing
   narrow viewports */
.section-heading,.hero-headline,.vp-name,.slip-card-title,.coop-word,
.brands-cta-title,.newsletter-heading,.vh-title,.about-intro,.footer-links a{
  overflow-wrap:break-word;word-break:break-word;
}

/* Tighter spacing + smaller decorative numerals on small phones so text
   never collides with the faint background numbers */
@media(max-width:480px){
  section{padding:44px 6%}
  .certs{padding:32px 6%}
  .vetiver-hero-band{padding:44px 6%}
  .process{padding:44px 6%}
  .step-number{font-size:38px;top:14px;right:14px}
  .coop-item{padding:32px 24px}
  .vp-visual,.vp-info{padding:28px 22px}
  .slip-card-body{padding:20px 22px 24px}
  .b2b-form-wrap{padding:22px 18px}
  .modal-overlay{padding:0}
  .modal-box{margin:0;min-height:100svh;border-radius:0}
  .modal-header{border-radius:0}
  .hero-sub-tag{max-width:100%;white-space:normal}
  .hero-stats{gap:18px}
  .stat-num{font-size:28px}
  .about-visual{aspect-ratio:1/1}
  .founder-name{font-size:20px}
}

/* Landscape phones: fixed nav + hero stats can feel cramped in short
   viewports — trim vertical padding further */
@media(max-width:768px) and (max-height:420px) and (orientation:landscape){
  .hero{min-height:auto}
  .hero-left{padding:24px 5%}
  .hero-stats{position:relative;padding:0 5% 24px}
}

/* Respect notches / home indicators on modern phones */
@supports (padding: max(0px)){
  nav{padding-left:max(5%, env(safe-area-inset-left));padding-right:max(5%, env(safe-area-inset-right))}
  footer{padding-bottom:max(32px, env(safe-area-inset-bottom))}
}

/* Larger default tap area + spacing for stacked mobile CTA rows */
@media(max-width:480px){
  .hero-actions,.vp-actions,.slips-actions,.brands-cta-btns{gap:10px}
}

