/* AxysMed corporate home. Product pages retain their existing styles. */
.home-page {
  --text: #172d3e;
  --muted: #62717b;
  --teal: #087d83;
  --font-head: "Manrope", sans-serif;
  --container: 1240px;
  background: #fafbf9;
  font-size: 16px;
}
.home-page h1,
.home-page h2,
.home-page h3 {
  font-family: var(--font-head);
  font-weight: 500;
  letter-spacing: -0.055em;
}
.home-page a:focus-visible,
.home-page button:focus-visible,
.home-page [tabindex]:focus-visible {
  outline: 3px solid #078e91;
  outline-offset: 5px;
}
.home-page .container {
  width: min(calc(100% - 96px), var(--container));
}
.skip-link {
  position: fixed;
  top: -100px;
  left: 20px;
  z-index: 1000;
  padding: 12px 20px;
  background: #fff;
}
.skip-link:focus {
  top: 10px;
}
.home-page .site-header {
  background: rgba(250, 251, 249, 0.95);
  border-bottom: 1px solid #e4e8e5;
  backdrop-filter: blur(16px);
}
.home-page .navbar {
  width: min(calc(100% - 96px), var(--container));
  margin: 0 auto;
  padding: 20px 0;
  background: none;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.home-page .brand-logo {
  width: 154px;
}
.home-page .nav-menu {
  gap: 22px;
}
.home-page .nav-menu > a {
  font-size: 13px;
  font-weight: 500;
  padding: 9px 0;
  border-radius: 0;
}
.home-page .nav-menu > a:hover {
  background: none;
  color: #087d83;
}
.home-page .btn {
  border-radius: 6px;
  gap: 28px;
  font-size: 13px;
  min-height: 49px;
  padding: 14px 23px;
  box-shadow: none;
  transition:
    background 0.2s,
    transform 0.2s;
}
.home-page .btn-primary {
  background: #163a46;
  color: #fff;
}
.home-page .btn-primary:hover {
  background: #086d72;
  transform: translateY(-2px);
  box-shadow: none;
}
.home-page .btn-primary:before {
  display: none;
}
.home-page .nav-menu > .nav-cta {
  padding: 12px 20px;
  color: #fff;
  border-radius: 5px;
  margin-left: 16px;
}
.home-page .nav-menu > .nav-cta:hover {
  color: #ffffff;
  background: #086d72;
}
.home-hero {
  padding: 74px 0 70px;
}
.hero-layout {
  display: grid;
  grid-template-columns: 1.02fr 1fr;
  gap: 50px;
  align-items: center;
}
.overline {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.15em;
  color: #48716f;
}
.overline i,
.art-signal i {
  width: 6px;
  height: 6px;
  background: #5ba598;
  border-radius: 50%;
}
.hero-editorial h1 {
  font-size: clamp(48px, 5.05vw, 73px);
  line-height: 1.045;
  margin: 26px 0 22px;
}
.hero-editorial h1 > span {
  color: #43877e;
}
.hero-editorial > p {
  font-size: 16px;
  max-width: 380px;
  line-height: 1.75;
}
.hero-actions {
  display: flex;
  align-items: center;
  gap: 25px;
  margin-top: 30px;
}
.quiet-link {
  display: inline-flex;
  align-items: center;
  gap: 20px;
  font-size: 13px;
  font-weight: 600;
}
.quiet-link:hover {
  color: #087d83;
}
.hero-footnote {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 37px;
  font-size: 11px;
  color: #7a888c;
}
.small-cross {
  font-size: 20px;
  color: #43877e;
}
.ecosystem-art {
  height: 545px;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border-radius: 12px;
  background: radial-gradient(
    ellipse at 55% 50%,
    #245959 0%,
    #163b46 42%,
    #112e3b 80%
  );
  color: white;
  border: 1px solid #274954;
  box-shadow: 0 30px 55px -35px #0c303d66;
}
.ecosystem-art:before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: 0.13;
  background-image: radial-gradient(#b6d3cf 1px, transparent 1px);
  background-size: 22px 22px;
}
.art-top,
.art-bottom {
  position: absolute;
  left: 26px;
  right: 26px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 9px;
  letter-spacing: 0.13em;
  color: #a9c5c7;
}
.art-top {
  top: 26px;
}
.art-bottom {
  bottom: 23px;
}
.art-index {
  color: #7ca1a5;
}
.art-bottom > span:last-child {
  font-size: 23px;
}
.art-signal {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 8px;
}
.orbit {
  position: absolute;
  border: 1px solid #a2d5ce20;
  border-radius: 50%;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: -1;
}
.orbit-one {
  width: 300px;
  height: 300px;
}
.orbit-two {
  width: 450px;
  height: 450px;
}
.orbit-line {
  position: absolute;
  background: #a2d5ce15;
  z-index: -1;
}
.horizontal {
  height: 1px;
  left: 0;
  right: 0;
  top: 50%;
}
.vertical {
  width: 1px;
  top: 0;
  bottom: 0;
  left: 50%;
}
.ecosystem-core {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 190px;
  display: grid;
  justify-items: center;
  gap: 10px;
}
.ecosystem-core img {
  width: 185px;
}
.ecosystem-core > span {
  font-size: 11px;
  color: #afc9c6;
  letter-spacing: 0.03em;
}
.ecosystem-node {
  position: absolute;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 16px 14px;
  width: 203px;
  background: #f9fcfa;
  border: 1px solid #fff;
  border-radius: 8px;
  color: #193b46;
  box-shadow: 0 8px 28px #00191f22;
  transition: transform 0.2s;
}
.ecosystem-node:hover {
  transform: translateY(-5px);
}
.ecosystem-node strong {
  display: block;
  font-family: var(--font-head);
  font-weight: 700;
  font-size: 17px;
  letter-spacing: -0.04em;
}
.ecosystem-node small {
  display: block;
  font-size: 9px;
  color: #627a80;
  margin-top: 1px;
}
.node-icon {
  display: grid;
  place-items: center;
  width: 35px;
  height: 39px;
  color: #428f85;
}
.node-icon svg {
  width: 27px;
}
.node-arrow {
  margin-left: auto;
  color: #829699;
  font-size: 14px;
}
.node-psyke {
  top: 102px;
  left: 29px;
}
.node-vita {
  right: 24px;
  top: 164px;
}
.node-incluya {
  bottom: 146px;
  left: 22px;
}
.node-axyscare {
  bottom: 80px;
  right: 30px;
}
.node-psyke .node-icon {
  color: #6481b0;
}
.node-incluya .node-icon {
  color: #548b9c;
}
.discipline-band {
  border-top: 1px solid #e0e6e2;
  border-bottom: 1px solid #e0e6e2;
  background: #f3f5f1;
}
.discipline-band > .container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  min-height: 90px;
}
.discipline-band span {
  font-family: var(--font-head);
  font-size: 17px;
  letter-spacing: -0.03em;
}
.discipline-band span:first-child {
  font-family: var(--font-body);
  font-size: 11px;
  color: #74817e;
  max-width: 125px;
  letter-spacing: 0;
}
.discipline-band b {
  font-weight: 400;
  color: #76a295;
  font-size: 19px;
}
.solutions-section,
.experience-section,
.purpose-section {
  padding: 100px 0;
  scroll-margin-top: 90px;
}
.section-heading {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 50px;
  margin-bottom: 44px;
}
.home-page h2 {
  font-size: clamp(32px, 3.25vw, 46px);
  line-height: 1.16;
  margin-top: 18px;
}
.section-heading > p {
  font-size: 14px;
  max-width: 300px;
  padding-bottom: 4px;
}
.solution-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border: 1px solid #dce4de;
  border-radius: 8px;
  overflow: hidden;
}
.solution-card {
  display: flex;
  flex-direction: column;
  padding: 29px 25px 0;
  border-right: 1px solid #dce4de;
  background: #fff;
  transition: background 0.2s;
}
.solution-card:last-child {
  border: 0;
}
.solution-card:hover {
  background: #f1f7f3;
}
.solution-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 32px;
}
.solution-icon {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 9px;
  background: #edf3f5;
  color: #557e9d;
}
.solution-icon svg {
  width: 25px;
}
.solution-vita .solution-icon {
  background: #e9f4ec;
  color: #368575;
}
.solution-incluya .solution-icon {
  background: #eaf5f7;
  color: #398a9b;
}
.solution-axyscare .solution-icon {
  background: #f2f0e8;
  color: #8c8b56;
}
.solution-number {
  font-size: 10px;
  letter-spacing: 0.12em;
  color: #95a29e;
}
.solution-category {
  font-size: 9px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #6f817a;
}
.home-page .solution-card h3 {
  font-size: 29px;
  margin: 8px 0 22px;
  font-weight: 600;
}
.solution-card h4 {
  font-size: 15px;
  line-height: 1.5;
  margin: 0 0 12px;
  min-height: 45px;
  font-weight: 500;
  letter-spacing: -0.015em;
}
.solution-card p {
  font-size: 12px;
  line-height: 1.8;
  margin-bottom: 26px;
}
.solution-bottom {
  margin-top: auto;
}
.solution-bottom > span {
  display: block;
  font-size: 9px;
  color: #798b83;
  margin-bottom: 23px;
}
.solution-bottom a {
  display: flex;
  justify-content: space-between;
  border-top: 1px solid #e2e8e3;
  padding: 20px 0;
  font-size: 12px;
  font-weight: 600;
}
.solution-bottom a:hover {
  color: #087d83;
}
.experience-section {
  background: #f0f3ef;
  border-top: 1px solid #e6eae4;
  border-bottom: 1px solid #e6eae4;
}
.product-tabs {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-bottom: 1px solid #cbd7cf;
  margin-bottom: 30px;
}
.product-tabs button {
  font: 500 14px var(--font-body);
  color: #73827d;
  border: 0;
  background: none;
  padding: 16px;
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
}
.product-tabs button svg {
  width: 19px;
}
.product-tabs button > span {
  margin-left: auto;
  font-size: 16px;
}
.product-tabs button[aria-selected="true"] {
  border-color: #257c71;
  color: #1c514a;
}
.product-tabs button:hover {
  background: #e8eee7;
}
.product-preview {
  display: grid;
  grid-template-columns: 1.5fr 1fr;
  gap: 55px;
  align-items: center;
}
.product-preview[hidden] {
  display: none;
}
.preview-media {
  height: 360px;
  padding: 18px 18px 0;
  border: 1px solid #dbe3db;
  border-radius: 10px;
  background: #e2e9e1;
  overflow: hidden;
}
.browser-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #fff;
  padding: 12px 15px;
  font-size: 9px;
  color: #77877d;
  border-radius: 6px 6px 0 0;
}
.browser-bar > span:first-child {
  font-size: 7px;
  letter-spacing: 3px;
  color: #b8c7bc;
}
.preview-media > img {
  width: 100%;
  height: 293px;
  object-fit: cover;
  object-position: top;
  border-top: 1px solid #e8ece8;
}
.preview-incluya > img {
  object-fit: contain;
  background: #eaf1ed;
}
.preview-vita > img {
  object-fit: contain;
  background: #fff;
}
.preview-copy h3 {
  font-size: 31px;
  line-height: 1.25;
  margin: 18px 0;
}
.preview-copy p {
  font-size: 14px;
}
.preview-tags {
  display: block;
  font-size: 10px;
  color: #7b8d81;
  padding: 23px 0 26px;
}
.preview-copy .quiet-link {
  border-bottom: 1px solid #81998b;
  padding-bottom: 8px;
}
.purpose-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 115px;
}
.purpose-grid h2 {
  max-width: 510px;
}
.purpose-grid h2 span {
  color: #43877e;
}
.purpose-copy > p {
  font-size: 14px;
  margin-bottom: 20px;
}
.purpose-copy > p + p {
  margin-bottom: 30px;
}
.principle {
  display: flex;
  gap: 25px;
  border-top: 1px solid #e2e7e1;
  padding: 20px 0;
}
.principle > span {
  font-size: 10px;
  color: #80978a;
  padding-top: 3px;
}
.home-page .principle h3 {
  font: 500 15px var(--font-body);
  letter-spacing: 0;
  margin: 0 0 4px;
}
.principle p {
  font-size: 12px;
}
.contact-section {
  padding: 0 0 80px;
  scroll-margin-top: 110px;
}
.contact-panel {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 57px 62px !important;
  background: #183c45;
  border-radius: 10px;
  gap: 40px;
  position: relative;
  overflow: hidden;
}
.contact-panel .overline {
  color: #93b9b1;
  font-size: 9px;
}
.contact-panel h2 {
  color: #fff;
  font-size: 40px;
}
.contact-panel p {
  color: #a7c1c0;
  font-size: 13px;
  margin-top: 18px;
}
.contact-button {
  color: #214b49;
  background: #d4e8dc;
  flex-shrink: 0;
}
.contact-button:hover {
  background: #fff;
}
.home-footer {
  border-top: 1px solid #e0e6e0;
  padding: 43px 0 24px;
}
.footer-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 25px;
  padding-bottom: 40px;
}
.footer-top img {
  width: 145px;
}
.footer-top p {
  font-size: 11px;
  margin-top: 9px;
}
.footer-nav {
  display: flex;
  gap: 25px;
  font-size: 12px;
}
.footer-email {
  font-size: 12px;
  color: #506b64;
}
.footer-bottom {
  display: flex;
  justify-content: space-between;
  border-top: 1px solid #e4e9e3;
  padding-top: 22px;
  font-size: 10px;
  color: #809086;
}
@media (min-width: 1500px) {
  .home-hero {
    padding: 90px 0;
  }
  .ecosystem-art {
    height: 570px;
  }
}
@media (max-width: 1100px) {
  .home-page .container,
  .home-page .navbar {
    width: calc(100% - 56px);
  }
  .hero-layout {
    gap: 28px;
  }
  .hero-editorial h1 {
    font-size: 55px;
  }
  .ecosystem-art {
    height: 510px;
  }
  .ecosystem-node {
    width: 175px;
    padding: 13px 9px;
  }
  .node-psyke {
    left: 15px;
    top: 95px;
  }
  .node-vita {
    right: 14px;
    top: 168px;
  }
  .node-incluya {
    left: 12px;
    bottom: 142px;
  }
  .node-axyscare {
    right: 15px;
    bottom: 70px;
  }
  .node-icon {
    width: 28px;
  }
  .ecosystem-node strong {
    font-size: 15px;
  }
  .ecosystem-node small {
    font-size: 8px;
  }
  .hero-actions {
    gap: 17px;
  }
  .home-page .btn {
    gap: 15px;
    padding: 13px 18px;
  }
  .solution-card {
    padding: 24px 18px 0;
  }
  .purpose-grid {
    gap: 60px;
  }
  .home-page .nav-menu {
    gap: 18px;
  }
  .preview-media {
    height: 310px;
  }
  .preview-media > img {
    height: 246px;
  }
  .product-preview {
    gap: 30px;
  }
}
@media (max-width: 980px) {
  .home-page .nav-menu {
    top: 100%;
    left: 0;
    right: 0;
    border-radius: 0;
    background: #fafbf9;
    padding: 20px 28px;
    box-shadow: 0 15px 20px #163a4610;
  }
  .home-page .nav-menu > .nav-cta {
    margin: 0;
    text-align: center;
  }
  .home-page .nav-menu > a {
    padding: 10px;
  }
  .hero-editorial h1 {
    font-size: 49px;
  }
  .hero-actions {
    flex-direction: column;
    align-items: flex-start;
  }
  .hero-footnote {
    margin-top: 25px;
  }
  .solution-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .solution-card:nth-child(2) {
    border-right: 0;
  }
  .solution-card:nth-child(-n + 2) {
    border-bottom: 1px solid #dce4de;
  }
  .solution-card {
    padding: 28px 28px 0;
  }
  .solution-card h4 {
    min-height: 0;
  }
  .solution-top {
    margin-bottom: 24px;
  }
  .footer-top {
    flex-wrap: wrap;
  }
  .discipline-band > .container {
    gap: 14px;
  }
  .discipline-band span {
    font-size: 14px;
  }
  .contact-panel {
    padding: 40px !important;
  }
  .contact-panel h2 {
    font-size: 34px;
  }
}
@media (max-width: 720px) {
  .home-page .container,
  .home-page .navbar {
    width: calc(100% - 40px);
  }
  .home-page .navbar {
    padding: 15px 0;
  }
  .home-page .brand-logo {
    width: 135px;
  }
  .home-hero {
    padding: 42px 0;
  }
  .hero-layout {
    grid-template-columns: 1fr;
    gap: 35px;
  }
  .hero-editorial h1 {
    font-size: clamp(45px, 10.5vw, 66px);
    margin-top: 22px;
  }
  .hero-editorial {
    min-width: 0;
  }
  .hero-editorial > p {
    font-size: 15px;
    max-width: 400px;
  }
  .overline {
    font-size: 9px;
  }
  .hero-actions {
    flex-direction: row;
    align-items: center;
    flex-wrap: wrap;
  }
  .home-page .btn {
    width: auto;
    font-size: 12px;
  }
  .hero-footnote {
    margin-top: 23px;
  }
  .ecosystem-art {
    height: 520px;
    max-width: 520px;
    width: 100%;
    justify-self: center;
  }
  .ecosystem-core {
    width: 155px;
  }
  .ecosystem-core img {
    width: 155px;
  }
  .ecosystem-core > span {
    font-size: 10px;
  }
  .ecosystem-node {
    width: 170px;
  }
  .node-psyke {
    top: 76px;
    left: 20px;
  }
  .node-vita {
    top: 153px;
    right: 16px;
  }
  .node-incluya {
    bottom: 134px;
    left: 14px;
  }
  .node-axyscare {
    bottom: 54px;
    right: 20px;
  }
  .orbit-one {
    width: 250px;
    height: 250px;
  }
  .orbit-two {
    width: 380px;
    height: 380px;
  }
  .art-top,
  .art-bottom {
    left: 20px;
    right: 20px;
  }
  .art-top {
    font-size: 8px;
  }
  .art-signal {
    font-size: 7px;
  }
  .discipline-band > .container {
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    padding: 19px 0;
  }
  .discipline-band span:first-child {
    max-width: none;
    flex-basis: 100%;
    font-size: 10px;
  }
  .discipline-band span {
    font-size: 12px;
  }
  .discipline-band b {
    font-size: 12px;
  }
  .solutions-section,
  .experience-section,
  .purpose-section {
    padding: 62px 0;
  }
  .section-heading {
    display: block;
    margin-bottom: 28px;
  }
  .section-heading > p {
    margin-top: 20px;
    max-width: 360px;
    font-size: 13px;
  }
  .home-page h2 {
    font-size: 33px;
  }
  .solution-card {
    padding: 23px 19px 0;
  }
  .home-page .solution-card h3 {
    font-size: 25px;
  }
  .solution-category {
    font-size: 8px;
  }
  .solution-card h4 {
    font-size: 14px;
  }
  .solution-card p {
    font-size: 12px;
  }
  .solution-bottom > span {
    font-size: 9px;
  }
  .solution-bottom a {
    font-size: 11px;
  }
  .product-tabs button {
    font-size: 11px;
    padding: 12px 6px;
    gap: 5px;
  }
  .product-tabs button svg {
    width: 15px;
  }
  .product-tabs button > span {
    display: none;
  }
  .product-preview {
    grid-template-columns: 1fr;
    gap: 27px;
  }
  .preview-media {
    height: 260px;
    padding: 12px 12px 0;
  }
  .preview-media > img {
    height: 208px;
  }
  .preview-copy h3 {
    font-size: 29px;
    max-width: 360px;
  }
  .preview-copy {
    padding: 0 4px;
  }
  .purpose-grid {
    grid-template-columns: 1fr;
    gap: 30px;
  }
  .purpose-grid h2 {
    max-width: 420px;
  }
  .contact-section {
    padding-bottom: 50px;
  }
  .contact-panel {
    flex-direction: column;
    align-items: flex-start;
    padding: 32px 26px !important;
    gap: 26px;
  }
  .contact-panel h2 {
    font-size: 30px;
  }
  .contact-panel .overline {
    font-size: 8px;
  }
  .footer-top {
    align-items: flex-start;
    gap: 26px;
    padding-bottom: 30px;
  }
  .footer-nav {
    flex-wrap: wrap;
    gap: 18px;
  }
  .footer-top > div:first-child {
    width: 100%;
  }
  .footer-bottom {
    gap: 20px;
    font-size: 9px;
  }
  .footer-email {
    font-size: 11px;
  }
}
@media (max-width: 380px) {
  .home-page .container,
  .home-page .navbar {
    width: calc(100% - 30px);
  }
  .solution-grid {
    grid-template-columns: 1fr;
  }
  .solution-card {
    border-right: 0;
    border-bottom: 1px solid #dce4de;
  }
  .ecosystem-node {
    width: 151px;
    gap: 5px;
  }
  .node-psyke {
    left: 10px;
  }
  .node-vita {
    right: 8px;
  }
  .node-incluya {
    left: 8px;
  }
  .node-axyscare {
    right: 10px;
  }
  .node-arrow {
    display: none;
  }
  .hero-actions {
    gap: 18px;
  }
  .quiet-link {
    font-size: 12px;
  }
  .home-page h2 {
    font-size: 30px;
  }
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  .home-page * {
    transition: none !important;
    animation: none !important;
  }
}
