/* ==========================================================================
   IRRA CROPCARE PVT. LTD. — design system
   Palette derived from the brand logo & PGR Brochure 2026
   ========================================================================== */

:root{
  /* surfaces */
  --bg:        #04120b;
  --bg-2:      #061a0f;
  --bg-3:      #08210f;
  --surface:   rgba(255,255,255,.045);
  --surface-2: rgba(255,255,255,.07);
  --line:      rgba(255,255,255,.10);
  --line-2:    rgba(255,255,255,.16);

  /* ink */
  --ink:       #EAF4EC;
  --ink-soft:  #B9CFBF;
  --ink-mute:  #7E9686;

  /* brand */
  --leaf:      #8CC63F;   /* logo lime  */
  --leaf-lit:  #A9E051;
  --forest:    #1B7A3E;   /* logo green */
  --forest-dk: #0E4F27;
  --sky:       #2E9BE0;   /* logo blue  */
  --deep-blue: #1B5E9E;
  --gold:      #E8B33C;
  --magenta:   #E0357F;
  --spring:    #35E08C;

  --grad: linear-gradient(100deg, var(--leaf) 0%, var(--spring) 45%, var(--gold) 100%);
  --grad-soft: linear-gradient(135deg, rgba(140,198,63,.16), rgba(53,224,140,.06));

  /* type */
  --f-display: 'Space Grotesk', 'Noto Sans Devanagari', system-ui, sans-serif;
  --f-body:    'Manrope', 'Noto Sans Devanagari', system-ui, sans-serif;

  /* metrics */
  --wrap: 1240px;
  --r-sm: 12px;
  --r-md: 20px;
  --r-lg: 28px;
  --r-xl: 40px;

  --ease: cubic-bezier(.22,1,.36,1);
  --ease-io: cubic-bezier(.65,0,.35,1);

  --shadow-lift: 0 30px 70px -30px rgba(0,0,0,.85);
  --glow-leaf: 0 0 60px -12px rgba(140,198,63,.55);
}

/* Marathi typography tuning */
html[data-lang="mr"]{
  --f-display: 'Noto Sans Devanagari', 'Space Grotesk', system-ui, sans-serif;
  --f-body:    'Noto Sans Devanagari', 'Manrope', system-ui, sans-serif;
}
html[data-lang="mr"] .sec__title,
html[data-lang="mr"] .hero__title{ line-height:1.28; letter-spacing:-.005em; }
html[data-lang="mr"] .eyebrow,
html[data-lang="mr"] .sec__tag span,
html[data-lang="mr"] .filter{ letter-spacing:.02em; }

