/* Shared styling for the policy pages. The tokens match index.html so the
   policies read as part of the same site. */
:root{
  --green:#1F6B45; --green-dark:#17372B; --orange:#D98E32;
  --cream:#FFF9ED; --soft:#EAF4EC; --ink:#17201B; --muted:#68756E; --line:#E3EAE4;
  --card:#fff;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  background:var(--cream); color:var(--ink); min-height:100vh;
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  line-height:1.65; display:flex; flex-direction:column;
}

/* Header */
.topbar{border-bottom:1px solid var(--line);background:var(--cream)}
.topbar .inner{max-width:48rem;margin:0 auto;padding:1.1rem 1.5rem;
               display:flex;align-items:center;gap:.7rem}
.topbar .mark{width:32px;height:32px;border-radius:9px;background:var(--green);
              display:grid;place-items:center;flex:none}
.topbar .mark svg{width:18px;height:18px}
.topbar a{color:var(--green-dark);text-decoration:none;font-weight:700;letter-spacing:-.01em}
.topbar a:hover{color:var(--green)}

/* Body */
main{flex:1;width:100%;max-width:48rem;margin:0 auto;padding:2.5rem 1.5rem 3.5rem}
h1{font-size:clamp(1.75rem,5vw,2.5rem);line-height:1.12;letter-spacing:-.02em;
   color:var(--green-dark);text-wrap:balance;font-weight:800}
.rule{height:3px;width:56px;background:var(--orange);border-radius:2px;margin:1rem 0 1.25rem}
.updated{font-size:.88rem;color:var(--muted);margin-bottom:2rem}
h2{font-size:1.15rem;color:var(--green-dark);font-weight:750;margin:2.25rem 0 .65rem;
   letter-spacing:-.01em;scroll-margin-top:1rem}
h3{font-size:1rem;color:var(--ink);font-weight:700;margin:1.5rem 0 .4rem}
p{margin:.7rem 0;color:var(--ink)}
ul,ol{margin:.7rem 0 .7rem 1.25rem}
li{margin:.35rem 0}
a{color:var(--green);text-underline-offset:3px}
a:hover{color:var(--green-dark)}
strong{font-weight:700}

/* Intro card */
.lede{background:var(--soft);border:1px solid var(--line);border-radius:14px;
      padding:1.1rem 1.25rem;margin-bottom:.5rem}
.lede p{margin:.35rem 0}
.lede p:first-child{margin-top:0}
.lede p:last-child{margin-bottom:0}

/* Placeholder marker — anything still needing real details is visibly flagged. */
.fill{background:#FFE9C7;border-bottom:2px solid var(--orange);
      padding:0 .25rem;border-radius:3px;font-weight:700;color:#6B4A12;
      white-space:nowrap}

/* Tables */
.tablewrap{overflow-x:auto;margin:1rem 0;border:1px solid var(--line);border-radius:12px;
           background:var(--card)}
table{border-collapse:collapse;width:100%;min-width:32rem;font-size:.94rem}
th,td{text-align:left;padding:.7rem .9rem;border-bottom:1px solid var(--line);vertical-align:top}
th{background:var(--soft);color:var(--green-dark);font-weight:700;font-size:.8rem;
   text-transform:uppercase;letter-spacing:.06em}
tr:last-child td{border-bottom:none}

/* Contact block */
.contact{background:var(--card);border:1px solid var(--line);border-radius:14px;
         padding:1.15rem 1.3rem;margin-top:1rem}
.contact p{margin:.3rem 0}

/* Footer */
footer{border-top:1px solid var(--line);padding:1.4rem 1.5rem;font-size:.85rem;color:var(--muted)}
footer .inner{max-width:48rem;margin:0 auto;display:flex;flex-wrap:wrap;
              gap:.5rem 1.4rem;justify-content:space-between;align-items:center}
footer nav{display:flex;flex-wrap:wrap;gap:.5rem 1.1rem}

@media (prefers-color-scheme: dark){
  :root{--cream:#10160F;--ink:#ECF3EE;--muted:#9DAFA4;--line:#222E26;
        --green-dark:#BFE3CC;--soft:#16211A;--card:#151D18}
  .fill{background:#3A2C10;color:#F4D9A6;border-bottom-color:var(--orange)}
}
