:root {
  --slabs-ink: #1E2A3A;
  --slabs-ink-soft: #2F4A6D;
  --slabs-blue: #2F4A6D;
  --slabs-blue-bright: #6D8DB5;
  --slabs-violet: #6D8DB5;
  --slabs-paper: #F7F5F1;
  --slabs-line: rgba(71, 105, 164, 0.2);
  --swatch--brand: var(--slabs-blue);
  --swatch--dark: var(--slabs-ink);
  --swatch--light: var(--slabs-paper);
}

html { background: var(--slabs-ink); }
body {
  color: #4B5563;
  background: var(--slabs-paper);
  font-family: "Figtree", "PingFang SC", "Microsoft YaHei", sans-serif;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
}
::selection { color: #fff; background: var(--slabs-blue); }

h1, h2, h3, h4, h5, h6 {
  color: var(--slabs-ink);
  font-weight: 650;
  letter-spacing: -.025em;
}

a, button, input, textarea, select { -webkit-tap-highlight-color: transparent; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible {
  outline: 3px solid rgba(47,74,109, .28);
  outline-offset: 3px;
}

.text-color-teal,
.cc-green,
.heading-style-h1.text-color-teal,
.heading-style-h2.text-color-teal { color: var(--slabs-blue) !important; }

.btn_main_wrap,
.contact-submit,
.career_apply_btn,
.tp-button {
  border-color: var(--slabs-blue) !important;
  background: var(--slabs-blue) !important;
  color: #fff !important;
  box-shadow: 0 10px 30px rgba(47,74,109, 0.18);
}

.btn_main_wrap:hover,
.contact-submit:hover,
.career_apply_btn:hover,
.tp-button:hover {
  border-color: #3D5C83 !important;
  background: #3D5C83 !important;
  transform: translateY(-2px);
}

.mnav-contact,
.mnav-menu a:hover,
.mnav-menu button:hover,
.fsite-footer a:hover { color: var(--slabs-blue-bright) !important; }

.mnav-mega,
.mnav-drawer { background: rgba(5,7,13, 0.98) !important; }

.mnav-contact,
.btn_main_wrap,
.contact-submit,
.career_apply_btn,
.tp-button {
  border-radius: 999px !important;
  font-weight: 650 !important;
  letter-spacing: .01em;
  transition: background-color .22s ease, border-color .22s ease, color .22s ease, transform .22s ease, box-shadow .22s ease;
}

input:not([type="submit"]), textarea, select {
  border-color: rgba(71, 105, 164, .26) !important;
  border-radius: .55rem !important;
  background: rgba(255, 255, 255, .88) !important;
}
input:not([type="submit"]):focus, textarea:focus, select:focus {
  border-color: var(--slabs-blue) !important;
  box-shadow: 0 0 0 3px rgba(47,74,109, .1);
}

.tp-section--paper,
.gradientbackground { background-color: var(--slabs-paper) !important; }

.career_job_item,
.research-card,
.tp-card {
  border-color: var(--slabs-line) !important;
  box-shadow: 0 18px 48px rgba(5,7,13, .06);
}

/* Remove inherited decorative animation surfaces from the former visual system. */
[data-animation-type="lottie"] { display: none !important; }

/* A quieter, product-led section rhythm shared by all pages. */
.g_sec_wrap,
.tp-section,
.research-detail-main { scroll-margin-top: 5rem; }

.g_sec_contain.u-container,
.tp-section__inner,
.research-detail-container { max-width: 1180px; }

@media (max-width: 767px) {
  .g_sec_contain.u-container,
  .tp-section__inner,
  .research-detail-container { padding-left: 1.25rem !important; padding-right: 1.25rem !important; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: 1ms !important; animation-iteration-count: 1 !important; transition-duration: 1ms !important; }
}

/* Navigation: quiet on the surface, spatial and product-led when expanded. */
.mnav {
  border-bottom: 1px solid rgba(71, 105, 164, .13) !important;
  background: rgba(250, 252, 255, .9) !important;
  box-shadow: 0 8px 28px rgba(5,7,13, .045) !important;
  backdrop-filter: blur(18px) saturate(145%);
}
.mnav.dark { background: rgba(5,7,13, .88) !important; border-bottom-color: rgba(255,255,255,.1) !important; }
.mnav-brand { color: var(--slabs-ink) !important; font-weight: 720 !important; letter-spacing: -.03em; }
.mnav-link { color: #24324c !important; font-weight: 590 !important; }
.mnav-link::after { background: linear-gradient(90deg, var(--slabs-blue), var(--slabs-violet)) !important; }
.mnav-link:hover, .mnav-link.is-active { color: var(--slabs-blue) !important; }
.mnav.dark .mnav-brand { color: #fff !important; }
.mnav.dark .mnav-link { color: #dce5f6 !important; }
.mnav.dark .mnav-link:hover,
.mnav.dark .mnav-item.open > .mnav-link,
.mnav.dark .mnav-link.is-active { color: var(--slabs-blue-bright) !important; }
.mnav-panel {
  padding: .7rem !important;
  border: 1px solid rgba(109,141,181,.18) !important;
  border-radius: .8rem !important;
  background: rgba(5,7,13, .975) !important;
  box-shadow: 0 28px 80px rgba(2, 8, 22, .32) !important;
}
.mnav-panel-link, .mnav-group-link {
  border-radius: .5rem !important;
  transition: background-color .2s ease, transform .2s ease !important;
}
.mnav-panel-link:hover, .mnav-group-link:hover {
  background: linear-gradient(105deg, rgba(47,74,109,.18), rgba(109,141,181,.055)) !important;
  transform: translateX(3px);
}
.mnav-menu-label, .mnav-group-title { color: #f3f6ff !important; }
.mnav-panel-link:hover .mnav-menu-label,
.mnav-group-link:hover .mnav-menu-label,
.mnav-group-title:hover { color: #fff !important; }
.mnav-menu-description { color: #9eabc2 !important; line-height: 1.5 !important; }
.mnav-panel-divider { background: rgba(109,141,181,.14) !important; }
.mnav-btn {
  border: 1px solid var(--slabs-ink) !important;
  border-radius: 999px !important;
  color: #fff !important;
  background: var(--slabs-ink) !important;
  box-shadow: none !important;
}
.mnav-btn:hover { border-color: var(--slabs-blue) !important; background: var(--slabs-blue) !important; transform: translateY(-1px); }
.mnav-mobile-toggle span { background: currentColor !important; }
.mnav-drawer { border-left: 1px solid rgba(109,141,181,.18) !important; }
.mnav-drawer-trigger, .mnav-drawer-link { color: #f3f6ff !important; border-bottom-color: rgba(109,141,181,.12) !important; }
.mnav-drawer-sub { background: rgba(109,141,181,.035) !important; }

/* Product pages: one technical palette and a clearer content hierarchy. */
.tp-page {
  --tp-ink: var(--slabs-ink);
  --tp-ink-2: var(--slabs-ink-soft);
  --tp-paper: #FAF8F4;
  --tp-white: #fff;
  --tp-text: #4B5563;
  --tp-muted: #7A8699;
  --tp-line: rgba(71,105,164,.18);
  --tp-mint: var(--slabs-blue);
  --tp-mint-bright: var(--slabs-blue-bright);
  --tp-violet: var(--slabs-violet);
  --tp-blue: var(--slabs-blue-bright);
  background: #FAF8F4 !important;
}
.tp-masthead, .tp-masthead--electronics, .ws-masthead {
  background:
    radial-gradient(circle at 76% 42%, rgba(47,74,109,.3), transparent 31rem),
    radial-gradient(circle at 93% 10%, rgba(109,141,181,.11), transparent 24rem),
    linear-gradient(118deg, #1E2A3A 0%, #1E2A3A 56%, #2F4A6D 100%) !important;
}
.tp-masthead-grid, .ws-masthead-grid {
  opacity: .2 !important;
  background-image: linear-gradient(rgba(109,141,181,.12) 1px, transparent 1px), linear-gradient(90deg, rgba(109,141,181,.12) 1px, transparent 1px) !important;
}
.tp-eyebrow, .tp-kicker, .ws-supporting { color: var(--slabs-blue-bright) !important; }
.tp-lead, .ws-masthead-lead { color: rgba(230,237,255,.74) !important; }
.tp-section { padding-block: clamp(4rem, 6vw, 5.5rem) !important; }
.tp-section--light { background: #F7F5F1 !important; }
.tp-section--paper { background: #FAF8F4 !important; }
.tp-section--ink { background: linear-gradient(135deg, #1E2A3A, #2F4A6D) !important; }
.electronics-capability-grid { gap: 1rem !important; background: transparent !important; }
.electronics-capability-card, .ws-product {
  border: 1px solid rgba(71,105,164,.16) !important;
  border-radius: .8rem !important;
  background: rgba(255,255,255,.9) !important;
  box-shadow: 0 18px 52px rgba(5,7,13,.055) !important;
}
.electronics-capability-card:hover, .ws-product:hover { border-color: rgba(47,74,109,.42) !important; box-shadow: 0 24px 64px rgba(5,7,13,.09) !important; }
.electronics-capability-card > span, .electronics-workflow > div > span, .ws-product-index { color: var(--slabs-blue) !important; }
.ws-diagram-icon { border-color: rgba(47,74,109,.3) !important; background: rgba(47,74,109,.07) !important; }
.ws-diagram-icon svg { stroke: var(--slabs-blue) !important; }

/* About: restrained editorial surface and softer image transitions. */
.masthead_main_wrap.is--xl { background: linear-gradient(120deg, #f8faff 0%, #f3f6fc 58%, #edf2fb 100%) !important; }
.masthead_main_wrap.is--xl .masthead_bck_image::after {
  background: linear-gradient(0deg, #f3f6fc 0%, rgba(243,246,252,.52) 12%, transparent 34%), linear-gradient(90deg, rgba(248,250,255,.72), transparent 50%) !important;
}
.locations_wrap { background: linear-gradient(120deg, #edf2fb 0%, #f8faff 62%, #fff 100%) !important; }
.locations_card { border-radius: .8rem !important; background: rgba(255,255,255,.82) !important; backdrop-filter: blur(14px); }
.locations_card::before { background: linear-gradient(90deg, var(--slabs-blue), var(--slabs-violet)) !important; }

/* Contact: a deliberate split canvas rather than a floating legacy form. */
.tc_form_wrap---masthead { background: #f3f6fc !important; }
.tc_form_wrap---masthead::after { background: linear-gradient(90deg, rgba(243,246,252,.985) 0%, rgba(243,246,252,.94) 46%, rgba(243,246,252,.58) 100%) !important; }
.contact_form_wrap {
  border: 1px solid rgba(71,105,164,.16) !important;
  border-radius: 1rem !important;
  background: rgba(255,255,255,.88) !important;
  box-shadow: 0 30px 80px rgba(5,7,13,.09) !important;
  backdrop-filter: blur(14px);
}
.tc_right_content {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}
.contact_form_wrap.is-main { padding: clamp(1.15rem, 2vw, 1.65rem) !important; }
.contact_form_wrap .form_main_wrap { margin: 0 !important; }
.contact_form_wrap .form_main_list { gap: .85rem !important; }
.contact_form_wrap .form_main_field_wrap { margin: 0 !important; }
.contact_form_wrap .form_main_field_input {
  min-height: 3.15rem !important;
  margin: 0 !important;
  padding: .78rem .95rem !important;
  border: 1px solid rgba(71,105,164,.22) !important;
  border-radius: .5rem !important;
  color: #1d2b45 !important;
  background: rgba(255,255,255,.94) !important;
  box-shadow: none !important;
}
.contact_form_wrap textarea.form_main_field_input { min-height: 8rem !important; resize: vertical; }
.contact_form_wrap .form_main_field_input:hover { border-color: rgba(47,74,109,.4) !important; }
.contact_form_wrap .form_main_field_input:focus {
  border-color: var(--slabs-blue) !important;
  box-shadow: 0 0 0 3px rgba(47,74,109,.1) !important;
  outline: 0 !important;
}
.contact_form_wrap .g-recaptcha:empty { display: none; }
.form_main_list input[type="submit"].btn_main_wrap { border-radius: 999px !important; background: var(--slabs-ink) !important; border-color: var(--slabs-ink) !important; }
.form_main_list input[type="submit"].btn_main_wrap:hover { color: #fff !important; background: var(--slabs-blue) !important; border-color: var(--slabs-blue) !important; }

/* Careers: remove the green cast and make the open roles feel precise. */
.career_job_card { border-radius: .7rem !important; box-shadow: 0 14px 38px rgba(5,7,13,.035); }
.career_job_card:hover { box-shadow: 0 22px 54px rgba(5,7,13,.08) !important; }
.career_job_btn { border-radius: .5rem !important; color: #fff !important; }
.career_job_btn:hover { color: #fff !important; }
.career_resume_section { background: linear-gradient(110deg, #eaf0fc, #F7F5F1) !important; }
.career_resume_email { border-radius: .5rem !important; color: var(--slabs-blue) !important; }
.career_resume_email:hover { color: #fff !important; background: var(--slabs-blue) !important; }

/* Research: publication-focused, with quieter navigation and paper surfaces. */
.blog_maincontent_wrap { background: #FAF8F4 !important; }
.article-header {
  background: radial-gradient(circle at 82% 22%, rgba(47,74,109,.2), transparent 30%), linear-gradient(118deg, #1E2A3A, #2F4A6D 62%, #3D5C83) !important;
}
.article-header::after { border-color: rgba(109,141,181,.14) !important; box-shadow: 0 0 0 5rem rgba(47,74,109,.025), 0 0 0 10rem rgba(47,74,109,.018) !important; }
.sidebar-papers, .blog_content, .related-paper-card, .pdf_wrap {
  border-color: rgba(71,105,164,.16) !important;
  border-radius: .7rem !important;
  box-shadow: 0 18px 52px rgba(5,7,13,.055) !important;
}
.sidebar-paper-item:hover { background: #f3f6ff !important; }
.sidebar-paper-item.active { background: #e8efff !important; }
.sidebar-paper-item.active .sidebar-paper-icon { color: var(--slabs-blue) !important; background: #dfe8ff !important; }
.sidebar-paper-item.active .sidebar-paper-title-text, .blog_content .w-richtext a { color: var(--slabs-blue) !important; }
.article-action-btn--filled { color: #fff !important; background: var(--slabs-blue) !important; border-color: var(--slabs-blue) !important; }
.article-action-btn--filled:hover { color: #fff !important; background: #3D5C83 !important; border-color: #3D5C83 !important; }
.article-action-btn--outline:hover { color: var(--slabs-ink) !important; }
.pdf_pages_wrap { background: #e1e6ef !important; border-radius: .7rem !important; }
.related-paper-card:hover { border-color: var(--slabs-blue) !important; }

@media (max-width: 767px) {
  .mnav { backdrop-filter: blur(14px) saturate(135%); }
  .mnav-drawer { width: min(88vw, 24rem) !important; }
  .tp-section { padding-block: 3rem !important; }
  .tp-masthead, .ws-masthead { padding-top: 5rem !important; }
  .tp-section-heading { margin-bottom: 2rem !important; gap: 1rem !important; }
  .tc_form_wrap---masthead::after { background: rgba(243,246,252,.91) !important; }
  .contact_form_wrap { padding: 1rem !important; border-radius: .75rem !important; box-shadow: 0 18px 48px rgba(5,7,13,.08) !important; }
  .career_job_card, .sidebar-papers, .blog_content, .related-paper-card { border-radius: .6rem !important; }
}

/* ================================================================
   Warm Sand / Blue Ink design system
   Source of truth for color, type, spacing, surfaces and elevation.
   ================================================================ */
:root {
  --sand-brand: #2F4A6D;
  --sand-brand-hover: #3D5C83;
  --sand-brand-soft: #6D8DB5;
  --sand-canvas: #FAF8F4;
  --sand-section: #F7F5F1;
  --sand-card: #FFFFFF;
  --sand-ink: #1E2A3A;
  --sand-text: #4B5563;
  --sand-muted: #7A8699;
  --sand-line: #E6E1D9;
  --sand-success: #6FA58B;
  --sand-warning: #D9B77A;
  --sand-danger: #D9827A;
  --sand-info: #6D8DB5;
  --sand-shadow-sm: 0 8px 24px rgba(30,42,58,.055);
  --sand-shadow-md: 0 16px 40px rgba(30,42,58,.085);
  --sand-shadow-lg: 0 28px 72px rgba(30,42,58,.13);
  --slabs-ink: var(--sand-ink);
  --slabs-ink-soft: var(--sand-brand);
  --slabs-blue: var(--sand-brand);
  --slabs-blue-bright: var(--sand-brand-soft);
  --slabs-violet: var(--sand-brand-soft);
  --slabs-paper: var(--sand-canvas);
  --slabs-line: var(--sand-line);
  --swatch--brand: var(--sand-brand);
  --swatch--dark: var(--sand-ink);
  --swatch--light: var(--sand-section);
  --site-max-width: 75rem;
  --site-gutter: clamp(1.25rem, 5vw, 7.5rem);
  --site-section-space: clamp(4rem, 6vw, 6rem);
  --site-section-space-sm: clamp(3rem, 4.5vw, 4rem);
  --site-display-size: clamp(2.65rem, 4vw, 3rem);
  --site-h1-size: clamp(2.5rem, 4vw, 3rem);
  --site-h2-size: clamp(1.8rem, 2.75vw, 2rem);
  --site-h3-size: clamp(1.35rem, 2vw, 1.5rem);
  --site-eyebrow-size: .75rem;
  --site-body-size: 1rem;
  --site-card-pad: clamp(1.5rem, 2.5vw, 2rem);
  --site-radius: .75rem;
  --site-text: var(--sand-text);
  --site-muted: var(--sand-muted);
  --site-accent: var(--sand-brand);
}

html { background: var(--sand-ink); }
body {
  color: var(--sand-text) !important;
  background: var(--sand-canvas) !important;
  font-family: "Source Han Sans SC", "Noto Sans CJK SC", "PingFang SC", "Microsoft YaHei", sans-serif !important;
  font-size: 16px;
  line-height: 1.75;
}
::selection { color: #fff; background: var(--sand-brand); }
:where(main h1, main h2, main h3, main h4, main h5, main h6) {
  color: var(--sand-ink);
  font-weight: 600 !important;
}
:where(main h1) { font-size: var(--site-h1-size) !important; line-height: 1.2 !important; letter-spacing: -.035em !important; }
:where(main h2) { font-size: var(--site-h2-size) !important; line-height: 1.4 !important; letter-spacing: -.025em !important; }
:where(main h3) { font-size: var(--site-h3-size) !important; line-height: 1.5 !important; letter-spacing: -.018em !important; }
:where(main p, main li) { color: var(--sand-text); font-size: 1rem; font-weight: 400; line-height: 1.75; }
:where(.text-size-small, small, .caption) { color: var(--sand-muted); font-size: .75rem; line-height: 1.6; }

:where(.u-container, .tp-shell, .research-detail-container) { max-width: 75rem !important; }
:where(.g_sec_wrap, .tp-section) { background-color: var(--sand-canvas); }
:where(.tp-section--light, .gradientbackground) { background: var(--sand-section) !important; }
:where(.tp-section--paper, .blog_maincontent_wrap, .tc_form_wrap---masthead) { background: var(--sand-canvas) !important; }
.tp-section { padding-block: var(--site-section-space) !important; }

/* Buttons: 44px height, 8px radius, no colored glow. */
:where(.btn_main_wrap, .contact-submit, .career_apply_btn, .career_job_btn, .tp-button, .article-action-btn--filled) {
  min-height: 2.75rem !important;
  padding: .625rem 1.25rem !important;
  border: 1px solid var(--sand-brand) !important;
  border-radius: .5rem !important;
  color: #fff !important;
  background: var(--sand-brand) !important;
  box-shadow: none !important;
  font-size: .9375rem !important;
  font-weight: 600 !important;
}
:where(.btn_main_wrap, .contact-submit, .career_apply_btn, .career_job_btn, .tp-button, .article-action-btn--filled):hover {
  border-color: var(--sand-brand-hover) !important;
  background: var(--sand-brand-hover) !important;
  box-shadow: var(--sand-shadow-sm) !important;
  transform: translateY(-1px);
}
:where(.btn_main_wrap---secondary, .article-action-btn--outline) {
  min-height: 2.75rem;
  padding: .625rem 1.25rem;
  border: 1px solid var(--sand-brand) !important;
  border-radius: .5rem !important;
  color: var(--sand-brand) !important;
  background: transparent !important;
}
:where(.btn_main_wrap---secondary, .article-action-btn--outline):hover { background: rgba(47,74,109,.065) !important; }
:where(a, button, input, textarea, select):focus-visible { outline-color: rgba(47,74,109,.35) !important; }

/* Navigation and footer. */
.mnav {
  border-bottom-color: rgba(230,225,217,.78) !important;
  background: rgba(250,248,244,.92) !important;
  box-shadow: 0 6px 24px rgba(30,42,58,.045) !important;
}
.mnav.dark { border-bottom-color: rgba(255,255,255,.1) !important; background: rgba(30,42,58,.94) !important; }
.mnav-brand, .mnav-link { color: var(--sand-ink) !important; }
.mnav-link::after { background: var(--sand-brand) !important; }
.mnav-link:hover, .mnav-link.is-active { color: var(--sand-brand-hover) !important; }
.mnav.dark .mnav-link { color: rgba(255,255,255,.82) !important; }
.mnav.dark .mnav-link:hover, .mnav.dark .mnav-item.open > .mnav-link { color: #fff !important; }
.mnav-panel, .mnav-mega, .mnav-drawer {
  border-color: rgba(109,141,181,.25) !important;
  background: rgba(30,42,58,.985) !important;
  box-shadow: var(--sand-shadow-lg) !important;
}
.mnav-panel-link:hover, .mnav-group-link:hover { background: rgba(109,141,181,.13) !important; }
.mnav-panel-divider, .mnav-drawer-trigger, .mnav-drawer-link { border-color: rgba(255,255,255,.1) !important; }
.mnav-btn { border-radius: .5rem !important; color: #fff !important; background: var(--sand-ink) !important; }
.mnav-btn:hover { border-color: var(--sand-brand-hover) !important; background: var(--sand-brand-hover) !important; }
.fsite { color: rgba(255,255,255,.78); background: var(--sand-ink) !important; }
.fsite-footer a:hover { color: #fff !important; }

/* Cards, fields, tags and feedback surfaces. */
:where(.card, .career_job_card, .career_job_item, .research-card, .related-paper-card, .sidebar-papers, .blog_content, .pdf_wrap, .contact_form_wrap, .ws-product, .electronics-capability-card, .processor-card) {
  border-color: var(--sand-line) !important;
  border-radius: .75rem !important;
  background: var(--sand-card) !important;
  box-shadow: var(--sand-shadow-sm) !important;
}
:where(.card, .career_job_card, .career_job_item, .research-card, .related-paper-card, .ws-product, .electronics-capability-card, .processor-card):hover {
  border-color: rgba(47,74,109,.3) !important;
  box-shadow: var(--sand-shadow-md) !important;
}
:where(input:not([type="submit"]), textarea, select, .form_main_field_input) {
  min-height: 2.75rem;
  border: 1px solid var(--sand-line) !important;
  border-radius: .5rem !important;
  color: var(--sand-ink) !important;
  background: #fff !important;
  box-shadow: none !important;
}
:where(input:not([type="submit"]), textarea, select, .form_main_field_input):focus {
  border-color: var(--sand-brand) !important;
  box-shadow: 0 0 0 3px rgba(47,74,109,.1) !important;
}
.text-color-teal, .cc-green, .heading-style-h1.text-color-teal, .heading-style-h2.text-color-teal,
.tp-eyebrow, .tp-kicker, .ws-supporting { color: var(--sand-brand) !important; }

/* Product pages and technical imagery. */
.tp-page {
  --tp-ink: var(--sand-ink);
  --tp-ink-2: var(--sand-brand);
  --tp-paper: var(--sand-canvas);
  --tp-white: #fff;
  --tp-text: var(--sand-text);
  --tp-muted: var(--sand-muted);
  --tp-line: var(--sand-line);
  --tp-mint: var(--sand-brand);
  --tp-mint-bright: var(--sand-brand-soft);
  --tp-violet: var(--sand-brand-soft);
  --tp-blue: var(--sand-brand-soft);
  color: var(--sand-text) !important;
  background: var(--sand-canvas) !important;
}
.tp-masthead, .tp-masthead--electronics, .ws-masthead, .article-header {
  background:
    radial-gradient(circle at 78% 36%, rgba(109,141,181,.3), transparent 31rem),
    linear-gradient(118deg, #1E2A3A 0%, #2F4A6D 58%, #3D5C83 100%) !important;
}
.tp-masthead-grid, .ws-masthead-grid { background-image: linear-gradient(rgba(255,255,255,.07) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.07) 1px, transparent 1px) !important; }
.tp-page .tp-masthead h1, .tp-page .ws-masthead h1, .article-header h1 { color: #fff !important; }
.tp-lead, .ws-masthead-lead { color: rgba(255,255,255,.74) !important; }
.tp-eyebrow, .ws-masthead .ws-supporting { color: #d8e2ef !important; }
.tp-section--ink { background: var(--sand-ink) !important; }
.tp-cta { color: #fff !important; background: var(--sand-brand) !important; }
.tp-cta .tp-kicker { color: rgba(255,255,255,.72) !important; }

/* Processor table: remove the inherited green aura from every chip image. */
.processor-grid { gap: 1px; background: var(--sand-line) !important; }
.processor-card { color: var(--sand-text); }
.processor-card-top { margin-bottom: 2rem; }
.processor-card h3 { color: var(--sand-ink) !important; }
.processor-miniature {
  margin-block: 2rem !important;
  background: radial-gradient(circle at 50% 54%, rgba(109,141,181,.13), transparent 68%) !important;
}
.processor-miniature img {
  filter: drop-shadow(0 18px 22px rgba(30,42,58,.16)) !important;
}
.processor-card:hover .processor-miniature img { filter: drop-shadow(0 22px 28px rgba(30,42,58,.2)) !important; }
.processor-card li { color: var(--sand-text) !important; }
.processor-card li::before { background: var(--sand-brand) !important; }
.processor-status { color: var(--sand-brand) !important; }
.processor-development-note { color: var(--sand-muted) !important; }

/* Home, about, contact, careers and research. */
.gradientbackground,
.g_sec_wrap.gradientbackground { background: linear-gradient(145deg, var(--sand-section), var(--sand-canvas)) !important; }
.home-offerings { background: var(--sand-ink) !important; }
.home-bottom-stage { background: var(--sand-brand) !important; }
.masthead_main_wrap.is--xl { background: linear-gradient(120deg, var(--sand-canvas), var(--sand-section)) !important; }
.masthead_main_wrap.is--xl .masthead_bck_image::after { background: linear-gradient(0deg, var(--sand-canvas), rgba(250,248,244,.48) 18%, transparent 42%), linear-gradient(90deg, rgba(250,248,244,.75), transparent 54%) !important; }
.locations_wrap, .career_resume_section { background: linear-gradient(120deg, var(--sand-section), var(--sand-canvas)) !important; }
.locations_card::before { background: var(--sand-brand) !important; }
.tc_form_wrap---masthead::after { background: linear-gradient(90deg, rgba(250,248,244,.985), rgba(250,248,244,.92) 48%, rgba(250,248,244,.55)) !important; }
.sidebar-paper-item:hover { background: var(--sand-section) !important; }
.sidebar-paper-item.active { background: #EDF1F6 !important; }
.sidebar-paper-item.active .sidebar-paper-icon { color: var(--sand-brand) !important; background: #E5EBF2 !important; }
.sidebar-paper-item.active .sidebar-paper-title-text, .blog_content .w-richtext a { color: var(--sand-brand) !important; }
.pdf_pages_wrap { background: #EEEAE3 !important; }

@media (max-width: 991px) {
  :root { --site-gutter: clamp(1.5rem, 4vw, 3rem); }
}
@media (max-width: 767px) {
  :root {
    --site-gutter: 1.25rem;
    --site-section-space: 3rem;
    --site-section-space-sm: 2.5rem;
    --site-h1-size: clamp(2.15rem, 9.5vw, 2.65rem);
    --site-h2-size: clamp(1.7rem, 7.5vw, 2rem);
    --site-h3-size: clamp(1.3rem, 5.8vw, 1.5rem);
  }
  .tp-section { padding-block: 3rem !important; }
  .contact_form_wrap { border-radius: .75rem !important; }
}

/* Final page refinements — product tables, system masthead, research actions and About. */
.tp--processor .processor-grid {
  overflow: hidden;
  border: 1px solid var(--sand-line);
  border-radius: .75rem;
  background: var(--sand-line) !important;
  box-shadow: var(--sand-shadow-sm);
}
.tp--processor .processor-card {
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.tp--processor .processor-card:hover { box-shadow: none !important; }

.tp--whole-system .ws-masthead-layout {
  grid-template-columns: minmax(0,.95fr) minmax(25rem,1.05fr);
  gap: clamp(3rem,6vw,6rem);
}
.tp--whole-system .ws-masthead-copy {
  grid-column: 1;
  grid-row: 1;
  max-width: 40rem;
}
.tp--whole-system .ws-masthead-visual {
  grid-column: 2;
  grid-row: 1;
  width: 100%;
  margin: 0;
}
.tp--whole-system .ws-masthead-visual img {
  width: 110%;
  margin-left: -5%;
  filter: saturate(.9) drop-shadow(0 28px 34px rgba(30,42,58,.3));
}
.tp--whole-system .ws-flow-step--final {
  border-color: rgba(29,29,31,.09) !important;
  background: rgba(255,255,255,.86) !important;
}

.article-header .article-action-btn--outline {
  color: #fff !important;
  border-color: rgba(255,255,255,.52) !important;
  background: rgba(255,255,255,.06) !important;
}
.article-header .article-action-btn--outline:hover {
  color: var(--sand-ink) !important;
  border-color: #fff !important;
  background: #fff !important;
}

/* About — editorial split masthead and a dedicated office composition. */
.masthead_main_wrap.is--xl {
  height: 30rem !important;
  min-height: 30rem !important;
  max-height: 30rem !important;
  overflow: hidden;
  background: var(--sand-canvas) !important;
}
.masthead_main_wrap.is--xl .masthead_bck_image {
  inset: 0 0 0 auto !important;
  width: 61% !important;
  height: 100% !important;
  opacity: .9 !important;
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.42) 18%, #000 42%), linear-gradient(180deg,#000 0%,#000 72%,transparent 100%) !important;
  -webkit-mask-composite: source-in;
  mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.42) 18%, #000 42%), linear-gradient(180deg,#000 0%,#000 72%,transparent 100%) !important;
  mask-composite: intersect;
}
.masthead_main_wrap.is--xl .masthead_bck_image::after {
  display: block !important;
  background: linear-gradient(90deg, var(--sand-canvas) 0%, rgba(250,248,244,.62) 22%, transparent 52%), linear-gradient(180deg, transparent 58%, var(--sand-canvas) 100%) !important;
}
.masthead_main_wrap.is--xl .masthead_image { object-position: 50% center !important; }
.masthead_main_wrap.is--xl .masthead_main_container---xl { height: 30rem !important; min-height: 30rem !important; max-height: 30rem !important; }
.masthead_main_wrap.is--xl .masthead_content { max-width: 38rem !important; gap: 1.5rem !important; }
.about-masthead-eyebrow {
  margin: 0 !important;
  color: var(--sand-brand) !important;
  font-size: .75rem !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  letter-spacing: .15em;
}
.masthead_main_wrap.is--xl .masthead_title h1 {
  color: var(--sand-ink) !important;
  font-size: clamp(2.7rem,4vw,3rem) !important;
  line-height: 1.2 !important;
  letter-spacing: -.035em !important;
}
.masthead_main_wrap.is--xl .masthead_paragraph { max-width: 36rem !important; }
.masthead_main_wrap.is--xl .masthead_paragraph p {
  color: #566274 !important;
  font-size: 1rem !important;
  font-weight: 400 !important;
  line-height: 1.95 !important;
  letter-spacing: .012em !important;
}

.locations_wrap {
  position: relative;
  min-height: 0 !important;
  padding: var(--site-section-space) 0 !important;
  overflow: hidden;
  background: var(--sand-ink) !important;
  isolation: isolate;
}
.locations_wrap::before,
.locations_wrap::after {
  position: absolute;
  inset: 0;
  content: "";
  pointer-events: none;
}
.locations_wrap::before {
  z-index: -2;
  background: url("/static/images/foundry-0805/about-foundry-offices.jpg") center 48% / cover no-repeat;
  background-image: image-set(
    url("/static/images/foundry-0805/about-foundry-offices.webp") type("image/webp"),
    url("/static/images/foundry-0805/about-foundry-offices.jpg") type("image/jpeg")
  );
  filter: saturate(.7) contrast(.94);
  transform: scale(1.02);
}
.locations_wrap::after {
  z-index: -1;
  background:
    linear-gradient(180deg, rgba(30,42,58,.9) 0%, rgba(30,42,58,.58) 34%, rgba(30,42,58,.76) 100%),
    linear-gradient(90deg, rgba(30,42,58,.68), rgba(30,42,58,.16) 58%, rgba(30,42,58,.45));
}
.loations_contain.u-container { position: relative; z-index: 1; padding-top: 0 !important; padding-bottom: 0 !important; }
.about-offices-heading {
  display: block;
  margin-bottom: clamp(2.5rem,4vw,4rem);
}
.about-offices-heading .locations_eyebrow { grid-column: 1 / -1; }
.about-offices-heading h2 {
  max-width: 17ch;
  margin: 0;
  color: #fff !important;
  font-size: clamp(2rem,3vw,2.6rem) !important;
  line-height: 1.32 !important;
}
.about-offices-heading > p { margin: 0 0 .25rem; color: rgba(255,255,255,.68); line-height: 1.75; }
.about-offices-heading .locations_eyebrow { color: rgba(255,255,255,.64) !important; }
.about-offices-layout {
  position: relative;
  min-height: 17rem;
}
.about-offices-visual {
  display: none;
}
.about-offices-visual::after {
  position: absolute;
  inset: 0;
  content: "";
  background:
    linear-gradient(180deg, rgba(30,42,58,.18) 0%, transparent 34%, rgba(30,42,58,.82) 100%),
    linear-gradient(90deg, rgba(30,42,58,.28) 0%, transparent 36%, rgba(30,42,58,.16) 100%);
  pointer-events: none;
}
.about-offices-visual img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 46%;
  filter: saturate(.72) contrast(.94);
}
.locations_layout.u-grid-column-2.cc-about {
  position: absolute;
  z-index: 1;
  right: 0;
  bottom: 0;
  left: 0;
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 0 !important;
  border-top: 1px solid rgba(255,255,255,.32);
  border-bottom: 1px solid rgba(255,255,255,.2);
}
.locations_card {
  min-height: 0 !important;
  display: grid !important;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  justify-content: initial;
  gap: .2rem 1rem !important;
  padding: 1.45rem clamp(1.25rem,2.4vw,2rem) !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.locations_card + .locations_card { border-top: 1px solid rgba(255,255,255,.18) !important; }
.locations_card:hover { background: transparent !important; box-shadow: none !important; transform: none; }
.locations_card_top { color: rgba(255,255,255,.7) !important; }
.locations_index { font-size: .75rem !important; }
.lc_card_title_wrap p { margin: 0; color: #fff !important; font-size: 1.25rem !important; font-weight: 600 !important; }
.locations_contact {
  display: flex;
  min-width: 12rem;
  align-items: flex-end;
  flex-direction: column;
  gap: .18rem;
}
.locations_contact > span {
  color: rgba(255,255,255,.48);
  font-size: .66rem;
  font-weight: 650;
  line-height: 1.4;
  letter-spacing: .12em;
}
.locations_phone {
  color: rgba(255,255,255,.78) !important;
  font-size: .9rem;
  font-weight: 500;
  letter-spacing: .025em;
  text-decoration: none;
  white-space: nowrap;
}
.locations_phone:hover { color: #fff !important; }
.lc_card_paragraph span { color: rgba(255,255,255,.66); font-size: .8rem; line-height: 1.5; }
.absolute_background_image { display: none !important; }

@media (max-width: 991px) {
  .mnav-drawer { display: flex; flex-direction: column; }
  .mnav-drawer-bottom { margin-top: 1rem; padding-top: .5rem; border-top: 0 !important; }
  .mnav-drawer-bottom .mnav-btn { min-height: 2.8rem; border-radius: .55rem !important; }
  .tp--whole-system .ws-masthead-layout { grid-template-columns: 1fr; }
  .tp--whole-system .ws-masthead-copy { grid-column: 1; grid-row: 1; }
  .tp--whole-system .ws-masthead-visual { grid-column: 1; grid-row: 2; width: min(100%,43rem); margin-inline: auto; }
  .about-offices-heading { display: block; }
  .about-offices-heading h2 { margin-bottom: 1rem; }
  .about-offices-layout { min-height: 15rem; }
}
@media (max-width: 767px) {
  .processor-development-note {
    padding: .8rem 1.5rem 0 !important;
  }
  .tp--processor .processor-grid { border-radius: .6rem; }
  .tp--whole-system .ws-masthead-copy { order: 1; }
  .tp--whole-system .ws-masthead-visual { order: 2; }
  .masthead_main_wrap.is--xl { height: 29rem !important; min-height: 29rem !important; max-height: 29rem !important; }
  .masthead_main_wrap.is--xl .masthead_bck_image {
    inset: 0 !important;
    width: 100% !important;
    opacity: .7 !important;
    -webkit-mask-image: none !important;
    mask-image: none !important;
  }
  .masthead_main_wrap.is--xl .masthead_bck_image::after {
    background: linear-gradient(90deg, rgba(250,248,244,.94), rgba(250,248,244,.72) 58%, rgba(250,248,244,.22)), linear-gradient(180deg, rgba(250,248,244,.18), transparent 55%, var(--sand-canvas)) !important;
  }
  .masthead_main_wrap.is--xl .masthead_main_container---xl { height: 29rem !important; min-height: 29rem !important; max-height: 29rem !important; padding-top: 4.5rem !important; padding-bottom: 2.25rem !important; }
  .masthead_main_wrap.is--xl .masthead_content { max-width: 29rem !important; }
  .masthead_main_wrap.is--xl .masthead_title h1 { font-size: clamp(2.2rem,10vw,2.65rem) !important; }
  .masthead_main_wrap.is--xl .masthead_paragraph p { font-size: .92rem !important; line-height: 1.85 !important; letter-spacing: .01em !important; }
  .locations_wrap { padding: 3rem 0 !important; }
  .about-offices-heading { margin-bottom: 2rem; }
  .about-offices-heading h2 { font-size: 1.85rem !important; }
  .about-offices-heading > p { font-size: .94rem; }
  .locations_wrap::before { background-position: 38% center; }
  .locations_wrap::after { background: linear-gradient(180deg, rgba(30,42,58,.9), rgba(30,42,58,.66) 38%, rgba(30,42,58,.88)); }
  .about-offices-layout { min-height: 17rem; }
  .locations_layout.u-grid-column-2.cc-about {
    right: 0;
    bottom: 0;
    left: 0;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
  }
  .locations_card { padding: 1.05rem 1.1rem !important; }
  .locations_card + .locations_card { border-top: 1px solid rgba(255,255,255,.18) !important; border-left: 0 !important; padding-left: 1.1rem !important; }
  .lc_card_title_wrap p { font-size: 1.12rem !important; }
  .locations_card { grid-template-columns: auto 1fr; }
  .locations_contact { grid-column: 2; min-width: 0; align-items: flex-start; margin-top: .35rem; }
  .locations_phone { font-size: .82rem; }
}

/* Adaptive mastheads — let copy length and artwork proportions share the canvas. */
@media (min-width: 992px) {
  html[lang="en"] .tp-page .tp-masthead-copy,
  html[lang="en"] .tp-page .ws-masthead-copy {
    width: 100%;
    max-width: none;
  }
  html[lang="en"] .tp-page .tp-masthead-copy h1,
  html[lang="en"] .tp-page .ws-masthead-copy h1 {
    width: 100%;
    max-width: none;
    text-wrap: pretty;
  }
  html[lang="en"] .tp--foundry .tp-masthead-layout,
  html[lang="en"] .tp--sfq .tp-masthead-layout {
    grid-template-columns: minmax(0, 1.42fr) minmax(20rem, .58fr);
    gap: clamp(2rem, 3vw, 3.25rem);
  }
  html[lang="en"] .tp--foundry .tp-masthead-visual,
  html[lang="en"] .tp--sfq .tp-masthead-visual {
    width: 112%;
    max-width: none;
    margin-left: -4%;
  }
  html[lang="en"] .tp--electronics .tp-masthead-layout {
    grid-template-columns: minmax(0, 1.28fr) minmax(22rem, .72fr);
    gap: clamp(2.25rem, 3.5vw, 4rem);
  }
  html[lang="en"] .tp--whole-system .ws-masthead-layout {
    grid-template-columns: minmax(0, 1.18fr) minmax(23rem, .82fr);
    gap: clamp(2.5rem, 4vw, 4.5rem);
  }
  html[lang="en"] .masthead_main_wrap.is--xl .masthead_content {
    max-width: 46rem !important;
  }
  html[lang="en"] .masthead_main_wrap.is--xl .masthead_title h1,
  html[lang="en"] .career_page_heading h2,
  html[lang="en"] .tc_sticky_wrap :is(h1, h2) {
    width: 100%;
    max-width: none;
    text-wrap: pretty;
  }
  html[lang="en"] .masthead_main_wrap.is--xl .masthead_paragraph {
    max-width: 42rem !important;
  }
  html[lang="en"] .career_page_heading {
    max-width: 58rem;
  }
  html[lang="en"] .tp--sfq #sfq-stack .tp-section-heading h2 {
    width: 100%;
    max-width: 34ch;
    text-wrap: pretty;
  }
  html[lang="en"] .tp--sfq .sfq-application-intro .tp-section-heading {
    width: 58%;
  }
  html[lang="en"] .tp--sfq .sfq-application-intro .tp-section-heading h2 {
    width: 100%;
    max-width: 24ch;
    text-wrap: pretty;
  }
  html[lang="en"] .tp--sfq .sfq-process-banner--wafer {
    width: 56%;
  }
  html[lang="en"] .tp--sfq .tp-cta-inner > div {
    flex: 1 1 auto;
    min-width: 0;
  }
  html[lang="en"] .tp--sfq .tp-cta h2 {
    width: 100%;
    max-width: 48rem;
    text-wrap: pretty;
  }
}

@media (min-width: 768px) and (max-width: 991px) {
  .tp-page .tp-masthead-copy,
  .tp-page .ws-masthead-copy {
    width: 100%;
    max-width: none;
  }
  .tp-page .tp-masthead-copy h1,
  .tp-page .ws-masthead-copy h1 {
    width: 100%;
    max-width: min(100%, 24ch);
    text-wrap: pretty;
  }
  .tp-page .tp-masthead-visual,
  .tp--whole-system .ws-masthead-visual {
    width: min(100%, 46rem);
  }
  .career_page_heading,
  .masthead_main_wrap.is--xl .masthead_content {
    width: 100%;
    max-width: 46rem !important;
  }
  html[lang="en"] .tp--sfq :is(.tp-section-heading h2, .tp-cta h2) {
    max-width: 100%;
    text-wrap: pretty;
  }
}

@media (max-width: 767px) {
  .tp-page .tp-masthead-copy h1,
  .tp-page .ws-masthead-copy h1,
  .masthead_main_wrap.is--xl .masthead_title h1,
  .career_page_heading h2,
  .tc_sticky_wrap :is(h1, h2) {
    width: 100%;
    max-width: 100%;
    text-wrap: pretty;
  }
  html[lang="en"] .tp--sfq :is(.tp-section-heading h2, .tp-cta h2) {
    max-width: 100%;
    text-wrap: pretty;
  }
}
