/* Vietnam Champion web palette, sampled from the official logo. */
:root {
  --vc-navy: #001b4f;
  --vc-blue: #006dcc;
  --vc-cyan: #00aeef;
  --vc-red: #ce0f18;
  --vc-red-dark: #a90d15;
  --vc-ink: #152344;
  --vc-muted: #5b6478;
  --vc-surface: #f4f8fc;

  --ag-clr-pr-1: var(--vc-red);
  --ag-clr-h-1: var(--vc-navy);
  --ag-clr-p-1: var(--vc-muted);
  --ag-clr-gd-3: linear-gradient(90deg, var(--vc-cyan) 0%, var(--vc-blue) 100%), #fff;
}

::selection {
  color: #fff;
  background-color: var(--vc-blue);
}

::-moz-selection {
  color: #fff;
  background-color: var(--vc-blue);
}

:where(a, button, input, textarea, select):focus-visible {
  outline: 3px solid color-mix(in srgb, var(--vc-cyan) 72%, white);
  outline-offset: 3px;
}

/* Home 1 and shared inner-page accents. */
.ag-hero-1-bg-shape::after,
.ag-contact-1-right .glow-1,
.ag-contact-1-right .glow-2,
.ag-breadcrumb-area::after {
  background: var(--vc-red);
}

.ag-choose-1-card-single::before {
  background: linear-gradient(
    111.11deg,
    var(--vc-red) 0%,
    rgb(227 6 19 / 0%) 10.21%,
    rgb(227 6 19 / 0%) 50.13%,
    rgb(227 6 19 / 0%) 89.61%,
    var(--vc-red) 100%
  );
}

.ag-step-1-card .icon-x-title .icon {
  background-color: #ef3440;
}

.ag-price-1-card-single .price-btn::before {
  background: linear-gradient(90deg, rgb(227 6 19 / 0%) 0%, var(--vc-red) 50.26%, rgb(227 6 19 / 0%) 100%);
}

.ag-contact-1-right::before {
  background: linear-gradient(180deg, #fff 0%, var(--vc-red) 100%);
}

/* Home 3 components and hover states now use the logo blues. */
.ag-main-navigation:is(.has-header-3) ul li:hover > a,
.ag-projects-3-item .title:hover,
.ag-team-3-member-single .name:hover,
.ag-blog-3-card .title:hover,
.ag-blog-3-card-2 .title:hover,
.ag-home-3:is(.has-dark) .ag-projects-3-item .title:hover,
.ag-home-3:is(.has-dark) .ag-team-3-member-single .name:hover,
.ag-home-3:is(.has-dark) .ag-blog-3-card .title:hover,
.ag-home-3:is(.has-dark) .ag-blog-3-card-2 .title:hover {
  color: var(--vc-blue);
}

.ag-price-3-area {
  background-color: var(--vc-blue);
}

.ag-testimonial-3-slider-btn .single-btn {
  border-color: var(--vc-cyan);
}

.ag-tools-3-favicon-elm {
  background: linear-gradient(90deg, var(--vc-cyan) 0%, var(--vc-blue) 100%);
  box-shadow: inset 0 0 31.579px rgb(255 255 255 / 64%), 0 0 61px rgb(0 174 239 / 44%);
}

.ag-footer-1-area:is(.has-footer-3) .ag-footer-1-widget ul a:hover,
.ag-footer-1-area:is(.has-footer-3) .ag-footer-1-bottom .copyright a,
.ag-home-3:is(.has-dark) .ag-footer-1-bottom .copyright a {
  color: var(--vc-cyan);
}

.ag-footer-1-area:is(.has-footer-3) .ag-footer-1-newsletter-input:focus {
  border-color: var(--vc-cyan);
}

/* Registration is the primary conversion action: red is reserved for action. */
.ag-header-1-main .ag-pr-btn-1 {
  background: var(--vc-red);
  color: #fff;
}

.ag-header-1-main .ag-pr-btn-1::before,
.ag-header-1-main .ag-pr-btn-1 .icon {
  background: var(--vc-red);
}

.ag-header-1-main .ag-pr-btn-1:hover,
.ag-header-1-main .ag-pr-btn-1:hover .icon {
  color: #fff;
  background: var(--vc-red-dark);
}

.ag-footer-1-newsletter-btn .text,
.ag-footer-1-newsletter-btn .icon {
  color: #fff;
  background: var(--vc-red);
}

.ag-footer-1-newsletter-btn .text {
  margin-right: 0;
  border-radius: 10px 0 0 10px;
}

.ag-footer-1-newsletter-btn .icon {
  border-radius: 0 10px 10px 0;
}

.ag-footer-1-newsletter-btn:hover .text,
.ag-footer-1-newsletter-btn:hover .icon {
  color: #fff;
  background: var(--vc-red-dark);
}

/* Article gradients use the complete blue-cyan-red brand spectrum. */
.sn-b-details-content blockquote span::before,
.sn-sidebar-widget .follow-widget a::before {
  background: linear-gradient(94.57deg, var(--vc-cyan) 0%, var(--vc-blue) 52%, var(--vc-red) 100%);
}

/* Balanced Home 1 hero: readable title, clear visual lane, isolated proof card. */
.ag-hero-1-title {
  position: relative;
  z-index: 2;
}

.ag-hero-1-title-elm {
  color: var(--vc-navy);
}

@media (min-width: 1400px) {
  .ag-hero-1-area {
    padding-top: 150px;
  }

  .ag-hero-1-title-elm {
    font-size: clamp(76px, 4.6vw, 88px);
    white-space: nowrap;
  }

  .ag-hero-1-title-elm:nth-child(1) {
    margin-left: -150px;
  }

  .ag-hero-1-title-elm:nth-child(2) {
    margin-left: -75px;
    font-size: clamp(96px, 5.85vw, 112px);
  }

  .ag-hero-1-img {
    width: min(32.5%, 650px);
    right: 19%;
  }

  .ag-hero-1-customers {
    width: 300px;
    right: 42px;
    top: 76px;
    padding: 8px;
    z-index: 3;
  }

  .ag-hero-1-customers .client-wrap {
    padding: 17px;
    margin-bottom: 58px;
  }

  .ag-hero-1-customers .content-wrap {
    padding: 12px;
    padding-top: 0;
  }
}

@media (min-width: 992px) and (max-width: 1399px) {
  .ag-hero-1-title {
    max-width: 68%;
  }

  .ag-hero-1-title-elm {
    font-size: clamp(58px, 5.2vw, 72px);
    white-space: nowrap;
  }

  .ag-hero-1-title-elm:nth-child(2) {
    margin-left: 5vw;
    font-size: clamp(76px, 7vw, 96px);
  }

  .ag-hero-1-img {
    width: 34%;
    right: 16%;
  }

  .ag-hero-1-customers {
    width: 280px;
    right: 24px;
    top: 54px;
    z-index: 3;
  }
}

@media (max-width: 991px) {
  .ag-hero-1-title {
    padding-inline: 4px;
  }

  .ag-hero-1-title-elm {
    overflow-wrap: anywhere;
  }

  .ag-hero-1-customers {
    margin: 32px 20px 0 auto;
  }
}

/* SEO landing pages: use the established brand and theme typography. */
.vc-seo-page {
  color: var(--vc-ink);
  background: #fff;
}

.vc-seo-landing .ag-breadcrumb-area {
  display: none;
}

.vc-seo-shell {
  width: min(1180px, calc(100% - 40px));
  margin-inline: auto;
}

.vc-seo-hero {
  position: relative;
  overflow: hidden;
  padding: clamp(150px, 15vw, 220px) 0 clamp(76px, 8vw, 120px);
  background:
    radial-gradient(circle at 82% 25%, rgb(0 174 239 / 18%), transparent 30%),
    linear-gradient(135deg, var(--vc-navy), #003783 68%, var(--vc-blue));
}

.vc-seo-hero::after {
  content: "";
  position: absolute;
  width: 360px;
  height: 360px;
  right: -140px;
  bottom: -190px;
  border: 52px solid rgb(255 255 255 / 8%);
  border-radius: 50%;
}

.vc-seo-hero .vc-seo-shell {
  position: relative;
  z-index: 1;
}

.vc-seo-eyebrow {
  margin: 0 0 18px;
  color: var(--vc-cyan);
  font: 700 14px/1.2 var(--ag-font-1);
  letter-spacing: .16em;
}

.vc-seo-hero h1 {
  max-width: 900px;
  margin: 0;
  color: #fff;
  font: 700 clamp(46px, 6.2vw, 84px)/.98 var(--ag-font-2);
  letter-spacing: -.045em;
}

.vc-seo-lead {
  max-width: 760px;
  margin: 28px 0 0;
  color: rgb(255 255 255 / 82%);
  font-size: clamp(18px, 2vw, 22px);
  line-height: 1.65;
}

.vc-seo-button {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  margin-top: 36px;
  padding: 16px 22px;
  border-radius: 8px;
  color: #fff;
  background: var(--vc-red);
  font-weight: 700;
  text-decoration: none;
  transition: transform .2s ease, background-color .2s ease;
}

.vc-seo-button:hover {
  color: #fff;
  background: var(--vc-red-dark);
  transform: translateY(-2px);
}

.vc-seo-body {
  padding: clamp(72px, 8vw, 120px) 0;
  background: linear-gradient(180deg, #fff, var(--vc-surface));
}

.vc-seo-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.vc-seo-card {
  padding: clamp(28px, 3vw, 42px);
  border: 1px solid #dce7f2;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 18px 50px rgb(0 27 79 / 7%);
}

.vc-seo-card h2 {
  margin: 0 0 16px;
  color: var(--vc-navy);
  font: 700 clamp(24px, 2.4vw, 32px)/1.12 var(--ag-font-2);
}

.vc-seo-card p {
  margin: 0;
  color: var(--vc-muted);
  line-height: 1.7;
}

.vc-seo-card ul {
  margin: 24px 0 0;
  padding: 0;
  list-style: none;
}

.vc-seo-card li {
  position: relative;
  padding: 10px 0 10px 22px;
  border-top: 1px solid #e7eef6;
}

.vc-seo-card li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 18px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--vc-cyan);
}

.vc-seo-closing {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  margin-top: 32px;
  padding: 28px 32px;
  border-radius: 18px;
  color: #fff;
  background: var(--vc-navy);
}

.vc-seo-closing p {
  max-width: 760px;
  margin: 0;
  color: rgb(255 255 255 / 78%);
}

.vc-seo-closing a {
  flex: 0 0 auto;
  color: var(--vc-cyan);
  font-weight: 700;
}

.vc-stats {
  position: relative;
  z-index: 2;
  margin-top: -36px;
}

.vc-stat-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  overflow: hidden;
  border: 1px solid #dbe7f3;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 24px 70px rgb(0 27 79 / 12%);
}

