@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Manrope:wght@400;500;600;700;800&display=swap');

:root {
  --vr-violet: #3e1760;
  --vr-violet-deep: #200a38;
  --vr-plum: #6f2b75;
  --vr-coral: #f34f6f;
  --vr-gold: #ffbf68;
  --vr-blush: #fff2ef;
  --vr-lilac: #efe6ff;
  --vr-ink: #261432;
  --vr-white: #fffdfb;
  --vr-gradient: linear-gradient(135deg, #8d5be7 0%, #f34f6f 54%, #ffbf68 100%);
  --vr-radius: clamp(28px, 4vw, 64px);
}

/* V30 requested backgrounds, centered impact layout and line-chart motion. */
body > .iit-partnership {
	background:
		radial-gradient(circle at 80% 20%, rgba(255, 190, 116, .48), transparent 30%),
		radial-gradient(circle at 17% 76%, rgba(154, 94, 224, .42), transparent 33%),
		linear-gradient(118deg, #4b216b 0%, #845197 43%, #e5849d 73%, #ffd0ad 100%) !important;
}

body > .features {
	background: url('../approach-molecular-bg.png') center / cover no-repeat !important;
}

.impact-statistics .stats-grid {
	position: relative;
	left: -3.5% !important;
	transform: none !important;
}

.line-growth-chart {
	display: block !important;
	width: 82% !important;
	height: 130px !important;
	padding: 0 !important;
	border: 0 !important;
	overflow: visible;
}

.line-growth-chart svg {
	width: 100%;
	height: 100%;
	overflow: visible;
}

.line-growth-chart .line-grid {
	fill: none;
	stroke: rgba(255, 255, 255, .16);
	stroke-width: 1;
}

.line-growth-chart .data-line {
	fill: none;
	stroke: #fff;
	stroke-width: 5;
	stroke-linecap: round;
	stroke-linejoin: round;
	filter: drop-shadow(0 0 8px rgba(255, 255, 255, .55));
	stroke-dasharray: 520;
	stroke-dashoffset: 520;
}

.line-growth-chart .data-runner {
	fill: #fff;
	opacity: 0;
	filter: drop-shadow(0 0 8px #fff) drop-shadow(0 0 12px rgba(255, 255, 255, .7));
}

.impact-statistics.impact-playing .line-growth-chart .data-line {
	animation: dataLineDraw 3.6s cubic-bezier(.2, .7, .2, 1) 1.05s both;
}

.impact-statistics.impact-playing .line-growth-chart .data-runner {
	animation: dataRunnerReveal 3.6s linear 1.05s both;
}

@keyframes dataLineDraw {
	from { stroke-dashoffset: 520; }
	to { stroke-dashoffset: 0; }
}

@keyframes dataRunnerReveal {
	0% { opacity: 0; }
	4%, 100% { opacity: 1; }
}

@media (max-width: 820px) {
	.impact-statistics .stats-grid {
		left: 0 !important;
	}
}

html { scroll-behavior: smooth; background: var(--vr-blush); }

body {
  background:
    radial-gradient(circle at 12% 8%, rgba(255,191,104,.28), transparent 25rem),
    radial-gradient(circle at 88% 23%, rgba(141,91,231,.18), transparent 28rem),
    var(--vr-blush) !important;
  color: var(--vr-ink) !important;
  font-family: 'DM Sans', sans-serif !important;
  cursor: default;
}

body::before {
  content: '';
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 9990;
  opacity: .18;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.18'/%3E%3C/svg%3E");
  mix-blend-mode: multiply;
}

body, body * { font-family: 'DM Sans', sans-serif; }
h1, h2, h3, h4, .section-title, .member-name { font-family: 'Manrope', sans-serif !important; letter-spacing: -.045em; }

/* Persistent navigation */
header {
  position: fixed !important;
  top: 18px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: min(94%, 1180px) !important;
  min-height: 74px !important;
  height: 74px !important;
  border: 1px solid rgba(62,23,96,.12) !important;
  border-radius: 999px !important;
  background: rgba(255,253,251,.78) !important;
  backdrop-filter: blur(20px) saturate(150%) !important;
  box-shadow: 0 12px 40px rgba(62,23,96,.10) !important;
  z-index: 9000 !important;
}

.navbar { min-height: 74px !important; height: 74px !important; padding: 0 22px !important; justify-content: flex-end !important; }
.logo { left: 19px !important; height: 58px !important; top: 50% !important; }
.logo-icon { height: 56px !important; padding: 0 !important; }
.logo-icon img { width: 50px !important; height: 50px !important; object-fit: contain; }
.nav-links { gap: 6px !important; align-items: center; }
.nav-links a {
  color: var(--vr-violet) !important;
  border-radius: 999px;
  padding: 10px 15px !important;
  font-size: 13px;
  font-weight: 600 !important;
  transition: color .25s ease, background .25s ease, transform .25s ease !important;
}
.nav-links a::after { display: none !important; }
.nav-links a:hover, .nav-links a.active { color: white !important; background: var(--vr-violet) !important; transform: translateY(-2px); }
.mobile-menu-btn { color: var(--vr-violet) !important; }
.dropdown-content { background: rgba(255,253,251,.96) !important; border: 1px solid rgba(62,23,96,.12); }

/* Hero worlds */
.hero, .page-header {
  min-height: 100svh !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 140px max(6vw, 28px) 70px !important;
  color: var(--vr-ink) !important;
  background: transparent !important;
  overflow: hidden;
  isolation: isolate;
}
.hero::before, .page-header::before {
  content: '';
  position: absolute;
  inset: 110px 3vw 24px;
  border-radius: var(--vr-radius);
  background:
    radial-gradient(circle at 24% 18%, rgba(255,255,255,.55), transparent 24%),
    linear-gradient(135deg, #e6d7ff 0%, #f8b8c5 55%, #ffd890 100%);
  z-index: -2;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.36), 0 28px 80px rgba(62,23,96,.15);
}
.hero::after, .page-header::after {
  content: '';
  position: absolute;
  width: min(42vw, 620px);
  aspect-ratio: 1;
  right: -8vw;
  bottom: -17%;
  border-radius: 43% 57% 62% 38% / 49% 42% 58% 51%;
  background: var(--vr-gradient);
  filter: blur(1px);
  opacity: .8;
  z-index: -1;
  animation: vrMorph 12s ease-in-out infinite alternate;
}
.hero-content, .page-header-content { position: relative; z-index: 2; }
.hero h1, .page-header h1 {
  color: var(--vr-violet-deep) !important;
  font-size: clamp(3.8rem, 8.8vw, 9.3rem) !important;
  line-height: .88 !important;
  max-width: 1000px;
  margin-bottom: clamp(28px, 5vw, 60px) !important;
}
.hero h1 span { color: var(--vr-coral) !important; }
.hero h1 span::after { display: none !important; }
.hero p, .page-header p { color: rgba(38,20,50,.78) !important; font-size: clamp(1rem, 1.5vw, 1.35rem) !important; max-width: 600px; }
.hero-image { min-height: 520px; }
.hero-image video { width: min(48vw, 680px) !important; border-radius: 50% 42% 48% 54%; transform: rotate(-3deg); box-shadow: 0 30px 80px rgba(62,23,96,.22); }
.heart-pulse { background: radial-gradient(circle, rgba(243,79,111,.35), transparent 66%) !important; }

/* Editorial section system */
section:not(.hero):not(.page-header) { position: relative; }
.features, .video-section, .patient-carousel-section, .iit-partnership,
.key-differentiators, .how-it-works, .impact-statistics, .technology,
.product-showcase, .features-section, .team-section, .section,
.contact-section, .demo-request, .calculator-section, section[style] {
  background: transparent !important;
  padding: clamp(90px, 12vw, 180px) max(5vw, 24px) !important;
  color: var(--vr-ink) !important;
}
.section-container { max-width: 1280px !important; }
.section-title {
  color: var(--vr-violet-deep) !important;
  font-size: clamp(3rem, 6.7vw, 7rem) !important;
  line-height: .94 !important;
  max-width: 960px;
}
.section-title::after { display: none !important; }
.section-subtitle { color: var(--vr-plum) !important; font-size: clamp(1rem, 1.6vw, 1.25rem) !important; }
p, li { color: rgba(38,20,50,.77) !important; }

/* Dimensional cards */
.features-grid, .team-grid, .advisor-grid, .roadmap-grid, .demo-grid { gap: clamp(18px, 2.4vw, 34px) !important; }
.feature-card, .stat-card, .roadmap-card, .demo-card, .advisor-card,
.team-card .card-front, .team-card .card-back, .contact-form,
.calculator-form, .calculator-results, .iit-highlight, .product-content {
  background: rgba(255,253,251,.78) !important;
  border: 1px solid rgba(62,23,96,.11) !important;
  border-radius: clamp(24px, 3vw, 44px) !important;
  box-shadow: 0 20px 60px rgba(62,23,96,.09) !important;
  color: var(--vr-ink) !important;
  backdrop-filter: blur(14px);
}
.feature-card { min-height: 320px; padding: clamp(28px, 3vw, 46px) !important; }
.feature-card::before, .stat-card::before { height: 0 !important; }
.feature-card h3, .feature-card p, .stat-number, .stat-label,
.roadmap-card h3, .roadmap-card p, .demo-card h3, .demo-card p,
.product-info h2, .product-info p { color: var(--vr-ink) !important; }
.feature-icon, .stat-icon, .demo-icon, .play-btn, .carousel-btn {
  background: var(--vr-gradient) !important;
  box-shadow: 0 12px 30px rgba(243,79,111,.25) !important;
}
.feature-card:hover, .roadmap-card:hover, .demo-card:hover, .advisor-card:hover {
  transform: translateY(-14px) rotate(.5deg) !important;
  box-shadow: 0 30px 80px rgba(62,23,96,.18) !important;
}

/* Mipogg-inspired horizontal image world */
.patient-carousel-section {
  margin: 0 3vw;
  border-radius: var(--vr-radius);
  background: var(--vr-violet-deep) !important;
  overflow: hidden;
}
.patient-carousel-section .section-title, .patient-carousel-section .section-subtitle,
.patient-carousel-section p { color: white !important; }
.carousel-container { max-width: 1380px !important; overflow: visible !important; }
.carousel-slide { padding: 0 4vw !important; }
.carousel-slide img { max-width: 980px !important; height: min(62vh, 680px) !important; object-fit: cover; border-radius: var(--vr-radius) !important; }
.carousel-caption { font-size: 1.05rem; color: white !important; }

/* Video as a portal */
.video-container { max-width: 1180px !important; border-radius: var(--vr-radius) !important; box-shadow: 0 35px 100px rgba(62,23,96,.23) !important; }
.video-container video { border-radius: var(--vr-radius) !important; }
.video-overlay { background: linear-gradient(140deg, rgba(62,23,96,.10), rgba(243,79,111,.42)) !important; }

/* Buttons */
.cta-button, .submit-btn, button.cta-button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 54px;
  border-radius: 999px !important;
  padding: 14px 26px !important;
  background: var(--vr-violet) !important;
  color: white !important;
  border: 0 !important;
  box-shadow: 0 12px 26px rgba(62,23,96,.18) !important;
  transition: transform .25s ease, box-shadow .25s ease, background .25s ease !important;
}
.cta-button:hover, .submit-btn:hover { transform: translateY(-4px) scale(1.03) !important; background: var(--vr-coral) !important; }

/* Team */
.team-card { background: transparent !important; min-height: 520px !important; perspective: 1300px; }
.member-image-container { height: 330px !important; border-radius: 30px 30px 80px 30px !important; overflow: hidden; }
.member-image, .advisor-image { filter: saturate(.88); }
.member-name { color: var(--vr-violet-deep) !important; }
.member-title, .member-bio, .advisor-bio { color: rgba(38,20,50,.72) !important; }
.card-back { background: var(--vr-violet) !important; }
.card-back *, .card-back p, .card-back .member-name { color: white !important; }

/* Forms */
input, select, textarea {
  color: var(--vr-ink) !important;
  background: rgba(255,255,255,.72) !important;
  border: 1px solid rgba(62,23,96,.18) !important;
  border-radius: 16px !important;
  padding: 15px 17px !important;
}
input:focus, select:focus, textarea:focus { outline: 2px solid rgba(243,79,111,.32) !important; border-color: var(--vr-coral) !important; }
label { color: var(--vr-violet-deep) !important; }

/* Footer world */
footer {
  margin: 0 3vw 3vw !important;
  padding: clamp(70px, 9vw, 120px) max(5vw, 32px) 30px !important;
  border-radius: var(--vr-radius) !important;
  background: var(--vr-violet-deep) !important;
  color: white !important;
  overflow: hidden;
}
footer *, footer p, footer li, footer a { color: rgba(255,255,255,.82) !important; }
.footer-logo-icon { width: 70px !important; height: 70px !important; object-fit: contain; }
.social-links a { background: rgba(255,255,255,.12) !important; }
.footer-heartbeat-line { background-color: var(--vr-coral) !important; }

/* Decorative interaction layer */
.vr-orb {
  position: fixed;
  width: 220px;
  aspect-ratio: 1;
  border-radius: 50%;
  background: var(--vr-gradient);
  filter: blur(40px);
  opacity: .13;
  pointer-events: none;
  z-index: 1;
  transform: translate3d(-50%, -50%, 0);
  transition: width .35s ease, opacity .35s ease;
}
.vr-orb.is-active { width: 330px; opacity: .22; }
.vr-reveal { opacity: 0; transform: translateY(80px) scale(.96); transition: opacity .9s cubic-bezier(.2,.75,.25,1), transform .9s cubic-bezier(.2,.75,.25,1); }
.vr-reveal.is-visible { opacity: 1; transform: none; }

.side-nav { background: rgba(255,253,251,.78) !important; border: 1px solid rgba(62,23,96,.12); }
.side-nav-item { color: var(--vr-violet) !important; }
.side-nav-item.active { background: var(--vr-violet) !important; color: white !important; }
.floating-hearts { opacity: .35; }
.wave-bg, .heartbeat-bg { opacity: .22 !important; }

@keyframes vrMorph {
  0% { border-radius: 43% 57% 62% 38% / 49% 42% 58% 51%; transform: rotate(0deg) scale(1); }
  100% { border-radius: 60% 40% 36% 64% / 38% 63% 37% 62%; transform: rotate(10deg) scale(1.08); }
}

@media (max-width: 900px) {
  header { top: 10px !important; width: calc(100% - 20px) !important; }
  .navbar { justify-content: flex-end !important; }
  .nav-links {
    position: fixed !important;
    top: 82px;
    left: 0;
    right: 0;
    padding: 18px !important;
    background: rgba(255,253,251,.97) !important;
    border-radius: 28px;
    box-shadow: 0 24px 60px rgba(62,23,96,.18);
  }
  .nav-links a { display: block; text-align: center; }
  .hero { flex-direction: column !important; text-align: left !important; }
  .hero-content { padding-top: 30px; }
  .hero-image { min-height: 350px; width: 100%; }
  .hero-image video { width: 100% !important; }
  .hero::before, .page-header::before { inset: 96px 10px 14px; }
  .page-header { text-align: left !important; }
  .vr-orb { display: none; }
}

/* V4 layout corrections: complete content, centered groups, softer scenes */
.hero, .page-header,
.features, .video-section, .patient-carousel-section, .iit-partnership,
.key-differentiators, .how-it-works, .impact-statistics, .technology,
.product-showcase, .features-section, .team-section, .section,
.contact-section, .demo-request, .calculator-section, section[style],
.cta, .join-team {
  min-height: 100svh !important;
  height: auto !important;
  overflow: clip !important;
  justify-content: center !important;
  background:
    radial-gradient(circle at 84% 14%, rgba(255,181,112,.28), transparent 28%),
    radial-gradient(circle at 12% 74%, rgba(137,83,215,.22), transparent 30%),
    url('../scene-gradient.png') center / cover fixed no-repeat !important;
  box-shadow: none !important;
  border: 0 !important;
}

.hero, .page-header {
  background:
    linear-gradient(90deg, rgba(62,23,96,.78) 0%, rgba(62,23,96,.34) 38%, rgba(62,23,96,0) 70%),
    url('../scene-gradient-orb.png') center / cover fixed no-repeat !important;
}

.patient-carousel-section, .key-differentiators, .impact-statistics,
.demo-request, .cta, .join-team, footer {
  background:
    radial-gradient(circle at 78% 24%, rgba(255,191,104,.42), transparent 28%),
    radial-gradient(circle at 52% 50%, rgba(142,80,194,.35), transparent 42%),
    linear-gradient(110deg, rgba(62,23,96,.94), rgba(100,48,117,.91) 45%, rgba(216,104,132,.88)),
    url('../scene-gradient.png') center / cover fixed no-repeat !important;
}

.features-grid.vr-three-grid,
.demo-grid.vr-three-grid,
.roadmap-grid.vr-three-grid,
.stats-grid.vr-three-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  align-items: stretch !important;
  justify-content: center !important;
  gap: clamp(26px, 3vw, 54px) !important;
  width: min(88vw, 1460px) !important;
  max-width: 1460px !important;
  margin: clamp(42px, 7vh, 82px) auto 0 !important;
  padding: 0 !important;
  overflow: visible !important;
}

.vr-three-grid > .feature-card,
.vr-three-grid > .demo-card,
.vr-three-grid > .roadmap-card,
.vr-three-grid > .stat-card {
  min-width: 0 !important;
  width: 100% !important;
  min-height: 440px !important;
  height: auto !important;
  transform: none !important;
  justify-content: center !important;
  padding: clamp(38px, 4vw, 64px) !important;
  overflow: visible !important;
  border-radius: 46% 54% 48% 52% / 42% 48% 52% 58% !important;
}

.vr-three-grid > *:nth-child(2) {
  border-radius: 54% 46% 52% 48% / 48% 56% 44% 52% !important;
}

.vr-three-grid > *:nth-child(3) {
  border-radius: 48% 52% 42% 58% / 54% 44% 56% 46% !important;
}

.vr-three-grid .feature-card h3,
.vr-three-grid .feature-card p,
.vr-three-grid .demo-card h3,
.vr-three-grid .demo-card p {
  width: 100%;
  max-width: none !important;
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: normal !important;
}

.features-grid:not(.vr-three-grid),
.stats-grid:not(.vr-three-grid),
.roadmap-grid:not(.vr-three-grid),
.demo-grid:not(.vr-three-grid) {
  flex-wrap: wrap !important;
  justify-content: center !important;
  overflow: visible !important;
}

.features-grid:not(.vr-three-grid) > *,
.stats-grid:not(.vr-three-grid) > *,
.roadmap-grid:not(.vr-three-grid) > *,
.demo-grid:not(.vr-three-grid) > * {
  flex: 1 1 min(360px, 100%) !important;
  max-width: 520px !important;
  height: auto !important;
  min-height: 390px !important;
  overflow: visible !important;
  justify-content: center !important;
}

.section-title, .section-subtitle {
  width: min(100%, 1250px);
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}

/* Full video, contained inside one uninterrupted oval viewport */
.video-section {
  min-height: 100svh !important;
  padding: 110px max(4vw, 22px) 36px !important;
  justify-content: center !important;
}

.video-section .section-title,
.video-section .section-subtitle {
  position: absolute;
  z-index: 4;
  left: max(8vw, 36px);
  width: min(44vw, 680px);
  margin: 0 !important;
  text-align: left !important;
  color: white !important;
  text-shadow: 0 3px 22px rgba(32,10,56,.45);
}

.video-section .section-title {
  bottom: 108px;
  font-size: clamp(2.8rem, 5vw, 6rem) !important;
}

.video-section .section-subtitle {
  bottom: 66px;
  font-size: clamp(.95rem, 1.2vw, 1.15rem) !important;
}

.video-container {
  width: min(92vw, 1640px) !important;
  height: calc(100svh - 150px) !important;
  min-height: 620px;
  margin: 0 auto !important;
  border-radius: 50% !important;
  overflow: hidden !important;
  background: #170b18 !important;
  display: grid;
  place-items: center;
  box-shadow: 0 34px 100px rgba(62,23,96,.24) !important;
}

.video-container video,
.video-container #techVideo {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: contain !important;
  object-position: center !important;
  border-radius: 0 !important;
  transform: none !important;
}

