/* FarmToSoul v12 */
:root{--green:#1f7a3a;--green2:#2b8a3e;--soil:#8b5a2b;--border:rgba(0,0,0,.10);--radius:18px;}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:Georgia,"Times New Roman",serif;background:#f6f2e9;color:#1a1a1a}
.container{width:min(1120px,calc(100% - 32px));margin-inline:auto}
.brand__green{color:var(--green);font-weight:900}
.brand__soil{color:var(--soil)}

.topbar{position:sticky;top:0;z-index:50;backdrop-filter:blur(10px);background:rgba(255,248,234,.78);border-bottom:1px solid var(--border)}
.topbar__inner{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 0}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit}

/* Logo: extra faded edges */
.brand__logo{position:relative;width:92px;height:92px;flex:0 0 auto}
.brand__logo::before{content:'';position:absolute;inset:-18px;background:url('../images/FarmToSoul_Logo.png') center/contain no-repeat;filter:blur(14px);opacity:.62}
.brand__logo img{position:relative;width:100%;height:100%;object-fit:contain;border-radius:18px;filter:drop-shadow(0 12px 20px rgba(0,0,0,.18));
  -webkit-mask-image: radial-gradient(circle at center, #000 40%, transparent 100%);
  mask-image: radial-gradient(circle at center, #000 40%, transparent 100%);
}

.nav{display:flex;gap:8px;align-items:center}
.nav__link{display:inline-flex;gap:8px;align-items:center;padding:10px 12px;border-radius:999px;text-decoration:none;color:rgba(0,0,0,.78);font-weight:800;font-size:14px}
.nav__link:hover{background:rgba(31,122,58,.10)}
.nav__link.is-active{background:rgba(31,122,58,.14)}
.nav__toggle{display:none;width:44px;height:44px;border-radius:12px;border:1px solid var(--border);background:rgba(255,255,255,.7);cursor:pointer}
.nav__toggle span{display:block;height:2px;width:20px;margin:5px auto;background:rgba(0,0,0,.75);border-radius:9px}

/* Fade-in */
.reveal{opacity:0;transform:translateY(14px);transition:opacity .8s ease, transform .8s ease}
.reveal.in-view{opacity:1;transform:none}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}

/* Welcome */
.welcomeHero{position:relative;overflow:hidden;padding:24px 0 10px}
.welcomeHero__bg{position:absolute;inset:0;background:linear-gradient(180deg,#ffffff 0%, rgba(246,242,233,.92) 55%, rgba(239,231,214,.98) 100%)}
.welcomeHero__warli{position:absolute;inset:0;background-image:url('data:image/svg+xml,%3Csvg xmlns=\"http://www.w3.org/2000/svg\" width=\"520\" height=\"320\" viewBox=\"0 0 520 320\"%3E%3Cg fill=\"none\" stroke=\"%23ffffff\" stroke-width=\"2\"%3E%3Cpath d=\"M40 210 L85 170 L130 210 Z\"/%3E%3Cpath d=\"M60 210 V260 H110 V210\"/%3E%3Cpath d=\"M180 270 V190\"/%3E%3Cpath d=\"M180 190 C150 185 150 150 180 148 C165 126 190 110 210 122 C230 110 255 126 240 148 C270 150 270 185 240 190 C220 215 205 215 180 190 Z\"/%3E%3Ccircle cx=\"315\" cy=\"220\" r=\"12\"/%3E%3Cpath d=\"M315 232 L315 262\"/%3E%3Cpath d=\"M302 245 L328 245\"/%3E%3Cpath d=\"M360 262 C385 240 415 240 440 262\"/%3E%3Cpath d=\"M380 252 L372 232 M420 252 L428 232\"/%3E%3Cpath d=\"M0 305 H520\"/%3E%3Cpath d=\"M0 292 H520\"/%3E%3Cpath d=\"M0 279 H520\"/%3E%3Cpath d=\"M18 40 L28 30 L38 40 L28 50 Z\"/%3E%3Cpath d=\"M78 80 L88 70 L98 80 L88 90 Z\"/%3E%3Cpath d=\"M140 50 L150 40 L160 50 L150 60 Z\"/%3E%3C/g%3E%3C/svg%3E');background-size:560px 340px;background-repeat:repeat;opacity:.45;pointer-events:none}

.welcomeHero__imageWrap{position:relative;isolation:isolate;padding:14px;border-radius:calc(var(--radius) + 6px);
  background:radial-gradient(900px 420px at 25% 20%, rgba(31,122,58,.16) 0%, rgba(255,255,255,0) 55%),
             radial-gradient(820px 380px at 85% 35%, rgba(139,90,43,.14) 0%, rgba(255,255,255,0) 62%);
  border:1px solid rgba(0,0,0,.08);
  box-shadow:0 18px 46px rgba(0,0,0,.10)
}
.welcomeHero__imageWrap::after{content:'';position:absolute;inset:14px;border-radius:var(--radius);pointer-events:none;
  background:radial-gradient(circle at center, rgba(255,255,255,0) 45%, rgba(246,242,233,.70) 100%);
  mix-blend-mode:multiply;opacity:.96;z-index:0}

/* Hero image with extra faded edges */
.welcomeHero__img{position:relative;z-index:1;width:100%;height:min(76vh,680px);display:block;object-fit:contain;background:transparent;border-radius:var(--radius);
  filter:drop-shadow(0 18px 30px rgba(0,0,0,.18));
  -webkit-mask-image: radial-gradient(circle at center, #000 38%, transparent 100%);
  mask-image: radial-gradient(circle at center, #000 38%, transparent 100%);
}

.welcomeHero__overlay{position:absolute;left:50%;top:18px;transform:translateX(-50%);display:flex;gap:12px;flex-wrap:wrap;justify-content:center;
  padding:10px 12px;background:rgba(255,255,255,.72);backdrop-filter:blur(10px);border:1px solid rgba(0,0,0,.10);
  border-radius:999px;box-shadow:0 14px 30px rgba(0,0,0,.10);z-index:2}

.btn{display:inline-flex;gap:10px;align-items:center;padding:12px 18px;border-radius:999px;font-weight:900;text-decoration:none;
  border:1px solid rgba(0,0,0,.10);box-shadow:0 10px 24px rgba(0,0,0,.10)}
.btn--primary{background:linear-gradient(90deg,var(--green),var(--green2));color:#fff}
.btn--soil{background:linear-gradient(90deg,var(--soil),#a36b34);color:#fff}

.section{padding:44px 0}
.section--paper{background:rgba(255,248,234,.75);border-block:1px solid var(--border)}
.section__title{font-size:clamp(26px,3.2vw,38px);color:var(--green)}
.section__head{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px;align-items:baseline}
.link{color:var(--green);text-decoration:none;font-weight:900}

.grid{display:grid;gap:16px}
.teaser{grid-template-columns:repeat(3,minmax(0,1fr))}

.tile{display:block;border-radius:var(--radius);overflow:hidden;border:1px solid var(--border);box-shadow:0 12px 26px rgba(0,0,0,.12);text-decoration:none;color:inherit;background:#fff;
  transition:transform .18s ease, box-shadow .18s ease}
.tile img{width:100%;height:240px;object-fit:cover;display:block;transition:transform .25s ease}
.tile__cap{padding:12px 14px;font-weight:900;color:rgba(0,0,0,.76);display:flex;gap:10px;align-items:center}
.tile:hover{transform:translateY(-3px);box-shadow:0 18px 44px rgba(0,0,0,.18)}
.tile:hover img{transform:scale(1.03)}

.cards{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:18px}
.card{background:rgba(255,255,255,.86);border:1px solid var(--border);border-radius:var(--radius);padding:18px;box-shadow:0 12px 26px rgba(0,0,0,.10)}
.card__icon{width:46px;height:46px;display:grid;place-items:center;border-radius:14px;background:rgba(31,122,58,.12);color:var(--green);margin-bottom:12px;font-size:18px}
.card__title{font-size:18px;margin-bottom:6px}
.card__meta{color:var(--soil);font-weight:900}

.hscroll{display:flex;gap:12px;overflow-x:auto;padding-bottom:8px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;
  scroll-behavior:smooth;overscroll-behavior-x:contain;scrollbar-gutter:stable}
.hscroll::-webkit-scrollbar{height:10px}
.hscroll::-webkit-scrollbar-thumb{background:rgba(0,0,0,.18);border-radius:999px}
.galleryItem{flex:0 0 auto;scroll-snap-align:start}
.galleryItem img{width:170px;height:120px;object-fit:cover;border-radius:16px;border:1px solid var(--border);box-shadow:0 10px 22px rgba(0,0,0,.10)}

.imageSection{position:relative;min-height:72vh;display:grid;place-items:center;overflow:hidden}
.imageSection__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.imageSection__veil{position:absolute;inset:0;background:linear-gradient(to bottom, rgba(0,0,0,.25), rgba(0,0,0,.62))}
.imageSection__content{position:relative;color:#fff;padding:56px 0}
.imageSection__title{font-size:clamp(32px,5vw,52px);margin-bottom:14px;text-shadow:0 12px 22px rgba(0,0,0,.35)}
.glass{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(10px);border-radius:var(--radius);padding:18px;box-shadow:0 14px 30px rgba(0,0,0,.18)}
.glass p{margin:10px 0;font-size:18px;line-height:1.65;color:rgba(255,255,255,.95)}

.contact{display:grid;grid-template-columns:1fr;gap:12px;margin-top:14px}
.contact__item{display:flex;gap:10px;align-items:flex-start;padding:14px;border-radius:var(--radius);background:rgba(255,255,255,.86);border:1px solid var(--border);color:rgba(0,0,0,.80)}
.contact__item span{display:block;line-height:1.5}

.social__link{display:inline-flex;gap:10px;align-items:center;padding:10px 12px;border-radius:999px;background:rgba(31,122,58,.10);border:1px solid rgba(31,122,58,.18);color:rgba(0,0,0,.75);text-decoration:none;font-weight:900}

.footer{padding:16px 0;border-top:1px solid var(--border);background:rgba(255,255,255,.55)}
.footer__inner{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;color:rgba(0,0,0,.75);font-weight:800;align-items:center}
.footer__small{color:var(--soil);font-style:italic}
.footer__social{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}

@media (max-width:980px){.teaser{grid-template-columns:repeat(2,minmax(0,1fr))}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:780px){
 .nav__toggle{display:block}
 .nav{position:absolute;top:92px;left:16px;right:16px;display:none;flex-direction:column;padding:12px;border-radius:16px;background:rgba(255,255,255,.95);border:1px solid var(--border);box-shadow:0 18px 40px rgba(0,0,0,.16)}
 .nav.is-open{display:flex}
 .cards{grid-template-columns:1fr}
 .teaser{grid-template-columns:1fr}
 .tile img{height:220px}
 .welcomeHero__img{height:min(62vh,520px)}
 .footer__social{justify-content:flex-start}
}
