/* Warm surfaces for the forest theme, shared by all pages. */
[data-theme="forest"] :is(
  .idea-board,.engagement-section,.service-link-featured,.contact-form-container,
  .service-fit,.service-example>div,.invitation,.example,.project-card,
  .faq-item,.blog-card,.article-quick-start,.article-visual,.page-outline,
  .prose pre,.status-grid,.flow-node
),
.project-site[data-theme="forest"] :is(.section.cloud,.section.features) {
  color-scheme:light;
  --forest-deep:#243d30;
  --forest-mid:#365640;
  --emerald:#476247;
  --sage:#646d55;
  --cream:#f5efe2;
  --cloud:#e9dfcc;
  --line:#cec3ac;
  --muted:#5a5d50;
  --theme-bg:#f5efe2;
  --theme-surface:#e9dfcc;
  --theme-text:#243d30;
  --theme-muted:#5a5d50;
  --theme-line:#cec3ac;
  --theme-focus:#8b5b20;
  color:var(--forest-deep);
  background:var(--cream);
}

[data-theme="forest"] .idea-board {
  background:#ead9b9;
  border-color:#d8c4a1;
  box-shadow:10px 14px 0 #0c291d;
}
[data-theme="forest"] .idea-board li {border-color:#ccba99;}
[data-theme="forest"] .board-bottom {background:#ddc69f;}
[data-theme="forest"] .board-top svg path:last-child {fill:#d4c39d;}

[data-theme="forest"] .engagement-section {background:#f0e8d8;}
[data-theme="forest"] .engagement-section .process {border-color:#cec3ac;}

[data-theme="forest"] .homepage-services .service-link-featured {
  padding:28px;
  margin-bottom:18px;
  border:1px solid #d8c4a1;
  border-radius:8px;
  background:#ead9b9;
}
[data-theme="forest"] .homepage-services .service-link-featured:hover {background:#f0e2c7;}

[data-theme="forest"] .contact-form-container {border-color:#cec3ac;}
[data-theme="forest"] .contact-form-container .form-group input:not([type=checkbox]),
[data-theme="forest"] .contact-form-container .form-group textarea {
  background:#fffcf5;
  color:var(--forest-deep);
  border-color:#9a947f;
}
[data-theme="forest"] .contact-form-container input::placeholder,
[data-theme="forest"] .contact-form-container textarea::placeholder {color:#686254;}
[data-theme="forest"] .contact-form-container .form-status[data-state=error] {
  color:#733a31;
  background:#fbede7;
  border-color:#934134;
}

/* Sand distinguishes featured examples and invitations from cream cards. */
[data-theme="forest"] :is(.service-example>div,.invitation) {background:#ead9b9;}
[data-theme="forest"] :is(.faq-item,.blog-card) {
  padding:26px;
  border:1px solid var(--line);
  border-radius:8px;
}
[data-theme="forest"] .blog-card h2 {margin-top:10px;}
[data-theme="forest"] .project-card {border-color:var(--line);}
[data-theme="forest"] .page-outline {background:#f0e8d8;}
[data-theme="forest"] .prose :not(pre)>code {
  background:#e9dfcc;
  color:#243d30;
}

/* Keep the dark comparison panels inside warm diagrams legible. */
[data-theme="forest"] .article-visual :is(
  .pipeline-model,.eval-whole-task,.eval-loop-number,.primitive-type,.choice-selected
) {
  --theme-text:#f4f3e9;
  --cream:#f4f3e9;
  color:var(--theme-text);
}
[data-theme="forest"] .article-visual .eval-checks {background:#fffcf5;}
[data-theme="forest"] .article-visual .eval-loop-return {background:#e9dfcc;}

.project-site[data-theme="forest"] .section.cloud .not-list strong {color:#853f30;}
.project-site[data-theme="forest"] .section:is(.cloud,.features):not(.dark):not(.built-by) {
  --forest-mid:#365640;
  --sage:#646d55;
}
.project-site[data-theme="forest"] .flow-node,
.project-site[data-theme="forest"] .status-grid,
.project-site[data-theme="forest"] .status-row {border-color:#cec3ac;}

@media(max-width:600px) {
  [data-theme="forest"] :is(.faq-item,.blog-card) {padding:22px;}
}
