/*
Theme Name: Artemis Theme
Author: Elevate
Text Domain: artemis
Description:
Version: 1.0
*/

.feedback-marquee__slider:not(.is-ready) .feedback-marquee__track {
  visibility: hidden
}

/* Static hero logos (carousel disabled in main.js) */
.home-hero__logos-items {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 30px 60px;
}

.home-hero__logos-items img {
  height: 40px;
  width: auto;
  max-width: 160px;
  object-fit: contain;
}

/* Threat Stories: keep code blocks from blowing out the layout on phones.
   Grid items default to min-width:auto, so a <pre> with a long unbreakable
   line inflates the content column past the viewport (clipped by
   .post-page{overflow:clip}). Let the column shrink and scroll code inside. */
.single-attacks .post-page__content-inner{min-width:0;max-width:100%}
.single-attacks .post-page__content pre.wp-block-code{overflow-x:auto;max-width:100%}
.single-attacks .editor-area p{overflow-wrap:break-word}
/* ============================================================
   Home V2 (v3 iteration) — matched to Figma "Artemis Website - Yaron"
   Desktop ref: Home.pdf 1920px / 90rem container.
   Mobile ref: Frame 1707480401.pdf 390px.
   Fonts: Die Grotesk A (body) / C (headings); Inter on CTA buttons.
   ============================================================ */

@font-face {
  font-family: 'Inter';
  src: url(assets/app/fonts/Inter-var.woff2) format('woff2');
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

.hv2 {
  --hv2-ink: #101114;
  --hv2-gray: #5a5f6a;
  --hv2-line: #e6e8ee;
  --hv2-accent: #4b3ff2;
  --hv2-blue: #5158e0;
  font-family: 'DieGrotesk-A', sans-serif;
}

.hv2 .container,
.hv2-footer .container {
  max-width: 100rem;
  width: 100%;
}

.hv2-desktop-only { display: block; }
.hv2-mobile-only { display: none; }

/* ---------- shared type ---------- */
.hv2-eyebrow {
  font-size: .8125rem;
  font-weight: 500;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--hv2-blue);
  margin-bottom: 1.125rem;
}

.hv2-eyebrow.--light { color: rgba(255, 255, 255, .85); }

.hv2-h2 {
  font-family: 'DieGrotesk-C', 'DieGrotesk-A', sans-serif;
  font-weight: 500;
  font-size: 2.375rem;
  line-height: 1.16;
  letter-spacing: -.01em;
  color: var(--hv2-ink);
  margin-bottom: .875rem;
}

.hv2-h2.--light { color: #fff; }

.hv2-sub {
  font-size: 1rem;
  line-height: 1.5;
  color: var(--hv2-gray);
  max-width: 66rem;
}

.hv2-sub.--light { color: rgba(255, 255, 255, .85); }

.hv2-section { padding: 8rem 0 0; }

.hv2-btns { display: flex; gap: .875rem; margin-top: 1.875rem; }

.hv2 .btn,
.hv2-btn-outline {
  font-family: 'Inter', 'DieGrotesk-A', sans-serif;
}

.hv2-btn-outline {
  border: 1px solid var(--hv2-accent);
  color: var(--hv2-accent);
  background: transparent;
}

.hv2-btn-outline:hover { background: var(--hv2-accent); color: #fff; }

.hv2-pill {
  display: inline-block;
  font-size: .6875rem;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--hv2-ink);
  border: 1px solid var(--hv2-line);
  border-radius: 2rem;
  padding: .4375rem .875rem;
  margin-bottom: 1.375rem;
}

/* ---------- hero ---------- */
.hv2-hero { padding: 6rem 0 0; }

.hv2-hero__grid {
  display: grid;
  grid-template-columns: 1fr 44.75rem;
  gap: 4rem;
  align-items: center;
}

.hv2-hero__content { max-width: 41rem; }

.hv2-hero__title {
  font-family: 'DieGrotesk-C', 'DieGrotesk-A', sans-serif;
  font-weight: 500;
  font-size: 4rem;
  line-height: 1.09;
  letter-spacing: -.015em;
  color: var(--hv2-ink);
  margin-bottom: 1.375rem;
}

.hv2-hero__sub {
  font-size: 1rem;
  line-height: 1.5;
  color: var(--hv2-gray);
  max-width: 30rem;
}

.hv2-hero__media {
  position: relative;
  width: 44.75rem;
  height: 37.5rem;
  border-radius: 1.5rem;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

.hv2-hero__media-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hv2-hero__widget {
  position: relative;
  z-index: 1;
  display: block;
  width: 93%;
  height: auto;
  border-radius: .875rem;
  box-shadow: 0 24px 60px rgba(16, 17, 20, .18);
  background: #fff;
}

.hv2-hero__logos { margin-top: 8.75rem; }

.hv2-hero__logos p {
  font-size: 1rem;
  color: var(--hv2-gray);
  text-align: center;
  margin-bottom: 2.25rem;
}

.hv2-hero__logos-items {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
}

.hv2-hero__logos-items img {
  height: 2.5rem;
  width: auto;
  max-width: 10rem;
  object-fit: contain;
  display: block;
}

/* ---------- problem ---------- */
.hv2-problem__banner {
  display: block;
  width: 100%;
  height: auto;
  margin-top: 3rem;
  border-radius: 1rem;
}

.hv2-table { margin-top: 2.5rem; }

.hv2-table__row {
  display: grid;
  grid-template-columns: 20.5rem 39rem 1fr;
  gap: 0;
  padding: 1.875rem 0;
  border-bottom: 1px solid var(--hv2-line);
  font-size: .9375rem;
  color: var(--hv2-gray);
  line-height: 1.5;
}

.hv2-table__row--head {
  padding: 1rem 0 .875rem;
  font-weight: 600;
  color: var(--hv2-ink);
  border-bottom: 1px solid var(--hv2-line);
}

.hv2-table__row--head > div {
  display: flex;
  align-items: center;
  gap: .5rem;
}

.hv2-table__row--head img {
  height: 1.375rem;
  width: auto;
  border-radius: .25rem;
}

.hv2-table__row > div:first-child { font-weight: 600; color: var(--hv2-ink); }

.hv2-table__row > div:nth-child(2) { padding-right: 4rem; }

.hv2-table__row strong { color: var(--hv2-ink); font-weight: 600; display: block; margin-bottom: .125rem; }

.hv2-table__row br { display: none; }

/* mobile attacker/defender toggle */
.hv2-vs__toggle {
  display: flex;
  background: #eef0f4;
  border-radius: 2rem;
  padding: .25rem;
  margin: 2rem 0 1.25rem;
}

.hv2-vs__toggle button {
  flex: 1;
  border: 0;
  background: transparent;
  font-family: inherit;
  font-size: .9375rem;
  font-weight: 600;
  color: var(--hv2-ink);
  padding: .625rem 1rem;
  border-radius: 2rem;
  cursor: pointer;
}

.hv2-vs__toggle button[data-side="attacker"].isActive {
  background: linear-gradient(90deg, #f6a486 0%, #e6564f 100%);
  color: #fff;
}

.hv2-vs__toggle button[data-side="defender"].isActive {
  background: linear-gradient(90deg, #7d9bf8 0%, #5158e0 100%);
  color: #fff;
}

.hv2-vs__panel { display: none; }

.hv2-vs__panel.isActive { display: grid; gap: 1rem; }

.hv2-vs__card {
  border: 1px solid var(--hv2-line);
  border-radius: .875rem;
  padding: 1.25rem 1.25rem 1.375rem;
  background: #fff;
}

.hv2-vs__card span {
  display: block;
  font-size: .6875rem;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--hv2-gray);
  margin-bottom: .625rem;
}

.hv2-vs__card strong { display: block; font-size: 1.0625rem; color: var(--hv2-ink); margin-bottom: .25rem; }

.hv2-vs__card p { font-size: .9375rem; color: var(--hv2-gray); line-height: 1.5; }

/* ---------- solution ---------- */
.hv2-cols3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3.75rem;
  margin-top: 3.375rem;
}

.hv2-cols3 > div { border-top: 1px solid var(--hv2-line); padding-top: 1.5rem; }

.hv2-cols3 h3 { font-size: 1rem; font-weight: 600; color: var(--hv2-ink); margin-bottom: .875rem; }

.hv2-cols3 p { font-size: .9375rem; color: var(--hv2-gray); line-height: 1.55; }

/* ---------- architecture diagram ---------- */
.hv2-diagram-flat {
  width: 100%;
  height: auto;
  margin-top: 3.5rem;
}

/* HTML rebuild below is mobile-only; desktop uses the exact design render */

.hv2-diagram {
  position: relative;
  margin-top: 3.5rem;
  border-radius: 1.75rem;
  overflow: hidden;
  padding: 2.875rem 0 6.5rem;
}

.hv2-diagram__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hv2-diagram__inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.hv2-diagram__ingest,
.hv2-diagram__outputs {
  display: flex;
  gap: .625rem;
  align-items: stretch;
  background: rgba(255, 255, 255, .3);
  border-radius: 1.125rem;
  padding: .625rem;
}

.hv2-diagram__ingest { width: 77.5%; }

.hv2-diagram__outputs { width: 63.5%; }

.hv2-diagram__rail {
  font-size: .6875rem;
  font-weight: 700;
  letter-spacing: .22em;
  color: var(--hv2-ink);
  background: rgba(255, 255, 255, .85);
  border-radius: .75rem;
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  text-align: center;
  padding: .75rem .4375rem;
  flex: none;
  width: 1.8125rem;
  box-sizing: border-box;
}

.hv2-diagram__ingest-cards {
  flex: 1;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: .9375rem;
}

.hv2-diagram__outputs-cards {
  flex: 1;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: .9375rem;
}

.hv2-dcard {
  background: #dde4fb;
  border: 1px solid rgba(255, 255, 255, .7);
  border-radius: .875rem;
  padding: .875rem .8125rem;
  min-height: 9.875rem;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  box-sizing: border-box;
}

.hv2-dcard.--out { min-height: 8.9375rem; }

.hv2-dcard h4 { font-size: .9375rem; font-weight: 700; color: var(--hv2-ink); margin-bottom: .25rem; }

.hv2-dcard p { font-size: .765625rem; letter-spacing: -.01em; color: #2f3442; margin-bottom: .625rem; }

.hv2-dcard__strip {
  display: flex;
  align-items: center;
  background: #fff;
  border-radius: .75rem;
  padding: .5rem .625rem;
  margin-top: auto;
  min-height: 2.9375rem;
  box-sizing: border-box;
}

.hv2-dcard__strip img {
  display: block;
  height: 1.875rem;
  width: auto;
  max-width: 100%;
  object-fit: contain;
  object-position: left center;
}

.hv2-dcard__chips {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, auto));
  justify-content: start;
  gap: .4375rem;
}

.hv2-dcard__chips i {
  font-style: normal;
  font-size: .71875rem;
  font-weight: 500;
  color: var(--hv2-ink);
  background: #fff;
  border-radius: .5rem;
  padding: .34375rem .5625rem;
  white-space: nowrap;
  text-align: center;
}

.hv2-diagram__flow {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .21875rem;
  padding: .4375rem 0;
}

.hv2-diagram__flow i {
  width: .25rem;
  height: .25rem;
  border-radius: 50%;
  background: #fff;
}

.hv2-diagram__flow b {
  width: 0;
  height: 0;
  border-left: .375rem solid transparent;
  border-right: .375rem solid transparent;
  border-top: .4375rem solid #fff;
}

.hv2-diagram__core {
  width: 89.6%;
  background: rgba(240, 243, 253, .92);
  border-radius: 1.25rem;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  gap: .75rem;
  padding-bottom: 1rem;
}

.hv2-diagram__brand {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 3.34375rem;
  background: rgba(226, 231, 250, .9);
}

.hv2-diagram__brand img { height: 1.625rem; width: auto; }

.hv2-diagram__model,
.hv2-diagram__modes,
.hv2-diagram__aimode { margin-inline: 1rem; }

.hv2-diagram__model {
  background: #fff;
  border-radius: .875rem;
  min-height: 4.78125rem;
  padding: .875rem 1.75rem;
  display: flex;
  align-items: center;
  gap: 1.75rem;
  box-sizing: border-box;
}

.hv2-diagram__model-title {
  display: inline-flex;
  align-items: center;
  gap: .625rem;
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--hv2-ink);
  flex: none;
}

