@charset "UTF-8";

/*
 * PTLINK AI light theme
 * Loaded after ai.css so the AI subdomain can keep its own bright product
 * identity without changing the dark www.ptlink.co.kr experience.
 */

:root {
  color-scheme: light;
  --ai-bg: #f7f9fc;
  --ai-bg-deep: #eef3f9;
  --ai-panel: #ffffff;
  --ai-panel-2: #f1f5fb;
  --ai-line: rgba(35, 52, 79, 0.13);
  --ai-line-strong: rgba(35, 52, 79, 0.22);
  --ai-text: #111827;
  --ai-muted: #596579;
  --ai-blue: #315fd6;
  --ai-blue-bright: #416fe8;
  --ai-blue-soft: rgba(49, 95, 214, 0.1);
  --ai-orange: #ff7a45;
  --ai-radius-lg: 28px;
  --ai-radius-md: 20px;
  --ai-shadow: 0 22px 64px rgba(29, 49, 78, 0.11);
}

html {
  background: var(--ai-bg) !important;
  background-color: var(--ai-bg) !important;
}

body {
  color: var(--ai-text);
  background:
    radial-gradient(
      circle at 12% 8%,
      rgba(65, 111, 232, 0.1),
      transparent 26rem
    ),
    var(--ai-bg) !important;
  background-color: var(--ai-bg) !important;
}

::selection {
  color: #ffffff;
  background: rgba(49, 95, 214, 0.82);
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline-color: rgba(49, 95, 214, 0.5) !important;
}

/* Announcement and navigation */
.ai-opening-notice {
  border-bottom-color: rgba(255, 255, 255, 0.22);
  color: #ffffff;
  background: linear-gradient(90deg, #244fc5 0%, #5c4ad8 52%, #8748c6 100%);
}

.ai-opening-notice__text,
.ai-opening-notice__date {
  color: #ffffff;
}

.ai-page {
  color: var(--ai-text);
  background: var(--ai-bg);
}

.ai-site-header {
  border-bottom-color: rgba(35, 52, 79, 0.12);
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 12px 34px rgba(29, 49, 78, 0.09);
  backdrop-filter: blur(18px) saturate(145%);
  -webkit-backdrop-filter: blur(18px) saturate(145%);
}

.ai-site-logo img {
  filter: invert(1);
}

.ai-site-nav > a,
.ai-site-nav-trigger {
  color: #58657a;
}

.ai-site-nav > a:hover,
.ai-site-nav > a.is-active,
.ai-site-nav-dropdown:hover > .ai-site-nav-trigger,
.ai-site-nav-dropdown:focus-within > .ai-site-nav-trigger {
  color: #172033;
  background: transparent;
}

.ai-site-nav > a.is-active,
.ai-site-nav-trigger.is-active {
  color: var(--ai-blue);
}

.ai-site-nav > a.ai-site-download-link,
.ai-site-nav > a.ai-site-download-link:hover,
.ai-site-nav > a.ai-site-download-link:focus-visible {
  color: #ffffff !important;
  background: var(--ai-blue);
  box-shadow: 0 8px 22px rgba(49, 95, 214, 0.24);
}

.ai-site-nav > a.ai-site-download-link:hover,
.ai-site-nav > a.ai-site-download-link:focus-visible {
  background: #244fc5;
  box-shadow: 0 10px 26px rgba(49, 95, 214, 0.3);
}

.ai-site-dropdown {
  border-color: #d9e1ec;
  border-top-color: var(--ai-blue);
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 24px 58px rgba(29, 49, 78, 0.16);
}

.ai-site-dropdown-group {
  border-color: #e2e8f1;
  background: #f7f9fc;
}

.ai-site-dropdown-title {
  color: var(--ai-blue) !important;
  border-bottom-color: rgba(49, 95, 214, 0.2);
}

.ai-site-dropdown a {
  color: #526074;
  border-bottom-color: #e5eaf1;
}

.ai-site-dropdown a:hover,
.ai-site-dropdown a:focus-visible {
  color: #183b91;
  border-color: rgba(49, 95, 214, 0.16);
  background: rgba(49, 95, 214, 0.08);
}

.ai-site-login,
.ai-site-signup,
.ai-site-member,
.ai-site-token,
.ai-site-logout {
  color: #465369;
}

.ai-site-token strong {
  color: #172033;
}

.ai-site-login:hover,
.ai-site-signup:hover,
.ai-site-member:hover,
.ai-site-token:hover,
.ai-site-logout:hover {
  color: var(--ai-blue);
  background: transparent;
}

.ai-site-cta {
  color: #ffffff !important;
  border: 1px solid #172033;
  background: #172033;
  box-shadow: none;
}

.ai-site-cta:hover {
  color: #ffffff !important;
  border-color: var(--ai-blue);
  background: var(--ai-blue);
}

/* Type and shared surfaces */
.ai-title,
.ai-section-title,
.ai-flow-card h3,
.ai-feature-card strong,
.ai-price-card h3,
.ai-price,
.ai-tool strong,
.ai-link-card strong,
.ai-band-item strong,
.ai-rollout-step strong,
.ai-download-card h3,
.ai-content-card h2,
.ai-content-card h3 {
  color: var(--ai-text);
  text-shadow: none;
}

.ai-eyebrow {
  color: var(--ai-blue);
}

.ai-lead,
.ai-hero-copy,
.ai-feature-card p,
.ai-price-card p,
.ai-tool p,
.ai-link-card p,
.ai-rollout-step p,
.ai-band-item span,
.ai-mini-note,
.ai-content-meta {
  color: var(--ai-muted);
}

.ai-section {
  background:
    radial-gradient(
      circle at 90% 15%,
      rgba(65, 111, 232, 0.06),
      transparent 27rem
    ),
    var(--ai-bg);
}

.ai-section.is-muted {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.52), rgba(255, 255, 255, 0)),
    var(--ai-bg-deep);
}