.video-overlay { border-radius: 50% !important; }

.cta, .join-team {
  padding: clamp(120px, 16vh, 190px) max(8vw, 32px) !important;
  text-align: center !important;
}

.cta h2, .join-team h2,
.cta p, .join-team p { color: white !important; }
.cta h2, .join-team h2 { font-size: clamp(3.2rem, 6vw, 7rem) !important; line-height: .96 !important; }
.cta p, .join-team p { opacity: .84; }

@media (max-width: 1050px) {
  .features-grid.vr-three-grid,
  .demo-grid.vr-three-grid,
  .roadmap-grid.vr-three-grid,
  .stats-grid.vr-three-grid {
    grid-template-columns: 1fr !important;
    width: min(90vw, 680px) !important;
  }
  .vr-three-grid > .feature-card,
  .vr-three-grid > .demo-card,
  .vr-three-grid > .roadmap-card,
  .vr-three-grid > .stat-card { min-height: 390px !important; }
  .video-container { height: calc(100svh - 135px) !important; min-height: 520px; border-radius: 44px !important; }
  .video-overlay { border-radius: 44px !important; }
  .video-section .section-title,
  .video-section .section-subtitle { left: 42px; width: calc(100% - 84px); }
  .video-section .section-title { bottom: 96px; }
  .video-section .section-subtitle { bottom: 58px; }
}

/* V8 animated GLB hero and upper-left progress */
.vr-scene-nav {
  top: 30px !important;
  left: calc(4vw + 94px) !important;
  right: auto !important;
  transform: none !important;
  min-height: 52px;
  padding: 12px 18px !important;
  gap: 10px !important;
  background: rgba(255,253,251,.82) !important;
  box-shadow: 0 14px 38px rgba(62,23,96,.10);
}

.vr-scene-dot {
  width: 10px !important;
  height: 10px !important;
  background: rgba(62,23,96,.18) !important;
}

.vr-scene-dot.active {
  width: 56px !important;
  background: var(--vr-violet) !important;
}

.hero-image .heart-model {
  display: block;
  width: min(48vw, 720px) !important;
  height: min(72svh, 760px) !important;
  min-height: 520px;
  margin: auto;
  background: transparent !important;
  --poster-color: transparent;
  --progress-bar-color: var(--vr-coral);
  --progress-bar-height: 4px;
  filter: drop-shadow(0 32px 44px rgba(62,23,96,.24));
  touch-action: pan-y;
  cursor: grab;
}

.hero-image .heart-model:active { cursor: grabbing; }
.hero-image video { display: none !important; }

@media (max-width: 900px) {
  .hero-image .heart-model {
    width: min(92vw, 620px) !important;
    height: 48svh !important;
    min-height: 360px;
  }
  .vr-scene-nav { display: flex !important; top: 86px !important; left: 14px !important; transform: scale(.82) !important; transform-origin: left top; }
}

/* V6 Team cleanup */
.team-card .card-back {
  background: linear-gradient(145deg, rgba(62,23,96,.97), rgba(111,43,117,.95)) !important;
  border: 1px solid rgba(255,255,255,.24) !important;
  box-shadow: 0 24px 70px rgba(62,23,96,.24) !important;
  backdrop-filter: none !important;
  overflow: hidden !important;
}

.team-card .card-back::before,
.team-card .card-back::after { display: none !important; }

.team-card .card-back-content,
.team-card .card-back-content *:not(.iit-highlight) {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: white !important;
}

.team-card .card-back .iit-highlight,
.team-section .iit-highlight,
.team-section .member-bio .iit-highlight,
.team-section .advisor-bio .iit-highlight {
  display: inline !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  color: #ffd08a !important;
  text-shadow: none !important;
}

.team-section .team-card,
.team-section .card-inner,
.team-section .card-front,
.team-section .card-back { isolation: isolate; }

.team-section .vr-scene-sphere,
.iit-partnership .vr-scene-sphere { opacity: .55 !important; }

.team-section .wave-bg,
.iit-partnership .wave-bg { display: none !important; }

.team-section + .iit-partnership,
.team-section ~ .iit-partnership {
  min-height: auto !important;
  padding: clamp(100px, 13vh, 160px) max(8vw, 32px) !important;
}

body:has(.page-header + .team-section) .iit-partnership .iit-content {
  width: min(88vw, 1180px) !important;
  max-width: 1180px !important;
  margin: 0 auto !important;
  position: relative;
  z-index: 2;
}

body:has(.page-header + .team-section) .iit-partnership .iit-card {
  padding: clamp(42px, 6vw, 84px) !important;
  border-radius: 48px !important;
  background: rgba(62,23,96,.86) !important;
  border: 1px solid rgba(255,255,255,.22) !important;
  box-shadow: 0 30px 90px rgba(62,23,96,.22) !important;
  backdrop-filter: blur(18px);
  text-align: left !important;
}

body:has(.page-header + .team-section) .iit-partnership .iit-card::before,
body:has(.page-header + .team-section) .iit-partnership .iit-card::after { display: none !important; }

body:has(.page-header + .team-section) .iit-partnership .iit-highlight {
  display: inline !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  color: #ffd08a !important;
  text-shadow: none !important;
}

body:has(.page-header + .team-section) .iit-partnership .section-title,
body:has(.page-header + .team-section) .iit-partnership p {
  color: white !important;
  text-align: left !important;
  width: 100% !important;
  max-width: none !important;
}

body:has(.page-header + .team-section) .iit-partnership .section-title {
  font-size: clamp(3rem, 5.5vw, 6rem) !important;
  margin-bottom: 32px !important;
}

/* V7 Device and technology polish */
.technology .tech-content {
  width: min(90vw, 1580px) !important;
  max-width: 1580px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1.12fr) minmax(420px, .88fr) !important;
  align-items: center !important;
  gap: clamp(48px, 7vw, 120px) !important;
}

.technology .tech-text { min-width: 0 !important; }

.technology .tech-text h2 {
  display: block !important;
  color: var(--vr-violet-deep) !important;
  font-size: clamp(4.2rem, 6.2vw, 7.8rem) !important;
  line-height: .93 !important;
  letter-spacing: -.06em !important;
  margin-bottom: clamp(30px, 5vh, 58px) !important;
}

.technology .tech-text h2::after { display: none !important; }

.technology .tech-text p {
  color: rgba(32,10,56,.75) !important;
  font-size: clamp(1rem, 1.28vw, 1.3rem) !important;
}

.technology .tech-image {
  width: 100% !important;
  min-width: 0 !important;
  overflow: hidden;
  border-radius: 38px;
  background: rgba(255,255,255,.28);
  box-shadow: 0 26px 80px rgba(62,23,96,.16);
}

.technology .tech-image img {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  border-radius: 38px !important;
  box-shadow: none !important;
}

