:root {
  --layout-container: 100%;
  --layout-gutter: 12px;
  --layout-section-y: 40px;
  --layout-topbar-offset: 68px;

  --container: var(--layout-container);
  --gutter: var(--layout-gutter);
  --section-y: var(--layout-section-y);
  --topbar-offset: var(--layout-topbar-offset);

  --font-family-sans: Inter, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
  --font-sans: var(--font-family-sans);

  --fw-regular: 400;
  --fw-medium: 500;
  --fw-semibold: 600;
  --fw-bold: 700;
  --fw-extrabold: 800;
  --fw-black: 900;

  --ls-normal: 0em;
  --ls-wide: 0.08em;
  --ls-wider: 0.12em;
  --ls-tight: -0.02em;
  --ls-tighter: -0.035em;

  --lh-compact: 1.2;
  --lh-default: 1.5;
  --lh-relaxed: 1.6;
  --lh-heading: 1.12;

  --text-xs: 0.75rem;
  --text-sm: 0.875rem;
  --text-md: 1rem;
  --text-lg: 1.125rem;
  --text-xl: 1.25rem;
  --text-2xl: clamp(1.5rem, 2.4vw, 1.875rem);
  --text-3xl: clamp(2.125rem, 4.3vw, 3.5rem);

  --text-h1: clamp(2.25rem, 4.7vw, 3.85rem);
  --text-h2: clamp(1.5rem, 2.4vw, 1.875rem);
  --text-h3: 1.25rem;
  --text-h4: 1.125rem;
  --text-h5: 1rem;
  --text-h6: 0.875rem;

  --fs-00: var(--text-xs);
  --fs-01: var(--text-sm);
  --fs-02: var(--text-md);
  --fs-03: var(--text-lg);
  --fs-04: var(--text-xl);
  --fs-05: var(--text-2xl);
  --fs-06: var(--text-3xl);

  --brand-dark: hsl(225 8% 15%);
  --brand-charcoal: hsl(225 6% 22%);
  --brand-orange: hsl(16 95% 46%);
  --brand-orange-hover: hsl(16 95% 40%);
  --brand-warm-white: hsl(30 20% 98%);
  --brand-light-gray: hsl(220 14% 96%);
  --brand-medium-gray: hsl(220 9% 46%);
  --brand-border: hsl(220 13% 91%);
  --brand-success: hsl(149 60% 38%);
  --brand-info: hsl(211 84% 46%);

  --ctc-dark: var(--brand-dark);
  --ctc-charcoal: var(--brand-charcoal);
  --ctc-orange: var(--brand-orange);
  --ctc-orange-hover: var(--brand-orange-hover);
  --ctc-warm-white: var(--brand-warm-white);
  --ctc-light-gray: var(--brand-light-gray);
  --ctc-medium-gray: var(--brand-medium-gray);
  --ctc-border: var(--brand-border);
  --ctc-success: var(--brand-success);
  --ctc-info: var(--brand-info);

  --color-bg: #fff;
  --color-surface: #fff;
  --color-text: hsl(220 20% 14%);
  --color-text-muted: hsl(220 9% 46%);
  --color-border: var(--ctc-border);
  --color-accent: var(--ctc-orange);
  --color-accent-hover: var(--ctc-orange-hover);
  --color-on-accent: #fff;

  --focus-ring: 0 0 0 4px rgba(243, 80, 28, 0.18);

  --space-unit: 4px;
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --space-7: 3rem;
  --space-8: 4rem;

  --radius-xs: 4px;
  --radius-sm: 10px;
  --radius-md: 12px;
  --radius-lg: 16px;
  --radius-xl: 18px;
  --radius-2xl: 22px;

  --radius-1: var(--radius-xs);
  --radius-2: var(--radius-sm);

  --shadow-focus: var(--focus-ring);
  --shadow-1: 0 22px 70px rgba(0, 0, 0, 0.06);
  --shadow-2: 0 22px 70px rgba(0, 0, 0, 0.1);
  --shadow-3: 0 34px 110px rgba(0, 0, 0, 0.16);

  --motion-fast: 160ms;
  --motion-med: 240ms;
  --ease-standard: ease;
}

@media (min-width: 768px) {
  :root {
    --layout-container: 768px;
    --layout-gutter: 16px;
    --layout-section-y: 64px;
  }
}

@media (min-width: 1024px) {
  :root {
    --layout-container: 1120px;
    --layout-gutter: 20px;
    --layout-section-y: 80px;
  }
}

@media (min-width: 1440px) {
  :root {
    --layout-container: 1120px;
    --layout-gutter: 20px;
    --layout-section-y: 80px;
  }
}

* {
  box-sizing: border-box;
}

html,
body {
  height: 100%;
}

html {
  font-size: 16px;
  scroll-behavior: smooth;
}

body {
  margin: 0;
  font-family: var(--font-sans);
  font-size: var(--fs-02);
  color: var(--color-text);
  background: var(--color-bg);
  line-height: var(--lh-default);
  padding-top: var(--topbar-offset, 0px);
}

ctc-header,
ctc-footer,
ctc-contact {
  display: contents;
}

