/* ============================================================
   1. DESIGN TOKENS — derived from the official round badge logo
      (deep green field, harvest-gold lettering, cream cow)
============================================================ */
:root{
  /* Colour */
  --green-950:#0F241A;      /* deepest green — hero overlay, footer      */
  --green-900:#15301F;      /* dark surfaces                              */
  --green-800:#1C3A2A;      /* primary forest green (logo background)     */
  --green-700:#2A4F38;      /* hover / secondary green                    */
  --gold-500:#C2953C;       /* muted harvest gold (logo lettering)        */
  --gold-400:#D3AC5C;       /* gold hover                                 */
  --gold-200:#EAD6A4;       /* soft gold text on dark green               */
  --cream-50:#F8F4E9;       /* page background — warm cream               */
  --cream-100:#F1EAD8;      /* alternating section background             */
  --sand-300:#E2D8BE;       /* card borders, dividers                     */
  --brown-700:#6F5433;      /* natural brown accent                       */
  --ink-900:#211F1A;        /* near-black charcoal text                   */
  --ink-600:#59554A;        /* muted body text                            */
  --white:#FFFFFF;

  /* Type */
  --font-display:"Fraunces",Georgia,"Times New Roman",serif;
  --font-body:"Archivo","Segoe UI",Arial,sans-serif;
  --fs-h1:clamp(2.35rem,5.4vw,4.15rem);
  --fs-h2:clamp(1.85rem,3.4vw,2.75rem);
  --fs-h3:clamp(1.2rem,1.8vw,1.45rem);
  --fs-body:clamp(0.98rem,1.05vw,1.06rem);

  /* Layout */
  --container:1200px;
  --gutter:clamp(1.1rem,4vw,2.5rem);
  --radius:14px;
  --radius-lg:22px;
  --shadow-soft:0 10px 30px rgba(21,48,31,.10);
  --shadow-lift:0 18px 44px rgba(21,48,31,.16);
  --header-h:78px;
  --ease:cubic-bezier(.33,1,.36,1);
}

/* ============================================================
   2. BASE / RESET
============================================================ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 14px)}
body{
  font-family:var(--font-body);
  font-size:var(--fs-body);
  line-height:1.65;
  color:var(--ink-900);
  background:var(--cream-50);
  -webkit-font-smoothing:antialiased;
}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
ul{list-style:none}
button{font:inherit;cursor:pointer;border:none;background:none}
h1,h2,h3{font-family:var(--font-display);line-height:1.14;color:var(--ink-900);font-weight:600}
strong{font-weight:600}

/* Accessible keyboard focus */
:focus-visible{outline:3px solid var(--gold-500);outline-offset:3px;border-radius:4px}

/* Skip link for screen-reader / keyboard users */
.skip-link{
  position:absolute;left:1rem;top:-100px;z-index:200;
  background:var(--green-800);color:var(--cream-50);
  padding:.7rem 1.2rem;border-radius:0 0 10px 10px;transition:top .25s var(--ease);
}
.skip-link:focus{top:0}

/* ============================================================
   3. SHARED COMPONENTS
============================================================ */
.container{max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter)}
.section{padding-block:clamp(4rem,8.5vw,6.75rem)}
.section--alt{background:var(--cream-100)}
.section--dark{background:var(--green-900);color:var(--cream-50)}
.section--dark h2,.section--dark h3{color:var(--cream-50)}

.section-head{max-width:640px;margin-bottom:clamp(2.2rem,5vw,3.4rem)}
.section-head--center{margin-inline:auto;text-align:center}
.section-head p{margin-top:.9rem;color:var(--ink-600)}
.section--dark .section-head p{color:var(--gold-200)}

/* Section eyebrow — refined gold rule + tracked label.
   (The ear-tag shape lives on where it reads naturally: stock-card
   number tags, process step numbers, and the founder badge.) */
.eartag{
  display:inline-flex;align-items:center;gap:.65rem;
  font-size:.75rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;
  color:var(--gold-500);margin-bottom:1.1rem;
}
.eartag::before{
  content:"";width:28px;height:2px;border-radius:2px;
  background:currentColor;flex:none;
}
.hero-slide__content .eartag,
.section--dark .eartag,
.map-panel__info .eartag,
.team-feature .eartag,
.cta .eartag{color:var(--gold-400)}
.hero-slide__content .eartag{text-shadow:0 1px 10px rgba(15,36,26,.5)}

/* Buttons */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.55rem;
  font-weight:600;font-size:.95rem;letter-spacing:.02em;
  padding:.95rem 1.7rem;border-radius:10px;
  transition:transform .22s var(--ease),background .22s var(--ease),
             color .22s var(--ease),box-shadow .22s var(--ease);
}
.btn svg{width:17px;height:17px;flex:none}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(0)}
.btn--gold{background:var(--gold-500);color:var(--green-950);box-shadow:0 8px 22px rgba(194,149,60,.35)}
.btn--gold:hover{background:var(--gold-400)}
.btn--green{background:var(--green-800);color:var(--cream-50);box-shadow:0 8px 22px rgba(21,48,31,.28)}
.btn--green:hover{background:var(--green-700)}
.btn--outline-light{border:1.5px solid rgba(248,244,233,.65);color:var(--cream-50)}
.btn--outline-light:hover{background:rgba(248,244,233,.12);border-color:var(--cream-50)}
.btn--outline-dark{border:1.5px solid var(--green-800);color:var(--green-800)}
.btn--outline-dark:hover{background:var(--green-800);color:var(--cream-50)}

/* Scroll-reveal animation (JS adds .is-visible; see script) */
.lsdf-js .reveal{opacity:0;transform:translateY(26px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.lsdf-js .reveal.is-visible{opacity:1;transform:none}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .reveal{opacity:1;transform:none}
}

/* ============================================================
   4. TOP INFORMATION BAR
============================================================ */
.topbar{background:var(--green-950);color:var(--gold-200);font-size:.82rem}
.topbar__inner{
  display:flex;align-items:center;justify-content:space-between;
  gap:1rem;min-height:42px;padding-block:.35rem;
}
.topbar__group{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem 1.4rem}
.topbar__item{display:inline-flex;align-items:center;gap:.45rem;color:var(--gold-200)}
.topbar__item svg{width:14px;height:14px;opacity:.85;flex:none}
.topbar__item:hover{color:var(--cream-50)}
.topbar__social{display:flex;align-items:center;gap:.35rem}
.topbar__social a{
  display:inline-flex;align-items:center;justify-content:center;
  width:26px;height:26px;border-radius:7px;color:var(--gold-200);
  transition:background .2s,color .2s;
}
.topbar__social a:hover{background:rgba(194,149,60,.22);color:var(--cream-50)}
.topbar__social svg{width:15px;height:15px;display:block}

/* ============================================================
   5. STICKY HEADER + NAVIGATION
============================================================ */
.site-header{
  position:sticky;top:0;z-index:100;
  background:rgba(248,244,233,.92);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  border-bottom:1px solid transparent;
  transition:box-shadow .3s var(--ease),border-color .3s var(--ease);
}
.site-header.is-scrolled{border-color:var(--sand-300);box-shadow:0 6px 24px rgba(21,48,31,.08)}
.site-header__inner{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;height:var(--header-h)}

.brand{display:inline-flex;align-items:center;gap:.8rem;min-width:0}
.brand__logo{
  width:52px;height:52px;border-radius:50%;object-fit:cover;flex:none;
  border:2px solid var(--gold-500);background:var(--green-800);
}
.brand__text{display:flex;flex-direction:column;line-height:1.12;min-width:0}
.brand__name{font-family:var(--font-display);font-weight:700;font-size:1.16rem;color:var(--green-900);white-space:nowrap}
.brand__tag{font-size:.66rem;letter-spacing:.22em;text-transform:uppercase;color:var(--brown-700);font-weight:600}

.nav-desktop{display:flex;align-items:center;gap:1.6rem}
.nav-desktop a{
  font-weight:500;font-size:.93rem;color:var(--ink-900);
  padding:.4rem 0;position:relative;
}
.nav-desktop a::after{
  content:"";position:absolute;left:0;bottom:-2px;height:2px;width:0;
  background:var(--gold-500);transition:width .25s var(--ease);
}
.nav-desktop a:hover::after,.nav-desktop a[aria-current="page"]::after{width:100%}
.header-cta{display:flex;align-items:center;gap:.9rem}
.header-cta .btn{padding:.72rem 1.3rem;font-size:.88rem}

/* Hamburger (mobile) */
.nav-toggle{
  display:none;width:46px;height:46px;border-radius:10px;
  align-items:center;justify-content:center;
  border:1.5px solid var(--sand-300);background:var(--white);
}
.nav-toggle span{
  position:relative;display:block;width:20px;height:2px;background:var(--green-900);
  transition:background .2s;
}
.nav-toggle span::before,.nav-toggle span::after{
  content:"";position:absolute;left:0;width:20px;height:2px;background:var(--green-900);
  transition:transform .3s var(--ease),top .3s var(--ease);
}
.nav-toggle span::before{top:-6px}
.nav-toggle span::after{top:6px}
.nav-toggle[aria-expanded="true"] span{background:transparent}
.nav-toggle[aria-expanded="true"] span::before{top:0;transform:rotate(45deg)}
.nav-toggle[aria-expanded="true"] span::after{top:0;transform:rotate(-45deg)}

/* Mobile slide-in menu */
.nav-mobile{
  position:fixed;inset:0 0 0 auto;width:min(340px,88vw);z-index:120;
  background:var(--green-950);color:var(--cream-50);
  padding:1.4rem 1.6rem 2.2rem;display:flex;flex-direction:column;
  transform:translateX(105%);transition:transform .38s var(--ease);
  overflow-y:auto;
}
.nav-mobile.is-open{transform:none;box-shadow:-20px 0 60px rgba(0,0,0,.35)}
.nav-mobile__top{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.6rem}
.nav-mobile__close{
  width:42px;height:42px;border-radius:10px;color:var(--gold-200);
  border:1.5px solid rgba(234,214,164,.35);font-size:1.5rem;line-height:1;
}
.nav-mobile__close:hover{background:rgba(234,214,164,.14)}
.nav-mobile nav{display:flex;flex-direction:column}
.nav-mobile nav a{
  padding:.95rem .2rem;font-size:1.06rem;font-weight:500;color:var(--cream-50);
  border-bottom:1px solid rgba(234,214,164,.16);
  display:flex;justify-content:space-between;align-items:center;
}
.nav-mobile nav a:hover{color:var(--gold-400)}
.nav-mobile .btn{margin-top:1.6rem;width:100%}
.nav-mobile__contact{margin-top:1.5rem;font-size:.9rem;color:var(--gold-200);display:grid;gap:.55rem}
.nav-mobile__contact a{display:inline-flex;gap:.5rem;align-items:center}
.nav-mobile__contact svg{width:15px;height:15px}
.nav-backdrop{
  position:fixed;inset:0;z-index:110;background:rgba(15,36,26,.55);
  opacity:0;pointer-events:none;transition:opacity .3s var(--ease);
}
.nav-backdrop.is-open{opacity:1;pointer-events:auto}
body.menu-open{overflow:hidden}

/* ============================================================
   6. HERO — split: animated headline on deep green | the farm's own photo, untouched
   The photo gets NO dark overlay: it is never behind text. On load the text rises in
   word by word, the photo is uncovered by a gold curtain, the gold phrase rotates and
   a round farm badge spins on the seam. Everything is still for prefers-reduced-motion.
============================================================ */
.hero{
  position:relative;background:var(--green-950);color:var(--cream-50);overflow:hidden;
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  min-height:min(calc(100vh - var(--header-h) - 40px),820px);
}
.hero::before,.hero::after{                                /* slow moving glow behind the text */
  content:"";position:absolute;z-index:0;pointer-events:none;border-radius:50%;filter:blur(10px);
}
.hero::before{width:620px;height:620px;left:-180px;top:-220px;background:radial-gradient(circle,rgba(194,149,60,.20),transparent 62%)}
.hero::after{width:520px;height:520px;left:24%;bottom:-260px;background:radial-gradient(circle,rgba(42,79,56,.75),transparent 65%)}
.hero__panel{
  position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;
  padding:clamp(3rem,6vw,5.5rem) clamp(5.6rem,7vw,7rem) clamp(3rem,6vw,5.5rem) max(var(--gutter),calc((100vw - var(--container)) / 2 + var(--gutter)));   /* right: room for the badge on the seam */
  background-image:radial-gradient(rgba(234,214,164,.09) 1px,transparent 1.2px);background-size:22px 22px;
}
.hero__panel .eartag{color:var(--gold-400)}
.hero__inner{position:relative;container-type:inline-size;max-width:600px}
.hero__title{
  font-family:var(--font-display);font-weight:600;line-height:1.06;letter-spacing:-.02em;
  font-size:clamp(2.2rem,4.2vw,4.4rem);color:var(--cream-50);margin:.35rem 0 1.25rem;
}
@supports (font-size:1cqi){                                   /* the headline fills its column: never wider, never lost */
  .hero__title{font-size:clamp(1.9rem,8.2cqi,4.2rem)}
}
.hero__line{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}
.hero__word{display:inline-block}
.hero__rotator{display:inline-grid;vertical-align:bottom;color:var(--gold-400);font-style:italic}
.hero__rotator > span{grid-area:1/1;white-space:nowrap}
.hero__rotator > span:not(:first-child){visibility:hidden}
.hero__title-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.hero__underline{display:block;height:4px;width:clamp(120px,14vw,190px);border-radius:4px;margin-top:.55rem;
  background:linear-gradient(90deg,var(--gold-500),var(--gold-200),var(--gold-500));background-size:200% 100%}
.hero__lede{max-width:560px;font-size:clamp(.96rem,1.15vw,1.06rem);color:rgba(248,244,233,.86);margin-bottom:1rem}
.hero__lede--2{margin-bottom:1.9rem;color:rgba(234,214,164,.9)}
.hero__actions{display:flex;flex-wrap:wrap;gap:.9rem}
.hero__facts{display:flex;flex-wrap:wrap;gap:.55rem 1.4rem;margin-top:2.1rem;padding-top:1.4rem;border-top:1px solid rgba(234,214,164,.18);list-style:none}
.hero__facts li{display:inline-flex;align-items:center;gap:.5rem;font-size:.86rem;color:var(--gold-200)}
.hero__facts svg{width:17px;height:17px;flex:none;color:var(--gold-500)}
.hero__scroll{
  position:absolute;left:max(var(--gutter),calc((100vw - var(--container)) / 2 + var(--gutter)));bottom:1.3rem;
  display:flex;align-items:center;gap:.7rem;font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;color:rgba(234,214,164,.7);
}
.hero__scroll i{position:relative;width:1px;height:34px;background:rgba(234,214,164,.25);overflow:hidden}
.hero__scroll i::after{content:"";position:absolute;left:0;top:-40%;width:100%;height:40%;background:var(--gold-400)}
.hero__media{position:relative;z-index:1;min-height:100%;clip-path:polygon(7% 0,100% 0,100% 100%,0 100%)}
.hero__media picture{position:absolute;inset:0;display:block}
.hero__media img{width:100%;height:100%;object-fit:cover;object-position:88% 60%}
.hero__curtain{position:absolute;inset:0;z-index:2;pointer-events:none;background:var(--gold-500);transform:scaleX(0);transform-origin:right}
.hero__tag{
  position:absolute;right:clamp(1rem,2.5vw,2rem);top:clamp(1rem,2.5vw,2rem);z-index:3;
  display:inline-flex;align-items:center;gap:.5rem;padding:.55rem .95rem;border-radius:99px;
  background:rgba(15,36,26,.72);color:var(--cream-50);font-size:.8rem;
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:1px solid rgba(234,214,164,.3);
}
.hero__tag svg{width:15px;height:15px;color:var(--gold-400)}
.hero__badge{                                               /* round badge on the seam */
  position:absolute;z-index:4;left:50%;top:56%;width:132px;height:132px;margin:-66px 0 0 -66px;
  border-radius:50%;background:var(--green-950);border:1px solid rgba(234,214,164,.35);
  box-shadow:0 18px 40px rgba(0,0,0,.35);display:grid;place-items:center;
}
.hero__badge svg{position:absolute;inset:6px;width:calc(100% - 12px);height:calc(100% - 12px)}
.hero__badge text{font:600 10.5px var(--font-body);letter-spacing:.32em;fill:var(--gold-200);text-transform:uppercase}
.hero__badge img{width:58px;height:58px;border-radius:50%;background:var(--cream-50);padding:3px}

@media (max-width:1000px){
  .hero{grid-template-columns:1fr;min-height:0}
  .hero__panel{padding:clamp(2.6rem,8vw,3.6rem) var(--gutter) 3.4rem}
  .hero__media{min-height:0;aspect-ratio:16/11;clip-path:polygon(0 7%,100% 0,100% 100%,0 100%)}
  .hero__badge{left:auto;right:var(--gutter);top:auto;bottom:calc(100% - 7vw);width:104px;height:104px;margin:0;transform:translateY(50%)}
  .hero__badge img{width:46px;height:46px}
  .hero__badge text{font-size:9.5px}
  .hero__scroll{display:none}
  .hero__tag{top:auto;right:auto;left:var(--gutter);bottom:1rem}
  .hero__media-wrap{position:relative}
}
@media (max-width:720px){
  .hero__actions .btn{flex:1 1 100%;justify-content:center}
  .hero__media{aspect-ratio:4/3}
  .hero__media img{object-position:80% 60%}
  .hero__tag{font-size:.74rem;padding:.45rem .8rem}
}

@media (prefers-reduced-motion: no-preference){
  .hero__word{transform:translateY(110%);animation:heroRise .95s var(--ease) forwards;animation-delay:calc(.15s + var(--w) * 90ms)}
  @keyframes heroRise{to{transform:none}}
  .hero__panel .eartag,.hero__lede,.hero__actions{opacity:0;transform:translateY(18px);animation:heroFade .8s var(--ease) forwards}
  .hero__panel .eartag{animation-delay:.05s}
  .hero__lede{animation-delay:.85s}
  .hero__actions{animation-delay:1s}
  .hero__facts{animation-delay:1.15s}
  @keyframes heroFade{to{opacity:1;transform:none}}
  .hero__underline{transform-origin:left;transform:scaleX(0);animation:heroLine .9s var(--ease) .75s forwards,heroShine 3.5s linear 1.7s infinite}
  @keyframes heroLine{to{transform:scaleX(1)}}
  @keyframes heroShine{to{background-position:-200% 0}}
  /* the photo: a gold curtain sweeps across and uncovers it, then it settles */
  .hero__curtain{animation:heroCurtain 1.25s cubic-bezier(.77,0,.18,1) .1s both}
  @keyframes heroCurtain{0%{transform:scaleX(0);transform-origin:right}45%{transform:scaleX(1);transform-origin:right}55%{transform:scaleX(1);transform-origin:left}100%{transform:scaleX(0);transform-origin:left}}
  .hero__media img{animation:heroSettle 1.8s var(--ease) .55s both}
  @keyframes heroSettle{from{transform:scale(1.14);opacity:0}to{transform:none;opacity:1}}
  .hero__tag{opacity:0;animation:heroFade .7s var(--ease) 1.5s forwards;transform:translateY(12px)}
  .hero__badge{animation:heroPop .8s cubic-bezier(.34,1.56,.64,1) 1.2s both}
  @keyframes heroPop{from{opacity:0;scale:.4}to{opacity:1;scale:1}}
  .hero__badge svg{animation:heroSpin 22s linear infinite}
  @keyframes heroSpin{to{transform:rotate(360deg)}}
  .hero::before{animation:heroGlow 14s ease-in-out infinite alternate}
  .hero::after{animation:heroGlow 18s ease-in-out infinite alternate-reverse}
  @keyframes heroGlow{to{translate:90px 60px}}
  .hero__scroll i::after{animation:heroDrop 1.8s ease-in-out infinite}
  @keyframes heroDrop{to{top:110%}}
  /* the rotating gold phrase (JS adds .is-on to the one showing) */
  .hero__rotator.is-live > span{visibility:visible;opacity:0;transform:translateY(70%) rotateX(-70deg);transform-origin:50% 100%;transition:opacity .55s var(--ease),transform .7s var(--ease)}
  .hero__rotator.is-live > span.is-on{opacity:1;transform:none}
  .hero__rotator.is-live > span.is-out{opacity:0;transform:translateY(-60%) rotateX(70deg)}
}
/* ============================================================
   7. SHARED SECTION LANGUAGE (matches the hero)
   dark sections = deep green + gold dot texture + slow glow;
   headings carry one italic gold word (<em>).
============================================================ */
h2{font-size:var(--fs-h2);letter-spacing:-.015em}
h2 em{font-style:italic;font-weight:600;color:var(--gold-500)}
.dark{position:relative;background:var(--green-950);color:var(--cream-50);overflow:hidden;isolation:isolate}
.dark::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background-image:radial-gradient(rgba(234,214,164,.09) 1px,transparent 1.2px);background-size:22px 22px}
.dark::after{content:"";position:absolute;z-index:-1;pointer-events:none;width:560px;height:560px;right:-180px;top:-220px;border-radius:50%;
  background:radial-gradient(circle,rgba(194,149,60,.17),transparent 62%)}
