
.footer-shell{display:grid;gap:22px}
.footer-main{display:flex;align-items:flex-start;justify-content:space-between;gap:28px}
.footer-brand-copy small{display:block;margin-top:4px}
.footer-right{display:grid;justify-items:end;gap:16px}
.footer-institutional{display:flex;align-items:center;justify-content:flex-end;gap:18px;flex-wrap:wrap}
.footer-institutional a{color:#d7e5dc;font-weight:650;font-size:14px}
.footer-institutional a:hover{color:#63dc9b;text-decoration:underline}

.legal-page{background:#f5f8f6;color:#14231b}
.legal-hero{padding:46px 0 28px;background:linear-gradient(135deg,#0d2418,#0a6339);color:#fff}
.legal-hero .tag{color:#83e0ad}
.legal-hero h1{margin:6px 0 10px;font-size:clamp(34px,5vw,52px);line-height:1.05}
.legal-hero p{margin:0;max-width:760px;color:#d2e9dc;font-size:17px}
.legal-wrap{display:grid;grid-template-columns:260px minmax(0,1fr);gap:28px;align-items:start;padding-top:34px;padding-bottom:56px}
.legal-toc{position:sticky;top:22px;background:#27303c;color:#fff;border-radius:16px;padding:20px}
.legal-toc h2{margin:0 0 12px;font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:#54d77f}
.legal-toc nav{display:grid;gap:6px}
.legal-toc a{display:block;padding:8px 0;color:#d8dde4;line-height:1.35}
.legal-toc a:hover{color:#fff}
.legal-card{background:#fff;border:1px solid #dce7e0;border-radius:18px;padding:clamp(22px,4vw,42px);box-shadow:0 8px 24px #183c2410}
.legal-card h2{scroll-margin-top:24px;margin:34px 0 12px;font-size:24px}
.legal-card h2:first-child{margin-top:0}
.legal-card h3{margin:22px 0 8px;font-size:18px}
.legal-card p{margin:10px 0;color:#34473c}
.legal-card ul{margin:10px 0 16px;padding-left:22px;color:#34473c}
.legal-card li{margin:7px 0}
.legal-card a{color:#087a43;text-decoration:underline}
.legal-note{margin:18px 0;padding:14px 16px;border-radius:12px;background:#e8f6ee;color:#056c3a}
.legal-date{margin-top:0;color:#607167;font-size:14px}
.legal-faq{display:grid;gap:14px}
.legal-faq details{border:1px solid #dce7e0;border-radius:12px;background:#f9fbfa;padding:14px 16px}
.legal-faq summary{cursor:pointer;font-weight:800;color:#14231b}
.legal-faq details p{margin:10px 0 0}
@media(max-width:800px){
  .footer-main{flex-direction:column}
  .footer-right{justify-items:start}
  .footer-institutional{justify-content:flex-start}
  .legal-wrap{grid-template-columns:1fr}
  .legal-toc{position:static}
}
@media(max-width:560px){
  .footer-institutional{gap:12px 16px}
  .legal-hero{padding:34px 0 24px}
  .legal-wrap{padding-top:22px}
}
