/* Page-local rules; the shared design system is unchanged. */
.project-brief .compact-hero { padding-top: 100px; background-image: linear-gradient(90deg, rgba(5,5,5,.88), rgba(5,5,5,.38)), var(--hero-image); }
.project-brief .compact-hero h1 { font-size: clamp(36px, 5vw, 64px); }
.project-brief .compact-hero::after { background: linear-gradient(180deg, transparent 50%, rgba(0,0,0,.7)); }
.project-brief .compact-hero .lead { color: #e0e0da; }
.project-brief :is(#checklist, #estimator, #faq) { scroll-margin-top: 120px; }
.project-brief .brief-meta { margin-top: 24px; color: #ccc; font-size: 13px; line-height: 1.8; }
.project-brief .brief-meta a, .project-brief :is(.brief-source, .brief-faq, .estimator-output) a { text-decoration: underline; text-underline-offset: 4px; }
.project-brief .brief-checklist { margin: 32px 0; }
.project-brief .brief-checklist > div { display: grid; grid-template-columns: 200px minmax(0, 1fr); gap: 24px; padding: 24px 0; border-top: 1px solid rgba(255,255,255,.15); }
.project-brief .brief-checklist dt { color: #f9d367; font-weight: 700; font-size: 18px; }
.project-brief .brief-checklist dd { margin: 0; color: #ccc; line-height: 1.8; }
.project-brief .brief-source, .project-brief .brief-privacy { color: #aaa; font-size: 14px; line-height: 1.8; margin-top: 24px; }
.project-brief .brief-faq article { border-top: 1px solid rgba(255,255,255,.15); padding: 24px 0; }
.project-brief .brief-faq h3 { font-size: 20px; color: #edeee8; margin: 0 0 12px; }
.project-brief .brief-faq p { color: #ccc; line-height: 1.8; max-width: 900px; overflow-wrap: anywhere; }
.project-brief .card { border-radius: 8px; }
.project-brief .estimator-panel, .project-brief .estimator-output { border-radius: 8px; }
.project-brief .result-visual figcaption { font-size: 12px; color: #aaa; padding: 10px 16px; line-height: 1.6; }
.project-brief .result-metrics strong { font-size: 18px; line-height: 1.5; overflow-wrap: anywhere; }
.project-brief .result-head h2 { font-size: 24px; line-height: 1.4; }
.project-brief .result-block h3 { font-size: 17px; margin: 0 0 10px; color: #edeee8; }
.project-brief .field-card, .project-brief .estimator-output { min-width: 0; }
.project-brief :is(input, textarea, select) { max-width: 100%; }
.project-brief a:focus-visible, .project-brief button:focus-visible { outline: 2px solid #f9d367; outline-offset: 4px; }
@media (max-width: 900px) {
  .project-brief .nav-links:not(.open) li { display: block !important; width: auto; flex: 0 0 auto; }
  .project-brief .nav-links:not(.open) li:has(.lang-switch) { display: none !important; }
  .project-brief .nav-links:not(.open) a { display: inline-flex; min-height: 44px; align-items: center; }
  .project-brief .header-lang { min-height: 44px; }
  .project-brief .compact-hero { min-height: auto; padding: 112px 0 48px; }
  .project-brief .compact-hero h1 { font-size: clamp(32px, 6.8vw, 52px); }
  .project-brief .compact-hero .lead { font-size: 16px; line-height: 1.8; }
  .project-brief .brief-checklist > div { grid-template-columns: 1fr; gap: 10px; }
  .project-brief .brief-actions { flex-wrap: wrap; }
  .project-brief .brief-actions .button { min-height: 48px; width: 100%; }
}
