/* Homepage-only typography. Shared page styles retain their existing scale. */
body.homepage #ai .eyebrow,
body.homepage #ai .ai-step .icon { color: #ff9b45; }

body.homepage #about-us .about-us-intro,
body.homepage #about-us .co-values-intro { max-width: none; width: 100%; }

/* Reference layout: three values above two centered values. */
body.homepage #about-us .co-values-intro { margin-bottom: 28px; }
body.homepage #content #about-us .co-values-heading { margin-bottom: 12px; }
body.homepage #about-us .co-values-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); grid-auto-rows: 1fr; gap: 24px; align-items: stretch; }
body.homepage #about-us .co-value-card { grid-column: span 2; grid-row: auto; padding: 36px 28px; border: 1px solid #d9dee7; border-radius: 16px; background: #fff; color: #0b1d3a; text-align: center; }
body.homepage #about-us .co-value-card:nth-of-type(4) { grid-column: 2 / 4; }
body.homepage #about-us .co-value-card:nth-of-type(5) { grid-column: 4 / 6; }
body.homepage #about-us .co-value-icon { display: grid; place-items: center; width: 48px; height: 48px; margin: 0 auto 22px; border-radius: 12px; background: #eaf5fa; color: #0097d6; }
body.homepage #about-us .co-value-icon svg { width: 24px; height: 24px; }
body.homepage #about-us .co-value-title { color: #0b1d3a; }
body.homepage #about-us .co-value-title::after { display: none; }
body.homepage #content #about-us .co-value-message { margin: 12px auto 20px; max-width: 32ch; min-height: 3em; color: #455c70; line-height: 1.5; font-weight: 400; }
body.homepage #content #about-us .co-value-description { margin-top: 16px; color: #455c70; line-height: 1.6; font-size: 15px; }
@media (max-width: 979px) {
  body.homepage #about-us .co-values-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.homepage #about-us .co-value-card:nth-of-type(n) { grid-column: auto; grid-row: auto; }
  body.homepage #about-us .co-value-card:nth-of-type(5) { grid-column: 1 / -1; width: calc((100% - 24px) / 2); justify-self: center; }
}
@media (max-width: 639px) {
  body.homepage #about-us .co-values-grid { grid-template-columns: minmax(0, 1fr); grid-auto-rows: auto; gap: 16px; }
  body.homepage #about-us .co-value-card:nth-of-type(n) { grid-column: auto; width: 100%; padding: 28px 24px; }
  body.homepage #content #about-us .co-value-message { min-height: 0; }
}

