/* PTGL Lab — unified light hero theme */

:root {
  --pml-accent: #6d5cff;
  --pml-accent-deep: #5346d9;
  --pml-accent-warm: #ff6b4a;
  --pml-surface: #f5f3ee;
  --pml-surface-alt: #ebe8e1;
  --pml-surface-card: #ffffff;
  --pml-border: rgba(26, 26, 46, 0.1);
  --pml-border-accent: rgba(109, 92, 255, 0.22);
  --pml-text: #1a1a2e;
  --pml-text-muted: rgba(26, 26, 46, 0.65);

  --pml-font-body: "DM Sans", system-ui, -apple-system, sans-serif;
  --pml-font-heading: "Syne", system-ui, sans-serif;
  --pml-font-mono: "IBM Plex Mono", ui-monospace, monospace;

  --_primitives---colors--blue: var(--pml-accent);
  --_primitives---colors--pink: var(--pml-accent-warm);
  --_typography---font-styles--body: var(--pml-font-body);
  --_typography---font-styles--heading: var(--pml-font-heading);
  --_typography---font-styles--button: var(--pml-font-mono);
}

body,
.page-wrapper,
.pml-page {
  background-color: var(--pml-surface);
  color: var(--pml-text);
  font-family: var(--pml-font-body);
  font-optical-sizing: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.pml-page .heading-style-h1,
.pml-page .heading-style-h2,
.pml-page .heading-style-h3,
.pml-page .heading-style-h4,
.pml-page h1,
.pml-page h2,
.pml-page h3,
.pml-page h4 {
  font-family: var(--pml-font-heading);
  letter-spacing: -0.03em;
}

.pml-page .heading-style-h1 {
  font-weight: 800;
  line-height: 1.05;
}

.pml-page .heading-style-h2 {
  font-weight: 700;
  line-height: 1.1;
}

.pml-page .heading-style-h3,
.pml-page .heading-style-h4 {
  font-weight: 700;
}

.pml-page .text-font-button,
.pml-page .text-font-body.text-style-allcaps,
.pml-page .hero-badge,
.pml-page .hero-meta-item,
.pml-page .apply-form-kicker,
.pml-page .header1_salary .text-font-button,
.pml-page .button .text-block,
.pml-page .header1_salary .text-font-button {
  font-family: var(--pml-font-mono);
  letter-spacing: 0.04em;
}

.pml-page .text-size-large,
.pml-page .text-size-regular,
.pml-page .text-size-medium,
.pml-page p,
.pml-page li,
.pml-page label,
.pml-page input,
.pml-page select,
.pml-page textarea {
  font-family: var(--pml-font-body);
}

.pml-page .text-size-large {
  line-height: 1.55;
}

.pml-page .text-size-regular,
.pml-page p {
  line-height: 1.6;
}

/* Light surface blocks (replaces black sections) */
.pml-surface {
  position: relative;
  background-color: var(--pml-surface);
  color: var(--pml-text);
  overflow: hidden;
}

.pml-surface::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background-image:
    linear-gradient(rgba(109, 92, 255, 0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(109, 92, 255, 0.035) 1px, transparent 1px);
  background-size: 3.75rem 3.75rem;
}

.pml-surface > * {
  position: relative;
  z-index: 1;
}

.pml-surface--alt {
  background-color: var(--pml-surface-alt);
}

.pml-surface--alt::before {
  background-image:
    linear-gradient(rgba(255, 107, 74, 0.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 107, 74, 0.03) 1px, transparent 1px);
}

/* Sections that were dark */
.pml-surface .section-lang-1,
.pml-surface .section-lang-2 {
  color: var(--pml-text);
}

.pml-surface .section-lang-1 {
  padding-top: 2.5rem;
  padding-bottom: 1.5rem;
}

.pml-surface .section-lang-2 {
  padding-top: 1.5rem;
  padding-bottom: 2.5rem;
}

.pml-surface .lang-2-content {
  margin-bottom: 2rem;
}

.pml-role {
  padding: 2rem 0 2.5rem;
  color: var(--pml-text);
}

.pml-role__head {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(16rem, 22rem);
  gap: 2rem;
  align-items: start;
  margin-bottom: 2rem;
}

.pml-role__eyebrow {
  margin: 0 0 0.5rem;
  font-family: var(--pml-font-mono);
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--pml-accent);
}

