/* Brand, type, and first-screen refresh. Scoped to the production-facing site shell. */
html,
body,
button,
input,
textarea,
select {
  font-family: var(--font-sans);
}

body { font-synthesis: none; text-rendering: optimizeLegibility; }

/* Source Han Serif needs slightly calmer spacing than the former sans stack. */
.site-v3 .brand b,
.site-v3 .desktop-nav a,
.site-v3 .button,
.site-v3 .home-hero h1,
.site-v3 .home-hero__areas,
.site-v3 .home-section__head :is(h1, h2),
.site-v3 .scene-panel__copy h3,
.site-v3 .project-portal__copy h2,
.site-v3 .ecosystem-section h2,
.site-v3 .footer h3 {
  font-family: var(--font-serif);
}

.site-v3 .desktop-nav a { letter-spacing: .035em; }
.site-v3 .button { letter-spacing: .04em; }
.site-v3 .home-hero h1 { letter-spacing: .055em; }

/* The supplied artwork is the source of truth for the header lockup. */
.site-v3 .header .brand {
  width: 218px;
  height: 48px;
  flex: 0 0 218px;
  background: url('/assets/brand/huaxiang-horizontal.png') left center / contain no-repeat;
}

.site-v3 .header .brand > * {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

.site-v3 .footer-brand { filter: brightness(0) invert(1); }

.home-hero {
  min-height: max(720px, 92svh);
  background: #0e2f4f;
}

.home-hero__image { object-position: center center; }
.home-hero__shade {
  background:
    linear-gradient(90deg, rgba(5, 22, 43, .82) 0%, rgba(6, 28, 53, .52) 34%, rgba(5, 24, 45, .12) 76%, rgba(5, 24, 45, .16) 100%),
    linear-gradient(0deg, rgba(4, 19, 35, .36), transparent 50%);
}

.home-hero__content { padding-top: 72px; }
.home-hero .eyebrow { color: rgba(196, 232, 255, .88); }
.home-hero h1 { max-width: 760px; font-weight: 600; letter-spacing: .045em; }
.home-hero__areas { letter-spacing: .12em; }

.home-hero__twin {
  position: absolute;
  z-index: -1;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  opacity: .9;
}

.home-hero__twin svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.home-hero__twin path { fill: none; stroke: rgba(120, 229, 255, .72); stroke-width: 1.25; stroke-dasharray: 9 15; animation: twin-route 14s linear infinite; }
.home-hero__twin path:nth-child(2) { stroke: rgba(159, 247, 255, .46); animation-duration: 18s; animation-delay: -4s; }
.home-hero__twin path:nth-child(3) { stroke: rgba(76, 204, 255, .54); animation-duration: 11s; animation-delay: -7s; }
.home-hero__twin circle { fill: #b8f7ff; filter: drop-shadow(0 0 8px rgba(109, 231, 255, .95)); animation: twin-node 3.8s ease-in-out infinite; }
.home-hero__twin circle:nth-of-type(2) { animation-delay: -1.4s; }
.home-hero__twin circle:nth-of-type(3) { animation-delay: -2.6s; }

.home-hero__signal {
  position: absolute;
  right: clamp(20px, 6vw, 92px);
  bottom: clamp(78px, 13vh, 132px);
  display: grid;
  gap: 4px;
  min-width: 194px;
  padding: 13px 17px 14px;
  border: 1px solid rgba(166, 239, 255, .34);
  border-radius: 14px;
  background: rgba(6, 36, 66, .38);
  box-shadow: 0 14px 40px rgba(3, 23, 45, .18), inset 0 0 30px rgba(65, 203, 255, .08);
  color: rgba(225, 250, 255, .82);
  backdrop-filter: blur(7px);
}

.home-hero__signal::before { content: ''; width: 32px; height: 2px; margin-bottom: 4px; background: #91edff; box-shadow: 0 0 12px rgba(145, 237, 255, .8); }
.home-hero__signal span { font-size: 10px; letter-spacing: .16em; }
.home-hero__signal b { font-size: 14px; font-weight: 500; letter-spacing: .06em; }

@keyframes twin-route { to { stroke-dashoffset: -280; } }
@keyframes twin-node { 0%, 100% { opacity: .45; transform: scale(.84); transform-origin: center; } 50% { opacity: 1; transform: scale(1.22); transform-origin: center; } }

@media (max-width: 880px) {
  .site-v3 .header .brand { width: 190px; flex-basis: 190px; }
  .home-hero__signal { right: 20px; bottom: 38px; }
}

@media (max-width: 640px) {
  .site-v3 .header .brand { width: 164px; height: 40px; flex-basis: 164px; }
  .home-hero__content { padding-top: 44px; padding-bottom: 104px; }
  .home-hero__signal { right: 16px; bottom: 26px; min-width: 170px; padding: 10px 12px; }
  .home-hero__signal b { font-size: 12px; }
  .home-hero__twin { opacity: .64; }
}

@media (prefers-reduced-motion: reduce) {
  .home-hero__twin path,
  .home-hero__twin circle { animation: none; }
}

/* Refined utility controls and a compact footer for the public shell. */
.site-v3 .search-button { width: 44px; height: 44px; border: 1px solid #d8e0e6; border-radius: 50%; background: #fff; color: #243544; box-shadow: 0 5px 15px rgba(31, 58, 78, .08); font-size: 24px; transition: border-color .2s, color .2s, box-shadow .2s, transform .2s; }
.site-v3 .search-button:hover { border-color: var(--brand-red); color: var(--brand-red); box-shadow: 0 8px 20px rgba(181, 34, 42, .13); transform: translateY(-1px); }
.site-v3 .button-small { gap: 0; }
.site-v3 .footer { padding-top: 34px; }
.site-v3 .footer-grid { padding-bottom: 28px; }
.site-v3 .footer-bottom { min-height: 48px; }
.site-v3 .footer-qrcode { margin: 14px 0 0; }
.site-v3 .footer-qrcode img { width: 112px; height: 112px; padding: 6px; border-radius: 8px; background: #fff; object-fit: contain; }
.site-v3 .footer-qrcode figcaption { margin-top: 5px; color: rgba(255, 255, 255, .62); font-size: 11px; }

/* Keep the shared red footer compact and vertically balanced on secondary pages. */
.site-v3:not(.home-page) .site-footer { padding-top: 14px; }
.site-v3:not(.home-page) .site-footer.scene-footer { padding-top: 14px !important; }
.site-v3:not(.home-page) .site-footer .footer-grid { align-items: center; padding-bottom: 12px; }
.site-v3:not(.home-page) .site-footer .footer-grid h3 { margin-bottom: 6px; }
.site-v3:not(.home-page) .site-footer .footer-grid > div:not(.footer-brand-block) { justify-content: center; gap: 5px; }
.site-v3:not(.home-page) .site-footer .footer-grid > div:not(.footer-brand-block) a { margin-block: 0; line-height: 1.5; }
.site-v3:not(.home-page) .site-footer .footer-contact address { margin-top: 0; line-height: 1.5; }
.site-v3:not(.home-page) .site-footer .footer-bottom { min-height: 38px; }
.site-v3:not(.home-page) .site-footer .footer-qrcode { margin-top: 6px; }
.site-v3:not(.home-page) .site-footer .footer-qrcode img { width: 84px; height: 84px; }
.site-v3:not(.home-page) .site-footer .footer-qrcode figcaption { margin-top: 3px; line-height: 1.45; }

@media (max-width: 640px) {
  .site-v3:not(.home-page) .site-footer { padding-top: 10px; }
  .site-v3:not(.home-page) .site-footer.scene-footer { padding-top: 10px !important; }
  .site-v3:not(.home-page) .site-footer .footer-grid { align-items: start; padding-bottom: 8px; gap: 10px 16px; }
  .site-v3:not(.home-page) .site-footer .footer-grid > div:not(.footer-brand-block) { justify-content: flex-start; gap: 4px; }
  .site-v3:not(.home-page) .site-footer .footer-bottom { min-height: 0; padding-block: 8px; }
  .site-v3:not(.home-page) .site-footer .footer-qrcode img { width: 76px; height: 76px; }
}

/* Second compact pass: shorten the shared red footer while keeping its copy centered. */
.site-v3:not(.home-page) .site-footer { padding-top: 8px; }
.site-v3:not(.home-page) .site-footer.scene-footer { padding-top: 8px !important; }
.site-v3:not(.home-page) .site-footer .footer-grid { padding-bottom: 8px; gap: 28px; }
.site-v3:not(.home-page) .site-footer .footer-bottom { min-height: 34px; }
.site-v3:not(.home-page) .site-footer .footer-qrcode { margin-top: 4px; }
.site-v3:not(.home-page) .site-footer .footer-qrcode img { width: 64px; height: 64px; }

@media (max-width: 640px) {
  .site-v3:not(.home-page) .site-footer .footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-areas: "brand brand" "nav about" "contact contact";
    padding-bottom: 8px;
    gap: 10px 16px;
  }
  .site-v3:not(.home-page) .site-footer .footer-brand-block { grid-area: brand; }
  .site-v3:not(.home-page) .site-footer .footer-grid > div:nth-child(2) { grid-area: nav; }
  .site-v3:not(.home-page) .site-footer .footer-grid > div:nth-child(3) { grid-area: about; }
  .site-v3:not(.home-page) .site-footer .footer-contact {
    grid-area: contact;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 64px;
    align-items: center;
    gap: 4px 12px;
  }
  .site-v3:not(.home-page) .site-footer .footer-contact h3 { grid-column: 1 / -1; }
  .site-v3:not(.home-page) .site-footer .footer-contact address { grid-column: 1 / 3; }
  .site-v3:not(.home-page) .site-footer .footer-qrcode {
    grid-column: 3;
    grid-row: 2 / span 3;
    align-self: center;
    margin: 0;
  }
  .site-v3:not(.home-page) .site-footer .footer-bottom {
    display: grid;
    grid-template-columns: minmax(0, auto) minmax(0, 1fr);
    gap: 5px 12px;
    min-height: 0;
    padding-block: 7px;
  }
  .site-v3:not(.home-page) .site-footer .footer-bottom > div {
    grid-column: 1 / -1;
    width: 100%;
    margin: 0;
    gap: 8px 14px;
    flex-wrap: wrap;
  }
  .site-v3:not(.home-page) .site-footer .footer-qrcode img { width: 64px; height: 64px; }
}

/* Homepage alignment pass: carry the hero's digital-twin palette into the business scene. */
.home-hero__content h1 { max-width: 760px; font-size: clamp(42px, 5vw, 78px); letter-spacing: .05em; }
.home-hero__areas { color: rgba(236, 249, 255, .9); font-size: clamp(18px, 1.8vw, 24px); letter-spacing: .16em; }
.scene-section {
  color: #eef8ff;
  background: radial-gradient(circle at 78% 14%, rgba(59, 207, 255, .2), transparent 28%), linear-gradient(145deg, #06192f 0%, #0b3156 54%, #071d39 100%);
}
.scene-section .eyebrow { color: #9ceeff; }
.scene-section__head h2 { color: #f7fcff; }
.scene-section__intro { color: rgba(212, 237, 250, .78); }
.home-scene-module { border-color: rgba(141, 226, 255, .35); background: rgba(5, 25, 48, .66); box-shadow: 0 18px 55px rgba(0, 0, 0, .26); }
.home-scene-stage { border-color: rgba(141, 226, 255, .18); background: #0a294b; }
.home-business-scene__canvas { background: #0b3156; }
.home-business-scene__canvas::after { position: absolute; inset: 0; z-index: 1; background: linear-gradient(120deg, rgba(5, 25, 49, .64), rgba(16, 98, 145, .18) 54%, rgba(6, 26, 52, .38)), radial-gradient(circle at 74% 22%, rgba(106, 231, 255, .22), transparent 35%); content: ''; pointer-events: none; }
.home-business-scene__art { filter: saturate(.92) contrast(1.08) brightness(.9); }
.home-business-scene__canvas::before { position: absolute; inset: 0; z-index: 1; background-image: linear-gradient(rgba(142, 226, 255, .08) 1px, transparent 1px), linear-gradient(90deg, rgba(142, 226, 255, .08) 1px, transparent 1px); background-size: 56px 56px; mask-image: linear-gradient(135deg, transparent 0%, #000 25%, #000 78%, transparent 100%); content: ''; opacity: .35; pointer-events: none; }
.home-business-scene__label { z-index: 2; background: linear-gradient(180deg, rgba(10, 60, 101, .86), rgba(7, 34, 67, .82)); }
.home-business-scene__label strong { text-shadow: 0 2px 8px rgba(0, 0, 0, .32); }
.home-business-scene.is-active .home-business-scene__label { background-image: linear-gradient(180deg, rgba(196, 31, 50, .98), rgba(23, 128, 169, .78) 48%, rgba(7, 42, 76, .8)); }
.home-business-scene__copy { z-index: 3; border-color: rgba(156, 238, 255, .42); background: linear-gradient(135deg, rgba(4, 25, 49, .94), rgba(11, 62, 94, .88)); box-shadow: 0 15px 38px rgba(0, 0, 0, .28); backdrop-filter: blur(8px); }
.home-business-scene__brand { color: #94e8ff; }
.home-business-scene__title { color: #f7fcff; }
.home-business-scene__title span { color: #ff7180; }
.home-business-scene__headline { color: #dff6ff; }
.home-business-scene__summary { color: rgba(225, 244, 252, .78); }
.home-business-scene__note { color: #8fd7ee; }
.home-scene-meta { color: rgba(190, 226, 242, .66); }
.home-scene-meta span:first-child { color: #c4f2ff; }
.ecosystem-section { background: linear-gradient(180deg, #f3f8fc 0%, #e7f2fa 100%); }
.ecosystem-tagline { margin: 11px 0 0; color: #4d6e86; font-size: 16px; letter-spacing: .06em; }
.partner-grid { grid-template-columns: 1fr; gap: 0; padding: 28px; border: 1px solid rgba(93, 151, 187, .22); border-radius: 24px; background: radial-gradient(circle at 50% 0%, rgba(103, 215, 255, .2), transparent 36%), linear-gradient(135deg, #dcecf7, #eff8fc 50%, #d9eaf6); box-shadow: 0 20px 55px rgba(42, 92, 144, .13); }
.partner-grid .partner-logo { min-height: 210px; padding: 28px 34px; border-color: rgba(112, 161, 188, .28); border-radius: 16px; background: rgba(255, 255, 255, .9); filter: none; opacity: 1; }
.partner-grid .partner-logo img { width: 100%; max-width: 100%; max-height: 166px; object-fit: contain; }
.about-home__identity .about-home__link { grid-column: auto; margin-top: 18px; }
.about-home__intro { max-width: 540px; margin: 18px 0 0; color: var(--text-muted); font-size: 15px; line-height: 1.85; }
@media (max-width: 720px) {
  .home-hero__content h1 { font-size: clamp(34px, 9vw, 52px); }
  .home-hero__areas { font-size: 16px; letter-spacing: .1em; }
  .home-scene-module { padding: 12px; }
  .home-business-scene__copy { background: linear-gradient(135deg, rgba(4, 25, 49, .96), rgba(11, 62, 94, .94)); }
  .partner-grid { padding: 12px; border-radius: 17px; }
  .partner-grid .partner-logo { min-height: 130px; padding: 18px 12px; }
  .partner-grid .partner-logo img { max-height: 90px; }
  .ecosystem-tagline { font-size: 13px; line-height: 1.7; }
}

/* Marker cleanup and the refreshed partner system. */
.site-v3 .eyebrow,
.site-v3 .home-scene-meta,
.site-v3 .home-business-scene__order,
.site-v3 .home-business-scene__brand,
.site-v3 .home-business-scene__note { display: none !important; }
.site-v3 .scene-section__head h2 { padding-left: 0; }
.site-v3 .scene-section__head h2::before { display: none; }
.site-v3 .scene-label { display: none !important; }
.home-scene-controls .home-scene-control > span { display: none; }

.partner-grid.partner-network {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(300px, .8fr) minmax(0, 1.7fr);
  gap: clamp(28px, 4vw, 56px);
  align-items: center;
  padding: clamp(34px, 5vw, 72px);
  border: 1px solid rgba(32, 33, 36, .08);
  border-radius: 26px;
  background: linear-gradient(135deg, #fff 0%, #fbfbfc 56%, #f2f4f5 100%);
  box-shadow: 0 24px 64px rgba(32, 33, 36, .08);
  isolation: isolate;
}
.partner-grid.partner-network::before { position: absolute; z-index: -1; top: -190px; right: 8%; width: 440px; height: 440px; border: 1px solid rgba(181, 34, 42, .13); border-radius: 50%; box-shadow: 0 0 0 26px rgba(181, 34, 42, .025), 0 0 0 52px rgba(181, 34, 42, .018); content: ''; pointer-events: none; }
.partner-grid.partner-network::after { position: absolute; z-index: -1; right: 0; bottom: 0; width: 58%; height: 58%; background: radial-gradient(circle at 75% 85%, rgba(181, 34, 42, .06), transparent 66%); content: ''; pointer-events: none; }
.partner-network__intro { position: relative; z-index: 1; align-self: start; padding-top: 4px; }
.partner-network__intro > span { display: block; color: var(--brand-red); font: 700 11px/1.2 var(--font-sans); letter-spacing: .18em; text-transform: uppercase; }
.partner-network__intro strong { display: block; max-width: 390px; margin-top: 17px; color: #202124; font-size: clamp(25px, 2.6vw, 42px); font-weight: 600; line-height: 1.2; letter-spacing: -.035em; }
.partner-network__intro p { max-width: 320px; margin: 19px 0 0; color: #5f6368; font-size: 14px; line-height: 1.9; }
.partner-network__cluster { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(4, minmax(120px, 1fr)); gap: 12px; align-items: stretch; }
.partner-hex { position: relative; z-index: 0; display: grid; min-height: 126px; place-content: center; gap: 8px; padding: 22px 14px 18px; border: 1px solid rgba(32, 33, 36, .09); border-radius: 16px; background: rgba(255, 255, 255, .92); color: #202124; text-align: center; box-shadow: 0 8px 22px rgba(32, 33, 36, .05); transition: transform .28s ease, border-color .28s ease, box-shadow .28s ease; }
.partner-hex::before { position: absolute; z-index: -1; inset: 0; border-radius: inherit; background: linear-gradient(145deg, rgba(255,255,255,.95), rgba(247,248,249,.72)); content: ''; pointer-events: none; }
.partner-hex::after { position: absolute; top: 0; left: 18px; right: 18px; height: 2px; border-radius: 0 0 3px 3px; background: rgba(32, 33, 36, .08); content: ''; }
.partner-hex--red { box-shadow: inset 0 2px 0 var(--brand-red), 0 8px 22px rgba(32, 33, 36, .05); }
.partner-hex--red::after { background: var(--brand-red); }
.partner-hex--blue::after { background: rgba(40, 117, 167, .46); }
.partner-hex img, .partner-hex span { position: relative; z-index: 1; }
.partner-hex:hover { z-index: 2; transform: translateY(-5px); border-color: rgba(181, 34, 42, .26); box-shadow: 0 16px 30px rgba(32, 33, 36, .10); }
.partner-hex img { display: block; width: min(92%, 190px); height: 56px; object-fit: contain; object-position: center; margin: 0 auto 6px; filter: none; }
.partner-hex span { color: #70747a; font-size: 11px; letter-spacing: .04em; }
.home-news-grid { gap: clamp(26px, 2.8vw, 42px); padding-inline: clamp(0px, 1vw, 14px); }
.home-news-grid .news-card img { height: clamp(260px, 23vw, 350px); }

@media (max-width: 900px) {
  .partner-grid.partner-network { grid-template-columns: 1fr; }
  .partner-network__intro p { max-width: 560px; }
}
@media (max-width: 720px) {
  .partner-grid.partner-network { gap: 22px; padding: 22px 16px; border-radius: 19px; }
  .partner-network__cluster { grid-template-columns: repeat(2, minmax(110px, 1fr)); gap: 10px; }
  .partner-hex { min-height: 112px; }
  .partner-hex img { width: 92%; height: 46px; }
  .partner-network__intro strong { font-size: 27px; }
  .partner-network__intro p { font-size: 13px; }
  .home-news-grid { gap: 18px; padding-inline: 0; }
  .home-news-grid .news-card img { height: 230px; }
}

/* Project cases: one continuous hero scene and clear case destinations below. */
.outcomes-page { background: #f7f7f5; }
.outcomes-hero { position: relative; min-height: clamp(390px, 38vw, 540px); display: flex; align-items: end; overflow: hidden; isolation: isolate; color: #fff; background: #071d39; }
.outcomes-hero__image, .outcomes-hero__shade { position: absolute; z-index: -1; inset: 0; width: 100%; height: 100%; }
.outcomes-hero__image { background: #102a46; }
.outcomes-hero__image img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center center; filter: saturate(.92) contrast(.98); }
.outcomes-hero__shade { background: linear-gradient(90deg, rgba(4, 18, 35, .84), rgba(4, 25, 48, .56) 48%, rgba(4, 20, 38, .1) 100%), linear-gradient(0deg, rgba(3, 18, 34, .22), transparent 56%); }
.outcomes-hero__content { position: relative; z-index: 1; width: 100%; padding-top: 136px; padding-bottom: 76px; }
.outcomes-hero h1 { margin: 0 0 15px; color: #fff; font-size: clamp(52px, 7vw, 84px); font-weight: 600; letter-spacing: .07em; line-height: 1.08; }
.outcomes-hero p { max-width: 620px; margin: 0; color: rgba(255, 255, 255, .92); font-size: clamp(15px, 1.5vw, 18px); letter-spacing: .06em; line-height: 1.8; }
.outcomes-section { padding: clamp(58px, 7vw, 92px) 0 clamp(72px, 9vw, 118px); background: #f7f7f5; }
.outcomes-intro { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, .86fr); align-items: end; gap: 42px; margin-bottom: 34px; }
.outcomes-intro h2 { max-width: 660px; margin: 0; color: var(--heading-color); font-size: clamp(30px, 4vw, 46px); font-weight: 600; letter-spacing: .025em; line-height: 1.3; }
.outcomes-intro__copy p { margin: 0; color: #465766; font-size: 15px; line-height: 1.8; }
.outcomes-intro__copy .outcomes-intro__note { margin-top: 8px; color: #5f6b75; font-size: 12px; }
.outcomes-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch; gap: 24px; }
.outcome-card { display: flex; min-width: 0; flex-direction: column; overflow: hidden; border: 1px solid rgba(7, 29, 57, .12); border-radius: 3px; background: #fff; color: inherit; text-decoration: none; transition: border-color .2s ease; }
.outcome-card:hover { border-color: rgba(181, 34, 42, .62); }
.outcome-card:focus-visible { outline: 3px solid #b5222a; outline-offset: 4px; }
.outcome-card--featured { grid-column: span 2; }
.outcome-card__image { position: relative; display: block; aspect-ratio: 16 / 10; overflow: hidden; background: #dce2e4; }
.outcome-card--featured .outcome-card__image { aspect-ratio: 16 / 7.3; }
.outcome-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .42s ease; }
.outcome-card__image-caption { display: block; margin: 9px 21px 0; color: #626d76; font-size: 11px; line-height: 1.5; }
.outcome-card:hover .outcome-card__image img { transform: scale(1.025); }
.outcome-card__body { display: flex; flex: 1; flex-direction: column; align-items: flex-start; gap: 10px; padding: 20px 21px 22px; }
.outcome-card__body strong { color: #0b2744; font-size: clamp(17px, 1.5vw, 20px); font-weight: 600; line-height: 1.45; }
.outcome-card__body > span { color: #53616c; font-size: 13px; line-height: 1.8; }
.outcome-card__body em { display: inline-flex; align-items: center; margin-top: auto; padding-top: 8px; color: #a31f27; font-size: 13px; font-style: normal; font-weight: 600; }

/* The company updates should read as editorial cards; copy lives below the photograph. */
.home-news-grid .news-card { display: flex; flex-direction: column; aspect-ratio: auto; overflow: hidden; border: 1px solid #e5e9eb; border-radius: 18px; background: #fff; color: #0b2744; box-shadow: 0 12px 30px rgba(18, 50, 69, .08); isolation: isolate; }
.home-news-grid .news-card::before, .home-news-grid .news-card::after { display: none; }
.home-news-grid .news-card img { position: static; z-index: auto; width: 100%; height: clamp(240px, 21vw, 330px); flex: 0 0 auto; object-fit: cover; }
.home-news-grid .news-card__copy { position: static; display: flex; flex: 1; flex-direction: column; align-items: flex-start; padding: 19px 21px 22px; }
.home-news-grid .news-card__copy time { margin-bottom: 9px; color: #8a9aa5; font-size: 11px; }
.home-news-grid .news-card__copy h3 { display: block; margin: 0; color: #0b2744; font-size: 17px; line-height: 1.55; }
.home-news-grid .news-card__category { margin-top: auto; padding: 5px 9px; border: 1px solid #d6e1e7; color: #587086; font-size: 10px; }
.home-news-grid .news-card:hover { transform: translateY(-3px); box-shadow: 0 18px 38px rgba(18, 50, 69, .13); }

@media (max-width: 720px) {
  .outcomes-hero { min-height: 410px; }
  .outcomes-hero__image img { object-position: 58% center; }
  .outcomes-hero__shade { background: linear-gradient(90deg, rgba(4, 18, 35, .78), rgba(4, 25, 48, .48) 66%, rgba(4, 20, 38, .24)), linear-gradient(0deg, rgba(3, 18, 34, .22), transparent 56%); }
  .outcomes-hero__content { padding-top: 110px; padding-bottom: 58px; }
  .outcomes-hero h1 { font-size: clamp(46px, 12vw, 60px); }
  .outcomes-hero p { max-width: 320px; font-size: 14px; letter-spacing: .025em; }
  .outcomes-section { padding-top: 54px; }
  .outcomes-intro { display: block; margin-bottom: 24px; }
  .outcomes-intro__copy { margin-top: 14px; }
  .outcomes-intro__copy p { font-size: 14px; }
  .outcomes-intro__copy .outcomes-intro__note { font-size: 11px; }
  .outcomes-grid { grid-template-columns: 1fr; gap: 16px; }
  .outcome-card--featured { grid-column: auto; }
  .outcome-card--featured .outcome-card__image { aspect-ratio: 16 / 10; }
  .outcome-card__body { padding: 18px 18px 20px; }
  .outcome-card__image-caption { margin-right: 18px; margin-left: 18px; }
  .home-news-grid .news-card { flex-basis: min(82vw, 350px); }
  .home-news-grid .news-card img { height: 220px; }
}

@media (min-width: 721px) and (max-width: 980px) {
  .outcomes-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
  .outcome-card--featured { grid-column: span 2; }
  .outcome-card--featured .outcome-card__image { aspect-ratio: 16 / 8.5; }
  .outcomes-intro { grid-template-columns: 1fr 1fr; gap: 28px; }
}

@media (prefers-reduced-motion: reduce) {
  .outcome-card, .outcome-card__image img { transition: none; }
  .outcome-card:hover .outcome-card__image img { transform: none; }
}

/* Company profile content distilled from the supplied company deck. */
.about-company-intro { display: grid; grid-template-columns: 1fr .9fr; gap: 56px; align-items: center; margin: 72px 0 0; padding: 54px 0 0; border-top: 1px solid var(--line); }
.about-company-intro__copy h2, .about-capability-band__head h2, .about-milestones__head h2 { margin: 12px 0 0; color: var(--heading-color); font-size: clamp(28px, 3vw, 42px); line-height: 1.3; letter-spacing: .02em; }
.about-company-intro__copy p:not(.eyebrow) { max-width: 620px; margin: 18px 0 0; color: var(--text-muted); font-size: 15px; line-height: 1.95; }
.about-company-intro__media { position: relative; margin: 0; overflow: hidden; border-radius: 18px; background: #082847; box-shadow: 0 18px 42px rgba(19, 53, 78, .15); }
.about-company-intro__media img { width: 100%; height: 290px; object-fit: cover; filter: saturate(.8) contrast(1.05); }
.about-company-intro__media::after { position: absolute; inset: 0; background: linear-gradient(120deg, rgba(3, 23, 48, .56), transparent 60%); content: ''; }
.about-company-intro__media figcaption { position: absolute; right: 18px; bottom: 15px; z-index: 1; color: #d9f8ff; font-size: 13px; letter-spacing: .12em; }
.about-capability-band { margin: 72px 0 0; padding: 50px 0; border-block: 1px solid rgba(93, 151, 187, .2); background: linear-gradient(135deg, #e8f4fb, #f7fbfd); }
.about-capability-band__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 28px; }
.about-capability-band__grid article { min-height: 180px; padding: 24px; border: 1px solid rgba(100, 159, 193, .22); border-radius: 14px; background: rgba(255, 255, 255, .72); }
.about-capability-band__grid b { color: var(--brand-red); font: 700 20px/1 var(--font-sans); letter-spacing: .08em; }
.about-capability-band__grid h3 { margin: 16px 0 6px; color: var(--text-strong); font-size: 19px; }
.about-capability-band__grid p { margin: 0; color: var(--text-muted); font-size: 13px; line-height: 1.8; }
.about-milestones { margin: 72px 0 0; padding-bottom: 76px; }
.about-milestones__list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; margin-top: 28px; border-top: 1px solid var(--line); }
.about-milestones__list article { min-height: 142px; padding: 24px 22px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.about-milestones__list article:nth-child(3n) { border-right: 0; }
.about-milestones__list strong { display: block; color: var(--brand-red); font: 700 28px/1 var(--font-sans); }
.about-milestones__list span { display: block; margin-top: 16px; color: var(--text-muted); font-size: 14px; line-height: 1.75; }
@media (max-width: 720px) {
  .about-company-intro { grid-template-columns: 1fr; gap: 26px; margin-top: 48px; padding-top: 36px; }
  .about-company-intro__media img { height: 220px; }
  .about-capability-band { margin-top: 48px; padding: 38px 0; }
  .about-capability-band__grid, .about-milestones__list { grid-template-columns: 1fr; }
  .about-milestones { margin-top: 48px; padding-bottom: 52px; }
  .about-milestones__list article, .about-milestones__list article:nth-child(3n) { border-right: 0; }
}