.dark h2,.dark h3{color:var(--cream-50)}
.dark h2 em{color:var(--gold-400)}
.dark .eartag{color:var(--gold-400)}
.dark .section-head p{color:rgba(248,244,233,.78)}
.section-head--split{max-width:none;display:grid;grid-template-columns:1.1fr .9fr;gap:1rem clamp(2rem,6vw,5rem);align-items:end}
.section-head--split p{margin:0;padding-bottom:.4rem}

/* ============================================================
   8. TRUST — floating ribbon that overlaps the bottom of the hero
============================================================ */
.trust{position:relative;z-index:5;margin-top:-3.1rem}
.trust__grid{
  display:grid;grid-template-columns:repeat(5,1fr);
  background:var(--cream-50);border:1px solid var(--sand-300);
  border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 26px 60px rgba(15,36,26,.24);
}
.trust__card{position:relative;padding:1.5rem 1.35rem 1.6rem;display:flex;flex-direction:column;gap:.75rem;border-left:1px solid var(--sand-300);transition:background .3s var(--ease)}
.trust__card:first-child{border-left:0}
.trust__card:hover{background:var(--white)}
.trust__card::after{content:"";position:absolute;left:1.35rem;right:1.35rem;bottom:0;height:3px;border-radius:3px 3px 0 0;background:var(--gold-500);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}
.trust__card:hover::after{transform:scaleX(1)}
.trust__ico{width:46px;height:46px;border-radius:50%;background:var(--green-900);color:var(--gold-400);display:grid;place-items:center;box-shadow:0 0 0 4px rgba(194,149,60,.16)}
.trust__ico svg{width:21px;height:21px}
.trust__card h3{font-family:var(--font-body);font-weight:700;font-size:.95rem;line-height:1.3;color:var(--green-900)}
.trust__card p{font-size:.82rem;color:var(--ink-600);line-height:1.55}

/* ============================================================
   9. ABOUT — arched photo with a gold offset frame + large lead
============================================================ */
.about{padding-top:clamp(4.5rem,9vw,7rem)}
.about__grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:clamp(2.5rem,6vw,5.5rem);align-items:center}
.about__media{position:relative;padding:0 0 2.2rem 2.2rem}
.about__media::before{content:"";position:absolute;left:0;bottom:0;width:74%;height:80%;border-radius:var(--radius-lg);border:2px solid var(--gold-500)}
.about__media img{position:relative;width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:999px 999px var(--radius-lg) var(--radius-lg);box-shadow:var(--shadow-lift)}
.about__badge{
  position:absolute;right:-1.1rem;bottom:.3rem;max-width:250px;
  background:var(--green-900);color:var(--cream-50);border-radius:var(--radius);
  padding:1rem 1.25rem;box-shadow:var(--shadow-lift);border-left:4px solid var(--gold-500);
}
.about__badge strong{display:block;font-family:var(--font-display);font-size:1.05rem;color:var(--gold-200);margin-bottom:.15rem}
.about__badge span{font-size:.8rem;color:rgba(248,244,233,.85)}
.about__copy h2{margin-bottom:1.3rem}
.about__lead{font-family:var(--font-display);font-size:clamp(1.12rem,1.7vw,1.32rem);line-height:1.55;color:var(--green-900);margin-bottom:1.1rem;
  padding-left:1.1rem;border-left:3px solid var(--gold-500)}
.about__copy p{color:var(--ink-600);margin-bottom:1rem}
.about__points{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin:1.5rem 0 2rem}
.about__points li{
  display:flex;gap:.7rem;align-items:center;font-size:.9rem;font-weight:600;color:var(--green-900);
  background:var(--white);border:1px solid var(--sand-300);border-radius:12px;padding:.8rem .9rem;
  transition:border-color .25s var(--ease),transform .25s var(--ease);
}
.about__points li:hover{border-color:var(--gold-500);transform:translateY(-2px)}
.about__points svg{width:30px;height:30px;padding:7px;border-radius:50%;background:var(--green-900);color:var(--gold-400);flex:none}

/* ============================================================
   10. TEAM — founder card with a photo that breaks out of it,
   then the four sons as arched portraits
============================================================ */
.founder{
  position:relative;display:grid;grid-template-columns:.78fr 1.22fr;gap:clamp(1.5rem,4vw,3.5rem);align-items:center;
  background:linear-gradient(150deg,var(--green-900),var(--green-950));color:var(--cream-50);
  border-radius:var(--radius-lg);box-shadow:var(--shadow-lift);
  margin:clamp(3.5rem,6vw,5rem) 0 clamp(3rem,5vw,4rem);padding:clamp(1.8rem,4vw,3rem) clamp(1.6rem,4vw,3.4rem) clamp(1.8rem,4vw,3rem) 0;
}
.founder::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background-image:radial-gradient(rgba(234,214,164,.09) 1px,transparent 1.2px);background-size:22px 22px}
.founder__media{position:relative;margin:calc(clamp(3.5rem,6vw,5rem) * -.55) 0 calc(clamp(1.8rem,4vw,3rem) * -1) clamp(1.4rem,3vw,2.6rem);align-self:stretch}
.founder__media img{width:100%;height:100%;min-height:380px;object-fit:cover;object-position:center 18%;border-radius:999px 999px var(--radius-lg) var(--radius-lg);border:4px solid var(--gold-500);box-shadow:0 26px 60px rgba(0,0,0,.4)}
.founder__body{position:relative;display:flex;flex-direction:column;gap:1rem}
.founder__body .eartag{color:var(--gold-400);margin-bottom:0}
.founder__body h3{font-size:clamp(1.9rem,3.2vw,2.7rem);color:var(--cream-50);line-height:1.05}
.founder__story{font-family:var(--font-display);font-size:clamp(1.02rem,1.5vw,1.2rem);line-height:1.65;color:rgba(248,244,233,.9);max-width:560px}
.founder__values{display:flex;flex-wrap:wrap;gap:.55rem}
.founder__values li{display:inline-flex;align-items:center;gap:.45rem;background:rgba(194,149,60,.14);border:1px solid rgba(194,149,60,.42);color:var(--gold-200);font-size:.78rem;font-weight:600;padding:.42rem .8rem;border-radius:999px}
.founder__values svg{width:14px;height:14px;color:var(--gold-400)}
.founder__cta{display:flex;align-items:center;flex-wrap:wrap;gap:1rem;margin-top:.3rem}
.founder__cta > span{font-size:.8rem;color:rgba(248,244,233,.65)}
.crew{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem}
.crew-card{text-align:center;transition:transform .35s var(--ease)}
.crew-card:hover{transform:translateY(-6px)}
.crew-card__photo{position:relative;aspect-ratio:3/3.7;border-radius:999px 999px var(--radius) var(--radius);overflow:hidden;border:3px solid var(--white);box-shadow:var(--shadow-soft);outline:1px solid var(--sand-300);background:var(--green-800)}
.crew-card__photo img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.crew-card:hover .crew-card__photo img{transform:scale(1.07)}
.crew-card__num{position:absolute;left:50%;bottom:.7rem;transform:translateX(-50%);z-index:2;background:var(--gold-500);color:var(--green-950);font-size:.62rem;font-weight:700;letter-spacing:.14em;padding:.3rem .6rem;border-radius:6px 6px 9px 9px;box-shadow:0 3px 10px rgba(15,36,26,.3)}
.crew-card h3{font-family:var(--font-display);font-weight:600;font-size:1.2rem;color:var(--green-900);margin-top:1rem}
.crew-card small{display:block;font-size:.7rem;letter-spacing:.13em;text-transform:uppercase;color:var(--brown-700);font-weight:700;margin:.25rem 0 .55rem}
.crew-card p{font-size:.85rem;color:var(--ink-600);line-height:1.55;max-width:250px;margin-inline:auto}

/* ============================================================
   11. LIVESTOCK — dark bento of full-photo cards
============================================================ */
.lv{display:grid;grid-template-columns:1.2fr 1fr 1fr;grid-template-rows:repeat(2,minmax(270px,310px));gap:1.1rem}
.lv-card{
  position:relative;display:flex;align-items:flex-end;min-height:270px;isolation:isolate;overflow:hidden;
  border-radius:var(--radius-lg);border:1px solid rgba(234,214,164,.18);
  transition:transform .35s var(--ease),border-color .35s var(--ease),box-shadow .35s var(--ease);
}
.lv-card:nth-child(1){grid-row:1/3}
.lv-card:nth-child(2){grid-column:2/4}
.lv-card:hover{transform:translateY(-5px);border-color:var(--gold-500);box-shadow:0 26px 50px rgba(0,0,0,.4)}
.lv-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .9s var(--ease)}
.lv-card:hover img{transform:scale(1.07)}
.lv-card::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(15,36,26,0) 32%,rgba(15,36,26,.94))}
.lv-card__body{padding:1.5rem;width:100%}
.lv-card__no{display:inline-block;background:var(--gold-500);color:var(--green-950);font-size:.62rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:.32rem .58rem;border-radius:6px 6px 9px 9px;margin-bottom:.7rem}
.lv-card h3{font-size:clamp(1.3rem,2vw,1.75rem);color:var(--cream-50);margin-bottom:.35rem}
.lv-card p{font-size:.9rem;color:rgba(248,244,233,.82);max-width:420px}
.lv-card__go{position:absolute;top:1rem;right:1rem;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:rgba(15,36,26,.55);border:1px solid rgba(234,214,164,.4);color:var(--gold-200);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);transition:background .3s var(--ease),color .3s var(--ease),transform .3s var(--ease)}
.lv-card__go svg{width:18px;height:18px;transform:rotate(-45deg);transition:transform .3s var(--ease)}
.lv-card:hover .lv-card__go{background:var(--gold-500);color:var(--green-950)}
.lv-card:hover .lv-card__go svg{transform:rotate(0)}
.lv-note{margin-top:1.6rem;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem 1.4rem;border:1px dashed rgba(234,214,164,.35);border-radius:var(--radius);color:var(--gold-200);font-size:.92rem}

/* ============================================================
   12. PROCESS — sticky intro + a vertical timeline
============================================================ */
.process__inner{display:grid;grid-template-columns:.78fr 1.22fr;gap:clamp(2.5rem,6vw,5.5rem);align-items:start}
.process__aside{position:sticky;top:calc(var(--header-h) + 2rem)}
.process__aside p{margin:1rem 0 1.8rem;color:var(--ink-600)}
.tl{position:relative}
.tl::before{content:"";position:absolute;left:27px;top:14px;bottom:26px;width:2px;background:linear-gradient(var(--gold-500),var(--sand-300))}
.tl__item{position:relative;display:grid;grid-template-columns:56px 1fr;gap:1.2rem;padding-bottom:1.3rem}
.tl__num{position:relative;z-index:1;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:var(--green-900);color:var(--gold-400);font:600 1.08rem var(--font-display);border:4px solid var(--cream-50);box-shadow:0 0 0 1px var(--gold-500);transition:background .3s var(--ease),color .3s var(--ease)}
.tl__item:hover .tl__num{background:var(--gold-500);color:var(--green-950)}
.tl__body{background:var(--white);border:1px solid var(--sand-300);border-radius:var(--radius);padding:1.1rem 1.35rem;box-shadow:0 6px 18px rgba(21,48,31,.05);transition:transform .3s var(--ease),border-color .3s var(--ease)}
.tl__item:hover .tl__body{transform:translateX(6px);border-color:var(--gold-500)}
.tl__body h3{font-family:var(--font-body);font-weight:700;font-size:1.02rem;color:var(--green-900);margin-bottom:.25rem}
.tl__body p{font-size:.9rem;color:var(--ink-600)}

/* ============================================================
   13. WHY CHOOSE — mirrored hero: slanted photo | dark panel
============================================================ */
.why{display:grid;grid-template-columns:.9fr 1.1fr;padding:0}
.why__media{position:relative;min-height:100%;clip-path:polygon(0 0,100% 0,92% 100%,0 100%)}
.why__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.why__media .hero__tag{right:auto;left:clamp(1rem,2.5vw,2rem)}
.why__panel{padding:clamp(3.5rem,7vw,6rem) max(var(--gutter),calc((100vw - var(--container)) / 2 + var(--gutter))) clamp(3.5rem,7vw,6rem) clamp(1.5rem,3vw,3rem)}
.why__list{display:grid;grid-template-columns:1fr 1fr;gap:.9rem;margin-top:2rem}
.why__list li{
  display:flex;flex-direction:column;gap:.35rem;
  background:rgba(248,244,233,.06);border:1px solid rgba(234,214,164,.18);
  padding:1.05rem 1.15rem;border-radius:14px;
  transition:background .25s var(--ease),border-color .25s var(--ease),transform .25s var(--ease);
}
.why__list li:hover{background:rgba(248,244,233,.11);border-color:rgba(234,214,164,.45);transform:translateY(-3px)}
.why__n{font:600 .74rem/1 var(--font-body);letter-spacing:.18em;color:var(--gold-400)}
.why__list strong{color:var(--cream-50);font-size:.95rem;line-height:1.35}
.why__list span{font-size:.83rem;color:rgba(248,244,233,.72);line-height:1.5}
/* ============================================================
   12. FARM GALLERY — the farm's own photos
   Bento grid (desktop) / swipe carousel (phone). Motion: tiles wipe
   in one after another, photos drift slowly, cards tilt toward the
   cursor with a soft light, and a full-screen viewer opens from the
   tile itself. Everything calms down for prefers-reduced-motion.
============================================================ */
.fg__grid{
  display:grid;gap:1rem;
  grid-template-columns:repeat(4,minmax(0,1fr));
  grid-auto-rows:clamp(170px,17vw,232px);
}
.fg__item:nth-child(1){grid-column:1/3;grid-row:1/3}
.fg__item:nth-child(4){grid-column:3/5}
.fg__item:nth-child(5){grid-column:1/3}
.fg__item:nth-child(6){grid-column:3/5}
.fg__item{position:relative;margin:0;min-width:0}
.fg__card{
  position:relative;height:100%;border-radius:var(--radius-lg);overflow:hidden;
  background:linear-gradient(135deg,var(--green-800),var(--green-700));
  box-shadow:var(--shadow-soft);
  transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));
  transition:transform .5s var(--ease),box-shadow .5s var(--ease);
  isolation:isolate;
}
.fg__btn{
  all:unset;position:absolute;inset:0;cursor:zoom-in;display:block;
  border-radius:inherit;
}
.fg__btn:focus-visible{outline:3px solid var(--gold-500);outline-offset:3px}
.fg__pic{position:absolute;inset:-6% 0;display:block;transform:translate3d(0,var(--py,0px),0) scale(1.08)}
.fg__pic img{width:100%;height:100%;object-fit:cover;display:block}
/* light that follows the cursor + a gold sheen on hover */
.fg__card::before{
  content:"";position:absolute;inset:0;z-index:2;pointer-events:none;opacity:0;
  background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%),rgba(255,240,205,.22),transparent 55%);
  transition:opacity .4s var(--ease);
}
.fg__card::after{
  content:"";position:absolute;inset:0;z-index:2;pointer-events:none;
  background:linear-gradient(180deg,transparent 45%,rgba(15,36,26,.18) 62%,rgba(15,36,26,.82));
}
.fg__shine{
  position:absolute;inset:0;z-index:3;pointer-events:none;
  background:linear-gradient(115deg,transparent 35%,rgba(234,214,164,.35) 50%,transparent 65%);
  transform:translateX(-120%);
}
.fg__cap{
  position:absolute;left:1.1rem;right:1.1rem;bottom:1rem;z-index:4;pointer-events:none;
  color:var(--cream-50);display:grid;gap:.1rem;
}
.fg__no{
  font:600 .72rem/1 var(--font-body);letter-spacing:.18em;color:var(--gold-400);
  display:flex;align-items:center;gap:.5rem;
}
.fg__no::after{content:"";height:1px;width:26px;background:currentColor;transition:width .5s var(--ease)}
.fg__cap b{font:600 clamp(1.02rem,1.45vw,1.3rem)/1.2 var(--font-display);text-shadow:0 2px 12px rgba(15,36,26,.45)}
.fg__cap small{
  font-size:.84rem;color:rgba(248,244,233,.82);
  max-height:0;opacity:0;overflow:hidden;transition:max-height .45s var(--ease),opacity .45s var(--ease);
}
.fg__item:nth-child(1) .fg__cap b{font-size:clamp(1.3rem,2.3vw,1.85rem)}
.fg__item:hover .fg__card,.fg__item:focus-within .fg__card{box-shadow:var(--shadow-lift)}
.fg__item:hover .fg__card::before{opacity:1}
.fg__item:hover .fg__cap small,.fg__item:focus-within .fg__cap small,.fg__item:nth-child(1) .fg__cap small{max-height:3em;opacity:1}
.fg__item:hover .fg__no::after{width:44px}
.fg__zoom{
  position:absolute;top:.9rem;right:.9rem;z-index:4;pointer-events:none;
  width:40px;height:40px;border-radius:50%;display:grid;place-items:center;
  background:rgba(248,244,233,.16);border:1px solid rgba(248,244,233,.35);color:var(--cream-50);
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
  opacity:0;transform:scale(.7);transition:opacity .35s var(--ease),transform .35s var(--ease);
}
.fg__zoom svg{width:18px;height:18px}
.fg__item:hover .fg__zoom,.fg__item:focus-within .fg__zoom{opacity:1;transform:none}

