/* Lena BhuPlan pages — blueprint palette (matches the app). Loaded after ../styles.css. */
:root{
  --bp-bg: #F6F4EE;
  --bp-panel: #FFFFFF;
  --bp-line: #DDD8CB;
  --bp-text: #16213A;
  --bp-muted: #5E6778;
  --bp-blue: #1F4E8C;
  --bp-blue-deep: #0F2A4F;
  --bp-night-1: #0B1426;
  --bp-night-2: #13233F;
  --bp-sand: #FBF1DC;
}

body.bhuplan{ background: var(--bp-bg); }

body.bhuplan .site-header{
  background: linear-gradient(180deg, var(--bp-night-2), var(--bp-night-1));
  border-bottom: 1px solid rgba(255,255,255,0.06);
}
body.bhuplan .logo{ color: #fff; }
body.bhuplan .main-nav a{ color: rgba(255,255,255,0.72); }
body.bhuplan .main-nav a:hover{ color: #fff; }
body.bhuplan .nav-toggle span{ background: #fff; }
body.bhuplan .site-footer{ background: linear-gradient(180deg, var(--bp-night-2), var(--bp-night-1)); }
body.bhuplan .footer-nav a{ color: rgba(255,255,255,0.68); }
body.bhuplan .footer-nav a:hover{ color: #fff; }
body.bhuplan .footer-copy{ color: rgba(255,255,255,0.42); }
body.bhuplan .logo-footer{ color: #fff; }
body.bhuplan .noise{ opacity: 0.02; }

.eyebrow-bp{
  font-family: var(--font-mono);
  font-size: 13px;
  letter-spacing: 0.02em;
  color: var(--bp-blue);
  margin: 0 0 16px;
}

.legal{ padding: 72px 28px 120px; max-width: 820px; margin: 0 auto; }
.legal-header{ margin-bottom: 40px; border-bottom: 1px solid var(--bp-line); padding-bottom: 32px; }
.legal-header h1{ color: var(--bp-text); }
.legal-intro{ color: var(--bp-muted); margin-top: 18px; max-width: 65ch; }
.legal-updated{ font-family: var(--font-mono); font-size: 13px; color: var(--bp-muted); margin-top: 14px; }

.legal-summary{
  background: var(--bp-panel);
  border: 1px solid var(--bp-line);
  border-left: 4px solid var(--bp-blue);
  border-radius: var(--radius);
  padding: 22px 26px;
  margin-bottom: 40px;
}
.legal-summary p{ font-family: var(--font-mono); font-size: 12.5px; color: var(--bp-blue); margin-bottom: 10px; }
.legal-summary ul{ list-style: disc; padding-left: 20px; color: var(--bp-text); }
.legal-summary li{ margin-bottom: 6px; }

.legal-toc{
  background: var(--bp-panel);
  border: 1px solid var(--bp-line);
  border-radius: var(--radius);
  padding: 24px 28px;
  margin-bottom: 56px;
}
.legal-toc p{ font-family: var(--font-mono); font-size: 12.5px; color: var(--bp-blue); margin-bottom: 14px; }
.legal-toc ol{ list-style: decimal; padding-left: 20px; display: grid; grid-template-columns: 1fr 1fr; gap: 8px 24px; }
.legal-toc a{ color: var(--bp-muted); text-decoration: none; font-size: 14px; }
.legal-toc a:hover{ color: var(--bp-blue); }
.legal-toc li::marker{ color: var(--bp-muted); }

.legal-section{ margin-bottom: 44px; scroll-margin-top: 96px; }
.legal-section h2{
  font-size: 1.3rem;
  margin-bottom: 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--bp-line);
  color: var(--bp-blue-deep);
}
.legal-section h3{ font-size: 1.02rem; margin: 20px 0 8px; color: var(--bp-text); }
.legal-section p{ color: var(--bp-text); opacity: 0.9; margin-bottom: 14px; max-width: 72ch; }
.legal-section p.muted{ color: var(--bp-muted); opacity: 1; }
.legal-section ul{ list-style: disc; padding-left: 22px; margin-bottom: 14px; color: var(--bp-text); opacity: 0.9; }
.legal-section li{ margin-bottom: 8px; max-width: 68ch; }
.legal-section a, .legal-contact-card a{ color: var(--bp-blue); }
.legal-section strong{ color: var(--bp-text); opacity: 1; }

.legal-contact-card{
  background: linear-gradient(135deg, var(--bp-panel), var(--bp-sand));
  border: 1px solid var(--bp-line);
  border-radius: var(--radius);
  padding: 28px 30px;
  margin-top: 12px;
}
.legal-contact-card p{ margin-bottom: 6px; opacity: 1; }

@media (max-width: 720px){
  .legal-toc ol{ grid-template-columns: 1fr; }
  .legal{ padding: 56px 20px 90px; }
}