.features-section .features-grid.vr-three-grid {
  width: min(86vw, 1460px) !important;
  max-width: none !important;
  box-sizing: border-box !important;
  position: relative !important;
  left: 50% !important;
  transform: translateX(calc(-50% - 20px)) !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.product-showcase .product-image img {
  width: 100% !important;
  max-width: 760px !important;
  height: auto !important;
  object-fit: contain !important;
  border-radius: 34px !important;
}

@media (max-width: 1050px) {
  .technology .tech-content { display: flex !important; flex-direction: column !important; }
  .technology .tech-text h2 { font-size: clamp(3.4rem, 13vw, 5.8rem) !important; }
  .features-section .features-grid.vr-three-grid { left: auto !important; transform: none !important; margin-left: auto !important; margin-right: auto !important; }
}

/* V5 screenshot-specific alignment and cleanup */
.hero .ekg-line,
.hero .ekg-path {
  display: none !important;
}

.hero-image video,
.hero-image .heart-animation {
  box-shadow: none !important;
  filter: saturate(1.12) brightness(1.18) !important;
  mix-blend-mode: screen !important;
  -webkit-mask-image: radial-gradient(circle at center, #000 0 54%, rgba(0,0,0,.88) 61%, transparent 73%);
  mask-image: radial-gradient(circle at center, #000 0 54%, rgba(0,0,0,.88) 61%, transparent 73%);
}

.features-grid.vr-three-grid,
.demo-grid.vr-three-grid,
.roadmap-grid.vr-three-grid,
.stats-grid.vr-three-grid {
  position: relative !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.iit-partnership .section-container { width: min(92vw, 1580px) !important; }
.iit-partnership .section-container > div { gap: clamp(34px, 5vw, 90px) !important; }
.iit-partnership .section-container > div > div:first-child { flex: 1 1 68% !important; }
.iit-partnership .section-container > div > div:last-child { flex: 1 1 26% !important; }

.iit-partnership h2 {
  color: var(--vr-violet-deep) !important;
  font-size: clamp(2.6rem, 4.5vw, 5.8rem) !important;
  line-height: 1 !important;
  letter-spacing: -.055em !important;
  white-space: nowrap !important;
  margin-bottom: clamp(28px, 4vh, 48px) !important;
}

.iit-partnership .iit-highlight {
  display: inline !important;
  color: var(--vr-violet-deep) !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  padding: 0 !important;
}

.iit-partnership p {
  color: rgba(32,10,56,.78) !important;
  max-width: 1120px !important;
  font-size: clamp(1rem, 1.35vw, 1.3rem) !important;
  line-height: 1.65 !important;
}

@media (max-width: 1050px) {
  .iit-partnership h2 { white-space: normal !important; }
  .features-grid.vr-three-grid,
  .demo-grid.vr-three-grid,
  .roadmap-grid.vr-three-grid,
  .stats-grid.vr-three-grid { left: auto !important; transform: none !important; margin-left: auto !important; margin-right: auto !important; }
}

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

/* V3 immersive scene system — based on the MIPOGG showcase */
body {
  background: #f6d7ec url('../scene-gradient.png') center / cover fixed no-repeat !important;
}

header {
  top: 26px !important;
  width: auto !important;
  min-width: min(92vw, 760px) !important;
  right: 4vw !important;
  left: auto !important;
  transform: none !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

.navbar {
  justify-content: flex-end !important;
  gap: 14px;
}

.logo {
  position: fixed !important;
  left: 4vw !important;
  top: 24px !important;
  transform: none !important;
  height: 74px !important;
  width: 74px;
  border: 2px solid rgba(62,23,96,.45);
  border-radius: 20px;
  background: rgba(255,255,255,.22);
  backdrop-filter: blur(16px);
  display: grid !important;
  place-items: center;
  overflow: hidden;
}

.logo-icon { overflow: hidden; border-radius: 14px; }
.logo-icon img {
  width: 58px !important;
  height: 58px !important;
  object-fit: cover !important;
  object-position: 50% 49% !important;
  transform: scale(1.72);
}

.footer-logo-icon {
  overflow: hidden;
  border-radius: 18px;
}

.footer-logo-icon img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: 50% 49% !important;
  transform: scale(1.72);
}

.nav-links {
  padding: 8px !important;
  border-radius: 999px;
  background: rgba(255,255,255,.66);
  backdrop-filter: blur(20px) saturate(150%);
  box-shadow: 0 16px 50px rgba(62,23,96,.10);
}

.nav-links a { padding: 10px 20px !important; }

.side-nav { display: none !important; }

.hero, .page-header,
.features, .video-section, .patient-carousel-section, .iit-partnership,
.key-differentiators, .how-it-works, .impact-statistics, .technology,
.product-showcase, .features-section, .team-section, .section,
.contact-section, .demo-request, .calculator-section, section[style] {
  min-height: 100svh !important;
  width: 100% !important;
  margin: 0 !important;
  border-radius: 0 !important;
  padding: clamp(135px, 15vh, 185px) max(8vw, 32px) clamp(70px, 10vh, 110px) !important;
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
  isolation: isolate;
  scroll-margin-top: 0;
}

.hero, .page-header,
.features:nth-of-type(odd), .features-section:nth-of-type(odd),
.team-section:nth-of-type(odd), .section:nth-of-type(odd) {
  background: url('../scene-gradient-orb.png') center / cover no-repeat !important;
}

.hero, .page-header {
  background:
    linear-gradient(90deg, rgba(62,23,96,.82) 0%, rgba(62,23,96,.42) 34%, rgba(62,23,96,0) 68%),
    url('../scene-gradient-orb.png') center / cover no-repeat !important;
}

.video-section, .iit-partnership, .how-it-works, .technology,
.product-showcase, .contact-section, .calculator-section,
.features:nth-of-type(even), .features-section:nth-of-type(even),
.team-section:nth-of-type(even), .section:nth-of-type(even) {
  background: url('../scene-gradient.png') center / cover no-repeat !important;
}

.patient-carousel-section, .key-differentiators, .impact-statistics,
.demo-request, footer {
  background:
    radial-gradient(circle at 74% 48%, rgba(255,191,104,.88), transparent 18%),
    radial-gradient(circle at 63% 16%, rgba(151,88,222,.90), transparent 13%),
    linear-gradient(115deg, #3e1760 0 38%, #7d3d92 48%, #ef7a8f 72%, #ffd1b3 100%) !important;
}

.hero::before, .page-header::before { display: none !important; }
.hero::after, .page-header::after { display: none !important; }

.hero {
  display: grid !important;
  grid-template-columns: minmax(0, .92fr) minmax(420px, 1.08fr);
  align-items: center !important;
  gap: clamp(30px, 5vw, 90px) !important;
}

.hero h1, .page-header h1 {
  font-size: clamp(4.2rem, 6.8vw, 7.8rem) !important;
  line-height: .91 !important;
  color: white !important;
  text-shadow: 0 3px 30px rgba(62,23,96,.2);
}

.hero h1 span { color: white !important; }
.hero p, .page-header p { color: rgba(255,255,255,.93) !important; max-width: 580px !important; }
.hero .cta-button { background: rgba(255,255,255,.88) !important; color: var(--vr-violet) !important; }

.hero-image {
  min-height: min(69vh, 720px) !important;
  align-items: center;
  justify-content: center;
  position: relative;
}

.hero-image::before, .hero-image::after {
  content: '';
  position: absolute;
  border-radius: 50%;
  z-index: -1;
  background: radial-gradient(circle at 32% 26%, #ffd8b2, #f48786 42%, #702a8e 78%);
  box-shadow: inset -22px -28px 55px rgba(62,23,96,.26), 0 30px 80px rgba(62,23,96,.2);
}

.hero-image::before { width: min(38vw, 490px); aspect-ratio: 1; right: 5%; bottom: 8%; }
.hero-image::after { width: 96px; aspect-ratio: 1; left: 4%; top: 8%; animation: vrFloat 5s ease-in-out infinite alternate; }

.hero-image video {
  width: min(39vw, 530px) !important;
  height: min(62vh, 620px) !important;
  object-fit: cover;
  border-radius: 48% 52% 46% 54% / 58% 42% 58% 42% !important;
  mix-blend-mode: screen;
  box-shadow: none !important;
  transform: none !important;
  filter: saturate(1.18) contrast(1.05);
}

.section-title {
  font-size: clamp(4.2rem, 7.3vw, 8.6rem) !important;
  line-height: .9 !important;
  max-width: 1020px;
}

.patient-carousel-section .section-title,
.key-differentiators .section-title,
.impact-statistics .section-title,
.demo-request .section-title,
.patient-carousel-section .section-subtitle,
.key-differentiators .section-subtitle,
.impact-statistics .section-subtitle,
.demo-request .section-subtitle { color: white !important; }

.features-grid, .stats-grid, .roadmap-grid, .demo-grid {
  display: flex !important;
  align-items: stretch;
  gap: clamp(18px, 2vw, 28px) !important;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  padding: 22px 2px 38px;
  scrollbar-width: none;
  max-width: none !important;
  width: 100%;
}

.features-grid::-webkit-scrollbar, .stats-grid::-webkit-scrollbar,
.roadmap-grid::-webkit-scrollbar, .demo-grid::-webkit-scrollbar { display: none; }

.feature-card, .stat-card, .roadmap-card, .demo-card {
  min-width: clamp(280px, 31vw, 440px) !important;
  min-height: clamp(330px, 48vh, 510px) !important;
  scroll-snap-align: center;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: clamp(28px, 3vw, 48px) !important;
  border-radius: 48% 52% 42% 58% / 35% 46% 54% 65% !important;
  background: rgba(255,255,255,.38) !important;
  border: 1px solid rgba(255,255,255,.58) !important;
  backdrop-filter: blur(24px) saturate(145%);
  transition: border-radius .55s ease, transform .45s ease, background .45s ease !important;
}

.feature-card:nth-child(even), .stat-card:nth-child(even),
.roadmap-card:nth-child(even), .demo-card:nth-child(even) {
  border-radius: 38% 62% 58% 42% / 54% 39% 61% 46% !important;
  transform: translateY(38px);
}

.feature-card:hover, .stat-card:hover, .roadmap-card:hover, .demo-card:hover {
  border-radius: 28px !important;
  background: rgba(255,255,255,.72) !important;
}

.patient-carousel-section .carousel-container { width: 100%; }
.carousel-slide img { height: min(58vh, 650px) !important; border-radius: 52% 48% 60% 40% / 45% 53% 47% 55% !important; }

.video-container {
  width: min(78vw, 1180px);
  border-radius: 50% 50% 45% 55% / 42% 52% 48% 58% !important;
  overflow: hidden;
}

.iit-highlight, .product-content, .contact-form, .calculator-container {
  width: min(1100px, 100%);
  padding: clamp(36px, 6vw, 86px) !important;
  background: rgba(255,255,255,.45) !important;
  border-radius: 80px 28px 80px 28px !important;
}

.vr-scene-sphere {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
  z-index: -1;
  background: radial-gradient(circle at 30% 24%, #ffe4b9, #f47d90 44%, #7f32ad 82%);
  box-shadow: inset -18px -24px 42px rgba(62,23,96,.25), 0 24px 70px rgba(62,23,96,.2);
  will-change: transform;
}

.vr-scene-sphere.s1 { width: clamp(90px, 10vw, 160px); aspect-ratio: 1; right: 9%; top: 18%; }
.vr-scene-sphere.s2 { width: clamp(45px, 5vw, 82px); aspect-ratio: 1; right: 32%; bottom: 13%; background: radial-gradient(circle at 30% 24%, #c991ff, #7334c2 70%); }
.vr-scene-sphere.s3 { width: clamp(32px, 3.5vw, 58px); aspect-ratio: 1; left: 6%; bottom: 11%; background: radial-gradient(circle at 30% 24%, #fff1ce, #ff9b69 76%); }

/* V9 balanced technology composition + softly animated scene spheres */
@keyframes vrSphereDriftOne {
  0%, 100% { translate: 0 0; }
  38% { translate: -12px 16px; }
  72% { translate: 9px -10px; }
}

@keyframes vrSphereDriftTwo {
  0%, 100% { translate: 0 0; }
  44% { translate: 14px -12px; }
  78% { translate: -8px 9px; }
}

@keyframes vrSphereDriftThree {
  0%, 100% { translate: 0 0; }
  34% { translate: 8px 11px; }
  70% { translate: -13px -7px; }
}

.vr-scene-sphere.s1 { animation: vrSphereDriftOne 9s ease-in-out infinite; }
.vr-scene-sphere.s2 { animation: vrSphereDriftTwo 11s ease-in-out -3s infinite; }
.vr-scene-sphere.s3 { animation: vrSphereDriftThree 8s ease-in-out -5s infinite; }

.technology .tech-content {
  width: min(92vw, 1720px) !important;
  max-width: 1720px !important;
  grid-template-columns: minmax(0, 1.22fr) minmax(380px, .78fr) !important;
  gap: clamp(30px, 4vw, 68px) !important;
}

.technology .tech-text h2 {
  font-size: clamp(3.3rem, 4.15vw, 5.15rem) !important;
  line-height: 1 !important;
  letter-spacing: -.055em !important;
  white-space: nowrap;
}

.technology .tech-image { transform: translateX(-48px); }

/* V10 centered technology scene and animated DNA hero */
.technology .tech-content {
  width: min(86vw, 1600px) !important;
  max-width: 1600px !important;
  grid-template-columns: minmax(0, 1.18fr) minmax(380px, .82fr) !important;
  gap: clamp(28px, 3.5vw, 60px) !important;
  margin-inline: auto !important;
  position: relative !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
}

.technology .tech-text h2 { font-size: clamp(3.25rem, 3.9vw, 4.8rem) !important; }
.technology .tech-image { transform: none !important; }

.page-header .page-header-content:has(.dna-model) {
  width: min(92vw, 1180px) !important;
  height: min(78svh, 780px);
  display: grid !important;
  grid-template-rows: auto minmax(300px, 1fr) auto;
  align-items: center;
  justify-items: center;
  gap: 4px;
  margin-inline: auto !important;
  text-align: center !important;
}

.page-header .page-header-content:has(.dna-model) h1 {
  margin: 0 !important;
  font-size: clamp(4rem, 8vw, 8.5rem) !important;
  line-height: .9 !important;
}

.dna-model {
  display: block;
  width: min(52vw, 660px);
  height: min(48svh, 500px);
  margin: auto;
  background: transparent;
  filter: drop-shadow(0 28px 42px rgba(62,23,96,.18));
}

.page-header .page-header-content:has(.dna-model) p {
  margin: 0 auto !important;
  max-width: 800px !important;
}

@media (max-width: 1180px) {
  .technology .tech-text h2 { white-space: normal; }
  .technology .tech-image { transform: none; }
}

@media (max-width: 760px) {
  .page-header .page-header-content:has(.dna-model) {
    height: min(76svh, 690px);
    grid-template-rows: auto minmax(260px, 1fr) auto;
  }
  .dna-model { width: 88vw; height: min(42svh, 390px); }
}

/* V17 simplify story backgrounds to floating balls only */
.vr-story-scene .vr-molecule-cluster { display: none !important; }
.vr-story-scene > .vr-scene-sphere {
  display: block !important;
  opacity: .72 !important;
  filter: saturate(.92) blur(.15px);
}

/* V18 immersive Dogstudio-inspired homepage hero (first section only) */
.dog-hero {
  --dog-light-x: 68%;
  --dog-light-y: 42%;
  --dog-tilt-x: 0;
  --dog-tilt-y: 0;
  --dog-scroll: 0;
  overflow: hidden !important;
  isolation: isolate;
  perspective: 1400px;
}

.dog-hero::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    radial-gradient(circle at var(--dog-light-x) var(--dog-light-y), rgba(255,235,210,.34), transparent 24%),
    linear-gradient(115deg, rgba(44,14,82,.12), transparent 45% 64%, rgba(255,120,132,.1));
  mix-blend-mode: screen;
  transition: background-position .15s linear;
}

.dog-hero .hero-content {
  transform: translate3d(var(--dog-content-x, 0px), var(--dog-content-y, 0px), 70px);
  opacity: var(--dog-content-opacity, 1);
  transition: opacity .12s linear;
  transform-style: preserve-3d;
}

.dog-hero h1 { perspective: 900px; }
.dog-hero h1 .dog-line {
  display: block;
  width: max-content;
  color: #fff !important;
  opacity: 0;
  filter: blur(18px);
  transform: translate3d(0, 105%, 0) rotateX(-28deg);
  transform-origin: 50% 100%;
  transition: opacity .85s ease, filter 1s ease, transform 1.1s cubic-bezier(.16,1,.3,1);
}
.dog-hero h1 .dog-line:nth-child(2) { transition-delay: 100ms; }
.dog-hero h1 .dog-line:nth-child(3) { transition-delay: 190ms; }
.dog-hero.dog-ready h1 .dog-line { opacity: 1; filter: blur(0); transform: translate3d(0,0,0) rotateX(0); }
.dog-hero h1 .dog-emphasis { color: #ffd2d9 !important; }

.dog-hero .hero-content > p,
.dog-hero .hero-content > .cta-button {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity .8s .42s ease, transform .9s .42s cubic-bezier(.16,1,.3,1);
}
.dog-hero .hero-content > .cta-button { transition-delay: .55s; }
.dog-hero.dog-ready .hero-content > p,
.dog-hero.dog-ready .hero-content > .cta-button { opacity: 1; transform: translateY(0); }

.dog-hero .hero-image {
  z-index: 3;
  transform-style: preserve-3d;
  transform:
    translate3d(var(--dog-heart-x, 0px), var(--dog-heart-y, 0px), 0)
    rotateX(var(--dog-heart-rx, 0deg))
    rotateY(var(--dog-heart-ry, 0deg))
    scale(var(--dog-heart-scale, 1));
  transition: transform .08s linear;
}

.dog-hero .heart-model {
  position: relative;
  z-index: 4;
  filter: drop-shadow(0 34px 50px rgba(42,12,75,.34)) saturate(1.08);
  animation: dogHeartBreathe 2.8s ease-in-out infinite;
}

.dog-hero .heart-model::part(default-progress-bar),
.dog-hero .heart-model::part(default-progress-mask) {
  display: none;
}

.dog-heart-aura {
  position: absolute;
  left: 50%;
  top: 50%;
  width: min(43vw, 590px);
  aspect-ratio: 1;
  border-radius: 50%;
  transform: translate(-50%,-50%) translateZ(-60px);
  background: radial-gradient(circle, rgba(255,193,185,.42), rgba(194,91,180,.17) 43%, transparent 72%);
  filter: blur(12px);
  animation: dogAuraPulse 3.4s ease-in-out infinite;
}

.dog-orbit {
  display: none;
}
.dog-orbit-one { width: min(43vw,600px); aspect-ratio:1; animation: dogOrbitOne 13s linear infinite; }
.dog-orbit-two { width: min(36vw,500px); aspect-ratio:1; animation: dogOrbitTwo 17s linear infinite reverse; }

@keyframes dogHeartBreathe { 0%,100% { transform: scale(.98); } 50% { transform: scale(1.035); } }
@keyframes dogAuraPulse { 0%,100% { opacity:.55; scale:.93; } 50% { opacity:1; scale:1.08; } }
@keyframes dogOrbitOne { from { transform: translate(-50%,-50%) rotateX(68deg) rotateZ(0); } to { transform: translate(-50%,-50%) rotateX(68deg) rotateZ(360deg); } }
@keyframes dogOrbitTwo { from { transform: translate(-50%,-50%) rotateY(72deg) rotateZ(0); } to { transform: translate(-50%,-50%) rotateY(72deg) rotateZ(360deg); } }

/* V19 transparent impact visualizations */
.impact-statistics .stats-grid {
  width: min(1180px, 100%) !important;
  margin: clamp(44px, 6vh, 82px) auto 0 !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: clamp(20px, 2.5vw, 38px) !important;
  align-items: stretch !important;
}

.impact-statistics .stat-card {
  width: 100% !important;
  min-height: 0 !important;
  aspect-ratio: 1 / 1 !important;
  padding: 0 !important;
  margin: 0 !important;
  display: grid !important;
  place-items: center !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  transform: none !important;
  opacity: 1 !important;
  transition: opacity .75s ease, background .35s ease !important;
}

.impact-statistics.impact-playing .stat-card {
  transform: none !important;
  opacity: 1 !important;
}

.impact-statistics.impact-playing .stat-card:nth-child(2) { transition-delay: .06s !important; }
.impact-statistics.impact-playing .stat-card:nth-child(3) { transition-delay: .12s !important; }
.impact-statistics.impact-playing .stat-card:nth-child(4) { transition-delay: .18s !important; }
.impact-statistics.impact-playing .stat-card:nth-child(5) { transition-delay: .24s !important; }
.impact-statistics.impact-playing .stat-card:nth-child(6) { transition-delay: .30s !important; }

.impact-statistics .stat-card:hover {
  background: transparent !important;
}

.impact-statistics .impact-visual {
  display: block;
  width: 84% !important;
  height: 84% !important;
  min-width: 84% !important;
  max-width: 84% !important;
  min-height: 84% !important;
  max-height: 84% !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: contain;
  object-position: center;
  background: transparent;
  filter: none;
}

@media (max-width: 820px) {
  .impact-statistics .stats-grid {
    width: min(680px, 100%) !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 16px !important;
  }
  .impact-statistics .stat-card { border-radius: 0 !important; }
  .impact-statistics .impact-visual { width: 90%; height: 90%; }
}

@media (max-width: 520px) {
  .impact-statistics .stats-grid {
    width: min(390px, 100%) !important;
    grid-template-columns: 1fr !important;
  }
}

/* V20 native vector-style impact motions */
.impact-statistics .stats-grid {
  transform: none !important;
}

.impact-motion {
  --motion-white: #fffdfd;
  --motion-soft: rgba(255,255,255,.62);
  position: absolute !important;
  inset: 0 !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: auto !important;
  color: var(--motion-white);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-family: inherit;
  isolation: isolate;
}

.impact-motion::after {
  content: '';
  position: absolute;
  inset: 17%;
  z-index: -1;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255,255,255,.14), transparent 68%);
  opacity: 0;
}

.motion-number {
  font-size: clamp(54px, 5.8vw, 88px);
  line-height: .82;
  font-weight: 760;
  letter-spacing: -.06em;
  text-shadow: 0 0 24px rgba(255,255,255,.26);
}
.motion-label { margin-top: 10px; font-size: clamp(14px, 1.3vw, 20px); line-height: 1.04; font-weight: 720; letter-spacing: .02em; text-align: center; }
.motion-caption { margin-top: 12px; font-size: clamp(10px, .8vw, 13px); line-height: 1.15; font-weight: 680; letter-spacing: .09em; text-align: center; color: rgba(255,255,255,.82); }

.impact-motion > .motion-number,
.impact-motion > .motion-label,
.impact-motion > .motion-caption { opacity: 0; transform: translateY(20px) scale(.88); }
.impact-statistics.impact-playing .impact-motion::after { animation: motionHalo 1.2s ease .1s both; }
.impact-statistics.impact-playing .impact-motion > .motion-number { animation: motionNumber 1s cubic-bezier(.16,.9,.25,1.2) .08s both; }
.impact-statistics.impact-playing .impact-motion > .motion-label { animation: motionText .72s ease .42s both; }
.impact-statistics.impact-playing .impact-motion > .motion-caption { animation: motionText .72s ease 2.1s both; }

/* 1 — trophy */
.css-trophy { position: relative; width: 150px; height: 142px; margin-top: 14px; opacity: 0; transform: translateY(34px) scale(.65); }
.css-trophy .cup { position:absolute; width:86px; height:63px; left:32px; top:6px; border:4px solid white; border-top-width:8px; border-radius:12px 12px 42px 42px; background:linear-gradient(145deg,rgba(255,255,255,.12),rgba(255,255,255,.4)); }
.css-trophy .handle { position:absolute; top:18px; width:38px; height:42px; border:4px solid white; border-radius:50%; }
.css-trophy .handle.left { left:11px; } .css-trophy .handle.right { right:11px; }
.css-trophy .stem { position:absolute; left:69px; top:69px; width:12px; height:38px; border-radius:6px; background:white; }
.css-trophy .base { position:absolute; left:42px; top:104px; width:66px; height:16px; border:4px solid white; border-radius:10px 10px 4px 4px; }
.css-trophy b { position:absolute; inset:23px 0 auto; text-align:center; font-size:13px; line-height:1; letter-spacing:.02em; }
.impact-playing .css-trophy { animation: trophyRise 1.25s cubic-bezier(.18,.85,.22,1.12) .65s both; }

/* 8 — orbital patents */
.motion-orbits { min-height: 100%; }
.motion-orbits .orbit { position:absolute; left:50%; top:50%; border:2px solid rgba(255,255,255,.78); border-radius:50%; opacity:0; transform:translate(-50%,-50%) scale(.25); }
.orbit-a { width:72%; aspect-ratio:1; }.orbit-b { width:52%; aspect-ratio:1; }.orbit-c { width:33%; aspect-ratio:1; }
.orbit i { position:absolute; width:14px; aspect-ratio:1; border-radius:50%; background:white; box-shadow:0 0 14px rgba(255,255,255,.7); }
.orbit i:nth-child(1){left:8%;top:18%}.orbit i:nth-child(2){right:-1%;top:46%}.orbit i:nth-child(3){left:38%;bottom:-5%}
.orbit-core { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%) scale(.4); opacity:0; display:grid; place-items:center; text-align:center; }
.orbit-core strong { font-size:74px; line-height:.75; }.orbit-core span { margin-top:12px; font-size:15px; line-height:1; font-weight:720; }
.impact-playing .orbit-a { animation: orbitDraw 1s ease .22s both, orbitSpin 7s linear 1.2s both; }
.impact-playing .orbit-b { animation: orbitDraw 1s ease .48s both, orbitSpinReverse 6s linear 1.45s both; }
.impact-playing .orbit-c { animation: orbitDraw 1s ease .72s both, orbitSpin 5s linear 1.7s both; }
.impact-playing .orbit-core { animation: corePop .85s cubic-bezier(.2,.9,.2,1.15) 1s both; }

/* 30 — filed growth chart */
.growth-chart { position:relative; width:76%; height:120px; margin-top:20px; display:flex; align-items:flex-end; gap:8px; padding:0 8px 7px; border-bottom:2px solid rgba(255,255,255,.55); }
.growth-chart span { flex:1; height:var(--bar-h); min-width:12px; border:2px solid white; border-bottom:0; border-radius:8px 8px 0 0; background:linear-gradient(180deg,rgba(255,255,255,.78),rgba(255,255,255,.12)); transform:scaleY(0); transform-origin:bottom; }
.growth-chart span:nth-child(1){--bar-h:22%}.growth-chart span:nth-child(2){--bar-h:34%}.growth-chart span:nth-child(3){--bar-h:48%}.growth-chart span:nth-child(4){--bar-h:60%}.growth-chart span:nth-child(5){--bar-h:76%}.growth-chart span:nth-child(6){--bar-h:96%}
.trend { position:absolute; height:3px; background:white; border-radius:3px; transform-origin:left; transform:scaleX(0) rotate(var(--angle)); }
.trend.t1{width:25%;left:8%;top:73%;--angle:-20deg}.trend.t2{width:24%;left:29%;top:58%;--angle:12deg}.trend.t3{width:25%;left:51%;top:63%;--angle:-29deg}.trend.t4{width:22%;left:72%;top:42%;--angle:-31deg}
.trend-dot { position:absolute; right:4%; top:17%; width:17px; aspect-ratio:1; border-radius:50%; background:white; opacity:0; box-shadow:0 0 18px white; }
.impact-playing .growth-chart span { animation: barGrow .85s cubic-bezier(.2,.8,.2,1) calc(.75s + var(--i,0)*.1s) both; }
.growth-chart span:nth-child(1){--i:0}.growth-chart span:nth-child(2){--i:1}.growth-chart span:nth-child(3){--i:2}.growth-chart span:nth-child(4){--i:3}.growth-chart span:nth-child(5){--i:4}.growth-chart span:nth-child(6){--i:5}
.impact-playing .trend { animation: trendDraw .5s ease calc(1.35s + var(--i,0)*.17s) both; }
.trend.t1{--i:0}.trend.t2{--i:1}.trend.t3{--i:2}.trend.t4{--i:3}.impact-playing .trend-dot{animation:dotPop .55s ease 2s both}

/* 6,000 — people */
.people-cloud { width:80%; min-height:145px; margin-top:22px; display:grid; grid-template-columns:repeat(6,1fr); align-items:end; }
.people-cloud i { font-size:clamp(28px,3vw,48px); color:white; opacity:0; transform:translateY(26px) scale(.2); filter:drop-shadow(0 0 10px rgba(255,255,255,.25)); }
.people-cloud i:nth-child(n+7){margin-top:-3px;font-size:clamp(34px,3.5vw,56px)}
.impact-playing .people-cloud i { animation: personPop .68s cubic-bezier(.16,.9,.2,1.25) calc(.55s + var(--i)*.08s) both; }
.people-cloud i:nth-child(1){--i:1}.people-cloud i:nth-child(2){--i:2}.people-cloud i:nth-child(3){--i:3}.people-cloud i:nth-child(4){--i:4}.people-cloud i:nth-child(5){--i:5}.people-cloud i:nth-child(6){--i:6}.people-cloud i:nth-child(7){--i:7}.people-cloud i:nth-child(8){--i:8}.people-cloud i:nth-child(9){--i:9}.people-cloud i:nth-child(10){--i:10}.people-cloud i:nth-child(11){--i:11}.people-cloud i:nth-child(12){--i:12}

/* 3 — international sites */
.world-stage { position:relative; width:76%; height:150px; margin-top:17px; display:grid; place-items:center; }
.world-stage > i { font-size:clamp(105px,11vw,168px); color:transparent; -webkit-text-stroke:2px white; opacity:0; transform:scale(.55) rotate(-14deg); }
.site-pin { position:absolute; width:15px; aspect-ratio:1; border-radius:50%; background:white; opacity:0; box-shadow:0 0 0 7px rgba(255,255,255,.13),0 0 20px white; }
.site-pin.p1{left:26%;top:47%}.site-pin.p2{left:53%;top:31%}.site-pin.p3{right:20%;top:57%}
.world-ring { position:absolute; width:20px; aspect-ratio:1; border:2px solid white; border-radius:50%; opacity:0; }
.world-ring.r1{left:23%;top:43%}.world-ring.r2{right:17%;top:53%}
.impact-playing .world-stage > i { animation: globeIn 1.2s cubic-bezier(.2,.8,.2,1) .65s both; }
.impact-playing .site-pin { animation: pinPulse 1.15s ease calc(1.45s + var(--i)*.18s) both; }.site-pin.p1{--i:0}.site-pin.p2{--i:1}.site-pin.p3{--i:2}
.impact-playing .world-ring { animation: ringPing 1.2s ease 1.75s both; }

/* 100 — publications */
.publication-bars { width:78%; height:150px; margin-top:18px; display:flex; align-items:flex-end; gap:8px; padding-bottom:6px; border-bottom:2px solid rgba(255,255,255,.5); }
.publication-bars i { flex:1; height:var(--h); border:2px solid white; border-radius:7px 7px 0 0; background:linear-gradient(180deg,rgba(255,255,255,.74),rgba(255,255,255,.12)); transform:scaleY(0); transform-origin:bottom; }
.publication-bars i:nth-child(1){--h:18%;--i:0}.publication-bars i:nth-child(2){--h:29%;--i:1}.publication-bars i:nth-child(3){--h:41%;--i:2}.publication-bars i:nth-child(4){--h:53%;--i:3}.publication-bars i:nth-child(5){--h:65%;--i:4}.publication-bars i:nth-child(6){--h:77%;--i:5}.publication-bars i:nth-child(7){--h:89%;--i:6}.publication-bars i:nth-child(8){--h:100%;--i:7}
.impact-playing .publication-bars i { animation: barGrow .8s cubic-bezier(.2,.82,.2,1) calc(.65s + var(--i)*.11s) both; }

@keyframes motionHalo{from{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}
@keyframes motionNumber{0%{opacity:0;transform:translateY(24px) scale(.65)}70%{opacity:1;transform:translateY(-3px) scale(1.07)}100%{opacity:1;transform:none}}
@keyframes motionText{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes trophyRise{0%{opacity:0;transform:translateY(38px) scale(.62)}70%{opacity:1;transform:translateY(-5px) scale(1.04)}100%{opacity:1;transform:none}}
@keyframes orbitDraw{from{opacity:0;transform:translate(-50%,-50%) scale(.2)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
@keyframes orbitSpin{from{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(210deg)}}
@keyframes orbitSpinReverse{from{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(-190deg)}}
@keyframes corePop{from{opacity:0;transform:translate(-50%,-50%) scale(.4)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
@keyframes barGrow{from{transform:scaleY(0);opacity:.3}to{transform:scaleY(1);opacity:1}}
@keyframes trendDraw{from{transform:scaleX(0) rotate(var(--angle))}to{transform:scaleX(1) rotate(var(--angle))}}
@keyframes dotPop{from{opacity:0;transform:scale(.2)}to{opacity:1;transform:scale(1)}}
@keyframes personPop{0%{opacity:0;transform:translateY(26px) scale(.2)}75%{opacity:1;transform:translateY(-4px) scale(1.08)}100%{opacity:1;transform:none}}
@keyframes globeIn{from{opacity:0;transform:scale(.55) rotate(-14deg)}to{opacity:1;transform:scale(1) rotate(0)}}
@keyframes pinPulse{0%{opacity:0;transform:scale(.2)}55%{opacity:1;transform:scale(1.35)}100%{opacity:1;transform:scale(1)}}
@keyframes ringPing{0%{opacity:.9;transform:scale(.3)}100%{opacity:0;transform:scale(4)}}

@media (max-width:820px){.impact-statistics .stats-grid{transform:none!important}.impact-motion{min-height:280px}.people-cloud{min-height:112px}.publication-bars{height:112px}.world-stage{height:120px}}
@media (prefers-reduced-motion:reduce){.impact-motion *{animation-duration:.01ms!important;animation-delay:0ms!important}}

/* V21 five-second impact timeline */
.impact-statistics .stats-grid { transform: translateX(-1.2%) !important; }
.impact-statistics.impact-playing .impact-motion { filter: none !important; }
.impact-statistics.impact-playing .impact-motion::after { animation: motionHalo 1.7s ease .2s both; }
.impact-statistics.impact-playing .impact-motion > .motion-number { animation: motionNumber 1.35s cubic-bezier(.16,.9,.25,1.12) .25s both; }
.impact-statistics.impact-playing .impact-motion > .motion-label { animation: motionText 1s ease 1.15s both; }
.impact-statistics.impact-playing .impact-motion > .motion-caption { animation: motionText .9s ease 3.15s both; }

.impact-playing .css-trophy { animation: trophyRise 1.6s cubic-bezier(.18,.85,.22,1.08) 1.55s both; }
.impact-playing .orbit-a { animation: orbitDraw 1.4s ease .45s both, orbitSpin 3s linear 1.8s both; }
.impact-playing .orbit-b { animation: orbitDraw 1.4s ease .85s both, orbitSpinReverse 2.8s linear 2.05s both; }
.impact-playing .orbit-c { animation: orbitDraw 1.35s ease 1.2s both, orbitSpin 2.35s linear 2.55s both; }
.impact-playing .orbit-core { animation: corePop 1.1s cubic-bezier(.2,.9,.2,1.1) 1.65s both; }

.impact-playing .growth-chart span { animation: barGrow 1.15s cubic-bezier(.2,.8,.2,1) calc(1.2s + var(--i,0)*.24s) both; }
.impact-playing .trend { animation: trendDraw .75s ease calc(2.7s + var(--i,0)*.28s) both; }
.impact-playing .trend-dot { animation: dotPop .7s ease 4s both; }

.impact-playing .people-cloud i { animation: personPop .9s cubic-bezier(.16,.9,.2,1.18) calc(.8s + var(--i)*.19s) both; }
.impact-playing .world-stage > i { animation: globeIn 1.65s cubic-bezier(.2,.8,.2,1) 1.05s both; }
.impact-playing .site-pin { animation: pinPulse 1.2s ease calc(2.55s + var(--i)*.42s) both; }
.impact-playing .world-ring { animation: ringPing 1.5s ease 3.25s both; }
.impact-playing .publication-bars i { animation: barGrow 1.15s cubic-bezier(.2,.82,.2,1) calc(1.15s + var(--i)*.32s) both; }

@media (max-width: 900px) {
  .dog-hero h1 .dog-line { width: auto; }
  .dog-hero .hero-image { transform: translate3d(0, var(--dog-heart-y, 0px), 0) scale(var(--dog-heart-scale, 1)); }
  .dog-heart-aura { width: min(80vw,520px); }
  .dog-orbit-one { width: min(82vw,540px); }
  .dog-orbit-two { width: min(70vw,460px); }
}


/* V15 static Device hero replacement */
.page-header.device-visual-header {
  background:
    linear-gradient(90deg, rgba(43,17,78,.13), rgba(105,34,102,.03)),
    url('../device-flow-bg.png') center / cover no-repeat !important;
}

.page-header.device-visual-header .heartbeat-bg,
.page-header.device-visual-header > .vr-scene-sphere {
  display: none !important;
}

.page-header.device-visual-header .page-header-content {
  width: min(92vw, 1200px) !important;
  margin-inline: auto !important;
  text-align: center !important;
}

@media (max-width: 760px) {
  .page-header.device-visual-header { background-position: center !important; }
}

/* V16 scroll-driven molecular story scenes */
.vr-story-scene {
  --story-progress: 0;
  --story-exit: 0;
  min-height: 105svh !important;
  overflow: hidden !important;
  isolation: isolate;
  perspective: 1100px;
}

.vr-story-scene > *:not(.vr-molecule-cluster):not(.vr-scene-sphere) {
  position: relative;
  z-index: 2;
}

.vr-story-scene .vr-story-word {
  display: inline-block;
  opacity: 0;
  filter: blur(14px);
  transform: translate3d(0, 70px, 0) rotateX(-22deg);
  transform-origin: 50% 100%;
  transition:
    opacity .75s cubic-bezier(.2,.75,.2,1),
    filter .9s ease,
    transform .9s cubic-bezier(.16,1,.3,1);
  transition-delay: calc(var(--word-index) * 70ms);
}

.vr-story-scene .vr-story-word:not(:last-child) { margin-right: .22em; }

.vr-story-scene.story-visible .vr-story-word {
  opacity: 1;
  filter: blur(0);
  transform: translate3d(0, calc(var(--story-exit) * -45px), 0) rotateX(0deg);
}

.vr-story-scene .section-subtitle,
.vr-story-scene .iit-card,
.vr-story-scene .features-grid,
.vr-story-scene .stats-grid {
  opacity: 0;
  filter: blur(10px);
  transform: translate3d(0, 85px, 0) scale(.96);
  transition: opacity .9s .22s ease, filter .9s .22s ease, transform 1.05s .22s cubic-bezier(.16,1,.3,1);
}

.vr-story-scene.story-visible .section-subtitle,
.vr-story-scene.story-visible .iit-card,
.vr-story-scene.story-visible .features-grid,
.vr-story-scene.story-visible .stats-grid {
  opacity: 1;
  filter: blur(0);
  transform: translate3d(0, calc(var(--story-exit) * -35px), 0) scale(calc(1 - var(--story-exit) * .025));
}

.vr-molecule-cluster {
  position: absolute;
  width: clamp(130px, 14vw, 240px);
  aspect-ratio: 1;
  z-index: 1;
  pointer-events: none;
  transform-style: preserve-3d;
  will-change: transform;
}

.vr-molecule-cluster.cluster-1 { right: 5%; top: 18%; }
.vr-molecule-cluster.cluster-2 { left: 3%; bottom: 7%; transform: scale(.72); }
.vr-molecule-core { position: absolute; inset: 0; transform-style: preserve-3d; animation: vrMoleculeFloat 7s ease-in-out infinite alternate; }
.cluster-2 .vr-molecule-core { animation-duration: 9s; animation-delay: -3s; }

.vr-atom {
  position: absolute;
  width: 34%;
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle at 28% 22%, #ffd9ae 0 8%, #f47d91 40%, #7130b0 78%);
  box-shadow: inset -12px -14px 24px rgba(51,15,89,.28), 0 18px 35px rgba(59,24,91,.2);
}
.vr-atom.atom-1 { left: 33%; top: 32%; transform: translateZ(48px); }
.vr-atom.atom-2 { left: 7%; top: 10%; width: 27%; transform: translateZ(-18px); }
.vr-atom.atom-3 { right: 5%; top: 8%; width: 24%; transform: translateZ(28px); }
.vr-atom.atom-4 { left: 3%; bottom: 4%; width: 22%; transform: translateZ(22px); }
.vr-atom.atom-5 { right: 4%; bottom: 5%; width: 29%; transform: translateZ(-30px); }

.vr-bond {
  position: absolute;
  left: 46%;
  top: 47%;
  width: 42%;
  height: 12px;
  border-radius: 999px;
  transform-origin: 0 50%;
  background: linear-gradient(90deg, #b45ae0, #f19185);
  box-shadow: 0 8px 20px rgba(62,23,96,.18);
}
.vr-bond.bond-1 { transform: rotate(-138deg) translateZ(4px); }
.vr-bond.bond-2 { transform: rotate(-42deg) translateZ(16px); }
.vr-bond.bond-3 { transform: rotate(138deg) translateZ(-12px); }
.vr-bond.bond-4 { transform: rotate(42deg) translateZ(9px); }

@keyframes vrMoleculeFloat {
  from { transform: translate3d(0,-8px,0) rotateZ(-7deg); }
  to { transform: translate3d(0,14px,22px) rotateZ(8deg); }
}

@media (max-width: 760px) {
  .vr-story-scene { min-height: 100svh !important; }
  .vr-molecule-cluster { width: 125px; opacity: .62; }
  .vr-molecule-cluster.cluster-1 { right: -22px; top: 16%; }
  .vr-molecule-cluster.cluster-2 { left: -26px; bottom: 4%; }
}

/* V12 supplied molecular backgrounds */
body > .hero {
  background:
    linear-gradient(90deg, rgba(43,17,78,.16), rgba(101,36,102,.04)),
    url('../hero-molecular-bg.png') center / cover no-repeat !important;
}

body > .hero .hero-image::before,
body > .hero .hero-image::after,
body > .hero > .vr-scene-sphere {
  display: none !important;
}

#technology + .cta {
  background:
    linear-gradient(90deg, rgba(45,16,78,.18), rgba(96,32,95,.08)),
    url('../cta-molecular-bg.png') center / cover no-repeat !important;
}

#technology + .cta > .vr-scene-sphere { display: none !important; }

@media (max-width: 760px) {
  body > .hero { background-position: 42% center !important; }
  #technology + .cta { background-position: 48% center !important; }
}

/* V13 supplied Device-page DNA background */
body:has(.dna-model) > .page-header {
  background:
    linear-gradient(90deg, rgba(45,16,78,.12), rgba(105,34,102,.03)),
    url('../device-dna-bg.png') center / cover no-repeat !important;
}

body:has(.dna-model) > .page-header .heartbeat-bg,
body:has(.dna-model) > .page-header > .vr-scene-sphere {
  display: none !important;
}

/* V14 new full-page flowing-particle DNA model */
body:has(.dna-model) .dna-model {
  width: min(100vw, 1600px) !important;
  height: min(78svh, 840px) !important;
  transform: scale(1.12) !important;
  transform-origin: center !important;
}

@media (max-width: 760px) {
  body:has(.dna-model) .dna-model {
    width: 112vw !important;
    height: 66svh !important;
    transform: scale(1.06) !important;
  }
}

@media (max-width: 760px) {
  body:has(.dna-model) > .page-header { background-position: 46% center !important; }
}

/* V11 full-scale DNA showcase */
.page-header .page-header-content:has(.dna-model) {
  width: min(96vw, 1480px) !important;
  height: 88svh !important;
  grid-template-rows: auto minmax(0, 1fr) auto !important;
  gap: 0 !important;
}

.page-header .page-header-content:has(.dna-model) h1 {
  position: relative;
  z-index: 2;
  font-size: clamp(3.6rem, 6.4vw, 7rem) !important;
}

.dna-model {
  width: min(100vw, 1500px) !important;
  height: min(74svh, 780px) !important;
  max-width: none !important;
  transform: translate(-25%, 0) scale(1.06);
  transform-origin: center;
  z-index: 1;
}

.page-header .page-header-content:has(.dna-model) p {
  position: relative;
  z-index: 2;
  padding-bottom: 1.5vh;
}

@media (max-width: 760px) {
  .page-header .page-header-content:has(.dna-model) { height: 84svh !important; }
  .dna-model { width: 110vw !important; height: 62svh !important; transform: translate(-18%, 0) scale(1.02); }
}

.vr-scene-nav {
  position: fixed;
  top: 34px;
  right: 5vw;
  z-index: 9100;
  display: flex;
  align-items: center;
  gap: 7px;
  border-radius: 999px;
  padding: 11px 15px;
  background: rgba(255,255,255,.78);
  backdrop-filter: blur(18px);
  transform: translateY(76px);
}

.vr-scene-dot {
  width: 8px;
  height: 8px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(62,23,96,.20);
  cursor: pointer;
  transition: width .3s ease, background .3s ease;
}

.vr-scene-dot.active { width: 28px; border-radius: 99px; background: var(--vr-violet); }

.vr-scroll-hint {
  position: absolute;
  left: 50%;
  bottom: 26px;
  width: 54px;
  height: 30px;
  border: 1px solid rgba(255,255,255,.72);
  border-radius: 999px;
  transform: translateX(-50%);
}
.vr-scroll-hint::after {
  content: '';
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: white;
  top: 11px;
  left: 12px;
  animation: vrScrollHint 1.8s ease-in-out infinite;
}

@keyframes vrFloat { to { transform: translate(26px, -34px) scale(1.08); } }
@keyframes vrScrollHint { 50% { transform: translateX(24px); } }

@media (max-width: 900px) {
  header { right: 10px !important; left: 10px !important; width: auto !important; min-width: 0 !important; }
  .logo { left: 14px !important; top: 14px !important; width: 62px; height: 62px !important; }
  .nav-links { top: 82px !important; }
  .hero { display: flex !important; padding-top: 125px !important; }
  .hero-image { min-height: 340px !important; }
  .hero-image video { width: min(78vw, 480px) !important; height: 340px !important; }
  .vr-scene-nav { display: none; }
  .section-title { font-size: clamp(3.1rem, 15vw, 5.6rem) !important; }
  .hero h1, .page-header h1 { font-size: clamp(3.5rem, 17vw, 6.4rem) !important; }
}
/* V23 supplied scientific imagery across the homepage middle sequence.
   The hero and final Technology / CTA sections intentionally remain unchanged. */
body > .features {
  background: linear-gradient(110deg, rgba(244,225,249,.72), rgba(255,211,201,.60)), url('../home-bg-dna.png') center / cover no-repeat !important;
}
body > .video-section {
  background: linear-gradient(110deg, rgba(43,18,78,.32), rgba(248,151,166,.22)), url('../home-bg-molecules.png') center / cover no-repeat !important;
}
body > .patient-carousel-section {
  background:
    radial-gradient(circle at 78% 24%, rgba(255,191,104,.42), transparent 28%),
    radial-gradient(circle at 52% 50%, rgba(142,80,194,.35), transparent 42%),
    linear-gradient(110deg, rgba(62,23,96,.94), rgba(100,48,117,.91) 45%, rgba(216,104,132,.88)),
    url('../scene-gradient.png') center / cover fixed no-repeat !important;
}
body > .iit-partnership {
  background: url('../home-bg-molecules.png') center / cover no-repeat !important;
}

/* V25 homepage loading sequence inspired by the supplied reference video. */
.site-loader {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: grid;
  place-items: center;
  overflow: hidden;
  color: #fff;
  background:
    radial-gradient(circle at 13% 12%, rgba(255,255,255,.94), transparent 24%),
    radial-gradient(circle at 72% 18%, rgba(255,171,163,.88), transparent 33%),
    linear-gradient(118deg, #f6d4e2 0%, #ba7ab5 33%, #35144f 61%, #ffaaa0 100%);
  background-size: 140% 140%;
  animation: loaderGradient 3.4s ease-in-out infinite alternate;
  transition: transform .9s cubic-bezier(.76,0,.24,1), opacity .55s ease;
}

body.loader-active { overflow: hidden !important; }

.site-loader-brand {
  position: absolute;
  top: 28px;
  left: 50%;
  transform: translateX(-50%);
  font: 700 .72rem/1 Manrope, sans-serif;
  letter-spacing: .24em;
  opacity: .72;
}

.site-loader-progress {
  display: grid;
  justify-items: center;
  gap: 12px;
  transition: opacity .3s ease, transform .3s ease;
}

.site-loader-dot {
  width: 13px;
  height: 13px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 0 30px rgba(255,255,255,.8);
  animation: loaderPulse .9s ease-in-out infinite alternate;
}

.site-loader-progress strong {
  font: 500 .76rem/1 Manrope, sans-serif;
  letter-spacing: .08em;
}

.site-loader-logo-wrap {
  position: absolute;
  left: 50%;
  top: 50%;
  width: clamp(100px, 10vw, 150px);
  aspect-ratio: 1;
  transform: translate(-50%,-50%) scale(.15) rotate(-8deg);
  opacity: 0;
  filter: drop-shadow(0 22px 45px rgba(41,13,65,.28));
}

.site-loader-logo-wrap img { width: 100%; height: 100%; object-fit: contain; }
.site-loader.loader-complete .site-loader-progress { opacity: 0; transform: scale(.7); }
.site-loader.loader-complete .site-loader-logo-wrap { animation: loaderLogoPop .82s cubic-bezier(.16,1.25,.3,1) both; }
.site-loader.loader-exit { transform: translateY(-102%); opacity: .96; }

@keyframes loaderGradient {
  from { background-position: 0% 30%; }
  to { background-position: 100% 70%; }
}
@keyframes loaderPulse {
  from { transform: scale(.75); opacity: .72; }
  to { transform: scale(1.15); opacity: 1; }
}
@keyframes loaderLogoPop {
  0% { transform: translate(-50%,-50%) scale(.15) rotate(-8deg); opacity: 0; }
  62% { transform: translate(-50%,-50%) scale(1.12) rotate(2deg); opacity: 1; }
  100% { transform: translate(-50%,-50%) scale(1) rotate(0); opacity: 1; }
}

@media (prefers-reduced-motion:reduce) {
  .site-loader { animation:none; }
  .site-loader-logo-wrap { transition:none; }
}
body > .key-differentiators {
  background: linear-gradient(110deg, rgba(48,17,81,.42), rgba(238,119,153,.25)), url('../home-bg-dna.png') center / cover no-repeat !important;
}
body > .how-it-works {
  background: linear-gradient(110deg, rgba(240,219,248,.66), rgba(255,211,198,.55)), url('../home-bg-molecules.png') center / cover no-repeat !important;
}
body > .impact-statistics {
  background: linear-gradient(110deg, rgba(49,18,79,.36), rgba(235,121,157,.22)), url('../home-bg-cells.png') center / cover no-repeat !important;
}
body > .features,
body > .video-section,
body > .patient-carousel-section,
body > .iit-partnership,
body > .key-differentiators,
body > .how-it-works,
body > .impact-statistics {
  background-attachment: scroll !important;
  box-shadow: inset 0 1px rgba(255,255,255,.18), inset 0 -1px rgba(255,255,255,.14);
}
@media (max-width:760px) {
  body > .features, body > .video-section, body > .patient-carousel-section,
  body > .iit-partnership, body > .key-differentiators,
  body > .how-it-works, body > .impact-statistics { background-position:56% center !important; }
}

/* V26 restore calm colour-blend backgrounds for media and product sections. */
body > .video-section,
body > .patient-carousel-section {
  background:
    radial-gradient(circle at 82% 18%, rgba(255,190,116,.52), transparent 29%),
    radial-gradient(circle at 17% 76%, rgba(154,94,224,.42), transparent 31%),
    linear-gradient(118deg, #4a206b 0%, #825096 42%, #e7839b 72%, #ffd0ad 100%) !important;
}

body:has(> .device-visual-header) > .product-showcase {
  background:
    radial-gradient(circle at 86% 16%, rgba(255,190,116,.34), transparent 30%),
    radial-gradient(circle at 14% 78%, rgba(145,91,215,.28), transparent 32%),
    linear-gradient(118deg, #dfc8f4 0%, #f3cbdc 42%, #ffd6bd 100%) !important;
}

/* V30 final requested overrides. */
body > .iit-partnership {
  background:
    radial-gradient(circle at 80% 20%, rgba(255,190,116,.48), transparent 30%),
    radial-gradient(circle at 17% 76%, rgba(154,94,224,.42), transparent 33%),
    linear-gradient(118deg, #4b216b 0%, #845197 43%, #e5849d 73%, #ffd0ad 100%) !important;
}

body > .features {
  background: url('../approach-molecular-bg.png') center / cover no-repeat !important;
}

.impact-statistics .stats-grid {
  left: -3.5% !important;
  transform: none !important;
}

@media (max-width: 820px) {
  .impact-statistics .stats-grid { left: 0 !important; }
}

/* V31 richer Device evolution backdrop, matched to the supplied colour reference. */
body:has(> .device-visual-header) > .product-showcase {
  background:
    linear-gradient(112deg, rgba(45, 17, 76, .08), rgba(255, 91, 112, .08)),
    url('../device-rich-gradient.png') center / cover no-repeat !important;
}

body:has(> .device-visual-header) > .product-showcase .product-content {
  background: rgba(255, 246, 250, .27) !important;
  border-color: rgba(255, 255, 255, .34) !important;
  box-shadow: 0 28px 80px rgba(44, 15, 70, .17) !important;
  backdrop-filter: blur(12px) saturate(1.08) !important;
}

body:has(> .device-visual-header) > .product-showcase .product-image {
  background: rgba(255, 245, 250, .24) !important;
}

/* V32: requested one-screen impact composition and confirmed Approach artwork. */
body > .features {
  background: url('../approach-molecular-bg.png') center / cover no-repeat !important;
}

.impact-statistics {
  height: 100vh !important;
  min-height: 720px !important;
  padding: clamp(82px, 9vh, 108px) 3.5vw 20px !important;
  overflow: hidden !important;
}

.impact-statistics .section-container {
  width: min(94vw, 1440px) !important;
  height: 100% !important;
  margin: 0 auto !important;
}

.impact-statistics .section-title {
  font-size: clamp(3rem, 5.2vw, 5.8rem) !important;
  line-height: .88 !important;
  margin: 0 auto 8px !important;
  max-width: 1120px !important;
}

.impact-statistics .section-subtitle {
  font-size: clamp(.92rem, 1.15vw, 1.15rem) !important;
  margin: 0 auto !important;
}

.impact-statistics .stats-grid {
  width: min(1100px, 82vw) !important;
  height: calc(100% - clamp(150px, 18vh, 205px)) !important;
  margin: clamp(10px, 1.7vh, 20px) auto 0 !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  grid-template-rows: repeat(2, minmax(0, 1fr)) !important;
  gap: clamp(4px, .7vw, 12px) !important;
  left: -2.2% !important;
}

.impact-statistics .stat-card {
  aspect-ratio: auto !important;
  height: 100% !important;
}

.impact-statistics .impact-motion {
  transform: scale(.78) !important;
  transform-origin: center !important;
}

@media (max-width: 820px) {
  .impact-statistics {
    height: auto !important;
    min-height: 100vh !important;
    overflow: visible !important;
  }
  .impact-statistics .stats-grid {
    width: min(680px, 94vw) !important;
    height: auto !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-template-rows: none !important;
    left: 0 !important;
  }
  .impact-statistics .stat-card { min-height: 300px !important; }
}

/* V35 final file-end override: all six motions share the title viewport. */
.impact-statistics { box-sizing:border-box!important; height:100svh!important; min-height:680px!important; padding:clamp(88px,9vh,108px) 3vw 12px!important; overflow:hidden!important; }
.impact-statistics .section-container { display:grid!important; grid-template-rows:auto auto minmax(0,1fr)!important; justify-items:center!important; align-content:stretch!important; gap:3px!important; width:min(94vw,1440px)!important; height:100%!important; margin:0 auto!important; padding:0!important; }
.impact-statistics .section-title { position:static!important; max-width:1080px!important; margin:0 auto 2px!important; font-size:clamp(2.35rem,4vw,4.6rem)!important; line-height:.92!important; transform:none!important; }
.impact-statistics .section-subtitle { position:static!important; margin:0 auto 3px!important; font-size:clamp(.84rem,1vw,1.05rem)!important; transform:none!important; }
.impact-statistics .stats-grid { box-sizing:border-box!important; position:relative!important; inset:auto!important; display:grid!important; grid-template-columns:repeat(3,minmax(0,1fr))!important; grid-template-rows:repeat(2,minmax(0,1fr))!important; gap:clamp(2px,.4vw,7px)!important; width:min(1020px,79vw)!important; height:100%!important; min-height:0!important; margin:0 0 0 -3%!important; padding:0!important; overflow:visible!important; transform:none!important; }
.impact-statistics .stat-card { position:relative!important; box-sizing:border-box!important; width:auto!important; height:auto!important; min-width:0!important; min-height:0!important; aspect-ratio:auto!important; overflow:visible!important; }
.impact-statistics .impact-motion { position:absolute!important; inset:0!important; width:100%!important; height:100%!important; min-height:0!important; transform:scale(.68)!important; transform-origin:center!important; }
@media (max-width:820px) {
  .impact-statistics { height:auto!important; min-height:100svh!important; overflow:visible!important; }
  .impact-statistics .section-container { display:block!important; }
  .impact-statistics .stats-grid { width:min(680px,94vw)!important; height:auto!important; margin:18px auto 0!important; grid-template-columns:repeat(2,minmax(0,1fr))!important; grid-template-rows:none!important; }
  .impact-statistics .stat-card { min-height:300px!important; aspect-ratio:1/1!important; }
}

/* V34 absolute final lock: title + six animated statistics in one desktop screen. */
.impact-statistics {
  box-sizing: border-box !important;
  height: 100svh !important;
  min-height: 680px !important;
  padding: clamp(88px, 9vh, 108px) 3vw 12px !important;
  overflow: hidden !important;
}
.impact-statistics .section-container {
  display: grid !important;
  grid-template-rows: auto auto minmax(0, 1fr) !important;
  justify-items: center !important;
  align-content: stretch !important;
  gap: 3px !important;
  width: min(94vw, 1440px) !important;
  height: 100% !important;
  margin: 0 auto !important;
  padding: 0 !important;
}
.impact-statistics .section-title {
  position: static !important;
  max-width: 1080px !important;
  margin: 0 auto 2px !important;
  font-size: clamp(2.35rem, 4vw, 4.6rem) !important;
  line-height: .92 !important;
  transform: none !important;
}
.impact-statistics .section-subtitle {
  position: static !important;
  margin: 0 auto 3px !important;
  font-size: clamp(.84rem, 1vw, 1.05rem) !important;
  transform: none !important;
}
.impact-statistics .stats-grid {
  box-sizing: border-box !important;
  position: relative !important;
  inset: auto !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  grid-template-rows: repeat(2, minmax(0, 1fr)) !important;
  gap: clamp(2px, .4vw, 7px) !important;
  width: min(1020px, 79vw) !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 0 0 -3% !important;
  padding: 0 !important;
  overflow: visible !important;
  transform: none !important;
}
.impact-statistics .stat-card {
  position: relative !important;
  box-sizing: border-box !important;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  aspect-ratio: auto !important;
  overflow: visible !important;
}
.impact-statistics .impact-motion {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  transform: scale(.68) !important;
  transform-origin: center !important;
}
@media (max-width: 820px) {
  .impact-statistics { height: auto !important; min-height: 100svh !important; overflow: visible !important; }
  .impact-statistics .section-container { display: block !important; }
  .impact-statistics .stats-grid {
    width: min(680px, 94vw) !important;
    height: auto !important;
    margin: 18px auto 0 !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-template-rows: none !important;
  }
  .impact-statistics .stat-card { min-height: 300px !important; aspect-ratio: 1 / 1 !important; }
}

/* V33: keep the Impact Statistics heading and all six motions in one viewport. */
.impact-statistics {
  box-sizing: border-box !important;
  height: 100svh !important;
  min-height: 680px !important;
  padding: clamp(92px, 10vh, 116px) 3vw 14px !important;
  overflow: hidden !important;
}

.impact-statistics .section-container {
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-rows: auto auto minmax(0, 1fr) !important;
  align-content: stretch !important;
  justify-items: center !important;
  gap: 4px !important;
  width: min(94vw, 1440px) !important;
  height: 100% !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

.impact-statistics .section-title,
.impact-statistics .section-subtitle {
  position: relative !important;
  inset: auto !important;
  transform: none !important;
}

.impact-statistics .section-title {
  max-width: 1100px !important;
  margin: 0 auto 2px !important;
  font-size: clamp(2.45rem, 4.2vw, 4.8rem) !important;
  line-height: .92 !important;
}

.impact-statistics .section-subtitle {
  margin: 0 auto 4px !important;
  font-size: clamp(.86rem, 1.05vw, 1.08rem) !important;
}

.impact-statistics .stats-grid {
  box-sizing: border-box !important;
  position: relative !important;
  inset: auto !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  grid-template-rows: repeat(2, minmax(0, 1fr)) !important;
  gap: clamp(2px, .45vw, 8px) !important;
  width: min(1040px, 80vw) !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 2px 0 0 -3.5% !important;
  padding: 0 !important;
  overflow: visible !important;
  transform: none !important;
}

.impact-statistics .stat-card {
  box-sizing: border-box !important;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  aspect-ratio: auto !important;
  overflow: visible !important;
}

.impact-statistics .impact-motion {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  transform: scale(.7) !important;
  transform-origin: center !important;
}

@media (max-width: 820px) {
  .impact-statistics {
    height: auto !important;
    min-height: 100svh !important;
    padding-bottom: 48px !important;
    overflow: visible !important;
  }
  .impact-statistics .section-container { display: block !important; }
  .impact-statistics .stats-grid {
    width: min(680px, 94vw) !important;
    height: auto !important;
    margin: 20px auto 0 !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-template-rows: none !important;
  }
  .impact-statistics .stat-card {
    min-height: 300px !important;
    aspect-ratio: 1 / 1 !important;
  }
}

/* V27 requested section backgrounds and NVIDIA subtitle legibility. */
body > .features {
  background: url('../device-bg-droplets.png') center / cover no-repeat !important;
}

body > .iit-partnership {
  background: url('../iit-molecular-bg.png') center / cover no-repeat !important;
}

body:has(> .device-visual-header) > .features-section:nth-of-type(4) .section-subtitle {
  color: #2a103f !important;
  font-size: clamp(1.25rem, 1.65vw, 1.65rem) !important;
  font-weight: 600 !important;
  opacity: 1 !important;
}

/* V28 spatial patient gallery: a hollow cylinder with four orbiting images. */
.patient-carousel-section {
  min-height: 100svh !important;
  padding: clamp(110px, 12vh, 150px) 0 70px !important;
  overflow: hidden !important;
  perspective: 1500px;
}

.patient-carousel-section .section-title {
  position: relative;
  z-index: 8;
  margin-bottom: .3rem !important;
}

.patient-carousel-section .section-subtitle {
  position: relative;
  z-index: 8;
  margin-bottom: 0 !important;
}

.patient-carousel-section .carousel-container {
  --gallery-radius: clamp(300px, 27vw, 510px);
  position: relative !important;
  width: min(100%, 1700px) !important;
  height: clamp(500px, 64vh, 720px) !important;
  margin: 12px auto 0 !important;
  perspective: 1450px;
  perspective-origin: 50% 47%;
  overflow: visible !important;
  cursor: grab;
  touch-action: pan-y;
}

.patient-carousel-section .carousel-container.is-grabbing { cursor: grabbing; }

.patient-carousel-section .carousel-container::before,
.patient-carousel-section .carousel-container::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 48%;
  translate: -50% -50%;
  border-radius: 50%;
  pointer-events: none;
}

.patient-carousel-section .carousel-container::before {
  width: clamp(230px, 25vw, 440px);
  aspect-ratio: 1;
  border: 1px solid rgba(255,255,255,.5);
  background: radial-gradient(circle, transparent 0 41%, rgba(255,255,255,.08) 42% 55%, transparent 56%);
  box-shadow: 0 0 90px rgba(255,185,205,.25), inset 0 0 70px rgba(255,255,255,.09);
  transform: rotateX(67deg);
}

.patient-carousel-section .carousel-container::after {
  width: 7px;
  height: 48%;
  background: linear-gradient(transparent, rgba(255,255,255,.65), transparent);
  filter: blur(.4px);
}

.patient-carousel-section .carousel-track {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  transform-style: preserve-3d;
  transform: rotateX(-5deg) rotateY(0deg);
  transition: transform 1.05s cubic-bezier(.2,.8,.2,1) !important;
  will-change: transform;
}

.patient-carousel-section .carousel-track.is-dragging { transition: none !important; }

.patient-carousel-section .carousel-slide {
  position: absolute !important;
  left: 50% !important;
  top: 47% !important;
  width: clamp(300px, 39vw, 690px) !important;
  height: clamp(250px, 43vh, 470px) !important;
  padding: 0 !important;
  transform-style: preserve-3d;
  transform: translate(-50%, -50%) rotateY(var(--card-angle)) translateZ(var(--gallery-radius));
  backface-visibility: hidden;
  opacity: .56;
  filter: saturate(.75) brightness(.78);
  transition: opacity .65s ease, filter .65s ease !important;
  cursor: pointer;
}

.patient-carousel-section .carousel-slide.active {
  opacity: 1;
  filter: none;
}

.patient-carousel-section .carousel-slide > div {
  width: 100%;
  height: 100%;
  transform: translateZ(0);
}

.patient-carousel-section .carousel-slide img {
  width: 100% !important;
  max-width: none !important;
  height: calc(100% - 48px) !important;
  object-fit: cover !important;
  border-radius: 34px !important;
  border: 1px solid rgba(255,255,255,.62);
  box-shadow: 0 35px 80px rgba(33,12,55,.34), inset 0 1px rgba(255,255,255,.65);
  transition: transform .7s cubic-bezier(.2,.8,.2,1), box-shadow .7s ease;
}

.patient-carousel-section .carousel-slide.active img {
  transform: translateZ(24px) scale(1.02);
  box-shadow: 0 42px 95px rgba(33,12,55,.42), 0 0 0 1px rgba(255,255,255,.25);
}

.patient-carousel-section .carousel-caption {
  margin: 13px auto 0 !important;
  max-width: 90%;
  opacity: 0;
  transform: translateY(10px);
  transition: opacity .45s ease .25s, transform .45s ease .25s;
}

.patient-carousel-section .carousel-slide.active .carousel-caption {
  opacity: 1;
  transform: translateY(0);
}

.patient-carousel-section .carousel-nav {
  position: absolute !important;
  inset: 46% clamp(20px, 4vw, 72px) auto !important;
  z-index: 20 !important;
  display: flex !important;
  justify-content: space-between;
  pointer-events: none;
}

.patient-carousel-section .carousel-btn { pointer-events: auto; }
.patient-carousel-section .carousel-indicators { position: absolute; z-index: 20; bottom: 3px; left: 50%; transform: translateX(-50%); }
.patient-carousel-section .indicator { border: 0; padding: 0; }

.vr-logo-cursor {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 100000;
  width: 42px;
  height: 42px;
  padding: 6px;
  border: 1px solid rgba(255,255,255,.7);
  border-radius: 50%;
  background: rgba(255,245,248,.72);
  box-shadow: 0 8px 28px rgba(44,15,70,.24);
  backdrop-filter: blur(8px);
  pointer-events: none;
  transform: translate3d(-80px,-80px,0);
  transition: width .22s ease, height .22s ease, background .22s ease;
}

.vr-logo-cursor img { width: 100%; height: 100%; object-fit: contain; }
.vr-logo-cursor.is-active { width: 54px; height: 54px; background: rgba(255,235,244,.9); }
.has-logo-cursor, .has-logo-cursor * { cursor: none !important; }

@media (pointer: coarse), (max-width: 760px) {
  .vr-logo-cursor { display: none !important; }
  .has-logo-cursor, .has-logo-cursor * { cursor: auto !important; }
  .patient-carousel-section .carousel-container { --gallery-radius: 230px; height: 560px !important; }
  .patient-carousel-section .carousel-slide { width: min(76vw, 430px) !important; height: 340px !important; }
  .patient-carousel-section .carousel-nav { inset-inline: 10px !important; }
}

/* V29 rollback: restore the original flat patient carousel and normal pointer. */
.patient-carousel-section {
  min-height: auto !important;
  padding: 5rem 5% !important;
  overflow: hidden !important;
  perspective: none !important;
}
.patient-carousel-section .section-title { margin-bottom: 1rem !important; }
.patient-carousel-section .section-subtitle { margin-bottom: 1rem !important; }
.patient-carousel-section .carousel-container {
  position: relative !important;
  width: 100% !important;
  max-width: 1380px !important;
  height: auto !important;
  margin: 3rem auto !important;
  perspective: none !important;
  overflow: visible !important;
  cursor: auto !important;
  touch-action: auto !important;
}
.patient-carousel-section .carousel-container::before,
.patient-carousel-section .carousel-container::after { display: none !important; }
.patient-carousel-section .carousel-track {
  position: static !important;
  inset: auto !important;
  display: flex !important;
  width: auto !important;
  height: auto !important;
  transform-style: flat !important;
  transition: transform .5s ease !important;
}
.patient-carousel-section .carousel-slide {
  position: static !important;
  width: auto !important;
  min-width: 100% !important;
  height: auto !important;
  padding: 0 4vw !important;
  transform: none !important;
  opacity: 1 !important;
  filter: none !important;
  cursor: auto !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
}
.patient-carousel-section .carousel-slide > div { width: 100%; height: auto; transform: none; }
.patient-carousel-section .carousel-slide img {
  width: 100% !important;
  max-width: 980px !important;
  height: min(58vh, 650px) !important;
  object-fit: cover !important;
  border: 0 !important;
  border-radius: 52% 48% 60% 40% / 45% 53% 47% 55% !important;
  box-shadow: 0 10px 30px rgba(232,76,61,.3) !important;
  transform: none !important;
}
.patient-carousel-section .carousel-caption {
  margin-top: 20px !important;
  max-width: none !important;
  opacity: 1 !important;
  transform: none !important;
}
.patient-carousel-section .carousel-nav {
  position: absolute !important;
  inset: auto 0 auto 0 !important;
  top: 50% !important;
  z-index: 10 !important;
  display: flex !important;
  justify-content: space-between !important;
  transform: translateY(-50%) !important;
  padding: 0 20px !important;
  pointer-events: none !important;
}
.patient-carousel-section .carousel-btn { pointer-events: auto !important; }
.patient-carousel-section .carousel-indicators {
  position: static !important;
  display: flex !important;
  justify-content: center !important;
  margin-top: 20px !important;
  transform: none !important;
}
.patient-carousel-section .indicator { width: 12px; height: 12px; margin: 0 5px; padding: 0; }
.vr-logo-cursor { display: none !important; }
.has-logo-cursor, .has-logo-cursor * { cursor: auto !important; }

/* V24 Device-page scientific backgrounds. Content and cards remain unchanged. */
body:has(> .device-visual-header) > .product-showcase {
  background:
    linear-gradient(rgba(255,255,255,.16), rgba(255,255,255,.16)),
    url('../device-bg-droplets.png') center / cover no-repeat !important;
}

body:has(> .device-visual-header) > .features-section:nth-of-type(3) {
  background:
    linear-gradient(rgba(255,246,249,.20), rgba(255,246,249,.20)),
    url('../home-bg-cells.png') center / cover no-repeat !important;
}

body:has(> .device-visual-header) > .features-section:nth-of-type(4) {
  background:
    linear-gradient(rgba(50,18,79,.12), rgba(50,18,79,.12)),
    url('../home-bg-dna.png') center / cover no-repeat !important;
}

body:has(> .device-visual-header) > .cta {
  background:
    linear-gradient(rgba(45,16,76,.18), rgba(45,16,76,.18)),
    url('../home-bg-molecules.png') center / cover no-repeat !important;
}

body:has(> .device-visual-header) > .product-showcase,
body:has(> .device-visual-header) > .features-section,
body:has(> .device-visual-header) > .cta {
  background-attachment: scroll !important;
  image-rendering: auto;
}

@media (max-width:760px) {
  body:has(> .device-visual-header) > .product-showcase,
  body:has(> .device-visual-header) > .features-section,
  body:has(> .device-visual-header) > .cta { background-position: 55% center !important; }
}

/* Final Device product override: retain the original colour blend, not imagery. */
body:has(> .device-visual-header) > .product-showcase {
  background:
    radial-gradient(circle at 86% 16%, rgba(255,190,116,.34), transparent 30%),
    radial-gradient(circle at 14% 78%, rgba(145,91,215,.28), transparent 32%),
    linear-gradient(118deg, #dfc8f4 0%, #f3cbdc 42%, #ffd6bd 100%) !important;
}

/* V30 final cascade lock: only the sections requested in this revision. */
body > .iit-partnership {
  background:
    radial-gradient(circle at 80% 20%, rgba(255,190,116,.48), transparent 30%),
    radial-gradient(circle at 17% 76%, rgba(154,94,224,.42), transparent 33%),
    linear-gradient(118deg, #4b216b 0%, #845197 43%, #e5849d 73%, #ffd0ad 100%) !important;
}

body > .features {
  background: url('../approach-molecular-bg.png') center / cover no-repeat !important;
}

.impact-statistics .stats-grid {
  left: -3.5% !important;
  transform: none !important;
}

@media (max-width: 820px) {
  .impact-statistics .stats-grid { left: 0 !important; }
}

/* V31 final cascade lock for the Device evolution page. */
body:has(> .device-visual-header) > .product-showcase {
  background:
    linear-gradient(112deg, rgba(45, 17, 76, .08), rgba(255, 91, 112, .08)),
    url('../device-rich-gradient.png') center / cover no-repeat !important;
}

body:has(> .device-visual-header) > .product-showcase .product-content {
  background: rgba(255, 246, 250, .27) !important;
  border-color: rgba(255, 255, 255, .34) !important;
  box-shadow: 0 28px 80px rgba(44, 15, 70, .17) !important;
  backdrop-filter: blur(12px) saturate(1.08) !important;
}

body:has(> .device-visual-header) > .product-showcase .product-image {
  background: rgba(255, 245, 250, .24) !important;
}

/* V37 relaxed Impact layout: large 3x2 motions with natural page height. */
body > .features { background:url('../approach-molecular-bg.png') center/cover no-repeat!important; }

/* V54 compact Approach directory: four equal interactive bubbles in one viewport. */
body > #features.features {
  box-sizing: border-box !important;
  min-height: 100vh !important;
  height: 100vh !important;
  padding: clamp(104px, 12vh, 132px) 5vw clamp(36px, 5vh, 58px) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
}
body > #features .approach-eyebrow {
  margin: 0 0 10px !important;
  color: #35145c !important;
  font-size: clamp(.78rem, .9vw, 1rem) !important;
  font-weight: 700 !important;
  letter-spacing: .18em !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
}
body > #features .section-title {
  position: static !important;
  width: min(1120px, 92vw) !important;
  margin: 0 auto clamp(34px, 5vh, 58px) !important;
  color: #21083e !important;
  font-size: clamp(2.8rem, 5.2vw, 5.7rem) !important;
  line-height: .94 !important;
  text-align: center !important;
  transform: none !important;
}
body > #features .features-grid {
  position: static !important;
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: clamp(18px, 2vw, 32px) !important;
  width: min(1120px, 90vw) !important;
  height: auto !important;
  margin: 0 auto !important;
  padding: 0 !important;
  overflow: visible !important;
  transform: none !important;
}
body > #features .feature-card {
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  aspect-ratio: 1 / 1 !important;
  padding: clamp(22px, 2.4vw, 34px) !important;
  border: 1px solid rgba(255,255,255,.72) !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,.58) !important;
  box-shadow: 0 18px 45px rgba(53,20,92,.12) !important;
  backdrop-filter: blur(12px) saturate(1.08) !important;
  text-align: center !important;
}
body > #features .feature-card p { display: none !important; }
body > #features .feature-icon {
  width: clamp(50px, 4vw, 66px) !important;
  height: clamp(50px, 4vw, 66px) !important;
  margin: 0 0 clamp(16px, 2vh, 24px) !important;
}
body > #features .feature-heading {
  margin: 0 !important;
  color: #21083e !important;
  font-size: clamp(1.05rem, 1.5vw, 1.55rem) !important;
  line-height: 1.08 !important;
}
body > #features .feature-card:hover {
  transform: translateY(-10px) rotate(-1.5deg) !important;
  background: rgba(255,255,255,.76) !important;
  box-shadow: 0 26px 58px rgba(53,20,92,.2) !important;
}
@media (max-width: 820px) {
  body > #features.features { height: auto !important; min-height: 100vh !important; overflow: visible !important; }
  body > #features .features-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; width: min(92vw, 620px) !important; }
  body > #features .section-title { font-size: clamp(2.4rem, 10vw, 4.2rem) !important; }
}

/* V55 three full-page care-model chapters after Real Patient Experiences. */
body > .full-page-section {
  position: relative !important;
  box-sizing: border-box !important;
  width: 100% !important;
  height: 100vh !important;
  min-height: 720px !important;
  padding: clamp(108px, 12vh, 138px) clamp(42px, 6vw, 110px) clamp(48px, 6vh, 76px) !important;
  overflow: hidden !important;
  isolation: isolate !important;
}
body > .audience-section {
  background:
    radial-gradient(circle at 15% 22%, rgba(183,143,255,.62), transparent 34%),
    radial-gradient(circle at 85% 74%, rgba(255,179,112,.7), transparent 38%),
    linear-gradient(118deg, #3c1b67 0%, #c66b9b 54%, #ef927f 100%) !important;
}
body > .care-delivery-section {
  background:
    radial-gradient(circle at 78% 14%, rgba(255,196,132,.82), transparent 34%),
    radial-gradient(circle at 12% 82%, rgba(156,116,235,.66), transparent 36%),
    linear-gradient(125deg, #7656b4 0%, #e69ab1 48%, #f5b779 100%) !important;
}
body > .access-section {
  background:
    radial-gradient(circle at 76% 38%, rgba(251,148,144,.7), transparent 36%),
    radial-gradient(circle at 18% 72%, rgba(151,105,225,.58), transparent 34%),
    linear-gradient(125deg, #321655 0%, #74407d 48%, #d86f82 100%) !important;
}
body > .full-page-section::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  opacity: .46;
  background:
    linear-gradient(112deg, transparent 0 48%, rgba(255,255,255,.12) 49% 50%, transparent 51%),
    radial-gradient(circle at 50% 50%, rgba(255,255,255,.14), transparent 55%);
  pointer-events: none;
}
.care-section-inner {
  width: min(1220px, 90vw) !important;
  height: 100% !important;
  margin: 0 auto !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
}
.care-eyebrow {
  margin: 0 0 14px !important;
  color: rgba(255,255,255,.88) !important;
  font-size: clamp(.82rem, 1vw, 1.05rem) !important;
  font-weight: 750 !important;
  letter-spacing: .17em !important;
  line-height: 1.1 !important;
  text-transform: uppercase !important;
}
.care-title {
  max-width: 1080px !important;
  margin: 0 auto clamp(38px, 5vh, 62px) !important;
  color: #fff !important;
  font-size: clamp(2.9rem, 5.3vw, 6rem) !important;
  font-weight: 600 !important;
  letter-spacing: -.055em !important;
  line-height: .94 !important;
  text-align: center !important;
}
.care-intro {
  max-width: 850px !important;
  margin: 0 auto clamp(1.25rem, 2.5vh, 2rem) !important;
  color: rgba(38, 14, 65, .8) !important;
  font-size: clamp(1rem, 1.25vw, 1.3rem) !important;
  line-height: 1.55 !important;
  text-align: center !important;
}
.audience-grid,
.delivery-grid {
  display: grid !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: clamp(18px, 2vw, 30px) !important;
}
.audience-grid { grid-template-columns: repeat(3, minmax(0,1fr)) !important; }
.delivery-grid { grid-template-columns: repeat(4, minmax(0,1fr)) !important; }
.care-card {
  position: relative !important;
  box-sizing: border-box !important;
  min-width: 0 !important;
  min-height: clamp(255px, 30vh, 330px) !important;
  padding: clamp(28px, 3vw, 44px) !important;
  border: 1px solid rgba(255,255,255,.58) !important;
  border-radius: clamp(34px, 4vw, 68px) !important;
  background: rgba(255,247,250,.54) !important;
  box-shadow: 0 25px 70px rgba(39,13,64,.18) !important;
  backdrop-filter: blur(16px) saturate(1.08) !important;
  color: #260d41 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  transition: transform .55s cubic-bezier(.2,.8,.2,1), background .4s ease, box-shadow .4s ease !important;
}
.care-card:hover {
  transform: translateY(-12px) rotate(-1deg) !important;
  background: rgba(255,250,252,.76) !important;
  box-shadow: 0 34px 80px rgba(39,13,64,.27) !important;
}
.care-card-number {
  position: absolute !important;
  top: 28px !important;
  right: 32px !important;
  color: rgba(57,22,89,.42) !important;
  font-size: .8rem !important;
  font-weight: 800 !important;
  letter-spacing: .12em !important;
}
.care-card h3 {
  margin: 0 0 18px !important;
  color: #260d41 !important;
  font-size: clamp(1.35rem, 1.8vw, 2rem) !important;
  line-height: 1.06 !important;
}
.care-card p {
  margin: 0 !important;
  color: rgba(38,13,65,.78) !important;
  font-size: clamp(.95rem, 1.1vw, 1.18rem) !important;
  line-height: 1.55 !important;
}
.delivery-grid .care-card {
  min-height: clamp(280px, 34vh, 365px) !important;
  padding: clamp(24px, 2.3vw, 36px) !important;
}
.delivery-icon {
  display: grid !important;
  place-items: center !important;
  width: 58px !important;
  height: 58px !important;
  margin: 0 0 24px !important;
  border-radius: 50% !important;
  background: linear-gradient(135deg,#9b59db,#f36f8d 58%,#f5b366) !important;
  color: #fff !important;
  font-size: 1.25rem !important;
  box-shadow: 0 12px 28px rgba(80,34,109,.22) !important;
}
.care-delivery-section .care-title {
  max-width: 1100px !important;
  font-size: clamp(2.5rem, 4.4vw, 5rem) !important;
}
.access-layout {
  width: min(1220px, 90vw) !important;
  height: 100% !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: minmax(0,1.05fr) minmax(0,.95fr) !important;
  align-items: center !important;
  gap: clamp(48px, 7vw, 110px) !important;
}

/* Keep the ACCESS story fully visible within a single desktop viewport. */
.access-section.full-page-section {
  padding-top: clamp(96px, 10vh, 118px) !important;
  padding-bottom: clamp(30px, 4vh, 48px) !important;
}
.access-heading .care-title {
  margin: 0 !important;
  text-align: left !important;
  font-size: clamp(2.7rem, 4.8vw, 5.4rem) !important;
  line-height: .93 !important;
}
.access-copy {
  padding: clamp(28px, 3.5vw, 52px) !important;
  border: 1px solid rgba(255,255,255,.48) !important;
  border-radius: clamp(40px, 5vw, 76px) !important;
  background: rgba(255,247,250,.55) !important;
  box-shadow: 0 30px 80px rgba(30,9,54,.24) !important;
  backdrop-filter: blur(18px) saturate(1.08) !important;
}
.access-copy p {
  margin: 0 !important;
  color: #2c1049 !important;
  font-size: clamp(.98rem, 1.15vw, 1.25rem) !important;
  line-height: 1.5 !important;
}
.access-copy .access-lead {
  margin-bottom: 20px !important;
  font-size: clamp(1.12rem, 1.4vw, 1.5rem) !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
}
.progress-journey-section {
  background:
    radial-gradient(circle at 15% 22%, rgba(181,133,238,.5), transparent 34%),
    radial-gradient(circle at 84% 22%, rgba(255,172,128,.58), transparent 36%),
    linear-gradient(125deg, #4b246f 0%, #c777a5 52%, #f4b679 100%) !important;
}
.progress-journey-section .care-title {
  max-width: 1240px !important;
  font-size: clamp(2.35rem, 4vw, 4.6rem) !important;
}
.progress-journey-grid {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: clamp(12px, 1.4vw, 24px) !important;
}
.progress-card {
  min-height: clamp(330px, 47vh, 455px) !important;
  padding: clamp(24px, 2.2vw, 38px) !important;
  border-radius: 48% 48% 44% 44% / 38% 38% 55% 55% !important;
}
.progress-card h3 {
  font-size: clamp(1.35rem, 1.7vw, 2rem) !important;
}
.progress-card p {
  font-size: clamp(.92rem, 1vw, 1.12rem) !important;
  line-height: 1.55 !important;
}

.connected-care-section {
  background:
    radial-gradient(circle at 22% 18%, rgba(177,124,231,.48), transparent 34%),
    radial-gradient(circle at 80% 72%, rgba(255,180,122,.54), transparent 38%),
    linear-gradient(130deg, #472267 0%, #c4719c 55%, #f3ad75 100%) !important;
}
.connected-care-grid {
  width: min(1480px, 90vw) !important;
  height: 100% !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-items: center !important;
  gap: clamp(32px, 5vw, 86px) !important;
}
.connected-care-card {
  min-height: clamp(480px, 68vh, 650px) !important;
  padding: clamp(46px, 5vw, 82px) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  border: 1px solid rgba(255,255,255,.64) !important;
  border-radius: 48% 48% 45% 45% / 39% 39% 55% 55% !important;
  background: linear-gradient(145deg, rgba(255,247,253,.73), rgba(255,223,213,.65)) !important;
  box-shadow: 0 30px 80px rgba(37,8,61,.24) !important;
  backdrop-filter: blur(18px) saturate(1.08) !important;
  color: #260c40 !important;
}
.connected-care-card h2 {
  margin: 20px 0 26px !important;
  font-size: clamp(2rem, 3vw, 3.7rem) !important;
  line-height: 1.02 !important;
  color: #260c40 !important;
}
.connected-care-card p {
  margin: 0 0 20px !important;
  font-size: clamp(1rem, 1.25vw, 1.35rem) !important;
  line-height: 1.58 !important;
  color: #3b2350 !important;
}

@media (max-width: 1100px) {
  .progress-journey-section.full-page-section,
  .connected-care-section.full-page-section {
    height: auto !important;
    min-height: 100vh !important;
    overflow: visible !important;
  }
  .progress-journey-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .connected-care-grid { grid-template-columns: 1fr !important; padding-block: 40px !important; }
}
@media (max-width: 640px) {
  .progress-journey-grid { grid-template-columns: 1fr !important; }
  .progress-card,
  .connected-care-card { min-height: auto !important; border-radius: 46px !important; }
}

.section-orb {
  position: absolute !important;
  z-index: -1 !important;
  border-radius: 50% !important;
  background: radial-gradient(circle at 35% 28%, #ffe9b2 0%, #ec8a9c 42%, #5a23a2 100%) !important;
  box-shadow: 0 20px 50px rgba(58,20,92,.22) !important;
  animation: careOrbFloat 8s ease-in-out infinite alternate !important;
}
.section-orb-a { width: clamp(120px, 12vw, 210px) !important; aspect-ratio: 1 !important; top: 12% !important; right: 6% !important; }
.section-orb-b { width: clamp(70px, 7vw, 118px) !important; aspect-ratio: 1 !important; bottom: 8% !important; left: 7% !important; animation-delay: -3s !important; }
@keyframes careOrbFloat {
  from { transform: translate3d(-8px,-8px,0) rotate(-3deg); }
  to { transform: translate3d(14px,18px,0) rotate(5deg); }
}
@media (max-width: 980px) {
  body > .full-page-section { height: auto !important; min-height: 100vh !important; overflow: visible !important; }
  .audience-grid { grid-template-columns: 1fr !important; }
  .delivery-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  .care-card { min-height: 230px !important; }
  .access-layout { grid-template-columns: 1fr !important; padding: 40px 0 !important; }
  .access-heading .care-title { text-align: center !important; }
  .access-heading .care-eyebrow { text-align: center !important; }
}
@media (max-width: 620px) {
  body > .full-page-section { padding: 110px 5vw 60px !important; }
  .delivery-grid { grid-template-columns: 1fr !important; }
  .care-title { font-size: clamp(2.45rem, 12vw, 4rem) !important; }
}
.impact-statistics { box-sizing:border-box!important; height:auto!important; min-height:0!important; padding:clamp(112px,13vh,150px) 4vw clamp(80px,10vh,120px)!important; overflow:visible!important; }
.impact-statistics .section-container { display:block!important; width:min(94vw,1440px)!important; height:auto!important; margin:0 auto!important; padding:0!important; }
.impact-statistics .section-title { position:static!important; max-width:1180px!important; margin:0 auto 12px!important; font-size:clamp(3.2rem,6vw,6.5rem)!important; line-height:.9!important; transform:none!important; }
.impact-statistics .section-subtitle { position:static!important; margin:0 auto!important; font-size:clamp(1rem,1.35vw,1.35rem)!important; transform:none!important; }
.impact-statistics .stats-grid { box-sizing:border-box!important; position:relative!important; inset:auto!important; display:grid!important; grid-template-columns:repeat(3,minmax(0,1fr))!important; grid-template-rows:none!important; gap:clamp(18px,2.2vw,36px)!important; width:min(1180px,88vw)!important; height:auto!important; min-height:0!important; margin:clamp(42px,6vh,76px) auto 0!important; padding:0!important; overflow:visible!important; transform:translateX(-1.5%)!important; }
.impact-statistics .stat-card { position:relative!important; box-sizing:border-box!important; width:100%!important; height:auto!important; min-width:0!important; min-height:0!important; aspect-ratio:1/1!important; overflow:visible!important; }
.impact-statistics .impact-motion { position:absolute!important; inset:0!important; width:100%!important; height:100%!important; min-height:0!important; transform:none!important; transform-origin:center!important; }
.impact-statistics.impact-playing .impact-motion::after,
.impact-statistics.impact-playing .impact-motion > .motion-number,
.impact-statistics.impact-playing .impact-motion > .motion-label,
.impact-statistics.impact-playing .impact-motion > .motion-caption,
.impact-statistics.impact-playing .css-trophy,
.impact-statistics.impact-playing .orbit,
.impact-statistics.impact-playing .orbit-core,
.impact-statistics.impact-playing .growth-chart span,
.impact-statistics.impact-playing .trend,
.impact-statistics.impact-playing .trend-dot,
.impact-statistics.impact-playing .people-cloud i,
.impact-statistics.impact-playing .world-stage > i,
.impact-statistics.impact-playing .site-pin,
.impact-statistics.impact-playing .world-ring,
.impact-statistics.impact-playing .publication-bars i,
.impact-statistics.impact-playing .line-growth-chart .data-line { animation-iteration-count:1!important; }
@media (max-width:820px) {
  .impact-statistics { padding:100px 3vw 64px!important; }
  .impact-statistics .stats-grid { width:min(680px,94vw)!important; margin:28px auto 0!important; grid-template-columns:repeat(2,minmax(0,1fr))!important; transform:none!important; }
}
@media (max-width:520px) { .impact-statistics .stats-grid { grid-template-columns:1fr!important; } }

/* V57: complete mobile hero copy and unify the new care-section interactions. */
body > #features .approach-eyebrow {
  font-size: clamp(1rem, 1.2vw, 1.25rem) !important;
}

.care-title,
.access-heading .care-title,
.connected-care-card h2 {
  color: #260d41 !important;
}

#who-we-serve .care-card,
#care-delivery .care-card,
#measurable-progress .care-card,
#access .access-copy,
#connected-care .connected-care-card {
  border-radius: 50% / 42% !important;
  cursor: pointer !important;
  outline: none !important;
  transition:
    border-radius .7s cubic-bezier(.16,1,.3,1),
    transform .55s cubic-bezier(.16,1,.3,1),
    background .45s ease,
    box-shadow .45s ease !important;
}

#who-we-serve .care-card:hover,
#who-we-serve .care-card:focus-visible,
#who-we-serve .care-card.is-selected,
#care-delivery .care-card:hover,
#care-delivery .care-card:focus-visible,
#care-delivery .care-card.is-selected,
#measurable-progress .care-card:hover,
#measurable-progress .care-card:focus-visible,
#measurable-progress .care-card.is-selected,
#access .access-copy:hover,
#access .access-copy:focus-visible,
#access .access-copy.is-selected,
#connected-care .connected-care-card:hover,
#connected-care .connected-care-card:focus-visible,
#connected-care .connected-care-card.is-selected {
  border-radius: clamp(32px, 4vw, 68px) !important;
  transform: translateY(-10px) rotate(-.6deg) !important;
  background: rgba(255,250,252,.79) !important;
  box-shadow: 0 34px 80px rgba(39,13,64,.28) !important;
}

@media (max-width: 900px) {
  .dog-hero {
    overflow: hidden !important;
  }
  .dog-hero .hero-content {
    box-sizing: border-box !important;
    left: 0 !important;
    right: auto !important;
    width: 100% !important;
    max-width: none !important;
    padding-inline: clamp(24px, 7vw, 48px) !important;
    transform: translate3d(0, var(--dog-content-y, 0px), 70px) !important;
  }
  .dog-hero h1 {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
    font-size: clamp(3rem, 13vw, 6rem) !important;
    line-height: .9 !important;
  }
  .dog-hero h1 .dog-line {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }
}

@media (max-width: 640px) {
  #who-we-serve .care-card,
  #care-delivery .care-card,
  #measurable-progress .care-card,
  #access .access-copy,
  #connected-care .connected-care-card {
    border-radius: 50% / 42% !important;
  }
  #who-we-serve .care-card:hover,
  #who-we-serve .care-card:focus-visible,
  #who-we-serve .care-card.is-selected,
  #care-delivery .care-card:hover,
  #care-delivery .care-card:focus-visible,
  #care-delivery .care-card.is-selected,
  #measurable-progress .care-card:hover,
  #measurable-progress .care-card:focus-visible,
  #measurable-progress .care-card.is-selected,
  #access .access-copy:hover,
  #access .access-copy:focus-visible,
  #access .access-copy.is-selected,
  #connected-care .connected-care-card:hover,
  #connected-care .connected-care-card:focus-visible,
  #connected-care .connected-care-card.is-selected {
    border-radius: 34px !important;
  }
}

/* 强制Hero垂直布局 */
#hero.hero.dog-hero {
  display: flex !important;
  flex-direction: column !important;
  text-align: center !important;
  justify-content: center !important;
  align-items: center !important;
  min-height: 100vh !important;
  padding: 120px 5% 3rem 5% !important;
  position: relative !important;
}

#hero.hero.dog-hero .hero-content {
  position: relative !important;
  z-index: 10 !important;
  text-align: center !important;
  max-width: 900px !important;
  margin: 0 auto !important;
  width: 100% !important;
  flex: none !important;
}

#hero.hero.dog-hero .hero-content p {
  text-align: center !important;
  margin: 0 auto !important;
}

#hero.hero.dog-hero h1 {
  font-size: 5.5rem !important;
  line-height: 0.95 !important;
  text-align: center !important;
  margin-bottom: 1.5rem !important;
  color: white !important;
}

#hero.hero.dog-hero h1 .dog-line {
  display: block !important;
  width: 100% !important;
  color: white !important;
}

#hero.hero.dog-hero h1 .dog-emphasis {
  color: white !important;
}

/* 背景图替换 —— 路径相对 css/ 目录，图片在 redesign/ 根目录 */
body > #who-we-serve.full-page-section {
  background: url('../21f83678-b468-4dac-81fc-c2073af840c4.png') center / cover no-repeat !important;
}

body > #care-delivery.full-page-section {
  background: url('../39741372-83fe-4167-88ae-0278823cc47e.png') center / cover no-repeat !important;
}

body > #access.full-page-section {
  background: url('../9241a111-801c-47a2-901c-5051c756111c.png') center / cover no-repeat !important;
}

body > #measurable-progress.full-page-section {
  background: url('../21f83678-b468-4dac-81fc-c2073af840c4.png') center / cover no-repeat !important;
}

body > #connected-care.full-page-section {
  background: url('../39741372-83fe-4167-88ae-0278823cc47e.png') center / cover no-repeat !important;
}

/* 最后一页左右居中对称：width 改为相对内容区，避免 90vw 溢出到右侧 */
#connected-care .connected-care-grid {
  width: 100% !important;
  max-width: 1480px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* 统计页绝对居中：清掉手写的 left:-3.5% 补偿和 left:50%/translateX 偏移 */
#statistics .section-container {
  margin-left: auto !important;
  margin-right: auto !important;
}

