/* Accepted Steding black-and-orange theme. Photographs retain their colors. */
.home-craft.theme-black {
  --paper: #111416;
  --accent: #ff7900;
  --orange: #ff7900;
  --line: #41484a;
  --muted: #bfc8c8;
  background: #111416;
  color: #f3f5f0;
}
.home-craft.theme-black .site-header { background: #181d20ec; border-color: #454d50; border-bottom-color: #5b6465; color: #f3f5f0; box-shadow: 0 10px 30px #0005; }
.home-craft.theme-black .main-nav > a { color: #f3f5f0; }
.home-craft.theme-black .main-nav > a:hover { color: #ff9a43; }
.home-craft.theme-black .main-nav .nav-cta { background: #ff7900; border-color: #ff7900; color: #101416; }
.home-craft.theme-black .main-nav .nav-cta:hover { background: #ffa04d; color: #101416; }
.home-craft.theme-black .craft-hero { background: repeating-linear-gradient(13deg,#ffffff03 0 1px,transparent 1px 6px),#111416; }
.home-craft.theme-black .craft-hero h1 { color: #f3f5f0; }
.home-craft.theme-black .craft-hero h1 span { color: #ff7900; }
.home-craft.theme-black .craft-kicker { color: #ff9a43; }
.home-craft.theme-black .craft-hero-lead { color: #c5cece; }
.home-craft.theme-black .craft-secondary { color: #f3f5f0; border-color: #8e999b; }
.home-craft.theme-black .craft-primary { color: #14191b; border-color: #ff9f49; }
.home-craft.theme-black .craft-project-stamp { background: #171d20e8; border-color: #ff7900; color: #f3f5f0; }
.home-craft.theme-black .craft-project-stamp:hover { background: #171d20; }
.home-craft.theme-black .craft-film { color: #f3f5f0; background: #181f22e8; border-color: #687477; }
.home-craft.theme-black .craft-film-copy small { color: #ff9a43; }
.home-craft.theme-black .craft-film-copy > span { color: #d3dada; }
.home-craft.theme-black .craft-film-copy > span > span { color: #ff9a43; }
.home-craft.theme-black .craft-trust { background: #191f22; border-color: #424b4d; }
.home-craft.theme-black .craft-trust > div { background: #232a2d; border-color: #4a5455; }
.home-craft.theme-black .craft-trust > div:hover { background: #2a3235; box-shadow: 0 12px 24px #0004; }
.home-craft.theme-black .craft-trust dt { color: #f3f5f0; }
.home-craft.theme-black .craft-trust dd { color: #c5cece; }
.home-craft.theme-black .projects { background: #191e21; color: #f3f5f0; }
.home-craft.theme-black .section-heading :is(h2,h2 span),.home-craft.theme-black .projects .accent-text { color: #f3f5f0; }
.home-craft.theme-black .section-heading > p { color: #c5cece; }
.home-craft.theme-black .eyebrow,.home-craft.theme-black .projects .eyebrow { color: #ff9a43; }
.home-craft.theme-black .project-filters button { color: #dbe2e1; border-color: #647072; }
.home-craft.theme-black .project-filters button:hover { background: #30393d; }
.home-craft.theme-black .project-filters button[aria-pressed="true"] { background: #ff7900; color: #14191b; border-color: #ff7900; }
.home-craft.theme-black .project-card,.home-craft.theme-black .featured-projects .project-card:first-child { background: #242c30; border-color: #586366; }
.home-craft.theme-black .project-copy { background: #242c30; }
.home-craft.theme-black .project-copy h3 { color: #f3f5f0; }
.home-craft.theme-black .project-copy p { color: #c6d0d0; }
.home-craft.theme-black .project-place,.home-craft.theme-black .project-copy .text-link { color: #ff9a43; }
.home-craft.theme-black .project-place .technical-index { color: #c6d0d0; }
.home-craft.theme-black .photo-count { color: #f3f5f0; background: #171d20e8; border-color: #778183; }
.home-craft.theme-black .reference-more > summary { color: #f3f5f0; border-color: #5e696c; }
.home-craft.theme-black .about { background: #111416; }
.home-craft.theme-black .about :is(.accent-text,.eyebrow) { color: #f3f5f0; }
.home-craft.theme-black .company-story { background: #242c30; border-color: #515b5e; }
.home-craft.theme-black .company-story-caption { background: #242c30; }
.home-craft.theme-black .company-story-message { color: #f3f5f0; }
.home-craft.theme-black .company-story-kicker { color: #c5cece; }
.home-craft.theme-black .company-story-foot,.home-craft.theme-black .company-story-foot a { color: #d6dede; }
.home-craft.theme-black .company-story-foot a > span { color: #ff9a43; }
.home-craft.theme-black .company-strengths li { background: #1c2326; border-color: #515b5e; }
.home-craft.theme-black .company-strengths li:hover { background: #293236; border-color: #ff7900; }
.home-craft.theme-black .company-strengths h3 { color: #f3f5f0; }
.home-craft.theme-black .company-strengths p { color: #c6d0d0; }
.home-craft.theme-black .services { background: #171d20; }
.home-craft.theme-black .service-tile { background: #242c30; color: #f3f5f0; border-color: #515b5e; }
.home-craft.theme-black .service-tile:is(:hover,:focus-visible),.home-craft.theme-black .project-card:is(:hover,:focus-within) { background: #2a3337; color: #f3f5f0; border-color: #ff7900; }
.home-craft.theme-black .tile-top,.home-craft.theme-black .tile-link { color: #ff9a43; }
.home-craft.theme-black .service-tile h3 { color: #f3f5f0; }
.home-craft.theme-black .service-tile p,.home-craft.theme-black .service-tile:focus-visible p { color: #c6d0d0; }
.home-craft.theme-black .region-focus,.home-craft.theme-black .region-radius { background: #111416; color: #f3f5f0; }
.home-craft.theme-black .region-radius :is(h2,h2 span,.glass-kicker) { color: #f3f5f0; }
.home-craft.theme-black .region-radius .region-focus-copy > p:not(.glass-kicker) { color: #c6d0d0; }
.home-craft.theme-black .region-radius .text-link { color: #f3f5f0; }
.home-craft.theme-black .region-radius .region-reach,.home-craft.theme-black .service-radius figcaption { color: #c6d0d0; border-color: #4c585a; }
.home-craft.theme-black .service-radius-drawing { background: repeating-linear-gradient(0deg,transparent 0 39px,#b8c4c414 39px 40px),repeating-linear-gradient(90deg,transparent 0 39px,#b8c4c414 39px 40px); }
.home-craft.theme-black .service-radius text { fill: #f3f5f0; }
.home-craft.theme-black .service-radius .radius-small { fill: #c6d0d0; }
.home-craft.theme-black .service-radius-route { stroke: #e7ece8; }
.home-craft.theme-black .service-radius rect:not([transform]) { fill: #111416; }
.home-craft.theme-black .radius-replay { color: #14191b; background: #ff7900; border-color: #ff9a43; }
.home-craft.theme-black .process { background: #1c2427; color: #f3f5f0; }
.home-craft.theme-black .process :is(h2,h2 span,h3) { color: #f3f5f0; }
.home-craft.theme-black .process .section-heading > p,.home-craft.theme-black .process-list p { color: #c6d0d0; }
.home-craft.theme-black .process-list li { border-color: #607073; }
.home-craft.theme-black .process-list li:hover { background: #2b383d; border-color: #ff7900; }
.home-craft.theme-black .process-list li > span { color: #ff9a43; }
.home-craft.theme-black .career-teaser { background: #151b1e; color: #f3f5f0; }
.home-craft.theme-black .career-teaser :is(h2,h2 span) { color: #f3f5f0; }
.home-craft.theme-black .career-teaser p:not(.eyebrow) { color: #c6d0d0; }
.home-craft.theme-black .contact { background: #252d30; color: #f3f5f0; }
.home-craft.theme-black .contact :is(.eyebrow,h2,h2 span) { color: #f3f5f0; }
.home-craft.theme-black .contact-copy > p,.home-craft.theme-black .contact-direct a { color: #d5dede; }
.home-craft.theme-black .contact-direct a,.home-craft.theme-black .contact-copy .contact-note { border-color: #657174; }
.home-craft.theme-black .request-form { background: #171e21; color: #f3f5f0; border-color: #4e5b5e; border-top-color: #ff7900; }
.home-craft.theme-black .form-panel { background: #171e21; color: #f3f5f0; }
.home-craft.theme-black .request-form legend,.home-craft.theme-black .field label { color: #f3f5f0; }
.home-craft.theme-black .form-steps button { color: #c8d2d2; border-color: #6b7779; }
.home-craft.theme-black .form-steps button[aria-current="step"] { color: #ff9a43; border-color: #ff7900; }
.home-craft.theme-black .field-hint,.home-craft.theme-black .form-note { color: #bcc9ca; }
.home-craft.theme-black .work-option > span,.home-craft.theme-black .work-option:last-child > span { background: #232c30; border-color: #687578; }
.home-craft.theme-black .work-option strong { color: #f3f5f0; }
.home-craft.theme-black .work-option small { color: #c6d0d0; }
.home-craft.theme-black .work-option svg,.home-craft.theme-black .work-option:last-child svg { color: #ff9a43; }
.home-craft.theme-black .work-option input { accent-color: #ff7900; color-scheme: dark; }
.home-craft.theme-black .work-option input:checked + span { background: #35271d; border-color: #ff7900; }
.home-craft.theme-black .work-option input:checked + span svg { color: #ff9a43; }
.home-craft.theme-black .work-option:hover > span { background: #303c41; border-color: #ff7900; }
.home-craft.theme-black .field :is(input,textarea,select) { background: #202a2e; color: #f3f5f0; border-color: #7a898b; color-scheme: dark; }
.home-craft.theme-black .field :is(input,textarea)::placeholder { color: #b6c3c5; }
.home-craft.theme-black .form-back { color: #dde5e4; }
.home-craft.theme-black .request-summary { color: #f3f5f0; background: #29373c; }
.home-craft.theme-black .field-error,.home-craft.theme-black .form-status { color: #ffb77d; }
.home-craft.theme-black .form-status:not(:empty) { background: #2b241e; color: #ffd2ae; border-color: #ff7900; }
.home-craft.theme-black .form-status[data-state="success"] { background: #1e3228; color: #e0f1df; border-color: #6f9f7a; }
.home-craft.theme-black .form-status button { background: #ff7900; color: #14191b; }
.home-craft.theme-black .form-actions .button { color: #14191b; background: #ff7900; border-color: #ff7900; }
.home-craft.theme-black .faq { background: #111416; color: #f3f5f0; }
.home-craft.theme-black .faq :is(h2,h2 span,summary) { color: #f3f5f0; }
.home-craft.theme-black .faq > div:first-child > p:not(.eyebrow),.home-craft.theme-black .faq-list details > p { color: #c6d0d0; }
.home-craft.theme-black .faq-list details { border-color: #586568; }
.home-craft.theme-black .faq-list details[open],.home-craft.theme-black .faq-list summary:hover { background: #222c30; }
.home-craft.theme-black .faq-list summary::after { color: #ff9a43; }
.home-craft.theme-black .motion-band,.home-craft.theme-black .site-footer { background: #080b0d; }
.home-craft.theme-black .video-dialog,.home-craft.theme-black .video-dialog .reference-dialog-top { color: #f3f5f0; background: #1b252a; border-color: #667479; }
.home-craft.theme-black .video-dialog .reference-dialog-top button { color: #f3f5f0; border-color: #8f9c9f; }
.home-craft.theme-black .video-dialog > p { color: #c6d0d0; }
.home-craft.theme-black .reference-dialog { background: #171e21; color: #f3f5f0; border-color: #627174; }
.home-craft.theme-black .reference-dialog .reference-dialog-top { background: #171e21; color: #f3f5f0; }
.home-craft.theme-black .reference-description :is(h2,h3) { color: #f3f5f0; }
.home-craft.theme-black .reference-description > p:not(.eyebrow),.home-craft.theme-black .reference-fact p { color: #c6d0d0; }
.home-craft.theme-black .reference-description .text-link { color: #ff9a43; }
.home-craft.theme-black .reference-photos { background: #232d31; }
.home-craft.theme-black .reference-photos figure { background: #101719; }
.home-craft.theme-black .reference-photo-controls button { color: #f3f5f0; }
.home-craft.theme-black .reference-thumbnails button[aria-pressed="true"] { border-color: #ff7900; }
.home-craft.theme-black .menu-toggle { border-color: #869294; }
.home-craft.theme-black .menu-toggle > span:not(.sr-only) { background: #f3f5f0; }
@media(max-width:800px) {
  .js .home-craft.theme-black .main-nav { color: #f3f5f0; background: #171f23fa; border-color: #6b797b; }
  .js .home-craft.theme-black .main-nav > a { border-color: #586568; }
  .js .home-craft.theme-black .main-nav .nav-cta { color: #14191b; }
}
.theme-black .brand-outro.brand-outro--build { container-type: inline-size; display: block; background: #111618; color: #ff7900; padding: clamp(35px,5vw,75px) var(--gutter) 28px; border-bottom: 1px solid #434e50; overflow: hidden; }
.theme-black .brand-outro.brand-outro--build > .brand-build-word { display: block; width: max-content; max-width: 100%; font-family: var(--display); font-weight: 800; font-size: clamp(70px,29cqw,420px); line-height: .95; letter-spacing: -.025em; color: #ff7900; text-shadow: 0 3px 0 #6c330c; white-space: nowrap; }
.brand-build-letter { display: inline-block; }
.brand-build-line { height: 3px; margin-top: 18px; background: #ff7900; transform-origin: left; }
.brand-outro--build.is-brand-building .brand-build-letter { animation: brand-letter-assemble .9s cubic-bezier(.16,.9,.3,1) both; animation-delay: calc(.1s * var(--letter-index)); }
.brand-outro--build.is-brand-building .brand-build-line { animation: brand-baseline-assemble 1.4s ease-out both; }
@keyframes brand-letter-assemble { 0% { transform: translateY(110%) rotate(3deg); opacity: 0; } 65% { transform: translateY(-3%); opacity: 1; } 100% { transform: none; opacity: 1; } }
@keyframes brand-baseline-assemble { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@media(prefers-reduced-motion:reduce) { .brand-outro--build,.brand-outro--build * { animation: none !important; transition: none !important; } }
@media print { .theme-black .brand-outro.brand-outro--build { display: none; } }
.theme-black .site-header .brand-copy strong { position: relative; display: block; width: max-content; max-width: 100%; color: #ff7900; }
.theme-black .site-header .brand-logo-shine { position: absolute; inset: 0; font: inherit; letter-spacing: inherit; line-height: inherit; text-transform: uppercase; color: transparent; background-image: linear-gradient(110deg,transparent 30%,#ffc280 43%,#fff6e6 50%,#ffc280 57%,transparent 70%); background-size: 300% 100%; background-position: 150% 0; -webkit-background-clip: text; background-clip: text; opacity: 0; pointer-events: none; }
.theme-black .site-header .brand:focus-visible .brand-logo-shine { animation: header-logo-light 1.8s ease-in-out both; }
.theme-black .site-header .brand:focus-visible img { animation: header-mark-light 1.8s ease-in-out both; }
@media (hover:hover) and (pointer:fine) {
  .theme-black .site-header .brand:hover .brand-logo-shine { animation: header-logo-light 1.8s ease-in-out both; }
  .theme-black .site-header .brand:hover img { animation: header-mark-light 1.8s ease-in-out both; }
}
@keyframes header-logo-light { 0% { background-position: 150% 0; opacity: 0; } 12% { opacity: 1; } 85% { opacity: 1; } 100% { background-position: -70% 0; opacity: 0; } }
@keyframes header-mark-light { 0%,100% { filter: brightness(1); } 45% { filter: brightness(1.5); } }
@media(prefers-reduced-motion:reduce) { .theme-black .site-header .brand-logo-shine { display: none; } .theme-black .site-header .brand img { animation: none !important; } }
/* Shared subpages: use light text tokens, with explicit dark structural surfaces. */
.subpage.theme-black {
  --paper: #111416;
  --ink: #f3f5f0;
  --white: #f3f5f0;
  --accent: #ff9a43;
  --orange: #ff7900;
  --muted: #c0cccc;
  --line: #455255;
  color-scheme: dark;
  background: #111416;
  color: #f3f5f0;
}
.subpage.theme-black :is(.site-header,.site-footer,.brand-outro,.service-systems,.service-next,.reference-page-cta,.reference-page-hero,.reference-project-gallery,.reference-pagination,.career-hero,.career-site-photo figcaption) { background: #11181b; color: #f3f5f0; }
.subpage.theme-black .site-header { background: #181d20; border-color: #455255; }
.subpage.theme-black .main-nav .nav-cta,.subpage.theme-black .button-primary { background: #ff7900; color: #14191b; }
.subpage.theme-black .button-primary:hover,.subpage.theme-black .main-nav .nav-cta:hover { background: #ffa04d; color: #14191b; }
.subpage.theme-black .button-dark { background: #263238; color: #f3f5f0; border-color: #627377; }
.subpage.theme-black .service-hero-photo { background: #141b1e; }
.subpage.theme-black .service-facts,.subpage.theme-black .career-benefits-section { background: #222b2f; }
.subpage.theme-black .project-preview-image { background: #222b2f; }
.subpage.theme-black .career-role-grid article { background: #192226; border-color: #455255; border-top-color: #ff7900; }
.subpage.theme-black .career-type { background: #ff7900; color: #14191b; }
.subpage.theme-black .career-type :is(h2,h3) { color: #14191b; }
.subpage.theme-black .career-form { background: #192226; color: #f3f5f0; }
.subpage.theme-black .career-form :is(input:not([type="hidden"]),select,textarea) { background: #11191d; color: #f3f5f0; border-color: #7a8a8d; }
.subpage.theme-black .career-form :is(input,textarea)::placeholder { color: #b6c3c5; }
.subpage.theme-black .career-role-options label { background: #222d32; color: #f3f5f0; border-color: #7a8a8d; }
.subpage.theme-black .career-role-options label:has(input:checked) { border-color: #ff7900; background: #35271d; }
.subpage.theme-black .career-form .field-error { color: #ffb8a6; }
.subpage.theme-black .career-form [aria-invalid="true"] { border-color: #ffb8a6; }
.subpage.theme-black .career-form .form-status:not(:empty) { background: #2b241e; color: #ffd2ae; border-color: #ff7900; }
.subpage.theme-black .career-form .form-status[data-state="success"] { background: #1e3228; color: #e0f1df; border-color: #6f9f7a; }
.subpage.theme-black .career-form .form-status button { background: #ff7900; color: #14191b; }
.subpage.theme-black .reference-page-lead > a:hover .reference-hero-enlarge,.subpage.theme-black .reference-page-lead > a:hover .reference-hero-enlarge > span,.subpage.theme-black .photo-open { color: #14191b; }
.subpage.theme-black .reference-technical-sheet { border-top-color: #ff7900; }
.subpage.theme-black :is(.reference-dialog,.video-dialog) { background: #171e21; color: #f3f5f0; border-color: #627174; }
.subpage.theme-black .reference-dialog-top { background: #171e21; color: #f3f5f0; }
.subpage.theme-black .reference-photos { background: #232d31; }
.subpage.theme-black .reference-photos figure { background: #101719; }
.subpage.theme-black .reference-photos figcaption { background: #101719; color: #f3f5f0; }
.subpage.theme-black .reference-photo-controls button { color: #f3f5f0; }
.subpage.theme-black .reference-thumbnails button[aria-pressed="true"] { border-color: #ff7900; }
.subpage.theme-black .mobile-contact a:first-child { background: #161d20; color: #f3f5f0; }
.subpage.theme-black .mobile-contact a:last-child { background: #ff7900; color: #14191b; }
.subpage.theme-black ::selection { background: #ff7900; color: #14191b; }
.theme-black :focus-visible { outline-color: #ff9a43; }
@media(max-width:800px) {
  .js .subpage.theme-black .main-nav { background: #171f23; color: #f3f5f0; }
}
@media print {
  body.theme-black { --paper: #fff; --ink: #111; --white: #111; --muted: #333; --accent: #111; background: #fff !important; color: #111 !important; }
  body.theme-black :is(section,.project-copy,.company-story,.company-story-caption,.service-tile,.company-strengths li,.craft-trust,.craft-trust > div,.reference-photos,.reference-description,.request-form,.career-form,.faq-list details) { background: #fff !important; color: #111 !important; box-shadow: none !important; }
  body.theme-black :is(h1,h2,h3,p,a,dt,dd,strong,small,summary,label,legend) { color: #111 !important; }
}
