/* Search and planning refinements within the approved Procession identity. */
body .eco-section { padding-block: clamp(42px,6vw,76px); }
body .eco-reading { max-width: 960px; margin-inline: auto; }
body .eco-section :is(h1,h2,h3,p), body .eco-breadcrumbs { text-align: center; }
body .eco-section p { max-width: 68ch; margin-inline: auto; }
body .eco-paper { background: #f7f4ec; color: #12372d; }
body .eco-paper :is(h1,h2,h3,summary) { color: #12372d; }
body .eco-paper :is(p,li,label) { color: #3b5148; }
body .eco-paper a:not(.button) { color: #204f40; }
body.theme-procession main .eco-paper :is(h1,h2,h3,summary) { color: #12372d; }
body.theme-procession main .eco-paper :is(p,li,label) { color: #3b5148; }
body.theme-procession main .eco-paper .eyebrow { color: #705526; }
body.home-procession main .eco-paper :is(h1,h2,h3,summary) { color: #12372d; }
body.home-procession main .eco-paper :is(p,li,label) { color: #3b5148; }
body.home-procession main .eco-paper .eyebrow { color: #705526; }
body:is(.theme-procession,.home-procession) main .eco-proof img { width: 160px; height: 200px; }
body .eco-links { display: flex; flex-wrap: wrap; gap: 8px 28px; justify-content: center; margin: 24px auto; text-align: center; }
body .eco-links a { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; text-decoration: underline; text-underline-offset: .22em; overflow-wrap: anywhere; }
body .eco-faq { margin: 28px auto; max-width: 850px; }
body .eco-faq details { border-top: 1px solid #bcc6bb; }
body .eco-faq details:last-child { border-bottom: 1px solid #bcc6bb; }
body .eco-faq summary { padding: 20px 14px; min-height: 52px; cursor: pointer; font-weight: 600; text-align: center; line-height: 1.6; }
body .eco-faq details > p { padding: 0 18px 22px; margin-block: 0; }
body .eco-faq summary:hover { background: #e9ede4; }
body .eco-faq summary:focus-visible, body .eco-links a:focus-visible { outline: 3px solid #917136; outline-offset: 4px; }
body .eco-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 32px; margin-block: 32px; }
body .eco-grid article { border-top: 1px solid #bcc6bb; padding-top: 24px; min-width: 0; text-align: center; }
body .eco-grid h2 { font-size: clamp(1.6rem,2.4vw,2rem); }
body .eco-area-list { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px 24px; list-style: none; padding: 0; margin-block: 30px; }
body .eco-area-list li { text-align: center; }
body .eco-area-list a { display: flex; justify-content: center; align-items: center; min-height: 48px; padding: 8px; text-underline-offset: .22em; }
body .eco-breadcrumbs { padding: 16px 20px; background: #0b2922; color: #d6ded7; font-size: .78rem; }
body .eco-breadcrumbs ol { padding: 0; margin: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; list-style: none; }
body .eco-breadcrumbs li + li::before { content: '/'; padding-right: 8px; color: #b4c1b9; }
body .eco-breadcrumbs a { color: #f7f4ec; text-decoration: underline; text-underline-offset: .22em; }
body .eco-contact-options { margin: 26px auto; padding: 22px; border-block: 1px solid #b8c1b5; max-width: 880px; }
body .eco-contact-options p { margin-bottom: 10px; }
body .eco-contact-options a { min-height: 44px; display: inline-flex; align-items: center; padding: 8px; overflow-wrap: anywhere; }
body .eco-contact-options .eco-links { margin: 0; }
body .eco-disclosure { font-size: .78rem; max-width: 66ch; margin: 14px auto; text-align: center; }
body .eco-proof { display: grid; grid-template-columns: 160px minmax(0,1fr); align-items: center; gap: 36px; }
body .eco-proof img { width: 160px; height: 200px; object-fit: cover; object-position: center 25%; }
body .eco-proof p { text-align: center; }
body .eco-form-error { color: #841f1f; font-weight: 600; }
body .eco-field-error { display: block; color: #841f1f; font-weight: 600; margin-top: 6px; }
body .eco-contact-options { text-align: center; }
body .eco-request-context { border-block: 1px solid #bac5b9; padding-block: 16px; }
body .contact-form-status { scroll-margin-top: 110px; }
body .contact-field [aria-invalid="true"] { border: 2px solid #841f1f; }
body .footer-areas > a:first-of-type { text-decoration: underline; }
body .guide-byline { margin: .75rem auto 1.35rem; font-size: .82rem; line-height: 1.5; letter-spacing: .02em; }
body .guide-byline a { color: inherit; font-weight: 700; text-underline-offset: 3px; }
body .eco-section h1 { font-size: clamp(2.1rem,4.5vw,3.8rem); line-height: 1.15; max-width: 22ch; margin: 0 auto 24px; }
body .eco-section h2 { margin-top: 32px; }
body .eco-section h2:first-child { margin-top: 0; }
body .eco-section .button { margin: 14px auto; }
body :is(h1,h2,h3,p) { overflow-wrap: break-word; }
body :is(h1,h2,h3,[id]) { scroll-margin-top: calc(var(--header-height,82px) + 20px); }
@media (max-width:760px) {
  body .eco-grid { grid-template-columns: 1fr; gap: 18px; }
  body .eco-area-list { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
  body .eco-proof { grid-template-columns: 1fr; gap: 20px; }
  body .eco-proof img { margin-inline: auto; }
  body .eco-contact-options { padding-inline: 8px; }
  body .eco-links { gap: 6px 16px; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior: auto; }
  body [data-reveal] { opacity: 1; transform: none; transition: none; }
}