.ai-flow-card,
.ai-feature-card,
.ai-price-card,
.ai-tool,
.ai-link-card,
.ai-rollout-step,
.ai-content-card,
.ai-download-panel,
.ai-download-card {
  color: var(--ai-text);
  border-color: var(--ai-line);
  background: #ffffff;
  box-shadow: 0 14px 40px rgba(29, 49, 78, 0.08);
}

.ai-flow-card.is-highlight,
.ai-price-card.is-enterprise {
  border-color: rgba(49, 95, 214, 0.34);
  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(65, 111, 232, 0.14),
      transparent 15rem
    ),
    linear-gradient(145deg, #ffffff, #f2f6ff);
  box-shadow: 0 18px 48px rgba(49, 95, 214, 0.12);
}

.ai-feature-card:hover,
.ai-link-card:hover {
  border-color: rgba(49, 95, 214, 0.32);
  background: linear-gradient(145deg, #ffffff, #f3f6ff);
  box-shadow: 0 20px 46px rgba(29, 49, 78, 0.12);
}

.ai-link-card::after {
  color: rgba(49, 95, 214, 0.42);
}

.ai-link-card:hover::after {
  color: var(--ai-blue);
}

.ai-feature-tag,
.ai-rollout-step b,
.ai-step-list li::before {
  color: #254fb9;
  border-color: rgba(49, 95, 214, 0.18);
  background: rgba(49, 95, 214, 0.09);
}

.ai-check-list li,
.ai-step-list li,
.ai-tool {
  color: #465369;
  border-bottom-color: rgba(35, 52, 79, 0.1);
}

.ai-tool-button {
  color: #3f4d64;
  border-color: rgba(35, 52, 79, 0.12);
  background: #ffffff;
  box-shadow: 0 10px 28px rgba(29, 49, 78, 0.07);
}

.ai-tool-button:hover {
  border-color: rgba(49, 95, 214, 0.28);
  box-shadow: 0 14px 32px rgba(29, 49, 78, 0.11);
}

.ai-tool-button-icon {
  border-color: rgba(49, 95, 214, 0.14);
  background: #f2f6ff;
}

.ai-check-list li::before {
  background: var(--ai-blue-bright);
  box-shadow:
    inset 0 0 0 5px #ffffff,
    0 0 0 1px rgba(49, 95, 214, 0.28);
}

.ai-shot {
  border-color: #dbe3ee;
  background: #ffffff;
  box-shadow: var(--ai-shadow);
}

.ai-shot::after {
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

.ai-shot-caption {
  color: #ffffff;
  border-color: rgba(255, 255, 255, 0.22);
  background: rgba(17, 24, 39, 0.78);
}

.ai-band {
  border-color: rgba(35, 52, 79, 0.1);
  background: linear-gradient(
    90deg,
    rgba(49, 95, 214, 0.08),
    rgba(255, 122, 69, 0.06)
  );
}

.ai-band-item {
  border-right-color: rgba(35, 52, 79, 0.1);
}

.ai-pricing-policy p {
  color: #596579;
  border-color: rgba(35, 52, 79, 0.1);
  background: #f7f9fc;
}

.ai-btn {
  color: #253149;
  border-color: #ced7e5;
  background: #ffffff;
  box-shadow: 0 8px 24px rgba(29, 49, 78, 0.08);
}

.ai-btn:hover {
  color: #183b91;
  border-color: rgba(49, 95, 214, 0.35);
  background: #eef3ff;
}

.ai-btn.is-primary,
.ai-btn.is-primary:hover {
  color: #ffffff;
  border-color: transparent;
  background: linear-gradient(135deg, #416fe8 0%, #315fd6 100%);
  box-shadow: 0 14px 32px rgba(49, 95, 214, 0.25);
}

.ai-btn.is-primary:hover {
  background: linear-gradient(135deg, #315fd6 0%, #244fc5 100%);
  box-shadow: 0 16px 36px rgba(49, 95, 214, 0.3);
}

/* Home hero: bright copy field with the existing video contained as product media. */
.ai-hero,
.ai-page > .ai-hero {
  background:
    radial-gradient(
      circle at 18% 22%,
      rgba(65, 111, 232, 0.14),
      transparent 27rem
    ),
    radial-gradient(
      circle at 88% 74%,
      rgba(255, 122, 69, 0.1),
      transparent 24rem
    ),
    linear-gradient(135deg, #ffffff 0%, #f2f6ff 58%, #edf3fb 100%);
}

.ai-hero-media {
  inset: 148px clamp(28px, 4vw, 72px) 54px 56%;
  border: 1px solid rgba(35, 52, 79, 0.14);
  border-radius: 30px;
  background: #111827;
  box-shadow: 0 28px 70px rgba(29, 49, 78, 0.2);
}

.ai-hero-video {
  border-radius: inherit;
  filter: brightness(0.86) saturate(0.82);
  transform: scale(1.01);
}

.ai-hero::after {
  background: linear-gradient(
    90deg,
    rgba(247, 249, 252, 1) 0%,
    rgba(247, 249, 252, 0.98) 43%,
    rgba(247, 249, 252, 0.78) 56%,
    rgba(247, 249, 252, 0.06) 76%,
    rgba(247, 249, 252, 0.02) 100%
  );
}

.ai-hero::before {
  background: linear-gradient(
    90deg,
    transparent,
    rgba(49, 95, 214, 0.18),
    transparent
  );
}

.ai-hero-inner {
  max-width: min(720px, 54vw);
}

.ai-hero .ai-title,
.ai-hero .ai-section-title {
  color: #111827;
}

.ai-hero .ai-hero-copy {
  color: #536077;
}

.ai-hero .ai-hero-stat {
  color: #27344a;
  border-color: rgba(35, 52, 79, 0.13);
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 8px 24px rgba(29, 49, 78, 0.08);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

.ai-hero .ai-hero-stat strong,
.ai-hero .ai-hero-stat span,
.ai-hero-stat.is-text-only span {
  color: #3f4c62;
}

/* Secondary page heroes */
.ai-page-hero {
  background:
    radial-gradient(
      circle at 84% 18%,
      rgba(65, 111, 232, 0.14),
      transparent 27rem
    ),
    linear-gradient(135deg, #ffffff 0%, #eef4ff 58%, #f7f9fc 100%);
}

.ai-page-hero::before {
  background:
    linear-gradient(
      90deg,
      rgba(247, 249, 252, 0.96) 0%,
      rgba(247, 249, 252, 0.82) 62%,
      rgba(247, 249, 252, 0.6) 100%
    ),
    radial-gradient(
      circle at 86% 20%,
      rgba(65, 111, 232, 0.12),
      transparent 28rem
    );
}

.ai-page-hero::after {
  background: linear-gradient(
    0deg,
    var(--ai-bg) 0%,
    rgba(247, 249, 252, 0) 100%
  );
}

.ai-page-hero .ai-title,
.ai-page-hero .ai-hero-copy {
  color: var(--ai-text);
  text-shadow: none;
}

/* Homepage diagrams and dedicated sections */
.ai-impact-diagram {
  color: #1f2937;
  border-color: #d5deea;
  background: #edf2f8;
  box-shadow: 0 18px 48px rgba(29, 49, 78, 0.12);
}

.ai-impact-diagram h3,
.ai-impact-stage h4,
.ai-impact-stage p,
.ai-impact-stage p strong,
.ai-impact-stage > strong {
  color: #1f2937;
}

.ai-impact-stage {
  border: 1px solid #e0e6ef;
  background: #ffffff;
  box-shadow: 0 10px 24px rgba(29, 49, 78, 0.08);
}

.ai-impact-pill {
  color: #ffffff;
  background: var(--ai-blue);
  box-shadow: 0 10px 24px rgba(49, 95, 214, 0.2);
}

.ai-impact-connector {
  color: var(--ai-blue);
}

.ai-security-shot {
  border-color: #d9e1ec;
  background: #ffffff;
  box-shadow: var(--ai-shadow);
}

/* Closing call to action keeps one strong brand block without returning to black. */
.ai-final {
  background:
    radial-gradient(
      circle at 12% 30%,
      rgba(65, 111, 232, 0.12),
      transparent 28rem
    ),
    var(--ai-bg-deep);
}

.ai-final-box {
  color: #ffffff;
  border-color: rgba(255, 255, 255, 0.22);
  background:
    radial-gradient(
      circle at 90% 10%,
      rgba(255, 166, 110, 0.24),
      transparent 22rem
    ),
    linear-gradient(135deg, #315fd6 0%, #2449ae 100%);
  box-shadow: 0 24px 62px rgba(36, 73, 174, 0.25);
}

.ai-final-box .ai-eyebrow,
.ai-final-box .ai-section-title,
.ai-final-box .ai-lead,
.ai-final-box .ai-contact,
.ai-final-box .ai-contact a,
.ai-final-box .ai-contact span {
  color: #ffffff;
}

.ai-final-box .ai-eyebrow::before {
  background: #ffb080;
}

.ai-final-box .ai-lead {
  opacity: 0.86;
}

.ai-final-box .ai-btn.is-primary,
.ai-final-box .ai-btn.is-primary:hover {
  color: #2449ae;
  border-color: #ffffff;
  background: #ffffff;
  box-shadow: 0 12px 30px rgba(11, 29, 76, 0.2);
}

.ai-final-box .ai-btn:not(.is-primary) {
  color: #ffffff;
  border-color: rgba(255, 255, 255, 0.42);
  background: rgba(255, 255, 255, 0.1);
}

.ai-final-box .ai-btn:not(.is-primary):hover {
  color: #ffffff;
  border-color: rgba(255, 255, 255, 0.7);
  background: rgba(255, 255, 255, 0.18);
}

.ai-final-box .ai-contact a,
.ai-final-box .ai-contact span {
  border-color: rgba(255, 255, 255, 0.34);
  background: rgba(9, 31, 93, 0.2);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.08),
    0 10px 24px rgba(14, 36, 96, 0.1);
  transition:
    transform 180ms ease,
    border-color 180ms ease,
    background-color 180ms ease,
    box-shadow 180ms ease;
}

.ai-final-box .ai-contact small {
  color: #ffffff;
  -webkit-text-fill-color: #ffffff;
  font-size: 0.88rem;
  font-weight: 800;
  line-height: 1.35;
  letter-spacing: 0.01em;
  opacity: 1;
}

.ai-final-box .ai-contact a:hover,
.ai-final-box .ai-contact a:focus-visible {
  color: #ffffff;
  border-color: rgba(255, 255, 255, 0.68);
  background: rgba(9, 31, 93, 0.34);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.12),
    0 14px 30px rgba(14, 36, 96, 0.2);
  transform: translateY(-2px);
}

.ai-final-box .ai-contact a:focus-visible {
  outline: 3px solid rgba(255, 255, 255, 0.95);
  outline-offset: 3px;
}

.ai-final-box::after {
  color: rgba(255, 255, 255, 0.055);
}

/* Image and icon search */
.ai-content-page {
  background:
    radial-gradient(
      circle at 50% 8%,
      rgba(65, 111, 232, 0.1),
      transparent 30rem
    ),
    var(--ai-bg);
}

.ai-content-tool {
  color: var(--ai-text);
  border-color: var(--ai-line);
  background: rgba(255, 255, 255, 0.94);
  box-shadow: var(--ai-shadow);
}

.ai-content-toolbar {
  border-color: transparent;
  background: transparent;
}

.ai-content-field-label,
.ai-content-query-field .ai-content-field-label {
  color: #334155;
}

.ai-content-query-field .ai-content-field-label {
  color: var(--ai-blue);
}

.ai-content-toolbar .ai-content-input {
  border-color: #6d94ef;
  color: #111827;
  background: linear-gradient(180deg, #ffffff 0%, #f7f9fc 100%);
  box-shadow:
    0 0 0 5px rgba(65, 111, 232, 0.1),
    0 14px 34px rgba(29, 49, 78, 0.1);
}

.ai-content-toolbar .ai-content-input:hover,
.ai-content-toolbar .ai-content-input:focus {
  border-color: var(--ai-blue);
  box-shadow:
    0 0 0 6px rgba(65, 111, 232, 0.12),
    0 16px 38px rgba(29, 49, 78, 0.13);
}

.ai-content-toolbar .ai-content-select,
.ai-content-input,
.ai-content-select {
  color: #253149;
  border-color: #cbd5e1;
  background: #ffffff;
  box-shadow: 0 8px 22px rgba(29, 49, 78, 0.07);
}

.ai-content-chip {
  color: #254fb9;
  border-color: rgba(49, 95, 214, 0.18);
  background: rgba(49, 95, 214, 0.08);
}

.ai-content-chip:hover {
  color: #183b91;
  border-color: rgba(49, 95, 214, 0.32);
  background: rgba(49, 95, 214, 0.13);
}

.ai-content-auth,
.ai-content-status,
.ai-content-empty {
  color: #536077;
  border-color: #dbe3ee;
  background: #f7f9fc;
}

.ai-content-auth.is-warning,
.ai-content-status.is-error {
  color: #8a3d14;
  border-color: #f0cfbb;
  background: #fff7f2;
}

.ai-content-status.is-success {
  color: #146c43;
  border-color: #b9dfcd;
  background: #f1fbf6;
}

.ai-content-card:hover {
  border-color: rgba(49, 95, 214, 0.3);
  box-shadow: 0 18px 42px rgba(29, 49, 78, 0.11);
}

.ai-content-thumb,
.ai-content-no-thumb {
  color: #6b778b;
  background: #eef2f7;
}

.ai-content-submit,
.ai-content-more,
.ai-content-download {
  color: #ffffff;
  border-color: transparent;
  background: linear-gradient(135deg, #416fe8, #315fd6);
}

.ai-content-more:hover,
.ai-content-download:hover:not(:disabled) {
  color: #ffffff;
  border-color: transparent;
  background: linear-gradient(135deg, #315fd6, #244fc5);
}

.ai-download-confirm {
  background: rgba(21, 31, 48, 0.48);
}

.ai-download-confirm-panel {
  color: var(--ai-text);
  border-color: #d7e0ec;
  background: #ffffff;
  box-shadow: 0 28px 80px rgba(21, 31, 48, 0.24);
}

.ai-download-confirm-panel h2 {
  color: var(--ai-text);
}

.ai-download-confirm-badge {
  color: var(--ai-blue);
}

.ai-download-confirm-copy {
  color: var(--ai-muted);
}

.ai-download-confirm-info {
  color: #254b9f;
  border-color: rgba(49, 95, 214, 0.22);
  background: rgba(49, 95, 214, 0.08);
}

.ai-download-confirm-cancel {
  color: #465369;
  border: 1px solid #d5deea;
  background: #f3f6fa;
}

.ai-download-confirm-submit {
  color: #ffffff;
  background: var(--ai-blue);
}

/* Authentication pages are already light; align their shell with the new theme. */
body.auth-body {
  --auth-bg: #f7f9fc;
  --auth-card-bg: rgba(255, 255, 255, 0.97);
  --auth-border: #dce3ed;
  --auth-text: #172033;
  --auth-muted: #657189;
  --auth-primary: #315fd6;
  --auth-primary-hover: #244fc5;
  --auth-secondary-bg: #f1f5fb;
  --auth-secondary-border: #d7dfeb;
  background:
    radial-gradient(
      circle at 18% 15%,
      rgba(65, 111, 232, 0.12),
      transparent 26rem
    ),
    radial-gradient(
      circle at 88% 82%,
      rgba(255, 122, 69, 0.08),
      transparent 24rem
    ),
    #f7f9fc !important;
}

.auth-card {
  border-color: #dce3ed;
  background: rgba(255, 255, 255, 0.97);
  box-shadow:
    0 24px 70px rgba(29, 49, 78, 0.12),
    inset 0 1px 0 #ffffff;
}

.auth-card::before {
  background: linear-gradient(90deg, #315fd6, #6c5ce7, #ff7a45);
}

/* Shared footer */
#ptlk-footer {
  color: #596579;
  border-top: 1px solid #dce3ed;
  background: #eef3f9 !important;
}

#ptlk-footer section,
#ptlk-footer #ts-footer-main {
  color: #596579;
  background: transparent !important;
}

#ptlk-footer h2,
#ptlk-footer strong,
#ptlk-footer .ptlkf-sitemap-title,
#ptlk-footer .ptlk-link-lg {
  color: #172033;
}

#ptlk-footer p,
#ptlk-footer address,
#ptlk-footer nav,
#ptlk-footer .ptlk-cert-caption {
  color: #657189;
}

#ptlk-footer a {
  color: #526074;
}

#ptlk-footer a:hover {
  color: var(--ai-blue);
}

#ptlk-footer .ptlk-divider,
#ptlk-footer .ptlkf-sitemap-column {
  border-color: #d5deea;
}

#ptlk-footer .ptlk-cert-logo {
  opacity: 0.68;
  filter: grayscale(1) brightness(0.55);
}

@media (max-width: 991.98px) {
  .ai-hero-media {
    display: none;
  }

  .ai-hero::after {
    background: linear-gradient(
      135deg,
      rgba(255, 255, 255, 0.72),
      rgba(238, 244, 255, 0.38)
    );
  }

  .ai-hero-inner {
    max-width: 780px;
  }
}

@media (max-width: 575.98px) {
  .ai-hero,
  .ai-page > .ai-hero {
    background:
      radial-gradient(
        circle at 78% 12%,
        rgba(65, 111, 232, 0.14),
        transparent 18rem
      ),
      linear-gradient(145deg, #ffffff 0%, #eef4ff 100%);
  }

  .ai-hero .ai-hero-stat {
    background: rgba(255, 255, 255, 0.94);
  }

  .ai-site-dropdown {
    border-color: #d9e1ec;
    background: #ffffff;
  }
}

/*
 * Legacy cascade guard
 *
 * The shared www stylesheet intentionally forces black section backgrounds and
 * white type with !important.  These scoped rules keep that dark-site contract
 * intact everywhere else while making the AI surface reliably light.
 */
body {
  color: var(--ai-text) !important;
}

.ai-opening-notice .ai-opening-notice__text,
.ai-opening-notice .ai-opening-notice__date {
  color: #ffffff !important;
}

.ai-page {
  color: var(--ai-text) !important;
  background-color: var(--ai-bg) !important;
}

.ai-page > .ai-hero {
  background:
    radial-gradient(
      circle at 18% 22%,
      rgba(65, 111, 232, 0.14),
      transparent 27rem
    ),
    radial-gradient(
      circle at 88% 74%,
      rgba(255, 122, 69, 0.1),
      transparent 24rem
    ),
    linear-gradient(135deg, #ffffff 0%, #f2f6ff 58%, #edf3fb 100%) !important;
}

.ai-page > .ai-page-hero {
  background:
    radial-gradient(
      circle at 84% 18%,
      rgba(65, 111, 232, 0.14),
      transparent 27rem
    ),
    linear-gradient(135deg, #ffffff 0%, #eef4ff 58%, #f7f9fc 100%) !important;
}

.ai-page > .ai-section {
  background:
    radial-gradient(
      circle at 90% 15%,
      rgba(65, 111, 232, 0.06),
      transparent 27rem
    ),
    var(--ai-bg) !important;
}

.ai-page > .ai-section.is-muted {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0)),
    var(--ai-bg-deep) !important;
}

.ai-page > .ai-band {
  background:
    linear-gradient(90deg, rgba(49, 95, 214, 0.08), rgba(255, 122, 69, 0.06)),
    var(--ai-bg) !important;
}

.ai-page > .ai-final {
  background:
    radial-gradient(
      circle at 12% 30%,
      rgba(65, 111, 232, 0.12),
      transparent 28rem
    ),
    var(--ai-bg-deep) !important;
}

.ai-page > .ai-content-hero {
  background:
    radial-gradient(
      circle at 82% 10%,
      rgba(65, 111, 232, 0.11),
      transparent 24rem
    ),
    transparent !important;
}

.ai-page > .ai-content-tool {
  background: rgba(255, 255, 255, 0.94) !important;
}

.ai-page section.ai-impact-diagram {
  background: #ffffff !important;
}

.ai-page :is(h1, h2, h3, h4, h5, h6, strong, b) {
  color: var(--ai-text) !important;
}

.ai-page :is(p, li, span, dd, dt) {
  color: var(--ai-muted) !important;
}

.ai-page a {
  color: #465369 !important;
}

/* Header contrast and states */
.ai-site-header .ai-site-nav > a:not(.ai-site-download-link),
.ai-site-header .ai-site-nav-trigger,
.ai-site-header .ai-site-login,
.ai-site-header .ai-site-logout,
.ai-site-header .ai-site-token {
  color: #536077 !important;
}

.ai-site-header .ai-site-signup,
.ai-site-header .ai-site-member {
  color: #254fb9 !important;
  background: rgba(49, 95, 214, 0.08) !important;
}

.ai-site-header .ai-site-nav > a:not(.ai-site-download-link):hover,
.ai-site-header .ai-site-nav-dropdown:hover > .ai-site-nav-trigger,
.ai-site-header .ai-site-nav-dropdown:focus-within > .ai-site-nav-trigger,
.ai-site-header .ai-site-login:hover,
.ai-site-header .ai-site-logout:hover,
.ai-site-header .ai-site-token:hover {
  color: #172033 !important;
}

.ai-site-header .ai-site-nav > a.is-active,
.ai-site-header .ai-site-nav-trigger.is-active {
  color: var(--ai-blue) !important;
}

.ai-site-header .ai-site-nav > a.ai-site-download-link,
.ai-site-header .ai-site-nav > a.ai-site-download-link:hover,
.ai-site-header .ai-site-nav > a.ai-site-download-link:focus-visible,
.ai-site-header .ai-site-cta,
.ai-site-header .ai-site-cta:hover,
.ai-site-header .ai-site-cta:focus-visible {
  color: #ffffff !important;
}

.ai-site-header .ai-site-dropdown-title {
  color: var(--ai-blue) !important;
}

.ai-site-header .ai-site-dropdown a {
  color: #526074 !important;
}

.ai-site-header .ai-site-dropdown a:hover,
.ai-site-header .ai-site-dropdown a:focus-visible {
  color: #183b91 !important;
}

/* Hero hierarchy and media treatment */
.ai-page .ai-eyebrow {
  color: var(--ai-blue) !important;
}

.ai-page .ai-title {
  color: #111827 !important;
  font-weight: 860 !important;
  text-shadow: none !important;
}

.ai-page .ai-section-title {
  color: #172033 !important;
  font-weight: 830 !important;
  text-shadow: none !important;
}

.ai-page .ai-hero-copy,
.ai-page .ai-lead {
  color: #596579 !important;
}

.ai-hero-media {
  background: #dfe6ef !important;
  box-shadow:
    0 28px 70px rgba(29, 49, 78, 0.16),
    0 0 0 1px rgba(255, 255, 255, 0.82) inset;
}

.ai-hero-media::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(
    145deg,
    rgba(255, 255, 255, 0.16),
    rgba(238, 244, 252, 0.02)
  );
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.72);
  pointer-events: none;
}

.ai-hero-video {
  filter: brightness(0.94) saturate(0.74) contrast(0.94);
}

@media (min-width: 992px) {
  .ai-page .ai-hero-inner {
    max-width: min(620px, 49vw);
  }

  .ai-page .ai-hero .ai-hero-stats {
    width: min(100%, 620px);
    grid-template-columns: 1.15fr repeat(3, 1fr);
  }
}

.ai-page .ai-hero .ai-hero-stat,
.ai-page .ai-hero .ai-hero-stat span,
.ai-page .ai-hero .ai-hero-stat strong {
  color: #3f4c62 !important;
}

/* Cards: readable content, quiet depth, and clear labels */
.ai-page .ai-feature-card {
  min-height: 248px;
  border-color: rgba(35, 52, 79, 0.13);
  background:
    radial-gradient(
      circle at 100% 100%,
      rgba(65, 111, 232, 0.09),
      transparent 12rem
    ),
    #ffffff !important;
  box-shadow:
    0 14px 36px rgba(29, 49, 78, 0.075),
    inset 0 1px 0 #ffffff;
}

.ai-page .ai-feature-card:hover {
  border-color: rgba(49, 95, 214, 0.3);
  background:
    radial-gradient(
      circle at 100% 100%,
      rgba(65, 111, 232, 0.14),
      transparent 13rem
    ),
    linear-gradient(145deg, #ffffff, #f5f8ff) !important;
}

.ai-page .ai-feature-card strong,
.ai-page .ai-flow-card h3,
.ai-page .ai-price-card h3,
.ai-page .ai-tool strong,
.ai-page .ai-link-card strong,
.ai-page .ai-download-card h3,
.ai-page .ai-content-card h2,
.ai-page .ai-content-card h3 {
  color: #172033 !important;
  font-weight: 800 !important;
}

.ai-page .ai-feature-card p,
.ai-page .ai-price-card p,
.ai-page .ai-tool p,
.ai-page .ai-link-card p,
.ai-page .ai-rollout-step p,
.ai-page .ai-band-item span,
.ai-page .ai-mini-note,
.ai-page .ai-content-meta {
  color: #596579 !important;
}

.ai-page .ai-band-item {
  border: 1px solid rgba(35, 52, 79, 0.11);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.88) !important;
  box-shadow: 0 10px 28px rgba(29, 49, 78, 0.065);
}

.ai-page .ai-feature-tag,
.ai-page .ai-rollout-step b,
.ai-page .ai-step-list li::before {
  color: #254fb9 !important;
}

.ai-page .ai-impact-pill {
  color: #ffffff !important;
}

.ai-page .ai-shot-caption {
  color: #ffffff !important;
}

/* Links and buttons must remain distinct from ordinary body links. */
.ai-page .ai-btn {
  color: #253149 !important;
}

.ai-page .ai-btn:hover {
  color: #183b91 !important;
}

.ai-page .ai-btn.is-primary,
.ai-page .ai-btn.is-primary:hover,
.ai-page .ai-btn.is-primary:focus-visible,
.ai-page .ai-content-submit,
.ai-page .ai-content-more,
.ai-page .ai-content-download {
  color: #ffffff !important;
}

/* Preserve the intentional blue closing CTA as the one dark-on-light accent. */
.ai-page .ai-final-box,
.ai-page .ai-final-box :is(h1, h2, h3, h4, h5, h6, p, li, span, strong, b, a) {
  color: #ffffff !important;
}

.ai-page .ai-final-box .ai-btn.is-primary,
.ai-page .ai-final-box .ai-btn.is-primary:hover,
.ai-page .ai-final-box .ai-btn.is-primary:focus-visible {
  color: #2449ae !important;
}

/* Auth pages inherit the shared header but keep their existing light form UI. */
body.auth-body {
  color: var(--auth-text) !important;
}

body.auth-body .auth-card :is(h1, h2, h3, h4, h5, h6, strong, b) {
  color: var(--auth-text) !important;
}

body.auth-body .auth-card :is(p, li, span, dd, dt) {
  color: var(--auth-muted) !important;
}

body.auth-body .auth-btn-primary,
body.auth-body .auth-btn-primary :is(span, strong) {
  color: #ffffff !important;
}

body.auth-body .auth-step-chip.is-active {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  border-color: #315fd6 !important;
  background: #315fd6 !important;
}

body.auth-body .auth-step-chip:not(.is-active) {
  color: #596579 !important;
  -webkit-text-fill-color: #596579 !important;
}

body.auth-body .auth-detail-toggle {
  color: #64748b !important;
  -webkit-text-fill-color: #64748b !important;
}

body.auth-body .auth-detail-toggle:hover,
body.auth-body .auth-detail-toggle:focus-visible {
  color: #334155 !important;
  -webkit-text-fill-color: #334155 !important;
}

body.auth-body .auth-inquiry-counter,
body.auth-body .auth-inquiry-attachment-note,
body.auth-body .auth-inquiry-table td.is-empty,
body.auth-body .auth-point-history-table .is-empty {
  color: #596579 !important;
  -webkit-text-fill-color: #596579 !important;
}

/* The main-site cursor uses difference blending and becomes a black dot on the
   light UI. Keep the AI product surface on the native system cursor. */
.custom-cursor {
  display: none !important;
}

/* Footer copy was also hard-coded white in the shared stylesheet. */
#ptlk-footer #ts-footer-main,
#ptlk-footer #ts-footer-main * {
  color: #596579 !important;
}