main .section[id] {
  scroll-margin-top: calc(var(--topbar-offset, 0px) + var(--space-3));
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
summary:focus-visible {
  outline: none;
  box-shadow: var(--shadow-focus);
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: var(--fw-extrabold);
  line-height: var(--lh-heading);
  letter-spacing: var(--ls-tight);
}

h1 {
  font-size: var(--text-h1);
}

h2 {
  font-size: var(--text-h2);
}

h3 {
  font-size: var(--text-h3);
}

h4 {
  font-size: var(--text-h4);
}

h5 {
  font-size: var(--text-h5);
}

h6 {
  font-size: var(--text-h6);
}

a {
  color: inherit;
  text-decoration: none;
}

.skip {
  position: absolute;
  left: -9999px;
  top: -9999px;
  background: var(--color-surface);
  color: var(--color-text);
  padding: 10px 12px;
  border-radius: var(--radius-sm);
  z-index: 60;
}

.skip:focus {
  left: 12px;
  top: 12px;
}

.container {
  width: min(var(--container), calc(100% - (var(--gutter) * 2)));
  margin: 0 auto;
}

.accent {
  color: var(--color-accent);
}

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

.topbar {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  z-index: 50;
  background: var(--color-surface);
  border-bottom: 1px solid var(--color-border);
}

.topbar-inner {
  min-height: 3.5rem;
  padding: var(--space-1) 0;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  column-gap: var(--space-5);
}

.topbar-brand {
  display: inline-flex;
  align-items: center;
  gap: var(--space-3);
}

.topbar-logo {
  display: block;
  width: 60px;
  height: 60px;
}

.topbar-nav {
  display: flex;
  align-items: center;
  gap: var(--space-4);
  font-size: var(--fs-01);
  color: var(--color-text-muted);
  justify-self: center;
}

.topbar-nav a {
  padding: var(--space-1) 0;
  font-weight: 400;
}

.topbar-nav a:hover {
  color: var(--color-text);
  font-weight: var(--fw-bold);
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  border: 1px solid transparent;
  border-radius: var(--radius-1);
  cursor: pointer;
  user-select: none;
  font-weight: var(--fw-bold);
  line-height: 1;
  transition:
    transform var(--motion-fast) var(--ease-standard),
    box-shadow var(--motion-fast) var(--ease-standard),
    background-color var(--motion-fast) var(--ease-standard),
    border-color var(--motion-fast) var(--ease-standard),
    color var(--motion-fast) var(--ease-standard);
}

.btn-primary {
  background: var(--color-accent);
  color: var(--color-on-accent);
}

.btn-primary:hover {
  background: var(--color-accent-hover);
}

.btn:active {
  transform: scale(0.98);
}

.btn:focus-visible {
  outline: none;
  box-shadow: var(--shadow-focus);
}

.btn-consult {
  min-width: 13.25rem;
  max-width: 100%;
  height: 2.25rem;
  padding: 0 var(--space-5);
  font-size: var(--fs-00);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  white-space: nowrap;
  flex: none;
  justify-self: end;
}

.topbar-toggle {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: var(--radius-2);
  background: transparent;
  border: 1px solid var(--color-border);
  display: none;
  align-items: center;
  justify-content: center;
  justify-self: end;
  color: var(--color-text);
  padding: 0;
}

.topbar-toggle-box {
  display: grid;
  gap: 4px;
}

.topbar-toggle-line {
  width: 18px;
  height: 2px;
  border-radius: 999px;
  background: currentColor;
  transition: transform var(--motion-med) var(--ease-standard);
}

.topbar-mobile {
  border-top: 1px solid var(--color-border);
  background: var(--color-surface);
}

.topbar-mobile-inner {
  padding: var(--space-4) 0 var(--space-5);
  display: grid;
  gap: var(--space-4);
}

.topbar-mobile-nav {
  display: grid;
  gap: var(--space-3);
  font-size: var(--fs-02);
  color: var(--color-text);
}

.topbar-mobile-nav a {
  padding: var(--space-2) 0;
  border-bottom: 1px solid var(--color-border);
}

.topbar-mobile-cta {
  width: 100%;
  height: 2.5rem;
  font-size: var(--fs-00);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.hero-dark {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(1200px 800px at 16% 18%, rgba(243, 80, 28, 0.26), transparent 60%),
    radial-gradient(980px 640px at 86% 22%, rgba(255, 255, 255, 0.1), transparent 58%),
    radial-gradient(860px 620px at 70% 78%, rgba(243, 80, 28, 0.14), transparent 62%),
    linear-gradient(180deg, hsl(226 14% 6%), hsl(225 10% 12%));
}

.hero-dark::before {
  content: "";
  position: absolute;
  inset: -1px;
  background:
    linear-gradient(rgba(255, 255, 255, 0.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.05) 1px, transparent 1px),
    radial-gradient(900px 520px at 50% 8%, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.62));
  background-size: 56px 56px, 56px 56px, auto;
  opacity: 0.55;
  transform: translateZ(0);
  pointer-events: none;
  mask-image: radial-gradient(80% 70% at 50% 28%, #000 40%, transparent 78%);
}

.hero-dark::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(1px 1px at 20px 28px, rgba(255, 255, 255, 0.14), transparent 55%),
    radial-gradient(1px 1px at 88px 64px, rgba(255, 255, 255, 0.12), transparent 55%),
    radial-gradient(1px 1px at 132px 140px, rgba(255, 255, 255, 0.1), transparent 55%),
    radial-gradient(1px 1px at 210px 96px, rgba(255, 255, 255, 0.12), transparent 55%),
    radial-gradient(1px 1px at 278px 168px, rgba(255, 255, 255, 0.1), transparent 55%),
    radial-gradient(1px 1px at 352px 112px, rgba(255, 255, 255, 0.12), transparent 55%);
  background-size: 420px 240px;
  opacity: 0.26;
  pointer-events: none;
  mix-blend-mode: screen;
}

.hero-inner {
  position: relative;
  z-index: 1;
  text-align: center;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-areas:
    "title"
    "subtitle"
    "actions"
    "footnote"
    "media";
  row-gap: 0;
}

.hero-title {
  margin: 0;
  color: #fff;
  font-weight: var(--fw-extrabold);
  font-size: var(--text-h1);
  line-height: 1.04;
  letter-spacing: var(--ls-tighter);
  text-wrap: balance;
  text-shadow: 0 16px 56px rgba(0, 0, 0, 0.55);
  grid-area: title;
}

.hero-title .accent {
  color: #fff;
}

.hero-subtitle {
  margin: var(--space-4) auto 0;
  max-width: 640px;
  font-size: clamp(1.05rem, 1.2vw, 1.15rem);
  color: rgba(255, 255, 255, 0.58);
  line-height: var(--lh-relaxed);
  grid-area: subtitle;
}

.hero-actions {
  margin-top: var(--space-5);
  display: flex;
  justify-content: center;
  grid-area: actions;
}

.btn-hero {
  height: 3.25rem;
  padding: 0 var(--space-7);
  min-width: 15.5rem;
  font-size: var(--fs-01);
  font-weight: var(--fw-extrabold);
  letter-spacing: var(--ls-wider);
  text-transform: uppercase;
  box-shadow: 0 10px 26px rgba(243, 80, 28, 0.22);
  transition: transform var(--motion-fast) var(--ease-standard), box-shadow var(--motion-fast) var(--ease-standard);
  will-change: transform;
}

.btn-hero:hover {
  transform: translateY(-1px);
  box-shadow: 0 12px 30px rgba(243, 80, 28, 0.26);
}

.btn-hero:active {
  transform: translateY(0);
  box-shadow: 0 9px 22px rgba(243, 80, 28, 0.22);
}

.btn-hero:focus-visible {
  outline: none;
  box-shadow:
    0 10px 26px rgba(243, 80, 28, 0.22),
    var(--shadow-focus);
}

.hero-footnote {
  margin: var(--space-3) 0 0;
  font-size: var(--fs-01);
  color: rgba(255, 255, 255, 0.38);
  grid-area: footnote;
}

.hero-media {
  margin-top: var(--space-7);
  display: grid;
  justify-items: center;
  grid-template-areas:
    "media"
    "detail";
  row-gap: var(--space-4);
  grid-area: media;
}

.hero-media-frame {
  position: relative;
  width: min(1120px, 100%);
  isolation: isolate;
  grid-area: media;
  z-index: 1;
}

.hero-media-frame::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 100%;
  aspect-ratio: 16 / 9;
  transform: translate(-50%, -50%) scale(1);
  border-radius: calc(var(--radius-2) + 18px);
  opacity: 0.85;
  background:
    radial-gradient(60% 70% at 25% 40%, rgba(243, 80, 28, 0.55), transparent 60%),
    radial-gradient(55% 60% at 70% 30%, rgba(255, 255, 255, 0.14), transparent 62%),
    radial-gradient(55% 65% at 70% 75%, rgba(243, 80, 28, 0.3), transparent 68%),
    linear-gradient(120deg, rgba(243, 80, 28, 0.2), rgba(255, 255, 255, 0.06), rgba(243, 80, 28, 0.24));
  background-size: 200% 200%;
  filter: blur(52px) saturate(1.15);
  z-index: 0;
  pointer-events: none;
  animation: hero-glow-shift 14s ease-in-out infinite;
}

.hero-dashboard {
  display: block;
  width: 100%;
  height: auto;
  border-radius: var(--radius-2);
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow:
    0 30px 90px rgba(0, 0, 0, 0.6),
    0 1px 0 rgba(255, 255, 255, 0.12) inset;
  position: relative;
  z-index: 1;
  transform: none;
  transform-origin: center center;
  transition: box-shadow var(--motion-med) var(--ease-standard), filter var(--motion-med) var(--ease-standard);
  filter: saturate(1.02) contrast(1.02);
}

.hero-stats {
  position: relative;
  width: min(1120px, 100%);
  justify-self: center;
  align-self: stretch;
  grid-area: media;
  pointer-events: none;
  z-index: 2;
  overflow: visible;
}

.hero-stats-grid {
  position: absolute;
  inset: 0;
}

.hero-stat {
  position: absolute;
  width: min(168px, 28vw);
  padding: var(--space-3) var(--space-3);
  border-radius: var(--radius-lg);
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(10, 12, 18, 0.6);
  box-shadow:
    0 18px 48px rgba(0, 0, 0, 0.45),
    0 1px 0 rgba(255, 255, 255, 0.08) inset;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  color: rgba(255, 255, 255, 0.9);
  text-align: left;
  display: grid;
  gap: var(--space-1);
  pointer-events: auto;
  cursor: pointer;
  transform: translateY(-50%);
  transition:
    transform 180ms var(--ease-standard),
    border-color 180ms var(--ease-standard),
    background 180ms var(--ease-standard),
    box-shadow 180ms var(--ease-standard);
  animation: hero-stat-float 6.4s ease-in-out infinite;
  will-change: transform;
}

@media (min-width: 1024px) and (hover: hover) and (pointer: fine) {
  .hero-stat:hover {
    transform: translateY(-50%) translateY(-2px) scale(0.98);
    background: rgba(15, 16, 22, 0.7);
    border-color: rgba(255, 255, 255, 0.18);
    box-shadow:
      0 22px 60px rgba(0, 0, 0, 0.5),
      0 1px 0 rgba(255, 255, 255, 0.1) inset;
  }
}

.hero-stat:active {
  transform: translateY(-50%) translateY(0) scale(0.95);
}

@keyframes hero-stat-float {
  0%,
  100% {
    transform: translateY(-50%) translateY(0);
  }
  50% {
    transform: translateY(-50%) translateY(-8px);
  }
}

.hero-stat:focus-visible {
  outline: none;
  box-shadow:
    0 22px 60px rgba(0, 0, 0, 0.5),
    0 1px 0 rgba(255, 255, 255, 0.1) inset,
    0 0 0 4px rgba(243, 80, 28, 0.22);
}

.hero-stat[aria-pressed="true"] {
  border-color: rgba(243, 80, 28, 0.55);
  background:
    linear-gradient(
      135deg,
      rgba(243, 80, 28, 0.18) 0%,
      rgba(255, 255, 255, 0.08) 55%,
      rgba(243, 80, 28, 0.14) 100%
    ),
    rgba(15, 16, 22, 0.72);
  box-shadow:
    0 22px 60px rgba(0, 0, 0, 0.52),
    0 1px 0 rgba(255, 255, 255, 0.1) inset;
}

.hero-stat-label {
  font-size: 0.68rem;
  font-weight: var(--fw-extrabold);
  letter-spacing: var(--ls-wider);
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.62);
}

.hero-stat-value {
  font-size: 0.98rem;
  font-weight: var(--fw-extrabold);
  letter-spacing: var(--ls-tight);
  color: #fff;
  text-shadow: 0 10px 24px rgba(0, 0, 0, 0.45);
}

.hero-stat-meta {
  font-size: 0.72rem;
  color: rgba(255, 255, 255, 0.44);
}

.hero-stat--gp {
  left: -56px;
  top: 18%;
  animation-delay: -0.8s;
}

.hero-stat--pm {
  left: -56px;
  top: 50%;
  animation-delay: -2.6s;
}

.hero-stat--apl {
  left: -56px;
  top: 82%;
  animation-delay: -4.2s;
}

