/* Brinmont identity: white canvas, graphite typography and precise orange accents. */
:root {
  --ink: #171b22;
  --paper: #ffffff;
  --gold: #f36b24;
  --muted: #626a73;
  --line: #171b2226;
  --brand-orange: #f36b24;
  --brand-graphite: #171b22;
  --brand-silver: #b9bec4;
  --brand-gray: #626a73;
  --brand-white: #ffffff;
  --brand-soft: #f5f6f7;
  --brand-border: #dfe2e5;
  color-scheme: light;
}
body { background: var(--paper); color: var(--ink); }
::selection { background: var(--brand-orange); color: var(--ink); }
button:focus-visible, a:focus-visible, summary:focus-visible, [tabindex]:focus-visible,
.light :focus-visible, dialog :focus-visible { outline-color: var(--brand-gray); }
input:focus, select:focus, textarea:focus { outline: 2px solid var(--brand-gray); outline-offset: 3px; }
.eyebrow, .light .eyebrow { color: var(--brand-gray); }
.progress { background: var(--brand-orange); }
.status-dot { background: var(--brand-orange); box-shadow: 0 0 10px #f36b2440; }
.skip { background: var(--paper); color: var(--ink); border: 1px solid var(--ink); }

/* Shared navigation stays clear against photography and page content. */
.header, .header.scrolled {
  background: #fffffff5;
  color: var(--ink);
  border-bottom-color: var(--brand-border);
  --muted: #626a73;
  --line: #171b2226;
  backdrop-filter: blur(18px);
}
.header.scrolled { box-shadow: 0 4px 24px #171b2208; }
.header .wordmark, .header .desktop-nav, .header .mega summary { color: var(--ink); }
.header .menu-toggle span, .complete-header .menu-toggle span { background: var(--ink); }
.desktop-nav a:after { background: var(--brand-orange); }
.header-cta { color: var(--ink); background: var(--brand-orange); border-color: var(--brand-orange); }
.header-cta:hover { background: var(--ink); border-color: var(--ink); color: var(--paper); }
.header .mega summary span { color: var(--brand-gray); }
.mega-panel { background: #fffffff9; color: var(--ink); border-color: var(--brand-border); box-shadow: 0 25px 40px #171b2212; }
.mega-panel .eyebrow { color: var(--brand-gray); }
.mega-links a { border-color: var(--brand-border); }
.mega-links a:hover { color: var(--ink); border-color: var(--brand-orange); }
.mobile-nav, .complete-menu { background: var(--paper); color: var(--ink); --line: #171b2226; }
.complete-menu .eyebrow { color: var(--brand-gray); }
.mobile-nav a span { color: var(--brand-gray); }
.complete-menu a:hover { color: var(--ink); border-color: var(--brand-orange); }
.mobile-nav > button { color: var(--ink); }
.language-switch { border-color: var(--brand-border); background: var(--paper); }
.language-switch a { color: var(--brand-gray); }
.language-switch a:hover { color: var(--ink); background: var(--brand-soft); }
.language-switch a[aria-current="true"] { color: var(--paper); background: var(--ink); }

/* A predominantly white editorial canvas; existing spacing and motion stay intact. */
.section:not(.system):not(.contact):not(.walkthrough), .light, .industries-v3, .resources {
  background: var(--paper);
  color: var(--ink);
  --muted: #626a73;
  --line: #171b2226;
  color-scheme: light;
}
.section:not(.system):not(.contact):not(.walkthrough) + .section:not(.system):not(.contact):not(.walkthrough) { border-top: 1px solid #171b220d; }
.section-label { color: var(--muted); border-color: var(--line); }
.text-link { border-bottom-color: var(--brand-orange); }
.text-link:hover { border-bottom-color: currentColor; }
.button { color: var(--ink); }
.button-light { color: var(--ink); background: var(--brand-orange); }
.button-light:hover { color: var(--paper); background: var(--ink); }
.button-dark { color: var(--paper); background: var(--ink); }
.button-dark:hover { color: var(--ink); background: var(--brand-orange); }
.button .arrow { border-color: #171b2240; }
.button-dark .arrow, .button-light:hover .arrow { border-color: #ffffff55; }
.button-dark:hover .arrow { border-color: #171b2240; }
.circle { color: var(--ink); border-color: var(--brand-silver); }
.circle:hover { color: var(--paper); background: var(--ink); border-color: var(--ink); }
.ticker { color: var(--brand-gray); background: var(--paper); border-color: var(--brand-border); }
.ticker-track b { color: var(--brand-orange); }
.cap-body ul { color: var(--brand-gray); }
.cap-body li:before { color: var(--brand-orange); }
summary > span { color: var(--brand-gray); }
details[open] summary h3 { color: var(--ink); }
.cap-accordions details[open] summary, .catalogue details[open] summary { box-shadow: inset 0 -2px var(--brand-orange); }
.cap-image:after { background: linear-gradient(transparent 45%, #171b22e6); }
.cap-image figcaption, .intro-image > div, .intro-image p { color: var(--paper); }
.intro-image > img { filter: brightness(.5); }
.industry-caption { color: var(--brand-gray); }

/* Service explorer and supporting features. */
.site-search { color: var(--brand-gray); }
.site-search input { color: var(--ink); background: var(--paper); border-color: var(--brand-silver); }
.site-search input::placeholder { color: var(--brand-gray); opacity: 1; }
.catalogue details[open] { background: var(--brand-soft); }
.catalogue-groups h4 { color: var(--ink); }
.catalogue-groups ul { color: var(--brand-gray); }
.all-services-link a { color: var(--ink); text-decoration: underline; text-decoration-color: var(--brand-orange); text-underline-offset: 5px; }
.feature-strip { background: var(--brand-border); border-color: var(--brand-border); }
.feature-strip a { background: var(--paper); color: var(--ink); }
.feature-strip a:hover { background: var(--brand-soft); box-shadow: inset 0 -2px var(--brand-orange); }
.feature-strip a > span { color: var(--brand-gray); }
.section-journey span { color: var(--brand-gray); }
.editorial-card .scope { color: var(--brand-gray); }
.location-list span { color: var(--brand-gray); border-color: var(--brand-border); }
.why-grid > div { border-color: var(--brand-border); }
.why-grid > div:last-child { background: var(--brand-soft); border-top: 3px solid var(--brand-orange); }
.method-step > span { color: var(--brand-gray); }
.method-step:before { background: var(--brand-orange); }
.plan-card { background: var(--paper); border-color: var(--brand-border); }
.plan-card:hover { box-shadow: 0 20px 35px #171b220d; }
.plan-card.featured { background: var(--ink); color: var(--paper); border-color: var(--ink); --muted: #b9bec4; border-top: 3px solid var(--brand-orange); }
.plan-card.featured .eyebrow { color: var(--brand-orange); }
.plan-card.featured .text-link { color: var(--paper); }
.insight-link:after { color: var(--brand-orange); }
.faq-list details[open] summary { color: var(--ink); }
.faq-list details[open] { border-top-color: var(--brand-orange); }
.program-tabs button { color: var(--brand-gray); }
.program-tabs button[aria-selected=true] { color: var(--ink); }
.program-tabs button:after { background: var(--brand-orange); }
.stage-large { color: var(--brand-silver); }
.stage-panel .eyebrow { color: var(--brand-gray); }

/* Two contained graphite experiences give the white pages a visual anchor. */
.system {
  background: var(--ink);
  color: var(--paper);
  --muted: #b9bec4;
  --line: #ffffff26;
  border-color: var(--line);
  color-scheme: dark;
}
.system .eyebrow { color: var(--brand-orange); }
.system-tabs button { color: var(--paper); border-color: #b9bec460; }
.system-tabs button:hover { border-color: var(--brand-silver); }
.system-tabs button[aria-selected=true] { color: var(--ink); background: var(--brand-orange); border-color: var(--brand-orange); }
.orbit-grid { background-image: linear-gradient(#b9bec414 1px,transparent 1px),linear-gradient(90deg,#b9bec414 1px,transparent 1px); }
.orbit-ring { border-color: #b9bec42e; }
.orbit:before, .orbit:after { background: #b9bec426; }
.orbit-core { border-color: #f36b2470; background: radial-gradient(#303740,var(--ink)); box-shadow: 0 0 65px #f36b240d; }
.orbit-core > span { color: var(--brand-orange); }
.orbit-node { color: var(--paper); background: var(--ink); border-color: #b9bec44d; }
.orbit-node.active { color: var(--ink); background: var(--brand-orange); border-color: var(--brand-orange); box-shadow: 0 0 40px #f36b2415; }
.orbit-coordinate { color: var(--brand-silver); }
.desk-demo { background: var(--ink); color: var(--paper); border-color: #b9bec440; --line: #ffffff26; box-shadow: 0 22px 70px #171b221a; }
.desk-top small, .desk-panel-label, .workflow small, .desk-foot { color: var(--brand-silver); }
.desk-tabs button { color: var(--brand-silver); }
.desk-tabs button[aria-selected=true] { color: var(--ink); background: var(--brand-orange); }
.workflow > div { border-color: #b9bec43d; background: #ffffff05; }
.workflow i, .workflow b { color: var(--brand-orange); }

/* Industry cards preserve readable photo captions; filters and details are white. */
.sector-heading .eyebrow, .sector-heading-note p, .sector-search svg,
.sector-results-line > span, .sector-results-line > p, .sector-card p,
.sector-footnote, .sector-next .eyebrow { color: var(--brand-gray); }
.sector-count-art { color: var(--brand-silver); }
.sector-toolbar, .sector-card-body, .sector-next { border-color: var(--brand-border); }
.sector-filter { color: var(--ink); background: var(--paper); border-color: var(--brand-silver); }
.sector-filter > span { opacity: .78; }
.sector-filter:hover { background: var(--brand-soft); border-color: var(--ink); }
.sector-filter[aria-pressed=true] { color: var(--paper); background: var(--ink); border-color: var(--ink); box-shadow: inset 0 -2px var(--brand-orange); }
.sector-search input { color: var(--ink); border-color: var(--brand-silver); }
.sector-search input::placeholder { color: var(--brand-gray); opacity: 1; }
.sector-reset { border-color: var(--brand-orange); }
.sector-photo, .industry-card { background: var(--ink); color: var(--paper); }
.sector-photo:after { background: linear-gradient(180deg,#171b2259,transparent 35%,#171b22e6); }
.industry-card:after { background: linear-gradient(#171b2266,transparent 30%,#171b22e6); }
.sector-index, .sector-image-title, .sector-hover, .industry-top, .industry-name, .industry-sub { color: var(--paper); }
.sector-photo-line { border-color: #ffffff99; }
.sector-hover i { color: var(--brand-orange); }
.sector-open { color: var(--ink); }
.sector-card:hover h3 { color: var(--ink); }
.sector-card:hover .sector-card-body { border-color: var(--brand-orange); }
.sector-card:has(.sector-open:focus-visible) { outline-color: var(--brand-gray); }
.sector-empty { background: var(--brand-soft); border-color: var(--brand-border); }
.sector-empty > span, .sector-next-symbol { color: var(--brand-gray); }
.sector-dialog .dialog-close { color: var(--paper); background: #171b22e6; border-color: #ffffff66; }
.sector-dialog-visual { background: var(--ink); }
.sector-dialog-visual:after { background: linear-gradient(90deg,#171b22b3,#171b224d),linear-gradient(0deg,#171b22d9,transparent 80%); }
.sector-dialog-heading, .sector-dialog-heading #industry-dialog-title,
.sector-dialog-heading #sector-dialog-headline, .sector-dialog .sector-dialog-heading .eyebrow { color: var(--paper); }
.sector-dialog .sector-dialog-heading .eyebrow { text-decoration: underline; text-decoration-color: var(--brand-orange); text-underline-offset: 8px; }
.sector-dialog .eyebrow, .sector-journey small, .sector-pillar > span,
.sector-dialog-cta > div > span, .sector-dialog-bottom > span { color: var(--brand-gray); }
.sector-audience, .sector-pillar, .sector-services { border-color: var(--brand-border); }
.sector-dialog-intro #industry-dialog-description, .sector-dialog-cta p,
.sector-dialog-bottom button { color: var(--ink); }
.sector-journey { background: var(--brand-border); border-color: var(--brand-border); }
.sector-journey > div { background: var(--brand-soft); }
.sector-journey b { color: var(--brand-gray); }
.sector-services li { color: var(--brand-gray); border-color: var(--brand-border); }
.sector-dialog-cta { background: var(--brand-soft); border-left: 3px solid var(--brand-orange); }

/* Download library, consistently light with high-contrast document actions. */
.resources .section-heading p { color: var(--brand-gray); }
.resource-summary { color: var(--ink); }
.resource-card { color: var(--ink); background: var(--paper); border-color: var(--brand-border); }
.resource-card:hover, .resource-card:focus-within { border-color: var(--brand-silver); box-shadow: 0 18px 55px #171b2210; }
.resource-cover { background: var(--brand-soft); }
.resource-cover img { background: var(--paper); border-color: var(--brand-border); box-shadow: 0 12px 30px #171b2212; }
.resource-kicker, .resource-language-detail { color: var(--brand-gray); }
.resource-kicker span:last-child { border-color: var(--brand-border); }
.resource-download { color: var(--ink); background: var(--paper); border-color: var(--brand-silver); }
.resource-download-primary { color: var(--ink); background: var(--brand-orange); border-color: var(--brand-orange); }
.resource-download small { opacity: 1; }
.resource-download:hover { color: var(--paper); background: var(--ink); border-color: var(--ink); }
.resource-note { color: var(--brand-gray); border-color: var(--brand-border); }
.resource-note a { color: var(--ink); border-color: var(--brand-orange); }

/* All service and company pages use the same neutral editorial palette. */
.page-hero { background: var(--ink); color: var(--paper); }
.page-hero > img { filter: brightness(.5); }
.page-hero:after { background: linear-gradient(90deg,#171b22ed,#171b2240),linear-gradient(0deg,#171b22,transparent 45%); }
.page-hero p, .page-hero-index { color: var(--brand-silver); }
.page-back { color: var(--paper); text-decoration: underline; text-decoration-color: var(--brand-orange); text-underline-offset: 6px; }
.guide-shell { background: var(--paper); color: var(--ink); --muted: #626a73; --line: #171b2226; }
.chapter-nav .eyebrow, .chapter-nav a span, .chapter-number,
.source-chapter p, .source-chapter ul, .source-chapter ol,
.source-chapter .source-line { color: var(--brand-gray); }
.chapter-nav a:hover, .chapter-nav a.active { color: var(--ink); border-color: var(--brand-orange); }
.source-card { background: var(--brand-soft); border-color: var(--brand-border); }
.source-card:hover { border-color: var(--brand-silver); box-shadow: 0 12px 30px #171b2208; }
.source-chapter a.source-action { color: var(--ink); border-color: var(--brand-orange); }
.source-chapter td, .source-chapter th { border-color: var(--brand-border); }
.source-chapter blockquote { color: var(--ink); border-color: var(--brand-orange); }
.source-photo { border-color: var(--brand-border); }
.support-note { background: var(--brand-soft); border-color: var(--brand-border); }
.page-end { color: var(--paper); background: var(--ink); --muted: #b9bec4; }
.page-end .eyebrow { color: var(--brand-orange); }
.page-end .button-light:hover { color: var(--ink); background: var(--paper); }

/* Contact and footer form a restrained graphite closing band. */
.contact { background: var(--ink); color: var(--paper); --muted: #b9bec4; --line: #ffffff26; }
.contact-bg { background: linear-gradient(90deg,#171b22ed,#171b22cf),url('assets/hero.avif') center 70%/cover no-repeat; }
.contact .eyebrow, .contact-extra { color: var(--brand-silver); }
.contact h2 em { color: var(--paper); }
.contact .button-light:hover { color: var(--ink); background: var(--paper); }
.contact .button-light:hover .arrow, .page-end .button-light:hover .arrow { border-color: #171b2240; }
.complete-footer, .footer { background: var(--ink); color: var(--paper); border-color: #ffffff26; --line: #ffffff26; --muted: #b9bec4; }
.complete-footer .wordmark { color: var(--paper); }
.complete-footer .eyebrow { color: var(--brand-orange); }
.complete-footer > div > a { color: var(--brand-silver); }
.complete-footer > div > a:hover { color: var(--paper); text-decoration: underline; text-decoration-color: var(--brand-orange); text-underline-offset: 5px; }
.footer-intro p, .footer-base, .footer > span { color: var(--brand-silver); }
.footer-base { border-color: #ffffff26; }
.back-top { border-color: #ffffff66; }

/* Form fields and messages remain clear in every language. */
dialog { background: var(--paper); color: var(--ink); box-shadow: 0 25px 100px #171b2266; }
dialog::backdrop { background: #171b22b3; }
dialog > .eyebrow, dialog .eyebrow, dialog p, .form-grid label { color: var(--brand-gray); }
input, select, textarea { background: var(--paper); color: var(--ink); border-color: var(--brand-silver); }
input::placeholder, textarea::placeholder { color: var(--brand-gray); opacity: 1; }
#request-preview { background: var(--brand-soft); border-color: var(--brand-border); }
.request-status { color: var(--ink)!important; }
.form-note a { color: var(--ink); text-decoration-color: var(--brand-orange); text-underline-offset: 3px; }

/* The authentic logo keeps its full proportions and built-in clear space. */
.wordmark.brand-lockup { display: inline-flex; align-items: center; justify-content: center; line-height: 1; }
.wordmark.brand-lockup img { display: block; width: 280px; height: auto; max-width: 100%; object-fit: contain; flex: none; }
.header { height: 96px; }
.header .wordmark.brand-lockup { width: 280px; height: 72px; flex: 0 0 280px; overflow: hidden; }
.header .wordmark.brand-lockup img { width: 280px; max-height: none; }
.complete-menu { inset-block-start: 95px; }
.header.scrolled + .complete-menu { inset-block-start: 77px; }
.complete-footer .wordmark.brand-lockup, .footer .wordmark.brand-lockup {
  width: 280px;
  max-width: 100%;
  padding: 8px;
  background: var(--paper);
  border-bottom: 3px solid var(--brand-orange);
}
.complete-footer .wordmark.brand-lockup img, .footer .wordmark.brand-lockup img { width: 100%; }
.brand-signature { display: block; width: max-content; max-width: 100%; margin: 0 0 30px; }
.brand-signature img { display: block; width: 220px; height: auto; max-width: 100%; object-fit: contain; }
.resources .brand-signature {
  width: 100%;
  padding: 16px 24px;
  margin: 0 0 38px;
  background: var(--paper);
  border: 1px solid var(--brand-border);
  border-left: 5px solid var(--brand-orange);
}

/* Orange guides the eye through the story without reducing small-text contrast. */
.section-label { border-bottom-color: var(--brand-orange); }
.section-label > span:first-child:before {
  content: '';
  display: inline-block;
  width: 28px;
  height: 3px;
  margin-right: 12px;
  background: var(--brand-orange);
  vertical-align: middle;
}
#approach h2 em, #services h2 em, #industries h2 em, #industry-directory h2 em, #program h2 em,
#resources h2 em, #work h2 em, #about h2 em, #plans h2 em { color: var(--brand-orange); }
.intro-facts strong, .sector-count-art, .method-step > span, .stage-large { color: var(--brand-orange); }
.intro-facts { border-top-color: var(--brand-orange); }
.feature-strip a > span, .text-link > span, .sector-open > i { color: var(--brand-orange); }
.text-link { border-bottom-width: 2px; }
.editorial-photo:after { content: ''; position: absolute; inset: auto 0 0; height: 4px; background: var(--brand-orange); }
.method-step:before { height: 3px; }
.program-tabs button:after { height: 3px; }
.sector-filter[aria-pressed=true] { background: var(--brand-orange); color: var(--ink); border-color: var(--brand-orange); box-shadow: none; }
.sector-filter[aria-pressed=true] > span { opacity: 1; }
.sector-photo-line { border-color: var(--brand-orange); border-width: 2px; }
.sector-card-body { border-bottom: 2px solid var(--brand-orange); }
.sector-dialog-cta { border-left-width: 5px; }
.resource-card, .plan-card { border-top: 3px solid var(--brand-orange); }
.resource-card:hover, .resource-card:focus-within { border-top-color: var(--brand-orange); }
.resource-cover { border-bottom: 1px solid #f36b2433; }
.resource-kicker span:last-child { color: var(--ink); background: #f36b2414; border-color: #f36b2466; }
.resource-download { border-color: var(--brand-orange); }
.resource-download-primary { color: var(--ink); background: var(--brand-orange); border-color: var(--brand-orange); }
.resource-download:hover { color: var(--paper); background: var(--ink); border-color: var(--ink); }
.resource-summary strong { color: var(--ink); border-bottom: 2px solid var(--brand-orange); padding-bottom: 2px; }
.source-chapter h2 { border-left: 3px solid var(--brand-orange); padding-left: 18px; }
.chapter-number { display: inline-block; color: var(--ink); background: var(--brand-orange); padding: 5px 9px; }
.source-card { border-top: 3px solid var(--brand-orange); }
.source-card:hover { border-top-color: var(--brand-orange); }
.chapter-nav a.active { box-shadow: inset 3px 0 var(--brand-orange); padding-left: 10px; }
#send-request, .sector-dialog-cta .button { color: var(--ink); background: var(--brand-orange); }
#send-request .arrow, .sector-dialog-cta .button .arrow { border-color: #171b2240; }
#send-request:hover, .sector-dialog-cta .button:hover { color: var(--paper); background: var(--ink); }
#send-request:hover .arrow, .sector-dialog-cta .button:hover .arrow { border-color: #ffffff55; }
.complete-footer, .footer { border-top: 4px solid var(--brand-orange); }
.contact .section-label, .system .section-label { border-bottom-color: #f36b2480; }

@media (max-width: 1450px) and (min-width: 1101px) {
  .complete-header .desktop-nav { gap: 12px; }
  .complete-header .header-cta { display: none; }
}
@media (max-width: 1320px) {
  .complete-header .desktop-nav { display: none; }
  .complete-header > .language-switch { margin-left: auto; }
}
@media (max-width: 600px) {
  .header { height: 86px; }
  .header .wordmark.brand-lockup { width: 240px; height: 66px; flex-basis: 240px; }
  .header .wordmark.brand-lockup img { width: 240px; }
  .header > .language-switch { display: none; }
  .header .menu-toggle { margin-left: auto; }
  .complete-menu { inset-block-start: 85px; }
}
@media (max-width: 480px) {
  .complete-header { gap: 10px; }
  .section-label > span:first-child:before { width: 18px; margin-right: 8px; }
  .resources .brand-signature { padding: 12px 16px; margin-bottom: 28px; }
  .source-chapter h2 { padding-left: 13px; }
}
@media (max-width: 360px) {
  .header .wordmark.brand-lockup { width: 220px; flex-basis: 220px; }
  .header .wordmark.brand-lockup img { width: 220px; }
  .complete-header { gap: 7px; }
}

@media (prefers-contrast: more) {
  :root { --brand-border: #626a73; --line: #626a73; }
  .section-label, .cap-accordions details, .catalogue > details { border-color: var(--brand-gray); }
  .sector-filter > span { opacity: 1; }
}

/* Original graphite lettering remains legible against dark section backgrounds. */
.contact .brand-signature, .page-end .brand-signature {background:#fff;border-bottom:3px solid #f36b24;padding:0 22px;margin:0 auto 32px;}
.resources .brand-signature{width:max-content;max-width:100%;padding:0 18px;border:0;border-left:3px solid #f36b24;margin:0 0 28px;}
