:root{
  --legal-bg:#f7f2ea;
  --legal-card:#fffdf9;
  --legal-ink:#1d1a17;
  --legal-muted:#625b53;
  --legal-border:rgba(29,26,23,.1);
  --legal-leaf:#0f6e56;
  --legal-leaf-soft:#e6f4ee;
  --legal-shadow:0 22px 60px rgba(18,30,22,.09);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  background:
    radial-gradient(circle at top left, rgba(15,110,86,.12), transparent 28%),
    linear-gradient(180deg, #fcfaf6 0%, var(--legal-bg) 100%);
  color:var(--legal-ink);
  font-family:'Figtree',sans-serif;
}
a{color:var(--legal-leaf);text-decoration:none}
a:hover{text-decoration:underline}
.legal-page{padding:36px 18px 72px}
.legal-shell{width:min(960px,100%);margin:0 auto}
.legal-back{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:700;margin-bottom:18px}
.legal-hero{
  background:linear-gradient(145deg,#114d3e,#0f6e56);
  color:#fff;
  border-radius:32px;
  padding:34px 28px;
  box-shadow:var(--legal-shadow);
}
.legal-brand{
  display:inline-flex;
  padding:8px 14px;
  border-radius:999px;
  background:rgba(255,255,255,.14);
  font-size:13px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.legal-eyebrow{
  margin-top:18px;
  color:#b3ead6;
  font-size:13px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.legal-hero h1{
  margin:14px 0 10px;
  font-family:'Fraunces',serif;
  font-size:clamp(34px,7vw,56px);
  line-height:1.02;
  letter-spacing:-.04em;
}
.legal-meta{
  display:flex;
  flex-wrap:wrap;
  gap:10px 18px;
  color:rgba(255,255,255,.82);
  font-size:14px;
}
.legal-card{
  margin-top:20px;
  background:var(--legal-card);
  border:1px solid var(--legal-border);
  border-radius:28px;
  box-shadow:var(--legal-shadow);
  padding:30px 24px;
}
.legal-intro{
  border-left:4px solid var(--legal-leaf);
  background:var(--legal-leaf-soft);
  border-radius:18px;
  padding:18px 18px 18px 20px;
  margin-bottom:24px;
}
.legal-intro p{margin:0;color:#2a453d;line-height:1.75}
.legal-section{padding:22px 0;border-top:1px solid var(--legal-border)}
.legal-section:first-of-type{border-top:none;padding-top:0}
.legal-section h2{
  margin:0 0 12px;
  font-family:'Fraunces',serif;
  font-size:30px;
  line-height:1.15;
  color:var(--legal-leaf);
}
.legal-section h3{
  margin:20px 0 8px;
  font-size:18px;
  line-height:1.4;
}
.legal-section p{
  margin:0 0 12px;
  color:var(--legal-muted);
  line-height:1.8;
  font-size:15px;
}
.legal-section ul{
  margin:8px 0 14px 20px;
  padding:0;
  color:var(--legal-muted);
}
.legal-section li{
  margin:0 0 10px;
  line-height:1.75;
}
.legal-contact-grid{
  display:grid;
  gap:14px;
}
.legal-contact-item{
  background:#faf6f0;
  border:1px solid var(--legal-border);
  border-radius:16px;
  padding:14px 16px;
  display:grid;
  gap:4px;
}
.legal-contact-item span{
  font-size:12px;
  font-weight:700;
  color:var(--legal-muted);
  text-transform:uppercase;
  letter-spacing:.08em;
}
.legal-contact-item strong{font-size:16px}
.legal-dpa details{
  border:1px solid var(--legal-border);
  border-radius:20px;
  background:#faf8f4;
  overflow:hidden;
}
.legal-dpa summary{
  list-style:none;
  cursor:pointer;
  padding:18px 18px 16px;
  display:grid;
  gap:4px;
}
.legal-dpa summary::-webkit-details-marker{display:none}
.legal-dpa summary span{
  font-size:18px;
  font-weight:800;
  color:var(--legal-leaf);
}
.legal-dpa summary small{
  color:var(--legal-muted);
  font-size:13px;
}
.legal-dpa details[open] summary{
  border-bottom:1px solid var(--legal-border);
}
.legal-dpa-meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px 16px;
  padding:16px 18px 0;
  color:var(--legal-muted);
  font-size:13px;
}
.legal-dpa .legal-section{padding-left:18px;padding-right:18px}
.legal-footer{
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  gap:12px 18px;
  padding:22px 6px 0;
  color:var(--legal-muted);
  font-size:14px;
}
@media (max-width: 640px){
  .legal-page{padding:20px 12px 56px}
  .legal-hero{padding:28px 20px;border-radius:24px}
  .legal-card{padding:24px 18px;border-radius:22px}
  .legal-section h2{font-size:26px}
  .legal-footer{flex-direction:column}
}
