/* Derin Fikirler — birleşik stylesheet (fonts + design system + statik düzeltmeler) */
@font-face{
  font-family: "Inter";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("/assets/fonts/inter-latin.woff2?v=c940764593") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face{
  font-family: "Inter";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("/assets/fonts/inter-latin-ext.woff2?v=a28eb6d3cc") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face{
  font-family: "Albert Sans";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("/assets/fonts/albert-sans-latin.woff2?v=acf304385d") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face{
  font-family: "Albert Sans";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("/assets/fonts/albert-sans-latin-ext.woff2?v=2260ced3c4") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face{
  font-family: "Cormorant Garamond";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("/assets/fonts/cormorant-garamond-latin.woff2?v=5d618c462b") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face{
  font-family: "Cormorant Garamond";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("/assets/fonts/cormorant-garamond-latin-ext.woff2?v=9dc38267bd") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* Voya design tokens.
   Every value here is lifted from the production voya.digital stylesheet -
   nothing is invented. Consume them as var(--voya-*) in app-level layout CSS. */

:root {
  /* ---- Neutrals: the system is monochrome by design ---- */
  --voya-color-black: #000000;
  --voya-color-white: #ffffff;

  --voya-color-ink-900: #101010; /* footer underlay, mobile menu footer */
  --voya-color-ink-800: #121212; /* dark cards, form wrapper */
  --voya-color-ink-700: #1a1a1a; /* pagination active, dropdown hover */
  --voya-color-ink-600: #262626; /* hairlines on black */
  --voya-color-ink-500: #282828; /* button hover */
  --voya-color-ink-400: #303030; /* input border */
  --voya-color-ink-300: #3f3f3f; /* rules on black */
  --voya-color-ink-200: #454545; /* legal text on black */

  --voya-color-gray-700: #606060; /* helper text */
  --voya-color-gray-600: #737373; /* footer nav */
  --voya-color-gray-500: #8a8a8a; /* stat note */
  --voya-color-gray-450: #8b8f8e; /* specimen labels */
  --voya-color-gray-400: #8d8d8d; /* placeholders */
  --voya-color-gray-300: #bfbfbf; /* name on dark */
  --voya-color-gray-250: #c3c3c3; /* quote on dark */
  --voya-color-gray-200: #d9d9d9; /* dividers */
  --voya-color-gray-150: #d5d5d5; /* header divider */

  --voya-color-line: #e8e8e8;           /* scrollbar track, control buttons */
  --voya-color-line-soft: #edf0f0;      /* specimen rules */
  --voya-color-surface: #f3f3f3;        /* card ground */
  --voya-color-surface-muted: #e3e3e3;  /* image placeholder */
  --voya-color-surface-alt: #f5f7f8;    /* marquee chip */
  --voya-color-surface-subtle: #f5f5f5; /* light button hover */

  /* ---- Accents: used sparingly, one per context ---- */
  --voya-color-accent-green: #006a4d; /* stat figures */
  --voya-color-accent-mint: #17c49b;  /* marquee icon */
  --voya-color-accent-teal: #6ae7e0;  /* live/availability dot */

  /* ---- Feedback ---- */
  --voya-color-danger: #b50606;      /* field validation */
  --voya-color-danger-soft: #ff6b6b; /* request-level error banner */

  /* ---- Overlays ---- */
  --voya-overlay-strong: rgba(0, 0, 0, 0.6);
  --voya-overlay-hairline: rgba(255, 255, 255, 0.1);
  --voya-overlay-text: rgba(255, 255, 255, 0.8);

  /* ---- Typography ---- */
  --voya-font-sans: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --voya-font-display: "Albert Sans", "Inter", ui-sans-serif, system-ui, sans-serif;
  --voya-font-serif: "Cormorant Garamond", ui-serif, Georgia, serif;

  /* Display sizes carry heavy negative tracking - that is the brand's signature. */
  --voya-text-display: 72px;
  --voya-text-display-tracking: -4px;
  --voya-text-h1: 50px;
  --voya-text-h1-tracking: -2.08px;
  --voya-text-h2: 40px;
  --voya-text-h2-tracking: -2px;
  --voya-text-h3: 32px;
  --voya-text-h3-tracking: -0.06em;
  --voya-text-h4: 24px;
  --voya-text-h4-tracking: -0.05em;
  --voya-text-lead: 30px;
  --voya-text-lead-tracking: -0.96px;
  --voya-text-body: 16px;
  --voya-text-body-tracking: -0.04em;
  --voya-text-small: 14px;
  --voya-text-small-tracking: -0.42px;
  --voya-text-caption: 12px;
  --voya-text-caption-tracking: -0.02em;

  --voya-leading-tight: 101%;
  --voya-leading-snug: 120%;
  --voya-leading-normal: 136%;
  --voya-leading-relaxed: 164%;

  --voya-weight-light: 300;
  --voya-weight-regular: 400;
  --voya-weight-medium: 500;
  --voya-weight-semibold: 600;

  /* ---- Radii ---- */
  --voya-radius-xs: 6px;
  --voya-radius-sm: 8px;
  --voya-radius-md: 10px;
  --voya-radius-lg: 12px;
  --voya-radius-xl: 16px;
  --voya-radius-2xl: 30px;
  --voya-radius-full: 9999px;

  /* ---- Spacing ---- */
  --voya-space-1: 4px;
  --voya-space-2: 8px;
  --voya-space-3: 10px;
  --voya-space-4: 16px;
  --voya-space-5: 18px;
  --voya-space-6: 24px;
  --voya-space-7: 32px;
  --voya-space-8: 40px;
  --voya-space-9: 50px;
  --voya-space-10: 64px;
  --voya-space-11: 80px;
  --voya-space-12: 96px;
  --voya-space-13: 160px;

  /* ---- Layout ---- */
  /* The page measure the site actually renders: a 1440px container capped at
     1280px, with 24px gutters. The footer keeps its own wider 1440px band. */
  --voya-container-max: 1280px;
  --voya-container-pad: 24px;
  --voya-container-pad-mobile: 20px;
  --voya-container-max-wide: 1440px;

  /* ---- Motion ---- */
  --voya-duration-fast: 0.14s; /* @kind other */
  --voya-duration-base: 0.2s; /* @kind other */
  --voya-duration-slow: 0.3s; /* @kind other */
  --voya-duration-image: 0.8s; /* @kind other */
  --voya-ease: cubic-bezier(0.4, 0, 0.2, 1); /* @kind other */
}

/* Element-level defaults. Scoped to the components' own class namespace plus
   a single opt-in surface class, so dropping the stylesheet into a host app
   never restyles the host's own markup. */

.voya-root,
[class^="voya-"],
[class*=" voya-"] {
  box-sizing: border-box;
}

.voya-root {
  font-family: var(--voya-font-sans);
  font-size: var(--voya-text-body);
  font-weight: var(--voya-weight-regular);
  line-height: var(--voya-leading-normal);
  letter-spacing: var(--voya-text-body-tracking);
  color: var(--voya-color-black);
  background-color: var(--voya-color-white);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

.voya-root--dark {
  color: var(--voya-color-white);
  background-color: var(--voya-color-black);
}

/* The hover affordance the whole site shares: a rule that wipes in from the
   left and out to the right. Composable onto any inline element. */
.voya-underline {
  position: relative;
}



/* Every component root declares the family itself. Relying on a `.voya-root`
   ancestor is not safe: host layouts and preview cards mount components
   directly, and an undeclared root falls back to the browser serif. Children
   inherit from these roots, so `TypeSpecimen` can still swap its own family. */
.voya-container,
.voya-divider,
.voya-badge,
.voya-pulse,
.voya-seal,
.voya-heading,
.voya-media,
.voya-logo,
.voya-btn,
.voya-arrowlink,
.voya-textlink,
.voya-flip,
.voya-header,
.voya-mobilemenu,
.voya-footer,
.voya-pagination,
.voya-breadcrumb,
.voya-slidernav,
.voya-workcard,
.voya-blogcard,
.voya-quote,
.voya-partner,
.voya-client,
.voya-member,
.voya-benefit,
.voya-author,
.voya-hero,
.voya-cta,
.voya-marquee,
.voya-stats,
.voya-specimen,
.voya-field,
.voya-select,
.voya-contactform {
  font-family: var(--voya-font-sans);
  -webkit-font-smoothing: antialiased;
}

/* Inheritable default so plain host markup - a <p> the app author wrote, a <span>
   of layout glue - lands in the brand face instead of the browser serif. Set on
   `html` rather than `body`, so any host that styles `body` still wins. */
html {
  font-family: var(--voya-font-sans);
  -webkit-font-smoothing: antialiased;
}

.voya-arrowlink {
  display: inline-flex;
  align-items: center;
  color: inherit;
  text-decoration: none;
  cursor: pointer;
}
.voya-arrowlink__arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: none;
  width: 32px;
  height: 32px;
  margin-right: 8px;
  border-radius: 50%;
  color: var(--voya-color-black);
  background-color: var(--voya-color-white);
  vertical-align: middle;
  transition: all var(--voya-duration-base) linear;
}
.voya-arrowlink__arrow svg { width: 13px; height: 13px; }

.voya-arrowlink__text {
  display: inline-block;
  max-width: 0;
  overflow: hidden;
  white-space: nowrap;
  vertical-align: middle;
  font-size: var(--voya-text-body);
  font-weight: var(--voya-weight-medium);
  line-height: var(--voya-leading-normal);
  letter-spacing: -0.32px;
  transition: max-width var(--voya-duration-slow) var(--voya-ease);
}

.voya-arrowlink:hover .voya-arrowlink__text,
.voya-arrowlink.is-expanded .voya-arrowlink__text { max-width: 100%; }

.voya-arrowlink:hover .voya-arrowlink__arrow,
.voya-arrowlink.is-expanded .voya-arrowlink__arrow {
  color: var(--voya-color-white);
  background: var(--voya-color-black);
}

@media (max-width: 992px) {
  .voya-arrowlink__text { max-width: none; }
}

/* On a black band the hover flip would paint a black disc on black. Keep the
   disc white and let the label carry the state instead. */
.voya-arrowlink--onDark { color: var(--voya-color-white); }
.voya-arrowlink--onDark .voya-arrowlink__arrow,
.voya-arrowlink--onDark:hover .voya-arrowlink__arrow,
.voya-arrowlink--onDark.is-expanded .voya-arrowlink__arrow {
  color: var(--voya-color-black);
  background: var(--voya-color-white);
}

.voya-author { display: flex; flex-direction: column; gap: var(--voya-space-4); }
.voya-author--light { color: var(--voya-color-white); }
.voya-author--dark { color: var(--voya-color-black); }

.voya-author__person { display: flex; align-items: center; gap: var(--voya-space-4); }
.voya-author__avatar {
  display: block;
  width: 64px;
  height: 64px;
  overflow: hidden;
  border-radius: 50%;
  flex: none;
}
.voya-author__avatar img { width: 100%; height: 100%; object-fit: cover; }
.voya-author__info { display: flex; flex-direction: column; gap: var(--voya-space-1); }
.voya-author__name {
  font-size: 20px;
  font-weight: var(--voya-weight-medium);
  line-height: 24.56px;
  letter-spacing: -0.03em;
}
.voya-author__date {
  font-size: var(--voya-text-body);
  font-weight: var(--voya-weight-regular);
  line-height: 19.2px;
  letter-spacing: var(--voya-text-caption-tracking);
  opacity: 0.8;
}

.voya-author__badges { display: flex; align-items: center; gap: var(--voya-space-4); flex-wrap: wrap; }
.voya-author__badge {
  padding: 6px 8px;
  border-radius: var(--voya-radius-xs);
  background-color: rgba(255, 255, 255, 0.8);
  color: var(--voya-color-black);
  font-size: var(--voya-text-caption);
  font-weight: var(--voya-weight-regular);
  line-height: 16.32px;
  letter-spacing: var(--voya-text-caption-tracking);
}
.voya-author--dark .voya-author__badge { background-color: var(--voya-color-surface); }
.voya-author__readtime {
  font-size: var(--voya-text-body);
  font-weight: var(--voya-weight-regular);
  line-height: 19.2px;
  letter-spacing: var(--voya-text-caption-tracking);
  opacity: 0.8;
}

@media (max-width: 992px) {
  .voya-author__avatar { width: 32px; height: 32px; }
  .voya-author__name { font-size: var(--voya-text-body); line-height: 19.65px; }
  .voya-author__date { font-size: var(--voya-text-small); }
}

.voya-badge {
  display: inline-flex;
  align-items: center;
  padding: 8px;
  font-family: var(--voya-font-sans);
  font-size: var(--voya-text-caption);
  font-weight: var(--voya-weight-regular);
  line-height: 16.32px;
  letter-spacing: var(--voya-text-caption-tracking);
  white-space: nowrap;
}
.voya-badge--soft { border-radius: var(--voya-radius-xs); }
.voya-badge--pill { border-radius: var(--voya-radius-full); padding-inline: 12px; }

.voya-badge--default { color: var(--voya-color-black); background: var(--voya-color-white); }
/* Softened white, as the article header ships it - a solid white chip is too
   loud against black and against photography. */
.voya-badge--onDark { color: var(--voya-color-black); background: rgba(255, 255, 255, 0.8); }
.voya-badge--outline {
  color: var(--voya-color-black);
  background: transparent;
  box-shadow: inset 0 0 0 1px var(--voya-color-gray-200);
}
.voya-badge--accent { color: var(--voya-color-white); background: var(--voya-color-accent-green); }

.voya-benefit {
  display: flex;
  flex-direction: column;
  gap: var(--voya-space-4);
}
.voya-benefit--light { color: var(--voya-color-white); }
.voya-benefit--dark { color: var(--voya-color-black); }

.voya-benefit__marker {
  font-size: var(--voya-text-small);
  font-weight: var(--voya-weight-semibold);
  letter-spacing: -0.28px;
  opacity: 0.6;
}
.voya-benefit__title {
  margin: 0;
  font-size: var(--voya-text-h3);
  font-weight: var(--voya-weight-medium);
  line-height: 43.52px;
  letter-spacing: var(--voya-text-h3-tracking);
}
.voya-benefit__description {
  margin: 0;
  font-size: var(--voya-text-h4);
  font-weight: var(--voya-weight-light);
  line-height: 32.64px;
  letter-spacing: -0.04em;
}

@media (max-width: 992px) {
  .voya-benefit { gap: var(--voya-space-2); }
  .voya-benefit__title { font-size: var(--voya-text-h4); font-weight: var(--voya-weight-semibold); line-height: 32.64px; letter-spacing: -0.04em; }
  .voya-benefit__description { font-size: 18px; font-weight: var(--voya-weight-regular); line-height: 24.48px; letter-spacing: -0.06em; }
}

.voya-blogcard {
  display: flex;
  overflow: hidden;
  border-radius: var(--voya-radius-md);
  background: var(--voya-color-surface);
  color: var(--voya-color-black);
  text-decoration: none;
  cursor: pointer;
}
.voya-blogcard--row { height: 420px; }
.voya-blogcard--grid { flex-direction: column; justify-content: space-between; height: auto; }

.voya-blogcard__media { overflow: hidden; background: var(--voya-color-surface-muted); }
.voya-blogcard--row .voya-blogcard__media { width: 43.888%; }
.voya-blogcard--grid .voya-blogcard__media { width: 100%; aspect-ratio: 442 / 260; }
.voya-blogcard__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--voya-duration-image) var(--voya-ease);
}
.voya-blogcard:hover .voya-blogcard__media img { transform: scale(1.05); }

.voya-blogcard__body {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  justify-content: space-between;
}
.voya-blogcard--row .voya-blogcard__body { width: 56.112%; padding: 50px; }
.voya-blogcard--grid .voya-blogcard__body { width: 100%; padding: var(--voya-space-6); }

.voya-blogcard__date {
  display: block;
  margin-bottom: var(--voya-space-2);
  font-size: var(--voya-text-caption);
  font-weight: var(--voya-weight-semibold);
  line-height: 16.32px;
  letter-spacing: var(--voya-text-caption-tracking);
}
.voya-blogcard__title {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin: 0;
  font-size: var(--voya-text-h4);
  font-weight: var(--voya-weight-medium);
  line-height: 28.8px;
  letter-spacing: var(--voya-text-h4-tracking);
}
.voya-blogcard__description {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin: var(--voya-space-5) 0 0;
  font-size: var(--voya-text-body);
  font-weight: var(--voya-weight-light);
  line-height: 21.76px;
  letter-spacing: var(--voya-text-body-tracking);
}
.voya-blogcard__categories {
  display: flex;
  flex-wrap: wrap;
  gap: var(--voya-space-2);
  margin-top: var(--voya-space-6);
}
.voya-blogcard__category {
  padding: 8px;
  border-radius: var(--voya-radius-xs);
  background-color: var(--voya-color-white);
  color: var(--voya-color-black);
  font-size: var(--voya-text-caption);
  font-weight: var(--voya-weight-regular);
  line-height: 16.32px;
  letter-spacing: var(--voya-text-caption-tracking);
}

@media (max-width: 992px) {
  .voya-blogcard { flex-direction: column; height: auto; }
  /* Must out-specify the layout-scoped desktop rules above. */
  .voya-blogcard--row .voya-blogcard__media,
  .voya-blogcard--grid .voya-blogcard__media { width: 100%; }
  .voya-blogcard--row .voya-blogcard__body,
  .voya-blogcard--grid .voya-blogcard__body { width: 100%; padding: var(--voya-space-6); }
  .voya-blogcard__description { font-size: var(--voya-text-small); letter-spacing: -0.56px; }
  .voya-blogcard__categories { margin-top: var(--voya-space-4); }
}

/* The card owns the hover, as it does on the site: hovering anywhere on it
   unrolls a nested ArrowLink instead of requiring a second, smaller target. */
.voya-blogcard:hover .voya-arrowlink__text { max-width: 100%; }
.voya-blogcard:hover .voya-arrowlink__arrow {
  color: var(--voya-color-white);
  background: var(--voya-color-black);
}

.voya-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--voya-space-2);
  margin-bottom: 20px;
  font-size: var(--voya-text-body);
  font-weight: var(--voya-weight-medium);
  line-height: 16.8px;
  letter-spacing: -0.03em;
}
.voya-breadcrumb--light { color: #777777; }
.voya-breadcrumb--dark { color: var(--voya-color-gray-700); }
.voya-breadcrumb__link { color: inherit; text-decoration: none; transition: color var(--voya-duration-slow); }
.voya-breadcrumb--light .voya-breadcrumb__link:hover { color: var(--voya-color-white); text-decoration: underline; }
.voya-breadcrumb--dark .voya-breadcrumb__link:hover { color: var(--voya-color-black); text-decoration: underline; }
.voya-breadcrumb__sep { opacity: 0.6; }

@media (max-width: 992px) {
  .voya-breadcrumb { font-size: var(--voya-text-small); line-height: 105%; }
}

.voya-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border: none;
  border-radius: var(--voya-radius-xs);
  outline: none;
  cursor: pointer;
  font-family: var(--voya-font-sans);
  font-weight: var(--voya-weight-medium);
  line-height: 122.8%;
  letter-spacing: -0.02em;
  text-align: center;
  text-decoration: none;
  transition: background-color var(--voya-duration-fast), box-shadow var(--voya-duration-fast),
    color var(--voya-duration-fast);
}
.voya-btn:disabled { opacity: 0.4; cursor: not-allowed; }

.voya-btn--sm { padding: 12px 20px; font-size: var(--voya-text-body); }
.voya-btn--md { padding: 14px 26px; font-size: 18px; }
.voya-btn--lg { padding: 20px 32px; font-size: 22px; }

.voya-btn--solid { color: var(--voya-color-white); background: var(--voya-color-black); }
.voya-btn--solid:hover:not(:disabled) {
  background-color: var(--voya-color-ink-500);
  box-shadow: 0 0 0 2px var(--voya-color-ink-500);
}

.voya-btn--light { color: var(--voya-color-black); background: var(--voya-color-white); }
.voya-btn--light:hover:not(:disabled) {
  background-color: var(--voya-color-surface-subtle);
  box-shadow: 0 0 0 2px #e5e5e5;
}

.voya-btn--ghost { color: inherit; background: transparent; padding-inline: 0; }
.voya-btn--ghost:hover:not(:disabled) { opacity: 0.7; }

.voya-btn--block { width: 100%; }

.voya-btn__arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: none;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  transform: rotate(-45deg);
}
.voya-btn--solid .voya-btn__arrow { color: var(--voya-color-black); background-color: var(--voya-color-white); }
.voya-btn--light .voya-btn__arrow { color: var(--voya-color-white); background-color: var(--voya-color-black); }
.voya-btn--ghost .voya-btn__arrow { color: var(--voya-color-white); background-color: var(--voya-color-black); }
.voya-btn__arrow svg { width: 12px; height: 12px; }

@media (max-width: 992px) {
  .voya-btn--lg { padding: 16px 48px; font-size: 20px; }
  .voya-btn__arrow { width: 24px; height: 24px; }
}

.voya-client { color: var(--voya-color-black); }
.voya-client__logo {
  display: flex;
  align-items: flex-end;
  height: 56px;
}
/* Size from the 56px band, not from the container: an inline SVG with no
   width/height attributes otherwise collapses to zero inside a flex row. */
.voya-client__logo svg { height: 100%; width: auto; max-width: 100%; }
.voya-client__logo img { max-height: 100%; width: auto; max-width: 100%; }
.voya-client__description {
  margin: var(--voya-space-4) 0 0;
  color: var(--voya-color-gray-700);
  font-size: 18px;
  font-weight: var(--voya-weight-regular);
  line-height: var(--voya-leading-normal);
  letter-spacing: -0.64px;
}
.voya-client__link {
  display: inline-block;
  margin-top: 12px;
  color: inherit;
  font-size: var(--voya-text-body);
  font-weight: var(--voya-weight-medium);
  line-height: var(--voya-leading-normal);
  letter-spacing: -0.32px;
  text-decoration: none;
}

@media (max-width: 992px) {
  .voya-client__description { font-size: var(--voya-text-body); }
}

.voya-contactform {
  display: flex;
  flex-direction: column;
  gap: 21px;
  padding: var(--voya-space-6);
  border-radius: var(--voya-radius-lg);
  background-color: var(--voya-color-ink-800);
}

.voya-contactform__apiError {
  margin: var(--voya-space-2) 0 0;
  padding: 12px 16px;
  border: 1px solid rgba(255, 107, 107, 0.3);
  border-radius: var(--voya-radius-sm);
  background: rgba(255, 107, 107, 0.1);
  color: var(--voya-color-danger-soft);
  font-size: var(--voya-text-small);
  font-weight: var(--voya-weight-medium);
  line-height: 1.5;
}

.voya-contactform__footer {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--voya-space-4);
}
.voya-contactform__consent {
  margin: 0;
  color: var(--voya-overlay-text);
  font-size: var(--voya-text-caption);
  line-height: 1.5;
}
.voya-contactform__consent a {
  color: rgba(255, 255, 255, 0.8);
  text-decoration: underline;
  transition: color var(--voya-duration-base);
}
.voya-contactform__consent a:hover { color: var(--voya-color-white); }

