:root{
  --ease: cubic-bezier(0.22, 1, 0.36, 1);
  --font: 'Geist', system-ui, sans-serif;
  --serif: 'Lora', Georgia, 'Times New Roman', serif;
  --bg:#f7f7f3; --bg2:#ffffff; --panel:#ffffff;
  --text:#14160e; --muted:#5d6053; --line:rgba(20,24,10,0.10);
  --green:#7b9c0f; --green-d:#5f7a0b; --green-deep:#455907; --ink-green:#4c6408;
  --red:#d60001; --red-d:#aa0001; --gold:#a8811f;
  --head: 72px;
}
html[data-dys="1"]{ --font:'Lexend', system-ui, sans-serif; }
*{ box-sizing:border-box; }
html,body{ margin:0; padding:0; }
body{
  font-family:var(--font); font-size:18px; line-height:1.6;
  background:var(--bg); color:var(--text);
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
::selection{ background:var(--green); color:#fff; }
a{ color:var(--ink-green); text-decoration:none; }
a:hover{ color:var(--ink-green); }
img{ max-width:100%; }
input,button,textarea,select{ font-family:inherit; }

@keyframes kenburns{ 0%{ transform:scale(1) translate(0,0);} 100%{ transform:scale(1.14) translate(-1.5%,-1.5%);} }
@keyframes grainshift{ 0%{transform:translate(0,0)}10%{transform:translate(-4%,-2%)}20%{transform:translate(-8%,4%)}30%{transform:translate(4%,-6%)}40%{transform:translate(-2%,8%)}50%{transform:translate(-8%,2%)}60%{transform:translate(6%,4%)}70%{transform:translate(-4%,-8%)}80%{transform:translate(6%,6%)}90%{transform:translate(-6%,-2%)}100%{transform:translate(0,0)} }
@keyframes microfloat{ 0%,100%{ transform:translateY(0);} 50%{ transform:translateY(-6px);} }
[data-float]:nth-child(2){ animation-delay:.7s !important; }
[data-float]:nth-child(3){ animation-delay:1.4s !important; }
[data-float]:nth-child(4){ animation-delay:2.1s !important; }

#grain{
  position:fixed; inset:-50%; width:200%; height:200%; z-index:60; pointer-events:none;
  opacity:.05; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size:140px 140px; animation:grainshift 8s steps(10) infinite;
}

#searchPanel{ transform:translateY(-105%); opacity:0; pointer-events:none; }
html[data-search="1"] #searchPanel{ transform:translateY(0); opacity:1; pointer-events:auto; }
#settingsPanel{ transform:translateX(105%); }
html[data-settings="1"] #settingsPanel{ transform:translateX(0); }
#scrim{ opacity:0; pointer-events:none; }
html[data-search="1"] #scrim, html[data-settings="1"] #scrim, html[data-menu="1"] #scrim{ opacity:1; pointer-events:auto; }
#mobileMenu{ transform:translateX(105%); }
html[data-menu="1"] #mobileMenu{ transform:translateX(0); }

#speakControls{ display:none; flex-direction:column; gap:16px; }
html[data-speak="1"] #speakControls{ display:flex; }

.switch{ position:relative; width:48px; height:28px; border-radius:999px; border:none; cursor:pointer; background:var(--line); transition:background .25s var(--ease); }
.switch[aria-checked="true"]{ background:var(--green); }
.switch-knob{ position:absolute; top:3px; left:3px; width:22px; height:22px; border-radius:50%; background:#fff; transition:left .25s var(--ease); }
.switch[aria-checked="true"] .switch-knob{ left:23px; }

.navlink{ background-image:linear-gradient(currentColor,currentColor); background-repeat:no-repeat; background-size:0% 2px; background-position:0 100%; transition:background-size .3s var(--ease), color .25s var(--ease); }
.navlink:hover{ background-size:100% 2px; }
.icobtn{ transition:background .25s var(--ease), color .25s var(--ease); }
.tap-target{ touch-action:manipulation; -webkit-tap-highlight-color:transparent; position:relative; }
.tap-target::before{ content:''; position:absolute; inset:-14px; }
.icobtn:hover{ background:rgba(58,156,98,0.16); }

.svc-card{ transition:transform .35s var(--ease), box-shadow .35s var(--ease), border-color .35s var(--ease); }
.svc-card:hover{ transform:translateY(-6px); box-shadow:0 24px 48px -24px rgba(20,24,10,0.32); border-color:var(--green-d) !important; }
.svc-card-img{ transition:transform .7s var(--ease), opacity .4s var(--ease); }
.svc-card:hover .svc-card-img{ transform:scale(1.06); }
.svc-card-arrow{ display:inline-block; transition:transform .3s var(--ease); }
.svc-card:hover .svc-card-arrow{ transform:translateX(4px); }

.cta-shine{ background-image:linear-gradient(115deg, transparent 40%, rgba(255,255,255,0.35) 50%, transparent 60%); background-size:220% 100%; background-position:150% 0; background-repeat:no-repeat; transition:background-position .5s ease, transform .25s ease; }
.cta-shine:hover{ background-position:-50% 0; transform:translateY(-3px) scale(1.03); }

[data-float]{ transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease; }
[data-float]:hover{ transform:translateY(-6px); box-shadow:0 20px 40px -22px rgba(20,24,10,0.3); border-color:var(--green-d); }

@media (max-width:1000px){ .desk-nav{ display:none !important; } }
@media (min-width:1001px){ .mob-only{ display:none !important; } }
@media (max-width:860px){
  [data-svc]{ grid-template-columns:1fr !important; gap:26px !important; }
  [data-svc] > div:first-child{ position:static !important; top:auto !important; order:0 !important; }
  [data-svc] > div:last-child{ order:1 !important; padding-top:0 !important; }
  [data-svc] > div:first-child > div{ aspect-ratio:16/10 !important; }
}
@media (max-width:520px){
  [data-form-row]{ grid-template-columns:1fr !important; }
}
@media (max-width:1100px){
  [role="list"]{ grid-template-columns:repeat(2,1fr) !important; }
}
@media (max-width:560px){
  [role="list"]{ grid-template-columns:1fr !important; }
}
.mvdel-nowrap{ white-space:nowrap; }
@media (max-width:480px){
  .mvdel-nowrap{ white-space:normal; }
}
@media (prefers-reduced-motion: reduce){
  *{ animation:none !important; transition:none !important; }
  [data-reveal]{ opacity:1 !important; transform:none !important; }
}