.vc-stat {
  display: flex;
  min-height: 132px;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  padding: 24px 18px;
  text-align: center;
}

.vc-stat + .vc-stat {
  border-left: 1px solid #e4edf6;
}

.vc-stat strong {
  color: var(--vc-blue);
  font: 700 clamp(34px, 4vw, 52px)/1 var(--ag-font-2);
}

.vc-stat span {
  margin-top: 10px;
  color: var(--vc-muted);
  font-size: 14px;
  line-height: 1.35;
}

.vc-section-heading {
  max-width: 780px;
  margin: 90px 0 34px;
}

.vc-section-heading h2,
.vc-contact-panel h2 {
  margin: 0 0 16px;
  color: var(--vc-navy);
  font: 700 clamp(34px, 5vw, 58px)/1.05 var(--ag-font-2);
}

.vc-section-heading > p:last-child {
  color: var(--vc-muted);
}

.vc-portfolio-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

.vc-portfolio-card {
  min-height: 220px;
  padding: 28px;
  border: 1px solid #dce7f2;
  border-radius: 16px;
  background: #fff;
}

.vc-portfolio-card span {
  color: var(--vc-blue);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .08em;
}

.vc-portfolio-card h3 {
  margin: 14px 0 12px;
  color: var(--vc-navy);
  font: 700 26px/1.1 var(--ag-font-2);
}

.vc-portfolio-card p {
  margin: 0;
  color: var(--vc-muted);
  line-height: 1.65;
}

.vc-contact-panel {
  display: grid;
  grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
  gap: clamp(32px, 6vw, 80px);
  margin-bottom: 34px;
  padding: clamp(28px, 5vw, 64px);
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 22px 60px rgb(0 27 79 / 9%);
}

.vc-contact-panel p {
  color: var(--vc-muted);
  line-height: 1.7;
}

.vc-contact-panel a {
  color: var(--vc-blue);
  font-weight: 700;
}

.vc-contact-form input:not([type="checkbox"]),
.vc-contact-form textarea {
  width: 100%;
  margin-top: 7px;
  padding: 13px 15px;
  border: 1px solid #ccd9e7;
  border-radius: 8px;
  background: #fff;
}

.vc-contact-form input[type="submit"] {
  padding: 14px 20px;
  border: 0;
  border-radius: 8px;
  color: #fff;
  background: var(--vc-red);
  font-weight: 700;
}

.vc-company-footer-meta {
  padding: 24px 0;
  color: rgb(255 255 255 / 76%);
  background: #000d28;
  font-size: 13px;
}

.vc-company-footer-meta .vc-seo-shell {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px 22px;
}

.vc-company-footer-meta strong {
  color: #fff;
}

.vc-company-footer-meta a {
  color: var(--vc-cyan);
}

@media (max-width: 900px) {
  .vc-seo-grid {
    grid-template-columns: 1fr;
  }

  .vc-seo-closing {
    align-items: flex-start;
    flex-direction: column;
  }

  .vc-stat-grid,
  .vc-portfolio-grid,
  .vc-contact-panel {
    grid-template-columns: 1fr;
  }

  .vc-stat + .vc-stat {
    border-top: 1px solid #e4edf6;
    border-left: 0;
  }
}

@media (max-width: 600px) {
  .vc-seo-shell {
    width: min(100% - 28px, 1180px);
  }

  .vc-seo-hero h1 {
    font-size: clamp(40px, 13vw, 60px);
  }
}

/* 2026 profile-led redesign: richer imagery and a clearer technology-showcase rhythm. */
.vc-profile-page .vc-seo-hero {
  min-height: 690px;
  display: flex;
  align-items: center;
  isolation: isolate;
  background:
    radial-gradient(circle at 78% 18%, rgb(0 174 239 / 24%), transparent 30%),
    radial-gradient(circle at 15% 90%, rgb(230 0 18 / 15%), transparent 26%),
    linear-gradient(135deg, #00153f 0%, var(--vc-navy) 48%, #004e9f 100%);
}

.vc-profile-page .vc-seo-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: .16;
  background-image:
    linear-gradient(rgb(255 255 255 / 14%) 1px, transparent 1px),
    linear-gradient(90deg, rgb(255 255 255 / 14%) 1px, transparent 1px);
  background-size: 56px 56px;
  mask-image: linear-gradient(90deg, #000, transparent 76%);
}

.vc-hero-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(390px, .98fr);
  align-items: center;
  gap: clamp(46px, 7vw, 96px);
}

.vc-hero-copy {
  position: relative;
  z-index: 2;
}

.vc-profile-page .vc-seo-hero h1 {
  max-width: 760px;
  font-size: clamp(48px, 5.6vw, 78px);
}

.vc-hero-visual {
  position: relative;
  margin: 0;
  padding: 12px;
  border: 1px solid rgb(255 255 255 / 30%);
  border-radius: 30px;
  background: rgb(255 255 255 / 12%);
  box-shadow: 0 36px 90px rgb(0 7 28 / 38%);
  transform: rotate(1.5deg);
  backdrop-filter: blur(12px);
}

.vc-hero-visual::before {
  content: "";
  position: absolute;
  inset: 18% -9% -10% 20%;
  z-index: -1;
  border-radius: 50%;
  background: rgb(0 174 239 / 32%);
  filter: blur(42px);
}

.vc-hero-visual img {
  display: block;
  width: 100%;
  aspect-ratio: 10 / 7;
  object-fit: cover;
  border-radius: 20px;
}

.vc-hero-chip {
  position: absolute;
  top: -20px;
  left: 28px;
  z-index: 2;
  padding: 11px 16px;
  border-radius: 999px;
  color: var(--vc-navy);
  background: #fff;
  box-shadow: 0 12px 30px rgb(0 7 28 / 20%);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .1em;
}

.vc-profile-page .vc-seo-body {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 100% 15%, rgb(0 174 239 / 7%), transparent 24%),
    linear-gradient(180deg, #fff, #f4f8fc 55%, #fff);
}

.vc-profile-page .vc-seo-grid {
  counter-reset: vc-card;
}

