:root{
  --ag-dark-green:#29400E;--ag-dark-green-2:#1d2e0a;--ag-bright-green:#C1E125;
  --ag-cream:#FAFAF0;--ag-cream-2:#f3f1e2;--ag-ink:#1b2410;--ag-muted:#6c7560;
  --ag-line:rgba(41,64,14,0.12);--ease:cubic-bezier(0.4,0,0.2,1);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
html,body{overflow-x:clip;}
body{margin:0;font-family:'Montserrat',system-ui,-apple-system,sans-serif;color:var(--ag-ink);background:var(--ag-cream);line-height:1.65;font-size:16px;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
a{color:inherit;text-decoration:none;}
img{display:block;max-width:100%;}

/* top bar */
.legal-nav{position:sticky;top:0;z-index:20;background:rgba(250,250,240,0.9);backdrop-filter:blur(20px) saturate(160%);-webkit-backdrop-filter:blur(20px) saturate(160%);border-bottom:1px solid var(--ag-line);}
.legal-nav-inner{max-width:920px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 24px;}
.legal-brand{display:flex;align-items:center;gap:10px;}
.legal-brand .mark{height:28px;width:auto;}
.legal-brand .word{height:19px;width:auto;}
.back-link{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--ag-dark-green);padding:10px 18px;border-radius:999px;background:rgba(41,64,14,0.06);transition:background .2s var(--ease);white-space:nowrap;}
.back-link:hover{background:rgba(41,64,14,0.12);}
.back-link svg{width:15px;height:15px;}

/* content */
main.legal{max-width:760px;margin:0 auto;padding:clamp(48px,8vw,96px) 24px clamp(48px,7vw,88px);}
.legal-eyebrow{font-size:12px;letter-spacing:0.18em;font-weight:600;text-transform:uppercase;color:var(--ag-dark-green);}
h1{font-size:clamp(2.1rem,5vw,3.1rem);font-weight:800;letter-spacing:-0.03em;line-height:1.05;color:var(--ag-dark-green);margin:14px 0 14px;}
.legal-lead{color:var(--ag-muted);font-size:1.05rem;margin:0 0 8px;max-width:60ch;}
h2{font-size:clamp(1.2rem,2.4vw,1.55rem);font-weight:700;letter-spacing:-0.02em;color:var(--ag-dark-green);margin:46px 0 12px;}
h3{font-size:1.02rem;font-weight:700;color:var(--ag-dark-green);margin:26px 0 8px;}
p{margin:0 0 16px;text-wrap:pretty;}
strong{color:var(--ag-dark-green);}
.legal address{font-style:normal;background:#fff;border:1px solid var(--ag-line);border-radius:18px;padding:22px 26px;margin:6px 0 10px;box-shadow:0 12px 40px -24px rgba(41,64,14,0.22);line-height:1.8;}
.legal ul{margin:0 0 16px;padding-left:22px;}
.legal li{margin-bottom:8px;}
.legal a[href^="mailto"],.legal a[href^="tel"],.legal a[href^="http"]{color:var(--ag-dark-green);font-weight:600;border-bottom:1px solid rgba(41,64,14,0.25);}
.legal a[href^="mailto"]:hover,.legal a[href^="tel"]:hover,.legal a[href^="http"]:hover{border-color:var(--ag-dark-green);}

/* footer */
.legal-foot{border-top:1px solid var(--ag-line);margin-top:56px;padding-top:26px;display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;align-items:center;color:var(--ag-muted);font-size:13.5px;}
.legal-foot nav{display:flex;gap:22px;}
.legal-foot a{font-weight:600;}
.legal-foot a:hover{color:var(--ag-dark-green);}

/* custom desktop cursor */
#cursor-dot,#cursor-ring{display:none;}
@media (hover:hover) and (pointer:fine){
  html.has-custom-cursor,html.has-custom-cursor *{cursor:none !important;}
  html.has-custom-cursor #cursor-dot,html.has-custom-cursor #cursor-ring{display:block;position:fixed;top:0;left:0;z-index:9999;pointer-events:none;border-radius:50%;will-change:transform;}
  #cursor-dot{width:7px;height:7px;background:var(--ag-bright-green);transform:translate(-50%,-50%);box-shadow:0 0 10px rgba(193,225,37,0.55);transition:opacity .25s var(--ease);}
  #cursor-ring{width:34px;height:34px;border:1.5px solid rgba(193,225,37,0.6);transform:translate(-50%,-50%);transition:width .22s var(--ease),height .22s var(--ease),border-color .22s var(--ease),background .22s var(--ease),opacity .25s var(--ease);}
  #cursor-ring.is-hover{width:54px;height:54px;border-color:rgba(193,225,37,0.9);background:rgba(193,225,37,0.10);}
  #cursor-ring.is-down{width:24px;height:24px;}
}
@media (max-width:560px){
  .legal-brand .word{display:none;}
}