.hero-stat--cr {
  right: -56px;
  top: 18%;
  animation-delay: -1.7s;
}

.hero-stat--apo {
  right: -56px;
  top: 50%;
  animation-delay: -3.4s;
}

.hero-stat--aov {
  right: -56px;
  top: 82%;
  animation-delay: -5.1s;
}

.hero-stat-detail {
  grid-area: detail;
  width: min(1120px, 100%);
  padding: var(--space-3) var(--space-4);
  border-radius: var(--radius-xl);
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(10, 12, 18, 0.55);
  box-shadow: 0 16px 44px rgba(0, 0, 0, 0.45);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  color: rgba(255, 255, 255, 0.68);
  text-align: center;
  pointer-events: none;
}

.hero-stat-detail strong {
  color: rgba(255, 255, 255, 0.92);
}

.hero-stat-detail .pos {
  color: rgba(134, 239, 172, 0.95);
}

.hero-stat-detail .neg {
  color: rgba(251, 113, 133, 0.95);
}

.hero-stat-detail .neu {
  color: rgba(255, 255, 255, 0.62);
}

@media (max-width: 767.98px) {
  .hero-media {
    grid-template-areas:
      "media"
      "detail"
      "stats";
  }

  .hero-stats {
    margin-top: 0;
    grid-area: stats;
    pointer-events: auto;
    width: min(1120px, 100%);
    align-self: auto;
  }

  .hero-stats-grid {
    position: static;
    inset: auto;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-3);
  }

  .hero-stat {
    position: static;
    width: auto;
    transform: none;
    animation: none;
  }
}

@keyframes hero-glow-shift {
  0% {
    background-position: 0% 40%;
    transform: translate(-50%, -50%) scale(0.98);
    opacity: 0.78;
    filter: blur(50px) saturate(1.1) hue-rotate(0deg);
  }
  50% {
    background-position: 100% 60%;
    transform: translate(-50%, -50%) scale(1.05);
    opacity: 0.9;
    filter: blur(56px) saturate(1.2) hue-rotate(10deg);
  }
  100% {
    background-position: 0% 40%;
    transform: translate(-50%, -50%) scale(0.98);
    opacity: 0.78;
    filter: blur(50px) saturate(1.1) hue-rotate(0deg);
  }
}

.overview {
  position: relative;
  overflow: hidden;
  --overview-glass-light: rgba(255, 255, 255, 0.82);
  --overview-glass-dark: rgba(255, 255, 255, 0.07);
  --overview-border-light: rgba(0, 0, 0, 0.08);
  --overview-border-dark: rgba(255, 255, 255, 0.14);
}

.overview--light {
  background:
    radial-gradient(820px 460px at 14% 20%, rgba(243, 80, 28, 0.12), transparent 60%),
    radial-gradient(900px 520px at 92% 12%, rgba(0, 0, 0, 0.04), transparent 62%),
    linear-gradient(180deg, var(--ctc-warm-white), #fff);
}

#overview-problem.overview--light {
  background: linear-gradient(180deg, var(--ctc-warm-white), #fff);
}

.overview--dark {
  background:
    radial-gradient(1200px 600px at 40% -40px, rgba(243, 80, 28, 0.18), transparent 58%),
    radial-gradient(900px 520px at 88% 18%, rgba(255, 255, 255, 0.06), transparent 60%),
    linear-gradient(180deg, #07090c, #121521);
  color: rgba(255, 255, 255, 0.72);
}

.overview-stack {
  display: grid;
  gap: var(--space-6);
}

.overview-panel {
  border-radius: var(--radius-2xl);
  border: 1px solid var(--color-border);
  background: rgba(255, 255, 255, 0.86);
  box-shadow:
    var(--shadow-1),
    inset 0 1px 0 rgba(255, 255, 255, 0.64);
  padding: clamp(1.25rem, 2vw, 2rem);
}

.overview-panel--problem {
  background: transparent;
  border: 0;
  box-shadow: none;
  padding: 0;
  border-radius: 0;
}

.overview--dark .overview-panel {
  border-color: var(--overview-border-dark);
  background: rgba(255, 255, 255, 0.06);
  box-shadow:
    0 34px 110px rgba(0, 0, 0, 0.42),
    0 22px 70px rgba(243, 80, 28, 0.1),
    inset 0 1px 0 rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.overview-panel--solution {
  background:
    radial-gradient(120% 140% at 18% 18%, rgba(243, 80, 28, 0.18), transparent 62%),
    radial-gradient(120% 140% at 88% 8%, rgba(255, 255, 255, 0.06), transparent 58%),
    rgba(255, 255, 255, 0.06);
}

.overview-panel-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-6);
  align-items: start;
}

.overview-eyebrow {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  margin-bottom: var(--space-2);
  padding: 0.32rem 0.6rem;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  background: rgba(255, 255, 255, 0.06);
  color: rgba(255, 255, 255, 0.72);
  font-size: var(--fs-00);
  font-weight: var(--fw-extrabold);
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.overview-panel-title {
  margin: 0;
  font-size: var(--fs-05);
  font-weight: var(--fw-extrabold);
  letter-spacing: var(--ls-tight);
  line-height: var(--lh-heading);
  text-wrap: balance;
  color: var(--color-text);
}

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

.overview-panel-lead {
  margin: var(--space-3) 0 0;
  max-width: 62ch;
  font-size: var(--fs-03);
  line-height: var(--lh-relaxed);
  color: hsl(220 9% 38%);
}

.overview--dark .overview-panel-lead {
  color: rgba(255, 255, 255, 0.72);
}

.overview-frag {
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-4);
  align-items: stretch;
}

.overview-frag-connector {
  display: none;
  position: absolute;
  pointer-events: none;
  opacity: 0.55;
}

.overview-frag-connector--h {
  left: 50%;
  width: calc(var(--space-4) + 22px);
  height: 2px;
  transform: translateX(-50%);
  background: repeating-linear-gradient(90deg, rgba(0, 0, 0, 0.26) 0 7px, transparent 7px 12px);
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 14%, #000 42%, transparent 50%, #000 58%, #000 86%, transparent 100%);
  mask-image: linear-gradient(90deg, transparent 0%, #000 14%, #000 42%, transparent 50%, #000 58%, #000 86%, transparent 100%);
}

#overview-problem .overview-frag-connector--h {
  background: repeating-linear-gradient(90deg, rgba(243, 80, 28, 0.32) 0 7px, transparent 7px 12px);
}

.overview-frag-connector--v {
  top: 50%;
  height: calc(var(--space-4) + 22px);
  width: 2px;
  transform: translateY(-50%);
  background: repeating-linear-gradient(180deg, rgba(0, 0, 0, 0.26) 0 7px, transparent 7px 12px);
  -webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 14%, #000 42%, transparent 50%, #000 58%, #000 86%, transparent 100%);
  mask-image: linear-gradient(180deg, transparent 0%, #000 14%, #000 42%, transparent 50%, #000 58%, #000 86%, transparent 100%);
}

#overview-problem .overview-frag-connector--v {
  background: repeating-linear-gradient(180deg, rgba(243, 80, 28, 0.32) 0 7px, transparent 7px 12px);
}

.overview-frag-connector--top {
  top: 25%;
}

.overview-frag-connector--bottom {
  top: 75%;
}

.overview-frag-connector--left {
  left: 25%;
}

.overview-frag-connector--right {
  left: 75%;
}

.overview-node {
  border-radius: var(--radius-lg);
  border: 1px solid var(--overview-border-light);
  background: var(--overview-glass-light);
  padding: var(--space-5);
  display: flex;
  align-items: center;
  gap: var(--space-4);
  box-shadow:
    0 12px 40px rgba(0, 0, 0, 0.06),
    inset 0 1px 0 rgba(255, 255, 255, 0.6);
  transform: translateZ(0);
  transition:
    transform 180ms var(--ease-standard),
    box-shadow 180ms var(--ease-standard),
    border-color 180ms var(--ease-standard);
}

.overview-node:hover {
  transform: translateY(-2px);
  border-color: rgba(243, 80, 28, 0.24);
  box-shadow:
    0 18px 56px rgba(0, 0, 0, 0.1),
    inset 0 1px 0 rgba(255, 255, 255, 0.62);
}

.overview-node-icon {
  --node-icon: none;
  width: 44px;
  height: 44px;
  border-radius: 14px;
  flex: none;
  background: rgba(0, 0, 0, 0.06);
  box-shadow:
    0 12px 28px rgba(0, 0, 0, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.55);
  position: relative;
  overflow: hidden;
  transform: translateZ(0);
}

.overview-node-icon::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 22px;
  height: 22px;
  transform: translate(-50%, -50%);
  background: rgba(15, 18, 26, 0.72);
  -webkit-mask: var(--node-icon) center / contain no-repeat;
  mask: var(--node-icon) center / contain no-repeat;
}

.overview-node-icon::after {
  content: "";
  position: absolute;
  inset: -20%;
  background: linear-gradient(120deg, transparent 40%, rgba(255, 255, 255, 0.55), transparent 60%);
  transform: translateX(-28%) rotate(12deg);
  opacity: 0.5;
}