.vc-profile-page .vc-seo-card {
  position: relative;
  overflow: hidden;
  min-height: 300px;
  padding: 42px 34px 34px;
  counter-increment: vc-card;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.vc-profile-page .vc-seo-card::before {
  content: counter(vc-card, decimal-leading-zero);
  position: absolute;
  top: 22px;
  right: 24px;
  color: rgb(0 44 105 / 10%);
  font: 800 54px/1 var(--ag-font-2);
}

.vc-profile-page .vc-seo-card::after {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: linear-gradient(var(--vc-cyan), var(--vc-blue), var(--vc-red));
}

.vc-profile-page .vc-seo-card:hover {
  border-color: rgb(0 126 219 / 28%);
  box-shadow: 0 26px 70px rgb(0 27 79 / 13%);
  transform: translateY(-6px);
}

.vc-visual-story {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
  align-items: center;
  gap: clamp(36px, 7vw, 92px);
  margin: clamp(80px, 10vw, 140px) 0;
}

.vc-visual-story.is-reverse .vc-story-media {
  order: 2;
}

.vc-story-media {
  position: relative;
  overflow: hidden;
  margin: 0;
  padding: 10px;
  border: 1px solid #d8e4ef;
  border-radius: 28px;
  background: #fff;
  box-shadow: 0 30px 80px rgb(0 31 82 / 13%);
}

.vc-story-media::after {
  content: "";
  position: absolute;
  inset: auto 20px 20px auto;
  width: 64px;
  height: 64px;
  border-radius: 18px;
  background: linear-gradient(135deg, var(--vc-cyan), var(--vc-blue));
  mix-blend-mode: multiply;
  opacity: .8;
}

.vc-story-media img {
  display: block;
  width: 100%;
  border-radius: 19px;
}

.vc-story-copy h2 {
  margin: 0 0 22px;
  color: var(--vc-navy);
  font: 700 clamp(36px, 4.5vw, 62px)/1.05 var(--ag-font-2);
}

.vc-story-copy > p:last-of-type {
  color: var(--vc-muted);
  font-size: 18px;
  line-height: 1.8;
}

.vc-story-copy ul {
  display: grid;
  gap: 12px;
  margin: 28px 0 0;
  padding: 0;
  list-style: none;
}

.vc-story-copy li {
  position: relative;
  padding: 12px 18px 12px 46px;
  border: 1px solid #e0e9f2;
  border-radius: 12px;
  color: var(--vc-navy);
  background: #fff;
  font-weight: 650;
}

.vc-story-copy li::before {
  content: "✓";
  position: absolute;
  left: 15px;
  color: var(--vc-blue);
  font-weight: 900;
}

.vc-infographic-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 26px;
  margin: clamp(74px, 9vw, 120px) 0;
}

.vc-infographic-card {
  overflow: hidden;
  margin: 0;
  padding: 10px;
  border: 1px solid #d8e4ef;
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 24px 70px rgb(0 31 82 / 11%);
}

.vc-infographic-card:only-child {
  grid-column: 1 / -1;
}

.vc-infographic-card img {
  display: block;
  width: 100%;
  border-radius: 16px;
}

.vc-infographic-card figcaption {
  padding: 18px 14px 10px;
  color: var(--vc-muted);
  text-align: center;
  font-weight: 650;
}

.vc-profile-page .vc-section-heading {
  margin-top: clamp(86px, 10vw, 140px);
}

.vc-profile-page .vc-portfolio-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 26px;
}

.vc-profile-page .vc-portfolio-card {
  overflow: hidden;
  min-height: 0;
  padding: 0;
  border-radius: 22px;
  box-shadow: 0 22px 60px rgb(0 31 82 / 9%);
  transition: transform .25s ease, box-shadow .25s ease;
}

.vc-profile-page .vc-portfolio-card:hover {
  box-shadow: 0 30px 80px rgb(0 31 82 / 16%);
  transform: translateY(-6px);
}

.vc-portfolio-media {
  overflow: hidden;
  margin: 0;
  background: var(--vc-navy);
}

.vc-portfolio-media img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  transition: transform .45s ease;
}

.vc-portfolio-card:hover .vc-portfolio-media img {
  transform: scale(1.035);
}

.vc-portfolio-content {
  padding: 28px 30px 32px;
}

.vc-profile-page .vc-portfolio-card h3 {
  font-size: clamp(28px, 3vw, 38px);
}

.vc-profile-page .vc-contact-panel {
  position: relative;
  overflow: hidden;
  border: 1px solid #dce7f2;
}

.vc-profile-page .vc-contact-panel::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 5px;
  background: linear-gradient(90deg, var(--vc-blue), var(--vc-cyan), var(--vc-red));
}

@media (max-width: 1024px) {
  .vc-profile-page .vc-seo-hero {
    min-height: auto;
  }

  .vc-hero-layout,
  .vc-visual-story {
    grid-template-columns: 1fr;
  }

  .vc-hero-visual {
    max-width: 760px;
    transform: none;
  }

  .vc-visual-story.is-reverse .vc-story-media {
    order: 0;
  }
}

