@font-face {
  font-family: 'Fustat';

  src: url('../../fonts/Fustat-VF.woff2') format('woff2'),
       url('../../fonts/Fustat-VF.ttf') format('truetype-variations');
  font-weight: 200 900;
  font-display: swap;
}

:root {
  --deep-navy: #070763;
  --cyber-blue: #1431A7;
  --deep-carbon: #1E1E1E;
  --soft-signal: #C5D6FF;
  --neutral-mist: #F8F7ED;
  --white: #FFFFFF;
  --gray-06: rgba(30, 30, 30, 0.06);
  --gray-15: rgba(30, 30, 30, 0.15);

  --gray-60: rgba(30, 30, 30, 0.68);
  --gray-80: rgba(30, 30, 30, 0.8);

  --section-pad: 110px;
  --container-pad: 48px;
  --max-w: 1440px;
}

[data-density="compact"] {
  --section-pad: 96px;
  --container-pad: 32px;
}

[data-density="airy"] {
  --section-pad: 180px;
  --container-pad: 56px;
}

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: 'Fustat', system-ui, sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.6;
  color: var(--deep-carbon);
  background: var(--white);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  overflow-x: hidden;
}

[data-weight="light"] body {
  font-weight: 300;
}

[data-weight="regular"] body {
  font-weight: 400;
}

[data-weight="medium"] body {
  font-weight: 500;
}

h1,
h2,
h3,
h4 {
  font-family: 'Fustat';
  letter-spacing: -0.02em;
  line-height: 1.05;
}

.container {
  max-width: var(--max-w);
  margin: 0 auto;
  padding: 0 var(--container-pad);
}

.eyebrow {
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--cyber-blue);
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.eyebrow::before {
  content: '';
  width: 24px;
  height: 1px;
  background: currentColor;
}

.dark .eyebrow {
  color: var(--soft-signal);
}

.btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 16px 28px;
  font-family: 'Fustat';
  font-weight: 500;
  font-size: 15px;
  letter-spacing: -0.005em;
  border-radius: 4px;
  cursor: pointer;
  border: 1.5px solid transparent;
  transition: all 0.25s cubic-bezier(.4, 0, .2, 1);
  text-decoration: none;
  background: transparent;
  color: inherit;
}

.btn .arrow {
  transition: transform 0.25s;
}

.btn:hover .arrow {
  transform: translateX(4px);
}

.btn-primary-dark {
  background: var(--deep-navy);
  color: var(--white);
  border-color: var(--deep-navy);
}

.btn-primary-dark:hover {
  background: var(--cyber-blue);
  border-color: var(--cyber-blue);
}

.btn-primary-light {
  background: var(--white);
  color: var(--deep-navy);
  border-color: var(--white);
}

.btn-primary-light:hover {
  background: var(--soft-signal);
  border-color: var(--soft-signal);
}

.btn-ghost-dark {
  background: transparent;
  color: var(--deep-carbon);
  border-color: var(--deep-carbon);
}

.btn-ghost-dark:hover {
  background: var(--deep-carbon);
  color: var(--white);
}

.btn-ghost-light {
  background: transparent;
  color: var(--soft-signal);
  border-color: rgba(197, 214, 255, 0.6);
}

.btn-ghost-light:hover {
  background: rgba(197, 214, 255, 0.1);
  border-color: var(--soft-signal);
}

.btn-soft {
  background: var(--soft-signal);
  color: var(--deep-navy);
  border-color: var(--soft-signal);
}

.btn-soft:hover {
  background: var(--white);
  border-color: var(--white);
}

section {
  padding: var(--section-pad) 0;
  position: relative;
}

.section-dark {
  background: var(--deep-navy);
  color: var(--white);
}

.section-mist {
  background: var(--neutral-mist);
}

.reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.9s cubic-bezier(.2, .8, .2, 1), transform 0.9s cubic-bezier(.2, .8, .2, 1);
}

.reveal.in {
  opacity: 1;
  transform: translateY(0);
}

.reveal[data-delay="1"] {
  transition-delay: 0.08s;
}

.reveal[data-delay="2"] {
  transition-delay: 0.16s;
}

.reveal[data-delay="3"] {
  transition-delay: 0.24s;
}

.reveal[data-delay="4"] {
  transition-delay: 0.32s;
}

.reveal[data-delay="5"] {
  transition-delay: 0.4s;
}

.chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  border: 1px solid var(--gray-15);
  border-radius: 4px;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.02em;
  color: var(--deep-carbon);
  background: transparent;
}

.dark .chip {
  border-color: rgba(197, 214, 255, 0.3);
  color: var(--soft-signal);
}

.grad-text {
  background: linear-gradient(90deg, #1431A7 0%, #C5D6FF 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}

.mono {
  font-family: 'IBM Plex Mono', 'SF Mono', Menlo, monospace;
  letter-spacing: -0.01em;
}

.cursor-symbol {
  position: fixed;
  width: 20px;
  height: 20px;
  pointer-events: none;
  opacity: 0;
  z-index: 9999;
  transition: opacity 0.4s;
  will-change: transform, opacity;
}

@media (max-width: 768px) {
  :root {
    --section-pad: 80px;
    --container-pad: 24px;
  }

  .cursor-symbol {
    display: none;
  }
}

.sectors {
  padding: var(--section-pad) 0;
  background: var(--deep-navy);
  color: #fff;
  position: relative;
  overflow: hidden;
}

.sectors::before {
  content: '';
  position: absolute;
  top: -20%;
  left: 40%;
  width: 700px;
  height: 700px;
  background: radial-gradient(circle, rgba(20, 49, 167, 0.3) 0%, transparent 60%);
  filter: blur(80px);
  pointer-events: none;
}

.sectors>.container {
  position: relative;
  z-index: 2;
}

.sectors .sec-h2 {
  color: #fff;
}

.sectors .sec-sub {
  color: rgba(255, 255, 255, 0.7);
}

.sc-layout {
  display: grid;
  grid-template-columns: 200px 1.35fr 0.9fr;
  gap: 48px;
  align-items: start;
}

.sc-rail {
  display: flex;
  flex-direction: column;
  border-left: 1px solid rgba(255, 255, 255, 0.1);
}

.sc-tab {
  all: unset;
  cursor: pointer;
  position: relative;
  padding: 16px 0 16px 20px;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 12px;
  align-items: center;
  color: rgba(255, 255, 255, 0.56);
  transition: color 0.25s;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.sc-tab:hover {
  color: rgba(255, 255, 255, 0.85);
}

.sc-tab.is-active {
  color: #fff;
}

.sc-tab-num {
  font-size: 10.5px;
  letter-spacing: 0.08em;
  color: rgba(255, 255, 255, 0.56);
}

.sc-tab.is-active .sc-tab-num {
  color: #C5D6FF;
}

.sc-tab-name {
  font-size: 16px;
  font-weight: 500;
  letter-spacing: -0.015em;
}

.sc-tab-bar {
  position: absolute;
  left: -1px;
  top: 0;
  bottom: 0;
  width: 2px;
  background: #fff;
  transform: scaleY(0);
  transform-origin: top;
  transition: transform 0.4s cubic-bezier(.2, .8, .2, 1);
}

.sc-tab.is-active .sc-tab-bar {
  transform: scaleY(1);
}

.sc-card {
  background: rgba(197, 214, 255, 0.03);
  border: 1px solid rgba(197, 214, 255, 0.1);
  border-radius: 8px;
  overflow: hidden;
  animation: scCardIn 0.5s cubic-bezier(.2, .8, .2, 1);
}

@keyframes scCardIn {
  from {
    opacity: 0;
    transform: translateY(8px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.sc-illus {
  aspect-ratio: 16/7;
  background: linear-gradient(135deg, #050537 0%, #0d1570 100%);
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid rgba(197, 214, 255, 0.1);
}

.sc-info {
  padding: 32px 36px 36px;
}

.sc-h3 {
  font-size: 34px;
  font-weight: 600;
  letter-spacing: -0.025em;
  line-height: 1.05;
  margin: 0 0 16px;
}

.sc-blurb {
  font-size: 15px;
  color: rgba(255, 255, 255, 0.78);
  line-height: 1.55;
  margin: 0;
  max-width: 520px;
}

.sc-metrics {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  padding-top: 24px;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.sc-metric-n {
  font-size: 22px;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: #fff;
  line-height: 1;
}

.sc-metric-l {
  font-size: 10.5px;
  color: rgba(255, 255, 255, 0.56);
  margin-top: 8px;
  letter-spacing: 0.02em;
  line-height: 1.35;
}

.sc-news {
  padding: 4px 0 0;
  animation: scCardIn 0.5s cubic-bezier(.2, .8, .2, 1) 0.06s backwards;
}

.sc-news-head {
  display: flex;
  align-items: center;
  gap: 10px;
  padding-bottom: 16px;
  margin-bottom: 20px;
  border-bottom: 1px solid rgba(197, 214, 255, 0.15);
}

.sc-news-pulse {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #67e0a8;
  box-shadow: 0 0 12px rgba(103, 224, 168, 0.7);
  animation: scp 1.8s ease-in-out infinite;
}

@keyframes scp {

  0%,
  100% {
    opacity: 1;
    transform: scale(1);
  }

  50% {
    opacity: 0.55;
    transform: scale(1.3);
  }
}

.sc-news-label {
  font-size: 10.5px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(197, 214, 255, 0.7);
}

.sc-news-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
}

.sc-news-item {
  padding: 16px 0;
  border-bottom: 1px solid rgba(197, 214, 255, 0.08);
}

.sc-news-item:first-child {
  padding-top: 0;
}

.sc-news-item:last-child {
  border-bottom: none;
}

.sc-news-date {
  font-size: 10px;
  letter-spacing: 0.08em;
  color: rgba(197, 214, 255, 0.64);
  margin-bottom: 6px;
  text-transform: uppercase;
}

.sc-news-text {
  font-size: 13px;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.82);
  text-wrap: pretty;
}

@media (max-width: 1100px) {
  .sc-layout {
    grid-template-columns: 180px 1fr;
    gap: 32px;
  }

  .sc-news {
    grid-column: 1 / -1;
    padding-top: 16px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
  }
}

@media (max-width: 720px) {
  .sc-layout {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .sc-rail {
    flex-direction: row;
    overflow-x: auto;
    border-left: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  }

  .sc-tab {
    border-bottom: none;
    border-right: 1px solid rgba(255, 255, 255, 0.06);
    padding: 14px 16px;
    flex-shrink: 0;
  }

  .sc-tab-bar {
    left: 0;
    top: auto;
    bottom: -1px;
    width: auto;
    right: 0;
    height: 2px;
    transform: scaleX(0);
    transform-origin: left;
  }

  .sc-tab.is-active .sc-tab-bar {
    transform: scaleX(1);
  }

  .sc-info {
    padding: 24px;
  }

  .sc-h3 {
    font-size: 28px;
  }
}

.faq {
  padding: var(--section-pad) 0;
}

.fq-list {
  max-width: 920px;
  margin: 0 auto;
}

.fq-item {
  border-bottom: 1px solid rgba(30, 30, 30, 0.1);
}

.fq-item:first-child {
  border-top: 1px solid rgba(30, 30, 30, 0.1);
}

.fq-head {
  all: unset;
  cursor: pointer;
  width: 100%;
  box-sizing: border-box;
  padding: 28px 0;
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 24px;
  align-items: start;
  transition: color 0.2s;
}

.fq-head:hover {
  color: var(--cyber-blue);
}

.fq-num {
  font-size: 12px;
  color: rgba(30, 30, 30, 0.68);
  letter-spacing: 0.08em;
  padding-top: 4px;
}

.fq-item.is-open .fq-num {
  color: var(--cyber-blue);
}

.fq-q {
  font-size: 19px;
  font-weight: 500;
  letter-spacing: -0.015em;
  line-height: 1.35;
  color: var(--deep-navy);
  text-wrap: balance;
}

.fq-toggle {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--neutral-mist);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--deep-navy);
  flex-shrink: 0;
  transition: background 0.2s;
}

.fq-item.is-open .fq-toggle {
  background: var(--cyber-blue);
  color: #fff;
}

.fq-v {
  transition: transform 0.3s cubic-bezier(.2, .8, .2, 1);
  transform-origin: center;
}

.fq-item.is-open .fq-v {
  transform: scaleY(0);
}

.fq-body {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.4s cubic-bezier(.2, .8, .2, 1);
}

.fq-item.is-open .fq-body {
  grid-template-rows: 1fr;
}

.fq-body-inner {
  overflow: hidden;
}

.fq-body-inner p {
  padding: 0 0 32px 50px;
  font-size: 15.5px;
  line-height: 1.6;
  color: var(--gray-80);
  max-width: 760px;
  text-wrap: pretty;
}

@media (max-width: 640px) {
  .fq-head {
    grid-template-columns: auto 1fr auto;
    gap: 14px;
  }

  .fq-q {
    font-size: 16.5px;
  }

  .fq-body-inner p {
    padding-left: 0;
    font-size: 14.5px;
  }
}

.fcta {
  padding: 140px 0;
  position: relative;
  overflow: hidden;
}

.fcta-bg {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, #070763 0%, #1431A7 100%);
}

.fcta-sphere {
  position: absolute;
  left: 10%;
  bottom: -30%;
  width: 700px;
  height: 700px;
  background: radial-gradient(circle, rgba(197, 214, 255, 0.25) 0%, transparent 60%);
  filter: blur(50px);
}

.fcta-inner {
  position: relative;
  z-index: 2;
}

.fcta-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: start;
}

.fcta-h2 {
  font-size: clamp(44px, 5vw, 72px);
  font-weight: 700;
  letter-spacing: -0.035em;
  line-height: 1;
  display: flex;
  flex-direction: column;
  margin-bottom: 28px;
}

.fcta-sub {
  font-size: 18px;
  line-height: 1.5;
  color: rgba(197, 214, 255, 0.85);
  margin-bottom: 32px;
  max-width: 440px;
}

.fcta-bullets {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding-top: 28px;
  border-top: 1px solid rgba(197, 214, 255, 0.18);
}

.fcta-bullets li {
  display: flex;
  gap: 12px;
  align-items: center;
  font-size: 15px;
  color: rgba(197, 214, 255, 0.9);
}

.fcta-form {
  background: #fff;
  border-radius: 8px;
  padding: 40px;
  color: var(--deep-carbon);
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.fcta-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.fcta-field label {
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(30, 30, 30, 0.68);
  font-weight: 500;
}

.fcta-field input,
.fcta-field textarea {
  font-family: inherit;
  font-size: 15px;
  padding: 12px 14px;
  border: 1px solid rgba(30, 30, 30, 0.12);
  border-radius: 4px;
  background: var(--neutral-mist);
  color: var(--deep-carbon);
  resize: vertical;
}

.fcta-field input:focus,
.fcta-field textarea:focus {
  outline: 2px solid var(--cyber-blue);
  outline-offset: -1px;
  background: #fff;
}

.fcta-submit {
  width: 100%;
  justify-content: center;
  padding: 16px;
  margin-top: 8px;
}

.fcta-gdpr {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  margin-top: 4px;
  cursor: pointer;
}

.fcta-gdpr input[type="checkbox"] {
  appearance: none;
  width: 14px !important;
  height: 14px;
  flex-shrink: 0;
  margin-top: 2px;
  border: 1px solid rgba(30, 30, 30, 0.25);
  border-radius: 2px;
  background: var(--neutral-mist);
  cursor: pointer;
  position: relative;
}

.fcta-gdpr input[type="checkbox"]:checked {
  background: var(--cyber-blue);
  border-color: var(--cyber-blue);
}

.fcta-gdpr input[type="checkbox"]:checked::after {
  content: '';
  position: absolute;
  left: 3px;
  top: 0px;
  width: 5px;
  height: 9px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

.fcta-gdpr span {
  font-size: 11.5px;
  color: var(--gray-80);
  letter-spacing: -0.005em;
  line-height: 1.4;
}

.fcta-foot {
  font-size: 11px;
  color: var(--gray-60);
  text-align: center;
  margin-top: 4px;
  letter-spacing: 0.02em;
}

.fcta-ok {
  text-align: center;
  padding: 40px 20px;
}

.fcta-ok h4 {
  font-size: 22px;
  font-weight: 600;
  margin: 16px 0 8px;
  color: var(--deep-navy);
}

.fcta-ok p {
  color: var(--gray-80);
  font-size: 14px;
}

@media (max-width: 900px) {
  .fcta-grid {
    grid-template-columns: 1fr;
    gap: 48px;
  }

  .fcta-form {
    padding: 28px;
  }
}

.footer {
  padding: 0;
  overflow: hidden;
  position: relative;
  background: var(--deep-navy);
}

.footer::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(197, 214, 255, 0.25) 50%, transparent);
}

.ft-main {
  display: grid;
  grid-template-columns: 1.3fr 1.8fr 1fr;
  gap: 72px;
  padding: 88px 0 72px;
  align-items: start;
}

.ft-logo {
  display: inline-flex;
  align-items: center;
}

.ft-logo-img {
  height: 26px;
  width: auto;
  display: block;
}

.ft-desc {
  margin: 20px 0 28px;
  font-size: 13px;
  line-height: 1.55;
  color: rgba(197, 214, 255, 0.7);
  max-width: 360px;
  text-wrap: pretty;
}

.ft-certs {
  display: flex;
  gap: 18px;
  margin-bottom: 36px;
  flex-wrap: wrap;
  align-items: center;
}

.ft-cert-logo {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  opacity: 0.78;
  border: 1px solid rgba(197, 214, 255, 0.16);
  border-radius: 10px;
  padding: 10px;
  transition: opacity 0.25s ease;
}

.ft-cert-logo img {
  width: 100%;
}

.ft-cert-logo:hover {
  opacity: 1;
}

.ft-dwr {
  max-width: 340px;
}

.ft-dwr-title {
  font-size: 12.5px;
  color: rgba(197, 214, 255, 0.75);
  margin-bottom: 12px;
  letter-spacing: -0.002em;
}

.ft-dwr-form {
  display: flex;
  background: rgba(197, 214, 255, 0.04);
  border: 1px solid rgba(197, 214, 255, 0.18);
  border-radius: 4px;
  overflow: hidden;
  transition: border-color 0.2s;
}

.ft-dwr-form:focus-within {
  border-color: rgba(197, 214, 255, 0.4);
}

.ft-dwr-input {
  flex: 1;
  min-width: 0;
  background: transparent;
  border: none;
  outline: none;

  font-family: inherit;
  font-size: 13px;
  color: #fff;
  letter-spacing: -0.002em;
}

.ft-dwr-input::placeholder {
  color: rgba(197, 214, 255, 0.64);
}

.ft-dwr-btn {
  background: rgba(255, 255, 255, 0.08);
  border: none;
  border-left: 1px solid rgba(197, 214, 255, 0.18);
  padding: 10px 18px;
  font-family: inherit;
  font-size: 13px;
  font-weight: 500;
  color: #fff;
  cursor: pointer;
  transition: background 0.2s;
  letter-spacing: -0.002em;
}

.ft-dwr-btn:hover {
  background: rgba(255, 255, 255, 0.15);
}

.ft-cols {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 32px;
}

.ft-col h5,
.ft-col .ft-col-title {
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(197, 214, 255, 0.64);
  margin: 0 0 18px;
}

.ft-col ul,
.ft-right-block ul {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 0;
  margin: 0;
}

.ft-col a {
  font-size: 13px;
  color: #fff;
  text-decoration: none;
  transition: color 0.2s;
  line-height: 1.45;
  font-weight: 400;
}

.ft-col a:hover {
  color: var(--soft-signal);
}

.ft-right-col {
  display: flex;
  flex-direction: column;
  gap: 36px;
}

.ft-right-block h5,
.ft-right-block .ft-col-title {
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(197, 214, 255, 0.64);
  margin: 0 0 18px;
}

.ft-right-block li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  color: rgba(197, 214, 255, 0.7);
  font-size: 13px;
}

.ft-right-block a {
  color: #fff;
  text-decoration: none;
  transition: color 0.2s;
  line-height: 1.45;
}

.ft-right-block a:hover {
  color: var(--soft-signal);
}

.ft-contact-ic {
  color: rgba(197, 214, 255, 0.64);
  flex-shrink: 0;
  padding-top: 2px;
}

.ft-addr {
  font-size: 12.5px;
  color: rgba(197, 214, 255, 0.65);
  line-height: 1.5;
  text-wrap: pretty;
}

.ft-social {
  display: flex;
  gap: 8px;
}

.ft-social a {
  width: 36px;
  height: 36px;
  border-radius: 4px;
  background: rgba(197, 214, 255, 0.08);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s, transform 0.2s;
}

.ft-social a:hover {
  background: rgba(197, 214, 255, 0.15);
  transform: translateY(-1px);
}

.ft-legal-bar {
  padding: 22px 0;
  border-top: 1px solid rgba(197, 214, 255, 0.1);
}

.ft-legal-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
  font-size: 11px;
  color: rgba(197, 214, 255, 0.64);
  letter-spacing: 0.01em;
}

.ft-legal {
  display: flex;
  gap: 24px;
  flex-wrap: wrap;
}

.ft-legal a {
  color: rgba(197, 214, 255, 0.64);
  text-decoration: none;
  transition: color 0.2s;
}

.ft-legal a:hover {
  color: #fff;
}

@media (max-width: 1200px) {
  .ft-main {
    grid-template-columns: 1fr 1fr;
    gap: 56px;
  }

  .ft-right-col {
    grid-column: 1 / -1;
    flex-direction: row;
    gap: 56px;
  }
}

@media (max-width: 700px) {
  .ft-main {
    grid-template-columns: 1fr;
    gap: 48px;
    padding: 64px 0 48px;
  }

  .ft-cols {
    grid-template-columns: repeat(2, 1fr);
    gap: 32px;
  }

  .ft-right-col {
    flex-direction: column;
    gap: 32px;
  }

  .ft-legal-inner {
    flex-direction: column;
    align-items: flex-start;
  }
}

.hero {
  padding-top: 120px;
  padding-bottom: 64px;
  overflow: hidden;
  position: relative;
  color: #fff;
}

.hero-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.hero-bg-gradient {
  background: linear-gradient(135deg, #070763 0%, #0b1078 45%, #1431A7 75%, #5d73c7 100%);
}

.hero-bg-solid {
  background: #070763;
}

.hero-bg-imagery {
  background: linear-gradient(135deg, #050548 0%, #070763 50%, #0f1a8a 100%);
}

.hero-bg-imagery::after {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    radial-gradient(1200px 800px at 85% 35%, rgba(197, 214, 255, 0.3), transparent 60%),
    radial-gradient(800px 600px at 15% 80%, rgba(20, 49, 167, 0.4), transparent 60%);
}

.hero-sphere {
  position: absolute;
  right: -5%;
  top: 10%;
  width: 720px;
  height: 720px;
  background: radial-gradient(circle, rgba(197, 214, 255, 0.35) 0%, rgba(20, 49, 167, 0.18) 40%, transparent 70%);
  filter: blur(40px);
  border-radius: 50%;
  pointer-events: none;
}

.hero-arcs {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  will-change: transform;
}

.hero-grid {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(197, 214, 255, 0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(197, 214, 255, 0.04) 1px, transparent 1px);
  background-size: 80px 80px;
  pointer-events: none;
  mask-image: linear-gradient(180deg, transparent 0%, rgba(0, 0, 0, 0.5) 30%, rgba(0, 0, 0, 0.5) 70%, transparent 100%);
}

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

.hero-grid-cols {
  display: grid;
  grid-template-columns: 1.25fr 1fr;
  gap: 64px;
  align-items: center;
}

.hero-proof {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 40px;
}

.hs-stars {
  display: inline-flex;
  gap: 2px;
  align-items: center;
}

.hero-proof-text {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.72);
  letter-spacing: -0.005em;
  font-weight: 400;
}

.hero-h1 {
  font-size: clamp(38px, 4.2vw, 60px);
  font-weight: 800;
  letter-spacing: -0.035em;
  line-height: 0.98;
  margin-bottom: 22px;
  max-width: 540px;
}

.h1-line {
  display: block;
}

.grad-text {
  background: linear-gradient(135deg, #ffffff 0%, #C5D6FF 60%, #8aa1e0 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  padding-bottom: 4px;
}

.hero-sub {
  font-size: clamp(16px, 1.2vw, 18px);
  font-weight: 400;
  line-height: 1.45;
  color: rgba(255, 255, 255, 0.78);
  max-width: 520px;
  margin-bottom: 28px;
}

.hero-cta {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 14px;
}

.hero-micro {
  font-size: 12px;
  color: var(--soft-signal);
  opacity: 0.65;
  letter-spacing: 0.02em;
  margin-bottom: 48px;
}

.hero-trust {
  display: flex;
  flex-wrap: wrap;
  gap: 26px;
  padding-top: 22px;
  border-top: 1px solid rgba(197, 214, 255, 0.18);
  align-items: center;
}

.hero-cb-tile {
  display: inline-flex;
  height: 56px;
  padding: 6px 12px;
  background: rgba(197, 214, 255, 0.06);
  border: 1px solid rgba(197, 214, 255, 0.16);
  border-radius: 10px;
  backdrop-filter: blur(10px);
  align-items: center;
  justify-content: center;
  transition: border-color 0.25s, background 0.25s, transform 0.25s;
}

.hero-cb-tile:hover {
  border-color: rgba(197, 214, 255, 0.32);
  background: rgba(197, 214, 255, 0.09);
  transform: translateY(-1px);
}

.hero-cb-tile-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
}

.hero-cb-tile img {
  display: block;
  height: 100%;
  width: auto;
  max-height: 44px;
  object-fit: contain;
}

.hero-cb-square {
  min-width: 56px;
}

.hero-cb-tall {
  min-width: 48px;
}

.hero-visual {
  position: relative;
  will-change: transform;
}

.hero-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #C5D6FF;
  opacity: 0.85;
  padding: 6px 13px;
  border: 1px solid rgba(197, 214, 255, 0.22);
  border-radius: 999px;
  background: rgba(197, 214, 255, 0.05);
  margin-bottom: 22px;
}

.he-dot {
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #67e0a8;
  box-shadow: 0 0 8px #67e0a8;
  animation: hero-dot-pulse 1.6s infinite ease-in-out;
}

@keyframes hero-dot-pulse {
  50% {
    opacity: 0.45;
  }
}

.hero-cta {
  margin-bottom: 24px;
}

.hero-proof {
  margin-bottom: 0;
  padding-bottom: 20px;
}

.hero-locka-wrap {
  position: relative;
  width: 110%;
  aspect-ratio: 1 / 1;
  max-width: 620px;
  margin-left: auto;
  margin-right: -8%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.hero-locka-halo {
  position: absolute;
  inset: 6%;
  background: radial-gradient(circle at 50% 55%, rgba(197, 214, 255, 0.18) 0%, rgba(197, 214, 255, 0.05) 45%, transparent 70%);
  filter: blur(32px);
  pointer-events: none;
  animation: hero-locka-breathe 6s ease-in-out infinite;
}

@keyframes hero-locka-breathe {

  0%,
  100% {
    opacity: 0.85;
    transform: scale(1);
  }

  50% {
    opacity: 1;
    transform: scale(1.06);
  }
}

.hero-locka-svg {
  position: relative;
  width: 92%;
  height: 92%;
  display: block;
  opacity: 0.95;
}

@media (max-width: 1024px) {
  .hero-locka-wrap {
    margin-left: 0;
    margin-right: 0;
    max-width: 420px;
    width: 100%;
  }
}

@media (max-width: 1024px) {
  .hero-grid-cols {
    grid-template-columns: 1fr;
    gap: 48px;
  }

  .hero {
    padding-top: 120px;
    min-height: auto;
  }
}

.dwc-card {
  position: relative;
  background: rgba(7, 7, 99, 0.55);
  backdrop-filter: blur(18px);
  border: 1px solid rgba(197, 214, 255, 0.2);
  border-radius: 12px;
  padding: 32px 30px 28px;
  box-shadow: 0 40px 100px -24px rgba(0, 0, 24, 0.65), 0 0 0 1px rgba(197, 214, 255, 0.06);
  overflow: hidden;
  max-width: 480px;
  margin-left: auto;
}

.dwc-backdrop {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  mask-image: radial-gradient(80% 60% at 50% 40%, #000 30%, transparent 70%);
}

.dwc-title {
  position: relative;
  z-index: 1;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.025em;
  color: #fff;
  margin-bottom: 22px;
  text-wrap: pretty;
}

.dwc-form {
  position: relative;
  z-index: 1;
}

.dwc-field-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px 12px;
  margin-bottom: 4px;
}

.dwc-field {
  display: flex;
  flex-direction: column;
}

.dwc-field-wide {
  grid-column: 1 / -1;
}

.dwc-label {
  font-size: 9.5px;
  color: rgba(197, 214, 255, 0.64);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin-bottom: 6px;
  display: block;
  font-weight: 500;
}

.dwc-input-plain,
.dwc-select {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(197, 214, 255, 0.2);
  border-radius: 4px;
  padding: 11px 12px;
  color: #fff;
  font-family: inherit;
  font-size: 13.5px;
  letter-spacing: -0.003em;
  outline: none;
  transition: border-color 0.2s, background 0.2s;
  width: 100%;
}

.dwc-input-plain::placeholder {
  color: rgba(197, 214, 255, 0.64);
}

.dwc-input-plain:focus,
.dwc-select:focus {
  border-color: #C5D6FF;
  background: rgba(255, 255, 255, 0.08);
}

.dwc-select-wrap {
  position: relative;
}

.dwc-select {
  appearance: none;
  padding-right: 28px;
  cursor: pointer;
}

.dwc-select option {
  background: #0b1078;
  color: #fff;
}

.dwc-caret {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 10px;
  color: rgba(197, 214, 255, 0.64);
  pointer-events: none;
}

.dwc-input-row {
  display: flex;
  align-items: center;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(197, 214, 255, 0.2);
  border-radius: 4px;
  padding: 0 12px;
  transition: border-color 0.2s, background 0.2s;
}

.dwc-input-row:focus-within {
  border-color: #C5D6FF;
  background: rgba(255, 255, 255, 0.08);
}

.dwc-prefix {
  font-size: 11.5px;
  color: rgba(197, 214, 255, 0.64);
  padding-right: 6px;
  border-right: 1px solid rgba(197, 214, 255, 0.15);
  margin-right: 9px;
}

.dwc-input {
  flex: 1;
  background: none;
  border: none;
  outline: none;
  padding: 11px 0;
  color: #fff;
  font-family: inherit;
  font-size: 13.5px;
  letter-spacing: -0.003em;
}

.dwc-input::placeholder {
  color: rgba(197, 214, 255, 0.64);
}

.dwc-cta {
  width: 100%;
  margin-top: 14px;
  padding: 14px 18px;
  background: #fff;
  color: var(--deep-navy);
  border: none;
  border-radius: 4px;
  font-family: inherit;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: -0.005em;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  transition: background 0.2s, color 0.2s, transform 0.15s;
}

.dwc-cta:hover:not(:disabled) {
  background: #C5D6FF;
  transform: translateY(-1px);
}

.dwc-cta:disabled {
  cursor: default;
  opacity: 1;
  background: rgba(197, 214, 255, 0.15);
  color: #C5D6FF;
}

.dwc-cta-busy {
  background: rgba(197, 214, 255, 0.12) !important;
  color: #C5D6FF !important;
}

.dwc-arrow {
  font-size: 14px;
}

.dwc-scan {
  position: relative;
  z-index: 1;
  margin-top: 16px;
  padding: 14px;
  background: rgba(0, 0, 0, 0.2);
  border: 1px solid rgba(197, 214, 255, 0.1);
  border-radius: 4px;
}

.dwc-scan-head {
  font-size: 10px;
  color: #C5D6FF;
  opacity: 0.6;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 8px;
}

.dwc-scan-line {
  font-size: 11px;
  color: rgba(197, 214, 255, 0.75);
  padding: 2px 0;
  letter-spacing: 0.01em;
  animation: dwc-line-in 0.28s ease;
}

.dwc-scan-check {
  color: #67e0a8;
  margin-right: 6px;
}

@keyframes dwc-line-in {
  from {
    opacity: 0;
    transform: translateX(-4px);
  }

  to {
    opacity: 1;
    transform: translateX(0);
  }
}

.dwc-gdpr {
  position: relative;
  z-index: 1;
  display: flex;
  gap: 10px;
  align-items: flex-start;
  margin-top: 14px;
  margin-bottom: 4px;
  cursor: pointer;
}

.dwc-gdpr input[type="checkbox"] {
  appearance: none;
  width: 14px;
  height: 14px;
  flex-shrink: 0;
  margin-top: 2px;
  border: 1px solid rgba(197, 214, 255, 0.4);
  border-radius: 2px;
  background: rgba(255, 255, 255, 0.06);
  cursor: pointer;
  position: relative;
}

.dwc-gdpr input[type="checkbox"]:checked {
  background: #C5D6FF;
  border-color: #C5D6FF;
}

.dwc-gdpr input[type="checkbox"]:checked::after {
  content: '';
  position: absolute;
  left: 3px;
  top: 0px;
  width: 5px;
  height: 9px;
  border: solid var(--deep-navy);
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

.dwc-gdpr span {
  font-size: 11px;
  color: rgba(197, 214, 255, 0.65);
  letter-spacing: 0.01em;
  line-height: 1.4;
}

@media (max-width: 1024px) {
  .dwc-card {
    max-width: none;
    margin-left: 0;
  }
}

.icta-review {
  padding: 40px 0;
  background: #fff;
  border-top: 1px solid rgba(30, 30, 30, 0.06);
  border-bottom: 1px solid rgba(30, 30, 30, 0.06);
}

.icta-review .icta-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
}

.icta-rev-left {
  display: flex;
  align-items: center;
  gap: 24px;
}

.icta-stars {
  display: inline-flex;
  gap: 3px;
  color: #F5A623;
}

.icta-rev-score {
  display: inline-flex;
  align-items: baseline;
  gap: 3px;
  padding: 0 20px;
  border-left: 1px solid rgba(30, 30, 30, 0.1);
  border-right: 1px solid rgba(30, 30, 30, 0.1);
}

.icta-rev-num {
  font-size: 34px;
  font-weight: 600;
  color: var(--deep-navy);
  letter-spacing: -0.03em;
  line-height: 1;
}

.icta-rev-out {
  font-size: 14px;
  color: var(--gray-60);
}

.icta-rev-headline {
  font-size: 14px;
  font-weight: 600;
  color: var(--deep-navy);
  letter-spacing: -0.005em;
  margin-bottom: 3px;
}

.icta-rev-sub {
  font-size: 11px;
  color: var(--gray-60);
  letter-spacing: 0.02em;
}

.icta-rev-right {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.icta-rev-src {
  font-size: 11px;
  font-weight: 500;
  padding: 4px 10px;
  border: 1px solid rgba(30, 30, 30, 0.12);
  border-radius: 3px;
  color: var(--gray-80);
  letter-spacing: 0.01em;
}

@media (max-width: 900px) {
  .icta-review .icta-inner {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
  }

  .icta-rev-left {
    flex-wrap: wrap;
    gap: 16px;
  }

  .icta-rev-score {
    padding-left: 0;
    border-left: none;
  }
}

.icta-mini {
  padding: 48px 0;
  background: var(--neutral-mist);
  border-top: 1px solid rgba(30, 30, 30, 0.05);
  border-bottom: 1px solid rgba(30, 30, 30, 0.05);
  position: relative;
  overflow: hidden;
}

.icta-mini::before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  right: -5%;
  width: 500px;
  background: radial-gradient(ellipse at center, rgba(20, 49, 167, 0.06) 0%, transparent 60%);
  pointer-events: none;
}

.icta-mini .icta-inner {
  display: grid;
  grid-template-columns: 1.5fr 1fr;
  gap: 40px;
  align-items: center;
  position: relative;
}

.icta-mini-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 10.5px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--cyber-blue);
  font-weight: 500;
  margin-bottom: 10px;
}

.icta-mini-dot {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--cyber-blue);
  box-shadow: 0 0 10px rgba(20, 49, 167, 0.6);
  animation: icta-mini-pulse 2s ease-in-out infinite;
}

@keyframes icta-mini-pulse {

  0%,
  100% {
    opacity: 1;
  }

  50% {
    opacity: 0.4;
  }
}

.icta-mini-title {
  font-size: clamp(22px, 2.4vw, 28px);
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.2;
  color: var(--deep-navy);
  margin: 0 0 8px;
  text-wrap: balance;
}

.icta-mini-sub {
  font-size: 14px;
  color: var(--gray-80);
  line-height: 1.55;
  max-width: 540px;
  text-wrap: pretty;
  margin: 0;
}

.icta-mini-right {
  justify-self: end;
  text-align: right;
}

.icta-mini-cta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 14px 22px;
  background: var(--deep-navy);
  color: #fff;
  border-radius: 4px;
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
  letter-spacing: -0.005em;
  transition: background 0.2s, transform 0.2s;
}

.icta-mini-cta:hover {
  background: var(--cyber-blue);
  transform: translateY(-1px);
}

.icta-mini-meta {
  margin-top: 10px;
  font-size: 11px;
  color: var(--gray-60);
  letter-spacing: 0.02em;
}

@media (max-width: 900px) {
  .icta-mini .icta-inner {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .icta-mini-right {
    justify-self: start;
    text-align: left;
  }
}

.method {
  padding: var(--section-pad) 0;
  background: #ffffff;
  border-top: 1px solid rgba(30, 30, 30, 0.05);
  border-bottom: 1px solid rgba(30, 30, 30, 0.05);
  position: relative;
}

.method .sec-h2 {
  color: var(--deep-navy);
}

.method .sec-sub {
  color: var(--gray-80);
}

.method-inner {
  position: relative;
  z-index: 2;
}

.mt-wrap {
  position: relative;
  margin-top: 72px;
}

.mt-rail {
  position: absolute;
  left: 0;
  right: 0;
  top: 72px;
  height: 1px;
  background: rgba(30, 30, 30, 0.1);
  overflow: hidden;
}

.mt-rail-bar {
  height: 100%;
  width: 0;
  background: linear-gradient(90deg, var(--cyber-blue), #C5D6FF);
  transition: width 2.4s cubic-bezier(.2, .8, .2, 1);
}

.mt-rail-bar-on {
  width: 100%;
}

.mt-phases {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 0;
  position: relative;
}

.mt-phase {
  padding: 0 16px 24px;
  border-right: 1px solid rgba(30, 30, 30, 0.07);
}

.mt-phase:last-child {
  border-right: none;
}

.mt-phase-head {
  position: relative;
  padding-bottom: 44px;
  margin-bottom: 8px;
}

.mt-n {
  font-size: 11px;
  letter-spacing: 0.08em;
  color: rgba(30, 30, 30, 0.68);
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.mt-n-slash {
  color: var(--cyber-blue);
}

.mt-n-num {
  font-weight: 500;
}

.mt-marker {
  position: absolute;
  left: 0;
  top: 28px;
  width: 28px;
  height: 28px;
}

.mt-marker-ring {
  position: absolute;
  inset: 0;
  border: 1px solid rgba(30, 30, 30, 0.15);
  border-radius: 50%;
  background: #fff;
}

.mt-marker-dot {
  position: absolute;
  inset: 0;
  margin: auto;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--cyber-blue);
  box-shadow: 0 0 10px rgba(20, 49, 167, 0.35);
}

.mt-glyph {
  margin-top: 24px;
  margin-bottom: 20px;
  opacity: 0.9;
  transition: transform 0.3s;
}

.mph-sweep {
  transform-origin: 40px 40px;
  animation: mph-rot 6s linear infinite;
}

@keyframes mph-rot {
  to {
    transform: rotate(360deg);
  }
}

.mph-pick {
  animation: mph-pick 3s ease-in-out infinite;
}

@keyframes mph-pick {

  0%,
  100% {
    transform: translateX(0);
  }

  50% {
    transform: translateX(3px);
  }
}

.mph-bug {
  transform-origin: 34px 34px;
  animation: mph-bug 2.4s ease-in-out infinite;
}

@keyframes mph-bug {

  0%,
  100% {
    transform: translate(0, 0);
  }

  50% {
    transform: translate(1px, -1px);
  }
}

.mph-spot {
  transform-origin: 34px 34px;
  animation: mph-spot 2.4s ease-out infinite;
}

@keyframes mph-spot {
  0% {
    transform: scale(0.6);
    opacity: 0.6;
  }

  100% {
    transform: scale(1.25);
    opacity: 0;
  }
}

.mph-impact {
  animation: mph-impact 2.2s ease-in-out infinite;
}

@keyframes mph-impact {

  0%,
  100% {
    opacity: 0.9;
  }

  50% {
    opacity: 0.55;
  }
}

.mph-impact-ring {
  transform-origin: 40px 42px;
  animation: mph-impact-ring 2.2s ease-out infinite;
}

@keyframes mph-impact-ring {
  0% {
    transform: scale(1);
    opacity: 0.85;
  }

  100% {
    transform: scale(4);
    opacity: 0;
  }
}

.mph-retest-rot {
  transform-origin: 40px 40px;
  animation: mph-rot 4s linear infinite;
}

@media (prefers-reduced-motion: reduce) {
  .mph-retest-rot {
    animation: none;
  }
}

.mph-check {
  stroke-dasharray: 40;
  stroke-dashoffset: 40;
  animation: mph-check-draw 4s ease-in-out infinite;
}

@keyframes mph-check-draw {
  0% {
    stroke-dashoffset: 40;
  }

  40%,
  60% {
    stroke-dashoffset: 0;
  }

  100% {
    stroke-dashoffset: -40;
  }
}

.mt-phase h4,
.mt-phase h3 {
  font-size: 15px;
  font-weight: 600;
  letter-spacing: -0.015em;
  line-height: 1.25;
  margin-bottom: 14px;
  color: var(--deep-navy);
  min-height: 38px;
}

.mt-del {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 0;
  margin: 0;
}

.mt-del li {
  font-size: 11.5px;
  color: var(--gray-80);
  line-height: 1.45;
  padding-left: 12px;
  position: relative;
}

.mt-del-bullet {
  position: absolute;
  left: 0;
  top: 7px;
  width: 6px;
  height: 1px;
  background: var(--cyber-blue);
}

.mt-live {
  margin-top: 18px;
  padding: 6px 10px;
  background: rgba(20, 49, 167, 0.08);
  border: 1px solid rgba(20, 49, 167, 0.2);
  border-radius: 3px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 10px;
  color: var(--cyber-blue);
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.mt-live-dot {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--cyber-blue);
}

@media (max-width: 960px) {
  .mt-phases {
    grid-template-columns: 1fr;
  }

  .mt-phase {
    border-right: none;
    border-bottom: 1px solid rgba(30, 30, 30, 0.07);
    padding: 32px 0;
  }

  .mt-rail {
    display: none;
  }
}

.midcta {
  padding: var(--section-pad) 0;
  background: var(--neutral-mist);
}

.mc-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center;
}

.mc-eyebrow {
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--cyber-blue);
  font-weight: 600;
  margin-bottom: 18px;
}

.mc-title {
  font-size: clamp(36px, 4vw, 56px);
  font-weight: 600;
  letter-spacing: -0.03em;
  line-height: 1.02;
  margin-bottom: 20px;
  color: var(--deep-navy);
}

.mc-sub {
  font-size: 17px;
  color: var(--gray-80);
  line-height: 1.55;
  margin-bottom: 32px;
  max-width: 480px;
}

.mc-bullets {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.mc-bullets li {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 14px;
  color: var(--deep-carbon);
}

.mc-form {
  background: #fff;
  padding: 40px;
  border-radius: 10px;
  border: 1px solid rgba(30, 30, 30, 0.06);
  box-shadow: 0 30px 80px -20px rgba(7, 7, 99, 0.1);
}

.mc-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-bottom: 14px;
}

.mc-form label {
  display: block;
  position: relative;
}

.mc-form label span {
  display: block;
  font-size: 11px;
  color: rgba(30, 30, 30, 0.68);
  margin-bottom: 6px;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  font-weight: 500;
}

.mc-form input,
.mc-form textarea {
  width: 100%;
  padding: 12px 14px;
  border: 1px solid rgba(30, 30, 30, 0.12);
  border-radius: 6px;
  font-family: inherit;
  font-size: 14px;
  background: #fff;
  color: var(--deep-carbon);
  transition: border-color 0.2s, box-shadow 0.2s;
  resize: vertical;
}

.mc-form input:focus,
.mc-form textarea:focus {
  outline: none;
  border-color: var(--cyber-blue);
  box-shadow: 0 0 0 3px rgba(20, 49, 167, 0.1);
}

.mc-full {
  margin-bottom: 16px;
}

.mc-gdpr {
  display: flex !important;
  gap: 10px;
  align-items: flex-start;
  margin-bottom: 20px !important;
  cursor: pointer;
}

.mc-gdpr input[type="checkbox"] {
  appearance: none;
  width: 14px;
  height: 14px;
  flex-shrink: 0;
  margin-top: 2px;
  border: 1px solid rgba(30, 30, 30, 0.25);
  border-radius: 2px;
  background: #fff;
  cursor: pointer;
  position: relative;
}

.mc-gdpr input[type="checkbox"]:checked {
  background: var(--cyber-blue);
  border-color: var(--cyber-blue);
}

.mc-gdpr input[type="checkbox"]:checked::after {
  content: '';
  position: absolute;
  left: 3px;
  top: 0px;
  width: 5px;
  height: 9px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

.mc-gdpr span {
  font-size: 11.5px;
  color: var(--gray-80);
  letter-spacing: -0.005em;
  line-height: 1.4;
  text-transform: none !important;
  font-weight: 400 !important;
  margin: 0 !important;
}

.mc-submit {
  width: 100%;
  justify-content: center;
  padding: 14px;
  font-size: 14px;
}

.mc-done {
  text-align: center;
  padding: 40px 0;
}

.mc-done-icon {
  margin-bottom: 18px;
}

.mc-done h3 {
  font-size: 24px;
  font-weight: 600;
  letter-spacing: -0.02em;
  margin-bottom: 10px;
  color: var(--deep-navy);
}

.mc-done p {
  font-size: 14px;
  color: var(--gray-80);
  max-width: 340px;
  margin: 0 auto;
}

@media (max-width: 900px) {
  .mc-inner {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .mc-row {
    grid-template-columns: 1fr;
  }

  .mc-form {
    padding: 28px;
  }
}

.nav {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;
  transition: background 0.3s ease, backdrop-filter 0.3s ease, border-color 0.3s ease;
}

.nav-dark {
  background: var(--deep-navy);
  backdrop-filter: blur(8px);
}

.nav-light {
  background: rgba(255, 255, 255, 0.6);
  backdrop-filter: blur(8px);
}

.nav-scrolled {
  backdrop-filter: blur(24px);
  border-bottom: 1px solid transparent;
}

.nav-dark.nav-scrolled {
  background: rgba(7, 7, 99, 0.92);
  border-bottom-color: rgba(197, 214, 255, 0.08);
}

.nav-light.nav-scrolled {
  background: rgba(255, 255, 255, 0.95);
  border-bottom-color: rgba(30, 30, 30, 0.08);
}

.nav-mega-open.nav-dark {
  background: #070763;
  backdrop-filter: none;
}

.nav-mega-open.nav-light {
  background: #fff;
  backdrop-filter: none;
}

.nav-inner {
  max-width: 1440px;
  margin: 0 auto;
  padding: 18px 40px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 40px;
}

.nav-logo {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
}

.nav-logo-img {
  height: 28px;
  width: auto;
  display: block;
  transition: filter 0.3s ease;
}

.nav-logo-img-dark {
  filter: none;
}

.nav-logo-img-light {

  filter: brightness(0) saturate(100%) invert(10%) sepia(79%) saturate(3841%) hue-rotate(235deg) brightness(70%) contrast(110%);
}

.nav-links {
  display: flex;
  gap: 4px;
  justify-content: center;
  align-items: center;
}

.nav-link {
  font-family: inherit;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: -0.005em;
  text-decoration: none;
  padding: 10px 14px;
  border-radius: 4px;
  background: none;
  border: none;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: color 0.2s, background 0.2s;
}

.nav-dark .nav-link {
  color: rgba(255, 255, 255, 0.9);
}

.nav-light .nav-link {
  color: var(--deep-carbon);
}

.nav-dark .nav-link:hover,
.nav-dark .nav-link.active {
  color: #fff;
  background: rgba(197, 214, 255, 0.1);
}

.nav-light .nav-link:hover,
.nav-light .nav-link.active {
  color: var(--deep-navy);
  background: rgba(7, 7, 99, 0.05);
}

.caret {
  font-size: 10px;
  opacity: 0.6;
}

.nav-drop {
  position: static;
}

.nav-right {
  display: flex;
  align-items: center;
  gap: 10px;
}

.btn-nav-cta {
  padding: 10px 18px;
  font-size: 13px;
  font-weight: 500;
  border: 1.5px solid;
  border-radius: 4px;
  text-decoration: none;
  transition: all 0.2s;
  letter-spacing: -0.005em;
}

.btn-nav-arrow {
  width: 38px;
  height: 38px;
  border: 1.5px solid;
  border-radius: 4px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  font-size: 16px;
  font-weight: 500;
  transition: all 0.2s;
}

.nav-dark .btn-nav-cta,
.nav-dark .btn-nav-arrow {
  border-color: rgba(197, 214, 255, 0.45);
  color: #fff;
}

.nav-dark .btn-nav-cta:hover,
.nav-dark .btn-nav-arrow:hover {
  background: #fff;
  color: var(--deep-navy);
  border-color: #fff;
}

.nav-light .btn-nav-cta,
.nav-light .btn-nav-arrow {
  border-color: var(--deep-navy);
  color: var(--deep-navy);
}

.nav-light .btn-nav-cta:hover,
.nav-light .btn-nav-arrow:hover {
  background: var(--deep-navy);
  color: #fff;
}

.nav-dark .btn-nav-cta-strong {
  background: var(--cyber-blue);
  border-color: var(--cyber-blue);
  color: #fff;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.06) inset, 0 6px 18px rgba(20, 49, 167, 0.35);
}

.nav-dark .btn-nav-cta-strong:hover {
  background: #fff;
  color: var(--deep-navy);
  border-color: #fff;
  box-shadow: 0 6px 22px rgba(0, 0, 0, 0.18);
}

.nav-light .btn-nav-cta-strong {
  background: var(--deep-navy);
  border-color: var(--deep-navy);
  color: #fff;
  box-shadow: 0 6px 18px rgba(7, 7, 99, 0.18);
}

.nav-light .btn-nav-cta-strong:hover {
  background: var(--cyber-blue);
  border-color: var(--cyber-blue);
  color: #fff;
}

.btn-nav-cta-strong {
  font-weight: 600;
  letter-spacing: 0.01em;
}

.nav-link .caret {
  display: inline-block;
  margin-left: 4px;
  font-size: 11px;
  opacity: 0.85;
  transform: translateY(-1px);
  transition: transform 0.18s;
}

.nav-link.active .caret,
.nav-drop:hover .caret {
  transform: translateY(1px);
  opacity: 1;
}

.nav-dark .lang-switch button {
  font-weight: 600;
}

.nav-light .lang-switch button {
  font-weight: 600;
}

.lang-switch {
  display: inline-flex;
  gap: 4px;
  align-items: center;
  font-size: 12px;
  letter-spacing: 0.04em;
  padding: 0 0 0 10px;
  border-left: 1px solid;
}

.nav-dark .lang-switch {
  border-color: rgba(197, 214, 255, 0.2);
  color: #fff;
}

.nav-light .lang-switch {
  border-color: rgba(30, 30, 30, 0.12);
  color: var(--deep-carbon);
}

.lang-switch button {
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px 6px;
  font-family: inherit;
  font-weight: 500;
  color: inherit;
  opacity: 0.5;
  font-size: 12px;
}

.lang-switch button.on {
  opacity: 1;
}

.lang-switch span {
  opacity: 0.3;
}

.nav-burger {
  display: none;
}

.mega {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  animation: mega-slide 0.22s cubic-bezier(.2, .8, .2, 1);
}

.nav-dark .mega {
  background: #070763;
  border-bottom: 1px solid rgba(197, 214, 255, 0.15);
  box-shadow: 0 30px 60px -20px rgba(0, 0, 24, 0.4);
}

.nav-light .mega {
  background: #fff;
  border-bottom: 1px solid rgba(30, 30, 30, 0.08);
  box-shadow: 0 30px 60px -20px rgba(7, 7, 99, 0.15);
}

@keyframes mega-slide {
  from {
    opacity: 0;
    transform: translateY(-8px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.mega-inner {
  max-width: 1440px;
  margin: 0 auto;
  padding: 40px 40px 44px;
  display: grid;
  gap: 48px;
}

.mega-services {
  grid-template-columns: 2fr 1fr 1.4fr;
}

.mega-solutions {
  grid-template-columns: 1fr 1fr 1.6fr;
}

.mega-simple {
  grid-template-columns: 1fr 1.4fr;
}

.mega-two-col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 40px;
}

.mega-col {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.mega-col-wide {}

.mega-col-panel {
  min-height: 240px;
  display: flex;
  align-items: stretch;
  justify-content: stretch;
}

.nav-panel {
  flex: 1;
  display: flex;
  flex-direction: column;
  padding: 24px;
  border-radius: 10px;
}

.nav-dark .nav-panel {
  background: rgba(197, 214, 255, 0.04);
  border: 1px solid rgba(197, 214, 255, 0.1);
}

.nav-light .nav-panel {
  background: #f5f8ff;
  border: 1px solid rgba(7, 7, 99, 0.08);
}

.nav-panel-eyebrow {
  font-size: 10px;
  letter-spacing: 0.2em;
  font-weight: 600;
  margin-bottom: 14px;
}

.nav-dark .nav-panel-eyebrow {
  color: #C5D6FF;
}

.nav-light .nav-panel-eyebrow {
  color: var(--cyber-blue);
}

.nav-panel-title {
  font-size: 19px;
  line-height: 1.2;
  font-weight: 500;
  letter-spacing: -0.015em;
  margin-bottom: 10px;
  text-wrap: pretty;
}

.nav-panel-title-sm {
  font-size: 15px;
}

.nav-dark .nav-panel-title {
  color: #fff;
}

.nav-light .nav-panel-title {
  color: var(--deep-navy);
}

.nav-panel-body {
  font-size: 13px;
  line-height: 1.45;
  letter-spacing: -0.003em;
  margin: 0 0 18px 0;
  text-wrap: pretty;
}

.nav-panel-body-sm {
  font-size: 12.5px;
  margin-bottom: 12px;
}

.nav-dark .nav-panel-body {
  color: rgba(255, 255, 255, 0.7);
}

.nav-light .nav-panel-body {
  color: rgba(30, 30, 30, 0.7);
}

.nav-panel-cta {
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: inherit;
  font-size: 13.5px;
  font-weight: 500;
  letter-spacing: -0.005em;
  padding: 12px 18px;
  border-radius: 6px;
  border: none;
  cursor: pointer;
  transition: transform 0.2s, box-shadow 0.2s, background 0.2s;
}

.nav-dark .nav-panel-cta {
  background: #C5D6FF;
  color: var(--deep-navy);
}

.nav-dark .nav-panel-cta:hover {
  background: #fff;
  transform: translateY(-1px);
}

.nav-light .nav-panel-cta {
  background: var(--deep-navy);
  color: #fff;
}

.nav-light .nav-panel-cta:hover {
  background: var(--cyber-blue);
  transform: translateY(-1px);
}

.nav-panel-cta-arrow {
  transition: transform 0.2s;
}

.nav-panel-cta:hover .nav-panel-cta-arrow {
  transform: translateX(3px);
}

.nav-panel-meta {
  margin-top: auto;
  padding-top: 20px;
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 10px;
  letter-spacing: 0.15em;
}

.nav-dark .nav-panel-meta {
  color: rgba(255, 255, 255, 0.7);
}

.nav-light .nav-panel-meta {
  color: rgba(30, 30, 30, 0.68);
}

.nav-panel-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #16823E;
  box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.6);
  animation: nav-pulse 2s infinite;
}

@keyframes nav-pulse {
  0% {
    box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.55);
  }

  70% {
    box-shadow: 0 0 0 8px rgba(34, 197, 94, 0);
  }

  100% {
    box-shadow: 0 0 0 0 rgba(34, 197, 94, 0);
  }
}

.nav-panel-solutions {
  padding: 0;
  gap: 0;
  overflow: hidden;
}

.nav-panel-ticker {
  padding: 20px 20px 16px;
  border-bottom: 1px solid;
}

.nav-dark .nav-panel-ticker {
  border-color: rgba(197, 214, 255, 0.1);
}

.nav-light .nav-panel-ticker {
  border-color: rgba(7, 7, 99, 0.08);
}

.nav-panel-ticker-head {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 10px;
  letter-spacing: 0.18em;
  margin-bottom: 14px;
}

.nav-dark .nav-panel-ticker-head {
  color: rgba(255, 255, 255, 0.56);
}

.nav-light .nav-panel-ticker-head {
  color: rgba(30, 30, 30, 0.68);
}

.nav-panel-live {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #D73D3D;
  font-weight: 700;
}

.nav-panel-live::before {
  content: '';
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #D73D3D;
  animation: nav-pulse-red 1.6s infinite;
}

@keyframes nav-pulse-red {

  0%,
  100% {
    opacity: 1;
  }

  50% {
    opacity: 0.4;
  }
}

.nav-panel-ticker-viewport {
  position: relative;
  height: 120px;
  overflow: hidden;
  mask-image: linear-gradient(to bottom, transparent 0%, black 15%, black 85%, transparent 100%);
  -webkit-mask-image: linear-gradient(to bottom, transparent 0%, black 15%, black 85%, transparent 100%);
}

.nav-panel-ticker-track {
  --marquee-gap: 10px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  animation: ticker-scroll 22s linear infinite;
}

@keyframes ticker-scroll {
  0% {
    transform: translateY(0);
  }

  100% {
    transform: translateY(calc(-50% - var(--marquee-gap, 0px) / 2));
  }
}

.nav-panel-ticker-row {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 6px 0;
  font-size: 12.5px;
  line-height: 1.3;
  letter-spacing: -0.003em;
}

.nav-dark .nav-panel-ticker-row {
  color: rgba(255, 255, 255, 0.85);
}

.nav-light .nav-panel-ticker-row {
  color: rgba(30, 30, 30, 0.85);
}

.nav-panel-ticker-tag {
  flex-shrink: 0;
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: 0.12em;
  padding: 3px 7px;
  border-radius: 3px;
  min-width: 60px;
  text-align: center;
}

.nav-dark .nav-panel-ticker-tag {
  background: rgba(197, 214, 255, 0.14);
  color: #C5D6FF;
}

.nav-light .nav-panel-ticker-tag {
  background: rgba(7, 7, 99, 0.08);
  color: var(--deep-navy);
}

.nav-panel-ticker-fade {
  display: none;
}

.nav-panel-cta-block {
  padding: 18px 20px 20px;
  display: flex;
  flex-direction: column;
}

.nav-panel-resources {
  padding: 18px;
  gap: 14px;
}

.nav-sub-card {
  border-radius: 8px;
  padding: 14px 16px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.nav-dark .nav-sub-card {
  background: rgba(7, 7, 99, 0.35);
  border: 1px solid rgba(197, 214, 255, 0.1);
}

.nav-light .nav-sub-card {
  background: #fff;
  border: 1px solid rgba(7, 7, 99, 0.08);
}

.nav-sub-head {
  display: flex;
  gap: 12px;
  align-items: flex-start;
}

.nav-sub-icon {
  width: 32px;
  height: 32px;
  border-radius: 6px;
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.nav-dark .nav-sub-icon {
  background: rgba(197, 214, 255, 0.1);
  color: #C5D6FF;
}

.nav-light .nav-sub-icon {
  background: rgba(7, 7, 99, 0.06);
  color: var(--cyber-blue);
}

.nav-sub-title {
  font-size: 14px;
  font-weight: 500;
  letter-spacing: -0.005em;
  margin-bottom: 3px;
}

.nav-dark .nav-sub-title {
  color: #fff;
}

.nav-light .nav-sub-title {
  color: var(--deep-navy);
}

.nav-sub-body {
  font-size: 11.5px;
  line-height: 1.4;
  letter-spacing: -0.003em;
}

.nav-dark .nav-sub-body {
  color: rgba(255, 255, 255, 0.75);
}

.nav-light .nav-sub-body {
  color: rgba(30, 30, 30, 0.7);
}

.nav-sub-form {
  display: flex;
  gap: 6px;
}

.nav-sub-form-col {
  flex-direction: column;
}

.nav-sub-row {
  display: flex;
  gap: 6px;
}

.nav-sub-input,
.nav-sub-select {
  flex: 1;
  min-width: 0;
  font-family: inherit;
  font-size: 12.5px;
  padding: 8px 10px;
  border-radius: 5px;
  border: 1px solid;
  background: transparent;
  letter-spacing: -0.003em;
}

.nav-dark .nav-sub-input,
.nav-dark .nav-sub-select {
  border-color: rgba(197, 214, 255, 0.18);
  color: #fff;
}

.nav-dark .nav-sub-input::placeholder {
  color: rgba(255, 255, 255, 0.56);
}

.nav-light .nav-sub-input,
.nav-light .nav-sub-select {
  border-color: rgba(7, 7, 99, 0.14);
  color: var(--deep-navy);
}

.nav-light .nav-sub-input::placeholder {
  color: rgba(30, 30, 30, 0.68);
}

.nav-sub-select {
  max-width: 110px;
  flex: 0 0 auto;
  cursor: pointer;
}

.nav-sub-btn {
  font-family: inherit;
  font-size: 12px;
  font-weight: 500;
  padding: 8px 14px;
  border-radius: 5px;
  border: none;
  cursor: pointer;
  white-space: nowrap;
  letter-spacing: -0.003em;
  transition: transform 0.2s, background 0.2s;
}

.nav-sub-btn-full {
  width: 100%;
  padding: 10px;
}

.nav-dark .nav-sub-btn {
  background: #C5D6FF;
  color: var(--deep-navy);
}

.nav-dark .nav-sub-btn:hover {
  background: #fff;
}

.nav-light .nav-sub-btn {
  background: var(--deep-navy);
  color: #fff;
}

.nav-light .nav-sub-btn:hover {
  background: var(--cyber-blue);
}

.nav-sub-success {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 11.5px;
  letter-spacing: 0.02em;
  padding: 10px 12px;
  border-radius: 5px;
}

.nav-dark .nav-sub-success {
  background: rgba(34, 197, 94, 0.1);
  color: #86efac;
  border: 1px solid rgba(34, 197, 94, 0.2);
}

.nav-light .nav-sub-success {
  background: rgba(22, 163, 74, 0.06);
  color: #166534;
  border: 1px solid rgba(22, 163, 74, 0.2);
}

.nav-sub-check {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #16823E;
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: 700;
  flex-shrink: 0;
}

.nav-panel-company {
  padding: 22px 20px;
  gap: 0;
}

.nav-panel-company .nav-panel-eyebrow {
  margin-bottom: 18px;
}

.nav-certrow {
  display: grid;
  grid-template-columns: 110px 1fr;
  align-items: center;
  gap: 14px;
  padding: 14px 0;
  border-top: 1px solid;
}

.nav-dark .nav-certrow {
  border-color: rgba(197, 214, 255, 0.1);
}

.nav-light .nav-certrow {
  border-color: rgba(7, 7, 99, 0.08);
}

.nav-certrow:last-child {
  padding-bottom: 2px;
}

.nav-certrow-label {
  font-size: 9.5px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  font-weight: 600;
}

.nav-dark .nav-certrow-label {
  color: rgba(255, 255, 255, 0.56);
}

.nav-light .nav-certrow-label {
  color: rgba(30, 30, 30, 0.68);
}

.nav-certrow-icons {
  display: flex;
  flex-wrap: wrap;
  gap: 14px 18px;
  align-items: center;
}

.nav-certrow-icon {
  display: inline-flex;
  opacity: 0.8;
  transition: opacity 0.2s;
}

.nav-dark .nav-certrow-icon {
  color: #C5D6FF;
}

.nav-light .nav-certrow-icon {
  color: var(--deep-navy);
}

.nav-certrow-icon:hover {
  opacity: 1;
}

.book-modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 200;
  background: rgba(7, 7, 35, 0.7);
  backdrop-filter: blur(6px);
  display: flex;

  align-items: flex-start;
  justify-content: center;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 20px;
  animation: book-fade 0.2s ease-out;
}

@keyframes book-fade {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

.book-modal {
  position: relative;
  margin: auto;
  width: 100%;
  max-width: 520px;
  background: #fff;
  border-radius: 12px;
  padding: 36px;
  box-shadow: 0 40px 80px -20px rgba(0, 0, 24, 0.5);
  animation: book-slide 0.22s cubic-bezier(.2, .8, .2, 1);
  color: var(--deep-carbon);
}

.book-modal--cal {
  max-width: 920px;
  padding: 24px;
  max-height: calc(100vh - 40px);
  display: flex;
  flex-direction: column;
}

.book-modal--cal .book-modal-body {
  margin-bottom: 4px;
}

.book-modal-cal {
  flex: 1 1 auto;
  min-height: 0;
  margin-top: 16px;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}

.book-modal-cal:not([data-mounted="1"]) {
  min-height: 320px;
}

.book-modal-cal .meetings-iframe-container {
  width: 100%;
}

.book-modal-cal iframe {
  display: block;
  width: 100%;
  border: 0;
}

.book-modal-cal-fallback {
  display: inline-block;
  padding: 12px 18px;
  border-radius: 10px;
  border: 1px solid rgba(0, 0, 24, 0.18);
  color: var(--deep-carbon);
  text-decoration: none;
  font-weight: 600;
}

.book-modal-cal[data-mounted="1"] .book-modal-cal-fallback {
  display: none;
}

@media (max-width: 980px) {
  .book-modal-backdrop {
    padding: 12px;
  }

  .book-modal--cal {
    max-width: 100%;
    padding: 18px;
    max-height: calc(100vh - 24px);
  }
}

@media (max-width: 560px) {
  .book-modal-backdrop {
    padding: 0;
  }

  .book-modal--cal {
    padding: 16px 14px;
    max-height: 100vh;
    border-radius: 0;
  }

  .book-modal--cal .book-modal-title {
    font-size: 22px;
  }

  .book-modal--cal .book-modal-body {
    font-size: 14px;
  }
}

.book-modal-close {
  position: absolute;
  top: 16px;
  right: 18px;
  width: 32px;
  height: 32px;
  background: none;
  border: none;
  cursor: pointer;
  font-size: 24px;
  line-height: 1;
  color: rgba(30, 30, 30, 0.68);
  transition: color 0.15s;
}

.book-modal-close:hover {
  color: var(--deep-navy);
}

.book-modal-eyebrow {
  font-size: 10px;
  letter-spacing: 0.2em;
  font-weight: 600;
  color: var(--cyber-blue);
  margin-bottom: 12px;
}

.book-modal-title {
  font-size: 24px;
  line-height: 1.2;
  font-weight: 500;
  letter-spacing: -0.02em;
  color: var(--deep-navy);
  margin-bottom: 10px;
  text-wrap: pretty;
}

.book-modal-body {
  font-size: 14px;
  line-height: 1.5;
  color: rgba(30, 30, 30, 0.7);
  margin: 0 0 24px;
}

.book-modal-section-label {
  font-size: 10px;
  letter-spacing: 0.18em;
  font-weight: 600;
  color: rgba(30, 30, 30, 0.68);
  margin-bottom: 10px;
}

.book-modal-slots {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin-bottom: 22px;
}

.book-modal-slot {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 14px 10px;
  border: 1.5px solid rgba(7, 7, 99, 0.12);
  background: #fff;
  border-radius: 7px;
  cursor: pointer;
  font-family: inherit;
  text-align: center;
  transition: all 0.15s;
}

.book-modal-slot:hover {
  border-color: var(--cyber-blue);
}

.book-modal-slot.active {
  border-color: var(--deep-navy);
  background: var(--deep-navy);
  color: #fff;
}

.book-modal-slot-day {
  font-size: 11px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-weight: 500;
  opacity: 0.75;
}

.book-modal-slot-time {
  font-size: 16px;
  font-weight: 500;
  letter-spacing: -0.01em;
}

.book-modal-form {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.book-modal-form input {
  font-family: inherit;
  font-size: 14px;
  padding: 12px 14px;
  border: 1.5px solid rgba(7, 7, 99, 0.12);
  border-radius: 7px;
  background: #fff;
  color: var(--deep-carbon);
  letter-spacing: -0.003em;
}

.book-modal-form input:focus {
  outline: none;
  border-color: var(--cyber-blue);
}

.book-modal-submit {
  margin-top: 4px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  font-family: inherit;
  font-size: 14px;
  font-weight: 500;
  padding: 14px 18px;
  background: var(--deep-navy);
  color: #fff;
  border: none;
  border-radius: 7px;
  cursor: pointer;
  transition: background 0.15s, transform 0.15s;
}

.book-modal-submit:hover {
  background: var(--cyber-blue);
  transform: translateY(-1px);
}

.book-modal-success {
  text-align: center;
  padding: 20px 0;
}

.book-modal-check {
  color: #16823E;
  margin-bottom: 18px;
  display: flex;
  justify-content: center;
}

.mega-label {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin-bottom: 16px;
  padding-bottom: 12px;
}

.nav-dark .mega-label {
  color: #C5D6FF;
  border-bottom: 1px solid rgba(197, 214, 255, 0.12);
}

.nav-light .mega-label {
  color: var(--cyber-blue);
  border-bottom: 1px solid rgba(30, 30, 30, 0.08);
}

.mega-label-link {
  text-decoration: none;
  display: block;
  transition: opacity 0.2s;
}

.mega-label-link:hover {
  opacity: 0.75;
}

.mega-link {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 0;
  font-size: 15px;
  font-weight: 500;
  letter-spacing: -0.01em;
  text-decoration: none;
  transition: padding 0.2s, color 0.2s;
}

.nav-dark .mega-link {
  color: #fff;
}

.nav-light .mega-link {
  color: var(--deep-carbon);
}

.mega-link-arrow {
  opacity: 0;
  transform: translateX(-6px);
  transition: all 0.22s cubic-bezier(.2, .8, .2, 1);
  font-size: 14px;
}

.mega-link:hover {
  padding-left: 8px;
}

.nav-dark .mega-link:hover {
  color: var(--soft-signal);
}

.nav-light .mega-link:hover {
  color: var(--cyber-blue);
}

.mega-link:hover .mega-link-arrow {
  opacity: 1;
  transform: translateX(0);
}

@media (max-width: 1100px) {
  .nav-links {
    display: none;
  }

  .btn-nav-cta,
  .btn-nav-arrow,
  .lang-switch {
    display: none;
  }

  .nav-burger {
    display: flex;
    flex-direction: column;
    gap: 4px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 8px;
  }

  .nav-burger span {
    display: block;
    width: 22px;
    height: 1.5px;
    background: currentColor;
  }

  .nav-dark .nav-burger {
    color: #fff;
  }

  .nav-light .nav-burger {
    color: var(--deep-carbon);
  }

  .nav-mobile {
    padding: 24px 28px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    border-top: 1px solid rgba(197, 214, 255, 0.1);
  }

  .nav-dark .nav-mobile {
    background: var(--deep-navy);
  }

  .nav-light .nav-mobile {
    background: #fff;
  }

  .nav-mobile a {
    font-size: 17px;
    font-weight: 500;
    text-decoration: none;
    padding: 10px 0;
  }

  .nav-dark .nav-mobile a {
    color: #fff;
  }

  .nav-light .nav-mobile a {
    color: var(--deep-carbon);
  }

  .btn-mobile-cta {
    border-top: 1px solid rgba(197, 214, 255, 0.1);
    padding-top: 20px !important;
    margin-top: 8px;
  }

  .nav-inner {
    padding: 14px 20px;
  }
}

.pf-stage {
  position: relative;
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  aspect-ratio: 16 / 10.2;
  min-height: 640px;
}

.pf-layer {
  position: absolute;
  border-radius: 10px;
  overflow: hidden;
  background: #fff;
  border: 1px solid rgba(7, 7, 99, 0.12);
  box-shadow:
    0 40px 80px -20px rgba(0, 0, 24, 0.45),
    0 10px 24px -8px rgba(0, 0, 24, 0.25);
  transition: transform 0.6s cubic-bezier(.2, .8, .2, 1);
}

.pf-layer-detail {
  left: 50%;
  top: 8%;
  transform: translateX(-50%);
  width: 86%;
  height: 92%;
  z-index: 4;
  box-shadow:
    0 80px 160px -30px rgba(0, 0, 24, 0.65),
    0 20px 50px -10px rgba(0, 0, 24, 0.45);
}

.pf-layer-list {
  left: -3%;
  top: 0;
  width: 70%;
  height: 44%;
  transform: rotate(-2.2deg);
  z-index: 2;
  opacity: 0.92;
}

.pf-layer-dash {
  right: -4%;
  top: 0;
  width: 66%;
  height: 52%;
  transform: rotate(2deg);
  z-index: 2;
  opacity: 0.94;
}

.pf-layer-tracker {
  right: -2%;
  bottom: 0;
  width: 30%;
  height: 60%;
  transform: rotate(2.5deg);
  z-index: 3;
  opacity: 0.96;
}

.pf-chrome {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 9px 14px;
  background: #f5f5f8;
  border-bottom: 1px solid rgba(7, 7, 99, 0.08);
  font-size: 11px;
}

.pf-dots {
  display: inline-flex;
  gap: 5px;
}

.pf-dots i {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: rgba(7, 7, 99, 0.18);
  display: inline-block;
}

.pf-dots i:nth-child(1) {
  background: #ff5f57;
}

.pf-dots i:nth-child(2) {
  background: #febc2e;
}

.pf-dots i:nth-child(3) {
  background: #28c840;
}

.pf-url {
  font-size: 10.5px;
  color: rgba(30, 30, 30, 0.68);
  letter-spacing: 0.01em;
  flex: 1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.pf-eng {
  flex: 1;
  display: inline-flex;
  align-items: baseline;
  gap: 8px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.pf-eng-kind {
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: 0.14em;
  color: var(--cyber-blue, #1431a7);
  text-transform: uppercase;
}

.pf-eng-sep {
  font-size: 11px;
  color: rgba(30, 30, 30, 0.68);
  font-weight: 300;
}

.pf-eng-client {
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: -0.01em;
  color: var(--deep-navy, #070763);
}

.pf-chrome-right {
  font-size: 9.5px;
  letter-spacing: 0.1em;
  color: var(--cyber-blue, #070763);
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.pf-live-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #16823E;
  animation: pf-blink 1.8s infinite;
}

@keyframes pf-blink {

  0%,
  100% {
    opacity: 1;
  }

  50% {
    opacity: 0.3;
  }
}

.pf-sev {
  display: inline-block;
  font-size: 9.5px;
  font-weight: 600;
  letter-spacing: 0.02em;
  padding: 2px 8px;
  border-radius: 3px;
  line-height: 1.3;
}

.pf-status {
  display: inline-block;
  font-size: 9.5px;
  font-weight: 600;
  letter-spacing: 0.02em;
  padding: 2px 8px;
  border-radius: 3px;
  line-height: 1.3;
  white-space: nowrap;
}

.pf-detail {
  display: grid;
  grid-template-columns: 1fr 230px;
  gap: 0;
  height: calc(100% - 34px);
  overflow: hidden;
}

.pf-detail-main {
  padding: 18px 22px 22px;
  overflow: hidden;
}

.pf-detail-title {
  font-size: 17px;
  font-weight: 700;
  letter-spacing: -0.015em;
  color: var(--deep-navy, #070763);
  margin: 0 0 14px;
}

.pf-field {
  margin-bottom: 12px;
}

.pf-field-label {
  font-size: 11px;
  font-weight: 700;
  color: var(--deep-carbon, #1e1e1e);
  margin-bottom: 4px;
  letter-spacing: -0.005em;
}

.pf-field-val {
  font-size: 10.5px;
  line-height: 1.5;
  color: rgba(30, 30, 30, 0.85);
  margin: 0 0 4px;
}

.pf-list {
  margin: 4px 0 0 16px;
  padding: 0;
  font-size: 10.5px;
  line-height: 1.5;
  color: rgba(30, 30, 30, 0.85);
}

.pf-list li {
  margin-bottom: 2px;
}

.pf-field-inline {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.pf-link {
  font-size: 10.5px;
  color: var(--cyber-blue, #1431a7);
  text-decoration: underline;
}

.pf-scores {
  display: flex;
  flex-direction: column;
  gap: 3px;
  margin-top: 2px;
}

.pf-score-row {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 10.5px;
}

.pf-score-k {
  color: rgba(30, 30, 30, 0.7);
  min-width: 140px;
}

.pf-score-row b {
  color: var(--deep-carbon);
  font-weight: 700;
}

.pf-score-vec {
  font-size: 9.5px;
  color: rgba(30, 30, 30, 0.68);
  padding-left: 0;
  word-break: break-all;
}

.pf-inline-code {
  font-size: 10px;
  background: rgba(7, 7, 99, 0.06);
  color: var(--deep-navy, #070763);
  padding: 1px 5px;
  border-radius: 3px;
  letter-spacing: 0;
}

.pf-poc {
  margin-top: 6px;
  border: 1px solid rgba(7, 7, 99, 0.12);
  border-radius: 5px;
  overflow: hidden;
  background: #0d0d2e;
}

.pf-poc-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 6px 10px;
  background: #131342;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  font-size: 9px;
  letter-spacing: 0.04em;
}

.pf-poc-file {
  color: #c5d6ff;
  font-weight: 600;
}

.pf-poc-lang {
  color: rgba(197, 214, 255, 0.64);
  text-transform: uppercase;
  letter-spacing: 0.12em;
}

.pf-poc-body {
  margin: 0;
  padding: 8px 10px;
  font-size: 9.5px;
  line-height: 1.55;
  color: #e4e8ff;
  white-space: pre-wrap;
  overflow: hidden;
}

.pf-poc-resp {
  padding: 6px 10px;
  font-size: 9px;
  background: #1b1b4a;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  color: rgba(197, 214, 255, 0.75);
  letter-spacing: 0.01em;
}

.pf-c-dim {
  color: rgba(197, 214, 255, 0.64);
}

.pf-c-key {
  color: #7fb4e6;
}

.pf-c-str {
  color: #a8d89a;
}

.pf-c-bad {
  color: #ff8f7a;
  font-weight: 600;
}

.pf-c-ok {
  color: #2dd4a0;
  font-weight: 700;
}

.pf-detail-rail {
  border-left: 1px solid rgba(7, 7, 99, 0.1);
  padding: 18px 16px;
  background: #fcfcfe;
  display: flex;
  flex-direction: column;
  gap: 13px;
  overflow: hidden;
}

.pf-pdf {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.pf-pdf-badge {
  display: inline-block;
  padding: 3px 7px;
  background: #D24634;
  color: #fff;
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: 0.05em;
  border-radius: 3px;
}

.pf-pdf-label {
  font-size: 9.5px;
  color: rgba(30, 30, 30, 0.68);
  letter-spacing: 0.05em;
}

.pf-rail-field {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.pf-rail-k {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.12em;
  color: rgba(30, 30, 30, 0.68);
}

.pf-rail-v {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px;
}

.pf-rail-plain {
  font-size: 10.5px;
  color: rgba(30, 30, 30, 0.85);
}

.pf-id-chip {
  display: inline-block;
  font-size: 10px;
  color: var(--cyber-blue, #1431a7);
  background: rgba(20, 49, 167, 0.08);
  padding: 2px 8px;
  border-radius: 3px;
  letter-spacing: 0.02em;
}

.pf-status-slot {
  min-height: 20px;
  position: relative;
}

.pf-status-anim {
  animation: pf-status-swap 0.5s cubic-bezier(.2, .8, .2, 1);
}

@keyframes pf-status-swap {
  from {
    opacity: 0;
    transform: translateY(-4px);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

.pf-q {
  color: rgba(30, 30, 30, 0.68);
  font-size: 9px;
}

.pf-owasp-tag {
  display: inline-block;
  font-size: 9px;
  background: rgba(20, 49, 167, 0.06);
  color: var(--cyber-blue, #1431a7);
  padding: 2px 7px;
  border-radius: 3px;
  letter-spacing: 0.02em;
  border: 1px solid rgba(20, 49, 167, 0.12);
}

.pf-tags {
  gap: 4px;
}

.pf-list-wrap {
  height: calc(100% - 34px);
  overflow: hidden;
  background: #fff;
}

.pf-table {
  width: 100%;
  font-size: 9px;
}

.pf-thead,
.pf-trow {
  display: grid;
  grid-template-columns: 22px 70px 1.2fr 90px 60px 50px 100px 50px 70px 60px;
  gap: 8px;
  padding: 7px 12px;
  align-items: center;
  border-bottom: 1px solid rgba(7, 7, 99, 0.06);
}

.pf-thead {
  font-size: 8.5px;
  font-weight: 700;
  letter-spacing: 0.05em;
  color: rgba(30, 30, 30, 0.68);
  background: rgba(7, 7, 99, 0.03);
  text-transform: capitalize;
}

.pf-trow {
  font-size: 9.5px;
  line-height: 1.2;
}

.pf-trow:hover {
  background: rgba(20, 49, 167, 0.03);
}

.pf-ttitle {
  color: var(--deep-carbon);
  font-weight: 500;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pf-tdim {
  color: rgba(30, 30, 30, 0.68);
  font-size: 8.5px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pf-tuser {
  color: rgba(30, 30, 30, 0.68);
}

.pf-tactions {
  display: inline-flex;
  gap: 6px;
}

.pf-tlink {
  font-size: 8.5px;
  color: var(--cyber-blue, #1431a7);
  cursor: pointer;
}

.pf-tlink-danger {
  color: #D24634;
}

.pf-trow-new {
  animation: pf-row-slide 0.8s cubic-bezier(.2, .8, .2, 1);
}

@keyframes pf-row-slide {
  from {
    opacity: 0;
    transform: translateY(-6px);
    background: rgba(197, 214, 255, 0.4);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

.pf-dash {
  padding: 12px 14px;
  height: calc(100% - 34px);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.pf-dash-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
}

.pf-dash-head h5,
.pf-dash-head .pf-dash-greet {
  font-size: 14px;
  font-weight: 700;
  letter-spacing: -0.015em;
  color: var(--deep-navy, #070763);
  margin: 0;
}

.pf-dash-client {
  font-size: 9.5px;
  color: rgba(30, 30, 30, 0.68);
  letter-spacing: 0.08em;
}

.pf-dash-card {
  background: #fafafd;
  border: 1px solid rgba(7, 7, 99, 0.06);
  border-radius: 5px;
  padding: 10px 12px;
}

.pf-dash-label {
  font-size: 8.5px;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: rgba(30, 30, 30, 0.68);
  margin-bottom: 8px;
}

.pf-chart svg {
  width: 100%;
  height: 66px;
  display: block;
}

.pf-chart-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  font-size: 8px;
  letter-spacing: 0.02em;
  color: rgba(30, 30, 30, 0.68);
  margin-top: 4px;
}

.pf-chart-legend span {
  display: inline-flex;
  align-items: center;
  gap: 3px;
}

.pf-chart-legend i {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  display: inline-block;
}

.pf-dash-metrics {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 6px;
}

.pf-metric {
  background: #fff;
  border: 1px solid rgba(7, 7, 99, 0.06);
  border-radius: 5px;
  padding: 7px 9px;
  display: flex;
  flex-direction: column;
  gap: 1px;
}

.pf-metric-k {
  font-size: 8px;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: rgba(30, 30, 30, 0.68);
}

.pf-metric-v {
  font-size: 20px;
  font-weight: 700;
  letter-spacing: -0.03em;
  color: var(--deep-navy, #070763);
  line-height: 1.05;
}

.pf-metric-crit .pf-metric-v {
  color: #D24634;
}

.pf-metric-s {
  font-size: 7.5px;
  letter-spacing: 0.05em;
  color: rgba(30, 30, 30, 0.68);
}

.pf-pulse {
  animation: pf-pulse-n 2.4s cubic-bezier(.2, .8, .2, 1) infinite;
  display: inline-block;
}

@keyframes pf-pulse-n {

  0%,
  100% {
    transform: none;
  }

  50% {
    transform: scale(1.08);
  }
}

.pf-tracker {
  background: #fff;
  height: 100%;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.pf-tracker-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 14px;

  background: #666A7A;
  color: #fff;
  font-size: 10.5px;
  font-weight: 500;
  letter-spacing: -0.005em;
}

.pf-tracker-x {

  opacity: 1;
  cursor: pointer;
  font-size: 11px;
}

.pf-tracker-add {
  margin: 10px 12px;
  align-self: flex-start;
  font-family: inherit;
  font-size: 9.5px;
  font-weight: 600;
  padding: 5px 10px;
  background: #fff;
  border: 1px solid #c5b3e0;
  color: #6a4fa8;
  border-radius: 4px;
  letter-spacing: -0.003em;
  cursor: pointer;
}

.pf-tracker-list {
  padding: 4px 12px 12px;
  overflow: hidden;
}

.pf-tracker-row {
  display: grid;
  grid-template-columns: 72px 14px 1fr;
  gap: 6px;
  padding: 6px 0;
  font-size: 8.5px;
  position: relative;
}

.pf-tracker-row::before {
  content: '';
  position: absolute;
  left: 80px;
  top: 0;
  bottom: 0;
  width: 1px;
  background: rgba(7, 7, 99, 0.12);
}

.pf-tracker-when {
  color: rgba(30, 30, 30, 0.75);
  font-size: 8.5px;
}

.pf-tracker-circle {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  display: inline-block;
  margin-top: 3px;
  background: #fff;
  border: 2px solid currentColor;
  position: relative;
  z-index: 1;
}

.pf-tracker-circle.tr-red {
  color: #D24634;
}

.pf-tracker-circle.tr-green {
  color: #2dd4a0;
}

.pf-tracker-circle.tr-orange {
  color: #A96536;
}

.pf-tracker-body {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.pf-tracker-status {
  font-size: 8.5px;
  color: rgba(30, 30, 30, 0.75);
  display: inline-flex;
  align-items: center;
  gap: 5px;
  flex-wrap: wrap;
}

.pf-tracker-by {
  font-size: 8px;
  color: rgba(30, 30, 30, 0.68);
}

@media (max-width: 1100px) {
  .pf-stage {
    aspect-ratio: auto;
    min-height: auto;
  }

  .pf-layer-detail {
    position: relative;
    left: auto;
    top: auto;
    transform: none;
    width: 100%;
    height: auto;
    min-height: 620px;
  }

  .pf-layer-list,
  .pf-layer-dash,
  .pf-layer-tracker {
    display: none;
  }
}

@media (max-width: 700px) {
  .pf-detail {
    grid-template-columns: 1fr;
  }

  .pf-detail-rail {
    border-left: none;
    border-top: 1px solid rgba(7, 7, 99, 0.1);
  }
}

.platform {
  padding: 140px 0 120px;
  overflow: hidden;
}

.platform-bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.pl-sphere {
  position: absolute;
  left: 50%;
  top: -10%;
  width: 900px;
  height: 900px;
  transform: translateX(-50%);
  background: radial-gradient(circle, rgba(20, 49, 167, 0.5) 0%, rgba(7, 7, 99, 0) 60%);
  filter: blur(60px);
}

.pl-arcs {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.platform-inner {
  position: relative;
  z-index: 2;
}

.pl-head {
  text-align: center;
  max-width: 820px;
  margin: 0 auto 72px;
}

.pl-eyebrow {
  display: inline-block;
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(197, 214, 255, 0.64);
  font-weight: 500;
  margin-top: 28px;
  padding: 0;
  border: none;
}

.pl-h2 {
  font-size: clamp(48px, 6vw, 88px);
  font-weight: 600;
  letter-spacing: -0.035em;
  line-height: 0.98;
  margin: 0 0 24px;
  display: flex;
  flex-direction: column;
}

.pl-sub {
  font-size: 20px;
  line-height: 1.45;
  color: rgba(197, 214, 255, 0.85);
  max-width: 620px;
  margin: 0 auto;
}

.pl-mock-wrap {
  margin: 0 auto 72px;
  max-width: 1280px;
}

.pl-props {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 48px;
  padding-top: 56px;
  border-top: 1px solid rgba(197, 214, 255, 0.15);
  max-width: 1100px;
  margin: 0 auto;
}

.pl-prop-ill {
  margin-bottom: 8px;
  width: 88px;
  height: 88px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  background: radial-gradient(circle at 50% 45%, rgba(20, 49, 167, 0.28) 0%, rgba(7, 7, 99, 0) 70%);
}

.pill {
  display: block;
  overflow: visible;
}

.pc-bubble-l {
  transform-origin: 30px 32px;
  animation: pc-settle-l 4s ease-in-out infinite;
}

.pc-bubble-r {
  transform-origin: 70px 66px;
  animation: pc-settle-r 4s ease-in-out infinite;
}

@keyframes pc-settle-l {

  0%,
  40%,
  100% {
    transform: translate(0, 0);
  }

  45% {
    transform: translate(-0.5px, -0.5px);
  }
}

@keyframes pc-settle-r {

  0%,
  90%,
  100% {
    transform: translate(0, 0);
  }

  95% {
    transform: translate(0.5px, 0.5px);
  }
}

.pr-ring {
  transform-origin: 50px 50px;
  animation: pr-rotate 5s linear infinite;
}

@keyframes pr-rotate {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(360deg);
  }
}

.pr-check {
  transform-origin: 50px 50px;
  animation: pr-pop 5s ease-in-out infinite;
}

@keyframes pr-pop {

  0%,
  60%,
  100% {
    transform: scale(1);
  }

  70% {
    transform: scale(1.14);
  }

  80% {
    transform: scale(1);
  }
}

.pp-trace {
  stroke-dasharray: 100;
  stroke-dashoffset: 100;
  animation: pp-draw 3.2s linear infinite;
}

@keyframes pp-draw {
  0% {
    stroke-dashoffset: 100;
  }

  60%,
  100% {
    stroke-dashoffset: 0;
  }
}

.pp-dot {
  filter: drop-shadow(0 0 4px rgba(255, 255, 255, 0.6));
}

@media (prefers-reduced-motion: reduce) {

  .pc-bubble-l,
  .pc-bubble-r,
  .pr-ring,
  .pr-check,
  .pp-trace {
    animation: none;
  }
}

.pl-prop h4,
.pl-prop h3 {
  font-size: 18px;
  font-weight: 600;
  letter-spacing: -0.015em;
  margin: 14px 0 8px;
  color: #fff;
}

.pl-prop p {
  font-size: 14px;
  color: rgba(197, 214, 255, 0.75);
  line-height: 1.55;
}

.pl-cta-row {
  text-align: center;
  margin-top: 56px;
}

@media (max-width: 768px) {
  .pl-props {
    grid-template-columns: 1fr;
    gap: 32px;
  }
}

.mock-full {
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 60px 120px -30px rgba(0, 0, 24, 0.7), 0 0 0 1px rgba(197, 214, 255, 0.2);
  color: var(--deep-carbon);
  overflow: hidden;
}

.mock-chrome-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

.ch-tag {
  font-size: 9px;
  padding: 3px 8px;
  border: 1px solid rgba(30, 30, 30, 0.12);
  border-radius: 3px;
  color: rgba(30, 30, 30, 0.68);
  letter-spacing: 0.06em;
}

.ch-live {
  color: var(--cyber-blue);
  border-color: rgba(20, 49, 167, 0.3);
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

.live-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--cyber-blue);
  animation: pulse 1.6s infinite;
}

@keyframes pulse {

  0%,
  100% {
    opacity: 1;
    transform: scale(1);
  }

  50% {
    opacity: 0.3;
    transform: scale(0.8);
  }
}

.av-d {
  background: #8a63b3;
  color: #fff;
  margin-left: -6px;
}

.mock-full-body {
  display: grid;
  grid-template-columns: 280px 1fr 260px;
  min-height: 560px;
}

.pm-col {
  border-right: 1px solid rgba(30, 30, 30, 0.06);
  display: flex;
  flex-direction: column;
}

.pm-col:last-child {
  border-right: none;
}

.pm-col-head {
  padding: 14px 18px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: rgba(30, 30, 30, 0.68);
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid rgba(30, 30, 30, 0.06);
}

.pm-counter {
  font-size: 10px;
  color: rgba(30, 30, 30, 0.68);
}

.pm-find {
  display: flex;
  gap: 12px;
  padding: 14px 18px;
  border: none;
  border-bottom: 1px solid rgba(30, 30, 30, 0.04);
  text-align: left;
  background: none;
  cursor: pointer;
  transition: background 0.2s;
  width: 100%;
  font-family: inherit;
}

.pm-find:hover {
  background: rgba(20, 49, 167, 0.04);
}

.pm-find-sel {
  background: rgba(20, 49, 167, 0.06);
  border-left: 2px solid var(--cyber-blue);
  padding-left: 16px;
}

.pm-sev {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: -0.02em;
  width: 32px;
  height: 32px;
  border-radius: 4px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  flex-shrink: 0;
}

.pm-sev-crit {
  background: #a81634;
}

.pm-sev-high {
  background: #c4633a;
}

.pm-sev-med {
  background: #b8923e;
}

.pm-sev-low {
  background: #4a7a6d;
}

.pm-find-body {
  flex: 1;
  min-width: 0;
}

.pm-find-title {
  font-size: 12.5px;
  font-weight: 500;
  line-height: 1.35;
  letter-spacing: -0.01em;
  color: var(--deep-carbon);
}

.pm-find-meta {
  font-size: 9.5px;
  color: rgba(30, 30, 30, 0.68);
  margin-top: 4px;
  letter-spacing: 0.02em;
}

.pm-col-detail {
  padding: 20px 24px;
  gap: 18px;
}

.pm-detail-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 4px;
}

.pm-detail-id {
  font-size: 10px;
  color: rgba(30, 30, 30, 0.68);
  letter-spacing: 0.04em;
  margin-bottom: 6px;
}

.pm-detail-title {
  font-size: 19px;
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.25;
  max-width: 80%;
}

.pm-actions {
  display: flex;
  gap: 6px;
  flex-shrink: 0;
}

.pm-btn {
  font-family: inherit;
  font-size: 11px;
  font-weight: 500;
  padding: 7px 12px;
  border-radius: 4px;
  cursor: pointer;
  border: 1px solid rgba(30, 30, 30, 0.12);
  background: #fff;
  color: var(--deep-carbon);
}

.pm-btn-primary {
  background: var(--deep-navy);
  color: #fff;
  border-color: var(--deep-navy);
}

.pm-states {
  display: flex;
  gap: 0;
  align-items: center;
  padding: 12px 0;
  border-top: 1px solid rgba(30, 30, 30, 0.06);
  border-bottom: 1px solid rgba(30, 30, 30, 0.06);
  font-size: 10px;
  color: rgba(30, 30, 30, 0.68);
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.pm-state {
  display: flex;
  align-items: center;
  gap: 6px;
  flex: 1;
  transition: color 0.4s;
}

.pm-state-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: rgba(30, 30, 30, 0.2);
  transition: all 0.4s;
  flex-shrink: 0;
}

.pm-state.on {
  color: var(--deep-navy);
}

.pm-state.on .pm-state-dot {
  background: var(--cyber-blue);
}

.pm-state.current .pm-state-dot {
  box-shadow: 0 0 0 4px rgba(20, 49, 167, 0.18);
  transform: scale(1.2);
}

.pm-state-line {
  flex: 1;
  height: 1px;
  background: rgba(30, 30, 30, 0.1);
  margin: 0 4px;
}

.pm-state.on .pm-state-line {
  background: var(--cyber-blue);
}

.pm-section-label {
  font-size: 9.5px;
  color: rgba(30, 30, 30, 0.68);
  letter-spacing: 0.1em;
  margin-bottom: 8px;
  text-transform: uppercase;
}

.pm-poc {
  background: #070763;
  color: #C5D6FF;
  padding: 12px 14px;
  border-radius: 4px;
  font-size: 10.5px;
  line-height: 1.7;
  border-left: 2px solid var(--cyber-blue);
}

.pm-poc-out {
  color: rgba(197, 214, 255, 0.64);
  margin-top: 4px;
}

.pm-timeline {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.pm-tl {
  display: flex;
  gap: 8px;
  align-items: flex-start;
}

.pm-tl-right {
  flex-direction: row-reverse;
}

.pm-tl-av {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 9px;
  font-weight: 600;
  color: #fff;
}

.pm-tl-a {
  background: var(--deep-navy);
}

.pm-tl-c {
  background: var(--cyber-blue);
}

.pm-tl-bubble {
  background: #F8F7ED;
  padding: 8px 12px;
  border-radius: 4px;
  border-left: 2px solid var(--cyber-blue);
  max-width: 80%;
}

.pm-tl-right .pm-tl-bubble {
  border-left: none;
  border-right: 2px solid var(--deep-navy);
}

.pm-tl-meta {
  font-size: 9px;
  color: rgba(30, 30, 30, 0.68);
  margin-bottom: 3px;
  letter-spacing: 0.01em;
}

.pm-tl-meta b {
  color: var(--deep-navy);
  font-weight: 600;
}

.pm-tl-text {
  font-size: 12px;
  line-height: 1.45;
  color: var(--deep-carbon);
}

.pm-tl-fresh {
  animation: slide-in 0.6s cubic-bezier(.2, .8, .2, 1);
}

@keyframes slide-in {
  from {
    opacity: 0;
    transform: translateY(-8px);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

.pm-col-metrics {
  padding: 18px;
  gap: 22px;
  display: flex;
  flex-direction: column;
}

.pm-col-metrics .pm-col-head {
  margin: -18px -18px 0;
  padding: 14px 18px;
}

.pm-metric {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.pm-metric-label {
  font-size: 9.5px;
  color: rgba(30, 30, 30, 0.68);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.pm-metric-num {
  font-size: 34px;
  font-weight: 700;
  letter-spacing: -0.03em;
  color: var(--deep-navy);
  line-height: 1;
}

.pm-metric-num span {
  font-size: 16px;
  color: var(--cyber-blue);
}

.pm-metric-spark svg {
  width: 100%;
  height: 24px;
}

.pm-bar {
  flex: 1;
  height: 4px;
  background: rgba(30, 30, 30, 0.08);
  border-radius: 2px;
  overflow: hidden;
}

.pm-bar-fill {
  height: 100%;
  background: var(--cyber-blue);
}

.pm-crit {
  background: #a81634;
}

.pm-high {
  background: #c4633a;
}

.pm-med {
  background: #b8923e;
}

.pm-low {
  background: #4a7a6d;
}

.pm-bars {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-top: 4px;
}

.pm-bar-row {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 11px;
  color: var(--gray-80);
}

.pm-bar-row>span:first-child {
  width: 32px;
}

.pm-bar-row>span:last-child {
  width: 18px;
  text-align: right;
  color: var(--deep-carbon);
  font-weight: 600;
}

.pm-export {
  margin-top: auto;
  font-size: 10px;
  text-align: center;
  padding: 10px;
  border: 1px dashed rgba(30, 30, 30, 0.15);
  border-radius: 4px;
  color: rgba(30, 30, 30, 0.68);
  letter-spacing: 0.05em;
  cursor: pointer;
}

.pm-export:hover {
  border-color: var(--cyber-blue);
  color: var(--cyber-blue);
}

@media (max-width: 1024px) {
  .mock-full-body {
    grid-template-columns: 1fr;
  }

  .pm-col {
    border-right: none;
    border-bottom: 1px solid rgba(30, 30, 30, 0.06);
  }
}

.problem {
  padding-top: var(--section-pad);
  padding-bottom: var(--section-pad);
}

.prob-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center;
}

.prob-h2 {
  font-size: clamp(36px, 4vw, 56px);
  font-weight: 600;
  letter-spacing: -0.03em;
  line-height: 1.04;
  margin: 0 0 32px;
  display: flex;
  flex-direction: column;
}

.prob-h2-accent {
  color: var(--cyber-blue);
}

.prob-body {
  font-size: 17px;
  line-height: 1.6;
  color: var(--gray-80);
  margin-bottom: 16px;
  max-width: 520px;
}

.prob-body-emph {
  font-weight: 600;
  color: var(--deep-carbon);
}

.prob-chart {
  background: #fff;
  border: 1px solid rgba(30, 30, 30, 0.06);
  border-radius: 8px;
  padding: 24px;
  position: relative;
}

.chart-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
}

.chart-y {
  font-size: 10px;
  color: rgba(30, 30, 30, 0.68);
  letter-spacing: 0.1em;
}

.chart-legend {
  display: flex;
  gap: 16px;
  font-size: 11px;
  color: rgba(30, 30, 30, 0.7);
}

.chart-legend span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.leg-dot {
  width: 10px;
  height: 2px;
  display: inline-block;
}

.chart-svg {
  width: 100%;
  height: 300px;
  display: block;
}

.chart-svg path.line-attack,
.chart-svg path.line-fixed {
  stroke-dasharray: 1000;
  stroke-dashoffset: 1000;
  transition: stroke-dashoffset 2s ease-out;
}

.chart-svg path.gap-fill {
  opacity: 0;
  transition: opacity 1.4s ease-out 0.6s;
}

.chart-svg.drawn path.line-attack,
.chart-svg.drawn path.line-fixed {
  stroke-dashoffset: 0;
}

.chart-svg.drawn path.gap-fill {
  opacity: 1;
}

.chart-svg .gap-indicator {
  opacity: 0;
  transition: opacity 0.5s ease-out 1.8s;
}

.chart-svg.drawn .gap-indicator {
  opacity: 1;
}

.chart-callout {
  position: absolute;
  right: 32px;
  top: 90px;
  background: #fff;
  border: 1px solid var(--cyber-blue);
  border-radius: 4px;
  padding: 10px 14px;
  display: flex;
  gap: 10px;
  align-items: center;
  box-shadow: 0 8px 20px rgba(20, 49, 167, 0.12);
  max-width: 200px;
}

.chart-callout-label {
  font-size: 9px;
  letter-spacing: 0.12em;
  color: var(--cyber-blue);
}

.chart-callout-text {
  font-size: 12px;
  font-weight: 600;
  color: var(--deep-navy);
  line-height: 1.3;
  margin-top: 2px;
}

.prob-cards-wrap {
  margin-top: 96px;
}

.prob-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

.prob-card {
  background: #fff;
  border: 1px solid rgba(30, 30, 30, 0.08);
  border-radius: 8px;
  padding: 32px;
  display: flex;
  flex-direction: column;
  transition: border-color 0.3s, transform 0.3s, box-shadow 0.3s;
}

.prob-card:hover {
  border-color: var(--cyber-blue);
  transform: translateY(-3px);
  box-shadow: 0 16px 40px -12px rgba(7, 7, 99, 0.12);
}

.pc-head {
  display: flex;
  align-items: baseline;
  gap: 12px;
  margin-bottom: 24px;
}

.pc-num {
  font-size: 11px;
  color: var(--cyber-blue);
  letter-spacing: 0.12em;
}

.pc-head h3 {
  font-size: 20px;
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.2;
  color: var(--deep-navy);
}

.pc-row {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 14px 16px;
  border-radius: 6px;
  margin: 0 -4px;
}

.pc-row-sol {
  background: rgba(58, 168, 117, 0.06);
  border-left: 2px solid #2D815A;
}

.pc-row-prob {
  background: rgba(201, 72, 72, 0.04);
  border-left: 2px solid rgba(201, 72, 72, 0.5);
}

.pc-label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 10px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-weight: 500;
}

.pc-lbl-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  display: inline-block;
}

.pc-lbl-dot-prob {
  background: #c94848;
}

.pc-lbl-dot-sol {
  background: #2D815A;
}

.pc-row-prob .pc-label {
  color: rgba(201, 72, 72, 0.9);
}

.pc-row-sol .pc-label {
  color: #2D815A;
}

.pc-row p {
  font-size: 13.5px;
  line-height: 1.55;
  color: var(--gray-80);
  margin: 0;
}

.pc-row-sol p {
  color: var(--deep-navy);
  font-weight: 500;
}

.pc-divider {
  height: 1px;
  background: transparent;
  margin: 10px 0;
}

@media (max-width: 960px) {
  .prob-grid {
    grid-template-columns: 1fr;
    gap: 48px;
  }

  .prob-cards {
    grid-template-columns: 1fr;
  }
}

.research {
  padding: calc(var(--section-pad) * 0.75) 0;
  background: var(--neutral-mist);
}

.rs-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 40px;
  gap: 32px;
}

.rs-all {
  font-size: 16px;
  font-weight: 500;
  color: var(--cyber-blue);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding-bottom: 8px;
  border-bottom: 1px solid currentColor;
  letter-spacing: 0.01em;
}

.rs-grid {
  display: grid;
  grid-template-columns: 1fr 1.15fr;
  gap: 20px;
  align-items: stretch;
}

.rs-left {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.rs-card-feat {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.rs-card {
  background: #fff;
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid rgba(30, 30, 30, 0.06);
  text-decoration: none;
  color: inherit;
  transition: transform 0.35s cubic-bezier(.2, .8, .2, 1),
    border-color 0.2s,
    box-shadow 0.3s;
  display: flex;
  flex-direction: column;
}

.rs-card:hover {
  transform: translateY(-3px);
  border-color: var(--cyber-blue);
  box-shadow: 0 18px 40px -18px rgba(7, 7, 99, 0.18);
}

.rs-card-sm {
  flex-direction: row;
  align-items: stretch;
  flex: 1;
}

.rs-card-sm .rs-cover-sm {
  flex: 0 0 140px;
  aspect-ratio: auto;
  min-height: 100%;
}

.rs-card-sm .rs-body {
  padding: 14px 16px;
  gap: 10px;
  flex: 1;
}

.rs-cover {
  position: relative;
  overflow: hidden;
}

.rs-cover-feat {
  background: linear-gradient(135deg, #070763 0%, #1431A7 100%);
  aspect-ratio: 16/10;
  min-height: 280px;
}

.rs-cover-sm {
  background: linear-gradient(135deg, #E8EFFF 0%, #D4E0FF 100%);
}

.rs-body {
  padding: 18px 20px 18px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  flex: 1;
  justify-content: space-between;
}

.rs-body-feat {
  padding: 28px 32px;
  gap: 22px;
}

.rs-body-feat h3 {
  font-size: 22px;
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.25;
  color: var(--deep-navy);
  text-wrap: balance;
  margin: 0;
}

.rs-body h4,
.rs-body:not(.rs-body-feat) h3 {
  font-size: 13.5px;
  font-weight: 600;
  letter-spacing: -0.01em;
  line-height: 1.35;
  color: var(--deep-navy);
  text-wrap: balance;
  margin: 0;
}

.rs-tag {
  position: absolute;
  top: 10px;
  left: 10px;
  font-size: 9px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  background: rgba(255, 255, 255, 0.95);
  padding: 4px 8px;
  border-radius: 3px;
  color: var(--cyber-blue);
  font-weight: 500;
  backdrop-filter: blur(8px);
}

.rs-card-feat .rs-tag {
  top: 14px;
  left: 14px;
  font-size: 9.5px;
  padding: 5px 10px;
}

.rs-author {
  display: flex;
  align-items: center;
  gap: 10px;
}

.rs-avatar {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: 0.02em;
  flex-shrink: 0;
}

.rs-avatar-sm {
  width: 24px;
  height: 24px;
  font-size: 9.5px;
}

.rs-author-text {
  flex: 1;
  min-width: 0;
}

.rs-name {
  font-size: 12px;
  font-weight: 600;
  color: var(--deep-navy);
  letter-spacing: -0.003em;
}

.rs-role {
  font-size: 10.5px;
  color: var(--gray-60);
  margin-top: 2px;
}

.rs-meta {
  font-size: 10px;
  color: var(--gray-60);
  letter-spacing: 0.02em;
  white-space: nowrap;
  display: flex;
  align-items: center;
  gap: 6px;
}

.rs-meta-dot {
  opacity: 0.5;
}

.rs-meta-inline {
  font-size: 9.5px;
  color: var(--gray-60);
  letter-spacing: 0.02em;
  margin-top: 1px;
}

@media (max-width: 960px) {
  .rs-grid {
    grid-template-columns: 1fr;
  }

  .rs-card-sm {
    flex-direction: column;
  }

  .rs-card-sm .rs-cover-sm {
    flex: 0 0 auto;
    aspect-ratio: 16/10;
    min-height: 0;
  }

  .rs-cover-feat {
    min-height: 200px;
  }

  .rs-body-feat {
    padding: 22px;
  }
}

.services {
  padding: var(--section-pad) 0;
}

.sec-head {
  max-width: 860px;
  margin: 0 auto 72px;
  text-align: center;
}

.sec-h2 {
  font-size: clamp(40px, 4.5vw, 64px);
  font-weight: 600;
  letter-spacing: -0.03em;
  line-height: 1;
  margin: 0 0 24px;
  text-wrap: balance;
}

.dark .sec-h2 {
  color: #fff;
}

.sec-sub {
  font-size: 17px;
  line-height: 1.55;
  color: var(--gray-80);
  max-width: 680px;
  margin: 0 auto;
  text-wrap: pretty;
}

.dark .sec-sub {
  color: rgba(197, 214, 255, 0.85);
}

.svc-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  background: transparent;
  border: none;
}

.svc-card {
  position: relative;
  padding: 40px 32px;
  background: #fff;
  border: 1px solid rgba(30, 30, 30, 0.10);
  border-radius: 10px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  min-height: 340px;
  transition: border-color 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
  text-decoration: none;
  color: inherit;
}

.svc-card:hover {
  border-color: rgba(20, 49, 167, 0.32);
  transform: translateY(-3px);
  box-shadow: 0 18px 40px -24px rgba(7, 7, 99, 0.25);
}

.svc-top {
  display: flex;
  justify-content: center;
  align-items: center;
  padding-bottom: 24px;
}

.svc-glyph {
  color: var(--cyber-blue);
  width: 84px;
  height: 84px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(20, 49, 167, 0.06);
  transition: background 0.25s ease, transform 0.4s ease;
}

.svc-card:hover .svc-glyph {
  background: rgba(20, 49, 167, 0.12);
  transform: scale(1.06);
}

.svc-card:hover .si {
  animation-play-state: running;
}

.svc-card h3 {
  font-size: 20px;
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.2;
  margin-bottom: 12px;
}

.svc-card p {
  font-size: 14px;
  color: var(--gray-80);
  line-height: 1.55;
  margin-bottom: 24px;
  flex: 1;
}

.svc-more {
  font-size: 13px;
  font-weight: 500;
  color: var(--cyber-blue);
  display: inline-flex;
  align-items: center;
  gap: 6px;
  letter-spacing: -0.005em;
  transition: color 0.2s;
  margin-top: auto;
}

.svc-card:hover .svc-more {
  color: var(--deep-navy);
}

.svc-cta-row {
  display: flex;
  justify-content: center;
  margin-top: 56px;
}

.si {
  display: block;
}

.si-r-ring {
  transform-origin: 40px 40px;
  animation: si-spin 8s linear infinite;
}

.si-r-pulse {
  transform-origin: 40px 40px;
  animation: si-pulse-r 2.4s ease-in-out infinite;
}

@keyframes si-spin {
  to {
    transform: rotate(360deg);
  }
}

@keyframes si-pulse-r {

  0%,
  100% {
    transform: scale(1);
    opacity: 0.8;
  }

  50% {
    transform: scale(1.6);
    opacity: 0;
  }
}

.si-c-key {
  animation: si-drop 3.2s ease-in-out infinite;
}

@keyframes si-drop {

  0%,
  100% {
    transform: translateY(-6px);
    opacity: 0;
  }

  20% {
    transform: translateY(-2px);
    opacity: 1;
  }

  70% {
    transform: translateY(8px);
    opacity: 1;
  }

  85% {
    transform: translateY(10px);
    opacity: 0;
  }
}

.si-ai-bolt {
  transform-origin: 9px 13px;
  animation: si-bolt 3s ease-in-out infinite;
}

@keyframes si-bolt {

  0%,
  100% {
    opacity: 0.7;
    transform: scale(1);
  }

  40% {
    opacity: 1;
    transform: scale(1.15);
  }

  50% {
    opacity: 0.3;
  }

  60% {
    opacity: 1;
  }
}

.si-ai-compromised {
  animation: si-ai-compromise 3s ease-in-out infinite;
}

@keyframes si-ai-compromise {

  0%,
  60%,
  100% {
    stroke: currentColor;
  }

  70%,
  90% {
    stroke: #e0566f;
  }
}

.si-in-path {
  stroke-dasharray: 60;
  stroke-dashoffset: 60;
  animation: si-lateral 4s ease-in-out infinite;
}

@keyframes si-lateral {
  0% {
    stroke-dashoffset: 60;
  }

  60%,
  100% {
    stroke-dashoffset: 0;
  }
}

.si-in-origin {
  animation: si-blink 2s ease-in-out infinite;
  transform-origin: 28px 40px;
}

@keyframes si-blink {

  0%,
  100% {
    transform: scale(1);
    opacity: 1;
  }

  50% {
    transform: scale(1.3);
    opacity: 0.6;
  }
}

.si-dw-sweep {
  transform-origin: 40px 40px;
  animation: si-spin 4s linear infinite;
}

.si-dw-alert {
  animation: si-blink 1.8s ease-in-out infinite;
  transform-origin: 60px 20px;
}

@media (prefers-reduced-motion: reduce) {

  .si-r-ring,
  .si-r-pulse,
  .si-c-key,
  .si-ai-bolt,
  .si-ai-compromised,
  .si-in-path,
  .si-in-origin,
  .si-dw-sweep,
  .si-dw-alert {
    animation: none;
  }

  .si-in-path {
    stroke-dashoffset: 0;
  }
}

@media (max-width: 1080px) {
  .svc-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 640px) {
  .svc-grid {
    grid-template-columns: 1fr;
  }

  .svc-card {
    padding: 32px 24px;
    min-height: auto;
  }
}

.sp {
  padding: 72px 0 80px;
  border-top: 1px solid rgba(30, 30, 30, 0.06);
  border-bottom: 1px solid rgba(30, 30, 30, 0.06);
  overflow: hidden;
}

.sp-top {
  display: flex;
  justify-content: center;
  margin-bottom: 40px;
}

.sp-kicker {
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(30, 30, 30, 0.68);
  font-weight: 500;
  position: relative;
  padding: 0 24px;
}

.sp-kicker::before,
.sp-kicker::after {
  content: '';
  position: absolute;
  top: 50%;
  width: 60px;
  height: 1px;
  background: rgba(30, 30, 30, 0.15);
}

.sp-kicker::before {
  right: 100%;
}

.sp-kicker::after {
  left: 100%;
}

.sp-marquee {
  position: relative;
  overflow: hidden;
  padding: 0;
  mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
}

.sp-track {
  --marquee-gap: 72px;
  display: flex;
  gap: 72px;
  align-items: center;
  width: max-content;
  animation: sp-marquee 60s linear infinite;
}

.sp-marquee:hover .sp-track {
  animation-play-state: paused;
}

@keyframes sp-marquee {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(calc(-50% - var(--marquee-gap, 0px) / 2));
  }
}

.sp-logo-wrap {
  width: 180px;
  height: 80px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  padding: 0 12px;
}

.sp-logo-img {
  max-height: 44px;
  max-width: 156px;
  width: auto;
  height: auto;
  object-fit: contain;
  filter: grayscale(100%) contrast(0.85);
  opacity: 0.85;
  transition: opacity 0.3s ease, filter 0.3s ease;
}

.sp-logo-wrap:hover .sp-logo-img {
  filter: grayscale(0%) contrast(1);
  opacity: 1;
}

.sp-metrics-wrap {
  margin-top: 72px;
  padding: 56px 0 8px;
  border-top: 1px solid rgba(30, 30, 30, 0.08);
}

.sp-metrics {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

.sp-metric {
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid rgba(30, 30, 30, 0.09);
  border-radius: 6px;
  overflow: hidden;
  position: relative;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.sp-metric:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 28px -12px rgba(7, 7, 99, 0.18);
}

.sp-metric-highlight {
  border: 1.5px solid var(--cyber-blue);
  box-shadow: 0 0 0 4px rgba(20, 49, 167, 0.08);
}

.sp-metric-highlight:hover {
  box-shadow: 0 0 0 4px rgba(20, 49, 167, 0.1), 0 12px 32px -12px rgba(20, 49, 167, 0.25);
}

.sp-metric-num {
  padding: 28px 24px 24px;
  font-size: 52px;
  font-weight: 500;
  letter-spacing: -0.045em;
  color: var(--deep-navy);
  line-height: 0.95;
  font-feature-settings: "tnum";
  display: inline-flex;
  align-items: baseline;
  background: linear-gradient(180deg, #fff 0%, rgba(197, 214, 255, 0.1) 100%);
  border-bottom: 1px solid rgba(30, 30, 30, 0.06);
}

.sp-metric-n {
  display: inline-block;
}

.sp-suffix {
  color: var(--deep-navy);
  font-size: 42px;
  font-weight: 500;
  margin-left: 1px;
  letter-spacing: -0.03em;
}

.sp-metric-highlight .sp-metric-num {
  color: var(--cyber-blue);
}

.sp-metric-highlight .sp-suffix {
  color: var(--cyber-blue);
}

.sp-mlabel {
  padding: 18px 24px 22px;
  font-size: 13px;
  color: var(--gray-80);
  line-height: 1.5;
  text-wrap: pretty;
  letter-spacing: -0.003em;
  font-weight: 400;
}

@media (max-width: 1100px) {
  .sp-metrics {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 600px) {
  .sp-metrics {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .sp-track {
    gap: 48px;
  }

  .sp-metric-num {
    font-size: 44px;
    padding: 22px 20px 18px;
  }

  .sp-suffix {
    font-size: 34px;
  }

  .sp-mlabel {
    padding: 14px 20px 18px;
  }
}

.tstrip {
  padding: 64px 0 80px;
  background: var(--neutral-mist);
  border-top: 1px solid rgba(30, 30, 30, 0.05);
  border-bottom: 1px solid rgba(30, 30, 30, 0.05);
}

.tstrip-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 32px;
  gap: 20px;
}

.tstrip-h2 {
  font-size: clamp(28px, 3vw, 40px);
  font-weight: 600;
  letter-spacing: -0.025em;
  color: var(--deep-navy);
  margin: 0;
  line-height: 1.1;
}

.tstrip-label {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--gray-80);
  font-weight: 500;
}

.tstrip-label-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--cyber-blue);
  box-shadow: 0 0 10px rgba(20, 49, 167, 0.5);
}

.tstrip-all {
  font-size: 12.5px;
  font-weight: 500;
  color: var(--cyber-blue);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding-bottom: 4px;
  border-bottom: 1px solid currentColor;
  transition: gap 0.2s;
}

.tstrip-all:hover {
  gap: 10px;
}

.tstrip-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

.tstrip-card {
  background: #fff;
  border: 1px solid rgba(30, 30, 30, 0.06);
  border-radius: 8px;
  padding: 24px 26px 22px;
  display: flex;
  flex-direction: column;
  transition: border-color 0.2s, transform 0.3s;
}

.tstrip-card:hover {
  border-color: var(--cyber-blue);
  transform: translateY(-2px);
}

.tstrip-stars {
  display: inline-flex;
  gap: 3px;
  color: var(--cyber-blue);
  margin-bottom: 14px;
}

.tstrip-q {
  font-size: 14px;
  line-height: 1.6;
  color: var(--deep-navy);
  letter-spacing: -0.003em;
  margin: 0 0 20px;
  flex: 1;
  text-wrap: pretty;
}

.tstrip-open,
.tstrip-close {
  color: var(--cyber-blue);
  font-weight: 500;
  opacity: 0.7;
}

.tstrip-meta {
  display: flex;
  align-items: center;
  gap: 12px;
  padding-top: 16px;
  border-top: 1px solid rgba(30, 30, 30, 0.06);
}

.tstrip-avatar {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--deep-navy), var(--cyber-blue));
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.02em;
  flex-shrink: 0;
}

.tstrip-name {
  font-size: 13px;
  font-weight: 600;
  color: var(--deep-navy);
  letter-spacing: -0.005em;
}

.tstrip-role {
  font-size: 11.5px;
  color: var(--gray-60);
  margin-top: 1px;
}

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

.tm {
  padding: var(--section-pad) 0;
  background: var(--neutral-mist);
}

.tm-slide {
  display: none;
  animation: tmSlideIn 0.55s cubic-bezier(.2, .8, .2, 1);
}

.tm-slide.is-active {
  display: block;
}

@keyframes tmSlideIn {
  from {
    opacity: 0;
    transform: translateY(12px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.tm-frame {
  background: #fff;
  border: 1px solid rgba(30, 30, 30, 0.06);
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 30px 80px -30px rgba(7, 7, 99, 0.1);
}

.tm-quote-wrap {
  padding: 64px 72px 48px;
  position: relative;
  min-height: 420px;
}

.tm-mark {
  position: absolute;
  top: 40px;
  right: 64px;
}

.tm-quote {
  font-size: clamp(20px, 2vw, 26px);
  line-height: 1.45;
  letter-spacing: -0.015em;
  color: var(--deep-navy);
  font-weight: 400;
  margin-bottom: 40px;
  max-width: 880px;
  text-wrap: pretty;
  animation: tmIn 0.6s cubic-bezier(.2, .8, .2, 1);
}

@keyframes tmIn {
  from {
    opacity: 0;
    transform: translateY(10px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.tm-attr {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  padding-top: 28px;
  border-top: 1px solid rgba(30, 30, 30, 0.08);
}

.tm-person {
  display: flex;
  align-items: center;
  gap: 16px;
}

.tm-avatar {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--deep-navy), var(--cyber-blue));
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.02em;
}

.tm-name {
  font-size: 15px;
  font-weight: 600;
  color: var(--deep-navy);
}

.tm-role {
  font-size: 12.5px;
  color: var(--gray-60);
  margin-top: 2px;
}

.tm-company-logo {
  max-height: 40px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  opacity: 0.75;
}

.tm-company-logo img {
  max-height: 40px;
}

.tm-progress {
  height: 2px;
  background: rgba(30, 30, 30, 0.06);
  overflow: hidden;
}

.tm-progress-bar {
  height: 100%;
  background: var(--cyber-blue);
  transform-origin: left;
  animation: tmProg 7s linear forwards;
}

@keyframes tmProg {
  from {
    transform: scaleX(0);
  }

  to {
    transform: scaleX(1);
  }
}

@media (max-width: 900px) {
  .tm-quote-wrap {
    padding: 40px 28px;
  }

  .tm-mark {
    top: 24px;
    right: 24px;
    width: 32px;
    height: 32px;
  }

  .tm-attr {
    flex-direction: column;
    align-items: flex-start;
  }
}

.trust {
  padding: calc(var(--section-pad) * 0.55) 0;
  background: #fff;
}

.trust .sec-head {
  margin-bottom: 44px;
}

.trust .sec-h2 {
  font-size: clamp(26px, 3vw, 38px);
}

.tr-row-single {
  display: grid;
  grid-template-columns: 1fr auto 1fr auto 1fr;
  align-items: flex-start;
  gap: 32px;
  padding: 28px 0;
  border-top: 1px solid rgba(30, 30, 30, 0.08);
  border-bottom: 1px solid rgba(30, 30, 30, 0.08);
}

.tr-col {
  display: flex;
  flex-direction: column;
  gap: 16px;
  min-width: 0;
}

.tr-col-left {
  align-items: flex-start;
}

.tr-col-center {
  align-items: center;
}

.tr-col-right {
  align-items: flex-end;
}

.tr-col-head {
  font-size: 10px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(30, 30, 30, 0.68);
  font-weight: 600;
}

.tr-col-items {
  display: flex;
  flex-wrap: wrap;
  gap: 18px 26px;
  align-items: flex-start;
}

.tr-col-left .tr-col-items {
  justify-content: flex-start;
}

.tr-col-center .tr-col-items {
  justify-content: center;
}

.tr-col-right .tr-col-items {
  justify-content: flex-end;
}

.tr-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  min-width: 58px;
  opacity: 0.82;
  transition: opacity 0.25s;
}

.tr-item:hover {
  opacity: 1;
}

.tr-item-label {
  font-size: 9.5px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(30, 30, 30, 0.68);
  font-weight: 500;
  text-align: center;
  white-space: nowrap;
}

.tr-div {
  width: 1px;
  align-self: stretch;
  background: rgba(30, 30, 30, 0.1);
}

@media (max-width: 960px) {
  .tr-row-single {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .tr-div {
    display: none;
  }

  .tr-col-left,
  .tr-col-center,
  .tr-col-right {
    align-items: center;
  }

  .tr-col-left .tr-col-items,
  .tr-col-right .tr-col-items {
    justify-content: center;
  }
}

.tweaks {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 1000;
  background: #070763;
  color: #fff;
  border-radius: 8px;
  padding: 18px;
  width: 260px;
  box-shadow: 0 20px 60px rgba(0, 0, 24, 0.4);
  font-family: 'Fustat';
  border: 1px solid rgba(197, 214, 255, 0.2);
}

.tw-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 14px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(197, 214, 255, 0.15);
}

.tw-head span {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--soft-signal);
}

.tw-head button {
  background: none;
  border: none;
  color: rgba(197, 214, 255, 0.7);
  font-size: 18px;
  cursor: pointer;
}

.tw-group {
  margin-bottom: 14px;
}

.tw-group label {
  display: block;
  font-size: 10px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(197, 214, 255, 0.64);
  margin-bottom: 6px;
}

.tw-row {
  display: flex;
  gap: 4px;
  flex-wrap: wrap;
}

.tw-row button {
  flex: 1;
  min-width: 60px;
  padding: 7px 8px;
  font-family: inherit;
  font-size: 11px;
  background: rgba(197, 214, 255, 0.08);
  color: rgba(197, 214, 255, 0.8);
  border: 1px solid rgba(197, 214, 255, 0.15);
  border-radius: 3px;
  cursor: pointer;
  transition: all 0.2s;
}

.tw-row button:hover {
  background: rgba(197, 214, 255, 0.15);
}

.tw-row button.on {
  background: var(--cyber-blue);
  color: #fff;
  border-color: var(--cyber-blue);
}

.vd-mock {
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 60px 100px -40px rgba(7, 7, 99, 0.35),
    0 20px 50px -20px rgba(7, 7, 99, 0.2),
    0 0 0 1px rgba(7, 7, 99, 0.06);
  overflow: hidden;
  max-width: 1060px;
  margin: 0 auto;
  position: relative;
}

.vd-chrome {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  background: #f4f6fb;
  border-bottom: 1px solid rgba(30, 30, 30, 0.07);
}

.vd-dots {
  display: flex;
  gap: 6px;
}

.vd-dots i {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: rgba(30, 30, 30, 0.15);
}

.vd-dots i:nth-child(1) {
  background: #ff6b6b;
}

.vd-dots i:nth-child(2) {
  background: #ffd166;
}

.vd-dots i:nth-child(3) {
  background: #67e0a8;
}

.vd-url {
  flex: 1;
  text-align: center;
  font-size: 11px;
  color: rgba(30, 30, 30, 0.68);
  letter-spacing: 0.01em;
}

.vd-chrome-right {
  display: flex;
  gap: 8px;
}

.vd-live-chip {
  font-size: 9px;
  padding: 3px 8px;
  border: 1px solid rgba(20, 49, 167, 0.3);
  color: var(--cyber-blue);
  border-radius: 3px;
  letter-spacing: 0.08em;
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

.vd-live-dot {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--cyber-blue);
  animation: vd-live-p 1.6s ease-in-out infinite;
}

@keyframes vd-live-p {

  0%,
  100% {
    opacity: 1;
  }

  50% {
    opacity: 0.35;
  }
}

.vd-body {
  display: grid;
  grid-template-columns: 240px 1fr 220px;
  min-height: 420px;
}

.vd-side {
  border-right: 1px solid rgba(30, 30, 30, 0.07);
  background: #fafbfe;
  padding: 18px 0;
}

.vd-side-h,
.vd-right-h {
  font-size: 9.5px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(30, 30, 30, 0.68);
  padding: 0 18px 14px;
}

.vd-side ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.vd-side-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 18px;
  font-size: 12px;
  color: var(--deep-carbon);
  border-left: 2px solid transparent;
  transition: background 0.3s ease, border-color 0.3s ease;
  position: relative;
}

.vd-side-active {
  background: rgba(20, 49, 167, 0.05);
  border-left-color: var(--cyber-blue);
}

.vd-side-done {
  opacity: 0.5;
}

.vd-side-done .vd-side-title {
  text-decoration: line-through;
}

.vd-sev {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  border-radius: 3px;
  font-size: 9px;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
}

.vd-sev-c {
  background: #e0566f;
}

.vd-sev-h {
  background: #f39c50;
}

.vd-sev-m {
  background: #e0b84d;
  color: #2a2a00;
}

.vd-sev-l {
  background: #89b4d1;
  color: #0a2a3c;
}

.vd-side-meta {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
  flex: 1;
}

.vd-side-id {
  font-size: 9px;
  color: rgba(30, 30, 30, 0.68);
  letter-spacing: 0.04em;
}

.vd-side-title {
  font-size: 11px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.vd-side-check {
  color: #3aa176;
  font-size: 12px;
  font-weight: 700;
}

.vd-main {
  position: relative;
  padding: 22px 26px;
  background: #fff;
  overflow: hidden;
}

.vd-scene {
  position: absolute;
  inset: 22px 26px;
  opacity: 0;
  transform: translateY(8px);
  transition: opacity 0.5s ease, transform 0.5s ease;
  pointer-events: none;
}

.vd-scene-on {
  opacity: 1;
  transform: translateY(0);
}

.vd-sev-banner {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 14px;
  background: rgba(243, 156, 80, 0.08);
  border: 1px solid rgba(243, 156, 80, 0.3);
  border-radius: 5px;
  margin-bottom: 14px;
}

.vd-sev-banner-chip {
  background: #f39c50;
  color: #fff;
  padding: 3px 8px;
  border-radius: 3px;
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: 0.06em;
}

.vd-main-id {
  font-size: 12px;
  font-weight: 500;
  color: var(--deep-carbon);
  flex: 1;
}

.vd-cvss {
  font-size: 10.5px;
  color: rgba(30, 30, 30, 0.68);
}

.vd-section-h {
  font-size: 9.5px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(30, 30, 30, 0.68);
  margin: 10px 0 8px;
}

.vd-code {
  background: #0a0a28;
  border-radius: 5px;
  padding: 10px 12px;
  margin-bottom: 14px;
  font-family: 'IBM Plex Mono', monospace;
  font-size: 10.5px;
  line-height: 1.6;
}

.vd-code-row {
  display: flex;
  gap: 10px;
}

.vd-code-n {
  color: rgba(197, 214, 255, 0.64);
  min-width: 22px;
}

.vd-code-del {
  color: #ffa9a9;
}

.vd-code-add {
  color: #9affc9;
}

.vd-code-row-add {
  background: rgba(103, 224, 168, 0.08);
  margin: 0 -12px;
  padding: 0 12px;
}

.vd-terminal {
  background: #0a0a28;
  border-radius: 5px;
  padding: 10px 12px;
  font-size: 10px;
  line-height: 1.7;
  color: rgba(197, 214, 255, 0.85);
}

.vd-term-warn {
  color: #ffd166;
  margin-top: 2px;
}

.vd-chat-msg {
  display: flex;
  gap: 12px;
  margin-bottom: 14px;
}

.vd-chat-av {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 10px;
  font-weight: 700;
  color: #fff;
  flex-shrink: 0;
  overflow: hidden;
}

.vd-chat-av-dev {
  background: #8a63b3;
}

.vd-chat-av-auditor {
  background: var(--cyber-blue);
}

.vd-chat-av-auditor img {
  width: 60%;
  height: 60%;
  object-fit: contain;
}

.vd-chat-body {
  flex: 1;
  min-width: 0;
}

.vd-chat-meta {
  font-size: 11px;
  color: rgba(30, 30, 30, 0.68);
  margin-bottom: 4px;
}

.vd-chat-meta b {
  color: var(--deep-carbon);
  font-weight: 600;
}

.vd-chat-time {
  opacity: 0.7;
}

.vd-chat-text {
  font-size: 12.5px;
  color: var(--deep-carbon);
  line-height: 1.5;
  padding: 10px 12px;
  background: rgba(197, 214, 255, 0.15);
  border-radius: 5px;
  border-bottom-left-radius: 0;
}

.vd-chat-auditor .vd-chat-text {
  background: rgba(20, 49, 167, 0.08);
  border: 1px solid rgba(20, 49, 167, 0.15);
}

.vd-chat-attach {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 6px;
  padding: 4px 8px;
  background: #fff;
  border: 1px solid rgba(30, 30, 30, 0.1);
  border-radius: 3px;
  font-size: 10px;
  color: var(--deep-carbon);
}

.vd-chat-typing {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 6px;
}

.vd-dots-typing {
  display: inline-flex;
  gap: 3px;
  padding: 10px 14px;
  background: rgba(197, 214, 255, 0.15);
  border-radius: 12px;
}

.vd-dots-typing i {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: rgba(30, 30, 30, 0.4);
  animation: vd-typing 1.4s ease-in-out infinite;
}

.vd-dots-typing i:nth-child(2) {
  animation-delay: 0.15s;
}

.vd-dots-typing i:nth-child(3) {
  animation-delay: 0.3s;
}

@keyframes vd-typing {

  0%,
  100% {
    transform: translateY(0);
    opacity: 0.4;
  }

  50% {
    transform: translateY(-3px);
    opacity: 1;
  }
}

.vd-retest-top {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
}

.vd-retest-title {
  font-size: 13px;
  font-weight: 600;
  color: var(--deep-carbon);
  flex: 1;
}

.vd-retest-chip {
  font-size: 9.5px;
  padding: 4px 10px;
  border-radius: 3px;
  letter-spacing: 0.06em;
}

.vd-retest-chip-progress {
  background: rgba(20, 49, 167, 0.1);
  color: var(--cyber-blue);
  border: 1px solid rgba(20, 49, 167, 0.2);
}

.vd-retest-steps {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 14px;
}

.vd-retest-step {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 12px;
  border: 1px solid rgba(30, 30, 30, 0.08);
  border-radius: 4px;
  font-size: 12px;
  color: var(--deep-carbon);
  background: #fafbfe;
}

.vd-retest-step-done {
  color: rgba(30, 30, 30, 0.68);
}

.vd-retest-step-active {
  background: rgba(20, 49, 167, 0.06);
  border-color: rgba(20, 49, 167, 0.25);
}

.vd-retest-step-icon {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #3aa176;
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 10px;
  font-weight: 700;
  flex-shrink: 0;
}

.vd-retest-step-active .vd-retest-step-icon {
  background: var(--cyber-blue);
  animation: vd-spin 1s linear infinite;
}

@keyframes vd-spin {
  to {
    transform: rotate(360deg);
  }
}

.vd-retest-step-t {
  margin-left: auto;
  font-size: 10px;
  color: rgba(30, 30, 30, 0.68);
}

.vd-retest-foot {
  font-size: 10.5px;
  color: rgba(30, 30, 30, 0.68);
  padding-top: 6px;
}

.vd-done-card {
  text-align: center;
  padding: 18px;
}

.vd-done-badge {
  margin-bottom: 12px;
}

.vd-done-h {
  font-size: 22px;
  font-weight: 500;
  letter-spacing: -0.03em;
  color: var(--deep-carbon);
  margin-bottom: 4px;
}

.vd-done-sub {
  font-size: 13px;
  color: rgba(30, 30, 30, 0.68);
  margin-bottom: 18px;
}

.vd-done-meta {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  max-width: 440px;
  margin: 0 auto;
}

.vd-done-meta>div {
  display: flex;
  flex-direction: column;
  gap: 3px;
  padding: 10px;
  background: #fafbfe;
  border-radius: 5px;
  border: 1px solid rgba(30, 30, 30, 0.06);
}

.vd-done-meta span {
  font-size: 9.5px;
  color: rgba(30, 30, 30, 0.68);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.vd-done-meta b {
  font-size: 15px;
  color: var(--deep-carbon);
  font-weight: 600;
}

.vd-right {
  border-left: 1px solid rgba(30, 30, 30, 0.07);
  background: #fafbfe;
  padding: 18px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.vd-right-h {
  padding: 0;
  margin: 0 0 10px;
}

.vd-right-sep {
  margin-top: 14px;
}

.vd-kpi {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.vd-kpi-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 10px;
  background: #fff;
  border: 1px solid rgba(30, 30, 30, 0.06);
  border-radius: 4px;
  font-size: 10.5px;
}

.vd-kpi-row span:first-child {
  color: rgba(30, 30, 30, 0.68);
  font-size: 9.5px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.vd-kpi-row b {
  font-size: 12px;
  color: var(--deep-carbon);
  font-weight: 600;
}

.vd-kpi-good {
  color: #3aa176;
  font-size: 12px;
  font-weight: 600;
}

.vd-bars {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.vd-bar {
  height: 5px;
  background: rgba(30, 30, 30, 0.06);
  border-radius: 2px;
  overflow: hidden;
}

.vd-bar-fill {
  height: 100%;
  background: linear-gradient(90deg, var(--cyber-blue), var(--soft-signal));
  transition: width 0.8s ease;
}

.vd-scene-label {
  margin-top: auto;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 9.5px;
  color: var(--cyber-blue);
  padding: 6px 10px;
  background: rgba(20, 49, 167, 0.06);
  border-radius: 3px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.vd-scene-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--cyber-blue);
  animation: vd-live-p 1.4s ease-in-out infinite;
}

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

  .vd-side,
  .vd-right {
    border-right: none;
    border-bottom: 1px solid rgba(30, 30, 30, 0.07);
  }
}

.vd {
  position: relative;
  padding: 80px 0 88px;
  background: #fafbfe;
  overflow: hidden;
}

.vd-container {
  position: relative;
  z-index: 1;
  max-width: 960px;
}

.vd-head {
  text-align: center;
  margin-bottom: 40px;
}

.vd-title {
  font-size: clamp(28px, 3.6vw, 44px);
  font-weight: 600;
  letter-spacing: -0.032em;
  line-height: 1.05;
  color: var(--deep-navy);
  margin: 0 0 14px;
}

.vd-sub {
  font-size: 16px;
  line-height: 1.5;
  color: var(--gray-80);
  max-width: 560px;
  margin: 0 auto;
  text-wrap: pretty;
}

.vd-mock {
  max-width: 880px !important;
}

.vd-cta-wrap {
  display: flex;
  justify-content: center;
  margin-top: 40px;
}

.vd-cta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 14px 28px;
  background: var(--cyber-blue);
  color: #fff;
  text-decoration: none;
  border-radius: 40px;
  font-size: 15px;
  font-weight: 500;
  letter-spacing: -0.003em;
  transition: transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease;
  box-shadow: 0 10px 30px -8px rgba(20, 49, 167, 0.4);
}

.vd-cta:hover {
  transform: translateY(-2px);
  background: #1c3fc8;
  box-shadow: 0 18px 40px -10px rgba(20, 49, 167, 0.55);
}

.vd-cta svg {
  transition: transform 0.25s ease;
}

.vd-cta:hover svg {
  transform: translateX(3px);
}

@media (max-width: 600px) {
  .vd {
    padding: 60px 0 72px;
  }

  .vd-head {
    margin-bottom: 28px;
  }
}

.why {
  padding: var(--section-pad) 0;
  overflow: hidden;
}

.why-bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.why-sphere {
  position: absolute;
  left: -10%;
  top: -10%;
  width: 800px;
  height: 800px;
  background: radial-gradient(circle, rgba(20, 49, 167, 0.5) 0%, transparent 60%);
  filter: blur(60px);
}

.why-inner {
  position: relative;
  z-index: 2;
}

.why-table-wrap {
  margin: 64px 0 40px;
}

.why-table {
  position: relative;
  border-radius: 10px;
  overflow: hidden;
}

.why-grid {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 1.2fr) minmax(0, 1fr) minmax(0, 1fr);
}

.why-table-3 .why-grid {
  grid-template-columns: minmax(0, 1.6fr) minmax(0, 1.5fr) minmax(0, 1.5fr);
  align-items: stretch;
}

.why-table-4 .why-grid {
  grid-template-columns: minmax(0, 1.5fr) minmax(0, 1.2fr) minmax(0, 1.2fr) minmax(0, 1.2fr);
  align-items: stretch;
}

.why-grid-head {
  border-bottom: 1px solid rgba(197, 214, 255, 0.18);
}

.why-cap-head {
  padding: 22px 20px;
  font-size: 10.5px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(197, 214, 255, 0.64);
  font-weight: 500;
  display: flex;
  align-items: flex-end;
}

.why-col-head {
  padding: 22px 20px;
  font-size: 13px;
  font-weight: 500;
  color: rgba(197, 214, 255, 0.7);
  letter-spacing: -0.005em;
  display: flex;
  align-items: flex-end;
}

.why-col-asperis {
  background: var(--cyber-blue);
  color: #fff;
  padding: 32px 22px 16px;
  border-radius: 10px 10px 0 0;
  margin-top: -16px;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 4px;
  box-shadow: 0 0 24px rgba(20, 49, 167, 0.4);
}

.why-col-asperis::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 10px 10px 0 0;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.08) 0%, transparent 40%);
  pointer-events: none;
}

.why-col-asperis-inner {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: -0.015em;
  color: #fff;
}

.why-col-asperis-tag {
  font-size: 9.5px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.75);
  margin-top: 2px;
}

.why-grid-row {
  border-bottom: 1px solid rgba(197, 214, 255, 0.1);
  transition: background 0.2s;
}

.why-grid-row:hover {
  background: rgba(197, 214, 255, 0.02);
}

.why-grid-row:last-child {
  border-bottom: none;
}

.why-cap {
  padding: 18px 20px;
  font-size: 14px;
  font-weight: 500;
  color: #fff;
  letter-spacing: -0.005em;
  line-height: 1.35;
  display: flex;
  align-items: center;
}

.why-cell {
  padding: 18px 20px;
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 13px;
  color: rgba(197, 214, 255, 0.7);
}

.why-cell-asperis {
  background: rgba(20, 49, 167, 0.22);
  color: #fff;
  border-left: 1px solid rgba(197, 214, 255, 0.2);
  border-right: 1px solid rgba(197, 214, 255, 0.2);
}

.why-cell-label {
  letter-spacing: -0.003em;
}

.why-cell-asperis .why-cell-label {
  color: #fff;
  font-weight: 500;
}

.why-ic {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.why-ic-yes {
  background: rgba(197, 214, 255, 0.15);
  color: #C5D6FF;
}

.why-ic-asperis {
  background: #67e0a8;
  color: #050537;
  box-shadow: 0 0 12px rgba(103, 224, 168, 0.4);
}

.why-ic-partial {
  background: rgba(255, 200, 100, 0.15);
  color: rgba(255, 200, 100, 0.8);
}

.why-ic-no {
  background: rgba(224, 86, 111, 0.12);
  color: rgba(224, 86, 111, 0.7);
}

.why-ic-na {
  background: rgba(197, 214, 255, 0.08);
  color: rgba(197, 214, 255, 0.45);
}

.why-foot {
  font-size: 11px;
  color: rgba(197, 214, 255, 0.64);
  max-width: 700px;
  letter-spacing: 0.02em;
  line-height: 1.55;
  margin-top: 24px;
}

.why-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin: 64px 0 40px;
  align-items: stretch;
}

.why-card {
  border: 1px solid rgba(197, 214, 255, 0.2);
  border-radius: 10px;
  padding: 32px;
}

.why-card-primary {
  background: var(--cyber-blue);
  border-color: var(--cyber-blue);
  box-shadow: 0 20px 60px -20px rgba(20, 49, 167, 0.5);
}

.why-card-head {
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: rgba(197, 214, 255, 0.75);
  margin-bottom: 20px;
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(197, 214, 255, 0.2);
}

.why-card-primary .why-card-head {
  color: #fff;
  border-color: rgba(255, 255, 255, 0.2);
}

.why-card-brand {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-weight: 700;
  font-size: 14px;
  letter-spacing: -0.01em;
  text-transform: none;
}

.why-card ul {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 0;
}

.why-card li {
  display: flex;
  gap: 12px;
  align-items: center;
  font-size: 13.5px;
  color: rgba(197, 214, 255, 0.78);
  line-height: 1.4;
}

.why-card-primary li {
  color: #fff;
}

@media (max-width: 960px) {
  .why-cards {
    grid-template-columns: 1fr;
  }

  .why-grid {
    grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr) minmax(0, 0.8fr) minmax(0, 0.8fr);
  }

  .why-cell-label {
    display: none;
  }

  .why-col-asperis {
    padding: 16px;
  }

  .why-col-asperis-inner {
    font-size: 13px;
  }
}

.phbk-section {
  background: var(--ph-bg-1, #fff);
  padding: 80px 0 96px;
}

.phbk-card {
  position: relative;
  background: #f5f1ea;
  border: 1px solid rgba(30, 30, 30, 0.07);
  border-radius: 14px;
  padding: 56px 64px;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 48px;
  overflow: hidden;
  max-width: 1160px;
  margin: 0 auto;
}

.phbk-mark {
  position: absolute;
  top: 50%;
  right: -60px;
  transform: translateY(-50%);
  width: 360px;
  height: 360px;
  fill: rgba(20, 49, 167, 0.05);
  pointer-events: none;
}

.phbk-text {
  position: relative;
  max-width: 600px;
}

.phbk-kicker {
  font-size: 11px;
  letter-spacing: 0.22em;
  font-weight: 700;
  color: var(--ph-accent, #1431a7);
  margin-bottom: 18px;
  text-transform: uppercase;
}

.phbk-title {
  font-size: clamp(28px, 3.2vw, 42px);
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -0.022em;
  color: var(--deep-navy, #070763);
  margin: 0 0 18px;
  text-wrap: balance;
}

.phbk-body {
  font-size: 15.5px;
  line-height: 1.55;
  color: rgba(30, 30, 30, 0.7);
  margin: 0;
  max-width: 520px;
  text-wrap: pretty;
}

.phbk-cta-wrap {
  position: relative;
}

.phbk-cta {
  all: unset;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 16px 28px;
  background: var(--deep-navy, #070763);
  color: #fff;
  font-family: inherit;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: -0.005em;
  border-radius: 8px;
  transition: background 0.2s, transform 0.15s, box-shadow 0.2s;
  box-shadow: 0 8px 22px -10px rgba(7, 7, 99, 0.4);
}

.phbk-cta:hover {
  background: var(--ph-accent, #1431a7);
  transform: translateY(-1px);
  box-shadow: 0 12px 30px -10px rgba(20, 49, 167, 0.5);
}

.phbk-cta:focus-visible {
  outline: 2px solid var(--ph-accent, #1431a7);
  outline-offset: 3px;
}

.phbk-arrow {
  transition: transform 0.2s;
}

.phbk-cta:hover .phbk-arrow {
  transform: translateX(3px);
}

@media (max-width: 820px) {
  .phbk-card {
    grid-template-columns: 1fr;
    gap: 28px;
    padding: 40px 32px;
  }

  .phbk-mark {
    right: -120px;
    opacity: 0.6;
  }
}

.inner-section {
  padding: 72px 0 96px;
}

.inner-section h1 {
  font-size: clamp(34px, 4.6vw, 60px);
  font-weight: 400;
  letter-spacing: -0.024em;
  line-height: 1.06;
  color: var(--deep-navy);
  margin: 0 0 24px;
  text-wrap: balance;
}

.inner-section h2 {
  font-size: 30px;
  line-height: 1.6;
  color: var(--deep-navy);
  margin: 0;
  margin-bottom: 18px;
  text-wrap: pretty;
}

.inner-section h3 {
  font-size: 26px;
  line-height: 1.6;
  color: var(--deep-navy);
  margin: 0;
  margin-bottom: 18px;
  text-wrap: pretty;
}

.inner-section h4 {
  font-size: 22px;
  line-height: 1.6;
  color: var(--deep-navy);
  margin: 0;
  margin-bottom: 18px;
  text-wrap: pretty;
}

.inner-section p {
  font-size: 16.5px;
  line-height: 1.72;
  color: var(--bp-text);
  margin: 0 0 18px;
  text-wrap: pretty;
}

.cs-hero {
  --cs-navy: #070763;
  --cs-navy-deep: #04043F;
  --cs-blue: #1431A7;
  --cs-blue-bright: #C5D6FF;
  --cs-cyan: #6EA8FF;
  position: relative;
  background: var(--cs-navy);
  color: #fff;
  padding: 130px 0 100px;
  overflow: hidden;
  isolation: isolate;
  min-height: 720px;
}

.cs-hero-bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.cs-hero-grid {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(to right, rgba(255, 255, 255, 0.04) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255, 255, 255, 0.04) 1px, transparent 1px);
  background-size: 64px 64px;
  mask-image: radial-gradient(ellipse 70% 60% at 50% 40%, black 30%, transparent 80%);
  -webkit-mask-image: radial-gradient(ellipse 70% 60% at 50% 40%, black 30%, transparent 80%);
}

.cs-hero-glow {
  position: absolute;
  right: -12%;
  top: -200px;
  width: 1100px;
  height: 1100px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(110, 168, 255, .40) 0%, rgba(20, 49, 167, .32) 38%, transparent 72%);
  filter: blur(60px);
  animation: cs-breath 9s ease-in-out infinite;
}

.cs-hero-glow-blue {
  position: absolute;
  left: -10%;
  bottom: -180px;
  width: 700px;
  height: 700px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(166, 187, 255, .18) 0%, rgba(20, 49, 167, .14) 45%, transparent 70%);
  filter: blur(70px);
}

@keyframes cs-breath {

  0%,
  100% {
    opacity: .85;
    transform: translate3d(0, 0, 0) scale(1);
  }

  50% {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1.04);
  }
}

.cs-hero-vignette {
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 100% 80% at 50% 50%, transparent 30%, rgba(0, 0, 0, .45) 100%);
}

.cs-hero-container {
  position: relative;
  z-index: 1;
}

.cs-hero-grid-cols {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 64px;
  align-items: center;
}

.cs-hero-text {
  max-width: 560px;
}

.cs-hero-h1 {
  font-size: clamp(40px, 4.6vw, 64px);
  font-weight: 400;
  letter-spacing: -0.022em;
  line-height: 1.05;
  margin: 0 0 22px;
  color: #fff;
  text-wrap: balance;
}

.cs-h1-accent {
  color: var(--cs-blue-bright);
  font-weight: 500;
}

.cs-hero-sub {
  font-size: 17px;
  line-height: 1.6;
  color: rgba(255, 255, 255, .78);
  max-width: 540px;
  margin: 0 0 28px;
  text-wrap: pretty;
}

.cs-hero-cta {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  margin-bottom: 36px;
}

.cs-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 13px 22px;
  font-size: 14.5px;
  font-weight: 500;
  letter-spacing: -0.005em;
  border-radius: 8px;
  text-decoration: none;
  border: 1px solid transparent;
  transition: all .2s ease;
}

.cs-btn-ghost {
  color: rgba(255, 255, 255, .92);
  border-color: rgba(197, 214, 255, .30);
  background: transparent;
}

.cs-btn-ghost:hover {
  color: var(--cs-blue-bright);
  border-color: var(--cs-blue-bright);
}

.cs-arrow {
  transition: transform .2s;
}

.cs-btn:hover .cs-arrow {
  transform: translateY(2px);
}

.cs-stats {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

.cs-stat {
  flex: 0 1 175px;
  padding: 14px 18px;
  background: rgba(255, 255, 255, .04);
  border: 1px solid rgba(197, 214, 255, .18);
  border-radius: 12px;
  backdrop-filter: blur(8px);
}

.cs-stat-n {
  font-size: 20px;
  font-weight: 600;
  letter-spacing: -0.02em;
  color: #fff;
}

.cs-stat-l {
  margin-top: 3px;
  font-size: 12px;
  color: rgba(197, 214, 255, .7);
}

.cs-form-wrap {
  background: rgba(4, 4, 63, .55);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(197, 214, 255, .20);
  border-radius: 16px;
  padding: 26px 26px 28px;
  position: relative;
}

.cs-form-wrap::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 16px;
  padding: 1px;
  background: linear-gradient(135deg, rgba(197, 214, 255, .42), rgba(197, 214, 255, 0) 55%);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
  opacity: .85;
}

.cs-form {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.cs-form-title {
  font-size: 22px;
  font-weight: 500;
  letter-spacing: -0.018em;
  line-height: 1.18;
  color: #fff;
  margin-bottom: 4px;
  text-wrap: balance;
}

.cs-form-hint {
  font-size: 13px;
  line-height: 1.55;
  color: rgba(255, 255, 255, .68);
  margin-bottom: 14px;
}

.cs-form label {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.cs-field-label {
  font-family: ui-monospace, Menlo, monospace;
  font-size: 9.5px;
  letter-spacing: 0.2em;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.56);
  text-transform: uppercase;
}

.cs-form input,
.cs-form select {
  font-family: inherit;
  font-size: 14px;
  color: #fff;
  background: rgba(255, 255, 255, .06);
  border: 1px solid rgba(197, 214, 255, .22);
  border-radius: 8px;
  padding: 10px 12px;
  transition: border-color .2s, background .2s;
}

.cs-form select option {
  color: #1a1a1a;
}

.cs-form input::placeholder {
  color: rgba(255, 255, 255, 0.56);
}

.cs-form input:focus,
.cs-form select:focus {
  outline: none;
  border-color: var(--cs-blue-bright);
  background: rgba(255, 255, 255, .10);
}

.cs-form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.cs-form-submit {
  margin-top: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  background: var(--cs-blue-bright);
  color: var(--cs-navy);
  border: 1px solid var(--cs-blue-bright);
  border-radius: 8px;
  padding: 13px 20px;
  font-family: inherit;
  font-size: 14.5px;
  font-weight: 500;
  letter-spacing: -0.005em;
  cursor: pointer;
  transition: transform .15s ease, background .2s ease, box-shadow .2s ease;
  box-shadow: 0 12px 28px -10px rgba(197, 214, 255, .45);
}

.cs-form-submit:hover {
  background: #DCE6FF;
  border-color: #DCE6FF;
  transform: translateY(-1px);
}

.cs-form-success {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 8px 0;
  color: #fff;
}

.cs-form-success-mark {
  color: var(--cs-blue-bright);
  margin-bottom: 4px;
}

.cs-form-success-title {
  font-size: 19px;
  font-weight: 500;
  letter-spacing: -0.015em;
  color: #fff;
}

.cs-form-success-body {
  font-size: 13.5px;
  line-height: 1.55;
  color: rgba(255, 255, 255, .75);
}

.cs-grid-sec {
  background: #fff;
  padding: 96px 0;
}

.cs-grid-head {
  margin: 0 0 40px;
  max-width: 760px;
}

.cs-grid-title {
  font-size: clamp(28px, 3.4vw, 44px);
  font-weight: 600;
  letter-spacing: -0.022em;
  color: #070763;
  margin: 0 0 14px;
}

.cs-grid-sub {
  font-size: 15.5px;
  line-height: 1.55;
  color: rgba(30, 30, 30, 0.68);
  margin: 0;
  max-width: 64ch;
}

.cs-filters {
  display: grid;
  grid-template-columns: minmax(220px, 1.4fr) repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin: 0 0 24px;
}

.cs-search {
  position: relative;
  display: flex;
  align-items: center;
  background: #fff;
  border: 1px solid rgba(30, 40, 80, .15);
  border-radius: 10px;
  padding: 0 14px;
  color: rgba(30, 40, 80, 0.7);
  transition: border-color .15s, box-shadow .15s;
}

.cs-search:focus-within {
  border-color: rgba(30, 40, 80, .4);
  box-shadow: 0 0 0 3px rgba(30, 40, 80, .06);
}

.cs-search input {
  flex: 1;
  background: transparent;
  border: 0;
  outline: 0;
  padding: 12px 12px;
  font-size: 14.5px;
  color: #070763;
  font-family: inherit;
}

.cs-search input::placeholder {
  color: rgba(30, 40, 80, 0.7);
}

.cs-select {
  position: relative;
  display: block;
}

.cs-select-label {
  position: absolute;
  top: -7px;
  left: 12px;
  padding: 0 6px;
  background: #fff;
  font-size: 10.5px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(30, 40, 80, 0.7);
  pointer-events: none;
  z-index: 1;
}

.cs-select select {
  appearance: none;
  width: 100%;
  padding: 12px 36px 12px 14px;
  background: #fff;
  border: 1px solid rgba(30, 40, 80, .15);
  border-radius: 10px;
  font-size: 14px;
  font-family: inherit;
  color: #070763;
  cursor: pointer;
  transition: border-color .15s;
}

.cs-select select:hover {
  border-color: rgba(30, 40, 80, .3);
}

.cs-select select:focus {
  outline: 0;
  border-color: rgba(30, 40, 80, .4);
  box-shadow: 0 0 0 3px rgba(30, 40, 80, .06);
}

.cs-select-chev {
  position: absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
  color: rgba(30, 40, 80, 0.7);
  pointer-events: none;
}

.cs-result-info {
  display: flex;
  align-items: center;
  gap: 16px;
  margin: 6px 2px 24px;
  font-size: 12.5px;
  color: rgba(30, 40, 80, 0.7);
}

.cs-clear {
  background: transparent;
  border: 0;
  padding: 0;
  color: #070763;
  font-size: 13px;
  font-family: inherit;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.cs-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px 22px;
}

.cs-card {
  display: flex;
  flex-direction: column;
  gap: 14px;
  cursor: pointer;
  transition: transform .25s ease;
  text-decoration: none;
  color: inherit;
}

.cs-card:hover {
  transform: translateY(-3px);
}

.cs-card-visual {
  position: relative;
  aspect-ratio: 4/3;
  border-radius: 14px;
  overflow: hidden;
  display: grid;
  place-items: center;
  padding: 32px;
  transition: box-shadow .25s ease;
}

.cs-card.is-light .cs-card-visual {
  box-shadow: inset 0 0 0 1px rgba(30, 40, 80, .08);
}

.cs-card:hover .cs-card-visual {
  box-shadow: 0 18px 40px -20px rgba(30, 40, 80, .35);
}

.cs-card-logo {
  max-width: 70%;
  max-height: 60%;
  object-fit: contain;
  filter: drop-shadow(0 1px 0 rgba(255, 255, 255, .4));
  transition: opacity .25s ease, transform .25s ease;
}

.cs-card.is-dark .cs-card-logo {
  filter: brightness(0) invert(1) drop-shadow(0 1px 0 rgba(0, 0, 0, .05));
}

.cs-card-overlay {
  position: absolute;
  inset: 0;
  background: rgba(255, 255, 255, .97);
  color: #070763;
  padding: 22px 22px 18px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  opacity: 0;
  transform: translateY(6px);
  transition: opacity .25s ease, transform .25s ease;
  pointer-events: none;
}

.cs-card:hover .cs-card-overlay {
  opacity: 1;
  transform: none;
  pointer-events: auto;
}

.cs-card:hover .cs-card-logo {
  opacity: 0;
  transform: scale(.96);
}

.cs-card-facts {
  margin: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px 18px;
}

.cs-card-facts>div {
  min-width: 0;
}

.cs-card-facts dt {
  font-family: ui-monospace, Menlo, monospace;
  font-size: 9.5px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(30, 40, 80, 0.7);
  margin: 0 0 2px;
}

.cs-card-facts dd {
  margin: 0;
  font-size: 13.5px;
  font-weight: 500;
  color: #070763;
  letter-spacing: -0.01em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.cs-card-readmore {
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 9px 14px;
  background: #070763;
  color: #fff;
  border-radius: 8px;
  font-size: 12.5px;
  font-weight: 500;
}

.cs-card-body {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.cs-card-tag-row {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 11.5px;
  color: rgba(30, 40, 80, 0.7);
  letter-spacing: .04em;
}

.cs-card-industry,
.cs-card-service {
  text-transform: uppercase;
  font-family: ui-monospace, Menlo, monospace;
  font-size: 10.5px;
  letter-spacing: .1em;
}

.cs-card-dot {
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: rgba(30, 40, 80, .35);
  display: inline-block;
}

.cs-card-title {
  margin: 0;
  font-size: 17px;
  line-height: 1.3;
  font-weight: 600;
  color: #070763;
  letter-spacing: -0.014em;
  text-wrap: balance;
}

.cs-card-summary {
  margin: 0;
  font-size: 13.5px;
  line-height: 1.5;
  color: rgba(30, 30, 30, 0.68);
  text-wrap: pretty;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.cs-empty {
  padding: 72px 24px;
  text-align: center;
  color: rgba(30, 40, 80, 0.7);
  border: 1px dashed rgba(30, 40, 80, .18);
  border-radius: 14px;
}

.cs-pager {
  margin: 56px auto 0;
  display: flex;
  gap: 6px;
  align-items: center;
  justify-content: center;
  padding: 6px;
  background: #fff;
  border: 1px solid rgba(30, 40, 80, .12);
  border-radius: 12px;
  box-shadow: 0 4px 14px -8px rgba(30, 40, 80, .18);
  width: max-content;
}

.cs-page-btn {
  min-width: 36px;
  height: 36px;
  padding: 0 10px;
  border: 0;
  background: transparent;
  color: #070763;
  font-size: 13.5px;
  font-family: inherit;
  font-weight: 500;
  border-radius: 8px;
  cursor: pointer;
  display: grid;
  place-items: center;
  transition: background .15s, color .15s;
}

.cs-page-btn:hover:not(:disabled) {
  background: rgba(30, 40, 80, .06);
}

.cs-page-btn.is-on {
  background: #070763;
  color: #fff;
}

.cs-page-btn:disabled {
  color: rgba(30, 40, 80, .25);
  cursor: not-allowed;
}

.cs-closing {
  background: #E8EEFF;
  padding: 88px 0 112px;
  position: relative;
}

.cs-closing::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 18% 20%, rgba(255, 255, 255, .6), transparent 50%),
    radial-gradient(circle at 88% 80%, rgba(197, 214, 255, .4), transparent 55%);
  pointer-events: none;
}

.cs-closing .container {
  position: relative;
}

.cs-closing-card {
  background: #fff;
  border-radius: 22px;
  padding: 48px 52px;
  box-shadow: 0 1px 0 rgba(30, 40, 80, .04), 0 30px 60px -30px rgba(30, 40, 80, .18);
}

.cs-closing-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
  gap: 56px;
  align-items: center;
}

.cs-closing-title {
  font-size: clamp(26px, 2.8vw, 36px);
  font-weight: 600;
  letter-spacing: -0.022em;
  line-height: 1.18;
  color: #070763;
  margin: 0 0 14px;
  text-wrap: balance;
}

.cs-closing-sub {
  font-size: 15.5px;
  line-height: 1.55;
  color: rgba(30, 30, 30, 0.68);
  margin: 0 0 26px;
  max-width: 50ch;
  text-wrap: pretty;
}

.cs-closing-cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 13px 22px;
  background: #070763;
  color: #fff;
  border-radius: 10px;
  text-decoration: none;
  font-weight: 600;
  font-size: 14.5px;
  letter-spacing: -0.01em;
  transition: transform .2s ease, background .2s ease;
}

.cs-closing-cta:hover {
  transform: translateY(-1px);
  background: #15224d;
}

.cs-closing-reviews {
  margin-top: 32px;
  padding-top: 28px;
  border-top: 1px solid rgba(30, 40, 80, .08);
}

.cs-closing-rev-stage {
  position: relative;
  min-height: 132px;
}

.cs-closing-rev {
  position: absolute;
  inset: 0;
  margin: 0;
  opacity: 0;
  transform: translateY(6px);
  transition: opacity .5s ease, transform .5s ease;
  pointer-events: none;
}

.cs-closing-rev.is-on {
  opacity: 1;
  transform: none;
  pointer-events: auto;
}

.cs-closing-rev blockquote {
  margin: 0 0 14px;
  font-size: 15px;
  line-height: 1.55;
  color: rgba(30, 30, 30, .85);
  text-wrap: pretty;
}

.cs-closing-rev figcaption {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 12.5px;
  color: rgba(30, 40, 80, 0.7);
}

.cs-closing-rev-logo {
  width: 36px;
  height: 36px;
  border-radius: 8px;
  background: #F6F8FF;
  border: 1px solid rgba(30, 40, 80, .08);
  display: grid;
  place-items: center;
  padding: 6px;
  flex-shrink: 0;
}

.cs-closing-rev-logo img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.cs-closing-rev-meta {
  display: flex;
  flex-direction: column;
  line-height: 1.3;
}

.cs-closing-rev-author {
  font-weight: 600;
  color: #070763;
  font-size: 13px;
}

.cs-closing-rev-role {
  color: rgba(30, 40, 80, 0.7);
  font-size: 12px;
}

.cs-closing-rev-dots {
  margin-top: 14px;
  display: flex;
  gap: 7px;
}

.cs-closing-rev-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  border: 0;
  padding: 0;
  background: rgba(30, 40, 80, .18);
  cursor: pointer;
  transition: background .2s, transform .2s;
}

.cs-closing-rev-dot.is-on {
  background: #070763;
  transform: scale(1.3);
}

.cs-closing-right {
  display: flex;
  justify-content: center;
}

.cs-closing-video {
  position: relative;
  width: 100%;
  max-width: 420px;
  aspect-ratio: 4/3;
  border-radius: 14px;
  overflow: hidden;
  background: linear-gradient(135deg, #1a2660 0%, #0E1B4D 100%);
  border: 1px solid rgba(30, 40, 80, .08);
  box-shadow: 0 18px 40px -22px rgba(30, 40, 80, .35);
}

.cs-closing-video-fallback {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  background: radial-gradient(circle at 50% 50%, rgba(197, 214, 255, .18) 0%, transparent 60%),
    linear-gradient(135deg, #1a2660 0%, #0E1B4D 100%);
}

.cs-closing-pulse {
  position: relative;
  width: 90px;
  height: 90px;
}

.cs-closing-pulse span {
  position: absolute;
  inset: 0;
  margin: auto;
  border: 1px solid rgba(197, 214, 255, .55);
  border-radius: 50%;
  opacity: 0;
  animation: csClPulse 3.4s ease-out infinite;
}

.cs-closing-pulse span:nth-child(2) {
  animation-delay: 1.1s;
}

.cs-closing-pulse span:nth-child(3) {
  animation-delay: 2.2s;
}

@keyframes csClPulse {
  0% {
    transform: scale(.4);
    opacity: .85;
  }

  100% {
    transform: scale(1.5);
    opacity: 0;
  }
}

.cs-closing-video-play {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 56px;
  height: 56px;
  border-radius: 50%;
  border: 0;
  background: rgba(255, 255, 255, .95);
  color: #070763;
  display: grid;
  place-items: center;
  cursor: pointer;
  box-shadow: 0 6px 16px -4px rgba(0, 0, 0, .25);
  transition: transform .15s ease;
}

.cs-closing-video-play:hover {
  transform: translate(-50%, -50%) scale(1.06);
}

@media (max-width: 1100px) {
  .cs-hero-grid-cols {
    grid-template-columns: 1fr;
    gap: 44px;
  }

  .cs-hero {
    padding: 110px 0 90px;
  }

  .cs-hero-text {
    max-width: none;
  }
}

@media (max-width: 1080px) {
  .cs-filters {
    grid-template-columns: 1fr 1fr;
  }

  .cs-search {
    grid-column: 1 / -1;
  }
}

@media (max-width: 980px) {
  .cs-closing-card {
    padding: 36px 28px;
  }

  .cs-closing-grid {
    grid-template-columns: 1fr;
    gap: 36px;
  }

  .cs-closing-video {
    max-width: none;
    aspect-ratio: 16/10;
  }

  .cs-cards {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 640px) {
  .cs-grid-sec {
    padding: 64px 0;
  }

  .cs-cards {
    grid-template-columns: 1fr;
  }

  .cs-filters {
    grid-template-columns: 1fr;
  }

  .cs-card-visual {
    aspect-ratio: 16/10;
  }

  .cs-closing {
    padding: 64px 0 80px;
  }

  .cs-form-row {
    grid-template-columns: 1fr;
  }
}

.cd-hero,
.cd-body,
.cd-related,
.cd-cta {
  --cd-navy: #070763;
  --cd-ink: #1A1A2E;
  --cd-ink-2: rgba(7, 7, 99, 0.64);
  --cd-ink-3: rgba(7, 7, 99, 0.64);
  --cd-line: rgba(7, 7, 99, 0.10);
  --cd-grey-1: #FAFBFE;
  --cd-grey-2: #F1F4FA;
}

.cd-wrap {
  max-width: 1180px;
}

.cd-hero {
  background: var(--cd-grey-2);
  padding: 120px 0 84px;
  border-bottom: 1px solid var(--cd-line);
}

.cd-back {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 500;
  color: var(--cd-ink-2);
  text-decoration: none;
  margin-bottom: 56px;
  transition: color .2s ease, gap .2s ease;
}

.cd-back:hover {
  color: var(--cd-navy);
  gap: 9px;
}

.cd-hero-inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 56px;
  align-items: end;
}

.cd-eyebrow {
  font-family: ui-monospace, Menlo, monospace;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--cd-ink-3);
  margin-bottom: 22px;
}

.cd-title {
  font-size: clamp(34px, 4.4vw, 60px);
  font-weight: 400;
  letter-spacing: -0.024em;
  line-height: 1.04;
  color: var(--cd-navy);
  margin: 0 0 24px;
  max-width: 22ch;
  text-wrap: balance;
}

.cd-summary {
  font-size: clamp(16px, 1.4vw, 19px);
  line-height: 1.55;
  color: var(--cd-ink);
  opacity: 0.78;
  margin: 0;
  max-width: 60ch;
  text-wrap: pretty;
}

.cd-hero-logo {
  display: flex;
  align-items: end;
  justify-content: end;
}

.cd-hero-logo-box {
  width: 332px;
  height: 332px;
  border-radius: 18px;
  background: #FFFFFF;
  border: 1px solid var(--cd-line);
  padding: 22px;
  display: grid;
  place-items: center;
  box-shadow: 0 1px 0 rgba(7, 7, 99, 0.04), 0 16px 36px -28px rgba(7, 7, 99, 0.18);
}

.cd-hero-logo-box img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.cd-body {
  background: #FFFFFF;
  padding: 80px 0 96px;
}

.cd-body-grid {
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  gap: 80px;
  align-items: stretch;
}

.cd-meta {
  position: relative;
  height: 100%;
}

.cd-meta-card {
  position: sticky;
  top: 96px;
  max-height: calc(100vh - 120px);
  overflow-y: auto;
  background: var(--cd-grey-1);
  border: 1px solid var(--cd-line);
  border-radius: 14px;
  padding: 22px;
}

.cd-meta-list {
  margin: 0;
  padding: 0;
}

.cd-meta-row {
  padding: 12px 0;
  border-top: 1px solid var(--cd-line);
}

.cd-meta-row:first-child {
  border-top: 0;
  padding-top: 0;
}

.cd-meta-row dt {
  font-family: ui-monospace, Menlo, monospace;
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--cd-ink-3);
  margin-bottom: 4px;
}

.cd-meta-row dd {
  margin: 0;
  font-size: 14.5px;
  font-weight: 500;
  color: var(--cd-navy);
  line-height: 1.4;
}

.cd-meta-cta-block {
  margin-top: 20px;
  padding-top: 18px;
  border-top: 1px solid var(--cd-line);
}

.cd-meta-cta-label {
  font-family: ui-monospace, Menlo, monospace;
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--cd-ink-3);
  margin-bottom: 10px;
}

.cd-meta-cta {
  display: inline-flex;
  width: 100%;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 11px 16px;
  background: var(--cd-navy);
  color: #fff;
  border-radius: 10px;
  text-decoration: none;
  font-weight: 500;
  font-size: 13.5px;
  letter-spacing: -0.005em;
  transition: transform .2s ease, background .2s ease;
}

.cd-meta-cta:hover {
  transform: translateY(-1px);
  background: #15224d;
}

.cd-article {
  max-width: 720px;
}

.cd-article section {
  padding: 0;
  padding-bottom: 20px;
}

.cd-article section:nth-last-child(1) {
  padding-bottom: 0;
}

.cd-kpis {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-bottom: 28px;
  padding-bottom: 28px;
  border-bottom: 1px solid var(--cd-line);
}

.cd-kpi {
  padding: 22px 20px 20px;
  background: var(--cd-grey-1);
  border: 1px solid var(--cd-line);
  border-radius: 14px;
}

.cd-kpi-value {
  font-size: clamp(32px, 3.4vw, 40px);
  font-weight: 500;
  letter-spacing: -0.022em;
  line-height: 1;
  color: var(--cd-navy);
  margin-bottom: 10px;
}

.cd-kpi-label {
  font-size: 13px;
  line-height: 1.45;
  color: var(--cd-ink-2);
  text-wrap: pretty;
}

.cd-chapter {
  margin-bottom: 28px;
}

.cd-chapter:last-of-type {
  margin-bottom: 0;
}

.cd-engagement {
  margin: 0 0 22px;
  padding: 16px 18px;
  border-left: 2px solid var(--cd-navy);
  background: var(--cd-grey-1);
  border-radius: 0 8px 8px 0;
}

.cd-engagement-label {
  display: block;
  font-family: ui-monospace, Menlo, monospace;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--cd-ink-3);
  margin-bottom: 8px;
}

.cd-engagement-title {
  font-size: 22px;
  line-height: 1.25;
  font-weight: 500;
  color: var(--cd-navy);
  margin: 0;
  letter-spacing: -0.012em;
  text-wrap: balance;
}

.cd-chapter-h {
  font-size: 22px;
  font-weight: 600;
  letter-spacing: -0.014em;
  color: var(--cd-navy);
  margin: 0 0 12px;
}

.cd-chapter-p {
  font-size: 17px;
  line-height: 1.65;
  color: var(--cd-ink);
  opacity: 0.85;
  margin: 0 0 12px;
  text-wrap: pretty;
}

.cd-chapter-p:last-child {
  margin-bottom: 0;
}

.cd-quote {
  margin: 28px 0 0;
  padding: 24px 0 4px;
  border-top: 1px solid var(--cd-line);
}

.cd-quote blockquote {
  margin: 0 0 18px;
  font-size: clamp(20px, 2.0vw, 26px);
  font-weight: 400;
  letter-spacing: -0.012em;
  line-height: 1.4;
  color: var(--cd-navy);
  text-wrap: pretty;
}

.cd-quote figcaption {
  display: flex;
  flex-direction: column;
  gap: 2px;
  line-height: 1.35;
}

.cd-quote-author {
  font-size: 14px;
  font-weight: 600;
  color: var(--cd-navy);
}

.cd-quote-role {
  font-size: 13px;
  color: var(--cd-ink-2);
}

.cd-related {
  background: #FFFFFF;
  padding: 16px 0 96px;
}

.cd-related-h {
  font-size: clamp(22px, 2.4vw, 30px);
  font-weight: 500;
  letter-spacing: -0.018em;
  color: var(--cd-navy);
  margin: 0 0 32px;
  padding-top: 56px;
  border-top: 1px solid var(--cd-line);
}

.cd-related-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}

.cd-rel-card {
  position: relative;
  display: flex;
  flex-direction: column;
  background: #FFFFFF;
  border: 1px solid var(--cd-line);
  border-radius: 14px;
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.cd-rel-card:hover {
  transform: translateY(-3px);
  border-color: rgba(7, 7, 99, 0.18);
  box-shadow: 0 18px 36px -22px rgba(7, 7, 99, 0.25);
}

.cd-rel-brand {
  background: var(--bg, #FFFFFF);
  aspect-ratio: 16/7;
  display: grid;
  place-items: center;
  padding: 28px;
  border-bottom: 1px solid var(--cd-line);
}

.cd-rel-logoBox {
  max-width: 70%;
  max-height: 100%;
}

.cd-rel-logoBox img {
  width: 100%;
  height: auto;
  max-height: 60px;
  object-fit: contain;
}

.cd-rel-body {
  padding: 18px 20px 20px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex: 1;
}

.cd-rel-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.cd-rel-tag {
  font-family: ui-monospace, Menlo, monospace;
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--cd-ink-2);
  padding: 4px 8px;
  border: 1px solid var(--cd-line);
  border-radius: 999px;
  background: var(--cd-grey-1);
}

.cd-rel-title {
  font-size: 15.5px;
  font-weight: 500;
  letter-spacing: -0.012em;
  line-height: 1.35;
  color: var(--cd-navy);
  margin: 0;
  flex: 1;
  text-wrap: pretty;
}

.cd-rel-arrow {
  margin-top: 6px;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 12.5px;
  font-weight: 500;
  color: var(--cd-navy);
  transition: gap .2s ease;
}

.cd-rel-card:hover .cd-rel-arrow {
  gap: 8px;
}

.cd-cta {
  background: var(--cd-grey-2);
  border-top: 1px solid var(--cd-line);
  padding: 96px 0 110px;
}

.cd-cta-inner {
  max-width: 640px;
  margin: 0 auto;
  text-align: center;
}

.cd-cta-title {
  font-size: clamp(28px, 3.2vw, 40px);
  font-weight: 400;
  letter-spacing: -0.022em;
  line-height: 1.1;
  color: var(--cd-navy);
  margin: 0 0 16px;
  text-wrap: balance;
}

.cd-cta-body {
  font-size: 16px;
  line-height: 1.6;
  color: var(--cd-ink);
  opacity: 0.78;
  margin: 0 auto 28px;
  max-width: 56ch;
  text-wrap: pretty;
}

.cd-cta-actions {
  display: flex;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap;
}

.cd-cta-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 13px 22px;
  font-size: 14.5px;
  font-weight: 500;
  letter-spacing: -0.005em;
  border-radius: 10px;
  text-decoration: none;
  border: 1px solid transparent;
  transition: all 0.2s ease;
}

.cd-cta-btn-primary {
  background: var(--cd-navy);
  color: #fff;
  border-color: var(--cd-navy);
}

.cd-cta-btn-primary:hover {
  background: #15224d;
  border-color: #15224d;
  transform: translateY(-1px);
}

.cd-cta-btn-ghost {
  color: var(--cd-navy);
  border-color: var(--cd-line);
  background: #FFFFFF;
}

.cd-cta-btn-ghost:hover {
  border-color: rgba(7, 7, 99, 0.30);
}

@media (max-width:1100px) {

  .cd-meta-card {
    position: static;
  }

  .cd-article {
    max-width: none;
  }
}

@media (max-width:820px) {
  .cd-hero {
    padding: 100px 0 64px;
  }

  .cd-back {
    margin-bottom: 36px;
  }

  .cd-hero-inner {
    gap: 36px;
    align-items: start;
  }

  .cd-hero-logo-box {
    width: 230px;
    height: 230px;
    padding: 16px;
    border-radius: 14px;
  }

  .cd-body {
    padding: 56px 0 72px;
  }

  .cd-kpis {
    grid-template-columns: 1fr;
    gap: 10px;
    margin-bottom: 22px;
    padding-bottom: 22px;
  }

  .cd-chapter {
    margin-bottom: 12px;
  }

  .cd-quote {
    margin-top: 22px;
  }

  .cd-related-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .cd-cta {
    padding: 72px 0 88px;
  }
}

@media (max-width:767px) {
  .cd-hero-inner {
    grid-template-columns: 1fr;
    gap: 36px;
    align-items: start;
  }

  .cd-hero-logo {
    justify-content: start;
  }

}

.cd-rel-card[style*="#FFFFFF"] .cd-rel-logoBox img {
  mix-blend-mode: normal;
}

.cd-rel-card:not([style*="#FFFFFF"]) .cd-rel-logoBox img {
  mix-blend-mode: screen;
}

.fcta-gdpr {
    display: flex;
    align-items: center;
    gap: 10px;
}

.fcta-gdpr input {
    margin: 0;
}
.fcta-field input,
.fcta-field textarea{
  width: 100%;
}
.fcta-gdpr br{display: none !important;}
.fcta-gdpr{
      font-size: 11.5px;
    color: var(--gray-80);
    letter-spacing: -0.005em;
    line-height: 1.4;
}
.wpcf7-spinner{
  display: none !important;
}

:root {

--ph-accent: #1431A7;
--ph-accent-bright: #C5D6FF;
--ph-accent-deep: #070763;
--ph-warn: #846008;
--ph-text: #1E1E1E;
--ph-text-dim: rgba(30,30,30,0.72);
--ph-text-faint: rgba(30, 30, 30, 0.68);
--ph-line: rgba(30,30,30,0.10);
--ph-line-strong: rgba(20,49,167,0.30);
--ph-bg-1: #FFFFFF;
--ph-bg-2: #F8F7ED;
--ph-bg-3: #EFEEE0;
}

.ph-hero {
position: relative;
background: #070763;
color: #ffffff;
padding: 130px 0 100px;
overflow: hidden;
min-height: 720px;
}
.ph-hero-bg { position: absolute; inset: 0; pointer-events: none; }
.ph-hero-grid {
position: absolute; inset: 0;
background-image:
  linear-gradient(rgba(197,214,255,0.06) 1px, transparent 1px),
  linear-gradient(90deg, rgba(197,214,255,0.06) 1px, transparent 1px);
background-size: 64px 64px;
mask-image: radial-gradient(ellipse 80% 60% at 60% 40%, black 30%, transparent 90%);
-webkit-mask-image: radial-gradient(ellipse 80% 60% at 60% 40%, black 30%, transparent 90%);
}
.ph-hero-glow {
position: absolute;
width: 1100px; height: 1100px;
left: 55%; top: -250px;
border-radius: 50%;
background: radial-gradient(circle, rgba(20,49,167,0.55) 0%, rgba(7,7,99,0.25) 30%, transparent 70%);
filter: blur(60px);
animation: ph-breath 9s ease-in-out infinite;
}
@keyframes ph-breath {
0%,100% { opacity: 0.85; transform: translate3d(0,0,0) scale(1); }
50%     { opacity: 1;    transform: translate3d(0,0,0) scale(1.04); }
}
.ph-hero-vignette {
position: absolute; inset: 0;
background: radial-gradient(ellipse 100% 80% at 50% 50%, transparent 30%, rgba(0,0,0,0.55) 100%);
}

.ph-hero-container { position: relative; z-index: 1; }
.ph-hero-grid-cols {
display: grid;
grid-template-columns: 1.15fr 0.85fr;
gap: 72px;
align-items: center;
}
.ph-hero-text { max-width: 640px; }

.ph-hero-eyebrow {
display: inline-flex; align-items: center; gap: 10px;
font-size: 11px; font-weight: 700; letter-spacing: 0.22em;
color: #C5D6FF;
text-transform: uppercase;
margin-bottom: 28px;
}
.ph-eyebrow-dot {
width: 6px; height: 6px; border-radius: 50%;
background: #C5D6FF;
box-shadow: 0 0 8px #C5D6FF;
animation: ph-pulse 1.6s ease-in-out infinite;
}
@keyframes ph-pulse { 0%,100% { opacity: 1; } 50% { opacity: 0.35; } }

.ph-hero-h1 {
font-size: clamp(40px, 5vw, 68px);
font-weight: 500;
line-height: 1.04;
letter-spacing: -0.028em;
color: #fff;
margin: 0 0 26px;
text-wrap: balance;
}
.ph-h1-accent {
position: relative;
background: linear-gradient(92deg, var(--ph-accent-bright) 0%, #ffffff 50%, var(--ph-accent-bright) 100%);
-webkit-background-clip: text;
background-clip: text;
-webkit-text-fill-color: transparent;
color: transparent;
font-weight: 500;
}
.ph-h1-accent::before {
content: "";
position: absolute;
inset: -10px -20px;
background: radial-gradient(ellipse at center, rgba(197,214,255,0.22) 0%, transparent 65%);
filter: blur(28px);
z-index: -1;
pointer-events: none;
}
.ph-hero-sub {
font-size: 17px;
line-height: 1.55;
color: rgba(255,255,255,0.78);
margin: 0 0 36px;
max-width: 560px;
text-wrap: pretty;
}
.ph-hero-cta { display: flex; gap: 14px; flex-wrap: wrap; }
.ph-btn {
display: inline-flex; align-items: center; gap: 10px;
padding: 14px 24px;
border-radius: 8px;
font-size: 14.5px; font-weight: 500;
letter-spacing: -0.005em;
text-decoration: none;
transition: all 0.2s ease;
border: 1px solid transparent;
}
.ph-btn-primary {
background: #C5D6FF;
color: #070763;
border-color: #C5D6FF;
}
.ph-btn-primary:hover {
background: #ffffff;
color: #070763;
transform: translateY(-1px);
}
.ph-btn-ghost {
background: transparent;
color: #ffffff;
border-color: rgba(197,214,255,0.30);
}
.ph-btn-ghost:hover {
border-color: #C5D6FF;
color: #C5D6FF;
}
.ph-arrow { transition: transform 0.2s ease; }
.ph-btn:hover .ph-arrow { transform: translateX(3px); }

.ph-hero-form-wrap {
background: rgba(7,7,99,0.55);
backdrop-filter: blur(8px);
border: 1px solid rgba(197,214,255,0.18);
border-radius: 12px;
padding: 28px 26px 24px;
position: relative;
}
.ph-hero-form-wrap::before {
content: '';
position: absolute;
top: -1px; left: -1px; right: -1px;
height: 2px;
background: linear-gradient(90deg, transparent, #1431A7 30%, #C5D6FF 50%, #1431A7 70%, transparent);
border-radius: 12px 12px 0 0;
opacity: 0.55;
}
.ph-hero-form { display: flex; flex-direction: column; gap: 12px; }
.ph-hero-form-title {
font-size: 18px; font-weight: 500;
letter-spacing: -0.015em;
color: #fff;
margin-bottom: 4px;
}
.ph-hero-form-hint {
font-size: 12.5px;
color: rgba(255,255,255,0.65);
margin-bottom: 14px;
}
.ph-hero-form label { display: flex; flex-direction: column; gap: 5px;margin-bottom: 12px; }
.ph-hero-form .mono {
font-family: ui-monospace, Menlo, monospace;
font-size: 9.5px; letter-spacing: 0.2em; font-weight: 700;
color: rgba(255, 255, 255, 0.56);
text-transform: uppercase;
}
.ph-hero-form input,
.ph-hero-form select {
font-family: inherit;
font-size: 14px;
padding: 10px 12px;
background: rgba(255,255,255,0.06);
color: #fff;
border: 1px solid rgba(197,214,255,0.18);
border-radius: 5px;
outline: none;
transition: border-color 0.2s, background 0.2s;
}
.ph-hero-form input::placeholder { color: rgba(255, 255, 255, 0.56); }
.ph-hero-form input:focus,
.ph-hero-form select:focus {
border-color: #C5D6FF;
background: rgba(255,255,255,0.10);
}
.ph-hero-submit {
margin-top: 6px;
padding: 13px 18px !important;
background: #C5D6FF important;
color: #070763 important;
border: 1px solid #C5D6FF important;
border-radius: 6px;
font-size: 14px; font-weight: 700;
letter-spacing: -0.005em;
cursor: pointer;
display: inline-flex; align-items: center; justify-content: center; gap: 10px;
transition: background 0.2s ease;
}
.ph-hero-submit:hover:not(:disabled) {
background: #ffffff;
}
.ph-hero-submit:disabled { opacity: 0.5; cursor: not-allowed; }
.ph-hero-gdpr {
font-size: 11px; line-height: 1.5;
color: rgba(255, 255, 255, 0.56);
margin-top: 8px;
}
.ph-hero-success { padding: 20px 0; text-align: center; color: #fff; }
.ph-hero-success-mark { color: #C5D6FF; margin: 0 auto 12px; width: 36px; }
.ph-hero-success-title { font-size: 16px; font-weight: 500; margin-bottom: 6px; color: #fff; }
.ph-hero-success-body { font-size: 13px; color: rgba(255,255,255,0.78); }

@media (max-width: 1000px) {
.ph-hero-grid-cols { grid-template-columns: 1fr; gap: 48px; }
}

.ph-logos { background: var(--ph-bg-1); padding: 56px 0 40px; border-top: 1px solid var(--ph-line); }
.ph-logos-label {
  font-size: 11px; letter-spacing: 0.2em; font-weight: 700;
  color: var(--ph-text-faint);
  margin-bottom: 28px;
  text-transform: uppercase;
  text-align: center;
}
.ph-logos-strip { overflow: hidden; mask-image: linear-gradient(90deg, transparent, black 10%, black 90%, transparent); -webkit-mask-image: linear-gradient(90deg, transparent, black 10%, black 90%, transparent); }
.ph-logos-track {
  --marquee-gap: 64px;
  display: flex; gap: 64px; align-items: center;
  animation: ph-marquee 50s linear infinite;
  width: max-content;
}
.ph-logos-track img {
  height: 28px; opacity: 0.55;
  filter: grayscale(1) contrast(0.9);
  transition: opacity 0.2s ease;
}
.ph-logos-track img:hover { opacity: 1; filter: grayscale(0) contrast(1); }
@keyframes ph-marquee { from { transform: translateX(0); } to { transform: translateX(calc(-50% - var(--marquee-gap, 0px) / 2)); } }

.ph-tagline { background: var(--ph-bg-2); padding: 24px 0 110px; border-top: none; border-bottom: 1px solid var(--ph-line); position: relative; overflow: hidden; }
.ph-tagline::before { content: ""; position: absolute; inset: 0; background: radial-gradient(ellipse 60% 70% at 50% 55%, rgba(20,49,167,0.09) 0%, transparent 65%); pointer-events: none; }
.ph-tagline-inner { position: relative; max-width: 980px; margin: 0 auto; text-align: center; }
.ph-tagline-text { font-size: clamp(28px, 3.4vw, 60px); font-weight: 400; letter-spacing: -0.022em; line-height: 1.18; margin: 0 0 22px; color: var(--ph-text-dim); text-wrap: balance; }
.ph-tagline-lead { color: var(--ph-text-dim); }
.ph-tagline-bold { color: var(--ph-text); font-weight: 500; background: linear-gradient(180deg, transparent 60%, rgba(20,49,167,0.18) 60%, rgba(20,49,167,0.18) 92%, transparent 92%); padding: 0 4px; }

.ph-tagline-foot {
  font-size: clamp(15px, 1.4vw, 18px);
  font-weight: 400;
  font-style: italic;
  color: var(--ph-text-dim);
  letter-spacing: -0.005em;
  line-height: 1.45;
  max-width: 640px;
  margin: 0 auto;
  text-wrap: balance;
}
.ph-tagline-foot::before {
  content: "";
  display: block;
  width: 28px;
  height: 1px;
  background: var(--ph-accent);
  opacity: 0.55;
  margin: 0 auto 18px;
}

.phbk-section {
  background: var(--ph-bg-1, #fff);
  padding: 80px 0 96px;
}
.phbk-card {
  position: relative;
  background: #f5f1ea;
  border: 1px solid rgba(30,30,30,0.07);
  border-radius: 14px;
  padding: 56px 64px;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 48px;
  overflow: hidden;
  max-width: 1160px;
  margin: 0 auto;
}
.phbk-mark {
  position: absolute;
  top: 50%;
  right: -60px;
  transform: translateY(-50%);
  width: 360px; height: 360px;
  fill: rgba(20,49,167,0.05);
  pointer-events: none;
}
.phbk-text {
  position: relative;
  max-width: 600px;
}
.phbk-kicker {
  font-size: 11px;
  letter-spacing: 0.22em;
  font-weight: 700;
  color: var(--ph-accent, #1431a7);
  margin-bottom: 18px;
  text-transform: uppercase;
}
.phbk-title {
  font-size: clamp(28px, 3.2vw, 42px);
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -0.022em;
  color: var(--deep-navy, #070763);
  margin: 0 0 18px;
  text-wrap: balance;
}
.phbk-body {
  font-size: 15.5px;
  line-height: 1.55;
  color: rgba(30,30,30,0.7);
  margin: 0;
  max-width: 520px;
  text-wrap: pretty;
}

.phbk-cta-wrap {
  position: relative;
}
.phbk-cta {
  all: unset;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 16px 28px;
  background: var(--deep-navy, #070763);
  color: #fff;
  font-family: inherit;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: -0.005em;
  border-radius: 8px;
  transition: background 0.2s, transform 0.15s, box-shadow 0.2s;
  box-shadow: 0 8px 22px -10px rgba(7,7,99,0.4);
}
.phbk-cta:hover {
  background: var(--ph-accent, #1431a7);
  transform: translateY(-1px);
  box-shadow: 0 12px 30px -10px rgba(20,49,167,0.5);
}
.phbk-cta:focus-visible {
  outline: 2px solid var(--ph-accent, #1431a7);
  outline-offset: 3px;
}
.phbk-arrow {
  transition: transform 0.2s;
}
.phbk-cta:hover .phbk-arrow { transform: translateX(3px); }

@media (max-width: 820px) {
  .phbk-card {
    grid-template-columns: 1fr;
    gap: 28px;
    padding: 40px 32px;
  }
  .phbk-mark { right: -120px; opacity: 0.6; }
}

.ph-lures { background: var(--ph-bg-1); padding: 120px 0; color: var(--ph-text); }
.ph-section-head { max-width: 760px; margin: 0 0 60px; }
.ph-eyebrow { display: inline-flex; align-items: center; gap: 10px; font-size: 11px; letter-spacing: 0.22em; font-weight: 700; color: var(--ph-accent); text-transform: uppercase; margin-bottom: 18px; }
.ph-eyebrow-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--ph-accent); box-shadow: 0 0 8px rgba(20,49,167,0.45); }
.ph-h2 { font-size: clamp(32px, 4vw, 52px); font-weight: 500; letter-spacing: -0.024em; line-height: 1.05; margin: 0 0 18px; color: var(--ph-text); text-wrap: balance; }
.ph-section-sub { font-size: 16px; color: var(--ph-text-dim); line-height: 1.55; margin: 0; max-width: 640px; text-wrap: pretty; }

.ph-lures-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.ph-lure { background: var(--ph-bg-2); border: 1px solid var(--ph-line); border-radius: 12px; padding: 28px 26px 24px; display: flex; flex-direction: column; gap: 22px; transition: border-color 0.2s, transform 0.2s, box-shadow 0.2s; min-height: 320px; }
.ph-lure:hover { border-color: rgba(20,49,167,0.30); transform: translateY(-2px); box-shadow: 0 16px 40px -22px rgba(20,49,167,0.20); }

.ph-lure-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.ph-lure-mark { width: 40px; height: 40px; display: inline-flex; align-items: center; justify-content: center; }
.ph-lure-mark svg { width: 32px; height: 32px; display: block; }
.ph-lure-target { font-size: 10px; letter-spacing: 0.22em; font-weight: 700; color: var(--ph-text-faint); text-transform: uppercase; }

.ph-lure-name { font-size: 19px; font-weight: 500; color: var(--ph-text); margin: 0; letter-spacing: -0.018em; line-height: 1.3; text-wrap: balance; }

.ph-lure-stat-wrap { display: flex; flex-direction: column; gap: 4px; margin-top: auto; }
.ph-lure-stat { font-size: 56px; font-weight: 500; color: var(--ph-accent); letter-spacing: -0.03em; line-height: 1; font-feature-settings: "tnum"; }
.ph-lure-statlbl { font-size: 13px; color: var(--ph-text-dim); }

.ph-lure-foot { padding-top: 16px; border-top: 1px solid var(--ph-line); font-size: 10px; letter-spacing: 0.16em; color: var(--ph-text-faint); text-transform: uppercase; line-height: 1.55; }

.ph-lures-foot { margin: 36px 0 0; padding: 22px 28px; background: var(--ph-bg-2); border: 1px solid var(--ph-line); border-left: 2px solid var(--ph-accent); border-radius: 6px; font-size: 15px; color: var(--ph-text-dim); line-height: 1.6; text-wrap: pretty; }
.ph-lures-foot strong { color: var(--ph-text); font-weight: 600; }

@media (max-width: 1000px) { .ph-lures-grid { grid-template-columns: 1fr; } }

.wts-section {
  padding: 110px 0;
  background: var(--white);
}
.wts-head {
  margin: 0 auto 56px;
  max-width: 820px;
  text-align: center;
}
.wts-title {
  font-size: clamp(30px, 3.4vw, 44px);
  font-weight: 600;
  line-height: 1.06;
  letter-spacing: -0.024em;
  color: var(--deep-navy, var(--deep-carbon));
  margin: 0 0 16px;
  text-wrap: balance;
}
.wts-sub {
  font-size: 15.5px;
  line-height: 1.55;
  color: rgba(30, 30, 30, 0.68);
  margin: 0;
  text-wrap: pretty;
}

.wts-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}

.wts-card {
  position: relative;
  padding: 24px 26px 22px;
  background: #fff;
  border: 1px solid rgba(30,30,30,0.10);
  border-radius: 8px;
  display: flex;
  flex-direction: column;
  gap: 18px;
  transition: border-color 0.2s, box-shadow 0.2s, transform 0.2s;
}
.wts-card:hover {
  border-color: rgba(20,49,167,0.22);
  box-shadow: 0 18px 44px -24px rgba(20,49,167,0.28);
  transform: translateY(-2px);
}

.wts-card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.wts-stars {
  display: inline-flex;
  gap: 2px;
  color: #f5a524;
}
.wts-mark {
  color: var(--cyber-blue);
  opacity: 0.85;
  flex-shrink: 0;
}

.wts-quote {
  margin: 0;
  font-size: 15.5px;
  line-height: 1.6;
  color: rgba(30,30,30,0.88);
  flex: 1;
  text-wrap: pretty;
}
.wts-quote::before { content: "\201C"; }
.wts-quote::after  { content: "\201D"; }

.wts-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding-top: 18px;
  border-top: 1px solid rgba(30,30,30,0.10);
}
.wts-who { min-width: 0; }
.wts-name {
  font-size: 14px;
  font-weight: 600;
  color: var(--deep-navy, var(--deep-carbon));
  letter-spacing: -0.005em;
  margin-bottom: 2px;
}
.wts-company {
  font-size: 12.5px;
  color: rgba(30, 30, 30, 0.68);
  letter-spacing: 0.02em;
}

.wts-logo {
  height: 24px;
  opacity: 0.75;
  flex-shrink: 0;
}

.wts-footnote {
  margin: 36px auto 0;
  max-width: 760px;
  text-align: center;
  font-size: 12px;
  line-height: 1.55;
  color: rgba(30, 30, 30, 0.68);
  font-style: italic;
}

@media (max-width: 1100px) {
  .wts-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 720px) {
  .wts-grid { grid-template-columns: 1fr; }
}

.faq .fq-body-inner p + p { margin-top: 14px; }

.ph-other { background: var(--ph-bg-1); padding: 90px 0 100px; border-top: 1px solid var(--ph-line); color: var(--ph-text); }
.ph-other-inner { max-width: 1100px; }
.ph-other-head { text-align: center; margin-bottom: 36px; }
.ph-other-title { font-size: clamp(26px, 2.8vw, 36px); font-weight: 600; letter-spacing: -0.02em; line-height: 1.1; margin: 0; color: var(--ph-text); text-wrap: balance; }
.ph-other-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.ph-other-card { position: relative; background: var(--ph-bg-2); border: 1px solid var(--ph-line); border-radius: 6px; padding: 14px 14px 16px; display: flex; flex-direction: column; gap: 10px; color: var(--ph-text); text-decoration: none; transition: background 0.2s, border-color 0.2s, transform 0.2s, box-shadow 0.2s; }
.ph-other-card:hover { border-color: rgba(20,49,167,0.30); transform: translateY(-2px); box-shadow: 0 12px 28px -18px rgba(20,49,167,0.25); }
.ph-other-chip { width: 26px; height: 26px; display: inline-flex; align-items: center; justify-content: center; background: rgba(20,49,167,0.10); border-radius: 4px; color: var(--ph-accent); }
.ph-other-chip svg { width: 15px; height: 15px; stroke-width: 1.6; }
.ph-other-name { font-size: 12.5px; font-weight: 500; color: var(--ph-text); letter-spacing: -0.003em; line-height: 1.3; text-wrap: pretty; }
@media (max-width: 1000px) { .ph-other-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 640px) { .ph-other-grid { grid-template-columns: repeat(2, 1fr); } }

.ph-closing { position: relative; background: #070763; color: #fff; padding: 130px 0 110px; overflow: hidden; }
.ph-cl-bg { position: absolute; inset: 0; pointer-events: none; }
.ph-cl-glow { position: absolute; width: 1100px; height: 1100px; left: 60%; top: -200px; border-radius: 50%; background: radial-gradient(circle, rgba(20,49,167,0.55) 0%, rgba(7,7,99,0.25) 30%, transparent 70%); filter: blur(60px); animation: ph-breath 9s ease-in-out infinite; }
@keyframes ph-breath { 0%, 100% { opacity: 0.7; transform: scale(1); } 50% { opacity: 1; transform: scale(1.05); } }
.ph-cl-grid { position: absolute; inset: 0; background-image: linear-gradient(rgba(197,214,255,0.05) 1px, transparent 1px), linear-gradient(90deg, rgba(197,214,255,0.05) 1px, transparent 1px); background-size: 64px 64px; mask-image: radial-gradient(ellipse 80% 60% at 60% 40%, black 30%, transparent 90%); }
.ph-cl-inner { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: start; }
.ph-cl-head { max-width: 560px; }
.ph-cl-head .ph-eyebrow { color: #C5D6FF; }
.ph-cl-head .ph-eyebrow-dot { background: #C5D6FF; box-shadow: 0 0 8px #C5D6FF; }
.ph-cl-title { font-size: clamp(34px, 4vw, 54px); font-weight: 500; letter-spacing: -0.024em; line-height: 1.06; margin: 0 0 22px; text-wrap: balance; color: #fff; }
.ph-cl-accent { background: linear-gradient(92deg, #C5D6FF 8%, #ffffff 50%, #C5D6FF 92%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.ph-cl-body { font-size: 16px; color: rgba(255,255,255,0.78); line-height: 1.55; margin: 0 0 28px; max-width: 480px; text-wrap: pretty; }

.ph-cl-trust { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; max-width: 460px; }
.ph-cl-trust-row { display: flex; align-items: flex-start; gap: 11px; font-size: 14px; color: rgba(255,255,255,0.85); line-height: 1.45; }
.ph-cl-trust-mark { flex-shrink: 0; width: 22px; height: 22px; border-radius: 50%; background: rgba(197,214,255,0.14); border: 1px solid rgba(197,214,255,0.28); color: #C5D6FF; display: inline-flex; align-items: center; justify-content: center; margin-top: 1px; }

.ph-cl-form-wrap {
  background: linear-gradient(180deg, rgba(20,49,167,0.42) 0%, rgba(7,7,99,0.62) 100%);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(197,214,255,0.20);
  border-radius: 14px;
  padding: 30px 30px 26px;
  position: relative;
  box-shadow: 0 30px 80px -30px rgba(0,0,0,0.6), 0 0 0 1px rgba(197,214,255,0.04) inset;
}
.ph-cl-form-wrap::before {
  content: '';
  position: absolute; top: -1px; left: -1px; right: -1px; height: 2px;
  background: linear-gradient(90deg, transparent, #1431A7 28%, #C5D6FF 50%, #1431A7 72%, transparent);
  border-radius: 14px 14px 0 0;
  opacity: 0.7;
}

.ph-cl-form-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 22px; }
.ph-cl-form-title { font-size: 21px; font-weight: 500; color: #fff; letter-spacing: -0.018em; line-height: 1.2; margin-bottom: 6px; }
.ph-cl-form-hint { font-size: 13px; color: rgba(255,255,255,0.65); line-height: 1.5; max-width: 320px; }
.ph-cl-form-badge {
  flex-shrink: 0;
  font-size: 9.5px; letter-spacing: 0.22em; font-weight: 700;
  color: #C5D6FF;
  background: rgba(197,214,255,0.10);
  border: 1px solid rgba(197,214,255,0.30);
  border-radius: 999px;
  padding: 6px 11px;
  text-transform: uppercase;
  white-space: nowrap;
}

.ph-cl-form { display: flex; flex-direction: column; gap: 14px; }
.ph-cl-form label { display: flex; flex-direction: column; gap: 6px; position: relative; }
.ph-cl-form .mono { font-size: 9.5px; letter-spacing: 0.2em; font-weight: 700; color: rgba(255, 255, 255, 0.56); text-transform: uppercase; }
.ph-cl-form input,
.ph-cl-form select {
  font-family: inherit;
  font-size: 14.5px;
  padding: 12px 14px;
  background: rgba(255,255,255,0.05);
  color: #fff;
  border: 1px solid rgba(197,214,255,0.18);
  border-radius: 7px;
  outline: none;
  transition: border-color 0.18s, background 0.18s, box-shadow 0.18s;
  appearance: none;
  -webkit-appearance: none;
}
.ph-cl-form select {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none'><path d='M3 4.5l3 3 3-3' stroke='%23C5D6FF' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/></svg>");
  background-repeat: no-repeat;
  background-position: right 14px center;
  background-size: 12px;
  padding-right: 36px;
  cursor: pointer;
}
.ph-cl-form select option { background: #070763; color: #fff; }
.ph-cl-form input::placeholder { color: rgba(255, 255, 255, 0.56); }
.ph-cl-form input:hover, .ph-cl-form select:hover { border-color: rgba(197,214,255,0.30); }
.ph-cl-form input:focus, .ph-cl-form select:focus {
  border-color: #C5D6FF;
  background: rgba(255,255,255,0.10);
  box-shadow: 0 0 0 3px rgba(197,214,255,0.18);
}
.ph-cl-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }

.ph-cl-submit {
  margin-top: 8px;
  padding: 15px 18px;
  background: #C5D6FF;
  color: #070763;
  border: 1px solid #C5D6FF;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.005em;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  transition: background 0.2s, transform 0.2s, box-shadow 0.2s;
  box-shadow: 0 10px 30px -10px rgba(197,214,255,0.35);
}
.ph-cl-submit:hover:not(:disabled) {
  background: #ffffff;
  transform: translateY(-1px);
  box-shadow: 0 16px 40px -12px rgba(197,214,255,0.5);
}
.ph-cl-submit:disabled { opacity: 0.45; cursor: not-allowed; box-shadow: none; }
.ph-cl-submit span { transition: transform 0.2s; }
.ph-cl-submit:hover:not(:disabled) span { transform: translateX(3px); }

.ph-cl-gdpr { font-size: 11px; color: rgba(255, 255, 255, 0.56); line-height: 1.5; margin-top: 6px; }
.ph-cl-success { padding: 30px 10px; text-align: center; color: #fff; }
.ph-cl-success-mark { color: #C5D6FF; margin: 0 auto 14px; width: 44px; }
.ph-cl-success-title { font-size: 16px; font-weight: 600; color: #fff; margin-bottom: 6px; }
.ph-cl-success-body { font-size: 13.5px; color: rgba(255,255,255,0.78); }

@media (max-width: 1000px) {
  .ph-cl-inner { grid-template-columns: 1fr; gap: 36px; }
  .ph-cl-form-head { flex-direction: column; }
}
@media (max-width: 540px) {
  .ph-cl-row { grid-template-columns: 1fr; }
}
.ft-dwr-form p{
    margin:0;
    display:flex;
    align-items:center;
    gap:10px;
}

.ft-dwr-form br{
    display:none;
}

.ft-dwr-form .wpcf7-form-control-wrap{
    flex:1;
}

.ft-dwr-form .ft-dwr-input{
    width:100%;
}

.ph-anat { position: relative; background: var(--ph-bg-2); color: var(--ph-text); }
.ph-anat-stage-track { position: relative; height: 140vh; }
.ph-anat-prelude { padding: 64px 0 40px; }
.ph-anat-head { max-width: 760px; }
.ph-anat-title {
  font-size: clamp(34px, 4.2vw, 54px);
  font-weight: 500; line-height: 1.06;
  letter-spacing: -0.028em; color: var(--ph-text);
  margin: 0 0 18px; text-wrap: balance;
}
.ph-anat-sub { font-size: 17px; line-height: 1.55; color: var(--ph-text-dim); margin: 0; max-width: 640px; text-wrap: pretty; }

.ph-anat-stage {
  position: sticky; top: 0; height: 100vh; overflow: hidden;
  background:
    radial-gradient(ellipse 70% 55% at 30% 50%, rgba(20,49,167,0.06) 0%, transparent 60%),
    radial-gradient(ellipse 60% 50% at 80% 60%, rgba(20,49,167,0.04) 0%, transparent 70%),
    var(--ph-bg-2);
  border-top: 1px solid var(--ph-line);
  border-bottom: 1px solid var(--ph-line);
}

.ph-anat-phaser {
  position: absolute; top: 36px; right: 5vw; z-index: 6;
  display: inline-flex; align-items: center; gap: 12px;
  font-size: 10px; letter-spacing: 0.22em; font-weight: 700;
  text-transform: uppercase; color: var(--ph-text-dim);
}
.ph-anat-phaser-num { color: var(--ph-accent); font-size: 13px; }
.ph-anat-phaser-of { color: var(--ph-text-faint); }
.ph-anat-phaser-bar { display: inline-block; width: 110px; height: 2px; background: rgba(20,49,167,0.16); border-radius: 2px; overflow: hidden; position: relative; }
.ph-anat-phaser-fill { position: absolute; left: 0; top: 0; bottom: 0; background: var(--ph-accent); transition: width 0.12s linear; }

.ph-anat-frame {
  position: absolute; left: 50%; top: 50%;
  width: min(1100px, 86vw); height: min(640px, 78vh);
  background: #ffffff; border-radius: 12px;
  box-shadow: 0 30px 80px -30px rgba(20,49,167,0.18), 0 0 0 1px rgba(30,30,30,0.06);
  display: flex; flex-direction: column; overflow: hidden;
  transition: transform 1.2s cubic-bezier(.22,.61,.36,1), transform-origin 1.2s cubic-bezier(.22,.61,.36,1);
  will-change: transform;
}
.ph-anat-body {
  position: relative; flex: 1;
  display: grid; grid-template-columns: 56px 280px 1fr;
  min-height: 0;
}

.ph-anat-caption-shell {
  position: absolute; left: 32px; bottom: 32px; z-index: 10;
  width: clamp(300px, 30vw, 400px); pointer-events: none;
}
.ph-anat-caption {
  padding: 18px 20px; background: #ffffff;
  border: 1px solid rgba(20,49,167,0.22); border-radius: 10px;
  box-shadow: 0 16px 40px -18px rgba(20,49,167,0.30);
  animation: ph-anat-cap-in 0.45s ease-out both;
}
@keyframes ph-anat-cap-in { from { opacity: 0; transform: translateY(10px) scale(0.985); } to { opacity: 1; transform: translateY(0) scale(1); } }
.ph-anat-caption-tag {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: 10px; letter-spacing: 0.22em; font-weight: 700;
  color: var(--ph-accent); margin-bottom: 12px; text-transform: uppercase;
}
.ph-anat-caption-n { padding: 2px 6px; background: rgba(20,49,167,0.10); border-radius: 3px; color: var(--ph-accent); }
.ph-anat-caption-title { font-size: 19px; font-weight: 500; line-height: 1.22; letter-spacing: -0.018em; color: var(--ph-text); margin: 0 0 8px; text-wrap: balance; }
.ph-anat-caption-body { font-size: 13.5px; line-height: 1.55; color: var(--ph-text-dim); margin: 0; text-wrap: pretty; }
.ph-anat-caption-why { margin-top: 14px; padding: 10px 0 0 12px; border-left: 2px solid var(--ph-accent); }
.ph-anat-caption-why-label { display: block; font-size: 9.5px; letter-spacing: 0.22em; font-weight: 700; color: var(--ph-accent); text-transform: uppercase; margin-bottom: 6px; }
.ph-anat-caption-why-body { font-size: 12.5px; line-height: 1.55; color: var(--ph-text); margin: 0; text-wrap: pretty; }

.ph-anat-nav { position: absolute; bottom: 32px; right: 5vw; z-index: 10; display: flex; gap: 8px; }
.ph-anat-nav-btn {
  width: 36px; height: 36px; border-radius: 50%;
  background: #ffffff; border: 1px solid rgba(20,49,167,0.22);
  color: var(--ph-accent); cursor: pointer;
  display: grid; place-items: center;
  font-size: 16px; transition: background 0.2s;
}
.ph-anat-nav-btn:hover { background: rgba(20,49,167,0.08); }
.ph-anat-nav-btn:disabled { opacity: 0.3; cursor: not-allowed; }

.ph-anat-rail { background: #F3EFE6; border-right: 1px solid rgba(30,30,30,0.08); padding: 14px 0; display: flex; flex-direction: column; align-items: center; gap: 14px; }
.ph-anat-rail-dot { width: 22px; height: 22px; border-radius: 5px; background: rgba(30,30,30,0.10); }
.ph-anat-rail-dot.is-active { background: var(--ph-accent); }
.ph-anat-rail-spacer { flex: 1; }

.ph-anat-chrome { background: #ffffff; border-bottom: 1px solid rgba(30,30,30,0.08); flex-shrink: 0; }
.ph-anat-chrome-row1 { height: 40px; background: #0E2C82; color: #fff; display: flex; align-items: center; padding: 0 14px; gap: 22px; }
.ph-anat-chrome-brand { display: inline-flex; align-items: center; gap: 8px; flex-shrink: 0; }
.ph-anat-chrome-applogo { width: 22px; height: 22px; display: grid; place-items: center; background: rgba(255,255,255,0.14); border-radius: 4px; }
.ph-anat-chrome-appname { font-size: 12px; font-weight: 600; letter-spacing: 0.005em; color: #fff; }
.ph-anat-chrome-search { flex: 1; max-width: 460px; margin: 0 auto; display: inline-flex; align-items: center; gap: 8px; font-size: 11.5px; color: rgba(255,255,255,0.78); padding: 5px 12px; background: rgba(255,255,255,0.14); border-radius: 4px; }
.ph-anat-chrome-traffic { display: inline-flex; align-items: center; gap: 6px; margin-left: auto; flex-shrink: 0; }
.ph-anat-chrome-iconbtn { width: 26px; height: 26px; display: grid; place-items: center; color: rgba(255,255,255,0.85); border-radius: 4px; }
.ph-anat-chrome-user { width: 26px; height: 26px; border-radius: 50%; background: linear-gradient(135deg, #C5D6FF, #5B7BFF); color: #0E2C82; display: grid; place-items: center; font-size: 10.5px; font-weight: 700; letter-spacing: 0.04em; margin-left: 4px; }
.ph-anat-chrome-row2 { height: 36px; background: #F4F2EC; border-bottom: 1px solid rgba(30,30,30,0.06); display: flex; align-items: stretch; padding: 0 14px; gap: 18px; }
.ph-anat-chrome-tabs { display: flex; align-items: center; gap: 16px; padding-right: 14px; border-right: 1px solid rgba(30,30,30,0.08); }
.ph-anat-chrome-tab { font-size: 11.5px; color: var(--ph-text-faint); font-weight: 500; padding: 8px 0; border-bottom: 2px solid transparent; margin-bottom: -1px; }
.ph-anat-chrome-tab.is-on { color: var(--ph-accent); border-bottom-color: var(--ph-accent); }
.ph-anat-chrome-cmds { display: inline-flex; align-items: center; gap: 12px; font-size: 11px; color: var(--ph-text-dim); }
.ph-anat-chrome-cmd { display: inline-flex; align-items: center; gap: 5px; padding: 4px 6px; border-radius: 3px; }
.ph-anat-chrome-cmd.is-primary { color: var(--ph-accent); font-weight: 600; }
.ph-anat-chrome-cmddiv { width: 1px; height: 14px; background: rgba(30,30,30,0.10); }

.ph-anat-inbox { background: #FAF8F2; border-right: 1px solid rgba(30,30,30,0.08); padding: 12px 0 0; font-size: 11px; overflow: hidden; transition: filter 0.4s ease, opacity 0.4s ease; }
.ph-anat-inbox-head { display: flex; justify-content: space-between; align-items: baseline; padding: 0 16px 12px; border-bottom: 1px solid rgba(30,30,30,0.06); margin-bottom: 4px; }
.ph-anat-inbox-folder { font-size: 14px; font-weight: 600; color: var(--ph-text); letter-spacing: -0.01em; }
.ph-anat-inbox-count { font-size: 9.5px; letter-spacing: 0.22em; font-weight: 700; color: var(--ph-accent); text-transform: uppercase; }
.ph-anat-inbox-list { list-style: none; margin: 0; padding: 0; }
.ph-anat-inbox-row { display: grid; grid-template-columns: 92px 1fr auto; gap: 10px; align-items: center; padding: 10px 16px 10px 18px; border-bottom: 1px solid rgba(30,30,30,0.04); color: var(--ph-text-dim); position: relative; transition: opacity 0.4s ease, transform 0.4s ease; }
.ph-anat-inbox-row.is-unread .ph-anat-inbox-from,
.ph-anat-inbox-row.is-unread .ph-anat-inbox-subj { color: var(--ph-text); font-weight: 600; }
.ph-anat-inbox-row.is-unread::before { content: ""; position: absolute; left: 6px; top: 50%; transform: translateY(-50%); width: 4px; height: 4px; border-radius: 50%; background: var(--ph-accent); }
.ph-anat-inbox-from, .ph-anat-inbox-subj { font-size: 11.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ph-anat-inbox-time { font-size: 10px; color: var(--ph-text-faint); }
.ph-anat-inbox-row.is-selected { background: rgba(20,49,167,0.08); border-left: 2px solid var(--ph-accent); padding-left: 16px; }
.ph-anat-phish-row-pulse { position: absolute; inset: 0; background: linear-gradient(90deg, transparent, rgba(20,49,167,0.10), transparent); animation: ph-row-shine 2.4s ease-in-out infinite; pointer-events: none; }
@keyframes ph-row-shine { 0% { transform: translateX(-100%); } 50% { transform: translateX(100%); } 100% { transform: translateX(100%); } }

.ph-anat-open { position: relative; background: #ffffff; overflow: hidden; transition: opacity 0.5s ease, transform 0.5s ease; }
.ph-anat-open-zoom { padding: 28px 40px 32px; height: 100%; font-size: 13px; line-height: 1.6; color: var(--ph-text); }
.ph-anat-open-head { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; padding-bottom: 14px; border-bottom: 1px solid rgba(30,30,30,0.06); margin-bottom: 14px; }
.ph-anat-open-subject { font-size: 18px; font-weight: 500; color: var(--ph-text); letter-spacing: -0.018em; margin: 0; line-height: 1.25; }
.ph-anat-open-actions { display: flex; gap: 14px; font-size: 11px; color: var(--ph-text-faint); }
.ph-anat-open-from { display: flex; gap: 12px; padding-bottom: 14px; border-bottom: 1px solid rgba(30,30,30,0.06); margin-bottom: 16px; }
.ph-anat-open-avatar { width: 36px; height: 36px; border-radius: 50%; background: linear-gradient(135deg, #6B7280, #4B5563); color: #fff; display: grid; place-items: center; font-weight: 600; font-size: 12px; flex-shrink: 0; letter-spacing: 0.04em; }
.ph-anat-open-from-meta { min-width: 0; flex: 1; }
.ph-anat-open-from-line { display: flex; gap: 8px; align-items: baseline; flex-wrap: wrap; font-size: 13px; margin-bottom: 4px; }
.ph-anat-open-from-name { color: var(--ph-text); font-weight: 600; }
.ph-anat-open-from-addr { color: var(--ph-text-faint); font-family: ui-monospace, Menlo, monospace; font-size: 11.5px; }
.ph-anat-open-from-flag { color: var(--ph-warn); background: rgba(184,134,11,0.14); padding: 0 2px; border-radius: 2px; font-weight: 700; letter-spacing: -0.04em; transition: background 0.4s ease, color 0.4s ease, box-shadow 0.4s ease; }
.ph-anat-open-from-flag.is-on { background: rgba(184,134,11,0.32); box-shadow: 0 0 0 2px rgba(184,134,11,0.30); }
.ph-anat-open-to-line { font-size: 11px; color: var(--ph-text-faint); display: inline-flex; gap: 8px; align-items: baseline; }
.ph-anat-open-to-label { letter-spacing: 0.22em; font-weight: 700; font-size: 9px; text-transform: uppercase; }
.ph-anat-open-time { margin-left: 8px; }
.ph-anat-open-body p { margin: 0 0 12px; color: var(--ph-text); }
.ph-anat-open-greeting { font-weight: 500; }
.ph-anat-open-signoff { color: var(--ph-text-faint) !important; font-style: italic; }
.ph-anat-open-urg-mark { background: transparent; padding: 1px 3px; border-radius: 3px; transition: background 0.4s ease, box-shadow 0.4s ease; }
.ph-anat-open-urg-mark.is-on { background: rgba(184,134,11,0.22); box-shadow: 0 0 0 1px rgba(184,134,11,0.40); font-weight: 600; }
.ph-anat-open-attach { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 14px; padding: 12px 14px; margin-top: 16px; background: #FAF8F2; border: 1px solid rgba(30,30,30,0.10); border-radius: 6px; transition: border-color 0.4s ease, box-shadow 0.4s ease; }
.ph-anat-open-attach.is-on { border-color: rgba(184,134,11,0.40); box-shadow: 0 0 0 2px rgba(184,134,11,0.15); }
.ph-anat-open-attach-icon { color: var(--ph-text-dim); width: 22px; height: 22px; }
.ph-anat-open-attach-name { font-size: 12px; color: var(--ph-text); }
.ph-anat-open-attach-ext { color: var(--ph-warn); background: rgba(184,134,11,0.16); padding: 0 3px; border-radius: 2px; font-weight: 700; }
.ph-anat-open-attach-size { font-size: 9.5px; letter-spacing: 0.18em; color: var(--ph-text-faint); margin-top: 2px; }
.ph-anat-open-attach-cta { appearance: none; background: var(--ph-accent); color: #fff; border: 0; padding: 8px 14px; font-size: 12px; font-weight: 500; border-radius: 4px; cursor: pointer; letter-spacing: -0.005em; font-family: inherit; }

@media (max-width: 900px) {
  .ph-anat-frame { width: 94vw; height: 70vh; }
  .ph-anat-body { grid-template-columns: 0 0 1fr; }
  .ph-anat-caption-shell { left: 4vw; right: 4vw; bottom: 4vh; width: auto; }
  .ph-anat-phaser { top: 18px; right: 4vw; }
  .ph-anat-open-zoom { padding: 18px 22px 22px; }
  .ph-anat-nav { bottom: auto; top: 18px; right: calc(5vw + 180px); }
}

.ph-hero-submit{
    width:100%;
    cursor:pointer;
}

.ph-hero-form input[type="text"],
.ph-hero-form input[type="email"],
.ph-hero-form select{
    width:100%;
    box-sizing:border-box;
}

.ph-hero-form .wpcf7-form-control-wrap{
    display:block;
    width:100%;
}

.wpcf7 p{
    margin:0;
}

.wpcf7 br{
    display:none;
}

.ph-hero-submit:hover:not(:disabled) {
    background: rgba(255, 255, 255, 0.15);
    color:white !important;
}

.ph-post { background: var(--ph-bg-1); padding: 120px 0; color: var(--ph-text); }
.ph-post-grid { display: grid; grid-template-columns: 1.35fr 1fr; gap: 44px; align-items: stretch; }

.ph-post-demo { position: relative; background: linear-gradient(180deg, #fff 0%, #F5F7FB 100%); border-radius: 12px; box-shadow: 0 40px 90px -40px rgba(20,49,167,0.30), 0 0 0 1px rgba(20,49,167,0.16); overflow: hidden; display: flex; flex-direction: column; }
.ph-post-chrome { background: #EBEEF5; padding: 11px 16px; display: flex; align-items: center; gap: 14px; border-bottom: 1px solid #D5DBE6; }
.ph-post-dots { display: flex; gap: 6px; }
.ph-post-dots span { width: 10px; height: 10px; border-radius: 50%; }
.ph-post-dots span:nth-child(1) { background: #FF5F56; }
.ph-post-dots span:nth-child(2) { background: #FFBD2E; }
.ph-post-dots span:nth-child(3) { background: #27C93F; }
.ph-post-url { font-size: 11.5px; color: #4a5468; padding: 6px 12px; background: #fff; border-radius: 5px; flex: 1; border: 1px solid #D5DBE6; position: relative; min-height: 26px; display: flex; align-items: center; }
.ph-post-url-text { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); transition: opacity 350ms ease; opacity: 0; pointer-events: none; }
.ph-post-url-text[data-show="1"] { opacity: 1; }
.ph-post-url-dim { color: #6E7685; }
.ph-post-stage-pill { font-size: 9.5px; letter-spacing: 0.18em; font-weight: 700; color: var(--ph-accent); padding: 4px 9px; background: rgba(20,49,167,0.08); border: 1px solid rgba(20,49,167,0.2); border-radius: 4px; position: relative; min-height: 18px; min-width: 132px; display: flex; align-items: center; justify-content: center; }
.ph-post-stage-pill span { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; opacity: 0; transition: opacity 350ms ease; }
.ph-post-stage-pill span[data-show="1"] { opacity: 1; }

.ph-post-stack { position: relative; min-height: 540px; }
.ph-post-phase { position: absolute; inset: 0; padding: 38px 40px 36px; transition: opacity 500ms ease, transform 600ms cubic-bezier(.2,.7,.25,1); }

.ph-post-email { opacity: 1; transform: translateY(0); }
.ph-post-email.is-out { opacity: 0; transform: translateY(-14px); pointer-events: none; }
.ph-mail-head { display: flex; gap: 14px; padding-bottom: 18px; border-bottom: 1px solid #E5E9F1; margin-bottom: 22px; }
.ph-mail-avatar { width: 40px; height: 40px; border-radius: 50%; background: linear-gradient(135deg, #2563eb 0%, #1431A7 100%); color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 16px; flex-shrink: 0; }
.ph-mail-meta { flex: 1; min-width: 0; }
.ph-mail-from-row { display: flex; align-items: baseline; gap: 12px; justify-content: space-between; }
.ph-mail-from { font-weight: 600; color: #0A0B1F; font-size: 14.5px; }
.ph-mail-time { font-size: 11px; color: #6E7685; }
.ph-mail-addr { font-size: 11.5px; color: #b94a4a; margin-top: 3px; word-break: break-all; }
.ph-mail-subject { font-size: 22px; font-weight: 600; color: #0A0B1F; margin: 0 0 14px; letter-spacing: -0.018em; line-height: 1.25; text-wrap: balance; }
.ph-mail-body { font-size: 15px; color: #2a3142; line-height: 1.6; margin: 0 0 26px; max-width: 540px; }
.ph-mail-cta { position: relative; padding: 13px 24px; background: var(--ph-accent); color: #fff; border: 0; border-radius: 6px; font-size: 14px; font-weight: 500; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; transition: background 0.2s, transform 0.15s; font-family: inherit; overflow: visible; }
.ph-mail-cta:hover { background: var(--ph-accent-deep); }
.ph-mail-cta.is-pressed { background: var(--ph-accent-deep); transform: scale(0.97); }
.ph-mail-cta-arrow { display: inline-block; transition: transform 0.2s; }
.ph-mail-cta:hover .ph-mail-cta-arrow { transform: translateX(2px); }
.ph-mail-cta-cursor { position: absolute; right: -22px; bottom: -16px; width: 16px; height: 22px; pointer-events: none; opacity: 0; }
.ph-mail-cta-cursor::before { content: ""; position: absolute; inset: 0; background: #0A0B1F; clip-path: polygon(0 0, 0 75%, 28% 58%, 50% 100%, 65% 92%, 42% 48%, 80% 48%); filter: drop-shadow(0 1px 2px rgba(0,0,0,0.3)); }
.ph-post-demo[data-stage="0"] .ph-mail-cta-cursor { animation: phCursorIn 1800ms 1200ms ease forwards, phCursorClick 600ms 3000ms ease both, phCursorOut 600ms 4200ms ease forwards; }
@keyframes phCursorIn { from { opacity: 0; transform: translate(20px, 12px) scale(.8); } to { opacity: 1; transform: translate(0,0) scale(1); } }
@keyframes phCursorClick { 0% { transform: scale(1); } 50% { transform: scale(.78); } 100% { transform: scale(1); } }
@keyframes phCursorOut { to { opacity: 0; } }
.ph-mail-foot { font-size: 11px; color: #6E7685; margin-top: 28px; }

.ph-post-page { opacity: 0; transform: translateY(14px); pointer-events: none; }
.ph-post-page.is-in { opacity: 1; transform: translateY(0); pointer-events: auto; }
.ph-post-badge { display: inline-flex; align-items: center; gap: 8px; font-size: 10px; letter-spacing: 0.22em; font-weight: 700; color: var(--ph-accent); padding: 6px 11px; background: rgba(20,49,167,0.08); border: 1px solid rgba(20,49,167,0.22); border-radius: 4px; margin-bottom: 22px; }
.ph-post-badge-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--ph-accent); animation: phPulse 2s ease-in-out infinite; }
@keyframes phPulse { 0%,100% { opacity: 1; box-shadow: 0 0 0 0 rgba(20,49,167,.5); } 50% { opacity: 1; box-shadow: 0 0 0 6px rgba(20,49,167,0); } }
.ph-post-title { font-size: 24px; font-weight: 600; color: #0A0B1F; margin: 0 0 12px; line-height: 1.22; letter-spacing: -0.02em; text-wrap: balance; }
.ph-post-sub { font-size: 14.5px; color: #4a5468; line-height: 1.55; margin: 0 0 22px; text-wrap: pretty; max-width: 520px; }
.ph-post-flags { background: #F4F6FB; border: 1px solid #DCE1EB; border-radius: 8px; padding: 18px 20px 20px; margin-bottom: 22px; }
.ph-post-flagsTitle { font-size: 12.5px; font-weight: 600; color: #0A0B1F; margin-bottom: 14px; }
.ph-post-flags ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 12px; }
.ph-post-flags li { display: grid; grid-template-columns: 28px 1fr; gap: 14px; align-items: start; font-size: 13px; line-height: 1.5; opacity: 0; transform: translateX(-6px); }
.ph-post-page.is-in .ph-post-flags li { animation: phFlagIn 500ms ease forwards; animation-delay: calc(550ms + var(--i) * 220ms); }
@keyframes phFlagIn { to { opacity: 1; transform: translateX(0); } }
.ph-post-flag-num { font-size: 10.5px; color: var(--ph-accent); letter-spacing: 0.12em; font-weight: 700; padding-top: 2px; }
.ph-post-flag-k { display: block; font-size: 9.5px; color: #0A0B1F; letter-spacing: 0.16em; font-weight: 700; text-transform: uppercase; margin-bottom: 4px; }
.ph-post-flag-v { color: #2a3142; }
.ph-post-cta { padding: 11px 20px; background: var(--ph-accent); color: #fff; border: 0; border-radius: 6px; font-size: 13.5px; font-weight: 500; cursor: pointer; transition: background 0.2s; font-family: inherit; }
.ph-post-cta:hover { background: var(--ph-accent-deep); }

.ph-post-caption { position: relative; background: linear-gradient(180deg, #F4F6FB 0%, #EDF0F7 100%); border-top: 1px solid #DCE1EB; padding: 18px 22px; min-height: 78px; }
.ph-post-caption-row { position: absolute; inset: 18px 22px; display: flex; gap: 14px; align-items: flex-start; opacity: 0; transition: opacity 350ms ease; pointer-events: none; }
.ph-post-caption-row[data-show="1"] { opacity: 1; }
.ph-post-caption-num { font-size: 22px; line-height: 1; color: var(--ph-accent); font-weight: 700; flex-shrink: 0; padding-top: 2px; }
.ph-post-caption-text { font-size: 13.5px; line-height: 1.55; color: #2a3142; text-wrap: pretty; }
.ph-post-caption-text strong { color: #0A0B1F; font-weight: 600; }

.ph-post-principles { display: flex; flex-direction: column; gap: 14px; align-self: stretch; height: 100%; }
.ph-post-pr { position: relative; padding: 24px 26px; border: 1px solid var(--ph-line); border-radius: 8px; background: var(--ph-bg-2); display: grid; grid-template-columns: auto 1fr; column-gap: 18px; row-gap: 6px; align-items: baseline; align-content: start; transition: border-color 0.25s, transform 0.25s; flex: 1 1 0; }
.ph-post-pr:hover { border-color: rgba(20,49,167,0.4); transform: translateY(-1px); }
.ph-post-pr-num { grid-row: span 3; font-size: 11px; letter-spacing: 0.18em; font-weight: 700; color: var(--ph-accent); padding-top: 4px; align-self: start; }
.ph-post-pr-k { font-size: 9.5px; letter-spacing: 0.22em; font-weight: 700; color: var(--ph-accent); }
.ph-post-pr-title { font-size: 17px; font-weight: 600; color: var(--ph-text); margin: 0; line-height: 1.3; letter-spacing: -0.014em; text-wrap: balance; }
.ph-post-pr-v { font-size: 13.5px; color: var(--ph-text-dim); line-height: 1.55; margin: 4px 0 0; text-wrap: pretty; }

@media (max-width: 1000px) {
  .ph-post-grid { grid-template-columns: 1fr; gap: 36px; }
  .ph-post-stack { min-height: 580px; }
  .ph-post-phase { padding: 28px 24px; }
}
@media (max-width: 600px) {
  .ph-post-stage-pill { display: none; }
  .ph-post-pr { grid-template-columns: 1fr; }
  .ph-post-pr-num { grid-row: auto; padding-top: 0; }
}

.hc-bookcall-slim {
  background: #fff;
  padding: 0 0 24px;
}
.hc-bookcall-slim-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 40px;
  align-items: center;
  background: #FAFAF7;
  border: 1px solid rgba(30,30,30,0.10);
  border-radius: 10px;
  padding: 22px 28px;
  position: relative;
  overflow: hidden;
}
.hc-bookcall-slim-card::before {
  content: '';
  position: absolute; left: 0; top: 0; bottom: 0;
  width: 3px;
  background: var(--ph-accent-deep);
}
.hc-bookcall-slim-text { padding-left: 8px; }
.hc-bookcall-slim-eyebrow {
  font-size: 10px; letter-spacing: 0.25em; font-weight: 700;
  color: var(--ph-accent); text-transform: uppercase;
  margin-bottom: 6px;
}
.hc-bookcall-slim-title {
  font-size: 16.5px; font-weight: 500;
  letter-spacing: -0.012em; line-height: 1.35;
  color: var(--hc-text);
  text-wrap: pretty;
}
.hc-bookcall-slim-btn {
  display: inline-flex; align-items: center; gap: 8px;
  background: var(--ph-accent); color: #fff;
  padding: 11px 18px;
  font-size: 13.5px; font-weight: 600;
  border-radius: 6px;
  text-decoration: none;
  border: 1px solid var(--ph-accent);
  transition: background .2s, transform .2s;
  white-space: nowrap;
}
.hc-bookcall-slim-btn:hover {
  background: var(--ph-accent-deep); border-color: var(--ph-accent-deep);
  transform: translateY(-1px);
}
.hc-bookcall-slim-btn span { transition: transform .2s; }
.hc-bookcall-slim-btn:hover span { transform: translateX(3px); }
@media (max-width: 760px) {
  .hc-bookcall-slim-card { grid-template-columns: 1fr; gap: 18px; padding: 22px; }
  .hc-bookcall-slim-btn { justify-self: start; }
}

.ph-when {
  background: var(--ph-bg-2);
  padding: 88px 0 96px;
  border-top: 1px solid var(--ph-line);
  border-bottom: 1px solid var(--ph-line);
  color: var(--ph-text);
  position: relative;
  overflow: hidden;
}
.ph-when::before {
  content: "";
  position: absolute; inset: 0;
  background-image:
    linear-gradient(to right, rgba(30,30,30,0.04) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(30,30,30,0.04) 1px, transparent 1px);
  background-size: 64px 64px;
  mask-image: radial-gradient(ellipse 70% 60% at 50% 30%, #000 30%, transparent 80%);
  -webkit-mask-image: radial-gradient(ellipse 70% 60% at 50% 30%, #000 30%, transparent 80%);
  pointer-events: none;
}
.ph-when > .container { position: relative; z-index: 1; }
.ph-when-grid { display: grid; grid-template-columns: 0.85fr 1fr; gap: 80px; align-items: center; }
.phw-head { min-width: 0; max-width: 480px; }
.phw-title { margin: 0 0 16px; text-wrap: balance; }
.phw-sub { font-size: 17px; line-height: 1.55; color: var(--ph-text-dim); margin: 0; text-wrap: pretty; }
.phw-right { position: relative; min-width: 0; display: flex; justify-content: center; }
.phw-stage {
  position: relative;
  width: 100%; max-width: 720px; min-height: 440px;
  isolation: isolate; perspective: 1600px;
}
.phw-stage-bg {
  position: absolute; inset: -8% -10%;
  background:
    radial-gradient(60% 60% at 60% 30%, var(--fam-tint), transparent 70%),
    radial-gradient(40% 40% at 30% 80%, rgba(20,49,167,0.05), transparent 70%);
  z-index: 0; pointer-events: none; transition: background 0.6s ease;
}
.phw-card {
  position: absolute; top: 50%; left: 50%;
  width: min(94%, 460px);
  background: var(--ph-bg-1); border: 1px solid var(--ph-line);
  border-radius: 14px; padding: 32px 36px 36px;
  display: flex; flex-direction: column; gap: 20px;
  cursor: pointer;
  will-change: transform, opacity, filter;
  --tx: -50%; --ty: -50%; --rot: 0deg; --scale: 1;
  transform: translate3d(var(--tx), var(--ty), 0) rotateY(var(--rot)) scale(var(--scale));
  transition:
    transform 0.7s cubic-bezier(0.22, 1, 0.36, 1),
    opacity 0.55s ease, filter 0.55s ease,
    box-shadow 0.5s ease, border-color 0.5s ease;
}
.phw-card.pos-c {
  --tx: -50%; --ty: -50%; --rot: 0deg; --scale: 1;
  opacity: 1; filter: blur(0); z-index: 6; pointer-events: auto;
  box-shadow: 0 2px 4px rgba(0,0,0,0.28), 0 30px 60px -28px rgba(0,0,0,0.5), 0 60px 100px -40px color-mix(in srgb, var(--fam-dot) 22%, transparent);
  border-color: color-mix(in srgb, var(--fam-dot) 24%, var(--ph-line));
}
.phw-card.pos-r  { --tx: calc(-50% + 64px);  --ty: -50%; --rot: -7deg;  --scale: 0.92; opacity: 0.55; filter: blur(3px) saturate(0.85); z-index: 4; pointer-events: auto; }
.phw-card.pos-l  { --tx: calc(-50% - 64px);  --ty: -50%; --rot:  7deg;  --scale: 0.92; opacity: 0.55; filter: blur(3px) saturate(0.85); z-index: 4; pointer-events: auto; }
.phw-card.pos-r2 { --tx: calc(-50% + 110px); --ty: -50%; --rot: -10deg; --scale: 0.84; opacity: 0.18; filter: blur(7px) saturate(0.7);  z-index: 2; pointer-events: none; }
.phw-card.pos-l2 { --tx: calc(-50% - 110px); --ty: -50%; --rot:  10deg; --scale: 0.84; opacity: 0.18; filter: blur(7px) saturate(0.7);  z-index: 2; pointer-events: none; }
.phw-card.pos-r-far, .phw-card.pos-l-far { --tx: -50%; --ty: -50%; --scale: 0.8; opacity: 0; filter: blur(10px); z-index: 1; pointer-events: none; }
.phw-card-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.phw-card-icon { width: 48px; height: 48px; border-radius: 10px; background: var(--fam-tint); color: var(--fam-dot); display: inline-flex; align-items: center; justify-content: center; border: 1px solid color-mix(in srgb, var(--fam-dot) 30%, transparent); }
.phw-card-icon svg { width: 22px; height: 22px; stroke-width: 1.6; }
.phw-card-tag { display: inline-flex; align-items: center; gap: 8px; padding: 6px 12px; font-size: 10.5px; letter-spacing: 0.22em; font-weight: 700; color: var(--fam-dot); background: var(--fam-tint); border: 1px solid color-mix(in srgb, var(--fam-dot) 26%, transparent); border-radius: 999px; }
.phw-card-tag-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--fam-dot); box-shadow: 0 0 0 3px color-mix(in srgb, var(--fam-dot) 22%, transparent); }
.phw-card-title { font-size: clamp(20px, 2.1vw, 26px); font-weight: 600; line-height: 1.2; letter-spacing: -0.018em; color: var(--ph-text); margin: 0; text-wrap: balance; }
.phw-card-body { font-size: 14.5px; line-height: 1.65; color: var(--ph-text-dim); margin: 0; text-wrap: pretty; }
.phw-card-points { list-style: none; padding: 0; margin: 4px 0 0; display: flex; flex-direction: column; gap: 10px; }
.phw-card-point { display: grid; grid-template-columns: 18px 1fr; gap: 12px; align-items: start; font-size: 13.5px; line-height: 1.55; color: var(--ph-text); text-wrap: pretty; }
.phw-card-check { width: 18px; height: 18px; border-radius: 50%; background: var(--fam-tint); color: var(--fam-dot); display: inline-flex; align-items: center; justify-content: center; margin-top: 2px; flex-shrink: 0; }
.phw-pips { position: absolute; left: 50%; bottom: -28px; transform: translateX(-50%); display: flex; align-items: center; gap: 6px; z-index: 4; }
.phw-pip { all: unset; cursor: pointer; width: 18px; height: 2px; background: rgba(30,30,30,0.18); border-radius: 2px; transition: width 0.32s cubic-bezier(0.2,0.9,0.3,1), background 0.25s; }
.phw-pip:hover { background: rgba(30,30,30,0.34); }
.phw-pip.is-active { background: var(--fam-dot, var(--ph-accent)); width: 32px; }
@media (max-width: 1100px) {
  .phw-stage { max-width: 600px; min-height: 460px; }
  .phw-card { padding: 26px 26px 28px; width: min(94%, 420px); }
  .phw-card.pos-r  { --tx: calc(-50% + 52px); }
  .phw-card.pos-l  { --tx: calc(-50% - 52px); }
  .phw-card.pos-r2 { --tx: calc(-50% + 92px); }
  .phw-card.pos-l2 { --tx: calc(-50% - 92px); }
}
@media (max-width: 980px) {
  .ph-when-grid { grid-template-columns: 1fr; gap: 40px; }
  .phw-head { max-width: none; text-align: center; margin: 0 auto; }
  .phw-right { justify-content: center; }
  .phw-stage { max-width: 600px; min-height: 460px; }
}
@media (max-width: 560px) {
  .phw-stage { min-height: 500px; }
  .phw-card { padding: 22px 20px 24px; width: min(100%, 360px); }
  .phw-card-title { font-size: 18px; }
  .phw-card.pos-r { --tx: calc(-50% + 40px); filter: blur(2px); opacity: 0.4; }
  .phw-card.pos-l { --tx: calc(-50% - 40px); filter: blur(2px); opacity: 0.4; }
  .phw-card.pos-r2, .phw-card.pos-l2 { opacity: 0; }
}
@media (prefers-reduced-motion: reduce) { .phw-card { transition: opacity 0.2s ease; } }
.wpcf7-form option{
    background:#070763 !important;
    color:#fff !important;
}
.wpcf7 p{
    margin:0 !important;
    padding:0 !important;
}

.wpcf7 br{
    display:none !important;
}
.wpcf7 label{
    display:block;
    margin-bottom:12px;
}

.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 select{
    width:100%;
    box-sizing:border-box;
}

.m3bk-title-bold {
    color: var(--m3-accent-deep);
    font-weight: 600;
}

.m3bk-title-lead {
    color: rgba(30, 30, 30, 0.68);
    font-weight: 500;}
    .m3bk-title {
    font-size: clamp(26px, 2.8vw, 36px);
    font-weight: 500;
    line-height: 1.18;
    letter-spacing: -0.018em;
    color: var(--m3-accent-deep);
    margin: 0 0 18px;
    text-wrap: balance;
}

.m3-hero {

    --m3-accent: #1431A7;
    --m3-accent-bright: #C5D6FF;
    --m3-accent-deep: #070763;
    --m3-text: #1E1E1E;
    --m3-text-dim: rgba(30,30,30,0.72);
    --m3-text-faint: rgba(30, 30, 30, 0.68);
    --m3-line: rgba(30,30,30,0.10);
    --m3-line-strong: rgba(20,49,167,0.30);
    --m3-bg-1: #FFFFFF;
    --m3-bg-2: #F8F7ED;
    --m3-bg-3: #EFEEE0;

    position: relative;
    background: #070763;
    color: #fff;
    padding: 130px 0 100px;
    overflow: hidden;
    isolation: isolate;
    min-height: 720px;
  }
  :root {
    --m3-accent: #1431A7;
    --m3-accent-bright: #C5D6FF;
    --m3-accent-deep: #070763;
    --m3-text: #1E1E1E;
    --m3-text-dim: rgba(30,30,30,0.72);
    --m3-text-faint: rgba(30, 30, 30, 0.68);
    --m3-line: rgba(30,30,30,0.10);
    --m3-line-strong: rgba(20,49,167,0.30);
    --m3-bg-1: #FFFFFF;
    --m3-bg-2: #F8F7ED;
    --m3-bg-3: #EFEEE0;
  }

  .m3-hero-bg { position: absolute; inset: 0; pointer-events: none; }
  .m3-hero-grid {
    position: absolute; inset: 0;
    background-image:
      linear-gradient(to right, rgba(255,255,255,0.04) 1px, transparent 1px),
      linear-gradient(to bottom, rgba(255,255,255,0.04) 1px, transparent 1px);
    background-size: 64px 64px;
    mask-image: radial-gradient(ellipse 70% 60% at 50% 40%, black 30%, transparent 80%);
    -webkit-mask-image: radial-gradient(ellipse 70% 60% at 50% 40%, black 30%, transparent 80%);
  }
  .m3-hero-glow {
    position: absolute; left: 55%; top: -250px;
    width: 1100px; height: 1100px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(20,49,167,0.55) 0%, rgba(7,7,99,0.25) 30%, transparent 70%);
    filter: blur(60px);
    animation: m3-breath 9s ease-in-out infinite;
  }
  @keyframes m3-breath {
    0%,100% { opacity: 0.85; transform: translate3d(0,0,0) scale(1); }
    50%     { opacity: 1;    transform: translate3d(0,0,0) scale(1.04); }
  }
  .m3-hero-vignette {
    position: absolute; inset: 0;
    background: radial-gradient(ellipse 100% 80% at 50% 50%, transparent 30%, rgba(0,0,0,0.55) 100%);
  }

  .m3-hero-container { position: relative; z-index: 1; }
  .m3-hero-grid-cols {
    display: grid;
    grid-template-columns: 1.15fr 0.85fr;
    gap: 72px;
    align-items: center;
  }
  .m3-hero-text { max-width: 640px; }

  .m3-hero-eyebrow {
    font-size: 11px; letter-spacing: 0.22em; font-weight: 700;
    color: rgba(197,214,255,0.85);
    margin-bottom: 22px;
    text-transform: uppercase;
    display: inline-flex; align-items: center; gap: 8px;
  }
  .m3-eyebrow-dot {
    width: 6px; height: 6px; border-radius: 50%;
    background: var(--m3-accent-bright);
    box-shadow: 0 0 12px var(--m3-accent-bright);
    animation: m3-pulse 1.6s ease-in-out infinite;
  }
  @keyframes m3-pulse { 0%,100% { opacity: 1; } 50% { opacity: 0.35; } }
  .m3-hero-h1 {
    font-size: clamp(38px, 4.6vw, 60px);
    font-weight: 500;
    letter-spacing: -0.028em;
    line-height: 1.06;
    margin: 0 0 26px;
    color: #fff;
    text-wrap: balance;
  }
  .m3-h1-accent {
    color: var(--m3-accent-bright);
    font-weight: 500;
  }
  .m3-hero-sub {
    font-size: 17px; line-height: 1.55;
    color: rgba(255,255,255,0.78);
    max-width: 560px;
    margin: 0 0 36px;
    text-wrap: pretty;
  }
  .m3-hero-cta {
    display: flex; gap: 14px; flex-wrap: wrap;
  }
  .m3-btn {
    display: inline-flex; align-items: center; gap: 10px;
    padding: 14px 24px;
    font-size: 14.5px; font-weight: 500;
    letter-spacing: -0.005em;
    border-radius: 8px;
    text-decoration: none;
    border: 1px solid transparent;
    transition: all 0.2s ease;
  }
  .m3-btn-primary {
    background: var(--m3-accent-bright); color: var(--m3-accent-deep);
    border-color: var(--m3-accent-bright);
  }
  .m3-btn-primary:hover {
    background: #fff; transform: translateY(-1px);
  }
  .m3-btn-ghost {
    color: rgba(255,255,255,0.92);
    border-color: rgba(197,214,255,0.30);
    background: transparent;
  }
  .m3-btn-ghost:hover {
    color: var(--m3-accent-bright); border-color: var(--m3-accent-bright);
  }
  .m3-arrow { transition: transform 0.2s; }
  .m3-btn:hover .m3-arrow { transform: translateX(3px); }

  .m3-hero-form-wrap {
    background: rgba(7,7,99,0.55);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: 1px solid rgba(197,214,255,0.18);
    border-radius: 12px;
    padding: 28px 26px 24px;
    position: relative;
  }
  .m3-hero-form-wrap::before {
    content: '';
    position: absolute;
    top: -1px; left: -1px; right: -1px;
    height: 2px;
    background: linear-gradient(90deg, transparent, #1431A7 30%, #C5D6FF 50%, #1431A7 70%, transparent);
    border-radius: 12px 12px 0 0;
    opacity: 0.55;
  }
  .m3-hero-form { display: flex; flex-direction: column; gap: 12px; }
  .m3-hero-form-title {
    font-size: 18px; font-weight: 500;
    letter-spacing: -0.015em;
    color: #fff;
    margin-bottom: 4px;
  }
  .m3-hero-form-hint {
    font-size: 12.5px;
    color: rgba(255,255,255,0.65);
    margin-bottom: 14px;
  }
  .m3-hero-form label { display: flex; flex-direction: column; gap: 5px; }
  .m3-hero-form .mono {
    font-family: ui-monospace, Menlo, monospace;
    font-size: 9.5px; letter-spacing: 0.2em; font-weight: 700;
    color: rgba(255, 255, 255, 0.56);
    text-transform: uppercase;
  }
  .m3-hero-form input,
  .m3-hero-form select {
    font-family: inherit;
    font-size: 14px;
    padding: 10px 12px;
    background: rgba(255,255,255,0.06);
    color: #fff;
    border: 1px solid rgba(197,214,255,0.18);
    border-radius: 5px;
    outline: none;
    transition: border-color 0.2s, background 0.2s;
  }
  .m3-hero-form input::placeholder { color: rgba(255, 255, 255, 0.56); }
  .m3-hero-form input:focus,
  .m3-hero-form select:focus {
    border-color: var(--m3-accent-bright);
    background: rgba(255,255,255,0.10);
  }
  .m3-hero-submit {
    margin-top: 6px;
    padding: 13px 18px;
    background: var(--m3-accent-bright);
    color: var(--m3-accent-deep);
    border: 1px solid var(--m3-accent-bright);
    border-radius: 6px;
    font-size: 14px; font-weight: 700;
    letter-spacing: -0.005em;
    cursor: pointer;
    display: inline-flex; align-items: center; justify-content: center; gap: 10px;
    transition: background 0.2s ease;
  }
  .m3-hero-submit:hover:not(:disabled) {
    background: #fff;
  }
  .m3-hero-submit:disabled { opacity: 0.5; cursor: not-allowed; }
  .m3-hero-success { padding: 20px 0; text-align: center; color: #fff; }
  .m3-hero-success-mark { color: var(--m3-accent-bright); margin: 0 auto 12px; width: 36px; }
  .m3-hero-success-title { font-size: 16px; font-weight: 500; margin-bottom: 6px; color: #fff; }
  .m3-hero-success-body { font-size: 13px; color: rgba(255,255,255,0.78); }

  @media (max-width: 1000px) {
    .m3-hero-grid-cols { grid-template-columns: 1fr; gap: 48px; }
    .m3-hero { padding: 110px 0 90px; }
  }

  .m3-logos { background: var(--m3-bg-1); padding: 56px 0 40px; border-top: 1px solid var(--m3-line); }
  .m3-logos-label {
    font-size: 11px; letter-spacing: 0.2em; font-weight: 700;
    color: var(--m3-text-faint);
    margin-bottom: 28px;
    text-transform: uppercase;
    text-align: center;
  }
  .m3-logos-strip { overflow: hidden; mask-image: linear-gradient(90deg, transparent, black 10%, black 90%, transparent); -webkit-mask-image: linear-gradient(90deg, transparent, black 10%, black 90%, transparent); }
  .m3-logos-track {
  --marquee-gap: 64px;
    display: flex; gap: 64px; align-items: center;
    animation: m3-marquee 50s linear infinite;
    width: max-content;
  }
  .m3-logos-track img {
    height: 28px; opacity: 0.55;
    filter: grayscale(1) contrast(0.9);
    transition: opacity 0.2s ease;
  }
  .m3-logos-track img:hover { opacity: 1; filter: grayscale(0) contrast(1); }
  @keyframes m3-marquee { from { transform: translateX(0); } to { transform: translateX(calc(-50% - var(--marquee-gap, 0px) / 2)); } }

  .m3-pti {
    background: var(--m3-bg-1);
    padding: 96px 0 100px;
    color: var(--m3-text);
  }
  .m3-pti-head { max-width: none; margin: 0 0 28px; text-align: center; }
  .m3-pti-eyebrow {
    display: inline-flex; align-items: center; gap: 8px;
    font-size: 11px; font-weight: 700; letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--m3-accent);
    margin-bottom: 18px;
  }
  .m3-pti-dot {
    width: 6px; height: 6px; border-radius: 50%;
    background: var(--m3-accent);
  }
  .m3-pti-title {
    font-size: clamp(30px, 3.4vw, 44px);
    font-weight: 500;
    letter-spacing: -0.022em;
    line-height: 1.1;
    margin: 0;
    color: var(--m3-accent-deep);
    text-wrap: balance;
  }
  .m3-pti-accent {
    color: var(--m3-accent);
    font-weight: 500;
  }

  .m3-pti-text {
    max-width: none;
    margin: 0 auto 56px;
    text-align: center;
  }
  .m3-pti-lead {
    font-size: 19px;
    line-height: 1.5;
    font-weight: 500;
    color: var(--m3-text);
    margin: 0 auto 22px;
    letter-spacing: -0.01em;
    max-width: 920px;
    text-wrap: pretty;
  }
  .m3-pti-body {
    font-size: 15.5px;
    line-height: 1.6;
    color: var(--m3-text-dim);
    margin: 0 auto 16px;
    max-width: 880px;
    text-wrap: pretty;
  }
  .m3-pti-body:last-child { margin-bottom: 0; }

  .m3-pti-benefits {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
  }
  .m3-pti-card {
    background: var(--m3-bg-2);
    border: 1px solid var(--m3-line);
    border-radius: 12px;
    padding: 28px 26px 26px;
    position: relative;
    transition: all 0.2s ease;
  }
  .m3-pti-card::before {
    content: "";
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 2px;
    background: linear-gradient(90deg, var(--m3-accent), transparent);
    border-radius: 12px 12px 0 0;
    opacity: 0.6;
  }
  .m3-pti-card:hover {
    border-color: var(--m3-line-strong);
    transform: translateY(-2px);
    box-shadow: 0 14px 34px -22px rgba(7,7,99,0.30);
  }
  .m3-pti-card-tag {
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: 0.2em;
    color: var(--m3-accent);
    margin-bottom: 14px;
  }
  .m3-pti-card-name {
    font-size: 19px;
    font-weight: 500;
    letter-spacing: -0.012em;
    line-height: 1.25;
    color: var(--m3-accent-deep);
    margin: 0 0 12px;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--m3-line);
  }
  .m3-pti-card-text {
    font-size: 14.5px;
    line-height: 1.55;
    color: var(--m3-text-dim);
    margin: 0;
    text-wrap: pretty;
  }

  .m3-pti-card-impact {
    margin: 14px 0 0;
    padding-top: 12px;
    border-top: 1px solid var(--m3-line);
    font-size: 13.5px;
    line-height: 1.5;
    font-weight: 500;
    color: var(--m3-accent-deep);
    text-wrap: pretty;
  }

  @media (max-width: 920px) {
    .m3-pti-benefits { grid-template-columns: 1fr; }
    .m3-pti { padding: 80px 0 84px; }
  }

  .m3bk-section { background: var(--m3-bg-1); padding: 80px 0 96px; }
  .m3bk-card {
    position: relative;
    background: #f5f1ea;
    border: 1px solid rgba(30,30,30,0.07);
    border-radius: 14px;
    padding: 56px 64px;
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 48px;
    overflow: hidden;
    max-width: 1160px;
    margin: 0 auto;
  }
  .m3bk-mark {
    position: absolute;
    top: 50%; right: -60px;
    transform: translateY(-50%);
    width: 360px; height: 360px;
    fill: rgba(20,49,167,0.05);
    pointer-events: none;
  }
  .m3bk-text { position: relative; max-width: 600px; }
  .m3bk-kicker {
    font-size: 11px; letter-spacing: 0.22em; font-weight: 700;
    color: var(--m3-accent);
    margin-bottom: 18px;
    text-transform: uppercase;
  }
  .m3bk-title {
    font-size: clamp(26px, 2.8vw, 36px);
    font-weight: 500;
    line-height: 1.18;
    letter-spacing: -0.018em;
    color: var(--m3-accent-deep);
    margin: 0 0 18px;
    text-wrap: balance;
  }
  .m3bk-title-lead { color: rgba(30, 30, 30, 0.68); font-weight: 500; }
  .m3bk-title-bold { color: var(--m3-accent-deep); font-weight: 600; }
  .m3bk-body {
    font-size: 15.5px; line-height: 1.55;
    color: rgba(30,30,30,0.7);
    margin: 0; max-width: 520px;
    text-wrap: pretty;
  }
  .m3bk-cta {
    all: unset;
    cursor: pointer;
    display: inline-flex; align-items: center; gap: 10px;
    padding: 16px 28px;
    background: var(--m3-accent-deep);
    color: #fff;
    font-family: inherit; font-size: 15px; font-weight: 600;
    letter-spacing: -0.005em;
    border-radius: 8px;
    transition: background 0.2s, transform 0.15s, box-shadow 0.2s;
    box-shadow: 0 8px 22px -10px rgba(7,7,99,0.4);
  }
  .m3bk-cta:hover {
    background: var(--m3-accent);
    transform: translateY(-1px);
    box-shadow: 0 12px 30px -10px rgba(20,49,167,0.5);
  }
  .m3bk-arrow { transition: transform 0.2s; }
  .m3bk-cta:hover .m3bk-arrow { transform: translateX(3px); }

  @media (max-width: 820px) {
    .m3bk-card { grid-template-columns: 1fr; gap: 28px; padding: 40px 32px; }
    .m3bk-mark { right: -120px; opacity: 0.6; }
  }

  .m3-tagline { background: var(--m3-bg-2); padding: 88px 0 110px; border-top: 1px solid var(--m3-line); border-bottom: 1px solid var(--m3-line); position: relative; overflow: hidden; }
  .m3-tagline::before { content: ""; position: absolute; inset: 0; background: radial-gradient(ellipse 60% 70% at 50% 55%, rgba(20,49,167,0.09) 0%, transparent 65%); pointer-events: none; }
  .m3-tagline-inner { position: relative; max-width: 1180px; margin: 0 auto; text-align: center; }
  .m3-tagline-text { font-size: clamp(28px, 3.4vw, 44px); font-weight: 400; letter-spacing: -0.022em; line-height: 1.18; margin: 0 0 22px; color: var(--m3-text-dim); max-width: 1080px; margin-left: auto; margin-right: auto; text-wrap: pretty; }
  .m3-tagline-lead { color: var(--m3-text-dim); }
  .m3-tagline-bold { color: var(--m3-text); font-weight: 500; background: linear-gradient(180deg, transparent 60%, rgba(20,49,167,0.18) 60%, rgba(20,49,167,0.18) 92%, transparent 92%); padding: 0 4px; }
  .m3-tagline-foot {
    font-size: clamp(15px, 1.4vw, 18px);
    font-weight: 400;
    color: var(--m3-text-dim);
    letter-spacing: -0.005em;
    line-height: 1.45;
    max-width: 880px;
    margin: 0 auto;
    text-wrap: pretty;
  }
  .m3-tagline-foot::before {
    content: "";
    display: block;
    width: 28px;
    height: 1px;
    background: var(--m3-accent);
    opacity: 0.55;
    margin: 0 auto 18px;
  }

  .m3-when { background: var(--m3-bg-1); padding: 110px 0 120px; border-top: 1px solid var(--m3-line); }
  .m3-when-head { max-width: 960px; margin: 0 auto 56px; text-align: center; }
  .m3-when-eyebrow {
    display: inline-flex; align-items: center; gap: 8px;
    font-size: 11px; letter-spacing: 0.22em; font-weight: 700;
    color: var(--m3-accent);
    margin-bottom: 18px;
    text-transform: uppercase;
  }
  .m3-when-eyebrow-dot { width: 5px; height: 5px; border-radius: 50%; background: var(--m3-accent); box-shadow: 0 0 8px var(--m3-accent); }
  .m3-when-title {
    font-size: clamp(30px, 3.6vw, 44px);
    font-weight: 500;
    line-height: 1.1;
    letter-spacing: -0.022em;
    color: var(--m3-accent-deep);
    margin: 0 0 18px;
    text-wrap: balance;
  }
  .m3-when-sub {
    font-size: 17px; line-height: 1.55;
    color: var(--m3-text-dim);
    max-width: 880px;
    margin: 0 auto;
    text-wrap: pretty;
  }

  .m3-when-grid {
    display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px;
    max-width: 1180px; margin: 0 auto;
  }
  .m3-when-card {
    background: #ffffff;
    border: 1px solid var(--m3-line);
    border-radius: 14px;
    padding: 28px 28px 32px;
    display: flex; flex-direction: column; gap: 14px;
    transition: border-color 0.2s, transform 0.2s, box-shadow 0.2s;
    position: relative;
    overflow: hidden;
  }
  .m3-when-card::before {
    content: "";
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 2px;
    background: linear-gradient(90deg, var(--m3-accent), transparent);
    opacity: 0; transition: opacity 0.2s;
  }
  .m3-when-card:hover {
    border-color: rgba(20,49,167,0.30);
    transform: translateY(-2px);
    box-shadow: 0 14px 34px -22px rgba(7,7,99,0.30);
  }
  .m3-when-card:hover::before { opacity: 1; }
  .m3-when-tag {
    font-size: 10.5px; font-weight: 700;
    letter-spacing: 0.22em;
    color: var(--m3-accent);
    text-transform: uppercase;
  }
  .m3-when-name {
    font-size: 19px;
    font-weight: 600;
    letter-spacing: -0.014em;
    color: var(--m3-accent-deep);
    margin: 0;
    text-wrap: balance;
  }
  .m3-when-text {
    font-size: 14.5px;
    line-height: 1.55;
    color: var(--m3-text-dim);
    margin: 0;
    text-wrap: pretty;
  }

  .m3-when-cta {
    margin-top: 56px;
    display: flex; align-items: center; gap: 24px;
    padding: 20px 30px;
    background: var(--m3-bg-2);
    border-radius: 100px;
    max-width: 960px;
    margin-left: auto;
    margin-right: auto;
  }
  .m3-when-cta-line {
    font-size: 16px;
    color: var(--m3-text-dim);
    font-weight: 500;
    flex: 0 1 auto;
  }

  .m3-when-cta-rule {
    flex: 1 1 auto;
    min-width: 28px;
    height: 1px;
    background: var(--m3-line);
  }
  .m3-when-cta-btn {
    display: inline-flex; align-items: center; gap: 8px;
    flex: 0 0 auto;
    padding: 12px 22px;
    background: var(--m3-accent-deep);
    color: #fff;
    font-size: 14px; font-weight: 600;
    letter-spacing: -0.005em;
    border-radius: 100px;
    text-decoration: none;
    transition: background 0.2s, transform 0.15s;
  }
  .m3-when-cta-btn:hover {
    background: var(--m3-accent);
    transform: translateY(-1px);
  }

  @media (max-width: 760px) {
    .m3-when-cta {
      flex-wrap: wrap;
      justify-content: center;
      text-align: center;
      border-radius: 24px;
      padding: 22px 24px;
      gap: 16px;
    }
    .m3-when-cta-rule { display: none; }
  }

  @media (max-width: 980px) {
    .m3-when-grid { grid-template-columns: 1fr 1fr; }
  }
  @media (max-width: 640px) {
    .m3-when-grid { grid-template-columns: 1fr; }
  }

  .m3-pl { background: var(--m3-bg-2); padding: 110px 0 120px; border-top: 1px solid var(--m3-line); border-bottom: 1px solid var(--m3-line); }
  .m3-pl-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
    gap: 56px;
    align-items: center;
  }
  .m3-pl-eyebrow {
    display: inline-flex; align-items: center; gap: 8px;
    font-size: 11px; letter-spacing: 0.22em; font-weight: 700;
    color: var(--m3-accent);
    margin-bottom: 18px;
    text-transform: uppercase;
  }
  .m3-pl-eyebrow-dot { width: 5px; height: 5px; border-radius: 50%; background: var(--m3-accent); box-shadow: 0 0 8px var(--m3-accent); }
  .m3-pl-title {
    font-size: clamp(30px, 3.8vw, 46px);
    font-weight: 500;
    line-height: 1.08;
    letter-spacing: -0.024em;
    color: var(--m3-accent-deep);
    margin: 0 0 18px;
    text-wrap: balance;
  }
  .m3-pl-accent {
    color: var(--m3-accent);
    font-weight: 500;
  }
  .m3-pl-sub {
    font-size: 16.5px; line-height: 1.6;
    color: var(--m3-text-dim);
    margin: 0 0 28px;
    max-width: 520px;
    text-wrap: pretty;
  }

  .m3-pl-bullets {
    list-style: none; padding: 0; margin: 0 0 32px;
    display: flex; flex-direction: column; gap: 12px;
  }
  .m3-pl-bullets li {
    display: flex; align-items: flex-start; gap: 12px;
    font-size: 15px; line-height: 1.55;
    color: var(--m3-text);
  }
  .m3-pl-check {
    flex-shrink: 0;
    width: 20px; height: 20px;
    margin-top: 2px;
    display: flex; align-items: center; justify-content: center;
    border-radius: 50%;
    background: var(--m3-accent);
    color: #fff;
  }

  .m3-pl-ctas {
    display: flex; gap: 12px; flex-wrap: wrap;
  }
  .m3-pl-cta-primary, .m3-pl-cta-ghost {
    display: inline-flex; align-items: center; gap: 10px;
    padding: 14px 24px;
    font-size: 14px; font-weight: 600;
    letter-spacing: -0.005em;
    border-radius: 8px;
    text-decoration: none;
    transition: background 0.2s, transform 0.15s, color 0.2s, border-color 0.2s;
  }
  .m3-pl-cta-primary {
    background: var(--m3-accent-deep); color: #fff;
  }
  .m3-pl-cta-primary:hover { background: var(--m3-accent); transform: translateY(-1px); }
  .m3-pl-cta-ghost {
    background: transparent;
    color: var(--m3-accent-deep);
    border: 1px solid rgba(7,7,99,0.18);
  }
  .m3-pl-cta-ghost:hover {
    color: var(--m3-accent-deep);
    border-color: var(--m3-accent);
    background: rgba(20,49,167,0.05);
  }

  .m3-pl-mock {
    position: relative;
  }
  .m3-pl-mock-frame {
    background: #fff;
    border: 1px solid rgba(20,49,167,0.14);
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 24px 60px -28px rgba(7,7,99,0.35);
  }
  .m3-pl-mock-top {
    display: flex; align-items: center; gap: 6px;
    padding: 12px 16px;
    background: #f5f1ea;
    border-bottom: 1px solid rgba(30,30,30,0.07);
  }
  .m3-pl-mock-dot {
    width: 11px; height: 11px; border-radius: 50%;
  }
  .m3-pl-mock-title {
    margin-left: 14px;
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: 0.12em;
    color: rgba(30, 30, 30, 0.68);
  }
  .m3-pl-mock-body {
    padding: 22px 22px 26px;
    display: flex; flex-direction: column;
    gap: 18px;
  }
  .m3-pl-mock-stats {
    display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px;
  }
  .m3-pl-mock-stat {
    background: var(--m3-bg-2);
    border: 1px solid var(--m3-line);
    border-radius: 8px;
    padding: 12px 14px;
    display: flex; flex-direction: column; gap: 4px;
  }
  .m3-pl-mock-stat-k {
    font-size: 9.5px; font-weight: 700;
    letter-spacing: 0.18em;
    color: var(--m3-text-faint);
    text-transform: uppercase;
  }
  .m3-pl-mock-stat-v {
    font-size: 22px; font-weight: 600;
    color: var(--m3-accent-deep);
    letter-spacing: -0.01em;
  }
  .m3-pl-mock-list {
    display: flex; flex-direction: column;
    border-top: 1px solid var(--m3-line);
  }
  .m3-pl-mock-row {
    display: grid;
    grid-template-columns: auto 1fr auto auto;
    align-items: center;
    gap: 12px;
    padding: 11px 4px;
    border-bottom: 1px solid var(--m3-line);
    font-size: 13px;
  }
  .m3-pl-mock-row:last-child { border-bottom: none; }
  .m3-pl-mock-sev {
    font-size: 9.5px; font-weight: 700;
    padding: 3px 7px;
    border-radius: 3px;
    letter-spacing: 0.12em;
  }
  .m3-pl-mock-sev-high { background: rgba(168,50,79,0.10); color: #a8324f; }
  .m3-pl-mock-sev-med  { background: rgba(168,96,24,0.10); color: #A15C17; }
  .m3-pl-mock-sev-low  { background: rgba(13,110,110,0.10); color: #0d6e6e; }
  .m3-pl-mock-text {
    color: var(--m3-text);
    letter-spacing: -0.005em;
    line-height: 1.4;
    font-size: 13px;
  }
  .m3-pl-mock-owner {
    font-size: 11px;
    color: var(--m3-accent);
    font-weight: 600;
    letter-spacing: -0.005em;
  }
  .m3-pl-mock-state {
    font-size: 9.5px; font-weight: 700;
    padding: 3px 7px;
    border-radius: 3px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
  }
  .m3-pl-mock-state-open        { background: rgba(168,96,24,0.10);  color: #A15C17; }
  .m3-pl-mock-state-in-progress { background: rgba(20,49,167,0.10);  color: var(--m3-accent); }
  .m3-pl-mock-state-verified    { background: rgba(13,110,110,0.10); color: #0d6e6e; }

  @media (max-width: 980px) {
    .m3-pl-grid { grid-template-columns: 1fr; gap: 48px; }
  }
  @media (max-width: 600px) {
    .m3-pl-mock-row { grid-template-columns: auto 1fr; row-gap: 4px; }
    .m3-pl-mock-row > .m3-pl-mock-owner,
    .m3-pl-mock-row > .m3-pl-mock-state { grid-column: 2; justify-self: start; }
  }

  .wts-section {
    padding: 110px 0;
    background: var(--white);
  }
  .wts-head {
    margin: 0 auto 56px;
    max-width: 820px;
    text-align: center;
  }
  .wts-title {
    font-size: clamp(30px, 3.4vw, 44px);
    font-weight: 600;
    line-height: 1.06;
    letter-spacing: -0.024em;
    color: var(--deep-navy, var(--deep-carbon));
    margin: 0 0 16px;
    text-wrap: balance;
  }
  .wts-sub {
    font-size: 15.5px;
    line-height: 1.55;
    color: rgba(30, 30, 30, 0.68);
    margin: 0;
    text-wrap: pretty;
  }

  .wts-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
  }

  .wts-card {
    position: relative;
    padding: 24px 26px 22px;
    background: #fff;
    border: 1px solid rgba(30,30,30,0.10);
    border-radius: 8px;
    display: flex;
    flex-direction: column;
    gap: 18px;
    transition: border-color 0.2s, box-shadow 0.2s, transform 0.2s;
  }
  .wts-card:hover {
    border-color: rgba(20,49,167,0.22);
    box-shadow: 0 18px 44px -24px rgba(20,49,167,0.28);
    transform: translateY(-2px);
  }

  .wts-card-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  .wts-stars {
    display: inline-flex;
    gap: 2px;
    color: #f5a524;
  }
  .wts-mark {
    color: var(--cyber-blue);
    opacity: 0.85;
    flex-shrink: 0;
  }

  .wts-quote {
    margin: 0;
    font-size: 15.5px;
    line-height: 1.6;
    color: rgba(30,30,30,0.88);
    flex: 1;
    text-wrap: pretty;
  }
  .wts-quote::before { content: "\201C"; }
  .wts-quote::after  { content: "\201D"; }

  .wts-foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding-top: 18px;
    border-top: 1px solid rgba(30,30,30,0.10);
  }
  .wts-who { min-width: 0; }
  .wts-name {
    font-size: 14px;
    font-weight: 600;
    color: var(--deep-navy, var(--deep-carbon));
    letter-spacing: -0.005em;
    margin-bottom: 2px;
  }
  .wts-company {
    font-size: 12.5px;
    color: rgba(30, 30, 30, 0.68);
    letter-spacing: 0.02em;
  }

  .wts-logo {
    height: 24px;
    opacity: 0.75;
    flex-shrink: 0;
  }

  .wts-footnote {
    margin: 36px auto 0;
    max-width: 760px;
    text-align: center;
    font-size: 12px;
    line-height: 1.55;
    color: rgba(30, 30, 30, 0.68);
    font-style: italic;
  }

  @media (max-width: 1100px) {
    .wts-grid { grid-template-columns: repeat(2, 1fr); }
  }
  @media (max-width: 720px) {
    .wts-grid { grid-template-columns: 1fr; }
  }

  .m3-faq { background: var(--m3-bg-1); }
  .m3-faq .fq-body-inner p + p { margin-top: 14px; }

  .m3-other {
    background: #fff;
    padding: 90px 0 100px;
    border-top: 1px solid rgba(30,30,30,0.06);
    position: relative;
  }
  .m3-other-inner {
    position: relative;
    max-width: 1100px;
  }
  .m3-other-head {
    text-align: center;
    margin-bottom: 36px;
  }
  .m3-other-h2 {
    font-size: clamp(26px, 2.8vw, 36px);
    font-weight: 600;
    letter-spacing: -0.02em;
    line-height: 1.1;
    color: var(--m3-accent-deep, #070763);
    margin: 0;
    text-wrap: balance;
  }

  .m3-other-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
  }
  .m3-other-card {
    background: #fff;
    border: 1px solid rgba(30,30,30,0.10);
    border-radius: 6px;
    padding: 14px 14px 16px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    color: var(--m3-accent-deep, #070763);
    text-decoration: none;
    transition: border-color 0.2s, transform 0.2s, box-shadow 0.2s;
  }
  .m3-other-card:hover {
    border-color: rgba(20,49,167,0.22);
    transform: translateY(-2px);
    box-shadow: 0 12px 28px -18px rgba(20,49,167,0.25);
  }
  .m3-other-chip {
    width: 26px; height: 26px;
    display: inline-flex; align-items: center; justify-content: center;
    background: rgba(20,49,167,0.10);
    border-radius: 4px;
    color: var(--m3-accent-deep, #070763);
  }
  .m3-other-chip svg { width: 15px; height: 15px; stroke-width: 1.6; }
  .m3-other-name {
    font-size: 12.5px;
    font-weight: 500;
    color: var(--m3-accent-deep, #070763);
    letter-spacing: -0.003em;
    line-height: 1.3;
    text-wrap: pretty;
  }

  @media (max-width: 1000px) {
    .m3-other-grid { grid-template-columns: repeat(3, 1fr); }
  }
  @media (max-width: 640px) {
    .m3-other-grid { grid-template-columns: repeat(2, 1fr); }
  }

  .m3-closing { position: relative; background: #070763; color: #fff; padding: 130px 0 110px; overflow: hidden; }
  .m3-cl-bg { position: absolute; inset: 0; pointer-events: none; }
  .m3-cl-glow { position: absolute; width: 1100px; height: 1100px; left: 60%; top: -200px; border-radius: 50%; background: radial-gradient(circle, rgba(20,49,167,0.55) 0%, rgba(7,7,99,0.25) 30%, transparent 70%); filter: blur(60px); animation: m3-cl-breath 9s ease-in-out infinite; }
  @keyframes m3-cl-breath { 0%, 100% { opacity: 0.7; transform: scale(1); } 50% { opacity: 1; transform: scale(1.05); } }
  .m3-cl-grid {
    position: absolute; inset: 0;
    background-image:
      linear-gradient(to right, rgba(255,255,255,0.04) 1px, transparent 1px),
      linear-gradient(to bottom, rgba(255,255,255,0.04) 1px, transparent 1px);
    background-size: 64px 64px;
    mask-image: radial-gradient(ellipse 60% 60% at 50% 30%, black 0%, transparent 80%);
    -webkit-mask-image: radial-gradient(ellipse 60% 60% at 50% 30%, black 0%, transparent 80%);
  }
  .m3-cl-inner {
    position: relative; z-index: 1;
    display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 56px;
    align-items: start;
  }
  .m3-cl-head { padding-top: 8px; }
  .m3-cl-title {
    font-size: clamp(34px, 4.4vw, 56px);
    font-weight: 500;
    line-height: 1.06;
    letter-spacing: -0.026em;
    color: #fff;
    margin: 0 0 22px;
    text-wrap: balance;
  }
  .m3-cl-accent {
    color: var(--m3-accent-bright);
    font-weight: 500;
  }
  .m3-cl-body {
    font-size: 17px; line-height: 1.55;
    color: rgba(255,255,255,0.72);
    margin: 0 0 28px;
    max-width: 480px;
    text-wrap: pretty;
  }
  .m3-cl-trust {
    list-style: none; padding: 0; margin: 0;
    display: flex; flex-direction: column; gap: 10px;
  }
  .m3-cl-trust-row {
    display: flex; align-items: flex-start; gap: 12px;
    font-size: 14px;
    line-height: 1.5;
    color: rgba(255,255,255,0.85);
  }
  .m3-cl-trust-mark {
    flex-shrink: 0;
    width: 22px; height: 22px;
    display: flex; align-items: center; justify-content: center;
    border-radius: 50%;
    background: rgba(197,214,255,0.14);
    color: var(--m3-accent-bright);
  }

  .m3-cl-form-wrap {
    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(197,214,255,0.18);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-radius: 16px;
    padding: 36px 36px 32px;
  }
  .m3-cl-form-head { margin-bottom: 24px; }
  .m3-cl-form-title {
    font-size: 19px; font-weight: 600;
    color: #fff;
    letter-spacing: -0.012em;
  }
  .m3-cl-form-hint {
    font-size: 13.5px;
    color: rgba(255,255,255,0.6);
    margin-top: 4px;
  }
  .m3-cl-form {
    display: flex; flex-direction: column; gap: 14px;
  }
  .m3-cl-form label {
    display: flex; flex-direction: column; gap: 6px;
  }
  .m3-cl-form label span {
    font-size: 10.5px; font-weight: 700;
    letter-spacing: 0.2em;
    color: rgba(197,214,255,0.65);
    text-transform: uppercase;
  }
  .m3-cl-form input, .m3-cl-form select {
    all: unset;
    display: block; width: 100%;
    padding: 12px 14px;
    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(197,214,255,0.18);
    border-radius: 8px;
    color: #fff;
    font-family: inherit; font-size: 14.5px;
    box-sizing: border-box;
    transition: border-color 0.2s, background 0.2s;
  }
  .m3-cl-form select option {
    color: var(--m3-text);
    background: var(--m3-bg-1);
  }
  .m3-cl-form input:focus, .m3-cl-form select:focus {
    border-color: var(--m3-accent-bright);
    background: rgba(255,255,255,0.06);
  }
  .m3-cl-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
  .m3-cl-submit {
    all: unset;
    cursor: pointer;
    display: inline-flex; align-items: center; gap: 10px;
    margin-top: 8px;
    padding: 14px 24px;
    background: var(--m3-accent-bright);
    color: var(--m3-accent-deep);
    font-family: inherit; font-size: 14.5px; font-weight: 600;
    letter-spacing: -0.005em;
    border-radius: 8px;
    align-self: flex-start;
    transition: background 0.2s, transform 0.15s, opacity 0.2s;
  }
  .m3-cl-submit:hover:not(:disabled) {
    background: #fff; transform: translateY(-1px);
  }
  .m3-cl-submit:disabled {
    opacity: 0.5; cursor: not-allowed;
  }
  .m3-cl-gdpr {
    font-size: 11.5px;
    color: rgba(255, 255, 255, 0.56);
    line-height: 1.5;
    margin-top: 4px;
  }

  .m3-cl-success {
    display: flex; flex-direction: column; align-items: center;
    text-align: center;
    padding: 32px 0;
    gap: 14px;
  }
  .m3-cl-success-mark { color: var(--m3-accent-bright); }
  .m3-cl-success-title { font-size: 19px; font-weight: 600; color: #fff; }
  .m3-cl-success-body { font-size: 14.5px; color: rgba(255,255,255,0.72); max-width: 380px; line-height: 1.55; }

  @media (max-width: 980px) {
    .m3-cl-inner { grid-template-columns: 1fr; gap: 40px; }
    .m3-cl-form-wrap { padding: 28px 24px; }
  }
  @media (max-width: 540px) {
    .m3-cl-row { grid-template-columns: 1fr; }
  }

.tr-off {
      background: var(--tr-bg-2);
      padding: 110px 0 120px;
      border-top: 1px solid var(--tr-line);
      border-bottom: 1px solid var(--tr-line);
      position: relative;
    }

    .tr-off-head {
      max-width: 760px;
      margin: 0 auto 56px;
      text-align: center;
    }

    .tr-off-eyebrow {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      font-size: 11px;
      letter-spacing: 0.22em;
      font-weight: 700;
      color: var(--tr-accent);
      text-transform: uppercase;
      margin-bottom: 18px;
    }

    .tr-off-eyebrow-dot {
      width: 6px;
      height: 6px;
      border-radius: 50%;
      background: var(--tr-accent);
      box-shadow: 0 0 8px rgba(20, 49, 167, 0.45);
      animation: tr-wi-pulse 1.6s ease-in-out infinite;
    }

    .tr-off-h2 {
      font-size: clamp(34px, 4vw, 50px);
      font-weight: 500;
      letter-spacing: -0.024em;
      line-height: 1.08;
      color: var(--tr-text);
      margin: 0 0 18px;
      text-wrap: balance;
    }

    .tr-off-sub {
      font-size: 16.5px;
      line-height: 1.55;
      color: var(--tr-text-dim);
      margin: 0 auto;
      max-width: 660px;
      text-wrap: pretty;
    }

    .tr-off-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 22px;
      align-items: stretch;
    }

    .tr-off-card {
      background: #ffffff;
      border: 1px solid var(--tr-line);
      border-radius: 16px;
      padding: 28px 28px 26px;
      display: flex;
      flex-direction: column;
      position: relative;
      overflow: hidden;
      transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
    }

    .tr-off-card::before {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      height: 3px;
      background: var(--tro-ink);
      opacity: 0.85;
    }

    .tr-off-card::after {

      content: "";
      position: absolute;
      top: 3px;
      left: 0;
      right: 0;
      height: 110px;
      background: linear-gradient(180deg, var(--tro-soft), transparent);
      pointer-events: none;
      z-index: 0;
    }

    .tr-off-card:hover {
      transform: translateY(-3px);
      border-color: color-mix(in oklab, var(--tro-ink) 30%, transparent);
      box-shadow: 0 28px 60px -32px color-mix(in oklab, var(--tro-deep) 50%, transparent),
        0 10px 24px -16px color-mix(in oklab, var(--tro-deep) 35%, transparent);
    }

    .tro-top {
      position: relative;
      z-index: 1;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 14px;
      margin-bottom: 18px;
      min-height: 64px;
    }

    .tro-numeral {
      font-size: 56px;
      font-weight: 600;
      line-height: 1;
      letter-spacing: -0.05em;
      color: var(--tro-ink);
      font-feature-settings: "tnum" 1, "lnum" 1;
    }

    .tro-icon {
      width: 40px;
      height: 40px;
      border-radius: 10px;
      background: var(--tro-chip);
      color: var(--tro-ink);
      display: inline-flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
    }

    .tro-icon svg {
      width: 22px;
      height: 22px;
    }

    .tro-title {
      position: relative;
      z-index: 1;
      font-size: 22px;
      font-weight: 600;
      letter-spacing: -0.018em;
      color: var(--tr-text);
      margin: 0 0 10px;
      line-height: 1.22;
      text-wrap: balance;
    }

    .tro-bestfor {
      position: relative;
      z-index: 1;
      background: var(--tro-soft);
      border: 1px solid color-mix(in oklab, var(--tro-ink) 12%, transparent);
      border-radius: 10px;
      padding: 12px 14px;
      margin-bottom: 22px;
    }

    .tro-bestfor-label {
      display: block;
      font-size: 9.5px;
      letter-spacing: 0.22em;
      font-weight: 700;
      color: var(--tro-ink);
      text-transform: uppercase;
      margin-bottom: 4px;
    }

    .tro-bestfor-text {
      margin: 0;
      font-size: 13.5px;
      line-height: 1.5;
      color: var(--tr-text);
      letter-spacing: -0.005em;
      text-wrap: pretty;
    }

    .tro-block {
      position: relative;
      z-index: 1;
      padding-top: 16px;
      border-top: 1px solid var(--tr-line);
      margin-bottom: 16px;
    }

    .tro-block:last-of-type {
      margin-bottom: 22px;
    }

    .tro-block-label {
      font-size: 9.5px;
      letter-spacing: 0.22em;
      font-weight: 700;
      color: var(--tro-ink);
      margin-bottom: 12px;
      text-transform: uppercase;
    }

    .tro-covers {
      list-style: none;
      margin: 0;
      padding: 0;
      display: flex;
      flex-direction: column;
      gap: 12px;
    }

    .tro-covers li {
      display: flex;
      gap: 10px;
      align-items: flex-start;
    }

    .tro-covers-dot {
      flex-shrink: 0;
      width: 6px;
      height: 6px;
      border-radius: 50%;
      background: var(--tro-dot);
      margin-top: 7px;
    }

    .tro-covers-body {
      font-size: 13.5px;
      line-height: 1.5;
      color: var(--tr-text-dim);
      letter-spacing: -0.005em;
      text-wrap: pretty;
    }

    .tro-covers-lead {
      font-weight: 600;
      color: var(--tr-text);
    }

    .tro-deliverables {
      list-style: none;
      margin: 0;
      padding: 0;
      display: flex;
      flex-direction: column;
      gap: 9px;
    }

    .tro-deliverables li {
      position: relative;
      padding-left: 24px;
      font-size: 13.5px;
      line-height: 1.5;
      color: var(--tr-text-dim);
      letter-spacing: -0.005em;
      text-wrap: pretty;
    }

    .tro-deliverables li .tro-check {
      position: absolute;
      left: 0;
      top: 2px;
      width: 16px;
      height: 16px;
      border-radius: 50%;
      background: var(--tro-soft);
      color: var(--tro-ink);
      display: inline-flex;
      align-items: center;
      justify-content: center;
    }

    .tro-cta {
      margin-top: auto;
      all: unset;
      cursor: pointer;
      text-decoration: none;
      display: inline-flex;
      align-items: center;
      gap: 8px;
      font-size: 14px;
      font-weight: 600;
      color: var(--tro-ink);
      letter-spacing: -0.005em;
      padding: 10px 0 0;
      transition: color 0.2s ease;
      position: relative;
      z-index: 1;
    }

    .tro-cta:hover {
      color: var(--tro-deep);
    }

    .tro-arrow {
      transition: transform 0.2s ease;
    }

    .tro-cta:hover .tro-arrow {
      transform: translateX(3px);
    }

    @media (max-width: 1080px) {
      .tr-off-grid {
        grid-template-columns: 1fr;
        gap: 18px;
      }

      .tr-off-card {
        padding: 26px 24px 24px;
      }
    }

    .m3-de {
      background: var(--m3-bg-1);
      padding: 110px 0 120px;
    }

    .m3-de-head {
      max-width: 760px;
      margin: 0 auto 64px;
      text-align: center;
    }

    .m3-de-eyebrow {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      font-size: 11px;
      letter-spacing: 0.22em;
      font-weight: 700;
      color: var(--m3-accent);
      margin-bottom: 18px;
      text-transform: uppercase;
    }

    .m3-de-eyebrow-dot {
      width: 5px;
      height: 5px;
      border-radius: 50%;
      background: var(--m3-accent);
      box-shadow: 0 0 8px var(--m3-accent);
    }

    .m3-de-title {
      font-size: clamp(34px, 4.4vw, 54px);
      font-weight: 500;
      line-height: 1.06;
      letter-spacing: -0.026em;
      color: var(--m3-accent-deep);
      margin: 0 0 22px;
      text-wrap: balance;
    }

    .m3-de-accent {
      color: var(--m3-accent);
      font-weight: 500;
    }

    .m3-de-sub {
      font-size: 17px;
      line-height: 1.6;
      color: var(--m3-text-dim);
      max-width: 720px;
      margin: 0 auto;
      text-wrap: pretty;
    }

    .m3-de-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 20px;
      max-width: 1180px;
      margin: 0 auto;
    }

    .m3-de-card {
      background: var(--m3-bg-2);
      border: 1px solid var(--m3-line);
      border-radius: 14px;
      padding: 32px 32px 30px;
      display: flex;
      flex-direction: column;
      gap: 16px;
      position: relative;
      overflow: hidden;
      transition: border-color 0.2s, transform 0.2s, box-shadow 0.2s;
    }

    .m3-de-card::before {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      width: 4px;
      height: 100%;
      background: var(--m3-accent);
      opacity: 0;
      transition: opacity 0.2s;
    }

    .m3-de-card:hover {
      border-color: var(--m3-accent);
      transform: translateY(-2px);
      box-shadow: 0 14px 34px -22px rgba(7, 7, 99, 0.30);
    }

    .m3-de-card:hover::before {
      opacity: 1;
    }

    .m3-de-card-head {
      display: flex;
      align-items: center;
      gap: 12px;
    }

    .m3-de-numeral {
      font-size: 11px;
      font-weight: 700;
      letter-spacing: 0.16em;
      color: var(--m3-accent);
      background: rgba(20, 49, 167, 0.10);
      padding: 5px 10px;
      border-radius: 4px;
    }

    .m3-de-name {
      font-size: 11px;
      font-weight: 700;
      letter-spacing: 0.22em;
      color: var(--m3-text-faint);
      text-transform: uppercase;
    }

    .m3-de-card-title {
      font-size: clamp(20px, 2.2vw, 24px);
      font-weight: 600;
      letter-spacing: -0.018em;
      line-height: 1.2;
      color: var(--m3-accent-deep);
      margin: 0 0 4px;
      text-wrap: balance;
    }

    .m3-de-rows {
      list-style: none;
      padding: 0;
      margin: 0;
      display: flex;
      flex-direction: column;
      gap: 14px;
    }

    .m3-de-rows li {
      display: flex;
      gap: 12px;
      font-size: 15px;
      line-height: 1.55;
    }

    .m3-de-check {
      flex-shrink: 0;
      width: 22px;
      height: 22px;
      margin-top: 1px;
      display: flex;
      align-items: center;
      justify-content: center;
      border-radius: 50%;
      background: rgba(20, 49, 167, 0.10);
      color: var(--m3-accent);
    }

    .m3-de-row-body {
      color: var(--m3-text-dim);
      text-wrap: pretty;
    }

    .m3-de-row-lead {
      color: var(--m3-accent-deep);
      font-weight: 600;
      letter-spacing: -0.005em;
    }

    .m3-de-cta-wrap {
      display: flex;
      justify-content: center;
      margin-top: 48px;
    }

    .m3-de-cta {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      padding: 16px 28px;
      background: var(--m3-accent-deep);
      color: #fff;
      font-size: 15px;
      font-weight: 600;
      letter-spacing: -0.005em;
      border-radius: 8px;
      text-decoration: none;
      transition: background 0.2s, transform 0.15s, box-shadow 0.2s;
      box-shadow: 0 8px 22px -10px rgba(7, 7, 99, 0.4);
    }

    .m3-de-cta:hover {
      background: var(--m3-accent);
      transform: translateY(-1px);
      box-shadow: 0 12px 30px -10px rgba(20, 49, 167, 0.5);
    }

    @media (max-width: 880px) {
      .m3-de-grid {
        grid-template-columns: 1fr;
      }
    }

    .m3-as {
      background: var(--m3-bg-2);
      padding: 110px 0 120px;
      border-top: 1px solid var(--m3-line);
      border-bottom: 1px solid var(--m3-line);
    }

    .m3-as-head {
      max-width: 800px;
      margin: 0 auto 64px;
      text-align: center;
    }

    .m3-as-eyebrow {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      font-size: 11px;
      letter-spacing: 0.22em;
      font-weight: 700;
      color: var(--m3-accent);
      margin-bottom: 18px;
      text-transform: uppercase;
    }

    .m3-as-eyebrow-dot {
      width: 5px;
      height: 5px;
      border-radius: 50%;
      background: var(--m3-accent);
      box-shadow: 0 0 8px var(--m3-accent);
    }

    .m3-as-title {
      font-size: clamp(34px, 4.4vw, 56px);
      font-weight: 500;
      line-height: 1.06;
      letter-spacing: -0.026em;
      color: var(--m3-accent-deep);
      margin: 0 0 22px;
      text-wrap: balance;
    }

    .m3-as-accent {
      position: relative;
      color: var(--m3-accent);
      font-weight: 500;
    }

    .m3-as-accent::before {
      content: "";
      position: absolute;
      inset: -10px -20px;
      background: radial-gradient(ellipse at center, rgba(20, 49, 167, 0.18) 0%, transparent 65%);
      filter: blur(28px);
      z-index: -1;
      pointer-events: none;
    }

    .m3-as-sub {
      font-size: 17px;
      line-height: 1.6;
      color: var(--m3-text-dim);
      max-width: 720px;
      margin: 0 auto;
      text-wrap: pretty;
    }

    .m3-as-row {
      display: grid;
      grid-template-columns: repeat(5, 1fr);
      gap: 18px;
    }

    .m3-as-col {
      background: #ffffff;
      border: 1px solid var(--m3-line);
      border-radius: 14px;
      padding: 22px 20px 22px;
      position: relative;
      overflow: hidden;
      transition: border-color 0.2s, transform 0.2s, box-shadow 0.2s;
    }

    .m3-as-col::before {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      height: 3px;
      background: linear-gradient(90deg, var(--m3a-ink), transparent);
      opacity: 0.7;
    }

    .m3-as-col:hover {
      border-color: var(--m3a-ink);
      transform: translateY(-2px);
      box-shadow: 0 14px 34px -22px rgba(7, 7, 99, 0.30);
    }

    .m3-as-icon {
      width: 34px;
      height: 34px;
      display: flex;
      align-items: center;
      justify-content: center;
      background: var(--m3a-soft);
      border-radius: 8px;
      color: var(--m3a-ink);
      margin-bottom: 14px;
    }

    .m3-as-icon svg {
      width: 20px;
      height: 20px;
    }

    .m3-as-area {
      font-size: 10.5px;
      font-weight: 700;
      letter-spacing: 0.18em;
      color: var(--m3a-ink);
      text-transform: uppercase;
      margin-bottom: 6px;
    }

    .m3-as-col-title {
      font-size: 16px;
      font-weight: 600;
      letter-spacing: -0.012em;
      line-height: 1.25;
      color: var(--m3a-deep);
      margin: 0 0 14px;
      padding-bottom: 14px;
      border-bottom: 1px solid var(--m3-line);
    }

    .m3-as-rows {
      list-style: none;
      padding: 0;
      margin: 0;
      display: flex;
      flex-direction: column;
      gap: 10px;
    }

    .m3-as-rows li {
      display: flex;
      gap: 10px;
      font-size: 13px;
      line-height: 1.45;
      color: var(--m3-text-dim);
    }

    .m3-as-row-dot {
      flex-shrink: 0;
      width: 5px;
      height: 5px;
      margin-top: 7px;
      border-radius: 50%;
      background: var(--m3a-ink);
      opacity: 0.7;
    }

    @media (max-width: 1100px) {
      .m3-as-row {
        grid-template-columns: repeat(3, 1fr);
      }
    }

    @media (max-width: 680px) {
      .m3-as-row {
        grid-template-columns: repeat(2, 1fr);
      }
    }

    @media (max-width: 440px) {
      .m3-as-row {
        grid-template-columns: 1fr;
      }
    }

.ah-hero {
  position: relative;
  padding-top: 96px;
  padding-bottom: 80px;
  overflow: hidden;
}
.ah-bg { position: absolute; inset: 0; pointer-events: none; }
.ah-grid {
  position: absolute; inset: 0;
  background-image: linear-gradient(rgba(197,214,255,0.045) 1px, transparent 1px),
                    linear-gradient(90deg, rgba(197,214,255,0.045) 1px, transparent 1px);
  background-size: 60px 60px;
  mask-image: radial-gradient(ellipse at 50% 35%, black 0%, transparent 75%);
  -webkit-mask-image: radial-gradient(ellipse at 50% 35%, black 0%, transparent 75%);
}
.ah-blob { position: absolute; border-radius: 50%; filter: blur(90px); }
.ah-blob-a {
  width: 520px; height: 520px;
  background: radial-gradient(circle, rgba(20,49,167,0.55), transparent 70%);
  top: -120px; right: -120px;
}
.ah-blob-b {
  width: 420px; height: 420px;
  background: radial-gradient(circle, rgba(197,214,255,0.12), transparent 70%);
  bottom: -160px; left: 10%;
}
.ah-inner {
  position: relative;
  display: grid;
  grid-template-columns: 0.95fr 1.05fr;
  gap: 48px;
  align-items: stretch;
}
.ah-left {
  min-width: 0; max-width: 580px;
  display: flex; flex-direction: column;
}
.ah-eyebrow {
  font-size: 11px; letter-spacing: 0.22em;
  font-weight: 700; color: rgba(197,214,255,0.75);
  margin-bottom: 18px;
}
.ah-title {
  font-size: clamp(40px, 4.4vw, 60px);
  font-weight: 600;
  line-height: 1.04;
  letter-spacing: -0.032em;
  margin: 0 0 20px;
  text-wrap: balance;
  color: #fff;
}
.ah-accent {
  background: linear-gradient(92deg, #fff 10%, #C5D6FF 55%, #fff 95%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  font-weight: 600;
}
.ah-sub {
  font-size: 16px; line-height: 1.55;
  color: rgba(255,255,255,0.78);
  max-width: 540px;
  margin: 0 0 16px;
  text-wrap: pretty;
}
.ah-secondary {
  align-self: flex-start;
  display: inline-flex; align-items: center; gap: 8px;
  font-size: 14px; font-weight: 600;
  color: #C5D6FF; text-decoration: none;
  padding: 6px 0;
  border-bottom: 1px solid rgba(197,214,255,0.35);
  transition: color 0.2s, border-color 0.2s, gap 0.2s;
  margin-bottom: 0;
}
.ah-secondary:hover { color: #fff; border-color: #fff; gap: 12px; }
.ah-secondary svg { transition: transform 0.2s; }
.ah-secondary:hover svg { transform: translateX(2px); }
.ah-proof-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  margin-top: auto;
  padding-top: 28px;
  border-top: 1px solid rgba(197,214,255,0.16);
}
.ah-pf-big {
  font-size: 28px; font-weight: 600; color: #fff;
  letter-spacing: -0.02em; line-height: 1;
  margin-bottom: 8px;
}
.ah-pf-label {
  font-size: 11.5px; line-height: 1.4;
  color: rgba(197,214,255,0.7);
  letter-spacing: 0.01em;
  max-width: 200px;
  text-wrap: pretty;
}
.ah-right {
  min-width: 0;
  display: flex; flex-direction: column;
  gap: 14px;
}
@media (max-width: 1100px) {
  .ah-inner { grid-template-columns: 1fr; gap: 36px; }
  .ah-left { max-width: none; }
}

.ah-mock {
  flex: 0 0 auto;
  height: 460px;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 30px 80px -20px rgba(0,0,30,0.6),
              0 0 0 1px rgba(197,214,255,0.18);
  overflow: hidden;
  display: flex; flex-direction: column;
  min-height: 0;
  position: relative;
}
.ah-chrome {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 14px;
  padding: 9px 14px;
  background: #f5f5f7;
  border-bottom: 1px solid rgba(0,0,0,0.06);
  flex: 0 0 auto;
}
.ah-chrome-dots { display: flex; gap: 6px; }
.ah-chrome-dots span { width: 10px; height: 10px; border-radius: 50%; }
.ah-chrome-dots span:nth-child(1) { background: #ff5f57; }
.ah-chrome-dots span:nth-child(2) { background: #febc2e; }
.ah-chrome-dots span:nth-child(3) { background: #28c840; }
.ah-chrome-title {
  font-size: 11px; font-weight: 600;
  color: rgba(0,0,0,0.75);
  letter-spacing: 0.01em; text-align: center;
}
.ah-chrome-env {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 3px 8px;
  background: #fff;
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 4px;
  font-size: 10px;
  color: rgba(0,0,0,0.65);
}
.ah-env-dot {
  width: 6px; height: 6px; border-radius: 50%;
  background: #16A34A;
  box-shadow: 0 0 0 3px rgba(22,163,74,0.18);
  animation: ah-env-pulse 2s ease-in-out infinite;
}
@keyframes ah-env-pulse { 0%,100% { opacity: 1; } 50% { opacity: 0.5; } }
.ah-asst {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  border-bottom: 1px solid rgba(0,0,0,0.06);
  background: #fff;
  flex: 0 0 auto;
}
.ah-asst-avatar {
  width: 32px; height: 32px; border-radius: 8px;
  background: linear-gradient(135deg, #1431A7 0%, #5e7cd9 100%);
  color: #fff;
  display: inline-flex; align-items: center; justify-content: center;
}
.ah-asst-meta { min-width: 0; }
.ah-asst-name { font-size: 13px; font-weight: 600; color: #07073e; line-height: 1.2; }
.ah-asst-role { font-size: 11px; color: rgba(0, 0, 0, 0.6); line-height: 1.3; margin-top: 1px; }
.ah-asst-pill {
  display: inline-flex; align-items: center; gap: 5px;
  padding: 3px 8px;
  background: rgba(22,163,74,0.10);
  color: #147839;
  border-radius: 4px;
  font-size: 9.5px; font-weight: 700;
  letter-spacing: 0.1em;
}
.ah-asst-pill-dot {
  width: 5px; height: 5px; border-radius: 50%;
  background: #16A34A;
  animation: ah-env-pulse 2s ease-in-out infinite;
}
.ah-trs {
  flex: 1 1 auto;
  padding: 14px 16px 8px;
  background: #fafbff;
  overflow: hidden;
  display: flex; flex-direction: column;
  gap: 12px;
  min-height: 0;
}
.ah-msg {
  display: grid;
  grid-template-columns: 28px 1fr;
  gap: 10px;
  align-items: flex-start;
  animation: ah-msg-in 0.32s cubic-bezier(.2,.8,.2,1);
}
@keyframes ah-msg-in {
  from { opacity: 0; transform: translateY(6px); }
  to   { opacity: 1; transform: translateY(0); }
}
.ah-msg-avatar {
  width: 28px; height: 28px;
  border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 11px; font-weight: 700;
  flex: 0 0 auto;
}
.ah-msg-avatar-user { background: #07073e; color: #C5D6FF; }
.ah-msg-avatar-ai { background: rgba(20,49,167,0.10); color: #1431A7; }
.ah-msg-body { min-width: 0; }
.ah-msg-meta {
  display: flex; align-items: baseline; gap: 6px;
  margin-bottom: 4px;
  font-size: 11px;
}
.ah-msg-name { font-weight: 600; color: #07073e; }
.ah-msg-role { color: rgba(0, 0, 0, 0.6); }
.ah-msg-time { margin-left: auto; font-size: 9.5px; color: rgba(0, 0, 0, 0.6); letter-spacing: 0.05em; }
.ah-msg-bubble {
  padding: 9px 12px;
  border-radius: 8px;
  font-size: 12px;
  line-height: 1.5;
  color: rgba(0,0,0,0.85);
  white-space: normal;
  word-break: break-word;
}
.ah-msg-bubble-user {
  background: #fff;
  border: 1px solid rgba(0,0,0,0.08);
}
.ah-msg-bubble-wrap { position: relative; }
.ah-problem-tag {
  margin-top: 8px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 5px 10px 5px 8px;
  background: #fff5f5;
  border: 1px solid rgba(185,28,28,0.35);
  border-radius: 6px;
  color: #b91c1c;
  font-size: 11px;
  line-height: 1.3;
  box-shadow: 0 1px 0 rgba(185,28,28,0.06);
  animation: ah-problem-in 0.6s 0.6s cubic-bezier(.2,.8,.2,1) both;
}
@keyframes ah-problem-in {
  from { opacity: 0; transform: translateY(-4px); }
  to   { opacity: 1; transform: translateY(0); }
}
.ah-problem-tag-arrow { font-size: 13px; line-height: 1; color: #b91c1c; font-weight: 700; transform: translateY(-1px); }
.ah-problem-tag-label {
  font-size: 9.5px; font-weight: 800; letter-spacing: 0.12em;
  padding: 2px 5px;
  background: #b91c1c; color: #fff; border-radius: 3px;
}
.ah-problem-tag-text { font-weight: 600; }
.ah-msg-bubble-ai {
  background: rgba(20,49,167,0.06);
  border: 1px solid rgba(20,49,167,0.12);
  color: rgba(7,7,62,0.92);
}
.ah-msg-secret {
  font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;
  font-size: 10.5px;
  background: rgba(185,28,28,0.07);
  color: #b91c1c;
  padding: 2px 6px;
  border-radius: 3px;
  margin: 2px 0;
  display: inline-block;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ah-msg-stream { white-space: pre-wrap; }
.ah-cursor {
  display: inline-block;
  width: 1px; height: 11px;
  background: #1431A7;
  margin-left: 2px;
  vertical-align: -1px;
  animation: ah-blink 1s steps(2) infinite;
}
@keyframes ah-blink { 50% { opacity: 0; } }
.ah-typing { display: inline-flex; gap: 4px; padding: 2px 0; }
.ah-typing span {
  width: 5px; height: 5px; border-radius: 50%;
  background: rgba(20,49,167,0.55);
  animation: ah-typ 1s ease-in-out infinite;
}
.ah-typing span:nth-child(2) { animation-delay: 0.15s; }
.ah-typing span:nth-child(3) { animation-delay: 0.30s; }
@keyframes ah-typ {
  0%,100% { opacity: 0.3; transform: translateY(0); }
  50%     { opacity: 1;   transform: translateY(-2px); }
}
.ah-compose {
  display: flex; align-items: center; gap: 8px;
  padding: 10px 14px;
  border-top: 1px solid rgba(0,0,0,0.06);
  background: #fff;
  flex: 0 0 auto;
}
.ah-compose-input {
  flex: 1;
  padding: 8px 10px;
  background: #f5f6fb;
  border: 1px solid rgba(0,0,0,0.06);
  border-radius: 6px;
  color: rgba(0, 0, 0, 0.6);
  font-size: 11.5px;
}
.ah-compose-send {
  width: 28px; height: 28px;
  background: #1431A7; color: #fff;
  border-radius: 6px;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 13px; font-weight: 700;
}
.ah-alert {
  position: absolute;
  left: 12px; right: 12px; bottom: 12px;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 12px;
  padding: 12px 14px;
  border-radius: 10px;
  color: #fff;
  backdrop-filter: blur(2px);
  transition: opacity 0.32s, transform 0.32s;
  z-index: 5;
}
.ah-alert.is-leak {
  background: linear-gradient(180deg, #B91C1C, #7f1313);
  box-shadow: 0 18px 40px -10px rgba(185,28,28,0.55), 0 0 0 1px rgba(255,255,255,0.08);
}
.ah-alert.is-warn {
  background: linear-gradient(180deg, #A16207, #6b4205);
  box-shadow: 0 18px 40px -10px rgba(161,98,7,0.55), 0 0 0 1px rgba(255,255,255,0.08);
}
.ah-alert.is-hidden { opacity: 0; transform: translateY(8px); pointer-events: none; }
.ah-alert.is-shown  { opacity: 1; transform: translateY(0); }
.ah-alert-icon {
  flex: 0 0 auto;
  width: 32px; height: 32px;
  border-radius: 8px;
  background: rgba(255,255,255,0.15);
  color: #fff;
  display: inline-flex; align-items: center; justify-content: center;
}
.ah-alert-body { min-width: 0; }
.ah-alert-head { display: flex; align-items: center; gap: 8px; margin-bottom: 3px; }
.ah-alert-tag {
  padding: 2px 7px;
  background: rgba(255,255,255,0.16); color: #fff;
  font-size: 9.5px; font-weight: 800; letter-spacing: 0.1em;
  border-radius: 3px;
}
.ah-alert-source { font-size: 9.5px; color: rgba(255,255,255,0.7); letter-spacing: 0.06em; }
.ah-alert-title { font-size: 13px; font-weight: 700; line-height: 1.3; margin-bottom: 2px; text-wrap: balance; }
.ah-alert-detail { font-size: 11.5px; color: rgba(255,255,255,0.82); line-height: 1.4; text-wrap: pretty; }
.ah-dots {
  position: absolute;
  top: 50px; right: 14px;
  display: flex; gap: 5px;
  z-index: 5;
}
.ah-dots-d {
  width: 5px; height: 5px;
  border-radius: 50%;
  background: rgba(20,49,167,0.20);
  transition: background 0.3s, width 0.3s;
}
.ah-dots-d.is-active { background: #1431A7; width: 14px; border-radius: 3px; }

.ah-form {
  background: rgba(7,7,99,0.55);
  backdrop-filter: blur(6px);
  border: 1px solid rgba(197,214,255,0.18);
  border-radius: 12px;
  padding: 16px 18px;
  flex: 0 0 auto;
}
.ah-form-head { display: flex; flex-direction: column; gap: 4px; margin-bottom: 12px; }
.ah-form-title { font-size: 17px; font-weight: 600; color: #fff; letter-spacing: -0.015em; line-height: 1.25; }
.ah-form-sub-inline { font-size: 12px; color: rgba(255,255,255,0.65); line-height: 1.45; }
.ah-form-fields {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr) auto;
  gap: 8px;
}
.ah-form-input {
  appearance: none;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(197,214,255,0.18);
  color: #fff; font: inherit;
  font-size: 13px; padding: 10px 12px;
  border-radius: 7px; min-width: 0;
  transition: border-color 0.2s, background 0.2s;
}
.ah-form-input::placeholder { color: rgba(255, 255, 255, 0.56); }
.ah-form-input:focus { outline: none; border-color: #C5D6FF; background: rgba(255,255,255,0.1); }
.ah-form-submit {
  display: inline-flex; align-items: center; gap: 7px; justify-content: center;
  padding: 10px 16px;
  background: #C5D6FF; color: #07073e;
  border: none; border-radius: 7px;
  font-size: 13px; font-weight: 700; cursor: pointer;
  transition: background 0.2s, transform 0.1s;
  white-space: nowrap;
  font-family: inherit;
}
.ah-form-submit:hover { background: #fff; }
.ah-form-submit:active { transform: translateY(1px); }
@media (max-width: 600px) {
  .ah-form-fields { grid-template-columns: 1fr; }
}

.wlg-section {
  padding: 56px 0 28px;
  background: #fff;
}
.wlg-label {
  font-size: 11px;
  letter-spacing: 0.18em;
  font-weight: 700;
  color: rgba(30, 30, 30, 0.68);
  text-align: center;
  margin-bottom: 28px;
  text-transform: uppercase;
}
.wlg-marquee {
  overflow: hidden;
  mask-image: linear-gradient(90deg, transparent 0%, black 8%, black 92%, transparent 100%);
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, black 8%, black 92%, transparent 100%);
}
.wlg-track {
  --marquee-gap: 56px;
  display: flex;
  gap: 56px;
  align-items: center;
  width: max-content;
  animation: wlg-scroll 50s linear infinite;
}
.wlg-logo-wrap {
  flex: 0 0 auto;
  height: 38px;
  display: flex;
  align-items: center;
  opacity: 0.65;
  transition: opacity 0.2s;
}
.wlg-logo-wrap:hover { opacity: 1; }
.wlg-logo-img {
  max-height: 38px;
  max-width: 130px;
  object-fit: contain;
  filter: grayscale(1);
}
@keyframes wlg-scroll {
  from { transform: translateX(0); }
  to   { transform: translateX(calc(-50% - var(--marquee-gap, 0px) / 2)); }
}

.pf-close-quotes-wrap { display: flex; flex-direction: column; gap: 16px; }
.pf-close-quotes-label { font-size: 10px; letter-spacing: 0.2em; font-weight: 600; color: rgba(197,214,255,0.65); margin-bottom: 6px; }
.pf-close-quotes { display: flex; flex-direction: column; gap: 16px; }
.pf-close-quote { position: relative; padding: 22px 24px 22px 34px; background: rgba(197,214,255,0.04); border: 1px solid rgba(197,214,255,0.1); border-left: 2px solid #C5D6FF; border-radius: 8px; }
.pf-close-quote-mark { position: absolute; top: 4px; left: 16px; font-size: 40px; color: rgba(197, 214, 255, 0.64); line-height: 1; font-family: Georgia, serif; }
.pf-close-quote-text { font-size: 15px; line-height: 1.5; color: rgba(255,255,255,0.9); margin-bottom: 14px; text-wrap: pretty; }
.pf-close-quote-name { font-size: 13px; font-weight: 500; color: #fff; }
.pf-close-quote-company { font-size: 10.5px; letter-spacing: 0.1em; color: rgba(197, 214, 255, 0.64); font-family: monospace; }

wi-section { padding: 110px 0 100px; background: var(--white); }
.wi-inner { display:grid; grid-template-columns:1.05fr 1fr; gap:72px; align-items:stretch; }
.wi-left,.wi-right { min-width:0; }
.wi-left { max-width:580px; display:flex; }
.wi-right { max-width:540px; }
.wi-title { font-size:clamp(34px,3.8vw,50px); font-weight:600; line-height:1.04; letter-spacing:-0.03em; color:var(--deep-carbon); margin:0 0 44px; max-width:820px; }
.wi-p { font-size:16.5px; line-height:1.6; color:rgba(30,30,30,0.75); margin:0 0 18px; }
.wi-p-lead { font-size:19px; line-height:1.45; color:var(--deep-carbon); }
.wi-strong { font-weight:700; color:var(--deep-carbon); }
.wi-cats { margin-top:40px; }
.wi-cats-head { display:flex; align-items:center; gap:14px; margin-bottom:18px; }
.wi-cats-kicker { font-size:11px; letter-spacing:0.22em; font-weight:700; color:var(--deep-carbon); }
.wi-cats-rule { flex:1; height:1px; background:rgba(30,30,30,0.12); }
.wi-cats-grid { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.wi-cat-card { display:flex; align-items:center; gap:12px; padding:14px; border:1px solid rgba(30,30,30,0.1); border-radius:8px; background:#fff; transition:border-color .18s, box-shadow .18s, transform .18s, background .18s; }
.wi-cat-card:hover { border-color:var(--cyber-blue); box-shadow:0 4px 18px -8px rgba(20,49,167,0.25); transform:translateY(-1px); }
.wi-cat-icon { flex:0 0 auto; width:36px; height:36px; border-radius:7px; display:inline-flex; align-items:center; justify-content:center; background:rgba(20,49,167,0.07); color:var(--cyber-blue); }
.wi-cat-card:hover .wi-cat-icon { background:var(--cyber-blue); color:#fff; }
.wi-cat-label { font-size:14.5px; font-weight:600; color:var(--deep-carbon); line-height:1.3; letter-spacing:-0.005em; }
.wi-anim { flex:1; display:flex; flex-direction:column; border-radius:12px; box-shadow:0 24px 60px -24px rgba(11,18,48,0.22),0 0 0 1px rgba(11,18,48,0.1); overflow:hidden; background:#fff; }
.wi-wb-chrome { display:grid; grid-template-columns:auto 1fr auto; gap:14px; align-items:center; padding:9px 14px; background:#f4f5f9; border-bottom:1px solid rgba(11,18,48,0.08); }
.wi-wb-dots { display:flex; gap:6px; }
.wi-wb-dots span { width:10px; height:10px; border-radius:50%; }
.wi-wb-dots span:nth-child(1){background:#ff5f57;} .wi-wb-dots span:nth-child(2){background:#febc2e;} .wi-wb-dots span:nth-child(3){background:#28c840;}
.wi-wb-title { justify-self:center; display:inline-flex; align-items:center; gap:7px; font-size:11px; font-weight:600; color:rgba(11,18,48,0.7); }
.wi-wb-title-dot { width:7px; height:7px; border-radius:50%; background:#4ade80; box-shadow:0 0 6px rgba(74,222,128,0.7); }
.wi-wb-target { font-size:9.5px; letter-spacing:0.14em; font-weight:700; color:rgba(185,28,28,0.85); }
.wi-wb-tabs { display:grid; grid-template-columns:repeat(5,1fr); background:#fafbfd; border-bottom:1px solid rgba(11,18,48,0.08); }
.wi-wb-tab { display:flex; align-items:center; gap:7px; padding:11px 10px; border:none; border-bottom:2px solid transparent; background:transparent; cursor:pointer; color:rgba(11, 18, 48, 0.66); }
.wi-wb-tab.is-reached { color:rgba(11,18,48,0.78); }
.wi-wb-tab.is-active { color:#14318f; border-bottom-color:#14318f; background:#fff; }
.wi-wb-tab:nth-child(5).is-active { color:#b91c1c; border-bottom-color:#b91c1c; }
.wi-wb-tab-num { font-size:9px; font-weight:800; padding:2px 5px; border-radius:3px; background:rgba(11,18,48,0.06); }
.wi-wb-tab-label { font-size:9.5px; font-weight:700; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.wi-wb-body { display:grid; grid-template-columns:1fr 200px; gap:14px; padding:14px; min-height:360px; }
.wi-wb-tool-wrap { min-width:0; animation:wi-tool-in .35s cubic-bezier(.2,.8,.2,1); }
@keyframes wi-tool-in { from { opacity:0; transform:translateY(4px);} to { opacity:1; transform:none; } }
.wi-tool { height:100%; display:flex; flex-direction:column; background:#fafbfd; border:1px solid rgba(11,18,48,0.08); border-radius:8px; overflow:hidden; }
.wi-tool-head { display:flex; align-items:center; gap:10px; padding:7px 10px; background:#f4f5f9; border-bottom:1px solid rgba(11,18,48,0.06); }
.wi-tool-tool { font-size:10px; font-weight:700; color:#0b1230; }
.wi-tool-sub { font-size:9.5px; color:rgba(11, 18, 48, 0.66); }
.wi-tool-body { flex:1; padding:10px 12px; font-size:11px; color:#0b1230; }
.wi-aichat { display:flex; flex-direction:column; gap:8px; padding:4px 0; }
.wi-aichat-tight { gap:4px; padding:0; }
.wi-aichat-row { display:flex; }
.wi-aichat-row-u { justify-content:flex-end; }
.wi-aichat-row-ai { justify-content:flex-start; }
.wi-aichat-bubble { max-width:92%; padding:8px 11px; border-radius:9px; font-size:11.5px; line-height:1.45; }
.wi-aichat-bubble-u { background:#14318F; color:#fff; }
.wi-aichat-bubble-ai { background:#f5f6fb; color:#0B1230; border:1px solid rgba(11,18,48,0.08); }
.wi-aichat-pre { display:block; font-size:10.5px; line-height:1.55; white-space:pre-wrap; color:#B91C1C; }
.wi-pdf { flex:1; background:#fff; border:1px solid rgba(11,18,48,0.10); border-radius:6px; overflow:hidden; display:flex; flex-direction:column; }
.wi-pdf-bar { display:flex; align-items:center; gap:7px; padding:6px 9px; background:#f5f6fb; border-bottom:1px solid rgba(11,18,48,0.08); font-size:10px; color:rgba(11, 18, 48, 0.66); }
.wi-pdf-icon { color:#B91C1C; font-size:11px; }
.wi-pdf-page { flex:1; padding:10px 12px 12px; display:flex; flex-direction:column; gap:4px; background:linear-gradient(#fff,#fff),repeating-linear-gradient(135deg, rgba(11,18,48,0.02) 0 6px, transparent 6px 12px); }
.wi-pdf-h { font-size:11.5px; font-weight:700; color:#0B1230; margin-bottom:5px; }
.wi-pdf-l { height:5px; background:rgba(11,18,48,0.12); border-radius:2px; }
.wi-pdf-l.short { width:60%; }
.wi-pdf-hidden { margin:6px 0; padding:7px 9px; background:rgba(239,68,68,0.07); border:1px dashed rgba(239,68,68,0.45); border-radius:4px; font-size:9.5px; color:#B91C1C; line-height:1.4; }
.wi-pdf-hidden-tag { display:inline-block; margin-bottom:3px; padding:1px 5px; background:#B91C1C; color:#fff; font-size:8.5px; font-weight:800; letter-spacing:0.08em; border-radius:2px; }
.wi-rag-q { display:flex; align-items:center; gap:8px; padding:7px 10px; background:rgba(11,18,48,0.04); border:1px solid rgba(11,18,48,0.08); border-radius:5px; font-size:11px; }
.wi-rag-q-method { padding:2px 6px; background:#14318F; color:#fff; border-radius:3px; font-size:9.5px; font-weight:800; letter-spacing:0.04em; }
.wi-rag-q-path { color:#0B1230; font-weight:600; }
.wi-rag-q-headers { display:grid; grid-template-columns:auto 1fr; gap:8px; padding:5px 10px 7px; font-size:10px; color:rgba(11, 18, 48, 0.66); }
.wi-rag-table, .wi-tenant-table { flex:1; background:#fff; border:1px solid rgba(11,18,48,0.10); border-radius:5px; overflow:hidden; }
.wi-rag-tr, .wi-tenant-tr { display:grid; grid-template-columns:1fr 0.9fr 1.4fr 0.5fr; align-items:center; gap:6px; padding:6px 10px; font-size:10px; border-bottom:1px solid rgba(11,18,48,0.05); color:#0B1230; }
.wi-rag-tr-h, .wi-tenant-tr-h { background:#f5f6fb; color:rgba(11, 18, 48, 0.66); font-weight:700; letter-spacing:0.05em; font-size:9px; text-transform:uppercase; }
.wi-rag-tr.is-cross, .wi-tenant-tr.is-cross { background:rgba(239,68,68,0.05); }
.wi-rag-tn-ok { color:#147839; font-weight:700; }
.wi-rag-tn-bad { color:#B91C1C; font-weight:800; }
.wi-trace { flex:1; background:#0B1230; color:#C5D6FF; border-radius:6px; padding:8px; display:flex; flex-direction:column; gap:6px; }
.wi-trace-row { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:10px; padding:7px 10px; background:rgba(255,255,255,0.04); border-radius:4px; font-size:10.5px; line-height:1.4; }
.wi-trace-row.is-bad { background:rgba(239,68,68,0.18); border:1px solid rgba(239,68,68,0.4); }
.wi-trace-step { width:18px; height:18px; border-radius:50%; background:rgba(255,255,255,0.1); color:#fff; font-weight:800; font-size:9.5px; display:inline-flex; align-items:center; justify-content:center; }
.wi-trace-call b { color:#fff; font-weight:700; }
.wi-trace-ok { color:#4ADE80; font-weight:800; font-size:9.5px; letter-spacing:0.06em; }
.wi-trace-warn { color:#FCD34D; font-weight:800; font-size:9.5px; letter-spacing:0.06em; }
.wi-tenant-tr, .wi-tenant-tr-h { grid-template-columns:0.5fr 1.4fr 0.9fr 0.7fr; }
.wi-tenant-tr-more { padding:6px 10px; font-size:9.5px; color:rgba(11, 18, 48, 0.66); background:#f5f6fb; letter-spacing:0.04em; }
.wi-codepanel { background:#fff; border:1px solid rgba(11,18,48,0.1); border-radius:6px; padding:10px; line-height:1.5; white-space:pre-wrap; }
.wi-leak { color:#b91c1c; background:rgba(239,68,68,0.1); padding:0 3px; border-radius:2px; font-weight:700; }
.wi-find { margin-top:8px; display:inline-flex; align-items:center; gap:8px; padding:6px 9px; border-radius:5px; font-size:10.5px; font-weight:600; background:rgba(239,68,68,0.1); border:1px solid rgba(239,68,68,0.35); color:#b91c1c; }
.wi-find-tag { background:#b91c1c; color:#fff; border-radius:3px; font-size:9px; letter-spacing:0.12em; padding:2px 6px; }

.wi-vc { display:flex; flex-direction:column; width:200px; justify-content:flex-start; }
.wi-vc-frame { flex:0 0 auto; border:1px solid rgba(11,18,48,0.1); border-radius:10px; overflow:hidden; background:#fff; display:flex; flex-direction:column; }
.wi-vc-bar { padding:6px 9px; background:#f5f6fb; border-bottom:1px solid rgba(11,18,48,0.07); font-size:8.5px; font-weight:700; color:rgba(11, 18, 48, 0.66); }
.wi-vc-stream { flex:1; padding:9px; font-size:10px; line-height:1.4; background:#fbfcff; }
.wi-vc-banner { padding:6px 9px; font-size:9px; font-weight:700; color:#fff; }
.wi-vc-banner.info { background:#0b1230; } .wi-vc-banner.warn { background:#a16207; } .wi-vc-banner.bad { background:#b91c1c; }
.wi-vc-cap { font-size:8.5px; font-weight:700; color:rgba(11, 18, 48, 0.66); text-align:center; margin-top:6px; letter-spacing:.08em; }
.wi-wb-loot { padding:11px 14px 13px; background:#fafbfd; border-top:1px solid rgba(11,18,48,0.06); }
.wi-wb-loot-head { display:flex; align-items:center; gap:8px; padding-bottom:8px; margin-bottom:6px; border-bottom:1px solid rgba(11,18,48,0.06); }
.wi-wb-loot-dot { width:6px; height:6px; border-radius:50%; background:#b91c1c; }
.wi-wb-loot-title { font-size:9.5px; font-weight:800; letter-spacing:0.16em; color:#b91c1c; }
.wi-wb-loot-hops { margin-left:auto; font-size:9px; font-weight:700; letter-spacing:.1em; padding:2px 6px; border-radius:3px; background:rgba(185,28,28,0.08); color:#b91c1c; }
.wi-wb-loot-rows { display:grid; grid-template-columns:1fr 1fr; gap:3px 16px; }
.wi-wb-loot-row { display:grid; grid-template-columns:auto 110px 1fr; gap:7px; font-size:10.5px; color:rgba(11, 18, 48, 0.66); }
.wi-wb-loot-row.is-lit { color:rgba(11,18,48,0.85); }
.wi-wb-loot-row.is-lit .wi-wb-loot-k { color:#b91c1c; }
@media (max-width:1000px){ .wi-inner{grid-template-columns:1fr; gap:48px;} .wi-left,.wi-right{max-width:none;} .wi-cats-grid{grid-template-columns:1fr;} }
@media (max-width:760px){ .wi-wb-body{grid-template-columns:1fr;} .wi-vc{width:100%;} .wi-wb-loot-rows{grid-template-columns:1fr;} .wi-wb-tabs{grid-template-columns:repeat(5,auto); overflow:auto;} .wi-wb-tab-label{display:none;} }
.wpcf7 p{
    margin:0;
}

.wpcf7 br{
    display:none;
}

.ww-section { background:#fff; padding:110px 0 120px; position:relative; overflow:hidden; }
    .ww-section::before { content:""; position:absolute; inset:0; background-image:linear-gradient(to right, rgba(20,49,167,.04) 1px, transparent 1px),linear-gradient(to bottom, rgba(20,49,167,.04) 1px, transparent 1px); background-size:64px 64px; mask-image:radial-gradient(ellipse 70% 60% at 50% 35%, #000 30%, transparent 80%); pointer-events:none; }
    .ww-section .container { max-width: 1440px; margin: 0 auto; padding: 0 20px; }
    .ww-head { display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:end; max-width:1160px; margin:0 auto 48px; }
    .ww-title { font-size:clamp(32px,3.8vw,50px); font-weight:600; letter-spacing:-.02em; line-height:1.05; color:var(--deep-navy); margin: 0; }
    .ww-sub { font-size:16.5px; line-height:1.55; color:rgba(30, 30, 30, 0.68); max-width:440px; margin: 0 0 0 auto; }
    .ww-hint-row { max-width:1160px; margin:0 auto 24px; display:flex; justify-content:flex-end; }
    .ww-hint { font-size:10.5px; letter-spacing:.18em; text-transform:uppercase; color:rgba(30, 30, 30, 0.68); font-family: monospace; }
    .ww-rails { position:relative; margin:0 auto; padding:8px 0; max-width:1440px; }
    .ww-rail-fade { position:absolute; top:0; bottom:0; width:120px; z-index:2; pointer-events:none; }
    .ww-rail-fade-l { left:0; background:linear-gradient(90deg, #fff 30%, transparent 100%); }
    .ww-rail-fade-r { right:0; background:linear-gradient(270deg, #fff 30%, transparent 100%); }
    .ww-marquee { overflow:hidden; padding:8px 0; mask-image:linear-gradient(90deg, transparent 0, #000 8%, #000 92%, transparent 100%); }
    .ww-track { display:flex; gap:12px; width:max-content; }
    .ww-track-r { animation-duration:198s; animation-direction:reverse; }
    @keyframes ww-scroll { from { transform:translateX(0);} to { transform:translateX(calc(-50% - var(--marquee-gap, 0px) / 2));} }

    .ww-chip { appearance:none; background:#fff; border:1px solid rgba(30,30,30,.08); border-radius:14px; padding:0 18px 0 0; font:inherit; font-size:14.5px; font-weight:500; color:var(--deep-carbon); cursor:pointer; display:inline-flex; align-items:stretch; white-space:nowrap; flex:0 0 auto; height:56px; overflow:hidden; transition:.22s; }
    .ww-chip:hover { transform:translateY(-2px); }
    .ww-chip.is-active { box-shadow:0 0 0 1px var(--fam-dot), 0 14px 30px -14px var(--fam-dot); border-color:var(--fam-dot); color:var(--fam-dot); }
    .ww-chip-icon { width:56px; height:56px; display:flex; align-items:center; justify-content:center; background:var(--fam-tint); color:var(--fam-dot); font-size:11px; font-weight:700; letter-spacing:.1em; }
    .ww-chip-perf { width:1px; background-image:linear-gradient(to bottom, rgba(30,30,30,0.18) 0, rgba(30,30,30,0.18) 3px, transparent 3px, transparent 6px); background-size:1px 6px; background-repeat:repeat-y; margin:8px 0; flex:0 0 auto; }
    .ww-chip-label { line-height:1.2; padding:0 14px; align-self:center; letter-spacing:-.005em; }
    .ww-chip-arrow { width:0; align-self:center; display:inline-flex; align-items:center; justify-content:center; color:var(--fam-dot); opacity:0; transform:translateX(-6px); transition:width .25s, opacity .22s, transform .22s; overflow:hidden; }
    .ww-chip:hover .ww-chip-arrow, .ww-chip.is-active .ww-chip-arrow { width:18px; opacity:1; transform:translateX(0); }

    .ww-detail { display: none; max-width:1160px; margin:36px auto 0; padding:8px 8px 8px 32px; position:relative; }
    .ww-detail.is-active { display: block; animation:ww-detail-in .45s cubic-bezier(.2,.8,.2,1); }
    @keyframes ww-detail-in { from { opacity:0; transform:translateY(8px);} to { opacity:1; transform:none;} }

    .ww-detail-rail { position:absolute; top:4px; bottom:4px; left:0; width:3px; background:linear-gradient(180deg,var(--fam-dot),transparent); border-radius:2px; }
    .ww-detail-grid { display:grid; grid-template-columns:220px 1fr 320px; gap:36px; align-items:start; }
    .ww-detail-meta { display:flex; flex-direction:column; gap:14px; align-items:flex-start; }
    .ww-detail-glyph { position:relative; width:84px; height:84px; border-radius:18px; display:inline-flex; align-items:center; justify-content:center; color:var(--fam-dot); margin-bottom:4px; isolation:isolate; }
    .ww-detail-glyph-bg { position:absolute; inset:0; border-radius:18px; background:radial-gradient(circle at 30% 20%, rgba(255,255,255,0.85), transparent 60%), var(--fam-tint-strong); z-index:-1; }
    .ww-detail-glyph-bg::after { content:''; position:absolute; inset:0; border-radius:18px; border:1px solid color-mix(in srgb, var(--fam-dot) 25%, transparent); }
    .ww-detail-glyph-icon svg { width:38px !important; height:38px !important; stroke-width:1.5; }
    .ww-detail-fam { display:inline-flex; align-items:center; gap:8px; font-size:11px; letter-spacing:.22em; text-transform:uppercase; font-weight:700; color:var(--fam-dot); padding:6px 12px; background:var(--fam-tint); border-radius:999px; font-family: monospace; }
    .ww-detail-fam-dot { width:7px; height:7px; border-radius:50%; background:var(--fam-dot); }
    .ww-detail-trigger { font-size:11px; letter-spacing:0.05em; color:rgba(30, 30, 30, 0.68); line-height:1.5; padding-left:4px; font-family: monospace; }
    .ww-detail-title { font-size:clamp(22px,2.2vw,28px); font-weight:600; color:var(--deep-navy); margin: 0 0 12px 0; line-height:1.15; }
    .ww-detail-text { font-size:15.5px; line-height:1.65; color:rgba(30,30,30,.75); margin: 0; }
    .ww-detail-points { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:10px; }
    .ww-detail-point { display:flex; align-items:flex-start; gap:10px; font-size:14px; line-height:1.5; color:var(--deep-carbon); }
    .ww-detail-check { flex:0 0 auto; width:22px; height:22px; border-radius:50%; background:var(--fam-tint); color:var(--fam-dot); display:inline-flex; align-items:center; justify-content:center; margin-top:1px; }

    @media (max-width:1000px){ .ww-head{grid-template-columns:1fr; gap:20px;} .ww-sub{margin-left:0; max-width:none;} .ww-detail-grid{grid-template-columns:1fr; gap:24px;} .ww-detail{padding:8px 4px 8px 22px;} }

.ah-form-fields_2 p{
    margin:0;
}

.ah-form-fields br{
    display:none;
}

.ah-form-fields_2 .wpcf7-form-control-wrap{
    display:block;
    width:100%;
}

.ah-form-fields_2 p{
    display:grid;
        grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr) auto;
    gap:8px;
    margin:0;
}

.ah-form-fields_2 br{
    display:none;
}

.wmc-section { background:var(--white,#fff); padding:38px 0 58px; }
.wmc-card { position:relative; background:#f5f1ea; border:1px solid rgba(30,30,30,.07); border-radius:12px; padding:32px 40px; display:grid; grid-template-columns:1fr auto; align-items:center; gap:32px; max-width:1160px; margin:0 auto; overflow:hidden; }
.wmc-mark { position:absolute; top:50%; left:0; transform:translate(-30%,-50%); width:240px; height:240px; fill:rgba(20,49,167,.05); pointer-events:none; z-index:0; }
.wmc-title { position:relative; z-index:1; font-size:clamp(20px,2vw,26px); font-weight:600; line-height:1.2; letter-spacing:-.018em; color:var(--deep-navy,var(--deep-carbon)); margin:0; }
.wmc-action { position:relative; z-index:1; display:flex; flex-direction:column; align-items:flex-end; gap:8px; }
.wmc-cta { all:unset; cursor:pointer; display:inline-flex; align-items:center; gap:10px; padding:12px 22px; background:var(--deep-navy); color:#fff; font-size:14.5px; font-weight:600; border-radius:8px; box-shadow:0 6px 16px -8px rgba(7,7,99,.4); }
.wmc-cta:hover { background:var(--cyber-blue); transform:translateY(-1px); }
.wmc-hint { font-size:12.5px; color:rgba(30, 30, 30, 0.68); }
@media (max-width:700px){ .wmc-card{grid-template-columns:1fr; gap:18px; padding:26px 24px;} .wmc-action{align-items:flex-start;} }

.wd-section {
      background:#fff;
      padding:120px 0;
      position:relative;
      overflow:hidden;
    }
    .wd-inner { position:relative; max-width:1160px; }
    .wd-head { max-width:720px; margin-bottom:64px; }
    .wd-title {
      font-size:clamp(32px, 3.6vw, 46px);
      font-weight:600;
      letter-spacing:-0.02em;
      line-height:1.05;
      color:var(--deep-navy);
      margin:0 0 18px;
      text-wrap:balance;
    }
    .wd-lead {
      font-size:16.5px;
      line-height:1.55;
      color:rgba(30, 30, 30, 0.68);
      margin:0;
      max-width:620px;
      text-wrap:pretty;
    }
    .wd-row {
      display:grid;
      grid-template-columns:repeat(4, 1fr);
      gap:48px;
    }
    .wd-cell { display:flex; flex-direction:column; }
    .wd-cell-icon {
      color:var(--deep-navy);
      width:40px;
      height:40px;
      margin-bottom:22px;
    }
    .wd-cell-icon svg { width:100%; height:100%; display:block; }
    .wd-cell-name {
      font-size:18px;
      font-weight:600;
      color:var(--deep-navy);
      letter-spacing:-0.015em;
      line-height:1.25;
      margin:0 0 10px;
    }
    .wd-cell-body {
      font-size:14.5px;
      line-height:1.6;
      color:rgba(30, 30, 30, 0.68);
      margin:0;
      text-wrap:pretty;
    }
    @media (max-width:980px) {
      .wd-row { grid-template-columns:repeat(2, 1fr); gap:40px 32px; }
    }
    @media (max-width:560px) {
      .wd-section { padding:90px 0; }
      .wd-head { margin-bottom:44px; }
      .wd-row { grid-template-columns:1fr; gap:32px; }
    }

    .wpv-section {
      background:#fff;
      padding:80px 0 90px;
      position:relative;
      overflow:hidden;
    }
    .wpv-inner { position:relative; max-width:1160px; }
    .wpv-cols {
      display:grid;
      grid-template-columns:minmax(0, 5fr) minmax(0, 7fr);
      gap:64px;
      align-items:center;
    }
    .wpv-left {
      display:flex;
      flex-direction:column;
      gap:24px;
    }
    .wpv-title {
      font-size:clamp(26px, 2.6vw, 34px);
      font-weight:600;
      letter-spacing:-0.02em;
      line-height:1.15;
      color:var(--deep-navy);
      margin:0;
      text-wrap:balance;
      max-width:480px;
    }
    .wpv-cta-row { display:flex; }
    .wpv-reviews {
      margin-top:8px;
      padding-top:24px;
      border-top:1px solid rgba(30,30,30,0.08);
      display:flex;
      flex-direction:column;
      gap:18px;
    }
    .wpv-stage {
      position:relative;
      min-height:130px;
    }
    .wpv-review {
      position:absolute;
      inset:0;
      opacity:0;
      transform:translateY(6px);
      transition:opacity 0.45s ease, transform 0.45s ease;
      pointer-events:none;
      display:flex;
      flex-direction:column;
      gap:16px;
    }
    .wpv-review.is-on {
      opacity:1;
      transform:translateY(0);
      pointer-events:auto;
    }
    .wpv-quote {
      font-size:15.5px;
      line-height:1.55;
      color:rgba(30,30,30,0.72);
      font-weight:400;
      margin:0;
      text-wrap:pretty;
      max-width:52ch;
    }
    .wpv-meta {
      display:flex;
      align-items:center;
      gap:14px;
    }

    .wpv-logo {
      height:20px;
      filter:grayscale(1) contrast(1.05);
      opacity:0.75;
    }
    .wpv-meta-text {
      display:inline-flex;
      align-items:center;
      gap:8px;
      font-size:12.5px;
      color:rgba(30, 30, 30, 0.68);
    }
    .wpv-author-name { color:var(--deep-navy); font-weight:600; }
    .wpv-meta-sep { color:rgba(30, 30, 30, 0.68); }
    .wpv-dots { display:flex; align-items:center; gap:8px; }
    .wpv-dot {
      width:6px;
      height:6px;
      border:0;
      padding:0;
      background:rgba(30,30,30,0.18);
      border-radius:50%;
      cursor:pointer;
      transition:width 0.25s, background 0.25s;
    }
    .wpv-dot.is-on {
      width:20px;
      border-radius:3px;
      background:var(--cyber-blue);
    }

    .wpv-right { display:flex; flex-direction:column; gap:18px; }
    .wpv-caption {
      margin:0;
      font-size:14.5px;
      line-height:1.55;
      color:rgba(30,30,30,0.72);
      max-width:56ch;
    }
    .wpv-tour-row { display:flex; }
    .wpv-video {
      position:relative;

      flex:0 0 auto;
      width:100%;
      aspect-ratio:16 / 9;
      background:linear-gradient(135deg, #0F1A3A 0%, #1A2A5C 50%, #0F1A3A 100%);
      border-radius:8px;
      overflow:hidden;
      color:#fff;
      isolation:isolate;
      box-shadow:0 24px 50px -28px rgba(15, 26, 58, 0.45), 0 1px 0 rgba(255,255,255,0.06) inset;
    }
    .wpv-video::before {
      content:"";
      position:absolute;
      inset:0;
      background-image:linear-gradient(to right, rgba(255,255,255,0.04) 1px, transparent 1px),linear-gradient(to bottom, rgba(255,255,255,0.04) 1px, transparent 1px);
      background-size:32px 32px;
      mask-image:radial-gradient(ellipse 70% 60% at 50% 50%, #000 30%, transparent 80%);
      -webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 50%, #000 30%, transparent 80%);
      pointer-events:none;
    }
    .wpv-video::after {
      content:"";
      position:absolute;
      left:50%;
      top:50%;
      transform:translate(-50%, -50%);
      width:200px;
      height:200px;
      background:radial-gradient(circle, rgba(111,168,255,0.18) 0%, transparent 70%);
      pointer-events:none;
    }
    .wpv-video-top {
      position:absolute;
      top:14px;
      left:16px;
      right:16px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      z-index:2;
    }
    .wpv-video-label {
      font-size:10px;
      letter-spacing:0.22em;
      font-weight:700;

      color:rgba(255,255,255,0.92);
      text-shadow:0 1px 3px rgba(7,7,10,0.65);
    }
    .wpv-video-dur {
      font-size:10.5px;
      letter-spacing:0.12em;
      color:rgba(255,255,255,0.7);
      background:rgba(255,255,255,0.08);
      padding:3px 7px;
      border-radius:3px;
      border:1px solid rgba(255,255,255,0.12);
    }
    .wpv-play {
      position:absolute;
      left:50%;
      top:50%;
      transform:translate(-50%, -50%);
      background:transparent;
      border:0;
      padding:0;
      color:#fff;
      cursor:pointer;
      z-index:3;
      transition:transform 0.2s;
    }
    .wpv-play svg { display:block; }
    .wpv-play:hover { transform:translate(-50%, -50%) scale(1.06); }
    .wpv-scrub {
      position:absolute;
      left:18px;
      right:18px;
      bottom:16px;
      z-index:2;
      height:3px;
      background:rgba(255,255,255,0.14);
      border-radius:2px;
    }
    .wpv-scrub-fill {
      position:absolute;
      left:0;
      top:0;
      bottom:0;
      width:26%;
      background:var(--cyber-blue);
      border-radius:2px;
    }
    .wpv-scrub-knob {
      position:absolute;
      left:26%;
      top:50%;
      width:9px;
      height:9px;
      margin-left:-4.5px;
      margin-top:-4.5px;
      border-radius:50%;
      background:#fff;
      box-shadow:0 0 0 3px rgba(20,49,167,0.4);
    }
    .wpv-watermark {
      position:absolute;
      bottom:28px;
      right:16px;
      font-size:9px;
      letter-spacing:0.28em;
      color:rgba(255,255,255,0.16);
      z-index:1;
    }
    @media (max-width:980px) {
      .wpv-cols { grid-template-columns:1fr; gap:40px; }
      .wpv-stage { min-height:110px; }
    }
    @media (max-width:560px) {
      .wpv-section { padding:64px 0 72px; }
      .wpv-quote { font-size:14.5px; }
      .wpv-meta { flex-wrap:wrap; gap:10px; }
    }

    .wbcl-section { background:var(--deep-navy); color:#fff; padding:var(--section-pad,120px) 0; position:relative; overflow:hidden; }
    .wbcl-section::before { content:''; position:absolute; top:-200px; right:-150px; width:600px; height:600px; border-radius:50%; background:radial-gradient(circle, rgba(20,49,167,0.6), transparent 70%); filter:blur(80px); pointer-events:none; }
    .wbcl-head { max-width:820px; margin:0 auto 64px; text-align:center; position:relative; }
    .wbcl-title { font-size:clamp(36px, 4.6vw, 64px); font-weight:400; letter-spacing:-0.025em; line-height:1.04; margin:20px 0 24px; text-wrap:balance; }
    .wbcl-accent { background:linear-gradient(92deg, #C5D6FF 10%, #fff 55%, #C5D6FF 95%); -webkit-background-clip:text; background-clip:text; color:transparent; }
    .wbcl-body { font-size:17px; line-height:1.55; color:rgba(255,255,255,0.78); max-width:680px; margin:0 auto; text-wrap:pretty; }
    .wbcl-grid { position:relative; display:grid; grid-template-columns:1fr 1fr; gap:40px; max-width:1200px; margin:0 auto; }
    .wbcl-form-wrap { background:#fff; color:var(--deep-carbon); border:1px solid rgba(197,214,255,0.35); border-radius:14px; padding:40px 36px; box-shadow:0 40px 80px -30px rgba(0,0,0,0.5), 0 0 0 1px rgba(197,214,255,0.08); }
    .wbcl-form-title { font-size:24px; font-weight:600; letter-spacing:-0.018em; margin-bottom:6px; color:var(--deep-carbon); }
    .wbcl-form-hint { font-size:13px; color:rgba(30, 30, 30, 0.68); margin-bottom:26px; line-height:1.5; }
    .wbcl-form { display:flex; flex-direction:column; gap:16px; }
    .wbcl-form label { display:flex; flex-direction:column; gap:6px; }
    .wbcl-form label span { font-size:10px; letter-spacing:0.14em; font-weight:700; color:rgba(30, 30, 30, 0.68); text-transform:uppercase; }
    .wbcl-form input, .wbcl-form select { font-family:inherit; font-size:15px; letter-spacing:-0.005em; padding:12px 14px; background:#fafafa; color:var(--deep-carbon); border:1px solid rgba(30,30,30,0.12); border-radius:7px; outline:none; transition:border-color 0.2s, background 0.2s, box-shadow 0.2s; }
    .wbcl-form input:focus, .wbcl-form select:focus { border-color:var(--cyber-blue); background:#fff; box-shadow:0 0 0 3px rgba(20,49,167,0.1); }
    .wbcl-form-row { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
    .wbcl-submit { margin-top:12px; display:inline-flex; align-items:center; justify-content:center; gap:10px; font-family:inherit; font-size:15px; font-weight:600; padding:15px 20px; background:var(--cyber-blue); color:#fff; border:none; border-radius:7px; cursor:pointer; letter-spacing:-0.005em; transition:background 0.2s, transform 0.2s, box-shadow 0.2s; box-shadow:0 8px 24px -8px rgba(20,49,167,0.5); }
    .wbcl-submit:hover { background:var(--deep-navy); transform:translateY(-1px); box-shadow:0 12px 28px -8px rgba(20,49,167,0.6); }
    .wbcl-success { display:flex; flex-direction:column; align-items:center; text-align:center; padding:40px 20px; gap:18px; color:var(--deep-carbon); }
    .wbcl-success-check { color:#16a34a; }
    .wbcl-success-text { font-size:16px; color:var(--deep-carbon); max-width:320px; text-wrap:pretty; line-height:1.5; }
    .wbcl-quotes-wrap { display:flex; flex-direction:column; gap:16px; }
    .wbcl-quotes-label { font-size:10px; letter-spacing:0.2em; font-weight:600; color:rgba(197,214,255,0.65); margin-bottom:6px; }
    .wbcl-deliverables { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:14px 24px; }
    .wbcl-deliverable { display:flex; align-items:flex-start; gap:12px; padding:14px 16px 14px 14px; background:rgba(197,214,255,0.04); border:1px solid rgba(197,214,255,0.10); border-radius:6px; transition:background 0.2s, border-color 0.2s; }
    .wbcl-deliverable:hover { background:rgba(197,214,255,0.07); border-color:rgba(197,214,255,0.18); }
    .wbcl-deliverable-check { flex-shrink:0; width:22px; height:22px; display:inline-flex; align-items:center; justify-content:center; background:rgba(197,214,255,0.16); color:#C5D6FF; border-radius:50%; margin-top:1px; }
    .wbcl-deliverable-text { font-size:14px; line-height:1.4; color:rgba(255,255,255,0.92); letter-spacing:-0.005em; text-wrap:pretty; }
    @media (max-width:900px) { .wbcl-grid { grid-template-columns:1fr; } .wbcl-form-row { grid-template-columns:1fr; } }
    @media (max-width:700px) { .wbcl-deliverables { grid-template-columns:1fr; } }

    .wmw-section { padding:var(--section-pad) 0; position:relative; }
    .wmw-head { max-width:820px; margin:0 auto 64px; text-align:center; }
    .wmw-eye { font-size:11px; letter-spacing:.22em; font-weight:700; color:rgba(197, 214, 255, 0.64); margin-bottom:18px; }
    .wmw-title { font-size:clamp(34px,4vw,54px); font-weight:400; letter-spacing:-.022em; color:#fff; margin:0 0 20px; line-height:1.08; }
    .wmw-sub { font-size:17px; line-height:1.55; color:rgba(255,255,255,.7); }
    .wmw-body { display:grid; grid-template-columns:320px 1fr; gap:72px; max-width:1180px; margin:0 auto; }
    .wmw-aside-inner { position:sticky; top:100px; }
    .wmw-anim-frame { position:relative; aspect-ratio:280/180; width:100%; background:linear-gradient(180deg, rgba(111,168,255,.05), rgba(111,168,255,.01)); border:1px solid rgba(197,214,255,.1); border-radius:8px; overflow:hidden; }
    .wmw-anim-slot { position:absolute; inset:0; opacity:0; transition:opacity .4s ease; }
    .wmw-anim-slot.is-active { opacity:1; }
    .wmw-anim-meta { display:flex; align-items:baseline; gap:12px; margin-top:18px; padding-top:16px; border-top:1px solid rgba(197,214,255,.1); }
    .wmw-anim-num { font-size:11px; letter-spacing:.22em; font-weight:700; color:var(--cyber-blue,#6FA8FF); }
    .wmw-anim-name { font-size:14px; font-weight:500; color:#fff; }
    .wmw-list { list-style:none; margin:0; padding:0; position:relative; }
    .wmw-rail { position:absolute; top:24px; bottom:24px; left:21px; width:1px; background:linear-gradient(180deg, transparent, rgba(197,214,255,.18) 4%, rgba(197,214,255,.18) 96%, transparent); }
    .wmw-step { display:grid; grid-template-columns:64px 1fr; gap:28px; padding:24px 0 32px; position:relative; }
    .wmw-step + .wmw-step { border-top:1px solid rgba(255,255,255,.06); }
    .wmw-num { width:44px; height:44px; border-radius:50%; background:var(--deep-navy); border:1px solid rgba(197,214,255,.22); display:flex; align-items:center; justify-content:center; font-size:12px; letter-spacing:.06em; font-weight:700; color:rgba(197,214,255,.7); }
    .wmw-step.is-active .wmw-num { background:linear-gradient(135deg, rgba(111,168,255,.18), rgba(111,168,255,.05)); border-color:var(--cyber-blue,#6FA8FF); color:#fff; box-shadow:0 0 0 6px rgba(111,168,255,.08); }
    .wmw-step-label { font-size:24px; font-weight:500; letter-spacing:-.018em; color:#fff; margin:0 0 10px; line-height:1.2; }
    .wmw-step-text { font-size:15px; line-height:1.6; color:rgba(255,255,255,.72); margin:0; max-width:640px; }
    .wmw-anim-inline { display:none; margin-top:16px; aspect-ratio:280/180; background:linear-gradient(180deg, rgba(111,168,255,.05), rgba(111,168,255,.01)); border:1px solid rgba(197,214,255,.1); border-radius:8px; overflow:hidden; }
    .wmw-cta { margin-top:28px; display:flex; justify-content:center; }
    .wmw-svg { width:100%; height:100%; display:block; }
    @media (max-width:980px){ .wmw-body{grid-template-columns:1fr; gap:24px;} .wmw-aside{display:none;} .wmw-anim-inline{display:block;} }
    @media (max-width:560px){ .wmw-step{grid-template-columns:44px 1fr; gap:18px; padding:22px 0 26px;} .wmw-num{width:36px;height:36px;font-size:11px;} .wmw-rail{left:17px;} .wmw-step-label{font-size:20px;} .wmw-step-text{font-size:14.5px;} }
       .wbcl-submit{
    margin-top: 12px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    font-family: inherit !important;
    font-size: 15px !important;
    font-weight: 600 !important;

    padding: 15px 20px !important;

    background: var(--cyber-blue) !important;
    color: #fff !important;

    border: none !important;
    border-radius: 7px !important;
    cursor: pointer;

    letter-spacing: -0.005em !important;

    transition: background 0.2s, transform 0.2s, box-shadow 0.2s !important;

    box-shadow: 0 8px 24px -8px rgba(20,49,167,0.5) !important;
    width: 100%;
}

.ah-chrome-dots { display: flex; gap: 6px; }
.ah-chrome-dots span { width: 10px; height: 10px; border-radius: 50%; }
.ah-chrome-dots span:nth-child(1) { background: #ff5f57; }
.ah-chrome-dots span:nth-child(2) { background: #febc2e; }
.ah-chrome-dots span:nth-child(3) { background: #28c840; }
.ah-chrome-title {
  font-size: 11px; font-weight: 600;
  color: rgba(0,0,0,0.75);
  letter-spacing: 0.01em; text-align: center;
}
.ah-chrome-env {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 3px 8px;
  background: #fff;
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 4px;
  font-size: 10px;
  color: rgba(0,0,0,0.65);
}
.ah-env-dot {
  width: 6px; height: 6px; border-radius: 50%;
  background: #16A34A;
  box-shadow: 0 0 0 3px rgba(22,163,74,0.18);
  animation: ah-env-pulse 2s ease-in-out infinite;
}
@keyframes ah-env-pulse { 0%,100% { opacity: 1; } 50% { opacity: 0.5; } }
.ah-tabs {
  display: flex;
  gap: 4px;
  padding: 8px 10px 0;
  border-bottom: 1px solid rgba(0,0,0,0.06);
  overflow-x: auto;
  scrollbar-width: none;
  flex: 0 0 auto;
}
.ah-tabs::-webkit-scrollbar { display: none; }
.ah-tab {
  flex: 0 0 auto;
  appearance: none; background: transparent; border: none;
  padding: 6px 10px 8px;
  font: inherit; cursor: pointer;
  border-bottom: 2px solid transparent;
  transition: border-color 0.2s, color 0.2s;
}
.ah-tab-tag {
  font-size: 9.5px; letter-spacing: 0.08em;
  font-weight: 700; color: rgba(0, 0, 0, 0.6);
  white-space: nowrap;
}
.ah-tab.is-active { border-bottom-color: #1431A7; }
.ah-tab.is-active .ah-tab-tag { color: #1431A7; }

.ah-req-bar {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: stretch;
  gap: 0;
  padding: 10px 14px;
  background: #fff;
  border-bottom: 1px solid rgba(0,0,0,0.06);
  flex: 0 0 auto;
}
.ah-method {
  display: inline-flex; align-items: center; justify-content: center;
  padding: 6px 10px;
  border-radius: 4px 0 0 4px;
  font-size: 10.5px; font-weight: 800;
  letter-spacing: 0.08em;
  min-width: 56px;
}
.ah-url {
  display: flex; align-items: center;
  padding: 6px 10px;
  background: #f8f8fb;
  border: 1px solid rgba(0,0,0,0.08);
  border-left: none;
  font-size: 11.5px;
  color: rgba(0,0,0,0.85);
  white-space: nowrap; overflow: hidden;
  min-width: 0;
}
.ah-url-host {
  color: rgba(0, 0, 0, 0.6);
  margin-right: 1px;
}
.ah-url-path { font-weight: 600; }
.ah-cursor {
  display: inline-block;
  width: 1px; height: 12px;
  background: #1431A7;
  margin-left: 2px;
  animation: ah-blink 1s steps(2) infinite;
}
@keyframes ah-blink { 50% { opacity: 0; } }

.ah-send {
  display: inline-flex; align-items: center; justify-content: center;
  padding: 6px 14px;
  margin-left: 8px;
  background: #1431A7; color: #fff;
  border-radius: 4px;
  font-size: 10.5px; font-weight: 800;
  letter-spacing: 0.1em;
  min-width: 86px;
}
.ah-send-busy { display: inline-flex; align-items: center; gap: 6px; }
.ah-spinner {
  width: 9px; height: 9px;
  border-radius: 50%;
  border: 1.5px solid rgba(255,255,255,0.4);
  border-top-color: #fff;
  animation: ah-spin 0.7s linear infinite;
}
@keyframes ah-spin { to { transform: rotate(360deg); } }

.ah-note {
  display: flex; align-items: flex-start; gap: 8px;
  padding: 9px 14px;
  background: rgba(20,49,167,0.05);
  border-top: 1px solid rgba(0,0,0,0.06);
  border-bottom: 1px solid rgba(0,0,0,0.06);
  font-size: 11.5px;
  color: rgba(0,0,0,0.7);
  line-height: 1.4;
  flex: 0 0 auto;
}
.ah-note-mark {
  flex: 0 0 auto;
  width: 6px; height: 6px; border-radius: 50%;
  background: #1431A7;
  margin-top: 5px;
  box-shadow: 0 0 0 3px rgba(20,49,167,0.15);
}
.ah-note-text { text-wrap: pretty; }

.ah-resp {
  flex: 1 1 auto;
  display: flex; flex-direction: column;
  min-height: 0;
  background: #0c0c33;
  color: #C5D6FF;
}
.ah-resp-head {
  display: flex; align-items: center; justify-content: space-between;
  gap: 12px;
  padding: 9px 14px;
  border-bottom: 1px solid rgba(255,255,255,0.06);
  flex: 0 0 auto;
}
.ah-resp-status {
  display: flex; align-items: center; gap: 8px;
  font-size: 10.5px;
}
.ah-resp-label {
  letter-spacing: 0.12em;
  font-weight: 700;
  color: rgba(197, 214, 255, 0.64);
}
.ah-resp-code {
  font-weight: 800;
  letter-spacing: 0.04em;
}
.ah-resp-flag {
  padding: 3px 8px;
  background: #B91C1C; color: #fff;
  font-size: 9.5px; font-weight: 800;
  letter-spacing: 0.1em;
  border-radius: 3px;
}
.ah-resp-flag-warn { background: #A16207; }
.ah-resp-body {
  flex: 1 1 auto;
  margin: 0;
  padding: 12px 14px;
  font-size: 11.5px;
  line-height: 1.55;
  color: #C5D6FF;
  background: transparent;
  overflow: auto;
  white-space: pre;
  min-height: 0;
  transition: opacity 0.3s;
}
.ah-resp-body.is-hidden { opacity: 0; }
.ah-resp-body.is-shown  { opacity: 1; }
.ah-resp-body code { color: inherit; }

.ah-finding {
  display: flex; align-items: center; gap: 10px;
  padding: 10px 14px;
  background: #07073e;
  color: rgba(255,255,255,0.92);
  font-size: 11.5px; font-weight: 600;
  line-height: 1.4;
  flex: 0 0 auto;
  transition: opacity 0.3s, transform 0.3s;
}
.ah-finding.is-hidden { opacity: 0; transform: translateY(4px); }
.ah-finding.is-shown  { opacity: 1; transform: translateY(0); }
.ah-finding-dot {
  flex: 0 0 auto;
  width: 8px; height: 8px; border-radius: 50%;
  background: #D73D3D;
  box-shadow: 0 0 0 3px rgba(239,68,68,0.25);
  animation: ah-finding-pulse 1.6s ease-in-out infinite;
}
@keyframes ah-finding-pulse {
  0%, 100% { box-shadow: 0 0 0 3px rgba(239,68,68,0.25); }
  50%      { box-shadow: 0 0 0 6px rgba(239,68,68,0.05); }
}
.ah-finding-text { text-wrap: pretty; }

@media (max-width: 600px) {
  .ah-req-bar {
    grid-template-columns: 1fr;
    gap: 8px;
  }
  .ah-url { border-left: 1px solid rgba(0,0,0,0.08); border-radius: 4px; }
  .ah-method { border-radius: 4px; }
  .ah-send { margin-left: 0; }
}

:root {
  --pf-navy: #070763;
  --pf-blue: #1431A7;
  --pf-bright: #C5D6FF;
}

.pf-hero {
  position: relative;
  padding-top: 140px;
  padding-bottom: 110px;
  overflow: hidden;
  background: var(--pf-navy);
}
.pf-hero-bg { position: absolute; inset: 0; pointer-events: none; }
.pf-hero-grid {
  position: absolute; inset: 0;
  background-image: linear-gradient(rgba(197,214,255,0.045) 1px, transparent 1px),
                    linear-gradient(90deg, rgba(197,214,255,0.045) 1px, transparent 1px);
  background-size: 60px 60px;
  mask-image: radial-gradient(ellipse at 50% 35%, black 0%, transparent 75%);
  -webkit-mask-image: radial-gradient(ellipse at 50% 35%, black 0%, transparent 75%);
}
.pf-hero-blob { position: absolute; border-radius: 50%; filter: blur(90px); }
.pf-hero-blob-a {
  width: 520px; height: 520px;
  background: radial-gradient(circle, rgba(20,49,167,0.55), transparent 70%);
  top: -120px; right: -120px;
}
.pf-hero-blob-b {
  width: 420px; height: 420px;
  background: radial-gradient(circle, rgba(197,214,255,0.12), transparent 70%);
  bottom: -160px; left: 10%;
}
.pf-hero-inner {
  position: relative;
  display: grid;
  grid-template-columns: 0.92fr 1.1fr;
  gap: 64px;
  align-items: center;
}
.pf-hero-left { min-width: 0; }

.pf-hero-title {
  font-size: clamp(38px, 4.2vw, 60px);
  font-weight: 800;
  line-height: 0.98;
  letter-spacing: -0.035em;
  margin: 0 0 28px;
  max-width: 540px;
  text-wrap: balance;
  color: #fff;
}
.pf-hero-strike {
  position: relative;
  color: rgba(255, 255, 255, 0.56);
  display: inline-block;
}
.pf-hero-strike::after {
  content: "";
  position: absolute;
  left: -4%; right: -4%;
  top: 55%; height: 5px;
  background: #D73D3D;
  transform: rotate(-3deg);
  border-radius: 2px;
}

.pf-hero-accent {
  background: linear-gradient(92deg, #fff 10%, #C5D6FF 55%, #fff 95%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  font-weight: inherit;
}
.pf-hero-body {
  font-size: 17px;
  line-height: 1.55;
  color: rgba(255,255,255,0.78);
  max-width: 560px;
  margin-bottom: 32px;
}
.pf-hero-ctas { display: flex; gap: 12px; margin-bottom: 36px; flex-wrap: wrap; }
.pf-hero-integrations { margin-bottom: 8px; }
.pf-hero-int-label {
  font-size: 10px; letter-spacing: 0.2em; font-weight: 600;
  color: rgba(197,214,255,0.65); margin-bottom: 14px;
}

.pf-hero-int-logos { display: flex; gap: 12px; align-items: stretch; flex-wrap: wrap; }
.pf-int-logo {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 46px;
  padding: 8px 16px;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(197,214,255,0.15);
  border-radius: 6px;
  color: #fff;
  font-size: 13px; font-weight: 500;
}

.pf-int-mark { display: block; height: 24px; width: auto; }
.pf-int-name { font-size: 14px; font-weight: 600; letter-spacing: 0.005em; line-height: 1; }

.pf-int-logo-etiquetado { gap: 9px; }
.pf-int-name-junto {
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.005em;
  line-height: 1;
  white-space: nowrap;
}

.pf-hero-right { min-width: 0; }
.pf-mock {
  position: relative;
  background: #f8f9fb;
  border: 1px solid rgba(197,214,255,0.18);
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 40px 90px -20px rgba(0,0,30,0.55), 0 0 0 1px rgba(197,214,255,0.04) inset;
  color: #1f2937;
}
.pf-mock-chrome {
  display: grid; grid-template-columns: auto 1fr auto; align-items: center;
  gap: 14px; padding: 12px 16px;
  border-bottom: 1px solid rgba(0,0,0,0.08); background: #fff;
}
.pf-mock-dots { display: flex; gap: 6px; }
.pf-mock-dots span { width: 9px; height: 9px; border-radius: 50%; }
.pf-mock-dots span:nth-child(1) { background: #D73D3D; }
.pf-mock-dots span:nth-child(2) { background: #eab308; }
.pf-mock-dots span:nth-child(3) { background: #16823E; }
.pf-mock-project {
  display: inline-flex; align-items: center; gap: 10px;
  justify-self: center; padding: 4px 14px;
  font-size: 12px; color: rgba(0,0,0,0.78); max-width: 100%; overflow: hidden;
}
.pf-mock-project-title { font-weight: 600; color: rgba(0,0,0,0.85); white-space: nowrap; }
.pf-mock-project-sep { color: rgba(0,0,0,0.25); }
.pf-mock-project-company { color: rgba(0, 0, 0, 0.6); font-weight: 500; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pf-mock-project-right { width: 44px; }
.pf-mock-body { padding: 14px; display: flex; flex-direction: column; gap: 14px; background: #f3f4f6; }
.pf-mock-top { display: grid; grid-template-columns: 1fr 1.15fr; gap: 14px; }
.pf-mock-card { background: #fff; border: 1px solid rgba(0,0,0,0.06); border-radius: 8px; padding: 14px; }
.pf-mock-card-head { font-size: 12px; font-weight: 600; color: #111827; letter-spacing: -0.005em; margin-bottom: 14px; display: flex; align-items: center; justify-content: space-between; }
.pf-mock-total { font-size: 18px; font-weight: 500; color: #111827; letter-spacing: -0.02em; }
.pf-mock-donut-wrap { display: flex; align-items: center; gap: 14px; }
.pf-mock-donut-legend { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 6px; flex: 1; }
.pf-mock-donut-legend li { display: grid; grid-template-columns: 10px 1fr auto; align-items: center; gap: 8px; font-size: 11px; color: #374151; }
.pf-mock-dot { width: 8px; height: 8px; border-radius: 50%; display: inline-block; }
.pf-mock-legend-num { font-size: 11px; font-weight: 600; color: #111827; }
.pf-mock-bar { display: flex; width: 100%; height: 12px; border-radius: 3px; overflow: hidden; margin-bottom: 12px; }
.pf-mock-bar-seg { height: 100%; }
.pf-mock-sev-legend { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 4px 12px; }
.pf-mock-sev-legend li { display: grid; grid-template-columns: 8px 1fr auto; align-items: center; gap: 7px; font-size: 10.5px; color: #374151; }
.pf-mock-sev-name { letter-spacing: -0.003em; }
.pf-mock-sev-num { font-size: 10.5px; font-weight: 600; color: #111827; }
.pf-mock-table { background: #fff; border: 1px solid rgba(0,0,0,0.06); border-radius: 8px; overflow: hidden; }
.pf-mock-thead, .pf-mock-row { display: grid; grid-template-columns: 80px 1fr 130px 80px 95px; align-items: center; gap: 12px; padding: 10px 14px; font-size: 11px; }
.pf-mock-thead { color: rgba(17, 24, 39, 0.68); font-size: 9px; letter-spacing: 0.16em; font-weight: 700; background: #f9fafb; border-bottom: 1px solid rgba(0,0,0,0.06); padding: 9px 14px; }
.pf-mock-row { color: #1f2937; border-top: 1px solid rgba(0,0,0,0.05); }
.pf-mock-row:first-of-type { border-top: none; }
.pf-mock-title-cell { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; letter-spacing: -0.003em; font-weight: 500; }
.pf-mock-pill { font-size: 9px; font-weight: 700; letter-spacing: 0.1em; padding: 4px 8px; border-radius: 3px; text-align: center; font-family: "Fustat", monospace; justify-self: flex-start; }
.pf-mock-assignee { font-size: 10.5px; color: rgba(17, 24, 39, 0.68); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pf-mock-date { font-size: 10.5px; color: rgba(17, 24, 39, 0.68); }
@media (max-width: 1100px) {
  .pf-hero-inner { grid-template-columns: 1fr; gap: 48px; }
  .pf-mock-top { grid-template-columns: 1fr; }
  .pf-mock-thead, .pf-mock-row { grid-template-columns: 70px 1fr 80px; }
  .pf-mock-assignee, .pf-mock-date { display: none; }
}

.pf-strip { padding: 36px 0; border-top: 1px solid rgba(30,30,30,0.06); border-bottom: 1px solid rgba(30,30,30,0.06); background: #fff; }
.pf-strip-inner { display: flex; align-items: center; gap: 48px; overflow-x: auto; padding: 0 8px; flex-wrap: wrap; }
.pf-strip-label { font-size: 10px; letter-spacing: 0.2em; font-weight: 700; color: rgba(30, 30, 30, 0.68); white-space: nowrap; flex-shrink: 0; }
.pf-strip-logos { display: flex; align-items: center; gap: 40px; flex-wrap: wrap; }
.pf-strip-logo { height: 22px; width: auto; max-width: 110px; opacity: 0.38; filter: grayscale(1); object-fit: contain; transition: opacity 0.2s; }
.pf-strip-logo:hover { opacity: 0.7; }
.pf-strip-logo-svg { opacity: 0.38; transition: opacity 0.2s; display: flex; align-items: center; }
.pf-strip-logo-svg:hover { opacity: 0.7; }

.pf-dv { padding: var(--section-pad) 0; background: #fff; }
.pf-dv-head { max-width: 880px; margin: 0 auto 52px; text-align: center; }
.pf-dv-eyebrow { font-size: 11px; letter-spacing: 0.18em; font-weight: 700; color: #1431A7; margin-bottom: 18px; }
.pf-dv-title { font-size: clamp(32px, 3.8vw, 52px); font-weight: 600; letter-spacing: -0.025em; line-height: 1.06; color: #070763; margin: 0 0 20px; text-wrap: balance; }
.pf-dv-body { font-size: 17px; line-height: 1.55; color: rgba(30,30,30,0.7); max-width: 640px; margin: 0 auto 32px; text-wrap: pretty; }
.pf-dv-cta { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }
.pf-dv-video-wrap {
  position: relative; width: 100%; max-width: 1100px; margin: 0 auto 80px;
  aspect-ratio: 16/9; border-radius: 14px; overflow: hidden;
  box-shadow: 0 40px 90px -20px rgba(7,7,99,0.25);
  border: 1px solid rgba(20,49,167,0.15);
  background: linear-gradient(135deg, #0a0e27, #1431A7);
}
.pf-dv-poster-art { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.pf-dv-play-btn {
  position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%);
  width: 72px; height: 72px; border-radius: 50%;
  background: rgba(255,255,255,0.15); backdrop-filter: blur(8px);
  border: 2px solid rgba(255,255,255,0.4);
  display: flex; align-items: center; justify-content: center;
  color: #fff; cursor: pointer;
  transition: background 0.2s, transform 0.2s;
}
.pf-dv-play-btn:hover { background: rgba(255,255,255,0.25); transform: translate(-50%,-50%) scale(1.06); }
.pf-dv-caption { position: absolute; bottom: 18px; left: 50%; transform: translateX(-50%); font-size: 11px; letter-spacing: 0.16em; font-weight: 600; color: rgba(255,255,255,0.65); }

.pf-dv-tabs-section { max-width: 1100px; margin: 0 auto; }
.pf-dv-tabs-label { font-size: 10px; letter-spacing: 0.2em; font-weight: 700; color: rgba(30, 30, 30, 0.68); text-align: center; margin-bottom: 22px; }
.pf-dv-tabs-nav { display: flex; gap: 8px; justify-content: center; flex-wrap: wrap; margin-bottom: 40px; }
.pf-dv-tab-btn {
  padding: 10px 20px; border-radius: 8px; border: 1px solid rgba(30,30,30,0.12);
  background: #fff; font-size: 14px; font-weight: 500; color: rgba(30, 30, 30, 0.68);
  cursor: pointer; font-family: inherit; transition: all 0.2s;
}
.pf-dv-tab-btn.is-active { background: #070763; color: #fff; border-color: #070763; }
.pf-dv-tab-btn:hover:not(.is-active) { border-color: #1431A7; color: #1431A7; }
.pf-dv-tab-panel { display: none; }
.pf-dv-tab-panel.is-active { display: grid; grid-template-columns: 1fr 1.6fr; gap: 56px; align-items: center; }
.pf-dv-tab-text {}
.pf-dv-tab-title { font-size: clamp(22px, 2.4vw, 30px); font-weight: 600; letter-spacing: -0.02em; color: #070763; margin: 0 0 14px; line-height: 1.2; }
.pf-dv-tab-body { font-size: 16px; line-height: 1.6; color: rgba(30,30,30,0.7); margin: 0; text-wrap: pretty; }
.pf-dv-tab-screen {
  background: #f5f6f9; border-radius: 12px; overflow: hidden;
  border: 1px solid rgba(197,214,255,0.45);
  box-shadow: 0 20px 50px -20px rgba(20,49,167,0.15);
  min-height: 260px;
}
.pf-dv-tab-chrome {
  display: flex; align-items: center; gap: 12px;
  padding: 11px 16px; background: #fafbfd;
  border-bottom: 1px solid rgba(30,30,30,0.07);
}
.pf-dv-tab-chrome-dots { display: flex; gap: 5px; }
.pf-dv-tab-chrome-dots span { width: 9px; height: 9px; border-radius: 50%; }
.pf-dv-tab-chrome-dots span:nth-child(1) { background: #D73D3D; }
.pf-dv-tab-chrome-dots span:nth-child(2) { background: #eab308; }
.pf-dv-tab-chrome-dots span:nth-child(3) { background: #16823E; }
.pf-dv-tab-chrome-url { font-size: 11px; color: rgba(30, 30, 30, 0.68); flex: 1; text-align: center; font-family: monospace; letter-spacing: 0.02em; }
.pf-dv-tab-chrome-live { font-size: 9.5px; font-weight: 700; letter-spacing: 0.18em; color: #147839; padding: 3px 8px; border-radius: 3px; background: rgba(34,197,94,0.12); }
.pf-dv-tab-body-inner { padding: 22px; background: #f5f6f9; }
.pf-dv-mock-screen { background: #fff; border-radius: 8px; overflow: hidden; border: 1px solid rgba(0,0,0,0.06); padding: 18px; }
@media (max-width: 900px) {
  .pf-dv-tab-panel.is-active { grid-template-columns: 1fr; gap: 28px; }
}

.pf-midcta { padding: 90px 0; background: #070763; }
.pf-midcta-inner { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; max-width: 1100px; margin: 0 auto; }
.pf-midcta-eyebrow { font-size: 10px; letter-spacing: 0.2em; font-weight: 700; color: rgba(197,214,255,0.65); margin-bottom: 16px; }
.pf-midcta-title { font-size: clamp(28px, 3.2vw, 44px); font-weight: 600; letter-spacing: -0.022em; color: #fff; margin: 0 0 18px; line-height: 1.1; text-wrap: balance; }
.pf-midcta-sub { font-size: 16px; line-height: 1.6; color: rgba(255,255,255,0.72); margin: 0 0 28px; text-wrap: pretty; }
.pf-midcta-bullets { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 10px; }
.pf-midcta-bullets li { display: flex; align-items: flex-start; gap: 12px; font-size: 15px; color: rgba(255,255,255,0.85); }
.pf-midcta-check { flex-shrink: 0; width: 20px; height: 20px; border-radius: 50%; background: rgba(197,214,255,0.15); display: inline-flex; align-items: center; justify-content: center; margin-top: 1px; color: #C5D6FF; font-size: 11px; }
.pf-midcta-form { background: #fff; border-radius: 12px; padding: 36px; box-shadow: 0 40px 80px -20px rgba(0,0,0,0.4); }
.pf-midcta-form-title { font-size: 18px; font-weight: 600; letter-spacing: -0.012em; color: #1e1e1e; margin-bottom: 22px; }
.pf-midcta-form form { display: flex; flex-direction: column; gap: 14px; }
.pf-midcta-form label { display: flex; flex-direction: column; gap: 5px; }
.pf-midcta-form label span { font-size: 10px; letter-spacing: 0.14em; font-weight: 700; color: rgba(30, 30, 30, 0.68); text-transform: uppercase; }
.pf-midcta-form input, .pf-midcta-form select, .pf-midcta-form textarea { font-family: inherit; font-size: 14px; padding: 11px 13px; background: #fafafa; color: #1e1e1e; border: 1px solid rgba(30,30,30,0.12); border-radius: 7px; outline: none; transition: border-color 0.2s, box-shadow 0.2s; }
.pf-midcta-form input:focus, .pf-midcta-form select:focus, .pf-midcta-form textarea:focus { border-color: #1431A7; box-shadow: 0 0 0 3px rgba(20,49,167,0.1); }
.pf-midcta-form textarea { min-height: 80px; resize: vertical; }
.pf-midcta-gdpr { font-size: 11.5px; color: rgba(30, 30, 30, 0.68); line-height: 1.5; }
.pf-midcta-submit { display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 14px 20px; background: #1431A7; color: #fff; border: none; border-radius: 7px; font-family: inherit; font-size: 15px; font-weight: 600; cursor: pointer; transition: background 0.2s, transform 0.2s; }
.pf-midcta-submit:hover { background: #070763; transform: translateY(-1px); }
@media (max-width: 900px) { .pf-midcta-inner { grid-template-columns: 1fr; gap: 48px; } }

.pf-ba { padding: var(--section-pad) 0; background: #070763; }
.pf-ba-head { max-width: 780px; margin: 0 auto 60px; text-align: center; }
.pf-ba-eyebrow { font-size: 10px; letter-spacing: 0.2em; font-weight: 700; color: rgba(197, 214, 255, 0.64); margin-bottom: 16px; }
.pf-ba-title { font-size: clamp(34px, 4vw, 54px); font-weight: 400; letter-spacing: -0.022em; color: #fff; margin: 0 0 24px; text-wrap: balance; }
.pf-ba-hint { display: inline-flex; align-items: center; gap: 10px; font-size: 11px; letter-spacing: 0.18em; font-weight: 600; color: rgba(197, 214, 255, 0.64); }
.pf-ba-hint-icon { font-size: 14px; animation: pf-ba-nudge 2s ease-in-out infinite; }
@keyframes pf-ba-nudge { 0%, 100% { transform: translateX(0); } 50% { transform: translateX(4px); } }
.pf-ba-compare {
  position: relative; max-width: 1100px; margin: 0 auto;
  border-radius: 14px; overflow: hidden;
  border: 1px solid rgba(197,214,255,0.1);
  user-select: none; cursor: ew-resize;
}
.pf-ba-pane { position: relative; padding: 36px 44px; }
.pf-ba-before { background: linear-gradient(135deg, #1a0f2e 0%, #2a1a3e 100%); }
.pf-ba-after { position: absolute; inset: 0; background: linear-gradient(135deg, #0a2540 0%, #1431A7 100%); }
.pf-ba-pane-label { position: absolute; top: 16px; font-size: 10px; letter-spacing: 0.18em; font-weight: 700; display: inline-flex; align-items: center; gap: 8px; padding: 6px 12px; border-radius: 4px; background: rgba(0,0,0,0.35); color: #fff; z-index: 3; }
.pf-ba-pane-label-left { left: 16px; }
.pf-ba-pane-label-right { right: 16px; }
.pf-ba-pane-dot { width: 7px; height: 7px; border-radius: 50%; }
.pf-ba-pane-dot-red { background: #D73D3D; }
.pf-ba-pane-dot-green { background: #16823E; }
.pf-ba-rows { display: flex; flex-direction: column; gap: 2px; margin-top: 40px; }
.pf-ba-row { display: grid; grid-template-columns: 180px 1fr; align-items: center; gap: 24px; padding: 18px 4px; border-top: 1px solid rgba(197,214,255,0.08); }
.pf-ba-row:first-child { border-top: none; }
.pf-ba-row-key { font-size: 10px; letter-spacing: 0.2em; font-weight: 600; color: rgba(197, 214, 255, 0.64); }
.pf-ba-row-val { font-size: 18px; line-height: 1.35; letter-spacing: -0.01em; display: flex; align-items: center; gap: 12px; text-wrap: pretty; }
.pf-ba-row-val-before { color: rgba(255,255,255,0.72); text-decoration: line-through; text-decoration-color: rgba(239,68,68,0.8); text-decoration-thickness: 2px; }
.pf-ba-row-val-after { color: #fff; font-weight: 600; }
.pf-ba-row-icon { flex-shrink: 0; width: 22px; height: 22px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 11px; font-weight: 700; background: rgba(239,68,68,0.18); color: #fca5a5; }
.pf-ba-row-icon-ok { background: rgba(34,197,94,0.2); color: #86efac; }
.pf-ba-slider { position: absolute; top: 0; bottom: 0; width: 2px; transform: translateX(-1px); z-index: 4; pointer-events: none; }
.pf-ba-slider-line { position: absolute; inset: 0; background: linear-gradient(180deg, transparent, #C5D6FF 20%, #C5D6FF 80%, transparent); box-shadow: 0 0 20px rgba(197,214,255,0.3); }
.pf-ba-slider-handle { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); width: 44px; height: 44px; border-radius: 50%; background: #C5D6FF; color: #070763; display: inline-flex; align-items: center; justify-content: center; font-size: 18px; font-weight: 700; box-shadow: 0 6px 18px rgba(0,0,0,0.35), 0 0 0 4px rgba(197,214,255,0.18); pointer-events: auto; cursor: ew-resize; }
@media (max-width: 780px) {
  .pf-ba-pane { padding: 36px 20px; }
  .pf-ba-row { grid-template-columns: 1fr; gap: 4px; padding: 14px 2px; }
  .pf-ba-row-val { font-size: 15px; }
}

.pf-ip { padding: 120px 0 130px; background: #fafbfd; }
.pf-ip-title { font-size: clamp(32px, 3.6vw, 50px); font-weight: 600; line-height: 1.08; letter-spacing: -0.024em; color: #1e1e1e; margin: 0 auto 72px; text-align: center; max-width: 720px; text-wrap: balance; }
.pf-ip-grid { display: grid; grid-template-columns: 260px 1fr; gap: 72px; align-items: start; max-width: 1160px; margin: 0 auto; }
.pf-ip-list { display: flex; flex-direction: column; gap: 4px; padding-top: 8px; }
.pf-ip-item { display: grid; grid-template-columns: 40px 1fr; gap: 12px; align-items: center; padding: 12px 14px; border-radius: 8px; position: relative; cursor: pointer; background: transparent; border: none; font-family: inherit; transition: background 0.2s; text-align: left; }
.pf-ip-item::before { content: ""; position: absolute; left: 0; top: 10%; bottom: 10%; width: 3px; background: transparent; border-radius: 2px; transition: background 0.2s; }
.pf-ip-item:hover { background: rgba(20,49,167,0.04); }
.pf-ip-item.is-active { background: rgba(20,49,167,0.08); }
.pf-ip-item.is-active::before { background: #1431A7; }
.pf-ip-item-icon { width: 40px; height: 40px; border-radius: 8px; background: #eef2ff; display: inline-flex; align-items: center; justify-content: center; transition: background 0.2s; }
.pf-ip-item.is-active .pf-ip-item-icon { background: #dde5ff; }
.pf-ip-item-label { font-size: 15px; font-weight: 500; letter-spacing: -0.005em; color: rgba(30,30,30,0.72); line-height: 1.3; transition: color 0.2s; }
.pf-ip-item.is-active .pf-ip-item-label { color: #1431A7; font-weight: 600; }
.pf-ip-panel { min-width: 0; }
.pf-ip-content { display: none; }
.pf-ip-content.is-active { display: block; animation: pf-ip-in 0.35s ease-out; }
@keyframes pf-ip-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
.pf-ip-content-title { font-size: 22px; font-weight: 600; color: #1e1e1e; letter-spacing: -0.015em; margin: 0 0 12px; }
.pf-ip-content-body { font-size: 15px; line-height: 1.6; color: rgba(30,30,30,0.68); margin: 0 0 28px; max-width: 680px; }
.pf-ip-screen { background: #fff; border-radius: 12px; overflow: hidden; border: 1px solid rgba(197,214,255,0.55); box-shadow: 0 20px 50px -20px rgba(20,49,167,0.18); }
.pf-ip-screen-chrome { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 14px; padding: 11px 16px; border-bottom: 1px solid rgba(30,30,30,0.07); background: #fafbfd; }
.pf-ip-chrome-dots { display: flex; gap: 6px; }
.pf-ip-chrome-dots span { width: 9px; height: 9px; border-radius: 50%; }
.pf-ip-chrome-dots span:nth-child(1) { background: #D73D3D; }
.pf-ip-chrome-dots span:nth-child(2) { background: #eab308; }
.pf-ip-chrome-dots span:nth-child(3) { background: #16823E; }
.pf-ip-chrome-url { font-size: 11px; color: rgba(30, 30, 30, 0.68); text-align: center; letter-spacing: 0.02em; font-family: monospace; }
.pf-ip-chrome-tag { font-size: 9.5px; font-weight: 700; letter-spacing: 0.18em; color: #147839; padding: 3px 8px; border-radius: 3px; background: rgba(34,197,94,0.12); }
.pf-ip-screen-body { padding: 22px; background: #f5f6f9; min-height: 320px; }
.pf-ip-mock { background: #fff; border-radius: 8px; padding: 18px; border: 1px solid rgba(0,0,0,0.06); min-height: 280px; display: flex; flex-direction: column; gap: 12px; }
.pf-ip-mock-row { height: 14px; border-radius: 4px; background: #f0f1f4; }
.pf-ip-mock-row.w100 { width: 100%; }
.pf-ip-mock-row.w80 { width: 80%; }
.pf-ip-mock-row.w60 { width: 60%; }
.pf-ip-mock-row.w40 { width: 40%; }
.pf-ip-mock-stat { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; margin-bottom: 8px; }
.pf-ip-mock-stat-card { background: #f5f6f9; border-radius: 8px; padding: 14px; border: 1px solid rgba(0,0,0,0.05); }
.pf-ip-mock-stat-num { font-size: 24px; font-weight: 700; color: #1431A7; letter-spacing: -0.02em; }
.pf-ip-mock-stat-label { font-size: 10px; color: rgba(30, 30, 30, 0.68); letter-spacing: 0.1em; font-weight: 600; text-transform: uppercase; margin-top: 4px; }
.pf-ip-mock-bar-row { display: flex; gap: 4px; align-items: center; margin-bottom: 4px; }
.pf-ip-mock-bar-label { font-size: 10px; color: rgba(30, 30, 30, 0.68); width: 65px; flex-shrink: 0; }
.pf-ip-mock-bar-track { flex: 1; height: 8px; background: #eef0f5; border-radius: 4px; overflow: hidden; }
.pf-ip-mock-bar-fill { height: 100%; border-radius: 4px; }
.pf-ip-mock-table-row { display: grid; grid-template-columns: 70px 1fr 80px; gap: 10px; align-items: center; padding: 8px 0; border-top: 1px solid rgba(0,0,0,0.05); font-size: 11px; }
.pf-ip-mock-table-row:first-child { border-top: none; }
.pf-ip-mock-pill-sm { font-size: 8px; font-weight: 700; letter-spacing: 0.1em; padding: 3px 7px; border-radius: 3px; }
@media (max-width: 980px) {
  .pf-ip-grid { grid-template-columns: 1fr; gap: 32px; }
  .pf-ip-list { flex-direction: row; overflow-x: auto; gap: 8px; padding: 8px 0 12px; }
  .pf-ip-item { flex-shrink: 0; }
}

.pf-aud { padding: var(--section-pad) 0; background: #fff; }
.pf-aud-head { max-width: 780px; margin: 0 auto 56px; text-align: center; }
.pf-aud-eyebrow { font-size: 10px; letter-spacing: 0.2em; font-weight: 700; color: #1431A7; margin-bottom: 16px; }
.pf-aud-title { font-size: clamp(32px, 3.6vw, 50px); font-weight: 400; letter-spacing: -0.022em; color: #070763; margin: 0 0 18px; text-wrap: balance; }
.pf-aud-sub { font-size: 17px; line-height: 1.55; color: rgba(30,30,30,0.68); margin: 0; text-wrap: pretty; }
.pf-aud-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.pf-aud-card { background: #fff; border: 1px solid rgba(30,30,30,0.10); border-radius: 14px; padding: 32px 28px; display: flex; flex-direction: column; gap: 20px; }
.pf-aud-card-tag { display: inline-flex; align-items: center; gap: 10px; }
.pf-aud-card-tag-icon { width: 44px; height: 44px; border-radius: 10px; background: #eef2ff; display: inline-flex; align-items: center; justify-content: center; }
.pf-aud-card-tag-label { font-size: 11px; letter-spacing: 0.16em; font-weight: 700; color: #1431A7; text-transform: uppercase; }
.pf-aud-card-title { font-size: 20px; font-weight: 600; letter-spacing: -0.015em; color: #070763; line-height: 1.25; margin: 0; }
.pf-aud-card-body { font-size: 15px; line-height: 1.6; color: rgba(30,30,30,0.7); margin: 0; }
.pf-aud-card-points { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 8px; }
.pf-aud-card-points li { display: flex; align-items: flex-start; gap: 10px; font-size: 14px; color: rgba(30,30,30,0.8); }
.pf-aud-point-dot { width: 6px; height: 6px; border-radius: 50%; background: #1431A7; flex: none; margin-top: 7px; }
@media (max-width: 900px) { .pf-aud-grid { grid-template-columns: 1fr; } }

.pf-cta { padding: 100px 0; background: #fff; position: relative; }
.pf-cta::before { content: ""; position: absolute; top: 0; left: 10%; right: 10%; height: 1px; background: rgba(30,30,30,0.08); }
.pf-cta-inner { position: relative; border: 1px solid rgba(30,30,30,0.12); border-radius: 4px; padding: 64px 64px 60px; overflow: hidden; background: #f5f7fb; display: grid; grid-template-columns: 1fr auto; gap: 40px; align-items: end; }
.pf-cta-mark { position: absolute; top: -30%; right: -8%; width: 560px; height: 560px; opacity: 0.07; pointer-events: none; }
.pf-cta-text { min-width: 0; max-width: 720px; position: relative; }
.pf-cta-kicker { font-size: 11px; letter-spacing: 0.18em; font-weight: 700; color: #1431A7; margin-bottom: 20px; }
.pf-cta-title { font-size: clamp(30px, 3.4vw, 46px); font-weight: 600; line-height: 1.06; letter-spacing: -0.025em; color: #1e1e1e; margin: 0 0 18px; text-wrap: balance; }
.pf-cta-body { font-size: 16.5px; line-height: 1.55; color: rgba(30,30,30,0.7); margin: 0; max-width: 580px; text-wrap: pretty; }

.pf-cta-actions { position: relative; display: flex; flex-direction: row; align-items: center; gap: 12px; flex-shrink: 0; }
@media (max-width: 800px) { .pf-cta-inner { grid-template-columns: 1fr; padding: 40px 28px; gap: 28px; align-items: stretch; } .pf-cta-actions { flex-direction: column; align-items: flex-start; } }

.pf-faq { padding: var(--section-pad) 0; background: #070763; }
.pf-faq-inner { display: grid; grid-template-columns: 1fr 1.4fr; gap: 80px; align-items: flex-start; }
.pf-faq-eyebrow { font-size: 10px; letter-spacing: 0.2em; font-weight: 700; color: rgba(197,214,255,0.65); margin-bottom: 16px; }
.pf-faq-title { font-size: clamp(34px, 4vw, 54px); font-weight: 400; letter-spacing: -0.022em; color: #fff; margin: 0 0 40px; text-wrap: balance; }
.pf-faq-cta-block { padding-top: 28px; border-top: 1px dashed rgba(197,214,255,0.2); display: flex; flex-direction: column; gap: 14px; align-items: flex-start; }
.pf-faq-cta-label { font-size: 10px; letter-spacing: 0.2em; font-weight: 600; color: rgba(197, 214, 255, 0.64); }
.pf-faq-right { display: flex; flex-direction: column; }
.pf-faq-item { width: 100%; text-align: left; background: transparent; border: none; border-top: 1px solid rgba(197,214,255,0.12); padding: 0; color: #fff; cursor: pointer; font-family: inherit; }
.pf-faq-item:last-child { border-bottom: 1px solid rgba(197,214,255,0.12); }
.pf-faq-q { display: grid; grid-template-columns: 44px 1fr auto; align-items: center; gap: 16px; padding: 24px 4px; }
.pf-faq-num { font-size: 10px; letter-spacing: 0.18em; font-weight: 600; color: rgba(197, 214, 255, 0.64); font-family: monospace; }
.pf-faq-q-text { font-size: 18px; font-weight: 500; letter-spacing: -0.012em; color: #fff; text-wrap: pretty; }
.pf-faq-chevron { color: rgba(197, 214, 255, 0.64); transition: transform 0.25s; display: inline-flex; }
.pf-faq-item.open .pf-faq-chevron { transform: rotate(180deg); }
.pf-faq-a-wrap { display: grid; grid-template-rows: 0fr; transition: grid-template-rows 0.3s ease; }
.pf-faq-item.open .pf-faq-a-wrap { grid-template-rows: 1fr; }
.pf-faq-a { overflow: hidden; padding: 0 60px 0 60px; font-size: 15px; line-height: 1.6; color: rgba(255,255,255,0.75); text-wrap: pretty; }
.pf-faq-item.open .pf-faq-a { padding-bottom: 26px; }
@media (max-width: 900px) {
  .pf-faq-inner { grid-template-columns: 1fr; gap: 48px; }
  .pf-faq-q { grid-template-columns: 32px 1fr auto; gap: 10px; padding: 20px 4px; }
  .pf-faq-q-text { font-size: 16px; }
  .pf-faq-a { padding: 0 0 0 42px; font-size: 14px; }
}

.pf-trademarks { background: #070763; color: #fff; padding: 0 0 40px; }
.pf-trademarks-note {
  font-size: 12px;
  line-height: 1.6;
  color: rgba(255,255,255,0.72);
  max-width: 900px;
  margin: 0 0 6px;
  text-wrap: pretty;
}
.pf-trademarks-note:last-child { margin-bottom: 0; }

.pf-close { background: #070763; color: #fff; padding: var(--section-pad) 0; position: relative; overflow: hidden; }
.pf-close::before { content: ""; position: absolute; top: -200px; right: -150px; width: 600px; height: 600px; border-radius: 50%; background: radial-gradient(circle, rgba(20,49,167,0.6), transparent 70%); filter: blur(80px); pointer-events: none; }
.pf-close-head { max-width: 820px; margin: 0 auto 64px; text-align: center; position: relative; }
.pf-close-title { font-size: clamp(36px, 4.6vw, 64px); font-weight: 400; letter-spacing: -0.025em; line-height: 1.04; margin: 0 0 24px; text-wrap: balance; }
.pf-close-accent { background: linear-gradient(92deg, #C5D6FF 10%, #fff 55%, #C5D6FF 95%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.pf-close-body { font-size: 17px; line-height: 1.55; color: rgba(255,255,255,0.78); max-width: 680px; margin: 0 auto; text-wrap: pretty; }
.pf-close-grid { position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: 40px; max-width: 1200px; margin: 0 auto; }
.pf-close-form-wrap { background: #fff; color: #1e1e1e; border: 1px solid rgba(197,214,255,0.35); border-radius: 14px; padding: 40px 36px; box-shadow: 0 40px 80px -30px rgba(0,0,0,0.5); }
.pf-close-form-title { font-size: 24px; font-weight: 600; letter-spacing: -0.018em; margin-bottom: 6px; color: #1e1e1e; }
.pf-close-form-hint { font-size: 13px; color: rgba(30, 30, 30, 0.68); margin-bottom: 26px; line-height: 1.5; }
.pf-close-form { display: flex; flex-direction: column; gap: 16px; }
.pf-close-form label { display: flex; flex-direction: column; gap: 6px; }
.pf-close-form label span { font-size: 10px; letter-spacing: 0.14em; font-weight: 700; color: rgba(30, 30, 30, 0.68); text-transform: uppercase; }
.pf-close-form input, .pf-close-form select { font-family: inherit; font-size: 15px; padding: 12px 14px; background: #fafafa; color: #1e1e1e; border: 1px solid rgba(30,30,30,0.12); border-radius: 7px; outline: none; transition: border-color 0.2s, box-shadow 0.2s; }
.pf-close-form input:focus, .pf-close-form select:focus { border-color: #1431A7; background: #fff; box-shadow: 0 0 0 3px rgba(20,49,167,0.1); }
.pf-close-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.pf-close-submit { margin-top: 12px; display: inline-flex; align-items: center; justify-content: center; gap: 10px; font-family: inherit; font-size: 15px; font-weight: 600; padding: 15px 20px; background: #1431A7; color: #fff; border: none; border-radius: 7px; cursor: pointer; transition: background 0.2s, transform 0.2s; box-shadow: 0 8px 24px -8px rgba(20,49,167,0.5); width: 100%; }
.pf-close-submit:hover { background: #070763; transform: translateY(-1px); }
.pf-close-success { display: flex; flex-direction: column; align-items: center; text-align: center; padding: 40px 20px; gap: 18px; color: #1e1e1e; }
.pf-close-success-check { color: #16a34a; }
.pf-close-success-text { font-size: 16px; max-width: 320px; text-wrap: pretty; line-height: 1.5; }
.pf-close-quotes-wrap { display: flex; flex-direction: column; gap: 16px; }
.pf-close-quotes-label { font-size: 10px; letter-spacing: 0.2em; font-weight: 600; color: rgba(197,214,255,0.65); margin-bottom: 6px; }
.pf-close-quotes { display: flex; flex-direction: column; gap: 16px; }
.pf-close-quote { position: relative; padding: 22px 24px 22px 34px; background: rgba(197,214,255,0.04); border: 1px solid rgba(197,214,255,0.1); border-left: 2px solid #C5D6FF; border-radius: 8px; }
.pf-close-quote-mark { position: absolute; top: 4px; left: 16px; font-size: 40px; color: rgba(197, 214, 255, 0.64); line-height: 1; font-family: Georgia, serif; }
.pf-close-quote-text { font-size: 15px; line-height: 1.5; color: rgba(255,255,255,0.9); margin-bottom: 14px; text-wrap: pretty; }
.pf-close-quote-name { font-size: 13px; font-weight: 500; color: #fff; }
.pf-close-quote-company { font-size: 10.5px; letter-spacing: 0.1em; color: rgba(197, 214, 255, 0.64); font-family: monospace; }
@media (max-width: 900px) { .pf-close-grid { grid-template-columns: 1fr; } .pf-close-form-row { grid-template-columns: 1fr; } }

footer .wpcf7-form-control.wpcf7-submit{width: auto;max-width: none;}

.pf-testimonials { padding: var(--section-pad) 0; background: #fafbfd; }
 .wpcf7-form-control {
    width: 100%;
    max-width: 100%;
    display: block;
    box-sizing: border-box;
}

.close-form input,
.close-form select {
    padding: 12px 14px;
    border: 1px solid #ddd;
    border-radius: 6px;
}

.pf-midcta-submit {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    padding: 14px 20px !important;
    background: #1431A7 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 7px !important;
    font-family: inherit !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: background 0.2s, transform 0.2s !important;
}

.pf-midcta-submit:hover {
    background: #070763 !important;;
    transform: translateY(-1px) !important;;
}

#platform-demo-form .fcta-gdpr{display: block;}
#platform-demo-form .fcta-gdpr input[type="checkbox"]{padding: 7px 8px;}
:root {
    --ab-navy:        #070763;
    --ab-navy-deep:   #04043F;
    --ab-blue:        #1431A7;
    --ab-blue-bright: #C5D6FF;
    --ab-cyan:        #6EA8FF;
    --ab-text:        #1E1E1E;
    --ab-text-dim:    rgba(30,30,30,0.72);
    --ab-text-faint:  rgba(30, 30, 30, 0.68);
    --ab-line:        rgba(30,30,30,0.10);
    --ab-bg-1:        #FFFFFF;
    --ab-bg-2:        #F5F7FB;
    --ab-bg-3:        #ECEEF6;
  }

  .ab-section-title {
    font-size: clamp(34px, 4.2vw, 56px);
    font-weight: 400; line-height: 1.06;
    letter-spacing: -0.022em; color: var(--ab-text);
    margin: 0; text-wrap: balance;
  }
  .ab-title-accent { color: var(--ab-blue); font-weight: 500; }
  .ab-eyebrow {
    font-size: 11px; letter-spacing: 0.22em; font-weight: 700;
    color: var(--ab-text-faint); text-transform: uppercase; margin-bottom: 18px;
    display: block;
  }
  .ab-btn {
    display: inline-flex; align-items: center; gap: 10px;
    padding: 14px 24px; font-size: 14.5px; font-weight: 500;
    letter-spacing: -0.005em; border-radius: 8px;
    text-decoration: none; border: 1px solid transparent;
    transition: all 0.2s ease;
  }
  .ab-btn-primary {
    background: var(--ab-blue-bright); color: var(--ab-navy);
    border-color: var(--ab-blue-bright);
    box-shadow: 0 12px 28px -10px rgba(197,214,255,0.45);
  }
  .ab-btn-primary:hover {
    background: #DCE6FF; border-color: #DCE6FF;
    transform: translateY(-1px);
  }
  .ab-btn-ghost { color: rgba(255,255,255,0.92); border-color: rgba(197,214,255,0.30); background: transparent; }
  .ab-btn-ghost:hover { color: var(--ab-blue-bright); border-color: var(--ab-blue-bright); }
  .ab-arrow { transition: transform 0.2s; }
  .ab-btn:hover .ab-arrow { transform: translateX(3px); }

  .ab-hero {
    position: relative; background: var(--ab-navy); color: #fff;
    padding: 140px 0 110px; overflow: hidden; isolation: isolate; min-height: 720px;
  }
  .ab-hero-bg { position: absolute; inset: 0; pointer-events: none; }
  .ab-hero-grid {
    position: absolute; inset: 0;
    background-image: linear-gradient(to right, rgba(255,255,255,0.04) 1px, transparent 1px), linear-gradient(to bottom, rgba(255,255,255,0.04) 1px, transparent 1px);
    background-size: 64px 64px;
    mask-image: radial-gradient(ellipse 70% 60% at 50% 40%, black 30%, transparent 80%);
    -webkit-mask-image: radial-gradient(ellipse 70% 60% at 50% 40%, black 30%, transparent 80%);
  }
  .ab-hero-glow {
    position: absolute; right: -12%; top: -180px;
    width: 1100px; height: 1100px; border-radius: 50%;
    background: radial-gradient(circle, rgba(110,168,255,0.40) 0%, rgba(20,49,167,0.32) 38%, transparent 72%);
    filter: blur(60px); animation: ab-breath 9s ease-in-out infinite;
  }
  .ab-hero-glow-blue {
    position: absolute; left: -10%; bottom: -200px;
    width: 700px; height: 700px; border-radius: 50%;
    background: radial-gradient(circle, rgba(166,187,255,0.18) 0%, rgba(20,49,167,0.14) 45%, transparent 70%);
    filter: blur(70px);
  }
  @keyframes ab-breath {
    0%,100% { opacity:0.85; transform:translate3d(0,0,0) scale(1); }
    50%     { opacity:1;    transform:translate3d(0,0,0) scale(1.04); }
  }
  .ab-hero-vignette {
    position: absolute; inset: 0;
    background: radial-gradient(ellipse 100% 80% at 50% 50%, transparent 30%, rgba(0,0,0,0.45) 100%);
  }
  .ab-hero-container { position: relative; z-index: 1; }
  .ab-hero-grid-cols {
    display: grid; grid-template-columns: 1.05fr 0.95fr;
    gap: 64px; align-items: center;
  }
  .ab-hero-text { max-width: 640px; }
  .ab-hero-h1 {
    font-size: clamp(40px, 5vw, 72px); font-weight: 400;
    letter-spacing: -0.022em; line-height: 1.04; margin: 0 0 26px;
    color: #fff; text-wrap: balance;
  }
  .ab-h1-accent { color: var(--ab-blue-bright); font-weight: 500; }
  .ab-hero-sub {
    font-size: 17.5px; line-height: 1.6; color: rgba(255,255,255,0.78);
    max-width: 580px; margin: 0 0 36px; text-wrap: pretty;
  }
  .ab-hero-cta { display: flex; gap: 14px; flex-wrap: wrap; }
  .ab-hero-mark {
    position: relative; display: flex;
    flex-direction: column; align-items: center; justify-content: center;
  }
  .ab-amark-svg {
    width: 100%; max-width: 560px; height: auto;
    filter: drop-shadow(0 30px 80px rgba(110,168,255,0.18));
  }
  .ab-amark-dots circle {
    opacity: 0; transform: scale(0.4) translate(0,24px);
    transform-box: fill-box;
    transition: opacity 700ms cubic-bezier(0.2,0.7,0.2,1), transform 800ms cubic-bezier(0.2,0.7,0.2,1);
    will-change: opacity, transform;
  }
  .ab-amark-svg.is-ready .ab-amark-dots circle {
    opacity: 1; transform: scale(1) translate(0,0);
  }
  .ab-amark-outline { opacity: 0; transition: opacity 1400ms ease 1100ms; }
  .ab-amark-svg.is-ready .ab-amark-outline { opacity: 1; }
  @media (max-width: 1000px) {
    .ab-hero-grid-cols { grid-template-columns: 1fr; gap: 48px; }
    .ab-hero { padding: 110px 0 90px; }
    .ab-hero-mark { order: -1; max-width: 380px; margin: 0 auto; }
  }
  @media (prefers-reduced-motion: reduce) {
    .ab-amark-dots circle, .ab-amark-outline {
      transition: none !important; transform: none !important; opacity: 1 !important;
    }
  }

  .ab-origin {
    padding: 120px 0; background: var(--ab-bg-1); color: var(--ab-text); position: relative;
  }
  .ab-origin::before, .ab-origin::after {
    content:""; position:absolute; left:6%; right:6%; height:1px; background:var(--ab-line);
  }
  .ab-origin::before { top:0; }
  .ab-origin::after { bottom:0; }
  .ab-origin-grid {
    display: grid; grid-template-columns: 0.9fr 1.1fr;
    gap: 80px; align-items: start;
  }
  .ab-origin-p {
    font-size: 18.5px; line-height: 1.65;
    color: rgba(30,30,30,0.78); margin: 0 0 22px; text-wrap: pretty;
  }
  .ab-origin-p:last-child { margin-bottom: 0; }
  @media (max-width: 900px) {
    .ab-origin-grid { grid-template-columns: 1fr; gap: 36px; }
    .ab-origin { padding: 90px 0; }
  }

  .ab-quote {
    background: var(--ab-navy); color: #fff;
    padding: 130px 0; position: relative; overflow: hidden; isolation: isolate;
  }
  .ab-quote-bg { position: absolute; inset: 0; pointer-events: none; }
  .ab-quote-grid {
    position: absolute; inset: 0;
    background-image: linear-gradient(to right, rgba(255,255,255,0.04) 1px, transparent 1px), linear-gradient(to bottom, rgba(255,255,255,0.04) 1px, transparent 1px);
    background-size: 64px 64px;
    mask-image: radial-gradient(ellipse 60% 60% at 50% 50%, black 30%, transparent 80%);
    -webkit-mask-image: radial-gradient(ellipse 60% 60% at 50% 50%, black 30%, transparent 80%);
  }
  .ab-quote-glow {
    position: absolute; left:50%; top:50%; transform: translate(-50%,-50%);
    width:900px; height:900px; border-radius:50%;
    background: radial-gradient(circle, rgba(110,168,255,0.16) 0%, rgba(20,49,167,0.10) 40%, transparent 72%);
    filter: blur(60px);
  }
  .ab-quote-container { position: relative; z-index: 1; }
  .ab-quote-block { max-width: 920px; margin: 0 auto; text-align: center; position: relative; }
  .ab-quote-mark {
    font-size: 200px; line-height: 0.7; color: rgba(197,214,255,0.18);
    margin-bottom: -20px; height: 80px; user-select: none;
  }
  .ab-quote-text {
    font-size: clamp(28px, 3.2vw, 44px); font-weight: 400;
    line-height: 1.18; letter-spacing: -0.018em; color: #fff;
    margin: 0 0 40px; text-wrap: balance;
  }
  .ab-quote-attr { display: inline-flex; align-items: center; gap: 14px; }
  .ab-quote-author { font-size: 15.5px; font-weight: 600; color: #fff; line-height: 1.3; text-align: left; }
  .ab-quote-role {
    font-size: 11px; letter-spacing: 0.18em; font-weight: 600;
    color: rgba(197,214,255,0.65); text-transform: uppercase;
    line-height: 1.3; text-align: left; margin-top: 2px;
  }
  @media (max-width: 700px) {
    .ab-quote { padding: 90px 0; }
    .ab-quote-mark { font-size: 140px; }
  }

  .ab-platform {
    padding: 130px 0; background: var(--ab-bg-1); color: var(--ab-text); position: relative;
  }
  .ab-platform::before, .ab-platform::after {
    content:""; position:absolute; left:6%; right:6%; height:1px; background:var(--ab-line);
  }
  .ab-platform::before { top:0; }
  .ab-platform::after { bottom:0; }
  .ab-platform-head { max-width: 820px; margin-bottom: 56px; }
  .ab-platform-sub {
    font-size: 17px; line-height: 1.6; color: rgba(30,30,30,0.7);
    margin: 22px 0 0; max-width: 680px; text-wrap: pretty;
  }
  .ab-platform-video {
    position: relative; aspect-ratio: 21/9; max-height: 460px; width: 100%;
    border-radius: 14px; overflow: hidden; cursor: pointer;
    box-shadow: 0 30px 80px -20px rgba(20,49,167,0.35), 0 0 0 1px rgba(20,49,167,0.08) inset;
    transition: transform 0.3s, box-shadow 0.3s;
  }
  .ab-platform-video:hover {
    transform: translateY(-3px);
    box-shadow: 0 40px 90px -20px rgba(20,49,167,0.45), 0 0 0 1px rgba(20,49,167,0.10) inset;
  }
  .ab-platform-poster {
    position: absolute; inset: 0;
    background: linear-gradient(135deg, #0a0e27 0%, #1431A7 50%, #2554d9 100%); overflow: hidden;
  }
  .ab-platform-poster-grid {
    position: absolute; inset: 0;
    background-image: linear-gradient(to right, rgba(197,214,255,0.06) 1px, transparent 1px), linear-gradient(to bottom, rgba(197,214,255,0.06) 1px, transparent 1px);
    background-size: 56px 56px;
    mask-image: radial-gradient(ellipse 80% 70% at 50% 50%, black 20%, transparent 75%);
    -webkit-mask-image: radial-gradient(ellipse 80% 70% at 50% 50%, black 20%, transparent 75%);
  }
  .ab-platform-poster-glow {
    position: absolute; inset: -20%;
    background: radial-gradient(circle at 20% 80%, rgba(110,168,255,0.35) 0%, transparent 45%), radial-gradient(circle at 80% 20%, rgba(197,214,255,0.20) 0%, transparent 50%);
    filter: blur(20px); pointer-events: none;
  }
  .ab-platform-video-top {
    position: absolute; top: 18px; left: 22px; right: 22px;
    display: flex; justify-content: space-between; align-items: center; z-index: 2;
  }
  .ab-platform-video-label {
    font-size: 10.5px; letter-spacing: 0.22em; font-weight: 700;

    text-transform: uppercase; color: rgba(255,255,255,0.92);
    text-shadow: 0 1px 3px rgba(7,7,10,0.65);
  }
  .ab-platform-video-dur {
    font-size: 10.5px; letter-spacing: 0.12em; font-weight: 700;
    color: rgba(255,255,255,0.85); padding: 4px 10px;
    background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.14); border-radius: 999px;
  }
  .ab-platform-play {
    position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%);
    width: 96px; height: 96px; background: transparent; border: 0;
    cursor: pointer; padding: 0; display: grid; place-items: center; z-index: 2;
  }
  .ab-platform-play-ring, .ab-platform-play-ring-2 {
    position: absolute; inset: 0; border-radius: 50%;
    border: 2px solid rgba(255,255,255,0.35);
    animation: ab-platform-pulse 2.4s ease-out infinite;
  }
  .ab-platform-play-ring-2 { animation-delay: 1.2s; }
  @keyframes ab-platform-pulse {
    0%  { transform: scale(1);    opacity: 0.7; }
    70% { transform: scale(1.45); opacity: 0; }
    100%{ transform: scale(1.45); opacity: 0; }
  }
  .ab-platform-play-btn {
    width: 64px; height: 64px; background: #fff; border-radius: 50%;
    display: grid; place-items: center;
    box-shadow: 0 16px 40px -8px rgba(255,255,255,0.30);
    transition: transform 0.2s; padding-left: 4px;
  }
  .ab-platform-video:hover .ab-platform-play-btn { transform: scale(1.06); }
  .ab-platform-video-caption {
    position: absolute; left: 22px; right: 22px; bottom: 18px;
    font-size: 10.5px; letter-spacing: 0.18em; font-weight: 600;
    text-transform: uppercase; color: rgba(255,255,255,0.62); z-index: 2;
  }
  .ab-platform-actions { margin-top: 32px; display: flex; justify-content: center; }
  .ab-platform-cta {
    display: inline-flex; align-items: center; gap: 10px; padding: 14px 24px;
    font-size: 14.5px; font-weight: 500; letter-spacing: -0.005em;
    border-radius: 8px; background: var(--ab-navy); color: #fff;
    text-decoration: none; transition: background 0.2s, transform 0.2s;
  }
  .ab-platform-cta:hover { background: #0a1380; transform: translateY(-1px); }
  .ab-platform-cta .ab-arrow { transition: transform 0.25s; }
  .ab-platform-cta:hover .ab-arrow { transform: translateX(3px); }
  @media (max-width: 800px) {
    .ab-platform { padding: 100px 0; }
    .ab-platform-play { width: 72px; height: 72px; }
    .ab-platform-play-btn { width: 52px; height: 52px; }
  }

  .ab-numbers {
    background: var(--ab-navy); color: #fff; padding: 120px 0;
    position: relative; overflow: hidden;
  }
  .ab-numbers::before {
    content:""; position:absolute; inset:0;
    background-image: linear-gradient(to right, rgba(255,255,255,0.04) 1px, transparent 1px), linear-gradient(to bottom, rgba(255,255,255,0.04) 1px, transparent 1px);
    background-size: 64px 64px;
    mask-image: radial-gradient(ellipse 70% 60% at 50% 50%, black 30%, transparent 80%);
    -webkit-mask-image: radial-gradient(ellipse 70% 60% at 50% 50%, black 30%, transparent 80%);
    pointer-events: none;
  }
  .ab-numbers > .container { position: relative; z-index: 1; }
  .ab-numbers-head { max-width: 760px; margin-bottom: 40px; }
  .ab-section-title-on-dark { color: #fff; }
  .ab-title-accent-on-dark { color: var(--ab-blue-bright); font-weight: 500; }
  .ab-numbers-logos {
    padding: 22px 0 26px; margin-bottom: 28px;
    border-top: 1px solid rgba(255,255,255,0.10);
    border-bottom: 1px solid rgba(255,255,255,0.10);
  }
  .ab-numbers-logos-strip {
    overflow: hidden;
    mask-image: linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%);
    -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%);
  }
  .ab-numbers-logos-track {
    display: flex; gap: 64px; align-items: center; --marquee-gap: 64px;
    animation: ab-numbers-marquee 50s linear infinite; width: max-content;
  }
  .ab-numbers-logos-track img {
    height: 28px; width: auto; opacity: 0.55;
    filter: grayscale(1) brightness(0) invert(1);
    transition: opacity 0.25s; flex: 0 0 auto;
  }
  .ab-numbers-logos-track img:hover { opacity: 0.95; }
  .ab-numbers-logos-strip:hover .ab-numbers-logos-track { animation-play-state: paused; }
  @keyframes ab-numbers-marquee {
    from { transform: translateX(0); }
    to   { transform: translateX(calc(-50% - var(--marquee-gap, 0px) / 2)); }
  }
  .ab-numbers-grid {
    display: grid; grid-template-columns: repeat(4, 1fr);
    gap: 1px; background: rgba(255,255,255,0.10);
    border: 1px solid rgba(255,255,255,0.10);
  }
  .ab-kpi {
    background: var(--ab-navy); padding: 36px 30px 32px;
    display: flex; flex-direction: column; gap: 10px; min-height: 220px;
  }
  .ab-kpi-v {
    font-size: clamp(40px, 4.6vw, 64px); font-weight: 400;
    line-height: 1; letter-spacing: -0.025em; color: var(--ab-blue-bright);
  }
  .ab-kpi-k { font-size: 13.5px; font-weight: 600; color: #fff; letter-spacing: -0.01em; margin-top: 8px; }
  .ab-kpi-sub { font-size: 13px; line-height: 1.5; color: rgba(255,255,255,0.62); margin-top: auto; text-wrap: pretty; }
  @media (max-width: 900px) {
    .ab-numbers-grid { grid-template-columns: repeat(2, 1fr); }
    .ab-numbers { padding: 90px 0; }
  }

  .ab-certs { padding: 84px 0 80px; background: var(--ab-bg-1); color: var(--ab-text); }
  .ab-certs-head { max-width: 720px; margin-bottom: 44px; }
  .ab-values-lead {
    font-size: 17px; line-height: 1.6; color: rgba(30,30,30,0.7);
    margin: 22px 0 0; max-width: 680px; text-wrap: pretty;
  }
  .ab-certs-block { margin-bottom: 36px; }
  .ab-certs-block:last-child { margin-bottom: 0; }
  .ab-certs-blockhead { display: flex; align-items: center; gap: 18px; margin-bottom: 20px; }
  .ab-certs-blocklabel {
    font-size: 11px; letter-spacing: 0.22em; font-weight: 700;
    color: var(--ab-text-faint); text-transform: uppercase; white-space: nowrap;
  }
  .ab-certs-blockrule { flex: 1; height: 1px; background: var(--ab-line); }
  .ab-certs-row { display: grid; gap: 16px; }
  .ab-certs-row-company { grid-template-columns: repeat(3, 1fr); }
  .ab-certs-row-team    { grid-template-columns: repeat(6, 1fr); }
  .ab-cert {
    display: flex; flex-direction: column; align-items: center; gap: 12px;
    padding: 22px 14px 18px; border: 1px solid var(--ab-line);
    border-radius: 6px; background: var(--ab-bg-1);
    transition: background 0.2s, border-color 0.2s, transform 0.2s;
  }
  .ab-cert:hover { background: #fff; border-color: rgba(20,49,167,0.2); transform: translateY(-2px); }
  .ab-cert-img-wrap { display: flex; align-items: center; justify-content: center; }
  .ab-cert-company .ab-cert-img-wrap { height: 76px; }
  .ab-cert-team    .ab-cert-img-wrap { height: 64px; }
  .ab-cert img { max-width: 100%; max-height: 100%; object-fit: contain; }
  .ab-cert-label {
    font-size: 10.5px; letter-spacing: 0.18em; font-weight: 700;
    color: var(--ab-text-dim); text-align: center;
  }
  @media (max-width: 900px) {
    .ab-certs-row-team    { grid-template-columns: repeat(3, 1fr); }
    .ab-certs-row-company { grid-template-columns: repeat(3, 1fr); }
  }
  @media (max-width: 560px) {
    .ab-certs-row-team    { grid-template-columns: repeat(2, 1fr); }
    .ab-certs-row-company { grid-template-columns: 1fr; }
  }

  .ab-closing {
    padding: 150px 0 160px;
    background: linear-gradient(180deg, #04043F 0%, #070763 55%, #0A0A78 100%);
    color: #fff; position: relative; overflow: hidden;
  }
  .ab-closing-bg { position: absolute; inset: 0; pointer-events: none; }
  .ab-closing-grid {
    position: absolute; inset: 0;
    background-image: linear-gradient(to right, rgba(255,255,255,0.04) 1px, transparent 1px), linear-gradient(to bottom, rgba(255,255,255,0.04) 1px, transparent 1px);
    background-size: 64px 64px;
    mask-image: radial-gradient(ellipse 70% 60% at 50% 50%, black 30%, transparent 82%);
    -webkit-mask-image: radial-gradient(ellipse 70% 60% at 50% 50%, black 30%, transparent 82%);
  }
  .ab-closing-glow { position: absolute; border-radius: 50%; filter: blur(80px); animation: ab-closing-breath 11s ease-in-out infinite; }
  .ab-closing-glow-a { left:-10%; top:-200px; width:900px; height:900px; background: radial-gradient(circle, rgba(110,168,255,0.32) 0%, rgba(20,49,167,0.22) 40%, transparent 72%); animation-delay:0s; }
  .ab-closing-glow-b { right:-12%; bottom:-240px; width:1000px; height:1000px; background: radial-gradient(circle, rgba(166,187,255,0.26) 0%, rgba(20,49,167,0.18) 42%, transparent 72%); animation-name: ab-closing-breath-b; animation-delay: -4s; }
  .ab-closing-glow-c { left:50%; top:50%; transform:translate(-50%,-50%); width:700px; height:700px; background: radial-gradient(circle, rgba(197,214,255,0.10) 0%, transparent 70%); filter:blur(60px); animation:none; }
  @keyframes ab-closing-breath   { 0%,100%{opacity:0.85;transform:translate3d(0,0,0) scale(1)} 50%{opacity:1;transform:translate3d(0,0,0) scale(1.05)} }
  @keyframes ab-closing-breath-b { 0%,100%{opacity:0.8;transform:translate3d(0,0,0) scale(1.02)} 50%{opacity:1;transform:translate3d(0,0,0) scale(1)} }
  .ab-closing-vignette { position: absolute; inset: 0; background: radial-gradient(ellipse 100% 80% at 50% 50%, transparent 35%, rgba(0,0,0,0.45) 100%); }
  .ab-closing > .container { position: relative; z-index: 1; }
  .ab-closing-inner {
    max-width: 760px; margin: 0 auto; text-align: center;
    display: flex; flex-direction: column; align-items: center; gap: 24px;
  }
  .ab-closing-title {
    font-size: clamp(36px, 4.4vw, 60px); font-weight: 400;
    line-height: 1.06; letter-spacing: -0.025em; color: #fff; margin: 0; text-wrap: balance;
  }
  .ab-closing-title-accent { color: var(--ab-blue-bright); font-weight: 500; }
  .ab-closing-body { font-size: 17px; line-height: 1.6; color: rgba(255,255,255,0.78); margin: 0; max-width: 580px; text-wrap: pretty; }
  .ab-closing-actions { margin-top: 18px; }
  .ab-closing-btn {
    display: inline-flex; align-items: center; gap: 10px; padding: 16px 30px;
    background: var(--ab-blue-bright); color: var(--ab-navy); border-radius: 8px;
    font-size: 14.5px; font-weight: 600; letter-spacing: -0.005em; text-decoration: none;
    transition: background 0.2s, transform 0.2s, box-shadow 0.2s;
    box-shadow: 0 14px 32px -10px rgba(197,214,255,0.45);
  }
  .ab-closing-btn .ab-arrow { transition: transform 0.25s; }
  .ab-closing-btn:hover { background: #DCE6FF; transform: translateY(-1px); box-shadow: 0 18px 40px -10px rgba(197,214,255,0.6); }
  .ab-closing-btn:hover .ab-arrow { transform: translateX(3px); }
  @media (max-width: 900px) { .ab-closing { padding: 110px 0 120px; } }

.wpcf7-form p{
    margin:0;
}

.book-modal-backdrop form > p:nth-of-type(1) {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 10px;
    margin-bottom: 22px;
}

.wpcf7-list-item{
    margin:0 !important;
    width:100%;
    display:block;
}

.wpcf7-list-item label{
   display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 14px 10px;
    border: 1.5px solid rgba(7, 7, 99, 0.12);
    background: #fff;
    border-radius: 7px;
    cursor: pointer;
    font-family: inherit;
    text-align: center;
    transition: all 0.15s;
}

.wpcf7-list-item input{
    display:none !important;
}

.wpcf7-acceptance .wpcf7-list-item input{display: block !important;}

.book-modal .wpcf7-list-item:has(input:checked) label{
   border-color: var(--deep-navy);
    background: var(--deep-navy) !important;
    color: #fff;
}

.book-date{
    font-size: 11px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    font-weight: 500;
    opacity: 0.75;
    display: block;
}

.book-time{
       font-size: 16px;
    font-weight: 500;
    letter-spacing: -0.01em;
}

.book-modal-backdrop form input[type="text"], .book-modal-backdrop form input[type="email"]{
    font-family: inherit;
    font-size: 14px;
    padding: 12px 14px;
    border: 1.5px solid rgba(7, 7, 99, 0.12);
    border-radius: 7px;
    background: #fff;
    color: var(--deep-carbon);
    letter-spacing: -0.003em;
    margin-bottom: 10px;
}

.book-modal-backdrop form input[type="text"]:focus, .book-modal-backdrop form input[type="email"]:focus{
  outline: none;
    border-color: var(--cyber-blue)
}

  .ct-hero {
    background: var(--white);
    padding: 152px 0 56px;
    position: relative;
  }
  .ct-hero-inner { max-width: 1240px; text-align: left; }
  .ct-hero-title {
    font-size: clamp(28px, 3.6vw, 46px);
    font-weight: 600;
    line-height: 1.08;
    letter-spacing: -0.026em;
    color: var(--deep-navy);
    margin: 0 0 14px;
    white-space: nowrap;
  }
  .ct-hero-sub {
    font-size: clamp(15.5px, 1.2vw, 17.5px);
    line-height: 1.55;
    color: rgba(30,30,30,0.68);
    margin: 0;
    max-width: 64ch;
    text-wrap: pretty;
  }

  body .nav { background: var(--deep-navy) !important; backdrop-filter: none !important; border-bottom: 1px solid rgba(197,214,255,0.08) !important; }
  body .nav .nav-link { color: rgba(255,255,255,0.9) !important; }
  body .nav .nav-link:hover, body .nav .nav-link.active { color: #fff !important; background: rgba(197,214,255,0.1) !important; }
  body .nav .btn-nav-cta, body .nav .btn-nav-arrow { border-color: rgba(197,214,255,0.45) !important; color: #fff !important; }
  body .nav .btn-nav-cta:hover, body .nav .btn-nav-arrow:hover { background: #fff !important; color: var(--deep-navy) !important; border-color: #fff !important; }
  body .nav .lang-switch { border-color: rgba(197,214,255,0.2) !important; color: #fff !important; }
  body .nav .nav-logo-img { filter: none !important; }

  @media (max-width: 900px) { .ct-hero-title { white-space: normal; text-wrap: balance; } }
  @media (max-width: 720px) { .ct-hero { padding: 88px 0 22px; } }

  .ct-body { background: var(--white); padding: 8px 0 48px; }
  .ct-body-inner { max-width: 1240px; }
  .ct-grid {
    display: grid;
    grid-template-columns: minmax(0,5fr) minmax(0,7fr);
    gap: 64px;
    align-items: start;
  }

  .ct-proof { display:flex; flex-direction:column; gap:32px; position:sticky; top:96px; }

  .ct-sla {
    display:flex; align-items:flex-start; gap:16px;
    padding:18px 20px;
    background: #F7F9FF;
    border-radius:8px; border:1px solid rgba(20,49,167,0.08);
  }
  .ct-sla-pulse { position:relative; width:12px; height:12px; flex-shrink:0; margin-top:6px; }
  .ct-sla-pulse span { position:absolute; inset:3px; background:#16a34a; border-radius:50%; }
  .ct-sla-pulse span:last-child { inset:0; background:rgba(22,163,74,0.35); animation:ctPulse 2.2s ease-out infinite; }
  @keyframes ctPulse {
    0%   { transform:scale(0.6); opacity:0.85; }
    80%  { transform:scale(1.5); opacity:0; }
    100% { transform:scale(1.5); opacity:0; }
  }
  .ct-sla-title { font-size:15.5px; font-weight:600; color:var(--deep-navy); letter-spacing:-0.01em; line-height:1.3; }
  .ct-sla-sub   { font-size:13.5px; color:rgba(30, 30, 30, 0.68); margin-top:4px; line-height:1.5; }

  .ct-block-title {
    font-size:11px; font-weight:700; letter-spacing:0.16em; text-transform:uppercase;
    color:var(--cyber-blue); margin-bottom:18px;
  }
  .ct-block-title.small { color:rgba(30, 30, 30, 0.68); font-weight:600; letter-spacing:0.14em; margin-bottom:14px; }

  .ct-reviews { cursor:default; }
  .ct-rev-stage { position:relative; min-height:154px; }
  .ct-rev {
    position:absolute; inset:0;
    opacity:0; transform:translateY(6px);
    transition: opacity 0.45s ease, transform 0.45s ease;
    pointer-events:none;
    display:flex; flex-direction:column; gap:16px;
  }
  .ct-rev.is-on { opacity:1; transform:translateY(0); pointer-events:auto; }
  .ct-rev-quote { margin:0; font-size:15px; line-height:1.6; color:rgba(30,30,30,0.82); text-wrap:pretty; }
  .ct-rev-quote::before { content:"\201C"; }
  .ct-rev-quote::after  { content:"\201D"; }
  .ct-rev-meta { display:flex; align-items:center; gap:14px; }

  .ct-rev-logo { height:22px; filter:grayscale(1) contrast(1.05); opacity:0.75; }
  .ct-rev-text { display:inline-flex; align-items:center; gap:8px; font-size:12.5px; color:rgba(30, 30, 30, 0.68); }
  .ct-rev-name { color:var(--deep-navy); font-weight:600; }
  .ct-rev-sep  { color:rgba(30, 30, 30, 0.68); }
  .ct-rev-dots { display:flex; gap:8px; margin-top:16px; }
  .ct-rev-dot {
    width:6px; height:6px; border:0; padding:0;
    background:rgba(30,30,30,0.18); border-radius:50%; cursor:pointer;
    transition: width 0.25s, background 0.25s;
  }
  .ct-rev-dot.is-on { width:20px; border-radius:3px; background:var(--cyber-blue); }

  .ct-logos-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px 22px; align-items:center; }
  .ct-logo-cell { display:flex; align-items:center; justify-content:center; height:30px; }

  .ct-logo-cell img { height:28px; filter:grayscale(1) contrast(1.02); opacity:0.6; transition:opacity 0.2s,filter 0.2s; }
  .ct-logo-cell:hover img { opacity:0.95; filter:grayscale(0) contrast(1); }

  .ct-form-card {
    background: var(--white);
    border: 1px solid rgba(30,30,30,0.12);
    border-radius: 10px;
    padding: 26px 30px 28px;
    box-shadow:
      0 1px 0 rgba(255,255,255,0.6) inset,
      0 30px 80px -50px rgba(20,49,167,0.18),
      0 6px 18px -12px rgba(30,30,30,0.08);
  }
  .ct-form-head { margin-bottom:20px; }
  .ct-form-title { font-size:clamp(22px,2.2vw,28px); font-weight:600; letter-spacing:-0.02em; line-height:1.15; color:var(--deep-navy); margin:0 0 8px; text-wrap:balance; }
  .ct-form-sub   { font-size:13.5px; color:rgba(30, 30, 30, 0.68); margin:0; }
  .ct-form       { display:flex; flex-direction:column; gap:14px; }
  .ct-row.two    { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
  .ct-field      { display:flex; flex-direction:column; gap:6px; min-width:0; }
  .ct-label      { font-size:12.5px; font-weight:600; color:var(--deep-navy); letter-spacing:-0.005em; }
  .ct-field input,
  .ct-field select,
  .ct-field textarea {
    width:100%; font:inherit; font-size:14.5px; line-height:1.45;
    color:var(--deep-carbon); background:var(--white);
    border:1px solid rgba(30,30,30,0.18); border-radius:6px;
    padding:9px 12px; font-family:inherit;
    transition: border-color 0.15s, box-shadow 0.15s;
  }
  .ct-field textarea { resize:vertical; min-height:88px; }
  .ct-field select {
    appearance:none; -webkit-appearance:none;
    background-image:
      linear-gradient(45deg, transparent 50%, rgba(30,30,30,0.5) 50%),
      linear-gradient(135deg, rgba(30,30,30,0.5) 50%, transparent 50%);
    background-position: calc(100% - 18px) 50%, calc(100% - 13px) 50%;
    background-size: 5px 5px, 5px 5px;
    background-repeat: no-repeat;
    padding-right:32px; cursor:pointer;
  }
  .ct-field input::placeholder,
  .ct-field textarea::placeholder { color:rgba(30, 30, 30, 0.68); }
  .ct-field input:hover,
  .ct-field select:hover,
  .ct-field textarea:hover { border-color:rgba(30,30,30,0.32); }
  .ct-field input:focus,
  .ct-field select:focus,
  .ct-field textarea:focus { outline:0; border-color:var(--cyber-blue); box-shadow:0 0 0 3px rgba(20,49,167,0.12); }
  .ct-consent {
    display:flex !important; align-items:flex-start; gap:10px;
    font-size:13px; color:rgba(30, 30, 30, 0.68); line-height:1.5; margin-top:4px;
  }
  .ct-consent input[type="checkbox"] { margin-top:3px; width:16px; height:16px; accent-color:var(--cyber-blue); flex-shrink:0; cursor:pointer; }
  .ct-consent a { color:var(--cyber-blue); text-decoration:underline; text-underline-offset:2px; }
  .ct-submit-row { display:flex; margin-top:8px; }
  .ct-submit { width:100%; justify-content:center; padding:14px 22px; font-size:15px; }
  .ct-submit:disabled { opacity:0.7; cursor:progress; }

  .ct-success { padding:24px 8px 8px; display:flex; flex-direction:column; align-items:flex-start; gap:16px; }
  .ct-success-icon { width:52px; height:52px; border-radius:50%; background:rgba(22,163,74,0.10); color:#16a34a; display:flex; align-items:center; justify-content:center; }
  .ct-success-title { font-size:22px; font-weight:600; letter-spacing:-0.02em; color:var(--deep-navy); margin:0; }
  .ct-success-body  { font-size:15px; line-height:1.55; color:rgba(30,30,30,0.7); margin:0; max-width:48ch; }

  @media (max-width:1100px) {
    .ct-grid { grid-template-columns:1fr; gap:56px; }
    .ct-proof { position:static; }
  }
  @media (max-width:720px) {
    .ct-row.two { grid-template-columns:1fr; gap:14px; }
    .ct-form-card { padding:26px 22px; }
    .ct-logos-grid { grid-template-columns:repeat(3,1fr); }
    .ct-body { padding:16px 0 80px; }
  }

.ct-form .wpcf7-form{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
}

.ct-form .wpcf7-form > p{
    margin:0;
}

.ct-form .wpcf7-form > p:nth-of-type(7){
    grid-column:1/-1;
}

.ct-form .wpcf7-form > p:nth-of-type(8){
    grid-column:1/-1;
}

.ct-form .ct-submit-row{
    grid-column:1/-1;
}

.ct-form .wpcf7-form-control-wrap{
    display:block;
    width:100%;
}

.ct-form input,
.ct-form select,
.ct-form textarea{
    width:100%;
}

.ct-form .wpcf7-form label{margin-bottom: 0;}
.ct-form .wpcf7-form p{width: 100%;}

@media (max-width:767px){
    .ct-form .wpcf7-form{
        grid-template-columns:1fr;
    }
}

:root {
  --gl-navy: #070763;
  --gl-blue: #1431A7;
  --gl-blue-bright: #C5D6FF;
  --gl-text: #1E1E1E;
  --gl-text-dim: rgba(30,30,30,0.72);
  --gl-text-faint: rgba(30, 30, 30, 0.68);
  --gl-line: rgba(30,30,30,0.10);
  --gl-bg: #FFFFFF;
  --gl-bg-soft: #F5F7FB;
  --gl-bg-card: #FAFBFD;
  background: var(--gl-bg);
  color: var(--gl-text);
}

.gl-hero { padding: 130px 0 36px; background: var(--gl-bg); }
.gl-crumb {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 11px; letter-spacing: 0.18em; font-weight: 700;
  color: var(--gl-blue); text-transform: uppercase;
  text-decoration: none; margin-bottom: 28px;
}
.gl-crumb:hover { color: var(--gl-navy); }
.gl-hero-top {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(280px, 1fr);
  gap: 56px;
  align-items: end;
  margin-bottom: 38px;
}
.gl-title {
  font-size: clamp(34px, 4.4vw, 56px);
  font-weight: 400; letter-spacing: -0.024em;
  line-height: 1.05; color: var(--gl-navy);
  margin: 0 0 18px;
  text-wrap: balance;
}
.gl-subtitle {
  font-size: 17px; line-height: 1.6;
  color: var(--gl-text-dim);
  margin: 0; max-width: 580px;
  text-wrap: pretty;
}
.gl-search-wrap {
  position: relative;
  background: var(--gl-bg-soft);
  border: 1px solid var(--gl-line);
  border-radius: 10px;
  padding: 0 14px;
  display: flex; align-items: center;
  gap: 10px;
  transition: border-color 0.18s, background 0.18s;
}
.gl-search-wrap:focus-within {
  border-color: var(--gl-blue);
  background: #fff;
  box-shadow: 0 0 0 4px rgba(20,49,167,0.08);
}
.gl-search-icon { color: var(--gl-text-faint); flex: none; }
.gl-search {
  flex: 1; min-width: 0;
  background: transparent; border: none; outline: none;
  padding: 14px 0;
  font-family: inherit; font-size: 14.5px;
  color: var(--gl-text);
}
.gl-search::placeholder { color: var(--gl-text-faint); }
.gl-search-count {
  flex: none;
  font-size: 11px; letter-spacing: 0.14em; font-weight: 700;
  color: var(--gl-text-faint); text-transform: uppercase;
}

.gl-cats { display: flex; flex-direction: column; gap: 12px; }
.gl-cats-label {
  font-size: 11px; letter-spacing: 0.18em; font-weight: 700;
  color: var(--gl-text-faint); text-transform: uppercase;
}
.gl-cats-row { display: flex; flex-wrap: wrap; gap: 8px; }
.gl-chip {
  display: inline-flex; align-items: center; gap: 8px;
  background: #fff;
  border: 1px solid var(--gl-line);
  border-radius: 8px;
  padding: 8px 14px;
  font-family: inherit; font-size: 13px; font-weight: 500;
  color: var(--gl-text-dim);
  cursor: pointer;
  transition: border-color 0.15s, color 0.15s, background 0.15s, transform 0.18s;
}
.gl-chip:hover { border-color: var(--gl-blue); color: var(--gl-navy); transform: translateY(-1px); }
.gl-chip.is-active { font-weight: 600; }
.gl-chip-dot { width: 7px; height: 7px; border-radius: 50%; }
.gl-chip-count {
  font-size: 10.5px; letter-spacing: 0.10em; font-weight: 700;
  color: var(--gl-text-faint);
  padding: 2px 7px; border-radius: 99px;
  background: var(--gl-bg-soft);
}
.gl-chip.is-active .gl-chip-count { background: rgba(255,255,255,0.18); color: #fff; }
.gl-chip.is-active .gl-chip-dot { display: none; }

.gl-az-wrap {
  position: sticky; top: 64px; z-index: 40;
  background: rgba(255,255,255,0.92);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-top: 1px solid var(--gl-line);
  border-bottom: 1px solid var(--gl-line);
  padding: 14px 0;
}
.gl-az {
  display: flex; flex-wrap: wrap; gap: 6px;
  align-items: center;
}
.gl-az-btn {
  width: 36px; height: 36px;
  display: inline-flex; align-items: center; justify-content: center;
  background: transparent;
  border: 1px solid transparent;
  border-radius: 8px;
  font-family: ui-monospace, Menlo, monospace;
  font-size: 13px; font-weight: 600;
  color: var(--gl-text-dim);
  cursor: pointer;
  transition: background 0.15s, color 0.15s, border-color 0.15s;
}
.gl-az-btn:hover:not(:disabled) { background: var(--gl-bg-soft); color: var(--gl-navy); }
.gl-az-btn.is-active { background: var(--gl-navy); color: #fff; }
.gl-az-btn.is-empty, .gl-az-btn:disabled { color: rgba(30,30,30,0.22); cursor: not-allowed; }
.gl-az-all {
  width: auto; padding: 0 14px;
  font-family: inherit; font-size: 12.5px;
  letter-spacing: 0.04em;
}

.gl-results { padding: 56px 0 100px; }
.gl-letter-section + .gl-letter-section { margin-top: 56px; }
.gl-letter-head {
  display: flex; align-items: center; gap: 18px;
  margin-bottom: 22px;
  scroll-margin-top: 140px;
}
.gl-letter-glyph {
  font-family: ui-monospace, Menlo, monospace;
  font-size: 28px; font-weight: 700;
  color: var(--gl-navy);
  width: 48px; height: 48px;
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--gl-bg-soft);
  border: 1px solid var(--gl-line);
  border-radius: 10px;
}
.gl-letter-line { flex: 1; height: 1px; background: var(--gl-line); }
.gl-letter-count {
  font-size: 11px; letter-spacing: 0.16em; font-weight: 700;
  color: var(--gl-text-faint); text-transform: uppercase;
}
.gl-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }

.gl-card {
  display: flex; flex-direction: column;
  background: #fff;
  border: 1px solid var(--gl-line);
  border-radius: 12px;
  padding: 22px 22px 20px;
  text-decoration: none; color: inherit;
  transition: transform 0.22s, box-shadow 0.22s, border-color 0.22s;
  min-height: 220px;
}
.gl-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 18px 40px rgba(7,7,99,0.10);
  border-color: rgba(20,49,167,0.20);
}
.gl-card-head { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; }
.gl-card-mark {
  width: 36px; height: 36px;
  display: inline-flex; align-items: center; justify-content: center;
  border: 1.5px solid currentColor;
  border-radius: 8px;
  font-family: ui-monospace, Menlo, monospace;
  font-size: 15px; font-weight: 700;
  flex: none;
}
.gl-card-cat {
  font-size: 10.5px; letter-spacing: 0.16em; font-weight: 700;
  text-transform: uppercase;
}
.gl-card-term {
  font-size: 17px; font-weight: 500; letter-spacing: -0.01em;
  color: var(--gl-navy); margin: 0 0 8px; line-height: 1.3;
}
.gl-card-def {
  font-size: 13.5px; line-height: 1.55;
  color: var(--gl-text-dim);
  margin: 0; flex: 1;
  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical;
  overflow: hidden; text-wrap: pretty;
}
.gl-card-foot {
  display: flex; align-items: center; gap: 6px;
  margin-top: 14px;
  font-weight: 600; color: var(--gl-blue);
  transition: gap 0.18s;
}
.gl-card:hover .gl-card-foot { gap: 10px; }
.gl-card-cta { font-size: 11px; letter-spacing: 0.14em; font-weight: 700; text-transform: uppercase; }

.gl-empty {
  padding: 80px 24px; text-align: center;
  border: 1px dashed var(--gl-line); border-radius: 12px;
  background: var(--gl-bg-soft);
}
.gl-empty-title { font-size: 20px; font-weight: 500; color: var(--gl-navy); margin-bottom: 6px; }
.gl-empty-hint { font-size: 14px; color: var(--gl-text-dim); }

@media (max-width: 1100px) { .gl-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 900px) { .gl-hero-top { grid-template-columns: 1fr; gap: 26px; align-items: stretch; } }
@media (max-width: 700px) {
  .gl-hero { padding: 110px 0 28px; }
  .gl-grid { grid-template-columns: 1fr; }
  .gl-az-btn { width: 32px; height: 32px; font-size: 12px; }
  .gl-az-wrap { top: 60px; padding: 10px 0; }
}

:root {
  --gd-navy: #070763; --gd-blue: #1431A7; --gd-blue-bright: #C5D6FF;
  --gd-text: #1E1E1E; --gd-text-dim: rgba(30,30,30,0.78); --gd-text-faint: rgba(30, 30, 30, 0.68);
  --gd-line: rgba(30,30,30,0.10); --gd-bg-soft: #F5F7FB;
  background: #fff; color: var(--gd-text);
}
.gd-article { padding: 130px 0 80px; }
.gd-back {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 11px; letter-spacing: 0.18em; font-weight: 700;
  color: var(--gd-blue); text-transform: uppercase;
  text-decoration: none; margin-bottom: 32px;
}
.gd-back:hover { color: var(--gd-navy); }
.gd-header { max-width: 880px; margin: 0 0 28px; }
.gd-term {
  font-size: clamp(40px, 5.4vw, 68px);
  font-weight: 400; letter-spacing: -0.026em; line-height: 1.02;
  color: var(--gd-navy); margin: 0 0 18px; text-wrap: balance;
}
.gd-meta { display: flex; gap: 8px; margin-bottom: 18px; }
.gd-meta-pill {
  display: inline-flex; align-items: center; gap: 6px;
  background: var(--gd-bg-soft); border: 1px solid var(--gd-line);
  padding: 6px 12px; border-radius: 99px;
  font-size: 12px; font-weight: 500; color: var(--gd-text-dim);
}
.gd-tagline {
   max-width: 760px;
}
.gd-tagline  p{
  font-size: 18px; line-height: 1.55; color: var(--gd-text-dim);
  margin: 0 0 28px;text-wrap: pretty;
}

.gd-header-foot {
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  padding-top: 18px; border-top: 1px solid var(--gd-line);
  flex-wrap: wrap;
}
.gd-date {
  font-size: 12px; letter-spacing: 0.10em; font-weight: 600;
  color: var(--gd-text-faint); text-transform: uppercase;
}
.gd-share { display: inline-flex; align-items: center; gap: 8px; }
.gd-share-label {
  font-size: 11px; letter-spacing: 0.16em; font-weight: 700;
  color: var(--gd-text-faint); text-transform: uppercase; margin-right: 4px;
}
.gd-share-btn {
  width: 32px; height: 32px; border-radius: 8px;
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--gd-navy); color: #fff;
  text-decoration: none;
  transition: transform 0.18s, background 0.18s;
}
.gd-share-btn:hover { transform: translateY(-1px); }
.gd-share-li { background: #0A66C2; }
.gd-share-rd { background: #FF4500; }
.gd-share-copy { background: var(--gd-bg-soft); color: var(--gd-text-dim); border: 1px solid var(--gd-line); }
.gd-share-copy:hover { color: var(--gd-navy); border-color: var(--gd-blue); }
.gd-body-wrap {
  display: grid;

  grid-template-columns: minmax(0, 1fr);
  gap: 60px;
  align-items: start;
}
.gd-body { max-width: 760px; min-width: 0; }
.gd-section { margin-bottom: 28px; padding: 0; scroll-margin-top: 100px; }

.gd-body > p {
  font-size: 16px; line-height: 1.62;
  color: var(--gd-text); margin: 0 0 8px; text-wrap: pretty;
}
.gd-body > p:last-of-type { margin-bottom: 0; }
.gd-body > h2 {
  font-size: clamp(20px, 2vw, 24px);
  font-weight: 600; letter-spacing: -0.012em;
  color: var(--gd-navy); margin: 28px 0 6px;
}
.gd-body > h2:first-child { margin-top: 0; }
.gd-body > p a { color: var(--gd-blue); text-decoration: underline; text-underline-offset: 2px; }
.gd-body > p a:hover { color: var(--gd-navy); }
.gd-section + .gd-section { margin-top: 0; }
.gd-h2 {
  font-size: clamp(20px, 2vw, 24px);
  font-weight: 600; letter-spacing: -0.012em;
  color: var(--gd-navy); margin: 0 0 6px;
}
.gd-p p{
  font-size: 16px; line-height: 1.62;
  color: var(--gd-text); margin: 0 0 8px; text-wrap: pretty;
}
.gd-p p:last-child { margin-bottom: 0; }
.gd-p ul { list-style: none; padding: 0; margin: 6px 0 0; display: flex; flex-direction: column; gap: 6px; }
.gd-p ul li {
  display: flex; align-items: flex-start; gap: 12px;
  font-size: 16px; line-height: 1.55; color: var(--gd-text);
}
.gd-p ul li::before {

  content: "";
  width: 6px; height: 6px; border-radius: 50%;
  background: var(--gd-blue); flex: none; margin-top: 9px;
}

.gd-p table {
  width: 100%;
  border-collapse: collapse;
  margin: 14px 0 4px;
  font-size: 15px;
  line-height: 1.5;
  display: block;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.gd-p table thead th {
  text-align: left;
  font-weight: 600;
  color: var(--gd-navy);
  background: var(--gd-bg-soft);
  border-bottom: 1px solid var(--gd-line);
  padding: 9px 12px;
  white-space: nowrap;
}
.gd-p table td {
  color: var(--gd-text);
  border-bottom: 1px solid var(--gd-line);
  padding: 9px 12px;
  vertical-align: top;
  min-width: 130px;
}
.gd-p table tbody tr:last-child td { border-bottom: 0; }
.gd-p table td:first-child { color: var(--gd-navy); font-weight: 500; }

.gd-p table tbody th {
  color: var(--gd-navy);
  font-weight: 500;
  text-align: left;
  border-bottom: 1px solid var(--gd-line);
  padding: 9px 12px;
  vertical-align: top;
  min-width: 130px;
}
.gd-p table tbody tr:last-child th { border-bottom: 0; }
.gd-p code {
  font-family: ui-monospace, Menlo, Consolas, monospace;
  font-size: 0.92em;
  background: var(--gd-bg-soft);
  border: 1px solid var(--gd-line);
  border-radius: 4px;
  padding: 1px 5px;
}
.gd-p a { color: var(--gd-blue); text-decoration: underline; text-underline-offset: 2px; }
.gd-p a:hover { color: var(--gd-navy); }
.gd-share-foot {
  margin-top: 24px; padding-top: 18px;
  border-top: 1px solid var(--gd-line);
}
.gd-toc { position: sticky; top: 100px; }
.gd-toc-card {
  background: var(--gd-bg-soft);
  border: 1px solid var(--gd-line);
  border-radius: 12px;
  padding: 18px 18px 14px;
}
.gd-toc-label {
  font-size: 11px; letter-spacing: 0.16em; font-weight: 700;
  color: var(--gd-text-faint); text-transform: uppercase;
  margin-bottom: 12px;
}
.gd-toc-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; }
.gd-toc-list a {
  display: block; padding: 8px 12px;
  font-size: 13.5px; line-height: 1.4;
  color: var(--gd-text-dim); text-decoration: none;
  border-left: 2px solid transparent;
  border-radius: 0 6px 6px 0;
  transition: color 0.15s, background 0.15s, border-color 0.15s;
}
.gd-toc-list a:hover { color: var(--gd-navy); background: #fff; }
.gd-toc-list a.is-active {
  color: var(--gd-navy); font-weight: 600;
  border-left-color: var(--gd-blue);
  background: #fff;
}
.gd-related-section { margin-top: 80px; }
.gd-related-title {
  font-size: clamp(28px, 3vw, 38px);
  font-weight: 400; letter-spacing: -0.022em;
  color: var(--gd-navy); margin: 0 0 28px; text-wrap: balance;
}
.gd-related-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px;
}
.gd-rel-card {
  display: flex; flex-direction: column;
  background: #fff; border: 1px solid var(--gd-line);
  border-radius: 12px; overflow: hidden;
  text-decoration: none; color: inherit;
  transition: transform 0.22s, box-shadow 0.22s, border-color 0.22s;
}
.gd-rel-card:hover { transform: translateY(-3px); box-shadow: 0 18px 40px rgba(7,7,99,0.10); border-color: rgba(20,49,167,0.20); }
.gd-rel-thumb { aspect-ratio: 16/9; background: var(--gd-navy); }
.gd-rel-svg { width: 100%; height: 100%; display: block; }
.gd-rel-body { padding: 18px 20px 20px; }
.gd-rel-cat {
  font-size: 10.5px; letter-spacing: 0.16em; font-weight: 700; text-transform: uppercase;
}
.gd-rel-term {
  font-size: 17px; font-weight: 500; letter-spacing: -0.01em;
  color: var(--gd-navy); margin: 8px 0 6px; line-height: 1.3;
}
.gd-rel-def {
  font-size: 13.5px; line-height: 1.55; color: var(--gd-text-dim);
  margin: 0; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.gd-closing { padding: 60px 0 100px; }
.gd-closing-card {
  position: relative;
  background: var(--gd-navy);
  border-radius: 18px;
  padding: 56px;
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 56px; align-items: stretch;
  overflow: hidden;
  color: #fff;
}
.gd-closing-card::before {
  content: ""; position: absolute;
  right: -10%; top: -40%;
  width: 540px; height: 540px;
  border: 1px solid rgba(197,214,255,0.10);
  border-radius: 50%; pointer-events: none;
}
.gd-closing-card::after {
  content: ""; position: absolute;
  right: -5%; top: -20%;
  width: 360px; height: 360px;
  border: 1px solid rgba(197,214,255,0.08);
  border-radius: 50%; pointer-events: none;
}
.gd-closing-quote {
  position: relative; z-index: 1;
  display: flex; flex-direction: column;
  padding-right: 8px;
  border-right: 1px solid rgba(197,214,255,0.14);
}
.gd-closing-mark { color: #C5D6FF; margin-bottom: 18px; opacity: 0.9; }
.gd-closing-quote-stage { position: relative; flex: 1; min-height: 220px; }
.gd-closing-q {
  position: absolute; inset: 0;
  margin: 0;
  opacity: 0; transform: translateY(8px);
  transition: opacity 0.5s ease, transform 0.5s ease;
  pointer-events: none;
  display: flex; flex-direction: column; justify-content: space-between;
}
.gd-closing-q.is-active {
  opacity: 1; transform: translateY(0);
  pointer-events: auto;
}
.gd-closing-text {
  font-size: 18px; line-height: 1.55;
  color: #fff; margin: 0;
  font-weight: 400; letter-spacing: -0.005em;
  text-wrap: pretty;
}
.gd-closing-by {
  display: flex; align-items: center; gap: 12px;
  margin-top: 22px;
}
.gd-closing-avatar {
  width: 40px; height: 40px; border-radius: 10px;
  background: #1431A7;
  display: inline-flex; align-items: center; justify-content: center;
  font-family: ui-monospace, Menlo, monospace; font-size: 13px; font-weight: 700;
  color: #fff;
}
.gd-closing-name { font-size: 14px; font-weight: 600; color: #fff; }
.gd-closing-role { font-size: 12.5px; color: rgba(255,255,255,0.65); }
.gd-closing-dots {
  display: flex; gap: 6px; margin-top: 18px;
  padding-right: 24px;
}
.gd-closing-dot {
  width: 22px; height: 3px; border-radius: 2px;
  background: rgba(197,214,255,0.20);
  border: none; padding: 0; cursor: pointer;
  transition: background 0.25s, width 0.25s;
}
.gd-closing-dot.is-active { background: #C5D6FF; width: 32px; }
.gd-closing-dot:hover { background: rgba(197,214,255,0.45); }
.gd-closing-cta {
  position: relative; z-index: 1;
  display: flex; flex-direction: column; justify-content: center;
}
.gd-closing-title {
  font-size: clamp(26px, 2.8vw, 36px);
  font-weight: 500; letter-spacing: -0.022em;
  color: #fff; margin: 0 0 14px; line-height: 1.15;
  text-wrap: balance;
}
.gd-closing-sub {
  font-size: 15.5px; line-height: 1.6;
  color: rgba(255,255,255,0.72); margin: 0 0 26px;
  text-wrap: pretty;
}
.gd-closing-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.gd-closing-btn {
  display: inline-flex; align-items: center; gap: 10px;
  background: #C5D6FF; color: #070763;
  padding: 14px 22px; border-radius: 8px;
  font-size: 14px; font-weight: 600; letter-spacing: 0.01em;
  text-decoration: none;
  transition: transform 0.2s, background 0.2s, gap 0.2s;
}
.gd-closing-btn:hover { background: #fff; transform: translateY(-1px); gap: 14px; }
.gd-closing-btn-ghost {
  display: inline-flex; align-items: center;
  background: transparent; color: #fff;
  padding: 14px 22px; border-radius: 8px;
  border: 1px solid rgba(197,214,255,0.30);
  font-size: 14px; font-weight: 500;
  text-decoration: none;
  transition: border-color 0.2s, background 0.2s;
}
.gd-closing-btn-ghost:hover { border-color: #C5D6FF; background: rgba(197,214,255,0.06); }
@media (max-width: 1000px) {

  .gd-body-wrap { grid-template-columns: minmax(0, 1fr); }
  .gd-toc { position: static; }
  .gd-toc-card { padding: 14px 16px; }
  .gd-related-grid { grid-template-columns: repeat(2, 1fr); }
  .gd-closing-card { grid-template-columns: 1fr; padding: 36px; gap: 36px; }
  .gd-closing-quote { padding-right: 0; padding-bottom: 28px; border-right: none; border-bottom: 1px solid rgba(197,214,255,0.14); }
}
@media (max-width: 700px) {
  .gd-article { padding: 110px 0 60px; }
  .gd-related-grid { grid-template-columns: 1fr; }
  .gd-closing-card { padding: 28px; }
  .gd-closing-text { font-size: 16.5px; }
}

.ruta {
  border: 1px solid var(--gd-line);
  border-left: 3px solid var(--gd-blue);
  border-radius: 10px;
  background: var(--gd-bg-soft);
  padding: 18px 22px 16px;
  margin: 0 0 40px;
  max-width: 760px;
}

.ruta--servicio { max-width: 920px; margin: -16px auto 44px; }
.ruta-kicker {
  font-size: 11px; letter-spacing: 0.16em; font-weight: 700;
  text-transform: uppercase; color: var(--gd-text-faint);
  margin: 0 0 8px;
}
.ruta-intro {
  font-size: 15.5px; line-height: 1.55; color: var(--gd-text);
  margin: 0; text-wrap: pretty;
}
.ruta-links {
  list-style: none; margin: 12px 0 0; padding: 0;
  display: flex; flex-wrap: wrap; gap: 8px 10px;
}
.ruta-links li { margin: 0; }
.ruta-link {
  display: inline-flex; align-items: center; gap: 7px;
  padding: 7px 12px;
  background: #fff;
  border: 1px solid var(--gd-line);
  border-radius: 999px;
  font-size: 14px; line-height: 1.25; font-weight: 500;
  color: var(--gd-navy); text-decoration: none;
  transition: border-color 0.18s, color 0.18s, transform 0.18s;
}
.ruta-link svg { flex: none; opacity: 0.65; transition: opacity 0.18s, transform 0.18s; }
.ruta-link:hover { border-color: var(--gd-blue); color: var(--gd-blue); transform: translateY(-1px); }
.ruta-link:hover svg { opacity: 1; transform: translateX(2px); }
@media (max-width: 700px) {

  .ruta { padding: 16px 18px 14px; margin-bottom: 32px; }
  .ruta--servicio { margin-top: 0; }
  .ruta-links { flex-direction: column; gap: 8px; }
  .ruta-link { width: 100%; box-sizing: border-box; justify-content: space-between; border-radius: 8px; }
}

:root {
  --hc-navy:        #115A3A;
  --hc-navy-deep:   #0A3B26;
  --hc-blue:        #1431A7;
  --hc-blue-bright: #C5D6FF;
  --hc-cyan:        #6EA8FF;
  --hc-green:       #0A8452;
  --hc-green-bright:#5fe0a4;

  --hc-accent-soft: #7eedb6;
  --hc-accent-deep: #086b43;
  --hc-accent-edge: #0a8754;
  --hc-text:        #1E1E1E;
  --hc-text-dim:    rgba(30,30,30,0.72);
  --hc-text-faint:  rgba(30, 30, 30, 0.68);
  --hc-line:        rgba(30,30,30,0.10);
  --hc-line-strong: rgba(20,49,167,0.30);
  --hc-bg-1:        #FFFFFF;
  --hc-bg-2:        #F5F7FB;
  --hc-bg-3:        #ECEEF6;
}
.hc-hero {
  position: relative;
  background: var(--hc-navy);
  color: #fff;
  padding: 130px 0 100px;
  overflow: hidden;
  isolation: isolate;
  min-height: 720px;
}

.hc-hero-bg { position: absolute; inset: 0; pointer-events: none; }
.hc-hero-grid {
  position: absolute; inset: 0;
  background-image:
    linear-gradient(to right, rgba(255,255,255,0.04) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255,255,255,0.04) 1px, transparent 1px);
  background-size: 64px 64px;
  mask-image: radial-gradient(ellipse 70% 60% at 50% 40%, black 30%, transparent 80%);
  -webkit-mask-image: radial-gradient(ellipse 70% 60% at 50% 40%, black 30%, transparent 80%);
}
.hc-hero-glow {
  position: absolute; left: 55%; top: -250px;
  width: 1100px; height: 1100px;
  border-radius: 50%;
  background: radial-gradient(circle, color-mix(in srgb, var(--hc-green-bright, #5FE0A4) 60%, transparent) 0%, color-mix(in srgb, var(--hc-green, #0A8754) 32%, transparent) 38%, transparent 72%);
  filter: blur(60px);
  animation: hc-breath 9s ease-in-out infinite;
}
.hc-hero-glow-green {
  position: absolute; left: 5%; bottom: -180px;
  width: 700px; height: 700px;
  border-radius: 50%;
  background: radial-gradient(circle, color-mix(in srgb, var(--hc-green-bright, #5FE0A4) 32%, transparent) 0%, color-mix(in srgb, var(--hc-green, #0A8754) 20%, transparent) 45%, transparent 70%);
  filter: blur(70px);
}
@keyframes hc-breath {
  0%,100% { opacity: 0.85; transform: translate3d(0,0,0) scale(1); }
  50%     { opacity: 1;    transform: translate3d(0,0,0) scale(1.04); }
}
.hc-hero-vignette {
  position: absolute; inset: 0;
  background: radial-gradient(ellipse 100% 80% at 50% 50%, transparent 30%, rgba(0,0,0,0.45) 100%);
}

.hc-hero-container { position: relative; z-index: 1; }
.hc-hero-grid-cols {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 72px;
  align-items: center;
}
.hc-hero-text { max-width: 640px; }

.hc-hero-eyebrow {
  font-size: 11px; letter-spacing: 0.22em; font-weight: 700;
  color: color-mix(in srgb, var(--hc-green-bright, #5FE0A4) 92%, transparent);
  margin-bottom: 22px;
  text-transform: uppercase;
  display: inline-flex; align-items: center; gap: 8px;
}
.hc-eyebrow-dot {
  width: 6px; height: 6px; border-radius: 50%;
  background: var(--hc-green-bright);
  box-shadow: 0 0 12px var(--hc-green-bright);
  animation: hc-pulse 1.6s ease-in-out infinite;
}
@keyframes hc-pulse { 0%,100% { opacity: 1; } 50% { opacity: 0.35; } }
.hc-hero-h1 {
  font-size: clamp(38px, 4.6vw, 60px);
  font-weight: 500;
  letter-spacing: -0.028em;
  line-height: 1.06;
  margin: 0 0 26px;
  color: #fff;
  text-wrap: balance;
}
.hc-h1-accent {
  color: var(--hc-green-bright);
  font-weight: 500;
}
.hc-hero-sub {
  font-size: 17px; line-height: 1.55;
  color: rgba(255,255,255,0.78);
  max-width: 560px;
  margin: 0 0 36px;
  text-wrap: pretty;
}
.hc-hero-cta { display: flex; gap: 14px; flex-wrap: wrap; }
.hc-btn {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 14px 24px;
  font-size: 14.5px; font-weight: 500;
  letter-spacing: -0.005em;
  border-radius: 8px;
  text-decoration: none;
  border: 1px solid transparent;
  transition: all 0.2s ease;
}
.hc-btn-primary {
  background: var(--hc-green-bright); color: var(--hc-navy);
  border-color: var(--hc-green-bright);
  box-shadow: 0 12px 28px -10px color-mix(in srgb, var(--hc-green-bright, #5FE0A4) 45%, transparent);
}
.hc-btn-primary:hover {
  background: var(--hc-accent-soft); border-color: var(--hc-accent-soft);
  transform: translateY(-1px);
  box-shadow: 0 16px 36px -10px color-mix(in srgb, var(--hc-green-bright, #5FE0A4) 55%, transparent);
}
.hc-btn-ghost {
  color: rgba(255,255,255,0.92);
  border-color: color-mix(in srgb, var(--hc-green-bright, #5FE0A4) 30%, transparent);
  background: transparent;
}
.hc-btn-ghost:hover {
  color: var(--hc-green-bright); border-color: var(--hc-green-bright);
}
.hc-arrow { transition: transform 0.2s; }
.hc-btn:hover .hc-arrow { transform: translateX(3px); }

.hc-hero-form-wrap {
  background: rgba(6,36,26,0.55);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid rgba(197,214,255,0.20);
  border-radius: 12px;
  padding: 28px 26px 24px;
  position: relative;
}
.hc-hero-form-wrap::before {
  content: '';
  position: absolute;
  top: -1px; left: -1px; right: -1px;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--hc-green) 25%, var(--hc-green-bright) 50%, var(--hc-blue-bright) 80%, transparent);
  border-radius: 12px 12px 0 0;
  opacity: 0.8;
}
.hc-hero-form { display: flex; flex-direction: column; gap: 12px; }
.hc-hero-form-title {
  font-size: 18px; font-weight: 500;
  letter-spacing: -0.015em;
  color: #fff;
  margin-bottom: 4px;
}
.hc-hero-form-hint {
  font-size: 12.5px;
  color: rgba(255,255,255,0.65);
  margin-bottom: 14px;
}
.hc-hero-form label { display: flex; flex-direction: column; gap: 5px; }
.hc-hero-form .mono {
  font-family: ui-monospace, Menlo, monospace;
  font-size: 9.5px; letter-spacing: 0.2em; font-weight: 700;
  color: rgba(255, 255, 255, 0.56);
  text-transform: uppercase;
}
.hc-hero-form input,
.hc-hero-form select {
  font-family: inherit;
  font-size: 14px;
  padding: 10px 12px;
  background: rgba(255,255,255,0.06);
  color: #fff;
  border: 1px solid rgba(197,214,255,0.20);
  border-radius: 5px;
  outline: none;
  transition: border-color 0.2s, background 0.2s;
}
.hc-hero-form input::placeholder { color: rgba(255, 255, 255, 0.56); }
.hc-hero-form input:focus,
.hc-hero-form select:focus {
  border-color: var(--hc-green-bright);
  background: rgba(255,255,255,0.10);
}
.hc-hero-submit {
  margin-top: 6px;
  padding: 13px 18px;
  background: var(--hc-green-bright);
  color: var(--hc-navy);
  border: 1px solid var(--hc-green-bright);
  border-radius: 6px;
  font-size: 14px; font-weight: 700;
  letter-spacing: -0.005em;
  cursor: pointer;
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  transition: background 0.2s ease;
}
.hc-hero-submit:hover:not(:disabled) { background: var(--hc-accent-soft); }
.hc-hero-submit:disabled { opacity: 0.5; cursor: not-allowed; }
.hc-hero-success { padding: 20px 0; text-align: center; color: #fff; }
.hc-hero-success-mark { color: var(--hc-green-bright); margin: 0 auto 12px; width: 36px; }
.hc-hero-success-title { font-size: 16px; font-weight: 500; margin-bottom: 6px; color: #fff; }
.hc-hero-success-body { font-size: 13px; color: rgba(255,255,255,0.78); }

@media (max-width: 1000px) {
  .hc-hero-grid-cols { grid-template-columns: 1fr; gap: 48px; }
  .hc-hero { padding: 110px 0 90px; }
}

.hc-logos {
  background: #FAFAF7;
  color: var(--hc-text);
  padding: 56px 0 52px;
  border-top: 1px solid var(--hc-line);
  border-bottom: 1px solid var(--hc-line);
  position: relative;
  overflow: hidden;
}
.hc-logos-label {
  font-size: 11px; letter-spacing: 0.2em; font-weight: 700;
  color: var(--hc-text-faint); text-transform: uppercase;
  text-align: center; margin-bottom: 28px;
}
.hc-logos-strip {
  overflow: hidden;
  mask-image: linear-gradient(90deg, transparent 0, #000 8%, #000 92%, transparent 100%);
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 8%, #000 92%, transparent 100%);
}
.hc-logos-track {
  --marquee-gap: 64px; display: flex; gap: 64px; align-items: center; animation: hc-marquee 38s linear infinite; width: max-content; }
.hc-logos-track img {
  height: 36px; width: auto;
  opacity: 0.55;
  filter: grayscale(1) contrast(1.05);
  transition: opacity .2s, filter .2s;
  flex: 0 0 auto;
}
.hc-logos-track img:hover { opacity: 1; filter: grayscale(0) contrast(1); }
@keyframes hc-marquee { from { transform: translateX(0); } to { transform: translateX(calc(-50% - var(--marquee-gap, 0px) / 2)); } }

.hc-why {
  background: #fff;
  padding: 110px 0 100px;
}
.hc-section-head.light { max-width: 760px; margin: 0 auto 64px; text-align: center; }
.hc-h2-light {
  font-size: clamp(30px, 3.4vw, 44px);
  font-weight: 500; letter-spacing: -0.025em;
  line-height: 1.12; margin: 0 0 22px;
  color: var(--hc-text); text-wrap: balance;
}
.hc-h2-light-accent-green { color: var(--hc-green); font-weight: 500; }
.hc-lead-light {
  font-size: 17px; line-height: 1.6;
  color: var(--hc-text-dim); margin: 0;
  text-wrap: pretty;
}

.hc-pillars {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px;
}
.hc-pillar {
  background: #FAFAF7;
  border: 1px solid var(--hc-line);
  border-radius: 12px;
  padding: 32px 30px 34px;
  position: relative;
  transition: transform .25s, border-color .25s, box-shadow .25s, background .25s;
  display: flex; flex-direction: column;
}
.hc-pillar:hover {
  background: #fff;
  border-color: color-mix(in srgb, var(--hc-green, #0A8754) 35%, transparent);
  transform: translateY(-3px);
  box-shadow: 0 18px 40px -22px color-mix(in srgb, var(--hc-green, #0A8754) 35%, transparent);
}
.hc-pillar-top {
  display: flex; align-items: flex-start; justify-content: space-between;
  margin-bottom: 22px;
  gap: 14px;
}

.hc-pillar-num {
  --hc-num-a: #10a368;
  --hc-num-b: #0a8754;
  font-family: ui-monospace, Menlo, monospace;
  font-size: 56px;
  font-weight: 700;
  line-height: 0.9;
  letter-spacing: -0.04em;
  background: linear-gradient(135deg, var(--hc-num-a) 0%, var(--hc-num-b) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}
.hc-illu {
  width: 64px; height: 64px;
  flex: 0 0 64px;
}
.hc-pillar-name {
  font-size: 21px; font-weight: 500;
  letter-spacing: -0.015em;
  color: var(--hc-text);
  margin: 0 0 14px;
  line-height: 1.25;
}
.hc-pillar-body {
  font-size: 14.5px; line-height: 1.6;
  color: var(--hc-text-dim);
  margin: 0;
  text-wrap: pretty;
}

.hc-pillars[data-n="4"] { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 1100px) {
  .hc-pillars[data-n="4"] { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 900px) {
  .hc-pillars,
  .hc-pillars[data-n="4"] { grid-template-columns: 1fr; gap: 18px; }
}

.hc-bookcall {
  padding: 100px 0;
  background: #fff;
  position: relative;
}
.hc-bookcall::before {
  content: "";
  position: absolute;
  top: 0; left: 10%; right: 10%;
  height: 1px;
  background: rgba(30,30,30,0.08);
}
.hc-bookcall-inner {
  position: relative;
  border: 1px solid color-mix(in srgb, var(--hc-green, #0A8754) 18%, transparent);
  border-radius: 4px;
  padding: 64px 64px 60px;
  overflow: hidden;
  background:
    radial-gradient(ellipse 80% 100% at 0% 100%, color-mix(in srgb, var(--hc-green, #0A8754) 10%, transparent) 0%, transparent 60%),
    #FAFAF7;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 40px;
  align-items: end;
}
.hc-bookcall-mark {
  position: absolute;
  top: -30%;
  right: -8%;
  width: 560px; height: 560px;
  opacity: 0.10;
  pointer-events: none;
}
.hc-bookcall-text { min-width: 0; max-width: 720px; position: relative; }
.hc-bookcall-kicker {
  font-size: 11px;
  letter-spacing: 0.18em;
  font-weight: 700;
  color: var(--hc-green);
  text-transform: uppercase;
  margin-bottom: 20px;
}
.hc-bookcall-title {
  font-size: clamp(30px, 3.4vw, 46px);
  font-weight: 600;
  line-height: 1.06;
  letter-spacing: -0.025em;
  color: var(--hc-text);
  margin: 0 0 18px;
  text-wrap: balance;
}
.hc-bookcall-title-accent {
  color: var(--hc-text-dim);
  font-weight: 500;
}
.hc-bookcall-body {
  font-size: 16.5px;
  line-height: 1.55;
  color: rgba(30,30,30,0.7);
  margin: 0;
  max-width: 580px;
  text-wrap: pretty;
}
.hc-bookcall-actions {
  position: relative;
  display: flex; flex-direction: column;
  align-items: flex-end;
  gap: 12px;
  flex-shrink: 0;
}
.hc-bookcall-btn {
  display: inline-flex; align-items: center; gap: 10px;
  background: var(--hc-navy);
  color: #fff;
  padding: 14px 22px;
  font-size: 14.5px; font-weight: 600;
  border-radius: 4px;
  text-decoration: none;
  border: 1px solid var(--hc-navy);
  box-shadow: 0 10px 24px -12px rgba(7,7,99,0.5);
  transition: background .2s, transform .2s, box-shadow .2s;
}
.hc-bookcall-btn:hover {
  background: #14146a;
  border-color: #14146a;
  transform: translateY(-1px);
  box-shadow: 0 14px 30px -12px rgba(7,7,99,0.6);
}
.hc-bookcall-arrow { transition: transform .2s; display: inline-block; }
.hc-bookcall-btn:hover .hc-bookcall-arrow { transform: translateX(3px); }

@media (max-width: 800px) {
  .hc-bookcall-inner { grid-template-columns: 1fr; padding: 40px 28px; gap: 28px; align-items: stretch; }
  .hc-bookcall-actions { align-items: flex-start; flex-direction: row; flex-wrap: wrap; }
  .hc-bookcall-mark { width: 380px; height: 380px; top: -20%; right: -15%; }
}

.hc-regs {
  background: #FAFAF7;
  color: var(--hc-text);
  padding: 80px 0 80px;
  border-top: 1px solid var(--hc-line);
  border-bottom: 1px solid var(--hc-line);
}
.hc-regs-head { max-width: 760px; margin: 0 auto 44px; text-align: center; }
.hc-regs-h2 {
  font-size: clamp(28px, 3vw, 38px);
  font-weight: 500; letter-spacing: -0.022em;
  line-height: 1.14; margin: 0 0 18px;
  color: var(--hc-text); text-wrap: balance;
}
.hc-regs-lead {
  font-size: 15.5px; line-height: 1.55;
  color: var(--hc-text-dim);
  margin: 0; text-wrap: pretty;
}

.hc-regs-rows {
  display: flex; flex-direction: column;
  max-width: 1080px; margin: 0 auto;
  gap: 0;
  background: #fff;
  border: 1px solid var(--hc-line);
  border-radius: 12px;
  overflow: hidden;
}
.hc-regs-row {
  display: grid;
  grid-template-columns: 140px 1fr;
  gap: 24px;
  align-items: center;
  padding: 18px 24px;
  border-bottom: 1px solid var(--hc-line);
}
.hc-regs-row:last-child { border-bottom: none; }
.hc-regs-row-label {
  font-size: 10.5px; letter-spacing: 0.22em; font-weight: 700;
  color: var(--hc-green); text-transform: uppercase;
}
.hc-regs-row-logos {
  display: flex; flex-wrap: wrap;
  gap: 0;
  align-items: center;
}
.hc-regs-logo {
  flex: 1 1 0;
  min-width: 100px;
  height: 44px;
  display: flex; align-items: center; justify-content: center;
  color: var(--hc-text);
  opacity: 0.75;
  transition: opacity .2s, color .2s, transform .2s;
  padding: 0 12px;
  border-right: 1px solid var(--hc-line);
}
.hc-regs-logo:last-child { border-right: none; }
.hc-regs-logo:hover {
  opacity: 1;
  color: var(--hc-green);
  transform: translateY(-1px);
}
.hc-regs-logo .hc-reg-mark {
  width: auto; height: 32px; max-width: 100%;
}
.hc-regs-logo-text {
  font-family: ui-monospace, Menlo, monospace;
  font-size: 11px; font-weight: 700;
  letter-spacing: 0.06em;
}

.hc-regs-foot {
  margin-top: 28px;
  text-align: center;
  font-size: 13px;
  color: var(--hc-text-faint);
  max-width: 720px;
  margin-left: auto; margin-right: auto;
  font-style: italic;
}
@media (max-width: 760px) {
  .hc-regs-row { grid-template-columns: 1fr; gap: 12px; padding: 16px 16px; }
  .hc-regs-row-logos { gap: 0 12px; }
  .hc-regs-logo { flex-basis: calc(50% - 6px); border-right: none; height: 40px; }
}

.hc-platform {
  background: #fff;
  padding: 110px 0 100px;
}
.hc-pf-grid {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: 56px;
  align-items: center;
}
.hc-pf-text { display: flex; flex-direction: column; gap: 18px; }
.hc-pf-eyebrow {
  font-size: 10.5px; letter-spacing: 0.22em; font-weight: 700;
  color: var(--hc-green); text-transform: uppercase;
  margin-bottom: 4px;
}
.hc-pf-title {
  font-size: clamp(28px, 3vw, 40px);
  font-weight: 500;
  letter-spacing: -0.022em;
  line-height: 1.12;
  color: var(--hc-text);
  margin: 0;
  text-wrap: balance;
}
.hc-pf-sub {
  font-size: 16px; line-height: 1.55;
  color: var(--hc-text-dim);
  margin: 0;
  max-width: 50ch;
  text-wrap: pretty;
}
.hc-pf-list {
  list-style: none; margin: 6px 0 0; padding: 18px 0 0;
  border-top: 1px solid var(--hc-line);
  display: flex; flex-direction: column; gap: 12px;
}
.hc-pf-list li {
  display: flex; align-items: flex-start; gap: 10px;
  font-size: 14.5px; color: var(--hc-text-dim); line-height: 1.5;
}
.hc-pf-tick {
  flex-shrink: 0;
  margin-top: 4px;
  color: var(--hc-green);
}
.hc-pf-actions {
  display: flex; align-items: center; gap: 22px;
  margin-top: 14px; flex-wrap: wrap;
}
.hc-pf-btn {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 12px 18px;
  font-size: 14px; font-weight: 600;
  border-radius: 6px;
  text-decoration: none;
  transition: background .2s, transform .2s, box-shadow .2s;
}
.hc-pf-btn-primary {
  background: var(--hc-green);
  color: #fff;
  border: 1px solid var(--hc-green);
  box-shadow: 0 8px 22px -10px color-mix(in srgb, var(--hc-green, #0A8754) 50%, transparent);
}
.hc-pf-btn-primary:hover {
  background: var(--hc-accent-deep);
  border-color: var(--hc-accent-deep);
  transform: translateY(-1px);
  box-shadow: 0 12px 28px -10px color-mix(in srgb, var(--hc-green, #0A8754) 60%, transparent);
}
.hc-pf-btn-primary span { transition: transform .2s; }
.hc-pf-btn-primary:hover span { transform: translateX(3px); }
.hc-pf-btn-secondary {
  color: var(--hc-green);
  font-size: 14px; font-weight: 600;
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: border-color .2s;
}
.hc-pf-btn-secondary:hover { border-bottom-color: var(--hc-green); }

.hc-pf-video-wrap { display: flex; }
.hc-pf-video {
  position: relative;
  flex: 1;
  aspect-ratio: 16 / 9;
  background: linear-gradient(135deg, #0a0a4a 0%, #070763 50%, #0a0a4a 100%);
  border-radius: 12px;
  overflow: hidden;
  color: #fff;
  isolation: isolate;
  border: 1px solid rgba(20,49,167,0.4);
  box-shadow:
    0 30px 70px -34px rgba(7,7,99,0.55),
    0 1px 0 rgba(255,255,255,0.05) inset;
  cursor: pointer;
  transition: transform .25s, box-shadow .25s;
}
.hc-pf-video:hover {
  transform: translateY(-2px);
  box-shadow: 0 40px 90px -34px rgba(7,7,99,0.6);
}
.hc-pf-video-poster {
  position: absolute; inset: 0;
  display: flex; align-items: center; justify-content: center;
}
.hc-pf-video-top {
  position: absolute;
  top: 14px; left: 16px; right: 16px;
  display: flex; align-items: center; justify-content: space-between;
  z-index: 2;
}
.hc-pf-video-label {
  font-size: 10px;
  letter-spacing: 0.22em;
  font-weight: 700;

  color: rgba(255,255,255,0.92);
  text-shadow: 0 1px 3px rgba(7,7,10,0.65);
}
.hc-pf-video-status {
  font-size: 10px; letter-spacing: 0.18em; font-weight: 700;
  color: var(--hc-green-bright);
  background: color-mix(in srgb, var(--hc-green-bright, #5FE0A4) 14%, transparent);
  padding: 4px 8px;
  border-radius: 3px;
  border: 1px solid color-mix(in srgb, var(--hc-green-bright, #5FE0A4) 35%, transparent);
  display: inline-flex; align-items: center; gap: 6px;
}
.hc-pf-video-status-dot {
  width: 5px; height: 5px; border-radius: 50%;
  background: var(--hc-green-bright);
  box-shadow: 0 0 8px var(--hc-green-bright);
  animation: hc-pulse 1.6s ease-in-out infinite;
}

.hc-pf-play {
  position: absolute;
  left: 50%; top: 50%; transform: translate(-50%, -50%);
  width: 80px; height: 80px;
  border: 0; background: transparent;
  cursor: pointer;
  z-index: 2;
}
.hc-pf-play-ring,
.hc-pf-play-ring-2 {
  position: absolute; inset: 0;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,0.45);
  animation: hc-pf-ring 2.4s ease-out infinite;
}
.hc-pf-play-ring-2 { animation-delay: 1.2s; }
@keyframes hc-pf-ring {
  0%   { opacity: 0.6; transform: scale(1); }
  100% { opacity: 0;   transform: scale(1.6); }
}
.hc-pf-play-btn {
  position: absolute;
  left: 50%; top: 50%; transform: translate(-50%, -50%);
  width: 60px; height: 60px;
  background: #fff;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 12px 28px rgba(0,0,0,0.35);
  padding-left: 4px;
  transition: transform .2s, box-shadow .2s;
}
.hc-pf-video:hover .hc-pf-play-btn {
  transform: translate(-50%, -50%) scale(1.06);
  box-shadow: 0 16px 36px rgba(0,0,0,0.45);
}

.hc-pf-video-caption {
  position: absolute;
  left: 16px; bottom: 14px;
  font-size: 10.5px; letter-spacing: 0.18em; font-weight: 700;
  color: rgba(255,255,255,0.65);
  z-index: 2;
}

@media (max-width: 1000px) {
  .hc-pf-grid { grid-template-columns: 1fr; gap: 36px; }
}

.hc-bookcall-slim {
  background: #fff;
  padding: 0 0 24px;
}
.hc-bookcall-slim-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 40px;
  align-items: center;
  background: #FAFAF7;
  border: 1px solid var(--hc-line);
  border-radius: 10px;
  padding: 22px 28px;
  position: relative;
  overflow: hidden;
}
.hc-bookcall-slim-card::before {
  content: '';
  position: absolute; left: 0; top: 0; bottom: 0;
  width: 3px;
  background: var(--hc-green);
}
.hc-bookcall-slim-text { padding-left: 8px; }
.hc-bookcall-slim-eyebrow {
  font-size: 10px; letter-spacing: 0.25em; font-weight: 700;
  color: var(--hc-green); text-transform: uppercase;
  margin-bottom: 6px;
}
.hc-bookcall-slim-title {
  font-size: 16.5px; font-weight: 500;
  letter-spacing: -0.012em; line-height: 1.35;
  color: var(--hc-text);
  text-wrap: pretty;
}
.hc-bookcall-slim-btn {
  display: inline-flex; align-items: center; gap: 8px;
  background: var(--hc-green); color: #fff;
  padding: 11px 18px;
  font-size: 13.5px; font-weight: 600;
  border-radius: 6px;
  text-decoration: none;
  border: 1px solid var(--hc-green);
  transition: background .2s, transform .2s;
  white-space: nowrap;
}
.hc-bookcall-slim-btn:hover {
  background: #086b43; border-color: #086b43;
  transform: translateY(-1px);
}
.hc-bookcall-slim-btn span { transition: transform .2s; }
.hc-bookcall-slim-btn:hover span { transform: translateX(3px); }
@media (max-width: 760px) {
  .hc-bookcall-slim-card { grid-template-columns: 1fr; gap: 18px; padding: 22px; }
  .hc-bookcall-slim-btn { justify-self: start; }
}

.hc-testimonials {
  background: #fff;
  padding: 100px 0 100px;
  border-top: 1px solid var(--hc-line);
  position: relative;
  overflow: hidden;
}
.hc-testimonials::before {
  content: '';
  position: absolute; left: 50%; top: -100px; transform: translateX(-50%);
  width: 800px; height: 600px;
  background: radial-gradient(ellipse, color-mix(in srgb, var(--hc-green, #0A8754) 6%, transparent) 0%, transparent 60%);
  filter: blur(50px); pointer-events: none;
}

.hc-testi-head {
  max-width: 760px; margin: 0 auto 56px; text-align: center;
  position: relative; z-index: 1;
}
.hc-testi-eyebrow {
  font-size: 10.5px; letter-spacing: 0.25em; font-weight: 700;
  color: var(--hc-green); text-transform: uppercase;
  margin-bottom: 18px;
  display: inline-flex; align-items: center; gap: 8px;
}
.hc-testi-eyebrow-dot {
  width: 6px; height: 6px; border-radius: 50%;
  background: var(--hc-green);
  box-shadow: 0 0 10px color-mix(in srgb, var(--hc-green, #0A8754) 55%, transparent);
}
.hc-testi-h2 {
  font-size: clamp(28px, 3vw, 38px);
  font-weight: 500; letter-spacing: -0.022em;
  line-height: 1.14; margin: 0 0 18px;
  color: var(--hc-text); text-wrap: balance;
}
.hc-testi-lead {
  font-size: 15.5px; line-height: 1.55;
  color: var(--hc-text-dim);
  margin: 0; text-wrap: pretty;
}

.hc-testi-card {
  max-width: 1080px; margin: 0 auto;
  background: #FAFAF7;
  border: 1px solid var(--hc-line);
  border-radius: 14px;
  padding: 56px 64px 0;
  position: relative;
  overflow: hidden;
}
.hc-testi-quote-mark {
  position: absolute;
  top: 28px; left: 64px;
  width: 44px; height: auto;
  color: var(--hc-green);
  opacity: 0.14;
}

.hc-testi-quote-stage {
  position: relative;
  min-height: 220px;
  padding-top: 16px;
}
.hc-testi-quote {
  position: absolute; inset: 0;
  margin: 0;
  opacity: 0;
  transform: translateY(8px);
  transition: opacity .55s ease, transform .55s ease;
  pointer-events: none;
  display: flex; flex-direction: column; gap: 24px;
}
.hc-testi-quote.is-active {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
  position: relative;
}
.hc-testi-quote-text {
  font-size: clamp(18px, 1.7vw, 22px);
  line-height: 1.5;
  color: var(--hc-text);
  margin: 0;
  font-weight: 400;
  letter-spacing: -0.012em;
  text-wrap: pretty;
  max-width: 56ch;
}
.hc-testi-attrib {
  padding-top: 14px;
  border-top: 1px solid var(--hc-line);
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
.hc-testi-attrib .logo{max-width: 200px;}
.hc-testi-attrib .logo img{width: 100%;object-fit: contain;}
.hc-testi-author {
  font-size: 14px; font-weight: 600;
  color: var(--hc-text);
  letter-spacing: -0.005em;
}
.hc-testi-company {
  font-size: 12.5px;
  color: var(--hc-text-dim);
  margin-top: 2px;
}

.hc-testi-rail {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 0;
  margin: 40px -64px 0;
  border-top: 1px solid var(--hc-line);
  background: #fff;
}
.hc-testi-logo-btn {
  appearance: none;
  background: transparent;
  border: 0;
  border-right: 1px solid var(--hc-line);
  padding: 22px 16px;
  cursor: pointer;
  position: relative;
  display: flex; align-items: center; justify-content: center;
  height: 88px;
  transition: background .2s;
}
.hc-testi-logo-btn:last-child { border-right: 0; }
.hc-testi-logo-btn:hover { background: #FAFAF7; }
.hc-testi-logo {
  max-height: 36px;
  max-width: 130px;
  width: auto; height: auto;
  object-fit: contain;
  opacity: 0.42;
  filter: grayscale(1);
  transition: opacity .25s, filter .25s, transform .25s;
}
.hc-testi-logo-btn.is-active .hc-testi-logo {
  opacity: 1;
  filter: grayscale(0);
}
.hc-testi-logo-btn:hover .hc-testi-logo {
  opacity: 0.85;
  filter: grayscale(0.3);
}
.hc-testi-logo-bar {
  position: absolute;
  left: 0; right: 0; bottom: -1px;
  height: 2px;
  background: var(--hc-green);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .35s ease;
}
.hc-testi-logo-btn.is-active .hc-testi-logo-bar {
  transform: scaleX(1);
}

@media (max-width: 900px) {
  .hc-testi-card { padding: 44px 28px 0; }
  .hc-testi-quote-mark { left: 24px; top: 18px; width: 36px; }
  .hc-testi-quote-stage { min-height: 280px; }
  .hc-testi-rail {
    margin: 28px -28px 0;
    grid-template-columns: repeat(3, 1fr);
    grid-auto-rows: 72px;
  }
  .hc-testi-logo-btn {
    height: 72px;
    border-bottom: 1px solid var(--hc-line);
  }
  .hc-testi-logo-btn:nth-child(3n) { border-right: 0; }
  .hc-testi-logo-btn:nth-child(n+4) { border-bottom: 0; }
}

.hc-faq-wrap .faq { background: #FAFAF7; }

.hc-others {
  background: #fff;
  padding: 90px 0 100px;
  border-top: 1px solid var(--hc-line);
}
.hc-others-inner { position: relative; max-width: 1100px; }
.hc-others-head { text-align: center; margin-bottom: 36px; }
.hc-others-h2 {
  font-size: clamp(26px, 2.8vw, 36px);
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.1;
  color: var(--hc-text);
  margin: 0;
  text-wrap: balance;
}

.hc-others-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
}
.hc-other-card {
  background: #fff;
  border: 1px solid var(--hc-line);
  border-radius: 6px;
  padding: 14px 14px 16px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  color: var(--hc-text);
  text-decoration: none;
  transition: border-color .2s, transform .2s, box-shadow .2s, background .2s;
}
.hc-other-card:hover {
  background: #FAFAF7;
  border-color: color-mix(in srgb, var(--hc-green, #0A8754) 35%, transparent);
  transform: translateY(-2px);
  box-shadow: 0 12px 28px -18px color-mix(in srgb, var(--hc-green, #0A8754) 30%, transparent);
}
.hc-other-chip {
  width: 26px; height: 26px;
  display: inline-flex; align-items: center; justify-content: center;
  background: color-mix(in srgb, var(--hc-green, #0A8754) 10%, transparent);
  border-radius: 4px;
  color: var(--hc-green);
}
.hc-other-chip svg { width: 15px; height: 15px; stroke-width: 1.6; }
.hc-other-name {
  font-size: 12.5px;
  font-weight: 500;
  color: var(--hc-text);
  letter-spacing: -0.003em;
  line-height: 1.3;
  text-wrap: pretty;
}

@media (max-width: 1000px) {
  .hc-others-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 640px) {
  .hc-others-grid { grid-template-columns: repeat(2, 1fr); }
}

.hc-closing {
  background: #FAFAF7;
  padding: 130px 0 130px; color: var(--hc-text); position: relative; overflow: hidden;
  border-top: 1px solid var(--hc-line);
}
.hc-closing::before {
  content: ''; position: absolute; left: 50%; top: -300px; transform: translateX(-50%);
  width: 1100px; height: 1100px;
  background: radial-gradient(circle, color-mix(in srgb, var(--hc-green, #0A8754) 22%, transparent) 0%, color-mix(in srgb, var(--hc-green, #0A8754) 10%, transparent) 35%, transparent 65%);
  filter: blur(50px); pointer-events: none;
}
.hc-closing::after {
  content: ''; position: absolute; left: 50%; bottom: -250px; transform: translateX(-50%);
  width: 800px; height: 600px;
  background: radial-gradient(ellipse, color-mix(in srgb, var(--hc-green, #0A8754) 18%, transparent) 0%, transparent 65%);
  filter: blur(60px); pointer-events: none;
}
.hc-closing-inner { max-width: 760px; margin: 0 auto; text-align: center; position: relative; z-index: 1; }
.hc-closing-h2 {
  font-size: clamp(32px, 4vw, 52px);
  font-weight: 500; letter-spacing: -0.025em;
  line-height: 1.1; margin: 0 0 24px;
  color: var(--hc-text); text-wrap: balance;
}
.hc-closing-accent { color: var(--hc-green); font-weight: 500; }
.hc-closing-sub {
  font-size: 17px; line-height: 1.6;
  color: var(--hc-text-dim);
  margin: 0 0 36px;
  text-wrap: pretty;
}
.hc-closing .hc-btn-primary {
  background: var(--hc-green); color: #fff;
  border: 1px solid var(--hc-green);
  padding: 14px 22px; font-size: 15px; font-weight: 600;
  border-radius: 6px; text-decoration: none;
  display: inline-flex; align-items: center; gap: 10px;
  box-shadow: 0 14px 32px -12px color-mix(in srgb, var(--hc-green, #0A8754) 55%, transparent);
  transition: background .2s, transform .2s, box-shadow .2s;
}
.hc-closing .hc-btn-primary:hover {
  background: var(--hc-accent-deep); border-color: var(--hc-accent-deep);
  transform: translateY(-1px);
  box-shadow: 0 18px 40px -12px color-mix(in srgb, var(--hc-green, #0A8754) 65%, transparent);
}
.hc-closing .hc-arrow { transition: transform .2s; }
.hc-closing .hc-btn-primary:hover .hc-arrow { transform: translateX(3px); }

.hc-stats {
  background:
    radial-gradient(ellipse 60% 80% at 70% 40%, color-mix(in srgb, var(--hc-green-bright, #5FE0A4) 8%, transparent) 0%, transparent 60%),
    radial-gradient(ellipse 60% 70% at 20% 60%, color-mix(in srgb, var(--hc-green, #0A8754) 5%, transparent) 0%, transparent 65%),
    #FAFAF7;
  color: var(--hc-text);
  padding: 70px 0 80px;
  position: relative;
  overflow: hidden;
  border-top: 1px solid var(--hc-line);
}
.hc-stats > .container { position: relative; z-index: 1; }

.hc-news-wrap { padding-top: 8px; padding-bottom: 8px; }
.hc-news-wrap-bottom { padding-top: 16px; padding-bottom: 36px; }
.hc-news-label {
  font-size: 10.5px; letter-spacing: 0.25em; font-weight: 700;
  color: var(--hc-green); text-transform: uppercase;
  margin-bottom: 16px;
  display: inline-flex; align-items: center; gap: 8px;
}
.hc-news-dot {
  width: 6px; height: 6px; border-radius: 50%;
  background: var(--hc-green);
  box-shadow: 0 0 10px color-mix(in srgb, var(--hc-green, #0A8754) 50%, transparent);
  animation: hc-pulse 1.6s ease-in-out infinite;
}
.hc-news-row {
  overflow: hidden;
  mask-image: linear-gradient(90deg, transparent 0, #000 5%, #000 95%, transparent 100%);
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 5%, #000 95%, transparent 100%);
}
.hc-news-track {
  display: flex; gap: 18px; align-items: stretch; --marquee-gap: 18px;
  width: max-content;
  animation: hc-news-scroll var(--hc-news-dur, 60s) linear infinite;
}
.hc-news-row:hover .hc-news-track { animation-play-state: paused; }
.hc-news-right .hc-news-track { animation-direction: reverse; }
@keyframes hc-news-scroll {
  from { transform: translateX(0); }
  to   { transform: translateX(calc(-50% - var(--marquee-gap, 0px) / 2)); }
}
.hc-news-card {
  flex: 0 0 360px;
  background: #fff;
  border: 1px solid var(--hc-line);
  border-left: 3px solid var(--hc-green);
  border-radius: 8px;
  padding: 16px 18px;
  display: flex; flex-direction: column; gap: 8px;
  transition: border-color .2s, transform .2s, box-shadow .2s;
}
.hc-news-card:hover {
  border-color: color-mix(in srgb, var(--hc-green, #0A8754) 35%, transparent);
  border-left-color: var(--hc-accent-edge);
  transform: translateY(-2px);
  box-shadow: 0 14px 28px -18px color-mix(in srgb, var(--hc-green, #0A8754) 40%, transparent);
}
.hc-news-meta {
  display: flex; align-items: center; justify-content: space-between;
  gap: 10px;
}
.hc-news-y {
  font-size: 10px; letter-spacing: 0.18em; font-weight: 700;
  color: var(--hc-text-dim);
  padding: 3px 7px;
  border: 1px solid var(--hc-line);
  border-radius: 3px;
  background: #FAFAF7;
}
.hc-news-cost {
  font-size: 11.5px; font-weight: 700;
  color: var(--hc-green);
  letter-spacing: -0.005em;
}
.hc-news-who {
  font-size: 14px; font-weight: 600;
  color: var(--hc-text);
  letter-spacing: -0.005em;
  line-height: 1.3;
}
.hc-news-what {
  font-size: 12.5px; line-height: 1.45;
  color: var(--hc-text-dim);
  text-wrap: pretty;
}
.hc-news-source {
  font-size: 9.5px;
  letter-spacing: 0.15em;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--hc-text-faint);
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding-top: 4px;
  margin-top: auto;
  border-top: 1px dashed var(--hc-line);
}
.hc-news-source svg { color: var(--hc-green); flex-shrink: 0; }

.hc-stats-center { padding-top: 64px; padding-bottom: 56px; }
.hc-section-head.light {
  max-width: 820px; margin: 0 auto 48px; text-align: center;
}
.hc-h2-light {
  font-size: clamp(32px, 3.6vw, 48px);
  font-weight: 500;
  letter-spacing: -0.025em;
  line-height: 1.10;
  margin: 0 0 22px;
  color: var(--hc-text);
  text-wrap: balance;
}
.hc-h2-light-accent-green { color: var(--hc-green); font-weight: 500; }
.hc-lead-light {
  font-size: 17px; line-height: 1.6;
  color: var(--hc-text-dim);
  margin: 0;
  text-wrap: pretty;
}

.hc-center-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 28px;
  align-items: stretch;
  max-width: 820px;
  margin: 0 auto;
}
.hc-kpi-grid {
  display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px;
}
.hc-kpi {
  background: #fff;
  border: 1px solid var(--hc-line);
  border-radius: 10px;
  padding: 22px 22px;
  position: relative;
  transition: border-color .2s, box-shadow .2s, transform .2s;
}
.hc-kpi:hover {
  border-color: color-mix(in srgb, var(--hc-green, #0A8754) 35%, transparent);
  box-shadow: 0 14px 28px -20px color-mix(in srgb, var(--hc-green, #0A8754) 40%, transparent);
  transform: translateY(-2px);
}
.hc-kpi::before {
  content: ''; position: absolute; left: 0; top: 18px; bottom: 18px;
  width: 3px; background: var(--hc-green); border-radius: 0 2px 2px 0;
}
.hc-kpi-v {
  font-size: clamp(28px, 2.6vw, 36px);
  font-weight: 700;
  color: var(--hc-green);
  letter-spacing: -0.02em;
  line-height: 1;
  margin-bottom: 8px;
  font-family: ui-monospace, Menlo, monospace;
}
.hc-kpi-k {
  font-size: 12.5px; font-weight: 600;
  color: var(--hc-text); margin-bottom: 6px;
  letter-spacing: -0.005em;
}
.hc-kpi-sub {
  font-size: 12.5px; line-height: 1.45;
  color: var(--hc-text-dim);
}

.hc-chart {
  background: #fff;
  border: 1px solid var(--hc-line);
  border-radius: 10px;
  padding: 22px 22px 18px;
  display: flex; flex-direction: column; gap: 14px;
}
.hc-chart-head { display: flex; flex-direction: column; gap: 4px; }
.hc-chart-title {
  font-size: 14.5px; font-weight: 600; color: var(--hc-text);
  letter-spacing: -0.005em;
}
.hc-chart-hint {
  font-size: 11.5px; color: var(--hc-text-faint);
  letter-spacing: 0.02em;
}
.hc-chart-svg {
  width: 100%; height: auto;
  min-height: 220px;
  display: block;
}

.hc-chart-svg .hc-chart-line {
  transition: stroke-dashoffset 1800ms cubic-bezier(0.22, 0.61, 0.36, 1);
}
.hc-chart-svg .hc-chart-area {
  opacity: 0;
  transition: opacity 700ms ease 1100ms;
}
.hc-chart-svg.is-active .hc-chart-area { opacity: 1; }
.hc-chart-svg .hc-chart-pt {
  opacity: 0;
  transform: translateY(6px);
  transition: opacity 380ms ease, transform 380ms ease;
  transition-delay: calc(180ms * var(--i) + 200ms);
}
.hc-chart-svg.is-active .hc-chart-pt {
  opacity: 1;
  transform: translateY(0);
}
.hc-chart-svg .hc-chart-end-glow {
  opacity: 0;
  transform-origin: 542px 18px;
  animation: hc-end-glow 2.2s ease-in-out infinite;
  animation-delay: 1700ms;
  animation-play-state: paused;
}
.hc-chart-svg.is-active .hc-chart-end-glow {
  animation-play-state: running;
}
@keyframes hc-end-glow {
  0%, 100% { opacity: 0.45; transform: scale(0.92); }
  50%       { opacity: 0.95; transform: scale(1.18); }
}
.hc-chart-svg .hc-chart-pulse {
  transform-origin: 542px 18px;
  transform-box: fill-box;
  animation: hc-end-pulse 2s ease-out infinite;
  animation-delay: 1900ms;
  opacity: 0;
  animation-play-state: paused;
}
.hc-chart-svg.is-active .hc-chart-pulse {
  animation-play-state: running;
}
@keyframes hc-end-pulse {
  0%   { opacity: 0.7; transform: scale(0.8); }
  100% { opacity: 0;   transform: scale(2.2); }
}

@media (max-width: 1000px) {
  .hc-center-grid { grid-template-columns: 1fr; }
  .hc-kpi-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .hc-kpi-grid { grid-template-columns: 1fr; }
  .hc-news-card { flex-basis: 280px; }
}

.ct-form-card form .wpcf7-list-item input{display: block !important;}
.ct-form-card form .wpcf7-list-item label{flex-direction: row !important;}

.fcta-form .wpcf7-list-item input{display: block !important;}
.fcta-form .wpcf7-list-item label{flex-direction: row !important;border: 0 !important;gap: 10px !important;}
.fcta-form .wpcf7-list-item .book-date{text-transform: lowercase !important;display: inline !important;}
.fcta-form .wpcf7-list-item:has(input:checked) label{background-color: transparent !important;}

  :root {
    --bl-navy:        #070763;
    --bl-navy-deep:   #04043F;
    --bl-blue:        #1431A7;
    --bl-blue-bright: #C5D6FF;
    --bl-cyan:        #6EA8FF;
    --bl-red:         #a81634;
    --bl-text:        #1E1E1E;
    --bl-text-dim:    rgba(30,30,30,0.72);
    --bl-text-faint:  rgba(30, 30, 30, 0.68);
    --bl-line:        rgba(30,30,30,0.10);
    --bl-bg-1:        #FFFFFF;
    --bl-bg-2:        #F5F7FB;
    --bl-bg-3:        #ECEEF6;
  }

  .bl-hero {
    position: relative; background: var(--bl-navy); color: #fff;
    padding: 130px 0 90px; overflow: hidden; isolation: isolate;
  }
  .bl-hero-bg { position: absolute; inset: 0; pointer-events: none; }
  .bl-hero-grid {
    position: absolute; inset: 0;
    background-image: linear-gradient(to right, rgba(255,255,255,0.04) 1px, transparent 1px), linear-gradient(to bottom, rgba(255,255,255,0.04) 1px, transparent 1px);
    background-size: 64px 64px;
    mask-image: radial-gradient(ellipse 70% 60% at 50% 40%, black 30%, transparent 80%);
    -webkit-mask-image: radial-gradient(ellipse 70% 60% at 50% 40%, black 30%, transparent 80%);
  }
  .bl-hero-glow {
    position: absolute; right: -12%; top: -180px;
    width: 1100px; height: 1100px; border-radius: 50%;
    background: radial-gradient(circle, rgba(110,168,255,0.32) 0%, rgba(20,49,167,0.26) 38%, transparent 72%);
    filter: blur(60px); animation: bl-breath 9s ease-in-out infinite;
  }
  .bl-hero-glow-blue {
    position: absolute; left: -10%; bottom: -200px;
    width: 700px; height: 700px; border-radius: 50%;
    background: radial-gradient(circle, rgba(166,187,255,0.16) 0%, rgba(20,49,167,0.12) 45%, transparent 70%);
    filter: blur(70px);
  }
  @keyframes bl-breath {
    0%,100% { opacity: 0.85; transform: translate3d(0,0,0) scale(1); }
    50%     { opacity: 1;    transform: translate3d(0,0,0) scale(1.04); }
  }
  .bl-hero-vignette {
    position: absolute; inset: 0;
    background: radial-gradient(ellipse 100% 80% at 50% 50%, transparent 30%, rgba(0,0,0,0.45) 100%);
  }
  .bl-hero-container { position: relative; z-index: 1; }

  .bl-hero-cols {
    display: grid; grid-template-columns: 1.15fr 0.85fr;
    gap: 80px; align-items: center;
  }
  .bl-hero-copy { min-width: 0; }
  .bl-hero-eyebrow {
    font-size: 11px; letter-spacing: 0.22em; font-weight: 700;
    color: rgba(197,214,255,0.68); text-transform: uppercase; margin-bottom: 22px; display: block;
  }
  .bl-hero-h1 {
    font-size: clamp(40px, 5.4vw, 78px); font-weight: 400; letter-spacing: -0.024em;
    line-height: 1.04; margin: 0 0 26px; color: #fff; text-wrap: balance;
  }
  .bl-h1-accent { color: var(--bl-blue-bright); font-weight: 500; }
  .bl-hero-sub {
    font-size: 18px; line-height: 1.6; color: rgba(255,255,255,0.78);
    max-width: 720px; margin: 0; text-wrap: pretty;
  }
  .bl-hero-form {
    width: 100%; max-width: 460px; justify-self: end; margin-bottom: 8px;
  }
  .bl-hero-form-label {
    font-size: 10.5px; letter-spacing: 0.22em; font-weight: 700;
    color: rgba(197, 214, 255, 0.64); text-transform: uppercase; margin-bottom: 12px; display: block;
  }
  .bl-hero-form-row {
    display: flex; gap: 10px; align-items: stretch;
    background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.12);
    border-radius: 10px; padding: 6px; backdrop-filter: blur(8px);
    transition: border-color 0.2s, background 0.2s;
  }
  .bl-hero-form-row:focus-within { border-color: rgba(197,214,255,0.55); background: rgba(255,255,255,0.06); }
  .bl-hero-form-input {
    flex: 1; background: transparent; border: 0; outline: 0;
    padding: 12px 14px; font-size: 15px; color: #fff; font-family: inherit; min-width: 0;
  }
  .bl-hero-form-input::placeholder { color: rgba(255, 255, 255, 0.56); }
  .bl-hero-form-cta {
    display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    padding: 12px 20px; background: var(--bl-blue-bright); color: var(--bl-navy);
    border: 0; border-radius: 7px; font-size: 14px; font-weight: 600;
    letter-spacing: -0.005em; font-family: inherit; cursor: pointer; white-space: nowrap;
    transition: background 0.2s, transform 0.2s;
  }
  .bl-hero-form-cta:hover { background: #DCE6FF; }
  .bl-hero-form-arrow { transition: transform 0.2s; }
  .bl-hero-form-cta:hover .bl-hero-form-arrow { transform: translateX(3px); }
  .bl-hero-form-legal { font-size: 11.5px; color: rgba(255, 255, 255, 0.56); margin-top: 10px; padding-left: 2px; }
  @media (max-width: 980px) {
    .bl-hero-cols { grid-template-columns: 1fr; gap: 48px; align-items: start; }
    .bl-hero-form { justify-self: start; max-width: 560px; margin-top: 8px; }
  }
  @media (max-width: 700px) { .bl-hero { padding: 110px 0 70px; } }
  @media (max-width: 520px) {
    .bl-hero-form-row { flex-direction: column; padding: 8px; gap: 8px; }
    .bl-hero-form-cta { width: 100%; }
  }

  .bl-arrow { transition: transform 0.2s; }
  .bl-btn:hover .bl-arrow { transform: translateX(3px); }
  .bl-btn {
    display: inline-flex; align-items: center; gap: 10px; padding: 13px 22px;
    font-size: 14px; font-weight: 500; letter-spacing: -0.005em;
    border-radius: 8px; text-decoration: none; border: 1px solid transparent;
    transition: all 0.2s ease;
  }
  .bl-btn-primary { background: var(--bl-navy); color: #fff; border-color: var(--bl-navy); }
  .bl-btn-primary:hover { background: #0a1380; border-color: #0a1380; transform: translateY(-1px); }
  .bl-btn-ghost { color: var(--bl-text); border-color: var(--bl-line); background: transparent; }
  .bl-btn-ghost:hover { color: var(--bl-blue); border-color: var(--bl-blue); }
  .bl-dot { opacity: 0.6; }

  .bl-tag {
    display: inline-flex; align-items: center; padding: 4px 10px;
    font-family: 'JetBrains Mono', ui-monospace, monospace;
    font-size: 10.5px; font-weight: 600; letter-spacing: 0.14em;
    text-transform: uppercase; border-radius: 4px; line-height: 1.4;
  }
  .bl-tag-cve         { background: rgba(168,22,52,0.10);   color: var(--bl-red);  border: 1px solid rgba(168,22,52,0.22); }
  .bl-tag-cloud       { background: rgba(110,168,255,0.14); color: var(--bl-blue); border: 1px solid rgba(20,49,167,0.20); }
  .bl-tag-ai          { background: rgba(20,49,167,0.10);   color: var(--bl-blue); border: 1px solid rgba(20,49,167,0.22); }
  .bl-tag-redteam     { background: rgba(168,22,52,0.10);   color: var(--bl-red);  border: 1px solid rgba(168,22,52,0.22); }
  .bl-tag-compliance  { background: rgba(20,49,167,0.07);   color: var(--bl-blue); border: 1px solid rgba(20,49,167,0.18); }
  .bl-tag-industry    { background: rgba(7,7,99,0.07);      color: var(--bl-navy); border: 1px solid rgba(7,7,99,0.16); }
  .bl-tag-walkthrough { background: rgba(110,168,255,0.10); color: var(--bl-blue); border: 1px solid rgba(20,49,167,0.18); }

  .bl-featured { padding: 100px 0 80px; background: var(--bl-bg-1); color: var(--bl-text); }

  .bl-filters .bl-featured { background: transparent; padding: 40px 0 56px; }
  .bl-filters .bl-featured > .container { max-width: none; padding: 0; }
  .bl-featured-card {
    display: grid; grid-template-columns: 1.15fr 1fr; gap: 0;
    background: #fff; border: 1px solid var(--bl-line); border-radius: 18px; overflow: hidden;
    box-shadow: 0 1px 0 rgba(20,49,167,0.04), 0 40px 90px -40px rgba(7,7,99,0.18);
    transition: transform 0.4s cubic-bezier(.2,.7,.2,1), box-shadow 0.4s ease;
  }
  .bl-featured-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 1px 0 rgba(20,49,167,0.06), 0 50px 110px -40px rgba(7,7,99,0.24);
  }
  .bl-featured-cover {
    position: relative; min-height: 480px; background: var(--bl-navy); overflow: hidden;
  }
  .bl-featured-cover::after {
    content: ""; position: absolute; inset: 0;
    background: linear-gradient(135deg, rgba(7,7,99,0) 0%, rgba(7,7,99,0.25) 100%),
      radial-gradient(ellipse 60% 50% at 30% 30%, rgba(110,168,255,0.08), transparent 70%);
    pointer-events: none;
  }
  .bl-featured-cover img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
  .bl-featured-cover-badge {
    position: absolute; top: 24px; left: 24px; z-index: 2;
    display: inline-flex; align-items: center; gap: 8px; padding: 7px 12px 7px 10px;
    background: rgba(7,7,99,0.55); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
    border: 1px solid rgba(197,214,255,0.22); border-radius: 100px;
    font-family: 'JetBrains Mono', ui-monospace, monospace;
    font-size: 10.5px; font-weight: 600; letter-spacing: 0.18em;
    text-transform: uppercase; color: rgba(255,255,255,0.92);
  }
  .bl-featured-cover-badge::before {
    content: ""; width: 6px; height: 6px; border-radius: 50%;
    background: #6EA8FF; box-shadow: 0 0 0 3px rgba(110,168,255,0.25); flex-shrink: 0;
  }
  .bl-featured-body { padding: 64px 60px 60px; display: flex; flex-direction: column; gap: 24px; }
  .bl-featured-meta { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
  .bl-featured-eyebrow {
    font-size: 11px; letter-spacing: 0.22em; font-weight: 700;
    color: var(--bl-text-faint); text-transform: uppercase;
  }
  .bl-featured-title {
    font-size: clamp(30px, 3vw, 40px); font-weight: 400; line-height: 1.14;
    letter-spacing: -0.022em; color: var(--bl-text); margin: 0; text-wrap: balance;
  }
  .bl-featured-lede { font-size: 16px; line-height: 1.65; color: rgba(30, 30, 30, 0.68); margin: 0; text-wrap: pretty; }
  .bl-featured-attr {
    display: flex; align-items: center; gap: 14px; padding: 18px 0 4px;
    border-top: 1px solid var(--bl-line); margin-top: auto;
  }
  .bl-featured-authors { display: flex; }
  .bl-featured-avatar {
    width: 38px; height: 38px; border-radius: 50%; color: #fff;
    font-family: 'JetBrains Mono', ui-monospace, monospace;
    font-size: 11.5px; font-weight: 600; letter-spacing: 0.05em;
    display: grid; place-items: center;
    margin-left: -10px; border: 2px solid #fff; box-shadow: 0 2px 6px -2px rgba(0,0,0,0.2);
  }
  .bl-featured-avatar:first-child { margin-left: 0; }
  .bl-featured-author-line { font-size: 14px; font-weight: 600; color: var(--bl-text); line-height: 1.3; }
  .bl-featured-meta-line {
    font-size: 11px; letter-spacing: 0.14em; font-weight: 600; color: var(--bl-text-faint);
    text-transform: uppercase; margin-top: 4px; display: flex; align-items: center; gap: 8px;
  }
  .bl-featured-actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 6px; }
  @media (max-width: 1000px) {
    .bl-featured-card { grid-template-columns: 1fr; }
    .bl-featured-cover { min-height: 280px; }
    .bl-featured-body { padding: 36px 28px 36px; gap: 20px; }
  }

  .bl-filters {
    padding: 50px 0 110px; background: var(--bl-bg-2); color: var(--bl-text); position: relative;
  }
  .bl-filters::before {
    content: ""; position: absolute; left: 6%; right: 6%; top: 0; height: 1px; background: var(--bl-line);
  }
  .bl-filters-bar { margin-bottom: 22px; border-bottom: 1px solid var(--bl-line); }
  .bl-filters-tabs { display: flex; flex-wrap: wrap; gap: 4px; }
  .bl-filter-tab {
    background: transparent; border: 0; padding: 14px 18px; margin-bottom: -1px;
    display: inline-flex; align-items: center; gap: 10px;
    font-size: 14px; font-weight: 500; letter-spacing: -0.005em; color: var(--bl-text-dim);
    cursor: pointer; border-bottom: 2px solid transparent;
    transition: color 0.2s, border-color 0.2s; border-radius: 0; font-family: inherit;
  }
  .bl-filter-tab:hover { color: var(--bl-text); }
  .bl-filter-tab.is-active { color: var(--bl-navy); border-bottom-color: var(--bl-navy); font-weight: 600; }
  .bl-filter-count {
    font-size: 10.5px; font-weight: 700; letter-spacing: 0.1em; color: var(--bl-text-faint);
    padding: 2px 7px; background: rgba(20,49,167,0.06); border-radius: 4px;
    font-family: 'JetBrains Mono', ui-monospace, monospace;
  }
  .bl-filter-tab.is-active .bl-filter-count { background: var(--bl-navy); color: #fff; }
  .bl-filters-tools {
    display: grid; grid-template-columns: minmax(260px, 1fr) auto auto;
    gap: 24px; align-items: center; margin-bottom: 36px;
  }
  .bl-search {
    position: relative; background: #fff; border: 1px solid var(--bl-line); border-radius: 8px;
    display: flex; align-items: center; padding: 0 12px; transition: border-color 0.2s, box-shadow 0.2s;
  }
  .bl-search:focus-within { border-color: var(--bl-blue); box-shadow: 0 0 0 3px rgba(20,49,167,0.10); }
  .bl-search-icon { color: var(--bl-text-faint); flex-shrink: 0; }
  .bl-search-input {
    flex: 1; background: transparent; border: 0; outline: 0; padding: 13px 12px;
    font-size: 14px; color: var(--bl-text); font-family: inherit;
  }
  .bl-search-input::placeholder { color: var(--bl-text-faint); }
  .bl-sort { display: flex; align-items: center; gap: 14px; }
  .bl-sort-label {
    font-size: 11px; letter-spacing: 0.18em; font-weight: 700;
    color: var(--bl-text-faint); text-transform: uppercase; white-space: nowrap;
    font-family: 'JetBrains Mono', ui-monospace, monospace;
  }
  .bl-sort-options {
    display: inline-flex; background: #fff; border: 1px solid var(--bl-line); border-radius: 8px; padding: 3px;
  }
  .bl-sort-btn {
    background: transparent; border: 0; padding: 8px 14px; font-size: 13px; font-weight: 500;
    color: var(--bl-text-dim); cursor: pointer; border-radius: 6px; white-space: nowrap;
    transition: background 0.2s, color 0.2s; font-family: inherit;
  }
  .bl-sort-btn:hover { color: var(--bl-text); }
  .bl-sort-btn.is-active { background: var(--bl-navy); color: #fff; }
  .bl-result-count {
    font-size: 11px; letter-spacing: 0.18em; font-weight: 700; color: var(--bl-text-faint);
    text-transform: uppercase; white-space: nowrap; text-align: right;
    font-family: 'JetBrains Mono', ui-monospace, monospace;
  }
  .bl-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
  .bl-post {
    background: #fff; border: 1px solid var(--bl-line); border-radius: 12px; overflow: hidden;
    display: flex; flex-direction: column;
    transition: transform 0.25s, box-shadow 0.25s, border-color 0.25s;
  }
  .bl-post:hover {
    transform: translateY(-3px); box-shadow: 0 24px 50px -22px rgba(20,49,167,0.22);
    border-color: rgba(20,49,167,0.18);
  }
  .bl-post-cover-link { display: block; aspect-ratio: 16 / 10; background: var(--bl-navy); overflow: hidden; }
  .bl-post-cover-img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.5s ease; }
  .bl-post:hover .bl-post-cover-img { transform: scale(1.04); }
  .bl-post-body { padding: 22px 22px 24px; display: flex; flex-direction: column; gap: 12px; flex: 1; }
  .bl-post-meta { display: flex; align-items: center; gap: 10px; }
  .bl-post-title {
    font-size: 19px; font-weight: 500; line-height: 1.28; letter-spacing: -0.018em;
    color: var(--bl-text); margin: 0; text-wrap: balance;
  }
  .bl-post-title a { color: inherit; text-decoration: none; }
  .bl-post-title a:hover { color: var(--bl-blue); }
  .bl-post-excerpt { font-size: 14.5px; line-height: 1.55; color: rgba(30, 30, 30, 0.68); margin: 0; text-wrap: pretty; flex: 1; }
  .bl-post-attr { display: flex; align-items: center; gap: 12px; margin-top: 8px; padding-top: 14px; border-top: 1px solid var(--bl-line); }
  .bl-post-avatar {
    width: 32px; height: 32px; border-radius: 50%; color: #fff;
    font-family: 'JetBrains Mono', ui-monospace, monospace;
    font-size: 10.5px; font-weight: 600; letter-spacing: 0.05em;
    display: grid; place-items: center; flex-shrink: 0;
  }
  .bl-post-author { font-size: 13px; font-weight: 600; color: var(--bl-text); line-height: 1.3; }
  .bl-post-date {
    font-size: 10.5px; letter-spacing: 0.14em; font-weight: 600; color: var(--bl-text-faint);
    text-transform: uppercase; margin-top: 2px; display: flex; align-items: center; gap: 6px;
    font-family: 'JetBrains Mono', ui-monospace, monospace;
  }
  .bl-empty {
    padding: 80px 20px; text-align: center; background: #fff;
    border: 1px dashed var(--bl-line); border-radius: 12px;
  }
  .bl-empty p { font-size: 16px; color: var(--bl-text-dim); margin: 0 0 18px; }
  .bl-empty-reset {
    background: var(--bl-navy); color: #fff; border: 0; padding: 11px 22px; border-radius: 8px;
    font-size: 13.5px; font-weight: 500; cursor: pointer; transition: background 0.2s; font-family: inherit;
  }
  .bl-empty-reset:hover { background: #0a1380; }
  .bl-pagination {
    margin-top: 56px; display: flex; align-items: center; justify-content: center; gap: 24px; flex-wrap: wrap;
  }
  .bl-pag-btn {
    background: #fff; border: 1px solid var(--bl-line); padding: 10px 18px; border-radius: 8px;
    font-size: 13.5px; font-weight: 500; color: var(--bl-text); cursor: pointer;
    display: inline-flex; align-items: center; gap: 8px;
    transition: border-color 0.2s, color 0.2s, background 0.2s; font-family: inherit;
    text-decoration: none;
  }
  .bl-pag-btn:hover:not(:disabled) { border-color: var(--bl-blue); color: var(--bl-blue); }
  .bl-pag-btn:disabled { opacity: 0.4; cursor: not-allowed; }
  .bl-pag-pages { display: inline-flex; gap: 4px; }
  .bl-pag-num {
    width: 36px; height: 36px; background: transparent; border: 0; border-radius: 6px;
    font-family: 'JetBrains Mono', ui-monospace, monospace;
    font-size: 13px; font-weight: 600; color: var(--bl-text-dim); cursor: pointer;
    transition: background 0.2s, color 0.2s;align-items: center;display: flex;text-decoration: none;
    justify-content: center;
  }
  .bl-pag-num:hover { background: rgba(20,49,167,0.08); color: var(--bl-text); }
  .bl-pag-num.is-active { background: var(--bl-navy); color: #fff; }
  @media (max-width: 1000px) {
    .bl-grid { grid-template-columns: repeat(2, 1fr); }
    .bl-filters-tools { grid-template-columns: 1fr; gap: 14px; }
    .bl-result-count { text-align: left; }
  }
  @media (max-width: 640px) {
    .bl-grid { grid-template-columns: 1fr; }
    .bl-filter-tab { padding: 12px 12px; font-size: 13px; }
  }

  .bl-news {
    position: relative; background: var(--bl-navy); color: #fff;
    padding: 130px 0; overflow: hidden; isolation: isolate;
  }
  .bl-news-bg { position: absolute; inset: 0; pointer-events: none; }
  .bl-news-grid-bg {
    position: absolute; inset: 0;
    background-image: linear-gradient(to right, rgba(255,255,255,0.04) 1px, transparent 1px), linear-gradient(to bottom, rgba(255,255,255,0.04) 1px, transparent 1px);
    background-size: 64px 64px;
    mask-image: radial-gradient(ellipse 70% 60% at 50% 50%, black 30%, transparent 80%);
    -webkit-mask-image: radial-gradient(ellipse 70% 60% at 50% 50%, black 30%, transparent 80%);
  }
  .bl-news-glow {
    position: absolute; right: -10%; top: 50%; transform: translateY(-50%);
    width: 900px; height: 900px; border-radius: 50%;
    background: radial-gradient(circle, rgba(110,168,255,0.20) 0%, rgba(20,49,167,0.14) 40%, transparent 72%);
    filter: blur(70px);
  }
  .bl-news-container { position: relative; z-index: 1; }
  .bl-news-grid-cols { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 80px; align-items: start; }
  .bl-news-left { max-width: 560px; }
  .bl-news-eyebrow {
    font-size: 11px; letter-spacing: 0.22em; font-weight: 700;
    color: rgba(197,214,255,0.68); text-transform: uppercase; margin-bottom: 22px; display: block;
  }
  .bl-news-title {
    font-size: clamp(34px, 4.2vw, 56px); font-weight: 400; line-height: 1.06;
    letter-spacing: -0.022em; color: #fff; margin: 0 0 22px; text-wrap: balance;
  }
  .bl-news-title-accent { color: var(--bl-blue-bright); font-weight: 500; }
  .bl-news-body { font-size: 16.5px; line-height: 1.6; color: rgba(255,255,255,0.78); margin: 0 0 40px; text-wrap: pretty; }
  .bl-news-counts {
    display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px;
    padding-top: 28px; border-top: 1px solid rgba(255,255,255,0.12);
  }
  .bl-news-count-v {
    font-size: 24px; font-weight: 500; letter-spacing: -0.015em;
    color: var(--bl-blue-bright); line-height: 1.1;
  }
  .bl-news-count-k {
    font-size: 10.5px; letter-spacing: 0.18em; font-weight: 700;
    color: rgba(255, 255, 255, 0.56); text-transform: uppercase; margin-top: 6px;
    font-family: 'JetBrains Mono', ui-monospace, monospace;
  }
  .bl-news-form {
    background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.10);
    border-radius: 14px; padding: 32px 30px; backdrop-filter: blur(8px);
    display: flex; flex-direction: column; gap: 18px;
  }
  .bl-news-field { display: flex; flex-direction: column; gap: 8px; }
  .bl-news-field-label {
    font-size: 10.5px; letter-spacing: 0.22em; font-weight: 700;
    color: rgba(197, 214, 255, 0.64); text-transform: uppercase;
    font-family: 'JetBrains Mono', ui-monospace, monospace;
  }
  .bl-news-input, .bl-news-select {
    background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.14);
    border-radius: 8px; padding: 13px 14px; font-size: 14.5px; color: #fff; width: 100%;
    font-family: inherit; outline: 0; transition: border-color 0.2s, background 0.2s;
  }
  .bl-news-input::placeholder { color: rgba(255, 255, 255, 0.56); }
  .bl-news-input:focus, .bl-news-select:focus { border-color: var(--bl-blue-bright); background: rgba(255,255,255,0.08); }
  .bl-news-select-wrap { position: relative; }
  .bl-news-select { appearance: none; -webkit-appearance: none; padding-right: 38px; cursor: pointer; }
  .bl-news-select option { background: var(--bl-navy); color: #fff; }
  .bl-news-select-chev {
    position: absolute; right: 14px; top: 50%; transform: translateY(-50%);
    color: rgba(197, 214, 255, 0.64); pointer-events: none;
  }
  .bl-news-cta {
    display: inline-flex; align-items: center; justify-content: center; gap: 10px;
    padding: 15px 22px; background: var(--bl-blue-bright); color: var(--bl-navy);
    border: 0; border-radius: 8px; font-size: 14.5px; font-weight: 600;
    letter-spacing: -0.005em; cursor: pointer;
    transition: background 0.2s, transform 0.2s, box-shadow 0.2s;
    box-shadow: 0 12px 28px -10px rgba(197,214,255,0.45); margin-top: 6px; font-family: inherit;
  }
  .bl-news-cta:hover { background: #DCE6FF; transform: translateY(-1px); box-shadow: 0 16px 36px -10px rgba(197,214,255,0.55); }
  .bl-news-cta .bl-arrow { transition: transform 0.2s; }
  .bl-news-cta:hover .bl-arrow { transform: translateX(3px); }
  .bl-news-legal { font-size: 11.5px; color: rgba(255, 255, 255, 0.56); text-align: center; margin-top: 4px; }
  @media (max-width: 1000px) { .bl-news { padding: 100px 0; } .bl-news-grid-cols { grid-template-columns: 1fr; gap: 56px; } }
  @media (max-width: 600px) { .bl-news-counts { grid-template-columns: 1fr; gap: 18px; } }

  .bl-authors { padding: 110px 0; background: var(--bl-bg-1); color: var(--bl-text); position: relative; }
  .bl-authors::before, .bl-authors::after {
    content: ""; position: absolute; left: 6%; right: 6%; height: 1px; background: var(--bl-line);
  }
  .bl-authors::before { top: 0; } .bl-authors::after { bottom: 0; }
  .bl-authors-head { max-width: 760px; margin-bottom: 56px; }
  .bl-section-title {
    font-size: clamp(34px, 4.2vw, 56px); font-weight: 400; line-height: 1.06;
    letter-spacing: -0.022em; color: var(--bl-text); margin: 0 0 22px; text-wrap: balance;
  }
  .bl-title-accent { color: var(--bl-blue); font-weight: 500; }
  .bl-authors-sub { font-size: 17px; line-height: 1.6; color: rgba(30,30,30,0.7); margin: 0; max-width: 640px; text-wrap: pretty; }
  .bl-authors-grid {
    display: grid; grid-template-columns: repeat(3, 1fr);
    gap: 1px; background: var(--bl-line); border: 1px solid var(--bl-line); border-radius: 4px; overflow: hidden;
  }
  .bl-author {
    display: flex; align-items: center; gap: 18px; padding: 26px 24px;
    background: #fff; transition: background 0.2s;
  }
  .bl-author:hover { background: var(--bl-bg-2); }
  .bl-author-avatar {
    width: 56px; height: 56px; border-radius: 50%; color: #fff;
    font-family: 'JetBrains Mono', ui-monospace, monospace;
    font-size: 16px; font-weight: 600; letter-spacing: 0.04em;
    display: grid; place-items: center; flex-shrink: 0;
  }
  .bl-author-info { min-width: 0; }
  .bl-author-name { font-size: 15.5px; font-weight: 600; color: var(--bl-text); line-height: 1.3; }
  .bl-author-role { font-size: 13.5px; color: rgba(30,30,30,0.7); margin-top: 2px; }
  .bl-author-focus {
    font-size: 10.5px; letter-spacing: 0.16em; font-weight: 700; color: var(--bl-text-faint);
    text-transform: uppercase; margin-top: 8px; font-family: 'JetBrains Mono', ui-monospace, monospace;
  }
  @media (max-width: 900px) { .bl-authors-grid { grid-template-columns: repeat(2, 1fr); } }
  @media (max-width: 560px) { .bl-authors-grid { grid-template-columns: 1fr; } }

  .bl-closing {
    padding: 140px 0 150px;
    background: linear-gradient(180deg, #04043F 0%, #070763 55%, #0A0A78 100%);
    color: #fff; position: relative; overflow: hidden;
  }
  .bl-closing-bg { position: absolute; inset: 0; pointer-events: none; }
  .bl-closing-grid {
    position: absolute; inset: 0;
    background-image: linear-gradient(to right, rgba(255,255,255,0.04) 1px, transparent 1px), linear-gradient(to bottom, rgba(255,255,255,0.04) 1px, transparent 1px);
    background-size: 64px 64px;
    mask-image: radial-gradient(ellipse 70% 60% at 50% 50%, black 30%, transparent 82%);
    -webkit-mask-image: radial-gradient(ellipse 70% 60% at 50% 50%, black 30%, transparent 82%);
  }
  .bl-closing-glow {
    position: absolute; border-radius: 50%; filter: blur(80px);
    animation: bl-closing-breath 11s ease-in-out infinite;
  }
  .bl-closing-glow-a { left: -10%; top: -200px; width: 900px; height: 900px; background: radial-gradient(circle, rgba(110,168,255,0.32) 0%, rgba(20,49,167,0.22) 40%, transparent 72%); }
  .bl-closing-glow-b { right: -12%; bottom: -240px; width: 1000px; height: 1000px; background: radial-gradient(circle, rgba(166,187,255,0.26) 0%, rgba(20,49,167,0.18) 42%, transparent 72%); animation-delay: -4s; }
  @keyframes bl-closing-breath {
    0%,100% { opacity: 0.85; transform: translate3d(0,0,0) scale(1); }
    50%     { opacity: 1;    transform: translate3d(0,0,0) scale(1.05); }
  }
  .bl-closing-vignette { position: absolute; inset: 0; background: radial-gradient(ellipse 100% 80% at 50% 50%, transparent 35%, rgba(0,0,0,0.45) 100%); }
  .bl-closing > .container { position: relative; z-index: 1; }
  .bl-closing-inner {
    max-width: 760px; margin: 0 auto; text-align: center;
    display: flex; flex-direction: column; align-items: center; gap: 24px;
  }
  .bl-closing-title {
    font-size: clamp(36px, 4.4vw, 60px); font-weight: 400; line-height: 1.06;
    letter-spacing: -0.025em; color: #fff; margin: 0; text-wrap: balance;
  }
  .bl-closing-title-accent { color: var(--bl-blue-bright); font-weight: 500; }
  .bl-closing-body { font-size: 17px; line-height: 1.6; color: rgba(255,255,255,0.78); margin: 0; max-width: 580px; text-wrap: pretty; }
  .bl-closing-actions { margin-top: 12px; display: flex; gap: 12px; flex-wrap: wrap; justify-content: center; }
  .bl-closing-btn {
    display: inline-flex; align-items: center; gap: 10px; padding: 15px 28px;
    background: var(--bl-blue-bright); color: var(--bl-navy); border-radius: 8px;
    font-size: 14.5px; font-weight: 600; letter-spacing: -0.005em; text-decoration: none;
    transition: background 0.2s, transform 0.2s, box-shadow 0.2s;
    box-shadow: 0 14px 32px -10px rgba(197,214,255,0.45);
  }
  .bl-closing-btn:hover { background: #DCE6FF; transform: translateY(-1px); box-shadow: 0 18px 40px -10px rgba(197,214,255,0.6); }
  .bl-closing-btn .bl-arrow { transition: transform 0.25s; }
  .bl-closing-btn:hover .bl-arrow { transform: translateX(3px); }
  .bl-closing-btn-ghost {
    display: inline-flex; align-items: center; padding: 15px 24px;
    color: rgba(255,255,255,0.92); border: 1px solid rgba(197,214,255,0.30); border-radius: 8px;
    font-size: 14.5px; font-weight: 500; letter-spacing: -0.005em; text-decoration: none;
    background: transparent; transition: color 0.2s, border-color 0.2s;
  }
  .bl-closing-btn-ghost:hover { color: var(--bl-blue-bright); border-color: var(--bl-blue-bright); }
  @media (max-width: 700px) { .bl-closing { padding: 100px 0 110px; } }

  :root {
    --bp-navy: #070763;
    --bp-blue: #1431A7;
    --bp-blue-bright: #C5D6FF;
    --bp-red: #a81634;
    --bp-text: #1E1E1E;
    --bp-text-dim: rgba(30,30,30,0.72);
    --bp-text-faint: rgba(30, 30, 30, 0.68);
    --bp-line: rgba(30,30,30,0.10);
    --bp-bg: #FFFFFF;
    --bp-bg-soft: #F5F7FB;
    --bp-bg-card: #ECEEF6;
  }

  .bp-article { background: var(--bp-bg); color: var(--bp-text); }

  .bp-hero { padding: 130px 0 0; background: var(--bp-bg); }
  .bp-crumb {
    display: inline-flex; align-items: center; gap: 6px;
    font-size: 11px; letter-spacing: 0.18em; font-weight: 700;
    color: var(--bp-blue); text-transform: uppercase;
    text-decoration: none; margin-bottom: 28px;
  }
  .bp-crumb:hover { color: var(--bp-navy); }
  .bp-hero-tag {
    display: inline-block;
    font-size: 10.5px; letter-spacing: 0.20em; font-weight: 700;
    color: var(--bp-red); text-transform: uppercase;
    padding: 6px 11px; border: 1px solid rgba(168,22,52,0.25);
    border-radius: 4px; background: rgba(168,22,52,0.05);
    margin-bottom: 22px;
  }
  .bp-hero-title {
    font-size: clamp(34px, 4.6vw, 60px);
    font-weight: 400; letter-spacing: -0.024em;
    line-height: 1.06; color: var(--bp-navy);
    max-width: 920px; margin: 0 0 24px;
    text-wrap: balance;
  }
  .bp-hero-summary {
    font-size: 18px; line-height: 1.6;
    color: var(--bp-text-dim); max-width: 760px;
    margin: 0; text-wrap: pretty;
  }
  .bp-hero-meta {
    display: flex; justify-content: space-between; align-items: center;
    gap: 32px; flex-wrap: wrap;
    padding: 28px 0 30px; margin-top: 36px;
    border-top: 1px solid var(--bp-line);
    border-bottom: 1px solid var(--bp-line);
  }
  .bp-hero-meta-left { display: flex; align-items: center; gap: 22px; flex-wrap: wrap; }
  .bp-meta-divider { width: 1px; height: 32px; background: var(--bp-line); }
  .bp-meta-dates { display: flex; flex-direction: column; gap: 3px; }
  .bp-meta-date { font-size: 14px; color: var(--bp-text); font-weight: 500; }
  .bp-meta-read {
    font-size: 11px; letter-spacing: 0.16em; font-weight: 600;
    color: var(--bp-text-faint); text-transform: uppercase;
  }

  .bp-authors { display: flex; align-items: center; gap: 14px; }
  .bp-author-stack { display: flex; }
  .bp-author-avatar {
    width: 38px; height: 38px; border-radius: 50%;
    display: inline-flex; align-items: center; justify-content: center;
    color: #fff; font-weight: 600; font-size: 12px; letter-spacing: 0.04em;
    border: 2px solid var(--bp-bg); margin-left: -8px;
  }
  .bp-author-stack .bp-author-avatar:first-child { margin-left: 0; }
  .bp-author-names { font-size: 14.5px; font-weight: 500; color: var(--bp-text); }
  .bp-author-roles {
    font-size: 11px; letter-spacing: 0.10em; font-weight: 600;
    color: var(--bp-text-faint); text-transform: uppercase; margin-top: 3px;
  }

  .bp-share { display: inline-flex; align-items: center; gap: 8px; flex-wrap: wrap; }
  .bp-share-label {
    font-size: 11px; letter-spacing: 0.18em; font-weight: 700;
    color: var(--bp-text-faint); text-transform: uppercase; margin-right: 4px;
  }
  .bp-share-btn {
    width: 36px; height: 36px;
    display: inline-flex; align-items: center; justify-content: center;
    background: var(--bp-bg-soft); border: 1px solid var(--bp-line);
    border-radius: 8px; color: var(--bp-navy);
    cursor: pointer; transition: background .18s, color .18s, border-color .18s, transform .18s;
    text-decoration: none;
  }
  .bp-share-btn:hover {
    background: var(--bp-navy); color: #fff; border-color: var(--bp-navy);
    transform: translateY(-1px);
  }
  .bp-share-link.is-copied {
    background: var(--bp-blue-bright); color: var(--bp-navy);
    border-color: var(--bp-blue-bright);
  }

  .bp-cover-wrap { margin-top: 8px; }
  .bp-cover {
    position: relative; width: 100%; aspect-ratio: 1200/520;
    border-radius: 14px; overflow: hidden;
    background: linear-gradient(135deg,#04043F 0%,#070763 50%,#1431A7 100%);
  }
  .bp-cover-img { width: 100%; height: 100%; object-fit: cover; display: block; }

  .bp-body-container { padding: 80px 0 100px; }
  .bp-body-grid {
    display: grid;
    grid-template-columns: 280px minmax(0,1fr);
    gap: 80px; align-items: start;
  }
  .bp-side { position: sticky; top: 110px; align-self: start; }
  .bp-toc-card {
    padding: 24px 22px;
    background: var(--bp-bg-soft);
    border: 1px solid var(--bp-line);
    border-radius: 12px;
  }
  .bp-toc-title {
    font-size: 11px; letter-spacing: 0.20em; font-weight: 700;
    color: var(--bp-text-faint); text-transform: uppercase;
    font-family: ui-monospace, Menlo, monospace; margin-bottom: 18px;
  }
  .bp-toc-list { list-style: none; padding: 0; margin: 0 0 22px; }
  .bp-toc-item a {
    display: grid; grid-template-columns: 28px 1fr; gap: 10px;
    padding: 9px 10px; margin: 0 -10px; border-radius: 7px;
    font-size: 13.5px; line-height: 1.4; color: var(--bp-text-dim);
    text-decoration: none; transition: background .15s, color .15s;
  }
  .bp-toc-item a:hover { color: var(--bp-navy); background: rgba(20,49,167,.06); }
  .bp-toc-num {
    font-size: 10.5px; font-weight: 700; letter-spacing: 0.10em;
    color: var(--bp-text-faint); padding-top: 2px;
  }
  .bp-toc-item.is-active a { color: var(--bp-navy); background: rgba(20,49,167,.10); font-weight: 500; }
  .bp-toc-item.is-active .bp-toc-num { color: var(--bp-blue); }
  .bp-toc-progress {
    height: 4px; background: var(--bp-line);
    border-radius: 99px; overflow: hidden; position: relative;
  }
  .bp-toc-progress-bar {
    position: absolute; inset: 0 auto 0 0;
    background: linear-gradient(90deg, var(--bp-blue), var(--bp-navy));
    border-radius: 99px; transition: width .12s linear;
  }
  .bp-toc-progress-text {
    font-size: 10px; letter-spacing: 0.14em; font-weight: 600;
    color: var(--bp-text-faint); text-transform: uppercase; margin-top: 8px;
  }

  .bp-body { min-width: 0; }
  .bp-section { scroll-margin-top: 100px; padding-top: 8px;padding-bottom: 0; }
  .bp-section + .bp-section { margin-top: 56px; }
  .bp-h2 {
    font-size: clamp(24px, 2.4vw, 32px); font-weight: 500;
    letter-spacing: -0.018em; color: var(--bp-navy);
    margin: 0 0 22px; line-height: 1.18;
  }
  .bp-p { font-size: 16.5px; line-height: 1.72; color: var(--bp-text); margin: 0 0 18px; text-wrap: pretty; }
  .bp-list { margin: 0 0 22px; padding: 0; list-style: none; }
  .bp-list li {
    position: relative; padding: 0 0 0 22px; margin: 0 0 10px;
    font-size: 16.5px; line-height: 1.62; color: var(--bp-text);
  }
  .bp-list li::before {
    content: ''; position: absolute; left: 4px; top: 11px;
    width: 6px; height: 6px; border-radius: 50%; background: var(--bp-blue);
  }

  .bp-callout {
    border-left: 3px solid var(--bp-blue); background: var(--bp-bg-soft);
    padding: 18px 22px; margin: 8px 0 24px; border-radius: 0 10px 10px 0;
  }
  .bp-callout-warn { border-left-color: var(--bp-red); background: rgba(168,22,52,.04); }
  .bp-callout-ok   { border-left-color: #1D8256; background: rgba(31,138,91,.05); }
  .bp-callout-head {
    font-size: 11px; letter-spacing: 0.18em; font-weight: 700;
    color: var(--bp-text-faint); text-transform: uppercase; margin-bottom: 6px;
  }
  .bp-callout-warn .bp-callout-head { color: var(--bp-red); }
  .bp-callout-ok   .bp-callout-head { color: #1D8256; }
  .bp-callout-body { font-size: 15.5px; line-height: 1.62; color: var(--bp-text); }

  .bp-code {
    background: var(--bp-navy); color: #E6EBFF;
    border-radius: 10px; padding: 18px 20px; margin: 8px 0 26px;
    overflow-x: auto; font-family: ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;
    font-size: 13.5px; line-height: 1.6; position: relative;
    border: 1px solid rgba(255,255,255,.06);
  }
  .bp-code code { white-space: pre; display: block; }
  .bp-code code[data-lang]::before {
    content: attr(data-lang); position: absolute; top: 10px; right: 14px;
    font-size: 10px; letter-spacing: 0.18em; font-weight: 700;
    color: rgba(197, 214, 255, 0.64); text-transform: uppercase;
  }

  .bp-timeline { list-style: none; padding: 0; margin: 8px 0 24px; }
  .bp-timeline-item {
    position: relative; display: grid;
    grid-template-columns: 130px 1fr; gap: 22px;
    padding: 0 0 22px 18px; border-left: 1px solid var(--bp-line);
  }
  .bp-timeline-item:last-child { padding-bottom: 0; }
  .bp-timeline-dot {
    position: absolute; left: -5px; top: 6px;
    width: 9px; height: 9px; border-radius: 50%; background: var(--bp-blue);
    box-shadow: 0 0 0 4px rgba(20,49,167,.12);
  }
  .bp-timeline-d {
    font-size: 11px; letter-spacing: 0.14em; font-weight: 700;
    color: var(--bp-text-faint); text-transform: uppercase; padding-top: 3px;
  }
  .bp-timeline-t { font-size: 15.5px; line-height: 1.55; color: var(--bp-text); }

  .bp-foot {
    margin-top: 56px; padding: 26px 0;
    border-top: 1px solid var(--bp-line);
    border-bottom: 1px solid var(--bp-line);
    display: flex; flex-direction: column; gap: 22px;
  }
  .bp-tags { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
  .bp-tags-label {
    font-size: 11px; letter-spacing: 0.18em; font-weight: 700;
    color: var(--bp-text-faint); text-transform: uppercase; margin-right: 4px;
  }
  .bp-tag {
    font-size: 12.5px; font-weight: 500; color: var(--bp-text-dim);
    padding: 6px 11px; border: 1px solid var(--bp-line); border-radius: 6px;
    background: var(--bp-bg-soft); transition: color .15s, border-color .15s;
  }
  .bp-tag:hover { color: var(--bp-navy); border-color: rgba(20,49,167,.25); }

  .bp-related {
    padding: 80px 0; background: #FAFBFD;
    border-top: 1px solid var(--bp-line);
  }
  .bp-related-head {
    display: flex; justify-content: space-between; align-items: flex-end;
    gap: 24px; flex-wrap: wrap; margin-bottom: 38px;
  }
  .bp-related-title {
    font-size: clamp(26px, 3vw, 38px); font-weight: 400;
    letter-spacing: -0.02em; color: var(--bp-navy); margin: 0; line-height: 1.1;
  }
  .bp-related-cta {
    display: inline-flex; align-items: center; gap: 8px;
    font-size: 13px; font-weight: 600; letter-spacing: 0.01em;
    color: var(--bp-blue); text-decoration: none;
    padding: 10px 14px; border-radius: 8px;
    transition: background .15s, transform .18s;
  }
  .bp-related-cta:hover { background: rgba(20,49,167,.08); transform: translateX(2px); }
  .bp-related-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 28px; }
  .bp-rel-card {
    display: flex; flex-direction: column;
    background: #fff; border: 1px solid var(--bp-line); border-radius: 12px;
    overflow: hidden; text-decoration: none; color: inherit;
    transition: transform .22s, box-shadow .22s, border-color .22s;
  }
  .bp-rel-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 18px 40px rgba(7,7,99,.10);
    border-color: rgba(20,49,167,.20);
  }
  .bp-rel-cover {
    position: relative; aspect-ratio: 16/9; overflow: hidden; background: #04043F;
  }
  .bp-rel-cover-img { width: 100%; height: 100%; object-fit: cover; display: block; }
  .bp-rel-tag {
    position: absolute; top: 12px; left: 12px;
    font-size: 10px; letter-spacing: 0.18em; font-weight: 700;
    color: #C5D6FF; text-transform: uppercase;
    padding: 5px 9px; background: rgba(7,7,99,.55);
    border: 1px solid rgba(197,214,255,.30);
    border-radius: 4px; backdrop-filter: blur(4px);
  }
  .bp-rel-body { padding: 22px 22px 24px; display: flex; flex-direction: column; gap: 10px; flex: 1; }
  .bp-rel-title {
    font-size: 17px; font-weight: 500; letter-spacing: -0.01em;
    color: var(--bp-navy); margin: 0; line-height: 1.32;
  }
  .bp-rel-excerpt {
    font-size: 14px; line-height: 1.55; color: var(--bp-text-dim);
    margin: 0; flex: 1; text-wrap: pretty;
    display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .bp-rel-meta {
    display: flex; align-items: center; gap: 8px;
    font-size: 11px; letter-spacing: 0.10em; font-weight: 600;
    color: var(--bp-text-faint); text-transform: uppercase; padding-top: 4px;
  }
  .bp-rel-dot { color: var(--bp-text-faint); }

  .bp-news { padding: 0 0 100px; background: #FAFBFD; }
  .bp-news-card {
    position: relative; overflow: hidden;
    background: linear-gradient(135deg,#04043F 0%,#070763 60%,#1431A7 100%);
    border-radius: 16px; padding: 60px 56px; color: #fff; isolation: isolate;
  }
  .bp-news-card::before {
    content: ''; position: absolute; inset: 0; pointer-events: none;
    background-image:
      linear-gradient(to right, rgba(197,214,255,.06) 1px, transparent 1px),
      linear-gradient(to bottom, rgba(197,214,255,.06) 1px, transparent 1px);
    background-size: 56px 56px;
    mask-image: radial-gradient(ellipse 70% 80% at 80% 30%, black 0%, transparent 70%);
    -webkit-mask-image: radial-gradient(ellipse 70% 80% at 80% 30%, black 0%, transparent 70%);
    z-index: -1;
  }
  .bp-news-eyebrow {
    font-size: 11px; letter-spacing: 0.22em; font-weight: 700;
    color: #C5D6FF; text-transform: uppercase; margin-bottom: 18px;
  }
  .bp-news-title {
    font-size: clamp(28px, 3.4vw, 42px); font-weight: 400;
    letter-spacing: -0.02em; line-height: 1.1; margin: 0 0 16px;
    max-width: 720px; text-wrap: balance;
  }
  .bp-news-accent { color: #C5D6FF; font-weight: 300; }
  .bp-news-body {
    font-size: 16px; line-height: 1.6; color: rgba(255,255,255,.78);
    max-width: 600px; margin: 0 0 28px; text-wrap: pretty;
  }
  .bp-news-form { display: flex; gap: 10px; max-width: 520px; flex-wrap: wrap; }
  .bp-news-input {
    flex: 1 1 220px; min-width: 0;
    background: rgba(255,255,255,.08); border: 1px solid rgba(197,214,255,.25);
    border-radius: 8px; padding: 13px 16px; color: #fff;
    font-size: 14.5px; font-family: inherit;
    transition: border-color .15s, background .15s;
  }
  .bp-news-input::placeholder { color: rgba(197, 214, 255, 0.64); }
  .bp-news-input:focus { outline: none; border-color: #C5D6FF; background: rgba(255,255,255,.12); }
  .bp-news-btn {
    display: inline-flex; align-items: center; gap: 8px;
    background: #fff; color: #070763; border: none; border-radius: 8px;
    padding: 13px 20px; font-size: 14.5px; font-weight: 600; font-family: inherit;
    cursor: pointer; transition: background .15s, transform .18s;
  }
  .bp-news-btn:hover { background: #C5D6FF; transform: translateY(-1px); }
  .bp-news-success {
    display: inline-block; font-size: 13px; letter-spacing: 0.06em; font-weight: 600;
    padding: 14px 20px; border-radius: 8px;
    background: rgba(197,214,255,.18); border: 1px solid rgba(197,214,255,.35);
    color: #C5D6FF;
  }
  .bp-news-legal { font-size: 12px; color: rgba(197, 214, 255, 0.64); margin-top: 14px; }

  @media (max-width: 1100px) {
    .bp-body-grid { grid-template-columns: 240px minmax(0,1fr); gap: 56px; }
  }
  @media (max-width: 980px) {
    .bp-related-grid { grid-template-columns: repeat(2,1fr); gap: 22px; }
  }
  @media (max-width: 900px) {
    .bp-body-grid { grid-template-columns: 1fr; gap: 0; }
    .bp-side { position: static; margin-bottom: 40px; }
    .bp-toc-card { padding: 18px; }
  }
  @media (max-width: 700px) {
    .bp-hero { padding: 110px 0 0; }
    .bp-hero-meta { flex-direction: column; align-items: flex-start; }
    .bp-body-container { padding: 56px 0 80px; }
    .bp-meta-divider { display: none; }
    .bp-news-card { padding: 44px 26px; border-radius: 12px; }
    .bp-news-form { flex-direction: column; }
    .bp-news-btn { justify-content: center; }
  }
  @media (max-width: 640px) {
    .bp-related { padding: 64px 0; }
    .bp-related-grid { grid-template-columns: 1fr; }
  }

  .ph-hero-form .wpcf7-list-item input {display: block !important;}
  .ph-cl-form .wpcf7-list-item input{appearance: auto !important;-webkit-appearance: auto !important;display: block !important;}
  .wpcf7-list-item label{background: transparent !important;}
  .wpcf7-list-item label input{width: fit-content !important;}
  .ph-cl-form  .wpcf7-list-item label{flex-direction: row !important;align-items: center !important;gap: 10px !important;align-items: center !important;}
  .ph-hero-form  .wpcf7-list-item label{flex-direction: row !important;align-items: center !important;gap: 10px !important;align-items: center !important;}
  .ph-cl-form .wpcf7-list-item-label .book-date{text-transform: lowercase !important;display: inline !important;}
  .ph-hero-form .wpcf7-list-item-label .book-date{text-transform: lowercase !important;display: inline !important; }
  .ph-cl-form .wpcf7-list-item-label .book-time{text-transform: lowercase !important;display: inline !important;font-size: 11px !important;}
  .ph-hero-form .wpcf7-list-item-label .book-time{text-transform: lowercase !important;display: inline !important;font-size: 11px !important;}
  .pf-midcta-form .fcta-gdpr label{border: none !important;}
  .pf-midcta-form .wpcf7-list-item input{display: block !important;}
  .pf-midcta-form .fcta-gdpr label{flex-direction: row !important;padding: 0 !important;}
  .pf-midcta-form .fcta-gdpr label span{text-transform: lowercase !important;}
  .bl-hero-form form p{display: flex; gap: 10px;align-items: stretch;background: rgba(255, 255, 255, 0.04);border: 1px solid rgba(255, 255, 255, 0.12);border-radius: 10px;padding: 6px !important;backdrop-filter: blur(8px);transition: border-color 0.2s, background 0.2s;}
  .bl-hero-form form p input{flex: 1;background: transparent;border: 0;outline: 0;padding: 12px 14px;font-size: 15px;color: #fff;
font-family: inherit;min-width: 0;}
 .bl-hero-form form  #ft-dwr-btn{display: inline-flex;align-items: center;justify-content: center;gap: 8px;padding: 12px 20px;background: var(--bl-blue-bright);color: var(--bl-navy);border: 0;border-radius: 7px;font-size: 14px;font-weight: 600;letter-spacing: -0.005em;font-family: inherit;cursor: pointer;white-space: nowrap;transition: background 0.2s, transform 0.2s;}
  .bl-hero-form form  #ft-dwr-btn:hover{background: #DCE6FF;}
  .bl-hero-form form p:focus-within {border-color: rgba(197, 214, 255, 0.55);background: rgba(255, 255, 255, 0.06);}
.bp-hero p{font-size: 18px;line-height: 1.6;color: var(--bp-text-dim);max-width: 760px; margin: 0; text-wrap: pretty;}
.bp-body h2{font-size: clamp(24px, 2.4vw, 32px);font-weight: 500;letter-spacing: -0.018em;color: var(--bp-navy);margin: 0 0 22px;line-height: 1.18;}
.bp-body p {font-size: 16.5px;line-height: 1.72;color: var(--bp-text);margin: 0 0 18px;text-wrap: pretty;}
.bp-body ul li{position: relative; margin: 0 0 10px; font-size: 16.5px; line-height: 1.62; color: var(--bp-text);}
.bp-body ul{margin-left: 22px;}

.bp-news-form .wpcf7-form p{
    display: flex;
    gap: 10px;
    max-width: 520px;
    flex-wrap: wrap;
    align-items: center;
}

.bp-news-form .wpcf7-form .wpcf7-form-control-wrap {
    flex: 1 1 220px;
    min-width: 0;
}

.bp-news-form .wpcf7-form .bp-news-input,
.bp-news-form .wpcf7-form input[type="email"] {
    width: 100%;
    background: rgba(255, 255, 255, .08);
    border: 1px solid rgba(197, 214, 255, .25);
    border-radius: 8px;
    padding: 13px 16px;
    color: #fff;
    font-size: 14.5px;
    font-family: inherit;
    transition: border-color .15s, background .15s;
}

.bp-news-form .wpcf7-form .bp-news-btn,
.bp-news-form .wpcf7-form input[type="submit"] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #fff;
    color: #070763;
    border: none;
    border-radius: 8px;
    padding: 13px 20px;
    font-size: 14.5px;
    font-weight: 600;
    font-family: inherit;
    cursor: pointer;
    transition: background .15s, transform .18s;
    flex-shrink: 0;
}

.bp-news-form .wpcf7-form .wpcf7-form-control{width: auto !important;}
.bp-news-form .wpcf7-form input:focus{outline: none;border-color: #C5D6FF;background: rgba(255, 255, 255, .12);}

:root {
  --rt-accent: #DC2626;
  --rt-accent-bright: #FF3B3B;
  --rt-accent-deep: #7B0E0E;
  --rt-bg-1: #07070A;
  --rt-bg-2: #110608;
  --rt-text: #F5EFEC;
  --rt-text-dim: rgba(245,239,236,0.62);
  --rt-text-faint: rgba(245, 239, 236, 0.56);
  --rt-line: rgba(220,38,38,0.18);
  --rt-line-soft: rgba(245,239,236,0.08);
}
.rt-hero {
  position: relative;
  background: var(--rt-bg-1);
  color: var(--rt-text);
  overflow: hidden;
  padding: 130px 0 110px;
  isolation: isolate;
}
.rt-hero-bg {
  position: absolute; inset: 0;
  pointer-events: none;
  z-index: 0;
  overflow: hidden;
}
.rt-hero-grid {
  position: absolute; inset: -1px;
  background-image:
    linear-gradient(rgba(220,38,38,0.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(220,38,38,0.045) 1px, transparent 1px);
  background-size: 64px 64px;
  mask-image: radial-gradient(ellipse 80% 60% at 70% 50%, black 30%, transparent 90%);
  -webkit-mask-image: radial-gradient(ellipse 80% 60% at 70% 50%, black 30%, transparent 90%);
}
.rt-hero-glow {
  position: absolute;
  width: 980px; height: 980px;
  left: 18%; top: -260px;
  border-radius: 50%;
  background:
    radial-gradient(circle at 50% 50%,
      rgba(220,38,38,0.50) 0%,
      rgba(123,14,14,0.26) 28%,
      rgba(40,5,8,0.16) 55%,
      transparent 78%);
  filter: blur(80px);
  animation: rt-breath 10s ease-in-out infinite;
}
.rt-hero-glow-blue {
  left: auto; right: -260px; top: 120px;
  width: 720px; height: 720px;
  background:
    radial-gradient(circle at 50% 50%,
      rgba(20,49,167,0.42) 0%,
      rgba(20,49,167,0.16) 35%,
      transparent 70%);
  filter: blur(110px);
  animation: rt-breath 14s ease-in-out infinite reverse;
  mix-blend-mode: screen;
}
@keyframes rt-breath {
  0%, 100% { opacity: 0.80; transform: scale(1); }
  50%      { opacity: 1; transform: scale(1.06); }
}
.rt-hero-noise {
  position: absolute; inset: 0;
  opacity: 0.10;
  mix-blend-mode: overlay;
  background-image:
    radial-gradient(rgba(255,255,255,0.6) 1px, transparent 1.4px);
  background-size: 4px 4px;
}
.rt-hero-vignette {
  position: absolute; inset: 0;
  background:
    radial-gradient(ellipse 90% 60% at 50% 50%,
      transparent 0%,
      transparent 55%,
      rgba(7,7,10,0.85) 100%);
}

.rt-hero-container { position: relative; z-index: 1; }

.rt-hero-grid-cols {
  display: grid;
  grid-template-columns: 1.1fr 0.95fr;
  gap: 64px;
  align-items: start;
}

.rt-hero-eyebrow {
  display: inline-flex; align-items: center; gap: 10px;
  font-size: 11.5px; letter-spacing: 0.22em; font-weight: 700;
  color: var(--rt-accent-bright);
  margin-bottom: 28px;
}
.rt-eyebrow-dot {
  width: 6px; height: 6px; border-radius: 50%;
  background: var(--rt-accent-bright);
  box-shadow: 0 0 10px var(--rt-accent-bright);
  animation: rt-pulse 1.6s ease-in-out infinite;
}
@keyframes rt-pulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50%      { opacity: 0.4; transform: scale(0.7); }
}

.rt-hero-h1 {
  font-size: clamp(40px, 4.4vw, 60px);
  font-weight: 600;
  letter-spacing: -0.032em;
  line-height: 1.04;
  margin: 0 0 22px;
  text-wrap: balance;
  color: #fff;
}
.rt-h1-accent {
  background: linear-gradient(92deg, #FF6B6B 10%, #FCA5A5 55%, #FF6B6B 95%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  font-weight: 600;
}

.rt-hero-sub {
  font-size: 18px;
  line-height: 1.55;
  color: var(--rt-text-dim);
  max-width: 580px;
  margin: 0 0 18px;
  text-wrap: pretty;
}
.rt-hero-sub:last-of-type { margin-bottom: 36px; }

.rt-hero-cta {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
}
.rt-btn {
  display: inline-flex; align-items: center; gap: 10px;
  font-family: inherit;
  font-size: 15.5px; font-weight: 500;
  padding: 14px 22px;
  border-radius: 6px;
  text-decoration: none;
  border: 1px solid transparent;
  cursor: pointer;
  transition: all 0.2s ease;
  letter-spacing: -0.005em;
}
.rt-btn-primary {
  background: var(--rt-accent);
  color: #fff;
  box-shadow: 0 0 0 0 rgba(220,38,38,0.0), 0 8px 28px -10px rgba(220,38,38,0.55);
}
.rt-btn-primary:hover {
  background: var(--rt-accent-bright);
  box-shadow: 0 0 0 4px rgba(220,38,38,0.18), 0 12px 32px -8px rgba(220,38,38,0.65);
  transform: translateY(-1px);
}
.rt-btn-ghost {
  background: transparent;
  color: var(--rt-text);
  border-color: rgba(245,239,236,0.18);
}
.rt-btn-ghost:hover {
  border-color: var(--rt-accent);
  color: var(--rt-accent-bright);
}
.rt-arrow { transition: transform 0.2s ease; }
.rt-btn-primary:hover .rt-arrow { transform: translateX(3px); }

.rt-hero-form-wrap { position: relative; }
.rt-form-card {
  position: relative;
  background:
    linear-gradient(180deg,
      rgba(20,8,10,0.92) 0%,
      rgba(15,6,8,0.92) 100%);
  border: 1px solid rgba(220,38,38,0.22);
  border-radius: 12px;
  padding: 32px 30px 28px;
  box-shadow:
    0 0 0 1px rgba(220,38,38,0.04),
    0 30px 60px -25px rgba(0,0,0,0.85),
    inset 0 1px 0 rgba(255,255,255,0.04);
  backdrop-filter: blur(8px);
}
.rt-form-card::before {
  content: '';
  position: absolute;
  top: -1px; left: -1px; right: -1px;
  height: 2px;
  background: linear-gradient(90deg,
    transparent 0%,
    var(--rt-accent) 30%,
    var(--rt-accent-bright) 50%,
    var(--rt-accent) 70%,
    transparent 100%);
  border-radius: 12px 12px 0 0;
  opacity: 0.6;
}

.rt-form-tag {
  font-size: 10px; letter-spacing: 0.22em; font-weight: 700;
  color: var(--rt-accent-bright);
  margin-bottom: 12px;
}
.rt-form-title {
  font-size: 24px;
  font-weight: 500;
  letter-spacing: -0.02em;
  margin: 0 0 6px;
  color: var(--rt-text);
}
.rt-form-hint {
  font-size: 13px;
  color: var(--rt-text-faint);
  margin: 0 0 22px;
  line-height: 1.5;
}

.rt-form { display: flex; flex-direction: column; gap: 14px; }
.rt-field { display: flex; flex-direction: column; gap: 6px; }
.rt-field-row { display: grid; grid-template-columns: 1.4fr 1fr; gap: 10px; }
.rt-label {
  font-size: 9.5px; letter-spacing: 0.2em; font-weight: 700;
  color: var(--rt-text-faint);
  text-transform: uppercase;
}
.rt-form input,
.rt-form select {
  font-family: inherit;
  font-size: 14.5px;
  padding: 11px 13px;
  background: rgba(0,0,0,0.45);
  color: var(--rt-text);
  border: 1px solid rgba(220,38,38,0.18);
  border-radius: 5px;
  outline: none;
  transition: border-color 0.2s, background 0.2s;
}
.rt-form input::placeholder { color: rgba(245, 239, 236, 0.56); }
.rt-form input:focus,
.rt-form select:focus {
  border-color: var(--rt-accent);
  background: rgba(0,0,0,0.65);
  box-shadow: 0 0 0 3px rgba(220,38,38,0.18);
}
.rt-form select {
  appearance: none;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'><path fill='none' stroke='%23DC2626' stroke-width='1.5' d='M2 4l4 4 4-4'/></svg>");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 12px;
  padding-right: 32px;
}
.rt-form select option { background: #110608; color: var(--rt-text); }

.rt-form-submit {
  margin-top: 6px;
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  font-family: inherit; font-size: 15px; font-weight: 600;
  padding: 14px 18px;
  background: var(--rt-accent);
  color: #fff;
  border: 1px solid var(--rt-accent);
  border-radius: 6px;
  cursor: pointer;
  letter-spacing: -0.005em;
  transition: background 0.2s, transform 0.2s, box-shadow 0.2s;
  box-shadow: 0 8px 24px -8px rgba(220,38,38,0.5);
}
.rt-form-submit:hover:not(:disabled) {
  background: var(--rt-accent-bright);
  transform: translateY(-1px);
  box-shadow: 0 12px 28px -8px rgba(220,38,38,0.7);
}
.rt-form-submit:disabled { opacity: 0.55; cursor: not-allowed; }
.wpcf7 p.rt-form-gdpr{
  margin-top: 10px  !important;
}
p.rt-form-gdpr {
  font-size: 11px;
  color: var(--rt-text-faint);
  margin: 6px 0 0;
  line-height: 1.5;

}
.rt-form-gdpr .wpcf7-list-item label{
  display: flex;
  align-items: baseline;
  flex-direction: row;
  padding: 0;
  gap:10px !important;
}
.rt-form-gdpr .wpcf7-list-item label span{
  display: inline !important;
  font-size: 11px !important;
  text-align: start !important;
}
.rt-form-gdpr .wpcf7-list-item input {
    position: relative;
    top: 3px;
}
.rt-form-success {
  padding: 20px 6px;
  text-align: center;
  color: var(--rt-text);
}
.rt-success-mark {
  color: var(--rt-accent-bright);
  margin: 0 auto 14px;
}
.rt-success-title {
  font-size: 19px; font-weight: 600;
  margin-bottom: 8px;
  letter-spacing: -0.01em;
}
.rt-success-body {
  font-size: 14px;
  color: var(--rt-text-dim);
  line-height: 1.55;
  max-width: 320px;
  margin: 0 auto;
}

@media (max-width: 1100px) {
  .rt-hero-grid-cols { grid-template-columns: 1fr; gap: 48px; }
  .rt-hero { padding: 110px 0 80px; }
}
@media (max-width: 600px) {
  .rt-field-row { grid-template-columns: 1fr; }
  .rt-form-card { padding: 26px 22px; }
  .rt-hero-cta { flex-direction: column; align-items: stretch; }
  .rt-btn { justify-content: center; }
}

 .rt-section-head {
  max-width: 760px;
  margin: 0 auto 60px;
  text-align: center;
}
.rt-eyebrow {
  display: inline-flex;
  align-items: center;
  font-size: 11px;
  letter-spacing: 0.22em;
  font-weight: 700;
  color: #FF6B6B;
  margin-bottom: 22px;
  text-transform: uppercase;
}
.rt-h2 {
  font-size: clamp(34px, 4.2vw, 54px);
  font-weight: 600;
  line-height: 1.06;
  letter-spacing: -0.028em;
  color: #fff;
  margin: 0 0 18px;
  text-wrap: balance;
}
.rt-h2-accent {
  background: linear-gradient(92deg, #FF6B6B 10%, #FCA5A5 55%, #FF6B6B 95%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  font-weight: 600;
}
.rt-section-sub {
  font-size: 17.5px;
  line-height: 1.55;
  color: rgba(245,239,236,0.65);
  max-width: 720px;
  margin: 0 auto;
  text-wrap: pretty;
}

.rt-logos {
  background: #07070A;
  padding: 56px 0 28px;
  border-top: 1px solid rgba(220,38,38,0.10);
  position: relative;
}
.rt-logos::before {
  content: '';
  position: absolute; inset: 0; pointer-events: none;
  background:
    radial-gradient(ellipse 60% 60% at 50% 0%, rgba(220,38,38,0.06), transparent 70%);
}
.rt-logos-label {
  text-align: center;
  font-size: 11px; letter-spacing: 0.22em; font-weight: 700;
  color: rgba(245, 239, 236, 0.56);
  margin-bottom: 32px;
  text-transform: uppercase;
  position: relative;
}
.rt-logos-marquee {
  overflow: hidden;
  mask-image: linear-gradient(90deg, transparent 0%, black 8%, black 92%, transparent 100%);
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, black 8%, black 92%, transparent 100%);
  position: relative;
}
.rt-logos-track {
  --marquee-gap: 64px;
  display: flex;
  gap: 64px;
  align-items: center;
  width: max-content;
  animation: rt-logos-scroll 55s linear infinite;
}
.rt-logo-wrap {
  flex: 0 0 auto;
  height: 38px;
  display: flex; align-items: center;
  opacity: 0.55;
  transition: opacity 0.2s, filter 0.2s;
  filter: grayscale(1) brightness(1.6) contrast(0.85);
}
.rt-logo-wrap:hover {
  opacity: 1;
  filter: grayscale(1) brightness(2);
}

.rt-logo-wrap img {
  max-height: none;
  max-width: none;
}
@keyframes rt-logos-scroll {
  from { transform: translateX(0); }
  to   { transform: translateX(calc(-50% - var(--marquee-gap, 0px) / 2)); }
}

.rv-section {
  padding: 120px 0 110px;
  background: #07070A;
  position: relative;
  color: #F5EFEC;
}
.rv-section::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 1px;
  background: linear-gradient(90deg, transparent, rgba(220,38,38,0.4), transparent);
}
.rv-head {
  max-width: 1040px;
  margin: 0 auto 60px;
  text-align: center;
}
.rv-eyebrow {
  font-size: 11px;
  letter-spacing: 0.22em;
  font-weight: 700;
  color: #FF6B6B;
  margin-bottom: 18px;
}
.rv-title {
  font-size: clamp(28px, 3.2vw, 42px);
  font-weight: 600;
  line-height: 1.08;
  letter-spacing: -0.028em;
  color: #fff;
  margin: 0 0 18px;
  text-wrap: balance;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.rv-title-line { display: block; }
.rv-title-muted {
  color: rgba(245, 239, 236, 0.56);
  font-weight: 500;
}
.rv-title-accent {
  background: linear-gradient(92deg, #FF6B6B 10%, #FCA5A5 55%, #FF6B6B 95%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  font-weight: 600;
}
.rv-sub {
  font-size: 17px;
  line-height: 1.55;
  color: rgba(245,239,236,0.65);
  max-width: 620px;
  margin: 0 auto;
  text-wrap: pretty;
}

.rv-table {
  width: 100%;
  margin: 0 auto;
}
.rv-row {
  display: grid;
  grid-template-columns: 220px 1.1fr 1fr;
  align-items: stretch;
}
.rv-cell {
  padding: 22px 28px;
  font-size: 15px;
  line-height: 1.55;
  color: #F5EFEC;
  display: flex;
  align-items: center;
}

.rv-cell-aspect {
  font-size: 10.5px;
  letter-spacing: 0.2em;
  font-weight: 700;
  text-transform: uppercase;
  color: rgba(245, 239, 236, 0.56);
  padding-right: 16px;
}

.rv-cell-red {
  background:
    radial-gradient(120% 200% at 100% 0%, rgba(220,38,38,0.10), transparent 55%),
    linear-gradient(180deg, rgba(20,8,11,0.95), rgba(15,6,9,0.95));
  color: #fff;
  border-top: 1px solid rgba(220,38,38,0.18);
}
.rv-row:nth-child(2) .rv-cell-red { border-top: none; }
.rv-row:last-child .rv-cell-red {
  border-bottom-left-radius: 14px;
  border-bottom-right-radius: 14px;
}

.rv-cell-pen {
  background: transparent;
  color: rgba(245, 239, 236, 0.56);
  border-top: 1px solid rgba(245,239,236,0.07);
}
.rv-row:nth-child(2) .rv-cell-pen { border-top: none; }

.rv-row-head .rv-cell {
  padding-top: 28px;
  padding-bottom: 26px;
  align-items: flex-start;
  flex-direction: column;
  justify-content: flex-end;
  gap: 10px;
}
.rv-cell-red-head {
  background:
    radial-gradient(120% 200% at 100% 0%, rgba(220,38,38,0.18), transparent 55%),
    linear-gradient(180deg, rgba(28,10,14,0.98), rgba(18,7,10,0.98));
  border-top-left-radius: 14px;
  border-top-right-radius: 14px;
  border-top: none !important;
  position: relative;
}
.rv-cell-red-head::before {
  content: '';
  position: absolute;
  top: 0; left: 14px; right: 14px;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--rt-accent, #DC2626) 30%, #FF3B3B 50%, var(--rt-accent, #DC2626) 70%, transparent);
  opacity: 0.7;
}
.rv-cell-pen-head {
  padding-bottom: 30px;
}

.rv-cell-red,
.rv-cell-red-head {
  box-shadow:
    -1px 0 0 rgba(220,38,38,0.18),
      1px 0 0 rgba(220,38,38,0.18);
}
.rv-cell-red-head {
  box-shadow:
    -1px 0 0 rgba(220,38,38,0.18),
      1px 0 0 rgba(220,38,38,0.18);
}
.rv-row:last-child .rv-cell-red {
  box-shadow:
    -1px 0 0 rgba(220,38,38,0.18),
      1px 0 0 rgba(220,38,38,0.18),
      0 30px 60px -25px rgba(220,38,38,0.45),
      0 1px 0 rgba(220,38,38,0.18);
}

.rv-col-title {
  font-size: 21px;
  font-weight: 600;
  letter-spacing: -0.015em;
  color: #fff;
  margin: 0;
  line-height: 1.2;
}
.rv-col-title-muted {
  color: rgba(245, 239, 236, 0.56);
  font-weight: 500;
  font-size: 18px;
}

.rv-pin {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 10px;
  letter-spacing: 0.22em;
  font-weight: 700;
  color: #FF6B6B;
}
.rv-pin-dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: #FF3B3B;
  box-shadow: 0 0 0 4px rgba(220,38,38,0.20);
  animation: rv-pulse 1.6s ease-in-out infinite;
}
@keyframes rv-pulse {
  0%,100% { box-shadow: 0 0 0 4px rgba(220,38,38,0.20); }
  50%     { box-shadow: 0 0 0 7px rgba(220,38,38,0.06); }
}

.rv-text { text-wrap: pretty; }

.rv-foot {
  margin: 56px auto 0;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 18px;
  text-align: center;
}
.rv-foot-actions {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
  justify-content: center;
}
.rv-foot-link {
  font-size: 14px;
  font-weight: 500;
  color: rgba(245,239,236,0.7);
  text-decoration: none;
  padding: 13px 8px;
  border-bottom: 1px solid rgba(245,239,236,0.18);
  transition: color 0.18s, border-color 0.18s;
}
.rv-foot-link:hover {
  color: #FF6B6B;
  border-color: #FF6B6B;
}
.rv-foot-title {
  margin: 0;
  font-size: 16px;
  line-height: 1.5;
  color: rgba(245,239,236,0.7);
}
.rv-foot-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 13px 22px;
  background: var(--rt-accent, #DC2626);
  color: #fff;
  border-radius: 10px;
  font-size: 14.5px;
  font-weight: 600;
  letter-spacing: -0.005em;
  text-decoration: none;
  transition: background 0.18s, transform 0.18s, box-shadow 0.18s;
  box-shadow: 0 8px 22px -8px rgba(220,38,38,0.55);
}
.rv-foot-btn:hover {
  background: #FF3B3B;
  transform: translateY(-1px);
  box-shadow: 0 12px 28px -8px rgba(220,38,38,0.7);
}
.rv-foot-btn svg { transition: transform 0.18s ease; }
.rv-foot-btn:hover svg { transform: translateX(2px); }

@media (max-width: 860px) {
  .rv-section { padding: 90px 0 80px; }
  .rv-head { margin-bottom: 44px; }
  .rv-row { grid-template-columns: 1fr; }
  .rv-cell { padding: 14px 20px; }
  .rv-cell-aspect {
    padding: 18px 20px 4px;
    background: rgba(245,239,236,0.04);
  }
  .rv-cell-red,
  .rv-cell-red-head,
  .rv-row:last-child .rv-cell-red {
    box-shadow: none;
  }
  .rv-cell-red {
    border-left: 3px solid var(--rt-accent, #DC2626);
    border-right: 1px solid rgba(220,38,38,0.18);
  }
  .rv-cell-red-head {
    border-radius: 10px 10px 0 0;
    border-left: 3px solid var(--rt-accent, #DC2626);
    border-right: 1px solid rgba(220,38,38,0.18);
    border-top: 1px solid rgba(220,38,38,0.18) !important;
  }
  .rv-cell-red-head::before { display: none; }
  .rv-row:last-child .rv-cell-red {
    border-bottom: 1px solid rgba(220,38,38,0.18);
    border-radius: 0 0 10px 10px;
  }
  .rv-cell-pen-head {
    margin-top: 24px;
    border-top: 1px solid rgba(245,239,236,0.10);
    padding-top: 24px;
  }
  .rv-foot { margin-top: 44px; }
}

.rt-beacon { font-size: 11px; line-height: 1.7; height: 152px; overflow: hidden; }
.rt-beacon-line { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; animation: rt-beacon-in 0.3s ease-out; }
@keyframes rt-beacon-in { from { opacity: 0; transform: translateX(-6px); } to { opacity: 1; transform: none; } }
.rt-beacon-line.is-ok   { color: rgba(245,239,236,0.85); }
.rt-beacon-line.is-info { color: rgba(245, 239, 236, 0.56); }
.rt-beacon-line.is-warn { color: #FF6B6B; }
.rt-beacon-ts { color: rgba(245, 239, 236, 0.56); margin-right: 8px; }
.rt-beacon-cursor { color: rgba(245, 239, 236, 0.56); font-size: 11px; }

.rt-viz {
  background: #06050A;
  border: 1px solid rgba(245,239,236,0.07);
  border-radius: 6px;
  padding: 14px 16px;
  height: 220px;
  position: relative;
  overflow: hidden;
  animation: rt-viz-in 0.35s ease-out;
}
@keyframes rt-viz-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.rt-viz-hdr {
  display: flex; align-items: center; gap: 8px;
  font-size: 10.5px; letter-spacing: 0.18em; font-weight: 700;
  color: rgba(245, 239, 236, 0.56);
  margin-bottom: 12px;
}
.rt-viz-hdr .mono-tag { color: #FF8A8A; }
.rt-viz-hdr-led {
  width: 6px; height: 6px; border-radius: 50%;
  background: #FF3B3B;
  box-shadow: 0 0 6px #FF3B3B;
  animation: rt-pulse-led 1.6s ease-in-out infinite;
}

.rt-sc {
  background: #0E0A0C;
  border: 1px solid rgba(220,38,38,0.22);
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 30px 60px -25px rgba(0,0,0,0.7);
  animation: rt-sc-in 0.4s ease-out;
}
@keyframes rt-sc-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }

.rt-sc-bar {
  display: flex; align-items: center; gap: 8px;
  padding: 11px 16px;
  background: rgba(245,239,236,0.04);
  border-bottom: 1px solid rgba(245,239,236,0.07);
}
.rt-sc-dot { width: 10px; height: 10px; border-radius: 50%; }
.rt-sc-dot-r { background: #FF6058; }
.rt-sc-dot-y { background: #FFBD2E; }
.rt-sc-dot-g { background: #28C941; }
.rt-sc-bar-title {
  margin-left: 12px;
  font-size: 11.5px;
  color: rgba(245, 239, 236, 0.56);
  letter-spacing: 0.04em;
}

.rt-sc-body {
  padding: 26px 28px 24px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
}
.rt-sc-narr-title {
  font-size: 22px;
  font-weight: 500;
  color: var(--rt-text, #F5EFEC);
  letter-spacing: -0.01em;
  margin-bottom: 10px;
  text-wrap: balance;
}
.rt-sc-narr-body {
  font-size: 15px;
  color: rgba(245,239,236,0.7);
  line-height: 1.6;
  margin: 0 0 18px;
  text-wrap: pretty;
}
.rt-sc-tools {
  display: flex; flex-wrap: wrap; gap: 6px;
}
.rt-sc-tool {
  font-size: 11px;
  padding: 5px 10px;
  background: rgba(220,38,38,0.10);
  border: 1px solid rgba(220,38,38,0.25);
  color: #FF8A8A;
  border-radius: 4px;
  letter-spacing: 0.04em;
}

.rt-sc-siem {
  background: #06050A;
  border: 1px solid rgba(245,239,236,0.07);
  border-radius: 6px;
  padding: 14px 16px;
}
.rt-sc-siem-bar {
  display: flex; align-items: center; gap: 10px;
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(245,239,236,0.06);
  margin-bottom: 10px;
  font-size: 11px;
  color: rgba(245, 239, 236, 0.56);
}
.rt-sc-siem-led {
  width: 7px; height: 7px; border-radius: 50%;
  background: #FF3B3B;
  box-shadow: 0 0 6px #FF3B3B;
  animation: rt-pulse-led 1.6s ease-in-out infinite;
}
@keyframes rt-pulse-led { 0%, 100% { opacity: 1; } 50% { opacity: 0.4; } }
.rt-sc-siem-ts { margin-left: auto; }
.rt-sc-siem-line {
  font-size: 12.5px;
  color: rgba(245,239,236,0.78);
  line-height: 1.5;
  word-break: break-all;
}
.rt-sc-siem-cursor {
  margin-top: 8px;
  font-size: 12.5px;
  color: rgba(245, 239, 236, 0.56);
}
.rt-sc-cursor-blink { animation: rt-blink 1s steps(2) infinite; color: #FF3B3B; }
@keyframes rt-blink { 50% { opacity: 0; } }

.rt-sc-right { display: flex; flex-direction: column; gap: 14px; }

@media (min-width: 820px) {
  .rt-sc-body { grid-template-columns: 1fr 1.05fr; gap: 28px; padding: 30px 32px 28px; }
}
.rt-story {
  background: #07070A;
  padding: 110px 0 100px;
  color: var(--rt-text, #F5EFEC);
  position: relative;
  overflow: hidden;
}
.rt-story::before {
  content: '';
  position: absolute;
  right: -200px; top: 100px;
  width: 800px; height: 800px;
  background: radial-gradient(circle, rgba(220,38,38,0.18), transparent 60%);
  filter: blur(60px);
  pointer-events: none;
}

.rt-story-grid {
  display: grid;
  grid-template-columns: 320px 1fr;
  gap: 40px;
  align-items: start;
  position: relative;
}

.rt-story-rail { display: flex; flex-direction: column; gap: 8px; }
.rt-story-pill {
  display: grid;
  grid-template-columns: 36px 1fr;
  grid-template-rows: auto auto;
  column-gap: 12px;
  row-gap: 6px;
  padding: 14px 16px;
  background: rgba(245,239,236,0.03);
  border: 1px solid rgba(245,239,236,0.08);
  border-radius: 8px;
  font-family: inherit;
  color: rgba(245,239,236,0.6);
  text-align: left;
  cursor: pointer;
  transition: all 0.25s ease;
}
.rt-story-pill:hover { border-color: rgba(220,38,38,0.35); color: var(--rt-text, #F5EFEC); }
.rt-story-pill.is-active {
  background: rgba(220,38,38,0.10);
  border-color: rgba(220,38,38,0.5);
  color: var(--rt-text, #F5EFEC);
  box-shadow: 0 0 0 1px rgba(220,38,38,0.15), 0 8px 24px -8px rgba(220,38,38,0.4);
}
.rt-story-pill.is-done { color: rgba(245, 239, 236, 0.56); }
.rt-story-pill-tag {
  grid-row: 1 / 3; align-self: center;
  font-size: 14px; font-weight: 700;
  color: #FF3B3B;
  letter-spacing: 0.05em;
}
.rt-story-pill-name {
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: 0.14em;
  color: var(--rt-text, #F5EFEC);
  text-transform: uppercase;
}
.rt-story-pill.is-done .rt-story-pill-name { color: rgba(245, 239, 236, 0.56); }
.rt-story-pill-bar {
  grid-column: 2;
  height: 2px;
  background: rgba(245,239,236,0.08);
  border-radius: 2px;
  overflow: hidden;
}
.rt-story-pill-bar-fill {
  display: block;
  height: 100%;
  width: 0%;
  background: #FF3B3B;
  transition: width 0.3s ease;
}
.rt-story-pill.is-active .rt-story-pill-bar-fill {
  animation: rt-fill 6s linear forwards;
}
.rt-story-pill.is-done .rt-story-pill-bar-fill { width: 100%; opacity: 0.5; }
@keyframes rt-fill { from { width: 0%; } to { width: 100%; } }

.rt-story-scene { min-height: 520px; }

.rt-story-timeline { margin-top: 64px; padding-top: 32px; border-top: 1px solid rgba(245,239,236,0.08); }
.rt-story-tl-kicker {
  font-size: 11px; letter-spacing: 0.22em; font-weight: 700;
  color: #FF3B3B; margin-bottom: 18px;
}
.rt-story-tl-rail {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 12px;
  position: relative;
}
.rt-story-tl-rail::before {
  content: '';
  position: absolute;
  left: 0; right: 0; top: 12px; height: 2px;
  background: rgba(220,38,38,0.2);
  z-index: 0;
}
.rt-story-tl-item { position: relative; padding-top: 28px; }
.rt-story-tl-item::before {
  content: '';
  position: absolute;
  top: 7px; left: 0;
  width: 12px; height: 12px;
  border-radius: 50%;
  background: #FF3B3B;
  box-shadow: 0 0 0 4px #07070A, 0 0 12px rgba(255,59,59,0.6);
}
.rt-story-tl-week {
  font-size: 11px;
  font-weight: 700;
  color: #FF3B3B;
  letter-spacing: 0.1em;
  margin-bottom: 4px;
}
.rt-story-tl-label {
  font-size: 13px;
  color: rgba(245,239,236,0.7);
  line-height: 1.4;
}

@media (max-width: 1000px) {
  .rt-story-grid { grid-template-columns: 1fr; gap: 28px; }
  .rt-story-tl-rail { grid-template-columns: repeat(3, 1fr); row-gap: 24px; }
  .rt-story-tl-rail::before { display: none; }
}

.rt-viz {
  background: #06050A;
  border: 1px solid rgba(245,239,236,0.07);
  border-radius: 6px;
  padding: 14px 16px;
  height: 220px;
  position: relative;
  overflow: hidden;
  animation: rt-viz-in 0.35s ease-out;
}
@keyframes rt-viz-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.rt-viz-hdr {
  display: flex; align-items: center; gap: 8px;
  font-size: 10.5px; letter-spacing: 0.18em; font-weight: 700;
  color: rgba(245, 239, 236, 0.56);
  margin-bottom: 12px;
}
.rt-viz-hdr .mono-tag { color: #FF8A8A; }
.rt-viz-hdr-led {
  width: 6px; height: 6px; border-radius: 50%;
  background: #FF3B3B;
  box-shadow: 0 0 6px #FF3B3B;
  animation: rt-pulse-led 1.6s ease-in-out infinite;
}
.rt-graph, .rt-lat { width: 100%; height: 152px; display: block; }

.rt-phish {
  display: grid;
  grid-template-columns: 1fr 60px 1fr;
  gap: 10px;
  align-items: stretch;
  height: 152px;
}
.rt-phish-mail, .rt-phish-oauth {
  background: rgba(245,239,236,0.04);
  border: 1px solid rgba(245,239,236,0.10);
  border-radius: 6px;
  padding: 10px 12px;
  display: flex; flex-direction: column; gap: 6px;
  font-size: 11px;
  color: rgba(245,239,236,0.85);
  min-width: 0;
}
.rt-phish-mail-bar { display: flex; gap: 8px; align-items: baseline; }
.rt-phish-mail-bar > span:first-child { font-size: 9px; letter-spacing: 0.1em; }
.rt-phish-mail-bar > span:last-child { font-size: 11px; flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rt-phish-mail-body { font-size: 10.5px; color: rgba(245,239,236,0.65); line-height: 1.4; flex: 1; }
.rt-phish-mail-cta {
  align-self: flex-start;
  font-size: 11px;
  color: #FF6B6B;
  padding: 4px 8px;
  border: 1px dashed rgba(220,38,38,0.5);
  border-radius: 4px;
  animation: rt-phish-pulse 1.8s ease-in-out infinite;
}
@keyframes rt-phish-pulse { 0%,100% { background: rgba(220,38,38,0.05); } 50% { background: rgba(220,38,38,0.18); } }
.rt-phish-arrow { width: 60px; height: 20px; align-self: center; }
.rt-phish-oauth-title { font-size: 11px; }
.rt-phish-oauth-perms { list-style: none; padding: 0; margin: 0; font-size: 10px; color: rgba(245,239,236,0.7); display: flex; flex-direction: column; gap: 2px; }
.rt-phish-oauth-perms li::before { content: '☐ '; color: rgba(245, 239, 236, 0.56); }
.rt-phish-oauth-btn {
  align-self: flex-start;
  font-size: 11px; color: #fff;
  padding: 4px 12px;
  background: linear-gradient(180deg, #DC2626, #991B1B);
  border-radius: 4px;
  opacity: 0;
  animation: rt-phish-allow 4s ease-out 1s infinite;
}
@keyframes rt-phish-allow { 0%,25% { opacity: 0; transform: translateY(4px); } 30%,100% { opacity: 1; transform: none; } }
.rt-phish-oauth-token { font-size: 9.5px; color: #6EE7B7; opacity: 0; animation: rt-phish-token 4s ease-out 1.5s infinite; }
@keyframes rt-phish-token { 0%,50% { opacity: 0; } 55%,100% { opacity: 1; } }

.rt-obj { display: flex; flex-direction: column; gap: 8px; height: 152px; justify-content: center; }
.rt-obj-row { display: grid; grid-template-columns: 110px 1fr; align-items: center; gap: 12px; font-size: 11px; color: rgba(245,239,236,0.85); }
.rt-obj-key { color: rgba(245, 239, 236, 0.56); letter-spacing: 0.1em; font-size: 9.5px; text-transform: uppercase; }
.rt-obj-val { color: rgba(245,239,236,0.85); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rt-obj-bar { height: 4px; background: rgba(245,239,236,0.07); border-radius: 2px; overflow: hidden; position: relative; }
.rt-obj-bar-fill { display: block; height: 100%; width: 0%; background: linear-gradient(90deg, #FF3B3B, #FF6B6B); animation: rt-obj-fill 2.6s ease-in-out infinite; }
@keyframes rt-obj-fill { 0% { width: 0%; } 70%,100% { width: 100%; } }
.rt-obj-final { opacity: 0; animation: rt-obj-show 4s ease-out 1.8s infinite; }
.rt-obj-miss  { opacity: 0; animation: rt-obj-show 4s ease-out 2.4s infinite; }
@keyframes rt-obj-show { 0%,5% { opacity: 0; transform: translateY(4px); } 15%,100% { opacity: 1; transform: none; } }
.rt-obj-check { color: #6EE7B7; font-size: 13px; text-align: center; }

.rt-sproof {
  background: #07070A;
  padding: 80px 0 100px;
  color: var(--rt-text, #F5EFEC);
  position: relative;
  border-top: 1px solid rgba(245,239,236,0.05);
}
.rt-sproof-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}
.rt-sproof-card {
  padding: 26px 24px 22px;
  background: #0E0A0C;
  border: 1px solid rgba(245,239,236,0.08);
  border-radius: 10px;
  display: flex; flex-direction: column;
  position: relative;
  overflow: hidden;
}
.rt-sproof-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, rgba(220,38,38,0.5), transparent);
  opacity: 0.6;
}
.rt-sproof-stars { color: #FF3B3B; display: flex; gap: 2px; margin-bottom: 14px; }
.rt-sproof-q {
  margin: 0 0 18px;
  font-size: 14.5px;
  color: rgba(245,239,236,0.82);
  line-height: 1.55;
  font-weight: 400;
  flex: 1;
  text-wrap: pretty;
}
.rt-sproof-q::before { content: '“'; color: #FF3B3B; font-size: 22px; line-height: 0; vertical-align: -8px; margin-right: 2px; }
.rt-sproof-q::after  { content: '”'; color: #FF3B3B; font-size: 22px; line-height: 0; vertical-align: -8px; margin-left: 2px; }
.rt-sproof-meta {
  display: flex; align-items: center; gap: 12px;
  padding-top: 14px;
  border-top: 1px solid rgba(245,239,236,0.06);
}
.rt-sproof-logo {
  height: 24px; max-width: 80px;
  object-fit: contain;
  filter: grayscale(1) brightness(1.6);
  opacity: 0.75;
}
.rt-sproof-author { font-size: 12.5px; color: var(--rt-text, #F5EFEC); font-weight: 500; }
.rt-sproof-role { color: rgba(245, 239, 236, 0.56); font-weight: 400; }
.rt-sproof-company { font-size: 11.5px; color: rgba(245, 239, 236, 0.56); }

.rt-sproof-strip {
  margin-top: 56px;
  padding-top: 32px;
  border-top: 1px solid rgba(245,239,236,0.06);
}
.rt-sproof-strip-label {
  font-size: 11px; letter-spacing: 0.22em; font-weight: 700;
  color: rgba(245, 239, 236, 0.56);
  margin-bottom: 22px;
  text-align: center;
}
.rt-sproof-strip-row {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 32px;
  align-items: center;
}
.rt-sproof-strip-item { display: flex; align-items: center; justify-content: center; height: 36px; }
.rt-sproof-strip-item img {
  max-height: 28px; max-width: 100%;
  object-fit: contain;
  filter: grayscale(1) brightness(1.6);
  opacity: 0.5;
  transition: opacity 0.25s, filter 0.25s;
}
.rt-sproof-strip-item img:hover { opacity: 0.9; filter: grayscale(0) brightness(1); }

@media (max-width: 1000px) {
  .rt-sproof-grid { grid-template-columns: 1fr; }
  .rt-sproof-strip-row { grid-template-columns: repeat(3, 1fr); row-gap: 24px; }
}

.rt-mc {
  padding: 32px 30px 30px;
  background: #0E0A0C;
  border: 1px solid rgba(245,239,236,0.10);
  border-radius: 12px;
  position: relative;
}
.rt-mc-B {
  background: linear-gradient(180deg, rgba(220,38,38,0.06), rgba(220,38,38,0.02));
  border-color: rgba(220,38,38,0.35);
  box-shadow: 0 0 0 1px rgba(220,38,38,0.10), 0 30px 60px -25px rgba(220,38,38,0.25);
}
.rt-mc-tag {
  font-size: 10.5px; letter-spacing: 0.22em; font-weight: 700;
  color: rgba(245, 239, 236, 0.56);
  margin-bottom: 12px;
}
.rt-mc-B .rt-mc-tag { color: #FF3B3B; }
.rt-mc-name {
  font-size: 24px;
  font-weight: 500;
  letter-spacing: -0.015em;
  margin: 0 0 14px;
  color: var(--rt-text, #F5EFEC);
}
.rt-mc-body {
  font-size: 15px;
  color: rgba(245,239,236,0.7);
  line-height: 1.55;
  margin: 0 0 24px;
}
.rt-mc-chain {
  display: grid;

  grid-template-columns: repeat(var(--rt-mc-n, 5), 1fr);
  align-items: start;
  margin: 0 0 22px;
  padding: 14px 0 12px;
  position: relative;
}
.rt-mc-chain-line {
  position: absolute;
  left: 10%; right: 10%;
  top: 22px;
  height: 2px;
  background: rgba(245,239,236,0.12);
  border-radius: 2px;
}
.rt-mc-chain-fill {
  position: absolute; top: 0;
  height: 100%;
  background: #FF3B3B;
  border-radius: 2px;
}
.rt-mc-step { position: relative; text-align: center; padding-top: 0; }
.rt-mc-step-dot {
  width: 16px; height: 16px;
  margin: 0 auto 8px;
  border-radius: 50%;
  background: rgba(245,239,236,0.12);
  border: 2px solid #07070A;
  color: rgba(245, 239, 236, 0.56);
  display: flex; align-items: center; justify-content: center;
  position: relative;
  z-index: 1;
}
.rt-mc-step.is-start .rt-mc-step-dot {
  background: #FF3B3B;
  box-shadow: 0 0 0 4px rgba(255,59,59,0.25);
}

.rt-mc-step:not(.is-start) .rt-mc-step-dot {
  background: rgba(220,38,38,0.4);
}
.rt-mc-step-label {
  font-size: 10px;
  font-weight: 600;
  color: rgba(245, 239, 236, 0.56);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  line-height: 1.2;
}
.rt-mc-step.is-start .rt-mc-step-label { color: var(--rt-text, #F5EFEC); }
.rt-mc-step-start {
  margin-top: 4px;
  font-size: 8.5px;
  font-weight: 700;
  color: #FF3B3B;
  letter-spacing: 0.18em;
}
.rt-mc-bullets {
  list-style: none; padding: 0; margin: 0;
  display: flex; flex-direction: column; gap: 10px;
}
.rt-mc-bullets li {
  display: flex; gap: 12px;
  font-size: 14px;
  color: rgba(245,239,236,0.78);
  line-height: 1.5;
}
.rt-mc-check {
  flex-shrink: 0;
  width: 20px; height: 20px;
  border-radius: 50%;
  background: rgba(220,38,38,0.15);
  color: #FF3B3B;
  display: inline-flex; align-items: center; justify-content: center;
  margin-top: 1px;
}

.rt-mc {
  padding: 32px 30px 30px;
  background: #0E0A0C;
  border: 1px solid rgba(245,239,236,0.10);
  border-radius: 12px;
  position: relative;
}
.rt-mc-B {
  background: linear-gradient(180deg, rgba(220,38,38,0.06), rgba(220,38,38,0.02));
  border-color: rgba(220,38,38,0.35);
  box-shadow: 0 0 0 1px rgba(220,38,38,0.10), 0 30px 60px -25px rgba(220,38,38,0.25);
}
.rt-mc-tag {
  font-size: 10.5px; letter-spacing: 0.22em; font-weight: 700;
  color: rgba(245, 239, 236, 0.56);
  margin-bottom: 12px;
}
.rt-mc-B .rt-mc-tag { color: #FF3B3B; }
.rt-mc-name {
  font-size: 24px;
  font-weight: 500;
  letter-spacing: -0.015em;
  margin: 0 0 14px;
  color: var(--rt-text, #F5EFEC);
}
.rt-mc-body {
  font-size: 15px;
  color: rgba(245,239,236,0.7);
  line-height: 1.55;
  margin: 0 0 24px;
}
.rt-mc-chain {
  display: grid;

  grid-template-columns: repeat(var(--rt-mc-n, 5), 1fr);
  align-items: start;
  margin: 0 0 22px;
  padding: 14px 0 12px;
  position: relative;
}
.rt-mc-chain-line {
  position: absolute;
  left: 10%; right: 10%;
  top: 22px;
  height: 2px;
  background: rgba(245,239,236,0.12);
  border-radius: 2px;
}
.rt-mc-chain-fill {
  position: absolute; top: 0;
  height: 100%;
  background: #FF3B3B;
  border-radius: 2px;
}
.rt-mc-step { position: relative; text-align: center; padding-top: 0; }
.rt-mc-step-dot {
  width: 16px; height: 16px;
  margin: 0 auto 8px;
  border-radius: 50%;
  background: rgba(245,239,236,0.12);
  border: 2px solid #07070A;
  color: rgba(245, 239, 236, 0.56);
  display: flex; align-items: center; justify-content: center;
  position: relative;
  z-index: 1;
}
.rt-mc-step.is-start .rt-mc-step-dot {
  background: #FF3B3B;
  box-shadow: 0 0 0 4px rgba(255,59,59,0.25);
}

.rt-mc-step:not(.is-start) .rt-mc-step-dot {
  background: rgba(220,38,38,0.4);
}
.rt-mc-step-label {
  font-size: 10px;
  font-weight: 600;
  color: rgba(245, 239, 236, 0.56);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  line-height: 1.2;
}
.rt-mc-step.is-start .rt-mc-step-label { color: var(--rt-text, #F5EFEC); }
.rt-mc-step-start {
  margin-top: 4px;
  font-size: 8.5px;
  font-weight: 700;
  color: #FF3B3B;
  letter-spacing: 0.18em;
}
.rt-mc-bullets {
  list-style: none; padding: 0; margin: 0;
  display: flex; flex-direction: column; gap: 10px;
}
.rt-mc-bullets li {
  display: flex; gap: 12px;
  font-size: 14px;
  color: rgba(245,239,236,0.78);
  line-height: 1.5;
}
.rt-mc-check {
  flex-shrink: 0;
  width: 20px; height: 20px;
  border-radius: 50%;
  background: rgba(220,38,38,0.15);
  color: #FF3B3B;
  display: inline-flex; align-items: center; justify-content: center;
  margin-top: 1px;
}

.rt-models { background: #0A080A; padding: 100px 0; color: var(--rt-text, #F5EFEC); }
.rt-models-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
  margin-top: 12px;
}
.rt-models-hint {
  margin: 36px auto 0;
  max-width: 700px;
  text-align: center;
  font-size: 14px;
  color: rgba(245, 239, 236, 0.56);
  line-height: 1.6;
}
@media (max-width: 900px) {
  .rt-models-grid { grid-template-columns: 1fr; }
}

.rt-scopecta {
  background: #07070A;
  padding: 60px 0 80px;
  color: var(--rt-text, #F5EFEC);
}
.rt-scopecta-card {
  position: relative;
  overflow: hidden;
  padding: 56px 64px;
  background: linear-gradient(135deg, #120608 0%, #0B0507 60%, #100507 100%);
  border: 1px solid rgba(220,38,38,0.25);
  border-radius: 14px;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 40px;
  box-shadow: 0 20px 60px -30px rgba(220,38,38,0.4);
}
.rt-scopecta-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, rgba(255,107,107,0.6), transparent);
}
.rt-scopecta-mark {
  position: absolute;
  right: -50px;
  top: 50%;
  transform: translateY(-50%);
  width: 360px;
  height: 360px;
  pointer-events: none;
  z-index: 0;
}
.rt-scopecta-mark-glow {
  position: absolute;
  inset: -130px;
  background: radial-gradient(circle at 50% 50%, rgba(255,107,107,0.18) 0%, rgba(220,38,38,0.10) 30%, rgba(123,14,14,0.05) 58%, transparent 78%);
  filter: blur(80px);
  animation: rt-scopecta-breath 7s ease-in-out infinite;
}
@keyframes rt-scopecta-breath {
  0%, 100% { opacity: 0.7; transform: scale(1); }
  50%      { opacity: 0.85; transform: scale(1.06); }
}
.rt-scopecta-mark-svg {
  position: relative;
  width: 100%;
  height: 100%;
  opacity: 0.22;
  filter: drop-shadow(0 0 24px rgba(220,38,38,0.32)) blur(1.2px);
}
.rt-scopecta-mark-legacy {
  position: absolute;
  right: -20px;
  top: 50%;
  transform: translateY(-50%);
  width: 320px;
  height: 360px;
  opacity: 0.35;
  pointer-events: none;
}
.rt-scopecta-text { position: relative; z-index: 1; max-width: 640px; }
.rt-scopecta-text .rt-eyebrow { margin-bottom: 18px; }
.rt-scopecta-title {
  font-size: clamp(30px, 3.4vw, 42px);
  font-weight: 600;
  line-height: 1.08;
  letter-spacing: -0.025em;
  color: #fff;
  margin: 0 0 16px;
  text-wrap: balance;
}
.rt-scopecta-accent {
  background: linear-gradient(92deg, #FF6B6B 10%, #FCA5A5 55%, #FF6B6B 95%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.rt-scopecta-sub {
  font-size: 16px;
  line-height: 1.55;
  color: rgba(245,239,236,0.65);
  margin: 0;
  max-width: 540px;
  text-wrap: pretty;
}
.rt-scopecta-actions { position: relative; z-index: 1; flex-shrink: 0; }
.rt-scopecta-btn { white-space: nowrap; }

@media (max-width: 900px) {
  .rt-scopecta-card {
    grid-template-columns: 1fr;
    padding: 40px 28px;
    gap: 28px;
  }
  .rt-scopecta-mark { width: 220px; height: 220px; opacity: 0.5; right: -40px; top: auto; bottom: -40px; transform: none; }
}

.rt-apart { background: #07070A; padding: 100px 0; color: var(--rt-text, #F5EFEC); }
.rt-apart-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.rt-apart-card {
  padding: 32px 28px 30px;
  background: #0E0A0C;
  border: 1px solid rgba(245,239,236,0.08);
  border-radius: 12px;
  transition: border-color 0.25s, transform 0.25s;
}
.rt-apart-card:hover {
  border-color: rgba(220,38,38,0.4);
  transform: translateY(-2px);
}
.rt-apart-tag {
  font-size: 28px;
  font-weight: 200;
  color: #FF3B3B;
  margin-bottom: 18px;
  letter-spacing: 0.02em;
  opacity: 0.7;
}
.rt-apart-h3 {
  font-size: 21px;
  font-weight: 500;
  letter-spacing: -0.015em;
  margin: 0 0 12px;
  color: var(--rt-text, #F5EFEC);
  text-wrap: balance;
}
.rt-apart-body {
  font-size: 14.5px;
  color: rgba(245,239,236,0.65);
  line-height: 1.6;
  margin: 0;
  text-wrap: pretty;
}
@media (max-width: 900px) {
  .rt-apart-grid { grid-template-columns: 1fr; }
}

.rt-pf {
  background: #0A080A;
  padding: 100px 0;
  color: var(--rt-text, #F5EFEC);
  position: relative;
  overflow: hidden;
}
.rt-pf::before {
  content: '';
  position: absolute;
  left: -160px; bottom: -120px;
  width: 600px; height: 600px;
  background: radial-gradient(circle, rgba(220,38,38,0.14), transparent 60%);
  filter: blur(60px);
  pointer-events: none;
}
.rt-pf-grid {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: 56px;
  align-items: center;
  position: relative;
}
.rt-pf-text { display: flex; flex-direction: column; gap: 18px; }
.rt-pf-text .rt-eyebrow { margin-bottom: 4px; }
.rt-pf-title {
  font-size: clamp(28px, 3vw, 38px);
  font-weight: 600;
  line-height: 1.1;
  letter-spacing: -0.022em;
  color: #fff;
  margin: 0;
  text-wrap: balance;
}
.rt-pf-sub {
  font-size: 16px;
  line-height: 1.55;
  color: rgba(245,239,236,0.65);
  margin: 0;
  max-width: 52ch;
  text-wrap: pretty;
}
.rt-pf-list {
  list-style: none;
  margin: 6px 0 0;
  padding: 18px 0 0;
  border-top: 1px solid rgba(245,239,236,0.08);
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.rt-pf-list li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 14.5px;
  color: rgba(245,239,236,0.85);
  line-height: 1.45;
}
.rt-pf-tick {
  flex-shrink: 0;
  margin-top: 3px;
  color: #FF6B6B;
}
.rt-pf-actions {
  display: flex;
  align-items: center;
  gap: 22px;
  margin-top: 14px;
  flex-wrap: wrap;
}
.rt-pf-secondary {
  color: #FF6B6B;
  text-decoration: none;
  font-size: 14.5px;
  font-weight: 500;
  letter-spacing: -0.005em;
  border-bottom: 1px solid transparent;
  transition: border-color 0.2s;
}
.rt-pf-secondary:hover { border-bottom-color: rgba(255,107,107,0.6); }

.rt-pf-video-wrap { display: flex; }
.rt-pf-video {
  position: relative;
  flex: 1;
  aspect-ratio: 16 / 9;
  background: linear-gradient(135deg, #1A0509 0%, #2A0A12 50%, #1A0509 100%);
  border-radius: 10px;
  overflow: hidden;
  color: #fff;
  isolation: isolate;
  border: 1px solid rgba(220,38,38,0.22);
  box-shadow:
    0 30px 70px -34px rgba(220,38,38,0.45),
    0 1px 0 rgba(255,255,255,0.05) inset;
}
.rt-pf-video::before {
  content: "";
  position: absolute; inset: 0;
  background-image:
    linear-gradient(to right, rgba(255,255,255,0.05) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255,255,255,0.05) 1px, transparent 1px);
  background-size: 32px 32px;
  mask-image: radial-gradient(ellipse 70% 60% at 50% 50%, #000 30%, transparent 80%);
  -webkit-mask-image: radial-gradient(ellipse 70% 60% at 50% 50%, #000 30%, transparent 80%);
  pointer-events: none;
}
.rt-pf-video::after {
  content: "";
  position: absolute;
  left: 50%; top: 50%;
  transform: translate(-50%, -50%);
  width: 240px; height: 240px;
  background: radial-gradient(circle, rgba(255,107,107,0.20) 0%, transparent 70%);
  pointer-events: none;
}
.rt-pf-video-top {
  position: absolute;
  top: 14px; left: 16px; right: 16px;
  display: flex; align-items: center; justify-content: space-between;
  z-index: 2;
}
.rt-pf-video-label {
  font-size: 10px;
  letter-spacing: 0.22em;
  font-weight: 700;
  color: rgba(255,255,255,0.7);
}
.rt-pf-video-dur {
  font-size: 10.5px;
  letter-spacing: 0.12em;
  color: rgba(255,255,255,0.85);
  background: rgba(220,38,38,0.18);
  padding: 3px 7px;
  border-radius: 3px;
  border: 1px solid rgba(220,38,38,0.35);
}
.rt-pf-play {
  position: absolute;
  left: 50%; top: 50%;
  transform: translate(-50%, -50%);
  background: transparent;
  border: 0;
  padding: 0;
  color: #fff;
  cursor: pointer;
  z-index: 3;
  transition: transform 0.2s;
}
.rt-pf-play svg { display: block; }
.rt-pf-play:hover { transform: translate(-50%, -50%) scale(1.06); color: #FF6B6B; }
.rt-pf-scrub {
  position: absolute;
  left: 18px; right: 18px; bottom: 16px;
  z-index: 2;
  height: 3px;
  background: rgba(255,255,255,0.14);
  border-radius: 2px;
}
.rt-pf-scrub-fill {
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: 26%;
  background: #FF3B3B;
  border-radius: 2px;
}
.rt-pf-scrub-knob {
  position: absolute;
  left: 26%;
  top: 50%;
  width: 9px; height: 9px;
  margin-left: -4.5px;
  margin-top: -4.5px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 0 0 3px rgba(220,38,38,0.45);
}
.rt-pf-watermark {
  position: absolute;
  bottom: 28px; right: 16px;
  font-size: 9px;
  letter-spacing: 0.28em;
  color: rgba(255,255,255,0.18);
  z-index: 1;
}

@media (max-width: 1000px) {
  .rt-pf-grid { grid-template-columns: 1fr; gap: 40px; }
}

.rt-when { background: #07070A; padding: 100px 0; color: var(--rt-text, #F5EFEC); }
.rt-when-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
.rt-when-card {
  padding: 26px 24px 24px;
  background: #0E0A0C;
  border: 1px solid rgba(245,239,236,0.08);
  border-radius: 10px;
  transition: all 0.25s ease;
}
.rt-when-card:hover {
  border-color: rgba(220,38,38,0.4);
  background: rgba(220,38,38,0.04);
}
.rt-when-tag {
  display: inline-block;
  font-size: 10px;
  font-weight: 700;
  padding: 4px 9px;
  background: rgba(220,38,38,0.10);
  border: 1px solid rgba(220,38,38,0.30);
  color: #FF8A8A;
  border-radius: 3px;
  letter-spacing: 0.18em;
  margin-bottom: 14px;
}
.rt-when-h3 {
  font-size: 17px;
  font-weight: 500;
  letter-spacing: -0.01em;
  line-height: 1.3;
  margin: 0 0 10px;
  color: var(--rt-text, #F5EFEC);
  text-wrap: balance;
}
.rt-when-body {
  font-size: 13.5px;
  color: rgba(245,239,236,0.62);
  line-height: 1.55;
  margin: 0;
  text-wrap: pretty;
}
@media (max-width: 1000px) { .rt-when-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px)  { .rt-when-grid { grid-template-columns: 1fr; } }

.rt-test { background: #0A080A; padding: 100px 0; color: var(--rt-text, #F5EFEC); }
.rt-test-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}
.rt-test-card {
  padding: 26px 24px 22px;
  background: #0E0A0C;
  border: 1px solid rgba(245,239,236,0.08);
  border-radius: 10px;
  display: flex; flex-direction: column;
}
.rt-test-stars { color: #FF3B3B; display: flex; gap: 2px; margin-bottom: 14px; }
.rt-test-q {
  margin: 0 0 18px;
  font-size: 14.5px;
  color: rgba(245,239,236,0.78);
  line-height: 1.55;
  font-weight: 400;
  flex: 1;
  text-wrap: pretty;
}
.rt-test-q::before { content: '“'; color: #FF3B3B; font-size: 22px; line-height: 0; vertical-align: -8px; margin-right: 2px; }
.rt-test-q::after  { content: '”'; color: #FF3B3B; font-size: 22px; line-height: 0; vertical-align: -8px; margin-left: 2px; }
.rt-test-meta {
  display: flex; align-items: center; gap: 12px;
  padding-top: 14px;
  border-top: 1px solid rgba(245,239,236,0.06);
}

.rt-test-logo {
  height: 22px;
  filter: grayscale(1) brightness(1.5);
  opacity: 0.7;
}
.rt-test-author { font-size: 12.5px; color: var(--rt-text, #F5EFEC); font-weight: 500; }
.rt-test-company { font-size: 11.5px; color: rgba(245, 239, 236, 0.56); }
@media (max-width: 1000px) { .rt-test-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px)  { .rt-test-grid { grid-template-columns: 1fr; } }

.rt-faq {
  background: #07070A;
  padding: 100px 0;
  color: var(--rt-text, #F5EFEC);
}
.rt-faq-head-block {
  margin: 0 0 56px;
  max-width: 760px;
}
.rt-faq-title {
  font-size: clamp(40px, 5vw, 64px);
  font-weight: 600;
  letter-spacing: -0.028em;
  line-height: 1.05;
  color: #fff;
  margin: 0;
  text-wrap: balance;
}
.rt-faq-sub {
  font-size: 15px;
  color: rgba(245,239,236,0.6);
  line-height: 1.5;
  margin: 16px 0 0;
  max-width: 56ch;
  text-wrap: pretty;
}

.rt-faq-list {
  max-width: 880px;
  margin: 0 auto;
  border-top: 1px solid rgba(245,239,236,0.10);
}
.rt-faq-item {
  border-bottom: 1px solid rgba(245,239,236,0.10);
}
.rt-faq-row {
  width: 100%;
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 24px;
  align-items: center;
  padding: 26px 4px;
  background: none;
  border: none;
  cursor: pointer;
  text-align: left;
  color: var(--rt-text, #F5EFEC);
  font-family: inherit;
  transition: color 0.2s;
}
.rt-faq-row:hover .rt-faq-q { color: #fff; }
.rt-faq-row:hover .rt-faq-num { color: #FF6B6B; }
.rt-faq-num {
  font-size: 10.5px;
  color: rgba(255, 107, 107, 0.78);
  letter-spacing: 0.16em;
  font-weight: 700;
  width: 24px;
  transition: color 0.2s;
}
.rt-faq-item.is-open .rt-faq-num { color: #FF3B3B; }
.rt-faq-q {
  font-size: 17px;
  font-weight: 500;
  letter-spacing: -0.012em;
  line-height: 1.4;
  color: rgba(245,239,236,0.85);
  transition: color 0.2s;
}
.rt-faq-item.is-open .rt-faq-q { color: #fff; }
.rt-faq-toggle {
  width: 32px; height: 32px;
  border-radius: 50%;
  border: 1px solid rgba(245,239,236,0.18);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--rt-text, #F5EFEC);
  transition: all 0.25s ease;
}
.rt-faq-vert {
  transition: transform 0.25s ease;
  transform-origin: 11px 11px;
}
.rt-faq-item.is-open .rt-faq-vert { transform: rotate(90deg); }
.rt-faq-item.is-open .rt-faq-toggle {
  background: #DC2626;
  border-color: #DC2626;
  color: #fff;
}
.rt-faq-body {
  padding: 0 4px 0 calc(24px + 24px);
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transition: max-height 0.4s ease, opacity 0.3s ease, padding 0.3s ease;
}
.rt-faq-item.is-open .rt-faq-body {
  max-height: 1400px;
  opacity: 1;
  padding-bottom: 26px;
}
.rt-faq-body p {
  font-size: 15px;
  color: rgba(245,239,236,0.72);
  line-height: 1.6;
  margin: 0 0 14px;
  text-wrap: pretty;
}
.rt-faq-body p:last-child { margin-bottom: 0; }

@media (max-width: 600px) {
  .rt-faq-row { gap: 14px; }
  .rt-faq-num { width: auto; }
  .rt-faq-body { padding-left: 0; }
}

.rt-other {
  background: #0A080A;
  padding: 100px 0;
  color: var(--rt-text, #F5EFEC);
}
.rt-other-head {
  text-align: center;
  margin-bottom: 36px;
}
.rt-other-title {
  font-size: clamp(28px, 3vw, 40px);
  font-weight: 600;
  letter-spacing: -0.022em;
  line-height: 1.1;
  margin: 0;
  text-wrap: balance;
  background: linear-gradient(92deg, #FFFFFF 0%, #FCA5A5 60%, #FF8A8A 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  position: relative;
  display: inline-block;
  text-shadow: 0 0 40px rgba(255, 138, 138, 0.18);
}
.rt-other-title::after {
  content: '';
  position: absolute;
  inset: -10px -30px;
  background: radial-gradient(ellipse at center, rgba(255,107,107,0.18) 0%, transparent 65%);
  filter: blur(28px);
  z-index: -1;
  pointer-events: none;
}
.rt-other-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  max-width: 1100px;
  margin: 0 auto;
}
.rt-other-card {
  background: #0E0A0C;
  border: 1px solid rgba(245,239,236,0.10);
  border-radius: 6px;
  padding: 14px 14px 16px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  color: rgba(245,239,236,0.92);
  text-decoration: none;
  transition: border-color 0.2s, background 0.2s, transform 0.2s, box-shadow 0.2s;
}
.rt-other-card:hover {
  border-color: rgba(220,38,38,0.4);
  background: rgba(220,38,38,0.04);
  transform: translateY(-2px);
  box-shadow: 0 12px 28px -18px rgba(220,38,38,0.4);
}
.rt-other-chip {
  width: 26px; height: 26px;
  display: inline-flex; align-items: center; justify-content: center;
  background: rgba(220,38,38,0.12);
  border-radius: 4px;
  color: #FF6B6B;
}
.rt-other-chip svg { width: 15px; height: 15px; stroke-width: 1.6; }
.rt-other-name {
  font-size: 12.5px;
  font-weight: 500;
  letter-spacing: -0.003em;
  line-height: 1.3;
  text-wrap: pretty;
}
@media (max-width: 1000px) { .rt-other-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 640px)  { .rt-other-grid { grid-template-columns: repeat(2, 1fr); } }

.rt-closing {
  position: relative;
  background: #07070A;
  color: var(--rt-text, #F5EFEC);
  padding: 120px 0 100px;
  overflow: hidden;
}
.rt-cl-bg { position: absolute; inset: 0; pointer-events: none; }
.rt-cl-glow {
  position: absolute;
  width: 1100px; height: 1100px;
  left: 60%; top: -200px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(220,38,38,0.4) 0%, rgba(123,14,14,0.2) 30%, transparent 70%);
  filter: blur(60px);
  animation: rt-breath 8s ease-in-out infinite;
}
.rt-cl-grid {
  position: absolute; inset: 0;
  background-image:
    linear-gradient(rgba(220,38,38,0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(220,38,38,0.04) 1px, transparent 1px);
  background-size: 64px 64px;
  mask-image: radial-gradient(ellipse 80% 60% at 60% 40%, black 30%, transparent 90%);
  -webkit-mask-image: radial-gradient(ellipse 80% 60% at 60% 40%, black 30%, transparent 90%);
}
.rt-cl-inner { position: relative; z-index: 1; }

.rt-cl-head { margin: 0 0 60px; }
.rt-cl-title {
  font-size: clamp(36px, 4.6vw, 64px);
  font-weight: 400;
  letter-spacing: -0.025em;
  line-height: 1.02;
  margin: 0 0 22px;
  text-wrap: balance;
}
.rt-cl-accent {
  background: linear-gradient(92deg, #FF6B6B 8%, #FCA5A5 50%, #FF3B3B 92%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  font-weight: 400;
}
.rt-cl-body {
  font-size: 17px;
  color: rgba(245,239,236,0.7);
  line-height: 1.55;
  max-width: 720px;
  margin: 0;
  text-wrap: pretty;
}

.rt-cl-grid-cols {
  display: grid;
  grid-template-columns: 1fr 0.85fr;
  gap: 48px;
  align-items: stretch;
}

.rt-cl-form-wrap {
  background: linear-gradient(180deg, rgba(20,8,10,0.92), rgba(15,6,8,0.92));
  border: 1px solid rgba(220,38,38,0.22);
  border-radius: 12px;
  padding: 32px 30px 28px;
  position: relative;
  backdrop-filter: blur(8px);
}
.rt-cl-form-wrap::before {
  content: '';
  position: absolute;
  top: -1px; left: -1px; right: -1px;
  height: 2px;
  background: linear-gradient(90deg, transparent, #DC2626 30%, #FF3B3B 50%, #DC2626 70%, transparent);
  border-radius: 12px 12px 0 0;
  opacity: 0.6;
}
.rt-cl-form-title {
  font-size: 20px;
  font-weight: 500;
  letter-spacing: -0.015em;
  margin-bottom: 6px;
}
.rt-cl-form-hint {
  font-size: 13px;
  color: rgba(245, 239, 236, 0.56);
  margin-bottom: 22px;
  line-height: 1.5;
}
.rt-cl-form { display: flex; flex-direction: column; gap: 14px; }
.rt-cl-form label { display: flex; flex-direction: column; gap: 6px; }
.rt-cl-form .mono {
  font-size: 9.5px; letter-spacing: 0.2em; font-weight: 700;
  color: rgba(245, 239, 236, 0.56);
  text-transform: uppercase;
}
.rt-cl-form input,
.rt-cl-form select {
  font-family: inherit;
  font-size: 14.5px;
  padding: 11px 13px;
  background: rgba(0,0,0,0.45);
  color: var(--rt-text, #F5EFEC);
  border: 1px solid rgba(220,38,38,0.18);
  border-radius: 5px;
  outline: none;
  transition: border-color 0.2s, background 0.2s;
}
.rt-cl-form input:focus,
.rt-cl-form select:focus {
  border-color: #DC2626;
  background: rgba(0,0,0,0.65);
  box-shadow: 0 0 0 3px rgba(220,38,38,0.18);
}
.rt-cl-form select {
  appearance: none;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'><path fill='none' stroke='%23DC2626' stroke-width='1.5' d='M2 4l4 4 4-4'/></svg>");
  background-repeat: no-repeat;
  background-position: right 12px center;
  padding-right: 32px;
}
.rt-cl-form select option { background: #110608; color: var(--rt-text, #F5EFEC); }
.rt-cl-row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }

.rt-cl-submit {
  margin-top: 6px;
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  font-family: inherit; font-size: 15px; font-weight: 600;
  padding: 14px 18px;
  background: #DC2626;
  color: #fff;
  border: 1px solid #DC2626;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.2s;
  box-shadow: 0 8px 24px -8px rgba(220,38,38,0.5);
}
.rt-cl-submit:hover {
  background: #FF3B3B;
  transform: translateY(-1px);
}

.rt-cl-success {
  padding: 20px 6px;
  text-align: center;
  color: var(--rt-text, #F5EFEC);
}
.rt-cl-success-mark { color: #FF3B3B; margin: 0 auto 14px; display: inline-block; }
.rt-cl-success-text { font-size: 14px; color: rgba(245,239,236,0.78); line-height: 1.55; max-width: 320px; margin: 0 auto; }

.rt-cl-quotes-wrap {
  padding-top: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
  height: 100%;
}
.rt-cl-quotes-label {
  font-size: 11px; letter-spacing: 0.22em; font-weight: 700;
  color: rgba(245, 239, 236, 0.56);
  margin-bottom: 4px;
  flex-shrink: 0;
}
.rt-cl-quotes {
  list-style: none; padding: 0; margin: 0;
  display: flex; flex-direction: column;
  gap: 12px;
  flex: 1;
}
.rt-cl-quote {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
  padding: 18px 22px 18px 34px;
  background: linear-gradient(180deg, rgba(20,8,10,0.72), rgba(15,6,8,0.72));
  border: 1px solid rgba(220,38,38,0.18);
  border-radius: 8px;
}
.rt-cl-quote-mark {
  position: absolute;
  top: 6px; left: 16px;
  font-size: 32px;
  line-height: 1;
  color: rgba(255,107,107,0.65);
  font-family: Georgia, serif;
}
.rt-cl-quote-text {
  font-size: 14.5px;
  line-height: 1.5;
  color: rgba(245,239,236,0.92);
  margin: 0 0 10px;
  text-wrap: pretty;
}
.rt-cl-quote-attr { display: flex; flex-direction: column; gap: 3px; }
.rt-cl-quote-role { font-size: 13px; font-weight: 500; color: #fff; }
.rt-cl-quote-meta {
  font-size: 10.5px; letter-spacing: 0.14em; font-weight: 600;
  color: rgba(255, 107, 107, 0.78);
  text-transform: uppercase;
}

@media (max-width: 900px) {
  .rt-cl-grid-cols { grid-template-columns: 1fr; gap: 36px; }
  .rt-cl-row { grid-template-columns: 1fr; }
}

.hc-testimonials.dark{
  background: #07070A;
  padding: 100px 0 100px;
  border-top: 1px solid rgba(245, 239, 236, 0.08);;
  position: relative;
  overflow: hidden;
}
.hc-testimonials.dark::before {
  content: '';
  position: absolute; left: 50%; top: -100px; transform: translateX(-50%);
  width: 800px; height: 600px;
  background: radial-gradient(ellipse, color-mix(in srgb, var(--hc-green, #0A8754) 6%, transparent) 0%, transparent 60%);
  filter: blur(50px); pointer-events: none;
}

.hc-testi-head.dark {
  max-width: 760px; margin: 0 auto 56px; text-align: center;
  position: relative; z-index: 1;
}
.hc-testi-eyebrow.dark {
  font-size: 10.5px; letter-spacing: 0.25em; font-weight: 700;
  color: var(--hc-green); text-transform: uppercase;
  margin-bottom: 18px;
  display: inline-flex; align-items: center; gap: 8px;
}
.hc-testi-eyebrow-dot.dark {
  width: 6px; height: 6px; border-radius: 50%;
  background: var(--hc-green);
  box-shadow: 0 0 10px color-mix(in srgb, var(--hc-green, #0A8754) 55%, transparent);
}
.hc-testi-h2.dark {
  font-size: clamp(28px, 3vw, 38px);
  font-weight: 500; letter-spacing: -0.022em;
  line-height: 1.14; margin: 0 0 18px;
  color: #fff; text-wrap: balance;
}
.hc-testi-lead.dark {
  font-size: 15.5px; line-height: 1.55;
  color: #fff;
  margin: 0; text-wrap: pretty;
}

.hc-testi-card.dark {
  max-width: 1080px; margin: 0 auto;
      background: #0E0A0C;
    border: 1px solid rgba(245, 239, 236, 0.08);
  border-radius: 14px;
  padding: 56px 64px 0;
  position: relative;
  overflow: hidden;
}
.hc-testi-quote-mark.dark {
  position: absolute;
  top: 28px; left: 64px;
  width: 44px; height: auto;
  color: #fff;
  opacity: 0.14;
}

.hc-testi-quote-stage.dark {
  position: relative;
  min-height: 220px;
  padding-top: 16px;
}
.hc-testi-quote.dark {
  position: absolute; inset: 0;
  margin: 0;
  opacity: 0;
  transform: translateY(8px);
  transition: opacity .55s ease, transform .55s ease;
  pointer-events: none;
  display: flex; flex-direction: column; gap: 24px;
}
.hc-testi-quote.dark.is-active {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
  position: relative;
}
.hc-testi-quote-text.dark {
  font-size: clamp(18px, 1.7vw, 22px);
  line-height: 1.5;
  color: #fff;
  margin: 0;
  font-weight: 400;
  letter-spacing: -0.012em;
  text-wrap: pretty;
  max-width: 56ch;
}
.hc-testi-attrib.dark {
  padding-top: 14px;
  border-top: 1px solid rgba(245, 239, 236, 0.08);
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
.hc-testi-author.dark {
  font-size: 14px; font-weight: 600;
  color: #fff;
  letter-spacing: -0.005em;
}
.hc-testi-company.dark {
  font-size: 12.5px;
  color: #fff;
  margin-top: 2px;
}

.hc-testi-rail.dark {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 0;
  margin: 40px -64px 0;
  border-top: 1px solid rgba(245, 239, 236, 0.08);;
  background: #0E0A0C;
}
.hc-testi-logo-btn.dark {
  appearance: none;
  background: transparent;
  border: 0;
  border-right: 1px solid rgba(245, 239, 236, 0.08);;
  padding: 22px 16px;
  cursor: pointer;
  position: relative;
  display: flex; align-items: center; justify-content: center;
  height: 88px;
  transition: background .2s;
}
.hc-testi-logo-btn.dark:last-child { border-right: 0; }
.hc-testi-logo-btn.dark:hover { background: #FAFAF7; }
.hc-testi-logo.dark {
  max-height: 36px;
  max-width: 130px;
  width: auto; height: auto;
  object-fit: contain;
  opacity: 0.42;
  filter: grayscale(1);
  transition: opacity .25s, filter .25s, transform .25s;
}
.hc-testi-logo-btn.dark.is-active .hc-testi-logo.dark {
  opacity: 1;
  filter: grayscale(0);
}
.hc-testi-logo-btn.dark:hover .hc-testi-logo.dark {
  opacity: 0.85;
  filter: grayscale(0.3);
}
.hc-testi-logo-bar.dark {
  position: absolute;
  left: 0; right: 0; bottom: -1px;
  height: 2px;
  background: var(--rt-accent);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .35s ease;
}
.hc-testi-logo-btn.dark.is-active .hc-testi-logo-bar.dark {
  transform: scaleX(1);
}

@media (max-width: 900px) {
  .hc-testi-card.dark { padding: 44px 28px 0; }
  .hc-testi-quote-mark.dark { left: 24px; top: 18px; width: 36px; }
  .hc-testi-quote-stage.dark { min-height: 280px; }
  .hc-testi-rail.dark {
    margin: 28px -28px 0;
    grid-template-columns: repeat(3, 1fr);
    grid-auto-rows: 72px;
  }
  .hc-testi-logo-btn.dark {
    height: 72px;
    border-bottom: 1px solid rgba(245, 239, 236, 0.08);;
  }
  .hc-testi-logo-btn.dark:nth-child(3n) { border-right: 0; }
  .hc-testi-logo-btn.dark:nth-child(n+4) { border-bottom: 0; }
}

:root {
      --dw-accent: #1431A7;
      --dw-accent-bright: #C5D6FF;
      --dw-accent-deep: #070763;
      --dw-text: #E8ECF8;
      --dw-text-dim: rgba(232,236,248,0.72);
      --dw-text-faint: rgba(232, 236, 248, 0.56);
      --dw-line: rgba(232,236,248,0.10);
      --dw-line-strong: rgba(20,49,167,0.4);
      --dw-bg-1: #050511;
      --dw-bg-2: #0A0B1F;
      --dw-bg-3: #11122A;
    }
    .dw-hero {
      position: relative;
      background: var(--dw-bg-1);
      color: var(--dw-text);
      padding: 130px 0 100px;
      overflow: hidden;
      min-height: 720px;
    }
    .dw-hero-bg { position: absolute; inset: 0; pointer-events: none; }
    .dw-hero-grid {
      position: absolute; inset: 0;
      background-image:
        linear-gradient(rgba(20,49,167,0.05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(20,49,167,0.05) 1px, transparent 1px);
      background-size: 64px 64px;
      mask-image: radial-gradient(ellipse 80% 60% at 60% 40%, black 30%, transparent 90%);
      -webkit-mask-image: radial-gradient(ellipse 80% 60% at 60% 40%, black 30%, transparent 90%);
    }
    .dw-hero-glow {
      position: absolute;
      width: 1100px; height: 1100px;
      left: 55%; top: -250px;
      border-radius: 50%;
      background: radial-gradient(circle, rgba(20,49,167,0.45) 0%, rgba(7,7,99,0.22) 30%, transparent 70%);
      filter: blur(60px);
      animation: dw-breath 9s ease-in-out infinite;
    }
    @keyframes dw-breath {
      0%,100% { opacity: 0.85; transform: translate3d(0,0,0) scale(1); }
      50%     { opacity: 1;    transform: translate3d(0,0,0) scale(1.04); }
    }
    .dw-hero-vignette {
      position: absolute; inset: 0;
      background: radial-gradient(ellipse 100% 80% at 50% 50%, transparent 30%, rgba(0,0,0,0.6) 100%);
    }

    .dw-hero-container { position: relative; z-index: 1; }
    .dw-hero-grid-cols {
      display: grid;
      grid-template-columns: 1.15fr 0.85fr;
      gap: 72px;
      align-items: center;
    }
    .dw-hero-text { max-width: 640px; }
    .dw-hero-eyebrow {
      display: inline-flex; align-items: center; gap: 10px;
      font-size: 11px; font-weight: 700; letter-spacing: 0.22em;
      color: var(--dw-accent-bright);
      text-transform: uppercase;
      margin-bottom: 28px;
    }
    .dw-eyebrow-dot {
      width: 6px; height: 6px; border-radius: 50%;
      background: var(--dw-accent-bright);
      box-shadow: 0 0 8px var(--dw-accent-bright);
      animation: dw-pulse 1.6s ease-in-out infinite;
    }
    @keyframes dw-pulse { 0%,100% { opacity: 1; } 50% { opacity: 0.35; } }

    .dw-hero-h1 {
      font-size: clamp(40px, 5vw, 68px);
      font-weight: 500;
      line-height: 1.04;
      letter-spacing: -0.028em;
      color: #fff;
      margin: 0 0 26px;
      text-wrap: balance;
    }
    .dw-h1-accent {
      position: relative;
      background: linear-gradient(92deg, var(--dw-accent-bright) 0%, #ffffff 50%, var(--dw-accent-bright) 100%);
      -webkit-background-clip: text;
      background-clip: text;
      -webkit-text-fill-color: transparent;
      color: transparent;
      font-weight: 500;
    }
    .dw-h1-accent::before {
      content: "";
      position: absolute;
      inset: -10px -20px;
      background: radial-gradient(ellipse at center, rgba(197,214,255,0.22) 0%, transparent 65%);
      filter: blur(28px);
      z-index: -1;
      pointer-events: none;
    }
    .dw-hero-sub {
      font-size: 17px;
      line-height: 1.55;
      color: var(--dw-text-dim);
      margin: 0 0 36px;
      max-width: 560px;
      text-wrap: pretty;
    }
    .dw-hero-cta { display: flex; gap: 14px; flex-wrap: wrap; }
    .dw-btn {
      display: inline-flex; align-items: center; gap: 10px;
      padding: 14px 24px;
      border-radius: 8px;
      font-size: 14.5px; font-weight: 500;
      letter-spacing: -0.005em;
      text-decoration: none;
      transition: all 0.2s ease;
      border: 1px solid transparent;
    }
    .dw-btn-primary {
      background: var(--dw-accent);
      color: #fff;
      border-color: var(--dw-accent);
    }
    .dw-btn-primary:hover {
      background: var(--dw-accent-bright);
      color: var(--dw-accent-deep);
      transform: translateY(-1px);
    }
    .dw-btn-ghost {
      background: transparent;
      color: var(--dw-text);
      border-color: rgba(232,236,248,0.18);
    }
    .dw-btn-ghost:hover {
      border-color: var(--dw-accent-bright);
      color: var(--dw-accent-bright);
    }
    .dw-arrow { transition: transform 0.2s ease; }
    .dw-btn:hover .dw-arrow { transform: translateX(3px); }

    .dw-hero-form-wrap {
      background: linear-gradient(180deg, rgba(10,11,31,0.92), rgba(5,7,18,0.92));
      border: 1px solid rgba(20,49,167,0.22);
      border-radius: 12px;
      padding: 28px 26px 24px;
      position: relative;
      backdrop-filter: blur(8px);
    }
    .dw-hero-form-wrap::before {
      content: '';
      position: absolute;
      top: -1px; left: -1px; right: -1px;
      height: 2px;
      background: linear-gradient(90deg, transparent, var(--dw-accent) 30%, var(--dw-accent-bright) 50%, var(--dw-accent) 70%, transparent);
      border-radius: 12px 12px 0 0;
      opacity: 0.55;
    }
    .dw-hero-form { display: flex; flex-direction: column; gap: 12px; }
    .dw-hero-form-title {
      font-size: 18px; font-weight: 500;
      letter-spacing: -0.015em;
      color: #fff;
      margin-bottom: 4px;
    }
    .dw-hero-form-hint {
      font-size: 12.5px;
      color: var(--dw-text-faint);
      margin-bottom: 14px;
    }
    .dw-hero-form label { display: flex; flex-direction: column; gap: 5px; }
    .dw-hero-form .mono {
      font-family: ui-monospace, Menlo, monospace;
      font-size: 9.5px; letter-spacing: 0.2em; font-weight: 700;
      color: var(--dw-text-faint);
      text-transform: uppercase;
    }
    .dw-hero-form input,
    .dw-hero-form select {
      font-family: inherit;
      font-size: 14px;
      padding: 10px 12px;
      background: rgba(0,0,0,0.45);
      color: var(--dw-text);
      border: 1px solid rgba(20,49,167,0.18);
      border-radius: 5px;
      outline: none;
      transition: border-color 0.2s, background 0.2s;
    }
    .dw-hero-form input:focus,
    .dw-hero-form select:focus {
      border-color: var(--dw-accent);
      background: rgba(0,0,0,0.6);
    }
    .dw-hero-submit {
      margin-top: 6px;
      padding: 13px 18px;
      background: var(--dw-accent) !important;
      color: #fff;
      border: 1px solid var(--dw-accent);
      border-radius: 6px;
      font-size: 14px; font-weight: 500;
      letter-spacing: -0.005em;
      cursor: pointer;
      display: inline-flex; align-items: center; justify-content: center; gap: 10px;
      transition: background 0.2s ease;
    }
    .dw-hero-submit:hover:not(:disabled) {
      background: var(--dw-accent-bright) !important;
      color: var(--dw-accent-deep);
    }
    .dw-hero-submit:disabled { opacity: 0.5; cursor: not-allowed; }
    .dw-hero-gdpr {
      font-size: 11px; line-height: 1.5;
      color: var(--dw-text-faint);
      margin-top: 8px;
    }
    .dw-hero-success { padding: 20px 0; text-align: center; color: var(--dw-text); }
    .dw-hero-success-mark { color: var(--dw-accent-bright); margin: 0 auto 12px; width: 36px; }
    .dw-hero-success-title { font-size: 16px; font-weight: 500; margin-bottom: 6px; }
    .dw-hero-success-body { font-size: 13px; color: var(--dw-text-dim); }

    @media (max-width: 1000px) {
      .dw-hero-grid-cols { grid-template-columns: 1fr; gap: 48px; }
    }

    .dw-logos { background: var(--dw-bg-1); padding: 56px 0 40px; border-top: 1px solid var(--dw-line); }
    .dw-logos-label {
      font-size: 11px; letter-spacing: 0.2em; font-weight: 700;
      color: var(--dw-text-faint);
      margin-bottom: 24px; text-align: center;
      text-transform: uppercase;
    }
    .dw-logos-strip { overflow: hidden; mask-image: linear-gradient(90deg, transparent, black 10%, black 90%, transparent); }
    .dw-logos-track {
      display: flex; gap: 64px; align-items: center; --marquee-gap: 64px;
      animation: dw-marquee 50s linear infinite;
      width: max-content;
    }
    .dw-logos-track img {
      height: 28px; opacity: 0.55;
      filter: grayscale(1) brightness(2);
      transition: opacity 0.2s ease;
    }
    .dw-logos-track img:hover { opacity: 1; }
    @keyframes dw-marquee { from { transform: translateX(0); } to { transform: translateX(calc(-50% - var(--marquee-gap, 0px) / 2)); } }

    .dw-intro {
      background: var(--dw-bg-1);
      color: var(--dw-text);
      padding: 110px 0;
      position: relative;
      overflow: hidden;
    }
    .dw-intro::before {
      content: "";
      position: absolute; inset: 0;
      background: radial-gradient(ellipse 70% 55% at 75% 50%, rgba(20,49,167,0.12) 0%, transparent 60%);
      pointer-events: none;
    }
    .dw-intro-grid {
      position: relative;
      display: grid;
      grid-template-columns: 1fr 1fr;
      column-gap: 72px;
      row-gap: 56px;
      align-items: stretch;
    }
    .dw-intro-head {
      grid-column: 1 / -1;
      max-width: 920px;
    }
    .dw-intro-left {
      display: flex;
      flex-direction: column;
      justify-content: flex-start;
    }
    .dw-intro-right {
      display: flex;
      flex-direction: column;
      align-self: stretch;
    }
    .dw-intro-right > * { flex: 1; display: flex; flex-direction: column; }
    .dw-intro-title {
      font-size: clamp(34px, 4vw, 52px);
      font-weight: 500;
      letter-spacing: -0.026em;
      line-height: 1.06;
      margin: 0 0 22px;
      color: #fff;
      text-wrap: balance;
    }
    .dw-intro-title-accent {
      position: relative;
      font-weight: 500;
      background: linear-gradient(92deg, var(--dw-accent-bright) 0%, #fff 50%, var(--dw-accent-bright) 100%);
      -webkit-background-clip: text;
      background-clip: text;
      -webkit-text-fill-color: transparent;
      color: transparent;
    }
    .dw-intro-sub {
      font-size: 17px; line-height: 1.55;
      color: var(--dw-text-dim);
      margin: 0;
      text-wrap: pretty;
      max-width: 720px;
    }
    .dw-intro-stats {
      list-style: none; padding: 0; margin: 0 0 28px;
      border-top: 1px solid var(--dw-line);
    }
    .dw-intro-stat {
      display: grid;
      grid-template-columns: 168px 1fr;
      gap: 24px;
      padding: 14px 0;
      border-bottom: 1px solid var(--dw-line);
      align-items: baseline;
    }
    .dw-intro-stat-k {
      font-size: 11px;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      font-weight: 700;
      color: var(--dw-accent-bright);
    }
    .dw-intro-stat-v {
      font-size: 14.5px;
      line-height: 1.5;
      color: var(--dw-text);
      text-wrap: pretty;
    }
    .dw-intro-ctas {
      display: flex; flex-wrap: wrap; gap: 12px;
    }
    .dw-intro-cta { white-space: nowrap; }
    @media (max-width: 1100px) {
      .dw-intro-grid { grid-template-columns: 1fr; gap: 56px; }
      .dw-intro-stat { grid-template-columns: 140px 1fr; gap: 16px; }
    }
    @media (max-width: 600px) {
      .dw-intro-stat { grid-template-columns: 1fr; gap: 4px; }
    }

    .dw-ip {
      position: relative;
      background: linear-gradient(180deg, rgba(8,10,28,0.85), rgba(5,7,18,0.92));
      border: 1px solid var(--dw-line);
      border-radius: 14px;
      padding: 28px 28px 30px;
      overflow: hidden;
    }
    .dw-ip::before {
      content: "";
      position: absolute; top: -1px; left: -1px; right: -1px; height: 1px;
      background: linear-gradient(90deg, transparent, rgba(91,123,255,0.55) 50%, transparent);
    }
    .dw-ip-scan {
      position: absolute; left: 0; right: 0; height: 1px;
      top: -1px;
      background: linear-gradient(90deg, transparent, rgba(91,123,255,0.45), transparent);
      animation: dw-ip-scan 8s linear infinite;
      pointer-events: none;
    }
    @keyframes dw-ip-scan {
      0%   { top: -1px;   opacity: 0;   }
      10%  {              opacity: 0.9; }
      90%  {              opacity: 0.9; }
      100% { top: 100%;   opacity: 0;   }
    }
    .dw-ip-cols {
      display: grid;
      grid-template-columns: 1fr 1px 1fr;
      gap: 22px;
      align-items: stretch;
      min-height: 220px;
    }
    .dw-ip-col { display: flex; flex-direction: column; gap: 14px; }
    .dw-ip-label {
      font-size: 9.5px;
      letter-spacing: 0.24em;
      font-weight: 700;
      color: rgba(232, 236, 248, 0.56);
    }
    .dw-ip-col-r .dw-ip-label { color: var(--dw-accent-bright); opacity: 0.75; }
    .dw-ip-stream { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 10px; }
    .dw-ip-stream-row {
      font-size: 11.5px;
      color: rgba(232, 236, 248, 0.56);
      line-height: 1.45;
      opacity: 0;
      animation: dw-ip-row 5.6s ease-in-out infinite;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }
    @keyframes dw-ip-row {
      0%   { opacity: 0;    transform: translateX(-3px); }
      18%  { opacity: 0.55; transform: translateX(0);    }
      70%  { opacity: 0.55; transform: translateX(0);    }
      85%  { opacity: 0.18; }
      100% { opacity: 0;    transform: translateX(3px);  }
    }
    .dw-ip-divider {
      position: relative;
      display: flex; flex-direction: column; align-items: center;
      justify-content: center;
      gap: 12px;
    }
    .dw-ip-line {
      flex: 1;
      width: 1px;
      background: linear-gradient(180deg, transparent, rgba(91,123,255,0.32), transparent);
    }
    .dw-ip-dot {
      width: 8px; height: 8px; border-radius: 50%;
      background: var(--dw-accent-bright);
      box-shadow: 0 0 12px rgba(91,123,255,0.55);
      animation: dw-ip-dot 3.2s ease-in-out infinite;
    }
    @keyframes dw-ip-dot {
      0%, 100% { transform: scale(1);    opacity: 0.85; }
      50%      { transform: scale(1.35); opacity: 1;    }
    }
    .dw-ip-core {
      font-size: 8.5px;
      letter-spacing: 0.28em;
      font-weight: 700;
      color: var(--dw-accent-bright);
      opacity: 0.7;
      writing-mode: vertical-rl;
      transform: rotate(180deg);
      padding: 6px 0;
    }
    .dw-ip-alert {
      background: rgba(20,49,167,0.10);
      border: 1px solid rgba(20,49,167,0.34);
      border-radius: 6px;
      padding: 14px 14px 12px;
      display: flex; flex-direction: column; gap: 10px;
      animation: dw-ip-fade 0.6s cubic-bezier(.2,.7,.2,1);
    }
    .dw-ip-alert.is-crit { background: rgba(255,107,92,0.07); border-color: rgba(255,107,92,0.36); }
    .dw-ip-alert.is-high { background: rgba(255,183,77,0.06); border-color: rgba(255,183,77,0.32); }
    @keyframes dw-ip-fade {
      0%   { opacity: 0; transform: translateY(4px); }
      100% { opacity: 1; transform: translateY(0);   }
    }
    .dw-ip-alert-head { display: flex; justify-content: space-between; align-items: center; }
    .dw-ip-sev {
      font-size: 9px; letter-spacing: 0.2em; font-weight: 800;
      padding: 3px 7px; border-radius: 3px;
      color: #C5D6FF; background: rgba(91,123,255,0.18);
    }
    .dw-ip-sev.is-crit { color: #FF6B5C; background: rgba(255,107,92,0.16); }
    .dw-ip-sev.is-high { color: #FFB74D; background: rgba(255,183,77,0.14); }
    .dw-ip-sla {
      font-size: 9px; letter-spacing: 0.22em; font-weight: 700;
      color: rgba(126,231,172,0.85);
    }
    .dw-ip-alert-line {
      font-size: 12.5px;
      line-height: 1.5;
      color: rgba(232,236,248,0.92);
    }
    .dw-ip-alert-foot {
      display: flex; justify-content: flex-end;
      padding-top: 6px;
      border-top: 1px dashed rgba(232,236,248,0.08);
    }
    .dw-ip-action {
      font-size: 9.5px; letter-spacing: 0.2em; font-weight: 700;
      color: var(--dw-accent-bright); opacity: 0.85;
    }
    @media (max-width: 600px) {
      .dw-ip { padding: 22px 18px 24px; }
      .dw-ip-cols { grid-template-columns: 1fr; gap: 18px; }
      .dw-ip-divider { flex-direction: row; }
      .dw-ip-line { width: 100%; height: 1px; background: linear-gradient(90deg, transparent, rgba(91,123,255,0.32), transparent); }
      .dw-ip-core { writing-mode: horizontal-tb; transform: none; }
    }

    .dw-story {
      background: var(--dw-bg-1);
      color: var(--dw-text);
      padding: 110px 0 110px;
      border-top: 1px solid var(--dw-line);
      border-bottom: 1px solid var(--dw-line);
    }
    .dw-section-head { max-width: 800px; margin: 0 0 60px; }
    .dw-h2 {
      font-size: clamp(34px, 4.2vw, 54px);
      font-weight: 500;
      line-height: 1.06;
      letter-spacing: -0.028em;
      color: #fff;
      margin: 0 0 18px;
      text-wrap: balance;
    }
    .dw-section-sub { font-size: 17px; line-height: 1.55; color: var(--dw-text-dim); margin: 0; text-wrap: pretty; max-width: 720px; }

    .dw-story-grid { display: grid; grid-template-columns: 240px 1fr; gap: 24px; align-items: stretch; }
    .dw-story-rail {
      display: grid;
      grid-template-rows: repeat(5, 1fr);
      gap: 8px;
      height: 600px;
    }
    .dw-story-step {
      appearance: none;
      background: rgba(232,236,248,0.02);
      border: 1px solid var(--dw-line);
      padding: 18px 18px 14px; border-radius: 10px;
      text-align: left; cursor: pointer;
      display: flex; flex-direction: column; justify-content: space-between;
      gap: 10px;
      color: var(--dw-text-dim);
      transition: background 0.25s ease, border-color 0.25s ease, color 0.25s ease, transform 0.25s ease;
      width: 100%; box-sizing: border-box;
      position: relative;
      overflow: hidden;
    }
    .dw-story-step:hover { background: rgba(20,49,167,0.10); border-color: rgba(91,123,255,0.32); color: var(--dw-text); }
    .dw-story-step.is-active {
      background: rgba(20,49,167,0.18);
      border-color: rgba(91,123,255,0.55);
      color: #fff;
      box-shadow: inset 0 0 0 1px rgba(91,123,255,0.25);
    }
    .dw-story-step.is-active::before {
      content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 3px;
      background: var(--dw-accent-bright);
      box-shadow: 0 0 12px var(--dw-accent-bright);
    }
    .dw-story-step-icon {
      display: inline-flex;
      color: var(--dw-text-faint);
      width: 22px; height: 22px;
      transition: color 0.25s ease, transform 0.4s ease;
    }
    .dw-story-step:hover .dw-story-step-icon { color: var(--dw-accent-bright); }
    .dw-story-step.is-active .dw-story-step-icon { color: var(--dw-accent-bright); transform: scale(1.05); }
    .dw-story-step-name {
      font-size: 15px; font-weight: 600; letter-spacing: -0.01em;
      line-height: 1.2;
      font-family: ui-sans-serif, system-ui, sans-serif;
    }
    .dw-story-step-bar {
      display: block; height: 2px; background: rgba(232,236,248,0.06);
      border-radius: 2px; overflow: hidden;
      margin-top: auto;
    }
    .dw-story-step.is-active .dw-story-step-bar { background: rgba(91,123,255,0.18); }
    .dw-story-step-fill {
      display: block; height: 100%; width: 0;
      background: var(--dw-accent-bright);
      box-shadow: 0 0 8px var(--dw-accent-bright);
      animation: dw-step-fill 4.2s linear forwards;
    }
    .dw-story-step:not(.is-active) .dw-story-step-fill { display: none; }
    @keyframes dw-step-fill { from { width: 0; } to { width: 100%; } }

    .dw-story-stage {
      background: linear-gradient(180deg, rgba(10,11,31,0.92), rgba(5,7,18,0.92));
      border: 1px solid var(--dw-line);
      border-radius: 14px;
      padding: 32px 32px 28px;
      position: relative;
      overflow: hidden;
      height: 600px;
      display: flex; flex-direction: column;
    }
    .dw-story-scene { display: flex; flex-direction: column; height: 100%; animation: dw-scene-in 0.5s ease both; }
    @keyframes dw-scene-in { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }
    .dw-story-scene-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; margin-bottom: 18px; padding-bottom: 16px; border-bottom: 1px solid var(--dw-line); }
    .dw-story-scene-tag { font-size: 10.5px; letter-spacing: 0.22em; font-weight: 700; color: var(--dw-accent-bright); padding-top: 10px; }
    .dw-story-scene-metric { text-align: right; }
    .dw-story-scene-metric-n { display: block; font-size: 28px; font-weight: 500; letter-spacing: -0.02em; color: #fff; line-height: 1; font-family: ui-sans-serif, system-ui, sans-serif; }
    .dw-story-scene-metric-l { display: block; font-size: 9px; letter-spacing: 0.2em; font-weight: 700; color: var(--dw-text-faint); margin-top: 6px; }
    .dw-story-scene-title { font-size: 22px; font-weight: 500; color: #fff; margin: 0 0 10px; letter-spacing: -0.018em; line-height: 1.22; min-height: 54px; }
    .dw-story-scene-body { font-size: 14px; line-height: 1.6; color: var(--dw-text-dim); margin: 0 0 18px; max-width: 660px; min-height: 90px; }
    .dw-story-viz { background: rgba(0,0,0,0.45); border: 1px solid var(--dw-line); border-radius: 8px; padding: 14px 16px; flex: 1; min-height: 0; overflow: hidden; display: flex; flex-direction: column; }
    .dw-story-viz > .dw-viz { display: flex; flex-direction: column; flex: 1; min-height: 0; }

    .dw-viz { font-family: ui-monospace, Menlo, monospace; font-size: 12px; color: var(--dw-text); display: flex; flex-direction: column; flex: 1; min-height: 0; }
    .dw-viz-head { display: flex; align-items: center; gap: 8px; font-size: 10px; letter-spacing: 0.18em; color: var(--dw-text-faint); padding-bottom: 10px; border-bottom: 1px solid var(--dw-line); margin-bottom: 14px; flex-shrink: 0; }
    .dw-dot { width: 8px; height: 8px; border-radius: 50%; }
    .dw-dot-blue { background: var(--dw-accent-bright); box-shadow: 0 0 8px var(--dw-accent-bright); }
    .dw-viz-foot { font-size: 9.5px; letter-spacing: 0.2em; color: var(--dw-accent-bright); margin-top: 14px; padding-top: 10px; border-top: 1px solid var(--dw-line); flex-shrink: 0; }

    .dw-vizx-grid { display: grid; grid-template-columns: 1fr 70px 1fr; gap: 0; flex: 1; min-height: 0; align-items: stretch; }
    .dw-vizx-col { display: flex; flex-direction: column; min-height: 0; min-width: 0; padding: 0 14px; }
    .dw-vizx-col-in  { padding-left: 0; }
    .dw-vizx-col-out { padding-right: 0; }
    .dw-vizx-col-label { font-size: 9px; letter-spacing: 0.22em; font-weight: 700; color: var(--dw-text-faint); margin-bottom: 10px; }
    .dw-vizx-col-out .dw-vizx-col-label { color: var(--dw-accent-bright); }
    .dw-vizx-col-body { flex: 1; min-height: 0; overflow: hidden; }

    .dw-vizx-divider { display: flex; flex-direction: column; align-items: center; gap: 6px; padding-top: 18px; }
    .dw-vizx-divider-line { flex: 1; width: 1px; background: linear-gradient(180deg, transparent, rgba(91,123,255,0.36), transparent); min-height: 28px; }
    .dw-vizx-divider-tag { font-size: 9px; letter-spacing: 0.22em; font-weight: 700; color: var(--dw-accent-bright); white-space: nowrap; transform: rotate(0); }

    .dw-vizx-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
    .dw-vizx-list li { display: grid; grid-template-columns: 80px 1fr; gap: 10px; align-items: baseline; padding: 6px 0; border-bottom: 1px dashed rgba(232,236,248,0.08); animation: dw-vizx-fade 0.5s ease both; }
    .dw-vizx-list li.is-faint { opacity: 0.55; }
    .dw-vizx-list li:last-child { border-bottom: none; }
    .dw-vizx-key { font-size: 9px; letter-spacing: 0.18em; color: var(--dw-text-faint); }
    .dw-vizx-val { font-size: 11.5px; color: rgba(232,236,248,0.92); }

    .dw-vizx-card { background: rgba(20,49,167,0.10); border: 1px solid rgba(91,123,255,0.32); border-radius: 6px; padding: 14px 16px; display: flex; flex-direction: column; gap: 8px; animation: dw-vizx-fade 0.6s ease both; }
    .dw-vizx-card-row { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; padding-bottom: 6px; border-bottom: 1px dashed rgba(232,236,248,0.08); }
    .dw-vizx-card-row:last-of-type { border-bottom: none; padding-bottom: 0; }
    .dw-vizx-card-k { font-size: 9px; letter-spacing: 0.2em; color: var(--dw-text-faint); }
    .dw-vizx-card-v { font-size: 12px; color: #fff; font-weight: 500; }
    .dw-vizx-card-stamp { margin-top: 6px; font-size: 9px; letter-spacing: 0.22em; color: var(--dw-accent-bright); padding-top: 8px; border-top: 1px solid rgba(91,123,255,0.32); text-align: center; }

    .dw-vizx-source-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
    .dw-vizx-source-list li { display: flex; align-items: center; gap: 10px; font-size: 11.5px; color: rgba(232,236,248,0.9); padding: 6px 0; border-bottom: 1px dashed rgba(232,236,248,0.08); animation: dw-vizx-fade 0.5s ease both; font-family: ui-sans-serif, system-ui, sans-serif; }
    .dw-vizx-source-list li:last-child { border-bottom: none; }
    .dw-vizx-bullet { width: 5px; height: 5px; border-radius: 50%; background: var(--dw-accent-bright); box-shadow: 0 0 6px var(--dw-accent-bright); flex-shrink: 0; }
    .dw-vizx-meta { margin-left: auto; font-size: 9.5px; letter-spacing: 0.16em; color: var(--dw-text-faint); }

    .dw-vizx-noise { display: flex; flex-direction: column; gap: 3px; }
    .dw-vizx-noise-row { display: flex; align-items: center; gap: 8px; padding: 5px 8px; font-size: 10.5px; color: rgba(232, 236, 248, 0.56); background: rgba(232,236,248,0.02); border-radius: 3px; animation: dw-vizx-fade 0.5s ease both; }
    .dw-vizx-noise-row.dw-vizx-hit { color: rgba(232,236,248,0.95); background: rgba(20,49,167,0.16); border: 1px solid rgba(91,123,255,0.36); }
    .dw-vizx-noise-tag { font-size: 8.5px; letter-spacing: 0.18em; color: var(--dw-text-faint); padding: 1px 5px; background: rgba(232,236,248,0.06); border-radius: 2px; flex-shrink: 0; }
    .dw-vizx-hit .dw-vizx-noise-tag { color: var(--dw-accent-bright); background: rgba(91,123,255,0.18); }
    .dw-vizx-hit-mark { margin-left: auto; font-size: 8.5px; letter-spacing: 0.22em; color: var(--dw-accent-bright); font-weight: 700; flex-shrink: 0; }
    .dw-vizx-noise-foot { margin-top: 10px; font-size: 8.5px; letter-spacing: 0.2em; color: var(--dw-text-faint); }

    .dw-vizx-bars { display: flex; flex-direction: column; gap: 10px; padding-top: 4px; }
    .dw-vizx-bar { display: grid; grid-template-columns: 90px 1fr 28px; gap: 10px; align-items: center; animation: dw-vizx-fade 0.6s ease both; }
    .dw-vizx-bar-k { font-size: 9px; letter-spacing: 0.18em; color: var(--dw-text-faint); }
    .dw-vizx-bar-track { height: 8px; background: rgba(232,236,248,0.06); border-radius: 4px; overflow: hidden; position: relative; }
    .dw-vizx-bar-fill { display: block; height: 100%; background: linear-gradient(90deg, rgba(91,123,255,0.5), var(--dw-accent-bright)); border-radius: 4px; animation: dw-vizx-grow 0.9s ease both; transform-origin: left center; }
    @keyframes dw-vizx-grow { from { transform: scaleX(0); } to { transform: scaleX(1); } }
    .dw-vizx-bar-n { font-size: 11px; font-weight: 700; color: #fff; text-align: right; }

    .dw-vizx-check-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
    .dw-vizx-check-list li { display: grid; grid-template-columns: 20px 1fr auto; gap: 10px; align-items: center; padding: 8px 10px; background: rgba(20,49,167,0.04); border: 1px solid var(--dw-line); border-radius: 5px; opacity: 0.5; transition: opacity 0.3s ease, background 0.3s ease, border-color 0.3s ease; }
    .dw-vizx-check-list li.is-done { opacity: 1; background: rgba(20,49,167,0.12); border-color: rgba(91,123,255,0.36); }
    .dw-vizx-check-mark { color: var(--dw-text-faint); font-size: 13px; font-weight: 700; text-align: center; }
    .dw-vizx-check-list li.is-done .dw-vizx-check-mark { color: #7EE7AC; }
    .dw-vizx-check-txt { font-size: 11.5px; color: rgba(232,236,248,0.92); font-family: ui-sans-serif, system-ui, sans-serif; }
    .dw-vizx-check-v { font-size: 9.5px; letter-spacing: 0.16em; color: var(--dw-accent-bright); font-weight: 700; }

    .dw-vizx-funnel { display: flex; flex-direction: column; gap: 4px; padding-top: 4px; }
    .dw-vizx-funnel-row { display: flex; justify-content: space-between; align-items: baseline; padding: 8px 12px; background: rgba(232,236,248,0.03); border-radius: 4px; opacity: 0.7; animation: dw-vizx-fade 0.5s ease both; }
    .dw-vizx-funnel-row.is-out { opacity: 1; background: rgba(20,49,167,0.18); border: 1px solid rgba(91,123,255,0.36); }
    .dw-vizx-funnel-k { font-size: 9.5px; letter-spacing: 0.2em; color: var(--dw-text-faint); }
    .dw-vizx-funnel-row.is-out .dw-vizx-funnel-k { color: var(--dw-accent-bright); }
    .dw-vizx-funnel-v { font-size: 18px; font-weight: 600; color: #fff; letter-spacing: -0.02em; font-family: ui-sans-serif, system-ui, sans-serif; }

    .dw-vizx-alert { display: flex; flex-direction: column; flex: 1; min-height: 0; background: rgba(20,49,167,0.08); border: 1px solid rgba(91,123,255,0.32); border-radius: 8px; overflow: hidden; animation: dw-vizx-fade 0.6s ease both; }
    .dw-vizx-alert-head { display: flex; align-items: center; gap: 12px; padding: 10px 14px; background: rgba(20,49,167,0.18); border-bottom: 1px solid rgba(91,123,255,0.32); }
    .dw-vizx-alert-id { font-size: 10px; letter-spacing: 0.18em; color: rgba(232,236,248,0.92); }
    .dw-vizx-alert-sev { font-size: 9.5px; letter-spacing: 0.22em; font-weight: 700; color: #FFA94D; padding: 2px 8px; background: rgba(255,169,77,0.12); border-radius: 3px; }
    .dw-vizx-alert-sla { margin-left: auto; font-size: 9.5px; letter-spacing: 0.2em; color: var(--dw-accent-bright); }
    .dw-vizx-alert-body { padding: 12px 14px; display: flex; flex-direction: column; gap: 6px; flex: 1; min-height: 0; overflow: hidden; }
    .dw-vizx-alert-row { display: grid; grid-template-columns: 100px 1fr; gap: 12px; align-items: start; padding: 6px 0; border-bottom: 1px dashed rgba(232,236,248,0.08); }
    .dw-vizx-alert-row:last-child { border-bottom: none; }
    .dw-vizx-alert-k { font-size: 9px; letter-spacing: 0.2em; color: var(--dw-text-faint); padding-top: 2px; }
    .dw-vizx-alert-v { font-size: 11.5px; line-height: 1.55; color: rgba(232,236,248,0.92); font-family: ui-sans-serif, system-ui, sans-serif; }
    .dw-vizx-alert-action { background: rgba(20,49,167,0.16); border-radius: 5px; padding: 8px 10px; border: 1px solid rgba(91,123,255,0.32); }
    .dw-vizx-alert-action .dw-vizx-alert-k { color: var(--dw-accent-bright); }

    @keyframes dw-vizx-fade { from { opacity: 0; transform: translateY(3px); } to { opacity: 1; transform: none; } }
    .dw-vizx-list li:nth-child(1), .dw-vizx-source-list li:nth-child(1), .dw-vizx-noise-row:nth-child(1) { animation-delay: 0.05s; }
    .dw-vizx-list li:nth-child(2), .dw-vizx-source-list li:nth-child(2), .dw-vizx-noise-row:nth-child(2) { animation-delay: 0.10s; }
    .dw-vizx-list li:nth-child(3), .dw-vizx-source-list li:nth-child(3), .dw-vizx-noise-row:nth-child(3) { animation-delay: 0.15s; }
    .dw-vizx-list li:nth-child(4), .dw-vizx-source-list li:nth-child(4), .dw-vizx-noise-row:nth-child(4) { animation-delay: 0.20s; }
    .dw-vizx-list li:nth-child(5), .dw-vizx-source-list li:nth-child(5), .dw-vizx-noise-row:nth-child(5) { animation-delay: 0.25s; }
    .dw-vizx-list li:nth-child(6), .dw-vizx-source-list li:nth-child(6), .dw-vizx-noise-row:nth-child(6) { animation-delay: 0.30s; }
    .dw-vizx-list li:nth-child(7), .dw-vizx-noise-row:nth-child(7) { animation-delay: 0.35s; }
    .dw-vizx-noise-row:nth-child(8) { animation-delay: 0.40s; }
    .dw-vizx-noise-row:nth-child(9) { animation-delay: 0.45s; }
    .dw-vizx-noise-row:nth-child(10) { animation-delay: 0.50s; }

    @media (max-width: 1100px) {
      .dw-vizx-grid { grid-template-columns: 1fr; gap: 14px; }
      .dw-vizx-divider { flex-direction: row; padding: 0; }
      .dw-vizx-divider-line { width: auto; height: 1px; background: linear-gradient(90deg, transparent, rgba(91,123,255,0.36), transparent); min-height: 0; flex: 1; }
      .dw-vizx-col { padding: 0; }
    }

    @media (max-width: 1000px) {
      .dw-story-grid { grid-template-columns: 1fr; }
      .dw-story-rail { grid-template-rows: none; height: auto; grid-auto-flow: row; }
      .dw-story-stage { height: auto; min-height: 600px; }
    }

    .dw-scopecta {
      background: var(--dw-bg-1);
      padding: 60px 0 80px;
      color: var(--dw-text);
    }
    .dw-scopecta-card {
      position: relative;
      overflow: hidden;
      background:
        radial-gradient(ellipse at top right, rgba(20,49,167,0.18), transparent 60%),
        linear-gradient(180deg, rgba(10,11,31,0.95), rgba(7,7,99,0.55));
      border: 1px solid rgba(91,123,255,0.22);
      border-radius: 14px;
      padding: 56px 56px 56px 64px;
      display: grid;
      grid-template-columns: 1fr auto;
      align-items: center;
      gap: 40px;
      box-shadow: 0 20px 60px -30px rgba(20,49,167,0.55);
    }
    .dw-scopecta-card::before {
      content: '';
      position: absolute;
      top: 0; left: 0; right: 0;
      height: 1px;
      background: linear-gradient(90deg, transparent, rgba(91,123,255,0.65), transparent);
    }
    .dw-scopecta-mark {
      position: absolute;
      right: -50px;
      top: 50%;
      transform: translateY(-50%);
      width: 320px;
      height: 320px;
      opacity: 0.95;
      pointer-events: none;
      z-index: 0;
    }
    .dw-scopecta-mark-glow {
      position: absolute;
      inset: -130px;
      background: radial-gradient(circle at 50% 50%, rgba(91,123,255,0.20) 0%, rgba(20,49,167,0.12) 30%, rgba(7,7,99,0.06) 58%, transparent 78%);
      filter: blur(80px);
      animation: dw-scopecta-breath 7s ease-in-out infinite;
    }
    @keyframes dw-scopecta-breath {
      0%, 100% { opacity: 0.7; transform: scale(1); }
      50%      { opacity: 0.9; transform: scale(1.06); }
    }
    .dw-scopecta-mark-svg {
      position: relative;
      width: 100%;
      height: 100%;
      opacity: 0.85;
      filter: drop-shadow(0 0 24px rgba(20,49,167,0.45)) blur(1.2px);
    }
    .dw-scopecta-text { position: relative; z-index: 1; max-width: 640px; }
    .dw-scopecta-title {
      font-size: clamp(30px, 3.4vw, 42px);
      font-weight: 600;
      letter-spacing: -0.022em;
      line-height: 1.1;
      margin: 0 0 14px;
      color: #fff;
      text-wrap: balance;
    }
    .dw-scopecta-accent {
      background: linear-gradient(92deg, #C5D6FF 10%, #ffffff 55%, #C5D6FF 95%);
      -webkit-background-clip: text;
      background-clip: text;
      color: transparent;
    }
    .dw-scopecta-sub {
      font-size: 16px;
      line-height: 1.55;
      color: var(--dw-text-dim);
      margin: 0;
      max-width: 580px;
      text-wrap: pretty;
    }
    .dw-scopecta-actions { position: relative; z-index: 1; flex-shrink: 0; }
    .dw-scopecta-btn { white-space: nowrap; }

    @media (max-width: 900px) {
      .dw-scopecta-card {
        grid-template-columns: 1fr;
        padding: 40px 28px;
        gap: 28px;
      }
      .dw-scopecta-mark { width: 220px; height: 220px; opacity: 0.5; right: -40px; top: auto; bottom: -40px; transform: none; }
    }

    .dw-apart {
      background: var(--dw-bg-1);
      padding: 100px 0;
      color: var(--dw-text);
    }
    .dw-apart-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 18px;
    }
    .dw-apart-card {
      padding: 32px 28px;
      background: var(--dw-bg-2);
      border: 1px solid var(--dw-line);
      border-radius: 12px;
      position: relative;
      overflow: hidden;
    }
    .dw-apart-card::before {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      height: 2px;
      background: linear-gradient(90deg, var(--dw-accent), var(--dw-accent-bright), var(--dw-accent));
      opacity: 0.6;
    }
    .dw-apart-n {
      font-size: 32px;
      font-weight: 600;
      color: var(--dw-accent-bright);
      margin-bottom: 12px;
      letter-spacing: -0.02em;
    }
    .dw-apart-title {
      font-size: 19px;
      font-weight: 600;
      color: #fff;
      margin: 0 0 10px;
      letter-spacing: -0.014em;
    }
    .dw-apart-body {
      font-size: 14.5px;
      line-height: 1.6;
      color: var(--dw-text-dim);
      margin: 0;
    }
    @media (max-width: 1000px) {
      .dw-apart-grid {
        grid-template-columns: 1fr;
      }
    }

    .dw-pf {
      background: var(--dw-bg-1);
      padding: 100px 0;
      color: var(--dw-text);
      border-top: 1px solid var(--dw-line);
      border-bottom: 1px solid var(--dw-line);
      position: relative;
      overflow: hidden;
    }
    .dw-pf::before {
      content: '';
      position: absolute;
      left: -160px; bottom: -120px;
      width: 600px; height: 600px;
      background: radial-gradient(circle, rgba(20,49,167,0.18), transparent 60%);
      filter: blur(60px);
      pointer-events: none;
    }
    .dw-pf-grid {
      display: grid;
      grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
      gap: 56px;
      align-items: center;
      position: relative;
    }
    .dw-pf-text { display: flex; flex-direction: column; gap: 18px; }
    .dw-pf-text .dw-eyebrow { margin-bottom: 4px; }
    .dw-pf-title {
      font-size: clamp(28px, 3vw, 38px);
      font-weight: 600;
      line-height: 1.1;
      letter-spacing: -0.022em;
      color: #fff;
      margin: 0;
      text-wrap: balance;
    }
    .dw-pf-sub {
      font-size: 16px;
      line-height: 1.55;
      color: var(--dw-text-dim);
      margin: 0;
      max-width: 52ch;
      text-wrap: pretty;
    }
    .dw-pf-list {
      list-style: none;
      margin: 6px 0 0;
      padding: 18px 0 0;
      border-top: 1px solid var(--dw-line);
      display: flex;
      flex-direction: column;
      gap: 12px;
    }
    .dw-pf-list li {
      display: flex;
      align-items: flex-start;
      gap: 10px;
      font-size: 14.5px;
      color: rgba(232,236,248,0.85);
      line-height: 1.45;
    }
    .dw-pf-tick {
      flex-shrink: 0;
      margin-top: 3px;
      color: var(--dw-accent-bright);
    }
    .dw-pf-actions {
      display: flex;
      align-items: center;
      gap: 22px;
      margin-top: 14px;
      flex-wrap: wrap;
    }
    .dw-pf-secondary {
      color: var(--dw-accent-bright);
      text-decoration: none;
      font-size: 14.5px;
      font-weight: 500;
      letter-spacing: -0.005em;
      border-bottom: 1px solid transparent;
      transition: border-color 0.2s;
    }
    .dw-pf-secondary:hover { border-bottom-color: rgba(91,123,255,0.6); }

    .dw-pf-video-wrap { display: flex; }
    .dw-pf-video {
      position: relative;
      flex: 1;
      aspect-ratio: 16 / 9;
      background: linear-gradient(135deg, #050717 0%, #0A1233 50%, #050717 100%);
      border-radius: 10px;
      overflow: hidden;
      color: #fff;
      isolation: isolate;
      border: 1px solid rgba(91,123,255,0.28);
      box-shadow:
        0 30px 70px -34px rgba(20,49,167,0.55),
        0 1px 0 rgba(255,255,255,0.05) inset;
    }
    .dw-pf-video::before {
      content: "";
      position: absolute; inset: 0;
      background-image:
        linear-gradient(to right, rgba(255,255,255,0.05) 1px, transparent 1px),
        linear-gradient(to bottom, rgba(255,255,255,0.05) 1px, transparent 1px);
      background-size: 32px 32px;
      mask-image: radial-gradient(ellipse 70% 60% at 50% 50%, #000 30%, transparent 80%);
      -webkit-mask-image: radial-gradient(ellipse 70% 60% at 50% 50%, #000 30%, transparent 80%);
      pointer-events: none;
    }
    .dw-pf-video::after {
      content: "";
      position: absolute;
      left: 50%; top: 50%;
      transform: translate(-50%, -50%);
      width: 240px; height: 240px;
      background: radial-gradient(circle, rgba(91,123,255,0.22) 0%, transparent 70%);
      pointer-events: none;
    }
    .dw-pf-video-top {
      position: absolute;
      top: 14px; left: 16px; right: 16px;
      display: flex; align-items: center; justify-content: space-between;
      z-index: 2;
    }
    .dw-pf-video-label {
      font-size: 10px;
      letter-spacing: 0.22em;
      font-weight: 700;
      color: rgba(255,255,255,0.7);
    }
    .dw-pf-video-dur {
      font-size: 10.5px;
      letter-spacing: 0.12em;
      color: rgba(255,255,255,0.85);
      background: rgba(20,49,167,0.28);
      padding: 3px 7px;
      border-radius: 3px;
      border: 1px solid rgba(91,123,255,0.45);
    }
    .dw-pf-play {
      position: absolute;
      left: 50%; top: 50%;
      transform: translate(-50%, -50%);
      background: transparent;
      border: 0;
      padding: 0;
      color: #fff;
      cursor: pointer;
      z-index: 3;
      transition: transform 0.2s, color 0.2s;
    }
    .dw-pf-play svg { display: block; }
    .dw-pf-play:hover { transform: translate(-50%, -50%) scale(1.06); color: var(--dw-accent-bright); }
    .dw-pf-scrub {
      position: absolute;
      left: 18px; right: 18px; bottom: 16px;
      z-index: 2;
      height: 3px;
      background: rgba(255,255,255,0.14);
      border-radius: 2px;
    }
    .dw-pf-scrub-fill {
      position: absolute;
      left: 0; top: 0; bottom: 0;
      width: 26%;
      background: var(--dw-accent-bright);
      border-radius: 2px;
    }
    .dw-pf-scrub-knob {
      position: absolute;
      left: 26%;
      top: 50%;
      width: 9px; height: 9px;
      margin-left: -4.5px;
      margin-top: -4.5px;
      border-radius: 50%;
      background: #fff;
      box-shadow: 0 0 0 3px rgba(91,123,255,0.5);
    }
    .dw-pf-watermark {
      position: absolute;
      bottom: 28px; right: 16px;
      font-size: 9px;
      letter-spacing: 0.28em;
      color: rgba(255,255,255,0.18);
      z-index: 1;
    }

    @media (max-width: 1000px) {
      .dw-pf-grid { grid-template-columns: 1fr; gap: 40px; }
    }

    .dw-when {
      background: var(--dw-bg-1);
      padding: 110px 0;
      color: var(--dw-text);
      position: relative;
      overflow: hidden;
    }
    .dw-when::before {
      content: "";
      position: absolute; inset: 0;
      background: radial-gradient(ellipse 60% 60% at 80% 50%, rgba(20,49,167,0.16) 0%, transparent 65%);
      pointer-events: none;
    }
    .dw-when-grid {
      position: relative;
      display: grid;
      grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
      column-gap: 64px;
      align-items: start;
    }
    .dw-when-text { display: flex; flex-direction: column; gap: 16px; padding-top: 8px; }
    .dw-when-stack { padding-top: 16px; }
    .dw-when-title-h {
      font-size: clamp(30px, 3.4vw, 46px);
      font-weight: 500;
      letter-spacing: -0.024em;
      line-height: 1.08;
      color: #fff;
      margin: 0;
      text-wrap: balance;
    }
    .dw-when-lead {
      font-size: 17px;
      line-height: 1.5;
      color: #fff;
      margin: 4px 0 0;
      font-weight: 500;
      letter-spacing: -0.005em;
      text-wrap: pretty;
      max-width: 50ch;
    }
    .dw-when-sub {
      font-size: 15px;
      line-height: 1.6;
      color: var(--dw-text-dim);
      margin: 0;
      max-width: 52ch;
      text-wrap: pretty;
    }

    .dw-when-stack {
      display: flex;
      flex-direction: column;
      gap: 22px;
      align-items: center;
    }
    .dw-when-stage {
      position: relative;
      width: 100%;
      max-width: 480px;
      aspect-ratio: 4 / 3;
      perspective: 1400px;
    }
    .dw-when-card {
      position: absolute;
      inset: 0;
      background: linear-gradient(180deg, rgba(15,21,55,0.96) 0%, rgba(8,12,38,0.96) 100%);
      border: 1px solid rgba(91,123,255,0.22);
      border-radius: 12px;
      padding: 32px 30px;
      display: flex;
      flex-direction: column;
      gap: 14px;
      color: var(--dw-text);
      box-shadow: 0 30px 60px -30px rgba(0,0,0,0.7);
      transform-origin: 50% 50%;
      transition:
        transform 0.7s cubic-bezier(.2,.7,.2,1),
        opacity 0.7s cubic-bezier(.2,.7,.2,1),
        filter 0.7s cubic-bezier(.2,.7,.2,1);
      will-change: transform, opacity;
    }
    .dw-when-card.is-active {
      transform: translate3d(0, 0, 0) scale(1);
      opacity: 1;
      z-index: 3;
      filter: blur(0);
      border-color: rgba(91,123,255,0.42);
      box-shadow:
        0 30px 70px -28px rgba(0,0,0,0.8),
        0 0 0 1px rgba(91,123,255,0.12) inset;
    }
    .dw-when-card.is-behind-1 {
      transform: translate3d(34px, 22px, -40px) scale(0.965);
      opacity: 0.55;
      z-index: 2;
      filter: blur(0.4px);
    }
    .dw-when-card.is-behind-2 {
      transform: translate3d(64px, 42px, -80px) scale(0.93);
      opacity: 0.28;
      z-index: 1;
      filter: blur(0.8px);
    }
    .dw-when-card.is-hidden {
      transform: translate3d(80px, 56px, -120px) scale(0.9);
      opacity: 0;
      z-index: 0;
      pointer-events: none;
    }

    .dw-when-card-icon {
      width: 36px; height: 36px;
      border-radius: 7px;
      background: rgba(91,123,255,0.12);
      border: 1px solid rgba(91,123,255,0.28);
      display: inline-flex; align-items: center; justify-content: center;
      color: var(--dw-accent-bright);
    }
    .dw-when-card-title {
      font-size: 19.5px;
      font-weight: 600;
      color: #fff;
      margin: 4px 0 0;
      letter-spacing: -0.014em;
      line-height: 1.25;
      text-wrap: balance;
    }
    .dw-when-card-body {
      font-size: 14.5px;
      line-height: 1.55;
      color: var(--dw-text-dim);
      margin: 0;
      text-wrap: pretty;
    }
    .dw-when-mark {
      color: #fff;
      font-weight: 600;
      background: linear-gradient(180deg, transparent 62%, rgba(91,123,255,0.25) 62%, rgba(91,123,255,0.25) 92%, transparent 92%);
      padding: 0 1px;
    }
    .dw-when-card-action {
      font-size: 13.5px;
      line-height: 1.5;
      color: var(--dw-accent-bright);
      margin: 6px 0 0;
      padding-top: 12px;
      border-top: 1px dashed rgba(91,123,255,0.22);
      text-wrap: pretty;
      font-weight: 500;
    }

    .dw-when-dots {
      display: flex; gap: 8px;
      padding: 6px 0 0;
    }
    .dw-when-dot {
      width: 22px; height: 4px;
      border-radius: 2px;
      background: rgba(232,236,248,0.16);
      border: 0;
      padding: 0;
      cursor: pointer;
      transition: background 0.3s, width 0.3s;
    }
    .dw-when-dot.is-on {
      background: var(--dw-accent-bright);
      width: 30px;
    }

    @media (max-width: 1000px) {
      .dw-when-grid { grid-template-columns: 1fr; row-gap: 48px; }
      .dw-when-stage { max-width: 100%; }
    }

    .dw-sp { background: var(--dw-bg-1); padding: 100px 0; color: var(--dw-text); }
    .dw-eyebrow { font-size: 11px; letter-spacing: 0.22em; font-weight: 700; color: var(--dw-accent-bright); margin: 0 0 22px; text-transform: uppercase; }
    .dw-sp-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }

    .dw-sp-chain {
      list-style: none;
      display: grid;
      grid-template-columns: repeat(var(--dw-sp-n, 6), 1fr);
      align-items: start;
      gap: 0;
      margin: 8px 0 0;
      padding: 22px 0 0;
      position: relative;
      counter-reset: dwsp;
    }

    .dw-sp-chain::before {
      content: "";
      position: absolute;
      top: 27px;
      left: calc(100% / var(--dw-sp-n, 6) / 2);
      right: calc(100% / var(--dw-sp-n, 6) / 2);
      height: 1px;
      background: var(--dw-line);
    }
    .dw-sp-step {
      position: relative;
      display: flex;
      flex-direction: column;
      align-items: center;
      text-align: center;
      padding: 0 10px;
      gap: 12px;
    }
    .dw-sp-dot {
      width: 11px; height: 11px;
      border-radius: 50%;
      background: #1431A7;
      box-shadow: 0 0 0 4px rgba(20,49,167,0.22);
      position: relative;
      z-index: 1;
    }

    .dw-sp-step:last-child .dw-sp-dot {
      background: #fff;
      box-shadow: 0 0 0 4px rgba(255,255,255,0.18);
    }
    .dw-sp-chain .dw-sp-title {
      font-size: 14px;
      font-weight: 600;
      line-height: 1.35;
      color: #fff;
      margin: 0;
      letter-spacing: -0.004em;
      text-wrap: balance;
    }
    .dw-sp-chain .dw-sp-body {
      font-size: 13px;
      line-height: 1.5;
      color: var(--dw-text-dim);
      margin: 0;
    }

    @media (max-width: 900px) {
      .dw-sp-chain { grid-template-columns: 1fr; gap: 18px; padding-top: 8px; }
      .dw-sp-chain::before {
        top: 12px; bottom: 12px; height: auto;
        left: 5px; right: auto; width: 1px;
      }
      .dw-sp-step { flex-direction: row; align-items: center; text-align: left; padding: 0; gap: 14px; }
      .dw-sp-dot { flex: 0 0 auto; }
      .dw-sp-chain .dw-sp-title { font-size: 15px; }
    }
    .dw-sp-card { padding: 32px 28px; background: var(--dw-bg-2); border: 1px solid var(--dw-line); border-radius: 12px; }
    .dw-sp-card:hover { border-color: rgba(20,49,167,0.4); }
    .dw-sp-title { font-size: 19.5px; font-weight: 600; color: #fff; margin: 0 0 14px; letter-spacing: -0.014em; line-height: 1.25; text-wrap: balance; }
    .dw-sp-body { font-size: 14.5px; line-height: 1.6; color: var(--dw-text-dim); margin: 0; text-wrap: pretty; }
    .dw-sp-mark { color: #fff; font-weight: 600; background: linear-gradient(180deg, transparent 62%, rgba(91,123,255,0.22) 62%, rgba(91,123,255,0.22) 92%, transparent 92%); padding: 0 1px; }
    @media (max-width: 1000px) { .dw-sp-grid { grid-template-columns: 1fr; } }

    .dw-test { background: var(--dw-bg-2); padding: 100px 0; color: var(--dw-text); border-top: 1px solid var(--dw-line); border-bottom: 1px solid var(--dw-line); }
    .dw-test-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
    .dw-test-card { padding: 26px 24px 22px; background: var(--dw-bg-1); border: 1px solid var(--dw-line); border-radius: 10px; display: flex; flex-direction: column; }
    .dw-test-stars { color: var(--dw-accent-bright); display: flex; gap: 2px; margin-bottom: 14px; }
    .dw-test-q { margin: 0 0 18px; font-size: 14.5px; color: var(--dw-text-dim); line-height: 1.55; flex: 1; text-wrap: pretty; }
    .dw-test-q::before { content: '"'; color: var(--dw-accent-bright); font-size: 22px; line-height: 0; vertical-align: -8px; margin-right: 2px; }
    .dw-test-q::after  { content: '"'; color: var(--dw-accent-bright); font-size: 22px; line-height: 0; vertical-align: -8px; margin-left: 2px; }
    .dw-test-meta { display: flex; align-items: center; gap: 12px; padding-top: 14px; border-top: 1px solid var(--dw-line); }

    .dw-test-logo { filter: grayscale(1) brightness(1.5); opacity: 0.7; }
    .dw-test-author { font-size: 12.5px; color: var(--dw-text); font-weight: 500; }
    .dw-test-company { font-size: 11.5px; color: var(--dw-text-faint); }
    @media (max-width: 1000px) { .dw-test-grid { grid-template-columns: repeat(2, 1fr); } }
    @media (max-width: 600px)  { .dw-test-grid { grid-template-columns: 1fr; } }

    .dw-faq {
      background: var(--dw-bg-1);
      padding: 100px 0;
      color: var(--dw-text);
    }
    .dw-faq-head-block { margin: 0 0 56px; max-width: 760px; }
    .dw-faq-title {
      font-size: clamp(40px, 5vw, 64px);
      font-weight: 600;
      letter-spacing: -0.024em;
      line-height: 1.05;
      margin: 0 0 16px;
      color: #fff;
      text-wrap: balance;
    }
    .dw-faq-sub {
      font-size: 15px;
      color: var(--dw-text-dim);
      line-height: 1.55;
      margin: 0;
      max-width: 640px;
      text-wrap: pretty;
    }

    .dw-faq-list {
      max-width: 880px;
      margin: 0 auto;
      border-top: 1px solid rgba(232,236,248,0.10);
    }
    .dw-faq-item { border-bottom: 1px solid rgba(232,236,248,0.10); }
    .dw-faq-row {
      width: 100%;
      display: grid;
      grid-template-columns: auto 1fr auto;
      gap: 24px;
      align-items: center;
      padding: 26px 4px;
      background: transparent;
      border: 0;
      cursor: pointer;
      text-align: left;
      color: var(--dw-text);
      transition: color 0.2s;
    }
    .dw-faq-row:hover .dw-faq-q { color: #fff; }
    .dw-faq-row:hover .dw-faq-num { color: #5B7BFF; }
    .dw-faq-num {
      font-size: 10.5px;
      color: rgba(91, 123, 255, 0.89);
      letter-spacing: 0.18em;
      font-weight: 700;
      width: 24px;
      transition: color 0.2s;
    }
    .dw-faq-item.is-open .dw-faq-num { color: var(--dw-accent-bright); }
    .dw-faq-q {
      font-size: 17px;
      font-weight: 500;
      color: rgba(232,236,248,0.85);
      letter-spacing: -0.012em;
      line-height: 1.4;
      transition: color 0.2s;
    }
    .dw-faq-item.is-open .dw-faq-q { color: #fff; }
    .dw-faq-toggle {
      width: 32px; height: 32px;
      border-radius: 50%;
      border: 1px solid rgba(232,236,248,0.18);
      display: inline-flex;
      align-items: center;
      justify-content: center;
      color: var(--dw-text-dim);
      background: transparent;
      transition: all 0.25s ease;
    }
    .dw-faq-vert { transition: transform 0.25s ease; transform-origin: 11px 11px; }
    .dw-faq-item.is-open .dw-faq-vert { transform: rotate(90deg); }
    .dw-faq-item.is-open .dw-faq-toggle {
      background: var(--dw-accent);
      border-color: var(--dw-accent);
      color: #fff;
    }
    .dw-faq-body {
      padding: 0 4px 0 calc(24px + 24px);
      max-height: 0;
      overflow: hidden;
      opacity: 0;
      transition: max-height 0.4s ease, opacity 0.3s ease, padding 0.3s ease;
    }
    .dw-faq-item.is-open .dw-faq-body {
      max-height: 1400px;
      opacity: 1;
      padding-bottom: 26px;
    }
    .dw-faq-body p {
      font-size: 15px;
      color: var(--dw-text-dim);
      line-height: 1.6;
      margin: 0 0 14px;
      text-wrap: pretty;
    }
    .dw-faq-body p:last-child { margin-bottom: 0; }

    @media (max-width: 600px) {
      .dw-faq-row { gap: 14px; }
      .dw-faq-num { width: auto; }
      .dw-faq-body { padding-left: 0; }
    }

    .dw-other {
      background: var(--dw-bg-2);
      padding: 100px 0;
      color: var(--dw-text);
      border-top: 1px solid var(--dw-line);
      border-bottom: 1px solid var(--dw-line);
    }
    .dw-other-head { text-align: center; margin-bottom: 36px; }
    .dw-other-title {
      font-size: clamp(28px, 3vw, 40px);
      font-weight: 600;
      letter-spacing: -0.022em;
      line-height: 1.1;
      margin: 0;
      text-wrap: balance;
      background: linear-gradient(92deg, #FFFFFF 0%, #C5D6FF 60%, #7E97FF 100%);
      -webkit-background-clip: text;
      background-clip: text;
      color: transparent;
      position: relative;
      display: inline-block;
      text-shadow: 0 0 40px rgba(91,123,255,0.18);
    }
    .dw-other-title::after {
      content: '';
      position: absolute;
      inset: -10px -30px;
      background: radial-gradient(ellipse at center, rgba(91,123,255,0.20) 0%, transparent 65%);
      filter: blur(28px);
      z-index: -1;
      pointer-events: none;
    }
    .dw-other-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 10px;
      max-width: 1100px;
      margin: 0 auto;
    }
    .dw-other-card {
      background: var(--dw-bg-1);
      border: 1px solid var(--dw-line);
      border-radius: 6px;
      padding: 14px 14px 16px;
      display: flex;
      flex-direction: column;
      gap: 10px;
      color: rgba(232,236,248,0.92);
      text-decoration: none;
      transition: border-color 0.2s, background 0.2s, transform 0.2s, box-shadow 0.2s;
    }
    .dw-other-card:hover {
      border-color: rgba(91,123,255,0.4);
      background: rgba(20,49,167,0.06);
      transform: translateY(-2px);
      box-shadow: 0 12px 28px -18px rgba(20,49,167,0.5);
    }
    .dw-other-chip {
      width: 26px; height: 26px;
      display: inline-flex; align-items: center; justify-content: center;
      background: rgba(20,49,167,0.18);
      border-radius: 4px;
      color: #7E97FF;
    }
    .dw-other-chip svg { width: 15px; height: 15px; stroke-width: 1.6; }
    .dw-other-name {
      font-size: 12.5px;
      font-weight: 500;
      letter-spacing: -0.003em;
      line-height: 1.3;
      text-wrap: pretty;
    }
    @media (max-width: 1000px) { .dw-other-grid { grid-template-columns: repeat(3, 1fr); } }
    @media (max-width: 640px)  { .dw-other-grid { grid-template-columns: repeat(2, 1fr); } }

    .dw-closing { position: relative; background: var(--dw-bg-1); color: var(--dw-text); padding: 120px 0 100px; overflow: hidden; }
    .dw-cl-bg { position: absolute; inset: 0; pointer-events: none; }
    .dw-cl-glow { position: absolute; width: 1100px; height: 1100px; left: 60%; top: -200px; border-radius: 50%; background: radial-gradient(circle, rgba(20,49,167,0.42) 0%, rgba(7,7,99,0.20) 30%, transparent 70%); filter: blur(60px); animation: dw-breath 9s ease-in-out infinite; }
    .dw-cl-grid { position: absolute; inset: 0; background-image: linear-gradient(rgba(20,49,167,0.04) 1px, transparent 1px), linear-gradient(90deg, rgba(20,49,167,0.04) 1px, transparent 1px); background-size: 64px 64px; mask-image: radial-gradient(ellipse 80% 60% at 60% 40%, black 30%, transparent 90%); }
    .dw-cl-inner { position: relative; z-index: 1; }
    .dw-cl-head { margin: 0 0 60px; }
    .dw-cl-title { font-size: clamp(36px, 4.6vw, 64px); font-weight: 400; letter-spacing: -0.025em; line-height: 1.02; margin: 0 0 22px; text-wrap: balance; color: #fff; }
    .dw-cl-accent { background: linear-gradient(92deg, var(--dw-accent-bright) 8%, #ffffff 50%, var(--dw-accent-bright) 92%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
    .dw-cl-body { font-size: 17px; color: var(--dw-text-dim); line-height: 1.55; max-width: 720px; margin: 0; text-wrap: pretty; }
    .dw-cl-cols { display: grid; grid-template-columns: 1fr 0.85fr; gap: 48px; }
    .dw-cl-form-wrap { background: linear-gradient(180deg, rgba(10,11,31,0.92), rgba(5,7,18,0.92)); border: 1px solid rgba(20,49,167,0.22); border-radius: 12px; padding: 32px 30px 28px; position: relative; backdrop-filter: blur(8px); }
    .dw-cl-form-wrap::before { content: ''; position: absolute; top: -1px; left: -1px; right: -1px; height: 2px; background: linear-gradient(90deg, transparent, var(--dw-accent) 30%, var(--dw-accent-bright) 50%, var(--dw-accent) 70%, transparent); border-radius: 12px 12px 0 0; opacity: 0.6; }
    .dw-cl-form-title { font-size: 20px; font-weight: 500; margin-bottom: 6px; color: #fff; letter-spacing: -0.015em; }
    .dw-cl-form-hint { font-size: 13px; color: var(--dw-text-faint); margin-bottom: 22px; line-height: 1.5; }
    .dw-cl-form { display: flex; flex-direction: column; gap: 14px; }
    .dw-cl-form label { display: flex; flex-direction: column; gap: 6px; }
    .dw-cl-form .mono { font-size: 9.5px; letter-spacing: 0.2em; font-weight: 700; color: var(--dw-text-faint); text-transform: uppercase; }
    .dw-cl-form input, .dw-cl-form select { font-family: inherit; font-size: 14.5px; padding: 11px 13px; background: rgba(0,0,0,0.45); color: var(--dw-text); border: 1px solid rgba(20,49,167,0.18); border-radius: 5px; outline: none; transition: border-color 0.2s, background 0.2s; }
    .dw-cl-form input:focus, .dw-cl-form select:focus { border-color: var(--dw-accent); background: rgba(0,0,0,0.6); }
    .dw-cl-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
    .dw-cl-submit { margin-top: 6px; padding: 14px 18px; background: var(--dw-accent) !important; color: #fff; border: 1px solid var(--dw-accent); border-radius: 6px; font-size: 14px; font-weight: 500; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; gap: 10px; transition: all 0.2s ease; }
    .dw-cl-submit:hover { background: var(--dw-accent-bright) !important; color: var(--dw-accent-deep); border-color: var(--dw-accent-bright); }
    .dw-cl-success { padding: 20px; text-align: center; color: var(--dw-text); }
    .dw-cl-success-mark { color: var(--dw-accent-bright); margin: 0 auto 14px; width: 44px; }
    .dw-cl-quotes-wrap { padding-top: 12px; }
    .dw-cl-quotes-label { font-size: 10.5px; letter-spacing: 0.22em; font-weight: 700; color: var(--dw-accent-bright); margin-bottom: 22px; text-transform: uppercase; }
    .dw-cl-quotes { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 16px; }
    .dw-cl-quote { padding: 18px 20px; background: rgba(10,11,31,0.6); border: 1px solid var(--dw-line); border-radius: 10px; }
    .dw-cl-quote-text { font-size: 14.5px; line-height: 1.55; color: var(--dw-text); margin: 0 0 10px; }
    .dw-cl-quote-attr { display: flex; justify-content: space-between; align-items: center; font-size: 11.5px; }
    .dw-cl-quote-role { color: var(--dw-accent-bright); font-weight: 600; letter-spacing: 0.04em; }
    .dw-cl-quote-meta { color: var(--dw-text-faint); letter-spacing: 0.18em; text-transform: uppercase; }
    @media (max-width: 1000px) { .dw-cl-cols { grid-template-columns: 1fr; } }

    .gd-closing-card {
  position: relative;
  background: var(--gd-navy);
  border-radius: 18px;
  padding: 56px;
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 56px; align-items: stretch;
  overflow: hidden;
  color: #fff;
}
.gd-closing-card::before {
  content: ""; position: absolute;
  right: -10%; top: -40%;
  width: 540px; height: 540px;
  border: 1px solid rgba(197,214,255,0.10);
  border-radius: 50%; pointer-events: none;
}
.gd-closing-card::after {
  content: ""; position: absolute;
  right: -5%; top: -20%;
  width: 360px; height: 360px;
  border: 1px solid rgba(197,214,255,0.08);
  border-radius: 50%; pointer-events: none;
}
.gd-closing-quote {
  position: relative; z-index: 1;
  display: flex; flex-direction: column;
  padding-right: 8px;
  border-right: 1px solid rgba(197,214,255,0.14);
}
.gd-closing-mark { color: #C5D6FF; margin-bottom: 18px; opacity: 0.9; }
.gd-closing-quote-stage { position: relative; flex: 1; min-height: 220px; }
.gd-closing-q {
  position: absolute; inset: 0;
  margin: 0;
  opacity: 0; transform: translateY(8px);
  transition: opacity 0.5s ease, transform 0.5s ease;
  pointer-events: none;
  display: flex; flex-direction: column; justify-content: space-between;
}
.gd-closing-q.is-active {
  opacity: 1; transform: translateY(0);
  pointer-events: auto;
}
.gd-closing-text {
  font-size: 18px; line-height: 1.55;
  color: #fff; margin: 0;
  font-weight: 400; letter-spacing: -0.005em;
  text-wrap: pretty;
}
.gd-closing-by {
  display: flex; align-items: center; gap: 12px;
  margin-top: 22px;
}
.gd-closing-avatar {
  width: 40px; height: 40px; border-radius: 10px;
  background: #1431A7;
  display: inline-flex; align-items: center; justify-content: center;
  font-family: ui-monospace, Menlo, monospace; font-size: 13px; font-weight: 700;
  color: #fff;
}
.gd-closing-name { font-size: 14px; font-weight: 600; color: #fff; }
.gd-closing-role { font-size: 12.5px; color: rgba(255,255,255,0.65); }
.gd-closing-dots {
  display: flex; gap: 6px; margin-top: 18px;
  padding-right: 24px;
}
.gd-closing-dot {
  width: 22px; height: 3px; border-radius: 2px;
  background: rgba(197,214,255,0.20);
  border: none; padding: 0; cursor: pointer;
  transition: background 0.25s, width 0.25s;
}
.gd-closing-dot.is-active { background: #C5D6FF; width: 32px; }
.gd-closing-dot:hover { background: rgba(197,214,255,0.45); }
.gd-closing-cta {
  position: relative; z-index: 1;
  display: flex; flex-direction: column; justify-content: center;
}

  .wh4-hero {
    position: relative;
    padding-top: 96px;
    padding-bottom: 80px;
    overflow: hidden;
  }
  .wh4-bg { position: absolute; inset: 0; pointer-events: none; }
  .wh4-grid {
    position: absolute; inset: 0;
    background-image: linear-gradient(rgba(197,214,255,0.045) 1px, transparent 1px),
                      linear-gradient(90deg, rgba(197,214,255,0.045) 1px, transparent 1px);
    background-size: 60px 60px;
    mask-image: radial-gradient(ellipse at 50% 35%, black 0%, transparent 75%);
    -webkit-mask-image: radial-gradient(ellipse at 50% 35%, black 0%, transparent 75%);
  }
  .wh4-blob { position: absolute; border-radius: 50%; filter: blur(90px); }
  .wh4-blob-a {
    width: 520px; height: 520px;
    background: radial-gradient(circle, rgba(20,49,167,0.55), transparent 70%);
    top: -120px; right: -120px;
  }
  .wh4-blob-b {
    width: 420px; height: 420px;
    background: radial-gradient(circle, rgba(197,214,255,0.12), transparent 70%);
    bottom: -160px; left: 10%;
  }
  .wh4-inner {
    position: relative;
    display: grid;
    grid-template-columns: 0.95fr 1.05fr;
    gap: 48px;
    align-items: stretch;
  }
  .wh4-left {
    min-width: 0; max-width: 580px;
    display: flex; flex-direction: column;
  }
  .wh4-eyebrow {
    font-size: 11px;
    letter-spacing: 0.22em;
    font-weight: 700;
    color: rgba(197,214,255,0.75);
    margin-bottom: 18px;
  }
  .wh4-title {
    font-size: clamp(40px, 4.4vw, 60px);
    font-weight: 600;
    line-height: 1.04;
    letter-spacing: -0.032em;
    margin: 0 0 20px;
    text-wrap: balance;
    color: #fff;
  }
  .wh4-accent {
    background: linear-gradient(92deg, #fff 10%, #C5D6FF 55%, #fff 95%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    font-weight: 600;
  }
  .wh4-sub {
    font-size: 16px;
    line-height: 1.55;
    color: rgba(255,255,255,0.78);
    max-width: 540px;
    margin: 0 0 16px;
    text-wrap: pretty;
  }
  .wh4-secondary {
    align-self: flex-start;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    font-weight: 600;
    color: #C5D6FF;
    text-decoration: none;
    padding: 6px 0;
    border-bottom: 1px solid rgba(197,214,255,0.35);
    transition: color 0.2s, border-color 0.2s, gap 0.2s;
  }
  .wh4-secondary:hover { color: #fff; border-color: #fff; gap: 12px; }
  .wh4-secondary svg { transition: transform 0.2s; }
  .wh4-secondary:hover svg { transform: translateX(2px); }

  .wh4-proof-strip {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    margin-top: auto;
    padding-top: 28px;
    border-top: 1px solid rgba(197,214,255,0.16);
  }
  .wh4-pf-big {
    font-size: 28px;
    font-weight: 600;
    color: #fff;
    letter-spacing: -0.02em;
    line-height: 1;
    margin-bottom: 8px;
  }
  .wh4-pf-label {
    font-size: 11.5px;
    line-height: 1.4;
    color: rgba(197,214,255,0.7);
    letter-spacing: 0.01em;
    max-width: 180px;
    text-wrap: pretty;
  }

  .wh4-right {
    min-width: 0;
    display: flex; flex-direction: column;
    gap: 14px;
  }

  @media (max-width: 1100px) {
    .wh4-inner { grid-template-columns: 1fr; gap: 36px; }
    .wh4-left { max-width: none; }
  }

.ap-mock {
  flex: 1 1 auto;
  background: #0B1230;
  border-radius: 12px;
  box-shadow: 0 30px 80px -20px rgba(0,0,30,0.6),
              0 0 0 1px rgba(197,214,255,0.18);
  overflow: hidden;
  display: flex; flex-direction: column;
  min-height: 0;
  color: rgba(255,255,255,0.92);
}

.ap-chrome {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 14px;
  padding: 9px 14px;
  background: #060A22;
  border-bottom: 1px solid rgba(197,214,255,0.10);
  flex: 0 0 auto;
}
.ap-dots { display: flex; gap: 6px; }
.ap-dots span { width: 10px; height: 10px; border-radius: 50%; }
.ap-dots span:nth-child(1) { background: #ff5f57; }
.ap-dots span:nth-child(2) { background: #febc2e; }
.ap-dots span:nth-child(3) { background: #28c840; }
.ap-title {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: 11px; font-weight: 600;
  color: rgba(197,214,255,0.85);
  letter-spacing: 0.02em;
  justify-self: center;
}
.ap-tabs {
  display: flex; gap: 14px;
  font-size: 10.5px;
  color: rgba(197, 214, 255, 0.64);
  letter-spacing: 0.04em;
}
.ap-tabs .is-active { color: #C5D6FF; }

.ap-head {
  padding: 14px 18px 8px;
  flex: 0 0 auto;
}
.ap-head-title {
  font-size: 14px; font-weight: 600; color: #fff;
  letter-spacing: -0.01em;
  margin-bottom: 4px;
  text-wrap: balance;
}
.ap-head-sub {
  font-size: 10.5px; color: rgba(197, 214, 255, 0.64);
  letter-spacing: 0.02em;
}

.ap-canvas {
  position: relative;
  padding: 8px 18px 14px;
  flex: 1 1 auto;
  min-height: 0;
  display: flex; flex-direction: column; justify-content: center;
}
.ap-edges {
  position: absolute;
  inset: 8px 18px;
  width: calc(100% - 36px);
  height: calc(100% - 22px);
  pointer-events: none;
}
@keyframes ap-edge-draw {
  from { stroke-dasharray: 0 220; }
  to   { stroke-dasharray: 220 0; }
}
.ap-edge-draw {
  stroke-dasharray: 220 0;
  animation: ap-edge-draw 0.6s cubic-bezier(.2,.8,.2,1) both;
  filter: drop-shadow(0 0 6px rgba(239,68,68,0.45));
}

.ap-nodes {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 6px;
  padding: 14px 0 6px;
}
.ap-node {
  position: relative;
  display: flex; flex-direction: column; align-items: center;
  text-align: center;
  padding: 10px 6px;
  border-radius: 8px;
  background: rgba(197,214,255,0.04);
  border: 1px solid rgba(197,214,255,0.10);
  transition: border-color 0.4s, background 0.4s, transform 0.4s;
}
.ap-node.is-reached {
  background: rgba(197,214,255,0.08);
  border-color: rgba(197,214,255,0.28);
}
.ap-node.is-final.is-reached {
  background: rgba(239,68,68,0.10);
  border-color: rgba(239,68,68,0.55);
  box-shadow: 0 0 0 1px rgba(239,68,68,0.20),
              0 8px 24px -8px rgba(239,68,68,0.5);
}
.ap-node-icon {
  width: 36px; height: 36px;
  border-radius: 8px;
  display: inline-flex; align-items: center; justify-content: center;
  background: rgba(197,214,255,0.10);
  color: #C5D6FF;
  margin-bottom: 8px;
  transition: background 0.4s, color 0.4s;
}
.ap-node-icon svg { width: 20px; height: 20px; }
.ap-node.is-final.is-reached .ap-node-icon {
  background: rgba(239,68,68,0.18);
  color: #FCA5A5;
}
.ap-node-kind {
  font-size: 8.5px;
  letter-spacing: 0.12em;
  font-weight: 700;
  color: rgba(197, 214, 255, 0.64);
  margin-bottom: 4px;
}
.ap-node.is-final .ap-node-kind { color: #FCA5A5; }
.ap-node-label {
  font-size: 12.5px; font-weight: 600; color: #fff;
  letter-spacing: -0.01em;
  margin-bottom: 2px;
  white-space: nowrap;
}
.ap-node-sub {
  font-size: 9.5px; color: rgba(197, 214, 255, 0.64);
  line-height: 1.35;
  max-width: 130px;
  text-wrap: pretty;
}

.ap-corner-tag {
  position: absolute;
  top: -8px; left: 50%; transform: translateX(-50%);
  font-size: 8.5px;
  letter-spacing: 0.12em;
  font-weight: 800;
  padding: 3px 7px;
  border-radius: 3px;
  background: rgba(197,214,255,0.18);
  color: #C5D6FF;
  white-space: nowrap;
}
.ap-corner-tag-goal {
  background: rgba(239,68,68,0.22);
  color: #FCA5A5;
}

.ap-techs {
  display: grid;
  grid-template-columns: repeat(3, 1fr);

  padding: 8px calc(100%/8) 0;
  gap: 6px;
}
.ap-tech {
  display: flex; flex-direction: column; align-items: center;
  gap: 3px;
  opacity: 0.55;
  transition: opacity 0.3s;
}
.ap-tech.is-hot { opacity: 1; }
.ap-tech-tag {
  font-size: 9.5px; font-weight: 700;
  letter-spacing: 0.06em;
  padding: 3px 8px;
  border-radius: 3px;
  background: rgba(197,214,255,0.10);
  color: rgba(197,214,255,0.78);
  border: 1px solid rgba(197,214,255,0.16);
  white-space: nowrap;
  transition: background 0.3s, color 0.3s, border-color 0.3s, box-shadow 0.3s;
}
.ap-tech.is-hot .ap-tech-tag {
  background: color-mix(in oklab, var(--ap-hot) 18%, transparent);
  border-color: color-mix(in oklab, var(--ap-hot) 65%, transparent);
  color: #fff;
  box-shadow: 0 0 0 3px color-mix(in oklab, var(--ap-hot) 18%, transparent);
}
.ap-tech-detail {
  font-size: 9.5px;
  color: rgba(197,214,255,0.65);
  letter-spacing: 0.01em;
  white-space: nowrap;
  animation: ap-fade-in 0.35s cubic-bezier(.2,.8,.2,1);
}
@keyframes ap-fade-in {
  from { opacity: 0; transform: translateY(-2px); }
  to   { opacity: 1; transform: translateY(0); }
}

.ap-console {
  background: #060A22;
  border-top: 1px solid rgba(197,214,255,0.10);
  padding: 12px 18px;
  flex: 0 0 auto;
}
.ap-console-head {
  display: flex; align-items: center; gap: 8px;
  font-size: 10.5px;
  color: rgba(197, 214, 255, 0.64);
  letter-spacing: 0.02em;
  margin-bottom: 8px;
}
.ap-prompt { color: #4ade80; font-weight: 700; }
.ap-sep { color: rgba(197, 214, 255, 0.64); }
.ap-spacer { flex: 1; }
.ap-found { color: rgba(197,214,255,0.85); }
.ap-found b {
  color: #FCA5A5;
  font-weight: 800;
  margin-right: 2px;
}

.ap-console-rows {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4px 18px;
}
.ap-console-row {
  display: flex; align-items: center; gap: 8px;
  font-size: 10.5px;
  color: rgba(197, 214, 255, 0.64);
  line-height: 1.4;
  transition: color 0.4s;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.ap-console-row.is-lit {
  color: rgba(197,214,255,0.85);
}
.ap-console-arrow {
  color: rgba(197, 214, 255, 0.64);
  flex: 0 0 auto;
}
.ap-console-row.is-lit .ap-console-arrow {
  color: #4ade80;
}
.ap-console-line {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}

@media (max-width: 720px) {
  .ap-tabs { display: none; }
  .ap-chrome { grid-template-columns: auto 1fr; }
  .ap-nodes {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 4px;
  }
  .ap-node { padding: 8px 4px; }
  .ap-node-sub { display: none; }
  .ap-techs { padding: 8px 0 0; }
  .ap-tech-detail { display: none; }
  .ap-console-rows { grid-template-columns: 1fr; }
}

  .ic-section {
    padding: 120px 0 110px;
    background: var(--neutral-mist);
  }
  .ic-head {
    max-width: 760px;
    margin: 0 auto 60px;
    text-align: center;
  }
  .ic-eyebrow {
    font-size: 11px;
    letter-spacing: 0.22em;
    font-weight: 700;
    color: var(--cyber-blue);
    margin-bottom: 18px;
  }
  .ic-title {
    font-size: clamp(30px, 3.4vw, 44px);
    font-weight: 600;
    line-height: 1.1;
    letter-spacing: -0.025em;
    color: var(--deep-carbon);
    margin: 0 0 16px;
    text-wrap: balance;
  }
  .ic-sub {
    font-size: 17px;
    line-height: 1.55;
    color: rgba(30, 30, 30, 0.68);
    max-width: 620px;
    margin: 0 auto;
    text-wrap: pretty;
  }

  .ic-table {
    width: 100%;
    margin: 0 auto;

  }
  .ic-row {
    display: grid;
    grid-template-columns: 220px 1.1fr 1fr;
    align-items: stretch;
  }
  .ic-cell {
    padding: 22px 28px;
    font-size: 15px;
    line-height: 1.55;
    color: var(--deep-carbon);
    display: flex;
    align-items: center;
  }

  .ic-cell-aspect {
    font-size: 10.5px;
    letter-spacing: 0.2em;
    font-weight: 700;
    text-transform: uppercase;
    color: rgba(30, 30, 30, 0.68);
    padding-right: 16px;
  }

  .ic-cell-int {
    background: var(--white);
    color: var(--deep-carbon);
    border-top: 1px solid rgba(30,30,30,0.06);
  }
  .ic-row:nth-child(2) .ic-cell-int {

    border-top: none;
  }
  .ic-row:last-child .ic-cell-int {
    border-bottom-left-radius: 14px;
    border-bottom-right-radius: 14px;
  }

  .ic-cell-ext {
    background: transparent;
    color: rgba(30, 30, 30, 0.68);
    border-top: 1px solid rgba(30,30,30,0.07);
  }
  .ic-row:nth-child(2) .ic-cell-ext {
    border-top: none;
  }

  .ic-row-head .ic-cell {
    padding-top: 28px;
    padding-bottom: 26px;
    align-items: flex-start;
    flex-direction: column;
    justify-content: flex-end;
    gap: 10px;
  }
  .ic-cell-int-head {
    background: var(--white);
    border-top-left-radius: 14px;
    border-top-right-radius: 14px;
    box-shadow:
      0 -1px 0 rgba(7,7,99,0.04);
    border-top: none !important;
  }
  .ic-cell-ext-head {
    padding-bottom: 30px;
  }

  .ic-cell-int,
  .ic-cell-int-head {
    box-shadow:
      -1px 0 0 rgba(30,30,30,0.05),
      1px 0 0 rgba(30,30,30,0.05);
  }
  .ic-cell-int-head {
    box-shadow:
      -1px 0 0 rgba(30,30,30,0.05),
      1px 0 0 rgba(30,30,30,0.05),
      0 -2px 0 rgba(30,30,30,0.04);
  }
  .ic-row:last-child .ic-cell-int {
    box-shadow:
      -1px 0 0 rgba(30,30,30,0.05),
      1px 0 0 rgba(30,30,30,0.05),
      0 14px 32px -18px rgba(7,7,99,0.18),
      0 1px 0 rgba(30,30,30,0.05);
  }

  .ic-col-title {
    font-size: 21px;
    font-weight: 600;
    letter-spacing: -0.015em;
    color: var(--deep-carbon);
    margin: 0;
    line-height: 1.2;
  }
  .ic-col-title-muted {
    color: rgba(30, 30, 30, 0.68);
    font-weight: 500;
    font-size: 18px;
  }

  .ic-pin {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 10px;
    letter-spacing: 0.22em;
    font-weight: 700;
    color: var(--cyber-blue);
  }
  .ic-pin-dot {
    width: 6px; height: 6px;
    border-radius: 50%;
    background: var(--cyber-blue);
    box-shadow: 0 0 0 4px rgba(20,49,167,0.14);
  }

  .ic-text {
    text-wrap: pretty;
  }

  .ic-foot {
    margin: 56px auto 0;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 18px;
    text-align: center;
  }
  .ic-foot-actions {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
    justify-content: center;
  }
  .ic-foot-link {
    font-size: 14px;
    font-weight: 500;
    color: rgba(30,30,30,0.7);
    text-decoration: none;
    padding: 13px 8px;
    border-bottom: 1px solid rgba(30,30,30,0.18);
    transition: color 0.18s, border-color 0.18s;
  }
  .ic-foot-link:hover {
    color: var(--cyber-blue);
    border-color: var(--cyber-blue);
  }
  .ic-foot-title {
    margin: 0;
    font-size: 16px;
    line-height: 1.5;
    color: rgba(30,30,30,0.7);
  }
  .ic-foot-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 13px 22px;
    background: var(--deep-navy);
    color: var(--white);
    border-radius: 10px;
    font-size: 14.5px;
    font-weight: 600;
    letter-spacing: -0.005em;
    text-decoration: none;
    transition: background 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
    box-shadow: 0 4px 14px -6px rgba(7,7,99,0.4);
  }
  .ic-foot-btn:hover {
    background: var(--cyber-blue);
    transform: translateY(-1px);
    box-shadow: 0 6px 18px -6px rgba(20,49,167,0.5);
  }
  .ic-foot-btn svg {
    transition: transform 0.18s ease;
  }
  .ic-foot-btn:hover svg {
    transform: translateX(2px);
  }

  @media (max-width: 860px) {
    .ic-section { padding: 90px 0 80px; }
    .ic-head { margin-bottom: 44px; }
    .ic-row {
      grid-template-columns: 1fr;
    }
    .ic-cell {
      padding: 14px 20px;
    }
    .ic-cell-aspect {
      padding: 18px 20px 4px;
      background: rgba(30,30,30,0.03);
    }

    .ic-cell-int,
    .ic-cell-int-head,
    .ic-row:last-child .ic-cell-int {
      box-shadow: none;
    }
    .ic-cell-int {
      border-left: 3px solid var(--cyber-blue);
      border-right: 1px solid rgba(30,30,30,0.06);
    }
    .ic-cell-int-head {
      border-radius: 10px 10px 0 0;
      border-left: 3px solid var(--cyber-blue);
      border-right: 1px solid rgba(30,30,30,0.06);
      border-top: 1px solid rgba(30,30,30,0.06) !important;
      background: var(--white);
    }
    .ic-row:last-child .ic-cell-int {
      border-bottom: 1px solid rgba(30,30,30,0.06);
      border-radius: 0 0 10px 10px;
    }

    .ic-cell-ext-head {
      margin-top: 24px;
      border-top: 1px solid rgba(30,30,30,0.08);
      padding-top: 24px;
    }
    .ic-foot {
      margin-top: 44px;
    }
  }

.ng-problem {
  padding-top: var(--section-pad);
  padding-bottom: var(--section-pad);
}

.ng-prob-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center;
}

.ng-prob-h2 {
  font-size: clamp(36px, 4vw, 56px);
  font-weight: 600;
  letter-spacing: -0.03em;
  line-height: 1.04;
  margin: 0 0 32px;
  display: flex;
  flex-direction: column;
}

.ng-prob-h2-accent {
  color: var(--cyber-blue);
}

.ng-prob-body {
  font-size: 17px;
  line-height: 1.6;
  color: var(--gray-80);
  margin-bottom: 16px;
  max-width: 520px;
}

.ng-prob-body-emph {
  font-weight: 600;
  color: var(--deep-carbon);
}

.ng-prob-chart {
  background: #fff;
  border: 1px solid rgba(30, 30, 30, 0.06);
  border-radius: 8px;
  padding: 24px;
  position: relative;
}

.ng-chart-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
}

.ng-chart-y {
  font-size: 10px;
  color: rgba(30, 30, 30, 0.68);
  letter-spacing: 0.1em;
}

.ng-chart-legend {
  display: flex;
  gap: 16px;
  font-size: 11px;
  color: rgba(30, 30, 30, 0.7);
}

.ng-chart-legend span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.ng-leg-dot {
  width: 10px;
  height: 2px;
  display: inline-block;
}

.ng-chart-svg {
  width: 100%;
  height: 300px;
  display: block;
}

.ng-chart-svg path.ng-line-attack,
.ng-chart-svg path.ng-line-fixed {
  stroke-dasharray: 1000;
  stroke-dashoffset: 1000;
  transition: stroke-dashoffset 2s ease-out;
}

.ng-chart-svg path.ng-gap-fill {
  opacity: 0;
  transition: opacity 1.4s ease-out 0.6s;
}

.ng-chart-svg.ng-drawn path.ng-line-attack,
.ng-chart-svg.ng-drawn path.ng-line-fixed {
  stroke-dashoffset: 0;
}

.ng-chart-svg.ng-drawn path.ng-gap-fill {
  opacity: 1;
}

.ng-chart-svg .ng-gap-indicator {
  opacity: 0;
  transition: opacity 0.5s ease-out 1.8s;
}

.ng-chart-svg.ng-drawn .ng-gap-indicator {
  opacity: 1;
}

.ng-chart-callout {
  position: absolute;
  right: 32px;
  top: 90px;
  background: #fff;
  border: 1px solid var(--cyber-blue);
  border-radius: 4px;
  padding: 10px 14px;
  display: flex;
  gap: 10px;
  align-items: center;
  box-shadow: 0 8px 20px rgba(20, 49, 167, 0.12);
  max-width: 200px;
}

.ng-chart-callout-label {
  font-size: 9px;
  letter-spacing: 0.12em;
  color: var(--cyber-blue);
}

.ng-chart-callout-text {
  font-size: 12px;
  font-weight: 600;
  color: var(--deep-navy);
  line-height: 1.3;
  margin-top: 2px;
}

.ng-prob-cards-wrap {
  margin-top: 96px;
}

.ng-prob-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

.ng-prob-card {
  background: #fff;
  border: 1px solid rgba(30, 30, 30, 0.08);
  border-radius: 8px;
  padding: 32px;
  display: flex;
  flex-direction: column;
  transition: border-color 0.3s, transform 0.3s, box-shadow 0.3s;
}

.ng-prob-card:hover {
  border-color: var(--cyber-blue);
  transform: translateY(-3px);
  box-shadow: 0 16px 40px -12px rgba(7, 7, 99, 0.12);
}

.ng-pc-head {
  display: flex;
  align-items: baseline;
  gap: 12px;
  margin-bottom: 24px;
}

.ng-pc-num {
  font-size: 11px;
  color: var(--cyber-blue);
  letter-spacing: 0.12em;
}

.ng-pc-head h3 {
  font-size: 20px;
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.2;
  color: var(--deep-navy);
}

.ng-pc-row {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 14px 16px;
  border-radius: 6px;
  margin: 0 -4px;
}

.ng-pc-row-sol {
  background: rgba(58, 168, 117, 0.06);
  border-left: 2px solid #2D815A;
}

.ng-pc-row-prob {
  background: rgba(201, 72, 72, 0.04);
  border-left: 2px solid rgba(201, 72, 72, 0.5);
}

.ng-pc-label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 10px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-weight: 500;
}

.ng-pc-lbl-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  display: inline-block;
}

.ng-pc-lbl-dot-prob {
  background: #c94848;
}

.ng-pc-lbl-dot-sol {
  background: #2D815A;
}

.ng-pc-row-prob .ng-pc-label {
  color: rgba(201, 72, 72, 0.9);
}

.ng-pc-row-sol .ng-pc-label {
  color: #2D815A;
}

.ng-pc-row p {
  font-size: 13.5px;
  line-height: 1.55;
  color: var(--gray-80);
  margin: 0;
}

.ng-pc-row-sol p {
  color: var(--deep-navy);
  font-weight: 500;
}

.ng-pc-divider {
  height: 1px;
  background: transparent;
  margin: 10px 0;
}

@media (max-width: 960px) {
  .ng-prob-grid {
    grid-template-columns: 1fr;
    gap: 48px;
  }

  .ng-prob-cards {
    grid-template-columns: 1fr;
  }
}

.reveal.in .ng-chart-svg path[pathLength="100"] {
  stroke-dasharray: 100;
  stroke-dashoffset: 100;
  animation: ng-drawLine 2s cubic-bezier(0.45, 0, 0.2, 1) forwards;
}

.reveal.in .ng-chart-svg path[stroke="#E8B500"] { animation-delay: 0.2s; }
.reveal.in .ng-chart-svg path[stroke="#1F9E55"] { animation-delay: 0.5s; }
.reveal.in .ng-chart-svg path[stroke="#E8833A"] { animation-delay: 0.8s; }
.reveal.in .ng-chart-svg path[stroke="#2E7BE0"] { animation-delay: 1.1s; }

.reveal.in .ng-chart-dot {
  opacity: 0;
  transform: scale(0);
  animation: ng-popDotAtTheEnd 0.4s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
}

.reveal.in .ng-chart-svg circle[fill="#E8B500"] { animation-delay: 2.1s; transform-origin: 612px 210.1px; }
.reveal.in .ng-chart-svg circle[fill="#1F9E55"] { animation-delay: 2.4s; transform-origin: 612px 96.7px; }
.reveal.in .ng-chart-svg circle[fill="#E8833A"] { animation-delay: 2.7s; transform-origin: 612px 191.2px; }
.reveal.in .ng-chart-svg circle[fill="#2E7BE0"] { animation-delay: 3.0s; transform-origin: 612px 254.2px; }

.reveal.in .ng-chart-svg text[font-weight="700"] {
  opacity: 0;
  transform: translateY(8px);
  transform-origin: center;
  animation: ng-revealTextAtEnd 0.5s cubic-bezier(0.25, 1, 0.5, 1) forwards;
}

.reveal.in .ng-chart-svg text[fill="#E8B500"] { animation-delay: 2.1s; }
.reveal.in .ng-chart-svg text[fill="#1F9E55"] { animation-delay: 2.4s; }
.reveal.in .ng-chart-svg text[fill="#E8833A"] { animation-delay: 2.7s; }
.reveal.in .ng-chart-svg text[fill="#2E7BE0"] { animation-delay: 3.0s; }

.reveal.in .ng-chart-svg path[stroke-width="10"] {
  opacity: 0;
  animation: ng-fadeInShadow 0.5s ease-out forwards;
}

.reveal.in .ng-chart-svg path[stroke="#E8B500"][stroke-width="10"] { animation-delay: 2.1s; }
.reveal.in .ng-chart-svg path[stroke="#1F9E55"][stroke-width="10"] { animation-delay: 2.4s; }
.reveal.in .ng-chart-svg path[stroke="#E8833A"][stroke-width="10"] { animation-delay: 2.7s; }
.reveal.in .ng-chart-svg path[stroke="#2E7BE0"][stroke-width="10"] { animation-delay: 3.0s; }

@keyframes ng-drawLine {
  to {
    stroke-dashoffset: 0;
  }
}

@keyframes ng-popDotAtTheEnd {
  to {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes ng-revealTextAtEnd {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes ng-fadeInShadow {
  to {
    opacity: 0.14;
  }
}

    .wi-section {
      padding: 110px 0 100px;
      background: var(--white);
    }
    .wi-inner {
      display: grid;
      grid-template-columns: 1.05fr 1fr;
      gap: 72px;
      align-items: stretch;
    }
    .wi-left, .wi-right { min-width: 0; }
    .wi-left  {
      max-width: 580px;
      display: flex; flex-direction: column;
    }
    .wi-right { max-width: 540px; padding-top: 0; }

    .wi-title {
      font-size: clamp(34px, 3.8vw, 50px);
      font-weight: 600;
      line-height: 1.04;
      letter-spacing: -0.03em;
      color: var(--deep-carbon);
      margin: 0 0 44px;
      text-wrap: balance;
      max-width: 820px;
    }

    .wi-p {
      font-size: 16.5px;
      line-height: 1.6;
      color: rgba(30,30,30,0.75);
      margin: 0 0 18px;
      text-wrap: pretty;
    }
    .wi-p-lead {
      font-size: 19px;
      line-height: 1.45;
      color: var(--deep-carbon);
      margin-bottom: 22px;
    }
    .wi-strong {
      font-weight: 700;
      color: var(--deep-carbon);
    }

    .wi-cats { margin-top: 40px; }
    .wi-cats-head {
      display: flex; align-items: center; gap: 14px;
      margin-bottom: 18px;
    }
    .wi-cats-kicker {
      font-size: 11px;
      letter-spacing: 0.22em;
      font-weight: 700;
      color: var(--deep-carbon);
    }
    .wi-cats-rule { flex: 1; height: 1px; background: rgba(30,30,30,0.12); }

    .wi-cats-grid {
      list-style: none;
      margin: 0; padding: 0;
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 10px;
    }
    .wi-cat-card {
      display: flex; align-items: center; gap: 12px;
      padding: 14px 14px;
      background: var(--white);
      border: 1px solid rgba(30,30,30,0.10);
      border-radius: 8px;
      transition: border-color 0.18s, box-shadow 0.18s, transform 0.18s, background 0.18s;
    }
    .wi-cat-card:hover {
      border-color: var(--cyber-blue);
      box-shadow: 0 4px 18px -8px rgba(20,49,167,0.25);
      transform: translateY(-1px);
    }
    .wi-cat-icon {
      flex: 0 0 auto;
      width: 36px; height: 36px;
      border-radius: 7px;
      display: inline-flex; align-items: center; justify-content: center;
      background: rgba(20,49,167,0.07);
      color: var(--cyber-blue);
    }
    .wi-cat-card:hover .wi-cat-icon {
      background: var(--cyber-blue);
      color: var(--white);
    }
    .wi-cat-label {
      font-size: 14.5px;
      font-weight: 600;
      color: var(--deep-carbon);
      line-height: 1.3;
      letter-spacing: -0.005em;
    }

 .form-box .form-btn{
    margin-top: 6px;
    padding: 13px 18px;
    background: var(--m3-accent-bright);
    color: var(--m3-accent-deep);
    border: 1px solid var(--m3-accent-bright);
    border-radius: 6px;
    font-size: 14px; font-weight: 700;
    letter-spacing: -0.005em;
    cursor: pointer;
    display: inline-flex; align-items: center; justify-content: center; gap: 10px;
    transition: background 0.2s ease;
  }
  .form-box .form-btn:hover:not(:disabled) {
     background: #fff;
  }
  .form-box .form-btn:disabled { opacity: 0.5; cursor: not-allowed; }

   .form-box .accepct-box{width: 14px !important;height: 14px !important;min-width: auto !important;padding: 0 !important;position: relative;top: 4px;}

   .form-box .accept-main {text-align: start;}
   .form-box .accept-main span{font-weight: 400;text-align: start;line-height: 1.1;color: rgba(255, 255, 255, 0.56) !important;opacity: 1 !important;}
   .form-box .accept-main label{align-items: baseline !important;padding: 0 !important;}

 .form-box  .wpcf7-not-valid-tip{font-size: 11.8px;letter-spacing: 0.2em;}

.svc-entity {
  background: var(--neutral-mist);
  border-bottom: 1px solid var(--gray-06);
  padding: 22px 0;
}
.svc-entity-line {
  margin: 0;
  max-width: 104ch;
  font-size: 14.5px;
  line-height: 1.6;
  color: var(--gray-60);
}

.wi-answer {
  margin: 0 0 40px;
  padding: 20px 24px;
  max-width: 96ch;
  background: rgba(20, 49, 167, 0.055);
  border-left: 3px solid var(--cyber-blue);
  border-radius: 0 8px 8px 0;
}
.wi-answer-text {
  margin: 0;
  font-size: 16.5px;
  line-height: 1.62;
  color: var(--gray-80);
}

.svc-pos {
  background: var(--neutral-mist);
  padding: var(--section-pad) 0;
}
.svc-pos-title {
  margin: 0 0 20px;
  font-size: clamp(28px, 3.4vw, 44px);
  line-height: 1.14;
  letter-spacing: -0.02em;
  color: var(--deep-navy);
  max-width: 22ch;
}
.svc-pos-body {
  margin: 0 0 40px;
  max-width: 78ch;
  font-size: 17px;
  line-height: 1.65;
  color: var(--gray-60);
}
.svc-pos-split {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}
.svc-pos-panel {
  padding: 26px 28px;
  border-radius: 12px;
  background: var(--white);
  border: 1px solid var(--gray-06);
}

.svc-pos-panel.is-ours {
  background: var(--deep-navy);
  border-color: transparent;
}
.svc-pos-lead {
  margin: 0 0 10px;
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--cyber-blue);
}
.svc-pos-panel.is-ours .svc-pos-lead { color: var(--soft-signal); }
.svc-pos-detail {
  margin: 0;
  font-size: 16.5px;
  line-height: 1.55;
  color: var(--gray-80);
}
.svc-pos-panel.is-ours .svc-pos-detail { color: var(--white); }

.svc-tests-sub {
  margin-top: 12px;
}

.svc-alt-line {
  margin: 16px 0 0;
  font-size: 14px;
  line-height: 1.55;
  color: var(--gray-60);
}
.svc-alt-line a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.svc-alt-line a:hover { color: var(--cyber-blue); }

.ph-closing .svc-alt-line,
.dw-closing .svc-alt-line,
.rt-closing .svc-alt-line {
  color: rgba(255, 255, 255, 0.62);
}
.ph-closing .svc-alt-line a:hover,
.dw-closing .svc-alt-line a:hover,
.rt-closing .svc-alt-line a:hover { color: var(--soft-signal); }

.rv-section .wi-answer,
.dw-intro .wi-answer,
.section-dark .wi-answer {
  background: rgba(197, 214, 255, 0.09);
  border-left-color: var(--soft-signal);
}
.rv-section .wi-answer-text,
.dw-intro .wi-answer-text,
.section-dark .wi-answer-text {
  color: rgba(245, 239, 236, 0.88);
}

@media (max-width: 900px) {
  .svc-pos-split { grid-template-columns: 1fr; }
}

.cd-fig {
  --cd-crit: #a81634;
  --cd-warn: #846008;
  --cd-hl: #C5D6FF;
  --cd-mono: ui-monospace, Menlo, monospace;

  margin: 26px 0 30px;
  padding: 0;
  border: 1px solid var(--cd-line);
  border-radius: 14px;
  background: #FFFFFF;
  overflow: hidden;
}

.cd-fig-head {
  padding: 18px 22px 16px;
  background: var(--cd-grey-2);
  border-bottom: 1px solid var(--cd-line);
}

.cd-fig-eyebrow {
  margin: 0 0 8px;
  font-family: var(--cd-mono);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--cd-ink-2);
}

.cd-fig-title {
  margin: 0;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.35;
  letter-spacing: -0.014em;
  color: var(--cd-navy);
  text-wrap: balance;
}

.cd-fig-cwe {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 12px 0 0;
  padding: 0;
  list-style: none;
}

.cd-fig-cwe li {
  padding: 3px 10px;
  border: 1px solid rgba(7, 7, 99, 0.22);
  border-radius: 999px;
  font-family: var(--cd-mono);
  font-size: 11px;
  color: var(--cd-navy);
}

.cd-fig-steps {
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: none;
}

.cd-fig-step {
  padding: 20px 22px;
  border-bottom: 1px solid var(--cd-line);
  background: var(--cd-grey-1);
}

.cd-fig-step-h {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 12px;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: -0.014em;
  color: var(--cd-navy);
}

.cd-fig-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: none;
  width: 22px;
  height: 22px;
  border-radius: 999px;
  background: var(--cd-navy);
  color: #FFFFFF;
  font-family: var(--cd-mono);
  font-size: 11px;
  font-weight: 700;
}

.cd-fig-code {
  margin: 0;
  padding: 13px 15px;
  border: 1px solid var(--cd-line);
  border-radius: 8px;
  background: #FFFFFF;
  overflow-x: auto;
}

.cd-fig-code code {
  font-family: var(--cd-mono);
  font-size: 12.5px;
  line-height: 1.55;
  color: var(--cd-ink);
  white-space: pre;
}

.cd-fig-tok {
  padding: 1px 2px;
  border-radius: 3px;
  border-bottom: 2px solid var(--cyber-blue);
  background: var(--cd-hl);
  color: var(--cd-ink);
}

.cd-fig-codewrap {
  position: relative;
}

.cd-fig-warntag,
.cd-fig-warn {
  margin: 0;
  font-family: var(--cd-mono);
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: var(--cd-warn);
}

.cd-fig-warntag {
  margin-bottom: 6px;
  text-align: right;
}

.cd-fig-warn {
  margin-top: 8px;
  padding-left: 10px;
  border-left: 1.5px dashed var(--cd-warn);
}

.cd-fig-mini {
  margin: 0 0 6px;
  font-family: var(--cd-mono);
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--cd-ink-2);
}

.cd-fig-callout {
  margin: 12px 0 0;
  padding: 10px 14px;
  border-left: 2px solid var(--cd-navy);
  border-radius: 0 8px 8px 0;
  background: #FFFFFF;
  font-size: 13px;
  line-height: 1.5;
  color: var(--cd-navy);
}

.cd-fig-note {
  margin: 10px 0 0;
  font-size: 12.5px;
  line-height: 1.55;
  color: var(--cd-ink-2);
  text-wrap: pretty;
}

.cd-fig-leaks {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.cd-fig-leaks li {
  padding: 9px 12px;
  border: 1px solid var(--cd-line);
  border-radius: 8px;
  background: #FFFFFF;
  opacity: 0.62;
  overflow-x: auto;
}

.cd-fig-leaks li.is-live {
  opacity: 1;
  border-color: rgba(7, 7, 99, 0.22);
}

.cd-fig-leaks code {
  display: block;
  font-family: var(--cd-mono);
  font-size: 12px;
  line-height: 1.5;
  color: var(--cd-ink);
  white-space: pre;
}

.cd-fig-chrome {
  border: 1px solid var(--cd-line);
  border-radius: 10px;
  background: #FFFFFF;
  overflow: hidden;
}

.cd-fig-chrome-bar {
  display: flex;
  align-items: center;
  gap: 6px;
  height: 28px;
  padding: 0 12px;
  background: var(--cd-grey-2);
  border-bottom: 1px solid var(--cd-line);
}

.cd-fig-chrome-bar i {
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: var(--cd-ink-2);
  opacity: 0.5;
}

.cd-fig-chrome-url {
  margin: 0;
  padding: 11px 14px;
  overflow-x: auto;
}

.cd-fig-chrome-url code {
  font-family: var(--cd-mono);
  font-size: 12.5px;
  color: var(--cd-ink);
  white-space: pre;
}

.cd-fig-clock {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 12px;
}

.cd-fig-clock-start {
  position: relative;
  flex: none;
  padding-left: 14px;
  font-family: var(--cd-mono);
  font-size: 11px;
  color: var(--cd-ink-2);
}

.cd-fig-clock-start::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 5px;
  height: 5px;
  margin-top: -2.5px;
  border-radius: 999px;
  background: var(--cd-navy);
}

.cd-fig-clock-line {
  flex: 1 1 auto;
  height: 0;
  border-top: 1.5px dashed var(--cd-ink-2);
  opacity: 0.7;
}

.cd-fig-sweep {
  display: grid;
  grid-template-columns: auto 26px minmax(0, 1fr);
  align-items: center;
  gap: 0;
}

.cd-fig-words .cd-fig-mini {
  text-transform: none;
}

.cd-fig-wordlist {
  margin: 0;
  padding: 0;
  list-style: none;
  font-family: var(--cd-mono);
  font-size: 12px;
  line-height: 1.75;
  color: var(--cd-ink-2);
}

.cd-fig-wordlist li {
  opacity: 0.42;
}

.cd-fig-wordlist li.is-hit {
  opacity: 1;
  font-weight: 700;
  color: var(--cd-navy);
}

.cd-fig-arrow {
  align-self: center;
  height: 0;
  border-top: 1.5px solid var(--cyber-blue);
  position: relative;
}

.cd-fig-arrow::after {
  content: "";
  position: absolute;
  right: 0;
  top: -4px;
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
  border-left: 6px solid var(--cyber-blue);
}

.cd-fig-tag {
  display: inline-block;
  margin: 0 0 6px;
  padding: 2px 8px;
  border-radius: 4px;
  background: var(--cd-crit);
  color: #FFFFFF;
  font-family: var(--cd-mono);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.1em;
}

.cd-fig-tree {
  padding-left: 12px;
  border-left: 1.5px dashed var(--cd-ink-2);
}

.cd-fig-boundary {
  margin: 0 0 8px;
  font-family: var(--cd-mono);
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.12em;
  color: var(--cd-ink-2);
}

.cd-fig-ext {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 12px;
  padding: 0;
  list-style: none;
}

.cd-fig-ext li {
  padding: 4px 12px;
  border: 1px solid rgba(7, 7, 99, 0.22);
  border-radius: 999px;
  background: #FFFFFF;
  font-family: var(--cd-mono);
  font-size: 12px;
  color: var(--cd-navy);
  opacity: 0.42;
}

.cd-fig-ext li.is-hit {
  opacity: 1;
  font-weight: 700;
  background: var(--cd-hl);
  border-color: var(--cyber-blue);
}

.cd-fig-scope {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 40px minmax(0, 1fr);
  align-items: center;
  gap: 0;
  margin-top: 14px;
  padding-top: 20px;
}

.cd-fig-scope-box {
  margin: 0;
  padding: 12px 14px;
  border: 1px solid var(--cd-line);
  border-radius: 10px;
  background: #FFFFFF;
  font-size: 12.5px;
  font-weight: 600;
  line-height: 1.4;
  color: var(--cd-navy);
  text-align: center;
}

.cd-fig-scope-line {
  position: relative;
  height: 0;
  border-top: 1.5px solid var(--cyber-blue);
}

.cd-fig-scope-line::after {
  content: "";
  position: absolute;
  right: 0;
  top: -4px;
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
  border-left: 6px solid var(--cyber-blue);
}

.cd-fig-scope::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 12px;
  bottom: 0;
  border-left: 1.5px dashed var(--cd-ink-2);
}

.cd-fig-scope-label {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  padding: 0 6px;
  background: var(--cd-grey-1);
  font-family: var(--cd-mono);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: var(--cd-ink-2);
  white-space: nowrap;
}

.cd-fig-verdict {
  margin: 0;
  padding: 14px 22px;
  background: var(--cd-crit);
  color: #FFFFFF;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.45;
}

.cd-fig-verdict-sub {
  margin: 0;
  padding: 12px 22px 0;
}

.cd-fig-foot {
  margin-top: 16px;
  padding: 16px 22px 18px;
  border-top: 1px solid var(--cd-line);
  background: var(--cd-grey-2);
}

.cd-fig-diff {
  margin-bottom: 12px;
}

.cd-fig-was {
  margin: 0 0 8px;
  overflow-x: auto;
}

.cd-fig-was code {
  font-family: var(--cd-mono);
  font-size: 12px;
  color: var(--cd-ink-2);
  text-decoration: line-through;
  text-decoration-thickness: 1px;
  white-space: pre;
}

.cd-fig-now {
  position: relative;
  padding-left: 20px;
}

.cd-fig-now::before {
  content: "";
  position: absolute;
  left: 0;
  top: 15px;
  width: 12px;
  height: 0;
  border-top: 1.5px solid var(--cyber-blue);
}

.cd-fig-now::after {
  content: "";
  position: absolute;
  left: 10px;
  top: 11px;
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
  border-left: 6px solid var(--cyber-blue);
}

.cd-fig-why {
  margin: 6px 0 0;
  text-transform: none;
  letter-spacing: 0.04em;
  font-weight: 400;
}

.cd-fig-foot-p {
  margin: 0;
  font-size: 12.5px;
  line-height: 1.55;
  color: var(--cd-ink-2);
  text-wrap: pretty;
}

.cd-fig-cap {
  padding: 14px 22px 16px;
  border-top: 1px solid var(--cd-line);
  font-size: 12.5px;
  line-height: 1.55;
  color: var(--cd-ink-2);
  text-wrap: pretty;
}

@media (max-width: 620px) {
  .cd-fig-head,
  .cd-fig-step,
  .cd-fig-verdict,
  .cd-fig-verdict-sub,
  .cd-fig-foot,
  .cd-fig-cap {
    padding-left: 16px;
    padding-right: 16px;
  }

  .cd-fig-sweep {
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
  }

  .cd-fig-arrow {
    display: none;
  }

  .cd-fig-scope {
    grid-template-columns: minmax(0, 1fr);
    gap: 26px;
    padding-top: 22px;
  }

  .cd-fig-scope-line {
    width: 0;
    height: 26px;
    justify-self: center;
    border-top: 0;
    border-left: 1.5px solid var(--cyber-blue);
  }

  .cd-fig-scope-line::after {
    right: auto;
    left: -4px;
    top: auto;
    bottom: 0;
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-top: 6px solid var(--cyber-blue);
    border-bottom: 0;
  }

  .cd-fig-scope::before {
    left: 0;
    right: 0;
    top: 50%;
    bottom: auto;
    height: 0;
    border-left: 0;
    border-top: 1.5px dashed var(--cd-ink-2);
  }

  .cd-fig-scope-label {
    top: 50%;
    left: 0;
    transform: translateY(-50%);
  }

  .cd-fig-was {
    overflow-x: visible;
  }

  .cd-fig-was code {
    white-space: pre-wrap;
    overflow-wrap: anywhere;
  }
}

.m3-de-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 34px;
  height: 34px;
  border-radius: 9px;
  background: rgba(20, 49, 167, 0.08);
  color: var(--m3-accent);
}
.m3-de-icon svg { width: 21px; height: 21px; }

.m3-de-grid--5 .m3-de-numeral { display: none; }

@media (max-width: 1180px) {

  .m3-de-grid--5 .m3-de-numeral { display: inline-block; }
}

.m3-pti-card-head {
  display: flex;
  align-items: center;
  gap: 12px;
}
.m3-pti-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 38px;
  height: 38px;
  border-radius: 10px;
  background: rgba(20, 49, 167, 0.08);
  color: var(--m3-accent);
}
.m3-pti-icon svg { width: 22px; height: 22px; }

#m3-when .ww-detail-fam {
  text-transform: none;
  letter-spacing: .04em;
}

.ct-grid {
  align-items: start;
}

.ct-hero--slim {
  padding-top: 26px;
  padding-bottom: 10px;
}

.ct-hero--slim .ct-hero-title {
  margin: 0 0 8px;
  font-size: clamp(30px, 3.4vw, 46px);
  line-height: 1.1;
}

.ct-hero--slim .ct-hero-sub {
  margin: 0;
  max-width: 62ch;
}

.ct-form-side {
  gap: 14px;
}

.ct-body .ct-logos-band {
  margin-top: 18px;
}

.ct-body .ct-reviews {
  margin-top: 18px;
}

@media (min-width: 1100px) {
  .ct-body {
    padding-top: 28px;
    padding-bottom: 28px;
  }
}