.overview-node-icon--ads {
  --node-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 10v4h4l5 5V5L7 10H3z'/%3E%3Cpath d='M16.5 12c0-1.77-1.02-3.29-2.5-4.03v8.05c1.48-.73 2.5-2.25 2.5-4.02z'/%3E%3Cpath d='M14 3.23v2.06c2.89.86 5 3.54 5 6.71s-2.11 5.85-5 6.71v2.06c4.01-.91 7-4.49 7-8.77 0-4.28-2.99-7.86-7-8.77z'/%3E%3C/svg%3E");
  background: linear-gradient(180deg, rgba(243, 80, 28, 0.26), rgba(243, 80, 28, 0.12));
  border: 1px solid rgba(243, 80, 28, 0.26);
}

.overview-node-icon--crm {
  --node-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14 2H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V8l-6-6zm0 2.5L18.5 9H14V4.5zM12 12c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm4 6H8v-1c0-1.1 2.7-2 4-2s4 .9 4 2v1z'/%3E%3C/svg%3E");
  background: linear-gradient(180deg, rgba(33, 150, 243, 0.2), rgba(33, 150, 243, 0.12));
  border: 1px solid rgba(33, 150, 243, 0.22);
}

.overview-node-icon--calls {
  --node-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.62 10.79a15.05 15.05 0 0 0 6.59 6.59l2.2-2.2a1 1 0 0 1 1.01-.24c1.12.37 2.33.57 3.58.57a1 1 0 0 1 1 1V20a1 1 0 0 1-1 1C10.07 21 3 13.93 3 5a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.46.57 3.59a1 1 0 0 1-.25 1.01l-2.2 2.19z'/%3E%3C/svg%3E");
  background: linear-gradient(180deg, rgba(140, 140, 140, 0.2), rgba(140, 140, 140, 0.12));
  border: 1px solid rgba(140, 140, 140, 0.22);
}

.overview-node-icon--profit {
  --node-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M16 6l2.29 2.29-4.88 4.88-4-4L2 16.46 3.41 17.88l6-6 4 4 6.29-6.29L22 12V6z'/%3E%3C/svg%3E");
  background: linear-gradient(180deg, rgba(16, 185, 129, 0.22), rgba(16, 185, 129, 0.12));
  border: 1px solid rgba(16, 185, 129, 0.22);
}

#overview-problem .overview-node-icon {
  --node-icon-size: 24px;
  --node-icon-offset-x: 0px;
  --node-icon-offset-y: 0px;
  background: linear-gradient(180deg, rgba(243, 80, 28, 0.26), rgba(243, 80, 28, 0.12));
  border: 1px solid rgba(243, 80, 28, 0.26);
}

#overview-problem .overview-node-icon::before {
  width: var(--node-icon-size);
  height: var(--node-icon-size);
  transform: translate(calc(-50% + var(--node-icon-offset-x)), calc(-50% + var(--node-icon-offset-y)));
  background: rgba(243, 80, 28, 0.9);
}

#overview-problem .overview-node-icon--ads {
  --node-icon-size: 34px;
  --node-icon-offset-x: -2px;
  --node-icon-offset-y: -2px;
  --node-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M11.548 8.632a.75.75 0 0 1 .82.311l5.228 7.917a.75.75 0 0 1-.777 1.148l-2.097-.43 1.045 3.9a.75.75 0 0 1-1.45.388l-1.044-3.899-1.601 1.42a.75.75 0 0 1-1.247-.606l.569-9.47a.75.75 0 0 1 .554-.68Z'/%3E%3C/svg%3E");
}

.overview-frag.icon-set-b .overview-node-icon::before {
  width: 24px;
  height: 24px;
  background: rgba(15, 18, 26, 0.78);
}

#overview-problem .overview-frag.icon-set-b .overview-node-icon::before {
  background: rgba(243, 80, 28, 0.9);
}

.overview-frag.icon-set-b .overview-node-icon--ads {
  --node-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 11v2h3l6 4V7l-6 4H4z' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'/%3E%3Cpath d='M14 9.5a4 4 0 0 1 0 5' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3Cpath d='M16.5 8a6.5 6.5 0 0 1 0 8' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
}

.overview-frag.icon-set-b .overview-node-icon--crm {
  --node-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='4' y='5' width='16' height='14' rx='2' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='M12 11a2.2 2.2 0 1 0 0-4.4 2.2 2.2 0 0 0 0 4.4z' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='M7.5 17c.9-2 3-3 4.5-3s3.6 1 4.5 3' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
}

.overview-frag.icon-set-b .overview-node-icon--calls {
  --node-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.5 10.5c1.8 3.3 3.7 5.2 7 7l2-2c.4-.4 1-.5 1.6-.3 1 .4 2.1.6 3.2.6V20c0 .6-.4 1-1 1C12 21 3 12 3 2.7c0-.6.4-1 1-1h3.3c.6 0 1 .4 1 1 0 1.1.2 2.2.6 3.2.2.6.1 1.2-.3 1.6l-2 2z' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.overview-frag.icon-set-b .overview-node-icon--profit {
  --node-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 16l6-6 3 3 7-7' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M17 6h4v4' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.overview-frag.icon-set-c .overview-node-icon--ads {
  --node-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 8c-2.21 0-4 1.79-4 4s1.79 4 4 4 4-1.79 4-4-1.79-4-4-4zm9 3h-2.07A7.002 7.002 0 0 0 13 5.07V3h-2v2.07A7.002 7.002 0 0 0 5.07 11H3v2h2.07A7.002 7.002 0 0 0 11 18.93V21h2v-2.07A7.002 7.002 0 0 0 18.93 13H21v-2z'/%3E%3C/svg%3E");
}

.overview-frag.icon-set-c .overview-node-icon--crm {
  --node-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2C7 2 3 3.79 3 6v12c0 2.21 4 4 9 4s9-1.79 9-4V6c0-2.21-4-4-9-4zm0 2c4.42 0 7 .99 7 2s-2.58 2-7 2-7-.99-7-2 2.58-2 7-2zm0 6c4.42 0 7-.99 7-2v3c0 1.01-2.58 2-7 2s-7-.99-7-2V8c0 1.01 2.58 2 7 2zm0 5c4.42 0 7-.99 7-2v3c0 1.01-2.58 2-7 2s-7-.99-7-2v-3c0 1.01 2.58 2 7 2z'/%3E%3C/svg%3E");
}

.overview-frag.icon-set-c .overview-node-icon--calls {
  --node-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 1C6.48 1 2 5.48 2 11v7c0 1.1.9 2 2 2h3v-8H4v-1c0-4.41 3.59-8 8-8s8 3.59 8 8v1h-3v8h3c1.1 0 2-.9 2-2v-7c0-5.52-4.48-10-10-10zm-1 18h2v2h-2v-2z'/%3E%3C/svg%3E");
}

.overview-frag.icon-set-c .overview-node-icon--profit {
  --node-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M21 7H3V5h18v2zm0 2H3v10c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V9zm-4 6h-4v-2h4v2z'/%3E%3C/svg%3E");
}

.overview-node-title {
  font-weight: var(--fw-extrabold);
  letter-spacing: -0.01em;
  color: var(--color-text);
}

.overview-node-sub {
  margin-top: 2px;
  font-size: var(--fs-01);
  color: hsl(220 9% 38%);
}

.overview-flow {
  margin-top: var(--space-5);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-3);
}

.overview-flow-step {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.55rem 0.85rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.14);
  color: rgba(255, 255, 255, 0.82);
  font-size: var(--fs-01);
  font-weight: var(--fw-extrabold);
  letter-spacing: 0.02em;
  transition:
    transform var(--motion-fast) var(--ease-standard),
    background-color var(--motion-fast) var(--ease-standard),
    border-color var(--motion-fast) var(--ease-standard),
    box-shadow var(--motion-fast) var(--ease-standard);
}

.overview-flow-step:hover {
  transform: translateY(-1px);
  border-color: rgba(255, 255, 255, 0.22);
  background: rgba(255, 255, 255, 0.11);
}

.overview-flow-step--accent {
  border-color: rgba(243, 80, 28, 0.4);
  background: rgba(243, 80, 28, 0.18);
  color: #fff;
  box-shadow: 0 12px 26px rgba(243, 80, 28, 0.16);
  animation: none;
}

@keyframes overview-profit-pulse {
  0% {
    box-shadow: 0 12px 26px rgba(243, 80, 28, 0.12);
  }
  50% {
    box-shadow: 0 16px 40px rgba(243, 80, 28, 0.22);
  }
  100% {
    box-shadow: 0 12px 26px rgba(243, 80, 28, 0.12);
  }
}

.overview-flow-connector {
  width: 26px;
  height: 1px;
  background: rgba(255, 255, 255, 0.22);
  position: relative;
  flex: none;
}

.overview-flow-connector::after {
  content: "";
  position: absolute;
  right: -1px;
  top: 50%;
  width: 8px;
  height: 8px;
  border-right: 2px solid rgba(255, 255, 255, 0.32);
  border-top: 2px solid rgba(255, 255, 255, 0.32);
  transform: translateY(-50%) rotate(45deg);
}

#overview-solution .overview-panel-visual {
  display: grid;
  gap: var(--space-4);
  align-content: start;
  justify-items: stretch;
}

