/* ============================================================
   AGROCRAFT / BLESH — SHARED DESIGN SYSTEM
   Palette: warm ivory & sand (primary), deep forest & olive (secondary),
   muted honey gold & copper (accent).
   Display: Playfair Display italic. Body: Jost. Utility: Jost tracked caps.
   Signature: the "provenance seal" — sun-arc + leaf-frond mark, echoing
   the Blesh identity, used to mark verified/traceable claims throughout.
   ============================================================ */
:root{
  --ivory:#F8F3E6;
  --sand:#EFE3C7;
  --paper:#FCFAF3;
  --forest:#1E3A2C;
  --forest-deep:#132920;
  --olive:#4B5A34;
  --brown:#3C2A1E;
  --brown-soft:#5B4433;
  --gold:#B8873A;
  --gold-soft:#D8B876;
  --copper:#9C5225;
  --line:rgba(30,58,44,0.14);
  --shadow:0 24px 60px -30px rgba(19,41,32,0.35);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:'Jost',sans-serif;
  color:var(--brown);
  background:var(--ivory);
  font-size:16px;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
:focus-visible{outline:2px solid var(--copper);outline-offset:3px}
@media (prefers-reduced-motion: reduce){
  *{animation-duration:0.001ms !important;animation-iteration-count:1 !important;transition-duration:0.001ms !important;scroll-behavior:auto !important}
}

.eyebrow{
  font-family:'Jost',sans-serif;
  font-size:12.5px;
  letter-spacing:.22em;
  text-transform:uppercase;
  font-weight:500;
  color:var(--copper);
}
.eyebrow.on-dark{color:var(--gold-soft)}

h1,h2,h3,.font-display{
  font-family:'Playfair Display',serif;
  font-style:italic;
  font-weight:600;
  color:var(--forest-deep);
  margin:0;
}
h2{font-size:clamp(28px,3.4vw,44px);line-height:1.15}
h3{font-size:22px;font-style:normal;font-weight:600}

.section-head{max-width:760px;margin:0 auto 52px;text-align:center}
.section-head p{color:var(--brown-soft);font-size:17px;margin-top:14px}
.section-head.left{margin:0 0 44px;text-align:left}

section{padding:110px 0}
main>section:first-child, main>header:first-child + section{padding-top:110px}
.page-hero + section{padding-top:110px}
.container-narrow{max-width:1180px;margin:0 auto;padding:0 24px}
.bg-sand{background:var(--sand)}
.bg-paper{background:var(--paper)}
.bg-forest{background:var(--forest);color:#EDE6D3}
.bg-forest h2, .bg-forest h3{color:#F8F3E6}
.bg-forest .section-head p{color:#C9CDB8}

/* Signature seal mark */
.seal{width:64px;height:64px;flex:none}

/* Buttons */
.btn-primary-lux{
  display:inline-flex;align-items:center;gap:10px;
  background:var(--forest);color:var(--ivory) !important;
  padding:16px 30px;border-radius:2px;
  font-size:14px;letter-spacing:.08em;text-transform:uppercase;font-weight:500;
  border:1px solid var(--forest);
  transition:background .25s ease, color .25s ease, transform .25s ease;
}
.btn-primary-lux:hover{background:var(--forest-deep);transform:translateY(-1px)}
.btn-ghost-lux{
  display:inline-flex;align-items:center;gap:10px;
  background:transparent;color:var(--ivory) !important;
  padding:16px 30px;border-radius:2px;
  font-size:14px;letter-spacing:.08em;text-transform:uppercase;font-weight:500;
  border:1px solid rgba(248,243,230,0.55);
  transition:background .25s ease, border-color .25s ease;
}
.btn-ghost-lux:hover{background:rgba(248,243,230,0.12);border-color:#fff}
.btn-copper{
  display:inline-flex;align-items:center;gap:10px;
  background:var(--copper);color:#fff !important;
  padding:16px 30px;border-radius:2px;
  font-size:14px;letter-spacing:.08em;text-transform:uppercase;font-weight:500;
  border:1px solid var(--copper);
  transition:background .25s ease, transform .25s ease;
}
.btn-copper:hover{background:#7E4119;transform:translateY(-1px)}
.btn-outline-forest{
  display:inline-flex;align-items:center;gap:10px;
  background:transparent;color:var(--forest-deep) !important;
  padding:15px 28px;border-radius:2px;
  font-size:14px;letter-spacing:.08em;text-transform:uppercase;font-weight:500;
  border:1px solid var(--forest-deep);
  transition:background .25s ease, color .25s ease;
}
.btn-outline-forest:hover{background:var(--forest-deep);color:#fff !important}

/* Nav */
.nav-wrap{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  padding:22px 0;transition:background .35s ease, padding .35s ease, box-shadow .35s ease;
  background:rgba(19,41,32,0.0);
}
.nav-wrap.solid{background:rgba(248,243,230,0.96);padding:12px 0;box-shadow:0 8px 24px -12px rgba(19,41,32,0.25);backdrop-filter:blur(6px)}
.nav-wrap.scrolled{
  background:rgba(248,243,230,0.96);
  padding:12px 0;
  box-shadow:0 8px 24px -12px rgba(19,41,32,0.25);
  backdrop-filter:blur(6px);
}
.nav-inner{max-width:1280px;margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between}
.nav-logo{display:flex;align-items:center}
.nav-logo img{
  height:40px;width:auto;display:block;
  /* On the dark hero, render the logo as a clean white mark; once the nav
     goes solid/light on scroll, show its true colours. */
  filter:brightness(0) invert(1);
  transition:filter .3s ease, height .3s ease;
}
.nav-wrap.scrolled .nav-logo img,.nav-wrap.solid .nav-logo img{filter:none;height:34px}
.nav-links{display:flex;align-items:center;gap:30px;list-style:none;margin:0;padding:0}
.nav-links a{
  font-size:13px;letter-spacing:.12em;text-transform:uppercase;font-weight:500;
  color:#fff;position:relative;padding-bottom:4px;
}
.nav-wrap.scrolled .nav-links a,.nav-wrap.solid .nav-links a{color:var(--forest-deep)}
.nav-links a::after{
  content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--gold);
  transition:width .25s ease;
}
.nav-links a:hover::after,.nav-links a.active::after{width:100%}
.nav-links a.active{color:var(--gold-soft)}
.nav-wrap.scrolled .nav-links a.active,.nav-wrap.solid .nav-links a.active{color:var(--copper)}
.nav-cta{
  font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;
  color:#fff;border:1px solid rgba(255,255,255,0.55);padding:11px 20px;border-radius:2px;
  transition:background .25s ease;white-space:nowrap;
}
.nav-wrap.scrolled .nav-cta,.nav-wrap.solid .nav-cta{color:var(--forest-deep);border-color:var(--forest-deep)}
.nav-cta:hover{background:rgba(255,255,255,0.15)}
.nav-wrap.scrolled .nav-cta:hover,.nav-wrap.solid .nav-cta:hover{background:var(--forest-deep);color:#fff !important}
.nav-toggle{display:none;background:none;border:0;color:#fff;font-size:26px;line-height:1;cursor:pointer}
.nav-wrap.scrolled .nav-toggle,.nav-wrap.solid .nav-toggle{color:var(--forest-deep)}

@media (max-width:991px){
  .nav-links{
    position:fixed;top:0;right:-100%;height:100vh;width:280px;
    background:var(--forest-deep);flex-direction:column;justify-content:center;
    align-items:flex-start;padding:40px;gap:26px;transition:right .35s ease;overflow-y:auto;
  }
  .nav-links.open{right:0}
  .nav-links a{color:#fff !important}
  .nav-cta{display:none}
  .nav-toggle{display:block}
}

/* Sub-page hero (non-slider pages) */
.page-hero{
  position:relative;min-height:56vh;display:flex;align-items:flex-end;overflow:hidden;
  background-size:cover;background-position:center;
}
.page-hero::after{
  content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg,rgba(19,41,32,0.55) 0%,rgba(19,41,32,0.35) 40%,rgba(19,41,32,0.88) 100%);
}
.page-hero-inner{position:relative;z-index:2;max-width:1280px;margin:0 auto;padding:150px 24px 70px;width:100%}
.page-hero .eyebrow{color:var(--gold-soft);margin-bottom:18px;display:block}
.page-hero h1{color:#fff;font-size:clamp(32px,4.6vw,58px);line-height:1.12;max-width:820px}
.page-hero p.sub{color:#E9E6D6;font-size:clamp(15px,1.3vw,18px);max-width:600px;margin:20px 0 0;font-style:normal}
.breadcrumb{position:relative;z-index:2;max-width:1280px;margin:0 auto;padding:0 24px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#D8D6C4}
.breadcrumb a{color:#D8D6C4;border-bottom:1px solid rgba(216,214,196,0.4)}
.breadcrumb a:hover{color:#fff}

/* Hero (homepage slider) */
.hero{
  /* Capped at 900px so the 1920x780 source photography is never upscaled
     (see the sourcing note lower down), and floored at 820px so the hero
     text block always has room to breathe above the fixed nav — on short
     browser windows (~700px tall, very common on laptops) the old plain
     100vh height let a 3-line headline ride up underneath the nav bar. */
  position:relative;min-height:clamp(820px,100vh,900px);display:flex;align-items:flex-end;overflow:hidden;
}
.hero-slides{position:absolute;inset:0;z-index:0}
.hero-slide{
  position:absolute;inset:0;background-size:cover;background-repeat:no-repeat;
  opacity:0;transition:opacity 1.6s ease;
}
.hero-slide.active{opacity:1}
.hero::after{
  content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg,rgba(19,41,32,0.55) 0%,rgba(19,41,32,0.35) 40%,rgba(19,41,32,0.88) 100%);
}
/* Top padding reserves clear space below the fixed nav so hero copy can
   never visually collide with it, regardless of viewport height. */
.hero-inner{position:relative;z-index:2;max-width:1280px;margin:0 auto;padding:130px 24px 70px;width:100%}
.hero-dots{position:absolute;left:50%;bottom:26px;z-index:2;display:flex;gap:10px;transform:translateX(-50%)}
.hero-dots button{
  width:8px;height:8px;padding:0;border-radius:50%;border:1px solid rgba(255,255,255,0.7);
  background:transparent;cursor:pointer;transition:background .25s ease;
}
.hero-dots button.active{background:var(--gold-soft);border-color:var(--gold-soft)}
@media (max-width:767px){.hero-dots{display:none}}
.hero .eyebrow{color:var(--gold-soft);margin-bottom:22px;display:block}
.hero h1{
  color:#fff;font-size:clamp(36px,5.6vw,72px);line-height:1.08;max-width:920px;
  font-weight:600;
}
.hero p.sub{
  color:#E9E6D6;font-size:clamp(16px,1.6vw,19px);max-width:560px;margin:26px 0 40px;
  font-family:'Jost',sans-serif;font-style:normal;
}
.hero-ctas{display:flex;gap:18px;flex-wrap:wrap;margin-bottom:52px}
.hero-trust{
  display:flex;flex-wrap:wrap;gap:10px 28px;padding-top:28px;
  border-top:1px solid rgba(255,255,255,0.22);
  font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;color:#D8D6C4;
}
.scroll-cue{
  position:absolute;bottom:26px;right:40px;color:#D8D6C4;font-size:11px;
  letter-spacing:.18em;text-transform:uppercase;display:flex;flex-direction:column;align-items:center;gap:10px;
}
.scroll-cue .line{width:1px;height:38px;background:rgba(216,214,196,0.6);animation:scrollpulse 2.2s ease-in-out infinite}
@keyframes scrollpulse{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}50.01%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
@media (max-width:767px){.scroll-cue{display:none}}

/* Intro */
.intro-grid{display:grid;grid-template-columns:1.1fr 0.9fr;gap:70px;align-items:center}
@media (max-width:900px){.intro-grid{grid-template-columns:1fr;gap:40px}}
.intro-grid h2{margin-bottom:22px}
.intro-grid p{color:var(--brown-soft);font-size:16.5px;margin:0 0 16px}
.intro-figures{display:flex;gap:34px;margin-top:34px;flex-wrap:wrap}
.intro-figure b{display:block;font-family:'Playfair Display',serif;font-style:italic;font-size:30px;color:var(--forest-deep)}
.intro-figure span{font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--brown-soft)}
.intro-panel{
  background:var(--forest-deep);color:#EDE6D3;padding:46px 40px;border-radius:2px;
  display:flex;flex-direction:column;gap:22px;
}
.intro-panel .seal{margin-bottom:6px}
.intro-panel p{color:#C9CDB8;font-size:15px;margin:0}
.intro-panel .divider{height:1px;background:rgba(237,230,211,0.2)}

/* Products */
.product-card{
  background:var(--paper);border:1px solid var(--line);border-radius:2px;overflow:hidden;
  display:grid;grid-template-columns:1fr 1fr;box-shadow:var(--shadow);margin-bottom:36px;
}
.product-card.reverse{grid-template-columns:1fr 1fr}
.product-card.reverse .p-media{order:2}
@media (max-width:900px){.product-card,.product-card.reverse{grid-template-columns:1fr}.product-card.reverse .p-media{order:0}}
.p-media{position:relative;min-height:340px;overflow:hidden;background:var(--sand)}
.p-media img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transition:transform .6s ease}
.p-media.contain img{object-fit:contain;padding:24px}
.product-card:hover .p-media img{transform:scale(1.04)}
.p-body{padding:48px 46px;display:flex;flex-direction:column;justify-content:center}
.p-tags{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0 22px}
.p-tag{
  font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--forest-deep);
  background:var(--sand);padding:7px 12px;border-radius:2px;font-weight:500;
}
.p-body p{color:var(--brown-soft);font-size:15.5px}
.p-link{margin-top:20px;font-size:13px;letter-spacing:.08em;text-transform:uppercase;font-weight:500;color:var(--copper);border-bottom:1px solid var(--copper);padding-bottom:3px;align-self:flex-start}

/* Catalog cards (our-honey.php) */
.catalog-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px}
@media (max-width:860px){.catalog-grid{grid-template-columns:1fr}}
.catalog-card{background:#fff;border:1px solid var(--line);border-radius:2px;overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column}
.catalog-media{height:320px;overflow:hidden;background:var(--sand);position:relative}
.catalog-media img{width:100%;height:100%;object-fit:cover}
.catalog-media.contain img{object-fit:contain;padding:30px}
.catalog-body{padding:38px 36px;flex:1;display:flex;flex-direction:column}
.catalog-body h3{font-size:24px;margin:14px 0 12px}
.catalog-body p{color:var(--brown-soft);font-size:15px;flex:1}

/* Why choose */
.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;background:var(--line);border:1px solid var(--line)}
@media (max-width:900px){.why-grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.why-grid{grid-template-columns:1fr}}
.why-card{background:var(--paper);padding:42px 32px;transition:background .3s ease}
.why-card:hover{background:var(--ivory)}
.why-card .num{font-family:'Playfair Display',serif;font-style:italic;font-size:15px;color:var(--gold);display:block;margin-bottom:18px}
.why-card h3{font-size:19px;margin-bottom:12px}
.why-card p{font-size:14.5px;color:var(--brown-soft);margin:0}

/* Export capabilities */
.export-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid rgba(237,230,211,0.18)}
@media (max-width:860px){.export-grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.export-grid{grid-template-columns:1fr}}
.export-item{padding:36px 34px;border-right:1px solid rgba(237,230,211,0.18);border-bottom:1px solid rgba(237,230,211,0.18)}
.export-item h3{font-size:18px;margin-bottom:10px;color:#F8F3E6}
.export-item p{font-size:14.5px;color:#C9CDB8;margin:0}

/* Split media */
.split-media{display:grid;grid-template-columns:0.85fr 1.15fr;gap:60px;align-items:center}
@media (max-width:900px){.split-media{grid-template-columns:1fr}}
.split-media img{border-radius:2px;box-shadow:var(--shadow)}
.split-media.rev{grid-template-columns:1.15fr 0.85fr}
.split-media.rev .split-text{order:1}
.split-media.rev .split-img{order:2}
@media (max-width:900px){.split-media.rev .split-text,.split-media.rev .split-img{order:0}}
.split-text p{color:var(--brown-soft);font-size:16px}
.qa-list{list-style:none;margin:26px 0 0;padding:0;display:flex;flex-direction:column;gap:16px}
.qa-list li{display:flex;gap:14px;font-size:15.5px;color:var(--brown-soft)}
.qa-list li svg{flex:none;margin-top:4px}

/* Certifications */
.cert-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px}
@media (max-width:860px){.cert-grid{grid-template-columns:1fr 1fr}}
.cert-card{
  background:#FFFFFF;border:1px solid var(--line);padding:34px 24px;text-align:center;
  border-radius:2px;box-shadow:0 16px 34px -26px rgba(19,41,32,0.4);
  transition:border-color .25s ease, transform .25s ease, box-shadow .25s ease;
}
.cert-card:hover{border-color:var(--gold);transform:translateY(-3px);box-shadow:0 20px 40px -22px rgba(19,41,32,0.35)}
.cert-card .mono{font-size:11px;letter-spacing:.05em;color:var(--brown-soft);margin-top:6px;display:block}
.cert-card h3{font-size:16.5px;margin:14px 0 4px}

/* Global presence */
.region-list{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}
.region-chip{
  border:1px solid var(--line);padding:11px 20px;border-radius:2px;font-size:13.5px;
  color:var(--forest-deep);background:var(--paper);
}
.region-chip.on-dark{background:rgba(255,255,255,0.06);color:#EDE6D3;border-color:rgba(237,230,211,0.25)}

/* Process track */
.process-track{display:flex;flex-direction:column;border-left:1px solid var(--line);margin-left:20px}
.process-step{position:relative;padding:0 0 46px 40px}
.process-step:last-child{padding-bottom:0}
.process-step::before{
  content:attr(data-n);position:absolute;left:-21px;top:-4px;width:40px;height:40px;
  border-radius:50%;background:var(--forest);color:var(--gold-soft);
  font-family:'Playfair Display',serif;font-style:italic;font-size:15px;
  display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 6px var(--paper);
}
.process-step h3{margin-bottom:8px}
.process-step p{color:var(--brown-soft);font-size:15px;margin:0;max-width:640px}
.bg-forest .process-track{border-left-color:rgba(237,230,211,0.25)}
.bg-forest .process-step::before{box-shadow:0 0 0 6px var(--forest)}
.bg-forest .process-step p{color:#C9CDB8}

/* Story sections (editorial visual-story) */
.story-section{position:relative;color:#F8F3E6;overflow:hidden}
.story-section .story-bg{position:absolute;inset:0;background-size:cover;background-position:center;z-index:0}
.story-section .story-overlay{position:absolute;inset:0;background:linear-gradient(100deg,rgba(19,41,32,0.94) 30%,rgba(19,41,32,0.55) 100%);z-index:1}
.story-section .container-narrow{position:relative;z-index:2}
.story-content{max-width:600px}
.story-content p{color:#D9DCC8;font-size:16.5px}
.story-quote{
  font-family:'Playfair Display',serif;font-style:italic;font-size:22px;color:var(--gold-soft);
  border-left:2px solid var(--gold);padding-left:22px;margin:26px 0;
}

/* Visual-story sequence (forest -> mangroves -> flowers -> bees -> honey -> buyer) */
.story-sequence{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
@media (max-width:900px){.story-sequence{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.story-sequence{grid-template-columns:1fr}}
.seq-step{background:var(--paper);border:1px solid var(--line);border-radius:2px;padding:30px 26px}
.seq-step .seq-n{font-family:'Playfair Display',serif;font-style:italic;font-size:14px;color:var(--gold);display:block;margin-bottom:14px}
.seq-step h3{font-size:17px;margin-bottom:8px}
.seq-step p{font-size:14px;color:var(--brown-soft);margin:0}

/* Buyer trust */
.trust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
@media (max-width:860px){.trust-grid{grid-template-columns:1fr}}
.trust-card{background:#FFFFFF;border:1px solid var(--line);padding:36px 32px;border-radius:2px;box-shadow:0 16px 34px -26px rgba(19,41,32,0.35)}
.trust-card .mark{font-family:'Playfair Display',serif;font-style:italic;font-size:34px;color:var(--gold);display:block;margin-bottom:16px}
.trust-card h3{font-size:17px;margin-bottom:10px}
.trust-card p{font-size:14.5px;color:var(--brown-soft);margin:0}

/* Blesh sub-brand section */
.blesh-panel{display:grid;grid-template-columns:0.9fr 1.1fr;gap:60px;align-items:center}
@media (max-width:900px){.blesh-panel{grid-template-columns:1fr;gap:36px}}
.blesh-logo-img{height:56px;width:auto;margin-bottom:26px}
.blesh-jars{display:flex;gap:22px}
.blesh-jars img{border-radius:2px;box-shadow:var(--shadow);width:50%;height:280px;object-fit:cover;background:var(--sand)}
.blesh-jars img.contain{object-fit:contain;padding:14px}
.blesh-soon{color:var(--brown-soft);font-style:italic;cursor:default}

/* Contact / form */
.contact-wrap{display:grid;grid-template-columns:0.8fr 1.2fr;gap:60px}
@media (max-width:900px){.contact-wrap{grid-template-columns:1fr}}
.contact-side p{color:#C9CDB8;font-size:15px}
.contact-side .c-line{display:flex;gap:12px;margin-top:18px;font-size:14.5px;color:#EDE6D3}
.form-box{background:var(--paper);padding:44px 40px;border-radius:2px;box-shadow:var(--shadow)}
.form-box .form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media (max-width:560px){.form-box .form-row{grid-template-columns:1fr}}
.form-box label{display:block;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--brown-soft);margin-bottom:6px}
.form-box .field{margin-bottom:18px}
.form-box input, .form-box select, .form-box textarea{
  width:100%;padding:14px 16px;border:1px solid var(--line);
  border-radius:2px;font-family:'Jost',sans-serif;font-size:15px;background:#fff;color:var(--brown);
}
.form-box input:focus, .form-box select:focus, .form-box textarea:focus{border-color:var(--gold);outline:none}
.form-box button{
  width:100%;padding:16px;background:var(--forest);color:#fff;border:0;border-radius:2px;
  font-size:14px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;cursor:pointer;
  transition:background .25s ease;
}
.form-box button:hover{background:var(--forest-deep)}
.hp-field{position:absolute !important;left:-9999px !important;width:1px;height:1px;opacity:0}

.trust-strip{
  background:var(--forest-deep);color:#C9CDB8;text-align:center;padding:18px 20px;
  font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;
}
.trust-strip span{margin:0 6px}

footer{background:var(--forest-deep);color:#EDE6D3;padding:52px 24px 26px}
footer a{color:#fff}
footer .foot-grid{max-width:1100px;margin:0 auto 22px;display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:36px;font-size:14px;line-height:1.9}
@media (max-width:768px){footer .foot-grid{grid-template-columns:1fr;text-align:left}}
footer .foot-col h4{color:#fff;font-size:13px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;margin-bottom:14px;font-style:normal}
footer .foot-logo{height:34px;width:auto;filter:brightness(0) invert(1);opacity:.92;margin-bottom:16px}
footer .foot-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
footer .foot-col ul a{color:#C9CDB8;font-size:14px}
footer .foot-col ul a:hover{color:#fff}
footer hr{border:none;border-top:1px solid rgba(255,255,255,0.18);margin:18px 0;max-width:1100px;margin-left:auto;margin-right:auto}
footer .copy{text-align:center;font-size:12.5px;color:#A9AD97}
footer .copy a{color:#A9AD97;text-decoration:underline}

.whatsapp{
  position:fixed;left:22px;bottom:22px;z-index:900;background:#25D366;color:#fff !important;
  padding:12px 18px;border-radius:40px;font-size:13.5px;font-weight:500;display:flex;align-items:center;
  box-shadow:0 10px 24px -8px rgba(0,0,0,0.4);
}
.export-float{
  position:fixed;right:22px;bottom:22px;z-index:900;background:var(--copper);color:#fff !important;
  padding:13px 22px;border-radius:2px;font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;
  font-weight:500;box-shadow:0 10px 24px -8px rgba(0,0,0,0.4);
}
@media (max-width:700px){.export-float{display:none}}

#toast{position:fixed;top:20px;right:20px;background:#1E3A2C;color:#fff;padding:14px 22px;border-radius:2px;font-weight:500;box-shadow:0 10px 30px rgba(0,0,0,0.25);display:none;z-index:9999}

/* Scroll reveal — content is ALWAYS visible (opacity is never touched), so a
   blocked, slow, erroring or JS-disabled browser, or a bot/crawler that never
   scrolls, still sees every section immediately. JS only ever adds a barely-
   noticeable upward settle on entry; nothing is ever hidden to produce it. */
.reveal{transition:transform .7s ease}
.reveal.reveal-pending{transform:translateY(14px)}
.reveal.reveal-pending.in-view{transform:translateY(0)}
@media (prefers-reduced-motion: reduce){
  .reveal.reveal-pending{transform:none;transition:none}
}