@media (max-width: 900px) {
  .vc-profile-page .vc-stat-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .vc-profile-page .vc-stat + .vc-stat {
    border-top: 1px solid #e4edf6;
    border-left: 0;
  }

  .vc-profile-page .vc-portfolio-grid,
  .vc-infographic-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 600px) {
  .vc-profile-page .vc-seo-hero {
    padding-top: 128px;
  }

  .vc-profile-page .vc-seo-hero h1 {
    font-size: clamp(40px, 12vw, 56px);
  }

  .vc-hero-layout {
    gap: 52px;
  }

  .vc-hero-visual {
    padding: 7px;
    border-radius: 20px;
  }

  .vc-hero-visual img {
    border-radius: 14px;
  }

  .vc-hero-chip {
    left: 18px;
  }

  .vc-profile-page .vc-seo-card {
    min-height: 0;
    padding: 36px 26px 28px;
  }

  .vc-profile-page .vc-stat-grid {
    grid-template-columns: 1fr 1fr;
  }

  .vc-profile-page .vc-stat:last-child:nth-child(odd) {
    grid-column: 1 / -1;
  }

  .vc-visual-story {
    margin-block: 70px;
  }

  .vc-portfolio-content {
    padding: 24px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .vc-profile-page .vc-seo-card,
  .vc-profile-page .vc-portfolio-card,
  .vc-portfolio-media img {
    transition: none;
  }
}

/* Align the custom pages to the visual system already used on the homepage. */
.vc-profile-page .vc-seo-hero {
  min-height: 680px;
  border-radius: 0 0 60px 60px;
  background: radial-gradient(circle at 80% 20%, rgb(0 174 239 / 18%), transparent 34%), var(--vc-navy);
}

.vc-profile-page .vc-seo-hero::before {
  opacity: .1;
  background: radial-gradient(circle at 50% 50%, #fff 0 1px, transparent 1.5px);
  background-size: 28px 28px;
  mask-image: linear-gradient(90deg, transparent, #000 65%, transparent);
}

.vc-profile-page .vc-seo-hero h1 {
  font-family: var(--ag-font-1);
  font-size: clamp(48px, 5vw, 70px);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -.03em;
}

.vc-profile-page .vc-seo-lead {
  font-family: var(--ag-font-1);
}

.vc-profile-page .vc-hero-visual {
  padding: 6px;
  border: 0;
  border-radius: 32px;
  background: rgb(255 255 255 / 30%);
  box-shadow: none;
  transform: none;
  backdrop-filter: none;
}

.vc-profile-page .vc-hero-visual::before {
  display: none;
}

.vc-profile-page .vc-hero-visual img {
  border-radius: 27px;
}

.vc-profile-page .vc-hero-chip {
  border-radius: 8px;
  color: #fff;
  background: var(--vc-navy);
  box-shadow: none;
}

.vc-profile-page .vc-seo-body {
  background: #fff;
}

.vc-profile-page .vc-seo-card {
  border: 0;
  border-radius: 24px;
  background: #f2f2f2;
  box-shadow: none;
  transition: transform .25s ease, background-color .25s ease;
}

.vc-profile-page .vc-seo-card::after {
  width: 6px;
  background: var(--vc-red);
}

.vc-profile-page .vc-seo-card:hover {
  border-color: transparent;
  background: #e9e9e9;
  box-shadow: none;
  transform: translateY(-3px);
}

.vc-profile-page .vc-seo-card h2,
.vc-section-heading h2,
.vc-contact-panel h2 {
  color: #000;
  font-family: var(--ag-font-1);
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: -.03em;
}

.vc-profile-page .vc-story-media {
  padding: 6px;
  border: 0;
  border-radius: 32px;
  box-shadow: none;
}

.vc-profile-page .vc-story-media::after {
  display: none;
}

.vc-profile-page .vc-story-media img {
  border-radius: 27px;
}

.vc-profile-page .vc-story-copy h2 {
  color: #000;
  font: 600 clamp(36px, 4vw, 56px)/1.2 var(--ag-font-1);
}

.vc-profile-page .vc-story-copy li {
  border: 0;
  border-radius: 16px;
  color: #000;
  background: #f0f0f0;
}

.vc-profile-page .vc-visual-story.is-reverse {
  margin-inline: -12px;
  padding: clamp(34px, 6vw, 76px);
  border-radius: 48px;
  background: #09090b;
}

.vc-profile-page .vc-visual-story.is-reverse .vc-story-copy h2,
.vc-profile-page .vc-visual-story.is-reverse .vc-seo-eyebrow {
  color: #fff;
}

.vc-profile-page .vc-visual-story.is-reverse .vc-story-copy > p:last-of-type {
  color: rgb(255 255 255 / 72%);
}

.vc-profile-page .vc-visual-story.is-reverse .vc-story-copy li {
  color: #fff;
  background: #18181b;
}

.vc-profile-page .vc-infographic-card {
  padding: 6px;
  border: 0;
  border-radius: 32px;
  background: #fff;
  box-shadow: none;
}

.vc-profile-page .vc-infographic-card img {
  border-radius: 27px;
}

.vc-profile-page .vc-portfolio-card {
  padding: 6px;
  border: 0;
  border-radius: 32px;
  box-shadow: none;
}

.vc-profile-page .vc-portfolio-card:hover {
  box-shadow: none;
  transform: translateY(-3px);
}

.vc-profile-page .vc-portfolio-media,
.vc-profile-page .vc-portfolio-media img {
  border-radius: 27px;
}

.vc-profile-page .vc-contact-panel {
  border: 0;
  border-radius: 32px;
  background: #f1f1f1;
  box-shadow: none;
}

.vc-profile-page .vc-seo-closing {
  padding: 38px 42px;
  border-radius: 32px;
  background: #09090b;
}

.vc-profile-page .vc-stat-grid {
  border: 0;
  border-radius: 24px;
  background: #e5e5e5;
  box-shadow: none;
}

@media (max-width: 1024px) {
  .vc-profile-page .vc-seo-hero {
    border-radius: 0 0 40px 40px;
  }
}

@media (max-width: 600px) {
  .vc-profile-page .vc-visual-story.is-reverse {
    margin-inline: 0;
    padding: 26px 18px;
    border-radius: 32px;
  }
}

/* Home 3 hero adapted for the Vietnam Champion full-screen background video. */
.ag-hero-3-area {
  height: auto;
  min-height: 100svh;
  padding-top: 118px;
  padding-bottom: 72px;
  background-color: var(--vc-navy);
}

.ag-hero-3-area > .container {
  min-height: calc(100svh - 190px);
  display: flex;
  align-items: center;
  justify-content: center;
}

.ag-hero-3-bg-shape::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgb(0 20 47 / 18%) 0%, rgb(0 13 34 / 38%) 100%);
  pointer-events: none;
}

.ag-hero-3-bg-shape video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ag-hero-3-top {
  display: none !important;
}

.ag-hero-3-title span {
  color: var(--vc-cyan);
}

/* The theme's per-character GSAP intro can remain half-finished when the
   WordPress admin bar changes the first viewport paint. Keep the heading
   readable at all times while preserving the rest of the hero motion. */
.ag-hero-3-title .char {
  opacity: 1 !important;
  transform: none !important;
}

.ag-hero-3-wrap {
  position: relative;
  z-index: 1;
  text-shadow: 0 3px 24px rgb(0 8 30 / 28%);
}

@media (max-width: 991px) {
  .ag-hero-3-area {
    padding-top: 108px;
    padding-bottom: 54px;
  }

  .ag-hero-3-area > .container {
    min-height: calc(100svh - 162px);
  }
}

/* UI/UX hardening for Vietnam Champion content pages (320px–1440px).
   These final overrides intentionally consolidate the earlier profile styles
   without changing the homepage's established design language. */
.vc-seo-page,
.vc-seo-page * {
  box-sizing: border-box;
}

.vc-seo-page {
  overflow: clip;
  font-family: var(--ag-font-1), "Segoe UI", Arial, sans-serif;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

.vc-seo-page img {
  max-width: 100%;
  height: auto;
}

.vc-seo-page :where(h1, h2, h3, p, li, a, span) {
  overflow-wrap: break-word;
}

.vc-seo-shell {
  width: min(1180px, calc(100% - clamp(28px, 5vw, 64px)));
}

.vc-profile-page .vc-seo-hero {
  min-height: clamp(600px, 74vh, 760px);
  padding-block: clamp(150px, 13vw, 194px) clamp(76px, 8vw, 112px);
}

.vc-profile-page .vc-seo-hero h1 {
  max-width: 13ch;
  font-size: clamp(46px, 5vw, 70px);
  line-height: 1.08;
  letter-spacing: -.035em;
  text-wrap: balance;
}

.vc-profile-page .vc-seo-lead {
  max-width: 64ch;
  margin-top: 24px;
  font-size: clamp(17px, 1.45vw, 21px);
  line-height: 1.65;
}

.vc-seo-eyebrow {
  line-height: 1.45;
}

.vc-seo-button {
  min-height: 52px;
  justify-content: center;
  margin-top: 32px;
  padding: 14px 22px;
  border-radius: 10px;
  line-height: 1.35;
}

.vc-hero-layout {
  grid-template-columns: minmax(0, 1.04fr) minmax(360px, .96fr);
  gap: clamp(40px, 6vw, 84px);
}

.vc-profile-page .vc-hero-visual {
  width: 100%;
  max-width: 560px;
  justify-self: end;
}

.vc-profile-page .vc-hero-visual img {
  aspect-ratio: 10 / 7;
  object-position: center;
}

.vc-profile-page .vc-hero-chip {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  top: -18px;
}

.vc-profile-page .vc-seo-body {
  padding-block: clamp(68px, 7vw, 108px);
}

.vc-profile-page .vc-seo-grid {
  align-items: stretch;
  gap: clamp(18px, 2vw, 26px);
}

.vc-profile-page .vc-seo-card {
  min-height: 280px;
  padding: clamp(34px, 3vw, 42px) clamp(26px, 2.5vw, 36px);
}

.vc-profile-page .vc-seo-card h2 {
  max-width: 13ch;
  padding-right: 34px;
  font-size: clamp(24px, 2vw, 31px);
  line-height: 1.15;
  text-wrap: balance;
}

.vc-profile-page .vc-seo-card p,
.vc-profile-page .vc-seo-card li,
.vc-story-copy p,
.vc-profile-page .vc-portfolio-card p,
.vc-contact-panel p {
  font-size: 16px;
  line-height: 1.72;
}

.vc-profile-page .vc-seo-card li {
  padding-block: 11px;
}

.vc-profile-page .vc-stat-grid {
  isolation: isolate;
}

.vc-profile-page .vc-stat {
  min-width: 0;
}

.vc-profile-page .vc-stat strong {
  font-size: clamp(30px, 3.4vw, 48px);
  line-height: 1.05;
}

.vc-profile-page .vc-stat span {
  max-width: 16ch;
  font-size: 14px;
}

.vc-profile-page .vc-visual-story {
  gap: clamp(36px, 6vw, 82px);
  margin-block: clamp(72px, 9vw, 124px);
}

.vc-profile-page .vc-story-copy {
  min-width: 0;
}

.vc-profile-page .vc-story-copy h2,
.vc-profile-page .vc-section-heading h2,
.vc-profile-page .vc-contact-panel h2 {
  line-height: 1.1;
  text-wrap: balance;
}

.vc-profile-page .vc-story-copy li {
  min-height: 50px;
  display: flex;
  align-items: center;
}

.vc-profile-page .vc-story-media,
.vc-profile-page .vc-infographic-card,
.vc-profile-page .vc-portfolio-card,
.vc-profile-page .vc-contact-panel {
  isolation: isolate;
}

.vc-profile-page .vc-story-media img {
  aspect-ratio: 16 / 10;
  object-fit: cover;
}

.vc-profile-page .vc-infographic-card img {
  object-fit: contain;
  background: #fff;
}

.vc-profile-page .vc-infographic-card figcaption {
  padding: 16px 16px 12px;
  line-height: 1.5;
}

.vc-profile-page .vc-section-heading {
  margin-top: clamp(74px, 9vw, 124px);
  margin-bottom: clamp(28px, 4vw, 42px);
}

.vc-profile-page .vc-section-heading h2 {
  font-size: clamp(34px, 4.5vw, 56px);
}

.vc-profile-page .vc-portfolio-grid {
  gap: clamp(18px, 2.2vw, 28px);
}

.vc-profile-page .vc-portfolio-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  background: #fff;
}

.vc-profile-page .vc-portfolio-content {
  flex: 1;
  padding: clamp(22px, 2.5vw, 30px);
}

.vc-profile-page .vc-portfolio-card h3 {
  margin-top: 12px;
  font-size: clamp(26px, 2.5vw, 36px);
  line-height: 1.08;
  text-wrap: balance;
}

.vc-profile-page .vc-contact-panel {
  align-items: start;
  padding: clamp(28px, 5vw, 58px);
}

.vc-contact-form :where(label, input, textarea, select) {
  font-family: inherit;
}

.vc-contact-form label {
  display: block;
  color: var(--vc-navy);
  font-weight: 650;
}

.vc-contact-form input:not([type="checkbox"]),
.vc-contact-form textarea,
.vc-contact-form select {
  min-height: 48px;
  font-size: 16px;
  line-height: 1.5;
}

.vc-contact-form textarea {
  min-height: 140px;
  resize: vertical;
}

.vc-contact-form input[type="submit"] {
  min-height: 48px;
  cursor: pointer;
}

.vc-profile-page .vc-seo-closing {
  min-height: 130px;
  padding: clamp(28px, 4vw, 42px);
}

.vc-profile-page .vc-seo-closing p {
  font-size: clamp(16px, 1.5vw, 19px);
  line-height: 1.65;
}

.vc-profile-page .vc-seo-closing a {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
}

.vc-seo-page :where(a, button, input, textarea, select):focus-visible {
  outline: 3px solid var(--vc-cyan);
  outline-offset: 3px;
}

@media (hover: hover) and (pointer: fine) {
  .vc-profile-page .vc-seo-button:hover,
  .vc-profile-page .vc-seo-card:hover,
  .vc-profile-page .vc-portfolio-card:hover {
    will-change: transform;
  }
}

@media (min-width: 1280px) {
  .vc-profile-page .vc-seo-grid:has(.vc-seo-card:nth-child(4)) {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .vc-profile-page .vc-seo-grid:has(.vc-seo-card:nth-child(4)) .vc-seo-card {
    padding-inline: 28px;
  }
}

@media (max-width: 1100px) {
  .vc-profile-page .vc-seo-hero {
    min-height: auto;
    padding-top: 152px;
  }

  .vc-hero-layout {
    grid-template-columns: minmax(0, 1fr) minmax(330px, .82fr);
    gap: 38px;
  }

  .vc-profile-page .vc-seo-hero h1 {
    font-size: clamp(42px, 5.7vw, 62px);
  }

  .vc-profile-page .vc-seo-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .vc-profile-page .vc-seo-card {
    min-height: 0;
  }
}

@media (max-width: 820px) {
  .vc-profile-page .vc-seo-hero {
    padding-block: 132px 78px;
    border-radius: 0 0 36px 36px;
  }

  .vc-hero-layout,
  .vc-profile-page .vc-visual-story,
  .vc-profile-page .vc-contact-panel {
    grid-template-columns: 1fr;
  }

  .vc-profile-page .vc-seo-hero h1 {
    max-width: 15ch;
    font-size: clamp(42px, 8vw, 58px);
  }

  .vc-profile-page .vc-hero-visual {
    max-width: 680px;
    justify-self: stretch;
  }

  .vc-profile-page .vc-visual-story.is-reverse .vc-story-media {
    order: 0;
  }

  .vc-profile-page .vc-stat-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .vc-profile-page .vc-stat:nth-child(odd) {
    border-left: 0;
  }

  .vc-profile-page .vc-stat:nth-child(n + 3) {
    border-top: 1px solid #d6d6d6;
  }

  .vc-profile-page .vc-infographic-grid,
  .vc-profile-page .vc-portfolio-grid {
    grid-template-columns: 1fr;
  }

  .vc-profile-page .vc-portfolio-media img {
    aspect-ratio: 16 / 9;
  }

  .vc-profile-page .vc-seo-closing {
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (max-width: 620px) {
  .vc-seo-shell {
    width: min(100% - 28px, 1180px);
  }

  .vc-profile-page .vc-seo-hero {
    padding-block: 116px 64px;
    border-radius: 0 0 28px 28px;
  }

  .vc-hero-layout {
    gap: 46px;
  }

  .vc-profile-page .vc-seo-eyebrow {
    margin-bottom: 14px;
    font-size: 12px;
    letter-spacing: .12em;
  }

  .vc-profile-page .vc-seo-hero h1 {
    font-size: clamp(37px, 11.4vw, 50px);
    line-height: 1.08;
    letter-spacing: -.03em;
  }

  .vc-profile-page .vc-seo-lead {
    margin-top: 20px;
    font-size: 17px;
    line-height: 1.62;
  }

  .vc-seo-button {
    width: 100%;
    margin-top: 26px;
    text-align: center;
  }

  .vc-profile-page .vc-hero-visual {
    padding: 5px;
    border-radius: 22px;
  }

  .vc-profile-page .vc-hero-visual img {
    border-radius: 18px;
  }

  .vc-profile-page .vc-hero-chip {
    left: 14px;
    max-width: calc(100% - 28px);
    white-space: nowrap;
  }

  .vc-stats {
    margin-top: -22px;
  }

  .vc-profile-page .vc-stat {
    min-height: 108px;
    padding: 20px 12px;
  }

  .vc-profile-page .vc-stat strong {
    font-size: clamp(28px, 9vw, 38px);
  }

  .vc-profile-page .vc-stat span {
    font-size: 12px;
  }

  .vc-profile-page .vc-seo-body {
    padding-block: 58px 68px;
  }

  .vc-profile-page .vc-seo-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .vc-profile-page .vc-seo-card {
    padding: 32px 24px 26px;
    border-radius: 20px;
  }

  .vc-profile-page .vc-seo-card::before {
    top: 18px;
    right: 18px;
    font-size: 46px;
  }

  .vc-profile-page .vc-seo-card h2 {
    max-width: 14ch;
    padding-right: 30px;
    font-size: clamp(23px, 7vw, 29px);
  }

  .vc-profile-page .vc-visual-story {
    gap: 28px;
    margin-block: 62px;
  }

  .vc-profile-page .vc-story-media,
  .vc-profile-page .vc-infographic-card,
  .vc-profile-page .vc-portfolio-card,
  .vc-profile-page .vc-contact-panel {
    border-radius: 22px;
  }

  .vc-profile-page .vc-story-media img,
  .vc-profile-page .vc-infographic-card img,
  .vc-profile-page .vc-portfolio-media,
  .vc-profile-page .vc-portfolio-media img {
    border-radius: 17px;
  }

  .vc-profile-page .vc-story-copy h2,
  .vc-profile-page .vc-section-heading h2,
  .vc-profile-page .vc-contact-panel h2 {
    font-size: clamp(31px, 9vw, 42px);
  }

  .vc-profile-page .vc-story-copy li {
    align-items: flex-start;
    padding: 12px 14px 12px 42px;
  }

  .vc-profile-page .vc-infographic-grid {
    gap: 18px;
    margin-block: 60px;
  }

  .vc-profile-page .vc-section-heading {
    margin-top: 64px;
  }

  .vc-profile-page .vc-portfolio-content {
    padding: 22px 20px 24px;
  }

  .vc-profile-page .vc-portfolio-card h3 {
    font-size: clamp(25px, 8vw, 32px);
  }

  .vc-profile-page .vc-contact-panel {
    gap: 26px;
    padding: 28px 20px;
  }

  .vc-profile-page .vc-seo-closing {
    min-height: 0;
    margin-top: 24px;
    padding: 26px 22px;
    border-radius: 22px;
  }

  .vc-profile-page .vc-seo-closing a {
    white-space: normal;
  }

  .vc-company-footer-meta .vc-seo-shell {
    align-items: flex-start;
    flex-direction: column;
    gap: 8px;
  }
}

/* Global reading rhythm ---------------------------------------------------
   Keep the established typefaces and visual language, but give Vietnamese
   accents, multi-line headings and dense cards enough vertical breathing
   room across Elementor, editorial and custom VC pages. */
body {
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

body :where(p, li) {
  line-height: 1.68;
}

body :where(h1, h2, h3, h4, h5, h6) {
  text-wrap: balance;
}

body :where(h1) {
  line-height: 1.08;
}

body :where(h2) {
  line-height: 1.14;
}

body :where(h3, h4) {
  line-height: 1.28;
}

.elementor-widget-text-editor :where(p, ul, ol),
.elementor-widget-theme-post-content :where(p, ul, ol),
.entry-content :where(p, ul, ol) {
  margin-block: 0 1.15em;
}

.elementor-widget-text-editor :where(li + li),
.elementor-widget-theme-post-content :where(li + li),
.entry-content :where(li + li) {
  margin-top: .48em;
}

/* Homepage Pilot cards: improve hierarchy and remove the cramped template
   defaults visible around the card headings, plan copy and feature lists. */
.ag-price-1-area {
  padding-block: clamp(78px, 8vw, 116px);
}

.ag-price-1-wrap {
  align-items: start;
  column-gap: clamp(30px, 4vw, 58px);
}

.ag-price-1-sec-title {
  margin-bottom: clamp(28px, 3vw, 42px);
}

.ag-price-1-sec-title-text {
  line-height: 1.08 !important;
  letter-spacing: -.035em;
}

.ag-price-1-left > p,
.ag-price-1-left .ag-p-1 {
  line-height: 1.68;
}

.ag-price-1-tabs-btn {
  margin-top: clamp(30px, 4vw, 44px);
}

.ag-price-1-card {
  align-items: stretch;
  gap: clamp(16px, 2vw, 24px);
}

.ag-price-1-card-single {
  height: 100%;
  padding-bottom: clamp(26px, 3vw, 38px);
}

.ag-price-1-card-single .card-top {
  padding: clamp(24px, 2.6vw, 32px);
}

.ag-price-1-card-single .title {
  margin-bottom: 22px;
  line-height: 1.3;
}

.ag-price-1-card-single .price {
  line-height: 1.08;
}

.ag-price-1-card-single .plan {
  margin: 24px 0 18px;
  line-height: 1.62;
}

.ag-price-1-card-single .price-features {
  display: grid;
  gap: 11px;
}

.ag-price-1-card-single .price-features li {
  line-height: 1.5;
}

.ag-price-1-card-single .price-btn {
  min-height: 52px;
  line-height: 1.35;
}

@media (max-width: 991px) {
  .ag-price-1-wrap {
    row-gap: 46px;
  }

  .ag-price-1-card {
    gap: 18px;
  }
}

@media (max-width: 767px) {
  body :where(p, li) {
    line-height: 1.62;
  }

  .ag-price-1-area {
    padding-block: 64px;
  }

  .ag-price-1-sec-title-text {
    line-height: 1.12 !important;
  }

  .ag-price-1-card-single .card-top {
    padding: 22px 20px;
  }

  .ag-price-1-card-single .plan {
    margin-top: 20px;
  }
}

/* Editorial article polish */
.single-post #sn-b-thumbnail {
  padding: 0;
  background: var(--vc-navy);
}

.single-post #sn-b-thumbnail .b-thumbnail-wrap {
  width: 100%;
  max-width: none;
  margin: 0;
}

.single-post #sn-b-thumbnail .b-thumbnail {
  isolation: isolate;
  position: relative;
  min-height: clamp(500px, 64vh, 690px);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border-radius: 0;
  background-color: var(--vc-navy);
  background-position: center;
  background-size: cover;
}

.single-post #sn-b-thumbnail .b-thumbnail::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background:
    linear-gradient(90deg, rgb(0 17 50 / 88%) 0%, rgb(0 27 79 / 68%) 50%, rgb(0 17 50 / 36%) 100%),
    linear-gradient(0deg, rgb(0 12 38 / 76%) 0%, transparent 52%);
}

.single-post #sn-b-thumbnail .b-thumbnail h1 {
  width: min(100% - 48px, 980px);
  margin: 0 auto;
  padding: 176px 0 128px;
  color: #fff;
  font: 700 clamp(48px, 6.2vw, 92px)/1.03 var(--ag-font-2), sans-serif;
  letter-spacing: -.045em;
  text-align: center;
  text-wrap: balance;
  text-shadow: 0 4px 28px rgb(0 0 0 / 28%);
}