.overview-hub {
  min-width: 0;
  border-radius: 18px;
  border: 1px solid var(--overview-border-dark);
  background: rgba(255, 255, 255, 0.05);
  box-shadow:
    0 18px 52px rgba(0, 0, 0, 0.26),
    inset 0 1px 0 rgba(255, 255, 255, 0.08);
  padding: var(--space-5);
  display: grid;
  gap: var(--space-4);
  margin-bottom: 0;
  position: relative;
  overflow: hidden;
  backdrop-filter: blur(10px);
}

.overview-hub::before {
  content: "";
  position: absolute;
  inset: -2px;
  background: radial-gradient(420px 240px at 22% 18%, rgba(243, 80, 28, 0.22), transparent 60%);
  opacity: 0.65;
  pointer-events: none;
}

.overview-hub-top {
  position: relative;
  display: flex;
  gap: var(--space-4);
  align-items: center;
  flex-wrap: wrap;
}

.overview-hub-logo {
  width: 125px;
  width: clamp(88px, 16vw, 112px);
  height: auto;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
  padding: 10px 14px;
  display: block;
  flex: none;
  max-width: 100%;
}

.overview-hub-meta {
  min-width: 0;
}

.overview-hub-title {
  font-weight: 900;
  letter-spacing: -0.01em;
  color: #fff;
  line-height: 1.1;
}

.overview-hub-sub {
  margin-top: 2px;
  font-size: var(--fs-01);
  color: rgba(255, 255, 255, 0.6);
  line-height: 1.35;
}

.overview-hub-tags {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
  list-style: none;
  padding: 0;
  margin: 0;
}

.overview-hub-tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.4rem 0.6rem;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  background: rgba(255, 255, 255, 0.06);
  color: rgba(255, 255, 255, 0.72);
  font-size: var(--fs-00);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  white-space: nowrap;
}

.overview-insights-title {
  margin: 0;
  font-size: var(--fs-04);
  font-weight: 900;
  letter-spacing: -0.01em;
  color: #fff;
}

.overview-insights-grid {
  margin: var(--space-4) 0 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-3);
  list-style: none;
  padding: 0;
}

.overview-insight {
  border-radius: 14px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  background: rgba(255, 255, 255, 0.05);
  padding: 0.85rem 0.95rem 0.85rem 2.2rem;
  color: rgba(255, 255, 255, 0.78);
  font-size: var(--fs-01);
  line-height: 1.35;
  position: relative;
  transition:
    border-color 160ms ease,
    background-color 160ms ease;
}

.overview-insight::before {
  content: "✓";
  position: absolute;
  left: 0.85rem;
  top: 0.8rem;
  width: 1.05rem;
  height: 1.05rem;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: rgba(243, 80, 28, 0.16);
  border: 1px solid rgba(243, 80, 28, 0.3);
  color: #fff;
  font-size: 0.75rem;
  line-height: 1;
}

.overview-insight:hover {
  border-color: rgba(255, 255, 255, 0.2);
  background: rgba(255, 255, 255, 0.07);
}

.overview-cta-row {
  margin-top: var(--space-5);
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  align-items: flex-start;
}

.overview-goal {
  color: rgba(255, 255, 255, 0.78);
  font-weight: 850;
  letter-spacing: -0.01em;
  line-height: 1.2;
}

.overview-question {
  margin-top: var(--space-2);
  color: rgba(255, 255, 255, 0.66);
  font-size: var(--fs-01);
  line-height: var(--lh-relaxed);
  max-width: 52ch;
}

.overview-cta {
  height: 2.75rem;
  padding: 0 var(--space-6);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-size: var(--fs-00);
  width: fit-content;
}

@media (min-width: 560px) {
  .overview-frag {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .overview-frag-connector {
    display: block;
  }

  .overview-insights-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1024px) {
  .overview-panel-grid {
    grid-template-columns: minmax(320px, 1fr) minmax(0, 1fr);
    gap: var(--space-8);
    align-items: center;
  }

  #overview-solution .overview-panel-grid {
    align-items: start;
  }

  .overview-cta-row {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    gap: var(--space-6);
  }

  #overview-solution .overview-cta-row {
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
  }

  .overview-cta-copy {
    max-width: 52ch;
  }
}

@media (prefers-reduced-motion: reduce) {
  .overview * {
    animation: none !important;
    transition: none !important;
  }
}

.pricing {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(1200px 600px at 40% -40px, rgba(243, 80, 28, 0.25), transparent 58%),
    radial-gradient(900px 460px at 92% 20%, rgba(255, 255, 255, 0.05), transparent 55%),
    linear-gradient(180deg, #07090c, #121521);
}

.pricing.pricing--light {
  background: linear-gradient(180deg, var(--ctc-warm-white), #fff);
}

#pricing.pricing--light {
  background: linear-gradient(180deg, var(--ctc-warm-white), #fff);
  box-shadow:
    inset 0 1px 0 rgba(0, 0, 0, 0.05),
    inset 0 -1px 0 rgba(0, 0, 0, 0.08);
}

#pricing.pricing--light::before,
#pricing.pricing--light::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  height: 1px;
  pointer-events: none;
  z-index: 0;
  background: rgba(15, 23, 42, 0.1);
}

#pricing.pricing--light::before {
  top: 0;
  opacity: 0.45;
}

#pricing.pricing--light::after {
  bottom: 0;
  opacity: 0.75;
}

.pricing.pricing--light .pricing-title {
  color: hsl(220 20% 14%);
}

.pricing.pricing--light .pricing-subtitle {
  color: hsl(220 9% 38%);
}

.pricing.pricing--light .pricing-billing {
  color: hsl(220 9% 38%);
}

.pricing.pricing--light .pricing-switch-ui {
  background: rgba(0, 0, 0, 0.04);
  border-color: rgba(0, 0, 0, 0.12);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.65);
}

.pricing.pricing--light .pricing-switch-ui::after {
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.18);
}

.pricing.pricing--light .pricing-switch-input:checked + .pricing-switch-ui {
  border-color: rgba(243, 80, 28, 0.45);
  background: rgba(243, 80, 28, 0.12);
}

.pricing.pricing--light .pricing-card {
  border-color: var(--ctc-border);
  background: rgba(255, 255, 255, 0.92);
  box-shadow:
    0 1px 0 rgba(15, 23, 42, 0.05),
    0 18px 50px rgba(15, 23, 42, 0.08);
  color: hsl(220 9% 38%);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  position: relative;
  overflow: hidden;
}

.pricing.pricing--light .pricing-card--featured {
  background: #fff;
  border-color: rgba(243, 80, 28, 0.3);
  box-shadow:
    0 1px 0 rgba(15, 23, 42, 0.05),
    0 22px 60px rgba(15, 23, 42, 0.1),
    0 0 0 3px rgba(243, 80, 28, 0.08);
}

.pricing.pricing--light .pricing-grid[data-selection-enabled] .pricing-card[data-selected] {
  background: #fff;
  border-color: rgba(243, 80, 28, 0.34);
  box-shadow:
    0 1px 0 rgba(15, 23, 42, 0.05),
    0 24px 65px rgba(15, 23, 42, 0.12),
    0 0 0 3px rgba(243, 80, 28, 0.1);
}

.pricing.pricing--light .pricing-grid[data-selection-enabled] .pricing-card--featured:not([data-selected]) {
  border-color: var(--ctc-border);
  background: rgba(255, 255, 255, 0.92);
  box-shadow:
    0 1px 0 rgba(15, 23, 42, 0.05),
    0 18px 50px rgba(15, 23, 42, 0.08);
}

.pricing.pricing--light .pricing-card--featured::before,
.pricing.pricing--light .pricing-grid[data-selection-enabled] .pricing-card[data-selected]::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 3px;
  background: rgba(243, 80, 28, 0.9);
  border-top-left-radius: var(--radius-xl);
  border-top-right-radius: var(--radius-xl);
}

.pricing.pricing--light .pricing-grid[data-selection-enabled] .pricing-card--featured:not([data-selected])::before {
  content: none;
}

.pricing.pricing--light .pricing-grid[data-selection-enabled] .pricing-card:hover {
  transform: translateY(-2px);
}

.pricing.pricing--light .pricing-grid[data-selection-enabled] .pricing-card:hover:not([data-selected]) {
  box-shadow:
    0 1px 0 rgba(15, 23, 42, 0.05),
    0 24px 70px rgba(15, 23, 42, 0.12);
}

.pricing.pricing--light .pricing-grid[data-selection-enabled] .pricing-card:focus-visible {
  outline: none;
  box-shadow:
    0 0 0 4px rgba(243, 80, 28, 0.12),
    0 1px 0 rgba(15, 23, 42, 0.05),
    0 24px 70px rgba(15, 23, 42, 0.12);
}

.pricing.pricing--light .pricing-chip {
  background: rgba(0, 0, 0, 0.04);
  border-color: rgba(0, 0, 0, 0.1);
  color: hsl(220 20% 14%);
}

.pricing.pricing--light .pricing-plan {
  color: hsl(220 20% 14%);
}

.pricing.pricing--light .pricing-tagline {
  color: hsl(220 9% 38%);
}