.voya-contactform__submit {
  flex: none;
  width: auto;
  margin-left: auto;
  padding: 10px 32px;
  border: none;
  border-radius: var(--voya-radius-xs);
  outline: none;
  background: var(--voya-color-white);
  color: var(--voya-color-black);
  font-family: var(--voya-font-sans);
  font-size: 18px;
  font-weight: var(--voya-weight-semibold);
  line-height: 22.1px;
  letter-spacing: -0.02em;
  cursor: pointer;
}
.voya-contactform__submit:disabled { opacity: 0.5; cursor: not-allowed; }

@media (max-width: 992px) {
  .voya-contactform { gap: var(--voya-space-2); }
}
@media (max-width: 640px) {
  .voya-contactform__footer { flex-direction: column; gap: var(--voya-space-2); }
  .voya-contactform__consent { order: 2; }
  .voya-contactform__submit { order: 1; width: 100%; border-radius: var(--voya-radius-md); padding: 14px; font-size: var(--voya-text-body); }
}

.voya-container {
  width: 100%;
  max-width: var(--voya-container-max);
  margin-inline: auto;
  padding-inline: var(--voya-container-pad);
}
.voya-container--narrow { max-width: 1150px; }
.voya-container--wide { max-width: none; }
.voya-container--flush { padding-inline: 0; }