.pml-role__head-text {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}

.pml-role__head-text .heading-style-h2 {
  margin: 0;
}

.pml-role__pay-card {
  padding: 1.35rem 1.5rem;
  border: 1px solid var(--pml-border-accent);
  border-radius: 14px;
  background: linear-gradient(145deg, rgba(109, 92, 255, 0.1), rgba(255, 107, 74, 0.06));
  box-shadow: 0 12px 36px rgba(109, 92, 255, 0.1);
}

.pml-role__pay-label {
  margin: 0 0 0.35rem;
  font-size: 0.88rem;
  color: var(--pml-text-muted);
}

.pml-role__pay-amount {
  margin: 0;
  font-family: var(--pml-font-heading);
  font-size: 1.65rem;
  font-weight: 700;
  line-height: 1.15;
  color: var(--pml-text);
}

.pml-role__pay-amount span {
  font-family: var(--pml-font-body);
  font-size: 1rem;
  font-weight: 500;
  color: var(--pml-text-muted);
}

.pml-role__pay-note {
  margin: 0.5rem 0 1rem;
  font-size: 0.88rem;
  color: var(--pml-text-muted);
}

.pml-role__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 0.7rem 1rem;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--pml-accent), #8b7dff);
  color: #fff;
  font-family: var(--pml-font-mono);
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-decoration: none;
  text-transform: uppercase;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.pml-role__cta:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 20px rgba(109, 92, 255, 0.35);
}

.pml-role__cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.25rem;
  margin-bottom: 1.25rem;
}

.pml-role__card {
  padding: 1.5rem;
  border: 1px solid var(--pml-border);
  border-radius: 14px;
  background: var(--pml-surface-card);
  box-shadow: 0 8px 28px rgba(26, 26, 46, 0.05);
}

.pml-role__card .heading-style-h4 {
  margin: 0 0 1rem;
  color: var(--pml-text);
}

.pml-role__list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.pml-role__list li {
  position: relative;
  padding-left: 1.15rem;
  font-size: 0.95rem;
  line-height: 1.55;
  color: var(--pml-text-muted);
}

.pml-role__list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--pml-accent);
}

.pml-role__perks {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.pml-role__perk {
  display: flex;
  align-items: flex-start;
  gap: 0.85rem;
  padding: 1.15rem 1.25rem;
  border: 1px solid var(--pml-border);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.55);
}

.pml-role__perk-icon {
  width: 2.35rem;
  height: 2.35rem;
  flex-shrink: 0;
  object-fit: contain;
  padding: 0.45rem;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--pml-accent), #8b7dff);
  box-shadow: 0 8px 18px rgba(109, 92, 255, 0.2);
}

.pml-role__perk-title {
  margin: 0 0 0.2rem;
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--pml-text);
}

.pml-role__perk-desc {
  margin: 0;
  font-size: 0.85rem;
  line-height: 1.45;
  color: var(--pml-text-muted);
}

@media screen and (max-width: 991px) {
  .pml-role__head {
    grid-template-columns: 1fr;
  }

  .pml-role__cards {
    grid-template-columns: 1fr;
  }

  .pml-role__perks {
    grid-template-columns: 1fr;
  }
}

/* Skills / home-7 — light stacked sections */
.pml-surface .lang-2--grid {
  border: 1px solid var(--pml-border);
  border-radius: 12px;
  overflow: hidden;
  background: var(--pml-surface-card);
  box-shadow: 0 12px 40px rgba(109, 92, 255, 0.08);
}