.pricing.pricing--light .pricing-price-value {
  color: hsl(220 20% 14%);
}

.pricing.pricing--light .pricing-price-unit {
  color: hsl(220 9% 38%);
}

.pricing.pricing--light .pricing-price-note {
  color: hsla(220, 9%, 38%, 0.75);
}

.pricing.pricing--light .pricing-features {
  border-top-color: var(--ctc-border);
}

.pricing.pricing--light .pricing-features li {
  color: hsl(220 9% 38%);
}

.pricing.pricing--light .pricing-features li::before {
  background: rgba(243, 80, 28, 0.14);
  border-color: rgba(243, 80, 28, 0.24);
}

.pricing.pricing--light .pricing-features li::after {
  border-left-color: rgba(0, 0, 0, 0.64);
  border-bottom-color: rgba(0, 0, 0, 0.64);
}

.pricing.pricing--light .pricing-btn {
  background: rgba(0, 0, 0, 0.04);
  border-color: rgba(0, 0, 0, 0.1);
  color: hsl(220 20% 14%);
}

.pricing.pricing--light .pricing-btn:hover {
  background: rgba(0, 0, 0, 0.06);
  border-color: rgba(0, 0, 0, 0.14);
}

.pricing .container {
  position: relative;
  z-index: 1;
}

.pricing-head {
  margin: 0 0 var(--space-6);
  width: 100%;
  max-width: 1120px;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: var(--space-6);
}

.pricing-title {
  margin: 0;
  font-size: var(--fs-05);
  line-height: 1.15;
  letter-spacing: -0.01em;
  font-weight: var(--fw-extrabold);
  color: #fff;
}

.pricing-subtitle {
  margin: var(--space-3) 0 0;
  max-width: 46ch;
  font-size: var(--fs-02);
  line-height: var(--lh-relaxed);
  color: rgba(255, 255, 255, 0.45);
}

.pricing-billing {
  display: inline-flex;
  align-items: center;
  gap: var(--space-3);
  color: rgba(255, 255, 255, 0.6);
  font-size: var(--fs-00);
  letter-spacing: var(--ls-wider);
  text-transform: uppercase;
  user-select: none;
}

.pricing-billing-label {
  white-space: nowrap;
}

.pricing-switch {
  display: inline-flex;
  align-items: center;
}

.pricing-switch-input {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  border: 0;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

.pricing-switch-ui {
  width: 46px;
  height: 26px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.14);
  position: relative;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
  cursor: pointer;
}

.pricing-switch-ui::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 4px;
  width: 18px;
  height: 18px;
  border-radius: 999px;
  transform: translateY(-50%);
  background: rgba(255, 255, 255, 0.86);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.35);
  transition: transform 160ms ease, background 160ms ease;
}

.pricing-switch-input:checked + .pricing-switch-ui {
  border-color: rgba(243, 80, 28, 0.45);
  background: rgba(243, 80, 28, 0.18);
}

.pricing-switch-input:checked + .pricing-switch-ui::after {
  transform: translateY(-50%) translateX(20px);
  background: rgba(255, 255, 255, 0.96);
}

.pricing-grid {
  margin: 0;
  width: 100%;
  max-width: 1120px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-5);
  align-items: stretch;
}

.pricing-billing-options {
  margin: var(--space-6) 0 0;
  width: 100%;
  max-width: 1120px;
  display: grid;
  gap: var(--space-4);
}

.pricing-billing-options-title {
  margin: 0;
  font-size: var(--fs-03);
  font-weight: 850;
  letter-spacing: -0.01em;
  color: #fff;
}

.pricing-billing-options-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4);
  align-items: stretch;
}

.billing-option {
  border-radius: var(--radius-lg);
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.03);
  padding: var(--space-5);
  color: rgba(255, 255, 255, 0.74);
  transition:
    border-color var(--motion-fast) var(--ease-standard),
    box-shadow var(--motion-fast) var(--ease-standard),
    background var(--motion-fast) var(--ease-standard);
}

.billing-option[data-active] {
  border-color: rgba(243, 80, 28, 0.5);
  background:
    radial-gradient(120% 140% at 88% 6%, rgba(243, 80, 28, 0.2), transparent 60%),
    rgba(255, 255, 255, 0.035);
  box-shadow: 0 22px 70px rgba(243, 80, 28, 0.12);
}

.billing-option-title {
  margin: 0;
  font-size: var(--fs-02);
  font-weight: var(--fw-extrabold);
  letter-spacing: -0.01em;
  color: #fff;
}

.billing-option-list {
  margin: var(--space-3) 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: var(--space-2);
  font-size: var(--fs-01);
  line-height: 1.45;
}

.billing-option-list li {
  position: relative;
  padding-left: 1.25rem;
}

.billing-option-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: rgba(243, 80, 28, 0.3);
  border: 1px solid rgba(243, 80, 28, 0.45);
  box-shadow: 0 10px 22px rgba(243, 80, 28, 0.12);
  transform: translateY(-50%);
}

.pricing-billing-summary {
  margin: 0;
  max-width: 90ch;
  color: rgba(255, 255, 255, 0.6);
  font-size: var(--fs-01);
  line-height: var(--lh-relaxed);
}

.pricing-card {
  border-radius: var(--radius-xl);
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(255, 255, 255, 0.03);
  box-shadow:
    0 26px 80px rgba(0, 0, 0, 0.55),
    inset 0 1px 0 rgba(255, 255, 255, 0.06);
  padding: var(--space-6);
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
  color: rgba(255, 255, 255, 0.78);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  cursor: default;
  transition:
    transform var(--motion-fast) var(--ease-standard),
    box-shadow var(--motion-fast) var(--ease-standard),
    border-color var(--motion-fast) var(--ease-standard);
}

.pricing-card--featured {
  background:
    radial-gradient(120% 140% at 88% 6%, rgba(243, 80, 28, 0.24), transparent 58%),
    radial-gradient(120% 160% at 18% 112%, rgba(243, 80, 28, 0.14), transparent 60%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0.02));
  border-color: rgba(243, 80, 28, 0.35);
  box-shadow:
    0 34px 110px rgba(0, 0, 0, 0.62),
    0 22px 70px rgba(243, 80, 28, 0.14),
    inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.pricing-grid[data-selection-enabled] .pricing-card {
  cursor: pointer;
}

.pricing-grid[data-selection-enabled] .pricing-card[data-selected] {
  background:
    radial-gradient(120% 140% at 88% 6%, rgba(243, 80, 28, 0.24), transparent 58%),
    radial-gradient(120% 160% at 18% 112%, rgba(243, 80, 28, 0.14), transparent 60%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0.02));
  border-color: rgba(243, 80, 28, 0.35);
  box-shadow:
    0 34px 110px rgba(0, 0, 0, 0.62),
    0 22px 70px rgba(243, 80, 28, 0.14),
    inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.pricing-grid[data-selection-enabled] .pricing-card--featured:not([data-selected]) {
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(255, 255, 255, 0.03);
  box-shadow:
    0 26px 80px rgba(0, 0, 0, 0.55),
    inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

.pricing-card-head {
  display: grid;
  gap: var(--space-4);
}

.pricing-card-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-4);
}

.pricing-chip {
  font-size: 0.7rem;
  font-weight: var(--fw-extrabold);
  letter-spacing: var(--ls-wider);
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.8);
  padding: var(--space-1) var(--space-2);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.12);
  opacity: 0;
  transform: translateY(-2px);
  transition: opacity 140ms ease;
}

.pricing[data-billing="annual"] .pricing-chip {
  opacity: 1;
}

.pricing-plan {
  margin: 0;
  font-size: var(--fs-04);
  font-weight: var(--fw-extrabold);
  letter-spacing: -0.01em;
  color: #fff;
}

.pricing-tagline {
  margin: var(--space-1) 0 0;
  font-size: var(--fs-01);
  line-height: var(--lh-relaxed);
  color: rgba(255, 255, 255, 0.45);
}

.pricing-price {
  display: grid;
  gap: var(--space-1);
}

.pricing-price-row {
  display: inline-flex;
  align-items: baseline;
  gap: var(--space-3);
}

.pricing-price-value {
  font-size: 2.25rem;
  font-weight: var(--fw-black);
  letter-spacing: -0.03em;
  color: #fff;
  line-height: 1.05;
}

.pricing-price-unit {
  font-size: var(--fs-01);
  color: rgba(255, 255, 255, 0.55);
}

.pricing-price-note {
  font-size: var(--fs-00);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.35);
}

.pricing-features {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: var(--space-3);
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  padding-top: var(--space-5);
}

.pricing-features li {
  position: relative;
  padding-left: 1.5rem;
  font-size: var(--fs-01);
  color: rgba(255, 255, 255, 0.7);
  line-height: 1.45;
}

.pricing-features li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.18rem;
  width: 0.95rem;
  height: 0.95rem;
  border-radius: 999px;
  background: rgba(243, 80, 28, 0.2);
  border: 1px solid rgba(243, 80, 28, 0.35);
  box-shadow: 0 10px 24px rgba(243, 80, 28, 0.12);
}

