:root {
  --terra:  #C85A38;
  --terra-l:#F5E8E3;
  --sage:   #2D9B74;
  --sage-l: #E4F5EE;
  --blush:  #F2D4C8;
  --peach:  #FAF0EB;
  --navy:   #1A2332;
  --warm:   #FDFAF7;
  --muted:  #7A7065;
  --white:  #FFFFFF;
  --border: #EDE8E3;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:'DM Sans',sans-serif;
  background:var(--warm);
  color:var(--navy);
  line-height:1.75;
  overflow-x:hidden;
}

/* ── NAV ── */
nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  background:rgba(253,250,247,.92);
  backdrop-filter:blur(12px);
  border-bottom:1px solid var(--border);
  display:flex;align-items:center;justify-content:space-between;
  padding:0 5%;height:80px;
}
.nav-brand{display:flex;align-items:center;gap:10px;text-decoration:none}
.nav-brand svg{width:58px;height:58px}
.nav-brand-name{
  font-family:'Playfair Display',serif;font-size:1.9rem;
  color:var(--navy);font-style:italic;font-weight:600;
}
.nav-links{display:flex;gap:32px;list-style:none;align-items:center}
.nav-links a{
  font-size:.85rem;color:var(--muted);text-decoration:none;
  font-weight:400;transition:color .2s;
}
.nav-links a:hover{color:var(--terra)}
.nav-btn{
  background:var(--terra);color:var(--white)!important;
  padding:9px 22px;border-radius:50px;font-weight:500;font-size:.85rem;
  transition:background .2s;
}
.nav-btn:hover{background:#A8421F}

/* ── PAGE ── */
.legal{
  max-width:74ch;margin:0 auto;
  padding:150px 24px 90px;
}
.legal-kicker{
  font-family:'DM Sans',sans-serif;font-size:.82rem;
  color:var(--terra);margin-bottom:14px;display:block;
}
.legal h1{
  font-family:'Playfair Display',serif;
  font-size:clamp(2.1rem,5vw,3rem);
  font-weight:600;line-height:1.15;margin-bottom:10px;
}
.legal .updated{
  color:var(--muted);font-size:.88rem;margin-bottom:52px;
  padding-bottom:26px;border-bottom:1px solid var(--border);
}
.legal h2{
  font-family:'Playfair Display',serif;
  font-size:1.5rem;font-weight:600;
  margin:48px 0 14px;line-height:1.3;
}
.legal h3{
  font-size:1rem;font-weight:500;margin:28px 0 8px;color:var(--navy);
}
.legal p{margin-bottom:16px;color:#3D4654}
.legal ul{margin:0 0 18px 22px;color:#3D4654}
.legal li{margin-bottom:9px}
.legal a{color:var(--terra)}
.legal strong{font-weight:500;color:var(--navy)}

.callout{
  background:var(--sage-l);border-left:4px solid var(--sage);
  border-radius:0 14px 14px 0;padding:20px 26px;margin:26px 0;
}
.callout p:last-child{margin-bottom:0}

.todo{
  background:#FFF4E5;border-left:4px solid #E09B3D;
  border-radius:0 14px 14px 0;padding:20px 26px;margin:26px 0;
  font-size:.92rem;
}
.todo p:last-child{margin-bottom:0}
.todo strong{color:#8A5A12}

table.data{
  width:100%;border-collapse:collapse;margin:20px 0 26px;font-size:.92rem;
}
table.data th{
  text-align:left;font-weight:500;padding:11px 14px;
  background:var(--peach);border-bottom:2px solid var(--blush);
}
table.data td{
  padding:11px 14px;border-bottom:1px solid var(--border);
  vertical-align:top;color:#3D4654;
}

/* ── FOOTER ── */
footer{
  background:var(--navy);color:rgba(255,255,255,.72);
  padding:52px 5% 30px;margin-top:40px;
}
.footer-inner{
  max-width:1180px;margin:0 auto;
  display:flex;justify-content:space-between;align-items:center;
  flex-wrap:wrap;gap:22px;
}
.footer-brand{
  font-family:'Playfair Display',serif;font-size:1.7rem;
  color:var(--white);font-style:italic;
}
.footer-brand span{color:var(--terra)}
.footer-links{display:flex;gap:26px;list-style:none;flex-wrap:wrap}
.footer-links a{
  color:rgba(255,255,255,.72);text-decoration:none;font-size:.85rem;
  transition:color .2s;
}
.footer-links a:hover{color:var(--terra)}
.footer-copy{
  max-width:1180px;margin:34px auto 0;padding-top:22px;
  border-top:1px solid rgba(255,255,255,.12);
  font-size:.78rem;color:rgba(255,255,255,.45);
}

a:focus-visible,button:focus-visible{
  outline:3px solid var(--terra);outline-offset:3px;
}

@media (max-width:820px){
  .nav-links{display:none}
  .legal{padding:120px 20px 70px}
}