/* ---------- reset ---------- */
*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body{
  margin:0; background:var(--bg); color:var(--ink);
  font-family:var(--f-body); font-size:16px; line-height:1.7;
  font-weight:400; overflow-x:hidden;
  -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
button,input,select,textarea{ font:inherit; color:inherit; }
h1,h2,h3,h4{ margin:0; font-family:var(--f-display); font-weight:700; letter-spacing:-.03em; line-height:1.08; }
p{ margin:0; }
ul{ margin:0; padding:0; list-style:none; }
::selection{ background:var(--leaf); color:#06180c; }
:focus-visible{ outline:2px solid var(--leaf-lit); outline-offset:3px; border-radius:6px; }
:focus:not(:focus-visible){ outline:none; }

/* scrollbar */
::-webkit-scrollbar{ width:10px; }
::-webkit-scrollbar-track{ background:#03100a; }
::-webkit-scrollbar-thumb{ background:#1d4a2c; border-radius:10px; border:2px solid #03100a; }
::-webkit-scrollbar-thumb:hover{ background:#2c7042; }

.wrap{ width:min(100% - 44px, var(--wrap)); margin-inline:auto; }
.grad{
  background:var(--grad); -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent; color:transparent;
}

/* ==========================================================================
   PRELOADER
   ========================================================================== */
.loader{
  position:fixed; inset:0; z-index:9999; display:grid; place-content:center;
  gap:26px; justify-items:center; background:var(--bg);
  transition:opacity .7s var(--ease), visibility .7s;
}
.loader.is-done{ opacity:0; visibility:hidden; }
.loader__inner{ position:relative; display:grid; place-items:center; width:132px; height:132px; }
.loader__mark{ width:70px; filter:drop-shadow(0 0 26px rgba(140,198,63,.45)); animation:breathe 2.4s var(--ease) infinite; }
.loader__ring{
  position:absolute; inset:0; border-radius:50%;
  border:1.5px solid rgba(255,255,255,.07);
  border-top-color:var(--leaf); border-right-color:var(--spring);
  animation:spin 1.1s linear infinite;
}
.loader__bar{ width:190px; height:2px; background:rgba(255,255,255,.09); border-radius:2px; overflow:hidden; }
.loader__bar span{ display:block; height:100%; width:0; background:var(--grad); transition:width .25s linear; }
.loader__txt{ font-family:var(--f-display); font-size:11px; letter-spacing:.42em; color:var(--ink-mute); }
@keyframes spin{ to{ transform:rotate(360deg); } }
@keyframes breathe{ 0%,100%{ transform:scale(1); } 50%{ transform:scale(1.09); } }

/* ==========================================================================
   AMBIENT
   ========================================================================== */
.grain{
  position:fixed; inset:-200%; z-index:9000; pointer-events:none; opacity:.035;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)'/%3E%3C/svg%3E");
  animation:grain 8s steps(10) infinite;
}
@keyframes grain{
  0%,100%{transform:translate(0,0)} 10%{transform:translate(-3%,-6%)} 20%{transform:translate(-8%,3%)}
  30%{transform:translate(4%,-9%)} 40%{transform:translate(-3%,10%)} 50%{transform:translate(-8%,5%)}
  60%{transform:translate(6%,0)} 70%{transform:translate(0,7%)} 80%{transform:translate(2%,12%)} 90%{transform:translate(-6%,4%)}
}

.cursor,.cursor-dot{
  position:fixed; top:0; left:0; z-index:9500; pointer-events:none; border-radius:50%;
  opacity:0;                      /* revealed on first pointer move */
}
body.has-pointer .cursor,
body.has-pointer .cursor-dot{ opacity:1; }
.cursor{
  width:34px; height:34px; margin:-17px 0 0 -17px; border:1.5px solid rgba(140,198,63,.55);
  transition:width .3s var(--ease), height .3s var(--ease), margin .3s var(--ease), background .3s, opacity .3s;
  backdrop-filter:invert(.06);
}
.cursor.is-big{ width:62px; height:62px; margin:-31px 0 0 -31px; background:rgba(140,198,63,.13); border-color:transparent; }
.cursor-dot{ width:5px; height:5px; margin:-2.5px 0 0 -2.5px; background:var(--leaf); }
@media (hover:none),(max-width:900px){ .cursor,.cursor-dot{ display:none; } }

.scroll-progress{
  position:fixed; top:0; left:0; height:2px; width:0; z-index:9200;
  background:var(--grad); box-shadow:0 0 14px rgba(140,198,63,.6);
}

/* ==========================================================================
   BUTTONS
   ========================================================================== */
.btn{
  --btn-bg:transparent; --btn-fg:var(--ink);
  position:relative; display:inline-flex; align-items:center; justify-content:center; gap:10px;
  padding:15px 28px; border:1px solid var(--line-2); border-radius:100px;
  font-family:var(--f-display); font-size:14.5px; font-weight:600; letter-spacing:.01em;
  background:var(--btn-bg); color:var(--btn-fg); cursor:pointer; overflow:hidden;
  transition:transform .35s var(--ease), border-color .35s, color .35s, box-shadow .35s;
  will-change:transform;
}
.btn svg{ flex:none; transition:transform .35s var(--ease); }
.btn::before{
  content:''; position:absolute; inset:0; background:var(--grad);
  transform:translateY(101%); transition:transform .45s var(--ease); z-index:-1;
}
.btn:hover::before{ transform:translateY(0); }
.btn:hover{ color:#06180c; border-color:transparent; box-shadow:var(--glow-leaf); }
.btn:hover svg{ transform:translateX(4px); }
.btn--primary{ background:var(--grad); color:#06180c; border-color:transparent; }
.btn--primary::before{ background:linear-gradient(100deg,#fff,#DFF7C7); }
.btn--ghost{ background:rgba(255,255,255,.03); }
.btn--sm{ padding:11px 20px; font-size:13px; }
.btn--full{ width:100%; }
.btn > *{ position:relative; z-index:1; }

/* ==========================================================================
   NAV
   ========================================================================== */
.nav{
  position:fixed; top:0; left:0; right:0; z-index:8000; padding:16px 0;
  transition:padding .45s var(--ease), background .45s, backdrop-filter .45s, border-color .45s;
  border-bottom:1px solid transparent;
}
.nav.is-stuck{
  padding:9px 0; background:rgba(4,18,11,.72);
  backdrop-filter:blur(22px) saturate(160%); -webkit-backdrop-filter:blur(22px) saturate(160%);
  border-bottom-color:var(--line);
}
.nav__wrap{ width:min(100% - 44px, 1340px); margin-inline:auto; display:flex; align-items:center; gap:24px; }
/* --- brand lockup: emblem + typeset wordmark (readable on dark) --- */
.brand{ display:inline-flex; align-items:center; gap:12px; }
.brand__mark{
  height:46px; width:auto; flex:none; transition:height .45s var(--ease), filter .45s;
  filter:drop-shadow(0 3px 12px rgba(0,0,0,.55));
}
.brand:hover .brand__mark{ filter:drop-shadow(0 0 20px rgba(140,198,63,.55)); }
.brand__type{ display:grid; line-height:1; }
.brand__type b{
  font-family:var(--f-display); font-size:20px; font-weight:700;
  letter-spacing:.02em; color:#fff;
}
.brand__type em{
  margin-top:3px; font-family:var(--f-display); font-style:normal; white-space:nowrap;
  font-size:10.5px; font-weight:600; letter-spacing:.13em; color:var(--leaf-lit);
}
.brand__type em span{ color:var(--ink-mute); }
.brand__type i{
  margin-top:3px; font-style:normal; font-size:7.5px; font-weight:600;
  letter-spacing:.26em; color:var(--ink-mute);
}
.brand--lg .brand__mark{ height:62px; }
.brand--lg .brand__type b{ font-size:27px; }
.brand--lg .brand__type em{ font-size:13px; }
.brand--lg .brand__type i{ font-size:9px; }
.nav.is-stuck .nav__brand .brand__mark{ height:39px; }
.nav__links{ display:flex; gap:4px; margin-left:auto; }
.nav__links a{
  position:relative; padding:9px 15px; font-size:14px; font-weight:500; color:var(--ink-soft);
  border-radius:100px; transition:color .3s, background .3s;
}
.nav__links a::after{
  content:''; position:absolute; left:15px; right:15px; bottom:4px; height:1.5px;
  background:var(--grad); transform:scaleX(0); transform-origin:left; transition:transform .4s var(--ease);
}
.nav__links a:hover{ color:var(--ink); }
.nav__links a:hover::after,.nav__links a.is-active::after{ transform:scaleX(1); }
.nav__links a.is-active{ color:var(--ink); }
.nav__actions{ display:flex; align-items:center; gap:12px; }

.langtog{
  position:relative; display:flex; align-items:center; padding:3px; gap:2px;
  background:rgba(255,255,255,.055); border:1px solid var(--line); border-radius:100px; cursor:pointer;
}
.langtog__pill{
  position:absolute; top:3px; left:3px; height:calc(100% - 6px); width:44px; border-radius:100px;
  background:var(--grad); transition:transform .4s var(--ease), width .4s var(--ease);
}
.langtog.is-mr .langtog__pill{ transform:translateX(44px); width:56px; }
.langtog__opt{
  position:relative; z-index:1; display:grid; place-items:center; width:44px; height:28px;
  font-family:var(--f-display); font-size:11.5px; font-weight:700; letter-spacing:.04em;
  color:var(--ink-mute); transition:color .3s;
}
.langtog__opt[data-lang-opt="mr"]{ width:56px; font-family:'Noto Sans Devanagari',sans-serif; font-size:12px; }
.langtog__opt.is-on{ color:#06180c; }

.burger{
  display:none; width:42px; height:42px; border:1px solid var(--line); border-radius:12px;
  background:rgba(255,255,255,.04); cursor:pointer; padding:0; place-items:center; gap:5px;
}
.burger span{ display:block; width:17px; height:1.5px; background:var(--ink); transition:transform .4s var(--ease), opacity .3s; }
.burger[aria-expanded="true"] span:first-child{ transform:translateY(3.25px) rotate(45deg); }
.burger[aria-expanded="true"] span:last-child{ transform:translateY(-3.25px) rotate(-45deg); }

/* ==========================================================================
   HERO
   ========================================================================== */
.hero{
  position:relative; min-height:100svh; display:flex; align-items:center;
  padding:132px 0 70px; overflow:hidden; isolation:isolate;
}
.hero__canvas{ position:absolute; inset:0; width:100%; height:100%; z-index:-3; }
.hero__veil{
  position:absolute; inset:0; z-index:-2; pointer-events:none;
  background:
    radial-gradient(120% 80% at 78% 20%, transparent 20%, rgba(4,18,11,.55) 62%, var(--bg) 96%),
    linear-gradient(180deg, rgba(4,18,11,.86) 0%, transparent 26%, transparent 62%, var(--bg) 100%);
}
.hero__glow{ position:absolute; z-index:-2; border-radius:50%; filter:blur(110px); pointer-events:none; }
.hero__glow--a{ width:620px; height:620px; top:-14%; right:-8%; background:rgba(53,224,140,.16); animation:float1 16s ease-in-out infinite; }
.hero__glow--b{ width:480px; height:480px; bottom:-18%; left:-10%; background:rgba(232,179,60,.11); animation:float2 20s ease-in-out infinite; }
@keyframes float1{ 0%,100%{transform:translate(0,0)} 50%{transform:translate(-50px,44px)} }
@keyframes float2{ 0%,100%{transform:translate(0,0)} 50%{transform:translate(56px,-40px)} }

.hero__grid{
  width:min(100% - 44px, 1340px); margin-inline:auto;
  display:grid; grid-template-columns:1.02fr .98fr; gap:40px; align-items:center;
}

.eyebrow{
  display:inline-flex; align-items:center; gap:10px; padding:8px 17px 8px 13px;
  border:1px solid var(--line-2); border-radius:100px; background:rgba(255,255,255,.04);
  backdrop-filter:blur(10px);
  font-family:var(--f-display); font-size:12px; font-weight:600; letter-spacing:.08em;
  text-transform:uppercase; color:var(--ink-soft);
}
.eyebrow__dot{
  width:7px; height:7px; border-radius:50%; background:var(--spring); flex:none;
  box-shadow:0 0 0 0 rgba(53,224,140,.65); animation:pulse 2.2s infinite;
}
@keyframes pulse{ 70%{box-shadow:0 0 0 11px rgba(53,224,140,0)} 100%{box-shadow:0 0 0 0 rgba(53,224,140,0)} }

.hero__title{
  margin:26px 0 22px;
  font-size:clamp(2.6rem, 6.1vw, 5.1rem); line-height:1.02; letter-spacing:-.045em;
}
.hero__title .line{ display:block; overflow:hidden; }
.hero__title .line > span{ display:block; }
.hero__lede{ max-width:560px; font-size:clamp(1rem,1.18vw,1.13rem); color:var(--ink-soft); line-height:1.75; }
.hero__cta{ display:flex; flex-wrap:wrap; gap:13px; margin:34px 0 44px; }

.hero__stats{ display:flex; gap:14px; flex-wrap:wrap; }
.stat{
  flex:1 1 118px; padding:17px 20px; border:1px solid var(--line); border-radius:var(--r-md);
  background:rgba(255,255,255,.032); backdrop-filter:blur(10px);
  transition:transform .45s var(--ease), border-color .45s, background .45s;
}
.stat:hover{ transform:translateY(-5px); border-color:rgba(140,198,63,.4); background:rgba(140,198,63,.07); }
.stat b{
  display:block; font-family:var(--f-display); font-size:2.1rem; font-weight:700;
  letter-spacing:-.04em; line-height:1;
  background:var(--grad); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
}
.stat b i{ font-style:normal; font-size:1.3rem; }
.stat span{ display:block; margin-top:7px; font-size:12.5px; color:var(--ink-mute); letter-spacing:.01em; }

/* ---- 3D product stage ---- */
.hero__stage{
  position:relative; height:min(74svh,620px); display:grid; place-items:center;
  perspective:1400px; transform-style:preserve-3d;
}
.stage__halo{
  position:absolute; width:74%; aspect-ratio:1; border-radius:50%;
  background:radial-gradient(circle, rgba(140,198,63,.26) 0%, rgba(53,224,140,.10) 42%, transparent 68%);
  filter:blur(28px); animation:haloPulse 7s ease-in-out infinite;
}
@keyframes haloPulse{ 0%,100%{transform:scale(1);opacity:.85} 50%{transform:scale(1.12);opacity:1} }
.stage__ring{
  position:absolute; border-radius:50%; border:1px solid rgba(255,255,255,.09);
  transform-style:preserve-3d; pointer-events:none;
}
.stage__ring--1{ width:78%; aspect-ratio:1; transform:rotateX(76deg) translateZ(-90px); animation:ringSpin 26s linear infinite; }
.stage__ring--2{
  width:56%; aspect-ratio:1; border-color:rgba(140,198,63,.30); border-style:dashed;
  transform:rotateX(76deg) translateZ(-40px); animation:ringSpin 18s linear infinite reverse;
}
@keyframes ringSpin{ to{ transform:rotateX(76deg) rotateZ(360deg) translateZ(-90px); } }

/* pods are centred on the stage, then pushed out along X and back in Z.
   offsets are absolute (not %) because a bottle's own width is narrow. */
.stage__pod{
  position:absolute; top:50%; left:50%;
  transform-style:preserve-3d; will-change:transform;
  --ox:0px; --oz:0px; --ry:0deg;
  transform:translate3d(calc(-50% + var(--ox)), -50%, var(--oz)) rotateY(var(--ry));
}
.stage__pod img{
  height:min(46svh,380px); width:auto; object-fit:contain;
  filter:drop-shadow(0 40px 44px rgba(0,0,0,.62));
}
.stage__pod--l{ --ox:-198px; --oz:-170px; --ry:22deg; }
.stage__pod--r{ --ox: 198px; --oz:-170px; --ry:-22deg; }
/* depth-of-field on the flanking bottles reads better than flat opacity —
   they stay legible instead of going green through the transparency */
.stage__pod--l img,
.stage__pod--r img{
  height:min(36svh,296px); opacity:.92;
  filter:drop-shadow(0 34px 38px rgba(0,0,0,.6)) blur(1.1px) brightness(.82) saturate(.9);
}

.stage__pod--hero{ z-index:3; animation:bobPod 6s ease-in-out infinite; }
.stage__pod--hero img{
  height:min(52svh,440px);
  filter:drop-shadow(0 52px 52px rgba(0,0,0,.72)) drop-shadow(0 0 60px rgba(140,198,63,.22));
}
@keyframes bobPod{
  0%,100%{ transform:translate3d(calc(-50% + var(--ox)), -50%, var(--oz)) rotateY(var(--ry)); }
  50%    { transform:translate3d(calc(-50% + var(--ox)), calc(-50% - 17px), var(--oz)) rotateY(var(--ry)); }
}
@keyframes bob{ 0%,100%{ transform:translateY(0) } 50%{ transform:translateY(-17px) } }

.stage__chip{
  position:absolute; z-index:5; display:grid; gap:1px; padding:11px 16px;
  border:1px solid var(--line-2); border-radius:15px;
  background:rgba(8,28,17,.62); backdrop-filter:blur(18px) saturate(150%);
  box-shadow:0 20px 40px -18px rgba(0,0,0,.8); will-change:transform;
}
.stage__chip b{
  font-family:var(--f-display); font-size:1.22rem; letter-spacing:-.03em; line-height:1;
  background:var(--grad); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
}
.stage__chip span{ font-size:11px; color:var(--ink-mute); letter-spacing:.02em; white-space:nowrap; }
.stage__chip--1{ top:11%; left:-2%;  animation:bob 7s ease-in-out infinite; }
.stage__chip--2{ top:44%; right:-4%; animation:bob 8s ease-in-out .8s infinite; }
.stage__chip--3{ bottom:12%; left:4%; animation:bob 6.5s ease-in-out 1.4s infinite; }

.hero__scroll{
  position:absolute; bottom:26px; left:50%; transform:translateX(-50%);
  display:grid; justify-items:center; gap:9px;
  font-family:var(--f-display); font-size:10px; letter-spacing:.34em; color:var(--ink-mute);
}
.hero__scroll-line{ width:1px; height:42px; background:linear-gradient(var(--leaf),transparent); position:relative; overflow:hidden; }
.hero__scroll-line::after{ content:''; position:absolute; inset:0; background:var(--ink); animation:scrollDot 2s var(--ease-io) infinite; }
@keyframes scrollDot{ 0%{transform:translateY(-100%)} 60%,100%{transform:translateY(100%)} }

/* ==========================================================================
   TICKER
   ========================================================================== */
.ticker{
  position:relative; padding:19px 0; overflow:hidden;
  border-block:1px solid var(--line); background:rgba(255,255,255,.022);
}
.ticker::before,.ticker::after{
  content:''; position:absolute; top:0; bottom:0; width:130px; z-index:2; pointer-events:none;
}
.ticker::before{ left:0;  background:linear-gradient(90deg,var(--bg),transparent); }
.ticker::after{ right:0; background:linear-gradient(270deg,var(--bg),transparent); }
.ticker__track{ display:flex; gap:44px; width:max-content; animation:slide 42s linear infinite; }
.ticker:hover .ticker__track{ animation-play-state:paused; }
.ticker__track span{
  display:inline-flex; align-items:center; gap:11px;
  font-family:var(--f-display); font-size:14px; font-weight:500; color:var(--ink-mute);
  letter-spacing:.04em; white-space:nowrap;
}
.ticker__track span::before{ content:''; width:5px; height:5px; border-radius:50%; background:var(--leaf); opacity:.65; }
@keyframes slide{ to{ transform:translateX(-50%); } }

/* ==========================================================================
   SECTION PRIMITIVES
   ========================================================================== */
.sec{ position:relative; padding:clamp(80px,10vw,140px) 0; }
.sec__head{ max-width:760px; margin-bottom:56px; }
.sec__head--center{ margin-inline:auto; text-align:center; }
.sec__tag{ display:inline-flex; align-items:center; gap:9px; margin-bottom:20px; }
.sec__tag::before{ content:''; width:26px; height:1px; background:var(--leaf); }
.sec__tag span{
  font-family:var(--f-display); font-size:11.5px; font-weight:600;
  letter-spacing:.2em; text-transform:uppercase; color:var(--leaf);
}
.sec__title{ font-size:clamp(2rem,4.2vw,3.5rem); letter-spacing:-.04em; line-height:1.06; }
.sec__lede{ margin-top:20px; font-size:clamp(.98rem,1.1vw,1.08rem); color:var(--ink-soft); line-height:1.78; max-width:62ch; }
.sec__head--center .sec__lede{ margin-inline:auto; }

/* reveal */
.reveal{ opacity:0; transform:translateY(30px); transition:opacity .85s var(--ease), transform .85s var(--ease); }
.reveal.is-in{ opacity:1; transform:none; }
.reveal[data-delay="1"]{ transition-delay:.08s }  .reveal[data-delay="2"]{ transition-delay:.16s }
.reveal[data-delay="3"]{ transition-delay:.24s }  .reveal[data-delay="4"]{ transition-delay:.32s }
.reveal[data-delay="5"]{ transition-delay:.40s }  .reveal[data-delay="6"]{ transition-delay:.48s }

/* glass card + tilt */
.glasscard{
  position:relative; padding:36px; border:1px solid var(--line); border-radius:var(--r-lg);
  background:linear-gradient(160deg, rgba(255,255,255,.062), rgba(255,255,255,.018));
  backdrop-filter:blur(18px); overflow:hidden; box-shadow:var(--shadow-lift);
}
.glasscard__sheen{
  position:absolute; inset:0; pointer-events:none; opacity:0; transition:opacity .5s;
  background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%), rgba(140,198,63,.15), transparent 62%);
}
.glasscard:hover .glasscard__sheen{ opacity:1; }
.tilt{ transform-style:preserve-3d; will-change:transform; transition:transform .5s var(--ease), border-color .5s; }
.tilt:hover{ border-color:rgba(140,198,63,.34); }

/* ==========================================================================
   ABOUT
   ========================================================================== */
.about__grid{ display:grid; grid-template-columns:1.15fr .85fr; gap:64px; align-items:center; }
.about__left .sec__lede + .sec__lede{ margin-top:16px; }
.about__pills{ display:flex; flex-wrap:wrap; gap:9px; margin-top:32px; }
.pill{
  padding:8px 16px; border:1px solid var(--line); border-radius:100px;
  background:rgba(255,255,255,.035); font-size:13px; color:var(--ink-soft);
  transition:border-color .35s, color .35s, background .35s, transform .35s var(--ease);
}
.pill:hover{ border-color:rgba(140,198,63,.5); color:var(--leaf-lit); background:rgba(140,198,63,.08); transform:translateY(-2px); }
.about__mark{ width:64px; margin-bottom:24px; filter:drop-shadow(0 0 26px rgba(140,198,63,.3)); }
.about__right h3{ font-size:1.65rem; margin-bottom:14px; }
.about__right p{ color:var(--ink-soft); font-size:.97rem; line-height:1.78; }
.about__facts{ display:grid; gap:16px; margin-top:28px; padding-top:26px; border-top:1px solid var(--line); }
.about__facts div b{ display:block; font-family:var(--f-display); font-size:1.05rem; color:var(--leaf-lit); letter-spacing:-.02em; }
.about__facts div span{ font-size:12.5px; color:var(--ink-mute); }

/* ==========================================================================
   PRODUCTS
   ========================================================================== */
.filters{ display:flex; flex-wrap:wrap; gap:9px; margin-bottom:44px; }
.filter{
  padding:10px 20px; border:1px solid var(--line); border-radius:100px; cursor:pointer;
  background:rgba(255,255,255,.03); font-family:var(--f-display); font-size:13.5px;
  font-weight:500; color:var(--ink-soft);
  transition:all .35s var(--ease);
}
.filter:hover{ border-color:var(--line-2); color:var(--ink); }
.filter.is-on{ background:var(--grad); color:#06180c; border-color:transparent; font-weight:700; box-shadow:var(--glow-leaf); }

.pgrid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(295px,1fr)); gap:22px; }

.pcard{
  --acc:var(--leaf);
  position:relative; display:flex; flex-direction:column; padding:26px 26px 24px;
  border:1px solid var(--line); border-radius:var(--r-lg); overflow:hidden; cursor:pointer;
  background:linear-gradient(165deg, rgba(255,255,255,.055), rgba(255,255,255,.014));
  transform-style:preserve-3d; will-change:transform;
  transition:transform .3s var(--ease), border-color .45s, box-shadow .45s;
}
.pcard.is-hidden{ display:none; }
.pcard::before{
  content:''; position:absolute; inset:0; opacity:0; transition:opacity .5s; pointer-events:none;
  background:radial-gradient(460px circle at var(--mx,50%) var(--my,50%),
             color-mix(in srgb, var(--acc) 22%, transparent), transparent 60%);
}
.pcard:hover{ border-color:color-mix(in srgb,var(--acc) 45%, transparent); box-shadow:0 40px 80px -40px color-mix(in srgb,var(--acc) 60%, transparent), var(--shadow-lift); }
.pcard:hover::before{ opacity:1; }
.pcard__aura{
  position:absolute; top:-24%; left:50%; translate:-50% 0; width:78%; aspect-ratio:1; border-radius:50%;
  background:radial-gradient(circle, color-mix(in srgb,var(--acc) 40%, transparent) 0%, transparent 66%);
  filter:blur(46px); opacity:.5; transition:opacity .55s, transform .55s var(--ease); pointer-events:none;
}
.pcard:hover .pcard__aura{ opacity:.95; transform:scale(1.14); }

.pcard__head{ position:relative; display:flex; justify-content:space-between; align-items:flex-start; gap:12px; z-index:2; }
.pcard__cat{
  padding:5px 12px; border-radius:100px; font-family:var(--f-display); font-size:10.5px; font-weight:700;
  letter-spacing:.12em; text-transform:uppercase;
  color:color-mix(in srgb,var(--acc) 82%, white); border:1px solid color-mix(in srgb,var(--acc) 40%, transparent);
  background:color-mix(in srgb,var(--acc) 12%, transparent);
}
.pcard__pack{ font-family:var(--f-display); font-size:12px; color:var(--ink-mute); letter-spacing:.05em; }

/* overflow:hidden on .pcard flattens its 3D context, so the shot
   carries its own perspective to keep the pack-shot popping forward.
   Flex (not grid) centring: a percentage max-height on a grid item
   resolves against an auto-sized row and is dropped, so the shot must
   be capped in absolute units. */
.pcard__shot{
  position:relative; z-index:2; height:272px; flex:none; margin:14px 0 18px;
  display:flex; align-items:center; justify-content:center;
  transform-style:preserve-3d; perspective:820px;
}
.pcard__shot img{
  max-height:258px; max-width:82%; width:auto; object-fit:contain;
  filter:drop-shadow(0 26px 30px rgba(0,0,0,.6));
  transition:transform .6s var(--ease), filter .6s;
  transform:translateZ(38px);
}
.pcard:hover .pcard__shot img{ transform:translateZ(58px) scale(1.07) rotate(-2deg); filter:drop-shadow(0 34px 40px rgba(0,0,0,.7)); }
.pcard__pedestal{
  position:absolute; bottom:4px; left:50%; translate:-50% 0; width:64%; height:16px; border-radius:50%;
  background:radial-gradient(ellipse, color-mix(in srgb,var(--acc) 40%, transparent), transparent 70%);
  filter:blur(7px); transition:width .55s var(--ease), opacity .55s;
}
.pcard:hover .pcard__pedestal{ width:76%; opacity:.85; }

.pcard__body{ position:relative; z-index:2; margin-top:auto; }
.pcard__name{ font-size:1.5rem; letter-spacing:-.035em; }
.pcard__type{ margin-top:5px; font-size:12px; color:var(--ink-mute); letter-spacing:.02em; }
.pcard__desc{ margin-top:13px; font-size:.9rem; color:var(--ink-soft); line-height:1.65; }
.pcard__foot{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  margin-top:20px; padding-top:17px; border-top:1px solid var(--line);
  font-family:var(--f-display); font-size:13px; font-weight:600; color:var(--acc);
}
.pcard__foot svg{ transition:transform .4s var(--ease); }
.pcard:hover .pcard__foot svg{ transform:translateX(5px); }

/* ==========================================================================
   SCIENCE
   ========================================================================== */
.science{ overflow:hidden; }
.science__bg{
  position:absolute; inset:0; z-index:-1; opacity:.55;
  background:
    radial-gradient(60% 50% at 50% 0%, rgba(53,224,140,.10), transparent 70%),
    linear-gradient(180deg, transparent, rgba(140,198,63,.035), transparent);
}
.feat{ display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:20px; }
.feat__card{
  position:relative; padding:32px 30px 34px; border:1px solid var(--line); border-radius:var(--r-lg);
  background:linear-gradient(165deg, rgba(255,255,255,.05), rgba(255,255,255,.012));
  overflow:hidden; transform-style:preserve-3d; perspective:760px; will-change:transform;
  transition:transform .35s var(--ease), border-color .45s, background .45s;
}
.feat__card::after{
  content:''; position:absolute; top:0; left:0; right:0; height:1px;
  background:linear-gradient(90deg,transparent,rgba(140,198,63,.65),transparent);
  transform:scaleX(0); transition:transform .6s var(--ease);
}
.feat__card:hover{ border-color:rgba(140,198,63,.3); background:linear-gradient(165deg, rgba(140,198,63,.075), rgba(255,255,255,.014)); }
.feat__card:hover::after{ transform:scaleX(1); }
.feat__ico{
  width:56px; height:56px; display:grid; place-items:center; margin-bottom:22px;
  border:1px solid rgba(140,198,63,.28); border-radius:17px; color:var(--leaf-lit);
  background:rgba(140,198,63,.09); transform:translateZ(26px);
  transition:transform .55s var(--ease), box-shadow .5s;
}
.feat__card:hover .feat__ico{ transform:translateZ(46px) rotate(-6deg); box-shadow:0 0 34px -6px rgba(140,198,63,.5); }
.feat__ico svg{ width:28px; height:28px; }
.feat__card h3{ font-size:1.22rem; margin-bottom:11px; letter-spacing:-.025em; }
.feat__card p{ font-size:.91rem; color:var(--ink-soft); line-height:1.72; }

/* ==========================================================================
   APPLICATION STEPS
   ========================================================================== */
.steps{ display:grid; gap:0; }
.step{
  display:grid; grid-template-columns:130px 1fr; gap:34px; align-items:start;
  padding:38px 0; border-top:1px solid var(--line); transition:padding-left .5s var(--ease);
}
.step:last-child{ border-bottom:1px solid var(--line); }
.step:hover{ padding-left:16px; }
.step__n{
  font-family:var(--f-display); font-size:3.1rem; font-weight:700; letter-spacing:-.05em; line-height:.9;
  color:transparent; -webkit-text-stroke:1.2px rgba(140,198,63,.45); transition:-webkit-text-stroke-color .5s, color .5s;
}
.step:hover .step__n{ -webkit-text-stroke-color:transparent; background:var(--grad); -webkit-background-clip:text; background-clip:text; }
.step__body{ max-width:640px; }
.step__body h3{ font-size:1.5rem; margin-bottom:11px; letter-spacing:-.03em; }
.step__body p{ color:var(--ink-soft); font-size:.96rem; line-height:1.74; }
.step__dose{
  display:inline-block; margin-top:17px; padding:8px 17px; border-radius:100px;
  border:1px solid rgba(232,179,60,.35); background:rgba(232,179,60,.09);
  font-family:var(--f-display); font-size:13px; font-weight:600; color:var(--gold);
}

/* ==========================================================================
   CROPS
   ========================================================================== */
.cropgrid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(136px,1fr)); gap:13px; }
.crop{
  position:relative; display:grid; justify-items:center; gap:9px; padding:24px 12px 20px;
  border:1px solid var(--line); border-radius:var(--r-md); overflow:hidden;
  background:rgba(255,255,255,.028);
  transition:transform .45s var(--ease), border-color .4s, background .4s;
}
.crop::before{
  content:''; position:absolute; inset:0; opacity:0; transition:opacity .45s;
  background:radial-gradient(circle at 50% 0%, rgba(140,198,63,.20), transparent 68%);
}
.crop:hover{ transform:translateY(-7px); border-color:rgba(140,198,63,.42); background:rgba(140,198,63,.055); }
.crop:hover::before{ opacity:1; }
.crop__ico{ position:relative; font-size:1.9rem; line-height:1; transition:transform .5s var(--ease); filter:saturate(1.05); }
.crop:hover .crop__ico{ transform:scale(1.22) translateY(-2px); }
.crop__en{ position:relative; font-family:var(--f-display); font-size:13.5px; font-weight:600; letter-spacing:-.01em; text-align:center; }
.crop__mr{ position:relative; font-family:'Noto Sans Devanagari',sans-serif; font-size:12px; color:var(--ink-mute); text-align:center; line-height:1.4; }

/* ==========================================================================
   CTA BAND
   ========================================================================== */
.cta{ position:relative; padding:clamp(72px,8vw,116px) 0; overflow:hidden; text-align:center; isolation:isolate; }
.cta::before{
  content:''; position:absolute; inset:0; z-index:-2;
  background:linear-gradient(160deg, var(--forest-dk) 0%, #072a15 48%, var(--bg) 100%);
}
.cta__glow{
  position:absolute; z-index:-1; top:50%; left:50%; translate:-50% -50%;
  width:min(900px,120%); aspect-ratio:2/1; border-radius:50%;
  background:radial-gradient(ellipse, rgba(140,198,63,.24), transparent 66%); filter:blur(70px);
}
.cta__wrap h2{ font-size:clamp(1.85rem,4vw,3.1rem); letter-spacing:-.04em; max-width:19ch; margin-inline:auto; }
.cta__wrap p{ margin:20px auto 0; max-width:56ch; color:var(--ink-soft); font-size:1.03rem; line-height:1.74; }
.cta__btns{ display:flex; flex-wrap:wrap; gap:13px; justify-content:center; margin-top:36px; }

/* ==========================================================================
   CONTACT
   ========================================================================== */
.contact__grid{ display:grid; grid-template-columns:1fr .92fr; gap:60px; align-items:start; }
.clist{ display:grid; gap:22px; margin-top:40px; }
.clist li{ display:grid; grid-template-columns:auto 1fr; gap:17px; align-items:start; }
.clist__ico{
  display:grid; place-items:center; width:44px; height:44px; border-radius:13px;
  border:1px solid rgba(140,198,63,.28); background:rgba(140,198,63,.09); color:var(--leaf-lit);
  transition:transform .45s var(--ease), box-shadow .45s;
}
.clist li:hover .clist__ico{ transform:translateY(-3px) rotate(-6deg); box-shadow:0 0 28px -6px rgba(140,198,63,.5); }
.clist b{ display:block; font-family:var(--f-display); font-size:11.5px; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:var(--ink-mute); margin-bottom:5px; }
.clist a{ font-size:1.06rem; color:var(--ink); transition:color .3s; }
.clist a:hover{ color:var(--leaf-lit); }
.clist__addr{ display:block; font-size:.96rem; color:var(--ink-soft); line-height:1.7; max-width:42ch; }
.maplink{
  display:inline-flex; align-items:center; gap:8px; margin-top:30px; padding-bottom:3px;
  font-family:var(--f-display); font-size:14px; font-weight:600; color:var(--leaf-lit);
  border-bottom:1px solid rgba(140,198,63,.35); transition:gap .35s var(--ease), border-color .35s;
}
.maplink:hover{ gap:13px; border-color:var(--leaf-lit); }

.cform h3{ font-size:1.45rem; margin-bottom:26px; letter-spacing:-.03em; }
.field{ position:relative; margin-bottom:17px; }
.field input,.field textarea,.field select{
  width:100%; padding:21px 17px 9px; border:1px solid var(--line); border-radius:14px;
  background:rgba(255,255,255,.035); font-size:.95rem; outline:none; resize:none;
  transition:border-color .35s, background .35s, box-shadow .35s;
}
.field select{ padding-top:22px; cursor:pointer; appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none' stroke='%237E9686' stroke-width='2'%3E%3Cpath d='m3 5 4 4 4-4'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 17px center; }
.field select option{ background:#0a2213; color:var(--ink); }
.field input:focus,.field textarea:focus,.field select:focus{
  border-color:rgba(140,198,63,.55); background:rgba(140,198,63,.06); box-shadow:0 0 0 4px rgba(140,198,63,.09);
}
.field label{
  position:absolute; left:17px; top:15px; font-size:.93rem; color:var(--ink-mute);
  pointer-events:none; transform-origin:left top;
  transition:transform .3s var(--ease), color .3s;
}
.field input:focus + label,
.field input:not(:placeholder-shown) + label,
.field textarea:focus + label,
.field textarea:not(:placeholder-shown) + label,
.field .lbl-static{ transform:translateY(-9px) scale(.76); color:var(--leaf-lit); }
.cform__note{ margin-top:15px; font-size:12px; color:var(--ink-mute); line-height:1.6; text-align:center; }

/* ==========================================================================
   FOOTER
   ========================================================================== */
.foot{ position:relative; padding:74px 0 30px; border-top:1px solid var(--line); background:#030d07; }
.foot__top{ display:grid; grid-template-columns:1.1fr 1.4fr; gap:56px; padding-bottom:48px; }
.foot__brand .brand{ margin-bottom:24px; }
.foot__brand p{ max-width:44ch; font-size:.92rem; color:var(--ink-mute); line-height:1.75; }
.foot__cols{ display:grid; grid-template-columns:repeat(3,1fr); gap:32px; }
.foot__cols h4{
  font-family:var(--f-display); font-size:11.5px; font-weight:600; letter-spacing:.18em;
  text-transform:uppercase; color:var(--leaf); margin-bottom:18px;
}
.foot__cols a{ display:block; margin-bottom:11px; font-size:.92rem; color:var(--ink-soft); transition:color .3s, transform .3s var(--ease); }
.foot__cols a:hover{ color:var(--leaf-lit); transform:translateX(4px); }
.foot__addr{ display:block; margin-top:14px; font-size:.86rem; color:var(--ink-mute); line-height:1.65; }
.foot__bar{
  display:flex; flex-wrap:wrap; gap:14px; justify-content:space-between; align-items:center;
  padding-top:26px; border-top:1px solid var(--line); font-size:12.5px; color:var(--ink-mute);
}
.foot__tag{ font-family:var(--f-display); letter-spacing:.3em; font-size:11px; color:var(--leaf); }

/* ==========================================================================
   MODAL
   ========================================================================== */
.modal{ position:fixed; inset:0; z-index:9600; display:grid; place-items:center; padding:24px; visibility:hidden; }
.modal.is-open{ visibility:visible; }
.modal__scrim{
  position:absolute; inset:0; background:rgba(2,10,6,.82); backdrop-filter:blur(9px);
  opacity:0; transition:opacity .45s var(--ease);
}
.modal.is-open .modal__scrim{ opacity:1; }
.modal__panel{
  --acc:var(--leaf);
  position:relative; width:min(100%,980px); max-height:88svh; overflow-y:auto;
  border:1px solid var(--line-2); border-radius:var(--r-lg);
  background:linear-gradient(165deg,#0b2413,#061509);
  box-shadow:0 50px 110px -40px #000;
  opacity:0; transform:translateY(30px) scale(.97);
  transition:opacity .5s var(--ease), transform .5s var(--ease);
}
.modal.is-open .modal__panel{ opacity:1; transform:none; }
.modal__x{
  position:absolute; top:16px; right:16px; z-index:5; width:42px; height:42px; display:grid; place-items:center;
  border:1px solid var(--line-2); border-radius:50%; background:rgba(0,0,0,.35); cursor:pointer;
  transition:transform .4s var(--ease), background .35s, border-color .35s;
}
.modal__x:hover{ transform:rotate(90deg); background:var(--leaf); border-color:transparent; color:#06180c; }

.mgrid{ display:grid; grid-template-columns:.85fr 1.15fr; }
.mshot{
  position:relative; display:grid; place-items:center; padding:52px 30px; overflow:hidden;
  background:radial-gradient(circle at 50% 42%, color-mix(in srgb,var(--acc) 26%, transparent), transparent 66%);
  border-right:1px solid var(--line);
}
.mshot img{ max-height:400px; width:auto; filter:drop-shadow(0 34px 40px rgba(0,0,0,.75)); animation:bob 6s ease-in-out infinite; }
.mshot__pack{
  position:absolute; top:20px; left:20px; padding:6px 14px; border-radius:100px;
  border:1px solid var(--line-2); background:rgba(0,0,0,.35);
  font-family:var(--f-display); font-size:11.5px; letter-spacing:.08em; color:var(--ink-soft);
}
.mbody{ padding:44px 42px 42px; }
.mbody__cat{
  display:inline-block; padding:5px 13px; margin-bottom:16px; border-radius:100px;
  font-family:var(--f-display); font-size:10.5px; font-weight:700; letter-spacing:.13em; text-transform:uppercase;
  color:color-mix(in srgb,var(--acc) 84%, white);
  border:1px solid color-mix(in srgb,var(--acc) 42%, transparent);
  background:color-mix(in srgb,var(--acc) 13%, transparent);
}
.mbody h3{ font-size:clamp(1.8rem,3vw,2.5rem); letter-spacing:-.04em; }
.mbody__sub{ margin-top:7px; font-size:13px; color:var(--ink-mute); letter-spacing:.03em; }
.mbadges{ display:flex; flex-wrap:wrap; gap:10px; margin-top:22px; }
.mbadge{
  padding:11px 16px; border:1px solid var(--line); border-radius:14px; background:rgba(255,255,255,.04);
}
.mbadge b{ display:block; font-family:var(--f-display); font-size:1.3rem; letter-spacing:-.03em; line-height:1;
  background:var(--grad); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.mbadge span{ display:block; margin-top:4px; font-size:11px; color:var(--ink-mute); }
.mlabel{
  margin:30px 0 13px; font-family:var(--f-display); font-size:11px; font-weight:600;
  letter-spacing:.18em; text-transform:uppercase; color:var(--leaf);
}
.mpoints li{
  position:relative; padding-left:24px; margin-bottom:11px; font-size:.95rem;
  color:var(--ink-soft); line-height:1.72;
}
.mpoints li::before{
  content:''; position:absolute; left:0; top:.66em; width:8px; height:8px; border-radius:50%;
  background:var(--acc); box-shadow:0 0 12px color-mix(in srgb,var(--acc) 70%, transparent);
}
.mcrops{ font-size:.94rem; color:var(--ink-soft); line-height:1.75; }
.mdose{ display:grid; gap:9px; }
.mdose span{
  display:inline-flex; align-items:center; gap:10px; padding:11px 17px; border-radius:13px;
  border:1px solid rgba(232,179,60,.32); background:rgba(232,179,60,.08);
  font-family:var(--f-display); font-size:13.5px; font-weight:600; color:var(--gold); width:fit-content;
}
.mdose span::before{ content:''; width:6px; height:6px; border-radius:50%; background:var(--gold); }
.mcta{ margin-top:32px; }

/* ==========================================================================
   FLOATING WHATSAPP
   ========================================================================== */
.wafab{
  position:fixed; right:22px; bottom:22px; z-index:8500;
  width:54px; height:54px; display:grid; place-items:center; border-radius:50%;
  background:#20B858; color:#fff; box-shadow:0 14px 34px -10px rgba(32,184,88,.75);
  transition:transform .45s var(--ease), box-shadow .45s;
}
.wafab::after{
  content:''; position:absolute; inset:0; border-radius:50%; border:2px solid #20B858;
  animation:ripple 2.6s ease-out infinite;
}
@keyframes ripple{ 0%{transform:scale(1);opacity:.7} 100%{transform:scale(1.7);opacity:0} }
.wafab:hover{ transform:scale(1.1) translateY(-3px); box-shadow:0 20px 44px -10px rgba(32,184,88,.9); }

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width:1120px){
  .hero__grid{ grid-template-columns:1fr; gap:20px; }
  .hero__stage{ height:min(52svh,440px); order:-1; }
  .hero__stage .stage__pod--l{ --ox:-152px; }
  .hero__stage .stage__pod--r{ --ox: 152px; }
  .hero__stage .stage__pod--l img,
  .hero__stage .stage__pod--r img{ height:min(30svh,240px); }
  .hero__stage .stage__pod--hero img{ height:min(38svh,330px); }
  .hero{ padding-top:118px; text-align:left; }
  .about__grid,.contact__grid{ grid-template-columns:1fr; gap:40px; }
  .foot__top{ grid-template-columns:1fr; gap:40px; }
}
@media (max-width:900px){
  .nav__links{
    position:fixed; inset:0 0 auto; top:0; padding:96px 26px 34px; margin:0;
    flex-direction:column; gap:2px; background:rgba(4,18,11,.96);
    backdrop-filter:blur(24px); border-bottom:1px solid var(--line);
    transform:translateY(-102%); transition:transform .55s var(--ease); z-index:-1;
  }
  .nav__links.is-open{ transform:translateY(0); }
  .nav__links a{ padding:15px 4px; font-size:1.2rem; font-family:var(--f-display); font-weight:600; border-bottom:1px solid var(--line); border-radius:0; }
  .nav__links a::after{ display:none; }
  .burger{ display:grid; }
  .nav__actions .btn--sm{ display:none; }
  .mgrid{ grid-template-columns:1fr; }
  .mshot{ border-right:none; border-bottom:1px solid var(--line); padding:40px 24px 30px; }
  .mshot img{ max-height:260px; }
  .mbody{ padding:32px 26px 34px; }
  .step{ grid-template-columns:1fr; gap:14px; padding:30px 0; }
  .step__n{ font-size:2.3rem; }
  .foot__cols{ grid-template-columns:1fr 1fr; gap:26px; }
}
@media (max-width:640px){
  .wrap,.nav__wrap,.hero__grid{ width:calc(100% - 32px); }
  .hero{ min-height:auto; padding:104px 0 56px; }
  .hero__grid{ gap:4px; }
  .hero__stage{ height:min(40svh,340px); }
  .hero__title{ font-size:clamp(2.2rem,10vw,3rem); margin:20px 0 18px; }
  .hero__cta{ margin:26px 0 30px; }
  .hero__scroll{ display:none; }
  /* compact brand lockup so the wordmark never wraps */
  .nav__brand{ gap:9px; }
  .nav__brand .brand__mark,
  .nav.is-stuck .nav__brand .brand__mark{ height:36px; }
  .nav__brand .brand__type b{ font-size:16px; }
  .nav__brand .brand__type em{ font-size:8.5px; letter-spacing:.08em; }
  .nav__brand .brand__type em span{ display:none; }   /* drop "PRIVATE LIMITED" — no room */
  .nav__brand .brand__type i{ display:none; }
  .brand--lg .brand__mark{ height:52px; }
  .brand--lg .brand__type b{ font-size:22px; }
  .brand--lg .brand__type em{ font-size:11px; }
  .hero__stats{ gap:9px; }
  .stat{ flex:1 1 92px; padding:14px 15px; }
  .stat b{ font-size:1.6rem; }
  .stat span{ font-size:11px; }
  .hero__stage .stage__pod--l{ --ox:-104px; --oz:-190px; }
  .hero__stage .stage__pod--r{ --ox: 104px; --oz:-190px; }
  .hero__stage .stage__pod--l img,
  .hero__stage .stage__pod--r img{ height:min(24svh,190px); }
  .hero__stage .stage__pod--hero img{ height:min(33svh,270px); }
  .stage__chip{ padding:8px 12px; border-radius:12px; }
  .stage__chip b{ font-size:1rem; }
  .stage__chip span{ font-size:9.5px; }
  .stage__chip--2{ right:-2%; }
  .pgrid{ grid-template-columns:1fr; }
  .cropgrid{ grid-template-columns:repeat(auto-fill,minmax(104px,1fr)); gap:9px; }
  .crop{ padding:18px 8px 15px; }
  .crop__ico{ font-size:1.55rem; }
  .crop__en{ font-size:12px; }
  .crop__mr{ font-size:10.5px; }
  .glasscard{ padding:28px 24px; }
  .foot__cols{ grid-template-columns:1fr; }
  .foot__bar{ justify-content:center; text-align:center; }
  .wafab{ width:48px; height:48px; right:16px; bottom:16px; }
  .modal{ padding:12px; }
}

/* ==========================================================================
   MOTION PREFERENCES
   ========================================================================== */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; }
  html{ scroll-behavior:auto; }
  .reveal{ opacity:1 !important; transform:none !important; }
  .grain{ display:none; }
}