/* running line under the photos */
.fg__ticker{
  margin-top:1.6rem;overflow:hidden;border-block:1px solid var(--sand-300);padding-block:.7rem;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
          mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
}
.fg__ticker-track{display:flex;width:max-content;gap:1.6rem;align-items:center;white-space:nowrap}
.fg__ticker-track span{font:600 .95rem/1 var(--font-display);color:var(--green-800);letter-spacing:.02em}
.fg__ticker-track i{font-style:normal;color:var(--gold-500)}
.fg__bar{display:none}
.gallery__more{text-align:center;margin-top:2rem}

/* tablet: two columns, the first photo stays large */
@media (max-width:1000px){
  .fg__grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:clamp(180px,30vw,260px)}
  .fg__item:nth-child(n){grid-column:auto;grid-row:auto}
  .fg__item:nth-child(1),.fg__item:nth-child(4){grid-column:1/-1}
  .fg__item:nth-child(1){grid-row:span 2}
}
/* phone: a swipe carousel that peeks at the next photo */
@media (max-width:720px){
  .fg__grid{
    display:flex;gap:.8rem;overflow-x:auto;overscroll-behavior-x:contain;
    scroll-snap-type:x mandatory;scroll-padding-inline:var(--gutter);
    margin-inline:calc(var(--gutter) * -1);padding:.4rem var(--gutter) 1rem;
    scrollbar-width:none;
  }
  .fg__grid::-webkit-scrollbar{display:none}
  .fg__item:nth-child(n){flex:0 0 84%;height:auto;aspect-ratio:4/4.6;scroll-snap-align:start;grid-column:auto;grid-row:auto}
  .fg__card{transition:transform .45s var(--ease),box-shadow .45s var(--ease),filter .45s var(--ease)}
  .fg__item:not(.is-current) .fg__card{transform:scale(.94);filter:saturate(.8) brightness(.92)}
  .fg__cap small{max-height:3em;opacity:1}
  .fg__zoom{opacity:1;transform:none;width:34px;height:34px}
  .fg__bar{display:block;height:3px;border-radius:3px;background:var(--sand-300);overflow:hidden;margin-top:.2rem}
  .fg__bar span{display:block;height:100%;width:var(--p,16.66%);background:linear-gradient(90deg,var(--gold-500),var(--green-700));border-radius:inherit;transition:width .2s linear}
}

/* full-screen viewer */
.fg-lb{position:fixed;inset:0;z-index:1200;display:grid;grid-template-rows:auto 1fr auto;color:var(--cream-50)}
.fg-lb[hidden]{display:none}
.fg-lb__bg{position:absolute;inset:0;background:rgba(12,28,20,.94);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);opacity:0;transition:opacity .35s var(--ease)}
.fg-lb.is-open .fg-lb__bg{opacity:1}
.fg-lb__top{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem clamp(.9rem,3vw,1.6rem)}
.fg-lb__count{font:600 .8rem/1 var(--font-body);letter-spacing:.2em;color:var(--gold-200)}
.fg-lb__tools{display:flex;gap:.5rem}
.fg-lb__btn{
  all:unset;cursor:pointer;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;
  background:rgba(248,244,233,.1);border:1px solid rgba(248,244,233,.25);color:var(--cream-50);
  transition:background .25s var(--ease),transform .25s var(--ease);
}
.fg-lb__btn:hover{background:rgba(194,149,60,.35)}
.fg-lb__btn:focus-visible{outline:3px solid var(--gold-400);outline-offset:2px}
.fg-lb__btn svg{width:20px;height:20px}
.fg-lb__stage{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;min-height:0;overflow:hidden;padding:0 clamp(.5rem,6vw,5.5rem);touch-action:pan-y}
.fg-lb__img{
  max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:var(--radius);
  box-shadow:0 30px 80px rgba(0,0,0,.45);user-select:none;-webkit-user-drag:none;
}
.fg-lb__nav{position:absolute;top:50%;z-index:3;transform:translateY(-50%)}
.fg-lb__nav--prev{left:clamp(.4rem,1.6vw,1.4rem)}
.fg-lb__nav--next{right:clamp(.4rem,1.6vw,1.4rem)}
.fg-lb__foot{position:relative;z-index:2;padding:.9rem clamp(.9rem,3vw,1.6rem) 1.1rem;display:grid;gap:.8rem;justify-items:center;text-align:center}
.fg-lb__cap b{display:block;font:600 clamp(1.1rem,2.2vw,1.45rem)/1.25 var(--font-display)}
.fg-lb__cap small{color:rgba(248,244,233,.75);font-size:.9rem}
.fg-lb__thumbs{display:flex;gap:.5rem;max-width:100%;overflow-x:auto;padding:.2rem;scrollbar-width:none}
.fg-lb__thumbs::-webkit-scrollbar{display:none}
.fg-lb__thumb{
  all:unset;cursor:pointer;flex:0 0 auto;width:66px;height:48px;border-radius:8px;overflow:hidden;
  opacity:.45;outline:2px solid transparent;outline-offset:2px;transition:opacity .25s var(--ease),outline-color .25s var(--ease);
}
.fg-lb__thumb img{width:100%;height:100%;object-fit:cover;display:block}
.fg-lb__thumb:hover{opacity:.8}
.fg-lb__thumb[aria-current="true"]{opacity:1;outline-color:var(--gold-500)}
.fg-lb__thumb:focus-visible{outline-color:var(--gold-200)}
.fg-lb__progress{position:absolute;left:0;right:0;top:0;height:3px;z-index:3;background:transparent}
.fg-lb__progress span{display:block;height:100%;width:0;background:var(--gold-500)}
@media (max-width:720px){
  .fg-lb__nav{display:none}
  .fg-lb__thumb{width:54px;height:40px}
}

@media (prefers-reduced-motion: no-preference){
  /* tiles wipe in one after another (JS adds .is-in when the grid comes into view) */
  .fg--js .fg__card{clip-path:inset(100% 0 0 0 round var(--radius-lg));transition:clip-path 1s var(--ease) calc(var(--i) * 110ms),transform .5s var(--ease),box-shadow .5s var(--ease)}
  .fg--js .fg__pic{transform:translate3d(0,var(--py,0px),0) scale(1.32);transition:transform 1.4s var(--ease) calc(var(--i) * 110ms)}
  .fg--js .fg__cap{opacity:0;transform:translateY(14px);transition:opacity .7s var(--ease) calc(var(--i) * 110ms + .45s),transform .7s var(--ease) calc(var(--i) * 110ms + .45s)}
  .fg--js.is-in .fg__card{clip-path:inset(0 0 0 0 round var(--radius-lg))}
  .fg--js.is-in .fg__pic{transform:translate3d(0,var(--py,0px),0) scale(1.08)}
  .fg--js.is-in .fg__cap{opacity:1;transform:none}
  .fg--js.is-settled .fg__pic{transition:transform .12s linear}
  /* slow drift on every photo; it pauses while you look at one */
  .fg__pic img{animation:fgDrift 16s ease-in-out infinite alternate;animation-delay:calc(var(--i) * -2.7s)}
  .fg__item:hover .fg__pic img{animation-play-state:paused}
  @keyframes fgDrift{from{transform:scale(1) translate(0,0)}to{transform:scale(1.07) translate(-1.5%,-1%)}}
  .fg__item:hover .fg__shine{transform:translateX(120%);transition:transform 1s var(--ease)}
  .fg__ticker-track{animation:fgTicker 38s linear infinite}
  .fg__ticker:hover .fg__ticker-track{animation-play-state:paused}
  @keyframes fgTicker{to{transform:translateX(-50%)}}
  .fg-lb__img.is-swap{animation:fgIn .45s var(--ease) both}
  .fg-lb__img.is-swap-back{animation:fgInBack .45s var(--ease) both}
  @keyframes fgIn{from{opacity:0;transform:translateX(46px) scale(.97)}to{opacity:1;transform:none}}
  @keyframes fgInBack{from{opacity:0;transform:translateX(-46px) scale(.97)}to{opacity:1;transform:none}}
}