.hv2-diagram__model-title img { height: 1.5rem; width: auto; }

.hv2-diagram__model-chips {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0 1.375rem;
  border-left: 1px solid #d7dcef;
  padding-left: 1.75rem;
  flex: 1;
  justify-content: space-between;
}

.hv2-diagram__model-chips i {
  font-style: normal;
  font-size: 1.03125rem;
  font-weight: 500;
  color: var(--hv2-ink);
  position: relative;
  white-space: nowrap;
}

.hv2-diagram__model-chips i:not(:last-child)::after {
  content: "";
  position: absolute;
  right: -.8125rem;
  top: 50%;
  transform: translateY(-50%);
  width: .3125rem;
  height: .3125rem;
  border-radius: 50%;
  background: #4a56e2;
}

.hv2-diagram__modes {
  background: #fff;
  border-radius: .875rem;
  min-height: 10.0625rem;
  padding: 1.25rem 1.75rem 1.375rem;
  box-sizing: border-box;
}

.hv2-modes__heads {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1.0625rem;
  padding-inline: 2.5rem;
}

.hv2-mode__head {
  display: flex;
  align-items: center;
  gap: .625rem;
  font-size: 1.125rem;
  font-weight: 600;
  color: var(--hv2-ink);
  flex: none;
}

.hv2-mode__head img { height: 1.625rem; width: auto; border-radius: .375rem; }

.hv2-mode__arrow {
  flex: 1;
  height: 0;
  border-top: 3px dotted #4a56e2;
  position: relative;
  margin-right: .5rem;
}

.hv2-mode__arrow::after {
  content: "";
  position: absolute;
  right: -.5rem;
  top: -.4375rem;
  border: .375rem solid transparent;
  border-left: .5rem solid #4a56e2;
}

.hv2-modes__pills {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.125rem;
}

.hv2-mode__pills { display: flex; flex-direction: column; gap: .75rem; align-items: stretch; }

.hv2-mode__pills i {
  font-style: normal;
  font-size: .9375rem;
  font-weight: 500;
  color: #2b3bd6;
  border: 1.5px solid #4a56e2;
  border-radius: 2rem;
  padding: .5625rem 1rem;
  text-align: center;
  white-space: nowrap;
}

.hv2-mode__varrow { display: none; }

.hv2-diagram__aimode {
  background: #fff;
  border-radius: .875rem;
  min-height: 3.65625rem;
  padding: .8125rem 1.75rem;
  display: flex;
  align-items: center;
  gap: 1.75rem;
  box-sizing: border-box;
}

.hv2-diagram__aimode-label {
  display: inline-flex;
  align-items: center;
  gap: .625rem;
  font-size: 1.125rem;
  font-weight: 600;
  color: var(--hv2-ink);
  flex: none;
}

.hv2-diagram__aimode-label img { height: 1.5rem; width: auto; }

.hv2-diagram__aimode p {
  font-size: 1.03125rem;
  color: var(--hv2-ink);
  border-left: 1px solid #d7dcef;
  padding-left: 1.75rem;
}

/* ---------- stat chips ---------- */
.hv2-chips {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.625rem;
  margin-top: 1.75rem;
}