#statistics .stats-grid {
  position: relative !important;
  left: 0 !important;
  right: auto !important;
  transform: none !important;
  width: 100% !important;
  max-width: 1460px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  justify-content: center !important;
}

/* 去掉页脚下方露出的米白色边（--vr-blush） */
footer {
  margin-bottom: 0 !important;
  border-bottom-left-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
}

/* What Makes ARTSENS plus pwv Different 标题居中：
   .section-title 有 max-width:1020px 但没有 auto 外边距，盒子贴左 */
/* section 是 column 方向的 flex，水平是交叉轴，align-items:normal 把
   带 max-width 的 .section-container 顶到了左边 —— 用 auto 外边距拉回中间 */
#differentiators .section-container {
  margin-left: auto !important;
  margin-right: auto !important;
}

#differentiators .section-title {
  display: block !important;   /* 原为 inline-block，auto 外边距对行内级盒子无效 */
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}

/* ══ CMS ACCESS 页：标题上移，正文移到标题下方，右侧放 3D 心脏 ══ */
#access .access-heading {
  align-self: start !important;          /* 原本 align-items:center，改为顶对齐把标题往上挪 */
  padding-top: clamp(12px, 3vh, 46px) !important;
}
/* 正文原本在右侧白色椭圆里是深色字，移到左侧深紫背景上需要浅色才看得清 */
#access .access-heading .access-lead {
  margin: clamp(22px, 3vh, 34px) 0 16px !important;
  color: rgba(255,255,255,.96) !important;
  font-size: clamp(1.05rem, 1.3vw, 1.4rem) !important;
  font-weight: 700 !important;
  line-height: 1.42 !important;
  max-width: 34em !important;
}
#access .access-heading .access-body {
  margin: 0 !important;
  color: rgba(255,255,255,.84) !important;
  font-size: clamp(.95rem, 1.12vw, 1.2rem) !important;
  line-height: 1.55 !important;
  max-width: 34em !important;
}
#access .access-visual {
  align-self: center !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