#ptlk-footer #ts-footer-main h2,
#ptlk-footer #ts-footer-main h3,
#ptlk-footer #ts-footer-main strong,
#ptlk-footer #ts-footer-main .ptlkf-sitemap-title,
#ptlk-footer #ts-footer-main .ptlk-link-lg {
  color: #172033 !important;
}

#ptlk-footer #ts-footer-main a {
  color: #526074 !important;
}

#ptlk-footer #ts-footer-main a:hover,
#ptlk-footer #ts-footer-main a:focus-visible {
  color: var(--ai-blue) !important;
}

#ptlk-footer > section:not(#ts-footer-main),
#ptlk-footer > section:not(#ts-footer-main) :is(p, li, span, dd, dt) {
  color: #596579 !important;
}

#ptlk-footer .ptlkf-sitemap-title {
  color: #172033 !important;
}

#ptlk-footer .ptlkf-sitemap-links li,
#ptlk-footer .ptlkf-sitemap-links li a {
  color: #526074 !important;
}

#ptlk-footer .ptlkf-sitemap-links li a:hover,
#ptlk-footer .ptlkf-sitemap-links li a:focus-visible {
  color: var(--ai-blue) !important;
}

#ptlk-footer .ptlk-cert-caption,
#ptlk-footer .ptlk-cert-caption small {
  color: #596579 !important;
}