/* ============================================================
   15. SOCIAL — link rows + photo mosaic
============================================================ */
.social__inner{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2.5rem,6vw,5.5rem);align-items:center}
.social__list{margin-top:1.8rem;border-top:1px solid var(--sand-300)}
.social-row{display:flex;align-items:center;gap:1rem;padding:1.05rem .3rem;border-bottom:1px solid var(--sand-300);transition:padding .3s var(--ease),background .3s var(--ease)}
.social-row:hover{padding-inline:1rem;background:var(--white)}
.social-row__icon{width:46px;height:46px;border-radius:12px;flex:none;display:grid;place-items:center;color:#fff}
.social-row__icon svg{width:22px;height:22px}
.social-row--yt .social-row__icon{background:#E52D27}
.social-row--ig .social-row__icon{background:linear-gradient(45deg,#F58529,#DD2A7B,#8134AF)}
.social-row--tt .social-row__icon{background:#161616}
.social-row--li .social-row__icon{background:#0A66C2}
.social-row__text strong{display:block;font-size:1rem;color:var(--green-900)}
.social-row__text span{font-size:.84rem;color:var(--ink-600)}
.social-row__arrow{margin-left:auto;width:18px;height:18px;color:var(--gold-500);transition:transform .3s var(--ease)}
.social-row:hover .social-row__arrow{transform:translateX(5px)}
.mosaic{position:relative;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:1rem;height:clamp(420px,46vw,560px)}
.mosaic figure{position:relative;overflow:hidden;border-radius:var(--radius-lg);box-shadow:var(--shadow-soft)}
.mosaic figure:nth-child(1){grid-row:1/3;border-radius:999px 999px var(--radius-lg) var(--radius-lg)}
.mosaic figure:nth-child(3){border-radius:var(--radius-lg) var(--radius-lg) 110px var(--radius-lg)}
.mosaic img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.mosaic figure:hover img{transform:scale(1.06)}
.mosaic__badge{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:3;width:98px;height:98px;border-radius:50%;display:grid;place-items:center;background:var(--green-950);border:4px solid var(--cream-50);box-shadow:0 14px 34px rgba(15,36,26,.35);color:var(--gold-400)}
.mosaic__badge svg{width:34px;height:34px}

/* ============================================================
   16. CONTACT — map beside a stack of direct channels
============================================================ */
.contact{display:grid;grid-template-columns:1.3fr 1fr;gap:1.3rem;align-items:stretch}
.map-card{position:relative;min-height:560px;border-radius:var(--radius-lg);overflow:hidden;border:6px solid var(--white);box-shadow:var(--shadow-lift);background:var(--green-900)}
.map-card iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
.contact__side{display:flex;flex-direction:column;gap:1rem}
.channel-card{
  position:relative;display:flex;align-items:center;gap:.95rem;
  background:var(--white);border:1px solid var(--sand-300);border-radius:var(--radius-lg);padding:1.1rem 1.2rem;
  transition:transform .28s var(--ease),box-shadow .28s var(--ease),border-color .28s var(--ease);
}
.channel-card:hover{transform:translateX(5px);box-shadow:var(--shadow-soft);border-color:var(--gold-500)}
.channel-card__icon{width:48px;height:48px;border-radius:50%;flex:none;background:var(--green-900);color:var(--gold-400);display:flex;align-items:center;justify-content:center;transition:background .28s var(--ease),color .28s var(--ease)}
.channel-card:hover .channel-card__icon{background:var(--gold-500);color:var(--green-950)}
.channel-card__icon svg{width:21px;height:21px;display:block}
.channel-card__text strong{display:block;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--brown-700);margin-bottom:.15rem}
.channel-card__text span{font-size:.98rem;font-weight:600;color:var(--green-900);word-break:break-word}
.channel-card__arrow{margin-left:auto;width:16px;height:16px;flex:none;color:var(--gold-500)}
.channel-card--primary{background:linear-gradient(150deg,var(--green-800),var(--green-950));border-color:var(--green-800)}
.channel-card--primary .channel-card__text strong{color:var(--gold-400)}
.channel-card--primary .channel-card__text span{color:var(--cream-50)}
.channel-card--primary .channel-card__icon{background:var(--gold-500);color:var(--green-950)}
.channel-card__badge{position:absolute;top:-10px;right:1rem;background:var(--gold-500);color:var(--green-950);font-size:.58rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;padding:.3rem .55rem;border-radius:6px 6px 9px 9px;box-shadow:0 3px 10px rgba(15,36,26,.3)}
.visit{position:relative;flex:1;overflow:hidden;isolation:isolate;display:flex;flex-direction:column;gap:1rem;padding:clamp(1.5rem,3vw,2rem);border-radius:var(--radius-lg);background:var(--green-950);color:var(--cream-50)}
.visit::before{content:"";position:absolute;inset:0;z-index:-1;background-image:radial-gradient(rgba(234,214,164,.09) 1px,transparent 1.2px);background-size:22px 22px}
.visit .eartag{color:var(--gold-400);margin-bottom:0}
.visit h3{font-size:1.45rem;color:var(--cream-50)}
.visit ul{display:grid;gap:.8rem}
.visit li{display:flex;gap:.7rem;align-items:flex-start;font-size:.9rem;color:rgba(248,244,233,.88);line-height:1.55}
.visit li svg{width:17px;height:17px;flex:none;color:var(--gold-400);margin-top:.15rem}
.visit .btn{align-self:flex-start}
.visit__social{display:flex;align-items:center;flex-wrap:wrap;gap:.55rem;margin-top:auto;padding-top:1rem;border-top:1px solid rgba(234,214,164,.2)}
.visit__social > span{font-size:.68rem;letter-spacing:.13em;text-transform:uppercase;color:var(--gold-400);font-weight:700;margin-right:.35rem}
.visit__social a{width:36px;height:36px;border:1px solid rgba(234,214,164,.4);border-radius:50%;color:var(--gold-200);display:inline-flex;align-items:center;justify-content:center;transition:background .25s,border-color .25s,color .25s}
.visit__social a:hover{background:var(--gold-500);border-color:var(--gold-500);color:var(--green-950)}
.visit__social svg{width:16px;height:16px;display:block}

/* ============================================================
   17. FINAL CALL-TO-ACTION — photo band, left-aligned
============================================================ */
.cta{position:relative;color:var(--cream-50);overflow:hidden;background:var(--green-950);isolation:isolate}
.cta__media{position:absolute;inset:0;z-index:-1}
.cta__media img{width:100%;height:100%;object-fit:cover}
.cta__media::after{content:"";position:absolute;inset:0;background:linear-gradient(95deg,rgba(15,36,26,.96) 30%,rgba(15,36,26,.6) 70%,rgba(15,36,26,.35))}
.cta__inner{display:grid;grid-template-columns:1fr auto;gap:2rem 3rem;align-items:center}
.cta h2{color:var(--cream-50);margin-bottom:1rem;font-size:clamp(2rem,4.2vw,3.4rem);max-width:640px}
.cta h2 em{color:var(--gold-400)}
.cta p{color:rgba(248,244,233,.86);max-width:520px}
.cta__actions{display:flex;flex-direction:column;gap:.9rem;min-width:250px}
/* ============================================================
   18. FOOTER
============================================================ */
.footer{background:var(--green-950);color:rgba(248,244,233,.82);font-size:.92rem}
.footer__main{
  display:grid;grid-template-columns:1.5fr 1fr 1fr 1.3fr;
  gap:2.6rem;padding-block:clamp(3rem,6vw,4.5rem) 2.6rem;
}
.footer__brand .brand__name{color:var(--cream-50)}
.footer__brand .brand__tag{color:var(--gold-400)}
.footer__brand p{margin:1.1rem 0 1.4rem;font-size:.88rem;line-height:1.7;color:rgba(248,244,233,.72)}
.footer__social{display:flex;gap:.55rem}
.footer__social a{
  width:38px;height:38px;border-radius:10px;
  border:1px solid rgba(234,214,164,.45);color:var(--gold-200);
  display:inline-flex;align-items:center;justify-content:center;
  transition:background .25s,border-color .25s,color .25s;
}
.footer__social a:hover{background:var(--gold-500);border-color:var(--gold-500);color:var(--green-950)}
.footer__social svg{width:18px;height:18px;display:block}
.footer h3{
  font-family:var(--font-body);font-size:.8rem;font-weight:700;
  letter-spacing:.16em;text-transform:uppercase;color:var(--gold-400);margin-bottom:1.15rem;
}
.footer__links{display:grid;gap:.6rem}
.footer__links a{color:rgba(248,244,233,.82);transition:color .2s;display:inline-flex;gap:.45rem;align-items:center}
.footer__links a:hover{color:var(--gold-400)}
.footer__contact{display:grid;gap:.85rem}
.footer__contact li{display:flex;gap:.7rem;align-items:flex-start;line-height:1.55}
.footer__contact svg{width:16px;height:16px;color:var(--gold-400);flex:none;margin-top:.25rem}
.footer__contact a:hover{color:var(--gold-400)}
.footer .btn{margin-top:1.3rem}
.footer__bottom{
  border-top:1px solid rgba(234,214,164,.18);
  display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.8rem;
  padding-block:1.4rem;font-size:.8rem;color:rgba(248,244,233,.55);
}
.footer__legal{display:flex;gap:1.4rem}
.footer__legal a:hover{color:var(--gold-400)}
.footer__tagline{margin:.9rem 0 0!important;font-size:.72rem!important;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-400)!important;font-weight:700}
.footer__credit{flex-basis:100%;font-size:.72rem;color:rgba(248,244,233,.4)}

/* ============================================================
   18a. FLOATING QUICK-CONTACT WIDGET
============================================================ */
.chat-widget{
  position:fixed;right:clamp(.9rem,2.2vw,1.4rem);bottom:clamp(.9rem,2.2vw,1.4rem);
  z-index:999;display:flex;flex-direction:column;align-items:flex-end;gap:.85rem;
}
.chat-fab{
  position:relative;width:58px;height:58px;border-radius:50%;
  background:var(--gold-500);color:var(--green-950);
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 12px 30px rgba(15,36,26,.35);
  transition:transform .25s var(--ease),background .25s var(--ease);
}
.chat-fab:hover{transform:scale(1.07)}
.chat-fab__icon{width:26px;height:26px;transition:opacity .25s var(--ease),transform .3s var(--ease)}
.chat-fab__x{
  position:absolute;font-size:1.8rem;line-height:1;font-weight:500;
  opacity:0;transform:rotate(-90deg) scale(.4);
  transition:opacity .25s var(--ease),transform .3s var(--ease);
}
.chat-widget.is-open .chat-fab__icon{opacity:0;transform:rotate(90deg) scale(.4)}
.chat-widget.is-open .chat-fab__x{opacity:1;transform:none}
.chat-fab__badge{
  position:absolute;top:-3px;right:-3px;min-width:19px;height:19px;padding:0 4px;
  border-radius:999px;background:#C0392B;color:#fff;
  font-size:.66rem;font-weight:700;display:flex;align-items:center;justify-content:center;
  border:2px solid var(--cream-50);
}
.chat-panel{
  width:min(340px,calc(100vw - 2rem));
  background:var(--cream-100);border:1px solid var(--sand-300);border-radius:18px;
  overflow:hidden;box-shadow:0 26px 64px rgba(15,36,26,.38);
  transform-origin:100% 100%;
}
.chat-panel__head{
  display:flex;align-items:center;gap:.75rem;
  background:linear-gradient(150deg,var(--green-800),var(--green-950));
  padding:.9rem 1rem;
}
.chat-panel__head img{width:40px;height:40px;border-radius:50%;border:2px solid var(--gold-500);background:var(--green-950)}
.chat-panel__id strong{display:block;color:var(--cream-50);font-size:.9rem}
.chat-panel__id span{display:flex;align-items:center;gap:.4rem;color:var(--gold-200);font-size:.72rem;margin-top:.15rem}
.chat-dot{width:8px;height:8px;border-radius:50%;background:#3AC06B;box-shadow:0 0 0 3px rgba(58,192,107,.22)}
.chat-panel__close{
  margin-left:auto;width:30px;height:30px;border-radius:8px;
  color:rgba(248,244,233,.85);font-size:1.35rem;line-height:1;
  display:flex;align-items:center;justify-content:center;
  transition:background .2s var(--ease);
}
.chat-panel__close:hover{background:rgba(248,244,233,.14)}
.chat-panel__body{padding:1rem;display:flex;flex-direction:column;gap:.6rem}
.chat-typing{
  display:none;gap:4px;align-items:center;width:max-content;
  background:var(--white);border:1px solid var(--sand-300);
  border-radius:14px 14px 14px 4px;padding:.62rem .7rem;
}
.chat-typing span{width:6px;height:6px;border-radius:50%;background:var(--brown-700);opacity:.45}
.chat-bubble{
  width:max-content;max-width:100%;
  background:var(--white);border:1px solid var(--sand-300);
  border-radius:14px 14px 14px 4px;padding:.7rem .95rem;
  font-size:.88rem;color:var(--ink-900);line-height:1.55;
  box-shadow:0 2px 8px rgba(15,36,26,.06);
}
.chat-options{display:flex;flex-direction:column;gap:.5rem;margin-top:.1rem}
.chat-option{
  display:flex;align-items:center;gap:.65rem;
  background:var(--white);border:1px solid var(--sand-300);border-radius:12px;
  padding:.68rem .85rem;font-size:.86rem;font-weight:600;color:var(--green-900);
  transition:border-color .2s var(--ease),transform .2s var(--ease),box-shadow .2s var(--ease);
}
.chat-option:hover{border-color:var(--gold-500);transform:translateX(4px);box-shadow:0 4px 12px rgba(15,36,26,.08)}
.chat-option svg:first-child{width:17px;height:17px;flex:none;color:var(--gold-500)}
.chat-option__arrow{margin-left:auto;width:14px;height:14px;flex:none;color:var(--gold-500);opacity:.6}
.chat-option--wa{background:var(--green-800);border-color:var(--green-800);color:var(--cream-50)}
.chat-option--wa svg:first-child{color:#3AC06B}
.chat-option--wa:hover{border-color:var(--gold-500)}
.chat-panel__foot{
  display:flex;align-items:center;gap:.5rem;
  padding:.7rem 1rem;background:var(--cream-100);border-top:1px solid var(--sand-300);
  font-size:.76rem;color:var(--ink-600);
}
.chat-panel__foot svg{width:14px;height:14px;color:var(--gold-500);flex:none}

/* ============================================================
   18b. MOTION — tasteful animations (disabled for reduced-motion)
============================================================ */
@media (prefers-reduced-motion: no-preference){
  /* staggered reveal for card rows */
  .stock__grid .reveal:nth-child(2),.process__grid .reveal:nth-child(2),
  .team__grid .reveal:nth-child(2),.channels .reveal:nth-child(2),
  .social__grid .reveal:nth-child(2),.trust__grid .reveal:nth-child(2){transition-delay:.08s}
  .stock__grid .reveal:nth-child(3),.process__grid .reveal:nth-child(3),
  .team__grid .reveal:nth-child(3),.channels .reveal:nth-child(3),
  .social__grid .reveal:nth-child(3),.trust__grid .reveal:nth-child(3){transition-delay:.16s}
  .stock__grid .reveal:nth-child(4),.process__grid .reveal:nth-child(4),
  .team__grid .reveal:nth-child(4),
  .social__grid .reveal:nth-child(4),.trust__grid .reveal:nth-child(4){transition-delay:.24s}
  .process__grid .reveal:nth-child(5),.trust__grid .reveal:nth-child(5){transition-delay:.32s}
  .process__grid .reveal:nth-child(6){transition-delay:.4s}
  /* quick-contact widget: pulse, spring-in, typing, message cascade */
  .chat-fab::before{
    content:"";position:absolute;inset:0;border-radius:50%;
    box-shadow:0 0 0 0 rgba(194,149,60,.55);animation:fabPulse 2.6s infinite;
  }
  .chat-widget.is-open .chat-fab::before{animation:none}
  @keyframes fabPulse{to{box-shadow:0 0 0 22px rgba(194,149,60,0)}}
  .chat-panel.is-in{animation:panelIn .45s var(--ease) both}
  @keyframes panelIn{from{opacity:0;transform:translateY(16px) scale(.9)}to{opacity:1;transform:none}}
  .chat-panel.play .chat-typing{display:inline-flex;animation:typingAway 1.15s var(--ease) forwards}
  .chat-panel.play .chat-typing span{animation:typingDot 1s infinite}
  .chat-panel.play .chat-typing span:nth-child(2){animation-delay:.15s}
  .chat-panel.play .chat-typing span:nth-child(3){animation-delay:.3s}
  @keyframes typingDot{0%,100%{transform:none;opacity:.4}50%{transform:translateY(-4px);opacity:1}}
  @keyframes typingAway{0%,82%{opacity:1}100%{opacity:0;height:0;padding:0;border-width:0;overflow:hidden}}
  .chat-panel.play .chat-bubble{opacity:0;animation:msgIn .4s var(--ease) 1.05s forwards}
  .chat-panel.play .chat-option{opacity:0;animation:msgIn .38s var(--ease) forwards}
  .chat-panel.play .chat-option:nth-child(1){animation-delay:1.35s}
  .chat-panel.play .chat-option:nth-child(2){animation-delay:1.5s}
  .chat-panel.play .chat-option:nth-child(3){animation-delay:1.65s}
  .chat-panel.play .chat-option:nth-child(4){animation-delay:1.8s}
  @keyframes msgIn{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}
  /* gold button sheen sweep */
  .btn--gold{position:relative;overflow:hidden}
  .btn--gold::after{
    content:"";position:absolute;top:0;left:-70%;width:45%;height:100%;
    background:linear-gradient(100deg,transparent,rgba(255,255,255,.45),transparent);
    transform:skewX(-18deg);transition:left .55s var(--ease);
  }
  .btn--gold:hover::after{left:130%}
}

/* ============================================================
   19. RESPONSIVE BREAKPOINTS
============================================================ */
@media (max-width:1120px){
  .trust__grid{grid-template-columns:repeat(3,1fr)}
  .trust__card:nth-child(4){border-left:0}
  .trust__card:nth-child(n+4){border-top:1px solid var(--sand-300)}
  .lv{grid-template-columns:1fr 1fr;grid-template-rows:none;grid-auto-rows:280px}
  .lv-card:nth-child(1){grid-row:auto;grid-column:1/-1}
  .lv-card:nth-child(2){grid-column:auto}
  .crew{grid-template-columns:repeat(2,1fr);row-gap:2.4rem;max-width:640px;margin-inline:auto}
  .footer__main{grid-template-columns:1.4fr 1fr 1fr;row-gap:2.2rem}
  .footer__col--contact{grid-column:1/-1;max-width:520px}
}
@media (max-width:980px){
  .nav-desktop{display:none}
  .header-cta .btn{display:none}          /* CTA moves into the mobile menu */
  .nav-toggle{display:inline-flex}
  .section-head--split{grid-template-columns:1fr}
  .about__grid,.wholesale__inner,.process__inner,.social__inner,.contact{grid-template-columns:1fr}
  .about__media{max-width:520px}
  .process__aside{position:static}
  .why{grid-template-columns:1fr}
  .why__media{min-height:0;aspect-ratio:16/11;clip-path:polygon(0 0,100% 0,100% 93%,0 100%)}
  .why__panel{padding:2.4rem var(--gutter) 3.6rem}
  .founder{grid-template-columns:1fr;padding:1.6rem var(--gutter) 2rem;margin-top:3rem}
  .founder__media{margin:-3.6rem auto 0;width:min(320px,80%)}
  .founder__media img{min-height:0;aspect-ratio:3/3.7}
  .cta__inner{grid-template-columns:1fr}
  .cta__actions{flex-direction:row;flex-wrap:wrap;min-width:0}
  .map-card{min-height:380px}
}
@media (max-width:720px){
  :root{--header-h:70px}
  .topbar__group--info .topbar__item--hours,
  .topbar__group--info .topbar__item--mail{display:none}
  .brand__logo{width:44px;height:44px}
  .brand__name{font-size:1.02rem}
  .trust{margin-top:-2rem}
  .trust__grid{grid-template-columns:1fr 1fr}
  .trust__card:nth-child(n){border-left:0;border-top:1px solid var(--sand-300)}
  .trust__card:nth-child(-n+2){border-top:0}
  .trust__card:nth-child(even){border-left:1px solid var(--sand-300)}
  .trust__card:last-child{grid-column:1/-1;border-left:0}
  .about__media{padding:0 0 1.6rem 1.4rem}
  .about__badge{right:.5rem}
  .about__points{grid-template-columns:1fr}
  .lv{grid-template-columns:1fr;grid-auto-rows:300px}
  .lv-card:nth-child(n){grid-column:auto}
  .lv-note{flex-direction:column;align-items:flex-start}
  .tl::before{left:21px}
  .tl__item{grid-template-columns:44px 1fr;gap:.9rem}
  .tl__num{width:44px;height:44px;font-size:.92rem}
  .why__list{grid-template-columns:1fr}
  .crew{gap:1.6rem 1rem}
  .mosaic{height:400px;gap:.7rem}
  .mosaic__badge{width:76px;height:76px}
  .mosaic__badge svg{width:26px;height:26px}
  .footer__main{grid-template-columns:1fr;gap:2rem}
  .footer__bottom{flex-direction:column;text-align:center}
}
@media (max-width:420px){
  .topbar__inner{justify-content:center;flex-wrap:wrap;row-gap:.1rem}
  .crew{grid-template-columns:1fr;max-width:300px}
  .cta__actions .btn{width:100%}
}

/* ============================================================
   20. CONTENT-RESTRUCTURE ADDITIONS
============================================================ */
.hero__gold{color:var(--gold-400);font-style:italic}
.about__points li:last-child:nth-child(odd){grid-column:1/-1}

/* trust ribbon: four points */
.trust__grid{grid-template-columns:repeat(4,1fr)}
.trust__card{flex-direction:row;align-items:center;gap:1rem;padding:1.35rem 1.4rem}
.trust__card h3{font-size:.98rem}

/* process flow line (SOURCE → FARM → …) */
.flow{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.55rem .2rem;margin-top:clamp(2rem,4vw,3rem);list-style:none}
.flow li{background:var(--green-900);color:var(--gold-200);font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;padding:.6rem 1.05rem;border-radius:999px}
.flow li:not(:last-child)::after{content:"\2192";margin-left:.85rem;color:var(--gold-400);letter-spacing:0;font-size:.95rem}

/* business model cards */
.bm{display:grid;grid-template-columns:repeat(4,1fr);gap:1.3rem}
.bm-card{position:relative;background:var(--white);border:1px solid var(--sand-300);border-radius:var(--radius-lg);padding:1.7rem 1.5rem 1.6rem;transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s var(--ease)}
.bm-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-soft);border-color:var(--gold-500)}
.bm-card:not(:last-child)::after{content:"\2192";position:absolute;right:-1.05rem;top:2.1rem;z-index:2;width:30px;height:30px;border-radius:50%;background:var(--gold-500);color:var(--green-950);display:grid;place-items:center;font-size:.9rem;box-shadow:0 4px 12px rgba(15,36,26,.2)}
.bm-card__ico{width:52px;height:52px;border-radius:50%;background:var(--green-900);color:var(--gold-400);display:grid;place-items:center;margin-bottom:1.1rem;box-shadow:0 0 0 5px rgba(194,149,60,.16)}
.bm-card__ico svg{width:23px;height:23px}
.bm-card small{display:block;font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--brown-700);margin-bottom:.3rem}
.bm-card h3{font-size:1.6rem;color:var(--green-900);margin-bottom:.55rem}
.bm-card p{font-size:.9rem;color:var(--ink-600);line-height:1.6}

/* daily operations (dark) */
.dm{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem}
.dm-card{background:rgba(248,244,233,.06);border:1px solid rgba(234,214,164,.18);border-radius:var(--radius-lg);padding:1.6rem 1.5rem;transition:background .3s var(--ease),border-color .3s var(--ease),transform .3s var(--ease)}
.dm-card:hover{background:rgba(248,244,233,.1);border-color:rgba(234,214,164,.45);transform:translateY(-4px)}
.dm-card__ico{width:48px;height:48px;border-radius:14px;background:rgba(194,149,60,.16);border:1px solid rgba(194,149,60,.42);color:var(--gold-400);display:grid;place-items:center;margin-bottom:1rem}
.dm-card__ico svg{width:22px;height:22px}
.dm-card h3{font-family:var(--font-body);font-weight:700;font-size:1.05rem;color:var(--cream-50);margin-bottom:.4rem}
.dm-card p{font-size:.9rem;color:rgba(248,244,233,.78);line-height:1.6}

/* monitoring */
.mon{display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(2.2rem,5vw,4.5rem);align-items:start}
.mon__copy h2{margin-bottom:1.2rem}
.mon__copy p{color:var(--ink-600);margin-bottom:1rem}
.mon__copy p:first-of-type{font-family:var(--font-display);font-size:clamp(1.1rem,1.6vw,1.3rem);color:var(--green-900);padding-left:1.1rem;border-left:3px solid var(--gold-500)}
.mon__cards{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.mon-card{background:var(--white);border:1px solid var(--sand-300);border-radius:var(--radius-lg);padding:1.4rem 1.3rem;transition:transform .3s var(--ease),border-color .3s var(--ease)}
.mon-card:hover{transform:translateY(-4px);border-color:var(--gold-500)}
.mon-card__n{display:inline-block;font:600 .72rem/1 var(--font-body);letter-spacing:.18em;color:var(--gold-500);margin-bottom:.7rem}
.mon-card h3{font-family:var(--font-body);font-weight:700;font-size:1rem;color:var(--green-900);margin-bottom:.35rem}
.mon-card p{font-size:.87rem;color:var(--ink-600);line-height:1.6}
.mon-banner{position:relative;isolation:isolate;overflow:hidden;margin-top:clamp(2rem,4vw,3rem);text-align:center;background:var(--green-950);color:var(--cream-50);border-radius:var(--radius-lg);padding:clamp(2rem,4vw,3rem) clamp(1.4rem,4vw,3rem)}
.mon-banner::before{content:"";position:absolute;inset:0;z-index:-1;background-image:radial-gradient(rgba(234,214,164,.09) 1px,transparent 1.2px);background-size:22px 22px}
.mon-banner h3{font-size:clamp(1.4rem,2.6vw,2rem);color:var(--cream-50);margin-bottom:.6rem}
.mon-banner h3 em{color:var(--gold-400)}
.mon-banner p{max-width:640px;margin-inline:auto;color:rgba(248,244,233,.82)}

/* why: intro line */
.why__lede{margin-top:1rem;color:rgba(248,244,233,.82);max-width:600px}

/* transparency */
.tr{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2.2rem,5vw,4.5rem);align-items:center}
.tr__p{color:var(--ink-600);margin-top:1rem}
.tr__actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.8rem}
.tr__list{display:grid;gap:.8rem;list-style:none}
.tr__list li{display:flex;align-items:center;gap:1rem;background:var(--white);border:1px solid var(--sand-300);border-radius:var(--radius);padding:1rem 1.2rem;transition:transform .3s var(--ease),border-color .3s var(--ease)}
.tr__list li:hover{transform:translateX(6px);border-color:var(--gold-500)}
.tr__ico{width:44px;height:44px;border-radius:50%;flex:none;background:var(--green-900);color:var(--gold-400);display:grid;place-items:center}
.tr__ico svg{width:20px;height:20px}
.tr__list strong{color:var(--green-900);font-size:1rem}

/* gallery category chips */
.fg__cats{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin:-1.4rem 0 2.4rem;list-style:none}
.fg__cats li{font-size:.76rem;font-weight:600;letter-spacing:.06em;color:var(--green-900);border:1px solid var(--sand-300);background:var(--white);padding:.4rem .85rem;border-radius:999px}
.gallery__more{display:flex;flex-wrap:wrap;justify-content:center;gap:.8rem}

/* FAQ */
.faq{display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(2.2rem,5vw,4.5rem);align-items:start}
.faq__aside{position:sticky;top:calc(var(--header-h) + 2rem)}
.faq__aside p{margin:1rem 0 1.6rem;color:var(--ink-600)}
.faq__list{display:grid;gap:.7rem}
.faq-item{background:var(--white);border:1px solid var(--sand-300);border-radius:var(--radius);transition:border-color .25s var(--ease),box-shadow .25s var(--ease)}
.faq-item[open]{border-color:var(--gold-500);box-shadow:var(--shadow-soft)}
.faq-item summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.05rem 1.3rem;font-weight:600;color:var(--green-900)}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";flex:none;width:30px;height:30px;border-radius:50%;background:var(--green-900);color:var(--gold-400);display:grid;place-items:center;font-size:1.2rem;line-height:1;transition:transform .3s var(--ease),background .3s var(--ease)}
.faq-item[open] summary::after{transform:rotate(45deg);background:var(--gold-500);color:var(--green-950)}
.faq-item p{padding:0 1.3rem 1.2rem;color:var(--ink-600);font-size:.95rem}
.faq-item p a{color:var(--green-800);font-weight:600;text-decoration:underline}

/* longer social descriptions */
.social-row__text span{display:block;max-width:420px}

@media (min-width:721px) and (max-width:1120px){
  .trust__grid{grid-template-columns:1fr 1fr}
  .trust__card:nth-child(n){border-left:0;border-top:0}
  .trust__card:nth-child(even){border-left:1px solid var(--sand-300)}
  .trust__card:nth-child(n+3){border-top:1px solid var(--sand-300)}
  .bm{grid-template-columns:1fr 1fr}
  .bm-card:nth-child(2)::after{display:none}
  .dm{grid-template-columns:1fr 1fr}
}
@media (max-width:980px){
  .mon,.tr,.faq{grid-template-columns:1fr}
  .faq__aside{position:static}
}
@media (max-width:720px){
  .trust__card:nth-child(n){grid-column:auto;flex-direction:column;align-items:flex-start;gap:.7rem}
  .trust__card:nth-child(even),.trust__card:last-child{border-left:1px solid var(--sand-300)}
  .trust__card:nth-child(n+3){border-top:1px solid var(--sand-300)}
  .bm{grid-template-columns:1fr}
  .bm-card:not(:last-child)::after{right:auto;left:2.3rem;top:auto;bottom:-1.05rem;transform:rotate(90deg)}
  .dm,.mon__cards{grid-template-columns:1fr}
  .flow li{font-size:.66rem;padding:.5rem .8rem}
}
/* ============================================================
   14. COMMERCIAL BUYERS — dark tiles + running topic strip
============================================================ */
.wholesale{position:relative;overflow:hidden}
.buyers{display:grid;grid-template-columns:repeat(4,1fr);gap:1.1rem}
.buyer-card{position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;min-height:300px;
  background:var(--green-950);color:var(--cream-50);border-radius:22px;padding:1.7rem 1.5rem 1.6rem;
  transition:transform .4s var(--ease),box-shadow .4s var(--ease)}
.buyer-card::before{content:"";position:absolute;inset:0;z-index:-1;background-image:radial-gradient(rgba(234,214,164,.09) 1px,transparent 1.2px);background-size:22px 22px}
.buyer-card::after{content:"";position:absolute;z-index:-1;width:240px;height:240px;right:-90px;top:-90px;border-radius:50%;background:radial-gradient(circle,rgba(194,149,60,.32),transparent 65%);transition:transform .8s var(--ease)}
.buyer-card:hover{transform:translateY(-8px);box-shadow:0 28px 54px rgba(15,36,26,.32)}
.buyer-card:hover::after{transform:scale(1.5) translate(-10px,10px)}
.buyer-card__n{position:absolute;right:1rem;bottom:-.6rem;z-index:-1;font:600 6.4rem/1 var(--font-display);color:rgba(234,214,164,.07)}
.buyer-card__ico{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:var(--gold-500);color:var(--green-950);margin-bottom:auto;box-shadow:0 0 0 6px rgba(194,149,60,.2);transition:transform .5s var(--ease)}
.buyer-card:hover .buyer-card__ico{transform:rotate(-8deg) scale(1.08)}
.buyer-card__ico svg{width:25px;height:25px}
.buyer-card h3{margin:2.2rem 0 .5rem;font-size:1.4rem;color:var(--cream-50)}
.buyer-card p{font-size:.88rem;line-height:1.6;color:rgba(248,244,233,.78)}
.discuss{margin-top:clamp(2.2rem,4vw,3rem);text-align:center}
.discuss__label{font-family:var(--font-body);font-size:.78rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--brown-700);margin-bottom:1rem}
.chip-run{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.chip-run__track{display:flex;width:max-content;list-style:none}
.chip-run__track li{flex:none;margin-right:.65rem;padding:.6rem 1.15rem;border-radius:999px;background:var(--white);border:1px solid var(--sand-300);color:var(--green-900);font-weight:600;font-size:.88rem;white-space:nowrap}
.chip-run__track li::before{content:"\2726";color:var(--gold-500);margin-right:.55rem;font-size:.75rem}
.wholesale__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.8rem;margin-top:2rem}
@media (prefers-reduced-motion:no-preference){
  .chip-run__track{animation:chipRun 36s linear infinite}
  .chip-run:hover .chip-run__track{animation-play-state:paused}
  @keyframes chipRun{to{transform:translateX(-50%)}}
}
@media (prefers-reduced-motion:reduce){
  .chip-run__track{width:auto;flex-wrap:wrap;justify-content:center;gap:.6rem 0}
  .chip-run__dup{display:none}
}
@media (max-width:1120px){.buyers{grid-template-columns:1fr 1fr}.buyer-card{min-height:260px}}
@media (max-width:720px){
  .buyers{grid-template-columns:1fr}.buyer-card{min-height:0}.buyer-card h3{margin-top:1.4rem}
  .fam{flex-direction:column;height:auto}
  .fam-card{flex:none;height:86px;transition:height .7s var(--ease),border-color .4s var(--ease)}
  .fam-card.is-active{height:360px}
  .fam-card__info{display:flex;flex-wrap:wrap;align-items:center;gap:.2rem .7rem}
  .fam-card__info h3{margin-top:0}
}


