
:root {
  --forest: #193F28;
  --green: #009134;
  --green-dark: #006c27;
  --lime: #b8ef87;
  --cream: #F5F0E5;
  --paper: #FBF8F0;
  --nav-cream: #F9F7EE;
  --ink: #112318;
  --muted: #667267;
  --white: #ffffff;
  --line: rgba(25, 63, 40, .15);
  --shadow: 0 18px 55px rgba(17, 35, 24, .12);
  --radius-lg: 32px;
  --radius-md: 22px;
  --radius-sm: 14px;
  --max: 1240px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: 'DM Sans', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  color: var(--ink);
  background: var(--paper);
  line-height: 1.6;
  overflow-x: hidden;
}
body.menu-open { overflow: hidden; }
body.modal-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }

.container { width: min(calc(100% - 40px), var(--max)); margin-inline: auto; }
.section { padding: 110px 0; position: relative; }
.section-tight { padding: 76px 0; }
.section-dark { background: var(--forest); color: var(--white); }
.section-green { background: var(--green); color: var(--white); }
.section-cream { background: var(--cream); }

h1, h2, h3, .display {
  font-family: 'Archivo Black', Impact, sans-serif;
  text-transform: uppercase;
  line-height: .98;
  letter-spacing: -0.035em;
  margin: 0;
}
h1 { font-size: clamp(3.7rem, 8vw, 8.3rem); max-width: 980px; }
h2 { font-size: clamp(2.5rem, 5vw, 5.4rem); }
h3 { font-size: clamp(1.2rem, 2vw, 1.75rem); line-height: 1.05; }
p { margin: 0; }
.lead { font-size: clamp(1.08rem, 1.7vw, 1.35rem); color: #d9e4da; max-width: 660px; }
.body-lg { font-size: 1.12rem; color: var(--muted); max-width: 680px; }
.section-dark .body-lg, .section-green .body-lg { color: rgba(255,255,255,.75); }

.btn {
  min-height: 54px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border: 0;
  border-radius: 999px;
  padding: 0 24px;
  font-weight: 700;
  transition: transform .25s ease, background .25s ease, color .25s ease, box-shadow .25s ease;
}
.btn:hover { transform: translateY(-2px); }
.btn-primary { background: var(--green); color: white; box-shadow: 0 14px 35px rgba(0,145,52,.28); }
.btn-primary:hover { background: #00a63c; }
.btn-light { background: white; color: var(--forest); }
.btn-ghost { background: rgba(255,255,255,.10); color: white; border: 1px solid rgba(255,255,255,.24); }
.btn-outline { background: transparent; color: var(--forest); border: 1px solid rgba(25,63,40,.28); }
.arrow { width: 18px; height: 18px; transition: transform .25s ease; }
.btn:hover .arrow { transform: translateX(3px); }

/* Header */
.topbar {
  background: var(--forest); color: rgba(255,255,255,.82); font-size: .82rem;
  text-align: center; padding: 8px 16px; letter-spacing: .02em;
}
.header {
  position: fixed; top: 36px; left: 0; right: 0; z-index: 1000;
  transition: top .32s ease, background .32s ease, box-shadow .32s ease, backdrop-filter .32s ease;
}
.header { color: var(--white); }
.header.scrolled {
  top: 0;
  background: rgba(249,247,238,.96);
  color: var(--forest);
  backdrop-filter: blur(18px) saturate(135%);
  -webkit-backdrop-filter: blur(18px) saturate(135%);
  box-shadow: 0 12px 34px rgba(17,35,24,.13), 0 1px 0 rgba(25,63,40,.08);
}
.nav {
  width: min(calc(100% - 48px), 1380px); margin: 0 auto;
  min-height: 92px; display: flex; align-items: center; justify-content: space-between; gap: 30px;
}
.nav > a:first-child {
  position:relative;
  display:block;
  flex:0 0 188px;
  width:188px;
  height:62px;
  transition:transform .3s ease;
}
.nav > a:first-child:hover { transform:translateY(-1px); }
.logo {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:contain;
  transition:opacity .24s ease;
}
.logo-static { opacity:1; }
.logo-scrolled { opacity:0; }
.header.scrolled .logo-static { opacity:0; }
.header.scrolled .logo-scrolled { opacity:1; }
.nav-links { display: flex; align-items: center; gap: 26px; font-size: .96rem; font-weight: 750; white-space:nowrap; }
.nav-links a { position: relative; color: var(--white); text-shadow: 0 2px 14px rgba(0,0,0,.22); }
.header.scrolled .nav-links a { color:var(--forest); text-shadow:none; }
.nav-links a::after { content: ''; position: absolute; left: 0; bottom: -7px; width: 100%; height: 2px; background: var(--green); transform: scaleX(0); transform-origin: left; transition: transform .2s ease; }
.nav-links a:hover::after, .nav-links a.active::after { transform: scaleX(1); }
.nav-cta { display: flex; align-items: center; gap: 10px; }
.menu-btn { display: none; width: 46px; height: 46px; border-radius: 50%; border: 1px solid rgba(255,255,255,.34); background: rgba(16,44,28,.38); backdrop-filter:blur(12px); align-items: center; justify-content: center; }
.menu-btn span, .menu-btn span::before, .menu-btn span::after { display:block; width:20px; height:2px; background:var(--white); content:''; position:relative; transition:.25s ease; }
.menu-btn span::before { position:absolute; top:-6px; }
.menu-btn span::after { position:absolute; top:6px; }
.header.scrolled .menu-btn { border-color:rgba(25,63,40,.22); background:rgba(25,63,40,.07); }
.header.scrolled .menu-btn span,
.header.scrolled .menu-btn span::before,
.header.scrolled .menu-btn span::after { background:var(--forest); }
.mobile-menu { display: none; }

/* Hero */
.hero { min-height: 780px; height: 100svh; max-height: 980px; background: var(--forest); color: white; position: relative; overflow: hidden; }
.hero-slider, .hero-slide { position:absolute; inset:0; }
.hero-slide { opacity: 0; transition: opacity 1s ease, transform 1.3s ease; transform: scale(1.035); }
.hero-slide.active { opacity: 1; transform: scale(1); }
.hero-slide img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
.hero-slide::after { content:''; position:absolute; inset:0; background: linear-gradient(90deg, rgba(11,35,20,.86) 0%, rgba(11,35,20,.61) 48%, rgba(11,35,20,.13) 78%); }
.hero-fallback { position:absolute; inset:0; background: radial-gradient(circle at 75% 30%, rgba(0,145,52,.28), transparent 28%), linear-gradient(135deg, #173d26, #0f2e1c); }
.hero-content { position: relative; z-index: 5; height: 100%; display: flex; align-items: flex-end; padding-bottom: 95px; padding-top: 170px; }
.hero-copy { max-width: 1030px; }
.hero-title { text-shadow: 0 8px 28px rgba(0,0,0,.16); }
.hero-title .accent { color: var(--lime); }
.hero-bottom { margin-top: 34px; display: flex; align-items: end; justify-content: space-between; gap: 40px; }
.hero-actions { display:flex; gap:12px; flex-wrap:wrap; margin-top: 28px; }
.hero-mini { max-width: 310px; padding: 18px 20px; border: 1px solid rgba(255,255,255,.22); background: rgba(255,255,255,.10); backdrop-filter: blur(14px); border-radius: 22px; }
.hero-mini strong { display:block; font-size: 1.4rem; }
.hero-mini span { font-size: .88rem; color: rgba(255,255,255,.72); }
.hero-controls { position:absolute; z-index:6; right:max(20px, calc((100vw - var(--max))/2)); bottom:34px; display:flex; align-items:center; gap:9px; }
.hero-dot { width: 34px; height: 4px; border:0; border-radius:99px; background:rgba(255,255,255,.35); padding:0; overflow:hidden; }
.hero-dot::after { content:''; display:block; height:100%; width:100%; background:white; transform:scaleX(0); transform-origin:left; }
.hero-dot.active::after { animation: dotProgress 6s linear forwards; }
@keyframes dotProgress { to { transform: scaleX(1); } }

/* Moving tape */
.ticker { background: var(--green); color:white; overflow:hidden; white-space:nowrap; border-top: 1px solid rgba(255,255,255,.16); border-bottom: 1px solid rgba(0,0,0,.06); }
.ticker-track { display:inline-flex; gap:34px; padding:15px 0; min-width:max-content; animation: ticker 26s linear infinite; font-size:.86rem; font-weight:800; letter-spacing:.11em; }
.ticker-track span::after { content:'✦'; margin-left:34px; color:var(--lime); }
@keyframes ticker { to { transform: translateX(-50%); } }

/* Grass motif */
.grass-edge { padding-bottom:170px; }
.grass-edge::after { content:''; position:absolute; z-index:2; left:0; right:0; bottom:-1px; height:142px; pointer-events:none; background:url('assets/grass.webp') center bottom / 100% 100% no-repeat; }
.section-dark.grass-edge::after, .section-green.grass-edge::after { filter:none; opacity:1; }

/* Intro */
.intro-grid { display:grid; grid-template-columns: .95fr 1.05fr; gap:80px; align-items:center; }
.poultry-video-card { position:relative; min-height:570px; overflow:hidden; border-radius:var(--radius-lg); background:#0d2416; box-shadow:var(--shadow); }
.poultry-video { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:cover; object-position:center; background:#0d2416; }
.photo-placeholder { background-color:#dfe7df; background-image: radial-gradient(circle at 30% 20%, rgba(255,255,255,.7), transparent 22%), linear-gradient(135deg, rgba(0,145,52,.18), rgba(25,63,40,.25)); }
.scribble { position:absolute; width:130px; height:130px; right:34px; top:30px; border:3px dashed var(--green); border-radius:50%; opacity:.5; animation: spin 16s linear infinite; }
@keyframes spin { to { transform:rotate(360deg); } }
.intro-copy h2 { max-width:680px; }
.intro-copy .body-lg { margin-top:26px; }
.stats { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:40px; }
.stat { padding:20px 18px; border-radius:18px; border:1px solid var(--line); background:rgba(255,255,255,.55); }
.stat strong { display:block; font-family:'Archivo Black'; font-size:2rem; color:var(--forest); }
.stat span { font-size:.84rem; color:var(--muted); }

/* Services */
.section-heading { display:flex; justify-content:space-between; align-items:end; gap:40px; margin-bottom:50px; }
.section-heading p { max-width:520px; color:rgba(255,255,255,.68); }
.services { display:grid; grid-template-columns:1.35fr .65fr; gap:18px; }
.service-feature { min-height:560px; position:relative; border-radius:var(--radius-lg); overflow:hidden; background:#173624; }
.service-feature-media { position:absolute; inset:0; z-index:0; width:100%; height:100%; display:block; object-fit:cover; object-position:center; }
.service-feature::after { content:''; position:absolute; z-index:1; inset:0; background:linear-gradient(180deg, rgba(10,34,18,.08) 28%, rgba(10,34,18,.9) 100%); pointer-events:none; }
.service-feature-content { position:absolute; z-index:2; left:30px; right:30px; bottom:28px; display:flex; justify-content:space-between; align-items:end; gap:20px; }
.service-feature h3 { font-size:clamp(2rem,4vw,4.2rem); max-width:650px; }
.service-list { display:grid; gap:18px; }
.service-card { min-height:170px; border-radius:var(--radius-md); padding:26px; background:rgba(255,255,255,.09); border:1px solid rgba(255,255,255,.14); display:flex; flex-direction:column; justify-content:space-between; transition:.3s ease; }
.service-card:hover { transform:translateY(-5px); background:rgba(255,255,255,.14); }
.service-card .num { font-size:.75rem; color:var(--lime); font-weight:800; letter-spacing:.12em; }
.service-card p { color:rgba(255,255,255,.68); font-size:.9rem; margin-top:8px; }

/* Product rail */
.product-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.product-card { border:1px solid var(--line); border-radius:var(--radius-md); overflow:hidden; background:white; transition:.3s ease; }
.product-card:hover { transform:translateY(-6px); box-shadow:var(--shadow); }
.product-visual { aspect-ratio:1.25/1; background:linear-gradient(145deg,#e6efe5,#c7dec9); position:relative; overflow:hidden; }
.product-visual::before { content:''; position:absolute; width:120px; height:190px; background:white; border-radius:22px 22px 10px 10px; left:50%; top:50%; transform:translate(-50%,-48%) rotate(-4deg); box-shadow:0 20px 45px rgba(25,63,40,.15); }
.product-visual::after { content:'SRIVI'; position:absolute; left:50%; top:50%; transform:translate(-50%,-20%); font-family:'Archivo Black'; color:var(--green); letter-spacing:.03em; }
.product-visual.product-image { display:grid; place-items:center; isolation:isolate; }
.product-visual.product-image::before { content:''; width:78%; height:78%; border-radius:50%; background:rgba(255,255,255,.5); filter:blur(30px); box-shadow:none; transform:translate(-50%,-50%); }
.product-visual.product-image::after { content:none; }
.product-visual.product-image-vitamins { background:linear-gradient(145deg,#edf4e5,#d9e9c9); }
.product-visual.product-image-respiratory { background:linear-gradient(145deg,#e9f1ee,#c7ddd9); }
.product-visual.product-image-gut { background:linear-gradient(145deg,#f1efe2,#dfe6c8); }
.product-visual.product-image img { position:absolute; z-index:1; inset:9% 11%; display:block; width:78%; height:82%; object-fit:contain; transition:transform .45s cubic-bezier(.2,.8,.2,1); filter:drop-shadow(0 20px 22px rgba(25,63,40,.14)); }
.product-card:hover .product-image img { transform:translateY(-7px) scale(1.025); }
.product-copy { padding:24px; }
.product-copy h3 { font-size:1.3rem; }
.product-copy p { margin-top:10px; color:var(--muted); font-size:.92rem; }
.product-copy a { margin-top:20px; display:inline-flex; font-weight:800; color:var(--green); }

/* Process / vision */
.vision-section { min-height:720px; display:flex; align-items:center; color:white; overflow:hidden; background:url('assets/day-old-chicks-dispatch.webp') 45% center / cover no-repeat; }
.vision-section::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,rgba(7,29,16,.52),rgba(7,29,16,.12) 68%,rgba(7,29,16,.04)); }
.vision-content { position:relative; z-index:2; }
.vision-blur { position:relative; max-width:760px; padding:70px 100px 70px 0; }
.vision-blur::before { content:''; position:absolute; z-index:-1; top:-42px; bottom:-42px; left:calc((100vw - min(calc(100vw - 40px), var(--max))) / -2); right:-180px; background:linear-gradient(90deg,rgba(7,36,18,.88) 0%,rgba(7,36,18,.67) 55%,rgba(7,36,18,.08) 100%); backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px); -webkit-mask-image:linear-gradient(90deg,#000 0%,#000 58%,transparent 100%); mask-image:linear-gradient(90deg,#000 0%,#000 58%,transparent 100%); }
.big-number { font-family:'Archivo Black'; font-size:clamp(5rem,10vw,10rem); line-height:.82; color:var(--lime); }
.vision-blur h3 { font-size:clamp(2rem,4vw,4rem); margin-top:28px; max-width:700px; }
.vision-blur p { margin-top:24px; max-width:570px; color:rgba(255,255,255,.82); font-size:1.08rem; }

/* Insights */
.insight-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.insight-card { padding:26px; border-radius:var(--radius-md); border:1px solid var(--line); background:rgba(255,255,255,.56); min-height:270px; display:flex; flex-direction:column; justify-content:space-between; }
.insight-card .tag { font-size:.76rem; font-weight:800; color:var(--green); text-transform:uppercase; letter-spacing:.1em; }
.insight-card h3 { margin-top:22px; font-size:1.55rem; }
.insight-card p { color:var(--muted); font-size:.92rem; margin-top:12px; }
.insight-card a { font-weight:800; color:var(--forest); display:inline-flex; gap:8px; align-items:center; margin-top:24px; }

/* CTA / forms */
.contact-band { position:relative; background:var(--forest); color:white; border-radius:var(--radius-lg); overflow:hidden; display:grid; grid-template-columns:1fr 1fr; }
.contact-copy { padding:70px 58px; position:relative; z-index:2; }
.contact-copy p { margin-top:22px; color:rgba(255,255,255,.72); max-width:500px; }
.contact-form { background:white; color:var(--ink); padding:44px; margin:18px; border-radius:24px; position:relative; z-index:2; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.field { display:flex; flex-direction:column; gap:7px; }
.field.full { grid-column:1/-1; }
.field label { font-size:.82rem; font-weight:700; }
.field input, .field textarea, .field select { width:100%; border:1px solid rgba(25,63,40,.18); background:#fafcf8; border-radius:13px; padding:14px 15px; outline:none; transition:.2s; }
.field textarea { min-height:120px; resize:vertical; }
.field input:focus, .field textarea:focus, .field select:focus { border-color:var(--green); box-shadow:0 0 0 3px rgba(0,145,52,.1); }
.form-error { margin:14px 0 0; padding:12px 14px; border-radius:12px; background:#fff1f0; color:#9d2824; font-size:.95rem; line-height:1.5; }
.form-error[hidden] { display:none; }
.contact-form [type="submit"]:disabled { cursor:wait; opacity:.7; }
.form-confirmation { display:grid; place-items:center; min-height:280px; text-align:center; }
.form-confirmation p { max-width:360px; color:var(--green-dark); font-size:1.25rem; font-weight:700; line-height:1.6; }
.form-confirmation:focus-visible { outline:3px solid var(--green); outline-offset:4px; }

/* Footer */
.footer {
  background:#102c1c;
  color:white;
  position:relative;
  overflow:hidden;
  padding-top:128px;
  padding-bottom:210px;
  min-height:760px;
}
.footer::after {
  content:'';
  position:absolute;
  left:0; right:0; bottom:0;
  height:142px;
  opacity:1;
  background:url('assets/grass.webp') center bottom / 100% 100% no-repeat;
  pointer-events:none;
}
.footer-grid { display:grid; grid-template-columns:1.15fr .85fr .85fr 1.1fr; gap:54px; padding-bottom:92px; position:relative; z-index:2; }
.footer-logo { width:214px; filter:brightness(0) invert(1); }
.footer p { color:rgba(255,255,255,.64); font-size:.98rem; margin-top:24px; max-width:360px; }
.footer h4 { margin:0 0 20px; font-size:.91rem; text-transform:uppercase; letter-spacing:.11em; color:var(--lime); }
.footer ul { list-style:none; padding:0; margin:0; display:grid; gap:13px; color:rgba(255,255,255,.74); font-size:.96rem; }
.footer-bottom { border-top:1px solid rgba(255,255,255,.1); padding:30px 0; display:flex; justify-content:space-between; gap:20px; color:rgba(255,255,255,.52); font-size:.83rem; position:relative; z-index:2; }
.chick-rain { position:absolute; inset:0; overflow:hidden; pointer-events:none; opacity:.96; z-index:1; }
.falling-chick {
  position:absolute;
  top:-110px;
  width:48px;
  aspect-ratio:683 / 1133;
  background:url('assets/day-old-chick.webp') center / contain no-repeat;
  filter:drop-shadow(0 12px 10px rgba(0,0,0,.2));
  opacity:0;
  transform:translate3d(0,-90px,0) rotate(var(--start-rot,0deg)) scale(var(--scale,1));
  transform-origin:center bottom;
  will-change:transform,opacity;
}
.falling-chick.drop { animation:chickStack var(--duration) cubic-bezier(.16,.75,.25,1) var(--delay) forwards; }
@keyframes chickStack {
  0% { opacity:0; transform:translate3d(0,-110px,0) rotate(var(--start-rot)) scale(var(--scale)); }
  7% { opacity:1; }
  72% { opacity:1; transform:translate3d(var(--drift),calc(var(--fall-distance) + 10px),0) rotate(var(--rot)) scale(var(--scale)); }
  82% { transform:translate3d(var(--drift),calc(var(--fall-distance) - 7px),0) rotate(calc(var(--rot) - 3deg)) scale(var(--scale)); }
  91% { transform:translate3d(var(--drift),calc(var(--fall-distance) + 3px),0) rotate(calc(var(--rot) + 2deg)) scale(var(--scale)); }
  100% { opacity:1; transform:translate3d(var(--drift),var(--fall-distance),0) rotate(var(--rot)) scale(var(--scale)); }
}

.whatsapp { position:fixed; right:22px; bottom:22px; z-index:900; width:66px; height:66px; border-radius:50%; background:var(--green); color:white; display:grid; place-items:center; box-shadow:0 16px 38px rgba(0,145,52,.38), 0 0 0 7px rgba(0,145,52,.09); transition:.25s; }
.whatsapp svg { width:29px; height:29px; }
.whatsapp:hover { transform:translateY(-5px) scale(1.04); background:#00a63c; }

/* Inner pages */
.page-hero { padding:190px 0 100px; background:var(--forest); color:white; position:relative; overflow:hidden; }
.page-hero::before { content:''; position:absolute; width:420px; height:420px; border-radius:50%; background:rgba(0,145,52,.28); filter:blur(90px); top:-110px; right:5%; }
.page-hero h1 { font-size:clamp(3.4rem,7vw,7rem); max-width:1000px; position:relative; }
.page-hero p { margin-top:24px; max-width:680px; color:rgba(255,255,255,.72); font-size:1.12rem; position:relative; }
.breadcrumbs { color:var(--lime); font-weight:800; font-size:.82rem; text-transform:uppercase; letter-spacing:.1em; margin-bottom:28px; position:relative; }
.two-col { display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center; }
.rounded-photo { min-height:520px; border-radius:var(--radius-lg); background:linear-gradient(145deg,#dce9dd,#bcd9c1); background-size:cover; background-position:center; box-shadow:var(--shadow); }
.photo-farm { background-image:url('assets/about-breeder-flock.webp'); background-position:center 42%; }
.photo-farm-page { background-image:url('assets/srivi-breeder-house.webp'); }
.photo-consult { background-image:url('assets/poultry-mixed.webp'); }
.copy-stack { display:grid; gap:24px; }
.copy-stack ul { margin:0; padding-left:20px; display:grid; gap:10px; color:var(--muted); }
.feed-story {
  isolation:isolate;
  overflow:hidden;
  padding:128px 0;
  background:
    radial-gradient(circle at 10% 18%, rgba(184,239,135,.34) 0 7px, transparent 8px),
    radial-gradient(circle at 90% 80%, rgba(0,145,52,.18) 0 6px, transparent 7px),
    radial-gradient(circle at 50% 50%, rgba(184,239,135,.13), transparent 52%),
    var(--paper);
}
.feed-story::before,
.feed-story::after {
  content:'';
  position:absolute;
  z-index:-1;
  border:1px solid rgba(0,145,52,.18);
  border-radius:50%;
  pointer-events:none;
}
.feed-story::before { width:340px; height:340px; left:-190px; top:44px; box-shadow:0 0 0 52px rgba(184,239,135,.06); }
.feed-story::after { width:260px; height:260px; right:-120px; bottom:34px; box-shadow:0 0 0 42px rgba(0,145,52,.04); }
.feed-story-shell { display:grid; place-items:center; position:relative; }
.feed-story-copy { width:min(100%, 960px); justify-items:center; text-align:center; }
.feed-story-kicker {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:8px 18px;
  border:1px solid rgba(0,145,52,.22);
  border-radius:999px;
  background:rgba(255,255,255,.72);
  color:var(--green-dark);
  font-size:.78rem;
  font-weight:850;
  letter-spacing:.11em;
  text-transform:uppercase;
  box-shadow:0 10px 30px rgba(17,35,24,.06);
}
.feed-story-copy h2 { max-width:900px; }
.feed-story-copy .body-lg { max-width:820px; }
.feed-story-points {
  width:100%;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px !important;
  padding:8px 0 0 !important;
  list-style:none;
  text-align:left;
}
.feed-story-points li {
  position:relative;
  min-height:78px;
  display:flex;
  align-items:center;
  padding:18px 20px 18px 52px;
  border:1px solid var(--line);
  border-radius:18px;
  background:rgba(255,255,255,.76);
  box-shadow:0 12px 34px rgba(17,35,24,.055);
}
.feed-story-points li::before {
  content:'✓';
  position:absolute;
  left:18px;
  width:24px;
  height:24px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--lime);
  color:var(--forest);
  font-weight:900;
}
.feature-list { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:40px; }
.feature-box { padding:30px; border:1px solid var(--line); border-radius:var(--radius-md); background:white; }
.feature-box strong { display:block; font-family:'Archivo Black'; font-size:1.4rem; color:var(--forest); }
.feature-box p { margin-top:10px; color:var(--muted); font-size:.92rem; }
.gallery-page-hero { text-align:center; padding-bottom:126px; }
.gallery-page-hero .container { display:grid; justify-items:center; }
.gallery-page-hero h1 { max-width:1050px; }
.gallery-page-hero p { max-width:720px; }
.gallery-showcase {
  position:relative;
  overflow:hidden;
  padding:92px 0 110px;
  background:
    radial-gradient(circle at 50% 12%, rgba(184,239,135,.22), transparent 28%),
    var(--nav-cream);
}
.gallery-showcase::before,
.gallery-showcase::after {
  content:'';
  position:absolute;
  z-index:4;
  top:0;
  bottom:0;
  width:min(11vw,150px);
  pointer-events:none;
}
.gallery-showcase::before { left:0; background:linear-gradient(90deg,var(--nav-cream),transparent); }
.gallery-showcase::after { right:0; background:linear-gradient(-90deg,var(--nav-cream),transparent); }
.gallery-intro { text-align:center; max-width:790px; margin:0 auto 54px; padding:0 20px; }
.gallery-intro h2 { color:var(--forest); }
.gallery-intro p { color:var(--muted); max-width:620px; margin:22px auto 0; font-size:1.08rem; }
.gallery-rails { --gallery-gap:18px; }
.gallery-rail { width:100%; overflow:hidden; padding:12px 0; }
.gallery-track {
  display:flex;
  width:max-content;
  gap:var(--gallery-gap);
  animation:galleryMarquee 42s linear infinite;
  will-change:transform;
}
.gallery-showcase.is-paused .gallery-track { animation-play-state:paused; }
@keyframes galleryMarquee { to { transform:translateX(calc(-50% - var(--gallery-gap) / 2)); } }
.gallery-card {
  position:relative;
  flex:0 0 auto;
  width:clamp(230px,22vw,340px);
  aspect-ratio:1.04/1;
  padding:0;
  border:0;
  border-radius:24px;
  overflow:hidden;
  color:white;
  background:#cbd9cc;
  box-shadow:0 16px 42px rgba(17,35,24,.14);
  transition:transform .24s cubic-bezier(.2,.72,.2,1), box-shadow .24s ease;
  cursor:zoom-in;
}
.gallery-card:hover,
.gallery-card:focus-visible {
  z-index:5;
  transform:translateY(-8px) scale(1.035);
  box-shadow:0 28px 62px rgba(17,35,24,.25);
  outline:none;
}
.gallery-card:focus-visible { box-shadow:0 0 0 4px var(--lime), 0 28px 62px rgba(17,35,24,.25); }
.gallery-card img { width:100%; height:100%; object-fit:cover; transition:transform .6s cubic-bezier(.2,.72,.2,1); }
.gallery-card:hover img { transform:scale(1.06); }
.gallery-card::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,transparent 52%,rgba(7,29,16,.74)); pointer-events:none; }
.gallery-card span { position:absolute; z-index:2; left:18px; right:18px; bottom:16px; display:flex; justify-content:space-between; align-items:end; gap:14px; font-weight:800; text-align:left; text-shadow:0 2px 12px rgba(0,0,0,.28); }
.gallery-card span::after { content:'↗'; width:34px; height:34px; flex:0 0 auto; border-radius:50%; display:grid; place-items:center; background:rgba(255,255,255,.16); border:1px solid rgba(255,255,255,.32); backdrop-filter:blur(8px); }
.gallery-modal {
  position:fixed;
  z-index:3000;
  inset:0;
  display:grid;
  place-items:center;
  padding:28px;
  opacity:0;
  visibility:hidden;
  transition:opacity .28s ease, visibility .28s ease;
}
.gallery-modal.is-open { opacity:1; visibility:visible; }
.gallery-modal-backdrop { position:absolute; inset:0; background:rgba(5,19,11,.84); backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px); }
.gallery-modal-dialog { position:relative; z-index:2; width:min(1100px,94vw); max-height:90vh; display:grid; grid-template-rows:minmax(0,1fr) auto; overflow:hidden; border-radius:28px; background:var(--nav-cream); box-shadow:0 40px 110px rgba(0,0,0,.46); transform:translateY(18px) scale(.975); transition:transform .32s cubic-bezier(.2,.72,.2,1); }
.gallery-modal.is-open .gallery-modal-dialog { transform:none; }
.gallery-modal-media { min-height:0; display:grid; place-items:center; background:#0c1f13; }
.gallery-modal-media img { width:100%; max-height:74vh; object-fit:contain; }
.gallery-modal-caption { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:18px 22px; color:var(--forest); font-weight:800; }
.gallery-modal-close { position:absolute; z-index:3; top:16px; right:16px; width:46px; height:46px; border:1px solid rgba(255,255,255,.3); border-radius:50%; background:rgba(8,29,16,.58); color:white; font-size:1.5rem; line-height:1; display:grid; place-items:center; backdrop-filter:blur(10px); transition:.2s ease; }
.gallery-modal-close:hover { transform:rotate(6deg); background:var(--green); }
.blog-layout { display:grid; grid-template-columns:1.6fr .8fr; gap:50px; }
.blog-card { padding:32px 0; border-bottom:1px solid var(--line); }
.blog-card h3 { margin-top:12px; font-size:2rem; }
.blog-card p { color:var(--muted); margin-top:12px; max-width:700px; }
.sidebar { padding:28px; border-radius:var(--radius-md); background:var(--forest); color:white; align-self:start; position:sticky; top:110px; }
.sidebar p { color:rgba(255,255,255,.68); margin-top:12px; }
.sidebar .btn { margin-top:22px; }
.product-detail { display:grid; grid-template-columns:.9fr 1.1fr; gap:70px; align-items:start; }
.product-detail-visual { min-height:610px; border-radius:var(--radius-lg); background:linear-gradient(145deg,#e6efe5,#c7dec9); position:relative; }
.product-detail-visual::before { content:''; position:absolute; width:240px; height:390px; left:50%; top:50%; transform:translate(-50%,-50%) rotate(-4deg); background:white; border-radius:38px 38px 18px 18px; box-shadow:0 30px 70px rgba(25,63,40,.16); }
.product-detail-visual::after { content:'SRIVI'; position:absolute; left:50%; top:50%; transform:translate(-50%,-20%); font-family:'Archivo Black'; font-size:2.2rem; color:var(--green); }
.detail-list { display:grid; gap:14px; margin-top:30px; }
.detail-item { padding:18px 0; border-top:1px solid var(--line); display:grid; grid-template-columns:160px 1fr; gap:20px; }
.detail-item strong { color:var(--forest); }

/* Reveal animation */
.reveal { opacity:0; transform:translateY(34px); filter:blur(12px); transition:opacity .9s ease, transform .9s cubic-bezier(.2,.72,.2,1), filter .9s ease; }
.reveal.in-view { opacity:1; transform:none; filter:blur(0); }
.reveal-delay-1 { transition-delay:.08s; }
.reveal-delay-2 { transition-delay:.16s; }
.reveal-delay-3 { transition-delay:.24s; }

@media (max-width: 1120px) {
  .nav-links, .nav-cta .btn { display:none; }
  .menu-btn { display:flex; }
  .mobile-menu { position:fixed; inset:0; z-index:999; background:var(--forest); color:var(--white); padding:120px 24px 40px; display:flex; flex-direction:column; gap:18px; transform:translateY(-110%); transition:.4s cubic-bezier(.2,.7,.2,1); }
  .mobile-menu.open { transform:none; }
  .mobile-menu a { font-family:'Archivo Black'; font-size:2rem; text-transform:uppercase; }
  .hero { min-height:740px; }
  .hero-bottom { display:block; }
  .hero-mini { margin-top:22px; }
  .intro-grid, .two-col, .vision-wrap, .contact-band, .product-detail { grid-template-columns:1fr; gap:42px; }
  .poultry-video-card { min-height:620px; }
  .services { grid-template-columns:1fr; }
  .service-list { grid-template-columns:repeat(3,1fr); }
  .product-grid, .insight-grid { grid-template-columns:repeat(2,1fr); }
  .footer-grid { grid-template-columns:1.3fr 1fr; }
  .feature-list { grid-template-columns:1fr 1fr; }
  .blog-layout { grid-template-columns:1fr; }
  .sidebar { position:static; }
}

@media (max-width: 680px) {
  .container { width:min(calc(100% - 28px), var(--max)); }
  .topbar { font-size:.72rem; }
  .header { top:34px; }
  .nav { width:calc(100% - 28px); min-height:74px; }
  .nav > a:first-child { flex-basis:142px; width:142px; height:54px; }
  .section { padding:80px 0; }
  .section-tight { padding:58px 0; }
  h1 { font-size:clamp(3.1rem,16vw,5.4rem); }
  h2 { font-size:clamp(2.3rem,12vw,4rem); }
  .hero-content { padding-bottom:86px; }
  .hero-controls { left:14px; right:auto; }
  .hero-mini { display:none; }
  .section-heading { display:block; }
  .section-heading p { margin-top:20px; }
  .grass-edge { padding-bottom:110px; }
  .grass-edge::after { height:82px; }
  .poultry-video-card { min-height:430px; }
  .feed-story { padding:88px 0; }
  .feed-story-points { grid-template-columns:1fr; }
  .feed-story-copy { gap:20px; }
  .feed-story-copy .body-lg { font-size:1.02rem; }
  .stats { grid-template-columns:1fr; }
  .service-feature { min-height:460px; }
  .service-feature-content { display:block; }
  .service-feature-content .btn { margin-top:20px; }
  .service-list { grid-template-columns:1fr; }
  .product-grid, .insight-grid, .feature-list { grid-template-columns:1fr; }
  .vision-section { min-height:640px; background-position:38% center; }
  .vision-blur { padding:48px 20px 48px 0; }
  .vision-blur::before { left:-14px; right:-80px; top:-30px; bottom:-30px; }
  .contact-copy { padding:48px 28px; }
  .contact-form { margin:10px; padding:28px 20px; }
  .form-grid { grid-template-columns:1fr; }
  .field.full { grid-column:auto; }
  .footer { padding-top:92px; padding-bottom:170px; min-height:700px; }
  .footer::after { height:90px; }
  .footer-grid { grid-template-columns:1fr; gap:34px; padding-bottom:62px; }
  .footer-bottom { flex-direction:column; }
  .page-hero { padding:150px 0 76px; }
  .page-hero h1 { font-size:clamp(3rem,14vw,5.2rem); }
  .gallery-page-hero { padding-bottom:98px; }
  .gallery-showcase { padding:70px 0 82px; }
  .gallery-intro { margin-bottom:36px; }
  .gallery-rails { --gallery-gap:12px; }
  .gallery-track { animation-duration:34s; }
  .gallery-card { width:230px; border-radius:19px; }
  .gallery-modal { padding:14px; }
  .gallery-modal-dialog { width:100%; border-radius:22px; }
  .gallery-modal-caption { padding:15px 17px; font-size:.9rem; }
  .whatsapp { width:60px; height:60px; right:16px; bottom:16px; }
  .whatsapp svg { width:27px; height:27px; }
  .detail-item { grid-template-columns:1fr; gap:5px; }
  .product-detail-visual { min-height:470px; }
  .product-detail-visual::before { width:180px; height:300px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; scroll-behavior:auto !important; transition-duration:.01ms !important; }
  .reveal { opacity:1; transform:none; filter:none; }
  .gallery-track { animation:none !important; transform:none !important; }
}