.pricing-features li::after {
  content: "";
  position: absolute;
  left: 0.28rem;
  top: 0.44rem;
  width: 0.38rem;
  height: 0.2rem;
  border-left: 2px solid rgba(255, 255, 255, 0.9);
  border-bottom: 2px solid rgba(255, 255, 255, 0.9);
  transform: rotate(-45deg);
}

.pricing-btn,
.pricing-cta {
  width: 100%;
  height: 2.75rem;
  margin-top: auto;
  padding: 0 var(--space-5);
  font-size: var(--fs-00);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.pricing-btn {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.1);
  color: rgba(255, 255, 255, 0.92);
}

.pricing-btn:hover {
  background: rgba(255, 255, 255, 0.12);
  border-color: rgba(255, 255, 255, 0.16);
}

.pricing-cta {
  box-shadow: 0 12px 28px rgba(243, 80, 28, 0.18);
}

.pricing.pricing--light .pricing-billing-options-title,
.pricing.pricing--light .billing-option-title {
  color: hsl(220 20% 14%);
}

.pricing.pricing--light .billing-option {
  border-color: var(--ctc-border);
  background: rgba(255, 255, 255, 0.92);
  color: hsl(220 9% 38%);
  box-shadow:
    0 1px 0 rgba(15, 23, 42, 0.05),
    0 18px 50px rgba(15, 23, 42, 0.08);
  position: relative;
  overflow: hidden;
}

.pricing.pricing--light .billing-option[data-active] {
  border-color: rgba(243, 80, 28, 0.32);
  background: #fff;
  box-shadow:
    0 1px 0 rgba(15, 23, 42, 0.05),
    0 22px 60px rgba(15, 23, 42, 0.1),
    0 0 0 3px rgba(243, 80, 28, 0.08);
}

.pricing.pricing--light .billing-option[data-active]::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 3px;
  background: rgba(243, 80, 28, 0.9);
  border-top-left-radius: var(--radius-lg);
  border-top-right-radius: var(--radius-lg);
}

.pricing.pricing--light .billing-option-list li::before {
  background: rgba(243, 80, 28, 0.16);
  border-color: rgba(243, 80, 28, 0.28);
}

.pricing.pricing--light .pricing-billing-summary {
  color: hsla(220, 9%, 38%, 0.85);
}

.contact-section {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background:
    radial-gradient(820px 520px at 12% 44%, rgba(62, 139, 119, 0.26), transparent 64%),
    radial-gradient(760px 520px at 86% 18%, rgba(243, 80, 28, 0.22), transparent 62%),
    radial-gradient(1100px 680px at 50% 100%, rgba(255, 255, 255, 0.06), transparent 58%),
    linear-gradient(180deg, hsl(222 20% 10%), hsl(225 24% 6%));
  color: rgba(255, 255, 255, 0.74);
}

.contact-section::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background:
    radial-gradient(860px 520px at 16% 18%, rgba(255, 255, 255, 0.08), transparent 60%),
    radial-gradient(920px 560px at 86% 6%, rgba(255, 255, 255, 0.04), transparent 66%),
    linear-gradient(180deg, rgba(0, 0, 0, 0.08), rgba(0, 0, 0, 0.6));
  pointer-events: none;
}

.contact-section::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(900px 620px at 50% 48%, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.62)),
    linear-gradient(90deg, rgba(0, 0, 0, 0.55), rgba(0, 0, 0, 0) 22%, rgba(0, 0, 0, 0) 78%, rgba(0, 0, 0, 0.55));
  opacity: 0.7;
}

.contact-inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(280px, 0.9fr) minmax(0, 1.1fr);
  gap: clamp(2.5rem, 6vw, 5rem);
  align-items: center;
}

.contact-head {
  max-width: 560px;
}

.contact-title {
  margin: 0;
  font-size: clamp(1.9rem, 2.2vw, 2.25rem);
  font-weight: var(--fw-bold);
  letter-spacing: -0.01em;
  color: #fff;
}

.contact-title .accent {
  color: inherit;
}

.contact-subtitle {
  margin: var(--space-3) 0 0;
  color: rgba(255, 255, 255, 0.5);
  font-size: 0.95rem;
  line-height: 1.55;
  max-width: 54ch;
}

.contact-points {
  margin: var(--space-5) 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.65rem;
  max-width: 54ch;
  color: rgba(255, 255, 255, 0.62);
  font-size: var(--fs-01);
}

.contact-points li {
  display: flex;
  gap: var(--space-3);
  align-items: flex-start;
}

.contact-points li::before {
  content: "";
  width: 9px;
  height: 9px;
  border-radius: 999px;
  background: rgba(243, 80, 28, 0.92);
  box-shadow: 0 10px 22px rgba(243, 80, 28, 0.18);
  margin-top: 0.55em;
  flex: none;
}

.contact-card {
  margin: 0;
  width: min(560px, 100%);
  justify-self: end;
  align-self: start;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: var(--radius-2xl);
  background:
    radial-gradient(160% 140% at 6% 0%, rgba(255, 255, 255, 0.07), transparent 60%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.02)),
    rgba(22, 26, 32, 0.72);
  padding: clamp(1.5rem, 3.2vw, 2.5rem);
  display: grid;
  gap: var(--space-5);
  box-shadow:
    0 34px 92px rgba(0, 0, 0, 0.6),
    inset 0 1px 0 rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.contact-grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 14px;
  align-items: start;
}

.contact-field {
  grid-column: span 6;
  display: grid;
  gap: var(--space-2);
  align-content: start;
}

.contact-field--full {
  grid-column: 1 / -1;
}

.contact-field--actions {
  margin-top: var(--space-3);
}

.contact-label {
  font-size: var(--fs-00);
  font-weight: var(--fw-bold);
  color: rgba(255, 255, 255, 0.74);
}

.contact-label span {
  color: var(--ctc-orange);
}

.contact-error {
  margin: 0;
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  flex-wrap: wrap;
  width: fit-content;
  max-width: 100%;
  padding: var(--space-2) var(--space-3);
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.35);
  border: 1px solid rgba(243, 80, 28, 0.35);
  color: rgba(255, 255, 255, 0.86);
  font-size: var(--fs-00);
}

.contact-error[hidden] {
  display: none;
}

.contact-error::before {
  content: "!";
  width: 18px;
  height: 18px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(243, 80, 28, 0.22);
  border: 1px solid rgba(243, 80, 28, 0.45);
  color: rgba(255, 255, 255, 0.92);
  font-weight: var(--fw-black);
  line-height: 1;
}

.contact-input,
.contact-textarea {
  width: 100%;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 999px;
  padding: var(--space-3) var(--space-4);
  font: inherit;
  color: rgba(255, 255, 255, 0.9);
  background: rgba(0, 0, 0, 0.22);
  transition:
    border-color var(--motion-fast) var(--ease-standard),
    box-shadow var(--motion-fast) var(--ease-standard),
    background-color var(--motion-fast) var(--ease-standard);
}

.contact-input {
  height: 2.55rem;
}

.contact-input::placeholder,
.contact-textarea::placeholder {
  color: rgba(255, 255, 255, 0.38);
}

.contact-textarea {
  resize: vertical;
  min-height: 9.25rem;
  border-radius: 18px;
  padding: var(--space-4) var(--space-4);
}

.contact-input:hover,
.contact-textarea:hover {
  border-color: rgba(255, 255, 255, 0.24);
  background: rgba(0, 0, 0, 0.26);
}

.contact-input:focus-visible,
.contact-textarea:focus-visible {
  outline: none;
  border-color: rgba(255, 255, 255, 0.34);
  box-shadow: var(--shadow-focus);
}

.contact-input[aria-invalid="true"],
.contact-textarea[aria-invalid="true"] {
  border-color: rgba(243, 80, 28, 0.75);
  box-shadow: 0 0 0 4px rgba(243, 80, 28, 0.14);
}

.contact-actions {
  display: flex;
  align-items: stretch;
  justify-content: flex-start;
  flex-direction: column;
  gap: var(--space-4);
  flex-wrap: wrap;
}

.contact-submit {
  min-width: 0;
  width: 100%;
  min-height: 2.75rem;
  height: auto;
  align-self: stretch;
}

.contact-submit-icon {
  width: 2.6rem;
  height: 2.6rem;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.95);
  color: rgba(9, 11, 16, 0.95);
  font-size: 1.2rem;
  line-height: 1;
}

.contact-note {
  margin: 0;
  font-size: var(--fs-00);
  color: rgba(255, 255, 255, 0.45);
  text-align: center;
}

[data-contact-note] {
  margin: 0;
}

[data-contact-note]:empty {
  display: none;
}

[data-turnstile-container] {
  margin: 0;
}

[data-turnstile-container]:empty {
  display: none;
}

.faq-section {
  background: var(--color-bg);
}

.faq-inner {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-6);
  align-items: start;
}

.faq-head {
  text-align: center;
}

.faq-title {
  margin: 0;
  font-size: var(--fs-05);
  font-weight: 800;
  letter-spacing: -0.01em;
}

.faq {
  display: grid;
  gap: var(--space-3);
  max-width: 860px;
  margin: 0 auto;
}

.faq-item {
  border-radius: var(--radius-2);
  border: 1px solid var(--color-border);
  background: var(--color-surface);
  overflow: hidden;
  overflow: clip;
}