/* ============================================================
   21. MOTION + FRESH-LAYOUT LAYER
============================================================ */
/* soft animated colour blobs behind the light sections */
.model,.about,#process,#monitoring,#transparency,#faq,#social,#contact,#wholesale,#team{position:relative;overflow:clip}
.model>.container,.about>.container,#process>.container,#monitoring>.container,#transparency>.container,#faq>.container,#social>.container,#contact>.container,#wholesale>.container,#team>.container{position:relative;z-index:1}
.model::before,.about::before,#process::before,#monitoring::before,#transparency::before,#faq::before,#social::before,#contact::before,#wholesale::before,#team::before{
  content:"";position:absolute;z-index:0;pointer-events:none;width:520px;height:520px;right:-190px;top:-160px;border-radius:50%;
  background:radial-gradient(circle,rgba(194,149,60,.17),transparent 65%)}
.model::after,.about::after,#process::after,#monitoring::after,#transparency::after,#faq::after,#social::after,#contact::after,#wholesale::after,#team::after{
  content:"";position:absolute;z-index:0;pointer-events:none;width:460px;height:460px;left:-200px;bottom:-190px;border-radius:50%;
  background:radial-gradient(circle,rgba(42,79,56,.13),transparent 65%)}

/* gold shimmer on the italic heading word */
h2 em,.mon-banner h3 em{
  background-image:linear-gradient(100deg,var(--gold-500) 20%,#E7CB86 46%,var(--gold-500) 72%);background-size:230% 100%;
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
.dark h2 em,.cta h2 em,.mon-banner h3 em{background-image:linear-gradient(100deg,var(--gold-400) 20%,#F7E6B4 46%,var(--gold-400) 72%)}

/* moving gold band before the final call-to-action */
.strip{background:var(--gold-500);color:var(--green-950);overflow:hidden;padding:1rem 0;border-block:1px solid rgba(15,36,26,.25)}
.strip__track{display:flex;width:max-content;align-items:center;white-space:nowrap}
.strip__track span{font:italic 600 clamp(1.15rem,2.2vw,1.6rem)/1 var(--font-display);padding-inline:1.4rem}
.strip__track i{font-style:normal;font-size:.9rem;opacity:.7}

/* Model: staggered "journey" cards */
.bm{align-items:start}
.bm-card:nth-child(even){margin-top:2.6rem}

/* Daily operations: bento */
.dm{grid-template-columns:repeat(4,1fr)}
.dm-card:nth-child(1),.dm-card:nth-child(6){grid-column:span 2}
.dm-card:nth-child(1){background-image:linear-gradient(140deg,rgba(194,149,60,.22),rgba(248,244,233,.04))}
.dm-card:nth-child(6){background-image:linear-gradient(220deg,rgba(194,149,60,.22),rgba(248,244,233,.04))}
.dm-card:nth-child(1) h3,.dm-card:nth-child(6) h3{font-family:var(--font-display);font-size:1.5rem}
.dm-card:nth-child(1) .dm-card__ico,.dm-card:nth-child(6) .dm-card__ico{width:58px;height:58px}

/* cursor spotlight on cards */
.spot{background-image:radial-gradient(340px circle at var(--mx,-999px) var(--my,-999px),rgba(194,149,60,.17),transparent 62%)}

/* timeline: line fills while you scroll; numbers light up */
.tl::after{content:"";position:absolute;left:27px;top:14px;width:2px;height:calc((100% - 40px) * var(--p,0));background:var(--gold-500);box-shadow:0 0 14px rgba(194,149,60,.7);border-radius:2px}
.tl__item.is-visible .tl__num{background:var(--gold-500);color:var(--green-950)}
@media (max-width:720px){.tl::after{left:21px}}

/* why photo drifts slightly */
.why__media img{transform:translate3d(0,var(--py,0px),0) scale(1.12)}

/* directional reveals + a proper transition on every reveal (cards used to just pop in) */
.lsdf-js .reveal[data-anim="left"]{transform:translateX(-56px)}
.lsdf-js .reveal[data-anim="right"]{transform:translateX(56px)}
.lsdf-js .reveal[data-anim="zoom"]{transform:translateY(30px) scale(.9)}
.lsdf-js .reveal.reveal.is-visible{transform:none}
.reveal.reveal{transition:opacity .9s var(--ease) var(--d,0s),transform .9s var(--ease) var(--d,0s),box-shadow .35s var(--ease),border-color .35s var(--ease),background-color .35s var(--ease)}
.reveal.reveal.done{transition:opacity .4s var(--ease),transform .45s var(--ease),box-shadow .35s var(--ease),border-color .35s var(--ease),background-color .35s var(--ease)}

/* eyebrow line draws in */
@media (prefers-reduced-motion:no-preference){
  h2 em{animation:emShine 6s linear infinite}
  @keyframes emShine{to{background-position:-230% 0}}
  .lsdf-js .reveal .eartag::before{transform:scaleX(0);transform-origin:left;transition:transform .9s var(--ease) .25s}
  .lsdf-js .reveal.is-visible .eartag::before{transform:none}
  .strip__track{animation:stripRun 34s linear infinite}
  @keyframes stripRun{to{transform:translateX(-50%)}}
  .bm-card__ico,.dm-card__ico,.tr__ico,.trust__ico{animation:icoFloat 4.5s ease-in-out infinite}
  .bm-card:nth-child(2) .bm-card__ico,.dm-card:nth-child(even) .dm-card__ico,.tr__list li:nth-child(even) .tr__ico,.trust__card:nth-child(even) .trust__ico{animation-delay:-2.2s}
  @keyframes icoFloat{50%{transform:translateY(-5px)}}
  .about__media::before{animation:frameGlow 5s ease-in-out infinite}
  @keyframes frameGlow{50%{transform:translate(-8px,8px);border-color:var(--gold-400)}}
  .lv-card__no,.fam-card__tag{animation:none}
}
@media (max-width:1120px){
  .dm{grid-template-columns:1fr 1fr}
  .bm-card:nth-child(even){margin-top:0}
}
@media (max-width:720px){
  .dm{grid-template-columns:1fr}
  .dm-card:nth-child(n){grid-column:auto}
}

/* ============================================================
   22. MOBILE FIXES
============================================================ */
@media (max-width:720px){
  .trust__grid{grid-template-columns:1fr 1fr}
  .trust__card{padding:1.1rem 1rem}
  .trust__card h3{font-size:.9rem}
  .hero__tag{bottom:3.6rem}
}
.channel-card--primary.spot{background-image:radial-gradient(340px circle at var(--mx,-999px) var(--my,-999px),rgba(194,149,60,.22),transparent 62%),linear-gradient(150deg,var(--green-800),var(--green-950))}
.dm-card:nth-child(1).spot{background-image:radial-gradient(340px circle at var(--mx,-999px) var(--my,-999px),rgba(194,149,60,.2),transparent 62%),linear-gradient(140deg,rgba(194,149,60,.22),rgba(248,244,233,.04))}
.dm-card:nth-child(6).spot{background-image:radial-gradient(340px circle at var(--mx,-999px) var(--my,-999px),rgba(194,149,60,.2),transparent 62%),linear-gradient(220deg,rgba(194,149,60,.22),rgba(248,244,233,.04))}
h2 em,.mon-banner h3 em{padding:0 .16em 0 .05em;margin:0 -.16em 0 -.05em;-webkit-box-decoration-break:clone;box-decoration-break:clone}
/* richer gold on light backgrounds */
h2 em{background-image:linear-gradient(100deg,#B4832A 20%,#D9AE52 46%,#B4832A 72%)}
.dark h2 em,.cta h2 em,.mon-banner h3 em{background-image:linear-gradient(100deg,var(--gold-400) 20%,#F7E6B4 46%,var(--gold-400) 72%)}
/* team portraits: two per row on phones */
@media (max-width:420px){
  .crew{grid-template-columns:1fr 1fr;max-width:none;gap:1.6rem .8rem}
  .crew-card h3{font-size:1.02rem}
  .crew-card small{font-size:.6rem;letter-spacing:.08em}
  .crew-card p{font-size:.78rem}
}

/* ============================================================
   23. INNER PAGES — page banner, legal prose, contact form, gallery notes
============================================================ */
.page-hero{padding-block:clamp(3.2rem,7vw,5.5rem) clamp(3rem,6vw,4.6rem)}
.page-hero .container{position:relative;z-index:1}
.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.8rem;color:rgba(248,244,233,.7);margin-bottom:1.4rem}
.crumbs a{color:var(--gold-200)}
.crumbs a:hover{color:var(--cream-50)}
.crumbs span:not(:last-child){opacity:.5}
.page-hero h1{font-size:clamp(2.1rem,4.8vw,3.7rem);color:var(--cream-50);letter-spacing:-.02em;line-height:1.08;max-width:820px;margin-bottom:1.1rem}
.page-hero h1 em{font-style:italic;font-weight:600;background-image:linear-gradient(100deg,var(--gold-400) 20%,#F7E6B4 46%,var(--gold-400) 72%);background-size:230% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;padding:0 .16em 0 .05em;margin:0 -.16em 0 -.05em}
.page-hero p{max-width:640px;font-size:clamp(1rem,1.3vw,1.14rem);color:rgba(248,244,233,.86)}
.page-hero__actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.8rem}
@media (prefers-reduced-motion:no-preference){
  .page-hero h1 em{animation:emShine 6s linear infinite}
  .page-hero .crumbs,.page-hero .eartag,.page-hero h1,.page-hero p,.page-hero__actions{opacity:0;transform:translateY(18px);animation:heroFade .8s var(--ease) forwards}
  .page-hero .crumbs{animation-delay:.05s}.page-hero .eartag{animation-delay:.15s}.page-hero h1{animation-delay:.25s}.page-hero p{animation-delay:.4s}.page-hero__actions{animation-delay:.55s}
}

/* legal pages */
.legal{max-width:800px;margin-inline:auto}
.legal__meta{font-size:.85rem;color:var(--ink-600);margin-bottom:2rem;padding-bottom:1.2rem;border-bottom:1px solid var(--sand-300)}
.legal h2{font-size:clamp(1.25rem,2vw,1.55rem);margin:2.2rem 0 .7rem;color:var(--green-900)}
.legal p,.legal li{color:var(--ink-600);margin-bottom:.8rem}
.legal ul{list-style:disc;padding-left:1.3rem;margin-bottom:1rem}
.legal a{color:var(--green-800);font-weight:600;text-decoration:underline}
.legal__note{margin-top:2.4rem;padding:1.1rem 1.3rem;border-left:4px solid var(--gold-500);background:var(--white);border-radius:0 var(--radius) var(--radius) 0;font-size:.92rem;color:var(--ink-600)}

/* contact page */
.cp{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(1.6rem,4vw,3.2rem);align-items:start}
.form-card{background:var(--white);border:1px solid var(--sand-300);border-radius:var(--radius-lg);padding:clamp(1.4rem,3vw,2.2rem);box-shadow:var(--shadow-soft)}
.form-card h2{font-size:clamp(1.5rem,2.4vw,1.9rem);margin-bottom:.4rem}
.form-card > p{color:var(--ink-600);font-size:.94rem;margin-bottom:1.3rem}
.field{display:grid;gap:.35rem;margin-bottom:1rem}
.field label{font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--brown-700)}
.field input,.field select,.field textarea{width:100%;font:inherit;font-size:.96rem;color:var(--ink-900);background:var(--cream-50);border:1.5px solid var(--sand-300);border-radius:10px;padding:.8rem .9rem;transition:border-color .2s var(--ease),box-shadow .2s var(--ease)}
.field textarea{min-height:110px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--gold-500);box-shadow:0 0 0 4px rgba(194,149,60,.18)}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}
.form-card .btn{width:100%;margin-top:.3rem}
.form-card small{display:block;margin-top:.8rem;font-size:.78rem;color:var(--ink-600)}
.cp__side{display:grid;gap:1.3rem}
.info-card{background:var(--green-950);color:var(--cream-50);border-radius:var(--radius-lg);padding:clamp(1.4rem,3vw,2rem);position:relative;isolation:isolate;overflow:hidden}
.info-card::before{content:"";position:absolute;inset:0;z-index:-1;background-image:radial-gradient(rgba(234,214,164,.09) 1px,transparent 1.2px);background-size:22px 22px}
.info-card h3{font-size:1.35rem;color:var(--cream-50);margin-bottom:1rem}
.info-card ul{display:grid;gap:.7rem;list-style:none}
.info-card li{display:flex;gap:.7rem;align-items:flex-start;font-size:.93rem;color:rgba(248,244,233,.9)}
.info-card li svg{width:16px;height:16px;flex:none;color:var(--gold-400);margin-top:.25rem}
.visit-steps{counter-reset:vs;display:grid;gap:.9rem;list-style:none}
.visit-steps li{counter-increment:vs;display:flex;gap:.9rem;align-items:flex-start;color:rgba(248,244,233,.9);font-size:.93rem}
.visit-steps li::before{content:counter(vs);flex:none;width:30px;height:30px;border-radius:50%;background:var(--gold-500);color:var(--green-950);font-weight:700;font-size:.85rem;display:grid;place-items:center}
.faq--narrow{display:block;max-width:820px;margin-inline:auto}

/* about page */
.bm--3{grid-template-columns:repeat(3,1fr)}
.bm--3 .bm-card:nth-child(even){margin-top:0}
.values{display:grid;grid-template-columns:repeat(4,1fr);gap:1.1rem}

/* gallery page */
.gal-notes{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:2.6rem}
.gal-follow{display:flex;flex-wrap:wrap;justify-content:center;gap:.8rem;margin-top:2rem}

@media (max-width:1120px){.values,.gal-notes{grid-template-columns:1fr 1fr}.bm--3{grid-template-columns:1fr 1fr}.bm--3 .bm-card:nth-child(2)::after{display:none}}
@media (max-width:980px){.cp{grid-template-columns:1fr}}
@media (max-width:720px){.values,.gal-notes,.bm--3{grid-template-columns:1fr}.field-row{grid-template-columns:1fr}.bm--3 .bm-card:not(:last-child)::after{right:auto;left:2.3rem;top:auto;bottom:-1.05rem;transform:rotate(90deg)}}

/* ============================================================
   24. CANVAS EDITION — additions for the design canvas:
   location card (replaces the map embed), gallery viewer states,
   blog listing / category / single article, FAQ page, helpers.
   Same tokens, same vocabulary as sections 1–23.
============================================================ */
.lsdf-page{background:var(--cream-50);min-height:100%}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* gallery viewer: captions, counter and play icon are switched by class */
[data-fg-count]:not(.is-current),[data-fg-cap]:not(.is-current){display:none}
.fg-lb__btn .ico-pause{display:none}
.fg-lb__btn[aria-pressed="true"] .ico-play{display:none}
.fg-lb__btn[aria-pressed="true"] .ico-pause{display:block}

/* ---------- location card (photo + pin; replaces the Google Maps iframe) ---------- */
.map-card--photo{display:flex;align-items:flex-end;isolation:isolate;color:var(--cream-50)}
.map-card--photo > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform 1.2s var(--ease)}
.map-card--photo:hover > img{transform:scale(1.05)}
.map-card--photo::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(15,36,26,.12) 25%,rgba(15,36,26,.55) 60%,rgba(15,36,26,.94))}
.map-pin{position:absolute;left:50%;top:40%;translate:-50% -50%;width:90px;height:90px;display:grid;place-items:center;pointer-events:none}
.map-pin__drop{width:58px;height:58px;border-radius:50% 50% 50% 0;rotate:-45deg;background:var(--gold-500);display:grid;place-items:center;box-shadow:0 16px 34px rgba(15,36,26,.5);border:3px solid var(--cream-50)}
.map-pin__drop svg{width:24px;height:24px;rotate:45deg;color:var(--green-950)}
.map-pin::before,.map-pin::after{content:"";position:absolute;left:50%;top:100%;width:80px;height:26px;margin:-10px 0 0 -40px;border-radius:50%;border:2px solid rgba(234,214,164,.8);opacity:0}
.map-card__label{position:absolute;left:clamp(1rem,2.5vw,1.6rem);top:clamp(1rem,2.5vw,1.6rem);display:inline-flex;align-items:center;gap:.5rem;padding:.55rem .95rem;border-radius:99px;background:rgba(15,36,26,.72);color:var(--cream-50);font-size:.8rem;border:1px solid rgba(234,214,164,.3);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.map-card__label svg{width:15px;height:15px;color:var(--gold-400)}
.map-card__info{position:relative;width:100%;padding:clamp(1.4rem,3vw,2.2rem);display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1.2rem}
.map-card__info small{display:block;font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-400);margin-bottom:.4rem}
.map-card__info strong{display:block;font:600 clamp(1.35rem,2.3vw,1.8rem)/1.2 var(--font-display);color:var(--cream-50)}
.map-card__info span{display:block;font-size:.92rem;color:rgba(248,244,233,.85);margin-top:.35rem}
@media (prefers-reduced-motion:no-preference){
  .map-pin{animation:pinBob 2.6s ease-in-out infinite}
  .map-pin::before{animation:pinRing 2.6s ease-out infinite}
  .map-pin::after{animation:pinRing 2.6s ease-out 1.3s infinite}
  @keyframes pinBob{50%{transform:translateY(-9px)}}
  @keyframes pinRing{0%{opacity:.95;transform:scale(.25)}100%{opacity:0;transform:scale(1.7)}}
}

/* ---------- shared blog atoms ---------- */
.post-tag{display:inline-flex;align-items:center;width:max-content;background:var(--gold-500);color:var(--green-950);font-size:.62rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:.34rem .62rem;border-radius:6px 6px 9px 9px}
.post-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem 1rem;font-size:.8rem;color:var(--ink-600)}
.post-meta span{display:inline-flex;align-items:center;gap:.4rem}
.post-meta svg{width:14px;height:14px;flex:none;color:var(--gold-500)}
.author-chip{display:flex;align-items:center;gap:.7rem}
.author-chip img{width:44px;height:44px;flex:none;border-radius:50%;object-fit:cover;object-position:center 20%;border:2px solid var(--gold-500)}
.author-chip strong{display:block;font-size:.9rem;line-height:1.25;color:var(--green-900)}
.author-chip small{display:block;font-size:.74rem;color:var(--ink-600)}

/* category chips + search bar */
.blog-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:clamp(1.8rem,4vw,2.6rem)}
.blog-cats{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none}
.blog-cats a{display:inline-flex;align-items:center;gap:.5rem;min-height:44px;font-size:.86rem;font-weight:600;color:var(--green-900);background:var(--white);border:1px solid var(--sand-300);padding:.5rem 1.05rem;border-radius:999px;transition:background .25s var(--ease),color .25s var(--ease),border-color .25s var(--ease),transform .25s var(--ease)}
.blog-cats a:hover{border-color:var(--gold-500);transform:translateY(-2px)}
.blog-cats a b{font-size:.7rem;font-weight:700;color:var(--brown-700);background:var(--cream-100);border-radius:999px;padding:.12rem .48rem}
.blog-cats a[aria-current="page"]{background:var(--green-900);border-color:var(--green-900);color:var(--cream-50)}
.blog-cats a[aria-current="page"] b{background:var(--gold-500);color:var(--green-950)}
.blog-search{position:relative;display:flex;align-items:center;flex:0 1 300px;min-width:min(260px,100%)}
.blog-search svg{position:absolute;left:1rem;width:17px;height:17px;color:var(--brown-700);pointer-events:none}
.blog-search input{width:100%;min-height:46px;font:inherit;font-size:.92rem;color:var(--ink-900);background:var(--white);border:1.5px solid var(--sand-300);border-radius:999px;padding:.7rem 1rem .7rem 2.7rem;transition:border-color .2s var(--ease),box-shadow .2s var(--ease)}
.blog-search input::placeholder{color:#7A7466}
.blog-search input:focus{outline:none;border-color:var(--gold-500);box-shadow:0 0 0 4px rgba(194,149,60,.18)}

/* featured article */
.post-feature{position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:1.08fr .92fr;border-radius:var(--radius-lg);background:linear-gradient(150deg,var(--green-900),var(--green-950));color:var(--cream-50);box-shadow:var(--shadow-lift);margin-bottom:clamp(2.6rem,5vw,3.6rem)}
.post-feature::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:radial-gradient(rgba(234,214,164,.09) 1px,transparent 1.2px);background-size:22px 22px}
.post-feature::after{content:"";position:absolute;z-index:-1;pointer-events:none;width:420px;height:420px;right:-160px;top:-160px;border-radius:50%;background:radial-gradient(circle,rgba(194,149,60,.22),transparent 62%)}
.post-feature__media{position:relative;display:block;min-height:460px;overflow:hidden;clip-path:polygon(0 0,100% 0,92% 100%,0 100%)}
.post-feature__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.post-feature:hover .post-feature__media img{transform:scale(1.05)}
.post-feature__media .hero__tag{right:auto;left:clamp(1rem,2.5vw,1.6rem)}
.post-feature__body{padding:clamp(1.8rem,4vw,3.2rem) clamp(1.6rem,4vw,3.2rem) clamp(1.8rem,4vw,3.2rem) clamp(1rem,2vw,1.6rem);display:flex;flex-direction:column;justify-content:center;gap:1rem}
.post-feature__body .eartag{color:var(--gold-400);margin-bottom:0}
.post-feature h2{font-size:clamp(1.7rem,2.8vw,2.45rem);line-height:1.12;color:var(--cream-50)}
.post-feature h2 a{transition:color .25s var(--ease)}
.post-feature h2 a:hover{color:var(--gold-200)}
.post-feature p{color:rgba(248,244,233,.84)}
.post-feature .post-meta{color:var(--gold-200)}
.post-feature .author-chip strong{color:var(--cream-50)}
.post-feature .author-chip small{color:var(--gold-200)}
.post-feature__foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;margin-top:.6rem;padding-top:1.2rem;border-top:1px solid rgba(234,214,164,.18)}