.pml-surface .lang-2-comp {
  background: var(--pml-surface-card);
  border-right: 1px solid var(--pml-border);
  padding: 1.5rem 1.25rem;
  grid-column-gap: 1.25rem;
  grid-row-gap: 1.25rem;
}

.pml-surface .lang-2-comp:last-child {
  border-right: none;
}

.pml-surface .section-home-7 {
  color: var(--pml-text);
}

.pml-surface .home-7-heading-comp {
  color: var(--pml-text);
  background: transparent;
  padding-top: 2.5rem;
  padding-bottom: 0.75rem;
}

.pml-surface .home-7-comp-1,
.pml-surface .home-7-comp-1.is--2,
.pml-surface .home-7-comp-1.is--3,
.pml-surface .home-7-comp-1.is--4 {
  min-height: auto;
  color: var(--pml-text);
  background: transparent;
  padding-top: 1rem;
  padding-bottom: 1rem;
}

.pml-surface .home-7-comp-2--grid {
  min-height: auto;
  align-items: center;
  padding: 1.25rem;
  grid-column-gap: 2rem;
  grid-row-gap: 1.25rem;
  border: 1px solid var(--pml-border);
  border-radius: 12px;
  background: var(--pml-surface-card);
  box-shadow: 0 10px 32px rgba(26, 26, 46, 0.06);
}

.pml-surface .home-7-comp-2-content {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
}

.pml-surface .home-7-comp-1.is--2 .home-7-comp-2--grid,
.pml-surface .home-7-comp-1.is--4 .home-7-comp-2--grid {
  grid-template-columns: 1fr 1fr;
}

.pml-surface .home-7-comp-1.is--2 .home-7-img {
  order: 2;
}

.pml-surface .home-7-comp-1.is--2 .home-7-comp-2-content {
  order: 1;
}

/* How to start */
.pml-surface .section-home-4 {
  background: transparent;
  color: var(--pml-text);
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}

.pml-surface .home-4-numb-wrapper {
  background: transparent;
  border: 1px solid var(--pml-border-accent);
  border-radius: 12px;
  overflow: hidden;
}

