/* ==========================================================================
   Dayal Group - shared modern UI layer
   Load AFTER bootstrap.min.css, icons.css and the owl-carousel css files.
   ========================================================================== */

/* ---------- Tokens ---------- */
:root{
  --ink:#0f1d08; --forest:#16250a; --forest-2:#24420d;
  --lime:#95db23; --lime-2:#b6ee5a; --leaf:#3d6a05; --orange:#f7941d;
  --paper:#f4f8ec; --text:#2b3520; --muted:#56624a; --line:rgba(22,37,10,.1);
  /* legacy names, so old inline styles keep working */
  --dg-green:#95db23; --dg-green-dark:#16250a; --dg-orange:#f7941d; --dg-light:#f4f8ec; --dg-text:#2b3520;
  --nav-h:68px; --gut:clamp(16px,3.4vw,48px); --sec:clamp(48px,6vw,72px);
  --r-xl:32px; --r-lg:24px; --r-md:18px; --r-sm:12px;
  --shadow:0 18px 44px rgba(22,37,10,.13); --shadow-s:0 4px 16px rgba(22,37,10,.07);
  --ease:cubic-bezier(.2,.7,.2,1);
}

/* ---------- Base ---------- */
html{ scroll-behavior:smooth; }
body{
  margin:0; font-family:'Plus Jakarta Sans','Segoe UI',system-ui,Arial,sans-serif;
  color:var(--text); background:#fff; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
  overflow-x:hidden; overflow-x:clip;
}
img{ max-width:100%; }
a{ text-decoration:none; }
h1,h2,h3,h4,h5{ letter-spacing:-.02em; color:var(--ink); }
:focus-visible{ outline:3px solid rgba(149,219,35,.75); outline-offset:3px; }
::selection{ background:var(--lime); color:var(--ink); }
[id]{ scroll-margin-top:calc(var(--nav-h) - 24px); }
.container-fluid{ width:100%; max-width:1600px; margin-inline:auto; padding-inline:var(--gut); }
section{ padding-block:var(--sec); }
section.alt{ background:var(--paper); }
.skip-link{ position:absolute; left:12px; top:-70px; z-index:3000; background:var(--lime); color:var(--ink); padding:10px 18px; border-radius:12px; font-weight:700; }
.skip-link:focus{ top:12px; }
.is-hidden{ display:none !important; }

.icon-chip i,.sol-ic i,.value-icon i,.values-intro-icon i,.stat-ic i,.mv-label i,.dept li i,.f-list i,.office-list i,
.form-lock-overlay i,.social-row a i,.fact .icon-chip i,.to-top i,.hero-arrows button i,.lb button i{ display:flex; align-items:center; justify-content:center; line-height:1; }
.icon-chip i::before,.sol-ic i::before,.value-icon i::before,.values-intro-icon i::before,.mv-label i::before,.dept li i::before,
.f-list i::before,.office-list i::before,.form-lock-overlay i::before{ vertical-align:0; display:block; }

/* ---------- Full-image frame: shows the whole photo, never crops it ---------- */
.fit{ position:relative; overflow:hidden; isolation:isolate; background:var(--paper); }
.fit::before{ content:''; position:absolute; inset:-24px; z-index:-1; background:var(--bg,none) center/cover no-repeat; filter:blur(22px) saturate(1.15) brightness(.93); }
.fit > img{ display:block; width:100%; height:100%; object-fit:contain; }

/* ---------- Headings and text ---------- */
.section-head{ max-width:820px; margin:0 auto clamp(28px,4vw,44px); text-align:center; }
.section-head .lead-text{ margin-bottom:0; }
.section-title{ font-weight:800; font-size:clamp(1.75rem,3vw,2.5rem); line-height:1.15; text-align:center; margin:0 0 14px; }
.section-title::after{ content:''; display:block; width:56px; height:5px; border-radius:9px; background:var(--lime); margin:16px auto 0; }
.section-title.md{ font-size:clamp(1.5rem,2.5vw,2.1rem); }
.section-title.left{ text-align:left; }
.section-title.left::after{ margin-left:0; }
.lead-text{ font-size:1.05rem; line-height:1.85; color:var(--muted); max-width:78ch; margin:0 auto 16px; }
.lead-text.left{ margin-left:0; }
.text-link{ color:var(--leaf); font-weight:700; text-decoration:underline; text-decoration-color:var(--lime); text-underline-offset:4px; text-decoration-thickness:2px; }
.text-link:hover{ color:var(--ink); }

/* ---------- Buttons ---------- */
.btn-dg,.btn-ghost,.btn-ink{
  display:inline-flex; align-items:center; gap:10px; padding:13px 28px; border-radius:999px; border:0;
  font-weight:700; font-size:.95rem; line-height:1.2; cursor:pointer;
  transition:background-color .25s ease,color .25s ease,transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}
