/* PawMaple — shared styles for the legal pages (privacy, terms). */

:root{
  --brand:#3A7B53; --brand-700:#2C5E3F; --brand-800:#22492F;
  --mint:#EAF3ED; --mint-2:#F4F9F6;
  --ink:#12211A; --ink-2:#33443A; --muted:#6C7F73;
  --line:#E4E9E5; --maple:#C8452F;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0;background:#fff;color:var(--ink);
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  font-size:16.5px;line-height:1.72;-webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:var(--brand);text-decoration:underline;text-underline-offset:3px}
a:hover{color:var(--brand-700)}

.wrap{width:100%;max-width:1180px;margin:0 auto;padding:0 24px}

/* header */
.nav{background:var(--brand);position:sticky;top:0;z-index:40}
.nav__in{display:flex;align-items:center;gap:24px;height:76px}
.nav__logo img{height:41px;width:auto}
.nav__back{
  margin-left:auto;color:#fff;text-decoration:none;font-size:.93rem;font-weight:600;
  border:1.5px solid rgba(255,255,255,.4);padding:9px 20px;border-radius:999px;transition:.18s;
}
.nav__back:hover{background:rgba(255,255,255,.15);color:#fff}

/* hero */
.lhero{background:var(--mint-2);border-bottom:1px solid var(--line);padding:64px 0 56px}
.lhero h1{
  margin:0 0 14px;font-size:clamp(2rem,4.4vw,3rem);font-weight:900;letter-spacing:-.034em;line-height:1.1;
}
.lhero p{margin:0;color:var(--muted);max-width:62ch}
.lhero__meta{
  display:flex;flex-wrap:wrap;gap:10px;margin-top:22px;
}
.lhero__meta span{
  font-size:.79rem;font-weight:700;letter-spacing:.04em;color:var(--brand);
  background:#fff;border:1px solid #DCE9E1;padding:7px 14px;border-radius:999px;
}

/* layout: sticky TOC + prose */
.doc{display:grid;grid-template-columns:250px 1fr;gap:56px;padding:56px 0 90px;align-items:start}
.toc{position:sticky;top:104px}
.toc h2{
  font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);
  margin:0 0 14px;font-weight:800;
}
.toc ol{list-style:none;margin:0;padding:0;counter-reset:t;display:grid;gap:2px}
.toc a{
  display:block;text-decoration:none;color:var(--ink-2);font-size:.88rem;line-height:1.4;
  padding:7px 10px;border-radius:9px;border-left:2px solid transparent;transition:.16s;
}
.toc a:hover{background:var(--mint);color:var(--brand-700);border-left-color:var(--brand)}

.prose{max-width:76ch;min-width:0}
.prose h2{
  font-size:1.42rem;font-weight:800;letter-spacing:-.026em;line-height:1.25;
  margin:52px 0 14px;scroll-margin-top:100px;
}
.prose h2:first-child{margin-top:0}
.prose h3{font-size:1.06rem;font-weight:800;letter-spacing:-.015em;margin:30px 0 10px}
.prose p{margin:0 0 16px}
.prose ul,.prose ol{margin:0 0 18px;padding-left:22px}
.prose li{margin-bottom:9px}
.prose li::marker{color:var(--brand)}
.prose strong{font-weight:700;color:var(--ink)}
.prose hr{border:0;border-top:1px solid var(--line);margin:44px 0}

.note{
  background:var(--mint);border-left:3px solid var(--brand);border-radius:0 14px 14px 0;
  padding:18px 22px;margin:0 0 22px;font-size:.95rem;
}
.note strong{display:block;margin-bottom:5px;color:var(--brand-700)}
.note--warn{background:#FDF1EE;border-left-color:var(--maple)}
.note--warn strong{color:#9C3324}

.tbl{width:100%;border-collapse:collapse;margin:0 0 24px;font-size:.9rem;display:block;overflow-x:auto}
.tbl th,.tbl td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top}
.tbl th{
  font-size:.72rem;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);
  font-weight:800;background:var(--mint-2);white-space:nowrap;
}
.tbl td:first-child{font-weight:700;white-space:nowrap}

/* footer */
.foot{background:var(--brand);color:#fff;padding:48px 0 28px;margin-top:auto}
.foot a{color:rgba(255,255,255,.9)}
.foot a:hover{color:#fff}
.foot__in{display:flex;flex-wrap:wrap;gap:18px;justify-content:space-between;align-items:center}
.foot__links{display:flex;flex-wrap:wrap;gap:20px;font-size:.9rem}
.foot small{font-size:.83rem;color:rgba(255,255,255,.72)}

@media (max-width:900px){
  .doc{grid-template-columns:1fr;gap:34px;padding:40px 0 70px}
  .toc{position:static;border-bottom:1px solid var(--line);padding-bottom:22px}
  .toc ol{grid-template-columns:1fr 1fr;display:grid}
}
@media (max-width:600px){
  body{font-size:16px}
  .lhero{padding:44px 0 38px}
  .toc ol{grid-template-columns:1fr}
}
@media print{
  .nav,.toc,.foot,.nav__back{display:none}
  .doc{grid-template-columns:1fr;padding:0}
  body{font-size:11pt}
}