/* post cards */
.post-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.4rem}
.post-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.post-card{position:relative;display:flex;flex-direction:column;background-color:var(--white);border:1px solid var(--sand-300);border-radius:var(--radius-lg);overflow:hidden;transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s var(--ease)}
.post-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lift);border-color:var(--gold-500)}
.post-card__media{position:relative;display:block;aspect-ratio:16/10;overflow:hidden;background:var(--green-800)}
.post-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}
.post-card:hover .post-card__media img{transform:scale(1.07)}
.post-card__media .post-tag{position:absolute;left:1rem;top:1rem;z-index:1}
.post-card__body{display:flex;flex-direction:column;gap:.7rem;padding:1.3rem 1.4rem 1.45rem;flex:1}
.post-card h3{font-size:clamp(1.15rem,1.6vw,1.36rem);line-height:1.25;color:var(--green-900)}
.post-card h3 a{background-image:linear-gradient(var(--gold-500),var(--gold-500));background-size:0 2px;background-position:0 100%;background-repeat:no-repeat;transition:background-size .45s var(--ease)}
.post-card:hover h3 a{background-size:100% 2px}
.post-card p{font-size:.9rem;color:var(--ink-600);line-height:1.6}
.post-card__more{margin-top:auto;padding-top:.3rem;display:inline-flex;align-items:center;gap:.5rem;width:max-content;font-size:.86rem;font-weight:700;color:var(--green-800)}
.post-card__more svg{width:16px;height:16px;color:var(--gold-500);transition:transform .3s var(--ease)}
.post-card:hover .post-card__more svg{transform:translateX(5px)}
.post-card[hidden]{display:none}
.blog-empty{display:none;text-align:center;padding:2.6rem 1.4rem;border:1px dashed var(--sand-300);border-radius:var(--radius-lg);color:var(--ink-600)}
.blog-empty.is-shown{display:block}
.blog-empty strong{display:block;font:600 1.3rem var(--font-display);color:var(--green-900);margin-bottom:.35rem}