.pml-surface .home-4-numb-bg.is--1 {
  background: linear-gradient(135deg, var(--pml-accent), #8b7dff);
}

.pml-surface .home-4-numb-bg.is--2 {
  background: linear-gradient(135deg, #7a68ff, var(--pml-accent-warm));
}

.pml-surface .home-4-numb-bg.is--3 {
  background: linear-gradient(135deg, var(--pml-accent-warm), #ff8f74);
}

.pml-surface .home-4-comp-content {
  border-bottom-color: var(--pml-border);
}

/* Pixel dividers on light bg */
header .pixel-box,
.pml-surface .pixel-box,
.main-wrapper > .pixel-box {
  color: var(--pml-accent);
}

.pml-surface .pixel-box.w-variant-c19c13d4-108b-a1cd-fc33-28340d613769,
.pml-surface .pixel-box.w-variant-22380be7-003e-407d-ba1d-48bc9549cfb3 {
  color: var(--pml-accent);
}

/* FAQ */
.section_faq1,
.section_faq1.w-variant-15ebab5b-1fa4-cf1b-5ecd-4923df156123 {
  background-color: var(--pml-surface-alt);
  color: var(--pml-text);
}

.section_faq1 .faq1_icon-wrapper {
  background-color: var(--pml-accent);
  align-self: center;
  flex-shrink: 0;
  display: flex;
  justify-content: center;
  align-items: center;
}

.section_faq1 .faq1_icon-wrapper svg {
  display: block;
  width: 10px;
  height: 10px;
  flex-shrink: 0;
}

.section_faq1 .faq1_question {
  align-items: center;
}

.section_faq1 .faq1_icon-horizontal,
.section_faq1 .faq1_icon-vertical {
  fill: #fff;
}

/* CTA + form */
.section_cta25.pml-cta {
  background: linear-gradient(180deg, var(--pml-surface) 0%, #e8e4fc 100%);
  color: var(--pml-text);
  --color-scheme-1--text: var(--pml-text);
  --color-scheme-1--border: var(--pml-border);
}

.section_cta25.pml-cta::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(109, 92, 255, 0.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(109, 92, 255, 0.05) 1px, transparent 1px);
  background-size: 3.75rem 3.75rem;
}

.pml-cta .apply-form-card {
  background: var(--pml-surface-card);
  border: 1px solid var(--pml-border-accent);
  border-radius: 12px;
  box-shadow: 0 20px 60px rgba(109, 92, 255, 0.12);
}

.pml-cta .apply-form-kicker {
  color: var(--pml-accent);
}

.pml-cta .apply-form-label {
  color: var(--pml-text);
}

.pml-cta .apply-form-input {
  border: 1px solid var(--pml-border);
  background: var(--pml-surface);
  color: var(--pml-text);
}

.pml-cta .apply-form-input::placeholder {
  color: var(--pml-text-muted);
}

.pml-cta .apply-form-input:focus {
  border-color: var(--pml-accent);
  box-shadow: 0 0 0 2px rgba(109, 92, 255, 0.15);
}

.pml-cta .apply-form-full .button {
  background: var(--pml-text);
  color: #fff;
}

.pml-submit-btn {
  width: 100%;
  min-height: 2.9rem;
  border: 1px solid transparent;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--pml-accent), #8b7dff);
  color: #fff;
  font-family: var(--pml-font-mono);
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  cursor: pointer;
  transition: transform 0.2s ease, box-shadow 0.2s ease, opacity 0.2s ease;
}

.pml-submit-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 20px rgba(109, 92, 255, 0.35);
}

.pml-submit-btn:active {
  transform: translateY(0);
}

/* Success modal */
.pml-modal {
  position: fixed;
  inset: 0;
  z-index: 2000;
  display: none;
}

.pml-modal.is-open {
  display: grid;
  place-items: center;
}

.pml-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(20, 14, 45, 0.45);
  backdrop-filter: blur(2px);
}

.pml-modal__dialog {
  position: relative;
  z-index: 1;
  width: min(92vw, 28rem);
  background: #fff;
  border: 1px solid var(--pml-border-accent);
  border-radius: 16px;
  padding: 1.5rem 1.35rem 1.2rem;
  box-shadow: 0 18px 50px rgba(27, 23, 59, 0.25);
  text-align: center;
}

.pml-modal__close {
  position: absolute;
  top: 0.55rem;
  right: 0.55rem;
  width: 2rem;
  height: 2rem;
  border: 1px solid var(--pml-border);
  border-radius: 999px;
  background: #fff;
  color: var(--pml-text);
  font-size: 1.15rem;
  line-height: 1;
  cursor: pointer;
}

.pml-modal__icon {
  width: 2.6rem;
  height: 2.6rem;
  margin: 0 auto 0.75rem;
  border-radius: 999px;
  display: grid;
  place-items: center;
  color: #fff;
  background: linear-gradient(135deg, var(--pml-accent), #8b7dff);
  font-weight: 700;
}

.pml-modal__title {
  margin: 0 0 0.4rem;
}

.pml-modal__text {
  margin: 0 0 1rem;
  color: var(--pml-text-muted);
}

.pml-modal__action {
  min-width: 8rem;
  min-height: 2.5rem;
  padding: 0.45rem 1rem;
  border: 0;
  border-radius: 999px;
  background: var(--pml-text);
  color: #fff;
  font-family: var(--pml-font-mono);
  font-size: 0.75rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  cursor: pointer;
}

/* ── Navigation ── */
.pml-hero {
  padding-top: 0 !important;
  background-color: transparent !important;
  background-image: none !important;
}

.pml-hero.section_header1 {
  background-color: transparent !important;
  background-image: none !important;
}

.pml-hero .section-lang-hero,
.pml-hero .pixel-box {
  position: relative;
  z-index: 2;
}

.pml-nav {
  position: sticky;
  top: 0;
  z-index: 1000;
  padding: 0.85rem 1.25rem 0;
  pointer-events: none;
  background: transparent;
}

.pml-nav__shell {
  max-width: 72rem;
  margin: 0 auto;
  pointer-events: auto;
}

.pml-nav__bar {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 0.55rem 0.55rem 0.55rem 1rem;
  border: 1px solid var(--pml-border-accent);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.82);
  backdrop-filter: blur(14px);
  box-shadow: 0 8px 32px rgba(109, 92, 255, 0.1);
  transition: box-shadow 0.25s ease, border-color 0.25s ease, background 0.25s ease;
}