@media (max-width: 992px) {
  .voya-container { padding-inline: var(--voya-container-pad-mobile); }
}

.voya-cta { padding-block: var(--voya-space-13); }
.voya-cta--light { background: var(--voya-color-white); color: var(--voya-color-black); }
.voya-cta--dark { background: var(--voya-color-black); color: var(--voya-color-white); }

.voya-cta__content {
  width: 100%;
  max-width: var(--voya-container-max);
  margin-inline: auto;
  padding-inline: var(--voya-container-pad);
  text-align: center;
}
.voya-cta__title {
  max-width: 1150px;
  margin: 0 auto;
  font-size: var(--voya-text-h1);
  font-weight: var(--voya-weight-medium);
  line-height: 92%;
  letter-spacing: var(--voya-text-h1-tracking);
}
.voya-cta__description {
  max-width: 836px;
  margin: var(--voya-space-7) auto 0;
  font-size: var(--voya-text-lead);
  font-weight: var(--voya-weight-light);
  line-height: var(--voya-leading-normal);
  letter-spacing: var(--voya-text-lead-tracking);
}
.voya-cta__button {
  display: inline-flex;
  align-items: center;
  margin-top: var(--voya-space-6);
  padding: 20px 32px;
  border: none;
  border-radius: var(--voya-radius-xs);
  font-family: var(--voya-font-sans);
  font-size: 22px;
  font-weight: var(--voya-weight-medium);
  line-height: 122.8%;
  text-decoration: none;
  cursor: pointer;
  transition: all var(--voya-duration-fast);
}
.voya-cta--light .voya-cta__button { color: var(--voya-color-white); background-color: var(--voya-color-black); }
.voya-cta--light .voya-cta__button:hover {
  background-color: var(--voya-color-ink-500);
  box-shadow: 0 0 0 2px var(--voya-color-ink-500);
}
.voya-cta--dark .voya-cta__button { color: var(--voya-color-black); background-color: var(--voya-color-white); }
.voya-cta--dark .voya-cta__button:hover {
  background-color: var(--voya-color-surface-subtle);
  box-shadow: 0 0 0 2px #e5e5e5;
}
.voya-cta__arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  margin-left: var(--voya-space-3);
  border-radius: 50%;
  transform: rotate(-45deg);
}
.voya-cta--light .voya-cta__arrow { color: var(--voya-color-black); background-color: var(--voya-color-white); }
.voya-cta--dark .voya-cta__arrow { color: var(--voya-color-white); background-color: var(--voya-color-black); }
.voya-cta__arrow svg { width: 12px; height: 12px; }

.voya-cta__instruction {
  margin: var(--voya-space-3) 0 0;
  color: var(--voya-color-gray-700);
}
/* #606060 is the site's value on white; on black it falls to ~2.7:1, so the
   dark band steps up to the lighter grey. */
.voya-cta--dark .voya-cta__instruction {
  color: var(--voya-color-gray-400);
  font-size: var(--voya-text-small);
  font-weight: var(--voya-weight-regular);
  line-height: var(--voya-leading-normal);
  letter-spacing: var(--voya-text-small-tracking);
}

@media (max-width: 992px) {
  .voya-cta { padding-block: var(--voya-space-12); }
  .voya-cta__content { padding-inline: var(--voya-container-pad-mobile); }
  .voya-cta__title { font-size: var(--voya-text-h4); line-height: 105%; letter-spacing: -1.44px; }
  .voya-cta__description { font-size: var(--voya-text-body); letter-spacing: -0.6px; }
  .voya-cta__button { padding: 16px 48px; font-size: 20px; }
  .voya-cta__arrow { width: 24px; height: 24px; }
}

.voya-divider {
  width: 100%;
  height: 1px;
  border: 0;
}
.voya-divider--light { background: var(--voya-color-gray-200); }
.voya-divider--dark { background: var(--voya-color-ink-300); }

.voya-divider--space-none { margin-block: 0; }
.voya-divider--space-sm { margin-block: var(--voya-space-6); }
.voya-divider--space-md { margin-block: var(--voya-space-8); }
.voya-divider--space-lg { margin-block: var(--voya-space-11); }

@media (max-width: 992px) {
  .voya-divider--space-lg { margin-block: var(--voya-space-8); }
}

.voya-flip {
  position: relative;
  display: inline-block;
  overflow: hidden;
  vertical-align: bottom;
}
.voya-flip__main {
  position: absolute;
  display: inline-block;
  transition: transform var(--voya-duration-base) var(--voya-ease);
}
.voya-flip__second {
  display: inline-block;
  transition: transform var(--voya-duration-base) var(--voya-ease);
}

.voya-flip--vertical .voya-flip__main { transform: translateY(0); }
.voya-flip--vertical .voya-flip__second { transform: translateY(100%); }
.voya-flip--vertical:hover .voya-flip__main { transform: translateY(-100%); }
.voya-flip--vertical:hover .voya-flip__second { transform: translateY(0); }

.voya-flip--horizontal .voya-flip__main { transform: translateX(0); }
.voya-flip--horizontal .voya-flip__second { transform: translateX(-100%); }
.voya-flip--horizontal:hover .voya-flip__main { transform: translateX(100%); }
.voya-flip--horizontal:hover .voya-flip__second { transform: translateX(0); }

.voya-footer {
  position: relative;
  width: 100%;
  background-color: var(--voya-color-black);
  color: var(--voya-color-white);
}
.voya-footer__container {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: var(--voya-container-max-wide);
  margin-inline: auto;
  padding-inline: var(--voya-container-pad);
}

.voya-footer__top {
  display: flex;
  align-items: center;
  gap: var(--voya-space-3);
  width: 80%;
  height: 200px;
  border-bottom: 1px solid;
  border-image-source: linear-gradient(90deg, #262626 67.79%, #000 100%);
  border-image-slice: 1;
}
.voya-footer__logo { line-height: 0; }
.voya-footer__motto {
  display: flex;
  align-items: center;
  max-width: 229px;
  font-size: 20px;
  line-height: var(--voya-leading-normal);
}

.voya-footer__middle {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}
.voya-footer__contacts { display: flex; }
.voya-footer__contact { display: block; margin-right: 72px; }
.voya-footer__contactTitle {
  display: block;
  font-size: var(--voya-text-body);
  font-weight: var(--voya-weight-medium);
  line-height: var(--voya-leading-normal);
  letter-spacing: -0.48px;
}
.voya-footer__contactBody {
  margin-top: var(--voya-space-3);
  color: var(--voya-color-gray-600);
  font-size: var(--voya-text-small);
  font-weight: var(--voya-weight-regular);
  line-height: var(--voya-leading-normal);
  letter-spacing: var(--voya-text-small-tracking);
  white-space: pre-line;
}
.voya-footer__contactBody a { color: inherit; text-decoration: none; transition: color var(--voya-duration-base); }
.voya-footer__contactBody a:hover { color: var(--voya-color-white); text-decoration: underline; }

.voya-footer__nav {
  display: flex;
  flex: 1;
  margin-block: 37px;
  font-size: var(--voya-text-body);
  font-weight: var(--voya-weight-medium);
  line-height: var(--voya-leading-normal);
  letter-spacing: -0.48px;
}
.voya-footer__navItem {
  margin-right: var(--voya-space-7);
  color: var(--voya-color-gray-600);
  text-decoration: none;
  transition: color var(--voya-duration-base);
}
.voya-footer__navItem:last-child { margin-right: 0; }
.voya-footer__navItem:hover { color: var(--voya-color-white); }

.voya-footer__bottomWrap { position: relative; width: 100%; background-color: var(--voya-color-ink-900); }
.voya-footer__bottom {
  display: flex;
  justify-content: space-between;
  padding-block: 30px;
}
.voya-footer__social { display: flex; gap: 30px; }
.voya-footer__socialItem {
  color: var(--voya-color-gray-600);
  font-size: var(--voya-text-small);
  font-weight: var(--voya-weight-semibold);
  line-height: var(--voya-leading-normal);
  letter-spacing: var(--voya-text-small-tracking);
  text-decoration: none;
  white-space: nowrap;
  transition: color var(--voya-duration-base);
}
.voya-footer__socialItem:hover { color: var(--voya-color-white); }

.voya-footer__legal { display: flex; gap: var(--voya-space-2); margin-left: auto; }
.voya-footer__policies { display: flex; gap: var(--voya-space-4); }
.voya-footer__policyLink,
.voya-footer__copyright {
  color: var(--voya-color-ink-200);
  font-size: var(--voya-text-small);
  font-weight: var(--voya-weight-semibold);
  line-height: var(--voya-leading-normal);
  letter-spacing: -0.36px;
  text-decoration: none;
}
.voya-footer__policyLink:hover { color: var(--voya-color-white); text-decoration: underline; }

@media (max-width: 992px) {
  .voya-footer__container { padding-inline: var(--voya-container-pad-mobile); }
  .voya-footer__top { width: 100%; height: auto; min-height: 150px; }
  .voya-footer__motto { font-size: 12.8px; }
  .voya-footer__middle { flex-direction: column-reverse; padding-block: var(--voya-space-6); }
  .voya-footer__contacts { flex-direction: column; }
  .voya-footer__contact { margin: var(--voya-space-8) 0 0; }
  .voya-footer__contact:first-child { margin-top: 0; }
  .voya-footer__nav { flex-direction: column; gap: 25px; }
  .voya-footer__navItem { margin-right: 0; }
  .voya-footer__bottom { flex-direction: column; padding: var(--voya-space-6) 0 var(--voya-space-7); }
  .voya-footer__social { margin-bottom: 20px; }
  .voya-footer__legal {
    flex-direction: column;
    gap: 12px;
    margin-left: 0;
    margin-top: var(--voya-space-2);
    padding-top: 20px;
    border-top: 1px solid var(--voya-color-ink-600);
  }
}

.voya-header {
  position: sticky;
  top: 0;
  z-index: 100;
  padding-block: var(--voya-space-6);
  transition: background var(--voya-duration-slow), box-shadow var(--voya-duration-slow);
}
.voya-header--solid { background: var(--voya-color-white); box-shadow: 0 4px 4px rgba(0, 0, 0, 0.05); }
.voya-header--light { background: transparent; color: var(--voya-color-white); }

.voya-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  max-width: var(--voya-container-max);
  margin-inline: auto;
  padding-inline: var(--voya-container-pad);
}
.voya-header__logo { display: block; line-height: 0; color: inherit; }
.voya-header__logo svg { height: 44px; width: auto; }
.voya-header--light .voya-header__logo { color: var(--voya-color-white); }
.voya-header--solid .voya-header__logo { color: var(--voya-color-black); }