.single-post #sn-b-thumbnail .b-thumb-meta {
  z-index: 2;
  max-width: 760px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px 28px;
  align-items: center;
  justify-content: center;
  padding: 18px 28px 20px;
  border-radius: 18px 18px 0 0;
  background: rgb(255 255 255 / 94%);
  backdrop-filter: blur(14px);
}

.single-post #sn-b-thumbnail .b-thumb-meta :where(a, .sn-b-date, .sn-b-reading) {
  margin: 0;
  color: #425066;
  font-size: 15px;
  font-weight: 650;
  text-decoration: none;
}

.single-post #sn-b-thumbnail .b-thumb-meta i {
  margin-right: 7px;
  color: var(--vc-blue);
}

.single-post #sn-b-details {
  background: #fff;
}

.single-post #comments,
.single-post .art-blog-details-author,
.single-post .sn-b-details-author,
.single-post .sn-blog-details-author {
  display: none !important;
}

.single-post .sn-b-details-section .entry-content,
.single-post .sn-b-details-section .sn-blog-details-content {
  color: #3f4d60;
  font-size: 18px;
  line-height: 1.82;
}

.single-post .sn-b-details-section :where(h2, h3) {
  color: var(--vc-navy);
  font-family: var(--ag-font-2), sans-serif;
}