@media (max-width: 575.98px) {
  .ai-page > .ai-hero {
    background:
      radial-gradient(
        circle at 78% 12%,
        rgba(65, 111, 232, 0.14),
        transparent 18rem
      ),
      linear-gradient(145deg, #ffffff 0%, #eef4ff 100%) !important;
  }
}

@media (min-width: 360px) and (max-width: 575.98px) {
  .ai-site-header .ai-site-nav {
    justify-content: space-between;
    padding-right: 8px;
    padding-left: 8px;
  }

  .ai-site-header .ai-site-nav > a,
  .ai-site-header .ai-site-nav-trigger {
    min-width: 0;
    padding-right: 4px;
    padding-left: 4px;
    font-size: 12px;
  }

  .ai-site-header .ai-site-nav > a.ai-site-download-link {
    min-height: 34px;
    margin-left: 0;
    padding-right: 8px;
    padding-left: 8px;
    font-size: 11px;
  }
}

/* Home hero: full-viewport video with a bright, readable white veil. */
.ai-page > .ai-hero {
  isolation: isolate;
  overflow: hidden;
  background: #eef3f9 url("bg__dark_gold.jpg") center / cover no-repeat !important;
}

.ai-page > .ai-hero .ai-hero-media {
  display: block !important;
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  border: 0;
  border-radius: 0;
  background: #e7edf5 !important;
  box-shadow: none;
  pointer-events: none;
}

.ai-page > .ai-hero .ai-hero-media::after {
  content: none;
}

.ai-page > .ai-hero .ai-hero-video {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 0;
  object-fit: cover;
  object-position: center center;
  filter: brightness(0.96) saturate(0.74) contrast(0.94);
  transform: scale(1.015);
}

.ai-page > .ai-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(
    90deg,
    rgba(248, 250, 253, 0.97) 0%,
    rgba(248, 250, 253, 0.93) 40%,
    rgba(248, 250, 253, 0.7) 68%,
    rgba(248, 250, 253, 0.5) 100%
  );
  pointer-events: none;
}

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