.btn-dg{ background:var(--lime); color:var(--ink) !important; box-shadow:0 10px 24px rgba(149,219,35,.38); }
.btn-dg:hover{ background:var(--ink); color:var(--lime) !important; transform:translateY(-2px); }
.btn-ghost{ background:rgba(255,255,255,.08); color:#fff !important; border:1.5px solid rgba(255,255,255,.55); backdrop-filter:blur(6px); }
.btn-ghost:hover{ background:#fff; color:var(--ink) !important; border-color:#fff; transform:translateY(-2px); }
.btn-ink{ background:var(--ink); color:#fff !important; }
.btn-ink:hover{ background:var(--lime); color:var(--ink) !important; transform:translateY(-2px); }
.btn-dg i,.btn-ghost i,.btn-ink i{ transition:transform .25s ease; }
.btn-dg:hover i,.btn-ghost:hover i,.btn-ink:hover i{ transform:translateX(4px); }
.btn-dg:active,.btn-ghost:active,.btn-ink:active{ transform:scale(.97); }

/* ---------- Navbar ---------- */
.navbar{
  position:sticky; top:0; z-index:1040; width:100%; max-width:none; margin:0 auto; padding:0; border-radius:0;
  background:rgba(255,255,255,.92); backdrop-filter:saturate(160%) blur(14px); -webkit-backdrop-filter:saturate(160%) blur(14px);
  border:1px solid transparent; border-bottom-color:var(--line); box-shadow:none;
  transition:width .4s var(--ease),transform .4s var(--ease),border-radius .4s ease,box-shadow .4s ease,border-color .4s ease,background-color .4s ease;
}
.navbar.scrolled{
  width:min(calc(100% - 48px),1500px); transform:translateY(12px); border-radius:20px;
  background:rgba(255,255,255,.86); border-color:rgba(255,255,255,.75); box-shadow:0 12px 40px rgba(22,37,10,.16);
}
.navbar > .container-fluid{ max-width:1600px; min-height:calc(var(--nav-h) - 2px); padding-inline:var(--gut); transition:padding .4s ease; }
.navbar.scrolled > .container-fluid{ padding:0 14px 0 22px; }
.navbar-brand{ margin:0; padding:0; }
.navbar-brand img{ height:46px; width:auto; display:block; }
.navbar-toggler{ border:0; box-shadow:none !important; padding:.5rem .65rem; border-radius:14px; background:rgba(22,37,10,.06); }
.navbar-nav .nav-link{
  position:relative; padding:10px 16px; margin:0; border-radius:12px; font-size:.92rem; font-weight:600;
  color:rgba(22,37,10,.74); background:transparent; transition:color .2s ease,background-color .2s ease;
}
.navbar-nav .nav-link::before{
  content:''; position:absolute; left:50%; bottom:3px; width:0; height:3px; border-radius:3px;
  background:var(--lime); transform:translateX(-50%); transition:width .25s ease;
}
.navbar-nav .nav-link:hover,.navbar-nav .nav-item.show > .nav-link{ color:var(--ink); background:rgba(22,37,10,.05); }
.navbar-nav .nav-link:hover::before,.navbar-nav .nav-item.show > .nav-link::before{ width:18px; }
.navbar-nav .nav-link.active{ color:var(--ink); font-weight:700; background:transparent; }
.navbar-nav .nav-link.active::before{ width:28px; }
.nav-cta{
  display:inline-flex; align-items:center; gap:8px; padding:11px 22px; border-radius:999px; background:var(--ink); color:#fff;
  font-weight:700; font-size:.92rem; white-space:nowrap; transition:all .25s ease;
}
.nav-cta:hover,.nav-cta.active{ background:var(--lime); color:var(--ink); transform:translateY(-1px); }
.nav-cta i{ font-size:.8rem; transition:transform .25s ease; }
.nav-cta:hover i{ transform:translateX(4px); }
.nav-cta:active{ transform:scale(.97); }
.navbar .dropdown-menu{
  margin-top:10px; padding:8px; min-width:250px; border:1px solid var(--line); border-radius:16px; box-shadow:0 24px 60px rgba(22,37,10,.18);
}
.navbar .dropdown-menu::before{ content:''; position:absolute; top:-12px; left:0; right:0; height:12px; }
.dropdown-item{ padding:10px 14px; border-radius:10px; font-weight:600; font-size:.9rem; }
.dropdown-item:hover,.dropdown-item:focus{ background:rgba(149,219,35,.25); color:var(--ink); }
@keyframes dgDrop{ from{ opacity:0; transform:translateY(8px); } to{ opacity:1; transform:none; } }
@media (min-width:992px){
  .navbar-nav{ align-items:center; gap:6px; }
  .navbar-nav .nav-item:last-child{ margin-left:8px; }
  .navbar .dropdown:hover > .dropdown-menu,
  .navbar .dropdown:focus-within > .dropdown-menu{ display:block; animation:dgDrop .22s ease; }
}
@media (min-width:1400px){ .navbar-nav{ gap:12px; } .navbar-nav .nav-link{ padding:10px 20px; } }
@media (max-width:991.98px){
  .navbar.scrolled{ width:calc(100% - 20px); transform:translateY(8px); }
  .navbar.scrolled > .container-fluid{ padding:0 12px 0 16px; }
  .navbar-collapse{ padding:8px 0 14px; max-height:calc(100vh - var(--nav-h) - 28px); overflow-y:auto; }
  .navbar-nav .nav-link{ padding:12px 14px; }
  .navbar-nav .nav-link::before{ display:none; }
  .navbar-nav .nav-link.active{ background:rgba(149,219,35,.2); }
  .navbar .dropdown-menu{ position:static; box-shadow:none; background:rgba(149,219,35,.09); border:0; margin:4px 0 6px; }
  .nav-cta{ display:flex; justify-content:center; margin-top:10px; }
}

/* ---------- Side social bar ---------- */
.side-social{ position:fixed; top:50%; right:0; transform:translateY(-50%); z-index:1050; display:flex; flex-direction:column; gap:6px; }
.side-social a{
  --c1:#ddd; --c2:#eee; --fg:#444; position:relative; display:flex; align-items:center; justify-content:center; width:46px; height:46px;
  color:var(--fg); font-size:1.1rem; border-radius:12px 0 0 12px; background:var(--c2); box-shadow:-2px 2px 8px rgba(0,0,0,.12);
  transition:background .25s ease,border-radius .25s ease;
}
.side-social a:hover{ background:var(--c1); border-radius:0; }
.side-social .sb-label{
  position:absolute; right:calc(100% - 1px); top:0; height:100%; display:flex; align-items:center; white-space:nowrap;
  max-width:0; padding:0; overflow:hidden; opacity:0; font-size:.85rem; font-weight:600; color:var(--fg);
  border-radius:12px 0 0 12px; background:var(--c1); box-shadow:-2px 2px 8px rgba(0,0,0,.12);
  transition:max-width .3s ease,opacity .2s ease,padding .3s ease;
}
.side-social a:hover .sb-label,.side-social a:focus-visible .sb-label{ max-width:260px; padding:0 16px; opacity:1; }
.side-social .sb-mail{ --c1:#fbd08f; --c2:#fde6c4; --fg:#a85800; }
.side-social .sb-fb{ --c1:#bcd3f7; --c2:#dbe8fb; --fg:#1a5bc4; }
.side-social .sb-yt{ --c1:#f8b9b9; --c2:#fcdada; --fg:#c81414; }
.side-social .sb-li{ --c1:#b3d9f1; --c2:#d5eaf7; --fg:#0a66a8; }
.side-social .sb-touch{ --c1:#d3f08f; --c2:#e9f8c3; --fg:#3f5e0b; }
@media (max-width:767.98px){ .side-social a{ width:40px; height:40px; font-size:1rem; } }
/* On phones the bar covers content, so it is hidden there (footer has the same links). Delete this rule to bring it back. */
@media (max-width:575.98px){ .side-social{ display:none; } }
@media (hover:none){ .side-social .sb-label{ display:none; } }

/* ---------- Page hero (inner pages) ---------- */
.page-hero{
  position:relative; isolation:isolate; overflow:hidden; color:#fff; background:var(--forest);
  margin-top:calc(var(--nav-h) * -1); display:flex; align-items:flex-end;
  padding:calc(var(--nav-h) + clamp(48px,7vw,88px)) 0 clamp(36px,5vw,60px); min-height:clamp(340px,40vw,430px);
  border-radius:0 0 clamp(28px,4vw,48px) clamp(28px,4vw,48px);
}
.page-hero-bg{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; }
.page-hero::before{
  content:''; position:absolute; inset:0; z-index:-1;
  background:linear-gradient(180deg,rgba(15,29,8,.5) 0%,rgba(15,29,8,.25) 38%,rgba(15,29,8,.88) 100%),linear-gradient(90deg,rgba(15,29,8,.55),transparent 65%);
}
.page-hero::after{
  content:''; position:absolute; right:-90px; bottom:-110px; width:340px; height:340px; border-radius:50%; z-index:-1;
  background:radial-gradient(circle,rgba(149,219,35,.5) 0%,rgba(149,219,35,0) 70%);
}
.page-hero .container-fluid{ position:relative; }
.page-hero h1{ font-size:clamp(2.2rem,5.4vw,4rem); font-weight:800; color:#fff; margin:16px 0 10px; text-shadow:0 2px 16px rgba(0,0,0,.35); }
.page-hero-sub{ max-width:54ch; font-size:clamp(1rem,1.5vw,1.2rem); line-height:1.6; color:rgba(255,255,255,.88); margin:0; }
.breadcrumb{ display:inline-flex; margin:0; padding:8px 16px; border-radius:999px; background:rgba(255,255,255,.14); backdrop-filter:blur(8px); font-size:.88rem; font-weight:600; }
.breadcrumb-item a{ color:var(--lime); }
.breadcrumb-item.active{ color:#fff; }
.breadcrumb-item + .breadcrumb-item::before{ color:rgba(255,255,255,.6); }

/* ---------- Scroll reveal ---------- */
@keyframes rise{ from{ opacity:0; translate:0 18px; } to{ opacity:1; translate:0 0; } }
.js .reveal:not(.in){ opacity:0; }
.js .reveal.in{ animation:rise .65s var(--ease) both; animation-delay:calc(var(--i,0) * 70ms); }
@media (prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto; }
  .js .reveal:not(.in){ opacity:1; }
  .js .reveal.in{ animation:none; }
}

/* ---------- Home hero ---------- */
/* The text block sets the height (min = one screen), so nothing can overlap on short or narrow screens. */
.hero{ position:relative; margin-top:calc(var(--nav-h) * -1); padding:0; overflow:hidden; background:var(--forest); color:#fff; }
.hero .carousel{ position:relative; display:flex; flex-direction:column; justify-content:center; min-height:640px; min-height:max(640px,100vh); min-height:max(640px,100svh); padding:calc(var(--nav-h) + 40px) 0 clamp(110px,10vw,140px); }
.hero .carousel-inner{ position:absolute; inset:0; width:100%; height:100%; z-index:0; }
.hero .carousel-item{ height:100%; }
.hero .carousel-item img{ width:100%; height:100%; object-fit:cover; object-position:center 30%; }
@keyframes kenburns{ from{ transform:scale(1); } to{ transform:scale(1.08); } }
.hero .carousel-item.active img{ animation:kenburns 9s ease-out both; }
.hero::after{
  content:''; position:absolute; inset:0; z-index:2; pointer-events:none;
  background:linear-gradient(90deg,rgba(10,20,5,.8) 0%,rgba(10,20,5,.45) 50%,rgba(10,20,5,.1) 100%),linear-gradient(180deg,rgba(10,20,5,.35) 0%,transparent 30%,rgba(10,20,5,.55) 100%);
}
.hero-caption{ position:relative; z-index:3; }
.hero h1{ font-size:clamp(2.3rem,5vw,4.4rem); font-weight:800; line-height:1.06; color:#fff; margin:0 0 20px; }
.hero h1 span{ display:block; color:var(--lime); }
.hero h1 em{ display:block; font-style:normal; text-transform:uppercase; }
.hero-lead{ max-width:52ch; font-size:clamp(1rem,1.4vw,1.2rem); line-height:1.65; color:rgba(255,255,255,.9); margin:0 0 28px; }
.hero-actions{ display:flex; flex-wrap:wrap; gap:14px; }
.hero-ui{ position:relative; z-index:4; margin-top:clamp(28px,4vw,44px); }
.hero-ui .container-fluid{ display:flex; align-items:center; justify-content:space-between; gap:20px; }
.hero .carousel-indicators{ position:static; margin:0; justify-content:flex-start; }
.hero .carousel-indicators [data-bs-target]{ width:34px; height:5px; margin:0 6px 0 0; border:0; border-radius:9px; background:#fff; opacity:.5; transition:opacity .3s,width .3s,background-color .3s; }
.hero .carousel-indicators .active{ width:54px; background:var(--lime); opacity:1; }
.hero-arrows{ display:flex; gap:10px; }
.hero-arrows button{ width:50px; height:50px; border-radius:50%; border:1.5px solid rgba(255,255,255,.5); background:rgba(255,255,255,.1); color:#fff; backdrop-filter:blur(8px); display:grid; place-items:center; transition:background-color .25s,color .25s,border-color .25s; }
.hero-arrows button:hover{ background:var(--lime); color:var(--ink); border-color:var(--lime); }
@media (max-width:768px){ .hero .carousel{ min-height:600px; min-height:max(600px,100svh); padding-bottom:120px; } .hero-arrows{ display:none; } }
@media (prefers-reduced-motion:reduce){ .hero .carousel-item.active img{ animation:none; } }

/* ---------- Home stats ---------- */
.stats-wrap{ position:relative; z-index:5; margin-top:-64px; padding-block:0; }
.stats-card{
  display:grid; grid-template-columns:repeat(2,1fr); gap:6px; padding:clamp(18px,2.4vw,30px); border-radius:var(--r-xl);
  background:linear-gradient(140deg,var(--forest) 0%,var(--forest-2) 100%); color:#fff; box-shadow:0 30px 70px rgba(15,29,8,.32);
}
@media (min-width:768px){ .stats-card{ grid-template-columns:repeat(3,1fr); } }
@media (min-width:1200px){ .stats-card{ grid-template-columns:repeat(6,1fr); } }
.stat-item{ text-align:center; padding:16px 8px; position:relative; }
@media (min-width:1200px){ .stat-item + .stat-item::before{ content:''; position:absolute; left:0; top:22%; height:56%; width:1px; background:rgba(255,255,255,.14); } }
.stat-ic{ display:inline-grid; place-items:center; width:58px; height:58px; margin-bottom:12px; border-radius:18px; background:rgba(149,219,35,.16); }
.stat-ic img{ height:30px; width:auto; filter:brightness(0) invert(1); }
.stat-number{ font-size:clamp(1.4rem,2.1vw,2.1rem); font-weight:800; color:var(--lime); white-space:nowrap; line-height:1.15; }
.stat-label{ font-size:.92rem; color:rgba(255,255,255,.82); margin-top:2px; }

/* ---------- Solution image tiles (home) ---------- */
.sol-grid{ display:grid; gap:18px; grid-template-columns:1fr; }
@media (min-width:576px){ .sol-grid{ grid-template-columns:repeat(2,1fr); } }
@media (min-width:1100px){ .sol-grid{ grid-template-columns:repeat(4,1fr); gap:22px; } }
.sol-tile{
  position:relative; isolation:isolate; display:flex; flex-direction:column; justify-content:flex-end; overflow:hidden;
  aspect-ratio:11/16; border-radius:var(--r-lg); color:#fff; background:linear-gradient(160deg,var(--forest-2),var(--forest));
  box-shadow:var(--shadow-s); transition:box-shadow .4s ease,transform .4s var(--ease);
}
.sol-tile .sol-img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; transition:transform .9s var(--ease); }
.sol-tile::after{
  content:''; position:absolute; inset:0; z-index:-1; transition:opacity .4s ease;
  background:linear-gradient(180deg,rgba(15,29,8,.12) 0%,rgba(15,29,8,.1) 30%,rgba(15,29,8,.62) 66%,rgba(15,29,8,.94) 100%);
}
.sol-tile:hover{ box-shadow:var(--shadow); transform:translateY(-6px); color:#fff; }
.sol-tile:hover .sol-img{ transform:scale(1.08); }
.sol-ic{
  position:absolute; top:18px; left:18px; display:grid; place-items:center; width:48px; height:48px; border-radius:15px; font-size:1.3rem;
  background:rgba(255,255,255,.16); backdrop-filter:blur(10px); border:1px solid rgba(255,255,255,.25); color:#fff;
  transition:background-color .3s ease,color .3s ease;
}
.sol-tile:hover .sol-ic{ background:var(--lime); color:var(--ink); }
.sol-body{ padding:22px; }
.sol-body h3{ color:#fff; font-size:1.25rem; font-weight:800; margin:0; }
.sol-body p{ margin:0; font-size:.92rem; line-height:1.55; color:rgba(255,255,255,.88); max-height:0; opacity:0; overflow:hidden; transition:max-height .5s var(--ease),opacity .4s ease,margin .4s ease; }
.sol-tile:hover .sol-body p,.sol-tile:focus-visible .sol-body p{ max-height:130px; opacity:1; margin-top:10px; }
.sol-more{ display:inline-flex; align-items:center; gap:8px; margin-top:12px; font-weight:700; font-size:.88rem; color:var(--lime); }
.sol-more i{ transition:transform .25s ease; }
.sol-tile:hover .sol-more i{ transform:translateX(5px); }
@media (hover:none){ .sol-body p{ max-height:130px; opacity:1; margin-top:10px; } }

/* ---------- Feature blocks (carousel + copy) ---------- */
.feature-media{ position:relative; }
.feature-copy h2{ font-size:clamp(1.8rem,3.2vw,2.7rem); font-weight:800; line-height:1.15; margin:0 0 16px; }
.feature-copy p{ font-size:1.05rem; line-height:1.85; color:var(--muted); margin:0 0 24px; max-width:56ch; }

/* ---------- Owl carousel skin ---------- */
.owl-carousel{ position:relative; }
.owl-carousel .owl-item .item.fit{ aspect-ratio:4/3; border-radius:var(--r-lg); box-shadow:var(--shadow-s); }
.owl-carousel .owl-item .item.fit img{ width:100%; height:100%; object-fit:contain; }
.owl-carousel .owl-stage-outer{ padding:4px 0 10px; }
.owl-carousel .owl-nav{ position:absolute; top:calc(50% - 24px); left:0; right:0; margin:0; transform:translateY(-50%); display:flex; justify-content:space-between; pointer-events:none; }
.owl-carousel .owl-nav button.owl-prev,.owl-carousel .owl-nav button.owl-next{
  pointer-events:auto; width:44px; height:44px; margin:0 12px !important; padding:0 !important; display:grid; place-items:center;
  border-radius:50% !important; font-size:.85rem !important; background:#fff !important; color:var(--ink) !important;
  box-shadow:0 6px 18px rgba(22,37,10,.22); transition:background-color .2s ease,transform .2s ease;
}
.owl-carousel .owl-nav button.owl-prev:hover,.owl-carousel .owl-nav button.owl-next:hover{ background:var(--lime) !important; transform:scale(1.08); }
.owl-theme .owl-dots{ position:static; margin:12px 0 0 !important; }
.owl-theme .owl-dots .owl-dot span{ width:9px; height:9px; margin:0 4px; background:rgba(22,37,10,.2); border-radius:9px; transition:width .3s ease,background-color .3s ease; }
.owl-theme .owl-dots .owl-dot.active span,.owl-theme .owl-dots .owl-dot:hover span{ width:26px; background:var(--lime); }
.gallery-carousel{ margin-bottom:8px; }


/* ---------- Generic cards ---------- */
.card-soft{ background:#fff; border:1px solid var(--line); border-radius:var(--r-xl); padding:clamp(22px,3vw,36px); box-shadow:var(--shadow-s); }
.icon-chip{ display:inline-grid; place-items:center; width:54px; height:54px; border-radius:16px; background:rgba(149,219,35,.2); color:var(--leaf); font-size:1.4rem; flex:0 0 auto; }
.info-grid{ display:grid; gap:18px; grid-template-columns:1fr; }
@media (min-width:576px){ .info-grid{ grid-template-columns:repeat(2,1fr); } }
@media (min-width:1100px){ .info-grid.cols-4{ grid-template-columns:repeat(4,1fr); } .info-grid.cols-3{ grid-template-columns:repeat(3,1fr); } }
.info-card{ background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); padding:26px; box-shadow:var(--shadow-s); transition:transform .3s var(--ease),box-shadow .3s ease,border-color .3s ease; }
.info-card:hover{ transform:translateY(-6px); box-shadow:var(--shadow); border-color:var(--lime); }
.info-card .icon-chip{ margin-bottom:16px; }
.info-card h3{ font-size:1.08rem; font-weight:800; margin:0 0 6px; }
.info-card p{ margin:0; font-size:.93rem; line-height:1.65; color:var(--muted); }

/* ---------- Our Story ---------- */
.fact-list{ display:grid; gap:12px; }
.fact{ display:flex; align-items:center; gap:14px; padding:14px 16px; border-radius:var(--r-md); background:var(--paper); border:1px solid var(--line); font-weight:700; color:var(--ink); }
.fact .icon-chip{ width:44px; height:44px; border-radius:13px; font-size:1.15rem; background:#fff; }
.group-list{ list-style:none; padding:0; margin:18px 0 0; display:grid; gap:10px; grid-template-columns:1fr; }
@media (min-width:768px){ .group-list{ grid-template-columns:repeat(2,1fr); } }
@media (min-width:1100px){ .group-list{ grid-template-columns:repeat(3,1fr); } }
.callout{ position:relative; overflow:hidden; isolation:isolate; padding:clamp(24px,3vw,36px); border-radius:var(--r-xl); color:#fff; background:linear-gradient(150deg,var(--forest),var(--forest-2)); }
.callout::before{ content:''; position:absolute; right:-70px; top:-70px; width:220px; height:220px; border-radius:50%; z-index:-1; background:radial-gradient(circle,rgba(149,219,35,.38),rgba(149,219,35,0) 70%); }
.callout .icon-chip{ background:var(--lime); color:var(--ink); margin-bottom:16px; }
.callout h3{ color:#fff; font-size:clamp(1.25rem,2vw,1.6rem); font-weight:800; line-height:1.25; margin:0 0 8px; }
.callout p{ margin:0; color:rgba(255,255,255,.8); }
.group-list li{ display:flex; align-items:center; gap:12px; padding:12px 14px; border-radius:14px; background:var(--paper); font-weight:700; color:var(--ink); font-size:.95rem; }
.group-list i{ color:var(--leaf); font-size:1.15rem; }
.mv{ display:grid; gap:22px; grid-template-columns:1fr; }
@media (min-width:992px){ .mv{ grid-template-columns:1.15fr 1fr; } }
.mv-card{ position:relative; overflow:hidden; isolation:isolate; border-radius:var(--r-xl); padding:clamp(28px,4vw,52px); display:flex; flex-direction:column; justify-content:center; }
.mv-mission{ background:linear-gradient(150deg,var(--forest) 0%,var(--forest-2) 100%); color:#fff; min-height:340px; }
.mv-mission::before{ content:''; position:absolute; top:-100px; right:-100px; width:340px; height:340px; border-radius:50%; z-index:-1; background:radial-gradient(circle,rgba(149,219,35,.4),rgba(149,219,35,0) 70%); }
.mv-vision{ background:#fff; border:1px solid var(--line); box-shadow:var(--shadow-s); }
.mv-label{ display:inline-flex; align-items:center; gap:10px; font-size:1rem; font-weight:800; margin:0 0 18px; }
.mv-label i{ display:grid; place-items:center; width:42px; height:42px; border-radius:13px; background:var(--lime); color:var(--ink); font-size:1.15rem; }
.mv-mission .mv-label{ color:var(--lime); }
.mv-statement{ font-size:clamp(1.6rem,3vw,2.5rem); font-weight:800; line-height:1.2; letter-spacing:-.02em; margin:0; }
.mv-vision p.mv-text{ font-size:1.05rem; line-height:1.8; color:var(--muted); margin:0 0 22px; }
.chip-row{ display:flex; flex-wrap:wrap; gap:10px; }
.chip{ display:inline-flex; align-items:center; gap:8px; padding:9px 15px; border-radius:999px; background:var(--paper); border:1px solid var(--line); font-weight:700; font-size:.88rem; color:var(--ink); }
.chip i{ color:var(--leaf); }
.milestone-card{ background:#fff; border:1px solid var(--line); border-radius:var(--r-xl); padding:clamp(12px,2vw,24px); box-shadow:var(--shadow-s); }
.scroll-x{ overflow-x:auto; -webkit-overflow-scrolling:touch; }
.scroll-x img{ display:block; width:100%; height:auto; border-radius:var(--r-md); }
@media (max-width:767.98px){ .scroll-x img{ min-width:780px; } }
.swipe-hint{ display:none; margin:10px 4px 0; font-size:.85rem; color:var(--muted); align-items:center; gap:8px; }
@media (max-width:767.98px){ .swipe-hint{ display:flex; } }
.values-grid{ display:grid; gap:16px; grid-template-columns:1fr; align-items:center; }
@media (min-width:992px){ .values-grid{ grid-template-columns:5fr 7fr; gap:22px; } }
.values-right{ display:grid; gap:16px; grid-template-columns:1fr 1fr; }
@media (min-width:992px){ .values-right{ gap:22px; } }
.value-img{ background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); padding:10px; box-shadow:var(--shadow-s); cursor:zoom-in; transition:transform .3s var(--ease),box-shadow .3s ease; }
.value-img:hover{ transform:translateY(-4px); box-shadow:var(--shadow); }
.value-img img{ display:block; width:100%; height:auto; border-radius:14px; }
.sarv{ display:grid; gap:clamp(24px,4vw,56px); grid-template-columns:1fr; align-items:center; }
@media (min-width:992px){ .sarv{ grid-template-columns:minmax(260px,380px) 1fr; } }
.sarv-logo{ background:var(--paper); border-radius:var(--r-xl); padding:clamp(20px,3vw,40px); display:grid; place-items:center; }
.sarv-logo img{ max-height:320px; width:auto; max-width:100%; height:auto; }
.sarv-tagline{ font-size:clamp(1.3rem,2.4vw,1.9rem); font-weight:800; color:var(--ink); border-left:5px solid var(--lime); padding-left:16px; margin:24px 0 0; }
.team-grid{ display:grid; gap:16px; grid-template-columns:repeat(2,1fr); }
@media (min-width:768px){ .team-grid{ grid-template-columns:repeat(3,1fr); } }
@media (min-width:1200px){ .team-grid{ grid-template-columns:repeat(6,1fr); gap:20px; } }
.team-card{ display:block; background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); overflow:hidden; box-shadow:var(--shadow-s); transition:transform .3s var(--ease),box-shadow .3s ease,border-color .3s ease; }
.team-card:hover{ transform:translateY(-6px); box-shadow:var(--shadow); border-color:var(--lime); }
.team-card .ph{ aspect-ratio:4/5; }
.team-card .ph img{ transition:transform .7s var(--ease); }
.team-card:hover .ph img{ transform:scale(1.04); }
.team-card .tc-body{ padding:14px 14px 18px; text-align:center; }
.team-card h3{ font-size:1rem; font-weight:800; margin:0 0 2px; }
.team-card p{ margin:0; font-size:.85rem; color:var(--muted); }

/* ---------- Our Solutions ---------- */
.filter-bar{ display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin:0 0 30px; }
.filter-btn{ padding:10px 20px; border-radius:999px; border:1.5px solid var(--line); background:#fff; font-weight:700; font-size:.9rem; color:var(--ink); cursor:pointer; transition:all .25s ease; }
.filter-btn:hover{ border-color:var(--lime); }
.filter-btn.active{ background:var(--ink); color:#fff; border-color:var(--ink); }
.prod-grid{ display:grid; gap:22px; grid-template-columns:1fr; }
@media (min-width:1200px){ .prod-grid{ grid-template-columns:repeat(2,1fr); } }
.prod-card{ position:relative; display:grid; grid-template-columns:1fr; background:#fff; border:1px solid var(--line); border-radius:var(--r-xl); overflow:hidden; box-shadow:var(--shadow-s); transition:transform .3s var(--ease),box-shadow .3s ease,border-color .3s ease; }
@media (min-width:640px){ .prod-card{ grid-template-columns:230px 1fr; } }
.prod-card::before{ content:''; position:absolute; left:0; right:0; top:0; height:5px; z-index:3; background:var(--lime); transform:scaleX(0); transform-origin:left; transition:transform .45s var(--ease); }
.prod-card:hover{ transform:translateY(-6px); box-shadow:var(--shadow); border-color:rgba(149,219,35,.6); }
.prod-card:hover::before{ transform:scaleX(1); }
.prod-media{ aspect-ratio:4/3; }
@media (min-width:640px){ .prod-media{ aspect-ratio:auto; min-height:100%; } .prod-media > img{ position:absolute; inset:0; } }
.prod-media > img{ transition:transform .8s var(--ease); }
.prod-card:hover .prod-media > img{ transform:scale(1.05); }
.prod-media .sol-ic{ z-index:2; }
.prod-card:hover .sol-ic{ background:var(--lime); color:var(--ink); }
.prod-body{ display:flex; flex-direction:column; align-items:flex-start; padding:clamp(22px,2.6vw,32px); }
.prod-tag{ display:inline-block; padding:5px 12px; border-radius:999px; background:rgba(149,219,35,.25); color:var(--ink); font-weight:700; font-size:.78rem; margin-bottom:12px; }
.prod-card h3{ font-size:1.35rem; font-weight:800; margin:0 0 8px; }
.prod-card h3 a{ color:inherit; }
.prod-card h3 a:hover{ color:var(--leaf); }
.prod-card .desc{ font-size:.96rem; line-height:1.65; color:var(--muted); margin:0 0 16px; }
.prod-card ul{ list-style:none; width:100%; padding:16px 0 0; margin:auto 0 0; border-top:1px dashed var(--line); display:grid; gap:9px; }
.prod-card li{ position:relative; padding-left:22px; font-size:.92rem; line-height:1.5; color:var(--text); }
.prod-card li::before{ content:''; position:absolute; left:0; top:.5em; width:9px; height:9px; border-radius:50%; background:var(--lime); box-shadow:0 0 0 3px rgba(149,219,35,.25); }
.rd-tiles{ display:grid; gap:14px; grid-template-columns:1fr 1fr; }
.rd-tile{ padding:20px 18px; border-radius:var(--r-lg); background:#fff; border:1px solid var(--line); box-shadow:var(--shadow-s); }
.rd-tile .icon-chip{ width:46px; height:46px; border-radius:14px; font-size:1.2rem; margin-bottom:12px; }
.rd-tile h3{ font-size:.98rem; font-weight:800; line-height:1.35; margin:0; }

/* ---------- Farmer Connect ---------- */
.fc-intro{ display:grid; gap:clamp(24px,4vw,56px); grid-template-columns:1fr; align-items:center; }
@media (min-width:992px){ .fc-intro{ grid-template-columns:1.35fr 1fr; } }
.stat-panel{ position:relative; overflow:hidden; isolation:isolate; border-radius:var(--r-xl); padding:clamp(28px,4vw,48px); color:#fff; background:linear-gradient(150deg,var(--forest),var(--forest-2)); }
.stat-panel::before{ content:''; position:absolute; right:-80px; top:-80px; width:280px; height:280px; border-radius:50%; z-index:-1; background:radial-gradient(circle,rgba(149,219,35,.4),rgba(149,219,35,0) 70%); }
.stat-panel .big{ display:block; font-size:clamp(3.6rem,8vw,6rem); font-weight:800; line-height:1; color:var(--lime); letter-spacing:-.04em; }
.stat-panel p{ margin:12px 0 0; font-size:1.05rem; line-height:1.6; color:rgba(255,255,255,.88); }
.stat-panel small{ display:block; margin-top:14px; color:rgba(255,255,255,.6); font-size:.82rem; }
.gallery{ display:grid; gap:12px; grid-template-columns:repeat(2,1fr); }
@media (min-width:768px){ .gallery{ grid-template-columns:repeat(3,1fr); } }
@media (min-width:1200px){ .gallery{ grid-template-columns:repeat(4,1fr); gap:16px; } }
.gallery .g{ margin:0; border-radius:var(--r-md); aspect-ratio:4/3; }
.gallery .g img{ transition:transform .7s var(--ease); cursor:zoom-in; }
.gallery .g:hover img{ transform:scale(1.04); }
.gallery .g::after{ content:''; position:absolute; inset:0; pointer-events:none; background:linear-gradient(180deg,transparent 55%,rgba(15,29,8,.35)); opacity:0; transition:opacity .3s; }
.gallery .g:hover::after{ opacity:1; }
.gallery.bento{ grid-auto-rows:150px; grid-auto-flow:dense; }
.gallery.bento .g{ aspect-ratio:auto; }
@media (min-width:768px){ .gallery.bento{ grid-auto-rows:190px; } }
@media (min-width:1200px){ .gallery.bento{ grid-auto-rows:220px; } }
.gallery.bento .g.wide{ grid-column:span 2; grid-row:span 2; }

/* ---------- Sustainability ---------- */
.pillar-grid{ display:grid; gap:16px; grid-template-columns:repeat(2,1fr); }
@media (min-width:992px){ .pillar-grid{ grid-template-columns:repeat(4,1fr); } }
.pillar-link{ display:flex; flex-direction:column; align-items:center; text-align:center; gap:10px; padding:30px 20px 24px; border-radius:var(--r-lg); background:#fff; border:1px solid var(--line); box-shadow:var(--shadow-s); color:var(--ink); font-size:1.15rem; font-weight:800; transition:transform .3s var(--ease),box-shadow .3s ease,border-color .3s ease; }
.pillar-link .icon-chip{ width:92px; height:92px; border-radius:50%; font-size:2.6rem; margin-bottom:8px; transition:background-color .3s ease,color .3s ease,transform .3s var(--ease); }
.pillar-link:hover{ transform:translateY(-5px); box-shadow:var(--shadow); border-color:var(--lime); color:var(--ink); }
.pillar-link:hover .icon-chip{ background:var(--lime); color:var(--ink); transform:scale(1.06); }
.pillar-link span.more{ font-size:.85rem; font-weight:600; color:var(--muted); display:inline-flex; align-items:center; gap:6px; }
.pillar-head{ display:flex; gap:18px; align-items:flex-start; margin-bottom:clamp(22px,3vw,32px); }
.pillar-head .icon-chip{ width:64px; height:64px; border-radius:20px; font-size:1.7rem; background:var(--lime); color:var(--ink); }
.pillar-head h2{ font-size:clamp(1.6rem,2.8vw,2.2rem); font-weight:800; margin:0 0 8px; }
.pillar-head p{ margin:0; max-width:80ch; line-height:1.8; color:var(--muted); font-size:1.02rem; }
@media (max-width:575.98px){ .pillar-head{ flex-direction:column; } }

/* ---------- Work With Us ---------- */
.t-grid{ display:grid; gap:20px; grid-template-columns:1fr; }
@media (min-width:768px){ .t-grid{ grid-template-columns:repeat(2,1fr); } }
@media (min-width:1200px){ .t-grid{ grid-template-columns:repeat(4,1fr); } }
.t-card{ position:relative; display:flex; flex-direction:column; height:100%; background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); padding:28px 26px; box-shadow:var(--shadow-s); }
.t-card .qmark{ font-size:2.6rem; line-height:1; color:var(--lime); margin-bottom:6px; }
.t-card .quote{ font-size:.95rem; line-height:1.75; color:var(--muted); margin:0 0 22px; flex:1; }
.t-person{ display:flex; align-items:center; gap:14px; padding-top:18px; border-top:1px dashed var(--line); }
.t-person img{ width:56px; height:56px; border-radius:50%; object-fit:cover; object-position:50% 15%; border:3px solid var(--paper); flex:0 0 auto; }
.t-person h3{ font-size:1rem; font-weight:800; margin:0; }
.t-person p{ margin:2px 0 0; font-size:.82rem; color:var(--muted); line-height:1.4; }
.values-intro{ position:relative; overflow:hidden; isolation:isolate; height:100%; min-height:340px; display:flex; flex-direction:column; justify-content:flex-end; padding:44px 38px; border-radius:28px; background:linear-gradient(160deg,var(--forest) 0%,var(--forest-2) 100%); color:#dcecdf; }
.values-intro::before{ content:''; position:absolute; top:-90px; right:-90px; width:300px; height:300px; border-radius:50%; z-index:-1; background:radial-gradient(circle,rgba(149,219,35,.38) 0%,rgba(149,219,35,0) 70%); }
.values-intro .intro-leaf{ position:absolute; top:28px; right:30px; font-size:5.5rem; color:rgba(149,219,35,.16); z-index:-1; }
.values-intro-icon{ display:grid; place-items:center; width:58px; height:58px; margin-bottom:22px; border-radius:16px; background:var(--lime); color:var(--ink); font-size:1.45rem; }
.values-intro h2{ color:#fff; font-weight:800; font-size:clamp(1.9rem,3vw,2.6rem); margin-bottom:16px; }
.values-intro p{ color:rgba(220,236,223,.88); line-height:1.8; margin:0; max-width:46ch; }
.value-card{ position:relative; isolation:isolate; overflow:hidden; height:100%; padding:28px 24px 26px; border-radius:20px; background:var(--paper); border:1px solid var(--line); transition:transform .3s ease,box-shadow .3s ease; }
.value-card::after{ content:''; position:absolute; left:0; right:0; bottom:0; height:4px; z-index:-1; background:var(--lime); transition:height .4s var(--ease); }
.value-card:hover{ transform:translateY(-6px); box-shadow:0 22px 44px rgba(22,37,10,.14); }
.value-card:hover::after{ height:100%; }
.value-icon{ display:grid; place-items:center; width:54px; height:54px; margin-bottom:20px; border-radius:15px; background:#fff; color:var(--leaf); font-size:1.3rem; box-shadow:0 6px 16px rgba(22,37,10,.08); transition:background-color .3s ease,color .3s ease; }
.value-card:hover .value-icon{ background:var(--ink); color:var(--lime); }
.value-card h3{ font-size:1.08rem; font-weight:800; margin-bottom:8px; }
.value-card p{ font-size:.9rem; line-height:1.65; color:var(--muted); margin:0; transition:color .3s ease; }
.value-card:hover p{ color:var(--ink); }
@media (max-width:991.98px){ .values-intro{ min-height:0; padding:36px 28px; } }
.award-grid{ display:grid; gap:18px; grid-template-columns:1fr; }
@media (min-width:768px){ .award-grid{ grid-template-columns:repeat(3,1fr); } }
.award-grid .g{ margin:0; border-radius:var(--r-lg); aspect-ratio:4/3; box-shadow:var(--shadow-s); }
.award-grid .g img{ cursor:zoom-in; transition:transform .7s var(--ease); }
.award-grid .g:hover img{ transform:scale(1.04); }

/* ---------- Contact ---------- */
.contact-grid{ display:grid; gap:clamp(22px,3vw,40px); grid-template-columns:1fr; align-items:start; }
@media (min-width:992px){ .contact-grid{ grid-template-columns:5fr 6fr; max-width:1180px; margin-inline:auto; } }
.contact-panel{ position:relative; overflow:hidden; isolation:isolate; padding:clamp(26px,3.4vw,42px); border-radius:var(--r-xl); color:#dcecdf; background:linear-gradient(155deg,var(--forest),var(--forest-2)); }
.contact-panel::before{ content:''; position:absolute; right:-90px; bottom:-90px; width:300px; height:300px; border-radius:50%; z-index:-1; background:radial-gradient(circle,rgba(149,219,35,.35),rgba(149,219,35,0) 70%); }
.contact-panel h2{ color:#fff; font-size:clamp(1.6rem,2.6vw,2.2rem); font-weight:800; margin:0 0 8px; }
.contact-panel > p{ color:rgba(220,236,223,.85); line-height:1.7; margin:0 0 24px; }
.dept{ padding:18px 0; border-top:1px solid rgba(255,255,255,.12); }
.dept h3{ color:#fff; font-size:1rem; font-weight:800; margin:0 0 12px; }
.dept ul{ list-style:none; padding:0; margin:0; display:grid; gap:10px; }
.dept li{ display:flex; align-items:center; gap:12px; }
.dept li small{ display:block; font-size:.72rem; color:rgba(220,236,223,.6); line-height:1.2; }
.dept li i{ display:grid; place-items:center; width:34px; height:34px; border-radius:11px; background:rgba(149,219,35,.16); color:var(--lime); flex:0 0 auto; }
.dept a{ color:#e7f3e9; overflow-wrap:anywhere; }
.dept a:hover{ color:var(--lime); }
.form-card{ background:#fff; border:1px solid var(--line); border-radius:var(--r-xl); padding:clamp(18px,2.4vw,28px); box-shadow:var(--shadow-s); }
.form-card h2{ font-size:clamp(1.35rem,2vw,1.7rem); font-weight:800; margin:0 0 14px; }
.consent-note{ margin:0 0 16px; padding:14px 18px; border-radius:var(--r-md); background:var(--paper); border-left:4px solid var(--orange); font-size:.92rem; color:var(--muted); }
.consent-check{ display:flex; align-items:flex-start; gap:12px; cursor:pointer; margin:0; }
.consent-check input{ width:20px; height:20px; flex:0 0 20px; margin-top:2px; cursor:pointer; accent-color:var(--leaf); }
.consent-check span{ line-height:1.55; }
.form-frame-wrap{ position:relative; border-radius:var(--r-lg); overflow:hidden; border:1px solid var(--line); }
.form-frame-wrap iframe{ width:100%; height:560px; border:0; display:block; }
.form-lock-overlay{ position:absolute; inset:0; z-index:5; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:20px; background:rgba(244,248,236,.95); backdrop-filter:blur(3px); transition:opacity .25s ease; }
.form-lock-overlay i{ display:grid; place-items:center; width:64px; height:64px; border-radius:20px; background:var(--lime); color:var(--ink); font-size:1.7rem; margin-bottom:14px; }
.form-lock-overlay p{ color:var(--muted); font-weight:600; max-width:320px; margin:0; }
.form-lock-overlay.unlocked{ opacity:0; pointer-events:none; }
.office-card{ height:100%; background:#fff; border:1px solid var(--line); border-radius:var(--r-xl); padding:clamp(22px,3vw,34px); box-shadow:var(--shadow-s); }
.office-card h3{ font-size:1.4rem; font-weight:800; margin:0 0 18px; }
.office-list{ list-style:none; padding:0; margin:0 0 18px; display:grid; gap:12px; }
.office-list li{ display:flex; gap:12px; align-items:flex-start; color:var(--muted); line-height:1.55; }
.office-list i{ display:grid; place-items:center; width:34px; height:34px; border-radius:11px; background:rgba(149,219,35,.2); color:var(--leaf); flex:0 0 auto; }
.office-list a{ color:var(--ink); font-weight:700; }
.office-list a:hover{ color:var(--leaf); }
.map-embed{ border-radius:var(--r-md); overflow:hidden; border:1px solid var(--line); }
.map-embed iframe{ width:100%; height:260px; border:0; display:block; }

/* ---------- Privacy Policy ---------- */
.diagonal-banner{ position:relative; height:clamp(260px,32vw,340px); margin-top:calc(var(--nav-h) * -1); padding:0; overflow:hidden; display:flex; align-items:flex-end; background:var(--forest); }
.diagonal-banner .panel{ position:absolute; inset:0; background-size:cover; background-position:center; }
.diagonal-banner .panel-1{ clip-path:polygon(0% 0%,35.4% 0%,27.4% 100%,0% 100%); }
.diagonal-banner .panel-2{ clip-path:polygon(36.6% 0%,69.4% 0%,61.4% 100%,28.6% 100%); }
.diagonal-banner .panel-3{ clip-path:polygon(70.6% 0%,100% 0%,100% 100%,62.6% 100%); }
.diagonal-banner::after{ content:''; position:absolute; inset:0; background:linear-gradient(to left,rgba(10,20,5,.82) 0%,rgba(10,20,5,.4) 42%,transparent 68%),linear-gradient(180deg,rgba(10,20,5,.3) 0%,transparent 40%); }
.diagonal-banner .container-fluid{ position:relative; z-index:2; text-align:right; padding-bottom:34px; }
.diagonal-banner h1{ color:#fff; font-weight:800; font-size:clamp(1.9rem,3.8vw,2.9rem); margin:0 0 10px; text-shadow:0 2px 10px rgba(0,0,0,.45); }
.policy-layout{ display:grid; gap:clamp(24px,4vw,56px); grid-template-columns:1fr; align-items:start; }
@media (min-width:992px){ .policy-layout{ grid-template-columns:280px 1fr; } }
.toc{ position:sticky; top:calc(var(--nav-h) + 28px); padding:22px; border-radius:var(--r-lg); background:var(--paper); border:1px solid var(--line); }
@media (max-width:991.98px){ .toc{ position:static; } }
.toc h2{ font-size:1rem; font-weight:800; margin:0 0 12px; }
.toc ol{ list-style:none; margin:0; padding:0; display:grid; gap:2px; counter-reset:t; }
.toc a{ display:flex; gap:10px; padding:8px 10px; border-radius:10px; font-size:.9rem; font-weight:600; color:var(--muted); transition:background-color .2s,color .2s; }
.toc a::before{ counter-increment:t; content:counter(t) '.'; color:var(--leaf); font-weight:800; min-width:1.6em; }
.toc a:hover{ background:rgba(149,219,35,.2); color:var(--ink); }
.toc a.active{ background:var(--lime); color:var(--ink); }
.policy{ max-width:78ch; }
.policy-title{ font-size:clamp(1.7rem,2.8vw,2.3rem); font-weight:800; margin:0 0 18px; }
.policy h2{ font-size:1.3rem; font-weight:800; margin:38px 0 10px; padding-top:6px; }
.policy h2:first-of-type{ margin-top:22px; }
.policy h3{ font-size:1.05rem; font-weight:700; margin:18px 0 8px; }
.policy p{ color:var(--muted); line-height:1.85; margin:0 0 12px; }
.policy ul{ color:var(--muted); line-height:1.85; margin:0 0 12px; padding-left:20px; }
.policy ul li::marker{ color:var(--lime); }
.policy a{ color:var(--leaf); font-weight:700; }
.policy-contact{ font-weight:700; color:var(--ink) !important; }

/* ---------- Board of Directors ---------- */
.bod-group + .bod-group{ margin-top:clamp(40px,5vw,64px); }
.bod-group > h2{ font-size:clamp(1.5rem,2.6vw,2rem); font-weight:800; margin:0 0 22px; }
.bod-grid{ display:grid; gap:22px; grid-template-columns:1fr; }
@media (min-width:1100px){ .bod-grid{ grid-template-columns:repeat(2,1fr); } }
.bod-card{ display:grid; grid-template-columns:1fr; background:#fff; border:1px solid var(--line); border-radius:var(--r-xl); overflow:hidden; box-shadow:var(--shadow-s); transition:box-shadow .3s ease,border-color .3s ease; }
@media (min-width:576px){ .bod-card{ grid-template-columns:minmax(190px,38%) 1fr; } }
.bod-card:hover,.bod-card:target{ box-shadow:var(--shadow); border-color:rgba(149,219,35,.7); }
.bod-photo{ aspect-ratio:4/5; }
.bod-photo img{ position:absolute; inset:0; object-fit:contain; object-position:50% 0; }
@media (min-width:576px){ .bod-photo{ aspect-ratio:auto; min-height:100%; } }
.bod-body{ padding:clamp(20px,2.6vw,32px); display:flex; flex-direction:column; align-items:flex-start; }
.bod-body h3{ font-size:1.35rem; font-weight:800; margin:0 0 8px; }
.bod-role{ display:inline-block; padding:5px 12px; border-radius:999px; background:rgba(149,219,35,.25); color:var(--ink); font-weight:700; font-size:.82rem; margin-bottom:14px; }
.bio{ margin:0; color:var(--muted); line-height:1.75; font-size:.96rem; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:5; line-clamp:5; overflow:hidden; }
.bio.is-open{ display:block; -webkit-line-clamp:unset; line-clamp:unset; }
.bio-toggle{ margin-top:12px; padding:0; border:0; background:none; font-weight:700; color:var(--leaf); display:inline-flex; align-items:center; gap:6px; cursor:pointer; }
.bio-toggle:hover{ color:var(--ink); }
.bio-toggle i{ transition:transform .25s ease; }
.bio-toggle[aria-expanded="true"] i{ transform:rotate(180deg); }

/* ---------- Footer ---------- */
.site-footer{ position:relative; overflow:hidden; isolation:isolate; padding-top:clamp(44px,6vw,72px); color:rgba(220,236,223,.82); background:#0d1706; border-radius:clamp(28px,4vw,48px) clamp(28px,4vw,48px) 0 0; }
.site-footer::before{ content:''; position:absolute; left:-120px; top:-140px; width:420px; height:420px; border-radius:50%; z-index:-1; background:radial-gradient(circle,rgba(149,219,35,.16),rgba(149,219,35,0) 70%); }
.footer-grid{ display:grid; gap:36px 24px; grid-template-columns:1fr; }
@media (min-width:576px){ .footer-grid{ grid-template-columns:1fr 1fr; } .footer-brand{ grid-column:1 / -1; } }
@media (min-width:1200px){ .footer-grid{ grid-template-columns:1.2fr .7fr 1fr 1fr 1.25fr; } .footer-brand{ grid-column:auto; } }
.footer-logo{ height:56px; width:auto; margin-bottom:16px; }
.footer-brand p{ line-height:1.75; max-width:42ch; margin:0 0 20px; }
.social-row{ display:flex; gap:10px; }
.social-row a{ display:grid; place-items:center; width:42px; height:42px; border-radius:13px; background:rgba(255,255,255,.08); color:#fff; transition:background-color .25s,color .25s,transform .25s; }
.site-footer .social-row a:hover{ background:var(--lime); color:var(--ink); transform:translateY(-3px); }
.f-title{ color:#fff; font-size:1.02rem; font-weight:800; margin:0 0 16px; }
.f-list,.f-links{ list-style:none; margin:0; padding:0; display:grid; gap:12px; }
.f-list li{ display:flex; gap:12px; align-items:flex-start; }
.f-list i{ display:grid; place-items:center; flex:0 0 30px; width:30px; height:30px; border-radius:10px; background:rgba(149,219,35,.14); color:var(--lime); font-size:.95rem; }
.f-list small{ display:block; font-size:.74rem; color:rgba(220,236,223,.55); line-height:1.3; }
.f-list a{ color:#e7f3e9; overflow-wrap:break-word; font-size:.92rem; line-height:1.4; }
.f-links a{ color:rgba(220,236,223,.82); }
.site-footer a:hover{ color:var(--lime); }
.footer-bottom{ margin-top:clamp(36px,5vw,52px); border-top:1px solid rgba(255,255,255,.08); padding:18px 0; font-size:.86rem; color:rgba(220,236,223,.65); }
.footer-bottom .container-fluid{ display:flex; flex-wrap:wrap; justify-content:space-between; gap:10px 24px; }
.footer-bottom a{ color:#e7f3e9; font-weight:600; display:inline-flex; align-items:center; gap:8px; }

/* ---------- Back to top ---------- */
.to-top{
  --p:0; position:fixed; right:20px; bottom:20px; z-index:1045; width:52px; height:52px; padding:0; border:0; border-radius:50%; cursor:pointer;
  display:grid; place-items:center; color:var(--ink); font-size:1.15rem;
  background:conic-gradient(var(--lime) calc(var(--p) * 1%),rgba(255,255,255,.9) 0);
  box-shadow:0 10px 28px rgba(22,37,10,.28); opacity:0; visibility:hidden; transform:translateY(16px);
  transition:opacity .3s ease,transform .3s ease,visibility .3s;
}
.to-top::before{ content:''; position:absolute; inset:4px; border-radius:50%; background:#fff; transition:background-color .25s; }
.to-top i{ position:relative; transition:transform .25s ease; }
.to-top.show{ opacity:1; visibility:visible; transform:none; }
.to-top:hover::before{ background:var(--lime); }
.to-top:hover i{ transform:translateY(-3px); }

/* ---------- Lightbox ---------- */
.lb-open{ overflow:hidden; }
.lb{ position:fixed; inset:0; z-index:3000; display:none; align-items:center; justify-content:center; padding:clamp(12px,3vw,40px); background:rgba(8,14,4,.92); backdrop-filter:blur(6px); }
.lb.open{ display:flex; animation:dgDrop .25s ease; }
.lb figure{ margin:0; max-width:min(1400px,100%); text-align:center; }
.lb img{ max-width:100%; max-height:82vh; border-radius:14px; box-shadow:0 30px 80px rgba(0,0,0,.5); }
.lb figcaption{ margin-top:12px; color:rgba(255,255,255,.75); font-size:.9rem; }
.lb button{ position:absolute; display:grid; place-items:center; width:48px; height:48px; border-radius:50%; border:0; background:rgba(255,255,255,.14); color:#fff; font-size:1.2rem; cursor:pointer; transition:background-color .2s,color .2s; }
.lb button:hover{ background:var(--lime); color:var(--ink); }
.lb .lb-close{ top:18px; right:18px; }
.lb .lb-prev{ left:18px; top:50%; translate:0 -50%; }
.lb .lb-next{ right:18px; top:50%; translate:0 -50%; }
@media (max-width:575.98px){ .lb .lb-prev,.lb .lb-next{ top:auto; bottom:18px; translate:none; } .lb .lb-prev{ left:calc(50% - 58px); } .lb .lb-next{ right:calc(50% - 58px); } }