html.index-home{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html.index-home{scroll-behavior:auto}}body.index-home::before{opacity:0.42}body.index-home::after{opacity:0.38}:root{--ix-max:72rem;--ix-gutter:1rem;--ix-radius:14px;--ix-radius-lg:20px;--ix-touch:48px;--ix-header-h:4.5rem;--ix-accent:#00f5ff;--ix-accent-soft:rgba(0,245,255,0.14);--ix-text:#e8eef7;--ix-muted:#a8bdd4;--ix-surface:rgba(12,18,28,0.65);--ix-elev:0 18px 48px rgba(0,0,0,0.38)}@media (min-width:64rem){:root{--ix-gutter:clamp(1.5rem,4vw,2.75rem);--ix-header-h:5.85rem}}.ix-header{position:sticky;top:0;z-index:100;min-height:var(--ix-header-h);padding:0 var(--ix-gutter);background:linear-gradient(180deg,rgba(5,9,16,0.96),rgba(5,9,16,0.88));border-bottom:1px solid rgba(0,245,255,0.12);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.ix-header__bar{max-width:var(--ix-max);margin:0 auto;min-height:var(--ix-header-h);display:flex;align-items:center;justify-content:space-between;gap:0.75rem}.ix-brand{display:flex;align-items:center;gap:0.65rem;text-decoration:none;color:inherit;min-width:0}.ix-brand .logo{height:clamp(3rem,10vw,4.6rem);width:auto;max-height:4.75rem;object-fit:contain;flex-shrink:0;filter:drop-shadow(0 0 10px rgba(0,245,255,0.22))}.ix-brand__text{font-weight:800;font-size:clamp(0.88rem,2.8vw,1.15rem);letter-spacing:0.02em;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ix-nav-toggle{display:inline-flex;align-items:center;justify-content:center;width:var(--ix-touch);height:var(--ix-touch);padding:0;border-radius:12px;border:1px solid rgba(0,245,255,0.28);background:rgba(0,245,255,0.08);color:var(--ix-accent);cursor:pointer;flex-shrink:0;transition:background 0.2s ease,border-color 0.2s ease,transform 0.15s ease}.ix-nav-toggle:hover{background:rgba(0,245,255,0.14);border-color:rgba(0,245,255,0.45)}.ix-nav-toggle:focus-visible{outline:2px solid var(--ix-accent);outline-offset:3px}.ix-nav-toggle .ix-icon{width:1.35rem;height:1.35rem;display:block}.ix-nav-toggle .ix-icon-close{display:none}.ix-header.is-open .ix-nav-toggle .ix-icon-menu{display:none}.ix-header.is-open .ix-nav-toggle .ix-icon-close{display:block}@media (min-width:64rem){.ix-nav-toggle{display:none}}.ix-nav{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:0.35rem 1rem}.ix-nav a{color:#c9d6e8;text-decoration:none;font-weight:600;font-size:0.92rem;padding:0.45rem 0.35rem;border-radius:8px;min-height:44px;display:inline-flex;align-items:center;transition:color 0.18s ease,background 0.18s ease}.ix-nav a:hover{color:var(--ix-accent);background:rgba(0,245,255,0.06)}.ix-nav a:focus-visible{outline:2px solid var(--ix-accent);outline-offset:2px}@media (max-width:63.99rem){.ix-nav{position:fixed;left:0;right:0;top:calc(var(--ix-header-h) + env(safe-area-inset-top,0px));flex-direction:column;align-items:stretch;padding:0.75rem var(--ix-gutter) calc(1rem + env(safe-area-inset-bottom));background:rgba(5,9,16,0.97);border-bottom:1px solid rgba(0,245,255,0.14);box-shadow:0 16px 40px rgba(0,0,0,0.45);max-height:min(70vh,520px);overflow-y:auto;-webkit-overflow-scrolling:touch;transform:translateY(-120%);opacity:0;pointer-events:none;transition:transform 0.32s cubic-bezier(0.22,1,0.36,1),opacity 0.22s ease;z-index:99}.ix-header.is-open .ix-nav{transform:translateY(0);opacity:1;pointer-events:auto}.ix-nav a{padding:0.95rem 0.85rem;font-size:1.08rem;border-radius:10px;min-height:3rem}}@media (min-width:64rem){.ix-nav{gap:0.35rem 1.15rem}.ix-nav a{font-size:1.07rem;font-weight:650;letter-spacing:0.035em;padding:0.5rem 0.4rem;min-height:2.85rem}.ix-nav a:hover{transform:translateY(-1px)}}.ix-nav-backdrop{position:fixed;inset:0;z-index:90;background:rgba(2,6,12,0.55);opacity:0;pointer-events:none;transition:opacity 0.22s ease}.ix-nav-backdrop.is-visible{opacity:1;pointer-events:auto}.ix-hero{position:relative;overflow:hidden;padding:clamp(1.75rem,5vw,4rem) var(--ix-gutter) clamp(2rem,6vw,4.5rem);max-width:var(--ix-max);margin:0 auto}.ix-hero__grid{position:relative;z-index:1;display:grid;gap:clamp(1.5rem,4vw,2.75rem);align-items:center}@media (min-width:64rem){.ix-hero__grid{grid-template-columns:minmax(0,1.12fr) minmax(0,0.88fr);gap:clamp(2rem,5vw,3.5rem)}}.ix-hero__visual{display:block;position:relative;min-height:clamp(180px,42vw,320px);border-radius:var(--ix-radius-lg);border:1px solid rgba(0,245,255,0.18);background:radial-gradient(ellipse 80% 70% at 40% 30%,rgba(0,245,255,0.16),transparent 55%),radial-gradient(ellipse 60% 50% at 80% 80%,rgba(99,102,241,0.12),transparent 50%),var(--ix-surface);box-shadow:var(--ix-elev);overflow:hidden}.ix-hero__visual::after{content:"";position:absolute;inset:12%;border-radius:inherit;border:1px solid rgba(255,255,255,0.06);opacity:0.7;pointer-events:none}.ix-hero h1{margin:0 0 1rem;font-size:clamp(1.85rem,6.5vw,3.75rem);line-height:1.08;font-weight:800;letter-spacing:-0.03em;background:linear-gradient(105deg,#00f5ff 0%,#c8f0ff 42%,#ffffff 100%);-webkit-background-clip:text;background-clip:text;color:transparent}@media (min-width:64rem){.ix-hero h1{font-size:clamp(3rem,4.2vw + 1rem,4.25rem)}}.ix-hero .lead{font-size:clamp(1rem,2.2vw,1.18rem);color:var(--ix-muted);max-width:52ch;line-height:1.65}.ix-cta-row{display:flex;flex-wrap:wrap;gap:0.65rem;margin-top:1.25rem}.ix-btn{display:inline-flex;align-items:center;justify-content:center;min-height:var(--ix-touch);padding:0.65rem 1.25rem;border-radius:999px;font-weight:700;font-size:0.95rem;text-decoration:none;border:1px solid transparent;cursor:pointer;transition:transform 0.18s ease,box-shadow 0.2s ease,filter 0.2s ease,border-color 0.2s ease}.ix-btn:focus-visible{outline:2px solid var(--ix-accent);outline-offset:3px}.ix-btn--primary{background:linear-gradient(135deg,#00b8e6,#00f5ff);color:#041018;box-shadow:0 6px 28px rgba(0,200,255,0.28)}.ix-btn--primary:hover{transform:translateY(-2px);filter:brightness(1.05)}.ix-btn--ghost{border-color:rgba(0,245,255,0.35);color:#eaf6ff;background:rgba(0,245,255,0.07)}.ix-btn--ghost:hover{border-color:rgba(0,245,255,0.55);background:rgba(0,245,255,0.12);transform:translateY(-1px)}@media (max-width:29.99rem){.ix-cta-row .ix-btn{flex:1 1 100%;justify-content:center}}.ix-section{padding:clamp(1.75rem,4vw,2.75rem) var(--ix-gutter);max-width:var(--ix-max);margin:0 auto;content-visibility:auto;contain-intrinsic-size:600px}.ix-section h2{margin:0 0 0.85rem;font-size:clamp(1.35rem,3.5vw,2rem);color:var(--ix-accent);font-weight:800;letter-spacing:-0.02em}.ix-section h3{margin:1.15rem 0 0.45rem;font-size:clamp(1.05rem,2.2vw,1.2rem);color:#dbe7f5;font-weight:650}.ix-section p,.ix-section li{color:#d0ddf0;line-height:1.65}.ix-section ul:not(.ix-value-grid){margin:0 0 1rem;padding-left:1.2rem}.ix-value-grid{list-style:none;margin:1rem 0 0;padding:0;display:grid;gap:0.75rem}@media (min-width:40rem){.ix-value-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}}@media (min-width:64rem){.ix-value-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem}}.ix-value-card{margin:0;padding:1rem 1.1rem;border-radius:var(--ix-radius);border:1px solid rgba(0,245,255,0.14);background:rgba(15,23,42,0.35);box-shadow:0 8px 28px rgba(0,0,0,0.22);transition:border-color 0.22s ease,transform 0.22s ease,box-shadow 0.22s ease}@media (min-width:64rem){.ix-value-card:hover{border-color:rgba(0,245,255,0.35);transform:translateY(-3px);box-shadow:0 14px 36px rgba(0,0,0,0.35)}}.ix-value-card strong{color:#f0f6ff}.ix-phase-grid{display:grid;gap:1rem;margin-top:1rem}@media (min-width:48rem){.ix-phase-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.1rem}}.ix-phase-card{padding:1.1rem 1.15rem;border-radius:var(--ix-radius);border:1px solid rgba(148,163,184,0.14);background:linear-gradient(165deg,rgba(15,23,42,0.55),rgba(8,12,22,0.75))}.ix-phase-card h3{margin-top:0;font-size:1rem;color:var(--ix-accent)}main.index-main>section.tir-section-reveal{opacity:0;transform:translate3d(0,14px,0);transition:opacity 0.55s cubic-bezier(0.22,1,0.36,1),transform 0.55s cubic-bezier(0.22,1,0.36,1);will-change:opacity,transform}main.index-main>section.tir-section-reveal.is-inview{opacity:1;transform:translate3d(0,0,0)}@media (prefers-reduced-motion:reduce){main.index-main>section.tir-section-reveal{opacity:1!important;transform:none!important;transition:none!important}}.ix-footer{margin-top:clamp(2rem,6vw,3.5rem);padding:2rem var(--ix-gutter) calc(2.5rem + env(safe-area-inset-bottom));border-top:1px solid rgba(255,255,255,0.08);color:#9fb3cc;font-size:0.92rem}.ix-footer__inner{max-width:var(--ix-max);margin:0 auto}.ix-footer a{color:#c9e0ff;text-decoration:none;padding:0.2rem 0;border-radius:4px}.ix-footer a:hover{color:var(--ix-accent)}.ix-footer a:focus-visible{outline:2px solid var(--ix-accent);outline-offset:2px}.ix-footer__links{display:flex;flex-wrap:wrap;gap:0.35rem 0.5rem;align-items:center}@media (max-width:39.99rem){.ix-footer__links{flex-direction:column;align-items:flex-start}}

/* index-home premium layer (2026): section rhythm, nav active, biotech polish */
:root{--ix-accent-2:#5eead4;--ix-violet:rgba(139,92,246,0.35);--ix-rule:rgba(45,212,191,0.14)}
.index-main>.ix-section{position:relative;padding-top:clamp(2rem,5vw,3.25rem);padding-bottom:clamp(2rem,5vw,3.25rem);border-top:1px solid var(--ix-rule);scroll-margin-top:calc(env(safe-area-inset-top,0px) + var(--ix-header-h) + 0.35rem)}
.ix-section h2{font-size:clamp(1.45rem,3.8vw,2.35rem);line-height:1.12;margin-bottom:0.65rem;padding-bottom:0.85rem;border-bottom:1px solid rgba(45,212,191,0.12);background:linear-gradient(105deg,var(--ix-accent) 0%,#c8f0ff 55%,#e8eef7 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.ix-section h3{color:#e2e8f0;font-weight:700}
.ix-nav a.is-active,.ix-nav a[aria-current="location"]{color:var(--ix-accent);box-shadow:inset 0 -2px 0 0 rgba(0,245,255,0.55)}
.ix-nav__login{margin-left:0.15rem;padding-left:0.85rem;border-left:1px solid rgba(148,163,184,0.28);font-weight:700}
@media (max-width:63.99rem){.ix-nav__login{margin-left:0;padding-left:0;border-left:none;padding-top:0.5rem;border-top:1px solid rgba(148,163,184,0.2)}}
.ix-header{background:linear-gradient(180deg,rgba(3,7,18,0.97) 0%,rgba(5,9,16,0.9) 100%);border-bottom:1px solid rgba(45,212,191,0.14);box-shadow:0 1px 0 rgba(34,211,238,0.06)}
.ix-brand .logo{filter:drop-shadow(0 0 14px rgba(45,212,191,0.28))}
.ix-phase-card{border-color:rgba(45,212,191,0.16);background:linear-gradient(165deg,rgba(15,23,42,0.72),rgba(8,12,22,0.88));box-shadow:0 12px 36px -20px rgba(0,0,0,0.5),inset 0 1px 0 rgba(255,255,255,0.04)}
.ix-value-card{border-color:rgba(45,212,191,0.14);background:linear-gradient(165deg,rgba(15,23,42,0.55),rgba(15,23,42,0.28))}
.ix-footer{border-top:1px solid rgba(45,212,191,0.12);background:linear-gradient(180deg,transparent,rgba(3,7,18,0.35));padding-top:clamp(2.5rem,6vw,3.5rem);padding-bottom:clamp(2.5rem,6vw,3.5rem)}
.ix-footer__inner{display:flex;flex-direction:column;gap:1.15rem}
@media (min-width:48rem){.ix-footer__inner{flex-direction:row;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;column-gap:2rem}}
.ix-footer__links{row-gap:0.45rem;column-gap:0.65rem}

/* Header: theme + dropdown nav (no section <select>) */
.ix-header__bar{align-items:center;flex-wrap:wrap;row-gap:0.35rem}
@media (min-width:64rem){.ix-header__bar{flex-wrap:nowrap}}
.ix-header__actions{display:flex;align-items:flex-end;flex-wrap:wrap;gap:0.35rem 0.75rem;margin-left:auto;justify-content:flex-end;min-width:0;flex:1 1 auto}
.ix-header__theme{display:flex;flex-direction:column;gap:0.2rem;min-width:0}
.ix-tool-label{font-size:0.65rem;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:rgba(148,163,184,0.95)}
.ix-header__theme .theme-select{min-height:44px;padding:0.35rem 2rem 0.35rem 0.65rem;font-size:0.82rem;font-weight:600;border-radius:10px;border:1px solid rgba(45,212,191,0.28);background:rgba(15,23,42,0.55);color:#e2e8f0;max-width:min(13.5rem,46vw);cursor:pointer;transition:border-color 0.2s ease,background 0.2s ease;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2394a3b8' d='M3 4.5L6 7.5L9 4.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 0.55rem center}
.ix-header__theme .theme-select:hover{border-color:rgba(45,212,191,0.5);background:rgba(15,23,42,0.75)}
.ix-header__theme .theme-select:focus-visible{outline:2px solid var(--ix-accent);outline-offset:2px}
.ix-hero#top{scroll-margin-top:calc(env(safe-area-inset-top,0px) + var(--ix-header-h) + 0.35rem)}

/* Homepage nav: same dropdown pattern as inner pages */
.ix-nav-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:0.2rem 0.5rem}
.ix-nav .nav-list > li > a,
.ix-nav .nav-dropdown-toggle{font-size:0.92rem}
@media (max-width:63.99rem){
  .ix-nav-list{flex-direction:column;align-items:stretch;width:100%;gap:0}
  .ix-nav-list > li{width:100%}
}

/* Homepage premium footer */
.site-footer.ix-home-footer{margin-top:clamp(2rem,5vw,3rem);border-top:1px solid rgba(45,212,191,0.14)}
.ix-home-footer .footer-logo-wrapper{display:inline-block;margin-bottom:0.35rem}
.ix-home-footer .footer-logo{height:clamp(2.75rem,8vw,3.5rem);width:auto;max-width:min(200px,55vw);object-fit:contain}
@media (max-width:51.99rem){
  .footer--premium .footer-grid--premium{padding-left:max(var(--ix-gutter),env(safe-area-inset-left));padding-right:max(var(--ix-gutter),env(safe-area-inset-right))}
}

/* Light theme on homepage */
html[data-theme="light"].index-home .ix-header{background:linear-gradient(180deg,rgba(248,250,252,0.98),rgba(241,245,249,0.94));border-bottom-color:rgba(13,148,136,0.2);box-shadow:0 1px 0 rgba(15,23,42,0.06)}
html[data-theme="light"].index-home .ix-tool-label{color:#64748b}
html[data-theme="light"].index-home .ix-header__theme .theme-select,
html:not([data-theme]).index-home .ix-header__theme .theme-select{background:rgba(255,255,255,0.96);border-color:rgba(13,148,136,0.38);color:#0f172a}
html[data-theme="light"].index-home .ix-nav a,
html:not([data-theme]).index-home .ix-nav a{color:#334155}
html[data-theme="light"].index-home .ix-nav .nav-dropdown-toggle,
html:not([data-theme]).index-home .ix-nav .nav-dropdown-toggle{color:#475569}
html[data-theme="light"].index-home .site-footer.ix-home-footer{background:linear-gradient(180deg,rgba(255,255,255,0.98),rgba(248,250,252,0.92))}
@media (prefers-reduced-motion:reduce){
  .ix-header,.ix-nav,.ix-nav-backdrop,.ix-header__theme .theme-select{transition:none!important}
}

/* Homepage: full parity for system/light (no data-theme) and explicit themes */
html[data-theme="dark"].index-home{
  --ix-text:var(--text);
  --ix-muted:var(--muted);
  --ix-surface:rgba(15,23,42,0.45);
}
html[data-theme="dark"].index-home body.index-home::before{opacity:0.5}
html[data-theme="dark"].index-home body.index-home::after{opacity:0.42}

/* Light + system-default homepage: readable hero, cards, and nav */
html[data-theme="light"].index-home .ix-hero h1,
html:not([data-theme]).index-home .ix-hero h1{
  color:#0f172a;
  background:linear-gradient(105deg,#0e7490 0%,#0369a1 42%,#0f172a 100%);
  -webkit-text-fill-color: currentColor;
}
html[data-theme="light"].index-home .ix-section h2,
html:not([data-theme]).index-home .ix-section h2{
  color:#0f172a;
  background:linear-gradient(105deg,#0e7490 0%,#0284c7 50%,#0f172a 100%);
  -webkit-text-fill-color: currentColor;
  border-bottom-color:rgba(14,116,144,0.2)
}

@supports ((-webkit-background-clip: text) or (background-clip: text)) {
  html[data-theme="light"].index-home .ix-hero h1,
  html:not([data-theme]).index-home .ix-hero h1,
  html[data-theme="light"].index-home .ix-section h2,
  html:not([data-theme]).index-home .ix-section h2 {
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
  }
}
html[data-theme="light"].index-home .ix-section h3,
html:not([data-theme]).index-home .ix-section h3{color:#0f172a}
html[data-theme="light"].index-home .ix-section p,
html[data-theme="light"].index-home .ix-section li,
html:not([data-theme]).index-home .ix-section p,
html:not([data-theme]).index-home .ix-section li{color:#1e293b}
html[data-theme="light"].index-home .ix-hero .lead,
html:not([data-theme]).index-home .ix-hero .lead{color:#334155}
html[data-theme="light"].index-home .ix-value-card,
html:not([data-theme]).index-home .ix-value-card{
  background:linear-gradient(165deg,rgba(255,255,255,0.96),rgba(248,250,252,0.9));
  border-color:rgba(14,116,144,0.22);
  box-shadow:0 10px 32px -18px rgba(15,23,42,0.12)
}
html[data-theme="light"].index-home .ix-value-card strong,
html:not([data-theme]).index-home .ix-value-card strong{color:#0f172a}
html[data-theme="light"].index-home .ix-phase-card,
html:not([data-theme]).index-home .ix-phase-card{
  border-color:rgba(14,116,144,0.2);
  background:linear-gradient(165deg,rgba(255,255,255,0.95),rgba(241,245,249,0.88))
}
html[data-theme="light"].index-home .ix-btn--ghost,
html:not([data-theme]).index-home .ix-btn--ghost{
  border-color:rgba(14,116,144,0.35);
  color:#0f172a;
  background:rgba(255,255,255,0.75)
}
html[data-theme="light"].index-home .ix-btn--ghost:hover,
html:not([data-theme]).index-home .ix-btn--ghost:hover{
  border-color:rgba(14,116,144,0.5);
  background:rgba(241,245,249,0.95)
}
html[data-theme="light"].index-home .ix-nav a.is-active,
html[data-theme="light"].index-home .ix-nav a[aria-current="location"],
html:not([data-theme]).index-home .ix-nav a.is-active,
html:not([data-theme]).index-home .ix-nav a[aria-current="location"]{
  color:var(--accent);
  box-shadow:inset 0 -2px 0 0 rgba(14,116,144,0.55)
}
html[data-theme="light"].index-home .ix-nav-backdrop,
html:not([data-theme]).index-home .ix-nav-backdrop{background:rgba(15,23,42,0.4)}
html[data-theme="light"].index-home .ix-nav-toggle,
html:not([data-theme]).index-home .ix-nav-toggle{
  border-color:rgba(14,116,144,0.35);
  background:rgba(255,255,255,0.85);
  color:#0e7490
}
html[data-theme="light"].index-home .ix-hero__visual,
html:not([data-theme]).index-home .ix-hero__visual{
  border-color:rgba(14,116,144,0.22);
  background:radial-gradient(ellipse 80% 70% at 40% 30%,rgba(14,165,233,0.12),transparent 55%),radial-gradient(ellipse 60% 50% at 80% 80%,rgba(99,102,241,0.08),transparent 50%),rgba(255,255,255,0.75);
  box-shadow:0 18px 48px -24px rgba(15,23,42,0.15)
}
html[data-theme="light"].index-home .ix-home-footer .footer-col a,
html[data-theme="light"].index-home .ix-home-footer .footer-col button.text-link,
html:not([data-theme]).index-home .ix-home-footer .footer-col a,
html:not([data-theme]).index-home .ix-home-footer .footer-col button.text-link{color:#334155}
html[data-theme="light"].index-home .ix-home-footer .footer-desc,
html:not([data-theme]).index-home .ix-home-footer .footer-desc{color:#475569}
html[data-theme="light"].index-home .ix-home-footer .footer-bar,
html:not([data-theme]).index-home .ix-home-footer .footer-bar{border-top-color:rgba(148,163,184,0.35);color:#475569}

/* Dark homepage: tighten contrast and reduce muddy grays */
html[data-theme="dark"].index-home .ix-section h3{color:#e2e8f0}
html[data-theme="dark"].index-home .ix-section p,
html[data-theme="dark"].index-home .ix-section li{color:#cbd5e1}
html[data-theme="dark"].index-home .ix-nav a{color:#cbd5e1}
html[data-theme="dark"].index-home .ix-nav a:hover{color:var(--ix-accent)}
html[data-theme="dark"].index-home .ix-home-footer .footer-col a,
html[data-theme="dark"].index-home .ix-home-footer .footer-col button.text-link{color:#e2e8f0}

/* Nav list uses main.css tokens (overrides legacy .ix-nav a rules in line 1) */
html.index-home .ix-header .ix-nav.nav .nav-list > li > a:not(.btn){color:var(--muted)}
html.index-home .ix-header .ix-nav.nav .nav-dropdown-toggle{color:var(--muted)}

/* Hero figure (image1.webp): responsive, no distortion */
.ix-hero__figure {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  height: auto;
  max-height: min(56vh, 480px);
  object-fit: cover;
  object-position: center;
  border-radius: clamp(0.7rem, 1.4vw, 1rem);
  border: 1px solid color-mix(in srgb, var(--border) 55%, transparent);
}

/* Emergency mobile cleanup: visible layout stabilization */
@media (max-width: 47.99rem) {
  .ix-hero {
    padding-top: 0.35rem;
  }

  .ix-hero h1 {
    font-size: clamp(1.65rem, 7vw, 2.2rem);
    line-height: 1.15;
  }

  .ix-hero .lead {
    font-size: 0.98rem;
    line-height: 1.58;
  }

  .ix-cta-row {
    gap: 0.55rem;
  }

  .index-main > .ix-section {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
  }

  .ix-section h2 {
    font-size: clamp(1.25rem, 5.4vw, 1.55rem);
    margin-bottom: 0.45rem;
    padding-bottom: 0.55rem;
  }

  .site-footer.ix-home-footer .footer-grid {
    gap: 1.2rem;
  }

  .site-footer.ix-home-footer .footer-col h4 {
    margin-bottom: 0.5rem;
  }
}

/* Homepage CTA consistency: align with global CTA system */
.ix-cta-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  margin-top: 1.25rem;
}

.ix-cta-row .ix-btn,
.ix-cta-row .btn {
  min-height: 48px;
  padding: 0.72rem 1.3rem;
  font-size: 0.95rem;
  font-weight: 650;
  line-height: 1.2;
  text-align: center;
}

@media (max-width: 47.99rem) {
  .ix-cta-row {
    gap: 0.65rem;
    margin-top: 1rem;
  }

  .ix-cta-row .ix-btn,
  .ix-cta-row .btn {
    width: 100%;
  }
}

/* Compact homepage header + right mobile drawer (overrides minified line 1) */
html.index-home {
  --ix-header-h: 3.65rem;
  --ix-max: 78rem;
}
@media (min-width: 64rem) {
  html.index-home {
    --ix-header-h: 4.65rem;
    --ix-max: 79rem;
  }
  .ix-nav-drawer-head {
    display: none;
  }
}

@media (max-width: 63.99rem) {
  .ix-brand .logo {
    height: clamp(2.5rem, 9vw, 3.25rem);
    max-height: 3.35rem;
  }

  .ix-header .ix-nav {
    left: auto;
    top: 0;
    bottom: 0;
    right: 0;
    width: var(--nav-drawer-w, min(22rem, calc(100vw - 2.5rem)));
    max-height: none;
    max-width: 100%;
    padding: 0;
    flex-direction: column;
    align-items: stretch;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    background: color-mix(in srgb, rgba(5, 9, 16, 0.98) 94%, #0f172a);
    border-left: 1px solid rgba(0, 245, 255, 0.16);
    border-bottom: none;
    box-shadow: -14px 0 44px rgba(0, 0, 0, 0.42);
    transform: translate3d(105%, 0, 0);
    opacity: 1;
    pointer-events: auto;
    transition: transform 0.28s cubic-bezier(0.22, 1, 0.36, 1);
    z-index: 99;
  }

  .ix-header.is-open .ix-nav {
    transform: translate3d(0, 0, 0);
  }

  .ix-nav-drawer-head {
    background: inherit;
    border-bottom-color: rgba(148, 163, 184, 0.22);
  }

  .ix-nav .nav-dropdown-toggle {
    width: 100%;
    justify-content: space-between;
    text-align: left;
    background: transparent;
    border: none;
    color: inherit;
    font: inherit;
  }

  .ix-nav .nav-dropdown-toggle::after {
    content: "";
    width: 0.5rem;
    height: 0.5rem;
    border-right: 2px solid rgba(148, 163, 184, 0.75);
    border-bottom: 2px solid rgba(148, 163, 184, 0.75);
    transform: rotate(45deg);
    transition: transform 0.2s ease;
    flex-shrink: 0;
  }

  .ix-nav .nav-item--dropdown.is-open .nav-dropdown-toggle::after {
    transform: rotate(225deg);
  }

  .ix-nav .nav-item--dropdown .nav-dropdown {
    position: static;
    display: none;
    margin: 0 0 0.35rem 0.25rem;
    padding: 0.2rem 0;
    border: none;
    box-shadow: none;
    background: rgba(15, 23, 42, 0.45);
    border-radius: 0.4rem;
  }

  .ix-nav .nav-item--dropdown.is-open .nav-dropdown {
    display: block;
  }

  .ix-nav .nav-dropdown a {
    border-left: 2px solid rgba(45, 212, 191, 0.35);
    margin-left: 0.35rem;
    padding-left: 0.75rem;
  }

  html[data-theme="light"].index-home .ix-header .ix-nav,
  html:not([data-theme]).index-home .ix-header .ix-nav {
    background: color-mix(in srgb, #ffffff 96%, #e2e8f0);
    border-left-color: rgba(14, 116, 144, 0.25);
  }

  html[data-theme="light"].index-home .ix-nav-drawer-head,
  html:not([data-theme]).index-home .ix-nav-drawer-head {
    border-bottom-color: rgba(148, 163, 184, 0.35);
  }
}

/* Premium homepage consolidation pass (borders: single source in shell rules above) */
.ix-section > p,
.ix-section > ul,
.ix-section > .ix-phase-grid {
  margin-top: 0.9rem;
}

.ix-section h3 + p,
.ix-section h3 + ul {
  margin-top: 0.45rem;
}

.ix-phase-grid {
  grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
}

.ix-value-grid {
  grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
}

.ix-home-footer .footer-desc {
  max-width: 34ch;
}

/* Homepage hero: device-aware title + lead (desktop unchanged at ≥64rem) */
@media (max-width: 47.99rem) {
  /* Avoid clipping/stacking issues with gradient text + motion children (Safari). */
  .ix-hero {
    overflow: clip;
  }

  html.index-home main > section.ix-hero#top:first-of-type {
    padding-top: max(0.85rem, var(--hero-header-gap, 0.9rem)) !important;
    padding-bottom: clamp(1.25rem, 5vw, 2rem);
  }

  .ix-hero__grid {
    gap: clamp(1rem, 4vw, 1.5rem);
  }

  .ix-hero__copy {
    display: flex;
    flex-direction: column;
    gap: 0.7rem;
    min-width: 0;
  }

  .ix-hero h1 {
    font-size: clamp(1.42rem, 5vw + 0.45rem, 1.95rem);
    line-height: 1.13;
    letter-spacing: -0.032em;
    text-wrap: balance;
    max-width: 100%;
  }

  .ix-hero .lead {
    font-size: clamp(0.95rem, 2.5vw + 0.65rem, 1.04rem);
    line-height: 1.6;
    max-width: 100%;
    margin-top: 0 !important;
  }

  .ix-cta-row {
    margin-top: 1rem !important;
  }
}

@supports not (overflow: clip) {
  @media (max-width: 47.99rem) {
    .ix-hero {
      overflow: hidden;
    }
  }
}

@media (min-width: 48rem) and (max-width: 63.99rem) {
  .ix-hero h1 {
    font-size: clamp(1.85rem, 2.2vw + 1.1rem, 2.65rem);
    line-height: 1.1;
  }

  .ix-hero .lead {
    font-size: clamp(1rem, 1.2vw + 0.75rem, 1.12rem);
    line-height: 1.62;
    max-width: min(100%, 52ch);
  }
}

/* Laboratory image carousel (homepage) — responsive frame, swipe + auto-advance */
.tir-lab-carousel-section {
  padding-top: clamp(1.25rem, 4vw, 2rem) !important;
  padding-bottom: clamp(1.5rem, 4vw, 2.5rem) !important;
}

.tir-lab-carousel-section__title {
  margin: 0 0 1rem;
  font-size: clamp(1.1rem, 2.8vw, 1.45rem);
  font-weight: 700;
  color: var(--ix-accent, #2dd4bf);
}

.tir-lab-carousel {
  position: relative;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  border-radius: var(--ix-radius-lg, 16px);
  border: 1px solid rgba(45, 212, 191, 0.2);
  background: rgba(15, 23, 42, 0.35);
  overflow: hidden;
  box-shadow: 0 12px 40px -24px rgba(0, 0, 0, 0.55);
  touch-action: pan-x;
  isolation: isolate;
}

.tir-lab-carousel__viewport {
  --tir-lab-carousel-h: clamp(12.5rem, 52vw, 26rem);
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  gap: 0;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  height: var(--tir-lab-carousel-h);
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  contain: layout paint;
  overscroll-behavior-x: contain;
  overscroll-behavior-y: auto;
}

.tir-lab-carousel__viewport::-webkit-scrollbar {
  display: none;
}

.tir-lab-carousel__slide {
  flex: 0 0 100%;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  height: 100%;
  margin: 0;
  scroll-snap-align: start;
  scroll-snap-stop: always;
  margin: 0;
  box-sizing: border-box;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: clamp(0.65rem, 3vw, 1.15rem);
  background: rgba(2, 6, 23, 0.4);
}

.tir-lab-carousel__slide img {
  display: block;
  min-width: 0;
  max-width: 100%;
  width: auto;
  height: auto;
  max-height: 100%;
  object-fit: contain;
  object-position: center;
  pointer-events: none;
  user-select: none;
}

.tir-lab-carousel__slide--clone {
  visibility: visible;
}

@media (prefers-reduced-motion: reduce) {
  .tir-lab-carousel__viewport {
    scroll-behavior: auto;
  }
}

/* Homepage shell: subtle enter after motion system (respects splash + reduced motion) */
@keyframes tir-home-main-in {
  from {
    opacity: 0.88;
    transform: translate3d(0, 10px, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@media (prefers-reduced-motion: no-preference) {
  html:not(.tir-splash-active) body.index-home.motion-ready #main.index-main {
    animation: tir-home-main-in 0.55s cubic-bezier(0.22, 1, 0.36, 1) 0.06s both;
  }

  html.tir-splash-active body.index-home #main.index-main {
    animation: none;
  }
}

/* Stable scroll height: content-visibility:auto on .ix-section made document scrollHeight shrink while
   scrolling (off-screen sections collapsed), breaking scroll-to-end and feeling like a stuck/double scroll. */
html.index-home main.index-main .ix-section {
  content-visibility: visible;
}

/* ========== Homepage premium UI (rhythm, type, hierarchy, motion) ========== */
html.index-home {
  --ix-premium-ease: cubic-bezier(0.16, 1, 0.3, 1);
  --ix-premium-section-y: clamp(2.85rem, 6.5vw, 4.5rem);
  --ix-premium-prose: min(100%, 64ch);
  --ix-premium-shadow-card: 0 1px 0 rgba(255, 255, 255, 0.04) inset, 0 14px 40px -28px rgba(0, 0, 0, 0.55),
    0 0 0 1px rgba(45, 212, 191, 0.08);
  --ix-premium-shadow-card-hover: 0 18px 48px -26px rgba(0, 0, 0, 0.6), 0 0 0 1px rgba(45, 212, 191, 0.18);
}

html.index-home main.index-main > .ix-section {
  padding-top: var(--ix-premium-section-y) !important;
  padding-bottom: var(--ix-premium-section-y) !important;
}

html.index-home main.index-main > .hero.ix-hero {
  padding-top: clamp(1.35rem, 4vw, 3rem) !important;
  padding-bottom: clamp(2rem, 5.5vw, 4rem) !important;
}

html.index-home main.index-main > .tir-lab-carousel-section {
  padding-top: clamp(2rem, 5vw, 3rem) !important;
  padding-bottom: clamp(2.25rem, 5.5vw, 3.25rem) !important;
}

/* Typography & measure */
html.index-home main.index-main .ix-section > h2:not(.tir-lab-carousel-section__title) {
  font-family: var(--font-display, "Sora", system-ui, sans-serif);
  font-weight: 800;
  letter-spacing: -0.025em;
  line-height: 1.12;
  margin-bottom: 0.65rem !important;
  padding-bottom: 0;
  border-bottom: none;
}

html.index-home main.index-main .ix-section > h2:not(.tir-lab-carousel-section__title)::after {
  content: "";
  display: block;
  width: min(5rem, 22vw);
  height: 3px;
  margin-top: 0.55rem;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(45, 212, 191, 0.95), rgba(34, 211, 238, 0.2));
}

html.index-home main.index-main .ix-section > h3 {
  font-family: var(--font-display, "Sora", system-ui, sans-serif);
  font-weight: 700;
  letter-spacing: -0.018em;
  font-size: clamp(1.05rem, 1.15vw + 0.92rem, 1.2rem);
  line-height: 1.28;
  color: #e8eef7;
  margin-top: 2.1rem !important;
}

html.index-home main.index-main .ix-section > h2 + h3 {
  margin-top: 1.15rem !important;
}

html.index-home[data-theme="light"] main.index-main .ix-section > h3,
html.index-home:not([data-theme]) main.index-main .ix-section > h3 {
  color: #0f172a;
}

html.index-home main.index-main .ix-section > p {
  max-width: var(--ix-premium-prose);
  font-size: clamp(0.98rem, 0.35vw + 0.92rem, 1.06rem);
  line-height: 1.68;
  color: rgba(226, 232, 240, 0.95);
}

html.index-home[data-theme="light"] main.index-main .ix-section > p,
html.index-home:not([data-theme]) main.index-main .ix-section > p {
  color: #334155;
}

html.index-home main.index-main .ix-section > ul:not(.ix-value-grid) {
  max-width: var(--ix-premium-prose);
  padding-left: 1.15rem;
  margin-top: 0.75rem !important;
}

html.index-home main.index-main .ix-section > ul:not(.ix-value-grid) > li + li {
  margin-top: 0.55rem;
}

html.index-home main.index-main .ix-section > ul:not(.ix-value-grid) > li::marker {
  color: rgba(45, 212, 191, 0.75);
}

/* Section labels: carousel title matches page H2 cadence */
html.index-home .tir-lab-carousel-section__title {
  font-family: var(--font-display, "Sora", system-ui, sans-serif);
  font-weight: 800;
  letter-spacing: -0.022em;
  line-height: 1.15;
  margin-bottom: 1.1rem;
  padding-bottom: 0;
  border-bottom: none;
  font-size: clamp(1.2rem, 2.6vw, 1.55rem);
}

html.index-home .tir-lab-carousel-section__title::after {
  content: "";
  display: block;
  width: min(5rem, 22vw);
  height: 3px;
  margin-top: 0.55rem;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(45, 212, 191, 0.95), rgba(34, 211, 238, 0.2));
}

/* Cards */
html.index-home .ix-phase-card,
html.index-home .ix-value-card {
  border-radius: calc(var(--ix-radius, 14px) + 2px);
  box-shadow: var(--ix-premium-shadow-card);
  background: linear-gradient(165deg, rgba(15, 23, 42, 0.78) 0%, rgba(8, 12, 22, 0.92) 100%);
}

html.index-home[data-theme="light"] .ix-phase-card,
html.index-home[data-theme="light"] .ix-value-card,
html.index-home:not([data-theme]) .ix-phase-card,
html.index-home:not([data-theme]) .ix-value-card {
  background: linear-gradient(165deg, rgba(255, 255, 255, 0.99) 0%, rgba(248, 250, 252, 0.94) 100%);
}

@media (hover: hover) and (pointer: fine) {
  html.index-home .ix-phase-card:hover,
  html.index-home .ix-value-card:hover {
    box-shadow: var(--ix-premium-shadow-card-hover);
    border-color: rgba(45, 212, 191, 0.28);
  }
}

/* Primary / ghost CTAs */
html.index-home .ix-btn.ix-btn--primary,
html.index-home .ix-btn.btn-primary {
  letter-spacing: 0.01em;
  font-weight: 700;
  border-radius: 999px;
  box-shadow: 0 4px 20px -4px rgba(34, 211, 238, 0.35), 0 1px 0 rgba(255, 255, 255, 0.2) inset;
}

html.index-home .ix-btn.ix-btn--ghost,
html.index-home .ix-btn.btn-ghost {
  letter-spacing: 0.01em;
  font-weight: 650;
  border-radius: 999px;
  border-width: 1.5px;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

@media (hover: hover) and (pointer: fine) {
  html.index-home .ix-btn.ix-btn--primary:hover,
  html.index-home .ix-btn.btn-primary:hover {
    box-shadow: 0 8px 28px -6px rgba(34, 211, 238, 0.45), 0 1px 0 rgba(255, 255, 255, 0.25) inset;
  }
}

html.index-home .ix-btn:focus-visible {
  outline: 2px solid rgba(45, 212, 191, 0.85);
  outline-offset: 3px;
}

/* Hero visual polish */
@media (hover: hover) and (pointer: fine) {
  html.index-home .ix-hero__visual {
    transition: box-shadow 0.4s var(--ix-premium-ease), border-color 0.35s ease, transform 0.45s var(--ix-premium-ease);
  }

  html.index-home .ix-hero__grid:hover .ix-hero__visual {
    transform: translate3d(0, -3px, 0);
    box-shadow: 0 22px 56px -32px rgba(0, 0, 0, 0.55), 0 0 0 1px rgba(45, 212, 191, 0.22);
  }
}

/* Scroll reveal: smoother section entrance */
@media (prefers-reduced-motion: no-preference) {
  html.js.index-home body.motion-ready main.index-main > section.ix-section.tir-section-reveal:not(.is-inview) {
    opacity: 0;
    transform: translate3d(0, 1.15rem, 0);
    transition:
      opacity 0.65s var(--ix-premium-ease),
      transform 0.65s var(--ix-premium-ease);
  }

  html.js.index-home body.motion-ready main.index-main > section.ix-section.tir-section-reveal.is-inview {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@keyframes tir-premium-card-in {
  from {
    transform: translate3d(0, 10px, 0);
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}

@media (prefers-reduced-motion: no-preference) {
  html.js.index-home body.motion-ready main.index-main > section.ix-section.tir-section-reveal.is-inview .ix-phase-card {
    animation: tir-premium-card-in 0.52s var(--ix-premium-ease) both;
  }

  html.js.index-home body.motion-ready main.index-main > section.ix-section.tir-section-reveal.is-inview .ix-phase-card:nth-child(1) {
    animation-delay: 0.05s;
  }

  html.js.index-home body.motion-ready main.index-main > section.ix-section.tir-section-reveal.is-inview .ix-phase-card:nth-child(2) {
    animation-delay: 0.11s;
  }

  html.js.index-home body.motion-ready main.index-main > section.ix-section.tir-section-reveal.is-inview .ix-phase-card:nth-child(3) {
    animation-delay: 0.17s;
  }

  html.js.index-home body.motion-ready main.index-main > section.ix-section.tir-section-reveal.is-inview .ix-value-card:nth-child(1) {
    animation: tir-premium-card-in 0.52s var(--ix-premium-ease) 0.04s both;
  }

  html.js.index-home body.motion-ready main.index-main > section.ix-section.tir-section-reveal.is-inview .ix-value-card:nth-child(2) {
    animation: tir-premium-card-in 0.52s var(--ix-premium-ease) 0.08s both;
  }

  html.js.index-home body.motion-ready main.index-main > section.ix-section.tir-section-reveal.is-inview .ix-value-card:nth-child(3) {
    animation: tir-premium-card-in 0.52s var(--ix-premium-ease) 0.12s both;
  }

  html.js.index-home body.motion-ready main.index-main > section.ix-section.tir-section-reveal.is-inview .ix-value-card:nth-child(4) {
    animation: tir-premium-card-in 0.52s var(--ix-premium-ease) 0.16s both;
  }

  html.js.index-home body.motion-ready main.index-main > section.ix-section.tir-section-reveal.is-inview .ix-value-card:nth-child(5) {
    animation: tir-premium-card-in 0.52s var(--ix-premium-ease) 0.2s both;
  }
}

@media (prefers-reduced-motion: reduce) {
  html.index-home main.index-main > section.ix-section.tir-section-reveal,
  html.index-home main.index-main > section.ix-section.tir-section-reveal .ix-phase-card,
  html.index-home main.index-main > section.ix-section.tir-section-reveal .ix-value-card {
    animation: none !important;
  }
}

/* Contact links */
html.index-home #contact a[href^="mailto:"] {
  font-weight: 600;
  text-underline-offset: 0.2em;
  color: var(--ix-accent-2, #5eead4);
}

/* ===== 2026-04 homepage premium refinement ===== */
html.index-home main.index-main .ix-section {
  padding-inline: clamp(1rem, 3.2vw, 2rem);
}

html.index-home main.index-main .ix-section > p {
  max-width: min(100%, 62ch);
}

html.index-home .ix-hero__copy {
  max-width: min(100%, 62ch);
}

html.index-home .ix-hero .lead {
  line-height: 1.7;
}

@media (max-width: 47.99rem) {
  html.index-home .ix-hero {
    padding-top: 0.75rem !important;
    padding-bottom: 1.8rem !important;
  }

  html.index-home .ix-hero h1 {
    font-size: clamp(1.85rem, 8.2vw, 2.5rem) !important;
    line-height: 1.13 !important;
    margin-bottom: 0.78rem !important;
  }

  html.index-home .ix-hero .lead {
    font-size: clamp(0.96rem, 1vw + 0.86rem, 1.04rem);
    line-height: 1.62;
    margin-bottom: 0.9rem;
  }

  html.index-home .ix-section h2 {
    font-size: clamp(1.32rem, 5.1vw, 1.72rem);
    line-height: 1.2;
    margin-bottom: 0.52rem !important;
  }

  html.index-home .ix-section > h3 {
    margin-top: 1.45rem !important;
    font-size: clamp(1rem, 3.2vw, 1.12rem);
  }

  html.index-home .ix-section > p {
    font-size: 0.98rem;
    line-height: 1.64;
  }

  html.index-home .ix-value-card,
  html.index-home .ix-phase-card {
    padding: 1rem 0.95rem;
  }
}

/* Keep reveal animation active; only make sections instantly visible for reduced motion. */
@media (prefers-reduced-motion: reduce) {
  html.index-home main.index-main > section.ix-section.tir-section-reveal {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}

html.index-home[data-theme="light"] #contact a[href^="mailto:"],
html.index-home:not([data-theme]) #contact a[href^="mailto:"] {
  color: #0d9488;
}

/* Carousel frame alignment with section */
html.index-home .tir-lab-carousel {
  box-shadow: var(--ix-premium-shadow-card);
}

html.index-home .site-footer.ix-home-footer {
  margin-top: clamp(2.75rem, 7vw, 4.25rem);
  padding-top: clamp(2.75rem, 6vw, 3.75rem);
}

/* Mobile-first homepage action visibility lock (text labels must always be readable). */
@media (max-width: 47.99rem) {
  html.index-home .ix-btn,
  html.index-home .section-cta .btn,
  html.index-home .card a.btn,
  html.index-home a[href="/science.html"],
  html.index-home a[href="/pipeline.html"],
  html.index-home a[href="/investors.html"],
  html.index-home a[href="/patients.html"],
  html.index-home a[href="/careers.html"] {
    opacity: 1 !important;
    visibility: visible !important;
    color: #f8fcff !important;
    -webkit-text-fill-color: #f8fcff !important;
    mix-blend-mode: normal !important;
    text-shadow: 0 1px 2px rgba(2, 6, 23, 0.45);
    transform: none !important;
  }

  html.index-home .ix-btn.ix-btn--primary,
  html.index-home .btn.btn-primary {
    background: linear-gradient(135deg, #008ec8, #11c8ff) !important;
    border-color: rgba(255, 255, 255, 0.16) !important;
  }

  /* Root-cause fix: light mode ghost CTAs were forced to white text, becoming unreadable. */
  html[data-theme="light"].index-home #pipelines-teaser .ix-cta-row a,
  html[data-theme="light"].index-home #partners-teaser .ix-cta-row a,
  html:not([data-theme]).index-home #pipelines-teaser .ix-cta-row a,
  html:not([data-theme]).index-home #partners-teaser .ix-cta-row a {
    color: #0f172a !important;
    -webkit-text-fill-color: #0f172a !important;
    background: rgba(255, 255, 255, 0.94) !important;
    border-color: rgba(14, 116, 144, 0.34) !important;
    text-shadow: none !important;
  }

  html[data-theme="dark"].index-home #pipelines-teaser .ix-cta-row a,
  html[data-theme="dark"].index-home #partners-teaser .ix-cta-row a {
    color: #e2e8f0 !important;
    -webkit-text-fill-color: #e2e8f0 !important;
    background: rgba(15, 23, 42, 0.42) !important;
    border-color: rgba(45, 212, 191, 0.34) !important;
    text-shadow: 0 1px 2px rgba(2, 6, 23, 0.45) !important;
  }
}

/* Existing homepage teaser CTAs: visibility and contrast lock (no duplicate render paths). */
html.index-home #science-teaser .ix-cta-row a,
html.index-home #pipelines-teaser .ix-cta-row a,
html.index-home #partners-teaser .ix-cta-row a,
html.index-home #careers-teaser .ix-cta-row a {
  display: inline-flex !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  pointer-events: auto;
  position: relative;
  z-index: 2;
}

html.index-home #science-teaser .ix-cta-row,
html.index-home #pipelines-teaser .ix-cta-row,
html.index-home #partners-teaser .ix-cta-row,
html.index-home #careers-teaser .ix-cta-row {
  overflow: visible;
}

@media (max-width: 47.99rem) {
  html.index-home #science-teaser .ix-cta-row a,
  html.index-home #pipelines-teaser .ix-cta-row a,
  html.index-home #partners-teaser .ix-cta-row a,
  html.index-home #careers-teaser .ix-cta-row a {
    width: 100%;
    min-height: 48px;
    justify-content: center;
  }
}

/* Final production CTA visibility lock: existing homepage CTA nodes only. */
html.index-home :is(#science-teaser, #pipelines-teaser, #partners-teaser, #careers-teaser) .ix-cta-row a {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  filter: none !important;
  mix-blend-mode: normal !important;
  -webkit-text-fill-color: currentColor !important;
  background-clip: border-box !important;
  text-shadow: none !important;
  position: relative;
  z-index: 3;
  pointer-events: auto !important;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}

html.index-home :is(#science-teaser, #pipelines-teaser, #partners-teaser, #careers-teaser) .ix-cta-row a::before,
html.index-home :is(#science-teaser, #pipelines-teaser, #partners-teaser, #careers-teaser) .ix-cta-row a::after {
  pointer-events: none !important;
}

html[data-theme="light"].index-home
  :is(#science-teaser, #pipelines-teaser, #partners-teaser, #careers-teaser)
  .ix-cta-row
  a,
html:not([data-theme]).index-home
  :is(#science-teaser, #pipelines-teaser, #partners-teaser, #careers-teaser)
  .ix-cta-row
  a {
  color: #0f172a !important;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.95)) !important;
  border: 1px solid rgba(14, 116, 144, 0.34) !important;
  box-shadow: 0 12px 28px -20px rgba(15, 23, 42, 0.3);
}

html[data-theme="dark"].index-home
  :is(#science-teaser, #pipelines-teaser, #partners-teaser, #careers-teaser)
  .ix-cta-row
  a {
  color: #e2e8f0 !important;
  background: linear-gradient(180deg, rgba(15, 23, 42, 0.54), rgba(15, 23, 42, 0.46)) !important;
  border: 1px solid rgba(45, 212, 191, 0.34) !important;
  box-shadow: 0 14px 32px -22px rgba(0, 0, 0, 0.55);
}

/* Permanent CTA visibility lock for real homepage section ids only. */
html[data-theme="light"].index-home #science-teaser .ix-cta-row a,
html[data-theme="light"].index-home #pipelines-teaser .ix-cta-row a,
html[data-theme="light"].index-home #partners-teaser .ix-cta-row a,
html[data-theme="light"].index-home #careers-teaser .ix-cta-row a,
html:not([data-theme]).index-home #science-teaser .ix-cta-row a,
html:not([data-theme]).index-home #pipelines-teaser .ix-cta-row a,
html:not([data-theme]).index-home #partners-teaser .ix-cta-row a,
html:not([data-theme]).index-home #careers-teaser .ix-cta-row a {
  color: #0f172a !important;
  -webkit-text-fill-color: #0f172a !important;
  background: rgba(255, 255, 255, 0.95) !important;
  border: 1px solid rgba(14, 116, 144, 0.34) !important;
  text-shadow: none !important;
}

html[data-theme="dark"].index-home #science-teaser .ix-cta-row a,
html[data-theme="dark"].index-home #pipelines-teaser .ix-cta-row a,
html[data-theme="dark"].index-home #partners-teaser .ix-cta-row a,
html[data-theme="dark"].index-home #careers-teaser .ix-cta-row a {
  color: #e2e8f0 !important;
  -webkit-text-fill-color: #e2e8f0 !important;
  background: rgba(15, 23, 42, 0.44) !important;
  border: 1px solid rgba(45, 212, 191, 0.34) !important;
  text-shadow: 0 1px 2px rgba(2, 6, 23, 0.45) !important;
}