.ai-page > .ai-hero .ai-hero-inner {
  max-width: 760px;
}

.ai-page > .ai-hero .ai-eyebrow {
  color: #315fd6 !important;
  text-shadow: none;
}

.ai-page > .ai-hero .ai-title {
  color: #111827 !important;
  text-shadow: none !important;
}

.ai-page > .ai-hero .ai-hero-copy {
  color: #4b5a70 !important;
  text-shadow: none;
}

.ai-page > .ai-hero .ai-hero-stats {
  width: min(100%, 760px);
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.ai-page > .ai-hero .ai-hero-stat {
  color: #27344a !important;
  border-color: rgba(35, 52, 79, 0.15);
  background: rgba(255, 255, 255, 0.86);
  box-shadow: 0 10px 28px rgba(29, 49, 78, 0.1);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

.ai-page > .ai-hero .ai-hero-stat strong,
.ai-page > .ai-hero .ai-hero-stat span,
.ai-page > .ai-hero .ai-hero-stat.is-text-only span {
  color: #334155 !important;
}

@media (max-width: 991.98px) {
  .ai-page > .ai-hero .ai-hero-video {
    object-position: 58% center;
  }

  .ai-page > .ai-hero::after {
    background: linear-gradient(
      90deg,
      rgba(248, 250, 253, 0.95) 0%,
      rgba(248, 250, 253, 0.88) 68%,
      rgba(248, 250, 253, 0.72) 100%
    );
  }
}

@media (max-width: 767.98px) {
  .ai-page > .ai-hero .ai-hero-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 575.98px) {
  .ai-page > .ai-hero .ai-hero-video {
    object-position: 62% center;
  }

  .ai-page > .ai-hero::after {
    background: linear-gradient(
      180deg,
      rgba(248, 250, 253, 0.92) 0%,
      rgba(248, 250, 253, 0.86) 58%,
      rgba(248, 250, 253, 0.94) 100%
    );
  }
}

/* The policy notice was removed; keep the fixed navigation flush to the top. */
.ai-site-header {
  inset: 0 0 auto 0 !important;
}
