/* Company, enquiry and illustrative reports: an extension of the Field guide. */
.field-about .about-shell,
.field-about .service-proof-shell,
.field-contact .contact-grid,
.field-contact .contact-map,
.field-report .service-proof-shell { max-width: 1184px; margin-inline: auto; }
.field-about .page-hero-content,
.field-contact .page-hero-content,
.field-report .page-hero-content { text-align: left; max-width: 1184px; margin-inline: auto; }
.field-about .page-hero-sub,
.field-contact .page-hero-sub,
.field-report .page-hero-sub { max-width: 62ch; margin-inline: 0; }
.field-about .about-hero .btn { margin-top: 1.5rem; }
.field-page .field-company-opening,
.field-page .field-company-intro { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); align-items: center; gap: clamp(2rem, 5vw, 5rem); }
.field-page .field-company-intro { align-items: start; }
.field-page .field-company-opening > *,
.field-page .field-company-intro > * { min-width: 0; }
.field-page .field-company-opening h1,
.field-page .field-company-intro h1 { font-size: clamp(3rem, 5vw, 4.5rem); }
.field-page .field-company-intro .page-hero-sub { margin-top: .35rem; }
.field-page .field-company-opening .field-editorial-art { align-self: center; }
.field-faq .page-hero-content { margin-inline: auto; }
.field-about .about-story-content,
.field-about .about-profile,
.field-about .about-values-layout { grid-template-columns: minmax(0, 1fr) minmax(0, 1.8fr); column-gap: clamp(2rem, 6vw, 6rem); }
.field-about .about-story-content { max-width: none; }
.field-about .about-story-content > h2 { margin: 0; }
.field-about .about-story-content > h2:not(:first-child),
.field-about .about-story-content > h2:not(:first-child) + * { margin-top: var(--space-2xl); }
.field-about .about-profile-identity { display: block; }
.field-about .about-profile-name { font-size: clamp(1.5rem, 2.5vw, 2rem); }
.field-about .about-profile-role { color: #55545a; font-size: 1rem; margin-top: .65rem; }
.field-about .about-team { border: 0; background: #f4f2ed; }
.field-about .about-profile { margin-top: 3rem; padding-top: 2.5rem; border-color: #ceccc6; }
.field-about .about-profile-copy p { color: #45444a; }
.field-about .about-profile-copy > p:last-child { border-color: #ceccc6; }
.field-about .about-accountability .service-proof-shell { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 6vw, 6rem); }
.field-about .about-accountability h2 { max-width: 14ch; }
.field-about .about-accountability a { color: #fff; }
.field-about .about-responsibility { --text-1: #1c1c20; --text-2: #45444a; --text-3: #55545a; --border: #d8d6d0; margin: 0; padding: clamp(1.5rem, 3vw, 2.5rem); border-top: 4px solid #f26522; background: #fff; color: #1c1c20; }
.field-about .about-responsibility h3 { color: #1c1c20; }
.field-about .about-responsibility h3 { display: flex; align-items: center; gap: .75rem; font-size: 1.5rem; }
.field-about .about-responsibility h3 svg { flex-shrink: 0; color: #f26522; }
.field-about .about-responsibility address { font-style: normal; color: #45444a; margin-block: .75rem 2rem; line-height: 1.65; }
.field-about .about-responsibility ol { list-style: none; margin: 0; padding: 0; counter-reset: responsibility; }
.field-about .about-responsibility li { position: relative; padding: 1.25rem 0 1.25rem 3rem; border-top: 1px solid #d8d6d0; counter-increment: responsibility; }
.field-about .about-responsibility li::before { content: counter(responsibility); position: absolute; inset-inline-start: 0; color: #f26522; font-size: 1.5rem; font-weight: 700; }
.field-about .about-responsibility strong,
.field-about .about-responsibility span { display: block; }
.field-about .about-responsibility span { margin-top: .35rem; color: #45444a; }
.field-about .about-responsibility figcaption { margin-top: 1rem; font-size: .875rem; color: #55545a; line-height: 1.6; }
.field-about .partners { padding: 3rem var(--field-gutter); background: #f4f2ed; border: 0; }
.field-about .partners-label,
.field-about .partner { color: #45444a; }
.field-about .about-cta { background: #f26522; color: #1c1c20; }
.field-about .about-cta :is(.cta-title, .cta-sub) { color: #1c1c20; }
.field-about .about-cta .btn-primary { background: #1c1c20; color: #fff; border-color: #1c1c20; }
.field-about .about-cta .btn-secondary { background: transparent; color: #1c1c20; border-color: #1c1c20; }

.field-contact .contact-grid { grid-template-columns: minmax(0, 1.3fr) minmax(0, .85fr); gap: clamp(1.5rem, 4vw, 4rem); margin-top: 0; align-items: start; }
.field-contact .field-contact-panel { background: #1c1c20; padding: clamp(1.5rem, 3vw, 2.5rem); }
.field-contact .field-contact-panel h2 { font-size: clamp(1.75rem, 3vw, 2.5rem); margin-bottom: 1.5rem; }
.field-contact .field-contact-panel :is(.service-enquiry-steps, .service-enquiry-note, .contact-detail-text) { color: #d6d5d7; }
.field-contact .field-contact-art { margin-top: 2rem; }
.field-contact .contact-details { gap: 0; margin-top: 2.5rem; }
.field-contact .contact-detail-card { background: transparent; border: 0; border-top: 1px solid #525157; border-radius: 0; padding: 1.25rem 0; }
.field-contact .contact-detail-icon { background: transparent; border: 0; width: 24px; height: 24px; border-radius: 0; }
.field-contact .contact-detail-title { font-size: 1rem; color: #fff; }
.field-contact .contact-detail-text { font-size: 1rem; overflow-wrap: anywhere; }
.field-contact .contact-detail-text a { color: #fff; text-decoration: underline; text-underline-offset: .2em; }
.field-contact .contact-detail-text a:hover { color: #f6b18f; }
.field-contact .contact-form { background: #fff; color: #1c1c20; padding: 0; border: 0; border-radius: 0; min-width: 0; }
.field-contact .field-enquiry-title { font-size: clamp(1.75rem, 3vw, 2.5rem); margin: 0 0 2rem; }
.field-contact .service-enquiry-choices legend { font-size: 1.25rem; }
.field-contact .service-enquiry :is(legend, .form-label, .service-enquiry-row, .service-enquiry-tools button) { color: #1c1c20; }
.field-contact .service-enquiry :is(.service-enquiry-note, .service-enquiry-choices p, .form-privacy-notice) { color: #55545a; }
.field-contact .service-enquiry-row { border-color: #d8d6d0; padding-inline: .5rem; }
.field-contact .service-enquiry-row:hover { background: #f4f2ed; }
.field-contact .service-enquiry-editor { border-block: 1px solid #b8b5ae; padding-block: .5rem; }
.field-contact .service-enquiry-editor > summary { min-height: 48px; padding-block: .75rem; cursor: pointer; font-weight: 600; line-height: 1.5; }
.field-contact .service-enquiry-editor > summary span { font-weight: 400; }
.field-contact .service-enquiry-editor > summary:focus-visible { outline: 2px solid #1c1c20; outline-offset: 3px; }
.field-contact .service-enquiry-editor[open] > summary { margin-bottom: 1rem; }
.field-contact .service-enquiry .service-enquiry-selection { margin: 0; color: #45444a; font-size: 1rem; line-height: 1.65; }
.field-contact .jcpit-form { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 1.25rem; }
.field-contact .jcpit-form > :not(.form-group) { grid-column: 1 / -1; }
.field-contact .jcpit-form .form-group { margin: 0; min-width: 0; }
.field-contact .jcpit-form .form-group:has(#contact-message) { grid-column: 1 / -1; }
.field-contact .form-label { min-height: 3rem; display: block; font-size: 1rem; line-height: 1.5; margin-bottom: .5rem; }
.field-contact .form-label .service-enquiry-note { font-size: .875rem; }
.field-contact .service-enquiry .form-input { background: #fff; color: #1c1c20; border: 1px solid #85828a; border-radius: 4px; color-scheme: light; font-size: 1rem; padding: .875rem; width: 100%; }
.field-contact .service-enquiry .form-input::placeholder { color: #64616a; }
.field-contact .service-enquiry .form-input option { background: #fff; color: #1c1c20; }
.field-contact .service-enquiry .form-input:focus-visible { outline: 2px solid #1c1c20; outline-offset: 3px; border-color: #1c1c20; }
.field-contact .service-enquiry .form-privacy-notice a { color: #1c1c20; text-decoration: underline; }
.field-contact .form-alert { margin-bottom: 1.5rem; border-radius: 4px; }
.field-contact .form-alert-success { background: #edf5ef; color: #245637; border-color: #6c9178; }
.field-contact .form-alert-error { background: #fcefed; color: #8b2c22; border-color: #bc786e; }
.field-contact .required-mark { color: #9a3212; }
.field-contact .contact-map { margin-top: clamp(4rem, 8vw, 7rem); padding-top: 3rem; background: transparent; border: 0; border-top: 1px solid #d8d6d0; border-radius: 0; aspect-ratio: auto; }
.field-contact .contact-map h2 { margin-bottom: 1rem; }
.field-contact .contact-map p { margin-bottom: 2rem; }
.field-contact .contact-map iframe { display: block; height: 360px; filter: none; border: 0; }
.field-contact .cta a:not(.btn) { color: #1c1c20; text-decoration: underline; }
.field-contact .cta.field-paper { background: #f4f2ed; --text-1: #1c1c20; --text-2: #505057; --surface: #f4f2ed; }

.field-report .field-report-nav { display: flex; flex-wrap: wrap; gap: 1rem 2rem; margin-top: 2rem; }
.field-report .field-report-nav a { color: #1c1c20; font-weight: 600; text-decoration: underline; text-underline-offset: .25em; min-height: 44px; display: inline-flex; align-items: center; }
.field-report .field-report-document { background: #fff; color: #1c1c20; border-top: 4px solid #f26522; padding: clamp(1.25rem, 4vw, 4rem); }
.field-report .field-report-masthead { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: .5rem 2rem; padding-bottom: 1.5rem; margin-bottom: 2.5rem; border-bottom: 1px solid #d8d6d0; }
.field-report .field-report-masthead strong { font-size: 1.25rem; }
.field-report .field-report-masthead span { color: #55545a; font-size: .875rem; }
.field-report .field-report-document :is(h2, h3, h4, dt) { color: #1c1c20; }
.field-report .field-report-document :is(p, dd) { color: #45444a; }
.field-report .report-example-disclaimer { background: transparent; padding: 0; border-radius: 0; }
.field-report .field-report-document > .report-example-disclaimer { padding-block: 1rem; border-block: 1px solid #d8d6d0; }
.field-report .report-example-finding { border-color: #d8d6d0; padding-block: 2rem; }
.field-report .report-example-finding-heading { justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.field-report .report-example-finding-heading h3 { font-size: 1.25rem; margin: 0; }
.field-report .report-example-status { background: #f4f2ed; color: #1c1c20; border-color: #bdbab4; border-radius: 4px; font-weight: 600; }
.field-report .report-example-finding h4 { font-size: 1.5rem; }
.field-report details { border-color: #d8d6d0; }
.field-report summary { color: #1c1c20; }
.field-report #ongoing-report { background: #1c1c20; }
.field-report #ongoing-report > .service-proof-shell > h2 { max-width: 22ch; }
.field-report #ongoing-report > .service-proof-shell > p { color: #d6d5d7; }
.field-report #ongoing-report .service-proof-actions > a:not(.btn) { color: #fff; }
.field-report .field-ongoing-document { margin-block: 2.5rem; }
.field-report .field-report-intro h2 { max-width: 16ch; }
.field-report .field-report-intro p { color: #d6d5d7; }
.field-report .field-ongoing-document .report-example-outline { margin: 0; }
.field-report .field-ongoing-document .report-example-outline { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 2rem 3rem; }
.field-report .field-ongoing-document .report-example-outline > div { display: block; padding: 0; border: 0; }
.field-report .field-ongoing-document .report-example-outline dt { font-size: 1.25rem; line-height: 1.35; }
.field-report .field-ongoing-document .report-example-outline dd { margin: .75rem 0 0; }
.field-report .report-example-outline > div { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 1rem 3rem; border-color: #d8d6d0; }
.field-report .report-example-outline > div:last-child { border-bottom: 0; padding-bottom: 0; }

@media (max-width: 800px) {
  .field-page .field-company-opening,
  .field-page .field-company-intro { grid-template-columns: minmax(0, 1fr); gap: 2rem; }
  .field-page .field-company-opening .field-editorial-art { max-width: 640px; }
  .field-page .field-company-intro .page-hero-sub { margin-top: 0; }
  .field-report .field-ongoing-document .report-example-outline { grid-template-columns: minmax(0, 1fr); gap: 1.5rem; }
  .field-about .about-story-content,
  .field-about .about-profile,
  .field-about .about-values-layout,
  .field-about .about-accountability .service-proof-shell,
  .field-contact .contact-grid { grid-template-columns: minmax(0, 1fr); gap: 2rem; }
  .field-about .about-story-content > * { grid-column: 1; }
  .field-about .about-profile-identity { display: block; }
  .field-about .about-story-content > h2:not(:first-child) + * { margin-top: 0; }
  .field-contact .contact-grid { gap: 3rem; }
  .field-contact .field-contact-panel { padding: 1.5rem; }
  .field-report .report-example-outline > div { grid-template-columns: minmax(0, 1fr); gap: .5rem; }
}
@media (max-width: 500px) {
  .field-contact .jcpit-form { grid-template-columns: minmax(0, 1fr); }
  .field-contact .form-label { min-height: 0; }
  .field-contact .contact-map iframe { height: 280px; }
  .field-report .field-report-masthead { margin-bottom: 2rem; }
}
