/* Styling for the Waltoa legal pages (terms.html, privacy.html).
   Matches the landing page palette and typography so the jump from index.html
   into the terms reads as the same website. */
:root{
  --bg:#faf8f5; --card:#ffffff; --line:#e6e1d8;
  --ink:#1b201d; --ink2:#4e564f; --mut:#828a83;
  --green:#24463a; --green2:#316152; --sand:#efe9df;
}
*{ box-sizing:border-box; }
body{
  margin:0; background:var(--bg); color:var(--ink);
  font:16.5px/1.72 "Helvetica Neue", Inter, system-ui, -apple-system, Arial, sans-serif;
  -webkit-font-smoothing:antialiased;
}
.wrap{ max-width:820px; margin:0 auto; padding:0 32px; }
a{ color:var(--green); }

/* top bar mirrors the landing-page header */
.bar{ display:flex; justify-content:space-between; align-items:center;
  padding:26px 0 22px; border-bottom:1px solid var(--line); }
.bar .mark{ font-weight:700; font-size:20px; letter-spacing:.16em;
  text-decoration:none; color:var(--ink); }
.bar nav a{ margin-left:20px; font-size:14px; }

.head{ padding:44px 0 4px; }
h1{ font-weight:600; font-size:38px; line-height:1.12; letter-spacing:-.025em; margin:0 0 12px; }
.updated{ display:inline-block; font:600 12px/1 inherit; letter-spacing:.12em;
  text-transform:uppercase; color:var(--green); background:var(--sand);
  padding:7px 12px; border-radius:100px; margin:0 0 8px; }

.toc{ background:var(--card); border:1px solid var(--line); border-radius:14px;
  padding:24px 26px; margin:30px 0 40px; }
.toc b{ display:block; font-size:15px; margin-bottom:12px; }
.toc ol{ margin:0; padding-left:20px; columns:2; column-gap:36px; }
.toc li{ margin-bottom:6px; font-size:14.5px; }

h2{ font-weight:600; font-size:23px; letter-spacing:-.015em;
  margin:44px 0 12px; padding-top:26px; border-top:1px solid var(--line); }
h3{ font-weight:600; font-size:16.5px; margin:26px 0 7px; }
p{ margin:0 0 15px; color:var(--ink2); }
ul, ol.body{ margin:0 0 16px; padding-left:22px; color:var(--ink2); }
li{ margin-bottom:7px; }

/* all-caps legal blocks and the highlighted notice */
.caps{ font-size:14.5px; line-height:1.62; color:var(--ink2); background:var(--card);
  border:1px solid var(--line); border-radius:14px; padding:20px 22px; margin:0 0 20px; }
.notice{ background:var(--green); color:#e7efe9; border-radius:14px;
  padding:20px 24px; margin:0 0 20px; }
.notice p{ color:#c8d5cd; margin:0; }
.notice b{ color:#fff; }

footer{ border-top:1px solid var(--line); margin-top:48px; padding:30px 0 62px;
  color:var(--mut); font-size:14px; line-height:1.7; }
footer .fw{ font-weight:700; letter-spacing:.16em; color:var(--ink); font-size:16px; }
footer p{ margin:10px 0 0; }
footer nav{ margin-top:12px; }
footer nav a{ margin-right:18px; }

@media (max-width:680px){
  .toc ol{ columns:1; }
  h1{ font-size:29px; }
  h2{ font-size:21px; }
  .bar{ flex-direction:column; align-items:flex-start; gap:8px; }
  .bar nav a{ margin:0 16px 0 0; }
}