/* 与首页心脏同一个 GLB、同一组参数，只调显示尺寸，不改颜色与交互 */
#access .access-heart {
  width: min(100%, 470px) !important;
  height: clamp(320px, 48vh, 540px) !important;
  background: transparent !important;
}

/* ══ Team / Contact 首屏背景图 ══
   .hero, .page-header 那条规则用 background 简写 + !important，
   这里同样用简写覆盖，否则渐变层还会留在上面。
   路径相对 css/ 目录，图片在 vascrisk/ 根目录，所以是 ../../ */
body > .team-page-header.page-header {
  background: url('../21f83678-b468-4dac-81fc-c2073af840c4.png') center / cover no-repeat !important;
}
body > .contact-page-header.page-header {
  background: url('../9241a111-801c-47a2-901c-5051c756111c.png') center / cover no-repeat !important;
}

/* Our Approach 副标题：原为 #6f2b75 / 20px，在紫色背景上对比度不足看不清，
   放大并改用与标题相同的深紫 #200a38 */
#approach .section-subtitle {
  font-size: clamp(1.3rem, 2vw, 2.15rem) !important;
  font-weight: 600 !important;
  color: #200a38 !important;
  opacity: 1 !important;
}

/* ══ Team 页（team.html 专有：.team-section / .advisor-* 仅此页使用）══ */