/* listing layout: posts + sidebar */
.blog-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:clamp(1.8rem,4vw,3rem);align-items:start}
.blog-side{position:sticky;top:calc(var(--header-h) + 1.5rem);display:grid;gap:1.2rem}
.side-card{background-color:var(--white);border:1px solid var(--sand-300);border-radius:var(--radius-lg);padding:1.4rem}
.side-card h3{display:flex;align-items:center;gap:.6rem;margin-bottom:.9rem;font-family:var(--font-body);font-size:.76rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--brown-700)}
.side-card h3::before{content:"";width:22px;height:2px;border-radius:2px;background:var(--gold-500)}
.side-cats{display:grid;list-style:none}
.side-cats a{display:flex;align-items:center;justify-content:space-between;gap:.6rem;min-height:44px;padding:.55rem 0;border-bottom:1px solid var(--sand-300);font-size:.92rem;font-weight:600;color:var(--green-900);transition:color .2s var(--ease),padding .3s var(--ease)}
.side-cats li:last-child a{border-bottom:0}
.side-cats a:hover,.side-cats a[aria-current="page"]{color:#875F1C;padding-left:.45rem}
.side-cats b{font-size:.72rem;color:var(--brown-700);background:var(--cream-100);border-radius:999px;padding:.15rem .55rem}
.side-recent{display:grid;gap:.95rem;list-style:none}
.side-recent a{display:grid;grid-template-columns:76px 1fr;gap:.85rem;align-items:center}
.side-recent img{width:76px;height:62px;object-fit:cover;border-radius:10px;transition:transform .4s var(--ease)}
.side-recent a:hover img{transform:scale(1.06)}
.side-recent strong{display:block;font:600 .93rem/1.3 var(--font-display);color:var(--green-900);transition:color .2s var(--ease)}
.side-recent a:hover strong{color:#875F1C}
.side-recent small{display:block;margin-top:.2rem;font-size:.74rem;color:var(--ink-600)}
.side-cta{position:relative;isolation:isolate;overflow:hidden;background:var(--green-950);color:var(--cream-50);border-radius:var(--radius-lg);padding:1.6rem 1.4rem}
.side-cta::before{content:"";position:absolute;inset:0;z-index:-1;background-image:radial-gradient(rgba(234,214,164,.09) 1px,transparent 1.2px);background-size:22px 22px}
.side-cta::after{content:"";position:absolute;z-index:-1;width:260px;height:260px;right:-110px;top:-110px;border-radius:50%;background:radial-gradient(circle,rgba(194,149,60,.3),transparent 65%)}
.side-cta .eartag{color:var(--gold-400);margin-bottom:.7rem}
.side-cta h3{font-size:1.4rem;line-height:1.2;color:var(--cream-50);margin-bottom:.5rem}
.side-cta p{font-size:.88rem;color:rgba(248,244,233,.8);margin-bottom:1.1rem}
.side-cta .btn{width:100%}
.side-social{display:flex;flex-wrap:wrap;gap:.55rem}
.side-social a{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;color:#fff;transition:transform .25s var(--ease),box-shadow .25s var(--ease)}
.side-social a:hover{transform:translateY(-3px);box-shadow:0 8px 18px rgba(15,36,26,.2)}
.side-social svg{width:19px;height:19px}
.side-social .is-yt{background:#E52D27}
.side-social .is-ig{background:linear-gradient(45deg,#F58529,#DD2A7B,#8134AF)}
.side-social .is-tt{background:#161616}
.side-social .is-li{background:#0A66C2}

/* pagination */
.pager{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.45rem;margin-top:clamp(2rem,4vw,2.8rem)}
.pager a,.pager span{min-width:44px;height:44px;padding:0 .95rem;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;gap:.45rem;font-weight:600;font-size:.9rem;color:var(--green-900);background:var(--white);border:1px solid var(--sand-300);transition:border-color .25s var(--ease),transform .25s var(--ease),background .25s var(--ease)}
.pager a:hover{border-color:var(--gold-500);transform:translateY(-2px)}
.pager [aria-current="page"]{background:var(--green-900);border-color:var(--green-900);color:var(--cream-50)}
.pager svg{width:16px;height:16px;color:var(--gold-500)}
.pager .is-prev svg{transform:rotate(180deg)}
.pager .is-disabled{opacity:.5}

/* category hero stats */
.cat-stats{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.7rem;list-style:none}
.cat-stats li{display:inline-flex;align-items:center;gap:.5rem;font-size:.84rem;color:var(--gold-200);background:rgba(248,244,233,.06);border:1px solid rgba(234,214,164,.22);padding:.5rem .95rem;border-radius:999px}
.cat-stats svg{width:15px;height:15px;color:var(--gold-400)}
@media (prefers-reduced-motion:no-preference){
  .page-hero .cat-stats,.page-hero .faq-hero-search{opacity:0;transform:translateY(18px);animation:heroFade .8s var(--ease) .7s forwards}
}

/* ---------- single article ---------- */
.read-progress{position:fixed;left:0;top:0;z-index:160;width:100%;height:3px;pointer-events:none;transform-origin:0 50%;transform:scaleX(var(--read,0));background:linear-gradient(90deg,var(--gold-500),var(--gold-200));box-shadow:0 0 12px rgba(194,149,60,.6)}
.post-hero{padding-block:clamp(3.2rem,7vw,5rem) clamp(8.5rem,15vw,11.5rem)}
.post-hero .container{position:relative;z-index:1;max-width:1000px}
.post-hero h1{font-size:clamp(2.1rem,4.6vw,3.6rem);line-height:1.08;letter-spacing:-.02em;color:var(--cream-50);margin:1.1rem 0 1.1rem;max-width:900px}
.post-hero h1 em{font-style:italic;font-weight:600;background-image:linear-gradient(100deg,var(--gold-400) 20%,#F7E6B4 46%,var(--gold-400) 72%);background-size:230% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;padding:0 .16em 0 .05em;margin:0 -.16em 0 -.05em}
.post-hero__lede{max-width:720px;font-size:clamp(1.02rem,1.4vw,1.18rem);color:rgba(248,244,233,.86)}
.post-hero__meta{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.8rem;margin-top:1.9rem;padding-top:1.4rem;border-top:1px solid rgba(234,214,164,.18)}
.post-hero .post-meta{color:var(--gold-200)}
.post-hero .author-chip strong{color:var(--cream-50)}
.post-hero .author-chip small{color:var(--gold-200)}
.post-cover{position:relative;z-index:2;margin-top:calc(clamp(8.5rem,15vw,11.5rem) * -1 + 2.5rem)}
.post-cover figure{max-width:1120px;margin-inline:auto}
.post-cover__frame{position:relative;overflow:hidden;border-radius:var(--radius-lg);border:6px solid var(--white);box-shadow:var(--shadow-lift);aspect-ratio:21/9;background:var(--green-800)}
.post-cover__frame img{width:100%;height:100%;object-fit:cover}
.post-cover figcaption{display:flex;align-items:center;gap:.55rem;margin-top:.8rem;font-size:.84rem;color:var(--ink-600)}
.post-cover figcaption::before{content:"";width:22px;height:2px;background:var(--gold-500)}
@media (prefers-reduced-motion:no-preference){
  .post-hero .crumbs,.post-hero .post-tag,.post-hero h1,.post-hero__lede,.post-hero__meta{opacity:0;transform:translateY(18px);animation:heroFade .8s var(--ease) forwards}
  .post-hero .crumbs{animation-delay:.05s}.post-hero .post-tag{animation-delay:.15s}.post-hero h1{animation-delay:.25s}.post-hero__lede{animation-delay:.4s}.post-hero__meta{animation-delay:.55s}
  .post-hero h1 em{animation:emShine 6s linear infinite}
  .post-cover__frame{animation:coverWipe 1.25s cubic-bezier(.77,0,.18,1) .35s both}
  .post-cover__frame img{animation:heroSettle 1.8s var(--ease) .6s both}
  @keyframes coverWipe{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0 0 0 0)}}
}

.post-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:clamp(2rem,5vw,4.2rem);align-items:start;max-width:1120px;margin-inline:auto}
.post-aside{position:sticky;top:calc(var(--header-h) + 1.5rem);display:grid;gap:1.6rem}
.post-aside__label{display:block;margin-bottom:.8rem;font-size:.74rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--brown-700)}
.post-toc ol{list-style:none;display:grid;border-left:2px solid var(--sand-300)}
.post-toc a{display:block;padding:.5rem 0 .5rem 1rem;margin-left:-2px;border-left:2px solid transparent;font-size:.87rem;line-height:1.4;color:var(--ink-600);transition:color .2s var(--ease),border-color .2s var(--ease),padding .3s var(--ease)}
.post-toc a:hover{color:var(--green-900);padding-left:1.25rem}
.post-toc a[aria-current="true"]{color:var(--green-900);font-weight:600;border-left-color:var(--gold-500)}
.post-share{display:flex;flex-wrap:wrap;gap:.5rem}
.post-share a{width:44px;height:44px;border-radius:50%;border:1px solid var(--sand-300);background:var(--white);display:grid;place-items:center;color:var(--green-900);transition:background .25s var(--ease),border-color .25s var(--ease),color .25s var(--ease),transform .25s var(--ease)}
.post-share a:hover{background:var(--gold-500);border-color:var(--gold-500);color:var(--green-950);transform:translateY(-2px)}
.post-share svg{width:17px;height:17px}

.prose{font-size:1.06rem;line-height:1.8;color:#3A372F;min-width:0}
.prose > * + *{margin-top:1.15rem}
.prose h2{font-size:clamp(1.5rem,2.4vw,1.95rem);color:var(--green-900);margin-top:2.7rem;scroll-margin-top:calc(var(--header-h) + 1.5rem)}
.prose h3{font-size:1.25rem;color:var(--green-900);margin-top:1.8rem}
.prose strong{color:var(--green-900)}
.prose a{color:var(--green-800);font-weight:600;text-decoration:underline;text-decoration-color:var(--gold-500);text-underline-offset:3px}
.prose .lead{font-family:var(--font-display);font-size:clamp(1.16rem,1.7vw,1.36rem);line-height:1.6;color:var(--green-900)}
.prose .lead::first-letter{float:left;font:600 4.4rem/.85 var(--font-display);color:var(--gold-500);margin:.4rem .65rem 0 0}
.prose ul{list-style:none;display:grid;gap:.6rem}
.prose ul li{position:relative;padding-left:1.7rem}
.prose ul li::before{content:"";position:absolute;left:0;top:.68em;width:9px;height:9px;border-radius:50%;background:var(--gold-500);box-shadow:0 0 0 4px rgba(194,149,60,.18)}
.prose blockquote{margin-block:2.2rem;padding-left:1.4rem;border-left:3px solid var(--gold-500);font:500 clamp(1.2rem,2vw,1.5rem)/1.5 var(--font-display);color:var(--green-900)}
.prose blockquote cite{display:block;margin-top:.8rem;font:700 .74rem/1 var(--font-body);font-style:normal;letter-spacing:.16em;text-transform:uppercase;color:var(--brown-700)}
.prose figure{margin-block:2.2rem}
.prose figure img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:var(--radius-lg);box-shadow:var(--shadow-soft)}
.prose figcaption{display:flex;align-items:center;gap:.55rem;margin-top:.75rem;font-size:.84rem;color:var(--ink-600)}
.prose figcaption::before{content:"";width:22px;height:2px;flex:none;background:var(--gold-500)}
.prose-steps{list-style:none;display:grid;gap:.85rem;counter-reset:ps;margin-block:1.7rem}
.prose-steps li{counter-increment:ps;display:grid;grid-template-columns:46px 1fr;gap:1rem;align-items:start;background-color:var(--white);border:1px solid var(--sand-300);border-radius:var(--radius);padding:1rem 1.2rem;transition:transform .3s var(--ease),border-color .3s var(--ease)}
.prose-steps li:hover{transform:translateX(6px);border-color:var(--gold-500)}
.prose-steps li::before{content:counter(ps,decimal-leading-zero);width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:var(--green-900);color:var(--gold-400);font:600 1rem var(--font-display);box-shadow:0 0 0 4px rgba(194,149,60,.16)}
.prose-steps strong{display:block;font-size:1rem;margin-bottom:.15rem}
.prose-steps span{display:block;font-size:.93rem;line-height:1.6;color:var(--ink-600)}
.takeaways{position:relative;isolation:isolate;overflow:hidden;margin-block:2.4rem;background:var(--green-950);color:var(--cream-50);border-radius:var(--radius-lg);padding:clamp(1.5rem,3vw,2.2rem)}
.takeaways::before{content:"";position:absolute;inset:0;z-index:-1;background-image:radial-gradient(rgba(234,214,164,.09) 1px,transparent 1.2px);background-size:22px 22px}
.takeaways .eartag{color:var(--gold-400);margin-bottom:.6rem}
.takeaways h3{margin:0 0 1rem;font-size:1.45rem;color:var(--cream-50)}
.prose .takeaways ul{grid-template-columns:1fr 1fr;gap:.7rem 1.4rem}
.prose .takeaways li{padding-left:0;display:flex;gap:.6rem;align-items:flex-start;font-size:.95rem;line-height:1.55;color:rgba(248,244,233,.88)}
.prose .takeaways li::before{content:none}
.takeaways li svg{width:18px;height:18px;flex:none;margin-top:.2rem;color:var(--gold-400)}
.post-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;margin-top:2.6rem;padding-top:1.6rem;border-top:1px solid var(--sand-300)}
.post-tags{display:flex;flex-wrap:wrap;gap:.45rem;list-style:none}
.post-tags a{display:inline-flex;align-items:center;min-height:36px;font-size:.8rem;font-weight:600;color:var(--green-900);background:var(--white);border:1px solid var(--sand-300);padding:.35rem .85rem;border-radius:999px;transition:border-color .2s var(--ease)}
.post-tags a::before{content:"#";color:var(--gold-500);margin-right:.15rem}
.post-tags a:hover{border-color:var(--gold-500)}
.author-box{position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:120px 1fr;gap:1.6rem;align-items:center;margin-top:2.4rem;background:linear-gradient(150deg,var(--green-900),var(--green-950));color:var(--cream-50);border-radius:var(--radius-lg);padding:1.6rem 1.8rem}
.author-box::before{content:"";position:absolute;inset:0;z-index:-1;background-image:radial-gradient(rgba(234,214,164,.09) 1px,transparent 1.2px);background-size:22px 22px}
.author-box img{width:120px;height:146px;object-fit:cover;object-position:center 20%;border-radius:999px 999px var(--radius) var(--radius);border:3px solid var(--gold-500)}
.author-box small{font-size:.7rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-400)}
.author-box h3{margin:.25rem 0 .45rem;font-size:1.55rem;color:var(--cream-50)}
.author-box p{margin-bottom:1rem;font-size:.92rem;color:rgba(248,244,233,.82)}
.post-nav{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:2.4rem}
.post-nav a{display:flex;flex-direction:column;gap:.4rem;background-color:var(--white);border:1px solid var(--sand-300);border-radius:var(--radius-lg);padding:1.2rem 1.4rem;transition:border-color .3s var(--ease),transform .3s var(--ease),box-shadow .3s var(--ease)}
.post-nav a:hover{border-color:var(--gold-500);transform:translateY(-3px);box-shadow:var(--shadow-soft)}
.post-nav small{display:inline-flex;align-items:center;gap:.45rem;font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--brown-700)}
.post-nav small svg{width:14px;height:14px;color:var(--gold-500)}
.post-nav strong{font:600 1.08rem/1.3 var(--font-display);color:var(--green-900)}
.post-nav a:first-child small svg{transform:rotate(180deg)}
.post-nav a:last-child{text-align:right;align-items:flex-end}

/* ---------- FAQ page ---------- */
.faq-hero-search{position:relative;max-width:580px;margin-top:1.9rem}
.faq-hero-search svg{position:absolute;left:1.15rem;top:50%;translate:0 -50%;width:19px;height:19px;color:var(--gold-500);pointer-events:none}
.faq-hero-search input{width:100%;min-height:56px;font:inherit;font-size:1rem;color:var(--ink-900);background:var(--cream-50);border:2px solid transparent;border-radius:999px;padding:.9rem 1.3rem .9rem 3.1rem;box-shadow:0 18px 40px rgba(0,0,0,.28);transition:border-color .2s var(--ease),box-shadow .2s var(--ease)}
.faq-hero-search input::placeholder{color:#7A7466}
.faq-hero-search input:focus{outline:none;border-color:var(--gold-500);box-shadow:0 0 0 5px rgba(194,149,60,.28),0 18px 40px rgba(0,0,0,.28)}
.faq-page{display:grid;grid-template-columns:290px minmax(0,1fr);gap:clamp(2rem,5vw,4rem);align-items:start}
.faq-nav{position:sticky;top:calc(var(--header-h) + 1.5rem);display:grid;gap:1.2rem}
.faq-topics{display:grid;gap:.4rem;list-style:none}
.faq-topics a{display:flex;align-items:center;gap:.75rem;min-height:52px;padding:.6rem .85rem;border-radius:14px;border:1px solid transparent;font-weight:600;font-size:.92rem;color:var(--green-900);transition:background .25s var(--ease),border-color .25s var(--ease),transform .25s var(--ease),box-shadow .25s var(--ease)}
.faq-topics a:hover{background:var(--white);border-color:var(--sand-300);transform:translateX(4px)}
.faq-topics a[aria-current="true"]{background:var(--white);border-color:var(--gold-500);box-shadow:var(--shadow-soft)}
.faq-topics__ico{width:36px;height:36px;flex:none;border-radius:50%;display:grid;place-items:center;background:var(--green-900);color:var(--gold-400);transition:background .25s var(--ease),color .25s var(--ease)}
.faq-topics a[aria-current="true"] .faq-topics__ico{background:var(--gold-500);color:var(--green-950)}
.faq-topics__ico svg{width:17px;height:17px}
.faq-topics b{margin-left:auto;font-size:.72rem;color:var(--brown-700);background:var(--cream-100);border-radius:999px;padding:.15rem .55rem}
.faq-groups{display:grid;gap:clamp(2.6rem,5vw,3.6rem)}
.faq-group{scroll-margin-top:calc(var(--header-h) + 1.5rem)}
.faq-group__head{margin-bottom:1.2rem}
.faq-group__head .eartag{margin-bottom:.55rem}
.faq-group__head h2{font-size:clamp(1.55rem,2.5vw,2.05rem)}
.faq-group .faq__list{gap:.7rem}
.faq-group[hidden],.faq-item[hidden]{display:none}
.faq-item p + p{margin-top:-.45rem}
.faq-item p strong{color:var(--green-900)}
@media (prefers-reduced-motion:no-preference){
  .faq-item[open] > p{animation:faqIn .45s var(--ease) both}
  @keyframes faqIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
}
.help-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}

/* home: "from the farm journal" teaser */
.journal__more{display:flex;justify-content:center;margin-top:2.2rem}

/* ---------- responsive ---------- */
@media (max-width:1120px){
  .blog-layout{grid-template-columns:minmax(0,1fr) 290px}
  .post-grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:980px){
  .blog-layout,.faq-page,.post-layout{grid-template-columns:1fr}
  .blog-side,.faq-nav,.post-aside{position:static}
  .post-feature{grid-template-columns:1fr}
  .post-feature__media{min-height:0;aspect-ratio:16/10;clip-path:polygon(0 0,100% 0,100% 92%,0 100%)}
  .post-feature__body{padding:1.4rem var(--gutter) 2rem}
  .help-strip{grid-template-columns:1fr}
  .faq-topics{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:720px){
  .post-grid,.post-grid--3{grid-template-columns:1fr}
  .prose .takeaways ul{grid-template-columns:1fr}
  .author-box{grid-template-columns:1fr}
  .post-nav{grid-template-columns:1fr}
  .post-nav a:last-child{text-align:left;align-items:flex-start}
  .blog-bar{flex-direction:column;align-items:stretch}
  .blog-cats{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:.3rem;margin-inline:calc(var(--gutter) * -1);padding-inline:var(--gutter)}
  .blog-cats a{white-space:nowrap}
  .blog-search{flex-basis:auto}
  .faq-topics{grid-template-columns:1fr}
  .map-card__info{flex-direction:column;align-items:flex-start}
  .post-cover__frame{aspect-ratio:4/3}
}
@media print{.lsdf-js .reveal{opacity:1!important;transform:none!important}.chat-widget,.read-progress{display:none}}

/* ---------- header WhatsApp button (v2) — deep green pill, cream text, gold icon chip.
   Replaces the gold "WhatsApp Us" pill whose dark-on-gold label read poorly. ---------- */
.header-wa{position:relative;isolation:isolate;overflow:hidden;display:inline-flex;align-items:center;gap:.7rem;min-height:50px;padding:.32rem 1.15rem .32rem .32rem;border-radius:999px;background:linear-gradient(150deg,var(--green-800),var(--green-950));color:var(--cream-50);border:1px solid rgba(194,149,60,.6);box-shadow:0 10px 24px rgba(15,36,26,.22);transition:transform .25s var(--ease),box-shadow .25s var(--ease),border-color .25s var(--ease)}
.header-wa:hover{transform:translateY(-2px);border-color:var(--gold-400);box-shadow:0 16px 32px rgba(15,36,26,.3);color:var(--cream-50)}
.header-wa:active{transform:translateY(0)}
.header-wa::after{content:"";position:absolute;top:0;left:-70%;width:45%;height:100%;z-index:-1;pointer-events:none;background:linear-gradient(100deg,transparent,rgba(247,230,180,.22),transparent);transform:skewX(-18deg);transition:left .6s var(--ease)}
.header-wa:hover::after{left:130%}
.header-wa__ico{position:relative;width:40px;height:40px;flex:none;border-radius:50%;display:grid;place-items:center;background:var(--gold-500);color:var(--green-950);transition:transform .45s var(--ease),background .25s var(--ease)}
.header-wa__ico svg{width:20px;height:20px}
.header-wa:hover .header-wa__ico{transform:rotate(-12deg) scale(1.06);background:var(--gold-400)}
.header-wa__text{display:flex;flex-direction:column;gap:.1rem;line-height:1.1}
.header-wa__text small{font-size:.64rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-200)}
.header-wa__text strong{font-size:.96rem;font-weight:700;letter-spacing:.015em;color:var(--cream-50);white-space:nowrap}
.nav-mobile .header-wa{margin-top:1.6rem;width:100%;background:rgba(248,244,233,.07);box-shadow:none}
.nav-mobile .header-wa .header-wa__text{display:flex}
@media (prefers-reduced-motion:no-preference){
  .header-wa__ico::before{content:"";position:absolute;inset:0;border-radius:50%;box-shadow:0 0 0 0 rgba(194,149,60,.55);animation:fabPulse 2.6s infinite}
}
/* more pages in the menu → tighter desktop nav, hamburger a little earlier */
.nav-desktop{gap:1.25rem}
@media (max-width:1180px){
  .nav-desktop{display:none}
  .nav-toggle{display:inline-flex}
}
@media (max-width:560px){
  .site-header .header-wa{padding:.3rem}
  .site-header .header-wa__text{display:none}
}
.header-cta{gap:.7rem}

/* link group used next to existing buttons on Home */
.btn-row{display:flex;flex-wrap:wrap;gap:.8rem;align-items:center}

/* 404 */
.nf-code{display:block;font:600 clamp(6rem,16vw,11rem)/.9 var(--font-display);letter-spacing:-.04em;background-image:linear-gradient(100deg,var(--gold-400) 20%,#F7E6B4 46%,var(--gold-400) 72%);background-size:230% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;margin-bottom:.6rem}
@media (prefers-reduced-motion:no-preference){
  .page-hero .nf-code{opacity:0;transform:translateY(18px);animation:heroFade .9s var(--ease) .1s forwards,emShine 6s linear 1s infinite}
}
.nf-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
@media (max-width:980px){.nf-links{grid-template-columns:1fr 1fr}}
@media (max-width:720px){.nf-links{grid-template-columns:1fr}}
.faq-empty{display:none;text-align:center;padding:2.6rem 1.4rem;border:1px dashed var(--sand-300);border-radius:var(--radius-lg);color:var(--ink-600)}
.faq-empty.is-shown{display:block}
.faq-empty strong{display:block;font:600 1.3rem var(--font-display);color:var(--green-900);margin-bottom:.35rem}

/* ---------- v3: SEO pages — footer gets a Services column; glossary cards ---------- */
.footer__main{grid-template-columns:1.35fr .9fr 1.05fr .95fr 1.25fr;gap:2.2rem}
@media (max-width:1120px){
  .footer__main{grid-template-columns:repeat(3,minmax(0,1fr))}
  .footer__brand{grid-column:1/-1}
  .footer__col--contact{grid-column:auto;max-width:none}
}
@media (max-width:720px){.footer__main{grid-template-columns:1fr}}
.gloss-letters{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none}
.gloss-letters a{min-width:44px;height:44px;display:grid;place-items:center;border-radius:12px;font:600 1.05rem var(--font-display);color:var(--green-900);background:var(--white);border:1px solid var(--sand-300);transition:background .25s var(--ease),color .25s var(--ease),border-color .25s var(--ease),transform .25s var(--ease)}
.gloss-letters a:hover{border-color:var(--gold-500);transform:translateY(-2px)}
.gloss-letters a[aria-current="true"]{background:var(--green-900);border-color:var(--green-900);color:var(--gold-400)}
.gloss-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.gloss-item{position:relative;background-color:var(--white);border:1px solid var(--sand-300);border-radius:var(--radius-lg);padding:1.3rem 1.4rem;transition:transform .3s var(--ease),border-color .3s var(--ease),box-shadow .3s var(--ease)}
.gloss-item:hover{transform:translateY(-4px);border-color:var(--gold-500);box-shadow:var(--shadow-soft)}
.gloss-item dt{font:600 1.22rem/1.25 var(--font-display);color:var(--green-900);margin-bottom:.4rem;display:flex;align-items:baseline;gap:.6rem;flex-wrap:wrap}
.gloss-item dt small{font:700 .66rem/1 var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--brown-700)}
.gloss-item dd{font-size:.92rem;line-height:1.65;color:var(--ink-600)}
.gloss-item dd a{color:var(--green-800);font-weight:600;text-decoration:underline;text-decoration-color:var(--gold-500);text-underline-offset:3px}
.gloss-item[hidden]{display:none}
@media (max-width:720px){.gloss-grid{grid-template-columns:1fr}}
.sitemap-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem}
.sitemap-col{background-color:var(--white);border:1px solid var(--sand-300);border-radius:var(--radius-lg);padding:1.5rem 1.5rem 1.3rem}
.sitemap-col h2{display:flex;align-items:center;gap:.7rem;font-size:1.3rem;color:var(--green-900);margin-bottom:.9rem}
.sitemap-col h2 svg{width:20px;height:20px;color:var(--gold-500)}
.sitemap-col ul{list-style:none;display:grid}
.sitemap-col li a{display:flex;align-items:center;justify-content:space-between;gap:.6rem;min-height:44px;padding:.45rem 0;border-bottom:1px solid var(--sand-300);font-size:.93rem;font-weight:600;color:var(--green-900);transition:color .2s var(--ease),padding .3s var(--ease)}
.sitemap-col li:last-child a{border-bottom:0}
.sitemap-col li a:hover{color:#875F1C;padding-left:.4rem}
.sitemap-col li a svg{width:15px;height:15px;color:var(--gold-500);flex:none}
.sitemap-col li a small{display:block;font-size:.76rem;font-weight:500;color:var(--ink-600)}
@media (max-width:1120px){.sitemap-grid{grid-template-columns:1fr 1fr}}
@media (max-width:720px){.sitemap-grid{grid-template-columns:1fr}}
.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem}
@media (max-width:1120px){.service-grid{grid-template-columns:1fr 1fr}}
@media (max-width:720px){.service-grid{grid-template-columns:1fr}}
.link-more{display:inline-flex;align-items:center;gap:.5rem;margin-top:.9rem;font-size:.86rem;font-weight:700;color:var(--green-800)}
.link-more svg{width:16px;height:16px;color:var(--gold-500);transition:transform .3s var(--ease)}
.link-more:hover svg,.bm-card:hover .link-more svg{transform:translateX(5px)}

/* hover lift returns once a card's reveal has finished (.done) */
.lsdf-js .reveal.reveal.is-visible.done.post-card:hover,.reveal.done.post-card:hover,
.lsdf-js .reveal.reveal.is-visible.done.bm-card:hover,.reveal.done.bm-card:hover,
.lsdf-js .reveal.reveal.is-visible.done.crew-card:hover,.reveal.done.crew-card:hover{transform:translateY(-6px)}
.lsdf-js .reveal.reveal.is-visible.done.lv-card:hover,.reveal.done.lv-card:hover{transform:translateY(-5px)}
.lsdf-js .reveal.reveal.is-visible.done.buyer-card:hover,.reveal.done.buyer-card:hover{transform:translateY(-8px)}
.lsdf-js .reveal.reveal.is-visible.done.dm-card:hover,.reveal.done.dm-card:hover,
.lsdf-js .reveal.reveal.is-visible.done.mon-card:hover,.reveal.done.mon-card:hover,
.lsdf-js .reveal.reveal.is-visible.done.gloss-item:hover,.reveal.done.gloss-item:hover{transform:translateY(-4px)}
.lsdf-js .reveal.reveal.is-visible.done.channel-card:hover,.reveal.done.channel-card:hover{transform:translateX(5px)}

/* ============================================================
   v4 — logo-only brand + "Our Farm" mega dropdown
============================================================ */
/* brand: the vector logo alone (no separate name text) */
.brand--logo{flex:none;display:inline-flex;align-items:center}
.brand__img{display:block;height:58px;width:auto;transition:height .35s var(--ease),transform .35s var(--ease)}
.brand--logo:hover .brand__img{transform:scale(1.03)}
.site-header.is-scrolled .brand__img{height:50px}
.footer__logo{display:block;height:64px;width:auto}
.nav-mobile__logo{display:block;height:44px;width:auto}
.chat-panel__head img{padding:4px}
.hero__badge img{padding:6px}
@media (max-width:720px){.brand__img{height:46px}.site-header.is-scrolled .brand__img{height:42px}}
@media (max-width:380px){.brand__img{height:40px}}

/* desktop nav: 5 main links + one dropdown */
.site-header__inner{position:relative}
.nav-desktop{gap:1.9rem;align-self:stretch}
.nav-drop{display:flex;align-items:center;align-self:stretch}
.nav-drop__btn{position:relative;display:inline-flex;align-items:center;gap:.35rem;padding:.4rem 0;font-weight:500;font-size:.93rem;color:var(--ink-900);background:none;border:0;cursor:pointer}
.nav-drop__btn::after{content:"";position:absolute;left:0;bottom:-2px;height:2px;width:0;background:var(--gold-500);transition:width .25s var(--ease)}
.nav-drop:hover .nav-drop__btn::after,.nav-drop.is-open .nav-drop__btn::after,.nav-drop__btn.is-current::after{width:100%}
.nav-drop__chev{width:15px;height:15px;color:var(--gold-500);transition:transform .3s var(--ease)}
.nav-drop:hover .nav-drop__chev,.nav-drop:focus-within .nav-drop__chev,.nav-drop.is-open .nav-drop__chev{transform:rotate(180deg)}
.nav-drop__panel{position:absolute;top:100%;left:var(--gutter);right:var(--gutter);z-index:5;padding-top:.2rem;opacity:0;visibility:hidden;transform:translateY(10px);pointer-events:none;transition:opacity .28s var(--ease),transform .32s var(--ease),visibility 0s linear .32s}
.nav-drop:hover .nav-drop__panel,.nav-drop:focus-within .nav-drop__panel,.nav-drop.is-open .nav-drop__panel{opacity:1;visibility:visible;transform:none;pointer-events:auto;transition:opacity .28s var(--ease),transform .32s var(--ease),visibility 0s}
.nav-drop__inner{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) 270px;gap:1.4rem;padding:1.5rem;background:var(--cream-50);border:1px solid var(--sand-300);border-radius:var(--radius-lg);box-shadow:0 30px 70px rgba(15,36,26,.22)}
.nav-drop__col{display:flex;flex-direction:column;gap:.2rem}
.nav-drop__label{display:flex;align-items:center;gap:.55rem;margin:0 0 .5rem .7rem;font-size:.68rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--brown-700)}
.nav-drop__label::before{content:"";width:18px;height:2px;border-radius:2px;background:var(--gold-500)}
.nav-desktop .nav-drop__link{display:flex;align-items:center;gap:.8rem;padding:.6rem .7rem;border-radius:12px;font-size:inherit;transition:background .25s var(--ease),transform .25s var(--ease)}
.nav-desktop .nav-drop__link::after,.nav-desktop .nav-drop__feature::after{content:none}
.nav-desktop .nav-drop .nav-drop__col > .nav-drop__link:hover,.nav-desktop .nav-drop .nav-drop__col > .nav-drop__link[aria-current="page"]{background:var(--white);transform:translateX(4px);transition-delay:0s}
.nav-drop__ico{width:38px;height:38px;flex:none;border-radius:50%;display:grid;place-items:center;background:var(--green-900);color:var(--gold-400);transition:background .25s var(--ease),color .25s var(--ease)}
.nav-drop__ico svg{width:18px;height:18px}
.nav-drop__link:hover .nav-drop__ico,.nav-drop__link[aria-current="page"] .nav-drop__ico{background:var(--gold-500);color:var(--green-950)}
.nav-drop__link strong{display:block;font-size:.93rem;font-weight:600;line-height:1.25;color:var(--green-900)}
.nav-drop__link small{display:block;font-size:.76rem;line-height:1.35;color:var(--ink-600)}
.nav-desktop .nav-drop__feature{position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;gap:.3rem;min-height:250px;padding:1.2rem;border-radius:16px;color:var(--cream-50)}
.nav-drop__feature img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.nav-drop__feature::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(15,36,26,.1) 30%,rgba(15,36,26,.92))}
.nav-drop__feature:hover img{transform:scale(1.06)}
.nav-drop__feature small{font-size:.66rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-400)}
.nav-drop__feature strong{font:600 1.2rem/1.2 var(--font-display);color:var(--cream-50)}
.nav-drop__feature span{display:inline-flex;align-items:center;gap:.4rem;font-size:.82rem;color:var(--gold-200)}
.nav-drop__feature span svg{width:15px;height:15px;transition:transform .3s var(--ease)}
.nav-drop__feature:hover span svg{transform:translateX(4px)}
@media (prefers-reduced-motion:no-preference){
  .nav-drop__col > *{opacity:0;transform:translateY(8px);transition:opacity .35s var(--ease),transform .4s var(--ease)}
  .nav-drop:hover .nav-drop__col > *,.nav-drop:focus-within .nav-drop__col > *,.nav-drop.is-open .nav-drop__col > *{opacity:1;transform:none}
  .nav-drop__col > :nth-child(2){transition-delay:.04s}.nav-drop__col > :nth-child(3){transition-delay:.08s}
  .nav-drop__col > :nth-child(4){transition-delay:.12s}.nav-drop__col > :nth-child(5){transition-delay:.16s}
}
@media (max-width:1180px){.nav-drop__inner{grid-template-columns:repeat(3,minmax(0,1fr))}.nav-drop__feature{display:none}}