.single-post .sn-b-details-section h2 {
  margin: 52px 0 18px;
  font-size: clamp(28px, 3vw, 42px);
}

.single-post .sn-b-details-section h3 {
  margin: 34px 0 12px;
  font-size: clamp(22px, 2.2vw, 30px);
}

.single-post .sn-b-details-section figure {
  overflow: hidden;
  margin: 42px 0;
  border-radius: 24px;
  background: #eef4f8;
}

.single-post .sn-b-details-section figure img {
  width: 100%;
  height: auto;
}

.single-post .sn-b-details-section figcaption {
  padding: 12px 18px 16px;
  color: #637186;
  font-size: 14px;
  text-align: center;
}

.vc-article-lead {
  color: var(--vc-navy);
  font-size: clamp(20px, 2vw, 25px);
  font-weight: 550;
  line-height: 1.6;
}

.vc-article-callout {
  margin-top: 52px;
  padding: clamp(26px, 4vw, 42px);
  border-left: 5px solid var(--vc-red);
  border-radius: 0 24px 24px 0;
  background: #eef6fc;
}

.vc-article-callout h2 {
  margin-top: 0 !important;
}

.vc-article-callout a {
  display: inline-flex;
  min-height: 46px;
  align-items: center;
  padding: 10px 16px;
  border-radius: 9px;
  color: #fff;
  background: var(--vc-blue);
  font-weight: 750;
  text-decoration: none;
}

@media (max-width: 767px) {
  .single-post #sn-b-thumbnail {
    padding: 0;
  }

  .single-post #sn-b-thumbnail .b-thumbnail {
    min-height: 500px;
    border-radius: 0;
    background-position: center;
  }

  .single-post #sn-b-thumbnail .b-thumbnail h1 {
    width: min(100% - 32px, 640px);
    padding: 138px 0 126px;
    font-size: clamp(38px, 11.5vw, 58px);
  }

  .single-post #sn-b-thumbnail .b-thumb-meta {
    width: calc(100% - 24px);
    gap: 8px 16px;
    padding: 15px 14px 16px;
  }

  .single-post #sn-b-thumbnail .b-thumb-meta :where(a, .sn-b-date, .sn-b-reading) {
    font-size: 13px;
  }

  .single-post .sn-b-details-section .entry-content,
  .single-post .sn-b-details-section .sn-blog-details-content {
    font-size: 17px;
    line-height: 1.76;
  }
}

