:root {
  --brand-green: #11A272;
  --ink: #0A2540;
  --panel-bg: rgba(255, 255, 255, 0.92);
  --panel-border: rgba(10, 37, 64, 0.12);
  --font-heading: "Times New Roman", Times, Georgia, serif;
  --font-body: Inter, Arial, Helvetica, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
button,
input,
textarea,
select { font-family: var(--font-body); }
body {
  margin: 0;
  background: #ffffff;
  color: var(--ink);
  font-family: var(--font-body);
}

.mobile-site-header,
.mobile-content { display: none; }

@media (max-width: 900px) {
  body { min-width: 0; overflow-x: hidden; background: #f5f7f8; }
  .mobile-site-header {
    position: sticky;
    top: 0;
    z-index: 100;
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    min-height: 64px;
    padding: 10px 18px;
    background: #0a1628;
    box-shadow: 0 8px 24px rgba(10, 22, 40, .16);
  }
  .mobile-brand { color: #11a272; font-size: 22px; font-weight: 800; text-decoration: none; }
  .mobile-nav-toggle {
    min-width: 48px;
    min-height: 44px;
    padding: 0 14px;
    border: 1px solid rgba(255,255,255,.24);
    border-radius: 999px;
    background: transparent;
    color: #fff;
    font: 700 14px/1 var(--font-body);
  }
  .mobile-nav {
    display: none;
    grid-column: 1 / -1;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 8px;
    padding: 14px 0 4px;
  }
  .mobile-nav.is-open { display: grid; }
  .mobile-nav a {
    display: flex;
    align-items: center;
    min-height: 44px;
    padding: 9px 12px;
    border-radius: 8px;
    color: #dbe4ec;
    font-size: 14px;
    line-height: 1.25;
    text-decoration: none;
    background: rgba(255,255,255,.06);
  }
  .mobile-nav a.is-active { color: #fff; background: #0a7f5f; }
  .svg-stage {
    position: absolute;
    left: 0;
    top: 64px;
    height: 0 !important;
    overflow: hidden;
    visibility: hidden;
    pointer-events: none;
  }
  .mobile-content { display: block; width: 100%; max-width: 760px; margin: 0 auto; background: #f5f7f8; }
  .mobile-page-hero { padding: 42px 20px 32px; color: #fff; background: linear-gradient(135deg,#0a1628,#0d3240); }
  .mobile-page-hero span { color: #4bd0a4; font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
  .mobile-page-hero h1 { margin: 9px 0 0; font: 700 clamp(32px,9vw,54px)/1.05 var(--font-heading); }
  .mobile-content-flow { padding: 22px 16px 42px; }
  .mobile-flow-section { display: grid; grid-template-columns: 1fr; gap: 12px; margin-bottom: 26px; }
  .mobile-flow-section > h2 { grid-column: 1/-1; margin: 8px 2px 4px; color: #0a2540; font: 700 27px/1.18 var(--font-heading); }
  .mobile-flow-card { min-width: 0; padding: 18px; border: 1px solid rgba(10,37,64,.1); border-radius: 16px; background: #fff; box-shadow: 0 8px 24px rgba(10,37,64,.06); }
  .mobile-flow-card h3 { margin: 0 0 8px; color: #0a2540; font: 700 19px/1.28 var(--font-heading); }
  .mobile-flow-card strong { display:block; color:#11a272; font-size:30px; line-height:1; }
  .mobile-team-card .mobile-team-role { margin: 0 0 10px; color: #506471; font-size: 16px; font-weight: 500; line-height: 1.45; }
  .mobile-team-card p { margin-top: 0; }
  .mobile-section-kicker { color: #11a272; font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
  .mobile-team-flow .mobile-flow-section > .mobile-section-kicker,
  .mobile-team-flow .mobile-flow-section > p { grid-column: 1 / -1; }
  .mobile-flow-section p { margin: 5px 0 0; color: #506471; font-size: 16px; line-height: 1.55; overflow-wrap: anywhere; }
  .mobile-flow-section > p { padding: 0 2px; }
  .mobile-stat-card { border-color: rgba(17,162,114,.25); background: linear-gradient(145deg,#fff,#eef9f5); }
  .news-cards-overlay,
  .contact-us-form-overlay { position: static !important; inset: auto !important; width: auto !important; height: auto !important; margin: 0 16px 40px; }
  .news-cards-overlay { padding: 24px 16px; border-radius: 18px; }
  .news-cards-grid { grid-template-columns: 1fr; gap: 30px; }
  .news-cards-heading { margin-bottom: 24px; font-size: 28px; }
  .news-card-date { font-size: 12px; }
  .news-card-title { font-size: 21px; }
  .news-card-summary, .news-card-more { font-size: 16px; }
  .news-card-more { min-height: 44px; padding-top: 14px; }
  .contact-us-form-overlay { display: grid; grid-template-columns: 1fr; gap: 14px; padding: 22px; border-radius: 18px; background: #eef2f5; pointer-events: auto; }
  .mobile-form-field { display: grid; gap: 7px; color: #0a2540; font-size: 14px; font-weight: 700; text-transform: capitalize; }
  .contact-form-control,
  .contact-submit-overlay,
  .contact-form-status { position: static !important; inset: auto !important; width: 100% !important; height: auto !important; }
  .contact-form-control { min-height: 50px; padding: 12px 14px; border: 1px solid #d8e0e5; border-radius: 10px; font-size: 16px; }
  .contact-form-textarea { min-height: 132px; }
  .contact-submit-overlay { min-height: 50px; background: #11a272; font-size: 16px; }
  .contact-form-status { min-height: 24px; font-size: 14px; }
}

@media (min-width: 600px) and (max-width: 900px) {
  .mobile-flow-section { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .mobile-page-hero { padding-left: 28px; padding-right: 28px; }
  .mobile-content-flow { padding-left: 24px; padding-right: 24px; }
  .news-cards-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .news-card:last-child { grid-column: 1/-1; max-width: calc(50% - 10px); }
  .contact-us-form-overlay { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .contact-us-form-overlay > :not(.mobile-form-field) { grid-column: 1/-1; }
  .mobile-form-field:has(textarea), .mobile-form-field:nth-of-type(n+3) { grid-column: 1/-1; }
}

.page-shell {
  width: 100%;
  min-height: 100vh;
  background: #ffffff;
}

.svg-stage {
  position: relative;
  width: min(100%, 1920px);
  margin: 0 auto;
  overflow: hidden;
  background: #ffffff;
}

.svg-object {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  pointer-events: none;
}

.state-overlay-layer {
  position: absolute;
  inset: 0;
  z-index: 5;
  pointer-events: none;
}

.state-overlay {
  position: absolute;
  display: block;
  pointer-events: none;
  overflow: hidden;
  opacity: 0;
}

.state-overlay.is-visible {
  opacity: 1;
}

/*
 * The winEX artwork is only used for the platform-specific detail area.
 * The heading and the two platform cards remain the live home.svg elements,
 * so their original width/position morph is visible and both titles keep the
 * same typography instead of being replaced by a second static SVG.
 */
.home-tech-winex-overlay {
  background: transparent;
  clip-path: none;
  transform: translate3d(0, 14px, 0) scale(.992);
  transform-origin: 50% 35%;
  transition: opacity 340ms ease, transform 520ms cubic-bezier(.16, 1, .3, 1);
  will-change: opacity, transform;
}

.home-tech-winex-overlay.is-visible {
  transform: translate3d(0, 0, 0);
}

.home-tech-winex-overlay > svg,
.home-tech-winex-overlay > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: fill;
  overflow: visible;
}

.state-overlay-sprite {
  position: absolute;
  left: 0;
  width: 100%;
  max-width: none;
  object-fit: fill;
  transform: translateZ(0);
  backface-visibility: hidden;
}

.hotspot-layer {
  position: absolute;
  inset: 0;
  z-index: 10;
  pointer-events: none;
}

.hotspot {
  position: absolute;
  display: block;
  border: 0;
  padding: 0;
  margin: 0;
  background: transparent;
  cursor: pointer;
  pointer-events: auto;
  text-indent: -9999px;
  overflow: hidden;
  border-radius: 0;
  transition: none;
}

.hotspot:hover,
.hotspot.is-active,
.hotspot--footer.is-active,
.hotspot--cta:hover {
  background: transparent;
  box-shadow: none;
}

.hotspot:focus-visible {
  outline: 0;
  background: transparent;
}

.hotspot--cta,
.hotspot--pipeline-card {
  border-radius: 12px;
  isolation: isolate;
}

.hotspot--pipeline-card::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
}

.wingor-cta-motion {
  transform-box: fill-box;
  transform-origin: center;
  transition: transform .42s cubic-bezier(.16, 1, .3, 1), fill .3s ease, stroke .3s ease, filter .38s ease;
}

.wingor-cta-motion.is-hovered {
  transform: translateY(-4px);
}

.wingor-cta-surface.is-hovered {
  filter: drop-shadow(0 10px 14px rgba(0, 0, 0, .2));
}

.wingor-cta-explore.wingor-cta-surface.is-hovered {
  fill: #19B983;
}

.wingor-cta-partner.wingor-cta-surface.is-hovered {
  fill: rgba(17, 162, 114, .14);
  stroke: #66DDB7;
}

.wingor-cta-arrow.is-hovered {
  transform: translate(6px, -4px);
}

.hotspot--pipeline-card::after {
  border: 1px solid rgba(47, 203, 156, .6);
  background: linear-gradient(135deg, rgba(17, 162, 114, .08), transparent 58%);
  opacity: 0;
  transform: scale(.985);
  transition: opacity .28s ease, transform .42s cubic-bezier(.16, 1, .3, 1);
}

.hotspot--pipeline-card:hover::after,
.hotspot--pipeline-card:focus-visible::after {
  opacity: 1;
  transform: scale(1);
}

.top-dropdown {
  position: absolute;
  z-index: 25;
  display: none;
  min-width: clamp(150px, 11vw, 220px);
  padding: 8px;
  border: 1px solid rgba(10, 37, 64, .1);
  border-radius: 10px;
  background: rgba(255, 255, 255, .98);
  box-shadow: 0 14px 34px rgba(10, 37, 64, .16);
  pointer-events: auto;
}

.top-dropdown.is-open { display: grid; }
.top-dropdown[aria-label="Partnerships submenu"] { min-width: clamp(250px, 19vw, 365px); }
.top-dropdown a {
  padding: 10px 12px;
  border-radius: 7px;
  color: #0A2540;
  font-size: clamp(11px, .78vw, 15px);
  line-height: 1.25;
  text-decoration: none;
  white-space: nowrap;
}
.top-dropdown a:hover,
.top-dropdown a:focus-visible {
  color: #11A272;
  background: rgba(17, 162, 114, .09);
  outline: 0;
}

.page-menu-toggle {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 30;
  height: 42px;
  padding: 0 16px;
  border: 1px solid var(--panel-border);
  border-radius: 999px;
  background: var(--panel-bg);
  color: var(--ink);
  font-weight: 700;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.14);
  backdrop-filter: blur(10px);
  cursor: pointer;
}

.page-menu {
  position: fixed;
  right: 18px;
  bottom: 70px;
  z-index: 30;
  width: min(310px, calc(100vw - 36px));
  max-height: min(70vh, 520px);
  padding: 10px;
  display: none;
  grid-template-columns: 1fr;
  gap: 6px;
  overflow: auto;
  border: 1px solid var(--panel-border);
  border-radius: 18px;
  background: var(--panel-bg);
  box-shadow: 0 18px 45px rgba(0, 0, 0, 0.16);
  backdrop-filter: blur(12px);
}

.page-menu.is-open { display: grid; }

.page-menu a {
  display: block;
  padding: 10px 12px;
  border-radius: 12px;
  color: var(--ink);
  text-decoration: none;
  font-size: 14px;
  line-height: 1.2;
}

.page-menu a:hover,
.page-menu a.is-active {
  background: rgba(17, 162, 114, 0.1);
  color: var(--brand-green);
}

@media (min-width: 960px) {
  .page-menu-toggle,
  .page-menu {
    opacity: 0.18;
    transition: opacity .18s ease;
  }
  .page-menu-toggle:hover,
  .page-menu-toggle:focus-visible,
  .page-menu:hover,
  .page-menu:focus-within {
    opacity: 1;
  }
}

@media (max-width: 720px) {
  .page-menu-toggle {
    right: 12px;
    bottom: 12px;
  }
  .page-menu {
    right: 12px;
    bottom: 62px;
  }
}


/* v13: HTML overlay UI for Vision/Values/Mission accordions; stats are animated directly inside SVG text nodes. */
.dynamic-ui-layer {
  position: absolute;
  inset: 0;
  z-index: 12;
  pointer-events: none;
}

.home-stats-counters {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.stat-counter {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #0A1628;
  color: var(--brand-green);
  font-family: var(--font-heading);
  font-size: clamp(18px, 2.5vw, 48px);
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.98px;
  white-space: nowrap;
  text-align: center;
  z-index: 1;
}

.vmv-overlay {
  position: absolute;
  pointer-events: auto;
  font-family: var(--font-body);
  color: #0A2540;
  overflow: visible;
}

.vmv-card {
  margin: 0 0 22px;
  border: 1px solid #E8ECEF;
  border-radius: 12px;
  background: #F6F8FA;
  overflow: hidden;
  box-shadow: none;
  transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.vmv-card.is-open {
  border-color: var(--brand-green);
  box-shadow: 0 16px 36px rgba(10, 37, 64, 0.08);
  background: #F8FBFA;
}

.vmv-trigger {
  width: 100%;
  height: 67px;
  padding: 0 24px;
  border: 0;
  background: transparent;
  color: #0A2540;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  text-align: left;
  font-family: var(--font-heading);
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0;
}

.vmv-arrow {
  width: 10px;
  height: 10px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(-45deg);
  transition: transform .18s ease, color .18s ease;
  color: #0A2540;
  margin-left: 20px;
  flex: 0 0 auto;
}

.vmv-card.is-open .vmv-arrow {
  transform: rotate(45deg) translate(-1px, -1px);
  color: var(--brand-green);
}

.vmv-body {
  display: none;
  padding: 0 24px 22px;
  color: #4A5C59;
  font-size: 15px;
  line-height: 1.55;
  letter-spacing: 0;
}

.vmv-card.is-open .vmv-body { display: block; }
.vmv-card.is-open .vmv-body { animation: vmv-body-in .24s ease-out both; }
@keyframes vmv-body-in { from { opacity: 0; transform: translateY(-5px); } to { opacity: 1; transform: translateY(0); } }

.vmv-text,
.vmv-list {
  margin: 0;
}

.vmv-list {
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
}

.vmv-list li {
  display: flex;
  align-items: center;
  min-width: 42%;
}

.vmv-list li::before {
  content: "";
  width: 6px;
  height: 6px;
  margin-right: 9px;
  border-radius: 999px;
  background: var(--brand-green);
  flex: 0 0 auto;
}

@media (max-width: 720px) {
  .stat-counter { font-size: clamp(12px, 2.7vw, 20px); }
  .vmv-trigger { font-size: 12px; height: 48px; padding: 0 14px; }
  .vmv-body { font-size: 11px; padding: 0 14px 14px; line-height: 1.35; }
  .vmv-card { margin-bottom: 10px; border-radius: 8px; }
}

/* v18: removed the floating Pages switcher and switched SVG loading to inline DOM. */
.page-menu-toggle,
.page-menu {
  display: none !important;
}

.svg-inline-mount {
  display: block;
  width: 100%;
  height: 100%;
}
.svg-inline-mount > svg {
  display: block;
  width: 100%;
  height: 100%;
}
.svg-load-error {
  min-height: 360px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #0A2540;
  font-weight: 700;
}

/* v20: homepage interaction sprites are embedded inline, not loaded as external SVG images. */
.state-overlay-sprite--inline > svg {
  display: block;
  width: 100%;
  height: 100%;
}

/* v22: real Contact Us form overlay, connected to backend /api/contact/. */
.contact-us-form-overlay{position:absolute;inset:0;z-index:16;pointer-events:none;font-family:var(--font-body)}.contact-form-control{position:absolute;pointer-events:auto;border:0;background:#fff;color:#0A2540;border-radius:7px;padding:0 14px;font-size:clamp(10px,0.95vw,14px);font-family:var(--font-body);outline:none;box-shadow:none}.contact-form-control::placeholder{color:#7A8B99;opacity:1}.contact-form-control:focus{box-shadow:0 0 0 2px rgba(17,162,114,.22)}.contact-form-textarea{padding-top:12px;resize:none;line-height:1.45}.contact-submit-overlay{position:absolute;pointer-events:auto;border:0;border-radius:8px;background:transparent;color:#fff;font-weight:700;font-size:clamp(10px,1vw,15px);font-family:var(--font-body);cursor:pointer}.contact-submit-overlay:focus-visible{outline:2px solid rgba(17,162,114,.35);outline-offset:2px}.contact-submit-overlay:disabled{cursor:progress;opacity:.84}.contact-form-status{position:absolute;pointer-events:none;font-size:clamp(10px,.9vw,13px);line-height:1.35;font-weight:600}.contact-form-status.is-success{color:#0A7F5F}.contact-form-status.is-error{color:#B42318}

/* The live HTML submit label replaces the old fixed SVG label. */
.svg-inline-mount text[data-cms-key="contact-us_text_052"]{display:none}

/* Three CMS-driven News cards replace the old fixed SVG list. */
.news-cards-overlay{position:absolute;z-index:16;pointer-events:auto;background:#fff;padding:5.2% 2.8%;font-family:var(--font-body);color:#0A2540}.news-cards-heading{margin:0 0 6%;text-align:center;font-family:var(--font-heading);font-size:clamp(18px,3.15vw,54px);font-weight:700;line-height:1.1;letter-spacing:-.02em}.news-cards-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.7%}.news-card{display:flex;min-width:0;flex-direction:column}.news-card-image{display:block;width:100%;aspect-ratio:1.55/1;object-fit:cover;border-radius:12px;background:#eef4f2}.news-card-date{margin-top:5.5%;color:#4A5C59;font-size:clamp(7px,.9vw,16px);font-weight:700;letter-spacing:.09em;text-transform:uppercase}.news-card-title{margin:3% 0 0;font-family:var(--font-heading);font-size:clamp(10px,1.45vw,25px);font-weight:700;line-height:1.2;letter-spacing:-.015em}.news-card-summary{margin:3.5% 0 0;color:#4A5C59;font-size:clamp(8px,1.02vw,18px);line-height:1.45}.news-card-more{align-self:flex-start;margin-top:auto;padding:5% 0 0;border:0;background:transparent;color:#11A272;font:700 clamp(8px,1.02vw,18px)/1.2 var(--font-body);cursor:pointer}.news-card-more:hover,.news-card-more:focus-visible{text-decoration:underline;outline:0}

/* v24: IF-safe retina PNG interaction overlays. */
.state-overlay-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: fill;
  max-width: none;
  user-select: none;
  -webkit-user-drag: none;
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .vmv-card, .vmv-arrow, .vmv-body, .top-dropdown a { animation: none !important; transition: none !important; }
}

/* Final compact-layout overrides must follow the legacy absolute overlay rules. */
@media (max-width: 900px) {
  .news-cards-overlay,
  .contact-us-form-overlay { position: static !important; inset: auto !important; width: auto !important; height: auto !important; margin: 0 16px 40px; }
  .news-cards-overlay { padding: 24px 16px; border-radius: 18px; }
  .news-cards-grid { grid-template-columns: 1fr !important; gap: 30px; }
  .news-cards-heading { margin-bottom: 24px; font-size: 28px; }
  .news-card-date { font-size: 12px; }
  .news-card-title { font-size: 21px; }
  .news-card-summary, .news-card-more { font-size: 16px; }
  .news-card-more { min-height: 44px; padding-top: 14px; }
  .contact-us-form-overlay { display: grid; grid-template-columns: 1fr; gap: 14px; padding: 22px; border-radius: 18px; background: #eef2f5; pointer-events: auto; }
  .contact-form-control,
  .contact-submit-overlay,
  .contact-form-status { position: static !important; inset: auto !important; width: 100% !important; height: auto !important; }
  .contact-form-control { min-height: 50px; padding: 12px 14px; border: 1px solid #d8e0e5; border-radius: 10px; font-size: 16px; }
  .contact-form-textarea { min-height: 132px; }
  .contact-submit-overlay { min-height: 50px; background: #11a272; font-size: 16px; }
  .contact-form-status { min-height: 24px; font-size: 14px; }
}

@media (min-width: 600px) and (max-width: 900px) {
  .news-cards-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  .news-card:last-child { grid-column: 1/-1; max-width: calc(50% - 10px); }
  .contact-us-form-overlay { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

/* v46: full News article routes replace the former modal. */
.svg-stage.is-news-detail{width:100%;max-width:none;height:auto!important;min-height:100vh;overflow:visible}
.svg-stage.is-news-detail>.svg-object,.svg-stage.is-news-detail>.state-overlay-layer,.svg-stage.is-news-detail>.hotspot-layer{display:none!important}
.svg-stage.is-news-detail .dynamic-ui-layer{position:relative;inset:auto;pointer-events:auto}
.news-article-page{min-height:100vh;background:#fff;color:#0a2540;font-family:var(--font-body)}
.news-article-header{position:relative;z-index:30;display:flex;align-items:center;justify-content:space-between;min-height:86px;padding:0 clamp(28px,10.2vw,196px);color:#fff;background:#07172b;font-family:var(--font-body)}
.news-article-header[hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.wingor-brand-mark{display:flex;flex:0 0 auto;align-items:center;width:155px;height:62px;text-decoration:none}
.wingor-brand-mark img{display:block;width:155px;height:62px;object-fit:contain}
.news-article-header nav{display:flex;align-items:center;gap:clamp(18px,2.4vw,42px)}
.news-article-header nav a{position:relative;padding:33px 0 29px;color:#7a8b99;font:400 clamp(12px,.84vw,16px)/1 var(--font-body);text-decoration:none;transition:color .24s ease}
.news-article-header nav a::after{position:absolute;right:0;bottom:20px;left:0;height:2px;content:"";background:#11a272;transform:scaleX(0);transform-origin:100% 50%;transition:transform .32s cubic-bezier(.16,1,.3,1)}
.news-article-header nav a:hover,.news-article-header nav a:focus-visible,.news-article-header nav a.is-active{color:#fff}
.news-article-header nav a:hover::after,.news-article-header nav a:focus-visible::after,.news-article-header nav a.is-active::after{transform:scaleX(1);transform-origin:0 50%}
.news-article-header nav .news-article-contact{padding:13px 24px;border-radius:999px;color:#fff;background:#11a272;font-size:14px;font-weight:600}
.news-article-header nav .news-article-contact::after{display:none}
.news-header-nav-group{position:relative;display:flex;align-items:center}
.news-header-dropdown{position:absolute;top:calc(100% - 8px);left:50%;display:grid;min-width:220px;padding:8px;border:1px solid rgba(10,37,64,.1);border-radius:10px;background:rgba(255,255,255,.99);box-shadow:0 14px 34px rgba(10,37,64,.16);opacity:0;visibility:hidden;transform:translate(-50%,-7px);transition:opacity .2s ease,transform .28s cubic-bezier(.16,1,.3,1),visibility .2s;pointer-events:none}
.news-header-nav-group:nth-child(4) .news-header-dropdown{min-width:365px}
.news-header-dropdown a{padding:10px 12px!important;border-radius:7px;color:#0a2540!important;font:400 clamp(11px,.78vw,15px)/1.25 var(--font-body)!important;white-space:nowrap}
.news-header-dropdown a::after{display:none}
.news-header-dropdown a:hover,.news-header-dropdown a:focus-visible{color:#11a272!important;background:rgba(17,162,114,.09);outline:0}
.news-header-nav-group:hover .news-header-dropdown,.news-header-nav-group:focus-within .news-header-dropdown{opacity:1;visibility:visible;transform:translate(-50%,0);pointer-events:auto}
.news-article-hero{position:relative;overflow:hidden;padding:clamp(72px,9vw,138px) 24px clamp(64px,8vw,116px);color:#fff;background:radial-gradient(circle at 82% 25%,rgba(17,162,114,.28),transparent 28%),linear-gradient(135deg,#07172b 0%,#0b2a3c 100%)}
.news-article-hero::after{position:absolute;top:-35%;right:-8%;width:480px;height:480px;border:1px solid rgba(95,218,178,.18);border-radius:50%;content:"";box-shadow:0 0 0 70px rgba(95,218,178,.04),0 0 0 140px rgba(95,218,178,.025)}
.news-article-hero-inner{position:relative;z-index:1;width:min(1120px,100%);margin:0 auto}
.news-article-breadcrumb{display:flex;align-items:center;gap:10px;margin-bottom:28px;color:#8fa6b8;font-size:13px}
.news-article-breadcrumb a{color:#5fdab2;text-decoration:none}
.news-article-date{margin-bottom:18px;color:#5fdab2;font-size:13px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.news-article-hero h1{max-width:1040px;margin:0;color:#fff;font:700 clamp(38px,5.1vw,78px)/1.05 var(--font-heading);letter-spacing:-.035em;overflow-wrap:break-word}
.news-article-hero p{max-width:810px;margin:30px 0 0;color:#c2ced8;font-size:clamp(17px,1.5vw,21px);line-height:1.65}
.news-article-main{width:min(1120px,calc(100% - 48px));margin:0 auto;padding:clamp(48px,7vw,96px) 0 100px}
.news-article-cover{display:block;width:100%;max-height:660px;border-radius:24px;object-fit:cover;box-shadow:0 28px 72px rgba(7,23,43,.14)}
.news-article-body{width:min(790px,100%);margin:clamp(48px,6vw,78px) auto 0}
.news-article-body p{margin:0 0 1.55em;color:#3e5260;font-size:18px;line-height:1.86;overflow-wrap:break-word}
.news-article-body h2{margin:2.3em 0 .8em;color:#0a2540;font:700 clamp(27px,3vw,38px)/1.22 var(--font-heading);letter-spacing:-.02em}
.news-article-body blockquote{margin:2.1em 0;padding:25px 30px;border-left:4px solid #11a272;border-radius:0 14px 14px 0;color:#264554;background:#eff8f5;font-size:19px;font-weight:600;line-height:1.72}
.news-article-body figure{margin:54px -80px}
.news-article-body figure img{display:block;width:100%;max-height:620px;border-radius:18px;object-fit:cover}
.news-article-back{display:inline-flex;align-items:center;min-height:48px;margin-top:42px;padding:0 22px;border:1px solid rgba(10,37,64,.16);border-radius:999px;color:#0a2540;font-weight:750;text-decoration:none;transition:color .22s ease,background .22s ease,border-color .22s ease,transform .22s ease}
.news-article-back:hover,.news-article-back:focus-visible{border-color:#11a272;color:#fff;background:#11a272;transform:translateY(-2px)}
.site-footer{padding:72px max(24px,calc((100% - 1528px)/2)) 32px;color:#7a8b99;background:#0a1628;font-family:var(--font-body)}
.site-footer-main{display:grid;grid-template-columns:minmax(220px,1.65fr) repeat(5,minmax(0,1fr));gap:34px}
.site-footer-intro strong{display:block;margin-bottom:18px;color:#11a272;font:800 25px/1 var(--font-body);letter-spacing:-.035em}
.site-footer-intro p{max-width:350px;margin:0;font-size:14px;line-height:1.7}
.site-footer-column{display:flex;min-width:0;flex-direction:column;gap:13px}
.site-footer-column h2{margin:0 0 7px;color:rgba(255,255,255,.72);font:600 14px/1.2 var(--font-body);letter-spacing:.03em;text-transform:uppercase}
.site-footer-column a,.site-footer-column span{color:#7a8b99;font-size:14px;line-height:1.4;text-decoration:none;overflow-wrap:anywhere}
.site-footer-column a:hover,.site-footer-column a:focus-visible{color:#11a272}
.site-footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:52px;padding-top:25px;border-top:1px solid rgba(255,255,255,.1);font-size:12px;line-height:1.5}
.site-footer-tagline{max-width:720px}
.site-footer--svg-artwork{position:relative;height:clamp(286px,22.4vw,430px);padding:0;overflow:hidden;background:#0a1628}
.site-footer--svg-artwork::before{position:absolute;right:0;bottom:0;left:0;width:100%;height:auto;aspect-ratio:1920/6155;content:"";background:url("../assets/svg/home.svg?v=60.0") center bottom/100% auto no-repeat;pointer-events:none}
.site-footer--svg-artwork .site-footer-main{position:absolute;inset:0;z-index:2;display:block;opacity:.001;pointer-events:none}
.site-footer--svg-artwork .site-footer-bottom{position:absolute;inset:0;opacity:0;pointer-events:none}
.site-footer--svg-artwork .site-footer-intro{display:none}
.site-footer--svg-artwork nav.site-footer-column{position:absolute;top:26%;gap:4px;width:6%;pointer-events:none}
.site-footer--svg-artwork nav.site-footer-column h2{margin-bottom:3px}
.site-footer--svg-artwork nav.site-footer-column a{display:block;padding:4px 0;pointer-events:auto}
.site-footer--svg-artwork nav[aria-label="About footer navigation"]{left:33.45%;width:5.5%}
.site-footer--svg-artwork nav[aria-label="Research and development footer navigation"]{left:39.35%;width:7%}
.site-footer--svg-artwork nav[aria-label="Research Output footer navigation"]{left:46.85%;width:9%}
.site-footer--svg-artwork nav[aria-label="Partnerships footer navigation"]{left:56.65%;width:12.5%}
.site-footer--svg-artwork .site-footer-main>.site-footer-column:last-child{position:absolute;inset:0;display:block;pointer-events:none}
.site-footer--svg-artwork .site-footer-main>.site-footer-column:last-child h2,
.site-footer--svg-artwork .site-footer-main>.site-footer-column:last-child a,
.site-footer--svg-artwork .site-footer-main>.site-footer-column:last-child span{position:absolute;margin:0;pointer-events:auto}
.site-footer--svg-artwork .site-footer-main>.site-footer-column:last-child h2:first-of-type{top:26%;left:76.8%}
.site-footer--svg-artwork .site-footer-main>.site-footer-column:last-child>a[href^="mailto:"]{top:36%;left:76.8%;padding:4px 0}
.site-footer--svg-artwork .site-footer-main>.site-footer-column:last-child span{top:48%;left:76.8%;width:20%;padding:4px 0}

@media (max-width:900px){
  .svg-stage.is-news-detail{position:absolute;height:0!important;min-height:0;overflow:hidden}
  .mobile-content:has(.news-article-page){max-width:none;background:#fff}
  .news-article-hero{padding:52px 20px 56px}
  .news-article-breadcrumb{margin-bottom:22px}
  .news-article-hero h1{font-size:clamp(34px,10vw,54px)}
  .news-article-hero p{margin-top:22px;font-size:17px}
  .news-article-main{width:min(100% - 32px,760px);padding:34px 0 64px}
  .news-article-cover{max-height:460px;border-radius:16px}
  .news-article-body{margin-top:40px}
  .news-article-body p{font-size:17px;line-height:1.75}
  .news-article-body h2{font-size:28px}
  .news-article-body blockquote{margin:1.8em 0;padding:20px;font-size:17px}
  .news-article-body figure{margin:38px 0}
  .news-article-body figure img{border-radius:13px}
  .site-footer{padding:46px 20px 28px}
  .site-footer-main{grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 22px}
  .site-footer-intro{grid-column:1/-1}
  .site-footer-column:first-of-type{grid-column:auto}
  .site-footer-bottom{align-items:flex-start;flex-direction:column;margin-top:38px}
  .site-footer--svg-artwork{height:auto;padding:46px 20px 28px;overflow:visible}
  .site-footer--svg-artwork::before{display:none}
  .site-footer--svg-artwork .site-footer-main,.site-footer--svg-artwork .site-footer-bottom{position:static;opacity:1}
  .site-footer--svg-artwork .site-footer-main{display:grid;pointer-events:auto}
  .site-footer--svg-artwork .site-footer-intro{display:block}
  .site-footer--svg-artwork nav.site-footer-column{position:static;width:auto;gap:13px;pointer-events:auto}
  .site-footer--svg-artwork .site-footer-main>.site-footer-column:last-child{position:static;display:flex;pointer-events:auto}
  .site-footer--svg-artwork .site-footer-main>.site-footer-column:last-child h2,
  .site-footer--svg-artwork .site-footer-main>.site-footer-column:last-child a,
  .site-footer--svg-artwork .site-footer-main>.site-footer-column:last-child span{position:static;margin:0;pointer-events:auto}
}