.pml-nav--scrolled .pml-nav__bar {
  background: rgba(255, 255, 255, 0.95);
  box-shadow: 0 10px 36px rgba(26, 26, 46, 0.1);
}

.pml-nav__brand {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  text-decoration: none;
}

.pml-logo {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  text-decoration: none;
  color: var(--pml-text);
}

.pml-logo__icon {
  flex-shrink: 0;
  display: block;
  width: 1.5rem;
  height: 1.5rem;
}

.pml-logo__text {
  font-family: var(--pml-font-heading);
  font-size: 1.0625rem;
  font-weight: 700;
  letter-spacing: -0.025em;
  line-height: 1;
  white-space: nowrap;
}

.pml-nav__menu {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  margin-left: auto;
}

.pml-nav__link {
  padding: 0.5rem 0.85rem;
  border-radius: 999px;
  color: var(--pml-text-muted);
  font-family: var(--pml-font-body);
  font-size: 0.92rem;
  font-weight: 500;
  text-decoration: none;
  transition: color 0.2s ease, background 0.2s ease;
}

.pml-nav__link:hover {
  color: var(--pml-text);
  background: rgba(109, 92, 255, 0.08);
}

.pml-nav__cta {
  flex-shrink: 0;
  padding: 0.62rem 1.15rem;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--pml-accent), #8b7dff);
  color: #fff;
  font-family: var(--pml-font-mono);
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-decoration: none;
  text-transform: uppercase;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.pml-nav__cta:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 20px rgba(109, 92, 255, 0.35);
}

.pml-nav__toggle {
  display: none;
  width: 2.5rem;
  height: 2.5rem;
  margin-left: auto;
  padding: 0;
  border: 1px solid var(--pml-border);
  border-radius: 50%;
  background: var(--pml-surface-card);
  cursor: pointer;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 5px;
}

.pml-nav__toggle span {
  display: block;
  width: 14px;
  height: 2px;
  background: var(--pml-text);
  border-radius: 2px;
  transition: transform 0.25s ease, opacity 0.25s ease;
}

.pml-nav--open .pml-nav__toggle span:first-child {
  transform: translateY(3.5px) rotate(45deg);
}

.pml-nav--open .pml-nav__toggle span:last-child {
  transform: translateY(-3.5px) rotate(-45deg);
}

@media screen and (max-width: 767px) {
  .pml-nav {
    padding: 0.65rem 0.85rem 0;
  }

  .pml-nav__bar {
    display: grid;
    grid-template-columns: 1fr auto auto;
    grid-template-rows: auto auto;
    gap: 0.5rem 0.65rem;
    border-radius: 1.25rem;
    padding: 0.65rem 0.75rem;
  }

  .pml-nav__brand {
    grid-column: 1;
    grid-row: 1;
  }

  .pml-nav__cta {
    grid-column: 2;
    grid-row: 1;
    margin: 0;
    padding: 0.5rem 0.8rem;
    font-size: 0.68rem;
  }

  .pml-nav__toggle {
    display: flex;
    grid-column: 3;
    grid-row: 1;
    margin: 0;
  }

  .pml-nav__menu {
    display: none;
    grid-column: 1 / -1;
    grid-row: 2;
    flex-direction: column;
    align-items: stretch;
    gap: 0.25rem;
    margin: 0;
    padding-top: 0.5rem;
    border-top: 1px solid var(--pml-border);
  }

  .pml-nav--open .pml-nav__menu {
    display: flex;
  }

  .pml-nav__link {
    padding: 0.7rem 0.85rem;
  }
}