.voya-header__right { display: flex; align-items: center; }

.voya-header__nav {
  display: flex;
  margin-right: var(--voya-space-4);
  font-size: 20px;
  font-weight: var(--voya-weight-medium);
  line-height: 122.8%;
}
.voya-header__item {
  position: relative;
  margin: 12px var(--voya-space-4);
  color: inherit;
  text-decoration: none;
}
.voya-header--solid .voya-header__item { color: var(--voya-color-black); }
.voya-header--light .voya-header__item { color: var(--voya-color-white); }

.voya-header__locale {
  margin-right: var(--voya-space-7);
  padding-left: var(--voya-space-7);
  border-left: 1px solid var(--voya-color-gray-150);
}
.voya-header__localeBtn {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--voya-space-2);
  padding: 0;
  border: none;
  background: none;
  color: inherit;
  cursor: pointer;
}
.voya-header__localeBtn svg { width: 20px; height: 20px; }
.voya-header__localeText {
  font-size: 20px;
  font-weight: var(--voya-weight-semibold);
  line-height: 24.56px;
  text-transform: uppercase;
}

.voya-header__cta {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 185px;
  padding: 12px 20px;
  border-radius: var(--voya-radius-xs);
  font-weight: var(--voya-weight-medium);
  text-decoration: none;
  transition: background-color var(--voya-duration-fast), box-shadow var(--voya-duration-fast);
}
.voya-header--solid .voya-header__cta { color: var(--voya-color-white); background: var(--voya-color-black); }
.voya-header--solid .voya-header__cta:hover {
  background-color: var(--voya-color-ink-500);
  box-shadow: 0 0 0 2px var(--voya-color-ink-500);
}
.voya-header--light .voya-header__cta { color: var(--voya-color-black); background: var(--voya-color-white); }
.voya-header--light .voya-header__cta:hover {
  background-color: var(--voya-color-surface-subtle);
  box-shadow: 0 0 0 2px #e5e5e5;
}

.voya-header__burger {
  position: relative;
  display: none;
  width: 24px;
  height: 24px;
  margin: 10px;
  padding: 3px;
  border: none;
  background: none;
  cursor: pointer;
  transition: transform var(--voya-duration-slow);
}
.voya-header__burger span {
  position: absolute;
  left: 3px;
  right: 3px;
  display: block;
  height: 2px;
  background: currentColor;
  transition: all var(--voya-duration-slow);
}
.voya-header--solid .voya-header__burger { color: var(--voya-color-black); }
.voya-header--light .voya-header__burger { color: var(--voya-color-white); }
.voya-header__burger span:nth-child(1) { top: 3px; }
.voya-header__burger span:nth-child(2) { top: 50%; transform: translateY(-50%); }
.voya-header__burger span:nth-child(3) { bottom: 3px; }
.voya-header__burger.is-open { transform: rotate(45deg); color: var(--voya-color-white); }
.voya-header__burger.is-open span { top: 50%; bottom: auto; transform: translateY(-50%); }
.voya-header__burger.is-open span:nth-child(3) { transform: translateY(-50%) rotate(90deg); }

@media (max-width: 992px) {
  .voya-header { padding-block: var(--voya-space-4); }
  .voya-header__inner { padding-inline: var(--voya-container-pad-mobile); }
  .voya-header__logo svg { height: 32px; }
  .voya-header__nav, .voya-header__cta { display: none; }
  .voya-header__locale { margin-right: var(--voya-space-4); padding-left: 0; border: none; }
  .voya-header__burger { display: block; }
}

/* Six nav items, the locale switch and a 185px CTA need the full 1440 measure.
   Anything narrower tightens the rhythm rather than letting the CTA overflow the
   bar - measured need at 16px margins is ~1250px of content width. */
@media (min-width: 993px) and (max-width: 1400px) {
  .voya-header__item { margin-inline: 10px; }
  .voya-header__nav { margin-right: var(--voya-space-2); }
  .voya-header__locale { margin-right: var(--voya-space-5); padding-left: var(--voya-space-5); }
  .voya-header__cta { min-width: 0; }
}

.voya-hero {
  position: relative;
  overflow: hidden;
  padding-top: 98px;
  background-color: var(--voya-color-black);
  color: var(--voya-color-white);
}
.voya-hero__media {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 0;
  pointer-events: none;
}
.voya-hero__content {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: var(--voya-container-max);
  margin-inline: auto;
  padding-inline: var(--voya-container-pad);
  padding-top: var(--voya-space-12);
}
.voya-hero__badge {
  display: inline-block;
  margin-bottom: var(--voya-space-4);
  font-size: var(--voya-text-small);
  font-weight: var(--voya-weight-semibold);
  letter-spacing: -0.28px;
}
.voya-hero__title {
  max-width: 900px;
  margin: 0;
  color: var(--voya-color-white);
  font-size: var(--voya-text-display);
  font-weight: var(--voya-weight-medium);
  line-height: 100%;
  letter-spacing: var(--voya-text-display-tracking);
}
/* The white slab is meant to run flush to the bottom of the band; without it
   the content needs its own floor or the headline sits on the crop line. */
.voya-hero__content--bare { padding-bottom: var(--voya-space-12); }

.voya-hero__actions { margin-top: var(--voya-space-7); }
.voya-hero__description {
  width: 100%;
  margin-top: var(--voya-space-8);
  padding: 50px;
  border-radius: var(--voya-radius-xl) var(--voya-radius-xl) 0 0;
  background-color: var(--voya-color-white);
  color: var(--voya-color-black);
  font-size: var(--voya-text-h4);
  font-weight: var(--voya-weight-light);
  line-height: 140%;
  letter-spacing: -1px;
}
.voya-hero__subdescription {
  margin: var(--voya-space-6) 0 0;
  font-size: 26px;
  font-weight: var(--voya-weight-regular);
  line-height: 135%;
  letter-spacing: -1.56px;
}

@media (max-width: 992px) {
  .voya-hero__content { padding-inline: var(--voya-container-pad-mobile); padding-top: var(--voya-space-8); }
  .voya-hero__media { object-position: 60% 0; opacity: 0.5; }
  .voya-hero__title { font-size: 28px; font-weight: var(--voya-weight-regular); letter-spacing: -1.44px; }
  .voya-hero__description { padding: var(--voya-space-4); font-size: var(--voya-text-body); letter-spacing: 0; }
  .voya-hero__subdescription { font-size: 18px; letter-spacing: -1.08px; }
}

/* --- Landing variant -------------------------------------------------------
   Fills the viewport below the 98px header, and fades to solid black over its
   bottom half so the next band reads as continuous rather than as a seam. */
.voya-hero--full {
  display: flex;
  align-items: center;
  padding-block: var(--voya-space-11);
}
.voya-hero--full::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 50%;
  display: block;
  pointer-events: none;
  background: linear-gradient(rgba(0, 0, 0, 0), var(--voya-color-black));
}
.voya-hero--full .voya-hero__media { height: 100vh; bottom: 0; top: auto; }
.voya-hero--full .voya-hero__content { padding-top: 0; }
.voya-hero--full .voya-hero__title {
  max-width: 1200px;
  margin-bottom: 30px;
  font-size: var(--voya-text-display);
  font-weight: var(--voya-weight-semibold);
  line-height: 104%;
}
.voya-hero__subtitle {
  max-width: 890px;
  margin: 0 0 0 11px;
  color: var(--voya-color-white);
  font-size: 32px;
  font-weight: var(--voya-weight-regular);
  line-height: 135%;
  letter-spacing: -2px;
}

@media (min-width: 993px) {
  .voya-hero--full { height: calc(100vh - 98px); }
}
@media (max-width: 992px) {
  .voya-hero--full { height: 100vh; padding-top: 100px; padding-bottom: var(--voya-space-6); }
  .voya-hero--full .voya-hero__title { margin-bottom: 10px; font-size: 36px; line-height: 100%; letter-spacing: -2px; }
  .voya-hero__subtitle { margin-left: 6px; font-size: 18px; line-height: 102%; letter-spacing: -1.2px; }
}

/* --- Art column ------------------------------------------------------------
   Copy left, artwork right. The art is given its own area rather than sitting
   behind the type, so the headline keeps full contrast at every viewport. */
.voya-hero--split .voya-hero__content {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
  align-items: center;
  column-gap: var(--voya-space-8);
}
.voya-hero__copy { min-width: 0; }
/* The art column takes real width, so the headline can no longer assume the
   full 1200px measure - scale it with the viewport instead of letting it wrap
   into an extra line. */
