/* Shared styling for the legal pages (privacy.html, terms.html).
   Tokens, type, buttons, top bar, and footer mirror index.html so the legal
   pages read as the same site. External rather than inlined because two pages
   share it byte for byte. */
:root{
  --green:#4A7052;--green-bright:#5F8A68;--green-soft:#EAF1EA;--green-line:#CBDCCB;
  --ink:#1B2620;--muted:#5E6B62;--faint:#93A097;
  --cream:#FAF7F1;--card:#FFFFFF;--line:#E7E2D8;--line-soft:#F0ECE3;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','Helvetica Neue',Arial,sans-serif;color:var(--ink);background:#FFF;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
a{text-decoration:none;color:inherit}
img{max-width:100%}
.wrap{max-width:1140px;margin:0 auto;padding:0 28px}
.wrap-n{max-width:800px;margin:0 auto;padding:0 28px}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;white-space:nowrap;border-radius:14px;padding:15px 28px;font-size:16px;font-weight:800;cursor:pointer;border:none;font-family:inherit;transition:transform .12s ease,box-shadow .12s ease}
.btn:hover{transform:translateY(-1px)}
.btn-green{background:var(--green);color:#FFF;box-shadow:0 8px 22px rgba(74,112,82,.32)}
.btn-green:hover{background:#3F6147}
.btn-ghost{background:#FFF;color:var(--ink);border:1.5px solid var(--line)}
.btn-ghost:hover{border-color:var(--green-line)}
.btn-sm{padding:11px 20px;font-size:14px;border-radius:11px}

/* topbar */
.top{position:sticky;top:0;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line-soft);z-index:50}
.top-in{display:flex;align-items:center;gap:34px;height:72px}
.brand{display:block;flex:none}
.brand img{display:block;height:46px;width:auto}
.top-links{display:flex;gap:28px;flex:1;font-size:15px;font-weight:700;color:var(--muted)}
.top-links a:hover{color:var(--ink)}
.top-cta{display:flex;gap:11px}

/* page head */
.lhead{background:linear-gradient(180deg,var(--cream) 0%,#FFF 100%);padding:72px 0 48px;border-bottom:1px solid var(--line-soft)}
.eyebrow{display:inline-block;font-size:13px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--green);margin-bottom:16px}
.lhead h1{font-size:46px;font-weight:800;letter-spacing:-.02em;line-height:1.12}
.dates{margin-top:16px;font-size:14px;color:var(--faint);font-weight:600}
.dates span{display:inline-block;margin-right:20px}

/* prose */
.legal{padding:56px 0 88px}
.legal h2{font-size:22px;font-weight:800;letter-spacing:-.01em;margin:44px 0 14px;scroll-margin-top:92px}
.legal h2:first-of-type{margin-top:0}
.legal h3{font-size:16px;font-weight:800;margin:24px 0 8px}
.legal p{color:var(--muted);margin-bottom:14px;line-height:1.75}
.legal ul{margin:0 0 16px 0;padding-left:22px;color:var(--muted)}
.legal li{margin-bottom:9px;line-height:1.7}
.legal strong{color:var(--ink);font-weight:800}
.legal a{color:var(--green);font-weight:700;border-bottom:1px solid var(--green-line)}
.legal a:hover{border-color:var(--green)}
/* Boxed callout for the plain-language summary at the top of each document. */
.tldr{background:var(--cream);border:1px solid var(--line);border-radius:16px;padding:22px 24px;margin-bottom:40px}
.tldr h2{font-size:13px!important;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);margin:0 0 10px!important}
.tldr p{margin-bottom:0;color:var(--ink);font-weight:600}
/* Statutory all-caps blocks read better a shade smaller and looser. */
.caps{font-size:13.5px;letter-spacing:.01em;line-height:1.7}

/* footer */
footer{background:#FFF;padding:64px 0 40px;border-top:1px solid var(--line-soft)}
.foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px;margin-bottom:44px}
.foot-grid h5{font-size:12.5px;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:var(--faint);margin-bottom:15px}
.foot-grid a{display:block;font-size:14.5px;font-weight:600;color:var(--muted);padding:4.5px 0}
.foot-grid a:hover{color:var(--ink)}
.foot-brand p{font-size:14px;color:var(--muted);margin-top:13px;max-width:260px;line-height:1.6;font-weight:500}
.foot-base{display:flex;justify-content:space-between;align-items:center;padding-top:26px;border-top:1px solid var(--line-soft);font-size:13px;color:var(--faint);font-weight:600;flex-wrap:wrap;gap:10px}
.foot-legal a{margin-left:18px}
.foot-legal a:first-child{margin-left:0}
.foot-legal a:hover{color:var(--ink)}

@media(max-width:860px){.top-links{display:none}.top-in{justify-content:space-between}}
@media(max-width:820px){.foot-grid{grid-template-columns:1fr}}
@media(max-width:620px){
  .top-in{gap:12px;height:64px}
  .brand img{height:34px}
  .top-cta{gap:8px}
  .top-cta .btn{padding:10px 15px;font-size:13.5px;border-radius:10px}
  .lhead{padding:48px 0 36px}
  .lhead h1{font-size:32px}
  .legal{padding:40px 0 64px}
  .legal h2{font-size:20px;margin:34px 0 12px}
  footer{padding:48px 0 32px}
}
@media(max-width:400px){
  .wrap,.wrap-n{padding:0 18px}
  .brand img{height:30px}
  .top-cta{gap:6px}
  .top-cta .btn{padding:9px 12px;font-size:13px}
}
@media(prefers-reduced-motion:reduce){.btn:hover{transform:none}html{scroll-behavior:auto}}
