/* ==========================================================================
   ТЕРАКОР Home — Hybrid: Dark Tech Hero + Clean Light Content
   Scoped to body.page-home only.
   ========================================================================== */

@import url("https://fonts.googleapis.com/css2?family=Manrope:wght@500;600;700;800&display=swap");

body.page-home {
  /* Dark zone */
  --hd-bg: #0b1120;
  --hd-bg-2: #0f172a;
  --hd-text: #ffffff;
  --hd-muted: #cbd5e1;
  --hd-border: rgba(255, 255, 255, 0.1);
  --hd-border-strong: rgba(255, 255, 255, 0.2);
  --hd-cyan: #22d3ee;
  --hd-blue: #3b82f6;
  --hd-gradient: linear-gradient(135deg, #22d3ee 0%, #3b82f6 100%);
  --hd-orange: #f97316;
  --hd-orange-2: #ea580c;

  /* Light zone */
  --hl-bg: #ffffff;
  --hl-bg-soft: #f8fafc;
  --hl-bg-mint: #f0fdfa;
  --hl-text: #0f172a;
  --hl-text-2: #1e293b;
  --hl-muted: #64748b;
  --hl-border: #e2e8f0;
  --hl-blue: #2563eb;
  --hl-cyan: #0ea5e9;
  --hl-green: #059669;
  --hl-orange: #f97316;
  --hl-shadow-sm: 0 4px 16px rgba(15, 23, 42, 0.06);
  --hl-shadow: 0 10px 30px rgba(37, 99, 235, 0.08);
  --hl-shadow-lg: 0 18px 40px rgba(37, 99, 235, 0.12);
  --hl-shadow-orange: 0 14px 36px rgba(249, 115, 22, 0.35);

  --hk-radius: 1rem;
  --hk-radius-xl: 1.25rem;
  --hk-radius-2xl: 1.5rem;
  --hk-ease: 300ms ease-in-out;
  --hk-font: "Manrope", system-ui, sans-serif;

  background: var(--hl-bg) !important;
  color: var(--hl-text-2);
  font-family: var(--hk-font);
  line-height: 1.6;
}

body.page-home main {
  background: transparent;
}

/* --------------------------------------------------------------------------
   Shared
   -------------------------------------------------------------------------- */

body.page-home .section-padding {
  padding-top: clamp(3.5rem, 7vw, 5.5rem);
  padding-bottom: clamp(3.5rem, 7vw, 5.5rem);
}

body.page-home .section-heading {
  font-family: var(--hk-font) !important;
  color: var(--hl-text) !important;
  letter-spacing: -0.03em !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body.page-home .section-heading::after {
  display: none !important;
  content: none !important;
}

body.page-home .section-lead {
  color: var(--hl-muted) !important;
  font-size: 1.05rem;
  line-height: 1.65;
}

body.page-home .reveal-on-scroll {
  opacity: 0;
  transform: translateY(22px);
  transition: opacity 0.65s ease, transform 0.65s ease;
}

body.page-home .reveal-on-scroll.is-visible {
  opacity: 1;
  transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
  body.page-home .reveal-on-scroll {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

body.page-home .text-gradient {
  background: var(--hd-gradient);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}

/* --------------------------------------------------------------------------
   BLOCK 1 — Dark Hero
   -------------------------------------------------------------------------- */

body.page-home .main-banner {
  min-height: min(92vh, 860px);
  background: var(--hd-bg);
  position: relative;
  isolation: isolate;
  overflow: hidden;
}

body.page-home .hero-bg-decor {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  overflow: hidden;
}

body.page-home .hero-bg-decor__glow {
  position: absolute;
  border-radius: 999px;
  filter: blur(60px);
  opacity: 0.55;
}

body.page-home .hero-bg-decor__glow--cyan {
  width: min(420px, 85vw);
  height: min(420px, 85vw);
  left: 50%;
  top: 18%;
  transform: translate(-50%, -50%);
  background: rgba(34, 211, 238, 0.22);
}

body.page-home .hero-bg-decor__glow--blue {
  width: min(320px, 70vw);
  height: min(320px, 70vw);
  right: -12%;
  top: 42%;
  background: rgba(59, 130, 246, 0.16);
}

body.page-home .hero-bg-decor__grid {
  position: absolute;
  inset: 0;
  opacity: 0.14;
  background-image:
    radial-gradient(circle at 1px 1px, rgba(148, 163, 184, 0.35) 1px, transparent 0);
  background-size: 28px 28px;
  mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.55) 0%, transparent 78%);
  -webkit-mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.55) 0%, transparent 78%);
}

body.page-home .main-banner #bg-video {
  opacity: 0.18;
  filter: saturate(0.65) brightness(0.5);
}

body.page-home .main-banner::before {
  z-index: 1;
  background:
    radial-gradient(ellipse 55% 45% at 50% 28%, rgba(34, 211, 238, 0.22), transparent 62%),
    radial-gradient(ellipse 40% 35% at 78% 70%, rgba(59, 130, 246, 0.18), transparent 60%),
    linear-gradient(180deg, rgba(11, 17, 32, 0.45) 0%, rgba(11, 17, 32, 0.78) 55%, rgba(11, 17, 32, 0.96) 100%) !important;
}

/* Soft fade into light bridge */
body.page-home .main-banner::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: clamp(56px, 10vw, 96px);
  z-index: 4;
  pointer-events: none;
  background: linear-gradient(
    180deg,
    rgba(11, 17, 32, 0) 0%,
    rgba(11, 17, 32, 0.35) 45%,
    #0b1120 100%
  );
}

body.page-home .hero-light-bridge {
  position: relative;
  z-index: 5;
  width: 100%;
  height: clamp(64px, 11vw, 108px);
  margin-top: -1px;
  background: linear-gradient(180deg, #0b1120 0%, #111827 48%, #1e293b 100%);
  overflow: hidden;
  pointer-events: none;
}

body.page-home .hero-light-bridge__glow {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 70% 80% at 50% 0%, rgba(34, 211, 238, 0.12), transparent 68%),
    linear-gradient(180deg, transparent 0%, rgba(255, 255, 255, 0.06) 55%, rgba(255, 255, 255, 0.22) 100%);
}

body.page-home .hero-light-bridge__wave {
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 100%;
  height: 58%;
  display: block;
}

body.page-home .main-banner .video-overlay {
  background: transparent !important;
  min-height: min(92vh, 860px);
  align-items: center;
  justify-content: center;
  padding: 4.5rem 1rem 5.5rem;
  position: relative;
  z-index: 3;
}

body.page-home .main-banner .caption {
  max-width: 920px;
  position: relative !important;
  top: auto !important;
  left: auto !important;
  transform: none !important;
  width: 100% !important;
}

body.page-home .hero-eyebrows {
  flex-direction: row;
  flex-wrap: wrap;
  gap: 0.55rem;
  margin-bottom: 1.35rem;
}

body.page-home .hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  margin: 0;
  padding: 0.45rem 0.95rem;
  max-width: none;
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  text-transform: none;
  color: var(--hd-muted) !important;
  background: rgba(255, 255, 255, 0.05) !important;
  border: 1px solid var(--hd-border) !important;
  border-radius: 999px;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow: none;
}

body.page-home .hero-badge i {
  color: var(--hd-cyan) !important;
}

body.page-home .hero-badge--geo em {
  color: var(--hd-cyan) !important;
  font-weight: 800;
}

body.page-home .main-banner .caption h1,
body.page-home .main-banner .hero-main-title {
  font-family: var(--hk-font) !important;
  font-size: clamp(1.7rem, 5.4vw, 3.35rem) !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
  color: #fff !important;
  text-shadow: none !important;
  margin-bottom: 1rem !important;
}

body.page-home .main-banner .caption h1 em,
body.page-home .main-banner .hero-main-title em {
  font-style: normal;
  color: inherit;
  -webkit-text-fill-color: inherit;
}

body.page-home .hero-license-inline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  max-width: min(100%, 36rem);
  margin: 0 auto 1.25rem;
  padding: 0.35rem 0.25rem;
  color: var(--hd-muted) !important;
  text-decoration: none;
  font-size: 0.84rem;
  font-weight: 500;
  line-height: 1.4;
  transition: color var(--hk-ease);
}

body.page-home .hero-license-inline i {
  color: var(--hd-cyan);
  font-size: 1.05rem;
}

body.page-home .hero-license-inline:hover {
  color: #fff !important;
}

body.page-home .hero-dirs {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.45rem;
  margin: 0 0 1.5rem;
}

body.page-home .hero-dir-pill {
  display: inline-flex;
  align-items: center;
  padding: 0.4rem 0.85rem;
  border-radius: 999px;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #fff;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid var(--hd-border);
  backdrop-filter: blur(10px);
  transition: border-color var(--hk-ease), transform var(--hk-ease), background var(--hk-ease);
}

body.page-home .hero-dir-pill:hover {
  border-color: rgba(34, 211, 238, 0.55);
  background: rgba(34, 211, 238, 0.08);
  transform: translateY(-1px);
}

body.page-home .hero-programming-label {
  display: none !important;
}

body.page-home .hero-online-note {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  margin: 0 auto 0.85rem;
  color: #94a3b8 !important;
  font-size: 0.88rem;
  font-weight: 600;
}

body.page-home .hero-online-note i {
  color: var(--hd-cyan) !important;
  font-size: 0.95rem;
}

body.page-home .hero-trust-strip {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0.65rem;
  margin: 1.5rem 0 0;
  padding-top: 0;
  border-top: none;
  color: #94a3b8 !important;
  font-size: 0.78rem;
  font-weight: 600;
  line-height: 1.4;
  text-align: center;
}

body.page-home .hero-trust-strip__avatars {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
}

body.page-home .hero-trust-strip__avatar {
  width: 1.65rem;
  height: 1.65rem;
  margin-left: -0.45rem;
  border-radius: 999px;
  border: 2px solid rgba(11, 17, 32, 0.92);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18);
}

body.page-home .hero-trust-strip__avatar:first-child {
  margin-left: 0;
}

