/* Snow white & engineering blue trial. Unlink this sheet to restore the untouched original CSS.
   Pre-trial source: a3644544db52e604530fd5d14dc38f7b4d7035b4. */
:root {
  --ink: #203246;
  --muted: #52687c;
  --paper: #f5f8fc;
  --line: #c9d6e4;
  --green: #dbe7f3;
  --dark: #245c87;
  --accent: #245c87;
  --surface: #e7eef6;
  --white: #ffffff;
  --blue-deep: #122e46;
  --ice-blue: #c5dff2;
  --button-red: #e2001a;
  --button-red-hover: #bd0016;
  color-scheme: light;
}

/* Light navigation and the original logo silhouette. */
.site-header,
.site-header.is-scrolled,
.site-header.has-open-products,
.work-detail-page .site-header {
  background: rgba(245,248,252,.98);
  color: var(--ink);
  box-shadow: 0 1px 0 var(--line);
}
.brand .logo-window .original-logo,
.footer-logo .logo-window .original-logo { filter: brightness(0); }
.desktop-nav a:after { background: var(--accent); }
.header-cta { background: var(--accent); border-color: var(--accent); color: var(--white); }
.header-cta:hover { background: var(--blue-deep); border-color: var(--blue-deep); color: var(--white); }
.language-toggle { color: var(--accent); border-color: var(--line); }
.language-toggle:hover { border-color: var(--accent); }
.menu-toggle span { background: var(--ink); }
.mobile-nav { background: var(--paper); color: var(--ink); border-color: var(--line); }
.mobile-nav a,
.mobile-products summary { border-bottom-color: var(--line); }
.mobile-nav [data-header-department]:hover,
.mobile-nav [data-header-department]:focus-visible { background: var(--surface); }
.products-panel { background: var(--paper); color: var(--ink); border-color: var(--line); box-shadow: 0 18px 55px #122e4624; }
.products-department-list,
.desktop-nav .products-preview-items a { border-color: var(--line); }
.desktop-nav .products-department-list a:hover,
.desktop-nav .products-department-list a:focus-visible,
.desktop-nav .products-department-list a.is-previewed,
.desktop-nav .products-preview-items a:hover { background: var(--surface); color: var(--accent); }
.products-list-label,
.products-preview>p { color: var(--muted); }
.department-number,
.desktop-nav .products-preview-link { color: var(--accent); }
.products-preview-image { background: var(--surface); }

/* On the home hero the menu and picture share one uninterrupted surface.
   Scrolling or opening either menu restores the light navigation above. */
body:not(.work-detail-page) .site-header:not(.is-scrolled):not(.has-open-products) {
  background: transparent;
  color: var(--white);
  box-shadow: none;
}
body:not(.work-detail-page) .site-header:not(.is-scrolled):not(.has-open-products) .brand .original-logo {
  filter: brightness(0) invert(1);
}
body:not(.work-detail-page) .site-header:not(.is-scrolled):not(.has-open-products) .desktop-nav a:after,
body:not(.work-detail-page) .site-header:not(.is-scrolled):not(.has-open-products) .menu-toggle span {
  background: var(--white);
}
body:not(.work-detail-page) .site-header:not(.is-scrolled):not(.has-open-products) .language-toggle {
  color: var(--white);
  border-color: #ffffff70;
}
body:not(.work-detail-page) .site-header:not(.is-scrolled):not(.has-open-products) .header-cta {
  background: transparent;
  color: var(--white);
  border-color: #ffffff70;
}
body:not(.work-detail-page) .site-header:not(.is-scrolled):not(.has-open-products) .header-cta:hover {
  background: var(--paper);
  color: var(--accent);
  border-color: var(--paper);
}

/* Deep blue over photographs keeps white overlay copy readable. */
.hero,
.hero-media,
.hero-slide-portrait { background: var(--blue-deep); }
.hero-shade {
  background: linear-gradient(270deg,#122e46c9 0%,#122e469c 35%,#122e4614 80%),
              linear-gradient(0deg,#122e46d9,transparent 40%),
              linear-gradient(180deg,#122e46b3,transparent 27%);
}
[dir=ltr] .hero-shade {
  background: linear-gradient(90deg,#122e46c9 0%,#122e469c 35%,#122e4614 80%),
              linear-gradient(0deg,#122e46d9,transparent 40%),
              linear-gradient(180deg,#122e46b3,transparent 27%);
}
.hero-slide-portrait:after { background: linear-gradient(90deg,transparent 40%,#122e46 67%); }
[dir=ltr] .hero-slide-portrait:after { background: linear-gradient(270deg,transparent 40%,#122e46 67%); }
.hero-copy { color: #e3edf7; }
.hero-project-caption { color: #f2f7fd; }
.hero .text-link:hover { color: var(--green); }
.button-light,
.button-dark { background: var(--accent); color: var(--white); }
.button-light:hover,
.button-dark:hover { background: var(--blue-deep); color: var(--white); }
.hero .button-light { border-color: #dbe7f34d; }

/* Snow-white sections replace the large graphite blocks. */
.expertise,
.work-section,
.robotics-section,
.custom-manufacturing { background: var(--surface); color: var(--ink); }
.work-section .section-heading>p,
.intro-detail p,
.section-heading>p,
.robotics-description,
.custom-manufacturing-grid p:not(.eyebrow) { color: var(--muted); }
.work-section .eyebrow,
.contact-intro h2 span,
.robotics-copy h2 span,
.contact-mark,
.process-number,
.process-mark { color: var(--accent); }
.project-card { color: var(--ink); }
.project-filters { border-color: var(--line); }
.project-filters button { color: var(--muted); }
.project-filters button:hover,
.project-filters button.is-selected { color: var(--accent); border-color: var(--accent); }
.project-id,
.project-gallery-badge { background: #122e46e6; color: #f2f7fd; }
.project-arrow { color: var(--accent); }
.project-client,
.project-count { color: var(--muted); }
.project-image-frame,
.custom-manufacturing-grid>img { background: var(--surface); }
.work-section-card { color: #ffffff; background: var(--blue-deep); }
.work-card-panel { background: transparent; border-color: transparent; }
.work-card-number,
.work-card-bottom { color: #e3edf7; }
.work-card-arrow { background: #dbe7f320; color: #ffffff; }
.work-section-card:hover .work-card-arrow { background: #dbe7f33b; }
#expertise .work-card-panel h3,
#expertise .work-card-arrow { color: var(--ice-blue); }
#expertise .work-card-bottom { color: var(--white); }
.work-card-media { background: var(--surface); }
.work-card-media:after { background: var(--blue-deep); }
.work-section-card:before { background: linear-gradient(180deg,#122e4610 25%,#122e4655 75%,#122e4699); }

/* Product cards, technical tables, departments and quotation fields. */
.catalog-item,
.product-brief,
.industry-grid>a,
.related-grid>a,
.case-links>a,
.case-process-stages li,
.catalog-more-links a { background: var(--white); border-color: var(--line); }
.catalog-cover,
.catalog-cover[data-portrait=true],
.catalog-item-image,
.catalog-item-image[data-portrait=true],
.product-hero-photo,
.product-hero-photo[data-portrait=true],
.product-hero-photo[data-placeholder=true]>img,
.related-grid img,
.gallery-stage,
.resource-gallery .gallery-stage,
.gallery-fallback img,
.project-full-image,
.project-extra-photos img { background: var(--surface); }
.catalog-cover-label,
.catalog-photo-count { background: var(--white); color: var(--accent); }
.catalog-cover-label>span:first-child,
.catalog-heading .eyebrow,
.catalog-breadcrumb a,
.catalog-jumps a,
.catalog-item-actions button,
.product-detail-link,
.technical-table th,
.print-sheet,
.related-grid b,
.story-number,
.case-stage-number,
.section-link-number,
.industry-grid span { color: var(--accent); }
.catalog-breadcrumb,
.catalog-heading p:not(.eyebrow),
.catalog-overview p,
.catalog-products-heading>p,
.catalog-item-copy .eyebrow,
.catalog-item-copy>p:not(.eyebrow),
.catalog-brief p,
.technical-table td,
.configuration-note,
.resource-section-heading p:not(.eyebrow),
.case-links p:not(.eyebrow),
.case-links .eyebrow,
.case-story p,
.case-result>p:not(.eyebrow),
.case-process-stages p,
.category-copy>p:not(.category-lead),
.category-gallery-count,
.project-extra-photos figcaption,
.project-dialog .project-meta { color: var(--muted); }
.catalog-breadcrumb a,
.catalog-jumps a,
.catalog-item-actions button,
.product-detail-link,
.print-sheet,
.technical-table th,
.technical-table td,
.technical-fields,
.catalog-brief li,
.category-items li,
.category-gallery-link { border-color: var(--line); }
.catalog-jumps a:hover,
.catalog-brief,
.custom-badge,
.case-result,
.catalog-more-links a.is-current-section { background: var(--surface); }
.custom-badge,
.technical-fields { color: var(--accent); }
.catalog-more-links a.is-current-section { border-color: var(--accent); }
.gallery-filters button { background: var(--white); color: var(--accent); border-color: var(--line); }
.gallery-filters button[aria-pressed=true] { background: var(--accent); color: var(--white); border-color: var(--accent); }
.gallery-arrow { background: #245c87ef; color: var(--white); }
.gallery-arrow:hover { background: var(--blue-deep); }
.gallery-caption,
.gallery-count { color: var(--muted); }
.gallery-thumbnails { scrollbar-color: var(--accent) transparent; }
.gallery-thumbnail { background: var(--surface); }
.gallery-thumbnail:hover,
.gallery-thumbnail[aria-pressed=true] { border-color: var(--accent); }

/* Case-study photographs keep their approved proportions. */
.build-story-step { color: var(--muted); border-color: var(--line); }
.build-story-step[aria-selected=true] { background: var(--surface); color: var(--ink); border-color: var(--accent); }
.build-story-number,
.build-story-arrow { color: var(--accent); }
.build-story-step-description,
.build-story-current-description,
.build-story-footer { color: var(--muted); }
.build-story-panel { background: var(--surface); }
.build-story-caption,
.build-story-ball-wafer .build-story-caption { background: var(--accent); color: var(--white); border-color: transparent; }
.build-story-caption>span:first-child { color: #dbe7f3; }

/* Forms and dialogs. */
.contact-intro p:not(.eyebrow),
.form-note,
.form-feedback,
.attachment-note,
.dialog-inner>p:not(.eyebrow) { color: var(--muted); }
.project-form input,
.project-form select,
.project-form textarea,
.detail-items li,
.detail-questions li,
.request-recipient,
.copy-button { border-color: var(--line); }
.project-form input::placeholder,
.project-form textarea::placeholder { color: var(--muted); }
.dialog-close:hover,
.dialog-inner pre { background: var(--surface); }
.dialog-inner pre { border-color: var(--accent); }
.detail-questions li:before { color: var(--accent); }

/* Light footer and contact links. */
.site-footer { background: var(--surface); color: var(--ink); }
.footer-top,
.footer-contact { border-color: var(--line); }
.footer-top>p,
.footer-bottom,
.footer-contact-label { color: var(--muted); }
.footer-contact a:hover,
.back-top:hover { color: var(--accent); }

button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible { outline-color: var(--accent); }
.work-section-card:focus-visible { outline-color: var(--accent); }

@media(max-width:800px) {
  .hero-shade { background: linear-gradient(270deg,#122e46dc,#122e4638),linear-gradient(0deg,#122e46d9,transparent 60%),linear-gradient(180deg,#122e46b3,transparent 27%); }
  [dir=ltr] .hero-shade { background: linear-gradient(90deg,#122e46dc,#122e4638),linear-gradient(0deg,#122e46d9,transparent 60%),linear-gradient(180deg,#122e46b3,transparent 27%); }
  .hero-slide-portrait:after { background: linear-gradient(90deg,transparent 48%,#122e46 82%); }
  [dir=ltr] .hero-slide-portrait:after { background: linear-gradient(270deg,transparent 48%,#122e46 82%); }
}
@media(max-width:560px) {
  .hero-slide-portrait:after { background: linear-gradient(90deg,transparent 35%,#122e4699 100%); }
  [dir=ltr] .hero-slide-portrait:after { background: linear-gradient(270deg,transparent 35%,#122e4699 100%); }
}
@media print {
  .site-footer { background: white !important; color: #111 !important; }
  .footer-contact-label,
  .footer-bottom { color: #333; }
}

/* Reserve the red accent for the navigation quotation action only. */
.header-cta,
body:not(.work-detail-page) .site-header:not(.is-scrolled):not(.has-open-products) .header-cta {
  background: var(--button-red);
  border-color: var(--button-red);
  color: var(--white);
  border-radius: 3px;
}
.header-cta:hover,
body:not(.work-detail-page) .site-header:not(.is-scrolled):not(.has-open-products) .header-cta:hover {
  background: var(--button-red-hover);
  border-color: var(--button-red-hover);
  color: var(--white);
}
.header-cta:focus-visible { outline-color: var(--button-red); }