/* 翻转失效的根因：isolation: isolate 会创建层叠上下文，按规范强制把
   transform-style: preserve-3d 降级为 flat，3D 翻转因此失效、背面出不来。
   （getComputedStyle 仍报告 preserve-3d，那是声明值不是生效值） */
.team-section .team-card,
.team-section .card-inner,
.team-section .card-front,
.team-section .card-back {
  isolation: auto !important;
}
.team-section .card-inner {
  transform-style: preserve-3d !important;
  -webkit-transform-style: preserve-3d !important;
}
.team-section .card-front,
.team-section .card-back {
  backface-visibility: hidden !important;
  -webkit-backface-visibility: hidden !important;
}

/* 顾问卡背面：底色是深紫红渐变，但文字是深色，叠在一起看不清 —— 统一改白 */
.team-section .advisor-bio,
.team-section .advisor-bio p,
.team-section .advisor-bio h3,
.team-section .advisor-bio .member-name,
.team-section .advisor-bio .advisor-name {
  color: #ffffff !important;
}
.team-section .advisor-bio .iit-highlight {
  color: #ffd08a !important;
}

/* 翻转卡背面文字保持白色 */
.team-section .card-back,
.team-section .card-back p,
.team-section .card-back h3,
.team-section .card-back .member-name,
.team-section .card-back .member-bio {
  color: #ffffff !important;
}