.voya-hero--split .voya-hero__title {
  max-width: none;
  font-size: clamp(36px, 4.4vw, var(--voya-text-display));
  text-wrap: balance;
}
.voya-hero__art {
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.voya-hero__art > * {
  display: block;
  width: 100%;
  height: auto;
  max-height: 70vh;
  object-fit: contain;
}
.voya-hero__description--full { grid-column: 1 / -1; }

@media (max-width: 992px) {
  .voya-hero--split .voya-hero__content { grid-template-columns: minmax(0, 1fr); row-gap: var(--voya-space-6); }
  .voya-hero__art { order: 2; }
  .voya-hero__art > * { max-height: 40vh; }
}

.voya-marquee {
  --voya-marquee-gap: 16px;
  width: 100%;
  overflow: hidden;
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 9%, #000 91%, transparent 100%);
  mask-image: linear-gradient(90deg, transparent 0, #000 9%, #000 91%, transparent 100%);
}
.voya-marquee__track {
  display: flex;
  width: max-content;
  will-change: transform;
  animation: voya-marquee var(--voya-marquee-duration, 28s) linear infinite;
}
.voya-marquee--paused .voya-marquee__track { animation-play-state: paused; }
.voya-marquee__group {
  display: flex;
  flex: none;
  gap: var(--voya-marquee-gap);
  padding-right: var(--voya-marquee-gap);
}
.voya-marquee__item {
  display: flex;
  flex: none;
  align-items: center;
  gap: 14px;
  width: 188px;
  min-height: 64px;
  padding: 10px 18px;
  border-radius: 14px;
  background: var(--voya-color-surface-alt);
  color: var(--voya-color-black);
}
.voya-marquee__icon {
  display: inline-flex;
  flex: none;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: var(--voya-color-accent-mint);
  color: var(--voya-color-white);
}
.voya-marquee__icon svg { width: 22px; height: 22px; }
.voya-marquee__text {
  font-size: 15px;
  font-weight: var(--voya-weight-medium);
  line-height: 112%;
  letter-spacing: 0;
}

@keyframes voya-marquee {
  from { transform: translateX(0); }
  to { transform: translateX(-33.3333%); }
}

@media (max-width: 768px) {
  .voya-marquee {
    --voya-marquee-gap: 14px;
    -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 13%, #000 87%, transparent 100%);
    mask-image: linear-gradient(90deg, transparent 0, #000 13%, #000 87%, transparent 100%);
  }
  .voya-marquee__track { animation-duration: 24s; }
  .voya-marquee__item { min-height: 68px; }
}

.voya-media {
  position: relative;
  width: 100%;
  overflow: hidden;
  background: var(--voya-color-surface-muted);
}
.voya-media--default { border-radius: var(--voya-radius-2xl); }
.voya-media--soft { border-radius: var(--voya-radius-md); }
.voya-media--flush { border-radius: 0; }

.voya-media__el {
  display: block;
  width: 100%;
  height: 100%;
  max-width: 100%;
  object-fit: cover;
  transition: transform var(--voya-duration-image) var(--voya-ease);
}
.voya-media--zoom:hover .voya-media__el { transform: scale(1.05); }

.voya-media__overlay {
  position: absolute;
  top: -50%;
  right: -50%;
  width: 0;
  height: 0;
  border-radius: 50%;
  background: var(--voya-overlay-strong);
  transition: all 1.2s var(--voya-ease);
}

@media (max-width: 992px) {
  .voya-media--default { border-radius: var(--voya-radius-lg); }
}

.voya-mobilemenu {
  position: fixed;
  inset: 0;
  z-index: 990;
  display: flex;
  flex-direction: column;
  justify-content: center;
  visibility: hidden;
  opacity: 0;
  background: var(--voya-color-black);
  color: var(--voya-color-white);
  transition: opacity var(--voya-duration-base), visibility var(--voya-duration-base);
}
.voya-mobilemenu.is-open { visibility: visible; opacity: 1; }

.voya-mobilemenu__logo { margin: 22px auto auto var(--voya-space-4); line-height: 0; }
.voya-mobilemenu__nav { display: flex; flex-direction: column; margin-top: auto; }
.voya-mobilemenu__item {
  padding: var(--voya-space-4) var(--voya-space-6);
  color: inherit;
  font-size: 20px;
  font-weight: var(--voya-weight-regular);
  text-decoration: none;
}
.voya-mobilemenu__footer {
  margin-top: var(--voya-space-4);
  padding: var(--voya-space-4) var(--voya-space-6);
  border-top: 1px solid var(--voya-overlay-hairline);
  background: var(--voya-color-ink-900);
}
.voya-mobilemenu__cta {
  display: block;
  width: 100%;
  padding: 14px;
  border-radius: var(--voya-radius-xs);
  background: var(--voya-color-white);
  color: var(--voya-color-black);
  font-size: var(--voya-text-body);
  font-weight: var(--voya-weight-medium);
  line-height: 122.8%;
  text-align: center;
  text-decoration: none;
}
.voya-mobilemenu__instruction {
  margin: var(--voya-space-4) 0 0;
  color: var(--voya-color-gray-700);
  font-size: var(--voya-text-small);
  font-weight: var(--voya-weight-regular);
  line-height: var(--voya-leading-normal);
  letter-spacing: var(--voya-text-small-tracking);
  text-align: center;
}

.voya-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--voya-space-2);
  margin-top: var(--voya-space-6);
  margin-bottom: var(--voya-space-10);
}
.voya-pagination__page {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border: 1px solid #e0e0e0;
  border-radius: var(--voya-radius-sm);
  background: var(--voya-color-white);
  color: var(--voya-color-ink-700);
  font-family: var(--voya-font-sans);
  font-size: var(--voya-text-small);
  font-weight: var(--voya-weight-medium);
  cursor: pointer;
  transition: all var(--voya-duration-base);
}
.voya-pagination__page:hover { border-color: var(--voya-color-ink-700); }
.voya-pagination__page.is-active {
  color: var(--voya-color-white);
  background: var(--voya-color-ink-700);
  border-color: var(--voya-color-ink-700);
}
.voya-pagination__arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border: none;
  border-radius: 50%;
  background: var(--voya-color-line);
  color: var(--voya-color-ink-700);
  cursor: pointer;
  transition: all var(--voya-duration-base);
}
.voya-pagination__arrow:hover:not(.is-disabled) { background: #d4d4d4; }
.voya-pagination__arrow.is-disabled { opacity: 0.3; cursor: not-allowed; }
.voya-pagination__arrowIcon {
  font-family: var(--voya-font-display);
  font-size: 18px;
  font-weight: var(--voya-weight-semibold);
  line-height: var(--voya-leading-tight);
  letter-spacing: -0.03em;
}
.voya-pagination__ellipsis {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  color: var(--voya-color-ink-700);
  font-size: var(--voya-text-small);
  font-weight: var(--voya-weight-medium);
  user-select: none;
}

.voya-partner {
  display: flex;
  flex-direction: column;
  height: 100%;
  border-radius: var(--voya-radius-xs);
  background: var(--voya-color-white);
}
.voya-partner__media {
  position: relative;
  width: 100%;
  padding-top: 58.82%;
  overflow: hidden;
  border-radius: var(--voya-radius-xs) var(--voya-radius-xs) 0 0;
  background: var(--voya-color-surface);
}
.voya-partner__media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.voya-partner__body {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: var(--voya-space-6);
  border: 1px solid #ebedf0;
  border-radius: 0 0 var(--voya-radius-xs) var(--voya-radius-xs);
}
.voya-partner__name {
  margin: 0;
  font-size: var(--voya-text-h4);
  font-weight: var(--voya-weight-medium);
  letter-spacing: -0.04em;
}
.voya-partner__description {
  margin: var(--voya-space-4) 0;
  color: var(--voya-color-gray-500);
  font-size: var(--voya-text-body);
  line-height: var(--voya-leading-normal);
}
.voya-partner__footer { margin-top: auto; padding-top: var(--voya-space-4); }
.voya-partner__link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #0b0b0b;
  font-size: var(--voya-text-small);
  font-weight: var(--voya-weight-medium);
  text-decoration: underline;
  transition: color var(--voya-duration-base);
}

@media (max-width: 992px) {
  .voya-partner__name { font-size: 18px; margin-bottom: 0; }
  .voya-partner__description { font-size: var(--voya-text-caption); }
}

.voya-pulse {
  position: relative;
  display: inline-flex;
  width: 12px;
  height: 12px;
}
.voya-pulse__dot {
  display: block;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: var(--voya-color-accent-teal);
}
.voya-pulse--animated .voya-pulse__dot {
  animation: voya-pulse 2s infinite;
}
.voya-pulse__label {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}

@keyframes voya-pulse {
  0% { box-shadow: 0 0 0 0 rgba(106, 231, 224, 0.5); }
  70% { box-shadow: 0 0 0 15px rgba(106, 231, 224, 0); }
  100% { box-shadow: 0 0 0 0 rgba(106, 231, 224, 0); }
}

@media (max-width: 992px) {
  .voya-pulse, .voya-pulse__dot { width: 10px; height: 10px; }
}

.voya-seal {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1;
  overflow: hidden;
  background-color: var(--voya-color-black);
  border: 1px solid #2f2f2f;
  border-radius: 50%;
  color: var(--voya-color-white);
}
.voya-seal__ring {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  animation: voya-seal-rotate var(--voya-seal-duration, 60s) linear infinite;
}
.voya-seal--paused .voya-seal__ring { animation-play-state: paused; }
.voya-seal__text {
  fill: var(--voya-color-white);
  font-family: var(--voya-font-sans);
  font-size: 4.6px;
  font-weight: var(--voya-weight-medium);
  letter-spacing: 0.28px;
}
.voya-seal__center {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 46%;
  color: var(--voya-color-white);
}
.voya-seal__mark { width: 100%; height: auto; display: block; }