/* Knowledge hub --------------------------------------------------------- */
.blog .ag-header-1-area,
.archive .ag-header-1-area,
.single-post .ag-header-1-area {
  z-index: 1000;
}

@media (max-width: 1199px) {
  .wa-offcanvas-area .wa-offcanvas-top {
    display: none !important;
  }

  .wa-offcanvas-area .wa-offcanvas-wrap {
    padding-top: 96px;
  }
}

.vc-knowledge-hub {
  color: var(--vc-navy);
  background: #f6f8fb;
}

.vc-knowledge-intro {
  padding: clamp(72px, 8vw, 112px) 0 clamp(46px, 6vw, 76px);
  background:
    radial-gradient(circle at 88% 18%, rgb(0 169 230 / 16%), transparent 26%),
    linear-gradient(135deg, #fff 0%, #f2f7fc 100%);
}

.vc-knowledge-eyebrow {
  margin: 0 0 18px;
  color: var(--vc-blue);
  font: 700 13px/1.4 var(--ag-font-1), sans-serif;
  letter-spacing: .12em;
}

.vc-knowledge-intro-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr);
  gap: clamp(28px, 6vw, 80px);
  align-items: end;
}

.vc-knowledge-intro h2 {
  max-width: 820px;
  margin: 0;
  color: var(--vc-navy);
  font: 700 clamp(38px, 5vw, 72px)/1.04 var(--ag-font-2), sans-serif;
  letter-spacing: -.035em;
}

.vc-knowledge-intro-grid > p {
  margin: 0;
  color: var(--vc-muted);
  font-size: clamp(16px, 1.35vw, 19px);
  line-height: 1.72;
}

.vc-knowledge-topics {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 36px;
}

.vc-knowledge-topics a {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  padding: 10px 16px;
  border: 1px solid #d8e4ef;
  border-radius: 999px;
  color: var(--vc-navy);
  background: #fff;
  font-weight: 650;
  text-decoration: none;
  transition: .2s ease;
}

.vc-knowledge-topics a:hover,
.vc-knowledge-topics a:focus-visible {
  border-color: var(--vc-blue);
  color: #fff;
  background: var(--vc-blue);
}

.vc-knowledge-feed {
  padding: clamp(58px, 7vw, 96px) 0;
}

.vc-knowledge-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(22px, 3vw, 38px);
}

.vc-knowledge-card {
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(180px, .82fr) minmax(0, 1.18fr);
  min-height: 310px;
  border: 1px solid #e1e9f1;
  border-radius: 26px;
  background: #fff;
  box-shadow: 0 18px 55px rgb(0 31 78 / 7%);
}

.vc-knowledge-card.is-featured {
  grid-column: 1 / -1;
  grid-template-columns: minmax(0, 1.15fr) minmax(360px, .85fr);
  min-height: 460px;
}

.vc-knowledge-media {
  position: relative;
  min-height: 100%;
  overflow: hidden;
  background: linear-gradient(145deg, var(--vc-navy), var(--vc-blue));
}

.vc-knowledge-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .45s ease;
}

.vc-knowledge-card:hover .vc-knowledge-media img {
  transform: scale(1.035);
}

.vc-knowledge-placeholder {
  height: 100%;
  display: grid;
  place-items: center;
  color: rgb(255 255 255 / 82%);
  font: 800 64px/1 var(--ag-font-2), sans-serif;
}

.vc-knowledge-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(28px, 4vw, 48px);
}

.vc-knowledge-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  margin-bottom: 18px;
  color: #607086;
  font-size: 13px;
  font-weight: 650;
  letter-spacing: .035em;
  text-transform: uppercase;
}

.vc-knowledge-card h3 {
  margin: 0 0 16px;
  font: 700 clamp(24px, 2.5vw, 38px)/1.16 var(--ag-font-2), sans-serif;
}

.vc-knowledge-card:not(.is-featured) h3 {
  font-size: clamp(21px, 2vw, 29px);
}

.vc-knowledge-card h3 a {
  color: var(--vc-navy);
  text-decoration: none;
}

.vc-knowledge-card p {
  margin: 0 0 24px;
  color: var(--vc-muted);
  font-size: 16px;
  line-height: 1.7;
}

.vc-knowledge-link {
  width: fit-content;
  display: inline-flex;
  gap: 9px;
  align-items: center;
  margin-top: auto;
  color: var(--vc-blue);
  font-weight: 750;
  text-decoration: none;
}

.vc-knowledge-pagination {
  margin-top: 42px;
}

.vc-knowledge-cta {
  padding: 0 0 clamp(72px, 9vw, 120px);
}