/* ── Footer ── */
.pml-site-footer {
  margin-top: 0;
  border-top: 1px solid var(--pml-border);
  background:
    linear-gradient(180deg, rgba(109, 92, 255, 0.04) 0%, transparent 40%),
    var(--pml-surface-card);
  color: var(--pml-text);
}

.pml-site-footer__inner {
  max-width: 72rem;
  margin: 0 auto;
  padding: 2.5rem 2rem 1.5rem;
}

.pml-site-footer__top {
  display: grid;
  grid-template-columns: minmax(12rem, 1.4fr) minmax(0, 2fr);
  gap: 2.5rem;
  padding-bottom: 2rem;
  border-bottom: 1px solid var(--pml-border);
}

.pml-site-footer__brand {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}

.pml-site-footer__logo-link {
  display: inline-flex;
}

.pml-site-footer__tagline {
  max-width: 18rem;
  margin: 0;
  color: var(--pml-text-muted);
  font-size: 0.95rem;
  line-height: 1.55;
}

.pml-site-footer__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.5rem;
}

.pml-site-footer__label {
  margin: 0 0 0.65rem;
  font-family: var(--pml-font-mono);
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--pml-accent);
}

.pml-site-footer__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
}

.pml-site-footer__list a {
  color: var(--pml-text-muted);
  font-size: 0.9rem;
  text-decoration: none;
  transition: color 0.2s ease;
}

.pml-site-footer__list a:hover {
  color: var(--pml-accent);
}

.pml-site-footer__address {
  margin: 0.75rem 0 0;
  font-size: 0.82rem;
  line-height: 1.5;
  color: var(--pml-text-muted);
}

.pml-site-footer__bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding-top: 1.25rem;
  flex-wrap: wrap;
}

.pml-site-footer__copy,
.pml-site-footer__reg {
  margin: 0;
  font-size: 0.8rem;
  color: var(--pml-text-muted);
}

.pml-site-footer__reg {
  font-family: var(--pml-font-mono);
  font-size: 0.72rem;
}

