:root{
  --bg:#f1ebdf; --ink:#221f19; --muted:#756d5e; --green:#3f5a3d; --accent:#51714F; --rule:rgba(34,31,25,.16);
  --display:"EB Garamond",Georgia,serif; --mono:"Spline Sans Mono",ui-monospace,monospace;
  --ease:cubic-bezier(0.22,0.68,0.18,1);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; background:var(--bg); color:var(--ink); font-family:var(--display); font-size:19px; line-height:1.6;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
  display:flex; flex-direction:column; min-height:100vh;
}
::selection{background:var(--accent);color:#f4f1ea}
:focus-visible{outline:1px solid currentColor;outline-offset:5px}

header{display:flex;align-items:center;justify-content:space-between;padding:32px clamp(24px,6vw,68px)}
.logo{height:34px;width:auto;display:block}
nav{display:flex;gap:30px}
nav a{position:relative;font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:0.2em;text-transform:uppercase;
  color:var(--ink);text-decoration:none;transition:color .25s var(--ease)}
nav a::after{content:"";position:absolute;left:0;right:.2em;bottom:-5px;height:1px;background:currentColor;
  transform:scaleX(0);transform-origin:0 50%;transition:transform .35s var(--ease)}
nav a:hover::after,nav a:focus-visible::after{transform:scaleX(1)}
nav a:focus-visible{outline:none}
nav a:hover{color:var(--green)}
@media (forced-colors:active){ nav a:focus-visible{outline:2px solid ButtonText;outline-offset:4px} }

main{flex:1;padding:clamp(16px,4vh,48px) clamp(24px,6vw,68px) clamp(48px,8vh,96px)}
.policy{max-width:68ch;margin:0 auto}
.eyebrow{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.34em;text-transform:uppercase;color:var(--muted);margin:0 0 14px}
h1{font-weight:400;font-size:clamp(34px,4.4vw,52px);line-height:1.1;letter-spacing:-0.01em;margin:0 0 12px}
.effective{font-family:var(--mono);font-size:12px;letter-spacing:.08em;color:var(--muted);margin:0 0 40px;padding-bottom:28px;border-bottom:1px solid var(--rule)}
h2{font-weight:500;font-size:27px;line-height:1.25;margin:52px 0 14px}
h3{font-family:var(--mono);font-size:11.5px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--green);margin:30px 0 10px}
p{margin:0 0 18px}
ul{margin:0 0 18px;padding-left:1.3em}
li{margin:0 0 10px}
li ul{margin:10px 0 0}
strong{font-weight:600}
a{color:var(--accent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--green)}
address{font-style:normal;margin:0 0 18px;line-height:1.55}
.table-wrap{overflow-x:auto;margin:0 0 22px;border:1px solid var(--rule)}
table{border-collapse:collapse;width:100%;min-width:720px;font-size:16px;line-height:1.45}
th,td{text-align:left;vertical-align:top;padding:12px 14px;border-bottom:1px solid var(--rule)}
th{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:500;background:rgba(34,31,25,.035)}
tr:last-child td{border-bottom:0}

footer{display:flex;align-items:center;justify-content:flex-end;gap:16px;padding:26px clamp(24px,6vw,68px);
  font-family:var(--mono);font-size:10.5px;letter-spacing:0.18em;text-transform:uppercase;color:var(--muted)}

@media (max-width:560px){
  body{font-size:17.5px}
  h2{font-size:24px}
  nav{gap:18px}
}
/* Narrow screens: each table row becomes a labelled block instead of a sideways scroller. */
@media (max-width:640px){
  .table-wrap{overflow:visible;border:0}
  table{min-width:0;display:block;font-size:inherit}
  thead{display:none}
  tbody,tr{display:block}
  tr{border:1px solid var(--rule);padding:8px 0;margin:0 0 14px}
  td{display:block;border:0;padding:6px 14px}
  td::before{content:attr(data-label);display:block;font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:2px}
  td:first-child{font-weight:600}
}
