
:root {
  --ivory:      #FAF8F3;
  --cream:      #F0EAE0;
  --cream-d:    #E4DDD3;
  --gold:       #B8943F;
  --gold-lt:    #D4AA55;
  --gold-pale:  #F5E8C0;
  --forest:     #1A2E1A;
  --charcoal:   #1C1A18;
  --warm-gray:  #7A7468;
  --border:     #DDD8D0;
  --font-serif: 'Cormorant Garamond', Georgia, serif;
  --font-sans:  'DM Sans', system-ui, sans-serif;
}
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { background: var(--ivory); color: var(--charcoal); font-family: var(--font-sans); font-size: 18px; line-height: 1.75; overflow-x: hidden; }

/* CUSTOM CURSOR */
.cursor { position:fixed;top:0;left:0;width:10px;height:10px;background:var(--gold);border-radius:50%;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);transition:width .2s,height .2s; }
.cursor-ring { position:fixed;top:0;left:0;width:36px;height:36px;border:1.5px solid var(--gold);border-radius:50%;pointer-events:none;z-index:9998;transform:translate(-50%,-50%); }

/* NAV */
nav { position:fixed;top:0;left:0;right:0;z-index:200;display:flex;align-items:center;justify-content:space-between;padding:0 64px;height:80px;background:rgba(250,248,243,0.95);backdrop-filter:blur(20px);border-bottom:1px solid var(--border);transition:box-shadow .3s; }
nav.scrolled { box-shadow:0 4px 24px rgba(0,0,0,0.08); }
.nav-logo img { height:72px;width:72px;object-fit:contain;display:block; }
.nav-links { display:flex;gap:36px;align-items:center; }
.nav-links a { font-size:12px;font-weight:500;letter-spacing:0.18em;text-transform:uppercase;color:var(--forest);text-decoration:none;transition:color .2s; }
.nav-links a:hover { color:var(--gold); }
.nav-cta { padding:11px 28px;background:var(--forest);color:#fff !important;border-radius:2px;transition:background .2s !important; }
.nav-cta:hover { background:var(--gold) !important; }

/* MEGA MENU */
.nav-item { position:relative;display:flex;align-items:center;height:80px; }
.mega-menu { position:fixed;top:80px;left:0;right:0;width:100%;max-height:calc(100vh - 96px);overflow-y:auto;background:var(--ivory);border-top:3px solid var(--gold);border-bottom:1px solid var(--border);box-shadow:0 24px 48px rgba(26,46,26,0.16);z-index:300;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-10px);transition:opacity .25s,transform .25s,visibility .25s; }
.nav-item.has-mega:hover .mega-menu, .nav-item.has-mega:focus-within .mega-menu { opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0); }
.mega-menu-inner { max-width:1280px;margin:0 auto;padding:48px 64px 40px; }
.mega-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:80px;align-items:start; }
.mega-col { display:flex;flex-direction:column;gap:0; }
.mega-col h5 { font-family:var(--font-serif);font-weight:600;font-size:17px;color:var(--forest);letter-spacing:0.06em;text-transform:uppercase;border-bottom:1px solid var(--border);padding-bottom:14px;margin-bottom:10px; }
.mega-sub { font-size:11px;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;color:var(--gold);margin-top:14px;margin-bottom:2px; }
.mega-sub:first-of-type { margin-top:0; }
.mega-col a { font-size:14.5px;font-weight:500;letter-spacing:normal;text-transform:none;color:var(--charcoal) !important;text-decoration:none;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:6px 0;transition:color .2s; }
.mega-col a:hover { color:var(--gold) !important; }
.mega-count { font-size:11px;color:var(--warm-gray);background:var(--cream);padding:2px 8px;border-radius:10px;flex-shrink:0; }
.mega-viewall { margin-top:10px;font-size:12px !important;font-weight:600 !important;letter-spacing:0.06em;text-transform:uppercase;color:var(--gold) !important; }
.mega-footer { margin-top:32px;padding-top:28px;border-top:1px solid var(--border);text-align:center; }
.btn-mega-cta { display:inline-block;padding:15px 40px;background:var(--forest);color:#fff !important;text-decoration:none;font-size:12px;font-weight:500;letter-spacing:0.12em;text-transform:uppercase;border-radius:2px;transition:background .2s; }
.btn-mega-cta:hover { background:var(--gold) !important; }
@media(max-width:1024px){ .nav-item.has-mega .mega-menu { display:none !important; } }

/* TICKER */
.ticker { background:var(--forest);padding:13px 0;overflow:hidden;white-space:nowrap; }
.ticker-track { display:inline-flex;gap:56px;animation:ticker 32s linear infinite; }
.ticker-track span { font-size:11px;font-weight:500;letter-spacing:0.22em;text-transform:uppercase;color:var(--gold-lt); }
.ticker-track span::before { content:'◆  ';opacity:0.5; }
@keyframes ticker { from{transform:translateX(0)} to{transform:translateX(-50%)} }

/* HERO */
.hero { min-height:100vh;position:relative;display:flex;align-items:center;overflow:hidden;padding-top:80px; }
.hero-video { position:absolute;inset:0; }
.hero-video video { width:100%;height:100%;object-fit:cover; }
.hero-overlay { position:absolute;inset:0;background:linear-gradient(105deg,rgba(250,248,243,0.97) 42%,rgba(250,248,243,0.7) 65%,rgba(250,248,243,0.1) 100%); }
.hero-content { position:relative;z-index:2;padding:80px;max-width:700px; }
.hero-eyebrow { font-size:11px;font-weight:500;letter-spacing:0.25em;text-transform:uppercase;color:var(--gold);margin-bottom:28px;display:flex;align-items:center;gap:16px; }
.hero-eyebrow::before { content:'';width:48px;height:1px;background:var(--gold); }
.hero-headline { font-family:var(--font-serif);font-size:clamp(56px,6vw,92px);font-weight:300;font-style:italic;line-height:1.06;color:var(--forest);margin-bottom:32px; }
.hero-headline em { font-style:normal;font-weight:600;display:block; }
.hero-body { font-size:19px;line-height:1.8;color:var(--warm-gray);max-width:480px;margin-bottom:48px; }
.hero-actions { display:flex;gap:20px;align-items:center;flex-wrap:wrap; }
.btn-primary { padding:16px 40px;background:var(--forest);color:#fff;font-size:12px;font-weight:500;letter-spacing:0.15em;text-transform:uppercase;text-decoration:none;border-radius:2px;transition:background .2s; }
.btn-primary:hover { background:var(--gold); }
.btn-outline { padding:15px 36px;border:1.5px solid var(--forest);color:var(--forest);font-size:12px;font-weight:500;letter-spacing:0.15em;text-transform:uppercase;text-decoration:none;border-radius:2px;transition:all .2s; }
.btn-outline:hover { background:var(--forest);color:#fff; }
.hero-stats { position:absolute;bottom:48px;right:80px;display:flex;gap:48px;z-index:2; }
.h-stat-num { font-family:var(--font-serif);font-size:52px;font-weight:300;color:var(--forest);line-height:1;display:block; }
.h-stat-lbl { font-size:11px;letter-spacing:0.18em;text-transform:uppercase;color:var(--warm-gray);margin-top:4px; }

/* SECTION COMMONS */
section { padding:100px 80px; }
.section-label { font-size:11px;font-weight:500;letter-spacing:0.25em;text-transform:uppercase;color:var(--gold);margin-bottom:24px;display:flex;align-items:center;gap:14px; }
.section-label::after { content:'';flex:1;height:1px;background:var(--border); }
h2.serif { font-family:var(--font-serif);font-weight:400;font-style:italic;font-size:clamp(36px,3.8vw,56px);line-height:1.1;color:var(--forest); }
h2.serif em { font-style:normal;font-weight:600; }
.reveal { opacity:0;transform:translateY(32px);transition:opacity .7s ease,transform .7s ease; }
.reveal.visible { opacity:1;transform:translateY(0); }

/* STATS BAR */
.stats-bar { background:var(--forest);padding:56px 80px;display:grid;grid-template-columns:repeat(4,1fr); }
.stat-item { text-align:center;border-right:1px solid rgba(255,255,255,0.1);padding:0 24px; }
.stat-item:last-child { border-right:none; }
.stat-num { font-family:var(--font-serif);font-size:clamp(48px,4vw,72px);font-weight:300;color:var(--gold-lt);line-height:1;display:block; }
.stat-lbl { font-size:12px;letter-spacing:0.18em;text-transform:uppercase;color:rgba(255,255,255,0.5);margin-top:8px; }

/* STORY */
.story { background:var(--ivory);display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center; }
.story-img-wrap { position:relative;padding-bottom:120%;overflow:hidden;background:var(--cream); }
.story-img-wrap img { position:absolute;inset:0;width:100%;height:100%;object-fit:cover; }
.story-image { position:relative; }
.story-badge { position:absolute;bottom:-24px;right:-24px;background:var(--forest);color:#fff;padding:28px 36px;text-align:center;min-width:160px;z-index:2; }
.story-badge .num { font-family:var(--font-serif);font-size:56px;font-weight:300;line-height:1;color:var(--gold-lt);display:block; }
.story-badge .lbl { font-size:11px;letter-spacing:0.2em;text-transform:uppercase;opacity:0.6;margin-top:4px; }
.pullquote { font-family:var(--font-serif);font-size:26px;font-weight:300;font-style:italic;line-height:1.35;color:var(--forest);margin:28px 0;padding-left:24px;border-left:3px solid var(--gold); }
.story-body { font-size:17px;line-height:1.85;color:var(--warm-gray);margin-bottom:16px; }
.story-list { list-style:none;margin-top:24px;display:flex;flex-direction:column;gap:10px; }
.story-list li { font-size:15px;color:var(--warm-gray);padding-left:22px;position:relative; }
.story-list li::before { content:'◆';position:absolute;left:0;color:var(--gold);font-size:8px;top:6px; }

/* PRODUCTS CAROUSEL */
.products-section { background:var(--cream);padding:100px 80px; }
.products-intro { max-width:600px;margin-bottom:56px; }
.carousel-outer { position:relative;overflow:hidden;padding-bottom:2rem; }
.carousel-track { display:flex;gap:24px;transition:transform 0.6s cubic-bezier(0.25,0.46,0.45,0.94); }
.product-card { flex:0 0 calc(33.333% - 16px);background:var(--ivory);border:1px solid var(--border);overflow:hidden;transition:box-shadow .3s,transform .3s;cursor:pointer; }
.product-card:hover { box-shadow:0 12px 40px rgba(26,46,26,0.12);transform:translateY(-4px); }
.product-img { height:240px;overflow:hidden;background:var(--cream); }
.product-img img { width:100%;height:100%;object-fit:cover;transition:transform .5s; }
.product-card:hover .product-img img { transform:scale(1.04); }
.product-info { padding:28px; }
.product-num { font-family:var(--font-serif);font-size:13px;letter-spacing:0.2em;color:var(--gold);margin-bottom:8px; }
.product-name { font-family:var(--font-serif);font-size:26px;font-weight:500;color:var(--forest);margin-bottom:8px;line-height:1.2; }
.product-desc { font-size:15px;color:var(--warm-gray);line-height:1.65;margin-bottom:16px; }
.product-tags { display:flex;flex-wrap:wrap;gap:6px; }
.tag { font-size:10px;font-weight:500;letter-spacing:0.14em;text-transform:uppercase;background:var(--cream);color:var(--warm-gray);padding:4px 10px;border-radius:2px; }
.carousel-controls { display:flex;align-items:center;justify-content:center;gap:20px;margin-top:28px; }
.c-arrow { width:40px;height:40px;border:1.5px solid var(--forest);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;background:none;font-size:16px;color:var(--forest); }
.c-arrow:hover { background:var(--forest);color:#fff; }
.c-dots { display:flex;gap:8px; }
.c-dot { width:8px;height:8px;border-radius:50%;background:var(--border);border:none;cursor:pointer;transition:all .3s; }
.c-dot.active { background:var(--gold);width:24px;border-radius:4px; }

/* PROCESS */
.process { background:var(--ivory); }
.process-grid { display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:56px; }
.process-step { display:flex;gap:24px;padding:32px;border:1px solid var(--border);transition:box-shadow .3s,border-color .3s; }
.process-step:hover { box-shadow:0 8px 32px rgba(0,0,0,0.06);border-color:var(--gold); }
.step-num { font-family:var(--font-serif);font-size:56px;font-weight:300;color:var(--gold-pale);line-height:1;flex-shrink:0; }
.step-content h4 { font-family:var(--font-serif);font-size:22px;font-weight:500;color:var(--forest);margin-bottom:10px; }
.step-content p { font-size:15px;color:var(--warm-gray);line-height:1.7; }

/* MFG VIDEO */
.mfg-section { position:relative;min-height:560px;display:flex;align-items:center;overflow:hidden; }
.mfg-video { position:absolute;inset:0; }
.mfg-video video { width:100%;height:100%;object-fit:cover; }
.mfg-overlay { position:absolute;inset:0;background:linear-gradient(90deg,rgba(26,46,26,0.92) 50%,rgba(26,46,26,0.4) 100%); }
.mfg-content { position:relative;z-index:2;padding:80px;max-width:680px; }
.mfg-content .section-label { color:var(--gold-lt); }
.mfg-content .section-label::after { background:rgba(255,255,255,0.15); }
.mfg-content h2 { font-family:var(--font-serif);font-size:clamp(36px,3.5vw,52px);font-weight:300;font-style:italic;color:#fff;margin-bottom:24px; }
.mfg-content p { font-size:17px;color:rgba(255,255,255,0.72);line-height:1.8;margin-bottom:32px; }
.mfg-specs { display:grid;grid-template-columns:1fr 1fr;gap:16px; }
.mfg-spec { border-left:2px solid var(--gold);padding-left:14px; }
.mfg-spec .val { font-family:var(--font-serif);font-size:28px;font-weight:300;color:var(--gold-lt);line-height:1; }
.mfg-spec .key { font-size:12px;letter-spacing:0.14em;text-transform:uppercase;color:rgba(255,255,255,0.5);margin-top:4px; }

/* CERTS */
.certs { background:var(--cream); }
.certs-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:56px; }
.cert-card { background:var(--ivory);border:1px solid var(--border);padding:32px;text-align:center;transition:box-shadow .3s,border-color .3s; }
.cert-card:hover { box-shadow:0 8px 28px rgba(0,0,0,0.07);border-color:var(--gold); }
.cert-icon { width:60px;height:60px;border-radius:50%;background:var(--forest);color:var(--gold-lt);display:flex;align-items:center;justify-content:center;font-size:22px;margin:0 auto 20px; }
.cert-name { font-family:var(--font-serif);font-size:22px;font-weight:500;color:var(--forest);margin-bottom:8px; }
.cert-desc { font-size:14px;color:var(--warm-gray);line-height:1.65; }

/* WHY */
.why { background:var(--ivory); }
.why-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:56px; }
.why-item { padding:36px;border-top:2px solid var(--border);transition:border-color .3s; }
.why-item:hover { border-color:var(--gold); }
.why-icon { font-size:28px;margin-bottom:20px; }
.why-item h4 { font-family:var(--font-serif);font-size:22px;font-weight:500;color:var(--forest);margin-bottom:12px; }
.why-item p { font-size:15px;color:var(--warm-gray);line-height:1.7; }

/* MARKETS */
.markets { background:var(--cream); }
.markets-layout { display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;margin-top:56px; }
.markets-img { border-radius:2px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,0.12); }
.markets-img img { width:100%;display:block; }
.market-list { display:flex;flex-direction:column; }
.market-item { display:flex;align-items:center;gap:20px;padding:18px 0;border-bottom:1px solid var(--border); }
.market-item:last-child { border-bottom:none; }
.market-flag { font-size:24px;flex-shrink:0; }
.market-region { font-size:16px;font-weight:500;color:var(--forest); }
.market-detail { font-size:14px;color:var(--warm-gray);margin-top:2px; }

/* SUSTAINABILITY */
.sustain { background:linear-gradient(rgba(26,46,26,0.87),rgba(26,46,26,0.87)),url('images/a_wellness.png') center/cover fixed;padding:100px 80px; }
.sustain .section-label { color:var(--gold-lt); }
.sustain .section-label::after { background:rgba(255,255,255,0.12); }
.sustain h2 { font-family:var(--font-serif);font-weight:300;font-style:italic;font-size:clamp(36px,3.5vw,52px);color:#fff;margin-bottom:20px; }
.sustain-intro { font-size:18px;color:rgba(255,255,255,0.65);line-height:1.8;max-width:640px;margin-bottom:64px; }
.sustain-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:40px; }
.sustain-item { border-top:1px solid rgba(255,255,255,0.15);padding-top:28px; }
.sustain-item h4 { font-family:var(--font-serif);font-size:22px;color:var(--gold-lt);margin-bottom:10px; }
.sustain-item p { font-size:15px;color:rgba(255,255,255,0.55);line-height:1.7; }

/* TESTIMONIALS */
.testimonials { background:var(--ivory); }
.testi-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:56px; }
.testi-card { background:var(--cream);border:1px solid var(--border);padding:36px;position:relative; }
.testi-card::before { content:'\201C';font-family:var(--font-serif);font-size:80px;color:var(--gold);opacity:0.3;position:absolute;top:16px;left:28px;line-height:1; }
.testi-text { font-family:var(--font-serif);font-size:18px;font-style:italic;color:var(--forest);line-height:1.6;margin-bottom:24px;padding-top:32px; }
.testi-author { font-size:13px;font-weight:600;color:var(--charcoal);letter-spacing:0.08em;text-transform:uppercase; }
.testi-role { font-size:13px;color:var(--warm-gray);margin-top:4px; }

/* PARTNERS */
.partners { background:var(--cream);padding:64px 80px; }
.partners h3 { font-size:12px;font-weight:500;letter-spacing:0.25em;text-transform:uppercase;color:var(--warm-gray);text-align:center;margin-bottom:40px; }
.partner-logos { display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:48px; }
.partner-logo { font-family:var(--font-serif);font-size:20px;color:var(--border);letter-spacing:0.1em;font-weight:500;transition:color .3s; }
.partner-logo:hover { color:var(--forest); }

/* FAQ */
.faq { background:var(--ivory); }
.faq-layout { display:grid;grid-template-columns:1fr 1.6fr;gap:80px;align-items:start;margin-top:56px; }
.faq-side p { font-size:17px;color:var(--warm-gray);line-height:1.8;margin-top:20px; }
.faq-list { display:flex;flex-direction:column;gap:2px; }
.faq-item { border:1px solid var(--border);background:var(--ivory);overflow:hidden; }
.faq-q { width:100%;text-align:left;background:none;border:none;cursor:pointer;padding:24px 28px;display:flex;justify-content:space-between;align-items:center;gap:16px; }
.faq-q span { font-family:var(--font-serif);font-size:19px;font-weight:500;color:var(--forest);line-height:1.3;text-align:left; }
.faq-icon { width:24px;height:24px;border-radius:50%;border:1.5px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--warm-gray);flex-shrink:0;transition:all .3s; }
.faq-item.open .faq-icon { background:var(--forest);border-color:var(--forest);color:#fff;transform:rotate(45deg); }
.faq-a { max-height:0;overflow:hidden;transition:max-height .4s ease; }
.faq-a p { padding:0 28px 24px;font-size:16px;color:var(--warm-gray);line-height:1.75; }
.faq-item.open .faq-a { max-height:300px; }

/* INSIGHTS */
.insights { background:var(--cream); }
.insights-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:56px; }
.insight-card { background:var(--ivory);border:1px solid var(--border);overflow:hidden;transition:box-shadow .3s; }
.insight-card:hover { box-shadow:0 8px 28px rgba(0,0,0,0.08); }
.insight-img { height:200px;overflow:hidden;background:var(--cream-d); }
.insight-img img { width:100%;height:100%;object-fit:cover;transition:transform .4s; }
.insight-card:hover .insight-img img { transform:scale(1.04); }
.insight-body { padding:24px; }
.insight-cat { font-size:10px;font-weight:600;letter-spacing:0.2em;text-transform:uppercase;color:var(--gold);margin-bottom:10px; }
.insight-title { font-family:var(--font-serif);font-size:21px;font-weight:500;color:var(--forest);margin-bottom:10px;line-height:1.3; }
.insight-excerpt { font-size:14px;color:var(--warm-gray);line-height:1.65; }

/* CTA */
.cta-section { position:relative;min-height:480px;display:flex;align-items:center;justify-content:center;overflow:hidden; }
.cta-video { position:absolute;inset:0; }
.cta-video video { width:100%;height:100%;object-fit:cover; }
.cta-overlay { position:absolute;inset:0;background:rgba(26,46,26,0.86); }
.cta-content { position:relative;z-index:2;text-align:center;padding:80px;max-width:720px; }
.cta-content .section-label { justify-content:center;color:var(--gold-lt); }
.cta-content .section-label::after,.cta-content .section-label::before { content:'';flex:1;height:1px;background:rgba(255,255,255,0.15); }
.cta-content h2 { font-family:var(--font-serif);font-size:clamp(36px,4vw,58px);font-weight:300;font-style:italic;color:#fff;margin:20px 0; }
.cta-content p { font-size:18px;color:rgba(255,255,255,0.7);line-height:1.8;margin-bottom:40px; }
.cta-btns { display:flex;gap:20px;justify-content:center;flex-wrap:wrap; }
.btn-gold { padding:16px 44px;background:var(--gold);color:#fff;font-size:12px;font-weight:600;letter-spacing:0.15em;text-transform:uppercase;text-decoration:none;border-radius:2px;transition:background .2s; }
.btn-gold:hover { background:var(--gold-lt); }
.btn-outline-w { padding:15px 40px;border:1.5px solid rgba(255,255,255,0.5);color:#fff;font-size:12px;font-weight:500;letter-spacing:0.15em;text-transform:uppercase;text-decoration:none;border-radius:2px;transition:all .2s; }
.btn-outline-w:hover { background:rgba(255,255,255,0.12); }

/* CONTACT */
.contact { background:var(--ivory); }
.contact-layout { display:grid;grid-template-columns:1fr 1.2fr;gap:80px;align-items:start;margin-top:56px; }
.contact-info h3 { font-family:var(--font-serif);font-size:26px;font-weight:500;color:var(--forest);margin-bottom:20px; }
.contact-info p { font-size:16px;color:var(--warm-gray);line-height:1.8;margin-bottom:28px; }
.contact-detail { display:flex;align-items:flex-start;gap:16px;margin-bottom:20px; }
.contact-detail .icon { font-size:18px;margin-top:2px;flex-shrink:0; }
.contact-detail .text { font-size:16px;color:var(--warm-gray);line-height:1.6; }
.contact-form { display:flex;flex-direction:column;gap:16px; }
.form-row { display:grid;grid-template-columns:1fr 1fr;gap:16px; }
.form-group { display:flex;flex-direction:column;gap:6px; }
.form-group label { font-size:11px;font-weight:500;letter-spacing:0.15em;text-transform:uppercase;color:var(--forest); }
.form-group input,.form-group select,.form-group textarea { padding:14px 18px;border:1.5px solid var(--border);background:var(--ivory);font-family:var(--font-sans);font-size:16px;color:var(--charcoal);border-radius:2px;outline:none;transition:border-color .2s; }
.form-group input:focus,.form-group select:focus,.form-group textarea:focus { border-color:var(--gold); }
.form-group textarea { min-height:120px;resize:vertical; }
.form-submit { padding:16px;background:var(--forest);color:#fff;font-family:var(--font-sans);font-size:13px;font-weight:500;letter-spacing:0.15em;text-transform:uppercase;border:none;border-radius:2px;cursor:pointer;transition:background .2s; }
.form-submit:hover { background:var(--gold); }

/* FOOTER */
footer { background:var(--charcoal);padding:72px 80px 0; }
.footer-grid { display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:48px;margin-bottom:48px; }
.footer-brand-logo { height:60px;width:60px;object-fit:contain;margin-bottom:16px; }
.footer-brand p { font-size:15px;color:rgba(255,255,255,0.38);line-height:1.8;max-width:240px;margin-top:16px; }
.footer-col h5 { font-size:11px;letter-spacing:0.22em;text-transform:uppercase;color:rgba(255,255,255,0.28);margin-bottom:20px;font-weight:500; }
.footer-col a { display:block;color:rgba(255,255,255,0.56);font-size:15px;text-decoration:none;margin-bottom:10px;transition:color .2s; }
.footer-col a:hover { color:var(--gold); }
.footer-bottom { border-top:1px solid rgba(255,255,255,0.07);padding:28px 0;display:flex;justify-content:space-between;align-items:center;font-size:13px;color:rgba(255,255,255,0.24); }

/* RESPONSIVE */
@media(max-width:1024px){
  nav { padding:0 40px; }
  section,.stats-bar,.sustain,.products-section,.partners { padding:72px 40px; }
  .story,.markets-layout,.contact-layout,.faq-layout { grid-template-columns:1fr; }
  .testi-grid,.certs-grid,.why-grid,.insights-grid { grid-template-columns:1fr 1fr; }
  .hero-stats { position:relative;bottom:auto;right:auto;margin-top:40px;justify-content:flex-start; }
}
@media(max-width:768px){
  nav { padding:0 24px; }
  .nav-links { display:none; }
  section,.stats-bar,.sustain,.products-section,.partners { padding:56px 24px; }
  .stats-bar { grid-template-columns:1fr 1fr; }
  .process-grid,.sustain-grid,.testi-grid,.certs-grid,.why-grid,.insights-grid { grid-template-columns:1fr; }
  .product-card { flex:0 0 100%; }
  .hero-content { padding:60px 24px; }
  .hero-stats { display:grid;grid-template-columns:1fr 1fr; }
  .mfg-content,.cta-content { padding:48px 24px; }
  .footer-grid { grid-template-columns:1fr 1fr; }
  .form-row { grid-template-columns:1fr; }
}

/* ====================================================================
   ADDITIONS for multi-page site (hub pages, product pages, inquiry cart)
   ==================================================================== */

/* CART BADGE in nav */
.nav-cart { position:relative;display:inline-flex;align-items:center;gap:6px;color:var(--forest);text-decoration:none;font-size:12px;font-weight:500;letter-spacing:0.12em;text-transform:uppercase;margin-right:8px; }
.nav-cart:hover { color:var(--gold); }
.cart-badge { background:var(--gold);color:#fff;font-size:11px;font-weight:600;min-width:18px;height:18px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;padding:0 5px; }

/* PAGE HEADER BAND (used on every hub / product page) */
.page-header { padding:160px 80px 64px;background:var(--cream);position:relative;overflow:hidden; }
.page-header.has-video { min-height:480px;display:flex;align-items:center; }
.page-header-video { position:absolute;inset:0;z-index:0; }
.page-header-video video { width:100%;height:100%;object-fit:cover; }
.page-header-overlay { position:absolute;inset:0;z-index:1;background:linear-gradient(105deg,rgba(250,248,243,0.96) 38%,rgba(250,248,243,0.78) 62%,rgba(250,248,243,0.32) 100%); }
.page-header-content { position:relative;z-index:2;width:100%; }
.breadcrumb { font-size:12px;color:var(--warm-gray);letter-spacing:0.04em;margin-bottom:20px; }
.breadcrumb a { color:var(--warm-gray);text-decoration:none; }
.breadcrumb a:hover { color:var(--gold); }
.breadcrumb .sep { margin:0 8px;opacity:0.5; }
.breadcrumb .current { color:var(--forest);font-weight:500; }

/* CATEGORY / TAG badges reused on product + catalog pages */
.cat-badge { display:inline-block;font-size:10px;font-weight:600;letter-spacing:0.16em;text-transform:uppercase;background:var(--forest);color:var(--gold-lt);padding:6px 14px;border-radius:2px;margin-bottom:16px; }
.size-tags { display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 8px; }

/* PRODUCT DETAIL LAYOUT */
.product-detail { padding:80px;display:grid;grid-template-columns:1fr 1.1fr;gap:72px;align-items:start;background:var(--ivory); }
.product-visual { position:relative;padding-bottom:100%;background:linear-gradient(135deg,var(--cream),var(--cream-d));border:1px solid var(--border);overflow:hidden; }
.product-visual img { position:absolute;inset:0;width:100%;height:100%;object-fit:cover; }
.product-visual .pv-icon { position:absolute;inset:0;display:flex;align-items:center;justify-content:center; }
.product-visual .pv-icon::before { content:'';position:absolute;width:62%;height:62%;border-radius:50%;background:var(--ivory);border:1px solid var(--border); }
.pv-icon-svg { position:relative;width:34%;height:34%;color:var(--gold);stroke-width:1.3; }
.pd-title { font-family:var(--font-serif);font-weight:500;font-size:clamp(34px,4vw,48px);color:var(--forest);margin-bottom:6px;line-height:1.1; }
.pd-desc { font-size:17px;color:var(--warm-gray);line-height:1.85;margin:20px 0 28px; }
.specs-table { width:100%;border-collapse:collapse;margin-bottom:32px; }
.specs-table tr { border-bottom:1px solid var(--border); }
.specs-table td { padding:14px 0;font-size:15px;color:var(--warm-gray); }
.specs-table td:first-child { color:var(--forest);font-weight:500;width:42%; }
.pd-actions { display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-top:8px; }
.btn-add-inquiry { padding:16px 36px;background:var(--forest);color:#fff;font-family:var(--font-sans);font-size:12px;font-weight:500;letter-spacing:0.15em;text-transform:uppercase;border:none;border-radius:2px;cursor:pointer;transition:background .2s; }
.btn-add-inquiry:hover { background:var(--gold); }
.btn-add-inquiry.added { background:var(--gold-lt); }
.view-inquiry-link { font-size:13px;font-weight:500;letter-spacing:0.08em;color:var(--forest);text-decoration:underline;text-decoration-color:var(--border); }
.related-products { padding:0 80px 100px;background:var(--ivory); }
.related-products h3 { font-family:var(--font-serif);font-weight:500;font-size:24px;color:var(--forest);margin-bottom:24px; }

/* CATALOG / HUB GRID (Products, Packaging, Other Solutions) */
.category-block { padding:0 80px 72px; }
.category-block:first-of-type { padding-top:80px; }
.category-layout { display:grid;grid-template-columns:260px 1fr;gap:40px;align-items:start; }
.category-photo { position:relative;padding-bottom:140%;overflow:hidden;background:var(--cream);border:1px solid var(--border); }
.category-photo img { position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s; }
.category-block:hover .category-photo img { transform:scale(1.04); }
.category-text { min-width:0; }
.category-heading { display:flex;align-items:baseline;gap:16px;margin-bottom:28px;padding-bottom:14px;border-bottom:2px solid var(--border); }
.category-heading h3 { font-family:var(--font-serif);font-weight:500;font-size:26px;color:var(--forest); }
.category-heading .count { font-size:13px;color:var(--warm-gray); }
.catalog-grid { display:grid;grid-template-columns:repeat(4,1fr);gap:20px; }
.catalog-card { background:var(--ivory);border:1px solid var(--border);border-top:3px solid var(--gold-pale);padding:22px 22px 20px;transition:box-shadow .3s,border-color .3s;display:flex;flex-direction:column;gap:12px; }
.catalog-card:hover { box-shadow:0 10px 32px rgba(26,46,26,0.1);border-color:var(--gold);border-top-color:var(--gold); }
.catalog-card h4 { font-family:var(--font-serif);font-size:19px;font-weight:500;color:var(--forest);line-height:1.3; }
.catalog-card .cc-sizes { display:flex;flex-wrap:wrap;gap:6px; }
.catalog-card .cc-sizes .tag { background:var(--cream); }
.catalog-card-actions { display:flex;flex-direction:column;gap:10px;margin-top:auto;padding-top:14px;border-top:1px solid var(--border); }
.catalog-card-actions a { font-size:11px;font-weight:500;letter-spacing:0.1em;text-transform:uppercase;color:var(--forest);text-decoration:none;white-space:nowrap; }
.catalog-card-actions a:hover { color:var(--gold); }
.btn-add-inquiry.small { width:100%;padding:11px 16px;font-size:10px;letter-spacing:0.12em;white-space:nowrap;box-sizing:border-box; }

.packaging-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding:80px 80px 100px; }
.packaging-card { background:var(--cream);border:1px solid var(--border);padding:32px;transition:border-color .3s; }
.packaging-card:hover { border-color:var(--gold); }
.packaging-card .pk-num { font-family:var(--font-serif);font-size:14px;color:var(--gold);margin-bottom:10px; }
.packaging-card h4 { font-family:var(--font-serif);font-size:21px;font-weight:500;color:var(--forest);margin-bottom:8px; }
.packaging-card p { font-size:14px;color:var(--warm-gray);line-height:1.65; }

/* INQUIRY / CONTACT CART PANEL */
.inquiry-panel { border:1.5px solid var(--border);background:var(--cream);padding:28px;margin-bottom:24px; }
.inquiry-panel h3 { font-family:var(--font-serif);font-size:21px;font-weight:500;color:var(--forest);margin-bottom:16px; }
.inquiry-empty { font-size:15px;color:var(--warm-gray);line-height:1.7; }
.inquiry-empty a { color:var(--gold);text-decoration:underline; }
.inquiry-list { display:flex;flex-direction:column;gap:2px; }
.inquiry-item { display:flex;justify-content:space-between;align-items:center;background:var(--ivory);border:1px solid var(--border);padding:14px 16px; }
.inquiry-item .ii-name { font-size:15px;font-weight:500;color:var(--forest); }
.inquiry-item .ii-cat { font-size:12px;color:var(--warm-gray);margin-top:2px; }
.inquiry-item .ii-remove { background:none;border:none;color:var(--warm-gray);font-size:18px;cursor:pointer;line-height:1;padding:4px 8px;transition:color .2s; }
.inquiry-item .ii-remove:hover { color:#b03a2e; }
.form-success { background:var(--forest);color:#fff;padding:48px 40px;font-size:15px;line-height:1.7;display:none;text-align:center; }
.form-success.show { display:block; }
.form-success h3 { font-family:var(--font-serif);font-size:28px;font-weight:500;margin-bottom:14px; }
.form-success p { color:rgba(255,255,255,0.78);max-width:480px;margin:0 auto 28px; }
.fs-icon { width:56px;height:56px;border-radius:50%;background:var(--gold);color:var(--forest);font-size:26px;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;font-weight:700; }

/* NAV ACTIVE-PAGE HIGHLIGHT */
.nav-links a.active-nav { color:var(--gold) !important; }
.nav-cta.active-nav { background:var(--gold) !important; }

/* BLOG CARD CONTENT (simplified card layout used on blogs.html, no image) */
.insight-card { padding:28px; }
.insight-card h4 { font-family:var(--font-serif);font-size:21px;font-weight:500;color:var(--forest);margin-bottom:12px;line-height:1.3; }
.insight-card p { font-size:15px;color:var(--warm-gray);line-height:1.75;margin-bottom:18px; }
.insight-tag { display:inline-block;font-size:10px;font-weight:600;letter-spacing:0.2em;text-transform:uppercase;color:var(--gold);background:var(--gold-pale);padding:4px 12px;border-radius:2px;margin-bottom:14px; }
.insight-link { font-size:13px;font-weight:500;color:var(--forest);text-decoration:none;letter-spacing:0.04em; }
.insight-link:hover { color:var(--gold); }

/* SIMPLE INTRO / STORY-LIKE SECTIONS reused on hub pages */
.simple-section { padding:80px;background:var(--ivory); }
.simple-section.alt { background:var(--cream); }
.simple-section .lede { font-size:18px;color:var(--warm-gray);line-height:1.85;max-width:680px;margin-top:18px; }

@media(max-width:1024px){
  .page-header { padding:140px 40px 56px; }
  .page-header.has-video { min-height:420px; }
  .product-detail { padding:56px 40px;grid-template-columns:1fr;gap:40px; }
  .related-products,.category-block,.packaging-grid,.simple-section { padding-left:40px;padding-right:40px; }
  .catalog-grid { grid-template-columns:repeat(2,1fr); }
  .packaging-grid { grid-template-columns:1fr 1fr; }
  .category-layout { grid-template-columns:200px 1fr;gap:28px; }
}
@media(max-width:768px){
  .page-header { padding:120px 24px 48px; }
  .page-header.has-video { min-height:340px; }
  .product-detail { padding:48px 24px; }
  .related-products,.category-block,.packaging-grid,.simple-section { padding-left:24px;padding-right:24px; }
  .catalog-grid { grid-template-columns:1fr; }
  .packaging-grid { grid-template-columns:1fr; }
  .category-layout { grid-template-columns:1fr;gap:20px; }
  .category-photo { padding-bottom:65%; }
}
