/* Shared, source-only readability and interaction refinements. */
:root {
  --penfield-text: #000;
  --penfield-text-inverse: #fff;
  /* A single adjoining-section gap; split across the two neighbors. */
  --penfield-space-section: clamp(3.5rem, 6vw, 5rem);
  --ink: #000;
  --muted: #000;
}
body { color: var(--penfield-text); }
.team-editorial-page,
.services-editorial-page,
.contact-editorial-page,
.journal-home,
.about-editorial-page { color: var(--penfield-text); --team-ink: #000; --services-ink: #000; }
.team-editorial-page .team-result-count,
.team-editorial-page .team-group-count,
.team-editorial-page .team-profile-role,
.services-editorial-page .services-result-count,
.services-editorial-page .service-summary-excerpt,
.contact-editorial-page .contact-page-content,
.contact-editorial-page .contact-request-intro > p,
.home-redesign .home-hero-panel p,
.home-redesign .founder-quote-text,
.home-redesign .founder-signature span,
.home-redesign .team-info p,
.home-redesign .team-role,
.home-redesign .home-about-section .large-copy,
.home-redesign .home-services-section,
.home-redesign .matter-card p,
.home-redesign .insight-teaser .teaser-grid p,
footer .footer-address,
footer .footnote,
footer p { color: #000; }
.team-editorial-page .team-eyebrow,
.services-editorial-page .services-eyebrow,
.contact-editorial-page .contact-eyebrow { opacity: 1; }
.team-editorial-page .team-directory-group { padding-bottom: var(--penfield-space-section); }
.services-editorial-page .services-hero { padding-bottom: calc(var(--penfield-space-section) / 2); }
.services-editorial-page .services-list-section { padding-block: calc(var(--penfield-space-section) / 2); }
.services-editorial-page .services-method { padding-block: calc(var(--penfield-space-section) / 2); }
.services-editorial-page .services-contact { padding-top: calc(var(--penfield-space-section) / 2); }
.contact-editorial-page .contact-page-content { margin-bottom: var(--penfield-space-section); }
.penfield-journal .journal-masthead,
.penfield-journal .journal-topics,
.penfield-journal .journal-list { padding-block: calc(var(--penfield-space-section) / 2); }
.about-editorial-page .about-editorial-hero,
.about-editorial-page .about-editorial-lead,
.about-editorial-page .about-editorial-feature,
.about-editorial-page .about-editorial-values,
.about-editorial-page .about-editorial-cta,
.about-editorial-page .about-statement-row { padding-block: calc(var(--penfield-space-section) / 2); }
.about-editorial-page .about-values-panel p { color: #fff; }
.team-editorial-page .team-profile-link,
.services-editorial-page .services-contact-link,
.contact-editorial-page .contact-submit {
  min-height: 44px;
  border-radius: 0;
  transition: color .18s ease, background-color .18s ease;
}
.team-editorial-page .team-directory-filters button,
.services-editorial-page .services-filter button { border-radius: 0; }
.team-editorial-page .team-profile-link:focus-visible,
.services-editorial-page .services-contact-link:focus-visible,
.contact-editorial-page .contact-submit:focus-visible {
  outline: 2px solid var(--team-olive, var(--services-olive, #616126));
  outline-offset: 3px;
}
/* The Home progress rail is managed by its existing scroll handler. */
body:has(#firm.home-redesign) .ink-rail { display: flex !important; }
.tailored-option #firm.home-redesign > .home-hero { z-index: 2; }
.tailored-option #firm.home-redesign .home-founder-section { z-index: 1; }
footer .footer-address, footer p { color: #000; }
footer .footnote { opacity: 1; }
#contact.site-footer .footer-column > a,
#contact.site-footer .footer-address,
#contact.site-footer .footer-brand > p { color: #000; font-size: 16px; }
#contact.site-footer .footer-column > .eyebrow { color: #000; font-size: 16px; }
#contact.site-footer .footer-signoff { color: #000; }
body:has(#firm.home-redesign) .site-footer .footer-column a,
body:has(#firm.home-redesign) .site-footer .footer-address { font-size: 16px; }
.tailored-option #firm.home-redesign .home-hero-panel p,
.tailored-option #firm.home-redesign .team-info p,
.tailored-option #firm.home-redesign .team-role,
.tailored-option #firm.home-redesign .founder-signature span,
.tailored-option #firm.home-redesign .home-about-section .large-copy,
.tailored-option #firm.home-redesign .home-services-section,
.tailored-option #firm.home-redesign .matter-card p,
.tailored-option #firm.home-redesign .insight-teaser .teaser-grid p { color: #000; }
.tailored-option #firm.home-redesign .founder-signature span { color: #000; }
.tailored-option #firm.home-redesign .home-founder-section { padding-bottom: calc(var(--penfield-space-section) / 2); }
.tailored-option #firm.home-redesign .home-team-section { padding-top: calc(var(--penfield-space-section) / 2); padding-bottom: calc(var(--penfield-space-section) / 2); }
.tailored-option #firm.home-redesign .home-about-section { padding-top: calc(var(--penfield-space-section) / 2); padding-bottom: calc(var(--penfield-space-section) / 2); }
.tailored-option #firm.home-redesign .home-services-section { padding-top: calc(var(--penfield-space-section) / 2); padding-bottom: calc(var(--penfield-space-section) / 2); }
.tailored-option #firm.home-redesign .home-project-section { padding-top: calc(var(--penfield-space-section) / 2); padding-bottom: calc(var(--penfield-space-section) / 2); }
.tailored-option #firm.home-redesign .insight-teaser { padding-top: calc(var(--penfield-space-section) / 2); padding-bottom: calc(var(--penfield-space-section) / 2); }
.tailored-option #firm.home-redesign .home-hero-panel .solid:hover,
.tailored-option #firm.home-redesign .home-hero-panel .solid:focus-visible { color: #fff; background-color: #262d58; }
.tailored-option #firm.home-redesign .home-hero-panel .solid:focus-visible { outline: 2px solid #616126; outline-offset: 3px; }
.site-footer a:focus-visible { outline: 2px solid #616126; outline-offset: 3px; }
.home-logo-loader-content { display: grid; justify-items: center; gap: 1.25rem; width: min(92vw, 420px); }
.home-logo-loader-caption { margin: 0; color: #262d58; font: 500 16px/1.5 'Be Vietnam Pro', Arial, sans-serif; letter-spacing: .12em; text-align: center; }
.home-logo-loader-skip { min-height: 44px; padding: .55rem 1rem; border: 1px solid #262d58; border-radius: 0; background: transparent; color: #262d58; font: 500 14px/1.4 'Be Vietnam Pro', Arial, sans-serif; cursor: pointer; }
.home-logo-loader-skip:hover, .home-logo-loader-skip:focus-visible { background: #262d58; color: #fff; }
.home-logo-loader-skip:focus-visible { outline: 2px solid #616126; outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) { .home-logo-loader { display: none !important; } }
@media (max-width: 720px) {
  .team-editorial-page .team-directory-group { padding-bottom: 3rem; }
}
@media (max-width: 760px) {
  .tailored-option #firm.home-redesign .team-portrait { height: auto; }
}