@keyframes voya-seal-rotate {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

.voya-heading { font-family: var(--voya-font-sans); }
.voya-heading--dark { color: var(--voya-color-black); }
.voya-heading--light { color: var(--voya-color-white); }

.voya-heading__eyebrow {
  display: block;
  margin-bottom: var(--voya-space-4);
  font-size: var(--voya-text-small);
  font-weight: var(--voya-weight-semibold);
  line-height: var(--voya-leading-normal);
  letter-spacing: -0.28px;
}

.voya-heading__title {
  margin: 0;
  font-weight: var(--voya-weight-medium);
}
.voya-heading--display .voya-heading__title {
  max-width: 900px;
  font-size: var(--voya-text-display);
  letter-spacing: var(--voya-text-display-tracking);
  line-height: 100%;
}
.voya-heading--lg .voya-heading__title {
  max-width: 1150px;
  font-size: var(--voya-text-h1);
  letter-spacing: var(--voya-text-h1-tracking);
  line-height: 92%;
}
.voya-heading--sm .voya-heading__title {
  font-size: var(--voya-text-h3);
  letter-spacing: var(--voya-text-h3-tracking);
  line-height: 136%;
}

.voya-heading__description {
  max-width: 836px;
  margin: var(--voya-space-7) 0 0;
  font-size: var(--voya-text-lead);
  font-weight: var(--voya-weight-light);
  line-height: var(--voya-leading-normal);
  letter-spacing: var(--voya-text-lead-tracking);
}
.voya-heading--sm .voya-heading__description {
  font-size: var(--voya-text-body);
  letter-spacing: var(--voya-text-body-tracking);
  margin-top: var(--voya-space-4);
}

.voya-heading__action { margin-top: var(--voya-space-6); }

.voya-heading--center { text-align: center; }
.voya-heading--center .voya-heading__title,
.voya-heading--center .voya-heading__description { margin-inline: auto; }

@media (max-width: 992px) {
  .voya-heading--display .voya-heading__title {
    font-size: 28px;
    font-weight: var(--voya-weight-regular);
    letter-spacing: -1.44px;
  }
  .voya-heading--lg .voya-heading__title {
    font-size: var(--voya-text-h4);
    letter-spacing: -1.44px;
    line-height: 105%;
  }
  .voya-heading--sm .voya-heading__title { font-size: 20px; letter-spacing: -0.04em; }
  .voya-heading__description { font-size: var(--voya-text-body); letter-spacing: -0.6px; }
}

/* Heading left, "see all" link right, both sitting on the last baseline. */
.voya-heading--split {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: var(--voya-space-7);
  flex-wrap: nowrap;
}
.voya-heading--split .voya-heading__copy { flex: 1; min-width: 0; }
.voya-heading__action--end { flex: none; padding-bottom: 4px; }

@media (max-width: 992px) {
  .voya-heading--split { flex-direction: column; align-items: flex-start; gap: var(--voya-space-4); }
  .voya-heading__action--end { padding-bottom: 0; }
}

.voya-select__wrap { position: relative; width: 100%; }
.voya-select__button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 9px 15px;
  border: 1px solid var(--voya-color-ink-400);
  border-radius: var(--voya-radius-sm);
  outline: none;
  background: var(--voya-color-black);
  color: var(--voya-color-gray-400);
  font-family: var(--voya-font-sans);
  font-size: var(--voya-text-body);
  font-weight: var(--voya-weight-light);
  line-height: 28px;
  letter-spacing: -0.04em;
  text-align: left;
  cursor: pointer;
  transition: border-color var(--voya-duration-base);
}
.voya-select__button:hover { border-color: #404040; }
.voya-select__button.is-open { border-color: #505050; }
.voya-select__text { flex: 1; }
/* A chosen value must not read as a placeholder. */
.voya-select__button[data-filled="true"] {
  color: var(--voya-color-white);
  font-weight: var(--voya-weight-medium);
}
.voya-select__icon { flex-shrink: 0; color: var(--voya-color-white); transition: transform var(--voya-duration-base); }
.voya-select__icon svg { width: 16px; height: 16px; display: block; }
.voya-select__icon.is-rotated { transform: rotate(180deg); }

.voya-select__menu {
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  right: 0;
  z-index: 100;
  border: 1px solid var(--voya-color-ink-400);
  border-radius: var(--voya-radius-sm);
  background: var(--voya-color-black);
}
.voya-select__option {
  display: block;
  width: 100%;
  padding: 3px 15px;
  border: none;
  background: none;
  color: var(--voya-color-white);
  font-family: var(--voya-font-sans);
  font-size: var(--voya-text-body);
  font-weight: var(--voya-weight-medium);
  line-height: 28px;
  letter-spacing: -0.04em;
  text-align: left;
  cursor: pointer;
  transition: background-color var(--voya-duration-base);
}
.voya-select__option:first-child { padding-top: 6px; }
.voya-select__option:last-child { padding-bottom: 6px; }
.voya-select__option:hover,
.voya-select__option.is-selected { background: var(--voya-color-ink-700); }

@media (max-width: 992px) {
  .voya-select__button { padding: 12px 16px; border-radius: var(--voya-radius-md); font-size: 15px; }
  .voya-select__option { padding: 8px 14px; font-size: 15px; }
}

.voya-slidernav {
  position: relative;
  display: flex;
  align-items: center;
  gap: var(--voya-space-4);
  margin-top: 36px;
}
.voya-slidernav__track {
  position: relative;
  flex: 1;
  height: 2px;
  background: var(--voya-color-line);
}
.voya-slidernav--dark .voya-slidernav__track { background: #2d2d2d; }
.voya-slidernav__thumb {
  position: absolute;
  top: 0;
  height: 2px;
  background: var(--voya-color-black);
  transition: left var(--voya-duration-slow) var(--voya-ease);
}
.voya-slidernav--dark .voya-slidernav__thumb { background: #7a7979; }

.voya-slidernav__buttons { display: flex; gap: var(--voya-space-4); }
.voya-slidernav__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border: none;
  border-radius: 50%;
  background: var(--voya-color-line);
  color: var(--voya-color-black);
  cursor: pointer;
  transition: all var(--voya-duration-base);
}
.voya-slidernav__btn svg { width: 16px; height: 16px; }
.voya-slidernav__btn:hover:not(:disabled) { color: var(--voya-color-white); background: var(--voya-color-black); }
.voya-slidernav__btn:disabled { opacity: 0.35; cursor: not-allowed; }
.voya-slidernav--dark .voya-slidernav__btn { color: var(--voya-color-black); background: #7a7979; }
.voya-slidernav--dark .voya-slidernav__btn:hover:not(:disabled) { color: var(--voya-color-black); background: var(--voya-color-white); }

@media (max-width: 992px) {
  .voya-slidernav { margin-top: var(--voya-space-6); }
  .voya-slidernav__btn { width: 32px; height: 32px; }
}

.voya-stats {
  display: flex;
  flex-direction: column;
  gap: var(--voya-space-7);
  width: 100%;
  max-width: var(--voya-container-max);
}
.voya-stats__title {
  margin: 0;
  color: var(--voya-color-black);
  font-family: var(--voya-font-display);
  font-size: var(--voya-text-h3);
  font-weight: var(--voya-weight-medium);
  line-height: 100%;
  letter-spacing: -0.04em;
}
.voya-stats__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--voya-space-3);
  width: 100%;
}
.voya-stats__item {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: var(--voya-space-4);
  min-width: 0;
  padding-left: var(--voya-space-4);
  border-left: 1px solid var(--voya-color-gray-200);
}
.voya-stats__value {
  color: var(--voya-color-accent-green);
  font-family: var(--voya-font-sans);
  font-size: 80px;
  font-weight: var(--voya-weight-semibold);
  line-height: 100%;
  letter-spacing: -0.04em;
}
.voya-stats__label {
  color: var(--voya-color-accent-green);
  font-family: var(--voya-font-sans);
  font-size: var(--voya-text-h4);
  font-weight: var(--voya-weight-regular);
  line-height: 120%;
  letter-spacing: -0.04em;
}
.voya-stats__note {
  margin: 0;
  color: var(--voya-color-gray-500);
  font-size: var(--voya-text-body);
  font-weight: var(--voya-weight-light);
  line-height: 120%;
}

@media (max-width: 992px) {
  .voya-stats { gap: var(--voya-space-6); }
  .voya-stats__title { font-size: var(--voya-text-h4); line-height: 32px; letter-spacing: -0.05em; }
  .voya-stats__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--voya-space-6); }
  .voya-stats__item:nth-child(odd) { border-left: 0; padding-left: 0; }
  .voya-stats__value { font-size: 48px; }
  .voya-stats__label { font-family: var(--voya-font-display); font-size: var(--voya-text-body); line-height: 24px; letter-spacing: -0.03em; }
  .voya-stats__note { font-family: var(--voya-font-display); font-weight: var(--voya-weight-regular); line-height: 24px; letter-spacing: -0.03em; }
}

