
:root{
  --bg:#f5f7f1;
  --surface:rgba(255,255,255,.68);
  --surface-strong:rgba(255,255,255,.86);
  --surface-soft:rgba(239,246,234,.66);
  --line:rgba(91,117,83,.17);
  --line-strong:rgba(91,117,83,.26);
  --text:#17221a;
  --muted:#718077;
  --green:#78b83f;
  --green-dark:#5c9830;
  --green-pale:#e9f3e2;
  --shadow:0 18px 55px rgba(37,61,36,.08);
  --shadow-hover:0 28px 75px rgba(37,61,36,.13);
  --radius:28px;
  --container:min(1440px, calc(100vw - 160px));
  --sans:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --mono:"DM Mono",ui-monospace,SFMono-Regular,monospace;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  min-width:0;
  overflow-x:hidden;
  background:
    radial-gradient(circle at 8% 8%,rgba(120,184,63,.11),transparent 25rem),
    radial-gradient(circle at 92% 30%,rgba(120,184,63,.08),transparent 30rem),
    var(--bg);
  color:var(--text);
  font-family:var(--sans);
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit}
button,input,textarea{font:inherit}
.noise{position:fixed;inset:0;pointer-events:none;z-index:50;opacity:.018;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.container{width:var(--container);margin-inline:auto}
.nav{
  position:sticky;top:16px;z-index:40;
  width:var(--container);height:68px;margin:16px auto 0;
  padding:0 10px 0 16px;
  display:flex;align-items:center;gap:28px;
  border:1px solid var(--line);
  border-radius:22px;
  background:rgba(255,255,255,.68);
  backdrop-filter:blur(24px) saturate(145%);
  -webkit-backdrop-filter:blur(24px) saturate(145%);
  box-shadow:0 10px 35px rgba(40,60,40,.06);
}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:800;letter-spacing:-.045em;font-size:18px;margin-right:auto}
.logo-mark{
  width:32px;height:32px;border-radius:11px;display:grid;place-items:center;
  color:#fff;background:linear-gradient(145deg,#91ca58,#65a737);
  box-shadow:0 5px 16px rgba(95,159,50,.22);
  font-size:14px;
}
.nav-links{display:flex;align-items:center;gap:24px}
.nav-links a{text-decoration:none;color:#69766e;font-size:12px;font-weight:600;transition:color .25s}
.nav-links a:hover,.nav-links a.active{color:var(--text)}
.nav-cta{
  flex-shrink:0;
  white-space:nowrap;
  text-decoration:none;background:rgba(120,184,63,.94);color:#fff;
  border:1px solid rgba(255,255,255,.35);border-radius:15px;
  padding:11px 15px;font-size:11px;font-weight:800;
  box-shadow:0 7px 20px rgba(95,159,50,.17);
  transition:transform .25s,box-shadow .25s;
}
.nav-cta:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(95,159,50,.22)}
.menu-toggle{display:none;border:0;background:var(--surface-strong);width:42px;height:42px;border-radius:14px;color:var(--text);cursor:pointer}
.mobile-menu{
  display:none;position:fixed;z-index:35;top:92px;left:50%;transform:translateX(-50%);
  width:var(--container);padding:14px;
  border:1px solid var(--line);border-radius:24px;
  background:rgba(255,255,255,.84);backdrop-filter:blur(26px);
  box-shadow:var(--shadow);
}
.mobile-menu.open{display:grid}
.mobile-menu a{padding:15px 14px;border-radius:15px;text-decoration:none;color:var(--text);font-size:14px;font-weight:700}
.mobile-menu a:hover{background:var(--green-pale)}
.mobile-menu .mobile-portal{margin-top:6px;background:var(--green);color:#fff;text-align:center;box-shadow:0 8px 20px rgba(95,159,50,.16)}
.mobile-menu .mobile-portal:hover{background:var(--green-dark);color:#fff}
.eyebrow{font:500 9px var(--mono);letter-spacing:.16em;color:var(--green-dark);display:flex;align-items:center;gap:9px}
.pulse{width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 0 5px rgba(120,184,63,.12)}
h1,h2,h3,p{overflow-wrap:break-word}
h1{font-size:clamp(54px,7vw,100px);line-height:.91;letter-spacing:-.075em;margin:24px 0 28px}
h1 em,h2 span{color:var(--green-dark);font-style:normal}
h2{letter-spacing:-.06em}
.lead{font-size:20px;line-height:1.55;color:#6d7b72}
.page-hero{width:var(--container);margin:0 auto;padding:125px 0 90px}
.page-hero p{max-width:650px;color:var(--muted);font-size:17px;line-height:1.7}
.section{width:var(--container);margin-inline:auto;padding:110px 0}
.section-label{font:500 9px var(--mono);letter-spacing:.15em;color:#7a887f}
.button{
  display:inline-flex;align-items:center;justify-content:center;gap:16px;
  border:1px solid var(--line);border-radius:15px;padding:14px 19px;
  text-decoration:none;font-size:11px;font-weight:800;cursor:pointer;
  transition:transform .3s,box-shadow .3s,background .3s;
}
.button:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(37,61,36,.10)}
.button.primary{color:#fff;background:var(--green);border-color:var(--green);box-shadow:0 9px 25px rgba(95,159,50,.15)}
.button.ghost{background:rgba(255,255,255,.54);color:var(--text)}
.button.full{width:100%}
.glass{
  background:var(--surface);
  border:1px solid var(--line);
  backdrop-filter:blur(22px) saturate(145%);
  -webkit-backdrop-filter:blur(22px) saturate(145%);
  box-shadow:var(--shadow);
}
footer{
  width:var(--container);margin:30px auto 0;
  border-top:1px solid var(--line);
  padding:55px 0 25px;
  display:grid;grid-template-columns:1fr 1fr;gap:45px;
}
.footer-brand p{color:var(--muted);font-size:12px;max-width:270px;line-height:1.6}
.footer-brand strong{margin-left:9px}
.footer-links{display:flex;justify-content:flex-end;gap:75px}
.footer-links div{display:flex;flex-direction:column;gap:12px}
.footer-links b{font:500 9px var(--mono);color:var(--green-dark);letter-spacing:.1em}
.footer-links a{text-decoration:none;color:var(--muted);font-size:12px}
.footer-links a:hover{color:var(--text)}
.copyright{grid-column:1/-1;border-top:1px solid var(--line);padding-top:22px;color:#8a958d;font:9px var(--mono)}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s cubic-bezier(.2,.8,.2,1),transform .8s cubic-bezier(.2,.8,.2,1)}
.reveal.visible{opacity:1;transform:none}

@media(max-width:900px){
  :root{--container:calc(100vw - 32px)}
  .nav{top:8px;margin-top:8px;height:62px;border-radius:19px}
  .nav-links,.nav-cta{display:none}
  .menu-toggle{display:block}
  .page-hero{padding:90px 0 65px}
  h1{font-size:clamp(48px,14vw,76px)}
  .section{padding:75px 0}
  footer{grid-template-columns:1fr;padding-top:45px}
  .footer-links{justify-content:flex-start}
  .copyright{grid-column:1}
}
@media(max-width:560px){
  .mobile-menu{top:78px}
  .page-hero{padding-top:72px}
  .hero-actions{flex-direction:column;align-items:stretch}
  .button{width:100%}
  .footer-links{gap:45px}
}
/* Final TurfOS footer alignment */
footer{width:var(--container);margin:30px auto 0;padding:55px 0 25px;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;column-gap:100px;row-gap:45px;border-top:1px solid var(--line)}.footer-logo{display:flex;align-items:center}.footer-brand strong{margin-left:9px;font-size:17px;letter-spacing:-.04em}.footer-brand p{margin:14px 0 0;color:var(--muted);font-size:12px;line-height:1.6;max-width:270px}.footer-links{display:flex;justify-content:flex-end;align-items:flex-start;gap:75px}.footer-links div{display:flex;flex-direction:column;gap:12px;min-width:65px}.footer-links b{font:500 9px var(--mono);color:var(--green-dark);letter-spacing:.1em;margin-bottom:2px}.footer-links a{text-decoration:none;color:var(--muted);font-size:12px}.copyright{grid-column:1/-1;border-top:1px solid var(--line);padding-top:22px;color:#8a958d;font:9px var(--mono)}@media(max-width:900px){footer{grid-template-columns:1fr;grid-template-rows:auto auto auto;gap:35px;padding-top:45px}.footer-links{justify-content:flex-start}.copyright{grid-column:1}}

/* TurfOS brand mark */
.logo-image{display:block;width:36px;height:38px;flex:0 0 auto;object-fit:contain;mix-blend-mode:multiply}.footer-logo .logo-image{width:32px;height:34px}