/* Team 页头副标题：原为 1.1rem 半透明白色，压在浅色背景上看不清，
   放大并改用深紫 */
.team-page-header .page-header-content p {
  font-size: clamp(1.3rem, 2vw, 2.15rem) !important;
  font-weight: 600 !important;
  color: #200a38 !important;
  max-width: 46em !important;
  line-height: 1.45 !important;
}

/* NVIDIA Collaboration 标题与副标题改为白色 */
#nvidia .section-title,
#nvidia .section-subtitle {
  color: #ffffff !important;
}

/* 视频全屏按钮：沿用站内渐变圆形图标的视觉语言 */
.video-container { position: relative !important; }
.video-fullscreen-btn {
  position: absolute !important;
  right: clamp(16px, 2.2vw, 30px) !important;
  bottom: clamp(16px, 2.2vw, 30px) !important;
  z-index: 6 !important;
  display: grid !important;
  place-items: center !important;
  width: 54px !important;
  height: 54px !important;
  padding: 0 !important;
  border: 1px solid rgba(255,255,255,.55) !important;
  border-radius: 50% !important;
  background: linear-gradient(135deg, #9b59db, #f36f8d 58%, #f5b366) !important;
  color: #fff !important;
  font-size: 1.15rem !important;
  cursor: pointer !important;
  box-shadow: 0 12px 30px rgba(60,20,90,.34) !important;
  transition: transform .28s cubic-bezier(.2,.8,.2,1), box-shadow .28s ease !important;
}
.video-fullscreen-btn:hover {
  transform: translateY(-3px) scale(1.06) !important;
  box-shadow: 0 18px 40px rgba(60,20,90,.44) !important;
}
.video-fullscreen-btn:focus-visible {
  outline: 3px solid rgba(255,255,255,.85) !important;
  outline-offset: 3px !important;
}
/* 全屏状态下把视频铺满，去掉椭圆裁切 */
.video-container:fullscreen,
video#techVideo:fullscreen {
  width: 100% !important;
  height: 100% !important;
  border-radius: 0 !important;
  clip-path: none !important;
  background: #000 !important;
}
video#techVideo:fullscreen { object-fit: contain !important; }