.hv2-chip {
  border: 1px solid transparent;
  border-radius: 1rem;
  padding: 1.625rem 1.75rem 1.5rem;
  background:
    linear-gradient(#fff, #fff) padding-box,
    linear-gradient(120deg, #a4b0fb 0%, #d29cf2 55%, #f5a08c 100%) border-box;
}

.hv2-chip__num {
  font-family: 'DieGrotesk-C', 'DieGrotesk-A', sans-serif;
  font-size: 2.5rem;
  font-weight: 500;
  color: var(--hv2-ink);
  line-height: 1.1;
}

.hv2-chip p { font-size: .875rem; color: var(--hv2-gray); margin-top: .25rem; }

/* ---------- differences ---------- */
.hv2-diff__items { margin-top: 3rem; display: grid; gap: 1.5rem; }

.hv2-diff__item {
  display: grid;
  grid-template-columns: 14.5rem 1fr;
  gap: 3rem;
  border: 1px solid #ececf1;
  border-radius: 1rem;
  padding: 2.25rem 2.5rem 2.375rem;
  background: #fdfdfe;
}

.hv2-diff__num {
  font-family: 'DieGrotesk-C', 'DieGrotesk-A', sans-serif;
  font-size: 4rem;
  font-weight: 500;
  line-height: 1;
  display: inline-block;
  background-image: linear-gradient(100deg, #5a82ff 0%, #9a6ef5 50%, #e88bc0 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  margin-bottom: .875rem;
}

.hv2-diff__item:nth-child(2) .hv2-diff__num {
  background-image: linear-gradient(100deg, #6b86ff 0%, #d17ae0 55%, #f5a08c 100%);
}

.hv2-diff__item:nth-child(3) .hv2-diff__num {
  background-image: linear-gradient(100deg, #f5a08c 0%, #e07bd0 45%, #6b86ff 100%);
}

.hv2-diff__left h3 { font-size: 1rem; font-weight: 700; color: var(--hv2-ink); line-height: 1.35; max-width: 11rem; }

.hv2-diff__test {
  font-size: .9375rem;
  color: var(--hv2-ink);
  line-height: 1.5;
  padding-bottom: 1.125rem;
  border-bottom: 1px solid #ececf1;
  margin-bottom: 1.125rem;
}

.hv2-diff__test span { color: var(--hv2-accent); margin-right: .375rem; }

.hv2-diff__right p { font-size: .9375rem; color: var(--hv2-gray); line-height: 1.6; }

/* ---------- value band ---------- */
.hv2-value {
  margin-top: 8rem;
  padding: 5rem 0 5.5rem;
  color: #fff;
  background:
    url(assets/app/img/home-v2/value-bg.png) center / cover no-repeat,
    linear-gradient(172deg, #2f63f6 0%, #5468f4 40%, #7a74f1 70%, #a184ef 100%);
}

.hv2-value__cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.75rem;
  margin-top: 2.75rem;
}

.hv2-value__card {
  border: 1px solid rgba(255, 255, 255, .55);
  border-radius: 1rem;
  background: rgba(255, 255, 255, .08);
  padding: 2rem 1.875rem 2.25rem;
  text-align: center;
}

.hv2-value__label { font-size: .875rem; font-weight: 600; margin-bottom: 1rem; }

.hv2-value__num {
  font-family: 'DieGrotesk-C', 'DieGrotesk-A', sans-serif;
  font-size: 6rem;
  font-weight: 500;
  line-height: 1;
  justify-content: center;
  margin-bottom: 1rem;
}

.hv2-value__unit { font-size: 1.75rem; font-weight: 500; align-self: flex-end; padding-bottom: .5rem; }

.hv2-value__card p { font-size: .9375rem; line-height: 1.5; color: rgba(255, 255, 255, .95); max-width: 15rem; margin-inline: auto; }

/* ---------- customer story ---------- */
.hv2-story__grid {
  display: grid;
  grid-template-columns: 44.9rem 1fr;
  gap: 4.25rem;
  align-items: start;
}

.hv2-story__card img { display: block; width: 100%; height: auto; }

.hv2-story__content { padding-top: 1.75rem; }

.hv2-story__content .hv2-h2 { font-size: 2rem; max-width: 36rem; }

.hv2-story__content .hv2-sub { font-size: .9375rem; max-width: 40rem; }

.hv2-story__content .btn { margin-top: 1.5rem; }

.hv2-story__stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  margin-top: 2.375rem;
  padding-top: 1.75rem;
  border-top: 1px solid var(--hv2-line);
}

.hv2-story__stats > div { border-left: 1px solid var(--hv2-line); padding-left: 1.375rem; }

.hv2-story__stats > div:first-child { border-left: none; padding-left: 0; }

.hv2-story__stat-num {
  font-family: 'DieGrotesk-C', 'DieGrotesk-A', sans-serif;
  font-size: 1.75rem;
  font-weight: 500;
  color: var(--hv2-ink);
  line-height: 1.15;
}

.hv2-story__stats p { font-size: .8125rem; color: var(--hv2-gray); margin-top: .25rem; }

/* ---------- testimonial wall ---------- */
.hv2-voices { padding: 8rem 0 0; }

.hv2-voices__title { text-align: center; margin-bottom: 0; }

.hv2-voices .feedback-marquee .section-title-2 { display: none; }

/* ---------- CTA ---------- */
.hv2-cta { padding-bottom: 0; }

.hv2-cta__banner {
  display: grid;
  grid-template-columns: 1fr 35.8rem;
  gap: 3.5rem;
  align-items: center;
  border-radius: 1.25rem;
  padding: 4.25rem 4rem;
  overflow: hidden;
  background:
    url(assets/app/img/home-v2/cta-bg.png) center / cover no-repeat,
    linear-gradient(115deg, #f79ed0 0%, #a99cfa 38%, #8fa2fb 65%, #b585ee 100%);
}

.hv2-cta__content .btn { margin-top: 1.75rem; }

.hv2-cta__media video,
.hv2-cta__media img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: .75rem;
  box-shadow: 0 24px 64px rgba(16, 17, 20, .28);
}

/* ---------- footer v3: gradient video + tagline ---------- */
.hv2-footer {
  position: relative;
  margin-top: 8rem;
  overflow: hidden;
  color: #fff;
  font-family: 'DieGrotesk-A', sans-serif;
}

.hv2-footer__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hv2-footer__tagline {
  position: relative;
  z-index: 1;
  text-align: center;
  padding: 9rem 1rem 7rem;
}

.hv2-footer__tagline h2 {
  font-family: 'DieGrotesk-C', 'DieGrotesk-A', sans-serif;
  font-weight: 500;
  font-size: 3.25rem;
  line-height: 1.1;
  color: #fff;
}

.hv2-footer__inner {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  flex-wrap: wrap;
  padding-bottom: 3rem;
}

.hv2-footer__logo img { height: 2rem; width: auto; display: block; }

.hv2-footer__left p { font-size: .75rem; color: rgba(255, 255, 255, .85); margin-top: .5rem; }

.hv2-footer__middle { display: flex; align-items: center; gap: 1.5rem; }

.hv2-footer__middle a { font-size: .875rem; color: #fff; }

.hv2-footer__middle a:hover { opacity: .75; }

.hv2-footer__sep { width: 1px; height: 1rem; background: rgba(255, 255, 255, .45); }

.hv2-footer__social {
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 50%;
  background: rgba(255, 255, 255, .18);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.hv2-footer__social i { font-size: 1.125rem; color: #fff; }

.hv2-footer__badges { display: flex; align-items: center; gap: .875rem; }

.hv2-badge {
  width: 3.875rem;
  height: 3.875rem;
  border-radius: 50%;
  border: 1.5px solid rgba(255, 255, 255, .9);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-size: .5625rem;
  font-weight: 700;
  letter-spacing: .05em;
  line-height: 1.35;
  color: #fff;
}

/* ---------- scroll reveal + counters ---------- */
[data-reveal] {
  opacity: 0;
  transform: translateY(1.5rem);
  transition: opacity .7s cubic-bezier(.22,.61,.36,1), transform .7s cubic-bezier(.22,.61,.36,1);
}

[data-reveal].is-revealed { opacity: 1; transform: none; }

.hv2-chips [data-reveal]:nth-child(2),
.hv2-value__cards [data-reveal]:nth-child(2) { transition-delay: .12s; }

.hv2-chips [data-reveal]:nth-child(3),
.hv2-value__cards [data-reveal]:nth-child(3) { transition-delay: .24s; }

@media (prefers-reduced-motion: reduce) {
  [data-reveal] { opacity: 1; transform: none; transition: none; }
}

.hv2 .number { display: inline-flex; align-items: baseline; }

.hv2 .number .init-number { display: inline-flex; }

/* ============================================================
   MOBILE — per Frame 1707480401 (390px design)
   ============================================================ */
@media screen and (max-width: 1024px) and (orientation: portrait) {
  .hv2-desktop-only { display: none; }
  .hv2-mobile-only { display: block; }

  .hv2-section, .hv2-voices { padding-top: 4.5rem; }

  .hv2-h2 { font-size: 1.875rem; }

  .hv2-sub br { display: none; }

  /* hero */
  .hv2-hero { padding-top: 2.5rem; }

  .hv2-hero__grid { grid-template-columns: 1fr; gap: 2.5rem; }

  .hv2-hero__title { font-size: 2.75rem; }

  .hv2-btns { flex-wrap: wrap; }

  .hv2-hero__media { width: 100%; height: auto; aspect-ratio: 716 / 600; }

  .hv2-hero__logos { margin-top: 4rem; }

  .hv2-hero__logos-items { flex-wrap: wrap; justify-content: center; gap: 1.5rem 2rem; }

  .hv2-hero__logos-items img { height: 1.75rem; }

  /* problem */
  .hv2-problem__banner { margin-top: 2rem; border-radius: .75rem; min-height: 11rem; object-fit: cover; }

  /* solution */
  .hv2-cols3 { grid-template-columns: 1fr; gap: 2rem; margin-top: 2.5rem; }

  /* diagram: exact mobile render */
  .hv2-diagram-flat { margin-top: 2rem; border-radius: 1rem; }

  .hv2-diagram { padding: 1.25rem; border-radius: 1rem; }

  .hv2-diagram__ingest { flex-direction: column; gap: .75rem; }

  .hv2-diagram__rail {
    writing-mode: horizontal-tb;
    transform: none;
    background: rgba(235, 240, 255, .9);
    color: var(--hv2-ink);
    border-radius: .625rem;
    padding: .5rem 1rem;
    align-self: stretch;
    text-align: center;
  }

  .hv2-diagram__ingest-cards { grid-template-columns: 1fr; gap: .75rem; }

  .hv2-diagram__outputs { flex-direction: column; gap: .75rem; align-self: stretch; }

  .hv2-diagram__outputs-cards { grid-template-columns: 1fr; gap: .75rem; }

  .hv2-diagram__model { flex-direction: column; align-items: flex-start; gap: .875rem; }

  .hv2-diagram__modes { padding: 1rem; }

  .hv2-diagram__ingest { width: auto; }

  .hv2-diagram__inner { align-items: stretch; padding-inline: 1.25rem; }

  .hv2-diagram__core { width: auto; }

  .hv2-diagram__model { flex-direction: column; align-items: flex-start; gap: .875rem; padding: 1.125rem 1.25rem; }

  .hv2-diagram__model-chips { border-left: 0; padding-left: 0; gap: .5rem; justify-content: flex-start; }

  .hv2-diagram__model-chips i {
    font-size: .8125rem;
    border: 1px solid #4a56e2;
    border-radius: 2rem;
    padding: .375rem .875rem;
    color: #2b3bd6;
  }

  .hv2-diagram__model-chips i:not(:last-child)::after { display: none; }

  .hv2-mode { display: grid; grid-template-columns: auto 1fr; gap: 1rem; align-items: center; }

  .hv2-mode__varrow {
    display: block;
    height: 1.5rem;
    border-left: 2px dotted #4a56e2;
    margin: .375rem 0 .375rem 2.5rem;
  }

  .hv2-diagram__aimode p { border-left: 0; padding-left: 0; }

  .hv2-mode__head {
    flex-direction: column;
    gap: .375rem;
    margin-bottom: 0;
    border: 1px solid #8f9bef;
    border-radius: .625rem;
    padding: .75rem;
    min-width: 5.25rem;
    text-align: center;
  }

  .hv2-mode__head img { height: 1.75rem; }

  .hv2-mode__pills i { white-space: normal; }

  .hv2-diagram__aimode { flex-direction: column; align-items: flex-start; gap: .5rem; }

  /* chips / diff / value */
  .hv2-chips { grid-template-columns: 1fr; gap: 1rem; }

  .hv2-diff__item { grid-template-columns: 1fr; gap: 1.25rem; padding: 1.5rem; }

  .hv2-diff__left h3 { max-width: none; }

  .hv2-value { margin-top: 4.5rem; padding: 3.5rem 0 4rem; }

  .hv2-value__cards { grid-template-columns: 1fr; gap: 1.25rem; }

  .hv2-value__num { font-size: 4rem; }

  /* story / cta */
  .hv2-story__grid { grid-template-columns: 1fr; gap: 2.5rem; }

  .hv2-story__content { padding-top: 0; }

  .hv2-story__stats { grid-template-columns: 1fr; gap: 1.25rem; }

  .hv2-story__stats > div { border-left: none; padding-left: 0; border-top: 1px solid var(--hv2-line); padding-top: 1rem; }

  .hv2-story__stats > div:first-child { border-top: none; padding-top: 0; }

  .hv2-cta__banner { grid-template-columns: 1fr; gap: 2rem; padding: 2rem 1.5rem; }

  /* footer */
  .hv2-footer { margin-top: 4.5rem; }

  .hv2-footer__tagline { padding: 5rem 1rem 4rem; }

  .hv2-footer__tagline h2 { font-size: 2rem; }

  .hv2-footer__inner { flex-direction: column; text-align: center; }

  .hv2-footer__logo { display: flex; justify-content: center; }
}

/* quote popup card is portaled to body end; pin its resting position so it
   does not extend the document below the footer (openCard sets top/left) */
a.logo-case-card { top: 0; left: 0; }

/* ============================================================
   ROUND 6 — new sections + fixes (rules below override earlier)
   ============================================================ */

/* nav uses the theme default container everywhere — content aligns to it */

/* diagram: exact bg still (always visible) + gradient video on top + exact transparent content */
.hv2-diagram {
  position: relative;
  margin-top: 3.5rem;
  border-radius: 1.75rem;
  overflow: hidden;
  padding: 3.5rem 4.3125rem 6.5rem;
  display: block;
  background: url(assets/app/img/home-v2/diagram-bg-still.jpg) center / cover no-repeat;
}

.hv2-diagram__content {
  position: relative;
  z-index: 1;
  width: 100%;
  height: auto;
}

/* problem table header icons: exact svg, 24px, centered */
.hv2-table__row--head img {
  height: 1.5rem;
  width: 1.5rem;
  border-radius: 0;
  object-fit: contain;
}

/* animated gradient numbers */
.hv2-diff__num {
  background-size: 220% 220%;
  animation: hv2grad 5s ease-in-out infinite;
}

@keyframes hv2grad {
  0%, 100% { background-position: 0% 40%; }
  50% { background-position: 100% 60%; }
}

/* customer story 50/50 */
.hv2-story__grid { grid-template-columns: 1fr 1fr; }

/* agentic experience */
.hv2-agentic__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4.5rem;
  align-items: center;
}

.hv2-agentic__media {
  position: relative;
  border-radius: 1.5rem;
  overflow: hidden;
  aspect-ratio: 716 / 706;
  display: flex;
  align-items: center;
  justify-content: center;
}

.hv2-agentic__media .hv2-hero__widget { width: 86%; }

.hv2-acc { margin-top: 2rem; }

.hv2-acc__item { border-bottom: 1px solid var(--hv2-line); }

.hv2-acc__head {
  width: 100%;
  display: flex;
  align-items: center;
  gap: .875rem;
  background: none;
  border: 0;
  padding: 1.375rem 0;
  cursor: pointer;
  text-align: left;
  font-family: inherit;
}

.hv2-acc__head img { width: 1.5rem; height: 1.5rem; flex: none; }

.hv2-acc__head span {
  flex: 1;
  font-size: 1.0625rem;
  font-weight: 600;
  color: var(--hv2-ink);
  line-height: 1.35;
}

.hv2-acc__toggle {
  position: relative;
  width: 1.25rem;
  height: 1.25rem;
  flex: none;
}

.hv2-acc__toggle::before,
.hv2-acc__toggle::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: #6b7080;
}

.hv2-acc__toggle::before { width: .875rem; height: 2px; }

.hv2-acc__toggle::after { width: 2px; height: .875rem; transition: opacity .2s; }

.hv2-acc__item.isOpen .hv2-acc__toggle::after { opacity: 0; }

.hv2-acc__body {
  max-height: 0;
  overflow: hidden;
  transition: max-height .35s ease;
}

.hv2-acc__item.isOpen .hv2-acc__body { max-height: 12rem; }

.hv2-acc__body p {
  font-size: .9375rem;
  color: var(--hv2-gray);
  line-height: 1.6;
  padding: 0 0 1.375rem 2.375rem;
}

.hv2-acc__item.isOpen {
  border-bottom: 2px solid transparent;
  border-image: linear-gradient(90deg, #e6564f 0%, #4a56e2 60%, transparent 100%) 1;
}

/* industry recognition */
.hv2-recog__title { text-align: center; }

.hv2-recog__sub { text-align: center; margin-inline: auto; }

.hv2-recog__tiles {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
  margin-top: 2.75rem;
}

.hv2-recog__tile { display: block; color: inherit; }

.hv2-recog__tile img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 1rem;
  margin-bottom: 1.125rem;
}

.hv2-recog__tile h3 {
  font-size: 1rem;
  font-weight: 700;
  color: var(--hv2-ink);
  line-height: 1.4;
  margin-bottom: .375rem;
}

.hv2-recog__date { display: block; font-size: .8125rem; color: var(--hv2-gray); margin-bottom: .75rem; }

.hv2-recog__link { display: block; font-size: .875rem; font-weight: 600; color: #2b3bd6; }

.hv2-recog__tile:hover .hv2-recog__link { text-decoration: underline; }

/* full attack stories */
.hv2-attack__title { text-align: center; margin-bottom: 2.75rem; }

.hv2-attack__features {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
}

.hv2-attack__feature { padding: 0 1.75rem; border-left: 1px solid var(--hv2-line); }

.hv2-attack__feature:first-child { border-left: 0; padding-left: 0; }

.hv2-attack__feature img { width: 1.75rem; height: 1.75rem; margin-bottom: 1rem; }

.hv2-attack__feature h3 { font-size: 1.0625rem; font-weight: 600; color: var(--hv2-ink); line-height: 1.35; margin-bottom: .75rem; }

.hv2-attack__feature p { font-size: .875rem; color: var(--hv2-gray); line-height: 1.55; }

.hv2-case { margin-top: 3.5rem; }

.hv2-case__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  margin-bottom: 1rem;
  flex-wrap: wrap;
}

.hv2-case__head h3 { font-size: 1.25rem; font-weight: 600; color: var(--hv2-ink); }

.hv2-case__tabs {
  display: flex;
  gap: .25rem;
  background: #f1f2f6;
  border-radius: .625rem;
  padding: .25rem;
}

.hv2-case__tabs button {
  border: 0;
  background: transparent;
  font-family: inherit;
  font-size: .875rem;
  font-weight: 500;
  color: var(--hv2-gray);
  padding: .5rem 1rem;
  border-radius: .5rem;
  cursor: pointer;
  white-space: nowrap;
}

.hv2-case__tabs button.isActive {
  background: #fff;
  color: var(--hv2-ink);
  box-shadow: 0 1px 4px rgba(16, 17, 20, .12);
}

.hv2-case__panel { display: none; }

.hv2-case__panel.isActive { display: block; }

.hv2-case__panel img {
  display: block;
  width: 100%;
  height: auto;
  border: 1px solid var(--hv2-line);
  border-radius: 1rem;
}

/* footer linkedin: never squash */
.hv2-footer__social { flex: none; aspect-ratio: 1; }

/* count-up numbers keep layout stable */
.hv2-count { display: inline-block; min-width: 1ch; }

/* ---------- round 6 mobile ---------- */
@media screen and (max-width: 1024px) and (orientation: portrait) {
  .hv2-diagram { padding: 0; border-radius: 1rem; margin-top: 2rem; }

  .hv2-diagram__content.hv2-mobile-only { display: block; }

  .hv2-vs__banner {
    display: block;
    width: 100%;
    aspect-ratio: 350 / 156;
    object-fit: cover;
    border-radius: .75rem;
    margin-top: 2rem;
  }

  .hv2-agentic__grid { grid-template-columns: 1fr; gap: 2.5rem; }

  .hv2-story__grid { grid-template-columns: 1fr; }

  .hv2-recog__tiles { grid-template-columns: repeat(2, 1fr); gap: 1.25rem 1rem; margin-top: 2rem; }

  .hv2-recog__tile h3 { font-size: .875rem; }

  .hv2-recog__date { font-size: .75rem; margin-bottom: .375rem; }

  .hv2-recog__link { font-size: .8125rem; }

  .hv2-attack__features { grid-template-columns: 1fr; gap: 2rem; }

  .hv2-attack__feature { border-left: 0; padding: 0; }

  .hv2-case__head { flex-direction: column; align-items: flex-start; }

  .hv2-case__tabs { width: 100%; overflow-x: auto; }

  .hv2-case__tabs button { flex: 1; }

  /* tighter gap between CTA and testimonials on mobile */
  .hv2-cta { padding-top: 2rem; }

  .hv2-voices { padding-top: 4rem; }
}

/* helper visibility must beat component img rules (specificity fix) */
.hv2 .hv2-desktop-only { display: block; }

.hv2 .hv2-mobile-only { display: none; }

/* agentic switchable media */
.hv2-agentic__vid { display: none; }

.hv2-agentic__vid.isActive { display: block; }

@media screen and (max-width: 1024px) and (orientation: portrait) {
  .hv2 .hv2-desktop-only { display: none; }

  .hv2 .hv2-mobile-only { display: block; }

  .hv2 .hv2-agentic__vid { display: none; }

  .hv2 .hv2-agentic__vid.isActive { display: block; }
}

/* ============================================================
   ROUND 7 fixes
   ============================================================ */

/* recognition: link labels bottom-aligned across the row */
.hv2-recog__tile { display: flex; flex-direction: column; }

.hv2-recog__tile h3 { margin-bottom: .375rem; }

.hv2-recog__link { margin-top: auto; padding-top: .75rem; }

/* customer story: animated gradient behind exact transparent content */
.hv2-story__card {
  position: relative;
  border-radius: 1.25rem;
  overflow: hidden;
  aspect-ratio: 720 / 713;
  background: url(assets/app/img/home-v2/hero-gradient.png) center / cover no-repeat;
  display: flex;
  align-items: center;
  justify-content: center;
}

.hv2-story__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hv2-story__content-img {
  position: relative;
  z-index: 1;
  width: 89%;
  height: auto;
  display: block;
}

/* value band: motion video over the exact still */
.hv2-value { position: relative; overflow: hidden; }

.hv2-value__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hv2-value .container { position: relative; z-index: 1; }

/* number gradient motion: stronger, unmistakable */
.hv2-diff__num {
  background-size: 300% 300%;
  animation: hv2grad 4s ease-in-out infinite;
  will-change: background-position;
}

@keyframes hv2grad {
  0%, 100% { background-position: 0% 0%; }
  50% { background-position: 100% 100%; }
}

/* accordion inline videos: hidden by default (desktop uses side panel) */
.hv2-acc__vid { display: none; }

@media screen and (max-width: 1024px) and (orientation: portrait) {
  /* mobile banners: exact exports, no cropping */
  .hv2-vs__banner { aspect-ratio: auto; object-fit: unset; height: auto; }

  /* agentic: media inside each open accordion item; hide side panel */
  .hv2-agentic__media { display: none; }

  .hv2-acc__item.isOpen .hv2-acc__vid {
    display: block;
    width: 100%;
    height: auto;
    background: #fff;
    border: 1px solid var(--hv2-line);
    border-radius: .75rem;
    margin: 0 0 1.25rem;
  }

  .hv2-acc__item.isOpen .hv2-acc__body { max-height: 40rem; }

  /* recognition mobile: logo tiles only, 2x2, clickable */
  .hv2-recog__tile h3,
  .hv2-recog__tile .hv2-recog__date,
  .hv2-recog__tile .hv2-recog__link { display: none; }

  .hv2-recog__tiles { grid-template-columns: repeat(2, 1fr); gap: .75rem; }

  .hv2-recog__tile img { margin-bottom: 0; border-radius: .75rem; }
}

/* ============================================================
   Site nav dropdowns (global — applies on all pages)
   ============================================================ */
.main-menu li.menu-item-has-children { position: relative; }

.main-menu li.menu-item-has-children > a::after {
  content: "";
  display: inline-block;
  margin-left: .4375rem;
  width: .4375rem;
  height: .4375rem;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg) translateY(-3px);
  transition: transform .2s ease;
}

.main-menu .sub-menu { list-style: none; margin: 0; padding: 0; }

@media (orientation: landscape), (min-width: 1025px) and (orientation: portrait) {
  .main-menu .sub-menu {
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translate(-50%, 10px);
    background: #fff;
    border: 1px solid #e6e8ee;
    border-radius: .75rem;
    box-shadow: 0 18px 44px rgba(22, 33, 58, .14);
    padding: .5rem;
    min-width: 15.5rem;
    opacity: 0;
    visibility: hidden;
    transition: opacity .18s ease, transform .18s ease, visibility .18s;
    z-index: 1000;
  }

  /* invisible bridge so the cursor can cross from the link into the panel
     without breaking :hover (otherwise the panel closes mid-travel) */
  /* sits fully BELOW the nav links row so it never steals hover from
     neighboring top-level items; the close-grace delay covers the last
     few pixels between the link and the bridge */
  .main-menu .sub-menu::before {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    top: -0.5rem;
    height: 0.625rem;
  }

  .main-menu li.menu-item-has-children:hover > .sub-menu,
  .main-menu li.menu-item-has-children:focus-within > .sub-menu {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, 4px);
    transition-delay: 0s;
  }

  /* short grace period before closing so a brief hover slip doesn't kill the panel */
  .main-menu li.menu-item-has-children > .sub-menu {
    transition-delay: 0.25s;
  }

  .main-menu .sub-menu li { display: block; margin: 0; }

  .main-menu .sub-menu li a {
    display: block;
    padding: .5625rem .875rem;
    border-radius: .5rem;
    white-space: nowrap;
    font-size: .9375rem;
  }

  .main-menu .sub-menu li a:hover { background: #f4f5fa; }
}

@media (max-width: 1024px) and (orientation: portrait) {
  .main-menu .sub-menu { display: none; padding-left: 1.25rem; }

  .main-menu li.subOpen > .sub-menu { display: block; }

  .main-menu li.subOpen > a::after { transform: rotate(225deg) translateY(-1px); }
}

/* ============================================================
   ROUND 8 — Golan Aug-3 comments
   ============================================================ */

/* story card: single video gradient (poster = video frame 1), no PNG underlay */
.hv2-story__card {
  background: #2f5df1;
}

.hv2-story__bg {
  transform: scale(1.015);
}

/* footer badges: real ISO / SOC2 artwork */
.hv2-footer__badges {
  display: flex;
  align-items: center;
  gap: 0.625rem;
}

.hv2-footer__badges img {
  height: 3.375rem;
  width: auto;
  display: block;
}

@media (max-width: 1024px) and (orientation: portrait) {
  /* story card scales with screen, video covers fully */
  .hv2-story__card { width: 100%; aspect-ratio: 720 / 713; }

  /* mobile nav: only the list scrolls, inside the panel below the header
     (scrolling the whole panel let items ride up over the logo row) */
  .main-menu.isActive {
    overflow: hidden;
    touch-action: none;
    /* list begins (and clips) right under the logo row */
    padding-top: calc(var(--header-height-mob) - 2.25rem);
  }

  .main-menu.isActive > ul {
    height: 100%;
    margin-top: 0;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    touch-action: pan-y;
    padding-bottom: 2.5rem;
  }

  /* lock the page while the menu is open so stray swipes can't scroll the
     body and trigger the theme's hide-on-scroll header (which took the
     close button with it) */
  html:has(.main-menu.isActive),
  body:has(.main-menu.isActive) {
    overflow: hidden;
    overscroll-behavior: none;
  }

  /* and even if hide-header fires, never hide it while the menu is open */
  .header:has(.main-menu.isActive) .header-inner {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
  }

  /* mobile nav hierarchy: clear top-level rows, nested sub-items */
  .main-menu > ul { gap: 0; }

  .main-menu > ul > li {
    padding: 1.125rem 0;
    border-bottom: 1px solid #edeff3;
  }

  .main-menu > ul > li:last-child { border-bottom: none; }

  .main-menu .sub-menu {
    margin-top: 0.875rem;
    padding: 0.25rem 0 0.25rem 1.125rem;
    border-left: 2px solid #e6e8ee;
  }

  .main-menu .sub-menu li { padding: 0.375rem 0; }

  .main-menu .sub-menu li a {
    font-size: 1.0625rem;
    color: #5a5f6a;
  }
}

/* round 8b: story quote panel = live glass over the video (replaces baked-gradient PNG).
   All panel metrics in cqw so it scales 1:1 with the card (design ref: 720px card). */
.hv2-story__content-img { display: none; }

.hv2-story__card { container-type: inline-size; }

.hv2-story__inner {
  position: relative;
  z-index: 1;
  width: 89%;
}

.hv2-story__card .hv2-story__logos {
  width: 78.5%;
  height: auto;
  display: block;
  margin: 0 0 7.8% 10.6%;
}

.hv2-story__glass {
  margin: 0;
  background: rgba(255, 255, 255, 0.10);
  -webkit-backdrop-filter: blur(22px);
  backdrop-filter: blur(22px);
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 3.59cqw;
  padding: 4.72cqw 5.69cqw 4.86cqw;
}

.hv2-story__glass blockquote {
  margin: 0;
  border: 0;
  padding: 0;
  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
  font-style: italic;
  font-weight: 400;
  font-size: 4.68cqw;
  line-height: 1.19;
  letter-spacing: 0.01em;
  color: #fff;
}

.hv2-story__glass figcaption {
  display: flex;
  align-items: center;
  gap: 2.3cqw;
  margin-top: 4.3cqw;
}

.hv2-story__glass figcaption img {
  width: 18.8%;
  aspect-ratio: 1 / 1;
  height: auto;
  flex: 0 0 auto;
  border-radius: 0.35rem;
  object-fit: cover;
  box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.35);
}

.hv2-story__glass figcaption strong {
  display: block;
  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
  font-weight: 300;
  font-size: 3.83cqw;
  line-height: 1.2;
  color: #fff;
}

.hv2-story__glass figcaption span {
  display: block;
  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
  font-weight: 300;
  font-size: 2.7cqw;
  margin-top: 0.6cqw;
  color: #fff;
}

/* ============================================================
   Nav redesign — mega menu with icons + descriptions (2026-08-04)
   ============================================================ */
.main-menu .sub-menu .nav-ico {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.375rem;
  height: 2.375rem;
  border-radius: 0.625rem;
  background: #eef1ff;
  color: #334deb;
}

.main-menu .sub-menu .nav-ico svg {
  width: 1.25rem;
  height: 1.25rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.main-menu .sub-menu .nav-txt {
  display: block;
  min-width: 0;
}

.main-menu .sub-menu .nav-ttl {
  display: block;
  font-weight: 600;
  font-size: 0.9375rem;
  line-height: 1.25;
  color: #15181e;
  transition: color 0.15s ease;
}

.main-menu .sub-menu .nav-desc {
  display: block;
  font-size: 0.8125rem;
  line-height: 1.35;
  color: #6a7080;
  margin-top: 0.1875rem;
}

@media (orientation: landscape), (min-width: 1025px) and (orientation: portrait) {
  .main-menu .sub-menu {
    padding: 0.625rem;
    border-radius: 1rem;
    border-color: #e4e7ef;
    box-shadow: 0 24px 60px rgba(22, 33, 58, 0.16), 0 4px 14px rgba(22, 33, 58, 0.06);
    min-width: 19rem;
  }

  .main-menu .sub-menu li a {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 0.625rem 0.75rem;
    border-radius: 0.75rem;
    white-space: normal;
  }

  .main-menu .sub-menu li a:hover { background: #f3f6ff; }

  .main-menu .sub-menu li a:hover .nav-ttl { color: #334deb; }

  /* mega panel for Platform */
  .main-menu li.has-mega { position: static; }

  /* the mega panel sits lower than the small panels, so its hover bridge
     must span the whole gap up to the nav link */
  .main-menu li.has-mega > .sub-menu::before {
    top: -1.75rem;
    height: 2rem;
  }

  .main-menu li.has-mega > .sub-menu {
    left: 50%;
    width: 44rem;
    max-width: calc(100vw - 2rem);
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 0.375rem;
    align-content: start;
  }

  /* lead row: Platform Overview spans the panel */
  .main-menu li.has-mega > .sub-menu > li:first-child {
    grid-column: 1 / -1;
    border-bottom: 1px solid #edeff5;
    padding-bottom: 0.375rem;
    margin-bottom: 0.375rem;
  }

  /* utility row: MDR + Connectors under a hairline */
  .main-menu li.has-mega > .sub-menu > li:nth-child(n+10) {
    border-top: 1px solid #edeff5;
    margin-top: 0.375rem;
    padding-top: 0.375rem;
  }
}

@media (max-width: 1024px) and (orientation: portrait) {
  .main-menu .sub-menu li a {
    display: flex;
    align-items: center;
    gap: 0.625rem;
  }

  .main-menu .sub-menu .nav-ico { width: 2rem; height: 2rem; border-radius: 0.5rem; }

  .main-menu .sub-menu .nav-ico svg { width: 1.0625rem; height: 1.0625rem; }

  .main-menu .sub-menu .nav-ttl { font-size: 1.0625rem; font-weight: 500; color: #3a3f4a; }

  .main-menu .sub-menu .nav-desc { display: none; }
}
/* ============================================================
   CONNECTORS PAGE (Figma Design V2 — frame 3104:5472)
   Scoped under .hvc; reuses hv2 tokens/footer already loaded.
   ============================================================ */



/* ---------- hero ---------- */
.hvc-hero {
  background: url(assets/app/img/connectors/hero-bg-2x.png) center / 100% 100% no-repeat, #3f57ee;
  color: #fff;
}

.hvc-hero__inner {
  max-width: 100rem;
  margin: 0 auto;
  padding: 5.375rem 5rem;
}

.hvc-hero__eyebrow {
  font-family: 'DieGrotesk-A', sans-serif;
  font-weight: 700;
  font-size: 1.1875rem;
  line-height: 1.5;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  opacity: 0.9;
  margin: 0 0 1rem;
}

.hvc-hero__title {
  font-family: 'DieGrotesk-C', 'DieGrotesk-A', sans-serif;
  font-weight: 700;
  font-size: 3.4375rem;
  line-height: 1;
  margin: 0 0 1rem;
  color: #fff;
}

.hvc-hero__sub {
  font-family: 'DieGrotesk-A', sans-serif;
  font-size: 1.25rem;
  line-height: 1.5;
  opacity: 0.9;
  margin: 0;
  max-width: 68rem;
}

/* ---------- browser ---------- */
.hvc-browser {
  padding: 2.875rem 0 6rem;
}

.hvc-container {
  max-width: 100rem;
  margin: 0 auto;
  padding: 0 5rem;
}

.hvc-search {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  border: 1px solid var(--hv2-line);
  border-radius: 0.625rem;
  padding: 0 1.25rem;
  height: 3.5rem;
  background: #fff;
  color: #9ca3af;
  cursor: text;
}

.hvc-search svg { flex: 0 0 auto; }

.hvc-search input {
  flex: 1;
  border: 0;
  outline: 0;
  background: transparent;
  height: 100%;
  font-family: 'DieGrotesk-A', sans-serif;
  font-size: 1.0625rem;
  color: var(--hv2-ink);
}

.hvc-search input::placeholder { color: #9ca3af; }
.hvc-search input::-webkit-search-cancel-button { -webkit-appearance: none; }

.hvc-layout {
  display: grid;
  grid-template-columns: 17.25rem minmax(0, 1fr);
  gap: 1.75rem;
  align-items: start;
  margin-top: 1.5rem;
}

.hvc-main { min-width: 0; }

/* ---------- category sidebar ---------- */
.hvc-cats {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
  position: sticky;
  top: 6.5rem;
}

.hvc-cat {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  width: 100%;
  border: 0;
  background: transparent;
  border-radius: 62.4375rem;
  padding: 0.6875rem 1.25rem;
  font-family: 'DieGrotesk-A', sans-serif;
  font-size: 1.0625rem;
  color: var(--hv2-ink);
  cursor: pointer;
  text-align: left;
  transition: background 0.15s ease;
}

.hvc-cat:hover { background: #f6f7f9; }
.hvc-cat.isActive { background: #f1f2f5; font-weight: 700; }

.hvc-cat svg, .hvc-cat img { flex: 0 0 auto; color: #4b5563; }

.hvc-cat span { flex: 1; }

.hvc-cat em {
  font-style: normal;
  font-size: 0.9375rem;
  color: #9ca3af;
  font-weight: 400;
}

/* ---------- card grid ---------- */
.hvc-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.25rem;
}

.hvc-card {
  position: relative;
  min-width: 0;
  border: 1px solid var(--hv2-line);
  border-radius: 0.75rem;
  background: #fff;
  padding: 1.5rem;
  transition: box-shadow 0.15s ease, border-color 0.15s ease;
}

.hvc-card:hover {
  border-color: #d5d9e2;
  box-shadow: 0 6px 20px rgba(16, 17, 20, 0.06);
}

.hvc-card__top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 1.125rem;
}

.hvc-card__icon {
  width: 2.75rem;
  height: 2.75rem;
  object-fit: contain;
}

.hvc-card__badge {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  border: 1px solid var(--hv2-line);
  border-radius: 62.4375rem;
  padding: 0.1875rem 0.625rem;
  font-family: 'DieGrotesk-A', sans-serif;
  font-size: 0.8125rem;
  color: var(--hv2-gray);
  background: #fff;
}

.hvc-card__name {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  min-width: 0;
  font-family: 'DieGrotesk-A', sans-serif;
  font-weight: 700;
  font-size: 1.1875rem;
  line-height: 1.25;
  color: var(--hv2-ink);
  margin: 0 0 0.5rem;
}

.hvc-card__name span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.hvc-beta {
  flex: 0 0 auto;
  font-style: normal;
  font-weight: 400;
  font-size: 0.8125rem;
  line-height: 1;
  color: #52525b;
  background: #f1f2f5;
  border-radius: 62.4375rem;
  padding: 0.3125rem 0.625rem;
}

.hvc-card__desc {
  font-family: 'DieGrotesk-A', sans-serif;
  font-size: 1rem;
  line-height: 1.45;
  color: var(--hv2-gray);
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.hvc-empty {
  font-family: 'DieGrotesk-A', sans-serif;
  font-size: 1.125rem;
  color: var(--hv2-gray);
  padding: 3rem 0;
  text-align: center;
}

/* ---------- reveal ---------- */
.hvc [data-reveal] {
  opacity: 0;
  transform: translateY(14px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

.hvc [data-reveal].is-revealed {
  opacity: 1;
  transform: none;
}

/* ---------- mobile (theme breakpoint) ---------- */
@media (max-width: 1024px) and (orientation: portrait) {
  .hvc-container, .hvc-hero__inner { padding-left: 1.25rem; padding-right: 1.25rem; }
  .hvc-hero__inner { padding-top: 3rem; padding-bottom: 3rem; }
  .hvc-hero__title { font-size: 2.125rem; line-height: 1.1; }
  .hvc-hero__sub { font-size: 1.0625rem; }
  .hvc-hero__eyebrow { font-size: 1rem; }
  .hvc-hero { background-size: cover; background-position: center; }

  .hvc-browser { padding: 1.75rem 0 4rem; }

  .hvc-layout {
    grid-template-columns: minmax(0, 1fr);
    gap: 1.25rem;
  }

  .hvc-cats {
    position: static;
    flex-direction: row;
    overflow-x: auto;
    gap: 0.375rem;
    padding-bottom: 0.375rem;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  .hvc-cats::-webkit-scrollbar { display: none; }

  .hvc-cat {
    width: auto;
    flex: 0 0 auto;
    padding: 0.5625rem 1rem;
    border: 1px solid var(--hv2-line);
    background: #fff;
  }

  .hvc-cat.isActive { background: #f1f2f5; border-color: #d5d9e2; }
  .hvc-cat svg, .hvc-cat img { display: none; }

  .hvc-grid { grid-template-columns: minmax(0, 1fr); }
}
/* ============================================================
   WHY ARTEMIS PAGE (Figma Design V2 — frame 3174:3888)
   Scoped under .hvw; reuses hv2 tokens/footer already loaded.
   ============================================================ */



.hvw-container {
  max-width: 100rem;
  margin: 0 auto;
  padding: 0 5rem;
}

.hvw-eyebrow {
  font-family: 'DieGrotesk-A', sans-serif;
  font-weight: 700;
  font-size: 1.1875rem;
  line-height: 1.5;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  color: #334deb;
  margin: 0 0 1rem;
}

.hvw-eyebrow.--light { color: #fff; opacity: 0.9; }

.hvw-h2 {
  font-family: 'DieGrotesk-C', 'DieGrotesk-A', sans-serif;
  font-weight: 700;
  font-size: 2.625rem;
  line-height: 1.15;
  color: #171d1d;
  margin: 0 0 1rem;
}

.hvw-h2.--light { color: #fff; }

.hvw-lede {
  font-family: 'DieGrotesk-A', sans-serif;
  font-size: 1.125rem;
  line-height: 1.5;
  color: #18181b;
  margin: 0;
  max-width: 72rem;
}

.hvw-lede.--light { color: #fff; opacity: 0.9; font-size: 1.25rem; }
.hvw-lede.--small { font-size: 1rem; }

.hvw-chev {
  font-family: Menlo, monospace;
  font-weight: 700;
  font-size: 0.84375rem;
  color: #334deb;
  margin-right: 0.75rem;
  position: relative;
  top: -0.0625rem;
}

/* ---------- band gradient videos ---------- */
.hvw-hero, .hvw-stats, .hvp-hero, .hvp-band { position: relative; overflow: hidden; }
.hv-band-vid {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
  pointer-events: none;
}
.hvw-hero > .hvw-container, .hvw-stats > .hvw-container, .hvw-stats > * ,
.hvp-hero > .hvp-container, .hvp-band > .hvp-container { position: relative; z-index: 1; }

/* ---------- hero band ---------- */
.hvw-hero {
  background: url(assets/app/img/why/hero-band-2x.png) center / 100% 100% no-repeat, #3f57ee;
  color: #fff;
}

.hvw-hero .hvw-container { padding-top: 5.375rem; padding-bottom: 5.375rem; }

.hvw-hero__eyebrow {
  font-family: 'DieGrotesk-A', sans-serif;
  font-weight: 700;
  font-size: 1.1875rem;
  line-height: 1.5;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  opacity: 0.9;
  margin: 0 0 1rem;
}

.hvw-hero__title {
  font-family: 'DieGrotesk-C', 'DieGrotesk-A', sans-serif;
  font-weight: 700;
  font-size: 3.4375rem;
  line-height: 1.05;
  color: #fff;
  margin: 0 0 1rem;
}

.hvw-hero__sub {
  font-family: 'DieGrotesk-A', sans-serif;
  font-size: 1.25rem;
  line-height: 1.5;
  opacity: 0.9;
  margin: 0;
  max-width: 68rem;
}

/* ---------- feature pillars ---------- */
.hvw-pillars { padding: 5rem 0 0; }

.hvw-pillars__row {
  display: grid;
  grid-template-columns: 1fr auto 1fr auto 1fr;
  gap: 3rem;
  align-items: start;
}

.hvw-pillar h3 {
  font-family: 'Inter', 'DieGrotesk-A', sans-serif;
  font-weight: 500;
  font-size: 1.125rem;
  color: #171d1d;
  margin: 0 0 0.625rem;
}

.hvw-pillar p {
  font-family: 'DieGrotesk-A', sans-serif;
  font-size: 1rem;
  line-height: 1.5;
  color: #586267;
  margin: 0;
}

.hvw-pillar__sep { width: 1px; background: #e6eae6; align-self: stretch; }

/* ---------- solution sections ---------- */
.hvw-solution { padding: 5.75rem 0 0; }

.hvw-solution__head { margin-bottom: 4rem; }

.hvw-media {
  display: grid;
  grid-template-columns: 31rem minmax(0, 1fr);
  gap: 3.125rem;
  align-items: stretch;
}

.hvw-media__img {
  border-radius: 1rem;
  overflow: hidden;
}

.hvw-media__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.hvw-media__cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.75rem 3.125rem;
  align-content: stretch;
}

.hvw-card {
  background: #fff;
  border: 1px solid #e6eae6;
  border-radius: 1.04rem;
  padding: 1.75rem;
}

.hvw-card h4 {
  font-family: 'Inter', 'DieGrotesk-A', sans-serif;
  font-weight: 500;
  font-size: 1.125rem;
  color: #171d1d;
  margin: 0 0 0.625rem;
}

.hvw-card p {
  font-family: 'DieGrotesk-A', sans-serif;
  font-size: 1rem;
  line-height: 1.5;
  color: #586267;
  margin: 0;
}

/* quote rows */
.hvw-quote {
  margin-top: 2.5rem;
  background: #f3f6ff;
  border-radius: 1.04rem;
  padding: 1.75rem;
}

.hvw-quote__q {
  font-family: 'DieGrotesk-A', sans-serif;
  font-size: 1.125rem;
  line-height: 1.4;
  color: #18181b;
  margin: 0 0 1rem;
}

.hvw-quote__a {
  border-top: 1px solid #93a2ff;
  padding-top: 1rem;
  font-family: 'DieGrotesk-A', sans-serif;
  font-size: 1.125rem;
  line-height: 1.5;
  color: #18181b;
  margin: 0;
}

.hvw-quote__a a {
  color: #334deb;
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

/* ---------- only artemis chain ---------- */
.hvw-chain { padding: 5.75rem 0 0; }

.hvw-chain .hvw-solution__head { margin-bottom: 2.625rem; }

.hvw-chain__row {
  display: grid;
  grid-template-columns: 1fr auto 1fr auto 1fr;
  gap: 0.5rem;
  align-items: center;
}

.hvw-chain__card {
  background: #fff;
  border: 1px solid #e7e7ee;
  border-radius: 1rem;
  padding: 1.8125rem 1.8125rem 1.75rem;
  align-self: stretch;
}

.hvw-chain__head { margin-bottom: 0.625rem; }

.hvw-chain__head img { height: 3.625rem; width: auto; display: block; margin-bottom: 1rem; }

.hvw-chain__head h4 {
  font-family: 'DieGrotesk-A', sans-serif;
  font-weight: 700;
  font-size: 1rem;
  color: #141419;
  margin: 0;
}

.hvw-chain__card p {
  font-family: 'DieGrotesk-A', sans-serif;
  font-size: 0.875rem;
  line-height: 1.55;
  color: #5c5c66;
  margin: 0;
}

.hvw-chain__arrow {
  font-family: 'Inter', sans-serif;
  font-size: 1.25rem;
  color: #141419;
  padding: 0 0.375rem;
}

.hvw-chain__note {
  margin: 2.5rem 0 0;
  text-align: left;
  font-family: 'Inter', 'DieGrotesk-A', sans-serif;
  font-weight: 700;
  font-size: 0.9375rem;
  color: #141419;
}

/* ---------- stats band ---------- */
.hvw-stats {
  margin-top: 5.75rem;
  background: url(assets/app/img/why/stats-band-2x.png) center / 100% 100% no-repeat, #3f57ee;
  padding: 6.1875rem 0 7rem;
}

.hvw-stats__row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 3rem;
  margin-top: 3rem;
}

.hvw-stats__chip {
  background: rgba(255, 255, 255, 0.10);
  border: 1px solid #fff;
  border-radius: 1rem;
  padding: 3rem 3rem 2.875rem;
  text-align: center;
  color: #fff;
}

.hvw-stats__label {
  font-family: 'DieGrotesk-C', 'DieGrotesk-A', sans-serif;
  font-weight: 700;
  font-size: 1.125rem;
  margin: 0 0 0.5rem;
}

.hvw-stats__num {
  font-family: 'DieGrotesk-C', 'DieGrotesk-A', sans-serif;
  font-weight: 700;
  font-size: 8.125rem;
  line-height: 1;
  margin: 0 0 0.5rem;
  white-space: nowrap;
}

.hvw-stats__num span { font-size: 2.375rem; }

.hvw-stats__sub {
  font-family: 'DieGrotesk-A', sans-serif;
  font-size: 1.4375rem;
  line-height: 1.35;
  margin: 0;
}

/* ---------- getting there (SIEM) ---------- */
.hvw-siem { padding: 5rem 0 0; }

.hvw-siem .hvw-solution__head { margin-bottom: 4rem; }

.hvw-siem__rows { display: flex; flex-direction: column; gap: 1.875rem; }

.hvw-siem__row {
  display: grid;
  grid-template-columns: 5.1875rem minmax(0, 1fr);
  gap: 2rem;
  background: #fff;
  border: 1px solid #e6eae6;
  border-radius: 1.04rem;
  padding: 1.75rem;
  align-items: start;
}

.hvw-siem__num { width: 4.125rem; height: auto; margin-top: 0.375rem; }

.hvw-siem__label {
  font-family: 'DieGrotesk-A', sans-serif;
  font-size: 1.125rem;
  color: #334deb;
  margin: 0 0 0.875rem;
  padding-bottom: 0.875rem;
  border-bottom: 1px solid #e6eae6;
}

.hvw-siem__text {
  font-family: 'DieGrotesk-A', sans-serif;
  font-size: 1.125rem;
  line-height: 1.5;
  color: #18181b;
  margin: 0;
}

/* ---------- FAQ ---------- */
.hvw-faq { padding: 5.75rem 0 0; }

.hvw-faq .hvw-solution__head { margin-bottom: 2.625rem; }

.hvw-faq__list { display: flex; flex-direction: column; gap: 0.9375rem; }

.hvw-faq__item {
  background: #f3f6ff;
  border-radius: 0.875rem;
}

.hvw-faq__q {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  width: 100%;
  border: 0;
  background: transparent;
  cursor: pointer;
  text-align: left;
  padding: 1.375rem 1.75rem;
  font-family: 'DieGrotesk-A', sans-serif;
  font-weight: 700;
  font-size: 1.125rem;
  color: #15181e;
}

.hvw-faq__icon {
  position: relative;
  flex: 0 0 auto;
  width: 0.875rem;
  height: 0.875rem;
}

.hvw-faq__icon::before,
.hvw-faq__icon::after {
  content: '';
  position: absolute;
  background: #15181e;
  left: 0;
  top: 50%;
  width: 0.875rem;
  height: 1px;
}

.hvw-faq__icon::after {
  transform: rotate(90deg);
  transition: transform 0.2s ease;
}

.hvw-faq__item.isOpen .hvw-faq__icon::after { transform: rotate(0deg); }

.hvw-faq__a {
  display: none;
  padding: 0 1.75rem 1.375rem;
}

.hvw-faq__item.isOpen .hvw-faq__a { display: block; }

.hvw-faq__a p {
  font-family: 'DieGrotesk-A', sans-serif;
  font-size: 1.0625rem;
  line-height: 1.55;
  color: #454b57;
  margin: 0;
}

/* ---------- CTA ---------- */
.hvw-cta { padding: 5.75rem 0 6rem; }

.hvw-cta__banner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 2rem;
  align-items: center;
  background: url(assets/app/img/why/cta-band-2x.png) center / cover no-repeat, #3f57ee;
  border-radius: 2rem;
  padding: 4.1875rem 2.5rem 4.1875rem 5rem;
  color: #fff;
  overflow: hidden;
}

.hvw-cta__eyebrow {
  font-family: 'DieGrotesk-A', sans-serif;
  font-size: 0.875rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin: 0 0 1.25rem;
}

.hvw-cta__title {
  font-family: 'DieGrotesk-B', 'DieGrotesk-A', sans-serif;
  font-weight: 400;
  font-size: 3rem;
  line-height: 1.08;
  color: #fff;
  margin: 0 0 1.25rem;
  max-width: 36rem;
}

.hvw-cta__sub,
.hvw-cta__bullets {
  font-family: 'DieGrotesk-A', sans-serif;
  font-size: 1rem;
  line-height: 1.55;
  margin: 0 0 1.25rem;
  max-width: 36rem;
}

.hvw-cta__banner .btn {
  margin-top: 0.75rem;
}

.hvw-cta__media img {
  width: 100%;
  height: auto;
  display: block;
}

/* ---------- reveal ---------- */
.hvw [data-reveal] {
  opacity: 0;
  transform: translateY(14px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

.hvw [data-reveal].is-revealed {
  opacity: 1;
  transform: none;
}

/* ---------- mobile (theme breakpoint) ---------- */
@media (max-width: 1024px) and (orientation: portrait) {
  .hvw-container { padding-left: 1.25rem; padding-right: 1.25rem; }
  .hvw-hero .hvw-container { padding-top: 3rem; padding-bottom: 3rem; }
  .hvw-hero { background-size: cover; background-position: center; }
  .hvw-hero__title { font-size: 2.125rem; line-height: 1.12; }
  .hvw-hero__sub { font-size: 1.0625rem; }
  .hvw-hero__eyebrow { font-size: 1rem; }

  .hvw-h2 { font-size: 1.75rem; }
  .hvw-lede { font-size: 1rem; }
  .hvw-eyebrow { font-size: 1rem; }

  .hvw-pillars { padding-top: 2.75rem; }
  .hvw-pillars__row { grid-template-columns: 1fr; gap: 1.5rem; }
  .hvw-pillar__sep { width: 100%; height: 1px; }

  .hvw-solution { padding-top: 3.25rem; }
  .hvw-solution__head { margin-bottom: 2rem; }

  .hvw-media { grid-template-columns: 1fr; gap: 1.25rem; }
  .hvw-media__img img { aspect-ratio: 1 / 1; }
  .hvw-media__cards { grid-template-columns: 1fr; gap: 1.25rem; }

  .hvw-quote { margin-top: 1.5rem; padding: 1.375rem; }
  .hvw-quote__q, .hvw-quote__a { font-size: 1rem; }

  .hvw-chain { padding-top: 3.25rem; }
  .hvw-chain__row { grid-template-columns: 1fr; gap: 1rem; }
  .hvw-chain__arrow { text-align: center; transform: rotate(90deg); padding: 0; }
  .hvw-chain__note { text-align: left; }

  .hvw-stats { margin-top: 3.25rem; padding: 3rem 0 3.5rem; background-size: cover; background-position: center; }
  .hvw-stats__row { grid-template-columns: 1fr; gap: 1.25rem; margin-top: 2rem; }
  .hvw-stats__chip { padding: 2rem 1.5rem; }
  .hvw-stats__num { font-size: 5.25rem; }
  .hvw-stats__sub { font-size: 1.125rem; }

  .hvw-siem { padding-top: 3.25rem; }
  .hvw-siem .hvw-solution__head { margin-bottom: 2rem; }
  .hvw-siem__row { grid-template-columns: 1fr; gap: 1rem; padding: 1.375rem; }
  .hvw-siem__num { width: 3.5rem; margin-top: 0; }
  .hvw-siem__text { font-size: 1rem; }

  .hvw-faq { padding-top: 3.25rem; }
  .hvw-faq__q { font-size: 1rem; padding: 1.125rem 1.25rem; }
  .hvw-faq__a { padding: 0 1.25rem 1.125rem; }
  .hvw-faq__a p { font-size: 0.9375rem; }

  .hvw-cta { padding: 3.25rem 0 3.5rem; }
  .hvw-cta__banner { grid-template-columns: 1fr; padding: 2rem 1.5rem; gap: 1.5rem; }
  .hvw-cta__title { font-size: 2rem; }
}
/* ============================================================
   PLATFORM PRODUCT PAGES (Figma Design V2 — frames 3186/3192)
   Shared by all 8 pages; scoped under .hvp. Reuses hvw-faq.
   ============================================================ */



.hvp-container {
  max-width: 100rem;
  margin: 0 auto;
  padding: 0 5rem;
}

/* ---------- hero band ---------- */
.hvp-hero {
  background: url(assets/app/img/why/hero-band-2x.png) center / 100% 100% no-repeat, #3f57ee;
  color: #fff;
}

.hvp-hero .hvp-container { padding-top: 5.375rem; padding-bottom: 5.375rem; }

.hvp-hero__eyebrow {
  font-family: 'DieGrotesk-A', sans-serif;
  font-weight: 700;
  font-size: 1.1875rem;
  line-height: 1.5;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  opacity: 0.9;
  margin: 0 0 1rem;
}

.hvp-hero__title {
  font-family: 'DieGrotesk-C', 'DieGrotesk-A', sans-serif;
  font-weight: 700;
  font-size: 3.4375rem;
  line-height: 1.05;
  color: #fff;
  margin: 0 0 1rem;
  max-width: 66rem;
}

.hvp-hero__sub {
  font-family: 'DieGrotesk-A', sans-serif;
  font-size: 1.25rem;
  line-height: 1.5;
  opacity: 0.9;
  margin: 0;
  max-width: 68rem;
}

/* ---------- who this is for ---------- */
.hvp-who { padding: 2.5rem 0; border-bottom: 1px solid #eef0f4; }

.hvp-who .hvp-container {
  display: flex;
  align-items: center;
  gap: 2rem;
}

.hvp-who__label {
  flex: 0 0 auto;
  font-family: 'DieGrotesk-A', sans-serif;
  font-weight: 700;
  font-size: 1.1875rem;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  color: #334deb;
  margin: 0;
}

.hvp-who__sep { width: 1px; align-self: stretch; background: #e6e8ee; }

.hvp-who__text {
  font-family: 'DieGrotesk-A', sans-serif;
  font-size: 1.5rem;
  line-height: 1.4;
  color: #18181b;
  margin: 0;
}

/* ---------- feature rows ---------- */
.hvp-feat { padding: 2rem 0; }

.hvp-feat__row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 4rem;
  align-items: center;
  border-radius: 1.5rem;
  padding: 3.125rem;
}

.hvp-feat.--tint .hvp-feat__row { background: #f3f6ff; }

.hvp-feat.--flip .hvp-feat__media { order: 2; }
.hvp-feat.--flip .hvp-feat__text { order: 1; }

.hvp-feat__media img,
.hvp-feat__media video {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 1rem;
}

.hvp-feat__text h2 {
  font-family: 'Inter', 'DieGrotesk-A', sans-serif;
  font-weight: 500;
  font-size: 1.875rem;
  line-height: 1.2;
  color: #171d1d;
  margin: 0 0 1rem;
}

.hvp-feat__text p {
  font-family: 'DieGrotesk-A', sans-serif;
  font-size: 1.5rem;
  line-height: 1.45;
  color: #586267;
  margin: 0;
}

/* ---------- mid band (quote / stat / statement) ---------- */
.hvp-band {
  margin-top: 3rem;
  background: url(assets/app/img/platform/band-bg-2x.png) center / cover no-repeat, #3f57ee;
  color: #fff;
  padding: 4rem 0;
}

.hvp-band__quote {
  display: flex;
  align-items: center;
  gap: 2rem;
  max-width: 80rem;
  margin: 0;
  background: rgba(255, 255, 255, 0.10);
  border: 1px solid #fff;
  border-radius: 1rem;
  padding: 3rem;
}

.hvp-band__avatar {
  flex: 0 0 auto;
  width: 7.5rem;
  height: 7.5rem;
  border-radius: 0.5rem;
  object-fit: cover;
  object-position: bottom;
  background: rgba(255, 255, 255, 0.4);
}

.hvp-band__qtext {
  font-family: 'Inter', 'DieGrotesk-A', sans-serif;
  font-weight: 500;
  font-size: 1.5rem;
  line-height: 1.45;
  margin: 0 0 1.25rem;
}

.hvp-band__qname {
  display: flex;
  align-items: center;
  gap: 1rem;
  font-family: 'Inter', 'DieGrotesk-A', sans-serif;
  font-weight: 700;
  font-size: 1.5rem;
  margin: 0;
}

.hvp-band__qname img { height: 2.25rem; width: auto; }

.hvp-band__stat {
  display: flex;
  align-items: center;
  gap: 4rem;
  max-width: 80rem;
  margin: 0;
}

.hvp-band__num {
  flex: 0 0 auto;
  font-family: 'DieGrotesk-C', 'DieGrotesk-A', sans-serif;
  font-weight: 700;
  font-size: 8.125rem;
  line-height: 1;
  margin: 0;
  white-space: nowrap;
}

.hvp-band__desc {
  font-family: 'DieGrotesk-A', sans-serif;
  font-size: 1.5rem;
  line-height: 1.45;
  margin: 0;
  max-width: 50rem;
}

.hvp-band__statement {
  font-family: 'DieGrotesk-C', 'DieGrotesk-A', sans-serif;
  font-weight: 700;
  font-size: 2rem;
  line-height: 1.35;
  max-width: 72rem;
  margin: 0;
}

/* ---------- FAQ ---------- */
.hvp-faq { padding: 4.5rem 0 6rem; }

.hvp-faq__title {
  font-family: 'DieGrotesk-A', sans-serif;
  font-weight: 700;
  font-size: 3rem;
  color: #15181e;
  margin: 0 0 2.25rem;
}

/* ---------- reveal ---------- */
.hvp [data-reveal] {
  opacity: 0;
  transform: translateY(14px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

.hvp [data-reveal].is-revealed {
  opacity: 1;
  transform: none;
}

/* ---------- mobile ---------- */
@media (max-width: 1024px) and (orientation: portrait) {
  .hvp-container { padding-left: 1.25rem; padding-right: 1.25rem; }
  .hvp-hero .hvp-container { padding-top: 3rem; padding-bottom: 3rem; }
  .hvp-hero { background-size: cover; background-position: center; }
  .hvp-hero__title { font-size: 2.125rem; line-height: 1.12; }
  .hvp-hero__sub { font-size: 1.0625rem; }
  .hvp-hero__eyebrow { font-size: 1rem; }

  .hvp-who .hvp-container { flex-direction: column; align-items: flex-start; gap: 0.75rem; }
  .hvp-who__sep { display: none; }
  .hvp-who__text { font-size: 1.125rem; }

  .hvp-feat { padding: 0.75rem 0; }
  .hvp-feat__row { grid-template-columns: 1fr; gap: 1.5rem; padding: 1.375rem; }
  .hvp-feat.--flip .hvp-feat__media { order: 1; }
  .hvp-feat.--flip .hvp-feat__text { order: 2; }
  .hvp-feat__text h2 { font-size: 1.375rem; }
  .hvp-feat__text p { font-size: 1.0625rem; }

  .hvp-band { padding: 2.5rem 0; margin-top: 2rem; }
  .hvp-band__quote { flex-direction: column; align-items: flex-start; gap: 1.25rem; padding: 1.5rem; }
  .hvp-band__avatar { width: 4.5rem; height: 4.5rem; }
  .hvp-band__qtext { font-size: 1.125rem; margin-bottom: 1rem; }
  .hvp-band__qname { font-size: 1.125rem; flex-wrap: wrap; gap: 0.625rem 1rem; }
  .hvp-band__qname img { height: 1.625rem; flex-basis: 100%; width: auto; align-self: flex-start; object-fit: contain; object-position: left; }
  .hvp-band__stat { flex-direction: column; align-items: flex-start; gap: 1rem; }
  .hvp-band__num { font-size: 5rem; }
  .hvp-band__desc { font-size: 1.125rem; }
  .hvp-band__statement { font-size: 1.25rem; text-align: left; }

  .hvp-faq { padding: 3rem 0 3.5rem; }
  .hvp-faq__title { font-size: 1.875rem; }
}

/* overview CTA */
.hvp-cta { padding: 3rem 0 6rem; }


/* overview: subtle product links on feature titles */
.hvp-feat__text h2 a {
  color: inherit;
  text-decoration: none;
  transition: color 0.15s ease;
}

.hvp-feat__text h2 a::after {
  content: ' \2192';
  display: inline-block;
  opacity: 0;
  transform: translateX(-4px);
  transition: opacity 0.15s ease, transform 0.15s ease;
}

.hvp-feat__text h2 a:hover { color: #334deb; }
.hvp-feat__text h2 a:hover::after { opacity: 1; transform: translateX(0); }
