/* Extracted from index.html.tpl */

/* === CSS Block 1 === */
.anti-flicker, .anti-flicker * {
visibility: hidden !important;
opacity: 0 !important;
}

/* === 2026 independent homepage direction === */
.masthead_main_wrap---main._90 {
  min-height: clamp(42rem, 82vh, 58rem);
  background:
    radial-gradient(circle at 78% 35%, rgba(47,74,109,.3), transparent 28%),
    radial-gradient(circle at 91% 12%, rgba(109,141,181,.16), transparent 24%),
    linear-gradient(118deg, #1E2A3A 0%, #1E2A3A 54%, #2F4A6D 100%);
}

.masthead_main_container { position: relative; overflow: hidden; }
.new_home-slider { background: transparent !important; }
.new_home-slider .slider-base { background: transparent; }
.new_home-slider .masthead_slide_contain { position: relative; z-index: 3; }
.new_home-slider .heading-style-h1.text-color-teal {
  width: fit-content;
  max-width: min(100%, 12ch);
  color: #f7f9ff !important;
  font-size: clamp(3rem, 5.8vw, 6.2rem);
  line-height: .98;
  letter-spacing: -.055em;
  text-wrap: balance;
}
html[lang="en"] .new_home-slider .slider_content_wrap.u-column-7 {
  width: min(78%, 72rem);
  max-width: 72rem;
}
html[lang="en"] .new_home-slider .slide_title_wrap,
html[lang="en"] .new_home-slider .slide_title_wrap > div {
  width: 100%;
  max-width: none;
}
html[lang="en"] .new_home-slider .heading-style-h1.text-color-teal {
  width: 100%;
  max-width: none;
}
.new_home-slider .text-size-large { color: rgba(230, 237, 255, .76) !important; line-height: 1.75; }
.new_home-slider .btn_main_wrap {
  border: 1px solid rgba(255,255,255,.22) !important;
  background: rgba(255,255,255,.08) !important;
  box-shadow: none;
  backdrop-filter: blur(12px);
}
.new_home-slider .btn_main_wrap:hover { border-color: #6D8DB5 !important; background: #2F4A6D !important; }

.home-signal-field { position: absolute; inset: 0; overflow: hidden; pointer-events: none; }
.home-signal-field__grid {
  position: absolute; width: 58rem; height: 58rem; right: -11rem; top: -8rem;
  opacity: .18; transform: perspective(900px) rotateX(62deg) rotateZ(-22deg);
  background-image: linear-gradient(rgba(109,141,181,.28) 1px, transparent 1px), linear-gradient(90deg, rgba(109,141,181,.28) 1px, transparent 1px);
  background-size: 42px 42px;
  mask-image: radial-gradient(circle, #000 22%, transparent 72%);
  animation: slabs-grid-drift 16s ease-in-out infinite alternate;
}
.home-signal-field__orbit { position: absolute; border: 1px solid rgba(109,141,181,.24); border-radius: 50%; }
.home-signal-field__orbit--one { width: 34rem; height: 34rem; right: 3%; top: 13%; animation: slabs-orbit 18s linear infinite; }
.home-signal-field__orbit--two { width: 22rem; height: 22rem; right: 10%; top: 24%; border-style: dashed; animation: slabs-orbit 13s linear infinite reverse; }
.home-signal-field__pulse { position: absolute; width: 8px; height: 8px; right: 21%; top: 32%; border-radius: 50%; background: #6D8DB5; box-shadow: 0 0 0 12px rgba(109,141,181,.12), 0 0 34px #6D8DB5; animation: slabs-pulse 2.8s ease-in-out infinite; }
@keyframes slabs-grid-drift { to { transform: perspective(900px) rotateX(62deg) rotateZ(-18deg) translate3d(-24px, 18px, 0); } }
@keyframes slabs-orbit { to { transform: rotate(360deg); } }
@keyframes slabs-pulse { 50% { transform: scale(1.45); opacity: .58; } }

.home_slider-nav { justify-content: center !important; left: 50% !important; right: auto !important; width: max-content !important; bottom: 2.5rem !important; transform: translateX(-50%); }
.w-slider-nav .w-slider-dot { width: 1.75rem !important; height: 3px !important; border-radius: 0 !important; background: rgba(255,255,255,.28) !important; }
.w-slider-nav .w-slider-dot.w-active { width: 4.5rem !important; height: 3px !important; background: #6D8DB5 !important; }

.gradientbackground { position: relative; background: #F7F5F1 !important; overflow: hidden; }
.gradientbackground::before {
  content: ""; position: absolute; inset: 0 auto 0 0; width: 7px;
  background: linear-gradient(#2F4A6D, #6D8DB5 60%, #6D8DB5);
}
.gradientbackground .g_sec_contain { align-items: stretch; padding-top: clamp(4rem, 7vw, 7rem) !important; padding-bottom: clamp(4rem, 7vw, 7rem) !important; }
.gradientbackground .header_title_wrap { display: grid; grid-template-columns: minmax(10rem, .55fr) 1.45fr; gap: 3rem; align-items: start; }
.gradientbackground .text-size-xlarge { color: #2F4A6D; font-size: .82rem; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.gradientbackground .heading-style-h2.text-color-teal.is-home { color: #1E2A3A !important; max-width: 22ch; margin: 0; font-size: clamp(2.15rem, 4vw, 4.2rem); line-height: 1.1; letter-spacing: -.045em; }
.gradientbackground .card_layout { gap: 1px; background: rgba(71,105,164,.2); border: 1px solid rgba(71,105,164,.2); }
.gradientbackground .card { min-height: 17rem; padding: 2.25rem; border-radius: 0; background: rgba(255,255,255,.82) !important; align-items: flex-start; text-align: left; }
.gradientbackground .card_icon-text-wrap,
.gradientbackground .text_container { align-items: flex-start; text-align: left; }
.gradientbackground .icon_container { width: 3.4rem; height: 3.4rem; padding: .75rem; border-radius: 1rem; background: #e9efff; }
.gradientbackground .u-rich-text.u-text-centered { text-align: left !important; color: #586780; line-height: 1.75; }

.home-offerings { background: #1E2A3A !important; }
.home-offerings__glow { background: radial-gradient(circle, rgba(47,74,109,.2), transparent 68%) !important; }
.home-offerings__eyebrow,
.home-offering__meta { color: #6D8DB5 !important; }
.home-offerings__heading h2 { color: #f7f9ff; letter-spacing: -.045em; }
.home-offerings__heading > p { color: rgba(230,237,255,.66); }
.home-offering { border-color: rgba(109,141,181,.19) !important; background: rgba(255,255,255,.035) !important; box-shadow: none !important; }
.home-offering:hover { border-color: rgba(109,141,181,.52) !important; background: rgba(255,255,255,.065) !important; transform: translateY(-5px); }
.home-offering h3 { color: #f7f9ff !important; }
.home-offering p { color: rgba(230,237,255,.64) !important; }
.home-offering__link { color: #6D8DB5 !important; }

.home-pathways { position: relative; padding: clamp(4rem, 7vw, 7rem) 0; color: #fff; background: linear-gradient(145deg, #1E2A3A, #0c1220 58%, #111b32); overflow: hidden; }
.home-pathways::before { content: ""; position: absolute; width: 34rem; height: 34rem; right: -10rem; top: -18rem; border: 1px solid rgba(109,141,181,.22); border-radius: 50%; box-shadow: 0 0 0 5rem rgba(47,74,109,.035), 0 0 0 10rem rgba(47,74,109,.025); }
.home-pathways__inner { display: grid; grid-template-columns: .7fr 1.3fr; gap: clamp(3rem, 8vw, 8rem); position: relative; z-index: 1; }
.home-pathways__intro span { color: #6D8DB5; font-size: .78rem; font-weight: 800; letter-spacing: .2em; }
.home-pathways__intro h2 { max-width: 11ch; margin: 1.25rem 0 0; color: #fff; font-size: clamp(2.3rem, 4.5vw, 4.6rem); line-height: 1.06; letter-spacing: -.05em; }
html[lang="en"] .home-pathways__inner { grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr); gap: clamp(2.5rem, 4vw, 4rem); }
html[lang="en"] .home-pathways__intro { min-width: 0; }
html[lang="en"] .home-pathways__intro h2 { width: 100%; max-width: 100%; text-wrap: pretty; }
.home-pathways__list { border-top: 1px solid rgba(255,255,255,.16); }
.home-pathway { display: grid; grid-template-columns: 3.5rem 1fr auto; gap: 1.5rem; align-items: start; padding: 2.25rem 0; border-bottom: 1px solid rgba(255,255,255,.16); }
.home-pathway__index { color: #6D8DB5; font: 700 .8rem/1.4 Rajdhani, sans-serif; letter-spacing: .12em; }
.home-pathway h3 { margin: 0 0 .7rem; color: #fff; font-size: clamp(1.5rem, 2.4vw, 2.35rem); line-height: 1.15; }
.home-pathway p { max-width: 42rem; margin: 0; color: rgba(230,237,255,.62); font-size: 1rem; line-height: 1.75; }
.home-pathway__link { align-self: center; display: inline-flex; gap: .75rem; align-items: center; padding: .8rem 1.15rem; color: #fff; background: #2F4A6D; border-radius: 999px; font-size: .9rem; font-weight: 700; text-decoration: none; white-space: nowrap; transition: transform .2s, background .2s, box-shadow .2s; }
.home-pathway__link:hover { color: #fff; background: #3D5C83; box-shadow: 0 12px 30px rgba(47,74,109,.28); transform: translateX(4px); }

@media (max-width: 767px) {
  .masthead_main_wrap---main._90 { min-height: 39rem; }
  .home-signal-field__grid { right: -28rem; opacity: .12; }
  .home-signal-field__orbit { display: none; }
  .new_home-slider .heading-style-h1.text-color-teal { max-width: 13ch; font-size: clamp(2.5rem, 12vw, 4rem); }
  html[lang="en"] .new_home-slider .slider_content_wrap.u-column-7 { width: 100%; max-width: 100%; }
  html[lang="en"] .new_home-slider .heading-style-h1.text-color-teal {
    max-width: 100%;
  }
  .home_slider-nav { left: 50% !important; bottom: 1.3rem !important; transform: translateX(-50%); }
  .gradientbackground .header_title_wrap { grid-template-columns: 1fr; gap: 1rem; }
  .gradientbackground .card_layout { grid-template-columns: 1fr; }
  .gradientbackground .card { min-height: 0; padding: 1.5rem; }
  .home-pathways__inner { grid-template-columns: 1fr; gap: 2.5rem; padding-inline: 1.25rem; }
  html[lang="en"] .home-pathways__inner { grid-template-columns: minmax(0, 1fr); gap: 2.5rem; }
  .home-pathways__intro h2 { max-width: 13ch; }
  html[lang="en"] .home-pathways__intro h2 { max-width: 100%; }
  html[lang="en"] .home-pathways__list,
  html[lang="en"] .home-pathway,
  html[lang="en"] .home-pathway__content { min-width: 0; width: 100%; }
  .home-pathway { grid-template-columns: 2.4rem 1fr; gap: 1rem; }
  .home-pathway__link { grid-column: 2; justify-self: start; margin-top: .25rem; }
}

/* === CSS Block 2 === */
[data-wf-hidden-variation], [data-wf-hidden-variation] * {
display: none !important;
}

/* === CSS Block 3 === */
.standard-tab {
-webkit-touch-callout: none;
/* iOS Safari */
-webkit-user-select: none;
/* Safari */
-khtml-user-select: none;
/* Konqueror HTML */
-moz-user-select: none;
/* Firefox */
-ms-user-select: none;
/* Internet Explorer/Edge */
user-select: none;
/* Non-prefixed version, currently supported by Chrome and Opera */
}

/* === CSS Block 4 === */
/* variables */
:root {
/* grid */
--column-count: 12;
--grid-main: repeat(var(--column-count), minmax(0, 1fr));
--grid-1: repeat(1, minmax(0, 1fr));
--grid-2: repeat(2, minmax(0, 1fr));
--grid-3: repeat(3, minmax(0, 1fr));
--grid-4: repeat(4, minmax(0, 1fr));
--grid-5: repeat(5, minmax(0, 1fr));
--grid-6: repeat(6, minmax(0, 1fr));
--grid-7: repeat(7, minmax(0, 1fr));
--grid-8: repeat(8, minmax(0, 1fr));
--grid-9: repeat(9, minmax(0, 1fr));
--grid-10: repeat(10, minmax(0, 1fr));
--grid-11: repeat(11, minmax(0, 1fr));
--grid-12: repeat(12, minmax(0, 1fr));
--grid-gap-total: calc(var(--grid-gap--main) * (var(--column-count) - 1));
--column-width: calc((100% - var(--grid-gap-total)) / var(--column-count) + var(--grid-gap--main));
--breakout-gutter: minmax(calc(var(--padding-horizontal--main) - var(--grid-gap--main)), 1fr);
--breakout-remaining: calc(var(--max-width--main) - (var(--padding-horizontal--main) * 2));
--breakout-start: [full-start] var(--breakout-gutter) [content-start];
--breakout-end: [content-end] var(--breakout-gutter) [full-end];
--grid-breakout-single: var(--breakout-start) minmax(0, var(--breakout-remaining)) var(--breakout-end);
--grid-breakout: var(--breakout-start) repeat(var(--column-count), minmax(0, calc((var(--breakout-remaining) - var(--grid-gap-total)) / var(--column-count)))) var(--breakout-end);
/* others */
--font-weight--inherit: inherit;
--font-weight--100: 100;
--font-weight--200: 200;
--font-weight--300: 300;
--font-weight--400: 400;
--font-weight--500: 500;
--font-weight--600: 600;
--font-weight--700: 700;
--font-weight--800: 800;
--font-weight--900: 900;
--text-transform--none: none;
--text-transform--uppercase: uppercase;
--text-transform--capitalize: capitalize;
--text-transform--lowercase: lowercase;
--text-transform--inherit: inherit;
--max-width--none: none;
}

/* default styles */
body {
font-weight: var(--text-main--font-weight);
text-transform: var(--text-main--text-transform);
font-smoothing: antialiased;
-webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6, blockquote {
font-size: inherit;
line-height: inherit;
font-weight: inherit;
}

h1, h2, h3, h4, h5, h6, p, label, blockquote {
margin-top: 0;
margin-bottom: 0;
}

button {
background-color: unset;
padding: unset;
text-align: inherit;
cursor: pointer;
}

img::selection {
background: transparent;
}

:is(h1, h2, h3, h4, h5, h6, p) a {
text-decoration: underline;
}

.u-rich-text > *:first-child {
margin-top: 0;
}

.u-rich-text > *:last-child {
margin-bottom: 0;
}

video {
width: 100%;
object-fit: cover;
}

video.wf-empty {
padding: 0;
}

svg {
display: block;
}

section, header, footer {
position: relative;
}

/* line clamp */
.u-line-clamp-1, .u-line-clamp-2, .u-line-clamp-3, .u-line-clamp-4 {
display: -webkit-box;
overflow: hidden;
-webkit-line-clamp: 1;
-webkit-box-orient: vertical;
}

.u-line-clamp-2 {
-webkit-line-clamp: 2;
}

.u-line-clamp-3 {
-webkit-line-clamp: 3;
}

.u-line-clamp-4 {
-webkit-line-clamp: 4;
}

/* component attributes */
/* section padding */
[data-padding-top="none"] {
padding-top: var(--padding-vertical--none);
}

[data-padding-bottom="none"] {
padding-bottom: var(--padding-vertical--none);
}

[data-padding-top="small"] {
padding-top: var(--padding-vertical--small);
}

[data-padding-bottom="small"] {
padding-bottom: var(--padding-vertical--small);
}

[data-padding-top="main"] {
padding-top: var(--padding-vertical--main);
}

[data-padding-bottom="main"] {
padding-bottom: var(--padding-vertical--main);
}

[data-padding-top="large"] {
padding-top: var(--padding-vertical--large);
}

[data-padding-bottom="large"] {
padding-bottom: var(--padding-vertical--large);
}

/* hide section if it has no cms items */
[data-cms-check="true"]:not(:has(.w-dyn-item)) {
display: none;
}

/* === CSS Block 5 === */
/* theme light */
:root, [data-theme="light"], [data-theme="dark"] [data-theme="invert"] {
--theme--background: var(--swatch--light);
--theme--text: var(--swatch--dark);
--theme--border: var(--swatch--light-secondary);
/* button primary */
--button--background: var(--swatch--dark);
--button--text: var(--swatch--light);
--button--border: var(--swatch--dark);
--button--background-hover: var(--swatch--brand);
--button--text-hover: var(--swatch--dark);
--button--border-hover: var(--swatch--brand);
/* button secondary */
--button-secondary--background: var(--swatch--light);
--button-secondary--text: var(--swatch--dark);
--button-secondary--border: var(--swatch--light-secondary);
--button-secondary--background-hover: var(--swatch--brand);
--button-secondary--text-hover: var(--swatch--dark);
--button-secondary--border-hover: var(--swatch--dark);
}

/* theme dark */
[data-theme="dark"], [data-theme="invert"], [data-theme="light"] [data-theme="invert"] {
--theme--background: var(--swatch--brand);
--theme--text: var(--swatch--dark);
--theme--border: var(--swatch--dark-secondary);
/* button primary */
--button--background: var(--swatch--brand);
--button--text: var(--swatch--brand-text);
--button--border: var(--swatch--brand);
--button--background-hover: var(--swatch--light);
--button--text-hover: var(--swatch--dark);
--button--border-hover: var(--swatch--light);
/* button secondary */
--button-secondary--background: var(--swatch--dark);
--button-secondary--text: var(--swatch--light);
--button-secondary--border: var(--swatch--dark-secondary);
--button-secondary--background-hover: var(--swatch--light);
--button-secondary--text-hover: var(--swatch--brand-text);
--button-secondary--border-hover: var(--swatch--brand);
}

/* button secondary */
[data-button-style="secondary"] {
--button--background: var(--button-secondary--background);
--button--text: var(--swatch-light);
--button--border: var(--button-secondary--border);
--button--background-hover: var(--button-secondary--background-hover);
--button--text-hover: var(--button-secondary--text-hover);
--button--border-hover: var(--button-secondary--border-hover);
}

/* apply colors */
:is(c, :where([data-theme]:not([data-theme="inherit"]))) {
background-color: var(--theme--background);
color: var(--theme--text);
}

/* === CSS Block 6 === */
/* desktop */
:root {
/* custom */
}

/* tablet */
@media screen and (max-width: 991px) {
:root {
/* custom */ /*--padding-horizontal--main: 2rem;*/ /* adaptive sizes */ /*--size--2rem: 1.75rem;*/ /*--size--2-5rem: 2.18rem;*/ /*--size--3rem: 2.52rem;*/ /*--size--3-5rem: 2.73rem;*/ /*--size--4rem: 3rem;*/ /*--size--4-5rem: 3.375rem;*/ /*--size--5rem: 3.75rem;*/ /*--size--5-5rem: 4.125rem;*/ /*--size--6rem: 4.5rem;*/ /*--size--6-5rem: 4.875rem;*/ /*--size--7rem: 5.25rem;*/ /*--size--7-5rem: 5.625rem;*/ /*--size--8rem: 6rem;*/ /*--size--8-5rem: 6.375rem;*/ /*--size--9rem: 6.75rem;*/ /*--size--9-5rem: 7.125rem;*/ /*--size--10rem: 7.5rem;*/ /*--size--11rem: 8.25rem;*/ /*--size--12rem: 9rem;*/ /*--size--13rem: 9.75rem;*/ /*--size--14rem: 10.5rem;*/ /*--size--15rem: 11.25rem;*/ /*--size--16rem: 12rem;*/
}
}

/* landscape */
@media screen and (max-width: 767px) {
:root {
/* custom */ /*--padding-horizontal--main: 1rem;*/ /* adaptive sizes */ /*--size--2-5rem: 2rem;*/ /*--size--3rem: 2.25rem;*/ /*--size--3-5rem: 2.375rem;*/ /*--size--4rem: 2.5rem;*/ /*--size--4-5rem: 2.75rem;*/ /*--size--5rem: 3rem;*/ /*--size--5-5rem: 3.25rem;*/ /*--size--6rem: 3.5rem;*/ /*--size--6-5rem: 3.75rem;*/ /*--size--7rem: 4rem;*/ /*--size--7-5rem: 4.25rem;*/ /*--size--8rem: 4.5rem;*/ /*--size--8-5rem: 4.75rem;*/ /*--size--9rem: 5rem;*/ /*--size--9-5rem: 5.25rem;*/ /*--size--10rem: 5.5rem;*/ /*--size--11rem: 5.75rem;*/ /*--size--12rem: 6rem;*/ /*--size--13rem: 6.5rem;*/ /*--size--14rem: 7rem;*/ /*--size--15rem: 7.5rem;*/ /*--size--16rem: 8rem;*/
}
}

/* portrait */
@media screen and (max-width: 479px) {
:root {
/* custom */
}
}

/* === CSS Block 7 === */
select {
appearance: none !important;
-webkit-appearance: none !important;
-moz-appearance: none !important;
}

/* headings */
h1 {
font-size: 2.625rem;
line-height: 2.875rem;
}

h1 > strong {
font-size: 3.5rem;
line-height: 3.8125rem;
display: block;
}

h2 {
font-size: 2rem;
line-height: 2.5rem
}

h2 > strong {
font-size: 3rem;
line-height: 3.25rem;
display: block;
}

h3 > strong {
font-size: 3rem;
}

h1 > strong, h2 > strong, h3 > strong, h5 > strong {
font-weight: 800;
color: #3D5C83;
}

[data-theme="dark"] h1 > strong, [data-theme="dark"] h2 > strong, [data-theme="dark"] h3 > strong {
color: #ffffff;
}

/* Blog Rich Text */
.blog_content .w-richtext p {
margin-top: 1em;
margin-bottom: 1em;
}

.blog_content .w-richtext h3 {
font-size: 1.625rem;
color: #2b2b2b;
font-weight: 800
}

.blog_content .w-richtext a, .w-rich-text a {
text-decoration: underline;
font-weight: 800;
}

.blog_content .w-richtext a:hover {
background-color: 6AD3BE;
}

.tabs_link_wrap.u-hflex-between-center {
overflow-x: scroll;
}

.l_tabs_link_wrap.u-hflex-between-center {
overflow-x: scroll;
}

.cms_tabs_list {
overflow-x: scroll;
display: flex;
align-items: stretch;
}

.disable-scrollbars::-webkit-scrollbar {
background: transparent;
/* Chrome/Safari/Webkit */
width: 0px;
}

.disable-scrollbars {
scrollbar-width: none;
/* Firefox */
-ms-overflow-style: none;
/* IE 10+ */
}

.w-richtext a:hover {
color: #2F4A6D;
}

.w-richtext a {
font-weight: 800;
}

.u-rich-text---iconcard.u-text-centered a:hover {
color: #ffffff;
}

/* about modal */
.w-dyn-item {
z-index: 1;
}

.w-dyn-item.active {
z-index: 2;
}

.about_bio_modal_wrap {
overflow-y: scroll;
}

/* Publictions comma 
.cms_publications_item:after {
content: ", ";
white-space: pre;
}

.cms_publications_item:last-child:after {
content: " ";
white-space: pre;
}
*/
@media screen and (max-width: 991px) {
h1 {
font-size: 2rem;
line-height: 2.5rem;
}

h1 > strong {
font-size: 2.625rem;
line-height: 2.875rem;
display: block;
}

h2 {
font-size: 1.375rem;
line-height: normal;
}

h2 > strong {
font-size: 2rem;
line-height: normal;
display: block;
}

h3 > strong {
font-size: 1.875rem;
line-height: normal;
display: block;
}

/* .g_heading_rich strong {

font-size: 1.875rem;
} */
}

/* tabs */
.cms_tabs_item:lang(en) {
opacity: .25;
transition: opacity 260ms ease, color 260ms ease;
}

.cms_tabs_item:lang(en):hover {
opacity: 1;
color: #2F4A6D;
}

.cms_tabs_item:lang(en).cc-selected {
opacity: 1;
}

.cms_tabs_item .tabs_layout {
display: flex;
align-items: center;
gap: 0.5rem;
min-height: 2.5rem;
}

.cms_tabs_item .testimional_logo {
max-height: 2rem;
width: auto;
flex-shrink: 0;
}

/* two columns section */
@media screen and (max-width: 991px) {
.tct_sec_wrap .u-rich-text {
font-size: 1rem;
line-height: 1.5rem;
}

.standard-tab.w--current > .tab_mobile_icon {
height: 12px;
width: 12px;
}
}

/* === CSS Block 8 === */
.sales_card:hover .btn_main_wrap {
background-color: white;
/* Changes the button background to white when the card is hovered */
}

.sales_card:hover .btn_main_text {
color: #2b2b2b;
/* Changes the button text color to #2b2b2b when the card is hovered */
}

.sales_card:hover .btn_main_wrap:hover {
background-color: #2F4A6D;
/* Changes the button background to #2F4A6D when button itself is hovered */
}

/* === CSS Block 9 === */
/* Dot wrapper */
.w-slider-nav {
display: flex !important;
justify-content: center !important;
align-items: center !important;
gap: 0.75rem !important;
}

/* Inactive dots */
.w-slider-nav .w-slider-dot {
width: 0.625rem !important;
height: 0.625rem !important;
margin: 0 !important;
padding: 0 !important;
background-color: #2F4A6D !important;
border-radius: 999rem !important;
opacity: 1 !important;
box-shadow: none !important;
}

/* Active line */
.w-slider-nav .w-slider-dot.w-active {
width: 2.5rem !important;
height: 0.625rem !important;
background-color: #2F4A6D !important;
border-radius: 999rem !important;
}

/* Native homepage slider (replaces the removed Webflow runtime). */
.new_home-slider .w-slider-mask {
position: relative;
overflow: hidden;
min-height: inherit;
touch-action: pan-y;
}

.new_home-slider .w-slide {
position: absolute;
inset: 0;
display: block;
width: 100%;
height: 100%;
opacity: 0;
visibility: hidden;
pointer-events: none;
transition: opacity 700ms ease, visibility 700ms ease;
}

.new_home-slider .w-slide.is-active {
z-index: 1;
opacity: 1;
visibility: visible;
pointer-events: auto;
}

.new_home-slider .home_slider-nav {
z-index: 4;
}

.new_home-slider .home_slider-nav .w-slider-dot {
border: 0;
cursor: pointer;
transition: width 220ms ease, background-color 220ms ease;
}

.new_home-slider .home_slider-nav .w-slider-dot:focus-visible {
outline: 2px solid #fff;
outline-offset: 4px;
}

@media (prefers-reduced-motion: reduce) {
.new_home-slider .w-slide {
transition: none;
}
}

/* === CSS Block 10 === */
.textlink {
cursor: pointer;
font-size: 16px;
position: relative;
white-space: nowrap;
color: var(--color-text);
}

.textlink .text:hover {
color: #3D5C83;
}

.textlink::before, .textlink::after {
position: absolute;
width: 100%;
height: 2px;
background: currentColor;
top: 100%;
left: 0;
pointer-events: none;
}

.textlink::before {
content: '';
/* show by default */
}

.underline-trail::before {
transform-origin: 100% 50%;
transform: scale3d(0, 1, 1);
transition: transform 0.3s;
}

.underline-trail:hover::before {
transform-origin: 0% 50%;
transform: scale3d(1, 1, 1);
color: #3D5C83;
}

/* Fix: image slider background needs explicit height (position:absolute + height:auto = 0) */
.slider-background.is-image {
  height: 100%;
}

/* Mission statement — calmer editorial rhythm for longer copy. */
.gradientbackground .header_title_wrap {
  width: 100%;
  max-width: 76rem;
}
.gradientbackground .header_title_wrap > .text-size-xlarge {
  margin-bottom: 1.15rem;
  color: #1E2A3A;
  font-size: 1.25rem;
  font-weight: 750;
  line-height: 1.4;
  letter-spacing: .16em;
}
.gradientbackground .heading-style-h2.text-color-teal.is-home {
  max-width: 25ch;
  margin: 0;
  font-size: clamp(2.15rem, 4vw, 4.15rem);
  font-weight: 600;
  line-height: 1.34;
  letter-spacing: -.035em;
  text-wrap: balance;
}

@media screen and (max-width: 767px) {
  .gradientbackground .header_title_wrap > .text-size-xlarge {
    margin-bottom: .85rem;
    font-size: 1.05rem;
  }
  .gradientbackground .heading-style-h2.text-color-teal.is-home {
    max-width: none;
    font-size: clamp(1.8rem, 8.2vw, 2.55rem);
    font-weight: 600;
    line-height: 1.42;
    letter-spacing: -.025em;
    text-wrap: pretty;
  }
}

.slider-background.slabs-home-product {
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.slabs-home-product--processor {
  background-color: #1E2A3A;
  background-image: none !important;
}
.slabs-home-product--processor img {
  position: absolute;
  top: 50%;
  right: -2%;
  width: min(68vw, 64rem);
  height: auto;
  max-height: 88%;
  object-fit: contain;
  transform: translateY(-50%);
  filter: drop-shadow(0 30px 44px rgba(0,0,0,.42));
}
.slider-base:has(.slabs-home-product)::after {
  position: absolute;
  z-index: 1;
  inset: 0;
  content: "";
  background: linear-gradient(90deg, rgba(5,7,13,.9) 0%, rgba(5,7,13,.68) 38%, rgba(5,7,13,.12) 72%, rgba(5,7,13,.06) 100%);
  pointer-events: none;
}
.slider-base:has(.slabs-home-product) .masthead_slide_contain {
  position: relative;
  z-index: 2;
}
.slabs-home-product--foundry { background-position: center; }
.slabs-home-product--sfq { background-position: center; }
.slabs-home-product--electronics, .slabs-home-product--whole-system { background-color: #1E2A3A; background-image: none !important; }
.slabs-home-product--electronics img, .slabs-home-product--whole-system img { position: absolute; top: 50%; right: 1%; display: block; width: min(64vw, 60rem); height: auto; max-height: 90%; object-fit: contain; transform: translateY(-50%); filter: drop-shadow(0 28px 38px rgba(0,0,0,.36)); }
.slabs-home-product--whole-system img { right: 0; width: min(61vw, 58rem); }

@media screen and (max-width: 767px) {
  .slider-base:has(.slabs-home-product)::after {
    background: linear-gradient(90deg, rgba(5,7,13,.9), rgba(5,7,13,.58)), linear-gradient(0deg, rgba(5,7,13,.25), transparent);
  }
  .slabs-home-product { background-position: 62% center !important; }
  .slabs-home-product--sfq {
    background-image: url("/static/images/slabs-products/sfq-product-card.jpg") !important;
    background-image: image-set(url("/static/images/slabs-products/sfq-product-card.webp") type("image/webp"), url("/static/images/slabs-products/sfq-product-card.jpg") type("image/jpeg")) !important;
    background-position: 52% center !important;
  }
  .slabs-home-product--processor img { right: -42%; width: 150vw; max-width: none; opacity: .72; }
  .slabs-home-product--electronics img, .slabs-home-product--whole-system img { right: -38%; width: 132vw; max-width: none; opacity: .66; }
}

/* === CSS Block 11 === */
@media screen and (max-width: 991px) {
.stats_layout.is-grid {
position: relative;
}

.stats_layout.is-grid::before, .stats_layout.is-grid::after {
content: "";
position: absolute;
background-color: #2F4A6D;
opacity: 1;
pointer-events: none;
}

.stats_layout.is-grid::before {
top: 0;
bottom: 0;
left: 50%;
width: 1px;
transform: translateX(-50%);
}

.stats_layout.is-grid::after {
left: 0;
right: 0;
top: 50%;
height: 1px;
transform: translateY(-50%);
}
}


/* Homepage product and service gateway */
.home-bottom-stage { position: relative; isolation: isolate; overflow: hidden; background: #0a0a0a; }
.home-bottom-stage__effect { z-index: 0; height: 100%; opacity: .82; pointer-events: none; }
.home-bottom-stage__effect * { pointer-events: none; }
.home-bottom-stage > .cta_wrap,
.home-bottom-stage > .fsite { z-index: 1; background-color: transparent !important; }
.home-bottom-stage > .fsite::before { position: absolute; inset: 0; z-index: -1; content: ""; background: linear-gradient(180deg, rgba(10,10,10,.18), rgba(10,10,10,.72)); pointer-events: none; }

.g_sec_wrap.gradientbackground .g_sec_contain {
  padding-top: clamp(4.75rem, 7vw, 6.5rem) !important;
  padding-bottom: clamp(4.75rem, 7vw, 6.5rem) !important;
}
.g_sec_wrap.gradientbackground .header_title_wrap { margin-bottom: .5rem; }
.home-bottom-stage .cta_contain {
  padding-top: clamp(4.75rem, 7vw, 6rem);
  padding-bottom: clamp(4.75rem, 7vw, 6rem);
}

.home-offerings { position: relative; overflow: hidden; padding: 5.25rem 0; color: #eef3ff; background: #1E2A3A; }
.home-offerings__glow { position: absolute; width: 52rem; height: 52rem; top: -30rem; right: -10rem; border-radius: 50%; background: rgba(47,74,109, .14); filter: blur(80px); pointer-events: none; }
.home-offerings__contain { position: relative; z-index: 1; }
.home-offerings__heading { display: grid; align-items: end; margin-bottom: 3.25rem; grid-template-columns: 1.15fr .85fr; gap: 4rem; }
.home-offerings__eyebrow { margin: 0 0 1.25rem; color: #6D8DB5; font-size: .7rem; font-weight: 800; letter-spacing: .2em; }
.home-offerings__heading h2 { max-width: 48rem; margin: 0; color: #f7f9ff; font-size: clamp(2.65rem, 4.4vw, 4.6rem); font-weight: 600; line-height: 1; letter-spacing: -.045em; }
.home-offerings__heading > p { max-width: 34rem; margin: 0 0 .35rem; color: #91a59f; font-size: 1.05rem; line-height: 1.75; }
.home-offerings__grid { display: grid; min-height: 39rem; grid-template-columns: 1.06fr .94fr; gap: 1rem; }
.home-offerings__services { display: grid; grid-template-rows: 1fr 1fr; gap: 1rem; }
.home-offering { position: relative; display: flex; overflow: hidden; border: 1px solid rgba(109,141,181, .16); color: inherit; background: #1E2A3A; text-decoration: none; transition: border-color .35s ease, transform .35s ease, background .35s ease; }
.home-offering:hover { border-color: rgba(109,141,181, .65); color: inherit; transform: translateY(-3px); }
.home-offering--featured { flex-direction: column; justify-content: flex-end; background: radial-gradient(circle at 50% 20%, #1c3c33 0, #1E2A3A 48%, #1E2A3A 100%); }
.home-offering__visual { position: absolute; inset: 0 0 42%; overflow: hidden; }
.home-offering__visual::after { position: absolute; inset: auto 0 0; height: 55%; content: ""; background: linear-gradient(transparent, #0a1814); }
.home-chip { position: absolute; top: 50%; left: 50%; z-index: 2; width: 13rem; aspect-ratio: 1; border: 1px solid #5d8177; background: linear-gradient(145deg, #23483e, #0c1c18); box-shadow: 0 2.2rem 4rem rgba(0,0,0,.42); transform: translate(-50%,-50%) rotate(45deg); }
.home-chip::before, .home-chip::after { position: absolute; content: ""; inset: 12%; border: 1px solid rgba(109,141,181,.65); }
.home-chip::after { inset: 31%; background: repeating-linear-gradient(0deg, transparent 0 8px, rgba(109,141,181,.34) 9px 10px), repeating-linear-gradient(90deg, transparent 0 8px, rgba(109,141,181,.34) 9px 10px); box-shadow: 0 0 2rem rgba(109,141,181,.22); }
.home-chip i { position: absolute; inset: -10%; border: 1px solid rgba(255,255,255,.1); }
.home-chip-orbit { position: absolute; top: 50%; left: 50%; border: 1px solid rgba(109,141,181,.17); border-radius: 50%; transform: translate(-50%,-50%) rotate(-12deg); }
.home-chip-orbit--one { width: 26rem; height: 9rem; }
.home-chip-orbit--two { width: 33rem; height: 14rem; transform: translate(-50%,-50%) rotate(28deg); }
.home-offering__content { position: relative; z-index: 3; }
.home-offering--featured .home-offering__content { padding: 3rem; }
.home-offering__meta { display: flex; align-items: baseline; margin-bottom: 1rem; gap: .8rem; color: #6D8DB5; font-size: clamp(.76rem, .82vw, .86rem); font-weight: 760; line-height: 1.4; letter-spacing: .13em; }
.home-offering__meta span:first-child { flex: 0 0 auto; color: rgba(109,141,181,.72); font-variant-numeric: tabular-nums; }
.home-offering h3 { margin: 0 0 .9rem; color: #F7F5F1; font-size: clamp(1.7rem, 2.7vw, 2.8rem); font-weight: 600; line-height: 1.1; letter-spacing: -.035em; }
.home-offering p { max-width: 38rem; margin: 0 0 1.5rem; color: #95aaa4; font-size: .95rem; line-height: 1.65; }
.home-offering__link { display: inline-flex; align-items: center; gap: .75rem; color: #eef3ff; font-size: .72rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.home-offering__link i { color: #6D8DB5; font-size: 1rem; font-style: normal; transition: transform .3s ease; }
.home-offering:hover .home-offering__link i { transform: translate(3px,-3px); }
.home-offering--service { align-items: center; padding: 2.6rem 9rem 2.6rem 2.7rem; background: #2F4A6D; }
.home-offering--sfq { background: #111d25; }
.home-offering--service h3 { font-size: clamp(1.55rem, 2.1vw, 2.25rem); }
.home-offering--service p { margin-bottom: 1rem; }
.home-service-mark { position: absolute; right: 2.2rem; bottom: 2.1rem; width: 4.8rem; aspect-ratio: 1; opacity: .55; }
.home-service-mark--wafer { border: 1px solid #6D8DB5; border-radius: 50%; background: repeating-radial-gradient(circle, transparent 0 8px, rgba(109,141,181,.4) 9px 10px); }
.home-service-mark--wafer::after { position: absolute; right: 9%; bottom: 3%; width: 26%; height: 5%; content: ""; background: #2F4A6D; }
.home-service-mark--sfq { border: 1px solid #7fa8bf; transform: rotate(45deg); }
.home-service-mark--sfq::before, .home-service-mark--sfq::after { position: absolute; content: ""; inset: 18%; border: 1px solid rgba(127,168,191,.65); }
.home-service-mark--sfq::after { inset: 38%; background: #7fa8bf; box-shadow: -2.5rem 0 #7fa8bf, 2.5rem 0 #7fa8bf, 0 -2.5rem #7fa8bf, 0 2.5rem #7fa8bf; }
.home-offering--electronics { min-height: 18rem; margin-top: 1rem; align-items: center; padding: 2.7rem 48% 2.7rem 2.7rem; background: linear-gradient(105deg, #10241f 0%, #1E2A3A 58%, #1E2A3A 100%); }
.home-offering--electronics h3 { max-width: 18ch; font-size: clamp(1.75rem, 2.6vw, 2.8rem); }
.home-offering--electronics p { max-width: 35rem; }
.home-electronics-photo { position: absolute; top: 50%; right: 1.5%; width: 46%; transform: translateY(-50%); }
.home-electronics-photo::before { position: absolute; inset: 20%; content: ""; border-radius: 50%; background: rgba(47,74,109,.18); filter: blur(45px); }
.home-electronics-photo img { position: relative; display: block; width: 100%; filter: drop-shadow(0 24px 24px rgba(0,0,0,.45)); }
.home-offering--whole-system { min-height: 20rem; margin-top: 1rem; align-items: center; padding: 2.7rem 49% 2.7rem 2.7rem; background: radial-gradient(circle at 78% 50%, #3D5C83 0, #2F4A6D 35%, #1E2A3A 68%); }
.home-offering--whole-system h3 { max-width: 18ch; font-size: clamp(1.75rem, 2.6vw, 2.8rem); }
.home-system-abstract { position: absolute; top: 50%; right: 4%; width: 42%; height: 76%; transform: translateY(-50%); }
.home-system-rack { position: absolute; top: 18%; bottom: 12%; left: 4%; width: 25%; border: 1px solid rgba(109,141,181,.55); background: linear-gradient(145deg, rgba(47,74,109,.13), rgba(17,24,39,.2)); box-shadow: 0 1.4rem 3rem rgba(0,0,0,.28); }
.home-system-rack::before { position: absolute; top: 7%; right: 12%; bottom: 7%; left: 12%; border: 1px solid rgba(109,141,181,.25); content: ""; }
.home-system-rack i { position: relative; display: block; height: 12%; margin: 12% 17% 0; border: 1px solid rgba(109,141,181,.32); }
.home-system-link { position: absolute; top: 43%; left: 30%; width: 27%; height: 16%; border: 1px solid rgba(109,141,181,.35); border-width: 1px 0 0; transform: skewY(-12deg); }
.home-system-link::before, .home-system-link::after { position: absolute; right: 0; left: 0; height: 1px; content: ""; background: rgba(109,141,181,.28); }
.home-system-link::before { top: 5px; }.home-system-link::after { top: 11px; }
.home-system-dr { position: absolute; top: 8%; right: 2%; width: 38%; height: 82%; border: 1px solid rgba(109,141,181,.3); }
.home-system-dr::before, .home-system-dr::after { position: absolute; left: 15%; right: 15%; height: 1px; content: ""; background: rgba(109,141,181,.28); }
.home-system-dr::before { top: 12%; }.home-system-dr::after { bottom: 12%; }
.home-system-dr i { position: absolute; top: 22%; bottom: 18%; left: 29%; width: 42%; border: 1px solid rgba(109,141,181,.58); border-radius: 48% 48% 18% 18%; background: linear-gradient(90deg, rgba(47,74,109,.05), rgba(47,74,109,.19), rgba(47,74,109,.05)); }

@media (max-width: 991px) {
  .home-offerings { padding: 4.25rem 0; }
  .home-offerings__heading { display: block; }
  .home-offerings__heading > p { margin-top: 1.5rem; }
  .home-offerings__grid { min-height: auto; grid-template-columns: 1fr; }
  .home-offering--featured { min-height: 37rem; }
  .home-offering--service { min-height: 18rem; }
  .home-offering--electronics { padding-right: 43%; }
  .home-offering--whole-system { padding-right: 43%; }
}
@media (max-width: 767px) {
  .g_sec_wrap.gradientbackground .g_sec_contain {
    gap: 2rem;
    padding-top: 2.5rem !important;
    padding-bottom: 2.5rem !important;
  }
  .home-bottom-stage .cta_contain {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  .home-offerings { padding: 2.75rem 0; }
  .home-offerings__contain.u-container {
    padding-top: 0;
    padding-bottom: 0;
  }
  .home-offerings__heading {
    margin-bottom: 1.85rem;
  }
  .home-offerings__eyebrow {
    margin-bottom: .85rem;
    font-size: .78rem;
  }
  .home-offerings__heading h2 {
    max-width: 10ch;
    font-size: clamp(2.45rem, 11.2vw, 3.35rem);
    line-height: 1.04;
  }
  html[lang="en"] .home-offerings__heading h2 {
    width: 100%;
    max-width: 100%;
    text-wrap: pretty;
  }
  .home-offerings__heading > p {
    margin-top: 1.15rem;
    font-size: .98rem;
    line-height: 1.65;
  }
  .home-offering--featured { min-height: 34rem; }
  .home-offering--featured .home-offering__content { padding: 2rem; }
  .home-offering__visual { bottom: 45%; }
  .home-chip { width: 9rem; }
  .home-chip-orbit--one { width: 19rem; }
  .home-chip-orbit--two { width: 24rem; }
  .home-offering--service { min-height: 21rem; align-items: flex-end; padding: 2rem; }
  .home-service-mark { top: 2rem; right: 2rem; bottom: auto; width: 3.8rem; }
  .home-offering--service .home-offering__content { padding-top: 4rem; }
  .home-offering--electronics { min-height: 32rem; align-items: flex-end; padding: 2rem; }
  .home-offering--electronics .home-offering__content { padding-top: 11rem; }
  .home-electronics-photo { top: 1.5rem; right: -5%; width: 110%; transform: none; }
  .home-offering--whole-system { min-height: 32rem; align-items: flex-end; padding: 2rem; }
  .home-offering--whole-system .home-offering__content { padding-top: 12rem; }
  .home-system-abstract { top: 1.5rem; right: 3%; width: 94%; height: 15rem; transform: none; }
}

/* Unified homepage product and technology layout */
.home-offerings__products { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.home-offerings__service-heading { display: flex; align-items: center; margin: 2.4rem 0 1rem; color: #6D8DB5; font-size: .7rem; font-weight: 760; letter-spacing: .18em; }
.home-offerings__service-heading::after { flex: 1; height: 1px; margin-left: 1rem; content: ""; background: rgba(109,141,181,.16); }
.home-offerings__services { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: none; gap: 1rem; }
.home-offering--product { min-height: 35rem; flex-direction: column; justify-content: flex-end; background: radial-gradient(circle at 50% 18%, #172d57 0, #2F4A6D 47%, #1E2A3A 100%); }
.home-offering--product .home-offering__content { min-height: 15.5rem; padding: 2rem; }
.home-offering--product h3 { font-size: clamp(1.55rem, 2vw, 2.15rem); }
.home-offering--product p { min-height: 4.7rem; }
.home-offering--product .home-offering__visual { inset: 0 0 44%; }
.home-offering--processor .home-chip { width: 9.5rem; }
.home-offering--processor .home-chip-orbit--one { width: 19rem; }
.home-offering--processor .home-chip-orbit--two { width: 24rem; }
.home-offering--electronics { margin-top: 0; padding: 0; align-items: stretch; background: radial-gradient(circle at 50% 17%, #3D5C83, #2F4A6D 56%, #1E2A3A); }
.home-offering--electronics h3, .home-offering--whole-system h3 { max-width: none; }
.home-electronics-photo { top: 1.2rem; right: -8%; left: -8%; width: auto; height: 45%; transform: none; }
.home-electronics-photo img { width: 100%; height: 100%; object-fit: contain; }
.home-offering--whole-system { min-height: 35rem; margin-top: 0; padding: 0; align-items: stretch; background: radial-gradient(circle at 50% 18%, #3D5C83 0, #2F4A6D 48%, #1E2A3A 100%); }
.home-system-map { position: absolute; top: 1.25rem; right: 1.4rem; left: 1.4rem; height: 17rem; color: #c6d7ff; }
.home-system-node { position: absolute; z-index: 2; display: grid; min-height: 2rem; place-items: center; padding: .35rem .55rem; border: 1px solid rgba(109,141,181,.34); color: #dce7ff; background: rgba(17,24,39,.88); font-size: .62rem; line-height: 1.2; text-align: center; }
.home-system-node--root { top: 3%; left: 34%; width: 32%; border-color: rgba(109,141,181,.66); color: #eef3ff; background: rgba(47,74,109,.34); }
.home-system-node--chip { top: 42%; left: 0; width: 27%; }
.home-system-node--control { top: 42%; left: 36.5%; width: 27%; }
.home-system-node--machine { top: 42%; right: 0; width: 27%; }
.home-system-node--room { top: 76%; left: 29%; width: 20%; }
.home-system-node--cryo { top: 76%; right: 29%; width: 20%; }
.home-system-branch { position: absolute; top: 20%; left: 13.5%; width: 73%; height: 22%; border: 1px solid rgba(109,141,181,.28); border-width: 1px 1px 0; }
.home-system-branch::before { position: absolute; top: -18%; left: 50%; width: 1px; height: 18%; content: ""; background: rgba(109,141,181,.4); }
.home-system-branch::after { position: absolute; top: 0; left: 50%; width: 1px; height: 100%; content: ""; background: rgba(109,141,181,.4); }
.home-system-subbranch { position: absolute; top: 59%; left: 39%; width: 22%; height: 17%; border: 1px solid rgba(109,141,181,.25); border-width: 1px 1px 0; }
.home-system-subbranch::before { position: absolute; top: -23%; left: 50%; width: 1px; height: 23%; content: ""; background: rgba(109,141,181,.36); }
.home-offering--service { min-height: 18rem; padding: 2.35rem 8rem 2.35rem 2.4rem; }

@media (max-width: 1100px) {
  .home-offerings__products { grid-template-columns: 1fr 1fr; }
  .home-offering--processor { grid-column: 1 / -1; min-height: 31rem; }
  .home-offering--processor .home-offering__content { max-width: 38rem; }
}

@media (max-width: 767px) {
  .home-offerings__products, .home-offerings__services { grid-template-columns: 1fr; }
  .home-offering--processor { grid-column: auto; }
  .home-offering--product, .home-offering--whole-system, .home-offering--electronics { min-height: 31rem; padding: 0; align-items: stretch; }
  .home-offering--product .home-offering__content, .home-offering--electronics .home-offering__content, .home-offering--whole-system .home-offering__content { min-height: 15rem; padding: 1.6rem; padding-top: 0; }
  .home-offering--product p { min-height: auto; }
  .home-electronics-photo { top: .8rem; height: 43%; }
  .home-system-map { top: .7rem; height: 15rem; }
  .home-offering--service { min-height: 18rem; padding: 1.8rem 6rem 1.8rem 1.6rem; align-items: center; }
  .home-offering--service .home-offering__content { padding-top: 0; }
}

/* Product cards: shared visual and content rhythm */
.home-offering--product {
  display: grid;
  min-height: 36.5rem;
  grid-template-rows: 18.25rem 1fr;
  align-items: stretch;
}
.home-offering--product .home-offering__visual {
  inset: 0 0 auto;
  width: 100%;
  height: 18.25rem;
}
.home-offering--product .home-offering__content {
  grid-row: 2;
  display: grid;
  min-height: 0;
  height: 100%;
  padding: 1.7rem 2rem 1.9rem;
  border-top: 1px solid rgba(109,141,181,.12);
  background: linear-gradient(180deg, rgba(17,24,39,.78), #1E2A3A 24%);
  grid-template-rows: auto minmax(5.25rem, auto) 1fr auto;
  gap: .7rem;
}
.home-offering--product .home-offering__meta,
.home-offering--product h3,
.home-offering--product p { margin: 0; }
.home-offering--product h3 {
  display: flex;
  align-items: flex-start;
  font-size: clamp(1.5rem, 1.85vw, 2rem);
  line-height: 1.16;
}
.home-offering--product p {
  min-height: 0;
  padding-top: .15rem;
  font-size: .92rem;
  line-height: 1.65;
}
.home-offering--product .home-offering__link { align-self: end; }
.home-electronics-photo {
  top: .85rem;
  right: -5%;
  left: -5%;
  height: 17rem;
}
.home-system-map { top: .8rem; height: 17.1rem; }
.home-offering__visual--system {
  background-color: #17283f;
}
.home-offering__visual--system::after { display: none; }
.home-offering__visual--system img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform .45s ease;
}
.home-system-node { border-color: rgba(109,141,181,.46); color: #dce7ff; background: rgba(17,24,39,.92); font-size: .66rem; }
.home-system-branch, .home-system-subbranch { border-color: rgba(109,141,181,.38); }
.home-flagship-processor {
  position: absolute;
  top: 50%;
  left: 50%;
  width: min(88%, 24rem);
  max-height: 92%;
  object-fit: contain;
  filter: drop-shadow(0 2rem 2.5rem rgba(0,0,0,.36));
  transform: translate(-50%,-50%);
}
.home-offering--product:hover .home-flagship-processor,
.home-offering--product:hover .home-electronics-photo img,
.home-offering--product:hover .home-system-map { transform: scale(1.018); }
.home-offering--whole-system:hover .home-offering__visual--system img { transform: scale(1.018); }
.home-flagship-processor, .home-electronics-photo img, .home-system-map { transition: transform .45s ease; }
.home-offering--processor:hover .home-flagship-processor { transform: translate(-50%,-50%) scale(1.025); }
.home-offering--product.home-offering--technology {
  min-height: 36.5rem;
  padding: 0;
  align-items: stretch;
}
.home-offering--stacked {
  display: grid !important;
  padding: 0 !important;
  grid-template-columns: minmax(0,1fr) !important;
}
.home-offering--stacked .home-offering__visual,
.home-offering--stacked .home-offering__footer {
  grid-column: 1 / -1 !important;
}
.home-offering--stacked .home-offering__footer {
  position: absolute !important;
  right: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 18.25rem !important;
  max-width: none !important;
  margin: 0 !important;
  box-sizing: border-box;
  overflow: hidden;
  border-top: 1px solid rgba(109,141,181,.16);
  background: linear-gradient(180deg,rgba(17,24,39,.82),#1E2A3A 28%);
  z-index: 3;
}
.home-offering--stacked .home-offering__footer .home-offering__content {
  position: static !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  box-sizing: border-box;
  border: 0 !important;
  background: transparent !important;
  transform: none !important;
}
.home-service-visual { background: radial-gradient(circle at 50% 45%, #3D5C83 0, #2F4A6D 38%, #1E2A3A 100%); }
.home-service-visual::after {
  position: absolute;
  inset: 0;
  content: "";
  background: linear-gradient(180deg, transparent 58%, rgba(30,42,58,.58));
}
.home-service-visual .home-service-mark {
  top: 50%;
  right: auto;
  bottom: auto;
  left: 50%;
  width: 7rem;
  opacity: .78;
  transform: translate(-50%,-50%);
}
.home-service-visual .home-service-mark--sfq { transform: translate(-50%,-50%) rotate(45deg); }

/* Technology services use the same top-image / full-width-copy rhythm as products. */
.home-offerings__services .home-offering--technology {
  position: relative;
  display: grid !important;
  min-height: 36.5rem;
  padding: 0;
  align-items: stretch;
  overflow: hidden;
  grid-template: 18.25rem 1fr / minmax(0,1fr) !important;
  background: linear-gradient(135deg, rgba(255,255,255,.035), rgba(255,255,255,.012)) !important;
}
.home-offerings__services .home-offering--technology .home-offering__content {
  position: relative;
  z-index: 3;
  display: grid;
  grid-row: 2;
  width: 100%;
  max-width: none;
  min-height: 18.25rem;
  padding: 1.7rem 2rem 1.9rem;
  border: 0;
  border-top: 1px solid rgba(109,141,181,.16);
  background: linear-gradient(180deg,rgba(17,24,39,.82),#1E2A3A 28%) !important;
  grid-template-rows: auto 3.9rem 1fr auto;
  gap: .7rem;
}
.home-offerings__services .home-offering--technology h3 {
  max-width: none;
  margin: 0;
  font-size: clamp(1.5rem, 1.85vw, 2rem);
  line-height: 1.16;
}
.home-offerings__services .home-offering--technology p {
  max-width: none;
  min-height: 0;
  margin: 0;
  padding-top: .15rem;
  font-size: .92rem;
  line-height: 1.65;
}
.home-offerings__services .home-offering--technology .home-offering__link { margin-top: auto; }
.home-offering .home-offering__description {
  display: -webkit-box;
  overflow: hidden;
  max-height: 4.95em;
  padding-top: 0;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  line-clamp: 3;
}
.home-offerings__services .home-offering--technology .home-service-visual {
  position: relative;
  inset: auto;
  grid-row: 1;
  width: 100%;
  height: 18.25rem;
  background: none;
  pointer-events: none;
}
.home-offerings__services .home-offering--technology .home-service-visual::after {
  display: none;
}
.home-offerings__services .home-service-photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform .45s ease;
}
.home-offerings__services .home-service-photo picture { display: block; width: 100%; height: 100%; }
.home-offerings__services .home-offering--technology:hover .home-service-photo img { transform: scale(1.018); }
.home-offerings__services .home-offering--technology .home-service-mark {
  top: auto;
  right: 2.8rem;
  bottom: 2.7rem;
  left: auto;
  width: 7.5rem;
  opacity: .66;
  transform: none;
}
.home-offerings__services .home-offering--technology .home-service-mark--sfq { transform: rotate(45deg); }

@media (max-width: 767px) {
  .home-offering--product, .home-offering--whole-system, .home-offering--electronics {
    min-height: 33rem;
    grid-template-rows: 16rem 1fr;
  }
  .home-offering--product .home-offering__visual { height: 16rem; }
  .home-offering--whole-system .home-offering__visual--system {
    position: relative;
    inset: auto;
    width: 100%;
    height: 16rem;
    max-height: 16rem;
    overflow: hidden;
  }
  .home-offering--whole-system .home-offering__visual--system img {
    width: 100%;
    max-width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
  }
  .home-offering--product .home-offering__content,
  .home-offering--electronics .home-offering__content,
  .home-offering--whole-system .home-offering__content {
    min-height: 17rem;
    padding: 1.4rem 1.5rem 1.55rem;
    grid-template-rows: auto minmax(4.8rem, auto) 1fr auto;
  }
  .home-electronics-photo { top: .5rem; height: 15rem; }
  .home-system-map { top: .35rem; height: 15.3rem; }

  /* Keep cards 03–05 on the same full-width content rhythm as 01–02. */
  .home-offering--whole-system .home-offering__content,
  .home-offering--service .home-offering__content {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 1.4rem 1.5rem 1.55rem;
    background: linear-gradient(180deg, rgba(17,24,39,.86), #1E2A3A 28%);
  }
  .home-offering--product.home-offering--technology {
    min-height: 33rem;
    align-items: stretch;
    padding: 0;
  }
  .home-offering--stacked .home-offering__footer { height: 17rem !important; }

  .home-offerings__services .home-offering--technology {
    display: grid !important;
    min-height: 33rem;
    padding: 0;
    align-items: stretch;
    grid-template: 16rem 1fr / minmax(0,1fr) !important;
  }
  .home-offerings__services .home-offering--technology .home-service-visual {
    position: relative;
    inset: auto;
    grid-row: 1;
    width: 100%;
    height: 16rem;
  }
  .home-offerings__services .home-offering--technology .home-offering__content {
    grid-row: 2;
    width: 100%;
    min-height: 17rem;
    padding: 1.4rem 1.5rem 1.55rem;
    background: linear-gradient(180deg, rgba(17,24,39,.86), #1E2A3A 28%) !important;
  }
  .home-offerings__services .home-offering--technology h3 {
    max-width: 100%;
    margin: 0;
    font-size: 1.65rem;
  }
  .home-offerings__services .home-offering--technology p {
    max-width: 100%;
    margin: 0;
    font-size: .92rem;
  }
  .home-offerings__services .home-offering--technology .home-service-mark {
    right: 1.2rem;
    bottom: 1.1rem;
    width: 5.25rem;
    opacity: .48;
  }
}

/* Mobile whole-system card: preserve the square artwork and eliminate legacy offsets. */
@media (max-width: 767px) {
  .home-offerings__products .home-offering--whole-system {
    display: grid !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    grid-template: auto 17rem / minmax(0,1fr) !important;
    transform: none !important;
  }
  .home-offerings__products .home-offering--whole-system .home-offering__visual--system {
    position: relative !important;
    inset: auto !important;
    grid-row: 1 !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 !important;
    aspect-ratio: 1 !important;
    overflow: hidden !important;
    background: #17283f !important;
  }
  .home-offerings__products .home-offering--whole-system .home-offering__visual--system::after {
    display: none !important;
    content: none !important;
  }
  .home-offerings__products .home-offering--whole-system .home-offering__visual--system img {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    margin: 0 !important;
    object-fit: cover !important;
    object-position: center !important;
    transform: none !important;
  }
  .home-offerings__products .home-offering--whole-system .home-offering__content {
    grid-row: 2 !important;
    width: 100% !important;
    min-height: 17rem !important;
    margin: 0 !important;
    padding: 1.4rem 1.5rem 1.55rem !important;
  }
}

/* Final cascade guard: keep the refreshed visual language above legacy exports. */
.masthead_main_wrap---main._90 { background: radial-gradient(circle at 78% 35%, rgba(47,74,109,.3), transparent 28%), radial-gradient(circle at 91% 12%, rgba(109,141,181,.16), transparent 24%), linear-gradient(118deg,#1E2A3A 0%,#1E2A3A 54%,#2F4A6D 100%) !important; }
.new_home-slider,
.new_home-slider .slider-base { background-color: transparent !important; }
.gradientbackground { background: #F7F5F1 !important; }
.gradientbackground .heading-style-h2.text-color-teal.is-home { color: #1E2A3A !important; }
.home-offerings { color: #eef3ff !important; background: #1E2A3A !important; }
.home-offering { border-color: rgba(109,141,181,.19) !important; background: rgba(255,255,255,.035) !important; }
.home-offering--product .home-offering__content { border-top-color: rgba(109,141,181,.16) !important; background: linear-gradient(180deg,rgba(17,24,39,.82),#1E2A3A 28%) !important; }
.home-system-node { border-color: rgba(109,141,181,.42) !important; color: #dce7ff !important; background: rgba(17,24,39,.92) !important; }
.home-system-branch,
.home-system-subbranch { border-color: rgba(109,141,181,.36) !important; }
.home-bottom-stage { background: #2F4A6D !important; }

.js-home-reveal { opacity: 0; transform: translateY(24px); transition: opacity .7s ease, transform .7s cubic-bezier(.2,.75,.25,1); }
.js-home-reveal.is-revealed { opacity: 1; transform: none; }

/* Safari-safe card flow: avoid intrinsic grid-row sizing around clamped multi-line copy. */
.home-offerings__products .home-offering--product .home-offering__content,
.home-offerings__services .home-offering--technology .home-offering__content {
  display: flex;
  min-width: 0;
  height: auto;
  flex-direction: column;
  align-items: stretch;
  gap: .7rem;
}
.home-offerings__products .home-offering--product .home-offering__meta,
.home-offerings__products .home-offering--product h3,
.home-offerings__products .home-offering--product .home-offering__description,
.home-offerings__services .home-offering--technology .home-offering__meta,
.home-offerings__services .home-offering--technology h3,
.home-offerings__services .home-offering--technology .home-offering__description {
  flex: 0 0 auto;
  min-width: 0;
}
.home-offerings__products .home-offering--product .home-offering__link,
.home-offerings__services .home-offering--technology .home-offering__link {
  margin-top: auto;
}

/* Mobile product cards: content determines card height; never clip copy into fixed rows. */
@media (max-width: 767px) {
  .home-offerings__products .home-offering--product,
  .home-offerings__services .home-offering--technology {
    min-height: 0 !important;
    grid-template-rows: 16rem auto !important;
  }
  .home-offerings__products .home-offering--whole-system {
    grid-template-rows: auto auto !important;
  }
  .home-offerings__products .home-offering--product .home-offering__content,
  .home-offerings__services .home-offering--technology .home-offering__content,
  .home-offerings__products .home-offering--whole-system .home-offering__content {
    height: auto !important;
    min-height: 0 !important;
  }
  .home-offerings .home-offering h3 {
    display: block;
    width: 100%;
    max-width: 100%;
    min-height: 0;
    height: auto;
    overflow: visible;
    overflow-wrap: break-word;
    text-wrap: pretty;
  }
  .home-offerings .home-offering .home-offering__description {
    display: block;
    width: 100%;
    max-width: 100%;
    max-height: none;
    min-height: 0;
    height: auto;
    overflow: visible;
    overflow-wrap: break-word;
    text-overflow: clip;
    -webkit-line-clamp: unset;
    line-clamp: unset;
  }
}

@media (prefers-reduced-motion: reduce) {
  .js-home-reveal { opacity: 1; transform: none; }
}

/* Mission — neutral premium editorial system. Keep last to supersede legacy exports. */
.g_sec_wrap.gradientbackground {
  background:
    radial-gradient(circle at 88% 8%, rgba(255,255,255,.96), transparent 32rem),
    linear-gradient(145deg, #f5f5f7 0%, #eceef2 100%) !important;
}
.g_sec_wrap.gradientbackground::before { display: none !important; }
.g_sec_wrap.gradientbackground .g_sec_contain {
  gap: clamp(2.5rem, 4vw, 4rem) !important;
  padding-top: clamp(4.5rem, 7vw, 7rem) !important;
  padding-bottom: clamp(4.5rem, 7vw, 7rem) !important;
}
.g_sec_wrap.gradientbackground .header_title_wrap {
  display: grid !important;
  width: 100%;
  max-width: 76rem;
  margin: 0 !important;
  grid-template-columns: minmax(11rem, .34fr) minmax(0, 1.66fr) !important;
  align-items: start;
  gap: clamp(2rem, 5vw, 5rem) !important;
}
.g_sec_wrap.gradientbackground .header_title_wrap > .text-size-xlarge {
  margin: .25rem 0 0 !important;
  color: #1E2A3A !important;
  font-size: clamp(1.35rem, 1.75vw, 1.7rem) !important;
  font-weight: 650 !important;
  line-height: 1.2 !important;
  letter-spacing: -.025em !important;
  text-transform: none !important;
}
.g_sec_wrap.gradientbackground .heading-style-h2.text-color-teal.is-home {
  max-width: 24ch !important;
  margin: 0 !important;
  color: #1E2A3A !important;
  font-size: clamp(2.2rem, 3.2vw, 3.35rem) !important;
  font-weight: 600 !important;
  line-height: 1.16 !important;
  letter-spacing: -.045em !important;
  text-wrap: balance;
}
.g_sec_wrap.gradientbackground .card_container.u-container {
  width: 100%;
  max-width: 76rem;
  padding: 0 !important;
}
.g_sec_wrap.gradientbackground .card_layout {
  display: grid;
  gap: 1.15rem !important;
  border: 0 !important;
  background: transparent !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.g_sec_wrap.gradientbackground .card {
  min-height: 18rem;
  padding: clamp(1.5rem, 2.4vw, 2.25rem) !important;
  border: 1px solid rgba(29,29,31,.075) !important;
  border-radius: 1.5rem !important;
  background: rgba(255,255,255,.78) !important;
  box-shadow: 0 18px 55px rgba(0,0,0,.055) !important;
  backdrop-filter: blur(18px) saturate(120%);
  transition: transform .35s cubic-bezier(.2,.75,.25,1), box-shadow .35s ease, border-color .35s ease !important;
}
.g_sec_wrap.gradientbackground .card:hover {
  border-color: rgba(47,74,109,.18) !important;
  box-shadow: 0 26px 70px rgba(0,0,0,.09) !important;
  transform: translateY(-5px);
}
.g_sec_wrap.gradientbackground .icon_container {
  width: 3.35rem !important;
  height: 3.35rem !important;
  padding: .8rem !important;
  border: 1px solid rgba(29,29,31,.07);
  border-radius: 1rem !important;
  background: #f1f2f4 !important;
}
.g_sec_wrap.gradientbackground .icon_container img {
  filter: grayscale(1) contrast(.86) brightness(.72);
  opacity: .82;
  transition: filter .3s ease, opacity .3s ease;
}
.g_sec_wrap.gradientbackground .card:hover .icon_container img {
  filter: grayscale(0) saturate(.8);
  opacity: 1;
}
.g_sec_wrap.gradientbackground .u-text-large { color: #1E2A3A !important; font-weight: 650 !important; }
.g_sec_wrap.gradientbackground .u-rich-text.u-text-centered {
  color: #7A8699 !important;
  font-size: .98rem;
  line-height: 1.72 !important;
}

@media (max-width: 767px) {
  .g_sec_wrap.gradientbackground .g_sec_contain {
    gap: 2rem !important;
    padding-top: 3.25rem !important;
    padding-bottom: 3.25rem !important;
  }
  .g_sec_wrap.gradientbackground .header_title_wrap {
    grid-template-columns: 1fr !important;
    gap: .9rem !important;
  }
  .g_sec_wrap.gradientbackground .header_title_wrap > .text-size-xlarge {
    font-size: 1.35rem !important;
  }
  .g_sec_wrap.gradientbackground .heading-style-h2.text-color-teal.is-home {
    max-width: none !important;
    font-size: clamp(1.85rem, 8.5vw, 2.55rem) !important;
    line-height: 1.22 !important;
  }
  .g_sec_wrap.gradientbackground .card_layout { grid-template-columns: 1fr; gap: .85rem !important; }
  .g_sec_wrap.gradientbackground .card { min-height: 0; border-radius: 1.15rem !important; }
}
