/* The approved artwork is preserved with its original white background. */
:root { --chapter-green: #006b35; }
.eyebrow, .scene-label {
  color: var(--chapter-green);
  font-size: 14px;
  font-weight: 800;
  line-height: 1.5;
}
.method .eyebrow, .closing .eyebrow { color: var(--cream); }
.scene-hero { flex-direction: column; align-items: stretch; justify-content: space-between; gap: 40px; }
.hero-heading { width: 100%; text-align: center; margin: 0; }
.scene-detail, .scene-context { padding: 60px 8vw; }
.scene-detail .scene-overlay, .scene-context .scene-overlay { position: relative; inset: auto; text-align: left; }
@media (max-width: 760px) {
  .scene-detail, .scene-context { padding: 48px 7vw; }
}
.proof { grid-template-columns: 1fr 1fr; }
.proof > div:first-child > p:last-child { font-size: 20px; color: #5f6a61; max-width: 470px; }
@media (max-width: 760px) { .proof { grid-template-columns: 1fr; } }
.service-grid h3, .method-list h3 { margin-top: 0; }
.contact-card { min-width: 0; }
.contact-disclosure { width: 100%; border-color: #657569; }
.contact-disclosure summary { min-height: 44px; align-items: center; gap: 16px; }
.contact-disclosure summary::after { color: #a9d969; }
.contact-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin-top: 24px; }
.contact-field { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.contact-wide { grid-column: 1 / -1; }
.contact-field label { font-size: 16px; color: var(--white); }
.contact-field input, .contact-field textarea { width: 100%; min-height: 48px; border: 1px solid #8d9d91; border-radius: 5px; background: #fff; color: #14231c; padding: 11px 12px; font: inherit; }
.contact-field textarea { min-height: 150px; resize: vertical; }
.contact-field input:focus-visible, .contact-field textarea:focus-visible, .contact-disclosure summary:focus-visible, #contact-form button:focus-visible { outline: 3px solid #a9d969; outline-offset: 4px; }
#contact-form button { border: 0; cursor: pointer; font: inherit; font-weight: 700; }
#contact-form button:disabled { cursor: not-allowed; opacity: .65; }
#contact-form .pending { color: #e6c68b; font-size: 14px; }
#contact-form .contact-status { color: #e6c68b; font-size: 16px; }
@media (max-width: 1024px) and (min-width: 761px) { .contact-fields { grid-template-columns: 1fr; } }
@media (max-width: 380px) { .contact-fields { grid-template-columns: 1fr; } }
.site-header {
  padding: 8px 4vw;
  min-height: 116px;
  background: #fff;
  color: var(--ink);
  border-bottom: 1px solid var(--line);
}
.wordmark { display: block; flex: 0 0 auto; }
.brand-logo { display: block; width: 150px; height: 100px; object-fit: contain; }
.nav-cta { border-color: var(--line); }
.menu-toggle { color: var(--ink); border-color: var(--line); min-height: 44px; }
.scene-label { top: 140px; }
main section[id] { scroll-margin-top: 130px; }
.wordmark:focus-visible { outline: 3px solid var(--forest); outline-offset: 3px; }
@media (max-width: 760px) {
  .site-header { padding: 6px 6vw; min-height: 104px; }
  .brand-logo { width: 138px; height: 92px; }
  .site-header nav { top: calc(100% + 8px); color: var(--white); }
  .scene-hero { padding-top: 166px; }
  .scene-label { top: 122px; }
  main section[id] { scroll-margin-top: 118px; }
}