body.homepage {
  --type-hero: clamp(2.25rem, 3.9vw, 3.5rem);
  --type-section: clamp(1.875rem, 3.1vw, 2.75rem);
  --type-group: 1.5rem;
  --type-card: 1.25rem;
  --type-body: 1rem;
  --type-secondary: .875rem;
  --type-meta: .75rem;
  --type-message: 1.125rem;
  font-size: var(--type-body);
}
body.homepage #content :is(h1, h2, h3, h4) {
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: -.025em;
  text-wrap: pretty;
}
/* Keep the homepage's main section titles at one weight and scale. */
html body.homepage #content :is(
  .section-head h2,
  #ai .ai-layout h2,
  #resources > .wrap > .sec-rule h2,
  #why-balas-title,
  #about-us-heading,
  #contact-hub-heading
) {
  font-size: clamp(30px, 2.75vw, 40px) !important;
  font-weight: 700 !important;
  line-height: 1.2;
}
body.homepage #content h1 { font-size: var(--type-hero); line-height: 1.2; }
body.homepage #content h2 { font-size: var(--type-section); line-height: 1.2; }
body.homepage #content :is(h3, h4) { font-size: var(--type-card); }
body.homepage #content :is(p, li, dd) {
  font-size: var(--type-body);
  font-weight: 400;
  line-height: 1.65;
}
body.homepage #content :is(.expertise-heading h2, .blog-library-head h2,
  .whitepaper-library-head h2, .blog-industry-head h3, .co-values-heading, .trust-title) {
  font-size: var(--type-group);
  line-height: 1.3;
}
body.homepage #content .customer-feature-content h3 { font-size: var(--type-group); }
body.homepage #content :is(.about-us-statement, .customer-feature-lead) {
  font-size: var(--type-group); font-weight: 600; line-height: 1.4;
}
body.homepage #content #about-us .co-value-title { font-size: var(--type-card); }
body.homepage #content #about-us .co-value-message {
  font-size: var(--type-message); font-weight: 600; line-height: 1.5;
}
body.homepage #content #about-us .co-value-description {
  font-size: var(--type-body); font-weight: 400; line-height: 1.7;
}
body.homepage :is(.button, .btn, .textlink, .pill, .navlinks a,
  .industry-action, .whitepaper-book-info > a, .blog-article-list a > small) {
  font-size: var(--type-secondary); font-weight: 600; line-height: 1.5;
}
body.homepage #content :is(.hero-message .button, .industry-photo-body .industry-action,
  .customer-related-body .textlink, .whitepaper-book-info > a, .blog-article-list a > small) {
  font-size: var(--type-secondary); font-weight: 600; line-height: 1.5;
}
body.homepage :is(.eyebrow, .home-type-meta, .customer-industry, .whitepaper-type,
  .blog-library-count, .whitepaper-library-count, .blog-industry-head > span,
  .customer-profile-facts dt, .customer-related-heading, .role-no) {
  font-size: var(--type-meta); line-height: 1.5;
}
body.homepage #content :is(.hero-note, .customer-feature-visual figcaption small) {
  font-size: var(--type-secondary); line-height: 1.6;
}
body.homepage #content .blog-article-list a > span {
  font-size: var(--type-card); font-weight: 700; line-height: 1.35;
}
body.homepage #content .customer-feature-visual figcaption p {
  font-size: var(--type-group); font-weight: 700; line-height: 1.35;
}
body.homepage #content .section-title {
  letter-spacing: -.025em; text-transform: none;
  flex-shrink: 1; min-width: 0; max-width: 100%;
}
body.homepage .hero-message { padding-top: 40px; padding-bottom: 40px; }
body.homepage .hero-sector { padding: 18px; }
body.homepage #content .hero-sector h3 { overflow-wrap: anywhere; }
body.homepage .hero-sector-grid { grid-template-rows: repeat(3, auto); }
body.homepage .hero-message .actions { flex-wrap: wrap; }
body.homepage .hero-expertise { min-width: 0; }
/* Keep the opening composition readable within a laptop viewport. */
body.homepage .header .nav { height: 76px; gap: 28px; }
body.homepage .header .navlinks { gap: 24px; }
body.homepage .header .button { min-height: 44px; padding: 10px 18px; }
body.homepage .header .nav > .button { border-radius: 999px; }
body.homepage #content .hero-message h1 {
  font-size: clamp(28px, 2.35vw, 38px);
  line-height: 1.15;
}
body.homepage .hero-message { padding: 24px; }
body.homepage #content .hero-message .intro { font-size: 14px; line-height: 1.55; margin-top: 16px; }
body.homepage .hero-message .actions { margin-top: 18px; }
body.homepage #content .hero-message .button { font-size: 13px; }
body.homepage #content .hero-message .hero-note { font-size: 12px; line-height: 1.5; margin-top: 14px; }
body.homepage .hero-expertise { padding: 24px 20px; }
body.homepage #content .expertise-heading h2 { font-size: 22px; }
body.homepage .expertise-heading { margin-bottom: 14px; }
body.homepage .hero-sector { padding: 14px; }
body.homepage .hero-sector .industry-symbol,
body.homepage .hero-sector .industry-symbol svg { width: 28px; height: 28px; }
body.homepage #content .hero-sector h3 { font-size: 16px; line-height: 1.25; overflow-wrap: normal; }
body.homepage #content .hero-sector p { font-size: 13px; line-height: 1.5; }
body.homepage .hero-portrait {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 0;
  padding: 24px 20px 24px 0;
  background: #ecf3fb;
}
/* Feather the photograph itself so letterboxing never leaves a hard edge. */
body.homepage .hero-portrait img {
  position: static;
  width: min(100%, calc((100svh - 125px) * .75));
  height: auto;
  object-fit: contain;
  object-position: center;
  -webkit-mask-image: linear-gradient(to right, transparent, #000 22%, #000 96%, transparent),
    linear-gradient(to bottom, transparent, #000 8%, #000 93%, transparent);
  mask-image: linear-gradient(to right, transparent, #000 22%, #000 96%, transparent),
    linear-gradient(to bottom, transparent, #000 8%, #000 93%, transparent);
  -webkit-mask-composite: source-in;
  mask-composite: intersect;
}
@media (min-width: 1151px) {
  /* Navigation is 76px plus the header's 1px border. */
  body.homepage .home-hero-layout { min-height: min(640px, calc(100svh - 77px)); }
  body.homepage .hero-portrait { max-height: calc(100svh - 77px); }
}
@media (min-width: 1151px) and (max-height: 740px) {
  body.homepage .hero-message { padding: 18px 22px; }
  body.homepage #content .hero-message h1 { font-size: clamp(26px, 2.1vw, 34px); }
  body.homepage #content .hero-message .intro { font-size: 13px; margin-top: 12px; }
  body.homepage .hero-message .actions { margin-top: 14px; }
  body.homepage .hero-expertise { padding: 18px; }
  body.homepage #content .expertise-heading h2 { font-size: 20px; }
  body.homepage .hero-sector { padding: 12px; }
  body.homepage .hero-sector .industry-symbol { margin-bottom: 6px; }
  body.homepage #content .hero-sector h3 { font-size: 15px; }
  body.homepage #content .hero-sector p { font-size: 12px; }
}
/* A compact, complete challenges section beneath the sticky laptop navigation. */
body.homepage .challenges-section.block { padding: 24px 0; }
body.homepage .challenges-section .section-head { margin-bottom: 20px; }
body.homepage #content .challenges-section h2 {
  max-width: 680px;
  font-size: clamp(28px, 2.35vw, 34px);
  line-height: 1.2;
}
body.homepage #content .challenges-section .section-head p {
  margin-top: 10px;
  font-size: 14px;
  line-height: 1.5;
}
body.homepage .challenges-section .grid.six { gap: 12px; }
body.homepage .challenges-section .challenge { padding: 16px; }
body.homepage .challenges-section .icon { margin-bottom: 10px; }
body.homepage #content .challenges-section .challenge h3 { font-size: 16px; line-height: 1.25; }
body.homepage #content .challenges-section .challenge p {
  margin-top: 8px;
  font-size: 14px;
  line-height: 1.5;
}
@media (min-width: 761px) and (max-width: 1050px) {
  body.homepage .challenges-section.block { padding: 16px 0; }
  body.homepage .challenges-section .section-head { margin-bottom: 16px; }
}
@media (max-width: 760px) {
  body.homepage .challenges-section.block { padding: 40px 0; }
  body.homepage #content .challenges-section .challenge p { font-size: 15px; }
}
body.homepage #content :is(h1, h2, h3, h4, p, li, a, button) { overflow-wrap: break-word; }
body.homepage .header .nav > .button::after { content: none; }
body.homepage .whitepaper-shelf { grid-template-columns: repeat(3, minmax(0, 1fr)); }
body.homepage .whitepaper-book-info { padding: 24px; }
/* Wider industry cards share their visible count with the carousel script. */
body.homepage #industries > .wrap { max-width: 1920px; padding-inline: 20px; }
body.homepage #industries .industry-carousel {
  --industry-visible-cards: 6;
  --industry-card-width: calc((100% - 80px) / 6);
}
body.homepage #industries .industry-photo-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 16px; }
body.homepage #industries .industry-carousel.is-enhanced .industry-photo-card { flex-basis: var(--industry-card-width); }
/* Put navigation below the cards so all six can use the full content width. */
body.homepage #industries .industry-carousel.is-enhanced {
  grid-template-columns: minmax(0, 1fr) 44px 44px;
  gap: 16px 8px;
}
body.homepage #industries .industry-carousel.is-enhanced .industry-carousel-viewport { grid-column: 1 / -1; grid-row: 1; }
body.homepage #industries .industry-carousel-prev { grid-column: 2; grid-row: 2; }
body.homepage #industries .industry-carousel-next { grid-column: 3; grid-row: 2; }
body.homepage .industry-photo-body { padding: 22px 12px 20px; }
body.homepage #content .industry-photo-body h3 {
  font-size: clamp(18px, 1.7vw, 22px);
  line-height: 1.3;
  overflow-wrap: normal;
}
body.homepage #content .industry-photo-body p {
  font-size: 16px;
  line-height: 1.55;
  margin: 12px 0 24px;
}
body.homepage #content .industry-photo-body .industry-action {
  font-size: clamp(13px, 1.1vw, 15px);
  line-height: 1.4;
  padding-top: 14px;
}
body.homepage #ai .actions .button {
  background: #061f30;
  border-color: #061f30;
}
body.homepage #ai .actions .button:hover {
  background: #0a2940;
  border-color: #0a2940;
}
@media (max-width: 1023px) {
  body.homepage #industries .industry-carousel {
    --industry-visible-cards: 3;
    --industry-card-width: calc((100% - 32px) / 3);
  }
  body.homepage #industries .industry-photo-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  body.homepage .industry-photo-body { padding: 22px 20px 20px; }
  body.homepage #content .industry-photo-body h3 { font-size: 22px; }
  body.homepage #content .industry-photo-body .industry-action { font-size: 15px; }
}
@media (max-width: 900px) {
  body.homepage #industries .industry-carousel {
    --industry-visible-cards: 2;
    --industry-card-width: calc((100% - 16px) / 2);
  }
  body.homepage #industries .industry-photo-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  body.homepage #industries > .wrap { padding-inline: 20px; }
  body.homepage #industries .industry-carousel { --industry-visible-cards: 1; --industry-card-width: 100%; }
  body.homepage #industries .industry-photo-grid { grid-template-columns: minmax(0, 1fr); }
}
body.homepage .connected-card-heading { align-items: flex-start; }
/* Keep the four solution pillars and their shared business wheel in one laptop view. */
@media (min-width: 1024px) {
  body.homepage #solutions.block { padding: 24px 0; scroll-margin-top: -23px; }
  body.homepage #solutions .section-head { margin-bottom: 20px; }
  body.homepage #content #solutions h2 {
    max-width: 100%;
    font-size: clamp(26px, 2.25vw, 34px);
    line-height: 1.2;
  }
  body.homepage #content #solutions .section-head p {
    max-width: 860px;
    margin-top: 8px;
    font-size: 14px;
    line-height: 1.5;
  }
  body.homepage #solutions .connected-layout {
    grid-template-columns: minmax(0, 1fr) minmax(180px, .6fr) minmax(0, 1fr);
    gap: 12px;
  }
  body.homepage #solutions .business-wheel {
    grid-column: 2;
    grid-row: 1 / 3;
    width: 100%;
    max-width: 280px;
    justify-self: center;
    margin: 0;
  }
  body.homepage #solutions .wheel-connectors { display: block; }
  body.homepage #solutions .connected-card.pillar-1 { grid-column: 1; grid-row: 1; }
  body.homepage #solutions .connected-card.pillar-2 { grid-column: 3; grid-row: 1; }
  body.homepage #solutions .connected-card.pillar-3 { grid-column: 1; grid-row: 2; }
  body.homepage #solutions .connected-card.pillar-4 { grid-column: 3; grid-row: 2; }
  body.homepage #solutions .connected-card { padding: 16px 20px; }
  body.homepage #content #solutions .connected-card h3 {
    font-size: 15px;
    line-height: 1.3;
    letter-spacing: .02em;
  }
  body.homepage #content #solutions .connected-outcome {
    margin-top: 8px;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.4;
  }
  body.homepage #solutions .connected-card ul { gap: 4px; margin: 10px 0 12px; padding-top: 10px; }
  body.homepage #content #solutions .connected-card li { font-size: 13px; line-height: 1.4; }
  body.homepage #solutions .connected-card .textlink { font-size: 13px; line-height: 1.4; }
  @media (max-height: 740px) {
    body.homepage #solutions.block { padding: 16px 0; }
    body.homepage #solutions .section-head { margin-bottom: 16px; }
    body.homepage #solutions .connected-card { padding: 12px 16px; }
    body.homepage #solutions .connected-card ul { gap: 3px; margin: 8px 0; padding-top: 8px; }
  }
}
body.homepage .customer-related-body { padding: 24px; }
body.homepage .why-balas-reason ul { font-size: var(--type-body); line-height: 1.65; }
body.homepage .footgrid h3 { font-size: var(--type-card); font-weight: 700; line-height: 1.3; }
body.homepage .footgrid :is(p, a), body.homepage .footbottom { font-size: var(--type-secondary); line-height: 1.6; }
body.homepage .foot-brand .brand-tagline { font-size: 11px; }
body.homepage .resource-grid { grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr)); }
@media (max-width: 1150px) {
  body.homepage .home-hero-layout { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  body.homepage .hero-message { grid-column: 1; grid-row: 1; }
  body.homepage .hero-portrait { grid-column: 2; grid-row: 1; max-height: calc(100svh - 77px); }
  body.homepage .hero-portrait img {
    position: absolute;
    inset: 24px 20px 24px 0;
    margin: auto;
    height: calc(100% - 48px);
    width: auto;
    max-width: calc(100% - 20px);
  }
  body.homepage .hero-expertise { grid-column: 1 / -1; grid-row: 2; padding: 28px; }
  body.homepage .hero-sector-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); grid-template-rows: auto; }
}
@media (max-width: 760px) {
  body.homepage .home-hero-layout { grid-template-columns: minmax(0, 1fr); }
  body.homepage .hero-expertise { grid-column: 1; grid-row: 2; }
  body.homepage .hero-portrait { grid-column: 1; grid-row: 3; height: auto; padding: 20px 22px; }
  body.homepage .hero-portrait img {
    position: static;
    height: auto;
    margin: 0;
    width: min(100%, calc((100svh - 117px) * .75), 450px);
    max-width: 100%;
    max-height: none;
    -webkit-mask-image: linear-gradient(to right, transparent, #000 8%, #000 92%, transparent),
      linear-gradient(to bottom, transparent, #000 8%, #000 93%, transparent);
    mask-image: linear-gradient(to right, transparent, #000 8%, #000 92%, transparent),
      linear-gradient(to bottom, transparent, #000 8%, #000 93%, transparent);
  }
  body.homepage .hero-sector-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.homepage .whitepaper-shelf { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.homepage .foot-brand .brand-tagline { font-size: 9px; }
}
@media (max-width: 480px) {
  body.homepage .hero-sector-grid, body.homepage .roles-home,
  body.homepage .whitepaper-shelf { grid-template-columns: minmax(0, 1fr); }
  body.homepage .hero-expertise { padding: 24px 22px; }
  body.homepage .hero-sector { padding: 22px; }
}
/* Homepage inquiry and office details. */
body.homepage .home-hub-heading { text-align: center; margin-bottom: 28px; }
body.homepage .home-hub-heading h2 { font-size: clamp(32px, 4vw, 56px); }
body.homepage .home-hub-heading h2 span { color: #007ab3; }
body.homepage .home-contact-tabs { display: flex; width: fit-content; margin: 0 auto 40px; padding: 6px; gap: 6px; background: #f2f7fa; border: 1px solid var(--line); border-radius: 999px; }
body.homepage .home-contact-tabs button { border: 0; padding: 12px 24px; border-radius: 999px; background: transparent; color: #455c70; cursor: pointer; font-weight: 600; }
body.homepage .home-contact-tabs button[aria-selected="true"] { background: #007ab3; color: white; }
body.homepage .home-contact-tabs button:hover { background: #e1eef5; }
body.homepage .home-contact-tabs button[aria-selected="true"]:hover { background: #006a9b; }
body.homepage .home-contact [hidden] { display: none; }
body.homepage .home-demo-layout { display: grid; grid-template-columns: 1.15fr 1fr; gap: 0; align-items: stretch; background: #f4f7fa; border: 1px solid var(--line); border-radius: 16px; overflow: hidden; }
body.homepage .home-demo-form { padding: 36px; background: transparent; border: 0; border-radius: 0; }
body.homepage .home-demo-form h3 { margin-bottom: 10px; }
body.homepage .home-demo-description { margin-bottom: 28px; }
body.homepage .home-demo-solutions { border: 0; margin: 0 0 20px; padding: 0; min-width: 0; }
body.homepage .home-demo-solutions legend { font-weight: 600; margin-bottom: 12px; }
body.homepage .home-demo-solutions > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
body.homepage .home-contact-form .home-demo-solutions label { display: flex; align-items: center; gap: 8px; background: white; border: 1px solid var(--line); border-radius: 6px; padding: 10px; margin: 0; font-size: 12px; cursor: pointer; }
body.homepage .home-contact-form .home-demo-solutions input { width: 16px; height: 16px; padding: 0; margin: 0; flex-shrink: 0; accent-color: #007ab3; }
body.homepage .home-contact-form.home-demo-form textarea { min-height: 80px; }
body.homepage .home-demo-form .button { width: 100%; justify-content: center; }
body.homepage .home-demo-portrait { position: relative; min-width: 0; margin: 0; overflow: hidden; width: 100%; }
body.homepage .home-demo-portrait img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center top; -webkit-mask-image: linear-gradient(to right, transparent 0%, #000 30%); mask-image: linear-gradient(to right, transparent 0%, #000 30%); }
body.homepage #demo-status:not(:empty) { margin-top: 16px; }
@media (max-width: 979px) {
  body.homepage .home-demo-layout { grid-template-columns: 1fr; gap: 16px; }
  body.homepage .home-demo-portrait { max-width: 481px; justify-self: center; }
  body.homepage .home-demo-portrait img { position: static; height: auto; -webkit-mask-image: linear-gradient(to bottom, transparent 0%, #000 12%); mask-image: linear-gradient(to bottom, transparent 0%, #000 12%); }
}
@media (max-width: 480px) {
  body.homepage .home-demo-form { padding: 24px 18px; }
  body.homepage .home-demo-solutions > div { grid-template-columns: 1fr; }
  body.homepage .home-contact-tabs button { padding: 12px 18px; }
}
body.homepage .home-contact-intro { max-width: 72ch; margin-bottom: 40px; }
body.homepage .home-contact-intro p { margin-top: 18px; }
body.homepage .home-contact-layout { display: grid; grid-template-columns: 1.15fr 1fr; gap: 64px; }
body.homepage .home-contact-form, body.homepage .home-contact-offices { min-width: 0; }
body.homepage .home-contact-form h3 { margin-bottom: 24px; }
body.homepage .home-contact-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
body.homepage .home-contact-form label { display: block; margin-bottom: 8px; font-weight: 600; }
body.homepage .home-contact-form :is(input, textarea) { width: 100%; min-width: 0; padding: 12px 14px; margin-bottom: 20px; border: 1px solid var(--line); border-radius: 6px; background: var(--paper, white); color: var(--navy); font: inherit; }
body.homepage .home-contact-form textarea { resize: vertical; min-height: 130px; }
body.homepage .home-contact-form :is(input, textarea)::placeholder { color: #617381; opacity: 1; }
body.homepage .home-contact-form :is(input, textarea):focus-visible { outline: 3px solid var(--blue); outline-offset: 3px; }
body.homepage .home-contact-form .home-contact-note { margin-bottom: 16px; font-size: var(--type-secondary); }
body.homepage #inquiry-status:not(:empty) { margin-top: 16px; }
body.homepage .home-contact-offices { border-top: 1px solid var(--line); padding-top: 24px; }
body.homepage .home-contact-offices h4 { margin: 28px 0 8px; font-size: var(--type-body); }
body.homepage .home-contact-offices .textlink { overflow-wrap: anywhere; }
body.homepage .home-contact-socials { display: flex; flex-wrap: wrap; gap: 24px; margin-top: 32px; }
/* Primary brand color for homepage actions and selected controls. */
html body.homepage .hero-message .button:not(.secondary),
html body.homepage #resources .pill.active,
html body.homepage .home-contact-tabs button[aria-selected="true"],
html body.homepage #contact .actions > .button,
html body.homepage #home-demo-form > .button {
  background: #0097d6 !important;
  border-color: #0097d6 !important;
  color: white !important;
}
html body.homepage .hero-message .button:not(.secondary):hover,
html body.homepage #resources .pill.active:hover,
html body.homepage .home-contact-tabs button[aria-selected="true"]:hover,
html body.homepage #contact .actions > .button:hover,
html body.homepage #home-demo-form > .button:hover {
  background: #0076b0 !important;
  border-color: #0076b0 !important;
}
html body.homepage #contact .actions > .button { border-radius: 999px; }
@media (max-width: 760px) {
  body.homepage .home-contact-layout { grid-template-columns: 1fr; gap: 40px; }
}
@media (max-width: 480px) {
  body.homepage .home-contact-fields { grid-template-columns: 1fr; gap: 0; }
}