.faq-item summary {
  cursor: pointer;
  list-style: none;
  padding: var(--space-4) var(--space-4);
  font-weight: var(--fw-extrabold);
  font-size: var(--fs-01);
}

.faq-item summary::-webkit-details-marker {
  display: none;
}

.faq-item summary::after {
  content: "+";
  float: right;
  font-weight: var(--fw-black);
  color: var(--color-text-muted);
}

.faq-item[open] summary::after {
  content: "–";
}

.faq-body {
  padding: 0 var(--space-4) var(--space-4);
  color: var(--color-text-muted);
  font-size: var(--fs-01);
}

.site-footer {
  padding: var(--space-6) 0 calc(var(--space-6) + var(--space-2));
  border-top: 1px solid var(--color-border);
  color: var(--color-text-muted);
}

.footer-dark {
  background: var(--ctc-dark);
  color: rgba(255, 255, 255, 0.86);
}

.footer-top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: var(--space-6);
}

.footer-brand-row {
  display: inline-flex;
  align-items: center;
}

.footer-logo {
  display: block;
  width: 60px;
  height: 60px;
}

.footer-tagline {
  margin-top: var(--space-3);
  color: rgba(255, 255, 255, 0.72);
  font-size: var(--fs-01);
}

.footer-nav {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-4);
  justify-content: flex-end;
  font-size: var(--fs-01);
}

.footer-nav a {
  color: rgba(255, 255, 255, 0.72);
}

.footer-nav a:hover {
  color: rgba(255, 255, 255, 0.95);
}

.footer-rule {
  height: 1px;
  background: rgba(255, 255, 255, 0.14);
  margin: var(--space-6) auto;
}

.footer-bottom {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-4);
  align-items: center;
  justify-content: space-between;
  font-size: var(--fs-01);
  color: rgba(255, 255, 255, 0.72);
  padding-bottom: var(--space-2);
}

.footer-bottom a {
  color: rgba(255, 255, 255, 0.72);
}

.footer-legal-links {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
}

.legal-back {
  margin-top: var(--space-5);
  min-height: 2.75rem;
  padding: 0 var(--space-5);
  font-size: var(--fs-01);
}

.footer-bottom a:hover {
  color: rgba(255, 255, 255, 0.95);
}

.footer-inner {
  display: flex;
  justify-content: space-between;
  gap: var(--space-4);
  font-size: var(--fs-01);
}

.footer-tag {
  margin-top: var(--space-3);
}

.footer-copy {
  margin-top: var(--space-2);
}

.footer-right {
  display: flex;
  gap: var(--space-4);
  flex-wrap: wrap;
  justify-content: flex-end;
}

.footer-right a {
  color: var(--color-text-muted);
}

.footer-right a:hover {
  color: var(--color-text);
}

ctc-loading-screen,
ctc-success-toast {
  display: block;
}

ctc-loading-screen {
  position: fixed;
  inset: 0;
  z-index: 999;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition:
    opacity var(--motion-med) var(--ease-standard),
    visibility var(--motion-med) var(--ease-standard);
}

ctc-loading-screen[open],
ctc-loading-screen[data-open="true"] {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.ctc-loading {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  padding: var(--space-6) var(--space-4);
  background:
    radial-gradient(1200px 800px at 16% 18%, rgba(243, 80, 28, 0.22), transparent 60%),
    radial-gradient(980px 640px at 86% 22%, rgba(255, 255, 255, 0.08), transparent 58%),
    linear-gradient(180deg, rgba(10, 12, 18, 0.94), rgba(18, 20, 28, 0.94));
  backdrop-filter: blur(6px);
}

.ctc-loading-card {
  display: grid;
  justify-items: center;
  gap: var(--space-4);
  padding: var(--space-4);
  text-align: center;
}

.ctc-loading-logo {
  display: block;
  width: clamp(96px, 16vw, 132px);
  height: auto;
}

.ctc-loading-spinner {
  width: 42px;
  height: 42px;
  border-radius: 999px;
  border: 3px solid rgba(255, 255, 255, 0.22);
  border-top-color: rgba(255, 255, 255, 0.86);
  animation: ctc-spin 820ms linear infinite;
}

.ctc-loading-text {
  color: rgba(255, 255, 255, 0.76);
  font-size: var(--fs-02);
  line-height: var(--lh-default);
}

@keyframes ctc-spin {
  to {
    transform: rotate(360deg);
  }
}

ctc-success-toast {
  position: fixed;
  top: calc(var(--topbar-offset, 0px) + var(--space-4));
  right: var(--space-4);
  z-index: 998;
  width: min(420px, calc(100vw - (var(--space-4) * 2)));
  opacity: 0;
  transform: translateY(-10px);
  pointer-events: none;
  transition:
    transform var(--motion-med) var(--ease-standard),
    opacity var(--motion-med) var(--ease-standard);
}

ctc-success-toast[open],
ctc-success-toast[data-open="true"] {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

.ctc-toast-body {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: var(--space-3);
  padding: var(--space-3) var(--space-4);
  border-radius: var(--radius-xl);
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(15, 16, 22, 0.88);
  color: rgba(255, 255, 255, 0.88);
  box-shadow: var(--shadow-2);
}

.ctc-toast-icon {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 999px;
  background: rgba(149, 201, 170, 0.16);
  color: var(--ctc-success);
}

.ctc-toast-text {
  font-size: var(--fs-01);
  line-height: var(--lh-default);
}

.ctc-toast-close {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.06);
  color: rgba(255, 255, 255, 0.82);
  cursor: pointer;
  transition:
    background-color var(--motion-fast) var(--ease-standard),
    transform var(--motion-fast) var(--ease-standard);
}

.ctc-toast-close:hover {
  background: rgba(255, 255, 255, 0.12);
  transform: translateY(-1px);
}

.notfound-main {
  min-height: calc(100vh - var(--topbar-offset, 0px));
  display: grid;
  place-items: center;
  padding: var(--space-7) 0;
}

.notfound-card {
  width: min(920px, calc(100% - (var(--gutter) * 2)));
  padding: var(--space-7);
  border-radius: var(--radius-2xl);
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(15, 16, 22, 0.72);
  box-shadow: var(--shadow-3);
  text-align: left;
  color: rgba(255, 255, 255, 0.9);
}

.notfound-title {
  margin: 0;
  font-size: clamp(2.1rem, 5vw, 3.2rem);
  letter-spacing: var(--ls-tighter);
}

.notfound-subtitle {
  margin: var(--space-4) 0 0;
  color: rgba(255, 255, 255, 0.66);
  max-width: 70ch;
}

.notfound-actions {
  margin-top: var(--space-6);
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  align-items: center;
}

.btn-secondary {
  background: transparent;
  border-color: rgba(255, 255, 255, 0.2);
  color: rgba(255, 255, 255, 0.92);
}

.btn-secondary:hover {
  border-color: rgba(255, 255, 255, 0.32);
  background: rgba(255, 255, 255, 0.06);
}

.notfound-links {
  margin-top: var(--space-6);
  display: grid;
  gap: var(--space-3);
}

.notfound-links-title {
  margin: 0;
  font-size: var(--fs-03);
}

.notfound-links-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-3);
}

.notfound-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  padding: var(--space-3) var(--space-4);
  border-radius: var(--radius-lg);
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.04);
  color: rgba(255, 255, 255, 0.86);
  transition:
    background-color var(--motion-fast) var(--ease-standard),
    transform var(--motion-fast) var(--ease-standard),
    border-color var(--motion-fast) var(--ease-standard);
}

.notfound-link:hover {
  transform: translateY(-1px);
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.18);
}

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

  .btn-consult {
    display: none;
  }

  .topbar-toggle {
    display: inline-flex;
    grid-column: 3;
  }

  .pricing-head {
    flex-direction: column;
    align-items: center;
    gap: var(--space-4);
    text-align: center;
  }

  .pricing-billing {
    width: 100%;
    justify-content: center;
  }

  .pricing-grid {
    grid-template-columns: 1fr;
  }

  .pricing-billing-options-grid {
    grid-template-columns: 1fr;
  }

  .contact-inner {
    grid-template-columns: 1fr;
    gap: var(--space-6);
  }

  .contact-card {
    width: 100%;
    justify-self: stretch;
  }
}

@media (max-width: 767.98px) {
  .footer-top {
    flex-direction: column;
    align-items: flex-start;
  }

  .footer-nav {
    justify-content: flex-start;
  }

  .footer-bottom {
    flex-direction: column;
    align-items: flex-start;
  }

  .contact-field {
    grid-column: 1 / -1;
  }

  .contact-submit {
    min-height: 2.75rem;
  }

  .notfound-card {
    padding: var(--space-6);
  }

  .notfound-links-grid {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  .hero-stat {
    animation: none;
    transition: none;
  }

  .hero-media-frame::before {
    animation: none;
    transform: translate(-50%, -50%) scale(1.02);
    opacity: 0.75;
  }

  .hero-dashboard {
    transform: none;
    transition: none;
  }

  ctc-loading-screen,
  ctc-success-toast {
    transition: none;
  }

  .ctc-loading-spinner {
    animation: none;
  }

  .ctc-toast-close,
  .notfound-link {
    transition: none;
  }
}