.vc-knowledge-cta-inner {
  display: flex;
  gap: 28px;
  align-items: center;
  justify-content: space-between;
  padding: clamp(30px, 5vw, 56px);
  border-radius: 30px;
  color: #fff;
  background: linear-gradient(120deg, #001b4f 0%, #003d82 65%, #006dcc 100%);
}

.vc-knowledge-cta h2 {
  max-width: 700px;
  margin: 0;
  color: #fff;
  font: 700 clamp(28px, 3.8vw, 48px)/1.12 var(--ag-font-2), sans-serif;
}

.vc-knowledge-cta .vc-knowledge-eyebrow {
  color: #6bd4ff;
}

.vc-knowledge-cta a {
  min-height: 52px;
  flex: 0 0 auto;
  display: inline-flex;
  gap: 10px;
  align-items: center;
  justify-content: center;
  padding: 13px 20px;
  border-radius: 10px;
  color: #fff;
  background: var(--vc-red);
  font-weight: 750;
  text-decoration: none;
}

@media (max-width: 991px) {
  .vc-knowledge-intro-grid,
  .vc-knowledge-card.is-featured {
    grid-template-columns: 1fr;
  }

  .vc-knowledge-grid {
    grid-template-columns: 1fr;
  }

  .vc-knowledge-card.is-featured {
    min-height: 0;
  }

  .vc-knowledge-card.is-featured .vc-knowledge-media {
    min-height: 360px;
  }
}

@media (max-width: 620px) {
  .vc-knowledge-intro {
    padding-top: 58px;
  }

  .vc-knowledge-intro h2 {
    font-size: clamp(34px, 10vw, 46px);
  }

  .vc-knowledge-topics {
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-bottom: 8px;
    scrollbar-width: thin;
  }

  .vc-knowledge-topics a {
    flex: 0 0 auto;
  }

  .vc-knowledge-card,
  .vc-knowledge-card.is-featured {
    grid-template-columns: 1fr;
    border-radius: 20px;
  }

  .vc-knowledge-card .vc-knowledge-media,
  .vc-knowledge-card.is-featured .vc-knowledge-media {
    min-height: 230px;
  }

  .vc-knowledge-copy {
    padding: 26px 22px 28px;
  }

  .vc-knowledge-cta-inner {
    align-items: stretch;
    flex-direction: column;
    border-radius: 22px;
  }

  .vc-knowledge-cta a {
    width: 100%;
  }
}

@media (max-width: 370px) {
  .vc-seo-shell {
    width: min(100% - 24px, 1180px);
  }

  .vc-profile-page .vc-seo-hero h1 {
    font-size: 35px;
  }

  .vc-profile-page .vc-stat-grid {
    grid-template-columns: 1fr;
  }

  .vc-profile-page .vc-stat + .vc-stat,
  .vc-profile-page .vc-stat:nth-child(n + 3) {
    border-top: 1px solid #d6d6d6;
  }

  .vc-profile-page .vc-stat:last-child:nth-child(odd) {
    grid-column: auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  .vc-seo-page *,
  .vc-seo-page *::before,
  .vc-seo-page *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}

/* Detailed solution/industry pages share the homepage's clean, high-contrast
   visual language while keeping long-form content easy to scan. */
.vc-solution-detail .vc-seo-hero {
  min-height: clamp(560px, 68vh, 700px);
  display: flex;
  align-items: center;
  padding-block: clamp(148px, 13vw, 194px) clamp(72px, 8vw, 108px);
  border-radius: 0 0 60px 60px;
  background:
    radial-gradient(circle at 82% 20%, rgb(0 174 239 / 20%), transparent 32%),
    radial-gradient(circle at 12% 92%, rgb(227 6 19 / 13%), transparent 28%),
    var(--vc-navy);
}

.vc-solution-detail .vc-seo-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .1;
  background: radial-gradient(circle at 50% 50%, #fff 0 1px, transparent 1.5px);
  background-size: 28px 28px;
  mask-image: linear-gradient(90deg, #000, transparent 86%);
}

.vc-solution-detail .vc-seo-hero .vc-seo-shell {
  position: relative;
  z-index: 1;
}

.vc-solution-detail .vc-seo-hero h1 {
  max-width: 13ch;
  font-family: var(--ag-font-1), "Segoe UI", Arial, sans-serif;
  font-size: clamp(46px, 5.4vw, 74px);
  line-height: 1.08;
  letter-spacing: -.035em;
  text-wrap: balance;
}

.vc-solution-detail .vc-seo-lead {
  max-width: 68ch;
  font-size: clamp(17px, 1.55vw, 21px);
}

.vc-solution-detail .vc-seo-body {
  padding-block: clamp(68px, 7vw, 108px);
  background: #fff;
}

.vc-solution-detail .vc-seo-body > .vc-seo-shell > section:not(.vc-seo-closing) {
  margin-block: clamp(72px, 9vw, 122px);
}

.vc-solution-detail .vc-seo-body > .vc-seo-shell > section > h2,
.vc-solution-faq > h2 {
  max-width: 14ch;
  margin: 0 0 clamp(28px, 4vw, 42px);
  color: #000;
  font: 600 clamp(34px, 4.5vw, 56px)/1.1 var(--ag-font-1), "Segoe UI", Arial, sans-serif;
  letter-spacing: -.03em;
  text-wrap: balance;
}

.vc-solution-detail .vc-seo-grid {
  align-items: stretch;
  gap: clamp(18px, 2vw, 26px);
}

.vc-solution-detail .vc-seo-card {
  position: relative;
  overflow: hidden;
  min-height: 0;
  padding: clamp(30px, 3vw, 40px) clamp(24px, 2.6vw, 34px);
  border: 0;
  border-radius: 24px;
  background: #f2f2f2;
  box-shadow: none;
}

.vc-solution-detail .vc-seo-card::after {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 5px;
  background: var(--vc-red);
}

.vc-solution-detail .vc-seo-card :where(h2, h3) {
  margin: 0 0 14px;
  color: #000;
  font: 600 clamp(24px, 2.25vw, 31px)/1.14 var(--ag-font-1), "Segoe UI", Arial, sans-serif;
  letter-spacing: -.025em;
  text-wrap: balance;
}

.vc-solution-detail .vc-seo-card p,
.vc-solution-detail .vc-seo-card li {
  color: var(--vc-muted);
  font-size: 16px;
  line-height: 1.72;
}

.vc-solution-detail .vc-seo-card ul {
  margin-top: 18px;
}

.vc-solution-detail .vc-visual-story {
  grid-template-columns: minmax(0, 1.05fr) minmax(300px, .95fr);
  gap: clamp(34px, 6vw, 78px);
}

.vc-solution-detail .vc-visual-story.is-reverse {
  margin-inline: -12px;
  padding: clamp(34px, 6vw, 72px);
  border-radius: 48px;
  background: #09090b;
}

.vc-solution-detail .vc-visual-story.is-reverse .vc-story-copy :where(h2, .vc-seo-eyebrow),
.vc-solution-detail .vc-visual-story.is-reverse .vc-seo-card :where(h2, h3) {
  color: #fff;
}

.vc-solution-detail .vc-visual-story.is-reverse .vc-story-copy > p:last-of-type,
.vc-solution-detail .vc-visual-story.is-reverse .vc-seo-card :where(p, li) {
  color: rgb(255 255 255 / 72%);
}

.vc-solution-detail .vc-visual-story.is-reverse .vc-seo-card {
  background: #18181b;
}

.vc-step-number {
  display: inline-flex;
  min-width: 46px;
  min-height: 34px;
  align-items: center;
  justify-content: center;
  margin-bottom: 22px;
  border-radius: 8px;
  color: #fff;
  background: var(--vc-blue);
  font: 800 13px/1 var(--ag-font-1), "Segoe UI", Arial, sans-serif;
  letter-spacing: .08em;
}

.vc-solution-faq {
  max-width: 960px;
  margin-inline: auto !important;
}

.vc-solution-faq details {
  overflow: clip;
  margin-top: 14px;
  border: 1px solid #dce7f2;
  border-radius: 18px;
  background: #fff;
  transition: border-color .2s ease, box-shadow .2s ease;
}

.vc-solution-faq details[open] {
  border-color: rgb(0 109 204 / 35%);
  box-shadow: 0 18px 50px rgb(0 27 79 / 8%);
}

.vc-solution-faq summary {
  position: relative;
  min-height: 68px;
  display: flex;
  align-items: center;
  padding: 18px 64px 18px 24px;
  color: var(--vc-navy);
  cursor: pointer;
  font: 650 clamp(18px, 1.8vw, 22px)/1.4 var(--ag-font-1), "Segoe UI", Arial, sans-serif;
  list-style: none;
}

.vc-solution-faq summary::-webkit-details-marker {
  display: none;
}

.vc-solution-faq summary::after {
  content: "+";
  position: absolute;
  right: 22px;
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: var(--vc-blue);
  font-size: 22px;
  line-height: 1;
}

.vc-solution-faq details[open] summary::after {
  content: "−";
  background: var(--vc-red);
}

.vc-solution-faq details > p {
  margin: 0;
  padding: 0 64px 24px 24px;
  color: var(--vc-muted);
  font-size: 16px;
  line-height: 1.72;
}

.vc-solution-detail .vc-seo-closing {
  flex-wrap: wrap;
  margin-top: clamp(72px, 9vw, 120px);
  padding: clamp(28px, 4vw, 42px);
  border-radius: 32px;
  background: #09090b;
}

.vc-solution-detail .vc-seo-closing p {
  flex: 1 1 100%;
  max-width: none;
  font-size: clamp(16px, 1.5vw, 19px);
}

.vc-solution-detail .vc-seo-closing a {
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  padding: 10px 16px;
  border: 1px solid rgb(255 255 255 / 20%);
  border-radius: 9px;
  color: #fff;
  background: rgb(255 255 255 / 8%);
  text-decoration: none;
}

.vc-solution-detail .vc-seo-closing a:first-of-type {
  border-color: var(--vc-red);
  background: var(--vc-red);
}

@media (hover: hover) and (pointer: fine) {
  .vc-solution-faq details:hover {
    border-color: rgb(0 109 204 / 28%);
  }

  .vc-solution-detail .vc-seo-closing a:hover {
    color: #fff;
    background: var(--vc-blue);
  }
}

@media (max-width: 900px) {
  .vc-solution-detail .vc-seo-hero {
    min-height: auto;
    border-radius: 0 0 40px 40px;
  }

  .vc-solution-detail .vc-seo-grid,
  .vc-solution-detail .vc-visual-story {
    grid-template-columns: 1fr;
  }

  .vc-solution-detail .vc-visual-story.is-reverse {
    margin-inline: 0;
  }
}

@media (max-width: 620px) {
  .vc-solution-detail .vc-seo-hero {
    padding-block: 116px 64px;
    border-radius: 0 0 28px 28px;
  }

  .vc-solution-detail .vc-seo-hero h1 {
    font-size: clamp(37px, 11.4vw, 50px);
  }

  .vc-solution-detail .vc-seo-body > .vc-seo-shell > section:not(.vc-seo-closing) {
    margin-block: 62px;
  }

  .vc-solution-detail .vc-seo-body > .vc-seo-shell > section > h2,
  .vc-solution-faq > h2 {
    font-size: clamp(31px, 9vw, 42px);
  }

  .vc-solution-detail .vc-seo-card {
    padding: 28px 22px 24px;
    border-radius: 20px;
  }

  .vc-solution-detail .vc-visual-story.is-reverse {
    padding: 28px 18px;
    border-radius: 28px;
  }

  .vc-solution-faq details {
    border-radius: 14px;
  }

  .vc-solution-faq summary {
    min-height: 62px;
    padding: 16px 58px 16px 18px;
    font-size: 17px;
  }

  .vc-solution-faq summary::after {
    right: 16px;
    width: 32px;
    height: 32px;
  }

  .vc-solution-faq details > p {
    padding: 0 18px 20px;
  }

  .vc-solution-detail .vc-seo-closing {
    align-items: stretch;
    flex-direction: column;
    margin-top: 64px;
    padding: 26px 20px;
    border-radius: 22px;
  }

  .vc-solution-detail .vc-seo-closing a {
    width: 100%;
    justify-content: center;
    white-space: normal;
    text-align: center;
  }
}