/* Explore the research background 那一节的背景图 */
body > #explore-cta.cta {
  background: url('../9241a111-801c-47a2-901c-5051c756111c.png') center / cover no-repeat !important;
}

/* ══ 标题弹出：与 #statistics 标题（.vr-reveal）同一套位移/时长/缓动 ══
   .vr-pop 由 JS 添加，未添加时不影响任何显示。 */
/* 关键：隐藏态必须 transition:none。否则加上 .vr-pop 时元素会用 0.9s 从可见
   "淡出"，紧接着 .vr-pop-in 又把它淡回来，元素根本到不了 opacity:0，
   看起来就像完全没有动画。过渡只放在进场那一侧。 */
.vr-pop {
  opacity: 0;
  transform: translateY(80px) scale(.96);
  transition: none;
}
.vr-pop.vr-pop-in {
  opacity: 1;
  transform: none;
  transition:
    opacity   .9s cubic-bezier(.2,.75,.25,1),
    transform .9s cubic-bezier(.2,.75,.25,1);
  transition-delay: var(--vr-pop-delay, 0s);
}
/* Hero 两行标题需要压过 .dog-hero.dog-ready h1 .dog-line 的 opacity/transform/filter */
#hero h1 .dog-line.vr-pop {
  opacity: 0 !important;
  filter: none !important;
  transform: translateY(80px) scale(.96) !important;
  transition: none !important;
}
#hero h1 .dog-line.vr-pop.vr-pop-in {
  opacity: 1 !important;
  transform: none !important;
  transition:
    opacity   .9s cubic-bezier(.2,.75,.25,1),
    transform .9s cubic-bezier(.2,.75,.25,1) !important;
  transition-delay: var(--vr-pop-delay, 0s) !important;
}



#hero.hero.dog-hero .hero-image {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  z-index: 3 !important;
  width: 60vw !important;
  height: 60vh !important;
  max-width: 700px !important;
  max-height: 700px !important;
}