.voya-member {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: var(--voya-space-1);
  width: 320px;
  max-width: 100%;
  padding: var(--voya-space-4);
  border: 1px solid #f2f2f2;
  border-radius: var(--voya-radius-lg);
  background-color: #f9f9f9;
}
.voya-member__link {
  position: absolute;
  top: var(--voya-space-4);
  right: var(--voya-space-4);
  z-index: 2;
  color: var(--voya-color-black);
  transition: color var(--voya-duration-slow);
}
.voya-member__link svg { width: 16px; height: 16px; display: block; }
.voya-member:hover .voya-member__link { color: #1e58fe; }

.voya-member__head { display: flex; align-items: center; gap: var(--voya-space-4); }
.voya-member__avatar { width: 80px; height: 80px; border-radius: 50%; object-fit: cover; }
.voya-member__identity { display: flex; flex-direction: column; gap: 2px; }
.voya-member__name {
  color: var(--voya-color-black);
  font-size: 18px;
  font-weight: var(--voya-weight-medium);
  line-height: 24.3px;
  letter-spacing: -0.06em;
}
.voya-member__role {
  color: var(--voya-color-black);
  font-size: var(--voya-text-small);
  font-weight: var(--voya-weight-regular);
  line-height: 18.9px;
  letter-spacing: -0.06em;
}
.voya-member__bio {
  margin: var(--voya-space-1) 0 0;
  color: #2c2c2c;
  font-size: var(--voya-text-small);
  font-weight: var(--voya-weight-regular);
  line-height: 23.38px;
  letter-spacing: -0.05em;
}

.voya-quote {
  display: flex;
  flex-direction: column;
  height: 100%;
  margin: 0;
  padding: var(--voya-space-7);
  border-radius: var(--voya-radius-md);
  background: var(--voya-color-ink-800);
  color: var(--voya-color-white);
}
.voya-quote__logo { line-height: 0; }
.voya-quote__logo svg,
.voya-quote__logo img { width: auto; height: 26px; }

.voya-quote__text {
  margin: var(--voya-space-6) 0 0;
  color: var(--voya-color-gray-250);
  font-size: 17px;
  font-weight: var(--voya-weight-regular);
  line-height: var(--voya-leading-normal);
  letter-spacing: -0.5px;
}
.voya-quote__profile {
  display: flex;
  align-items: center;
  margin-top: auto;
  padding-top: var(--voya-space-6);
}
.voya-quote__avatar {
  width: 44px;
  height: 44px;
  margin-right: 11px;
  border-radius: 50%;
  object-fit: cover;
}
.voya-quote__name {
  display: block;
  color: var(--voya-color-gray-300);
  font-size: 18px;
  font-weight: var(--voya-weight-regular);
  line-height: var(--voya-leading-normal);
  letter-spacing: -1.08px;
}
.voya-quote__role {
  display: block;
  color: var(--voya-color-gray-700);
  font-size: var(--voya-text-small);
  font-weight: var(--voya-weight-regular);
  line-height: var(--voya-leading-normal);
  letter-spacing: -0.84px;
}

@media (max-width: 992px) {
  .voya-quote { padding: var(--voya-space-6); }
  .voya-quote__text { margin-top: var(--voya-space-4); font-size: var(--voya-text-small); letter-spacing: -0.6px; }
  .voya-quote__profile { padding-top: var(--voya-space-4); }
}

.voya-field__textarea--message { height: 96px; min-height: 96px; }

@media (min-width: 1400px) {
  .voya-field__textarea--message { height: 170px; min-height: 170px; }
}

.voya-field {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
}
.voya-field__label {
  margin-bottom: var(--voya-space-2);
  color: var(--voya-color-white);
  font-size: var(--voya-text-small);
  font-weight: var(--voya-weight-medium);
  letter-spacing: -0.04em;
}
.voya-field__input,
.voya-field__textarea {
  display: block;
  width: 100%;
  padding: 9px 15px;
  border: 1px solid var(--voya-color-ink-400);
  border-radius: var(--voya-radius-sm);
  outline: none;
  background: var(--voya-color-black);
  color: var(--voya-color-white);
  font-family: var(--voya-font-sans);
  font-size: var(--voya-text-body);
  font-weight: var(--voya-weight-medium);
  line-height: 28px;
  letter-spacing: -0.04em;
  resize: none;
  transition: border-color var(--voya-duration-base);
}
.voya-field__input::placeholder,
.voya-field__textarea::placeholder {
  color: var(--voya-color-gray-400);
  font-size: var(--voya-text-body);
  font-weight: var(--voya-weight-light);
  line-height: 122.8%;
  letter-spacing: -0.64px;
}
.voya-field__input:focus,
.voya-field__textarea:focus { border-color: #505050; }

.voya-field.is-error .voya-field__input,
.voya-field.is-error .voya-field__textarea { border: 2px solid rgba(181, 6, 6, 0.2); }

.voya-field__error {
  margin-top: var(--voya-space-1);
  color: var(--voya-color-danger);
  font-size: var(--voya-text-body);
  font-weight: var(--voya-weight-medium);
  line-height: 19.65px;
  letter-spacing: -0.04em;
}
.voya-field__hint {
  margin-top: var(--voya-space-1);
  color: var(--voya-color-gray-400);
  font-size: var(--voya-text-caption);
  line-height: 1.5;
}

@media (max-width: 992px) {
  .voya-field__input,
  .voya-field__textarea { padding: 12px 16px; border-radius: var(--voya-radius-md); font-size: 15px; }
  .voya-field__input::placeholder,
  .voya-field__textarea::placeholder { font-size: 15px; }
  .voya-field__error { font-size: var(--voya-text-small); line-height: 17.65px; }
}

.voya-textlink {
  display: inline-block;
  color: inherit;
  text-decoration: none;
  cursor: pointer;
  font-family: var(--voya-font-sans);
  font-weight: var(--voya-weight-medium);
  line-height: 122.8%;
  transition: color var(--voya-duration-base);
}
.voya-textlink--default { color: var(--voya-color-black); }
.voya-textlink--onDark { color: var(--voya-color-white); }
.voya-textlink--muted { color: var(--voya-color-gray-600); }
.voya-textlink--muted:hover { color: var(--voya-color-white); }

.voya-specimen {
  border-top: 1px solid var(--voya-color-line-soft);
  border-bottom: 1px solid var(--voya-color-line-soft);
  color: var(--voya-color-black);
  font-family: var(--voya-specimen-family, var(--voya-font-sans));
}
.voya-specimen__header {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  align-items: center;
  gap: var(--voya-space-6);
  padding: var(--voya-space-8) 56px 44px;
  color: var(--voya-color-gray-450);
  font-size: var(--voya-text-h4);
  font-weight: var(--voya-weight-regular);
  line-height: 120%;
}
.voya-specimen__header span:first-child { grid-column: 1 / 4; }
.voya-specimen__header span:last-child { grid-column: 8 / -1; justify-self: start; white-space: nowrap; }

.voya-specimen__name {
  padding-bottom: 56px;
  border-bottom: 1px solid var(--voya-color-line-soft);
  color: #007a4d;
  font-size: 150px;
  font-weight: var(--voya-weight-light);
  line-height: 82%;
  text-align: center;
}
.voya-specimen__samples {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: 104px;
  padding: var(--voya-space-8) 0 34px;
}
.voya-specimen__sample { min-width: 0; }
.voya-specimen__sampleLabel {
  display: block;
  margin-bottom: 28px;
  color: var(--voya-color-gray-450);
  font-size: var(--voya-text-h4);
  font-weight: var(--voya-weight-regular);
  line-height: 120%;
}
.voya-specimen__sampleText {
  max-width: 310px;
  margin: 0;
  color: var(--voya-color-black);
  font-size: 28px;
  line-height: 120%;
}
.voya-specimen__sampleText--light { font-weight: var(--voya-weight-light); }
.voya-specimen__sampleText--regular { font-weight: var(--voya-weight-regular); }
.voya-specimen__sampleText--bold { font-weight: 700; }

@media (max-width: 768px) {
  .voya-specimen__header { display: block; padding: 36px 0 18px; }
  .voya-specimen__header span:last-child { margin-top: var(--voya-space-1); font-size: var(--voya-text-body); }
  .voya-specimen__name { padding-bottom: var(--voya-space-6); font-size: 80px; line-height: 86%; }
  .voya-specimen__samples { grid-template-columns: 1fr; gap: 42px; padding: 26px 0 36px; }
  .voya-specimen__sampleLabel { margin-bottom: 26px; }
  .voya-specimen__sampleText { max-width: 260px; font-size: 20px; line-height: 130%; }
}

.voya-logo {
  display: inline-flex;
  align-items: center;
  line-height: 0;
}
.voya-logo--dark { color: var(--voya-color-black); }
.voya-logo--light { color: var(--voya-color-white); }
.voya-logo__mark { width: auto; display: block; }

.voya-workcard {
  display: flex;
  overflow: hidden;
  border-radius: var(--voya-radius-md);
  background: var(--voya-color-surface);
  color: var(--voya-color-black);
  text-decoration: none;
  cursor: pointer;
}
.voya-workcard--row { height: 420px; }
.voya-workcard--grid { flex-direction: column; height: auto; }

.voya-workcard__media {
  position: relative;
  overflow: hidden;
  background: var(--voya-color-surface-muted);
}
.voya-workcard--row .voya-workcard__media { width: 43.888%; }
.voya-workcard--grid .voya-workcard__media { width: 100%; aspect-ratio: 442 / 270; }
.voya-workcard__media img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: 100%;
  object-fit: cover;
  transition: transform var(--voya-duration-image) var(--voya-ease);
}
.voya-workcard:hover .voya-workcard__media img { transform: scale(1.05); }

.voya-workcard__body {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}
.voya-workcard--row .voya-workcard__body { width: 56.112%; padding: 50px; }
.voya-workcard--grid .voya-workcard__body { width: 100%; padding: var(--voya-space-6); }

.voya-workcard__category {
  font-size: var(--voya-text-small);
  font-weight: var(--voya-weight-semibold);
  line-height: var(--voya-leading-normal);
  letter-spacing: -0.28px;
}
.voya-workcard--grid .voya-workcard__category { font-weight: var(--voya-weight-medium); }

.voya-workcard__title {
  margin: 0;
  text-wrap: balance;
  font-size: var(--voya-text-h2);
  font-weight: var(--voya-weight-medium);
  line-height: 117%;
  letter-spacing: var(--voya-text-h2-tracking);
}
.voya-workcard--grid .voya-workcard__title { font-size: 22px; letter-spacing: -1.2px; line-height: 120%; }

.voya-workcard__description {
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin: var(--voya-space-5) 0 auto;
  font-size: 20px;
  font-weight: var(--voya-weight-light);
  line-height: var(--voya-leading-relaxed);
  letter-spacing: -0.8px;
}
.voya-workcard--grid .voya-workcard__description {
  font-size: var(--voya-text-body);
  line-height: var(--voya-leading-normal);
  letter-spacing: -0.56px;
}

.voya-workcard__action { margin-top: var(--voya-space-5); }
.voya-workcard__soon {
  margin-top: var(--voya-space-5);
  font-size: 22px;
  font-weight: var(--voya-weight-medium);
  line-height: var(--voya-leading-tight);
  letter-spacing: -0.96px;
}
.voya-workcard--grid .voya-workcard__soon { font-size: var(--voya-text-body); }

@media (max-width: 992px) {
  .voya-workcard { flex-direction: column; height: auto; }
  /* These have to out-specify the layout-scoped desktop rules above
     (.voya-workcard--row .voya-workcard__media), or the row card never
     stacks properly on a phone. */
  .voya-workcard--row .voya-workcard__media,
  .voya-workcard--grid .voya-workcard__media { width: 100%; }
  .voya-workcard--row .voya-workcard__body,
  .voya-workcard--grid .voya-workcard__body { width: 100%; padding: var(--voya-space-6); }
  .voya-workcard__title { font-size: var(--voya-text-h4); letter-spacing: -1.2px; line-height: 120%; }
  .voya-workcard__description {
    font-size: var(--voya-text-small);
    line-height: var(--voya-leading-normal);
    letter-spacing: -0.56px;
  }
}

/* The card owns the hover, as it does on the site: hovering anywhere on it
   unrolls a nested ArrowLink instead of requiring a second, smaller target. */
.voya-workcard:hover .voya-arrowlink__text { max-width: 100%; }
.voya-workcard:hover .voya-arrowlink__arrow {
  color: var(--voya-color-white);
  background: var(--voya-color-black);
}

/* ---------------------------------------------------------------
   Statik site düzeltmeleri — tasarım sistemi bundle'ından sonra yüklenir
   --------------------------------------------------------------- */

/* Klavyeyle gezinenler için içeriğe atlama bağlantısı */
.df-skip{position:absolute;left:-9999px;top:0;z-index:200;padding:12px 18px;background:#00809F;color:#fff;border-radius:0 0 8px 0;font-size:14px;text-decoration:none}
.df-skip:focus{left:0}

/* Ekran okuyucuya görünen, gözle görünmeyen başlık. Liste sayfalarında hero'nun
   <h1>'i ile kart <h3>'leri arasında tema hiç <h2> basmıyordu (h1 → h3 atlaması);
   bölüm başlığı buraya konur, yerleşimde hiç yer kaplamaz. `.df-skip` ile aynı
   teknik, ama odaklanınca da görünmez — bir bağlantı değil, başlık. */
.df-visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}

/* Prerender sonrası React kalmadığı için görünürlük geçişleri burada */
.df-rv{opacity:0;transform:translateY(22px);transition:opacity 820ms cubic-bezier(.22,1,.36,1),transform 820ms cubic-bezier(.22,1,.36,1)}
.df-rv.df-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.df-rv{opacity:1;transform:none;transition:none}}

/* Mobil çekmece kapalıyken yalnızca clip-path ile gizleniyordu; clip-path
   odak sırasını etkilemediği için 18 görünmez bağlantı Tab ile geziliyordu.
   Kapalı durumda görünürlüğü de kapatıyoruz (geçiş bitince devreye girer). */