body.page-home .hero-trust-strip__avatar--1 {
  background: linear-gradient(135deg, #22d3ee 0%, #0891b2 100%);
}

body.page-home .hero-trust-strip__avatar--2 {
  background: linear-gradient(135deg, #38bdf8 0%, #2563eb 100%);
}

body.page-home .hero-trust-strip__avatar--3 {
  background: linear-gradient(135deg, #fb923c 0%, #f97316 100%);
}

body.page-home .hero-quiz-cta-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 1.35rem !important;
}

body.page-home .btn-hero-quiz {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.65rem;
  min-height: 3.4rem;
  padding: 0.95rem 1.75rem;
  border: 0 !important;
  border-radius: 0.9rem !important;
  background: linear-gradient(135deg, #f97316 0%, #ea580c 100%) !important;
  color: #fff !important;
  font-family: var(--hk-font);
  font-size: 1.05rem;
  font-weight: 800;
  box-shadow: var(--hl-shadow-orange) !important;
  animation: none !important;
  transition: transform var(--hk-ease), box-shadow var(--hk-ease), filter var(--hk-ease);
}

body.page-home .btn-hero-quiz:hover,
body.page-home .btn-hero-quiz:focus-visible {
  transform: scale(1.02);
  filter: brightness(1.05);
  animation: none !important;
  box-shadow: 0 18px 44px rgba(249, 115, 22, 0.48) !important;
  color: #fff !important;
}

body.page-home .btn-hero-quiz__icon {
  display: none !important;
}

body.page-home .btn-hero-quiz__text {
  color: inherit !important;
}

body.page-home .hero-digital-cta {
  width: min(100%, 38rem);
  gap: 0.85rem;
  padding: 1rem 1.15rem;
  background: rgba(255, 255, 255, 0.05) !important;
  border: 1px solid rgba(34, 211, 238, 0.28) !important;
  border-radius: var(--hk-radius-2xl) !important;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.08) !important;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  animation: none !important;
  color: #fff !important;
}

body.page-home .hero-digital-cta::after {
  display: none !important;
}

body.page-home .hero-digital-cta:hover {
  transform: translateY(-4px);
  filter: none !important;
  border-color: rgba(34, 211, 238, 0.55) !important;
  box-shadow: 0 22px 50px rgba(0, 0, 0, 0.35), 0 0 28px rgba(34, 211, 238, 0.22) !important;
  color: #fff !important;
}

body.page-home .hero-digital-cta__icon {
  background: rgba(34, 211, 238, 0.12) !important;
  color: var(--hd-cyan) !important;
  border: 1px solid rgba(34, 211, 238, 0.25);
  border-radius: 0.85rem;
  width: 2.75rem;
  height: 2.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

body.page-home .hero-digital-cta__eyebrow {
  color: var(--hd-muted) !important;
  font-size: 0.75rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

body.page-home .hero-digital-cta strong {
  color: #fff !important;
  font-family: var(--hk-font);
}

body.page-home .hero-digital-cta strong em {
  font-style: normal;
  background: var(--hd-gradient);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

body.page-home .hero-digital-cta__copy > span:last-child {
  color: var(--hd-muted) !important;
}

body.page-home .hero-digital-cta__arrow {
  color: var(--hd-cyan) !important;
}

body.page-home .hero-cta-primary {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.75rem;
  margin-top: 0.25rem;
}

body.page-home .hero-cta-primary__btn {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  width: auto;
  max-width: min(100%, 34rem);
  padding: 0.75rem 1.2rem;
  color: #fff !important;
  text-decoration: none !important;
  background: transparent !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  border-radius: 0.9rem !important;
  box-shadow: none !important;
  filter: none !important;
  transition: background var(--hk-ease), border-color var(--hk-ease), transform var(--hk-ease);
}

body.page-home .hero-cta-primary__btn:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  border-color: rgba(255, 255, 255, 0.5) !important;
  transform: scale(1.02);
  filter: none !important;
  box-shadow: none !important;
  color: #fff !important;
}

body.page-home .hero-cta-primary__icon {
  background: rgba(34, 211, 238, 0.12) !important;
  color: var(--hd-cyan) !important;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 0.75rem;
  font-size: 1.2rem;
}

body.page-home .hero-cta-primary__copy strong {
  font-size: 1.05rem !important;
  color: #fff !important;
}

body.page-home .hero-cta-primary__copy span {
  color: var(--hd-muted) !important;
  opacity: 1 !important;
}

body.page-home .hero-cta-primary__arrow {
  color: var(--hd-cyan) !important;
  font-size: 1.35rem !important;
}

body.page-home .hero-cta-primary__secondary {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  color: var(--hd-muted) !important;
  font-size: 0.88rem !important;
  font-weight: 550 !important;
  text-decoration: none;
  text-shadow: none !important;
  transition: color var(--hk-ease);
}

body.page-home .hero-cta-primary__secondary:hover {
  color: var(--hd-cyan) !important;
}

body.page-home .hero-cta-primary__secondary::before {
  content: "\F431";
  font-family: "bootstrap-icons";
  font-size: 0.95rem;
  opacity: 0.85;
}

body.page-home .hero-subtitle,
body.page-home .hero-subtitle.text-white {
  margin-top: 1.35rem !important;
  color: var(--hd-muted) !important;
  font-weight: 500 !important;
  max-width: 40rem;
  margin-left: auto;
  margin-right: auto;
}

body.page-home .hero-pillars {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.5rem;
  margin-top: 1.15rem;
}

body.page-home .hero-pillar {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.4rem 0.8rem;
  border-radius: 999px;
  color: var(--hd-muted) !important;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid var(--hd-border);
  font-size: 0.82rem;
  font-weight: 600;
}

body.page-home .hero-pillar i {
  color: var(--hd-cyan);
}

body.page-home .hero-stat {
  display: none !important;
}

/* Sticky mobile CTA bar */
body.page-home .hp-sticky-cta {
  display: none;
}

@media (max-width: 767.98px) {
  body.page-home {
    padding-bottom: calc(80px + env(safe-area-inset-bottom, 0px));
  }

  body.page-home .hp-sticky-cta {
    display: block;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1030;
    padding: 0.75rem 1rem calc(0.75rem + env(safe-area-inset-bottom, 0px));
    background: rgba(15, 23, 42, 0.96);
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow: 0 -8px 28px rgba(15, 23, 42, 0.28);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    transform: translateY(0);
    transition: transform 280ms ease, opacity 280ms ease;
    will-change: transform;
  }

  body.page-home .hp-sticky-cta.is-hidden {
    transform: translateY(100%);
    opacity: 0;
    pointer-events: none;
  }

  body.page-home .hp-sticky-cta__btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 3rem;
    padding: 0.85rem 1rem;
    border-radius: 0.85rem;
    background: linear-gradient(135deg, #f97316 0%, #ea580c 100%);
    color: #fff !important;
    font-family: var(--hk-font);
    font-size: 1rem;
    font-weight: 750;
    letter-spacing: 0.01em;
    text-decoration: none !important;
    box-shadow: 0 10px 24px rgba(249, 115, 22, 0.35);
    transition: transform 200ms ease, box-shadow 200ms ease, filter 200ms ease;
  }

  body.page-home .hp-sticky-cta__btn:hover,
  body.page-home .hp-sticky-cta__btn:focus-visible {
    color: #fff !important;
    transform: translateY(-1px);
    box-shadow: 0 14px 28px rgba(249, 115, 22, 0.42);
    filter: brightness(1.03);
  }

  body.page-home .hp-sticky-cta__btn:active {
    transform: translateY(0);
  }

  body.page-home .main-banner {
    min-height: auto;
  }

  body.page-home .main-banner::after {
    height: clamp(40px, 8vw, 64px);
  }

  body.page-home .hero-light-bridge {
    height: clamp(52px, 9vw, 80px);
  }

  body.page-home .main-banner .video-overlay {
    min-height: auto !important;
    height: auto !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    padding: 1.5rem 1rem 1.35rem;
  }

  body.page-home .hero-bg-decor__glow--cyan {
    top: 28%;
    width: min(300px, 92vw);
    height: min(300px, 92vw);
    opacity: 0.65;
  }

  body.page-home .hero-eyebrows {
    justify-content: center;
    margin-bottom: 0.65rem;
  }

  body.page-home .hero-badge {
    font-size: 0.72rem;
    padding: 0.35rem 0.75rem;
  }

  body.page-home .main-banner .hero-main-title {
    font-size: clamp(1.55rem, 7.2vw, 2rem) !important;
    margin-bottom: 0.5rem !important;
    line-height: 1.18 !important;
  }

  body.page-home .hero-online-note {
    margin-bottom: 0.5rem;
    font-size: 0.8rem;
  }

  body.page-home .hero-license-inline {
    display: none;
  }

  body.page-home .hero-dirs {
    margin-bottom: 0.85rem;
    gap: 0.3rem;
  }

  body.page-home .hero-dir-pill {
    font-size: 0.65rem;
    padding: 0.28rem 0.58rem;
  }

  body.page-home .hero-quiz-cta-container {
    margin-bottom: 0 !important;
  }

  body.page-home .btn-hero-quiz {
    width: 100%;
    max-width: none;
    min-height: 3rem;
    font-size: 0.95rem;
    padding: 0.85rem 1.25rem;
  }

  body.page-home .hero-trust-strip {
    margin-top: 1.5rem;
    font-size: 0.74rem;
  }

  body.page-home .hero-below-fold {
    display: none !important;
  }

  body.page-home .main-banner #bg-video {
    min-height: 0 !important;
    max-height: none !important;
  }

  body.page-home .home-grade-exam {
    padding-top: 1.15rem;
    padding-bottom: 2rem;
  }

  body.page-home .home-grade-exam .reveal-on-scroll,
  body.page-home .home-grade-exam__shell {
    opacity: 1;
    transform: none;
  }
}

@media (min-width: 768px) {
  body.page-home .hp-sticky-cta {
    display: none !important;
  }

  body.page-home .hero-below-fold {
    display: block;
  }
}

body.page-home .anthem-mini-btn,
body.page-home .anthem-player-widget {
  display: none !important;
}

/* --------------------------------------------------------------------------
   BLOCK 2 — Trust (light)
   -------------------------------------------------------------------------- */

body.page-home .trust-benefits.section-padding {
  background: #fff !important;
  position: relative;
  padding-top: clamp(2.5rem, 5vw, 3.75rem);
}

body.page-home .trust-benefits::before {
  display: none;
}

body.page-home .trust-benefits .section-heading::after {
  content: none;
  display: none;
}

body.page-home .trust-benefits .section-lead {
  line-height: 1.6;
  max-width: 42rem;
  margin-left: auto;
  margin-right: auto;
}

body.page-home .trust-card {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
  height: 100%;
  padding: 1.35rem 1.25rem;
  background: #fff;
  border: 1px solid var(--hl-border);
  border-radius: var(--hk-radius-2xl);
  box-shadow: var(--hl-shadow-sm);
  transition: transform var(--hk-ease), border-color var(--hk-ease), box-shadow var(--hk-ease);
}

body.page-home .trust-card:hover {
  transform: translateY(-4px);
  border-color: rgba(37, 99, 235, 0.25);
  box-shadow: var(--hl-shadow-lg);
}

body.page-home .trust-benefits .row > .col-md-6:first-child .trust-card {
  background: linear-gradient(165deg, #ffffff 0%, #f0fdfa 100%);
  border: 1px solid rgba(13, 148, 136, 0.18);
  box-shadow: var(--hl-shadow-sm);
}

body.page-home .trust-benefits .row > .col-md-6:first-child .trust-card:hover {
  border-color: rgba(13, 148, 136, 0.32);
  box-shadow: var(--hl-shadow-lg);
}

body.page-home .trust-benefits .row > .col-md-6:first-child .trust-card__icon {
  background: linear-gradient(135deg, #ccfbf1 0%, #a5f3fc 100%);
  border: 1px solid rgba(13, 148, 136, 0.2);
  color: #0f766e !important;
  box-shadow: 0 6px 16px rgba(20, 184, 166, 0.22);
}

body.page-home .trust-benefits .row > .col-md-6:first-child .trust-card__title {
  color: #0f172a !important;
}

body.page-home .trust-benefits .row > .col-md-6:first-child .trust-card__text {
  color: #334155 !important;
}

body.page-home .trust-benefits .row > .col-md-6:first-child .trust-card__link {
  color: #0d9488 !important;
}

body.page-home .trust-benefits .row > .col-md-6:first-child .trust-card__link:hover {
  color: #0f766e !important;
}

body.page-home .trust-card__icon {
  width: 2.75rem;
  height: 2.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.8rem;
  background: #eff6ff;
  border: 1px solid #dbeafe;
  color: #2563eb !important;
  font-size: 1.15rem;
}

body.page-home .col-md-6:nth-child(2) .trust-card__icon {
  background: #fff7ed;
  border-color: #ffedd5;
  color: var(--hl-orange) !important;
}

body.page-home .col-md-6:nth-child(4) .trust-card__icon {
  background: #f0f9ff;
  border-color: #e0f2fe;
  color: var(--hl-cyan) !important;
}

body.page-home .trust-card__title {
  color: var(--hl-text) !important;
  font-family: var(--hk-font);
  font-size: 1.15rem;
  font-weight: 800;
  margin: 0;
}

body.page-home .trust-card__text {
  color: var(--hl-muted) !important;
  font-size: 0.95rem;
  line-height: 1.6;
  flex: 1;
}

body.page-home .trust-card__link {
  color: var(--hl-blue) !important;
  font-weight: 700;
  text-decoration: none;
  margin-top: 0.35rem;
}

body.page-home .trust-card__link:hover {
  color: #1e3a8a !important;
}

body.page-home .trust-benefits__actions .btn-cta-license {
  border-radius: 0.85rem !important;
  font-weight: 750;
  padding: 0.75rem 1.35rem !important;
  transition: transform var(--hk-ease), box-shadow var(--hk-ease), border-color var(--hk-ease), background var(--hk-ease);
}

body.page-home .btn-cta-license--primary {
  background: linear-gradient(135deg, #2563eb 0%, #0ea5e9 100%) !important;
  border: 0 !important;
  color: #fff !important;
  box-shadow: 0 12px 28px rgba(37, 99, 235, 0.28);
}

body.page-home .btn-cta-license--primary:hover {
  transform: scale(1.02);
  color: #fff !important;
}

body.page-home .btn-cta-license--tax {
  background: #fff !important;
  border: 1.5px solid rgba(37, 99, 235, 0.4) !important;
  color: var(--hl-blue) !important;
}

body.page-home .btn-cta-license--tax:hover {
  background: rgba(37, 99, 235, 0.05) !important;
  border-color: var(--hl-blue) !important;
  color: #1e3a8a !important;
}

/* --------------------------------------------------------------------------
   BLOCK 3 — About SEO (soft light)
   -------------------------------------------------------------------------- */

body.page-home .about.section-padding {
  background: var(--hl-bg-soft) !important;
}

body.page-home .about .content-card {
  background: #fff;
  border: 1px solid var(--hl-border);
  border-radius: var(--hk-radius-2xl);
  box-shadow: var(--hl-shadow-sm);
  padding: 1.5rem 1.35rem;
}

body.page-home .about-premium {
  display: grid;
  gap: 1.75rem;
}

body.page-home .about-premium__intro .section-heading,
body.page-home .about-premium__intro .section-lead,
body.page-home .about-premium__lead {
  text-align: center;
}

body.page-home .about-premium__lead {
  margin-left: auto;
  margin-right: auto;
}

@media (min-width: 992px) {
  body.page-home .about-premium {
    grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
    align-items: start;
  }

  body.page-home .about-premium__intro .section-heading {
    text-align: left;
  }

  body.page-home .about-premium__intro .section-lead,
  body.page-home .about-premium__lead {
    margin-left: 0;
    text-align: left;
  }
}

body.page-home .about-premium__intro .section-heading::after {
  content: none;
  display: none;
}

body.page-home .about-premium__lead {
  max-width: 38rem;
  line-height: 1.6;
}

body.page-home .about-premium__visual {
  margin-top: clamp(2rem, 4.5vw, 2.75rem);
}

body.page-home .about-premium__visual[data-layout="cards"] .about-experience--cards {
  display: block;
}

body.page-home .about-premium__visual[data-layout="cards"] .about-experience--photos {
  display: none;
}

body.page-home .about-experience--cards {
  display: none;
}

body.page-home .about .content-card--about {
  padding: clamp(1.35rem, 3vw, 1.85rem);
  border: 1px solid rgba(226, 232, 240, 0.9);
  box-shadow: 0 12px 36px rgba(15, 23, 42, 0.06);
}

body.page-home .about .content-card--about p {
  text-align: left !important;
}

body.page-home .about-story {
  display: flex;
  flex-direction: column;
  gap: 0;
}

body.page-home .about-story__intro,
body.page-home .about-story__text,
body.page-home .about-story__label,
body.page-home .about-story__highlight-lead,
body.page-home .about-story__highlight-note {
  margin: 0 0 1.5rem;
  text-align: left !important;
  color: #4b5563 !important;
  font-size: 1rem;
  line-height: 1.65;
}

body.page-home .about-story__intro {
  color: #64748b !important;
  font-size: 0.96rem;
  line-height: 1.6;
}

body.page-home .about-story__intro strong {
  color: #1f2937 !important;
  font-weight: 800;
}

body.page-home .about-story__directions {
  margin-bottom: 1.5rem;
}

body.page-home .about-story__label,
body.page-home .about-story__keywords-label {
  margin-bottom: 0.65rem !important;
  color: #1f2937 !important;
  font-size: 0.82rem !important;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

body.page-home .about-tech-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin-bottom: 0.85rem;
}

body.page-home .about-tech-pill {
  display: inline-flex;
  align-items: center;
  padding: 0.4rem 0.8rem;
  border-radius: 999px;
  background: rgba(34, 211, 238, 0.1);
  border: 1px solid rgba(34, 211, 238, 0.24);
  color: #0f766e !important;
  font-size: 0.82rem;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none !important;
  transition: background var(--hk-ease), border-color var(--hk-ease), color var(--hk-ease), transform var(--hk-ease);
}

body.page-home .about-tech-pill:hover {
  background: rgba(34, 211, 238, 0.18);
  border-color: rgba(34, 211, 238, 0.38);
  color: #0d9488 !important;
  transform: translateY(-1px);
}

body.page-home .about-story__directions .about-story__text {
  margin-bottom: 0;
}

body.page-home .about-story__highlight {
  margin-bottom: 1.5rem;
  padding: 1.2rem 1.1rem;
  border-radius: 1.25rem;
  background:
    linear-gradient(135deg, rgba(34, 211, 238, 0.1) 0%, rgba(255, 107, 53, 0.06) 100%);
  border: 1px solid rgba(34, 211, 238, 0.2);
  box-shadow: 0 10px 30px rgba(34, 211, 238, 0.08);
}

body.page-home .about-story__highlight-head {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  margin-bottom: 1rem;
}

body.page-home .about-story__highlight-icon {
  flex-shrink: 0;
  width: 2.35rem;
  height: 2.35rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.75rem;
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid rgba(34, 211, 238, 0.25);
  color: #0d9488 !important;
  font-size: 1.05rem;
}

body.page-home .about-story__highlight-lead {
  margin-bottom: 0 !important;
  font-size: 1.02rem !important;
  line-height: 1.55 !important;
  color: #334155 !important;
}

body.page-home .about-story__highlight-lead strong {
  color: #0f766e !important;
  font-weight: 800;
}

body.page-home .about-story__checks {
  list-style: none;
  margin: 0 0 0.85rem;
  padding: 0;
  display: grid;
  gap: 0.55rem;
}

body.page-home .about-story__checks li {
  display: flex;
  align-items: flex-start;
  gap: 0.55rem;
  color: #4b5563 !important;
  font-size: 0.92rem;
  font-weight: 600;
  line-height: 1.5;
  text-align: left;
}

body.page-home .about-story__checks li i {
  flex-shrink: 0;
  margin-top: 0.12rem;
  color: #0d9488 !important;
  font-size: 0.95rem;
}

body.page-home .about-story__highlight-note {
  margin-bottom: 0 !important;
  padding-top: 0.75rem;
  border-top: 1px solid rgba(34, 211, 238, 0.16);
  font-size: 0.88rem !important;
  color: #64748b !important;
  line-height: 1.55 !important;
}

body.page-home .about-story__text strong {
  color: #1f2937 !important;
  font-weight: 800;
}

body.page-home .about-story a {
  color: #0d9488 !important;
  font-weight: 700;
  text-decoration: underline;
  text-decoration-color: rgba(13, 148, 136, 0.35);
  text-underline-offset: 0.15em;
  background: none !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

body.page-home .about-story a:hover {
  color: #0f766e !important;
  text-decoration-color: rgba(15, 118, 110, 0.55);
}

body.page-home .about-story__keywords {
  margin-top: 0.25rem;
  padding-top: 1.35rem;
  border-top: 1px solid rgba(226, 232, 240, 0.95);
}

body.page-home .about-story__keywords-label {
  margin-bottom: 0.75rem !important;
}

body.page-home .about-info p {
  color: var(--hl-text-2) !important;
  font-size: 1rem;
  line-height: 1.7;
  margin-bottom: 1rem;
}

body.page-home .about-info strong {
  color: var(--hl-text) !important;
  font-weight: 800;
}

body.page-home .about-info a {
  display: inline;
  color: #334155 !important;
  text-decoration: none;
  background: #f1f5f9;
  border: 1px solid #e2e8f0;
  border-radius: 0.4rem;
  padding: 0.1rem 0.4rem;
  margin: 0 0.05rem;
  font-weight: 650;
  transition: background var(--hk-ease), border-color var(--hk-ease), color var(--hk-ease);
}

body.page-home .about-info a:hover {
  background: rgba(37, 99, 235, 0.1);
  border-color: rgba(37, 99, 235, 0.25);
  color: var(--hl-blue) !important;
}

body.page-home .seo-keywords {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin-top: 0;
}

body.page-home .seo-keyword {
  display: inline-flex !important;
  padding: 0.35rem 0.7rem !important;
  border-radius: 999px !important;
  background: #f1f5f9 !important;
  border: 1px solid var(--hl-border) !important;
  color: #475569 !important;
  font-size: 0.8rem !important;
  font-weight: 700;
  text-decoration: none !important;
}

body.page-home .seo-keyword:hover {
  color: var(--hl-blue) !important;
  border-color: rgba(37, 99, 235, 0.35) !important;
  background: rgba(37, 99, 235, 0.08) !important;
}

/* Experience cluster: photos (default) or icon cards (data-layout="cards") */
body.page-home .about-experience--photos {
  display: grid;
  gap: 0.85rem;
}

body.page-home .about-gallery__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.85rem;
}

body.page-home .about-gallery__item {
  position: relative;
  margin: 0;
  background: transparent;
  border: none;
  border-radius: 0;
  box-shadow: none;
  transition: none;
}

body.page-home .about-gallery__item:hover {
  transform: none;
  box-shadow: none;
}

body.page-home .about-gallery__media {
  position: relative;
  overflow: hidden;
  border-radius: 1.25rem;
  background: #0f172a;
  box-shadow: 0 16px 40px rgba(15, 23, 42, 0.1);
  transition: transform 320ms ease, box-shadow 320ms ease;
}

body.page-home .about-gallery__item:hover .about-gallery__media {
  transform: translateY(-3px);
  box-shadow: 0 22px 48px rgba(15, 23, 42, 0.14);
}

body.page-home .about-gallery__item img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  aspect-ratio: 16 / 10;
  border-radius: 0;
  box-shadow: none;
  /* Светлее и чётче — без «приглушённого» look */
  filter: saturate(1.02) contrast(1.08) brightness(1.06);
  transition: transform 420ms ease, filter 320ms ease;
}

body.page-home .about-gallery__shade {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(11, 17, 32, 0.02) 0%, rgba(11, 17, 32, 0.18) 100%),
    linear-gradient(135deg, rgba(15, 23, 42, 0.04) 0%, transparent 55%);
}

body.page-home .about-gallery__item:hover img {
  transform: scale(1.03);
  filter: saturate(1.05) contrast(1.1) brightness(1.08);
}

body.page-home .about-gallery__item--featured .about-gallery__media {
  border-radius: 1.5rem;
}

body.page-home .about-gallery__item--featured img {
  aspect-ratio: 16 / 10;
  min-height: 220px;
}

/* Витрина дипломов: на всю ширину, без белых полей и полос */
body.page-home .about-gallery__item--diplomas .about-gallery__media {
  padding: 0;
  background: #0f172a;
  border: none;
  box-shadow: 0 22px 50px rgba(15, 23, 42, 0.12);
}

body.page-home .about-gallery__item--diplomas:hover .about-gallery__media {
  box-shadow: 0 28px 56px rgba(15, 23, 42, 0.16);
}

body.page-home .about-gallery__item--diplomas img {
  aspect-ratio: 1535 / 1024;
  width: 100%;
  height: auto;
  min-height: 0;
  max-height: none;
  display: block;
  object-fit: cover;
  object-position: center;
  border-radius: 0;
  background: transparent;
  filter: brightness(1.08) contrast(1.12) saturate(1.05);
  image-rendering: -webkit-optimize-contrast;
  box-shadow: none;
}

body.page-home .about-gallery__item--diplomas:hover img {
  transform: scale(1.01);
  filter: brightness(1.1) contrast(1.14) saturate(1.06);
}

body.page-home .about-gallery__item--diplomas .about-gallery__shade {
  display: none;
}

body.page-home .about-gallery__item--diplomas .about-experience__badge {
  background: rgba(15, 23, 42, 0.72);
  border-color: rgba(255, 255, 255, 0.22);
}

/* Подпись поверх низа фото — без отдельной белой полосы под кадром */
body.page-home .about-gallery__item--diplomas figcaption {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
  margin: 0;
  padding: 2.25rem 1rem 0.85rem;
  font-size: 0.85rem;
  font-weight: 600;
  color: #f8fafc !important;
  background: linear-gradient(transparent, rgba(15, 23, 42, 0.72));
  border-radius: 0 0 1.5rem 1.5rem;
  pointer-events: none;
}

body.page-home .about-gallery__item--diplomas {
  position: relative;
}

body.page-home .about-experience__badge {
  position: absolute;
  top: auto;
  right: 0.85rem;
  bottom: 0.85rem;
  left: auto;
  z-index: 2;
  max-width: min(11.5rem, calc(100% - 1.7rem));
  padding: 0.65rem 0.8rem;
  border-radius: 0.95rem;
  background: rgba(15, 23, 42, 0.52);
  border: 1px solid rgba(255, 255, 255, 0.16);
  box-shadow: 0 12px 32px rgba(15, 23, 42, 0.22);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

body.page-home .about-experience__badge strong {
  display: block;
  font-size: clamp(1.45rem, 2.8vw, 1.75rem);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1;
  color: var(--hd-cyan) !important;
  background: none;
  -webkit-text-fill-color: currentColor;
}

body.page-home .about-experience__badge span {
  display: block;
  margin-top: 0.2rem;
  color: rgba(248, 250, 252, 0.88);
  font-size: 0.72rem;
  font-weight: 600;
  line-height: 1.35;
}

body.page-home .about-gallery__item figcaption {
  position: static;
  margin: 0;
  padding: 0.6rem 0.2rem 0;
  color: #64748b !important;
  font-size: 0.78rem;
  font-weight: 600;
  line-height: 1.45;
  text-align: left;
  background: none;
}

body.page-home .about-gallery__grid .about-gallery__item img {
  min-height: 200px;
  aspect-ratio: 16 / 10;
}

/* class.png — группа в классе + логотип на правой стене */
body.page-home .about-gallery__item--class .about-gallery__media {
  background: #1c2320;
}

body.page-home .about-gallery__item--class img {
  aspect-ratio: 1672 / 941;
  object-fit: cover;
  /* Десктоп: держим и людей, и бренд ТЕРАКОР справа */
  object-position: 58% 42%;
}

@media (min-width: 576px) and (max-width: 991.98px) {
  body.page-home .about-gallery__item--class img {
    object-position: 55% 42%;
  }
}

@media (min-width: 992px) {
  body.page-home .about-gallery__item--class img {
    min-height: 220px;
    object-position: 62% 40%;
  }
}

body.page-home .about-gallery__grid .about-gallery__item figcaption {
  font-size: 0.74rem;
  padding-top: 0.5rem;
}

body.page-home .about-gallery__item .gallery-thumb:hover {
  transform: none;
  box-shadow: none;
}

body.page-home .about-value-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.85rem;
}

body.page-home .about-value-card {
  display: flex;
  align-items: flex-start;
  gap: 0.85rem;
  padding: 1.1rem 1rem;
  background: #fff;
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-radius: 1.25rem;
  box-shadow: 0 10px 30px rgba(15, 23, 42, 0.05);
  transition: transform 320ms ease, box-shadow 320ms ease, border-color 320ms ease;
}

body.page-home .about-value-card:hover {
  transform: translateY(-3px);
  border-color: rgba(34, 211, 238, 0.28);
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.08);
}

body.page-home .about-value-card--accent {
  grid-column: 1 / -1;
  background: linear-gradient(135deg, rgba(11, 17, 32, 0.97) 0%, rgba(15, 23, 42, 0.92) 100%);
  border-color: rgba(255, 255, 255, 0.08);
  box-shadow: 0 18px 44px rgba(11, 17, 32, 0.18);
}

body.page-home .about-value-card--accent:hover {
  border-color: rgba(34, 211, 238, 0.35);
}

body.page-home .about-value-card__icon {
  flex-shrink: 0;
  width: 2.65rem;
  height: 2.65rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.85rem;
  background: linear-gradient(135deg, rgba(34, 211, 238, 0.18) 0%, rgba(59, 130, 246, 0.12) 100%);
  border: 1px solid rgba(34, 211, 238, 0.22);
  color: #0d9488 !important;
  font-size: 1.15rem;
}

body.page-home .about-value-card--accent .about-value-card__icon {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.14);
  color: var(--hd-cyan) !important;
}

body.page-home .about-value-card__copy {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  min-width: 0;
}

body.page-home .about-value-card__stat {
  font-size: clamp(1.65rem, 3vw, 2rem);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1;
  color: var(--hd-cyan) !important;
}

body.page-home .about-value-card__title {
  font-size: 0.95rem;
  font-weight: 800;
  line-height: 1.25;
  color: var(--hl-text) !important;
}

body.page-home .about-value-card--accent .about-value-card__title {
  color: #f8fafc !important;
}

body.page-home .about-value-card__label {
  color: #64748b !important;
  font-size: 0.8rem;
  font-weight: 600;
  line-height: 1.45;
}

body.page-home .about-value-card--accent .about-value-card__label {
  color: #94a3b8 !important;
}

@media (max-width: 575.98px) {
  body.page-home .about-gallery__grid {
    grid-template-columns: 1fr;
  }

  body.page-home .about-gallery__item--featured img {
    min-height: 190px;
  }

  body.page-home .about-gallery__item--diplomas img {
    min-height: 0;
    max-height: none;
    height: auto;
    aspect-ratio: 1535 / 1024;
  }

  body.page-home .about-gallery__item--diplomas .about-gallery__media {
    padding: 0;
  }

  body.page-home .about-gallery__item--diplomas figcaption {
    padding: 1.75rem 0.85rem 0.7rem;
    font-size: 0.78rem;
  }

  /* Два фото под дипломами — чуть выше и светлее */
  body.page-home .about-gallery__grid .about-gallery__item img {
    min-height: 180px;
    aspect-ratio: 16 / 10;
  }

  /* Мобильный crop class.png: центр на слушателях, логотип частично в кадре */
  body.page-home .about-gallery__item--class img {
    min-height: 200px;
    aspect-ratio: 16 / 10;
    object-position: 48% 45%;
  }

  body.page-home .about-experience__badge {
    right: 0.7rem;
    bottom: 0.7rem;
    padding: 0.55rem 0.7rem;
    max-width: min(10.5rem, calc(100% - 1.4rem));
  }

  body.page-home .about-value-cards {
    grid-template-columns: 1fr;
  }

  body.page-home .about-value-card--accent {
    grid-column: auto;
  }
}

/* Individual consultation and 1:1 learning */
body.page-home .home-hero__individual {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin-top: 1rem;
  padding: 0.55rem 0.85rem;
  border: 1px solid rgba(125, 211, 252, 0.24);
  border-radius: 999px;
  background: rgba(7, 17, 31, 0.48);
  color: #cbd5e1 !important;
  font-size: 0.82rem;
  text-decoration: none;
  backdrop-filter: blur(8px);
  transition: border-color 0.2s ease, background 0.2s ease, transform 0.2s ease;
}

body.page-home .home-hero__individual strong { color: #fff; }
body.page-home .home-hero__individual i,
body.page-home .home-hero__individual span { color: #7dd3fc; }
body.page-home .home-hero__individual:hover { border-color: #7dd3fc; background: rgba(14, 165, 233, 0.12); transform: translateY(-2px); }

body.page-home .personal-services-section {
  position: relative;
  overflow: hidden;
  background: #f1f5f9;
}

body.page-home .personal-services-section::before,
body.page-home .personal-services-section::after { display: none; }

body.page-home .personal-services-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(20rem, 0.7fr);
  align-items: end;
  gap: clamp(1.5rem, 5vw, 5rem);
  margin-bottom: clamp(2rem, 5vw, 3.5rem);
}

body.page-home .personal-services-head .section-heading {
  max-width: 44rem;
  margin: 0;
  color: #0f172a !important;
  font-size: clamp(2rem, 4vw, 3.4rem);
  letter-spacing: -0.055em;
  line-height: 1.05;
  text-align: left;
}

body.page-home .personal-services-head .section-heading::after { display: none; }
body.page-home .personal-services-head .section-lead {
  display: block;
  max-width: 35rem;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: #475569 !important;
  font-size: 1.05rem;
  font-weight: 500;
  line-height: 1.7;
  text-align: left;
}

body.page-home .personal-services-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

body.page-home .personal-service-card {
  position: relative;
  min-width: 0;
  padding: clamp(1.5rem, 3vw, 2.4rem);
  border: 1px solid #dbe3ec !important;
  border-radius: 1.5rem;
  background: #fff !important;
  box-shadow: 0 1rem 2.8rem rgba(15, 23, 42, 0.07);
}

body.page-home .personal-service-card::before { display: none; }
body.page-home .personal-service-card--learning {
  border-color: #1d4ed8 !important;
  background: linear-gradient(150deg, #0f2748 0%, #0b172a 100%) !important;
  box-shadow: 0 1.4rem 3.5rem rgba(15, 39, 72, 0.24);
}

body.page-home .personal-service-card__recommend {
  position: absolute;
  top: 0;
  right: 1.4rem;
  margin: 0;
  padding: 0.5rem 0.8rem;
  border-radius: 0 0 0.75rem 0.75rem;
  background: #f97316;
  color: #fff !important;
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

body.page-home .personal-service-card__top { justify-content: flex-start; margin-bottom: 1.4rem; }
body.page-home .personal-service-card__icon { width: 3rem; height: 3rem; border-radius: 0.85rem; background: #fff7ed; color: #ea580c; box-shadow: none; }
body.page-home .personal-service-card--learning .personal-service-card__icon { background: rgba(125, 211, 252, 0.12); color: #7dd3fc; box-shadow: none; }
body.page-home .personal-service-card__tag { min-height: 0; padding: 0; border-radius: 0; background: transparent; color: #64748b; font-size: 0.68rem; letter-spacing: 0.1em; }
body.page-home .personal-service-card--learning .personal-service-card__tag { color: #7dd3fc; }
body.page-home .personal-service-card h3 { min-height: 0; margin-bottom: 0.85rem; color: #0f172a !important; font-size: clamp(1.5rem, 2.5vw, 2rem); letter-spacing: -0.04em; }
body.page-home .personal-service-card--learning h3 { color: #fff !important; }
body.page-home .personal-service-card__lead { min-height: 0; color: #64748b !important; line-height: 1.65; }
body.page-home .personal-service-card--learning .personal-service-card__lead { color: #cbd5e1 !important; }
body.page-home .personal-service-list { min-height: 0; display: grid; gap: 0.65rem; margin-bottom: 1.8rem; }
body.page-home .personal-service-list li { min-height: 0; margin: 0; color: #334155 !important; font-size: 0.94rem; }
body.page-home .personal-service-card--learning .personal-service-list li { color: #e2e8f0 !important; }
body.page-home .personal-service-list i { color: #16a34a; }
body.page-home .personal-service-card--learning .personal-service-list i { color: #7dd3fc; }
body.page-home .personal-service-card__footer { min-height: 0; align-items: center; padding-top: 1.3rem; border-color: #e2e8f0; }
body.page-home .personal-service-card--learning .personal-service-card__footer { border-color: rgba(148, 163, 184, 0.22); }
body.page-home .personal-service-price { margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; }
body.page-home .personal-service-price span,
body.page-home .personal-service-price small { color: #64748b; }
body.page-home .personal-service-card--learning .personal-service-price span,
body.page-home .personal-service-card--learning .personal-service-price small { color: #94a3b8; }
body.page-home .personal-service-price strong { color: #0f172a; font-size: 1.65rem; }
body.page-home .personal-service-card--learning .personal-service-price strong { color: #fff; }
body.page-home .personal-service-button { gap: 0.5rem; padding: 0.85rem 1.2rem; border-radius: 0.8rem; background: #f97316; box-shadow: none; }
body.page-home .personal-service-card--learning .personal-service-button { background: #2563eb; box-shadow: none; }

body.page-home .personal-services-proof {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  margin: 1rem 0 0;
  padding: 0;
  border: 1px solid #dbe3ec;
  border-radius: 1rem;
  background: rgba(255, 255, 255, 0.72);
  list-style: none;
}

body.page-home .personal-services-proof li { display: flex; align-items: center; gap: 0.7rem; padding: 1rem; border-right: 1px solid #dbe3ec; color: #64748b; font-size: 0.82rem; }
body.page-home .personal-services-proof li:last-child { border-right: 0; }
body.page-home .personal-services-proof i { color: #2563eb; font-size: 1rem; }
body.page-home .personal-services-proof strong { display: block; color: #1e293b; }

@media (max-width: 991.98px) {
  body.page-home .personal-services-head,
  body.page-home .personal-services-grid { grid-template-columns: 1fr; }
  body.page-home .personal-services-head { gap: 1rem; }
  body.page-home .personal-services-proof { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.page-home .personal-services-proof li:nth-child(2) { border-right: 0; }
  body.page-home .personal-services-proof li:nth-child(-n+2) { border-bottom: 1px solid #dbe3ec; }
}

@media (max-width: 575.98px) {
  body.page-home .home-hero__individual { width: 100%; justify-content: center; flex-wrap: wrap; border-radius: 0.85rem; }
  body.page-home .personal-services-section { padding-right: 0; padding-left: 0; }
  body.page-home .personal-service-card__recommend { position: static; align-self: flex-start; margin: -1.5rem 0 1.1rem auto; border-radius: 0 0 0.7rem 0.7rem; }
  body.page-home .personal-services-proof { grid-template-columns: 1fr; }
  body.page-home .personal-services-proof li { border-right: 0; border-bottom: 1px solid #dbe3ec; }
  body.page-home .personal-services-proof li:last-child { border-bottom: 0; }
}

/* --------------------------------------------------------------------------
   BLOCK 4 — Timeline (light)
   -------------------------------------------------------------------------- */

body.page-home .benefits-section.section-padding {
  background: #fff !important;
}

body.page-home .benefits-section .section-heading::after {
  content: none;
  display: none;
}

body.page-home .benefits-section .section-lead {
  max-width: 38rem;
  margin-left: auto;
  margin-right: auto;
  line-height: 1.65;
}

body.page-home .learning-timeline {
  position: relative;
  display: grid;
  gap: 1.25rem;
  margin-top: 2rem;
}

body.page-home .learning-timeline::before {
  content: "";
  position: absolute;
  left: 1.125rem;
  top: 1.7rem;
  bottom: 1.7rem;
  width: 1px;
  background: rgba(13, 148, 136, 0.28);
  border-radius: 1px;
}

@media (min-width: 992px) {
  body.page-home .learning-timeline {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.5rem;
    padding-top: 1.75rem;
  }

  body.page-home .learning-timeline::before {
    left: 10%;
    right: 10%;
    top: 0.35rem;
    bottom: auto;
    width: auto;
    height: 1px;
    background: linear-gradient(90deg, rgba(13, 148, 136, 0.08), rgba(13, 148, 136, 0.38), rgba(13, 148, 136, 0.08));
  }
}

body.page-home .learning-timeline__item {
  position: relative;
  padding-left: 2.55rem;
}

@media (min-width: 992px) {
  body.page-home .learning-timeline__item {
    padding-left: 0;
    padding-top: 1.15rem;
  }
}

body.page-home .learning-timeline__node {
  position: absolute;
  left: 0.85rem;
  top: 1.7rem;
  width: 0.7rem;
  height: 0.7rem;
  border-radius: 50%;
  background: #fff;
  border: 2px solid #14b8a6;
  box-shadow: none;
  z-index: 1;
}

@media (min-width: 992px) {
  body.page-home .learning-timeline__node {
    left: 50%;
    top: 0;
    transform: translateX(-50%);
  }
}

body.page-home .benefit-card {
  height: 100%;
  padding: 1.35rem 1.25rem;
  background: #f8f9fa !important;
  border: none !important;
  border-radius: 1.25rem !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03);
  transition: transform var(--hk-ease), box-shadow var(--hk-ease);
}

body.page-home .benefit-card::before {
  display: none !important;
}

body.page-home .benefit-card:hover {
  transform: translateY(-3px);
  border: none !important;
  background: #f8f9fa !important;
  box-shadow: 0 12px 32px rgba(15, 23, 42, 0.06);
}

body.page-home .benefit-card h3 {
  color: #1f2937 !important;
  font-family: var(--hk-font);
  font-size: 1.12rem;
  font-weight: 700;
  line-height: 1.3;
  margin: 0 0 1rem;
}

body.page-home .benefit-card h3 i,
body.page-home .benefit-card h3 .text-warning {
  display: none !important;
}

body.page-home .benefit-card__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.75rem;
}

body.page-home .benefit-card__list li {
  position: relative;
  padding-left: 1.55rem;
  color: #4b5563 !important;
  font-size: 0.94rem;
  font-weight: 500;
  line-height: 1.55;
}

body.page-home .benefit-card__list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.18rem;
  width: 1.05rem;
  height: 1.05rem;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230d9488' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 13l4.2 4.2L19 7'/%3E%3C/svg%3E") center / contain no-repeat;
}

body.page-home .benefit-card p {
  color: #4b5563 !important;
  font-size: 0.94rem;
  line-height: 1.55;
  margin-bottom: 0.75rem;
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
}

body.page-home .benefit-card p i,
body.page-home .benefit-card p .fa,
body.page-home .benefit-card p .fa-check {
  color: #0d9488 !important;
  margin-top: 0.2rem;
  flex-shrink: 0;
}

body.page-home .benefit-card--highlight {
  background: linear-gradient(160deg, rgba(34, 211, 238, 0.1), rgba(255, 107, 53, 0.06)) !important;
  border: none !important;
  box-shadow: 0 10px 30px rgba(13, 148, 136, 0.08);
}

body.page-home .cta-panel {
  background: #fff !important;
  border: 1px solid var(--hl-border) !important;
  border-radius: var(--hk-radius-2xl) !important;
  box-shadow: var(--hl-shadow-sm);
  padding: 1.35rem 1.2rem;
  transition: transform var(--hk-ease), border-color var(--hk-ease), box-shadow var(--hk-ease);
}

body.page-home .cta-panel:hover {
  transform: translateY(-4px);
  border-color: rgba(13, 148, 136, 0.28) !important;
  box-shadow: 0 12px 32px rgba(15, 23, 42, 0.06);
}

body.page-home .cta-panel h5 {
  color: var(--hl-text) !important;
  font-family: var(--hk-font);
}

body.page-home .cta-panel h5 i {
  color: #0d9488;
}

body.page-home .cta-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.65rem 1.1rem;
  border-radius: 0.75rem;
  background: linear-gradient(135deg, #14b8a6 0%, #0d9488 100%) !important;
  color: #fff !important;
  font-weight: 750;
  text-decoration: none;
  border: 0 !important;
  box-shadow: 0 10px 24px rgba(13, 148, 136, 0.22);
  transition: transform var(--hk-ease), box-shadow var(--hk-ease);
}

body.page-home .cta-button:hover {
  transform: scale(1.02);
  color: #fff !important;
}

/* --------------------------------------------------------------------------
   BLOCK 5 — Culture + Anthem
   -------------------------------------------------------------------------- */

body.page-home .culture-section.section-padding {
  background:
    radial-gradient(ellipse 50% 45% at 80% 20%, rgba(20, 184, 166, 0.1), transparent 60%),
    linear-gradient(180deg, #ffffff 0%, #f0fdfa 100%) !important;
}

body.page-home .culture-section__grid {
  display: grid;
  gap: 1.75rem;
  align-items: center;
}

@media (min-width: 992px) {
  body.page-home .culture-section__grid {
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
    gap: 2.5rem;
  }

  body.page-home .culture-section .section-heading {
    text-align: left;
  }

  body.page-home .culture-section .section-heading::after {
    left: 0 !important;
    transform: none;
  }

  body.page-home .culture-section .section-lead {
    margin-left: 0;
    text-align: left;
  }
}

body.page-home .culture-points {
  list-style: none;
  padding: 0;
  margin: 1.25rem 0 0;
  display: grid;
  gap: 0.65rem;
}

body.page-home .culture-points li {
  display: flex;
  align-items: flex-start;
  gap: 0.55rem;
  color: var(--hl-text-2);
  font-size: 0.98rem;
  line-height: 1.55;
}

body.page-home .culture-points i {
  color: var(--hl-cyan);
  margin-top: 0.15rem;
}

body.page-home .culture-anthem-card {
  background: #fff;
  border: 1px solid var(--hl-border);
  border-radius: var(--hk-radius-2xl);
  box-shadow: var(--hl-shadow-lg);
  padding: 1.35rem 1.25rem;
  transition: transform var(--hk-ease), box-shadow var(--hk-ease);
}

body.page-home .culture-anthem-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 22px 48px rgba(15, 23, 42, 0.12);
}

body.page-home .culture-anthem-card__label {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  margin-bottom: 0.85rem;
  color: var(--hl-muted);
  font-size: 0.88rem;
  font-weight: 650;
}

body.page-home .culture-anthem-card__title {
  color: var(--hl-text);
  font-family: var(--hk-font);
  font-size: 1.2rem;
  font-weight: 800;
  margin: 0 0 0.35rem;
}

body.page-home .culture-anthem-card__note {
  color: var(--hl-muted);
  font-size: 0.9rem;
  margin-bottom: 1.1rem;
}

body.page-home .culture-player {
  display: flex;
  align-items: center;
  gap: 0.9rem;
}

body.page-home .culture-player__play {
  flex-shrink: 0;
  width: 3.25rem;
  height: 3.25rem;
  border: 0;
  border-radius: 50%;
  background: linear-gradient(135deg, #0ea5e9 0%, #2563eb 100%);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.35rem;
  box-shadow: 0 10px 24px rgba(37, 99, 235, 0.3);
  transition: transform var(--hk-ease), box-shadow var(--hk-ease);
}

body.page-home .culture-player__play:hover {
  transform: scale(1.05);
  box-shadow: 0 14px 30px rgba(37, 99, 235, 0.4);
}

body.page-home .culture-player__play.is-playing {
  background: linear-gradient(135deg, #f97316 0%, #ea580c 100%);
  box-shadow: 0 10px 24px rgba(249, 115, 22, 0.32);
}

body.page-home .culture-player__meta {
  flex: 1;
  min-width: 0;
}

body.page-home .culture-player__seek {
  width: 100%;
  accent-color: #0ea5e9;
  height: 0.35rem;
  cursor: pointer;
}

body.page-home .culture-player__time {
  display: flex;
  justify-content: space-between;
  margin-top: 0.35rem;
  color: var(--hl-muted);
  font-size: 0.78rem;
  font-variant-numeric: tabular-nums;
}

/* --------------------------------------------------------------------------
   Downstream light sections
   -------------------------------------------------------------------------- */

body.page-home .expertise-visual-section,
body.page-home .bg-dark-tech,
body.page-home .interview-section,
body.page-home .personal-services,
body.page-home .partners-section,
body.page-home .faq-section {
  background: #fff !important;
  color: var(--hl-text-2);
}

body.page-home .expertise-visual-section,
body.page-home .bg-dark-tech {
  background:
    radial-gradient(ellipse 55% 45% at 88% 18%, rgba(37, 99, 235, 0.1), transparent 58%),
    radial-gradient(ellipse 40% 35% at 8% 85%, rgba(14, 165, 233, 0.08), transparent 55%),
    linear-gradient(180deg, #eef4ff 0%, #f8fafc 42%, #ffffff 100%) !important;
  color: var(--hl-text-2) !important;
}

body.page-home .expertise-visual-section .section-heading,
body.page-home .expertise-visual-section h2.section-heading {
  color: var(--hl-text) !important;
  -webkit-text-fill-color: var(--hl-text) !important;
  text-shadow: none !important;
  font-weight: 800 !important;
  letter-spacing: -0.035em !important;
  line-height: 1.15;
}

body.page-home .expertise-visual-section .section-heading::after {
  background: linear-gradient(90deg, var(--hl-blue), var(--hl-cyan)) !important;
  width: 5rem !important;
  height: 3.5px !important;
}

@media (min-width: 992px) {
  body.page-home .expertise-visual-section .section-heading {
    text-align: left;
  }

  body.page-home .expertise-visual-section .section-heading::after {
    left: 0 !important;
    transform: none;
  }

  body.page-home .expertise-visual-section .section-lead {
    margin-left: 0;
    text-align: left;
  }
}

body.page-home .expertise-visual-section .section-lead,
body.page-home .expertise-visual-section > .container > .row > .col-lg-5 > p {
  color: var(--hl-text-2) !important;
  opacity: 1 !important;
  font-size: 1.08rem;
  font-weight: 500;
  line-height: 1.65;
  max-width: 36rem;
}

body.page-home .expertise-visual-section .tech-feature-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 0.7rem;
}

body.page-home .expertise-visual-section .tech-feature-list li,
body.page-home .tech-feature-list li {
  color: var(--hl-text) !important;
  margin-bottom: 0;
  font-size: 1.02rem;
  font-weight: 600 !important;
  display: flex;
  align-items: center;
  gap: 0.8rem;
  padding: 0.7rem 0.85rem;
  background: #fff;
  border: 1px solid rgba(37, 99, 235, 0.16);
  border-radius: 0.9rem;
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.05);
}

body.page-home .expertise-visual-section .tech-feature-list i,
body.page-home .tech-feature-list i {
  width: 2rem;
  height: 2rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  border-radius: 0.55rem;
  font-size: 1.05rem;
  color: var(--hl-blue) !important;
  background: #eff6ff;
  border: 1px solid #dbeafe;
}

body.page-home .expertise-visual-section .tech-feature-list li i.bi-diagram-3 {
  color: #1d4ed8 !important;
  background: #dbeafe;
  border-color: #bfdbfe;
}

body.page-home .expertise-visual-section .tech-feature-list li i.bi-bug {
  color: #b91c1c !important;
  background: #fef2f2;
  border-color: #fecaca;
}

body.page-home .expertise-visual-section .tech-feature-list li i.bi-shield-check {
  color: #047857 !important;
  background: #ecfdf5;
  border-color: #a7f3d0;
}

body.page-home .hr-partner-box,
body.page-home .interview-card,
body.page-home .personal-service-card,
body.page-home .faq .accordion-item,
body.page-home .review-card {
  background: #fff !important;
  border: 1px solid var(--hl-border) !important;
  color: var(--hl-text-2);
  box-shadow: var(--hl-shadow-sm);
}

/* Keep the code review IDE dark so syntax colors stay readable on light page */
body.page-home .expertise-visual-section .ide-window {
  background: #0f172a !important;
  border: 1px solid #334155 !important;
  color: #e2e8f0;
  box-shadow: 0 22px 48px rgba(15, 23, 42, 0.22);
}

body.page-home .expertise-visual-section .ide-header {
  background: #1e293b !important;
  border-bottom: 1px solid #334155;
}

body.page-home .expertise-visual-section .ide-title {
  color: #94a3b8 !important;
}

body.page-home .expertise-visual-section .ide-body {
  background: #0f172a !important;
  color: #e2e8f0 !important;
}

body.page-home .expertise-visual-section .hr-partner-box {
  background: linear-gradient(145deg, #fff7ed 0%, #ffedd5 100%) !important;
  border: 1.5px solid rgba(249, 115, 22, 0.42) !important;
  box-shadow: 0 12px 28px rgba(249, 115, 22, 0.14) !important;
}

body.page-home .expertise-visual-section .hr-partner-box h5,
body.page-home .expertise-visual-section .hr-partner-box h5.mb-2 {
  color: var(--hl-text) !important;
  -webkit-text-fill-color: var(--hl-text) !important;
  font-weight: 800 !important;
}

body.page-home .expertise-visual-section .hr-partner-box p,
body.page-home .expertise-visual-section .hr-partner-box .mb-0 {
  color: var(--hl-text-2) !important;
  font-weight: 500 !important;
  line-height: 1.55 !important;
  opacity: 1 !important;
}

body.page-home .expertise-visual-section .hr-partner-box strong {
  color: #c2410c !important;
  font-weight: 800 !important;
}

body.page-home .expertise-visual-section .hr-partner-box h5 i {
  color: var(--hl-orange) !important;
}

body.page-home .expertise-visual-section .review-popover {
  background: #fff7ed !important;
  border: 1.5px solid rgba(249, 115, 22, 0.45) !important;
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.35) !important;
}

body.page-home .expertise-visual-section .review-popover__head,
body.page-home .expertise-visual-section .review-popover__head strong {
  color: #9a3412 !important;
  -webkit-text-fill-color: #9a3412 !important;
}

body.page-home .expertise-visual-section .review-popover__body,
body.page-home .expertise-visual-section .review-popover p {
  color: #1e293b !important;
  opacity: 1 !important;
}

body.page-home .accordion-button {
  background: #fff !important;
  color: var(--hl-text) !important;
  box-shadow: none !important;
}

body.page-home .accordion-button:not(.collapsed) {
  background: rgba(37, 99, 235, 0.06) !important;
  color: #1e3a8a !important;
}

body.page-home .accordion-body {
  background: #f8fafc;
  color: var(--hl-text-2);
}

body.page-home .text-muted {
  color: var(--hl-muted) !important;
}

body.page-home .text-dark {
  color: var(--hl-text-2) !important;
}

body.page-home h2,
body.page-home h3,
body.page-home h4,
body.page-home h5 {
  color: var(--hl-text);
}

body.page-home .site-footer {
  background: #0f172a !important;
  border-top: 0;
  box-shadow: none;
  margin-top: 0;
}

body.page-home .site-footer::before {
  background:
    radial-gradient(ellipse 55% 120% at 50% -40%, rgba(34, 211, 238, 0.14), transparent 62%);
}

body.page-home .site-footer .copyright-text,
body.page-home .site-footer p,
body.page-home .site-footer a:not(.site-footer__cta):not(.site-footer__phone):not(.site-footer__social):not(.footer-nav__link),
body.page-home .site-footer__legal,
body.page-home .site-footer__legal a {
  color: #94a3b8 !important;
}

body.page-home .site-footer-home-contacts__card {
  color: #fff !important;
}

body.page-home .site-footer-home-contacts__label {
  color: rgba(226, 232, 240, 0.72) !important;
}

body.page-home .site-footer-home-contacts__value {
  color: #fff !important;
}

body.page-home .site-footer a:not(.site-footer__cta):not(.site-footer__phone):not(.site-footer__social):not(.footer-nav__link):hover,
body.page-home .site-footer__legal a:hover,
body.page-home .site-footer-home-contacts__card:hover {
  color: #e2e8f0 !important;
}

/* Mobile legal links: single column (not 2-col grid) */
@media (max-width: 767.98px) {
  body.page-home .site-footer--home .site-footer__legal {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    grid-template-columns: none !important;
    gap: 0.15rem !important;
  }

  body.page-home .site-footer--home .site-footer__legal a {
    display: flex !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 44px;
    align-items: center;
    flex: none !important;
  }
}

body.page-home #section_5 .contact-container-wrap {
  padding-top: 1.25rem !important;
  padding-bottom: 3rem !important;
}

/* --------------------------------------------------------------------------
   FAQ → Contacts graphic bridge
   -------------------------------------------------------------------------- */

body.page-home .home-faq {
  position: relative;
  z-index: 1;
  background: linear-gradient(180deg, #ffffff 0%, #f8f9fa 100%) !important;
  padding-top: clamp(3.5rem, 7vw, 5rem);
  padding-bottom: 1.25rem !important;
  box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.03);
}

body.page-home .faq-bridge {
  max-width: 42rem;
  margin-left: auto;
  margin-right: auto;
}

body.page-home .faq-bridge__kicker {
  margin: 0 0 0.5rem;
  color: #0f172a !important;
  font-family: var(--hk-font);
  font-size: 1.12rem;
  font-weight: 750;
  line-height: 1.45;
}

body.page-home .faq-bridge__text {
  margin: 0 auto 1.15rem;
  max-width: 36rem;
  color: #64748b !important;
  font-size: 1.02rem;
  line-height: 1.65;
}

body.page-home .home-faq-bridge {
  position: relative;
  z-index: 2;
  width: 100%;
  height: clamp(50px, 12vw, 100px);
  overflow: hidden;
  pointer-events: none;
  background:
    linear-gradient(
      180deg,
      #ffffff 0%,
      #e0f2fe 42%,
      #bae6fd 62%,
      #0f172a 100%
    );
}

body.page-home .home-faq-bridge__wash {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 80% 90% at 50% 30%, rgba(56, 189, 248, 0.22), transparent 68%),
    radial-gradient(ellipse 50% 70% at 18% 70%, rgba(34, 211, 238, 0.12), transparent 62%);
}

body.page-home .home-faq-bridge__wave {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  display: block;
}

body.page-home .home-faq-bridge__wave--soft {
  height: 88%;
  color: rgba(15, 23, 42, 0.28);
}

body.page-home .home-faq-bridge__wave--main {
  color: #0f172a;
  will-change: transform;
}

body.page-home .home-faq-bridge__horizon {
  fill: none;
  stroke: url(#homeFaqWaveStroke);
  stroke-width: 1.15;
  stroke-linecap: round;
  filter: drop-shadow(0 0 6px rgba(34, 211, 238, 0.7)) drop-shadow(0 0 14px rgba(56, 189, 248, 0.35));
}

@media (prefers-reduced-motion: reduce) {
  body.page-home .home-faq-bridge__wave--main {
    transform: none !important;
  }
}

/* Hide default white SVG wave on home — bridge already handles the seam */
body.page-home #section_5.section-contact > svg {
  display: none !important;
}

body.page-home #section_5.section-contact {
  background: #0f172a !important;
  margin-top: -1px;
  overflow: hidden;
}

body.page-home #section_5 .contact-form-card,
body.page-home #section_5 .contact-info-card {
  background: #fff !important;
  border: 1px solid rgba(226, 232, 240, 0.9) !important;
  border-radius: 1.5rem;
  box-shadow: 0 25px 50px -12px rgba(2, 6, 23, 0.45);
}

body.page-home #section_5 .contact-form-card {
  padding: 2rem 1.85rem 1.85rem;
}

body.page-home #section_5 .contact-info-card {
  padding: 1.5rem 1.5rem 1.35rem;
}

body.page-home #section_5 .custom-form .form-control:not(button) {
  background: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 0.75rem;
  margin-bottom: 0;
  padding: 0.8rem 0.95rem;
  color: #0f172a;
}

body.page-home #section_5 .custom-form .form-control:not(button):hover,
body.page-home #section_5 .custom-form .form-control:not(button):focus {
  background: #fff !important;
  border-color: #7dd3fc !important;
  box-shadow: 0 0 0 3px rgba(14, 165, 233, 0.14);
}

body.page-home #section_5 .contact-details__city,
body.page-home #section_5 .contact-map-caption,
body.page-home #section_5 .contact-quick-card__label,
body.page-home #section_5 .contact-quick-card__hint {
  color: #64748b !important;
}

body.page-home #section_5 .contact-details__text,
body.page-home #section_5 .contact-map-caption strong {
  color: #334155 !important;
}

body.page-home #section_5 .contact-social-btn:hover,
body.page-home #section_5 .contact-social-btn:focus-visible {
  filter: brightness(1.1);
  transform: translateY(-3px);
}

body.page-home #section_5 .contact-social-btn--max:hover,
body.page-home #section_5 .contact-social-btn--max:focus-visible {
  box-shadow:
    0 16px 36px rgba(91, 63, 255, 0.42),
    0 0 28px rgba(139, 111, 255, 0.38),
    inset 0 1px 0 rgba(255, 255, 255, 0.3);
}

body.page-home #section_5 .contact-social-btn--telegram:hover,
body.page-home #section_5 .contact-social-btn--telegram:focus-visible {
  box-shadow:
    0 16px 36px rgba(34, 158, 217, 0.42),
    0 0 28px rgba(42, 171, 238, 0.35),
    inset 0 1px 0 rgba(255, 255, 255, 0.3);
}

body.page-home #section_5 .contact-social-btn--vk:hover,
body.page-home #section_5 .contact-social-btn--vk:focus-visible {
  box-shadow:
    0 16px 36px rgba(0, 119, 255, 0.38),
    0 0 28px rgba(61, 155, 255, 0.32),
    inset 0 1px 0 rgba(255, 255, 255, 0.3);
}

@media (max-width: 575.98px) {
  body.page-home .home-faq-bridge {
    height: clamp(50px, 18vw, 80px);
  }

  body.page-home #section_5 .contact-container-wrap {
    padding-top: 0.75rem !important;
  }

  body.page-home #section_5 .contact-form-card,
  body.page-home #section_5 .contact-info-card {
    border-radius: 1.25rem;
  }

  body.page-home #section_5 .contact-social-actions {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 575.98px) {
  body.page-home .main-banner .video-overlay {
    padding-top: 1.25rem;
    padding-bottom: 1.15rem;
  }
}

/* --------------------------------------------------------------------------
   BLOCK — Director / Expert (Dark Tech)
   -------------------------------------------------------------------------- */

body.page-home .director-expert {
  position: relative;
  overflow: hidden;
  background: var(--hd-bg) !important;
  color: #e2e8f0;
  isolation: isolate;
  padding-top: clamp(3.5rem, 6vw, 5rem);
  padding-bottom: clamp(3.5rem, 6vw, 5rem);
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow:
    inset 0 10px 40px rgba(0, 0, 0, 0.45),
    0 10px 40px rgba(0, 0, 0, 0.3);
}

body.page-home .director-expert__top-glow {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: min(920px, 92vw);
  height: clamp(120px, 18vw, 220px);
  background: radial-gradient(
    ellipse 70% 100% at 50% 0%,
    rgba(34, 211, 238, 0.18) 0%,
    rgba(34, 211, 238, 0.06) 42%,
    transparent 72%
  );
  filter: blur(18px);
  pointer-events: none;
  z-index: 0;
}

body.page-home .director-expert__glow {
  position: absolute;
  border-radius: 999px;
  filter: blur(80px);
  pointer-events: none;
  z-index: 0;
}

body.page-home .director-expert__glow--left {
  width: min(520px, 55vw);
  height: min(520px, 55vw);
  left: -12%;
  top: 28%;
  background: rgba(34, 211, 238, 0.12);
}

body.page-home .director-expert__glow--right {
  width: min(420px, 48vw);
  height: min(420px, 48vw);
  right: -8%;
  bottom: 8%;
  background: rgba(59, 130, 246, 0.1);
}

/* 3-area grid: photo | content ; cards under photo on desktop */
body.page-home .director-expert__layout {
  position: relative;
  z-index: 1;
  display: grid;
  gap: clamp(1.5rem, 3vw, 2rem);
  align-items: start;
}

body.page-home .director-expert__photo-col {
  order: 1;
}

body.page-home .director-expert__content-col {
  order: 2;
  display: flex;
  flex-direction: column;
  gap: 1.35rem;
  font-size: 1.0625rem;
}

body.page-home .director-expert__cards-col {
  order: 3;
}

@media (min-width: 992px) {
  body.page-home .director-expert__layout {
    grid-template-columns: minmax(0, 0.4fr) minmax(0, 0.6fr);
    grid-template-rows: auto auto;
    column-gap: clamp(2rem, 3.5vw, 3rem);
    row-gap: 1.25rem;
  }

  body.page-home .director-expert__photo-col {
    grid-column: 1;
    grid-row: 1;
    order: unset;
  }

  body.page-home .director-expert__cards-col {
    grid-column: 1;
    grid-row: 2;
    order: unset;
  }

  body.page-home .director-expert__content-col {
    grid-column: 2;
    grid-row: 1 / span 2;
    order: unset;
    align-self: center;
    padding-left: 0.25rem;
  }
}

body.page-home .director-expert__title {
  margin: 0;
  font-family: var(--hk-font);
  font-size: clamp(1.75rem, 3.8vw, 2.5rem);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.15;
  color: #fff !important;
  text-align: left;
}

body.page-home .director-expert__eyebrow {
  display: inline-flex;
  align-items: center;
  margin: 0 0 0.75rem;
  padding: 0.35rem 0.75rem;
  border-radius: 999px;
  background: rgba(249, 115, 22, 0.16);
  border: 1px solid rgba(253, 186, 116, 0.35);
  color: #fdba74 !important;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

body.page-home .director-expert__founder-copy {
  display: grid;
  gap: 0.9rem;
  margin: 1.1rem 0 1.25rem;
  padding: 1.15rem 1.25rem;
  border-radius: 1rem;
  background: #f8fafc !important;
  border: 1px solid rgba(15, 23, 42, 0.08);
  box-shadow: 0 1rem 2.5rem rgba(0, 0, 0, 0.18);
}

body.page-home .director-expert__lead {
  margin: 0;
  font-size: clamp(1.125rem, 1.8vw, 1.25rem);
  line-height: 1.8;
  color: #1e293b !important;
  -webkit-text-fill-color: #1e293b !important;
  font-weight: 500;
}

body.page-home .director-expert__lead--second {
  color: #1e293b !important;
  -webkit-text-fill-color: #1e293b !important;
}

body.page-home .director-expert__lead-name,
body.page-home .director-expert__brand {
  color: #0f172a !important;
  -webkit-text-fill-color: #0f172a !important;
  font-weight: 800;
  letter-spacing: -0.01em;
}

body.page-home .director-expert__brand {
  color: #0f172a !important;
  -webkit-text-fill-color: #0f172a !important;
}

body.page-home .director-expert__focus {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  margin: 0;
  padding: 0.95rem 1.1rem;
  border-radius: 0.95rem;
  background: linear-gradient(135deg, rgba(249, 115, 22, 0.16) 0%, rgba(34, 211, 238, 0.1) 100%);
  border: 1px solid rgba(253, 186, 116, 0.28);
  color: #f8fafc !important;
  font-size: 1.02rem;
  line-height: 1.55;
  font-weight: 500;
}

body.page-home .director-expert__focus i {
  margin-top: 0.15rem;
  color: #fdba74;
  font-size: 1.2rem;
  flex-shrink: 0;
}

body.page-home .director-expert__focus strong {
  color: #fdba74 !important;
  font-weight: 750;
}

body.page-home .director-expert__facts {
  margin: 0;
  font-size: 1.0625rem;
  line-height: 1.8;
  font-weight: 400;
  color: #e2e8f0 !important;
}

body.page-home .director-expert__facts strong {
  color: inherit !important;
  font-weight: 400;
}

body.page-home .director-expert__stories {
  display: grid;
  gap: 1.35rem;
}

body.page-home .director-expert__story {
  padding-left: 0.9rem;
  border-left: 2px solid #22d3ee;
}

body.page-home .director-expert__story-title {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  margin: 0 0 0.55rem;
  font-family: var(--hk-font);
  font-size: clamp(1.125rem, 1.8vw, 1.25rem);
  font-weight: 700;
  line-height: 1.35;
  color: #ffffff !important;
}

body.page-home .director-expert__story-title i {
  flex-shrink: 0;
  margin-top: 0.18rem;
  color: var(--hd-cyan);
  font-size: 0.95em;
}

body.page-home .director-expert__story p {
  margin: 0;
  font-size: 1.0625rem;
  line-height: 1.8;
  font-weight: 400;
  color: #e2e8f0 !important;
}

body.page-home .director-expert__kw {
  display: inline-block;
  padding: 0.12rem 0.5rem;
  margin: 0 0.05rem;
  border-radius: 0.4rem;
  font-size: 0.92em;
  font-weight: 600;
  color: #ffffff !important;
  background: rgba(255, 255, 255, 0.15);
  border: 1px solid rgba(255, 255, 255, 0.2);
  vertical-align: baseline;
}

/* Photo card — premium glass, full image without crop */
body.page-home .director-expert__photo-card.teacher-photo-frame {
  --teacher-photo-width: 100%;
  position: relative;
  display: block;
  width: 100%;
  max-width: 100%;
  aspect-ratio: auto;
  height: auto;
  margin: 0;
  padding: 0.35rem;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 1.5rem;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.05);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  box-shadow:
    0 24px 56px rgba(0, 0, 0, 0.35),
    inset 0 1px 0 rgba(255, 255, 255, 0.08);
  cursor: zoom-in;
  transition: transform 320ms ease, border-color 320ms ease, box-shadow 320ms ease;
}

body.page-home .director-expert__photo-card.teacher-photo-frame:hover {
  transform: translateY(-4px);
  border-color: rgba(34, 211, 238, 0.35);
  box-shadow:
    0 28px 64px rgba(0, 0, 0, 0.42),
    0 0 32px rgba(34, 211, 238, 0.12),
    inset 0 1px 0 rgba(255, 255, 255, 0.12);
}

body.page-home .director-expert__photo.teacher-photo,
body.page-home .director-expert__photo-card img.teacher-photo {
  width: 100%;
  height: auto !important;
  max-width: 100%;
  aspect-ratio: 5 / 4;
  object-fit: contain;
  object-position: center center;
  border-radius: 1.15rem;
  background: #0b1120;
  display: block;
}

body.page-home .director-expert__photo-caption {
  margin-top: 1rem;
  padding: 0 0.15rem;
  text-align: left;
}

body.page-home .director-expert__photo-meta {
  display: none;
}

body.page-home .director-expert__photo-gradient {
  display: none;
}

body.page-home .director-expert__name {
  margin: 0 0 0.25rem;
  font-family: var(--hk-font);
  font-size: clamp(1.15rem, 2.2vw, 1.45rem);
  font-weight: 800;
  line-height: 1.2;
  color: #fff !important;
}

body.page-home .director-expert__role {
  margin: 0 0 0.75rem;
  font-size: 0.92rem;
  font-weight: 650;
  color: #cbd5e1 !important;
  line-height: 1.5;
}

body.page-home .director-expert__role-link,
body.page-home .director-expert__inline-link {
  color: #22d3ee !important;
  font-weight: 700;
  text-decoration: none;
  transition: color 220ms ease, text-shadow 220ms ease;
}

body.page-home .director-expert__role-link {
  display: inline-flex;
  align-items: center;
  gap: 0.2rem;
}

body.page-home .director-expert__role-link:hover,
body.page-home .director-expert__role-link:focus-visible,
body.page-home .director-expert__inline-link:hover,
body.page-home .director-expert__inline-link:focus-visible {
  color: #67e8f9 !important;
  text-decoration: underline;
  text-underline-offset: 0.15em;
  text-shadow: 0 0 18px rgba(34, 211, 238, 0.35);
}

body.page-home .director-expert__ext-icon {
  font-size: 0.72rem;
  opacity: 0.85;
}

body.page-home .director-expert__achievements .director-expert__inline-link {
  font-weight: 650;
}

/* Enterprise case badge */
body.page-home .director-expert__case-badge {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 1rem 1.1rem;
  margin-bottom: 1rem;
  border-radius: 1rem;
  text-decoration: none !important;
  color: inherit;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
  transition: border-color 320ms ease, transform 320ms ease, box-shadow 320ms ease, background 320ms ease;
}

body.page-home .director-expert__case-badge:hover,
body.page-home .director-expert__case-badge:focus-visible {
  border-color: rgba(34, 211, 238, 0.45);
  background: rgba(34, 211, 238, 0.08);
  transform: translateY(-2px);
  box-shadow:
    0 12px 32px rgba(0, 0, 0, 0.24),
    0 0 24px rgba(34, 211, 238, 0.14);
}

body.page-home .director-expert__case-badge-icon {
  flex-shrink: 0;
  width: 2.35rem;
  height: 2.35rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  color: var(--hd-cyan);
  background: rgba(34, 211, 238, 0.1);
  border: 0;
  font-size: 1.15rem;
}

body.page-home .director-expert__case-badge-copy {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  min-width: 0;
  flex: 1;
}

body.page-home .director-expert__case-badge-copy strong {
  color: #ffffff !important;
  font-size: 0.95rem;
  font-weight: 650;
  line-height: 1.35;
}

body.page-home .director-expert__case-badge-copy span {
  color: #94a3b8;
  font-size: 0.8rem;
  line-height: 1.45;
  font-style: normal;
}

body.page-home .director-expert__case-badge-url {
  color: #22d3ee;
  font-style: normal;
  font-weight: 600;
  text-decoration: none;
}

body.page-home .director-expert__case-badge:hover .director-expert__case-badge-url,
body.page-home .director-expert__case-badge:focus-visible .director-expert__case-badge-url {
  text-decoration: underline;
  text-underline-offset: 0.12em;
}

body.page-home .director-expert__case-badge-arrow {
  flex-shrink: 0;
  margin-top: 0.15rem;
  color: var(--hd-cyan);
  font-size: 0.85rem;
  opacity: 0.85;
}

/* Trust micro-cards */
body.page-home .director-expert__trust {
  display: grid;
  gap: 0.65rem;
}

@media (min-width: 768px) {
  body.page-home .director-expert__trust {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

body.page-home .director-expert__trust-card {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  padding: 0.75rem 0.85rem;
  border-radius: 0.85rem;
  text-decoration: none !important;
  color: inherit;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  transition: border-color 280ms ease, background 280ms ease, transform 280ms ease, box-shadow 280ms ease;
}

body.page-home .director-expert__trust-card:hover,
body.page-home .director-expert__trust-card:focus-visible {
  border-color: rgba(34, 211, 238, 0.38);
  background: rgba(34, 211, 238, 0.07);
  transform: translateY(-1px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
}

body.page-home .director-expert__trust-icon {
  flex-shrink: 0;
  width: 1.85rem;
  height: 1.85rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.55rem;
  color: var(--hd-cyan);
  background: rgba(34, 211, 238, 0.1);
  border: 1px solid rgba(34, 211, 238, 0.18);
  font-size: 0.95rem;
}

body.page-home .director-expert__trust-icon i {
  color: var(--hd-cyan) !important;
  font-size: 1rem;
  line-height: 1;
}

body.page-home .director-expert__trust-text {
  flex: 1;
  min-width: 0;
  color: #e2e8f0 !important;
  font-size: 0.9rem;
  line-height: 1.55;
  font-weight: 500;
}

body.page-home .director-expert__trust-arrow {
  flex-shrink: 0;
  color: #64748b;
  font-size: 0.75rem;
  margin-top: 0.1rem;
  transition: color 220ms ease;
}

body.page-home .director-expert__trust-card:hover .director-expert__trust-arrow,
body.page-home .director-expert__trust-card:focus-visible .director-expert__trust-arrow {
  color: var(--hd-cyan);
}


body.page-home .director-expert__badge {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  width: 100%;
  max-width: 100%;
  margin-top: 0.15rem;
  padding: 0.55rem 1rem;
  border-radius: 0.85rem;
  font-size: 0.84rem;
  font-weight: 550;
  line-height: 1.35;
  color: #cbd5e1 !important;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

body.page-home .director-expert__badge i {
  color: var(--hd-cyan);
  flex-shrink: 0;
  font-size: 1rem;
}

body.page-home .director-expert__photo-card .teacher-photo-zoom__hint {
  background: rgba(11, 17, 32, 0.72);
  border: 1px solid rgba(255, 255, 255, 0.15);
}

body.page-home .director-expert__cards {
  display: grid;
  gap: 1rem;
}

body.page-home .director-expert__glass-card {
  padding: 1.5rem;
  border-radius: 1rem;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
  transition: border-color 320ms ease, transform 320ms ease, box-shadow 320ms ease;
}

body.page-home .director-expert__glass-card:hover {
  border-color: rgba(34, 211, 238, 0.28);
  transform: translateY(-2px);
  box-shadow:
    0 12px 32px rgba(0, 0, 0, 0.22),
    inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

body.page-home .director-expert__card-title {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  margin: 0 0 0.85rem;
  font-family: var(--hk-font);
  font-size: 1rem;
  font-weight: 750;
  color: #fff !important;
}

body.page-home .director-expert__card-title i {
  color: var(--hd-cyan);
  font-size: 1.05rem;
}

body.page-home .director-expert__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

body.page-home .director-expert__tag {
  display: inline-flex;
  align-items: center;
  padding: 0.32rem 0.72rem;
  border-radius: 999px;
  font-size: 0.76rem;
  font-weight: 650;
  color: #f8fafc;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.1);
}

body.page-home .director-expert__achievements {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.65rem;
}

body.page-home .director-expert__achievements li {
  display: flex;
  align-items: flex-start;
  gap: 0.55rem;
  font-size: 0.86rem;
  line-height: 1.5;
  color: #cbd5e1;
}

body.page-home .director-expert__achievements i {
  flex-shrink: 0;
  margin-top: 0.12rem;
  color: var(--hd-cyan);
  font-size: 0.95rem;
}

/* Stats — glass variant on dark section */
body.page-home .director-expert .instructor-stats--glass {
  margin: 0.15rem 0 0;
}

body.page-home .director-expert .instructor-stats--glass .instructor-stats__item {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 1rem;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
  padding: 1.15rem 0.85rem 1rem;
}

body.page-home .director-expert .instructor-stats--glass .instructor-stats__item::before {
  display: none;
}

body.page-home .director-expert .instructor-stats--glass .instructor-stats__item:hover {
  transform: translateY(-3px);
  border-color: rgba(34, 211, 238, 0.4);
  box-shadow:
    0 14px 32px rgba(0, 0, 0, 0.28),
    0 0 24px rgba(34, 211, 238, 0.1);
}

body.page-home .director-expert .instructor-stats--glass .instructor-stats__icon {
  width: 2.25rem;
  height: 2.25rem;
  font-size: 1rem;
  margin-bottom: 0.65rem;
  background: rgba(34, 211, 238, 0.12);
  border: 1px solid rgba(34, 211, 238, 0.22);
  color: var(--hd-cyan) !important;
  box-shadow: none;
}

body.page-home .director-expert .instructor-stats--glass .instructor-stats__value {
  background: linear-gradient(90deg, #22d3ee 0%, #3b82f6 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  font-size: clamp(1.5rem, 2.8vw, 2rem);
  font-weight: 800;
}

body.page-home .director-expert .instructor-stats--glass .instructor-stats__label {
  color: #94a3b8 !important;
  font-weight: 550;
  max-width: none;
}

/* Ghost CTA */
body.page-home .director-expert__actions {
  margin-top: 0.15rem;
}

body.page-home .director-expert__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  padding: 0.85rem 1.25rem;
  border-radius: 0.85rem;
  border: 1px solid rgba(255, 255, 255, 0.3);
  background: transparent;
  color: #fff !important;
  font-family: var(--hk-font);
  font-size: 0.95rem;
  font-weight: 650;
  text-decoration: none !important;
  transition: background 320ms ease, border-color 320ms ease, transform 320ms ease, box-shadow 320ms ease;
}

body.page-home .director-expert__cta i {
  color: var(--hd-cyan);
}

body.page-home .director-expert__cta:hover,
body.page-home .director-expert__cta:focus-visible {
  background: rgba(34, 211, 238, 0.1);
  border-color: rgba(34, 211, 238, 0.55);
  color: #fff !important;
  transform: translateY(-2px);
  box-shadow: 0 0 24px rgba(34, 211, 238, 0.12);
}

@media (max-width: 991.98px) {
  body.page-home .director-expert__photo-col {
    max-width: 22rem;
    margin-inline: auto;
    width: 100%;
  }

  body.page-home .director-expert__title {
    text-align: center;
  }

  body.page-home .director-expert__eyebrow {
    margin-inline: auto;
  }

  body.page-home .director-expert__founder-copy {
    text-align: left;
  }
}

@media (max-width: 575.98px) {
  body.page-home .director-expert .instructor-stats--glass .instructor-stats__grid {
    grid-template-columns: 1fr;
  }

  body.page-home .director-expert__cta {
    width: 100%;
  }

  body.page-home .director-expert__photo-card {
    max-height: 320px;
    overflow: hidden;
  }

  body.page-home .director-expert__photo {
    width: 100%;
    height: 100%;
    max-height: 320px;
    object-fit: cover;
    object-position: center 12%;
  }

  body.page-home .director-expert__title {
    font-size: clamp(1.55rem, 7vw, 2rem);
  }

  body.page-home .director-expert__lead {
    font-size: 1.05rem;
    line-height: 1.7;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.page-home .director-expert__photo-card.teacher-photo-frame,
  body.page-home .director-expert__photo-card.teacher-photo-frame:hover,
  body.page-home .director-expert__glass-card,
  body.page-home .director-expert__glass-card:hover,
  body.page-home .director-expert__case-badge,
  body.page-home .director-expert__case-badge:hover,
  body.page-home .director-expert__trust-card,
  body.page-home .director-expert__trust-card:hover,
  body.page-home .director-expert .instructor-stats--glass .instructor-stats__item,
  body.page-home .director-expert .instructor-stats--glass .instructor-stats__item:hover,
  body.page-home .director-expert__cta:hover {
    transition: none;
    transform: none;
  }
}

/* --------------------------------------------------------------------------
   BLOCK — Corporate B2B (Clean Light EdTech)
   -------------------------------------------------------------------------- */

body.page-home .corporate-experience-section.corporate-b2b {
  background: #f8fafc !important;
  color: var(--hl-text-2);
}

body.page-home .corporate-b2b .corporate-experience-frame {
  display: none !important;
}

body.page-home .corporate-b2b__header {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
  margin-bottom: 2rem;
}

@media (min-width: 992px) {
  body.page-home .corporate-b2b__header {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: 2rem;
    margin-bottom: 2.5rem;
  }

  body.page-home .corporate-b2b__title {
    grid-column: 1 / -1;
  }
}

body.page-home .corporate-b2b__intro {
  max-width: none;
  min-width: 0;
}

body.page-home .corporate-b2b__title {
  margin: 0 0 0.65rem;
  font-family: var(--hk-font);
  font-size: clamp(1.45rem, 6.2vw, 2.15rem);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.2;
  color: #0f172a !important;
  text-align: left;
  white-space: normal;
  overflow-wrap: break-word;
  word-break: normal;
  hyphens: none;
  max-width: 100%;
}

@media (min-width: 1200px) {
  body.page-home .corporate-b2b__title {
    white-space: nowrap;
  }
}

body.page-home .corporate-b2b__lead {
  margin: 0;
  max-width: 38rem;
  font-size: 1.05rem;
  line-height: 1.65;
  color: #64748b !important;
  text-align: left;
}

body.page-home .corporate-b2b__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  padding: 0.8rem 1.25rem;
  border-radius: 0.85rem;
  border: 1px solid #cbd5e1;
  background: transparent;
  color: #334155 !important;
  font-family: var(--hk-font);
  font-size: 0.95rem;
  font-weight: 650;
  text-decoration: none !important;
  white-space: nowrap;
  transition: background 280ms ease, border-color 280ms ease, transform 280ms ease, color 280ms ease;
}

body.page-home .corporate-b2b__cta:hover,
body.page-home .corporate-b2b__cta:focus-visible {
  background: #f8fafc;
  border-color: #94a3b8;
  color: #0f172a !important;
  transform: translateY(-1px);
}

body.page-home .corporate-b2b__grid {
  display: grid;
  gap: 1.15rem;
}

@media (min-width: 992px) {
  body.page-home .corporate-b2b__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.35rem;
  }
}

body.page-home .corporate-b2b__card {
  height: 100%;
  padding: 1.75rem 1.6rem;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 1rem;
  box-shadow: 0 4px 16px rgba(15, 23, 42, 0.05);
  text-align: left;
  transition: transform 280ms ease, box-shadow 280ms ease, border-color 280ms ease;
}

body.page-home .corporate-b2b__card:hover {
  transform: translateY(-4px);
  border-color: #cbd5e1;
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.1);
}

body.page-home .corporate-b2b__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.6rem;
  height: 2.6rem;
  margin-bottom: 1rem;
  border-radius: 0.75rem;
  color: #0ea5e9;
  background: #f0f9ff;
  border: 1px solid #e0f2fe;
  font-size: 1.15rem;
}

body.page-home .corporate-b2b__card:nth-child(2) .corporate-b2b__icon {
  color: #2563eb;
  background: #eff6ff;
  border-color: #dbeafe;
}

body.page-home .corporate-b2b__card:nth-child(3) .corporate-b2b__icon {
  color: #059669;
  background: #ecfdf5;
  border-color: #d1fae5;
}

body.page-home .corporate-b2b__card-title {
  margin: 0 0 0.55rem;
  font-family: var(--hk-font);
  font-size: 1.12rem;
  font-weight: 700;
  line-height: 1.3;
  color: #0f172a !important;
}

body.page-home .corporate-b2b__card-text {
  margin: 0;
  font-size: 0.98rem;
  line-height: 1.65;
  color: #64748b !important;
  text-align: left;
}

@media (max-width: 575.98px) {
  body.page-home .corporate-b2b__cta {
    width: 100%;
    white-space: normal;
    text-align: center;
    line-height: 1.35;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.page-home .corporate-b2b__card,
  body.page-home .corporate-b2b__card:hover,
  body.page-home .corporate-b2b__cta:hover {
    transition: none;
    transform: none;
  }
}

/* --------------------------------------------------------------------------
   Reviews vs News — zebra rhythm
   -------------------------------------------------------------------------- */

body.page-home .reviews-section {
  background: #ffffff !important;
  padding-top: clamp(4.5rem, 8vw, 6rem);
  padding-bottom: clamp(4.5rem, 8vw, 6rem);
}

body.page-home .news-section {
  background: #f0f9ff !important;
  padding-top: clamp(4.5rem, 8vw, 6rem);
  padding-bottom: clamp(4.5rem, 8vw, 6rem);
}

body.page-home .articles-section {
  background: #ffffff !important;
  padding-top: clamp(4.5rem, 8vw, 6rem);
  padding-bottom: 1.5rem !important;
}

body.page-home .section-brand-rule {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0 0 1.75rem;
  background: transparent;
}

body.page-home .section-brand-rule__line {
  display: block;
  width: 8rem;
  height: 1px;
  background: linear-gradient(to right, transparent, #ff6b35, transparent);
}

body.page-home .reviews-section .review-card-item {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 1rem;
  box-shadow: 0 4px 16px rgba(15, 23, 42, 0.05);
  transition: transform 280ms ease, box-shadow 280ms ease, border-color 280ms ease;
}

body.page-home .reviews-section .review-card-item:hover {
  transform: translateY(-4px);
  border-color: #cbd5e1;
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.1);
}

body.page-home .reviews-section .review-card-item__text {
  line-height: 1.7;
  color: #475569 !important;
}

body.page-home .reviews-section .review-card-item__more {
  color: #0ea5e9 !important;
}

body.page-home .reviews-section .review-card-item__more:hover,
body.page-home .reviews-section .review-card-item__more:focus-visible {
  color: #0284c7 !important;
  text-decoration: underline;
}

body.page-home .reviews-section .btn-reviews-all {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #2563eb 0%, #0ea5e9 100%) !important;
  color: #fff !important;
  border: 0;
  border-radius: 0.85rem;
  padding: 0.85rem 1.75rem;
  font-family: var(--hk-font);
  font-weight: 700;
  box-shadow: 0 10px 24px rgba(37, 99, 235, 0.28);
  transition: transform 280ms ease, box-shadow 280ms ease, filter 280ms ease;
}

body.page-home .reviews-section .btn-reviews-all:hover,
body.page-home .reviews-section .btn-reviews-all:focus-visible {
  color: #fff !important;
  transform: translateY(-2px);
  filter: brightness(1.05);
  box-shadow: 0 14px 30px rgba(37, 99, 235, 0.36);
}

body.page-home .reviews-filters {
  margin-bottom: 1.75rem;
  border-color: #e2e8f0;
}

body.page-home .reviews-carousel__nav {
  border-color: #cbd5e1;
  color: #0f172a;
}

body.page-home .reviews-carousel__dot.is-active {
  background: #ea580c;
}

body.page-home .reviews-section .review-card-item__avatar--photo {
  border-color: rgba(14, 165, 233, 0.2);
}

body.page-home .news-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: #fff !important;
  border: 1px solid #e2e8f0;
  border-radius: 1rem;
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.06);
  overflow: hidden;
  transition: transform 280ms ease, box-shadow 280ms ease, border-color 280ms ease;
}

body.page-home .news-card:hover {
  transform: translateY(-4px);
  border-color: #bae6fd;
  box-shadow: 0 16px 32px rgba(14, 165, 233, 0.14);
}

body.page-home .news-card__image {
  width: 100%;
  height: 11rem;
  object-fit: cover;
  display: block;
}

body.page-home .news-card__body {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 1.35rem 1.35rem 1.4rem;
}

body.page-home .news-card__meta {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.7rem;
}

body.page-home .news-card__date {
  color: #94a3b8 !important;
  font-size: 0.72rem;
  font-weight: 650;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

body.page-home .news-card__title {
  margin: 0 0 0.65rem;
  font-family: var(--hk-font);
  font-size: 1.12rem;
  font-weight: 800;
  line-height: 1.35;
}

body.page-home .news-card__title a {
  color: #1e293b !important;
  text-decoration: none;
  transition: color 220ms ease;
}

body.page-home .news-card__title a:hover,
body.page-home .news-card__title a:focus-visible {
  color: #2563eb !important;
}

body.page-home .news-card__excerpt {
  margin: 0 0 1.1rem;
  color: #64748b !important;
  font-size: 0.95rem;
  line-height: 1.65;
  flex: 1;
}

body.page-home .news-card__link {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  margin-top: auto;
  color: #ea580c !important;
  font-size: 0.92rem;
  font-weight: 700;
  text-decoration: none;
  transition: color 220ms ease;
}

body.page-home .news-card__link i {
  transition: transform 220ms ease;
}

body.page-home .news-card:hover .news-card__link,
body.page-home .news-card__link:hover,
body.page-home .news-card__link:focus-visible {
  color: #c2410c !important;
}

body.page-home .news-card:hover .news-card__link i,
body.page-home .news-card__link:hover i {
  transform: translateX(4px);
}

body.page-home .news-section__all {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.75rem 1.4rem;
  border-radius: 0.85rem;
  border: 1px solid #cbd5e1;
  background: #fff;
  color: #334155 !important;
  font-family: var(--hk-font);
  font-weight: 650;
  text-decoration: none !important;
  transition: background 220ms ease, border-color 220ms ease, color 220ms ease, transform 220ms ease;
}

body.page-home .news-section__all:hover,
body.page-home .news-section__all:focus-visible {
  background: #f8fafc;
  border-color: #94a3b8;
  color: #0f172a !important;
  transform: translateY(-1px);
}

/* --------------------------------------------------------------------------
   Courses catalog — warm practice band after cool articles
   -------------------------------------------------------------------------- */

body.page-home .projects {
  background:
    radial-gradient(ellipse 80% 42% at 50% 0%, rgba(255, 107, 53, 0.1), transparent 58%),
    #fff7ed !important;
  padding-top: 2rem;
  padding-bottom: clamp(4.5rem, 8vw, 6rem);
}

body.page-home .projects .section-heading {
  text-align: center;
}

body.page-home .projects .section-heading::after {
  background: linear-gradient(90deg, #ff6b35, #f7931e) !important;
}

body.page-home .courses-bridge {
  max-width: 46rem;
  margin: 0 auto 2.5rem;
}

body.page-home .courses-bridge__kicker {
  margin: 0 0 0.85rem;
  color: #ea580c !important;
  font-family: var(--hk-font);
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

body.page-home .courses-bridge .section-heading {
  margin-bottom: 1rem;
}

body.page-home .courses-bridge__lead,
body.page-home .courses-bridge__text {
  margin: 0 auto 0.85rem;
  max-width: 42rem;
  color: #57534e !important;
  font-size: 1.05rem;
  line-height: 1.7;
}

body.page-home .courses-bridge__text {
  margin-bottom: 0;
  color: #78716c !important;
}

body.page-home .course-card {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid #fed7aa;
  border-radius: 1.25rem;
  overflow: hidden;
  cursor: pointer;
  box-shadow: 0 10px 24px rgba(124, 45, 18, 0.08);
  transition: transform 280ms ease, box-shadow 280ms ease, border-color 280ms ease;
}

body.page-home .course-card:hover {
  transform: translateY(-4px);
  border-color: #ff6b35;
  box-shadow: 0 20px 40px rgba(255, 107, 53, 0.16);
}

body.page-home .course-card__media {
  position: relative;
  aspect-ratio: 16 / 10;
  background: #fff7ed;
  border-bottom: 1px solid #ffedd5;
  border-radius: 1.25rem 1.25rem 0 0;
  overflow: hidden;
}

body.page-home .course-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  padding: 0;
  display: block;
  transition: transform 0.45s ease;
}

body.page-home .course-card:hover .course-card__media img {
  transform: scale(1.03);
}

body.page-home .course-card__icon {
  position: absolute;
  left: 0.85rem;
  bottom: 0.85rem;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.45rem;
  height: 2.45rem;
  border-radius: 0.75rem;
  color: #fff;
  background: linear-gradient(135deg, #ff6b35 0%, #f7931e 100%);
  box-shadow: 0 8px 18px rgba(255, 107, 53, 0.38);
  font-size: 1.05rem;
  pointer-events: none;
}

body.page-home .course-card__body {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  padding: 1.35rem 1.4rem 1.45rem;
}

body.page-home .course-card__body h3 {
  margin: 0 0 0.55rem;
  font-family: var(--hk-font);
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.35;
  color: #7c2d12 !important;
}

body.page-home .course-card__body p {
  margin: 0 0 1rem;
  flex: 1 1 auto;
  color: #78716c !important;
  font-size: 0.875rem;
  line-height: 1.65;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

body.page-home .course-card__link {
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  margin-top: auto;
  font-weight: 500;
  font-size: 0.95rem;
  color: #ff6b35 !important;
  text-decoration: none;
}

body.page-home .course-card__link::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
}

body.page-home .course-card__link i {
  display: inline-block;
  transition: transform 220ms ease;
}

body.page-home .course-card:hover .course-card__link,
body.page-home .course-card__link:hover,
body.page-home .course-card__link:focus-visible {
  color: #c2410c !important;
}

body.page-home .course-card:hover .course-card__link i,
body.page-home .course-card__link:hover i {
  transform: translateX(4px);
}

body.page-home .course-card--feature {
  display: grid;
  grid-template-columns: 1fr;
  align-items: center;
  gap: 0;
  background: linear-gradient(135deg, #0f172a 0%, #0b1120 58%, #134e4a 160%);
  border: 1px solid rgba(45, 212, 191, 0.35);
  border-radius: 1.5rem;
  padding: 2rem;
  box-shadow:
    0 0 40px rgba(34, 211, 238, 0.12),
    0 24px 48px rgba(15, 23, 42, 0.28);
  overflow: hidden;
}

body.page-home .course-card--feature:hover {
  transform: translateY(-4px);
  border-color: rgba(45, 212, 191, 0.55);
  box-shadow:
    0 0 48px rgba(34, 211, 238, 0.18),
    0 28px 56px rgba(15, 23, 42, 0.34);
}

body.page-home .course-card--feature .course-card__media {
  background: transparent;
  border: 0;
  border-radius: 1rem;
  aspect-ratio: 16 / 10;
}

body.page-home .course-card--feature:hover .course-card__media img {
  transform: none;
}

body.page-home .course-card--feature .course-card__body {
  padding: 1.5rem 0 0;
}

body.page-home .course-card--feature .course-card__eyebrow {
  margin: 0 0 0.5rem;
  color: #5eead4 !important;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  -webkit-line-clamp: unset;
  display: block;
  overflow: visible;
}

body.page-home .course-card--feature .course-card__body h3 {
  color: #ffffff !important;
  font-size: 1.45rem;
  font-weight: 800;
}

body.page-home .course-card--feature .course-card__body p {
  color: #cbd5e1 !important;
  font-size: 0.98rem;
  line-height: 1.7;
  -webkit-line-clamp: 4;
}

body.page-home .course-card--feature .course-card__link {
  color: #fb923c !important;
  font-weight: 600;
}

body.page-home .course-card--feature:hover .course-card__link,
body.page-home .course-card--feature .course-card__link:hover {
  color: #fdba74 !important;
}

body.page-home .projects .catalog-banner {
  margin-top: 2rem;
  padding: 2.25rem 2rem;
  border-radius: 1.5rem;
  background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);
  border: 1px solid rgba(148, 163, 184, 0.25);
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.18);
}

body.page-home .projects .catalog-banner h5 {
  color: #f8fafc !important;
  font-family: var(--hk-font);
  font-weight: 700;
}

@media (min-width: 992px) {
  body.page-home .course-card--feature {
    grid-template-columns: 1.05fr 1fr;
    gap: 2rem;
    padding: 2rem;
  }

  body.page-home .course-card--feature .course-card__body {
    padding: 0.25rem 0.5rem 0.25rem 0;
  }
}

/* --------------------------------------------------------------------------
   Certificate — warm fade from catalog, trust + CTA
   -------------------------------------------------------------------------- */

body.page-home .projects {
  padding-bottom: clamp(2.5rem, 5vw, 3.5rem);
}

body.page-home .certificate-section {
  background: linear-gradient(180deg, #fff7ed 0%, #fff8f0 22%, #ffffff 72%) !important;
  box-shadow: 0 -4px 20px rgba(15, 23, 42, 0.05);
  padding-top: clamp(3.5rem, 7vw, 5rem);
  overflow: hidden;
  color: var(--hl-text-2);
}

body.page-home .certificate-bridge__kicker {
  margin: 0 0 0.45rem;
  color: #ea580c !important;
  font-family: var(--hk-font);
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

body.page-home .certificate-bridge__text {
  margin: 0 0 1.15rem;
  max-width: 34rem;
  color: #57534e !important;
  font-size: 1.08rem;
  line-height: 1.65;
}

body.page-home .certificate-section .section-heading {
  text-align: left;
  margin-bottom: 0.65rem;
}

body.page-home .certificate-section .section-heading::after {
  left: 0 !important;
  transform: none;
  background: linear-gradient(90deg, #ff6b35, #f7931e) !important;
}

body.page-home .certificate-section .certificate-lead {
  color: #c2410c !important;
  font-size: 1.12rem;
  margin-bottom: 1.15rem;
}

body.page-home .certificate-section .certificate-content p {
  margin-bottom: 0.7rem;
  color: #44403c !important;
  line-height: 1.7;
}

body.page-home .certificate-section .certificate-features {
  margin-top: 1.15rem;
}

body.page-home .certificate-section .certificate-features li {
  align-items: center;
  gap: 0.85rem;
  margin-bottom: 0.85rem;
  font-size: 1.02rem;
  color: #1c1917 !important;
}

body.page-home .certificate-section .certificate-features i {
  flex-shrink: 0;
  font-size: 1.45rem;
  color: #16a34a;
  filter: drop-shadow(0 2px 4px rgba(22, 163, 74, 0.25));
}

body.page-home .certificate-section .reveal-on-scroll.is-visible .certificate-features li {
  animation: certificate-check-in 0.45s ease both;
}

body.page-home .certificate-section .reveal-on-scroll.is-visible .certificate-features li:nth-child(1) { animation-delay: 0.08s; }
body.page-home .certificate-section .reveal-on-scroll.is-visible .certificate-features li:nth-child(2) { animation-delay: 0.16s; }
body.page-home .certificate-section .reveal-on-scroll.is-visible .certificate-features li:nth-child(3) { animation-delay: 0.24s; }
body.page-home .certificate-section .reveal-on-scroll.is-visible .certificate-features li:nth-child(4) { animation-delay: 0.32s; }

@keyframes certificate-check-in {
  from {
    opacity: 0;
    transform: translateX(-10px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

body.page-home .certificate-section .btn-cta-license--primary {
  gap: 0.45rem;
  background: linear-gradient(135deg, #ff6b35 0%, #f7931e 100%) !important;
  box-shadow: 0 12px 28px rgba(255, 107, 53, 0.35);
}

body.page-home .certificate-section .btn-cta-license--primary i {
  display: inline-block;
  transition: transform 220ms ease;
}

body.page-home .certificate-section .btn-cta-license--primary:hover,
body.page-home .certificate-section .btn-cta-license--primary:focus-visible {
  color: #fff !important;
  transform: translateY(-2px) scale(1.03);
  box-shadow: 0 16px 34px rgba(255, 107, 53, 0.45);
}

body.page-home .certificate-section .btn-cta-license--primary:hover i {
  transform: translateX(4px);
}

body.page-home .certificate-gallery {
  min-height: 440px;
}

body.page-home .certificate-gallery__item {
  width: 74%;
  border: 2px solid #e2b84c;
  box-shadow:
    0 18px 40px rgba(15, 23, 42, 0.14),
    0 0 0 1px rgba(255, 215, 0, 0.18);
  filter: drop-shadow(0 8px 20px rgba(0, 0, 0, 0.1));
}

body.page-home .certificate-gallery__item img {
  border-color: #f5e6b8;
}

@media (max-width: 991.98px) {
  body.page-home .certificate-gallery {
    min-height: 320px;
  }

  body.page-home .certificate-section .section-heading {
    text-align: left;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.page-home .reviews-section .review-card-item,
  body.page-home .reviews-section .review-card-item:hover,
  body.page-home .reviews-section .btn-reviews-all:hover,
  body.page-home .news-card,
  body.page-home .news-card:hover,
  body.page-home .news-card__link i,
  body.page-home .news-section__all:hover,
  body.page-home .course-card,
  body.page-home .course-card:hover,
  body.page-home .course-card__media img,
  body.page-home .course-card__link i,
  body.page-home .certificate-section .btn-cta-license--primary:hover,
  body.page-home .certificate-section .certificate-features li {
    transition: none;
    transform: none;
    animation: none;
  }
}

/* --------------------------------------------------------------------------
   Free grade exam promo (home)
   -------------------------------------------------------------------------- */

body.page-home .home-grade-exam {
  position: relative;
  padding: clamp(2.5rem, 5vw, 4rem) 0 clamp(3rem, 6vw, 4.5rem);
  background:
    radial-gradient(ellipse 70% 80% at 100% 0%, rgba(14, 165, 233, 0.12), transparent 55%),
    radial-gradient(ellipse 50% 60% at 0% 100%, rgba(249, 115, 22, 0.1), transparent 50%),
    linear-gradient(180deg, #f8fafc 0%, #ffffff 45%, #ffffff 100%);
  overflow: hidden;
}

body.page-home .home-grade-exam__shell {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
  gap: clamp(1.5rem, 4vw, 3rem);
  align-items: stretch;
  padding: clamp(1.5rem, 3.5vw, 2.35rem);
  border-radius: 1.5rem;
  background:
    linear-gradient(145deg, rgba(15, 23, 42, 0.97) 0%, #0f172a 48%, #111827 100%);
  color: #f8fafc;
  box-shadow:
    0 24px 60px rgba(15, 23, 42, 0.28),
    inset 0 1px 0 rgba(255, 255, 255, 0.08);
  position: relative;
  overflow: hidden;
}

body.page-home .home-grade-exam__shell::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(148, 163, 184, 0.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(148, 163, 184, 0.06) 1px, transparent 1px);
  background-size: 28px 28px;
  mask-image: linear-gradient(120deg, rgba(0, 0, 0, 0.55), transparent 70%);
  pointer-events: none;
}

body.page-home .home-grade-exam__copy,
body.page-home .home-grade-exam__preview {
  position: relative;
  z-index: 1;
}

body.page-home .home-grade-exam__brand {
  margin: 0 0 0.85rem;
  font-family: var(--hk-font);
  font-size: clamp(1.55rem, 3.2vw, 2rem);
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #fff;
  line-height: 1;
}

body.page-home .home-grade-exam__offer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.55rem 0.85rem;
  margin-bottom: 1rem;
}

body.page-home .home-grade-exam__offer-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.35rem 0.75rem;
  border-radius: 999px;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #0f172a;
  background: linear-gradient(135deg, #67e8f9 0%, #38bdf8 55%, #fb923c 100%);
}

body.page-home .home-grade-exam__offer-time {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.86rem;
  font-weight: 600;
  color: #fdba74;
  animation: home-grade-pulse 2.4s ease-in-out infinite;
}

body.page-home .home-grade-exam__title {
  margin: 0 0 0.85rem;
  font-family: var(--hk-font);
  font-size: clamp(1.55rem, 3.4vw, 2.35rem);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.18;
  color: #fff;
  max-width: 18ch;
}

body.page-home .home-grade-exam__title span {
  background: linear-gradient(135deg, #67e8f9, #fb923c);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

body.page-home .home-grade-exam__lead {
  margin: 0 0 1.15rem;
  max-width: 38rem;
  font-size: 1.02rem;
  line-height: 1.6;
  color: #cbd5e1;
}

body.page-home .home-grade-exam__pick-label {
  margin: 0 0 0.65rem;
  font-size: 0.88rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #fdba74;
}

body.page-home .home-grade-exam__track-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 0 0 1.35rem;
}

body.page-home .home-grade-exam__track {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  min-height: 2.55rem;
  padding: 0.45rem 0.85rem;
  border-radius: 0.75rem;
  border: 1px solid rgba(255, 255, 255, 0.18);
  background: rgba(255, 255, 255, 0.06);
  color: #f8fafc;
  font-size: 0.9rem;
  font-weight: 700;
  cursor: pointer;
  transition: transform 180ms ease, background 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

body.page-home .home-grade-exam__track i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.1rem;
  color: #fdba74;
  font-size: 1rem;
  line-height: 1;
}

body.page-home .home-grade-exam__track:hover,
body.page-home .home-grade-exam__track:focus-visible {
  transform: translateY(-2px);
  background: rgba(249, 115, 22, 0.18);
  border-color: rgba(253, 186, 116, 0.55);
  box-shadow: 0 10px 22px rgba(15, 23, 42, 0.35);
  outline: none;
}

body.page-home .home-grade-exam__points {
  list-style: none;
  margin: 0 0 1.5rem;
  padding: 0;
  display: grid;
  gap: 0.7rem;
}

body.page-home .home-grade-exam__points li {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.65rem;
  align-items: start;
  font-size: 0.95rem;
  line-height: 1.45;
  color: #e2e8f0;
}

body.page-home .home-grade-exam__points i {
  margin-top: 0.12rem;
  color: #38bdf8;
  font-size: 1.15rem;
}

body.page-home .home-grade-exam__actions {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.7rem;
}

body.page-home .home-grade-exam__cta {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  padding: 0.95rem 1.45rem;
  border: 0;
  border-radius: 999px;
  font-weight: 800;
  font-size: 1.05rem;
  text-decoration: none !important;
  color: #0f172a !important;
  background: linear-gradient(135deg, #fb923c 0%, #f97316 45%, #ea580c 100%);
  box-shadow: 0 14px 32px rgba(249, 115, 22, 0.42);
  cursor: pointer;
  transition: transform 220ms ease, box-shadow 220ms ease;
  animation: home-grade-cta-pulse 2.8s ease-in-out infinite;
}

body.page-home .home-grade-exam__cta:hover {
  transform: translateY(-2px) scale(1.01);
  box-shadow: 0 18px 40px rgba(249, 115, 22, 0.52);
  color: #0f172a !important;
  animation: none;
}

body.page-home .home-grade-exam__cta i {
  font-size: 1.2rem;
}

body.page-home .home-grade-exam__cta-note {
  margin: 0;
  font-size: 0.84rem;
  font-weight: 600;
  color: #94a3b8;
}

body.page-home .home-grade-exam__tracks {
  margin: 0;
  font-size: 0.82rem;
  color: #94a3b8;
  letter-spacing: 0.01em;
}

body.page-home .home-grade-exam__ladder {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  gap: 0.45rem;
  margin: 0;
  min-height: 11.5rem;
}

body.page-home .home-grade-exam__ladder-step {
  position: relative;
  display: flex;
  align-items: center;
  flex: 1 1 0;
  min-height: 2.55rem;
  padding: 0.55rem 0.9rem;
  border-radius: 0.7rem;
  font-size: 0.9rem;
  font-weight: 750;
  color: #94a3b8;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  overflow: hidden;
}

body.page-home .home-grade-exam__ladder-step em {
  position: relative;
  z-index: 1;
  font-style: normal;
  letter-spacing: 0.02em;
}

body.page-home .home-grade-exam__ladder-step i {
  position: absolute;
  inset: 0 auto 0 0;
  width: 0;
  border-radius: inherit;
  background: linear-gradient(90deg, #67e8f9 0%, #fb923c 100%);
  opacity: 0.95;
}

body.page-home .home-grade-exam__preview.is-played .home-grade-exam__ladder-step[data-step="1"] {
  animation: home-grade-step-tone-1 4.8s ease-out forwards;
}

body.page-home .home-grade-exam__preview.is-played .home-grade-exam__ladder-step[data-step="1"] i {
  animation: home-grade-step-fill-1 4.8s ease-out forwards;
}

body.page-home .home-grade-exam__preview.is-played .home-grade-exam__ladder-step[data-step="2"] {
  animation: home-grade-step-tone-2 4.8s ease-out forwards;
}

body.page-home .home-grade-exam__preview.is-played .home-grade-exam__ladder-step[data-step="2"] i {
  animation: home-grade-step-fill-2 4.8s ease-out forwards;
}

body.page-home .home-grade-exam__preview.is-played .home-grade-exam__ladder-step[data-step="3"] {
  animation: home-grade-step-tone-3 4.8s ease-out forwards;
}

body.page-home .home-grade-exam__preview.is-played .home-grade-exam__ladder-step[data-step="3"] i {
  animation: home-grade-step-fill-3 4.8s ease-out forwards;
}

body.page-home .home-grade-exam__preview-hint {
  margin: auto 0 0;
  padding-top: 0.25rem;
  font-size: 0.82rem;
  font-weight: 600;
  color: #94a3b8;
  text-align: center;
}

@keyframes home-grade-cta-pulse {
  0%, 100% { box-shadow: 0 14px 32px rgba(249, 115, 22, 0.38); }
  50% { box-shadow: 0 16px 38px rgba(249, 115, 22, 0.55); }
}

body.page-home .home-grade-exam__preview {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: 0.85rem;
  height: 100%;
  min-height: 100%;
  padding: 1.25rem 1.2rem 1.2rem;
  border-radius: 1.15rem;
  background: rgba(15, 23, 42, 0.55);
  border: 1px solid rgba(148, 163, 184, 0.22);
  backdrop-filter: blur(8px);
  overflow: hidden;
}

body.page-home .home-grade-exam__preview-glow {
  position: absolute;
  width: 180px;
  height: 180px;
  right: -40px;
  top: -50px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(56, 189, 248, 0.35), transparent 68%);
  pointer-events: none;
  animation: home-grade-glow 4.5s ease-in-out infinite;
}

body.page-home .home-grade-exam__preview-kicker {
  margin: 0;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #67e8f9;
}

body.page-home .home-grade-exam__preview-result {
  display: grid;
  gap: 0.45rem;
  padding: 0.85rem 0.9rem;
  border-radius: 0.85rem;
  background: rgba(0, 0, 0, 0.22);
  border: 1px solid rgba(255, 255, 255, 0.08);
}

body.page-home .home-grade-exam__preview-grade-label {
  margin: 0;
  font-size: 0.82rem;
  color: #94a3b8;
}

body.page-home .home-grade-exam__preview-grade {
  position: relative;
  display: grid;
  margin: 0;
  min-height: 1.15em;
  font-family: var(--hk-font);
  font-size: clamp(1.85rem, 3.6vw, 2.45rem);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.1;
}

body.page-home .home-grade-exam__preview-grade span {
  grid-area: 1 / 1;
  background: linear-gradient(135deg, #fff 10%, #67e8f9 55%, #fb923c 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  opacity: 0;
  transform: translateY(0.3rem);
}

body.page-home .home-grade-exam__preview.is-played .home-grade-exam__preview-grade span:nth-child(1) {
  animation: home-grade-name-1 4.8s ease-out forwards;
}

body.page-home .home-grade-exam__preview.is-played .home-grade-exam__preview-grade span:nth-child(2) {
  animation: home-grade-name-2 4.8s ease-out forwards;
}

body.page-home .home-grade-exam__preview.is-played .home-grade-exam__preview-grade span:nth-child(3) {
  animation: home-grade-name-3 4.8s ease-out forwards;
}

body.page-home .home-grade-exam__preview-bar {
  height: 0.55rem;
  border-radius: 999px;
  background: rgba(148, 163, 184, 0.25);
  overflow: hidden;
}

body.page-home .home-grade-exam__preview-bar-fill {
  display: block;
  height: 100%;
  width: 0;
  border-radius: inherit;
  background: linear-gradient(90deg, #38bdf8, #fb923c);
}

body.page-home .home-grade-exam__preview.is-played .home-grade-exam__preview-bar-fill {
  animation: home-grade-bar-grow 4.8s ease-out forwards;
}

body.page-home .home-grade-exam__preview-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.65rem;
}

body.page-home .home-grade-exam__preview-list li {
  display: grid;
  gap: 0.15rem;
  padding-top: 0.65rem;
  border-top: 1px solid rgba(148, 163, 184, 0.18);
}

body.page-home .home-grade-exam__preview-list li:first-child {
  padding-top: 0;
  border-top: 0;
}

body.page-home .home-grade-exam__preview-list strong {
  font-size: 0.92rem;
  color: #f8fafc;
}

body.page-home .home-grade-exam__preview-list span {
  font-size: 0.82rem;
  color: #94a3b8;
}

@keyframes home-grade-pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.62; }
}

@keyframes home-grade-glow {
  0%, 100% { transform: scale(1); opacity: 0.85; }
  50% { transform: scale(1.12); opacity: 1; }
}

@keyframes home-grade-step-fill-1 {
  0% { width: 0; }
  14%, 100% { width: 100%; }
}

@keyframes home-grade-step-fill-2 {
  0%, 28% { width: 0; }
  42%, 100% { width: 100%; }
}

@keyframes home-grade-step-fill-3 {
  0%, 55% { width: 0; }
  70%, 100% { width: 100%; }
}

@keyframes home-grade-step-tone-1 {
  0% {
    color: #94a3b8;
    border-color: rgba(255, 255, 255, 0.08);
    box-shadow: none;
  }
  14%, 100% {
    color: #0f172a;
    border-color: transparent;
    box-shadow: 0 8px 18px rgba(249, 115, 22, 0.18);
  }
}

@keyframes home-grade-step-tone-2 {
  0%, 28% {
    color: #94a3b8;
    border-color: rgba(255, 255, 255, 0.08);
    box-shadow: none;
  }
  42%, 100% {
    color: #0f172a;
    border-color: transparent;
    box-shadow: 0 8px 18px rgba(249, 115, 22, 0.18);
  }
}

@keyframes home-grade-step-tone-3 {
  0%, 55% {
    color: #94a3b8;
    border-color: rgba(255, 255, 255, 0.08);
    box-shadow: none;
  }
  70%, 100% {
    color: #0f172a;
    border-color: transparent;
    box-shadow: 0 8px 18px rgba(249, 115, 22, 0.18);
  }
}

@keyframes home-grade-name-1 {
  0%, 4% { opacity: 0; transform: translateY(0.3rem); }
  10%, 26% { opacity: 1; transform: translateY(0); }
  34%, 100% { opacity: 0; transform: translateY(-0.2rem); }
}

@keyframes home-grade-name-2 {
  0%, 32% { opacity: 0; transform: translateY(0.3rem); }
  38%, 54% { opacity: 1; transform: translateY(0); }
  62%, 100% { opacity: 0; transform: translateY(-0.2rem); }
}

@keyframes home-grade-name-3 {
  0%, 60% { opacity: 0; transform: translateY(0.3rem); }
  68%, 100% { opacity: 1; transform: translateY(0); }
}

@keyframes home-grade-bar-grow {
  0% { width: 0; }
  18% { width: 34%; }
  45% { width: 66%; }
  72%, 100% { width: 100%; }
}

@media (max-width: 991.98px) {
  body.page-home .home-grade-exam__shell {
    grid-template-columns: 1fr;
  }

  body.page-home .home-grade-exam__title {
    max-width: none;
  }

  body.page-home .home-grade-exam__preview {
    min-height: 0;
    height: auto;
  }

  body.page-home .home-grade-exam__ladder {
    min-height: 9.5rem;
  }
}

@media (max-width: 575.98px) {
  body.page-home .home-grade-exam__cta {
    width: 100%;
    justify-content: center;
  }

  body.page-home .home-grade-exam__offer-time {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.page-home .home-grade-exam__offer-time,
  body.page-home .home-grade-exam__preview-glow,
  body.page-home .home-grade-exam__preview-bar-fill,
  body.page-home .home-grade-exam__ladder-step,
  body.page-home .home-grade-exam__ladder-step i,
  body.page-home .home-grade-exam__preview-grade span,
  body.page-home .home-grade-exam__cta {
    animation: none !important;
    transition: none !important;
  }

  body.page-home .home-grade-exam__preview-bar-fill,
  body.page-home .home-grade-exam__preview.is-played .home-grade-exam__preview-bar-fill {
    width: 100%;
  }

  body.page-home .home-grade-exam__ladder-step i,
  body.page-home .home-grade-exam__preview.is-played .home-grade-exam__ladder-step i {
    width: 100%;
  }

  body.page-home .home-grade-exam__ladder-step {
    color: #0f172a;
    border-color: transparent;
  }

  body.page-home .home-grade-exam__preview-grade span {
    opacity: 0;
  }

  body.page-home .home-grade-exam__preview-grade span:nth-child(3) {
    opacity: 1;
    transform: none;
  }
}

/* --------------------------------------------------------------------------
   Home grade exam modal
   -------------------------------------------------------------------------- */

body.hge-modal-open {
  overflow: hidden;
}

body.page-home .home-grade-exam__cta {
  appearance: none;
  border: 0;
  cursor: pointer;
  font: inherit;
}

body.page-home .hge-modal {
  position: fixed;
  inset: 0;
  z-index: 1200;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
}

body.page-home .hge-modal[hidden] {
  display: none !important;
}

body.page-home .hge-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(11, 17, 32, 0.72);
  backdrop-filter: blur(6px);
}

body.page-home .hge-modal__dialog {
  position: relative;
  z-index: 1;
  width: min(100%, 560px);
  max-height: min(92vh, 720px);
  overflow: auto;
  padding: 1.5rem 1.35rem 1.35rem;
  border-radius: 1.35rem;
  background: linear-gradient(160deg, #0f172a 0%, #111827 55%, #0b1220 100%);
  color: #f8fafc;
  box-shadow: 0 28px 64px rgba(2, 6, 23, 0.55);
  border: 1px solid rgba(148, 163, 184, 0.22);
}

body.page-home .hge-modal__close {
  position: absolute;
  top: 0.7rem;
  right: 0.8rem;
  width: 2rem;
  height: 2rem;
  border: 0;
  border-radius: 999px;
  background: rgba(148, 163, 184, 0.16);
  color: #e2e8f0;
  font-size: 1.35rem;
  line-height: 1;
  cursor: pointer;
}

body.page-home .hge-modal__close:hover {
  background: rgba(148, 163, 184, 0.28);
}

body.page-home .hge-modal__brand {
  margin: 0 0 0.55rem;
  font-family: var(--hk-font);
  font-size: 0.95rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #fff;
}

body.page-home .hge-modal__title {
  margin: 0 0 0.55rem;
  font-family: var(--hk-font);
  font-size: clamp(1.35rem, 3vw, 1.7rem);
  font-weight: 800;
  letter-spacing: -0.02em;
  color: #fff;
  padding-right: 1.5rem;
}

body.page-home .hge-modal__lead {
  margin: 0 0 1.15rem;
  font-size: 0.95rem;
  line-height: 1.55;
  color: #cbd5e1;
}

body.page-home .hge-modal__lead strong {
  color: #fdba74;
}

body.page-home .hge-modal__tracks {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.65rem;
  margin-bottom: 1.2rem;
}

body.page-home .hge-track {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  padding: 0.75rem 0.85rem;
  border-radius: 0.9rem;
  border: 1px solid rgba(148, 163, 184, 0.22);
  background: rgba(15, 23, 42, 0.55);
  color: #e2e8f0;
  font-weight: 700;
  font-size: 0.95rem;
  cursor: pointer;
  text-align: left;
  transition: border-color 180ms ease, background 180ms ease, transform 180ms ease;
}

body.page-home .hge-track i {
  color: #38bdf8;
  font-size: 1.1rem;
}

body.page-home .hge-track:hover {
  border-color: rgba(56, 189, 248, 0.55);
  transform: translateY(-1px);
}

body.page-home .hge-track.is-selected {
  border-color: rgba(249, 115, 22, 0.8);
  background: linear-gradient(135deg, rgba(249, 115, 22, 0.18), rgba(56, 189, 248, 0.12));
  box-shadow: inset 0 0 0 1px rgba(249, 115, 22, 0.25);
}

body.page-home .hge-modal__footer {
  display: grid;
  gap: 0.7rem;
  padding-top: 0.25rem;
}

body.page-home .hge-modal__selected {
  margin: 0;
  font-size: 0.88rem;
  color: #94a3b8;
}

body.page-home .hge-modal__start {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  width: 100%;
  padding: 0.9rem 1.1rem;
  border: 0;
  border-radius: 999px;
  font-weight: 800;
  font-size: 1rem;
  color: #0f172a;
  background: linear-gradient(135deg, #fb923c 0%, #f97316 45%, #ea580c 100%);
  box-shadow: 0 12px 28px rgba(249, 115, 22, 0.35);
  cursor: pointer;
}

body.page-home .hge-modal__start:disabled {
  opacity: 0.45;
  cursor: not-allowed;
  box-shadow: none;
}

body.page-home .hge-modal__start.is-loading {
  opacity: 0.75;
}

@media (min-width: 520px) {
  body.page-home .hge-modal__tracks {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  body.page-home .hge-track[data-hge-track="rust"] {
    grid-column: span 1;
  }
}


/* ===== Home redesign 2026: expert IT center ===== */
body.page-home .home-hero__brand {
  margin: 0 0 0.35rem;
  font-size: clamp(1.35rem, 3.2vw, 2rem);
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #fff;
}

body.page-home .home-hero__chain {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.45rem 0.65rem;
  margin: 0 0 1rem;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.72);
}

body.page-home .home-hero__title {
  max-width: 18ch;
  margin-left: auto;
  margin-right: auto;
}

body.page-home .home-hero__title-it {
  color: #e8c9a0 !important;
  -webkit-text-fill-color: #e8c9a0;
  font-weight: inherit;
  letter-spacing: 0.02em;
}

body.page-home .home-hero__trust-stack {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.45rem;
  margin: 0.85rem auto 0;
  max-width: min(100%, 48rem);
}

body.page-home .home-hero__trust {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.4rem 0.55rem;
  margin: 0;
  font-size: 0.9rem;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.01em;
}

body.page-home .home-hero__trust--services {
  color: #fff;
}

body.page-home .home-hero__trust--legal {
  color: rgba(255, 255, 255, 0.65);
  font-weight: 550;
}

body.page-home .home-hero__trust-link,
body.page-home .home-hero__trust-item {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  color: inherit !important;
  text-decoration: none !important;
  border-bottom: 1px solid transparent;
  transition: color 0.2s ease, border-color 0.2s ease, opacity 0.2s ease;
}

body.page-home .home-hero__trust-link i,
body.page-home .home-hero__trust-item i {
  color: #e8c9a0;
  font-size: 1.05rem;
  line-height: 1;
  opacity: 1;
}

body.page-home .home-hero__trust--legal .home-hero__trust-link i {
  color: #e8c9a0;
  font-size: 1.05rem;
  opacity: 0.75;
}

body.page-home .home-hero__trust--services .home-hero__trust-sep {
  color: rgba(232, 201, 160, 0.55);
  opacity: 1;
  font-weight: 700;
}

body.page-home .home-hero__trust--legal .home-hero__trust-sep {
  color: rgba(255, 255, 255, 0.35);
  opacity: 1;
}

body.page-home .home-hero__trust-link:hover,
body.page-home .home-hero__trust-link:focus-visible {
  color: #fff !important;
  border-bottom-color: rgba(232, 201, 160, 0.45);
}

body.page-home .home-hero__trust--legal .home-hero__trust-link:hover,
body.page-home .home-hero__trust--legal .home-hero__trust-link:focus-visible {
  color: rgba(255, 255, 255, 0.9) !important;
}

body.page-home .home-hero__trust-link:hover i,
body.page-home .home-hero__trust-link:focus-visible i {
  color: #f0d4b0;
  opacity: 1;
}

body.page-home .home-hero__trust-sep {
  opacity: 0.4;
}

body.page-home .home-hero__lead {
  max-width: 38rem;
  margin: 0.85rem auto 0;
  font-size: clamp(1.02rem, 2vw, 1.2rem);
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.92);
}

body.page-home .home-hero__pillars {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.35rem 0.55rem;
  max-width: min(100%, 40rem);
  margin: 0.95rem auto 0;
  font-size: clamp(0.82rem, 1.6vw, 0.92rem);
  font-weight: 550;
  line-height: 1.4;
  color: rgba(226, 232, 240, 0.72);
}

body.page-home .home-hero__pillar {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  white-space: nowrap;
}

body.page-home .home-hero__pillar i {
  font-size: 0.95em;
  color: rgba(253, 186, 116, 0.85);
}

body.page-home .home-hero__pillar-sep {
  color: rgba(255, 255, 255, 0.35);
  font-weight: 600;
}

body.page-home .home-hero__social-proof {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.55rem;
  max-width: 100%;
  margin: 1.35rem auto 0;
  padding: 0.15rem 0 0;
  text-align: center;
}

body.page-home .home-hero__social-proof-num {
  position: relative;
  display: inline-block;
  padding-bottom: 0.55rem;
  font-size: clamp(2.6rem, 7vw, 3.75rem);
  font-weight: 850;
  letter-spacing: -0.03em;
  line-height: 0.95;
  color: #fff;
  background: linear-gradient(180deg, #fff 18%, #fdba74 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

body.page-home .home-hero__social-proof-num::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 2.75rem;
  height: 2px;
  transform: translateX(-50%);
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, #f97316, transparent);
}

body.page-home .home-hero__social-proof-text {
  max-width: none;
  white-space: nowrap;
  color: rgba(255, 255, 255, 0.92);
  font-size: clamp(0.95rem, 2vw, 1.15rem);
  font-weight: 600;
  letter-spacing: 0.01em;
  line-height: 1.35;
}

body.page-home .home-hero__social-proof-it {
  color: #e8c9a0;
  font-weight: 750;
  letter-spacing: 0.03em;
}

body.page-home .home-hero__dirs {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 0.45rem 0.55rem;
  max-width: min(100%, 44rem);
  margin: 1.25rem auto 0;
  font-size: clamp(0.95rem, 1.8vw, 1.08rem);
  font-weight: 700;
  line-height: 1.35;
  color: #fff;
}

body.page-home .home-hero__dirs > span:not(.home-hero__dirs-more) {
  display: inline-flex;
  align-items: center;
  padding: 0.32rem 0.72rem;
  border-radius: 0.55rem;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.22);
  color: #fff;
  letter-spacing: 0.01em;
}

body.page-home .home-hero__dirs-more {
  width: 100%;
  margin-top: 0.15rem;
  color: rgba(253, 186, 116, 0.95);
  font-size: 0.92rem;
  font-weight: 650;
}

body.page-home .home-hero__quiz-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  margin: 0.15rem auto 0;
  padding: 0.7rem 1.25rem;
  border: 1px solid rgba(253, 186, 116, 0.55) !important;
  border-radius: 999px;
  background: rgba(249, 115, 22, 0.16);
  color: #ffedd5 !important;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.01em;
  text-decoration: none !important;
  box-shadow: 0 0 0 1px rgba(249, 115, 22, 0.12), 0 8px 22px rgba(249, 115, 22, 0.18);
  cursor: pointer;
  transition: color 0.2s ease, background 0.2s ease, border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

body.page-home .home-hero__quiz-link:hover,
body.page-home .home-hero__quiz-link:focus-visible {
  color: #fff !important;
  background: rgba(249, 115, 22, 0.28);
  border-color: rgba(253, 186, 116, 0.85) !important;
  box-shadow: 0 0 0 1px rgba(249, 115, 22, 0.2), 0 12px 28px rgba(249, 115, 22, 0.28);
  transform: translateY(-1px);
}

@media (max-width: 420px) {
  body.page-home .home-hero__social-proof-text {
    white-space: normal;
    max-width: 16rem;
  }
}

body.page-home .home-hero__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.75rem;
  margin: 1.35rem 0 0.85rem;
}

body.page-home .home-hero__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 3rem;
  padding: 0.75rem 1.35rem;
  border-radius: 0.75rem;
  font-weight: 750;
  text-decoration: none !important;
  border: 0;
  cursor: pointer;
  transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

body.page-home .home-hero__btn--primary {
  background: linear-gradient(135deg, #f97316 0%, #ea580c 100%);
  color: #fff !important;
  box-shadow: 0 10px 24px rgba(249, 115, 22, 0.35);
}

body.page-home .home-hero__btn--ghost {
  background: rgba(255, 255, 255, 0.08);
  color: #fff !important;
  border: 1px solid rgba(255, 255, 255, 0.45) !important;
  backdrop-filter: blur(6px);
}

body.page-home .home-hero__btn--ghost:hover,
body.page-home .home-hero__btn--ghost:focus-visible {
  background: rgba(255, 255, 255, 0.12);
  border-color: rgba(255, 255, 255, 0.6) !important;
}

body.page-home .home-hero__btn:hover,
body.page-home .home-hero__btn:focus-visible {
  transform: translateY(-1px);
}

body.page-home .home-hero__viz {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.5rem;
  margin-top: 1.25rem;
}

body.page-home .home-hero__viz span {
  padding: 0.28rem 0.7rem;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  font-size: 0.72rem;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  letter-spacing: 0.04em;
  color: rgba(255, 255, 255, 0.7);
}

body.page-home .home-section-eyebrow,
body.page-home .home-founder__eyebrow {
  margin: 0 0 0.5rem;
  font-size: 0.78rem;
  font-weight: 750;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #ea580c;
}

body.page-home .home-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  min-height: 2.85rem;
  padding: 0.65rem 1.2rem;
  border-radius: 0.75rem;
  font-weight: 700;
  text-decoration: none !important;
  border: 0;
  cursor: pointer;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

body.page-home .home-btn--primary {
  background: linear-gradient(135deg, #f97316 0%, #ea580c 100%);
  color: #fff !important;
  box-shadow: 0 8px 20px rgba(249, 115, 22, 0.28);
}

body.page-home .home-btn--ghost {
  background: #fff;
  color: #0f2744 !important;
  border: 1px solid rgba(15, 39, 68, 0.18);
}

body.page-home .home-btn:hover,
body.page-home .home-btn:focus-visible {
  transform: translateY(-1px);
}

body.page-home .home-founder__layout {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.2fr);
  gap: 2rem 2.5rem;
  align-items: center;
}

body.page-home .home-founder__photo-frame {
  border-radius: 1.25rem;
  overflow: hidden;
  background: #0f2744;
}

body.page-home .home-founder__photo {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
}

body.page-home .home-founder__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.55rem;
  margin: 0.85rem 0 0;
  font-size: 0.9rem;
  color: #5b6b7c;
}

body.page-home .home-founder__name {
  margin: 0.35rem 0 0.15rem;
  font-size: clamp(1.45rem, 2.4vw, 1.85rem);
  font-weight: 800;
  color: #0f2744;
}

body.page-home .home-founder__role {
  margin: 0 0 1rem;
  font-weight: 700;
  color: #ea580c;
}

body.page-home .home-founder__text {
  margin: 0 0 1rem;
  color: #334155;
  line-height: 1.65;
}

body.page-home .home-founder__stack {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin-bottom: 1rem;
}

body.page-home .home-founder__stack span {
  padding: 0.3rem 0.65rem;
  border-radius: 999px;
  background: #f1f5f9;
  color: #0f2744;
  font-size: 0.82rem;
  font-weight: 650;
}

body.page-home .home-founder__proofs {
  display: grid;
  gap: 0.65rem;
  margin-bottom: 1.15rem;
}

body.page-home .home-founder__proof {
  display: block;
  padding: 0.85rem 1rem;
  border-radius: 0.85rem;
  background: #f8fafc;
  border: 1px solid rgba(15, 39, 68, 0.08);
  text-decoration: none !important;
  color: inherit;
}

body.page-home .home-founder__proof strong {
  display: block;
  color: #0f2744;
}

body.page-home .home-founder__proof span {
  color: #64748b;
  font-size: 0.9rem;
}

body.page-home .home-founder__cta {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  font-weight: 700;
  color: #0f2744;
  text-decoration: none !important;
}

body.page-home .home-saos:not(.home-saos--story),
body.page-home .home-final-cta__shell,
body.page-home .home-about {
  display: grid;
  gap: 1.5rem;
  padding: 1.75rem;
  border-radius: 1.25rem;
  background: #fff;
  border: 1px solid rgba(15, 39, 68, 0.08);
  box-shadow: 0 12px 32px rgba(15, 39, 68, 0.05);
}

body.page-home .home-quiz-cta__shell {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem 2rem;
  padding: clamp(1.4rem, 3vw, 1.85rem) clamp(1.35rem, 3vw, 2rem);
  border-radius: 1.25rem;
  background: #fff;
  border: 1px solid rgba(15, 39, 68, 0.08);
  box-shadow: 0 12px 32px rgba(15, 39, 68, 0.05);
}

body.page-home .home-quiz-cta__copy {
  flex: 1 1 18rem;
  max-width: 40rem;
}

body.page-home .home-quiz-cta__copy .section-heading {
  margin: 0 0 0.55rem;
}

body.page-home .home-quiz-cta__btn {
  flex-shrink: 0;
  white-space: nowrap;
}

@media (max-width: 767.98px) {
  body.page-home .home-quiz-cta__btn {
    width: 100%;
    justify-content: center;
  }
}

body.page-home .home-band--white {
  background: #ffffff !important;
}

body.page-home .home-band--soft {
  background: #f8fafc !important;
}

body.page-home .home-band--ink {
  background:
    radial-gradient(ellipse 60% 50% at 100% 0%, rgba(249, 115, 22, 0.18), transparent 55%),
    radial-gradient(ellipse 45% 40% at 0% 100%, rgba(56, 189, 248, 0.12), transparent 50%),
    #0b1628 !important;
  color: #e2e8f0;
}

body.page-home .home-band__head {
  margin-bottom: clamp(1.5rem, 3vw, 2.25rem);
}

/* --------------------------------------------------------------------------
   Expertise chain: DIGITAL → Products → Pipeline (one dark narrative)
   -------------------------------------------------------------------------- */

body.page-home .home-expertise-chain {
  position: relative;
  overflow-x: clip;
  overflow-y: visible;
  background:
    radial-gradient(ellipse 55% 35% at 85% 8%, rgba(249, 115, 22, 0.14), transparent 55%),
    radial-gradient(ellipse 45% 40% at 10% 55%, rgba(34, 211, 238, 0.08), transparent 50%),
    linear-gradient(180deg, #0b1120 0%, #0f172a 48%, #0b1628 100%);
  color: #e2e8f0;
  isolation: isolate;
}

body.page-home .home-expertise-chain__spine {
  position: absolute;
  top: 8%;
  bottom: 8%;
  left: 50%;
  width: 1px;
  transform: translateX(-50%);
  background: linear-gradient(
    180deg,
    transparent 0%,
    rgba(249, 115, 22, 0.55) 18%,
    rgba(103, 232, 249, 0.35) 50%,
    rgba(249, 115, 22, 0.55) 82%,
    transparent 100%
  );
  opacity: 0.55;
  pointer-events: none;
  z-index: 0;
}

body.page-home .home-expertise-chain > .home-digital,
body.page-home .home-expertise-chain > .home-products,
body.page-home .home-expertise-chain > .home-pipeline {
  position: relative;
  z-index: 1;
  background: transparent !important;
}

body.page-home .home-expertise-chain .container {
  position: relative;
}

body.page-home .home-digital__layout {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.95fr);
  gap: clamp(1.75rem, 4vw, 3.25rem);
  align-items: center;
}

body.page-home .home-digital__brand {
  margin: 0 0 0.65rem;
  font-size: clamp(1.75rem, 4vw, 2.65rem);
  font-weight: 850;
  letter-spacing: 0.04em;
  line-height: 1.05;
  text-transform: uppercase;
  color: #fdba74;
}

body.page-home .home-digital__title {
  margin: 0 0 1rem;
  max-width: 18ch;
  font-family: var(--hk-font);
  font-size: clamp(1.55rem, 3vw, 2.15rem);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.2;
  color: #fff !important;
}

body.page-home .home-digital__lead {
  margin: 0 0 1.1rem;
  max-width: 44ch;
  font-size: 1.08rem;
  line-height: 1.6;
  color: rgba(226, 232, 240, 0.92);
}

body.page-home .home-digital__proof {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  margin: 0 0 1.25rem;
  padding: 0;
}

body.page-home .home-digital__proof li {
  display: grid;
  gap: 0.1rem;
  min-width: 10.5rem;
  padding: 0.65rem 0.85rem;
  border-radius: 0.75rem;
  background: rgba(103, 232, 249, 0.06);
  border: 1px solid rgba(103, 232, 249, 0.22);
}

body.page-home .home-digital__proof strong {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 1.05rem;
  font-weight: 800;
  letter-spacing: 0.02em;
  color: #67e8f9;
}

body.page-home .home-digital__proof span {
  font-size: 0.8rem;
  line-height: 1.35;
  color: #94a3b8;
}

body.page-home .home-digital__brands {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 0.65rem;
  margin-bottom: 1rem;
}

body.page-home .home-digital__brand-pill {
  display: grid;
  gap: 0.15rem;
  padding: 0.7rem 0.95rem;
  border-radius: 0.85rem;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.1);
  min-width: 10.5rem;
}

body.page-home .home-digital__brand-pill--accent {
  background: rgba(249, 115, 22, 0.12);
  border-color: rgba(249, 115, 22, 0.35);
}

body.page-home .home-digital__brand-pill-k {
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  color: #fff;
}

body.page-home .home-digital__brand-pill-v {
  font-size: 0.88rem;
  color: #94a3b8;
}

body.page-home .home-digital__brand-pill--accent .home-digital__brand-pill-v {
  color: #fdba74;
}

body.page-home .home-digital__brands-bridge {
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 0.35rem;
  flex: 1 1 8rem;
  min-width: 7.5rem;
  max-width: 14rem;
}

body.page-home .home-digital__brands-sep {
  width: 100%;
  max-width: 6rem;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, rgba(249, 115, 22, 0.85), transparent);
  position: relative;
}

body.page-home .home-digital__brands-sep::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  width: 0.4rem;
  height: 0.4rem;
  border-top: 2px solid rgba(249, 115, 22, 0.9);
  border-right: 2px solid rgba(249, 115, 22, 0.9);
  transform: translateY(-50%) rotate(45deg);
}

body.page-home .home-digital__brands-caption {
  margin: 0;
  text-align: center;
  font-size: 0.72rem;
  line-height: 1.35;
  font-weight: 650;
  color: #fdba74;
}

body.page-home .home-digital__note {
  margin: 0 0 1.25rem;
  max-width: 44ch;
  font-size: 0.95rem;
  line-height: 1.55;
  color: #94a3b8;
}

body.page-home .home-digital__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.85rem 1.15rem;
}

body.page-home .home-digital__link {
  font-size: 0.92rem;
  font-weight: 700;
  color: #fdba74;
  text-decoration: none;
  border-bottom: 1px solid rgba(253, 186, 116, 0.35);
  transition: color 0.2s ease, border-color 0.2s ease;
}

body.page-home .home-digital__link:hover {
  color: #fff;
  border-bottom-color: rgba(255, 255, 255, 0.45);
}

body.page-home .home-digital__viz {
  display: grid;
  gap: 1rem;
}

body.page-home .home-digital__arch {
  position: relative;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.65rem;
  padding: 1.15rem;
  border-radius: 1.25rem;
  background: rgba(15, 23, 42, 0.55);
  border: 1px solid rgba(148, 163, 184, 0.16);
  overflow: visible;
}

body.page-home .home-digital__arch-flow {
  position: absolute;
  inset: 10% 8%;
  width: auto;
  height: auto;
  pointer-events: none;
  z-index: 0;
  overflow: visible;
}

body.page-home .home-digital__arch-path {
  fill: none;
  stroke: rgba(103, 232, 249, 0.22);
  stroke-width: 1.5;
  stroke-dasharray: 6 8;
}

body.page-home .home-digital__arch-path--pulse {
  stroke: rgba(103, 232, 249, 0.85);
  stroke-width: 2;
  stroke-dasharray: 14 120;
  stroke-linecap: round;
  animation: home-digital-flow 2.8s linear infinite;
}

@keyframes home-digital-flow {
  to {
    stroke-dashoffset: -134;
  }
}

body.page-home .home-digital__arch-node {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 0.2rem;
  width: 100%;
  margin: 0;
  padding: 0.85rem 0.9rem;
  border-radius: 0.85rem;
  text-align: left;
  cursor: help;
  color: inherit;
  background: rgba(15, 23, 42, 0.72);
  border: 1px solid rgba(148, 163, 184, 0.28);
  box-shadow: 0 0 0 1px rgba(103, 232, 249, 0.04);
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease, transform 0.2s ease;
}

body.page-home .home-digital__arch-node:hover,
body.page-home .home-digital__arch-node:focus-visible {
  outline: none;
  border-color: rgba(103, 232, 249, 0.55);
  background: rgba(15, 23, 42, 0.92);
  box-shadow: 0 0 0 1px rgba(103, 232, 249, 0.18), 0 0 22px rgba(103, 232, 249, 0.16);
  transform: translateY(-1px);
}

body.page-home .home-digital__arch-node span:not(.home-digital__tip) {
  font-size: 0.92rem;
  font-weight: 750;
  color: #fff;
}

body.page-home .home-digital__arch-node em {
  font-style: normal;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.72rem;
  letter-spacing: 0.04em;
  color: #67e8f9;
}

body.page-home .home-digital__arch-node--ai {
  grid-column: 1 / -1;
  border-color: rgba(249, 115, 22, 0.4);
  background: rgba(249, 115, 22, 0.12);
  box-shadow: 0 0 0 1px rgba(249, 115, 22, 0.08), 0 0 18px rgba(249, 115, 22, 0.12);
}

body.page-home .home-digital__arch-node--ai em {
  color: #fdba74;
}

body.page-home .home-digital__arch-node--ai:hover,
body.page-home .home-digital__arch-node--ai:focus-visible {
  border-color: rgba(249, 115, 22, 0.7);
  box-shadow: 0 0 0 1px rgba(249, 115, 22, 0.22), 0 0 24px rgba(249, 115, 22, 0.22);
}

body.page-home .home-digital__tip {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 0.45rem);
  z-index: 6;
  padding: 0.55rem 0.7rem;
  border-radius: 0.65rem;
  background: #0b1220;
  border: 1px solid rgba(103, 232, 249, 0.35);
  box-shadow: 0 12px 28px rgba(2, 6, 23, 0.45);
  color: #e2e8f0;
  font-family: var(--hk-font), system-ui, sans-serif;
  font-size: 0.75rem;
  font-weight: 550;
  letter-spacing: 0;
  line-height: 1.4;
  text-align: left;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(0.2rem);
  transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s ease;
}

body.page-home .home-digital__arch-node:hover .home-digital__tip,
body.page-home .home-digital__arch-node:focus-visible .home-digital__tip {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

body.page-home .home-digital__arch-node--db .home-digital__tip,
body.page-home .home-digital__arch-node--queue .home-digital__tip,
body.page-home .home-digital__arch-node--ai .home-digital__tip {
  top: auto;
  bottom: calc(100% + 0.45rem);
}

body.page-home .home-digital__stack {
  display: grid;
  gap: 0.7rem;
}

body.page-home .home-digital__stack-group ul {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin: 0;
  padding: 0;
}

body.page-home .home-digital__stack-label {
  margin: 0 0 0.35rem;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #94a3b8;
}

body.page-home .home-digital__stack-group li {
  padding: 0.35rem 0.65rem;
  border-radius: 0.55rem;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  color: #e2e8f0;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.74rem;
  font-weight: 700;
}

body.page-home .home-digital__stack-group li.is-key {
  background: rgba(249, 115, 22, 0.16);
  border-color: rgba(249, 115, 22, 0.45);
  color: #fdba74;
  font-size: 0.8rem;
  box-shadow: 0 0 14px rgba(249, 115, 22, 0.12);
}

@media (prefers-reduced-motion: reduce) {
  body.page-home .home-digital__arch-path--pulse {
    animation: none;
    stroke-dasharray: 6 8;
    stroke: rgba(103, 232, 249, 0.45);
  }

  body.page-home .home-digital__arch-node {
    transition: none;
  }
}

body.page-home .home-products__intro {
  max-width: 46rem;
  margin-bottom: clamp(1.5rem, 3vw, 2.25rem);
}

body.page-home .home-products__eyebrow {
  margin: 0 0 0.55rem;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #fdba74;
}

body.page-home .home-products__title {
  margin: 0;
  font-family: var(--hk-font);
  font-size: clamp(1.45rem, 2.8vw, 2rem);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.25;
  color: #fff !important;
}

body.page-home .home-saos--story {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
  gap: 0;
  overflow: hidden;
  border-radius: 1.4rem;
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(15, 23, 42, 0.45);
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.28);
}

body.page-home .home-saos--story .home-saos__body {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.75rem;
  padding: clamp(1.4rem, 3vw, 2.1rem);
}

body.page-home .home-saos__kicker {
  margin: 0;
  font-size: clamp(2.4rem, 5vw, 3.4rem);
  font-weight: 850;
  letter-spacing: -0.04em;
  line-height: 0.95;
  color: #fdba74;
}

body.page-home .home-saos__headline {
  margin: 0;
  font-size: clamp(1.2rem, 2.2vw, 1.45rem);
  font-weight: 800;
  color: #fff;
}

body.page-home .home-saos__fullname {
  margin: 0;
  font-size: 0.95rem;
  font-weight: 650;
  color: #94a3b8;
}

body.page-home .home-saos--story .home-saos__text {
  margin: 0.15rem 0 0.35rem;
  max-width: 58ch;
  color: rgba(226, 232, 240, 0.9);
  line-height: 1.6;
}

body.page-home .home-saos__proof {
  list-style: none;
  margin: 0 0 0.85rem;
  padding: 0;
  display: grid;
  gap: 0.65rem;
  width: 100%;
}

body.page-home .home-saos__proof li {
  display: grid;
  gap: 0.15rem;
  padding: 0.75rem 0.85rem;
  border-radius: 0.85rem;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
}

body.page-home .home-saos__proof strong {
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #67e8f9;
}

body.page-home .home-saos__proof span {
  color: #e2e8f0;
  font-size: 0.94rem;
  line-height: 1.4;
}

body.page-home .home-saos__stage {
  position: relative;
  display: grid;
  align-content: center;
  gap: 1rem;
  min-height: 34rem;
  padding: clamp(1.4rem, 3vw, 2rem);
  background:
    radial-gradient(ellipse 70% 55% at 70% 20%, rgba(249, 115, 22, 0.28), transparent 55%),
    linear-gradient(165deg, rgba(15, 39, 68, 0.95) 0%, rgba(11, 17, 32, 0.98) 100%);
  overflow: hidden;
}

body.page-home .home-saos__stage-glow {
  position: absolute;
  width: 12rem;
  height: 12rem;
  right: -2rem;
  top: -2rem;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(56, 189, 248, 0.28), transparent 68%);
  pointer-events: none;
}

body.page-home .home-saos__stage-mark {
  position: relative;
  margin: 0 0 auto;
  font-size: clamp(3.5rem, 8vw, 5.5rem);
  font-weight: 850;
  letter-spacing: -0.05em;
  line-height: 0.9;
  color: rgba(255, 255, 255, 0.08);
}

body.page-home .home-saos__stage-year {
  position: relative;
  margin: 0;
  font-size: clamp(2.4rem, 5vw, 3.4rem);
  font-weight: 850;
  letter-spacing: -0.04em;
  color: #fdba74;
}

body.page-home .home-saos__stage-label {
  position: relative;
  margin: 0;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.65);
}

body.page-home .home-saos__stage-tags {
  position: relative;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin: 0.55rem 0 0;
  padding: 0;
}

body.page-home .home-saos__stage-tags li {
  padding: 0.35rem 0.65rem;
  border-radius: 0.55rem;
  border: 1px solid rgba(255, 255, 255, 0.16);
  background: rgba(0, 0, 0, 0.22);
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.78rem;
  color: #e2e8f0;
}

body.page-home .home-saos__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.8rem 1rem;
}

body.page-home .home-saos__how-link {
  color: #bae6fd !important;
  font-size: 0.88rem;
  font-weight: 750;
  text-decoration: none;
}

body.page-home .home-saos__how-link:hover { color: #fff !important; }

body.page-home .home-saos__window {
  position: relative;
  z-index: 1;
  overflow: hidden;
  border: 1px solid rgba(148, 163, 184, 0.25);
  border-radius: 1rem;
  background: rgba(7, 17, 31, 0.82);
  box-shadow: 0 1.5rem 3.5rem rgba(0, 0, 0, 0.38);
  backdrop-filter: blur(12px);
}

body.page-home .home-saos__window-bar {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  min-height: 2.5rem;
  padding: 0.6rem 0.75rem;
  border-bottom: 1px solid rgba(148, 163, 184, 0.18);
  background: rgba(15, 23, 42, 0.88);
}

body.page-home .home-saos__window-bar > span { width: 0.48rem; height: 0.48rem; border-radius: 50%; background: #475569; }
body.page-home .home-saos__window-bar > span:first-child { background: #f97316; }
body.page-home .home-saos__window-bar p { flex: 1; margin: 0 0 0 0.35rem; color: #94a3b8; font: 500 0.62rem/1 ui-monospace, SFMono-Regular, Menlo, monospace; }
body.page-home .home-saos__window-bar em { padding: 0.25rem 0.45rem; border-radius: 999px; background: rgba(34, 197, 94, 0.1); color: #86efac; font-size: 0.52rem; font-style: normal; font-weight: 850; letter-spacing: 0.08em; }

body.page-home .home-saos__screen {
  position: relative;
  min-height: 14rem;
  margin: 0;
  padding: 1rem 1rem 0;
  background:
    linear-gradient(rgba(56, 189, 248, 0.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(56, 189, 248, 0.045) 1px, transparent 1px),
    radial-gradient(circle at 50% 50%, rgba(14, 165, 233, 0.12), transparent 65%);
  background-size: 1.6rem 1.6rem, 1.6rem 1.6rem, auto;
}

body.page-home .home-saos__screen img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 16rem;
  object-fit: contain;
  filter: drop-shadow(0 1rem 1.2rem rgba(0, 0, 0, 0.28));
  transition: transform 0.4s ease, filter 0.4s ease;
}

body.page-home .home-saos__window:hover .home-saos__screen img { transform: translateY(-0.2rem) scale(1.025); filter: drop-shadow(0 1.2rem 1.5rem rgba(0, 0, 0, 0.38)); }
body.page-home .home-saos__screen figcaption { position: absolute; right: 0.8rem; bottom: 0.65rem; display: inline-flex; align-items: center; gap: 0.35rem; padding: 0.35rem 0.55rem; border: 1px solid rgba(255,255,255,0.16); border-radius: 999px; background: rgba(7,17,31,0.82); color: #cbd5e1; font-size: 0.6rem; backdrop-filter: blur(8px); }
body.page-home .home-saos__screen figcaption i { color: #4ade80; }

body.page-home .home-saos__flow {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  margin: 0;
  padding: 0.75rem;
  border-top: 1px solid rgba(148, 163, 184, 0.18);
  list-style: none;
}

body.page-home .home-saos__flow li { position: relative; display: grid; gap: 0.08rem; padding: 0.35rem 0.7rem; border-right: 1px solid rgba(148, 163, 184, 0.16); }
body.page-home .home-saos__flow li:last-child { border-right: 0; }
body.page-home .home-saos__flow span { color: #38bdf8; font-size: 0.55rem; font-weight: 850; letter-spacing: 0.08em; }
body.page-home .home-saos__flow strong { color: #fff; font-size: 0.78rem; }
body.page-home .home-saos__flow small { color: #64748b; font-size: 0.62rem; }

body.page-home .home-saos__award {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 2.8rem 1fr;
  align-items: center;
  gap: 0.75rem;
  padding: 0.85rem 1rem;
  border: 1px solid rgba(253, 186, 116, 0.22);
  border-radius: 0.9rem;
  background: rgba(249, 115, 22, 0.08);
}

body.page-home .home-saos__award-mark { display: grid; place-items: center; width: 2.7rem; height: 2.7rem; border-radius: 0.75rem; background: rgba(249, 115, 22, 0.14); color: #fdba74; font-size: 1.2rem; }
body.page-home .home-saos__award p { margin: 0; color: #94a3b8; font-size: 0.72rem; line-height: 1.45; }
body.page-home .home-saos__award strong { display: block; margin-bottom: 0.08rem; color: #fff; font-size: 0.82rem; }

@media (max-width: 575.98px) {
  body.page-home .home-saos__stage { min-height: 0; padding: 1rem; }
  body.page-home .home-saos__window-bar p { display: none; }
  body.page-home .home-saos__screen { min-height: 10rem; padding: 0.75rem 0.5rem 0; }
  body.page-home .home-saos__screen img { max-height: 12rem; }
  body.page-home .home-saos__screen figcaption { display: none; }
  body.page-home .home-saos__flow { padding: 0.6rem 0.3rem; }
  body.page-home .home-saos__flow li { padding: 0.3rem 0.35rem; }
  body.page-home .home-saos__flow small { display: none; }
  body.page-home .home-saos__award { grid-template-columns: 2.5rem 1fr; }
}

body.page-home .home-pipeline__intro {
  max-width: 52rem;
  margin: 0 auto 2rem;
  text-align: center;
}

body.page-home .home-pipeline__title {
  margin: 0 0 0.85rem;
  font-family: var(--hk-font);
  font-size: clamp(1.65rem, 3.8vw, 2.55rem);
  font-weight: 850;
  letter-spacing: -0.03em;
  line-height: 1.2;
  color: #fff !important;
}

body.page-home .home-pipeline__title span {
  color: #fdba74;
  font-weight: 700;
}

body.page-home .home-pipeline__lead {
  margin: 0 auto;
  max-width: 42ch;
  font-size: 1.05rem;
  line-height: 1.6;
  color: rgba(226, 232, 240, 0.88);
}

body.page-home .home-pipeline__stages {
  list-style: none;
  margin: 0 auto;
  padding: 0;
  display: grid;
  gap: 0.85rem;
  max-width: 68rem;
}

@media (min-width: 992px) {
  body.page-home .home-pipeline__stages {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
  }
}

body.page-home .home-pipeline__stage {
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  padding: 1.35rem 1.25rem 1.3rem;
  border-radius: 1.15rem;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.1);
  min-height: 100%;
}

body.page-home .home-pipeline__stage--final {
  background: linear-gradient(165deg, rgba(249, 115, 22, 0.16), rgba(255, 255, 255, 0.04));
  border-color: rgba(249, 115, 22, 0.35);
}

body.page-home .home-pipeline__num {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: #fdba74;
}

body.page-home .home-pipeline__stage h3 {
  margin: 0;
  font-size: 1.2rem;
  font-weight: 800;
  color: #fff;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

body.page-home .home-pipeline__stage p {
  margin: 0;
  color: #94a3b8;
  line-height: 1.55;
  font-size: 0.96rem;
}

body.page-home .home-pipeline__verdict {
  margin: 1.75rem auto 0;
  max-width: 40rem;
  padding: 1rem 1.25rem;
  text-align: center;
  border-radius: 0.95rem;
  border: 1px solid rgba(249, 115, 22, 0.28);
  background: rgba(249, 115, 22, 0.08);
  font-size: clamp(1.05rem, 2vw, 1.2rem);
  font-weight: 750;
  line-height: 1.45;
  color: #fff;
}

body.page-home .home-path__steps {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.75rem;
}

@media (min-width: 992px) {
  body.page-home .home-path__steps {
    grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr;
    align-items: stretch;
  }

  body.page-home .home-path__connector {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.4rem;
    color: #ea580c;
    transform: rotate(-90deg);
  }
}

body.page-home .home-path__steps > li:not(.home-path__connector) {
  padding: 1.25rem 1.15rem;
  border-radius: 1rem;
  background: #fff;
  border: 1px solid rgba(15, 39, 68, 0.08);
  box-shadow: 0 10px 24px rgba(15, 39, 68, 0.04);
}

body.page-home .home-path__steps h3 {
  margin: 0 0 0.35rem;
  font-size: 1.1rem;
  color: #0f2744;
}

body.page-home .home-path__steps p {
  margin: 0;
  color: #64748b;
  line-height: 1.5;
}

body.page-home .home-path__connector {
  text-align: center;
  font-size: 1.25rem;
  color: #ea580c;
  font-weight: 700;
}

body.page-home .home-path__num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.75rem;
  height: 1.75rem;
  margin-bottom: 0.45rem;
  border-radius: 50%;
  background: #0f2744;
  color: #fff;
  font-size: 0.85rem;
  font-weight: 800;
}

body.page-home .home-prof-card {
  height: 100%;
  display: flex;
  flex-direction: column;
  padding: 1.45rem 1.3rem 1.35rem;
  border-radius: 1.15rem;
  background: #fff;
  border: 1px solid rgba(15, 39, 68, 0.08);
  box-shadow: 0 12px 28px rgba(15, 39, 68, 0.05);
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

body.page-home .home-prof-card:hover {
  transform: translateY(-3px);
  border-color: rgba(234, 88, 12, 0.28);
  box-shadow: 0 18px 36px rgba(15, 39, 68, 0.1);
}

body.page-home .home-prof-card__badge {
  display: inline-flex;
  align-self: flex-start;
  margin: 0 0 0.7rem;
  padding: 0.28rem 0.6rem;
  border-radius: 999px;
  background: #0f2744;
  color: #fff;
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

body.page-home .home-prof-card__title {
  margin: 0 0 0.45rem;
  font-size: 1.28rem;
  color: #0f2744;
}

body.page-home .home-prof-card__accent {
  margin: 0 0 0.35rem;
  font-weight: 750;
  color: #ea580c;
}

body.page-home .home-prof-card__meta {
  margin: 0 0 0.75rem;
  font-size: 0.92rem;
  color: #64748b;
}

body.page-home .home-prof-card__stack {
  margin: 0 0 1.15rem;
  font-size: 0.92rem;
  line-height: 1.5;
  color: #334155;
  flex: 1;
}

body.page-home .home-prof-card__link {
  font-weight: 700;
  color: #0f2744;
  text-decoration: none !important;
}

body.page-home .home-prof-card__link:hover {
  color: #ea580c;
}

body.page-home .home-professions__more {
  color: #475569;
}

body.page-home .home-grade-exam__big {
  margin: 0.35rem 0 0.75rem;
  font-size: clamp(1.35rem, 2.5vw, 1.85rem);
  font-weight: 800;
  line-height: 1.25;
  color: #0f2744;
}

body.page-home .home-why__grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 0.85rem;
}

body.page-home .home-why-card {
  grid-column: span 2;
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  min-height: 100%;
  padding: 1.25rem 1.15rem;
  border-radius: 1.1rem;
  background: #f8fafc;
  border: 1px solid rgba(15, 39, 68, 0.08);
  transition: transform 0.2s ease, border-color 0.2s ease, background 0.2s ease;
}

body.page-home .home-why-card--wide {
  grid-column: span 2;
}

body.page-home .home-why-card:hover {
  transform: translateY(-2px);
  background: #fff;
  border-color: rgba(234, 88, 12, 0.25);
}

body.page-home .home-why-card__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.35rem;
  height: 2.35rem;
  border-radius: 0.75rem;
  background: rgba(234, 88, 12, 0.1);
  color: #ea580c;
  font-size: 1.1rem;
}

body.page-home .home-why-card h3 {
  margin: 0;
  font-size: 1.08rem;
  color: #0f2744;
}

body.page-home .home-why-card p {
  margin: 0;
  color: #64748b;
  font-size: 0.94rem;
  line-height: 1.5;
}

body.page-home .home-project-card__kicker {
  margin: 0 0 0.35rem;
  font-size: 0.78rem;
  font-weight: 750;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #ea580c;
}

body.page-home .home-projects__head {
  max-width: 40rem;
  margin: 0 auto 1.5rem;
  text-align: center;
}

body.page-home .home-projects__title {
  margin: 0;
  font-family: var(--hk-font);
  font-size: clamp(1.75rem, 3.2vw, 2.15rem);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.2;
  color: #0f172a !important;
}

body.page-home .home-projects__lead {
  margin: 0.55rem 0 0;
  font-size: 1.05rem;
  line-height: 1.55;
  color: #64748b;
}

body.page-home .home-projects__tabs {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.5rem;
  margin: 0 auto 1.75rem;
  padding: 0.35rem;
  width: fit-content;
  max-width: 100%;
  border-radius: 999px;
  background: #fff;
  border: 1px solid #e2e8f0;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.04);
}

body.page-home .home-projects__tab {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  margin: 0;
  padding: 0.55rem 1rem;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: #64748b;
  font-size: 0.9rem;
  font-weight: 700;
  line-height: 1.2;
  cursor: pointer;
  transition: background 0.2s ease, color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

body.page-home .home-projects__tab:hover {
  color: #0f172a;
  background: #f8fafc;
}

body.page-home .home-projects__tab:focus-visible {
  outline: 2px solid #f97316;
  outline-offset: 2px;
}

body.page-home .home-projects__tab.is-active {
  background: #0f172a;
  color: #fff;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.18);
}

body.page-home .home-projects__tab-icon {
  font-size: 0.95rem;
  line-height: 1;
}

body.page-home .home-projects__list {
  display: grid;
  gap: 1.25rem;
}

body.page-home .home-project-card {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(16rem, 0.9fr);
  gap: clamp(1.25rem, 3vw, 2rem);
  padding: clamp(1.25rem, 2.8vw, 1.85rem);
  border-radius: 1.25rem;
  background: #fff;
  border: 1px solid #e2e8f0;
  box-shadow: 0 12px 32px rgba(15, 39, 68, 0.05);
  transition: opacity 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
}

body.page-home .home-project-card.is-filtered-out {
  display: none;
}

body.page-home .home-project-card:hover {
  box-shadow: 0 18px 40px rgba(15, 39, 68, 0.08);
  transform: translateY(-2px);
}

body.page-home .home-project-card__main {
  display: grid;
  gap: 1rem;
  align-content: start;
}

body.page-home .home-project-card__badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

body.page-home .home-project-card__badge {
  display: inline-flex;
  align-items: center;
  padding: 0.3rem 0.65rem;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 750;
  letter-spacing: 0.02em;
  line-height: 1.2;
}

body.page-home .home-project-card__badge--amber {
  background: #fff7ed;
  color: #c2410c;
  border: 1px solid #fed7aa;
}

body.page-home .home-project-card__badge--blue {
  background: #eff6ff;
  color: #1d4ed8;
  border: 1px solid #bfdbfe;
}

body.page-home .home-project-card__title {
  margin: 0;
  font-family: var(--hk-font);
  font-size: clamp(1.45rem, 2.6vw, 1.85rem);
  font-weight: 800;
  letter-spacing: -0.03em;
  color: #0f172a !important;
}

body.page-home .home-project-card__desc {
  margin: 0;
  font-size: 1rem;
  line-height: 1.6;
  color: #475569;
}

body.page-home .home-project-card__specs {
  display: grid;
  gap: 0.85rem;
}

body.page-home .home-project-card__spec {
  display: grid;
  gap: 0.4rem;
}

body.page-home .home-project-card__spec-label {
  margin: 0;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.68rem;
  font-weight: 750;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #94a3b8;
}

body.page-home .home-project-card__tags {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin: 0;
  padding: 0;
}

body.page-home .home-project-card__tags li {
  padding: 0.28rem 0.55rem;
  border-radius: 0.5rem;
  background: #f1f5f9;
  border: 1px solid #e2e8f0;
  color: #334155;
  font-size: 0.78rem;
  font-weight: 650;
  line-height: 1.3;
}

body.page-home .home-project-card__spec-text {
  margin: 0;
  padding: 0.7rem 0.85rem;
  border-radius: 0.75rem;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  color: #475569;
  font-size: 0.9rem;
  line-height: 1.5;
}

body.page-home .home-project-card__learn {
  padding: 0.9rem 1rem;
  border-radius: 0.9rem;
  background: linear-gradient(180deg, #fffbeb 0%, #fff7ed 100%);
  border: 1px solid #fed7aa;
}

body.page-home .home-project-card__learn-title {
  margin: 0 0 0.5rem;
  font-size: 0.84rem;
  font-weight: 800;
  color: #9a3412;
}

body.page-home .home-project-card__learn-list {
  list-style: none;
  display: grid;
  gap: 0.4rem;
  margin: 0;
  padding: 0;
}

body.page-home .home-project-card__learn-list li {
  display: flex;
  align-items: flex-start;
  gap: 0.45rem;
  color: #475569;
  font-size: 0.9rem;
  line-height: 1.45;
}

body.page-home .home-project-card__learn-list i {
  margin-top: 0.12rem;
  color: #ea580c;
  font-size: 1rem;
  line-height: 1;
  flex-shrink: 0;
}

body.page-home .home-project-card__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem 1rem;
  margin-top: 0.25rem;
}

body.page-home .home-project-card__link {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.65rem 0.95rem;
  border-radius: 0.75rem;
  border: 1px solid #cbd5e1;
  background: #fff;
  color: #0f172a;
  font-size: 0.9rem;
  font-weight: 700;
  text-decoration: none;
  transition: border-color 0.2s ease, background 0.2s ease, color 0.2s ease;
}

body.page-home .home-project-card__link:hover {
  border-color: #94a3b8;
  background: #f8fafc;
  color: #0f172a;
}

body.page-home .home-project-card__link i {
  font-size: 0.85rem;
  transition: transform 0.2s ease;
}

body.page-home .home-project-card__link:hover i {
  transform: translateX(2px);
}

body.page-home .home-project-card__viz {
  min-width: 0;
}

body.page-home .home-project-card__diagram {
  height: 100%;
  min-height: 16rem;
  padding: 1rem;
  border-radius: 1rem;
  background:
    radial-gradient(ellipse 70% 50% at 80% 15%, rgba(56, 189, 248, 0.16), transparent 55%),
    radial-gradient(ellipse 50% 40% at 15% 85%, rgba(249, 115, 22, 0.1), transparent 50%),
    linear-gradient(165deg, #0b1220 0%, #111827 55%, #0f172a 100%);
  border: 1px solid rgba(148, 163, 184, 0.22);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

body.page-home .home-project-card__diagram-label {
  margin: 0 0 0.65rem;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #67e8f9;
}

body.page-home .home-project-card__svg {
  display: block;
  width: 100%;
  height: auto;
}

body.page-home .home-project-card__svg text {
  fill: #e2e8f0;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 12px;
  font-weight: 700;
}

body.page-home .home-project-card__svg-sub {
  fill: #94a3b8 !important;
  font-size: 10px !important;
  font-weight: 550 !important;
}

body.page-home .home-project-card__node {
  fill: rgba(15, 23, 42, 0.72);
  stroke: rgba(148, 163, 184, 0.35);
  stroke-width: 1.25;
}

body.page-home .home-project-card__node--accent {
  fill: rgba(249, 115, 22, 0.16);
  stroke: rgba(249, 115, 22, 0.55);
}

body.page-home .home-project-card__node--kafka {
  fill: rgba(56, 189, 248, 0.12);
  stroke: rgba(56, 189, 248, 0.5);
}

body.page-home .home-project-card__flow {
  fill: none;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-dasharray: 4 8;
  animation: home-project-flow 2.4s linear infinite;
}

@keyframes home-project-flow {
  to {
    stroke-dashoffset: -24;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.page-home .home-project-card,
  body.page-home .home-projects__tab,
  body.page-home .home-project-card__link i {
    transition: none;
  }

  body.page-home .home-project-card:hover {
    transform: none;
  }

  body.page-home .home-project-card__flow {
    animation: none;
  }
}

@media (max-width: 991.98px) {
  body.page-home .home-project-card {
    grid-template-columns: 1fr;
  }

  body.page-home .home-project-card__diagram {
    min-height: 14rem;
  }
}

@media (max-width: 575.98px) {
  body.page-home .home-projects__tabs {
    width: 100%;
    border-radius: 1rem;
    justify-content: stretch;
  }

  body.page-home .home-projects__tab {
    flex: 1 1 calc(50% - 0.5rem);
    justify-content: center;
  }

  body.page-home .home-project-card__actions {
    flex-direction: column;
    align-items: stretch;
  }

  body.page-home .home-project-card__actions .home-btn,
  body.page-home .home-project-card__link {
    width: 100%;
    justify-content: center;
  }
}

body.page-home .home-interview.home-band--ink {
  background:
    radial-gradient(ellipse 55% 40% at 85% 15%, rgba(249, 115, 22, 0.16), transparent 55%),
    radial-gradient(ellipse 45% 35% at 10% 80%, rgba(56, 189, 248, 0.1), transparent 50%),
    linear-gradient(180deg, #0b1220 0%, #0f172a 55%, #111827 100%) !important;
}

body.page-home .home-interview__shell {
  display: grid;
  gap: clamp(1.25rem, 3vw, 1.85rem);
}

body.page-home .home-interview__intro {
  max-width: 48rem;
}

body.page-home .home-interview__eyebrow {
  margin: 0 0 0.55rem;
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #fdba74;
}

body.page-home .home-interview .section-heading {
  margin: 0 0 0.75rem;
  color: #fff !important;
  max-width: 18ch;
}

body.page-home .home-interview__lead {
  margin: 0 0 0.95rem;
  max-width: 52ch;
  color: rgba(226, 232, 240, 0.92);
  font-size: 1.08rem;
  line-height: 1.6;
}

body.page-home .home-interview__lead strong {
  color: #fff;
  font-weight: 800;
}

body.page-home .home-interview__audience {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  margin: 0;
  padding: 0.55rem 0.85rem;
  border-radius: 999px;
  background: rgba(103, 232, 249, 0.08);
  border: 1px solid rgba(103, 232, 249, 0.28);
  color: #a5f3fc;
  font-size: 0.88rem;
  font-weight: 650;
  line-height: 1.35;
}

body.page-home .home-interview__audience i {
  color: #67e8f9;
}

body.page-home .home-interview__tracks {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.85rem;
}

body.page-home .home-interview__track {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  grid-template-rows: auto auto;
  gap: 0.35rem 0.9rem;
  padding: 1.15rem 1.2rem;
  border-radius: 1.15rem;
  text-decoration: none !important;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.04);
  transition: transform 0.22s ease, border-color 0.22s ease, background 0.22s ease, box-shadow 0.22s ease;
}

body.page-home .home-interview__track:hover {
  transform: translateY(-3px);
  border-color: rgba(249, 115, 22, 0.45);
  background: rgba(255, 255, 255, 0.07);
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.28);
}

body.page-home .home-interview__track-icon {
  grid-row: 1 / span 2;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 0.85rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
  color: #fff;
  background: rgba(249, 115, 22, 0.18);
  border: 1px solid rgba(249, 115, 22, 0.35);
}

body.page-home .home-interview__track--biz .home-interview__track-icon {
  background: rgba(56, 189, 248, 0.14);
  border-color: rgba(56, 189, 248, 0.35);
  color: #67e8f9;
}

body.page-home .home-interview__track-body {
  display: grid;
  gap: 0.25rem;
  min-width: 0;
}

body.page-home .home-interview__track-label {
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #94a3b8;
}

body.page-home .home-interview__track-title {
  font-size: 1.12rem;
  font-weight: 800;
  color: #fff;
  line-height: 1.25;
}

body.page-home .home-interview__track-text {
  color: #94a3b8;
  font-size: 0.92rem;
  line-height: 1.5;
}

body.page-home .home-interview__track-meta {
  margin-top: 0.2rem;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.86rem;
  font-weight: 750;
  color: #fdba74;
}

body.page-home .home-interview__track-cta {
  grid-column: 2;
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  margin-top: 0.35rem;
  font-size: 0.9rem;
  font-weight: 750;
  color: #67e8f9;
}

body.page-home .home-interview__track:hover .home-interview__track-cta {
  color: #fff;
}

body.page-home .home-interview__panel {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(0, 0.85fr);
  gap: clamp(1.25rem, 3vw, 2rem);
  align-items: stretch;
  padding: clamp(1.4rem, 3.2vw, 2rem);
  border-radius: 1.4rem;
  background:
    linear-gradient(145deg, rgba(15, 23, 42, 0.72) 0%, rgba(17, 24, 39, 0.88) 100%);
  border: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.28);
  overflow: hidden;
}

body.page-home .home-interview__panel-title {
  margin: 0 0 0.95rem;
  font-size: 1.15rem;
  font-weight: 800;
  color: #fff;
}

body.page-home .home-interview__steps {
  list-style: none;
  margin: 0 0 1.15rem;
  padding: 0;
  display: grid;
  gap: 0.7rem;
}

body.page-home .home-interview__steps li {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.75rem;
  align-items: start;
  color: #e2e8f0;
  line-height: 1.45;
}

body.page-home .home-interview__step-num {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  color: #fdba74;
  margin-top: 0.15rem;
}

body.page-home .home-interview__steps strong {
  color: #fff;
}

body.page-home .home-interview__list {
  list-style: none;
  margin: 0 0 1.35rem;
  padding: 0;
  display: grid;
  gap: 0.65rem;
}

body.page-home .home-interview__list li {
  display: flex;
  align-items: flex-start;
  gap: 0.7rem;
  color: #e2e8f0;
  line-height: 1.45;
}

body.page-home .home-interview__list i {
  margin-top: 0.15rem;
  color: #67e8f9;
  font-size: 1.05rem;
}

body.page-home .home-interview__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.85rem 1.15rem;
}

body.page-home .home-interview__cta {
  box-shadow: 0 14px 32px rgba(249, 115, 22, 0.35);
}

body.page-home .home-interview__visual {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 0.55rem;
  padding: 1.25rem;
  border-radius: 1.1rem;
  background:
    radial-gradient(circle at 80% 10%, rgba(56, 189, 248, 0.25), transparent 45%),
    radial-gradient(circle at 15% 85%, rgba(249, 115, 22, 0.18), transparent 40%),
    rgba(0, 0, 0, 0.28);
  border: 1px solid rgba(255, 255, 255, 0.1);
}

body.page-home .home-interview__visual-kicker {
  margin: 0;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  color: #67e8f9;
}

body.page-home .home-interview__visual-title {
  margin: 0;
  font-size: 1.55rem;
  font-weight: 800;
  color: #fff;
}

body.page-home .home-interview__visual-note {
  margin: 0;
  color: #94a3b8;
  font-size: 0.9rem;
}

body.page-home .home-interview__visual-stack {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin: 0.35rem 0 0;
  padding: 0;
}

body.page-home .home-interview__visual-stack li {
  padding: 0.35rem 0.65rem;
  border-radius: 0.55rem;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.12);
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.76rem;
  font-weight: 700;
  color: #e2e8f0;
}

@media (max-width: 991.98px) {
  body.page-home .home-interview__tracks,
  body.page-home .home-interview__panel {
    grid-template-columns: 1fr;
  }

  body.page-home .home-interview .section-heading {
    max-width: none;
  }
}

@media (max-width: 575.98px) {
  body.page-home .home-interview__track {
    grid-template-columns: 1fr;
  }

  body.page-home .home-interview__track-icon {
    grid-row: auto;
  }

  body.page-home .home-interview__track-cta {
    grid-column: 1;
  }

  body.page-home .home-interview__cta {
    width: 100%;
    justify-content: center;
  }
}

/* Editorial hub: articles and company news */
body.page-home .home-saos__award a {
  display: inline-block;
  margin-top: 0.25rem;
  color: #7dd3fc !important;
  font-weight: 750;
  text-decoration: none;
}

body.page-home .home-saos__award a:hover { color: #fff !important; }

body.page-home .home-publications {
  position: relative;
  overflow: hidden;
  background: #f1f5f9;
}

body.page-home .home-publications::before {
  position: absolute;
  top: -16rem;
  left: -12rem;
  width: 34rem;
  height: 34rem;
  content: "";
  border: 1px solid rgba(37, 99, 235, 0.08);
  border-radius: 50%;
  box-shadow: 0 0 0 5rem rgba(37, 99, 235, 0.025), 0 0 0 10rem rgba(37, 99, 235, 0.015);
}

body.page-home .home-publications .container { position: relative; z-index: 1; }

body.page-home .home-publications__head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(20rem, 0.65fr);
  align-items: end;
  gap: clamp(1.5rem, 5vw, 5rem);
  margin-bottom: clamp(2rem, 5vw, 3.5rem);
}

body.page-home .home-publications__head .section-heading {
  max-width: 46rem;
  margin: 0;
  color: #0f172a !important;
  font-size: clamp(2rem, 4vw, 3.4rem);
  line-height: 1.05;
  letter-spacing: -0.055em;
  text-align: left;
}

body.page-home .home-publications__head .section-heading::after { display: none; }
body.page-home .home-publications__head .section-lead { margin: 0; color: #64748b !important; text-align: left; line-height: 1.7; }

body.page-home .home-publications__layout {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(19rem, 0.6fr);
  gap: 1rem;
  align-items: stretch;
}

body.page-home .home-publications__articles,
body.page-home .home-publications__news {
  min-width: 0;
  padding: clamp(1.2rem, 2.5vw, 1.8rem);
  border: 1px solid #dbe3ec;
  border-radius: 1.4rem;
  background: rgba(255, 255, 255, 0.82);
  box-shadow: 0 1rem 2.8rem rgba(15, 23, 42, 0.06);
}

body.page-home .home-publications__news { color: #e2e8f0; border-color: #1e3a5f; background: #0f2744; }

body.page-home .home-publications__subhead {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.2rem;
}

body.page-home .home-publications__subhead h3 { display: flex; align-items: center; gap: 0.55rem; margin: 0; color: #0f172a; font-size: 1rem; }
body.page-home .home-publications__subhead h3 i { color: #2563eb; }
body.page-home .home-publications__news .home-publications__subhead h3 { color: #fff; }
body.page-home .home-publications__news .home-publications__subhead h3 i { color: #7dd3fc; }
body.page-home .home-publications__subhead > a { color: #2563eb !important; font-size: 0.78rem; font-weight: 800; text-decoration: none; }
body.page-home .home-publications__news .home-publications__subhead > a { color: #7dd3fc !important; }

body.page-home .home-publications__article-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.8rem; }

body.page-home .home-publication-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  overflow: hidden;
  border: 1px solid #e2e8f0;
  border-radius: 1rem;
  background: #fff;
  transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

body.page-home .home-publication-card:hover { transform: translateY(-0.25rem); border-color: #bfdbfe; box-shadow: 0 1rem 2rem rgba(37, 99, 235, 0.1); }
body.page-home .home-publication-card--featured { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(13rem, 0.85fr) minmax(0, 1.15fr); }
body.page-home .home-publication-card__media { display: block; min-height: 9rem; overflow: hidden; background: #dbeafe; }
body.page-home .home-publication-card--featured .home-publication-card__media { min-height: 16rem; }
body.page-home .home-publication-card__media img { display: block; width: 100%; height: 100%; min-height: 9rem; object-fit: cover; transition: transform 0.4s ease; }
body.page-home .home-publication-card--featured .home-publication-card__media img { min-height: 16rem; }
body.page-home .home-publication-card:hover .home-publication-card__media img { transform: scale(1.035); }
body.page-home .home-publication-card__media--fallback { display: grid; place-items: center; color: #2563eb; font-size: 2rem; background: linear-gradient(145deg, #dbeafe, #eff6ff); }
body.page-home .home-publication-card__body { display: flex; flex-direction: column; padding: 1rem; }
body.page-home .home-publication-card--featured .home-publication-card__body { justify-content: center; padding: clamp(1.2rem, 3vw, 2rem); }
body.page-home .home-publication-card__meta { display: flex; align-items: center; gap: 0.55rem; margin-bottom: 0.65rem; color: #94a3b8; font-size: 0.67rem; }
body.page-home .home-publication-card__meta > span { padding: 0.25rem 0.45rem; border-radius: 999px; background: #eff6ff; color: #2563eb; font-weight: 800; text-transform: uppercase; letter-spacing: 0.06em; }
body.page-home .home-publication-card h3 { margin: 0 0 0.55rem; font-size: 1rem; line-height: 1.3; letter-spacing: -0.02em; }
body.page-home .home-publication-card--featured h3 { font-size: clamp(1.25rem, 2vw, 1.65rem); }
body.page-home .home-publication-card h3 a { color: #0f172a !important; text-decoration: none; }
body.page-home .home-publication-card p { display: -webkit-box; overflow: hidden; margin: 0 0 0.9rem; color: #64748b !important; font-size: 0.85rem; line-height: 1.55; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
body.page-home .home-publication-card--featured p { -webkit-line-clamp: 3; }
body.page-home .home-publication-card__link { display: inline-flex; align-items: center; gap: 0.35rem; margin-top: auto; color: #2563eb !important; font-size: 0.78rem; font-weight: 800; text-decoration: none; }

body.page-home .home-publications__news-list { display: grid; }
body.page-home .home-news-item { position: relative; padding: 1.15rem 2.4rem 1.15rem 0; border-top: 1px solid rgba(148, 163, 184, 0.18); }
body.page-home .home-news-item:first-child { padding-top: 0.3rem; border-top: 0; }
body.page-home .home-news-item__meta { display: flex; gap: 0.5rem; margin-bottom: 0.45rem; color: #7dd3fc; font-size: 0.68rem; font-weight: 750; }
body.page-home .home-news-item h3 { margin: 0 0 0.4rem; font-size: 0.96rem; line-height: 1.35; }
body.page-home .home-news-item h3 a { color: #fff !important; text-decoration: none; }
body.page-home .home-news-item h3 a:hover { color: #7dd3fc !important; }
body.page-home .home-news-item p { display: -webkit-box; overflow: hidden; margin: 0; color: #94a3b8 !important; font-size: 0.77rem; line-height: 1.5; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
body.page-home .home-news-item > a { position: absolute; top: 50%; right: 0; display: grid; place-items: center; width: 1.8rem; height: 1.8rem; border: 1px solid rgba(125, 211, 252, 0.22); border-radius: 50%; color: #7dd3fc !important; text-decoration: none; transform: translateY(-50%); }

@media (max-width: 991.98px) {
  body.page-home .home-publications__head,
  body.page-home .home-publications__layout { grid-template-columns: 1fr; }
  body.page-home .home-publications__head { gap: 1rem; }
}

@media (max-width: 575.98px) {
  body.page-home .home-publications__article-grid { grid-template-columns: 1fr; }
  body.page-home .home-publication-card--featured { grid-column: auto; grid-template-columns: 1fr; }
  body.page-home .home-publication-card--featured .home-publication-card__media,
  body.page-home .home-publication-card--featured .home-publication-card__media img { min-height: 12rem; }
  body.page-home .home-publications__subhead { align-items: flex-start; }
}

/* Keep featured 1:1 card above downstream generic card rules. */
body.page-home .personal-service-card--consultation {
  border-color: #dbe3ec !important;
  box-shadow: 0 1rem 2.8rem rgba(15, 23, 42, 0.07);
}

body.page-home .personal-service-card--learning {
  border-color: #1d4ed8 !important;
  background: linear-gradient(150deg, #0f2748 0%, #0b172a 100%) !important;
  box-shadow: 0 1.4rem 3.5rem rgba(15, 39, 72, 0.24);
}

body.page-home .home-license__card {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1.1fr);
  gap: 0;
  overflow: hidden;
  border-radius: 1.35rem;
  background: #fff;
  border: 1px solid rgba(15, 39, 68, 0.08);
  box-shadow: 0 16px 40px rgba(15, 39, 68, 0.07);
}

body.page-home .home-license__main {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.85rem;
  padding: clamp(1.4rem, 3vw, 2rem);
}

body.page-home .home-license .section-heading {
  margin: 0;
  max-width: 18ch;
}

body.page-home .home-license__lead {
  margin: 0;
  max-width: 46ch;
  color: #475569;
  font-size: 1.02rem;
  line-height: 1.6;
}

body.page-home .home-license__number {
  display: grid;
  gap: 0.3rem;
  width: 100%;
  max-width: 22rem;
  margin: 0.15rem 0 0.35rem;
  padding: 0.95rem 1.05rem;
  border-radius: 0.95rem;
  background: #f8fafc;
  border: 1px solid rgba(15, 39, 68, 0.08);
}

body.page-home .home-license__number-label {
  font-size: 0.72rem;
  font-weight: 750;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #94a3b8;
}

body.page-home .home-license__number-value {
  font-size: clamp(1.15rem, 2.2vw, 1.35rem);
  font-weight: 850;
  color: #0f2744;
  line-height: 1.25;
}

body.page-home .home-license__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.85rem 1.15rem;
  margin-top: 0.25rem;
}

body.page-home .home-license__link {
  font-weight: 700;
  color: #ea580c;
  text-decoration: none !important;
}

body.page-home .home-license__link:hover {
  color: #c2410c;
}

body.page-home .home-license__aside {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  padding: 1rem;
  background:
    radial-gradient(ellipse 70% 55% at 90% 10%, rgba(34, 211, 238, 0.22), transparent 55%),
    linear-gradient(160deg, #0f2744 0%, #163a5f 100%);
  color: #fff;
}

body.page-home .home-license__doc {
  position: relative;
  flex: 1 1 auto;
  min-height: 22rem;
  border-radius: 0.85rem;
  overflow: hidden;
  background: #fff;
  border: 1px solid rgba(255, 255, 255, 0.18);
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.25);
}

body.page-home .home-license__pdf {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 22rem;
  border: 0;
  background: #fff;
}

body.page-home .home-license__doc-link {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  align-self: flex-start;
  font-size: 0.88rem;
  font-weight: 700;
  color: #fdba74;
  text-decoration: none !important;
}

body.page-home .home-license__doc-link:hover {
  color: #fff;
}

@media (max-width: 991.98px) {
  body.page-home .home-license__doc,
  body.page-home .home-license__pdf {
    min-height: 18rem;
  }
}

body.page-home .home-final-cta__shell {
  background: linear-gradient(145deg, #0f2744 0%, #163a5f 100%);
  color: #fff;
  border: 0;
}

body.page-home .home-final-cta .section-heading,
body.page-home .home-final-cta .section-lead {
  color: #fff !important;
}

body.page-home .home-final-cta__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.75rem;
  margin-top: 1.15rem;
}

body.page-home .home-final-cta .home-btn--ghost {
  background: transparent;
  color: #fff !important;
  border-color: rgba(255, 255, 255, 0.35);
}

body.page-home .home-about {
  grid-template-columns: minmax(0, 1.3fr) minmax(0, 0.9fr);
  align-items: stretch;
}

body.page-home .home-about__copy p {
  color: #475569;
  line-height: 1.65;
}

body.page-home .hp-sticky-cta__btn {
  border: 0;
  width: 100%;
}

@media (max-width: 991.98px) {
  body.page-home .home-founder__layout,
  body.page-home .home-saos--story,
  body.page-home .home-license__card,
  body.page-home .home-about,
  body.page-home .home-digital__layout,
  body.page-home .home-interview__panel {
    grid-template-columns: 1fr;
  }

  body.page-home .home-expertise-chain__spine {
    display: none;
  }

  body.page-home .home-digital .section-heading,
  body.page-home .home-digital__title,
  body.page-home .home-interview .section-heading {
    max-width: none;
  }

  body.page-home .home-why__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.page-home .home-why-card,
  body.page-home .home-why-card--wide {
    grid-column: span 1;
  }
}

@media (max-width: 575.98px) {
  body.page-home .home-hero__actions {
    flex-direction: column;
    align-items: stretch;
  }

  body.page-home .home-hero__btn {
    width: 100%;
  }

  body.page-home .home-digital__card,
  body.page-home .home-digital__layout {
    padding: 0;
  }

  body.page-home .home-why__grid {
    grid-template-columns: 1fr;
  }

  body.page-home .home-interview__cta {
    width: 100%;
    justify-content: center;
  }
}