/* mobile menu: the same pages folded into one "Our Farm" group */
.nav-mobile__group{border-bottom:1px solid rgba(234,214,164,.16)}
.nav-mobile__group summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:.95rem .2rem;font-size:1.06rem;font-weight:500;color:var(--cream-50)}
.nav-mobile__group summary::-webkit-details-marker{display:none}
.nav-mobile__group summary::after{content:"+";width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-size:1.1rem;line-height:1;background:rgba(194,149,60,.18);color:var(--gold-400);transition:transform .3s var(--ease)}
.nav-mobile__group[open] summary::after{transform:rotate(45deg)}
.nav-mobile__group summary:hover{color:var(--gold-400)}
.nav-mobile__sub{display:grid;padding:0 0 .8rem .9rem;border-left:2px solid rgba(194,149,60,.45);margin:0 0 .6rem .3rem}
.nav-mobile__sub small{display:block;margin:.7rem 0 .2rem;font-size:.64rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-400)}
.nav-mobile nav .nav-mobile__sub a{padding:.55rem .2rem;font-size:.96rem;color:var(--gold-200);border-bottom:0}
.nav-mobile nav .nav-mobile__sub a:hover,.nav-mobile nav .nav-mobile__sub a[aria-current="page"]{color:var(--cream-50)}
@media (prefers-reduced-motion:no-preference){
  .nav-mobile__group[open] .nav-mobile__sub{animation:faqIn .4s var(--ease) both}
}

/* ---------- v5 fix: defensive — ensure dropdown and chat panels never leak ---------- */
.nav-drop__panel{opacity:0;visibility:hidden;pointer-events:none}
.nav-drop:hover .nav-drop__panel,.nav-drop:focus-within .nav-drop__panel,.nav-drop.is-open .nav-drop__panel{opacity:1;visibility:visible;pointer-events:auto}
.chat-panel[hidden],.nav-mobile[hidden],.nav-backdrop[hidden]{display:none!important}

/* ============================================================
   SITE FIXES — applied on top of the design canvas CSS
============================================================ */
/* About · Values: four equal cards in one row (the wide-card rule is for the homepage operations grid) */
.values .dm-card:nth-child(n){grid-column:auto}
.values .dm-card:nth-child(1):not(.spot){background-image:none}
.values .dm-card:nth-child(1).spot{background-image:radial-gradient(340px circle at var(--mx,-999px) var(--my,-999px),rgba(194,149,60,.2),transparent 62%)}
.values .dm-card:nth-child(1) h3{font-family:var(--font-body);font-size:1.05rem}
.values .dm-card:nth-child(1) .dm-card__ico{width:48px;height:48px}
/* Home · trust strip: keep the icon circles round (flex was squeezing them next to long titles) */
.trust__ico,.bm-card__ico,.dm-card__ico,.tr__ico{flex:none;aspect-ratio:1}
/* "Marhoom" badge after Abdul Latif's name */
.marhoom{display:inline-block;margin-left:.35em;padding:.18em .6em .14em;border-radius:999px;background:var(--gold-500);color:var(--green-950);font-family:var(--font-body);font-style:normal;font-size:max(.55em,11px);font-weight:700;letter-spacing:.08em;line-height:1.2;text-transform:uppercase;vertical-align:.3em;white-space:nowrap;box-shadow:0 0 0 3px rgba(194,149,60,.18)}
/* Videos placed in a photo slot from the admin (YouTube or uploaded MP4) */
.ls-video{display:block;position:relative;width:100%;height:100%;min-height:200px;overflow:hidden;background:#0F241A}
.ls-video{container-type:size}
/* cover the slot like a photo does (16:9 video cropped to the slot) */
.ls-video iframe{position:absolute;top:50%;left:50%;width:max(100%,177.78cqh);height:max(100%,56.25cqw);transform:translate(-50%,-50%);border:0}
/* background video: bigger still, so YouTube title and logo bars sit outside the frame; not clickable */
.ls-video--bg iframe{height:calc(max(100%,56.25cqw) * 1.35);width:calc(max(100%,177.78cqh) * 1.35);pointer-events:none}
video.ls-media{display:block;width:100%;height:100%;object-fit:cover;background:#0F241A}
.bp-video{margin:2.2rem 0}
.bp-video .ls-video{aspect-ratio:16/9;height:auto;border-radius:22px;box-shadow:0 18px 44px rgba(21,48,31,.16)}
.ls-vwrap{display:block;position:relative;width:100%;height:100%;min-height:200px;overflow:hidden;background:#0F241A}
.ls-vwrap video.ls-media{position:absolute;inset:0;width:100%;height:100%}
.ls-sound{position:absolute;right:14px;bottom:14px;z-index:3;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid rgba(234,214,164,.5);background:rgba(15,36,26,.72);color:#F8F4E9;cursor:pointer;backdrop-filter:blur(6px);transition:background .2s,transform .2s}
.ls-sound:hover{background:#C2953C;color:#0F241A;transform:scale(1.06)}
.ls-sound svg{width:20px;height:20px}
.ls-sound .ls-sound__on{display:none}
.ls-sound[aria-pressed="true"] .ls-sound__on{display:inline}
.ls-sound[aria-pressed="true"] .ls-sound__off{display:none}
/* background YouTube video: the slot's photo stays on top until the video really plays */
.ls-video__cover{position:absolute;inset:0;z-index:2;width:100%;height:100%;object-fit:cover;transition:opacity .7s ease;pointer-events:none}
.ls-video.is-playing .ls-video__cover{opacity:0}
/* "Find the farm" cards with the real Google Map (the map stays draggable; only the bottom strip is shaded) */
.map-card--live{display:flex;align-items:flex-end;color:var(--cream-50)}
.map-card--live > .map-card__map{position:absolute;inset:0;width:100%;height:100%;border:0;z-index:0}
.map-card--live::after{content:"";position:absolute;left:0;right:0;bottom:0;height:46%;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(15,36,26,0),rgba(15,36,26,.82) 55%,rgba(15,36,26,.96))}
.map-card--live .map-card__label{z-index:2}
.map-card--live .map-card__info{z-index:2;pointer-events:none}
.map-card--live .map-card__info a{pointer-events:auto}
.loc-panel__frame > .map-card__map{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