.df-drawer{visibility:hidden;transition:clip-path 620ms cubic-bezier(0.76,0,0.24,1),visibility 0s linear 620ms}
.df-drawer.df-drawer--open{visibility:visible;transition:clip-path 620ms cubic-bezier(0.76,0,0.24,1),visibility 0s}
@media (max-width:992px){
  .df-drawer:not(.df-drawer--open){visibility:hidden}
}

/* ---------------------------------------------------------------
   Hizmet kartları — sabit 210px yükseklik üç satırlık açıklamalarda
   metni kart sınırının dışına taşırıyordu. Yüksekliği içeriğe
   bırakıp flex stretch ile kartları eşitliyoruz; başlık kademesi de
   bir tık aşağı çekildi.
   --------------------------------------------------------------- */
#hizmetler [style*="scroll-snap-type"] > a,
#hizmetler [style*="scroll-snap-type"] > div{
  height:auto !important;
  min-height:210px;
}
#hizmetler [style*="scroll-snap-type"] h3{
  font-size:24px !important;
  line-height:124% !important;
}
#hizmetler [style*="scroll-snap-type"] > a > div:first-child{
  min-height:62px !important;
}
#hizmetler [style*="scroll-snap-type"] p{
  font-size:15.5px !important;
}

/* Aynı kart kalıbı hizmet alt sayfalarında da kullanılıyor */
[data-screen-label="Hizmetler"] [style*="scroll-snap-type"] > a,
[data-screen-label="Servisler"] [style*="scroll-snap-type"] > a{
  height:auto !important;
  min-height:210px;
}

/* Bölüm başlıkları bir kademe küçüldü.
   Sayfanın kendi stil bloğu aynı seçiciyi !important ile ve bu dosyadan
   SONRA tanımlıyor; bu yüzden #dc-root ile spesifikliği bir kademe artırıyoruz. */
#dc-root #hizmetler .voya-heading__title,
#dc-root #calismalar .voya-heading__title,
#dc-root #referanslar .voya-heading__title,
#dc-root #sss .voya-heading__title{
  font-size:clamp(26px,2.9vw,36px) !important;
}

/* ---------------------------------------------------------------
   Erişilebilirlik düzeltmeleri
   --------------------------------------------------------------- */

/* Hizmetler menüsü yalnızca :hover ile açılıyordu; klavyeyle 9 hizmet
   sayfasına ulaşmak imkânsızdı (WCAG 2.1.1). */
.voya-svc:focus-within .voya-svc__panel{opacity:1;visibility:visible;transform:translate(-50%,14px)}
.voya-svc:focus-within .voya-svc__caret{transform:rotate(180deg)}

/* İletişim sayfasındaki form katmanı kapalıyken görünmez ama odaklanabilir
   kalıyordu — Tab ile ekran dışındaki alanlara giriliyordu. */
.df-sheet{visibility:hidden}
.df-sheet.df-sheet--open{visibility:visible}

/* Marka rengiyle net bir odak halkası */
:focus-visible{outline:3px solid #00809F;outline-offset:2px;border-radius:4px}
.voya-header--light :focus-visible,
.df-drawer :focus-visible{outline-color:#29ABD3}

/* Dokunma hedefleri en az 44px (görsel boyut korunur, alan büyür) */
.voya-header__burger{min-width:44px;min-height:44px}
.voya-header__localeBtn{min-height:44px}
.voya-slidernav__btn{min-width:40px;min-height:40px}

/* Hareketi azalt tercihinde otomatik oynayan videolar durur */
@media (prefers-reduced-motion:reduce){
  video[autoplay]{display:none}
}

/* Kontrast düzeltmeleri sınıf bazlı yapılamıyor: bu metinlerin renkleri
   satır içi stil olarak geliyor. Prerender aşamasında her metnin gerçek
   zeminine göre ölçülüp düzeltiliyor (bkz. prerender.mjs, kontrast adımı). */

/* Hizmet menüsü öğeleri artık gerçek bağlantı; nav'ın genel a:hover kuralı
   panelin kendi vurgu rengini eziyordu. */
.voya-header__nav .voya-svc__item:hover,
.voya-header__nav .voya-svc__item:focus-visible{color:#1B3D6E !important;background:#EFF7FA}
.voya-svc__label{color:inherit;text-decoration:none}

/* Ana sayfada hero videosunun açık geçtiği kareler menüyü 4.31:1'e düşürüyordu.
   Başlığın arkasına ince bir koyu perde koyup metni zeminden ayırıyoruz. */
header.voya-header--light::before{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:-1;
  background:linear-gradient(180deg,rgba(0,0,0,.55) 0%,rgba(0,0,0,.28) 55%,rgba(0,0,0,0) 100%);
}
header.voya-header--light{position:relative;isolation:isolate}

/* WhatsApp butonu — components/site/whatsapp-button.blade.php */
@property --df-wa-angle {
  syntax: '<angle>';
  initial-value: 0deg;
  inherits: false;
}
.df-wa-btn {
  position: relative;
  isolation: isolate;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  align-self: flex-start;
  padding: 13px 22px 13px 18px;
  border-radius: 999px;
  background: linear-gradient(135deg, #25d366 0%, #1ebe5d 55%, #128c7e 100%);
  color: #fff !important;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: -0.01em;
  line-height: 1;
  text-decoration: none !important;
  animation: df-wa-glow 2.6s ease-in-out infinite;
  transition: transform 300ms cubic-bezier(0.22, 0.61, 0.36, 1), filter 300ms;
}
.df-wa-btn::before {
  content: '';
  position: absolute;
  inset: -3px;
  z-index: -1;
  padding: 2px;
  border-radius: inherit;
  background: conic-gradient(from var(--df-wa-angle), transparent 0% 55%, rgba(124, 255, 178, 0.2) 65%, #7cffb2 80%, #25d366 88%, transparent 100%);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  animation: df-wa-spin 3.2s linear infinite;
}
.df-wa-btn:hover {
  transform: translateY(-2px);
  filter: brightness(1.06) saturate(1.1);
}
.df-wa-btn:focus-visible {
  outline: 2px solid #25d366;
  outline-offset: 4px;
}
.df-wa-btn__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.18);
}
.df-wa-btn__arrow {
  transition: transform 300ms cubic-bezier(0.22, 0.61, 0.36, 1);
}
.df-wa-btn:hover .df-wa-btn__arrow {
  transform: translateX(3px);
}
.df-wa-btn--sm {
  gap: 9px;
  padding: 10px 18px 10px 12px;
  font-size: 15px;
}
.df-wa-btn--sm .df-wa-btn__icon {
  width: 26px;
  height: 26px;
}
@keyframes df-wa-spin {
  to {
    --df-wa-angle: 360deg;
  }
}
@keyframes df-wa-glow {
  0%,
  100% {
    box-shadow: 0 0 0 0 rgba(37, 211, 102, 0.45), 0 0 16px rgba(37, 211, 102, 0.35);
  }
  50% {
    box-shadow: 0 0 0 7px rgba(37, 211, 102, 0), 0 0 30px rgba(37, 211, 102, 0.55);
  }
}
@media (prefers-reduced-motion: reduce) {
  .df-wa-btn,
  .df-wa-btn::before {
    animation: none;
  }
  .df-wa-btn {
    box-shadow: 0 0 18px rgba(37, 211, 102, 0.4);
  }
}

/*
 * Görsel oranı: `width`/`height` öznitelikleri yalnızca yer ayırmak (CLS) içindir.
 * Stil `aspect-ratio` verdiğinde yükseklik o orandan hesaplanmalı; öznitelikteki
 * piksel yüksekliği (ör. 693) dar ekranda görseli dikey bir kesite çeviriyordu.
 * `:where` ile özgüllük sıfırdır: kart görselleri gibi CSS'in bilinçli `height: 100%`
 * verdiği yerler (`.voya-workcard__media img`) ve satır içi değerler bu kuralı ezer.
 */
:where(img[height], video[height]) {
  height: auto;
}

/*
 * Çalışma detayı: tasarım oranları (16:9 kapak, 10:11 bölüm görseli, 21:9 sonuç)
 * masaüstünde korunur; telefonda kırpma görselin anlamını yok ettiği için görselin
 * tamamı kendi oranında gösterilir. Gerçek oran `--df-ar` ile satır içinde gelir
 * (kütüphane kaydından), böylece görsel inmeden de yer ayrılır.
 */
@media (max-width: 640px) {
  .df-fit-mobile {
    aspect-ratio: var(--df-ar, auto) !important;
    height: auto !important;
    object-fit: contain !important;
  }
}

/*
 * Mobil menü butonu: 44px dokunma alanı korunur, çizgiler 22px'e indirildi
 * (min-width: 44px çizgileri 38px'e uzatıyordu). Açılınca (`--open`, site.js)
 * üst ve alt çizgi ortada buluşup dönerek X olur, ortadaki söner.
 */
.voya-header__burger {
  width: 44px;
  height: 44px;
  margin: 0 -10px 0 0;
  padding: 0;
}
.voya-header__burger span {
  left: 11px;
  right: 11px;
  height: 2px;
  border-radius: 2px;
  transition:
    top 260ms cubic-bezier(0.4, 0, 0.2, 1) 260ms,
    transform 260ms cubic-bezier(0.4, 0, 0.2, 1),
    opacity 200ms ease 200ms,
    background-color 300ms ease;
}
.voya-header__burger span:nth-child(1) { top: calc(50% - 7px); bottom: auto; transform: none; }
.voya-header__burger span:nth-child(2) { top: calc(50% - 1px); bottom: auto; transform: none; }
.voya-header__burger span:nth-child(3) { top: calc(50% + 5px); bottom: auto; transform: none; }
.voya-header__burger--open span {
  transition:
    top 260ms cubic-bezier(0.4, 0, 0.2, 1),
    transform 260ms cubic-bezier(0.4, 0, 0.2, 1) 260ms,
    opacity 160ms ease,
    background-color 300ms ease;
}
.voya-header__burger--open span:nth-child(1) { top: calc(50% - 1px); transform: rotate(45deg); }
.voya-header__burger--open span:nth-child(2) { opacity: 0; }
.voya-header__burger--open span:nth-child(3) { top: calc(50% - 1px); transform: rotate(-45deg); }
@media (prefers-reduced-motion: reduce) {
  .voya-header__burger span,
  .voya-header__burger--open span { transition: none; }
}

/* Mobil dil butonu bir kademe büyük: ikon 16 → 18px, yazı 13 → 14px. */
@media (max-width: 992px) {
  .voya-header .voya-header__localeBtn svg { width: 18px !important; height: 18px !important; }
  .voya-header .voya-header__localeText { font-size: 14px !important; }
}

/* Mobil menü kendi içinde kaydırılır ama ikinci bir kaydırma çubuğu göstermez;
   kaydırma sayfaya taşmaz. */
.df-drawer {
  overscroll-behavior: contain;
  scrollbar-width: none;
}
.df-drawer::-webkit-scrollbar {
  display: none;
}