@media screen and (max-width: 991px) {
  .pml-site-footer__top {
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  .pml-site-footer__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pml-site-footer__col--contact {
    grid-column: 1 / -1;
  }
}

@media screen and (max-width: 575px) {
  .pml-site-footer__inner {
    padding: 2rem 1.25rem 1.25rem;
  }

  .pml-site-footer__grid {
    grid-template-columns: 1fr;
  }

  .pml-site-footer__bottom {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* Hero polish */
.pml-hero .hero_canvas {
  z-index: 0;
}

.pml-hero .section-lang-hero {
  z-index: 1;
}

.section_header11,
.pml-hero.section_header11 {
  background-color: transparent;
  background-image: none;
}

.pml-hero .section-lang-hero .padding-section-large.is-home-hero {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 1.5rem 0 2.5rem !important;
}

.pml-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: 2.5rem 3.5rem;
  width: 100%;
  max-width: 72rem;
  margin: 0 auto;
  text-align: left;
  align-items: center;
}

.pml-hero-col {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.25rem;
}

.pml-hero-col--left {
  gap: 1rem;
  align-self: center;
}

.pml-hero-col--right {
  align-self: center;
  justify-content: center;
  gap: 1.1rem;
  max-width: 26rem;
  padding: 0.5rem 0;
}

.pml-hero-col--left .heading-style-h1 {
  margin: 0;
  text-align: left;
}

.pml-hero-col--right .text-size-large {
  margin: 0;
  line-height: 1.55;
}

.pml-hero-col--right .button-group {
  align-items: flex-start;
  justify-content: flex-start;
  width: 100%;
  gap: 0.65rem;
}

.pml-hero-col--right .header1_salary {
  margin-left: 0;
  margin-top: 0;
}

.pml-hero-col--right .header1_indeed {
  width: 100%;
}

.pml-hero-col--right .hero-meta-list {
  margin-top: 0;
  width: 100%;
}

.hero-badge {
  border-color: var(--pml-border-accent);
  background: rgba(255, 255, 255, 0.28);
  backdrop-filter: blur(10px);
  color: var(--pml-text);
  box-shadow: none;
}

.hero-meta-item {
  background: rgba(255, 255, 255, 0.28);
  border-color: var(--pml-border-accent);
  color: var(--pml-text);
  box-shadow: none;
  backdrop-filter: blur(10px);
}

.header1_indeed {
  border-color: var(--pml-border-accent);
  background: rgba(255, 255, 255, 0.28);
  backdrop-filter: blur(10px);
}

@media screen and (max-width: 991px) {
  .pml-hero-grid {
    grid-template-columns: 1fr;
    gap: 2rem;
    align-items: start;
  }

  .pml-hero-col--left,
  .pml-hero-col--right {
    align-self: auto;
    max-width: none;
    padding: 0;
  }
}

.pml-hero .padding-section-large.is-home-hero {
  padding-top: 1.5rem;
}

.text-color-blue {
  color: var(--pml-accent);
}

.text-rich-text a:hover {
  color: var(--pml-accent);
}

/* Responsive benefit grid */
@media screen and (max-width: 991px) {
  .pml-surface .lang-2--grid {
    grid-template-columns: 1fr 1fr;
  }

  .pml-surface .lang-2-comp {
    border-right: none;
    border-bottom: 1px solid var(--pml-border);
  }

  .pml-surface .lang-2-comp:nth-child(odd) {
    border-right: 1px solid var(--pml-border);
  }
}

@media screen and (max-width: 767px) {
  .pml-surface .lang-2--grid {
    grid-template-columns: 1fr;
  }

  .pml-surface .lang-2-comp,
  .pml-surface .lang-2-comp:nth-child(odd) {
    border-right: none;
  }

  .pml-surface .home-7-comp-1.is--2 .home-7-img,
  .pml-surface .home-7-comp-1.is--2 .home-7-comp-2-content {
    order: unset;
  }

  .pml-surface .home-7-comp-2--grid {
    grid-template-columns: 1fr;
  }
}

/* ── Compact spacing sitewide ── */
.pml-page {
  --_ui-styles---padding--padding-global: 2rem;
}

.pml-page .padding-section-large {
  padding-top: 3rem;
  padding-bottom: 3rem;
}

.pml-page .padding-section-large.is-home-hero {
  padding-top: 1.5rem;
  padding-bottom: 2.5rem;
}

.pml-page .lang-hero-content-wrapper {
  grid-column-gap: 0;
  grid-row-gap: 0;
}

.pml-page .lang-1-content.is--2nd {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
}

.pml-page .lang-2-content {
  grid-column-gap: 0.75rem;
  grid-row-gap: 0.75rem;
  margin-bottom: 2rem !important;
}

.pml-page .home-3--grid {
  grid-column-gap: 2.5rem;
  grid-row-gap: 2rem;
}

.pml-page .home-4-comp {
  grid-column-gap: 2rem;
  grid-row-gap: 1.25rem;
  grid-template-columns: 6rem minmax(0, 1fr);
}

.pml-page .home-4-numb-wrapper {
  max-width: 6rem;
}

.pml-page .home-4-content {
  grid-column-gap: 1.25rem;
  grid-row-gap: 1.25rem;
}

.pml-page .block-5rem {
  height: 1.5rem;
}

.pml-page .spacer-large {
  padding-top: 1.25rem;
}

.pml-page .spacer-20 {
  height: 0.75rem;
}

.pml-page .section_faq1 .padding-section-large,
.pml-page .section_cta25 .padding-section-large {
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}

.pml-page .faq1_question {
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
}

.pml-page .lnag-2-icon {
  width: 2.75rem;
  height: 2.75rem;
}

@media screen and (max-width: 991px) {
  .pml-page {
    --_ui-styles---padding--padding-global: 1.5rem;
  }

  .pml-page .padding-section-large,
  .pml-page .padding-section-large.is-home-hero {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
  }
}

@media screen and (max-width: 767px) {
  .pml-page {
    --_ui-styles---padding--padding-global: 1.25rem;
  }

  .pml-page .padding-section-large,
  .pml-page .padding-section-large.is-home-hero {
    padding-top: 2rem;
    padding-bottom: 2rem;
  }

  .pml-page .home-4-comp {
    grid-template-columns: 4.5rem minmax(0, 1fr);
    grid-column-gap: 1.25rem;
  }

  .pml-page .home-4-numb-wrapper {
    max-width: 4.5rem;
  }
}

/* Legal pages — simple prose layout */
.pml-legal-page {
  background: #ffffff;
  color: var(--pml-text);
}

.pml-legal-page .pml-site-footer {
  background: #ffffff;
}

.pml-legal-nav {
  border-bottom: 1px solid var(--pml-border);
  background: #ffffff;
}

.pml-legal-nav__inner {
  max-width: 42rem;
  margin: 0 auto;
  padding: 1.25rem 2rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.pml-legal-nav__back {
  color: var(--pml-text-muted);
  font-size: 0.875rem;
  text-decoration: none;
  transition: color 0.2s ease;
}

.pml-legal-nav__back:hover {
  color: var(--pml-accent);
}

.pml-legal {
  max-width: 42rem;
  margin: 0 auto;
  padding: 2.5rem 2rem 3.5rem;
}

.pml-legal h1 {
  margin: 0 0 0.5rem;
  font-family: var(--pml-font-heading);
  font-size: clamp(1.75rem, 4vw, 2.25rem);
  font-weight: 700;
  line-height: 1.2;
  color: var(--pml-text);
}

.pml-legal__updated {
  margin: 0 0 2rem;
  font-size: 0.875rem;
  color: var(--pml-text-muted);
}

.pml-legal__intro {
  margin: 0 0 2rem;
  font-size: 1rem;
  line-height: 1.7;
  color: var(--pml-text-muted);
}

.pml-legal h2 {
  margin: 2rem 0 0.75rem;
  font-family: var(--pml-font-heading);
  font-size: 1.05rem;
  font-weight: 600;
  color: var(--pml-text);
}

.pml-legal p {
  margin: 0 0 0.85rem;
  font-size: 0.95rem;
  line-height: 1.75;
  color: var(--pml-text-muted);
}

.pml-legal ul {
  margin: 0 0 1rem;
  padding-left: 1.25rem;
}

.pml-legal li {
  margin-bottom: 0.45rem;
  font-size: 0.95rem;
  line-height: 1.7;
  color: var(--pml-text-muted);
}

.pml-legal a {
  color: var(--pml-accent);
  text-decoration: none;
}

.pml-legal a:hover {
  text-decoration: underline;
}

@media screen and (max-width: 767px) {
  .pml-legal-nav__inner,
  .pml-legal {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }
}

.pml-hero-simple {
  display: block;
  width: 100%;
  text-align: left;
}

.pml-hero-simple .heading-style-h1 {
  margin: 0 auto;
  max-width: none;
}

.pml-hero .padding-section-large.is-home-hero:has(.pml-hero-simple) {
  padding-top: 2rem;
  padding-bottom: 2.5rem;
}
