/* Makena Agri - makenaagri.com
   Built to the live brand refresh: Caprasimo + Figtree, cream / sienna / olive.
   One accent (Sienna #8c491a). One radius (6px). Light theme with two dark bands. */

:root{
  --ink:#201e1d;
  --bark:#2e2b25;
  --cream:#fbf4e6;
  --cream-2:#f5ead8;
  --sand:#ece0c9;
  --rope:#e0d3ba;
  --sienna:#8c491a;
  --sienna-dk:#733a13;
  --ember:#c67139;
  --olive:#52603c;
  --sage:#8fa073;
  --stone:#6b6258;
  --stone-lt:#8b8073;
  --r:6px;
  --shell:1200px;
  --disp:"Caprasimo", Georgia, serif;
  --body:"Figtree", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
}

*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
body{
  margin:0; background:var(--cream); color:var(--ink);
  font-family:var(--body); font-size:17px; line-height:1.65;
  -webkit-font-smoothing:antialiased; overflow-x:hidden;
}
img{ max-width:100%; display:block; height:auto; }
a{ color:inherit; }
.shell{ width:100%; max-width:var(--shell); margin-inline:auto; padding-inline:24px; }

.skip{ position:absolute; left:-9999px; top:0; z-index:200; background:var(--sienna); color:#fff; padding:12px 18px; }
.skip:focus{ left:0; }
:where(a,button,input,select,textarea,[tabindex]):focus-visible{ outline:2px solid var(--sienna); outline-offset:3px; border-radius:3px; }

/* ---------- type ---------- */
h1,h2,h3{ margin:0; }
h1{ font-family:var(--disp); font-weight:400; line-height:1.02; letter-spacing:-0.005em;
    font-size:clamp(2.4rem, 1.5rem + 3.2vw, 4.4rem); }
.h2{ font-family:var(--disp); font-weight:400; line-height:1.08; letter-spacing:-0.005em;
     font-size:clamp(1.85rem, 1.25rem + 2.1vw, 2.9rem); }
h3{ font-family:var(--body); font-weight:700; font-size:1.2rem; line-height:1.3; letter-spacing:-0.01em; }
p{ margin:0; }

.eyebrow{ font-size:.76rem; text-transform:uppercase; letter-spacing:.16em; font-weight:600;
          color:var(--sienna); margin-bottom:16px; }
.eyebrow--light{ color:var(--rope); }
.lede{ font-size:clamp(1.05rem,.95rem + .5vw,1.25rem); max-width:46ch; margin-top:20px; }
.sub{ color:var(--stone); max-width:62ch; margin-top:16px; font-size:1.05rem; }
.sub--light{ color:rgb(255 255 255 / .72); }
.h2--light{ color:var(--cream); }

/* ---------- buttons ---------- */
.btn{ display:inline-flex; align-items:center; justify-content:center;
  background:var(--sienna); color:#fff; text-decoration:none; cursor:pointer;
  font-family:var(--body); font-weight:600; font-size:1rem; white-space:nowrap;
  padding:15px 28px; border:1px solid var(--sienna); border-radius:var(--r);
  transition:background .18s ease, border-color .18s ease, transform .12s ease; }
.btn:hover{ background:var(--sienna-dk); border-color:var(--sienna-dk); }
.btn:active{ transform:translateY(1px); }
.btn--sm{ padding:11px 20px; font-size:.95rem; }
.btn--line{ background:transparent; color:#fff; border-color:rgb(255 255 255 / .55); }
.btn--line:hover{ background:rgb(255 255 255 / .12); border-color:#fff; }
.btn--full{ width:100%; padding:17px 28px; }
.row-cta{ display:flex; flex-wrap:wrap; gap:12px; margin-top:30px; }

/* ---------- hero carousel ---------- */
.hero__slides{ position:absolute; inset:0; }
.hero__slide{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
  opacity:0; transition:opacity 1.1s ease; }
.hero__slide.is-on{ opacity:1; }
.hero__vid{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.hero__dots{ display:flex; gap:9px; margin-top:30px; }
.dot{ width:34px; height:4px; padding:0; border:0; border-radius:2px; cursor:pointer;
  background:rgb(255 255 255 / .36); transition:background .25s ease; }
.dot:hover{ background:rgb(255 255 255 / .62); }
.dot.is-on{ background:var(--ember); }

/* ---------- nav ---------- */
.nav{ position:sticky; top:0; z-index:60; background:rgb(251 244 230 / .93);
  backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); border-bottom:1px solid var(--rope); }
.nav__in{ height:80px; display:flex; align-items:center; gap:30px; }
.brand{ margin-right:auto; display:flex; align-items:center; }
.brand img{ height:56px; width:auto; }
.nav__links{ display:flex; gap:26px; }
.nav__links a{ text-decoration:none; color:var(--stone); font-size:.97rem; font-weight:500; }
.nav__links a:hover{ color:var(--sienna); }
@media (max-width:980px){ .nav__links{ display:none; } .nav__in{ height:72px; } .brand img{ height:48px; } }
@media (max-width:420px){ .brand img{ height:42px; } }

/* ---------- hero ---------- */
.hero{ position:relative; isolation:isolate; min-height:clamp(520px,74vh,760px); display:flex; align-items:flex-end; }
.hero__media{ position:absolute; inset:0; z-index:-2; overflow:hidden; }
.hero__media img{ width:100%; height:100%; object-fit:cover; }
.hero__scrim{ position:absolute; inset:0;
  background:
    linear-gradient(90deg, rgb(32 30 29 / .86) 0%, rgb(32 30 29 / .62) 42%, rgb(32 30 29 / .22) 100%),
    linear-gradient(180deg, rgb(32 30 29 / .34) 0%, rgb(32 30 29 / .12) 38%, rgb(32 30 29 / .62) 100%); }
@media (max-width:760px){
  .hero__scrim{ background:linear-gradient(180deg, rgb(32 30 29 / .40) 0%, rgb(32 30 29 / .58) 45%, rgb(32 30 29 / .84) 100%); }
}
.hero__in{ padding-block:clamp(48px,7vw,86px); color:#fff; position:relative; }
.hero h1{ color:#fff; text-shadow:0 2px 26px rgb(0 0 0 / .32); }
.hero .lede{ color:rgb(255 255 255 / .92); }

/* ---------- stats ---------- */
.stats{ background:var(--bark); color:var(--cream); }
.stats__in{ display:grid; grid-template-columns:repeat(4,1fr); padding-block:clamp(30px,3.6vw,46px); gap:0; }
.stat{ padding-inline:clamp(14px,2.2vw,32px); }
.stat:first-child{ padding-left:0; }
.stat + .stat{ border-left:1px solid rgb(255 255 255 / .13); }
.stat__v{ font-family:var(--disp); font-weight:400; line-height:1; color:var(--ember);
  font-size:clamp(1.75rem,1.1rem + 2.1vw,2.6rem); }
.stat__u{ font-size:.44em; margin-left:.24em; color:var(--sage); }
.stat__k{ margin-top:10px; color:rgb(255 255 255 / .68); font-size:.93rem; max-width:24ch; }
@media (max-width:820px){
  .stats__in{ grid-template-columns:1fr 1fr; gap:26px 0; }
  .stat{ padding-inline:0; }
  .stat + .stat{ border-left:0; }
  .stat:nth-child(even){ padding-left:24px; border-left:1px solid rgb(255 255 255 / .13); }
}

/* ---------- services / tabs ---------- */
.svc{ padding:clamp(64px,7vw,112px) 0; }
.tabs{ display:flex; gap:8px; margin-top:36px; border-bottom:1px solid var(--rope); }
.tab{ font-family:var(--body); font-weight:600; font-size:1rem; color:var(--stone);
  background:none; border:0; border-bottom:2px solid transparent; margin-bottom:-1px;
  padding:12px 4px; margin-right:28px; cursor:pointer; transition:color .18s ease, border-color .18s ease; }
.tab:hover{ color:var(--ink); }
.tab.is-on{ color:var(--sienna); border-bottom-color:var(--sienna); }

.panel__media img{ width:100%; border-radius:var(--r); }
.panel{ display:none; grid-template-columns:0.95fr 1fr; gap:clamp(28px,4.5vw,64px);
  align-items:center; padding-top:clamp(32px,4vw,56px); }
.panel.is-on{ display:grid; animation:fade .34s ease both; }
@keyframes fade{ from{ opacity:0; transform:translateY(10px);} to{ opacity:1; transform:none;} }
.panel__body h3{ font-size:1.42rem; margin-bottom:14px; }
.panel__body p{ color:var(--stone); max-width:52ch; }

.ticks{ list-style:none; margin:24px 0 0; padding:0; }
.ticks li{ position:relative; padding-left:26px; padding-block:10px; border-top:1px solid var(--rope); font-size:1rem; }
.ticks li:last-child{ border-bottom:1px solid var(--rope); }
.ticks li::before{ content:""; position:absolute; left:2px; top:calc(50% - 3px);
  width:7px; height:7px; border-radius:1px; background:var(--sienna); }
@media (max-width:900px){ .panel{ grid-template-columns:1fr; } }

/* ---------- gallery ---------- */
.gal{ padding:clamp(56px,6vw,96px) 0 clamp(64px,7vw,104px); background:var(--cream-2); border-block:1px solid var(--rope); }
.gal__rail{ display:flex; gap:18px; overflow-x:auto; scroll-snap-type:x mandatory;
  padding:34px 24px 12px; scrollbar-width:thin; }
.gal__rail::-webkit-scrollbar{ height:8px; }
.gal__rail::-webkit-scrollbar-thumb{ background:var(--rope); border-radius:99px; }
.gal__item{ flex:0 0 clamp(230px,26vw,320px); margin:0; scroll-snap-align:start; }
.gal__item img{ width:100%; border-radius:var(--r); aspect-ratio:9/11; object-fit:cover;
  transition:transform .3s ease, box-shadow .3s ease; }
.gal__item:hover img{ transform:translateY(-6px); box-shadow:0 16px 40px rgb(59 26 10 / .18); }
.gal__item figcaption{ margin-top:12px; font-size:.92rem; color:var(--stone); font-weight:500; }

/* ---------- process ---------- */
.proc{ padding:clamp(64px,7vw,112px) 0; }
.steps{ display:grid; grid-template-columns:1fr 1fr; margin-top:clamp(34px,4vw,56px); border-top:1px solid var(--rope); }
.step{ padding:clamp(26px,3vw,40px) clamp(20px,3vw,44px) clamp(26px,3vw,40px) 0; border-bottom:1px solid var(--rope); }
.step:nth-child(even){ padding-left:clamp(20px,3vw,44px); padding-right:0; border-left:1px solid var(--rope); }
.step h3{ color:var(--sienna); margin-bottom:10px; }
.step p{ color:var(--stone); font-size:1rem; max-width:44ch; }
@media (max-width:820px){ .steps{ grid-template-columns:1fr; } .step,.step:nth-child(even){ padding:26px 0; border-left:0; } }

/* ---------- compliance ---------- */
.comp{ background:var(--olive); color:var(--cream); padding:clamp(64px,7vw,112px) 0; }
.certs{ list-style:none; margin:clamp(34px,4vw,52px) 0 0; padding:0;
  display:grid; grid-template-columns:repeat(auto-fit,minmax(290px,1fr)); gap:1px;
  background:rgb(255 255 255 / .16); border:1px solid rgb(255 255 255 / .16); border-radius:var(--r); overflow:hidden; }
.cert{ background:var(--olive); display:flex; gap:18px; align-items:flex-start; padding:26px 24px; }
.cert__logo{ flex:none; width:80px; height:80px; border-radius:var(--r);
  background:#fff; display:grid; place-items:center; overflow:hidden; }
.cert__logo img{ width:100%; height:100%; object-fit:contain; }
.cert h3{ font-size:1.02rem; color:#fff; margin-bottom:5px; }
.cert p{ font-size:.93rem; color:rgb(255 255 255 / .72); }
.comp__note{ margin-top:22px; font-size:.95rem; color:rgb(255 255 255 / .64); }

/* ---------- buyers ---------- */
.buy{ padding:clamp(64px,7vw,112px) 0; }
.pull{ font-family:var(--disp); font-weight:400; line-height:1.24; letter-spacing:-0.005em;
  font-size:clamp(1.3rem,1rem + 1.4vw,2rem); color:var(--olive); margin-top:26px; }

/* ---------- quote ---------- */
.quote{ padding:clamp(64px,7vw,112px) 0; background:var(--cream-2); border-top:1px solid var(--rope); }
.quote__in{ display:grid; grid-template-columns:0.9fr 1.1fr; gap:clamp(36px,5vw,80px); align-items:start; }
.contact{ margin:34px 0 0; border-top:1px solid var(--rope); }
.contact > div{ display:flex; gap:20px; padding-block:14px; border-bottom:1px solid var(--rope); }
.contact dt{ width:104px; flex:none; color:var(--stone); font-size:.95rem; font-weight:600; }
.contact dd{ margin:0; }
.contact a{ color:var(--sienna); text-decoration:none; border-bottom:1px solid rgb(140 73 26 / .3); }
.contact a:hover{ border-bottom-color:var(--sienna); }

.form{ background:var(--cream); border:1px solid var(--rope); border-radius:var(--r);
  padding:clamp(24px,3vw,36px); display:grid; gap:18px; }
.f2{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.field{ display:grid; gap:7px; align-content:start; }
.field label{ font-weight:600; font-size:.93rem; }
.field input,.field select,.field textarea{
  font-family:var(--body); font-size:1rem; color:var(--ink); background:#fff;
  border:1px solid #cdbfa4; border-radius:var(--r); padding:12px 14px; width:100%; }
.field textarea{ resize:vertical; }
.help{ font-size:.85rem; color:var(--stone); }
.help--c{ text-align:center; }
@media (max-width:900px){ .quote__in{ grid-template-columns:1fr; } }
@media (max-width:560px){ .f2{ grid-template-columns:1fr; } }

/* ---------- footer ---------- */
.foot{ background:var(--bark); color:rgb(255 255 255 / .74); padding:52px 0; }
.foot__in{ display:flex; flex-wrap:wrap; gap:28px; justify-content:space-between; align-items:flex-start; }
.foot__brand img{ height:74px; width:auto; }
.foot__line{ font-size:.94rem; margin-top:12px; max-width:48ch; }
.foot__nav{ display:flex; flex-wrap:wrap; gap:24px; }
.foot__nav a{ color:rgb(255 255 255 / .74); text-decoration:none; font-size:.94rem; }
.foot__nav a:hover{ color:#fff; }


/* ---------- sourcing map ---------- */
.map{ background:var(--bark); color:var(--cream); padding:clamp(64px,7vw,112px) 0; }
.map__in{ display:grid; grid-template-columns:0.85fr 1fr; gap:clamp(32px,5vw,80px); align-items:center; }
.map__fig .map__svg{ width:100%; max-width:430px; height:auto; display:block; margin-inline:auto; }
.cty{ fill:#6d7a52; transition:fill .45s ease; }
.cty.is-lead{ fill:#87956d; }
.cty.is-dim{ fill:#3b4133; }
.cty__lbl{ fill:#fbf4e6; transition:opacity .45s ease; }
.cty__lbl.is-dim{ opacity:.32; }
.origins{ list-style:none; margin:clamp(30px,3.6vw,44px) 0 0; padding:0; counter-reset:o; }
.origins li{ position:relative; padding:20px 0 20px 54px; border-top:1px solid rgb(255 255 255 / .16); }
.origins li:last-child{ border-bottom:1px solid rgb(255 255 255 / .16); }
.origins li::before{ counter-increment:o; content:counter(o); position:absolute; left:0; top:22px;
  width:32px; height:32px; border-radius:50%; background:rgb(140 73 26 / .9); color:#fff;
  display:grid; place-items:center; font-size:.85rem; font-weight:700; }
.origins h3{ font-size:1.1rem; color:var(--ember); margin-bottom:5px; }
.origins p{ color:rgb(255 255 255 / .72); font-size:.98rem; max-width:46ch; }
@media (max-width:900px){
  .map__in{ grid-template-columns:1fr; }
  .map__fig .map__svg{ max-width:320px; }
}

/* ---------- buyers illustration ---------- */
.buy__in{ display:grid; grid-template-columns:1fr auto; gap:clamp(28px,5vw,72px); align-items:center; max-width:1000px; }
.buy__art{ width:clamp(240px,32vw,420px); height:auto; border-radius:var(--r); }
@media (max-width:760px){ .buy__in{ grid-template-columns:1fr; } .buy__art{ width:100%; } }


/* ---------- social impact ---------- */
.impact{ padding:clamp(64px,7vw,112px) 0; background:var(--cream-2); border-top:1px solid var(--rope); }
.figs{ display:grid; grid-template-columns:repeat(4,1fr); gap:0;
  margin-top:clamp(36px,4.5vw,56px); border-top:1px solid var(--rope); border-bottom:1px solid var(--rope); }
.fig{ padding:clamp(24px,3vw,34px) clamp(16px,2.4vw,32px) clamp(24px,3vw,34px) 0; }
.fig:first-child{ padding-left:0; }
.fig + .fig{ border-left:1px solid var(--rope); padding-left:clamp(16px,2.4vw,32px); }
.fig__v{ font-family:var(--disp); font-weight:400; line-height:1; color:var(--sienna);
  font-size:clamp(1.9rem,1.2rem + 2.4vw,2.9rem); }
.fig__u{ font-size:.5em; margin-left:.06em; }
.fig__k{ margin-top:10px; color:var(--stone); font-size:.95rem; max-width:24ch; }
@media (max-width:860px){
  .figs{ grid-template-columns:1fr 1fr; }
  .fig{ padding-inline:0 !important; }
  .fig:nth-child(even){ border-left:1px solid var(--rope); padding-left:22px !important; }
  .fig:nth-child(odd){ border-left:0; }
  .fig:nth-child(n+3){ border-top:1px solid var(--rope); }
}
@media (max-width:520px){
  .figs{ grid-template-columns:1fr; }
  .fig{ border-left:0 !important; padding-left:0 !important; }
  .fig + .fig{ border-top:1px solid var(--rope); }
}

.impact__cols{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(24px,3.4vw,48px);
  margin-top:clamp(38px,4.5vw,60px); }
.impact__cols h3{ color:var(--olive); margin-bottom:10px; font-size:1.1rem; }
.impact__cols p{ color:var(--stone); font-size:1rem; }
@media (max-width:880px){ .impact__cols{ grid-template-columns:1fr; } }

.sdg__head{ margin-top:clamp(44px,5vw,68px); font-size:1.05rem; color:var(--ink); }
.sdg{ list-style:none; margin:22px 0 0; padding:0;
  display:grid; grid-template-columns:repeat(auto-fit,minmax(258px,1fr)); gap:1px;
  background:var(--rope); border:1px solid var(--rope); border-radius:var(--r); overflow:hidden; }
.sdg li{ background:var(--cream-2); display:flex; gap:14px; align-items:flex-start; padding:20px 18px; }
.sdg__n{ flex:none; width:38px; height:38px; border-radius:var(--r); background:var(--olive);
  color:#fff; display:grid; place-items:center; font-weight:700; font-size:1rem; }
.sdg h4{ margin:0 0 3px; font-size:.98rem; font-weight:700; }
.sdg p{ font-size:.9rem; color:var(--stone); }
.src{ margin-top:26px; font-size:.86rem; color:var(--stone); max-width:80ch; }

/* ---------- buyers ---------- */
.buy__grid{ display:grid; grid-template-columns:1fr 1.15fr; gap:clamp(20px,3vw,36px); margin-top:clamp(32px,4vw,52px); }
.buyer{ border:1px solid var(--rope); border-radius:var(--r); padding:clamp(24px,3vw,34px); background:var(--cream-2); }
.buyer--lead{ background:var(--olive); border-color:var(--olive); color:var(--cream); }
.buyer h3{ font-size:1.24rem; margin-bottom:12px; color:var(--olive); }
.buyer--lead h3{ color:#fff; }
.buyer p{ color:var(--stone); }
.buyer--lead p{ color:rgb(255 255 255 / .82); }
.buyer__hook{ margin-top:14px; padding-top:14px; border-top:1px solid rgb(255 255 255 / .22);
  font-family:var(--disp); font-size:1.06rem; line-height:1.4; color:var(--cream) !important; }
.buy__art{ width:100%; height:auto; border-radius:var(--r); margin-top:clamp(28px,3.6vw,44px); }
.buy .sub{ margin-top:22px; }
@media (max-width:860px){ .buy__grid{ grid-template-columns:1fr; } }

/* ---------- form extras ---------- */
.unit{ position:relative; display:block; }
.unit input{ padding-right:52px; }
.unit__t{ position:absolute; right:14px; top:50%; transform:translateY(-50%);
  color:var(--stone); font-weight:600; font-size:.95rem; pointer-events:none; }
.err{ font-size:.86rem; color:#9a3412; font-weight:600; }
.field input:invalid:not(:placeholder-shown){ border-color:#c2704a; }
.spec{ border:1px solid var(--rope); border-radius:var(--r); padding:clamp(18px,2.4vw,26px);
  margin:0; display:grid; gap:18px; background:rgb(236 224 201 / .42); }
.spec legend{ padding:0 8px; font-weight:700; font-size:.92rem; color:var(--olive); }
.label{ font-weight:600; font-size:.93rem; }
.checks{ display:flex; flex-wrap:wrap; gap:8px 18px; padding-top:4px; }
.checks label{ display:flex; align-items:center; gap:7px; font-size:.95rem; font-weight:400; }
.checks input{ width:auto; accent-color:var(--sienna); }


/* ---------- season calendar ---------- */
.segs{ display:flex; gap:26px; margin-top:clamp(26px,3.2vw,38px);
  border-bottom:1px solid rgb(255 255 255 / .18); }
.seg{ background:none; border:0; padding:11px 2px; margin-bottom:-1px; cursor:pointer;
  font-family:var(--body); font-weight:600; font-size:1rem; color:rgb(255 255 255 / .62);
  border-bottom:2px solid transparent; transition:color .2s ease, border-color .2s ease; }
.seg:hover{ color:#fff; }
.seg.is-on{ color:var(--cream); border-bottom-color:var(--ember); }

.cal{ display:none; padding-top:24px; }
.cal.is-on{ display:block; animation:fade .32s ease both; }
.cal__note{ color:rgb(255 255 255 / .70); font-size:.98rem; max-width:52ch; margin-bottom:20px; }
.cal__row, .cal__axis{ display:grid; grid-template-columns:112px 1fr; gap:14px; align-items:center; }
.cal__row{ margin-bottom:9px; }
.cal__lbl{ font-size:.93rem; font-weight:600; color:rgb(255 255 255 / .84); }
.cal__bar{ display:grid; grid-template-columns:repeat(12,1fr); gap:3px; }
.cal__bar span{ height:22px; border-radius:2px; background:rgb(255 255 255 / .09); }
.cal__bar span.on{ background:var(--ember); }
.cal__axis{ margin-top:8px; }
.cal__axis .cal__bar span{ height:auto; background:none; text-align:center;
  font-size:.7rem; font-weight:600; letter-spacing:.02em; color:rgb(255 255 255 / .45); }
.map .src{ color:rgb(255 255 255 / .5); margin-top:22px; }
@media (max-width:520px){
  .cal__row, .cal__axis{ grid-template-columns:1fr; gap:5px; }
  .cal__row{ margin-bottom:14px; }
  .cal__bar span{ height:18px; }
}


/* ---------- form status and honeypot ---------- */
.hp{ position:absolute !important; left:-9999px !important; width:1px !important; height:1px !important;
  opacity:0 !important; pointer-events:none !important; }
.note{ margin-top:4px; padding:13px 16px; border-radius:var(--r); font-size:.95rem; line-height:1.5; }
.note--ok{ background:rgb(82 96 60 / .12); border:1px solid rgb(82 96 60 / .4); color:var(--olive); font-weight:600; }
.note--bad{ background:rgb(154 52 18 / .08); border:1px solid rgb(154 52 18 / .34); color:#8a3312; }
.note--bad a{ color:inherit; }
.btn[aria-busy="true"]{ opacity:.65; pointer-events:none; }


/* ---------- whatsapp ---------- */
.wa__link{ display:inline-flex; align-items:center; gap:8px; }
.wa__i{ flex:none; }
.orwa{ margin-top:22px; padding-top:22px; border-top:1px solid var(--rope); text-align:center; }
.orwa__rule{ display:block; font-size:.86rem; color:var(--stone-lt); margin-bottom:14px;
  text-transform:uppercase; letter-spacing:.14em; font-weight:600; }
.btn--wa{ width:100%; gap:10px; background:var(--olive); border-color:var(--olive); }
.btn--wa:hover{ background:#414d2f; border-color:#414d2f; }

/* ---------- reveal on scroll ---------- */
.reveal{ opacity:0; transform:translateY(18px); transition:opacity .6s ease, transform .6s ease; }
.reveal.is-in{ opacity:1; transform:none; }

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