/* Cook-e — cke.css — full-site stylesheet */
/* Fonts */
@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@700;800&family=DM+Sans:wght@400;500&family=JetBrains+Mono:wght@400&display=swap');

/* ============================================================
   CUSTOM PROPERTIES
   ============================================================ */
:root {
  --cke-dark-bg: #1A1D21;
  --cke-dark-bg-alt: #22262C;
  --cke-light-bg: #F5F0E8;
  --cke-light-bg-alt: #EDE8DF;
  --cke-white-bg: #FFFFFF;

  --cke-amber: #D97706;
  --cke-amber-on-light: #92560A;

  --cke-text-dark-primary: #E8E3DB;
  --cke-text-dark-muted: #A09990;
  --cke-text-dark-accent: #D97706;

  --cke-text-light-primary: #2C2926;
  --cke-text-light-muted: #5C5652;
  --cke-text-light-accent: #92560A;

  --cke-border-dark: #2E3238;
  --cke-border-light: #D8D2C8;

  --cke-nav-h: 64px;
  --cke-max-w: 1200px;
  --cke-col-gap: 2rem;
  --cke-section-py: 5rem;
  --cke-radius: 8px;
  --cke-radius-sm: 6px;
  --cke-radius-lg: 12px;
}

/* ============================================================
   RESET + BASE
   ============================================================ */
*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: 'DM Sans', system-ui, -apple-system, sans-serif;
  font-size: 1rem;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}

.cke-page--dark-top {
  background: var(--cke-dark-bg);
}

.cke-page--light-top {
  background: var(--cke-light-bg);
}

img {
  max-width: 100%;
  display: block;
}

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

button {
  cursor: pointer;
  border: none;
  background: none;
  font-family: inherit;
}

ul {
  list-style: none;
}

/* ============================================================
   TYPOGRAPHY SCALE
   ============================================================ */
h1 {
  font-family: 'Outfit', system-ui, sans-serif;
  font-weight: 800;
  font-size: clamp(2rem, 5vw, 3.75rem);
  line-height: 1.1;
  letter-spacing: -0.02em;
}

h2 {
  font-family: 'Outfit', system-ui, sans-serif;
  font-weight: 700;
  font-size: clamp(1.625rem, 3.5vw, 2.5rem);
  line-height: 1.2;
  letter-spacing: -0.015em;
}

h3 {
  font-family: 'Outfit', system-ui, sans-serif;
  font-weight: 700;
  font-size: clamp(1.25rem, 2.5vw, 1.75rem);
  line-height: 1.3;
  letter-spacing: -0.01em;
}

h4 {
  font-family: 'Outfit', system-ui, sans-serif;
  font-weight: 700;
  font-size: 1.125rem;
  line-height: 1.35;
}

p {
  line-height: 1.7;
}

.cke-label {
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.cke-body-large {
  font-size: 1.125rem;
  line-height: 1.7;
}

.cke-mono {
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.875rem;
}

/* ============================================================
   LAYOUT UTILITIES
   ============================================================ */
.cke-container {
  max-width: var(--cke-max-w);
  margin-inline: auto;
  padding-inline: 1.5rem;
}

.cke-section {
  padding-block: var(--cke-section-py);
}

.cke-section--dark {
  background: var(--cke-dark-bg);
  color: var(--cke-text-dark-primary);
}

.cke-section--dark-alt {
  background: var(--cke-dark-bg-alt);
  color: var(--cke-text-dark-primary);
}

.cke-section--light {
  background: var(--cke-light-bg);
  color: var(--cke-text-light-primary);
}

.cke-section--light-alt {
  background: var(--cke-light-bg-alt);
  color: var(--cke-text-light-primary);
}

.cke-section--white {
  background: var(--cke-white-bg);
  color: var(--cke-text-light-primary);
}

section[id] {
  scroll-margin-top: var(--cke-nav-h);
}

/* ============================================================
   BUTTONS
   ============================================================ */
.cke-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1.5rem;
  border-radius: var(--cke-radius-sm);
  font-family: 'DM Sans', system-ui, sans-serif;
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1;
  transition: background 0.18s, color 0.18s, border-color 0.18s, opacity 0.18s;
  white-space: nowrap;
}

.cke-btn--primary {
  background: var(--cke-amber);
  color: var(--cke-dark-bg);
  border: 1.5px solid var(--cke-amber);
}

.cke-btn--primary:hover {
  background: #B86006;
  border-color: #B86006;
}

.cke-btn--outline-on-dark {
  background: transparent;
  color: var(--cke-text-dark-primary);
  border: 1.5px solid var(--cke-border-dark);
}

.cke-btn--outline-on-dark:hover {
  border-color: var(--cke-text-dark-muted);
}

.cke-btn--ghost-on-dark {
  background: transparent;
  color: var(--cke-text-dark-primary);
  border: 1.5px solid rgba(232, 227, 219, 0.35);
}

.cke-btn--ghost-on-dark:hover {
  border-color: rgba(232, 227, 219, 0.65);
  background: rgba(255,255,255,0.05);
}

.cke-btn--ghost-on-light {
  background: transparent;
  color: var(--cke-text-light-primary);
  border: 1.5px solid var(--cke-border-light);
}

.cke-btn--ghost-on-light:hover {
  border-color: var(--cke-text-light-muted);
}

.cke-btn--text-link {
  background: transparent;
  border: none;
  padding: 0;
  color: var(--cke-amber-on-light);
  font-weight: 500;
}

.cke-btn--text-link:hover {
  color: var(--cke-dark-bg);
}

.cke-btn__icon--sm {
  font-size: 0.8em;
}

/* ============================================================
   NAV
   ============================================================ */
.cke-nav {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  height: var(--cke-nav-h);
  background: var(--cke-dark-bg);
  border-bottom: 1px solid var(--cke-border-dark);
  display: flex;
  align-items: center;
}

.cke-nav__inner {
  max-width: var(--cke-max-w);
  margin-inline: auto;
  padding-inline: 1.5rem;
  width: 100%;
  display: flex;
  align-items: center;
  gap: 2rem;
}

.cke-nav__brand {
  flex-shrink: 0;
}

.cke-nav__brand img {
  height: 32px;
  width: auto;
}

.cke-nav__links {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  flex: 1;
}

.cke-nav__link {
  font-size: 0.9rem;
  font-weight: 500;
  color: var(--cke-text-dark-muted);
  padding: 0.5rem 0.75rem;
  border-radius: 5px;
  transition: color 0.15s;
}

.cke-nav__link:hover,
.cke-nav__link--active {
  color: var(--cke-text-dark-primary);
}

.cke-nav__actions {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  margin-left: auto;
}

.cke-nav__sign-in {
  font-size: 0.9rem;
  font-weight: 500;
  color: var(--cke-text-dark-muted);
  padding: 0.5rem 0.875rem;
  border: 1.5px solid var(--cke-border-dark);
  border-radius: var(--cke-radius-sm);
  transition: color 0.15s, border-color 0.15s;
}

.cke-nav__sign-in:hover {
  color: var(--cke-text-dark-primary);
  border-color: var(--cke-text-dark-muted);
}

.cke-nav__cta {
  font-size: 0.9rem;
  font-weight: 500;
  background: var(--cke-amber);
  color: var(--cke-dark-bg);
  padding: 0.5rem 1rem;
  border-radius: var(--cke-radius-sm);
  transition: background 0.15s;
}

.cke-nav__cta:hover {
  background: #B86006;
}

.cke-nav__hamburger {
  display: none;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  width: 36px;
  height: 36px;
  margin-left: auto;
  padding: 6px;
  border-radius: 4px;
}

.cke-nav__hamburger span {
  display: block;
  width: 100%;
  height: 2px;
  background: var(--cke-text-dark-primary);
  border-radius: 2px;
  transition: transform 0.2s, opacity 0.2s;
}

.cke-nav--open .cke-nav__hamburger span:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}

.cke-nav--open .cke-nav__hamburger span:nth-child(2) {
  opacity: 0;
}

.cke-nav--open .cke-nav__hamburger span:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}

.cke-nav__mobile-menu {
  display: none;
  position: fixed;
  top: var(--cke-nav-h);
  left: 0;
  right: 0;
  background: var(--cke-dark-bg);
  border-top: 1px solid var(--cke-border-dark);
  padding: 1.5rem;
  z-index: 999;
  flex-direction: column;
  gap: 0.25rem;
}

.cke-nav--open .cke-nav__mobile-menu {
  display: flex;
}

.cke-nav__mobile-link {
  display: block;
  font-size: 1rem;
  font-weight: 500;
  color: var(--cke-text-dark-muted);
  padding: 0.75rem 0;
  border-bottom: 1px solid var(--cke-border-dark);
  transition: color 0.15s;
}

.cke-nav__mobile-link:last-child {
  border-bottom: none;
}

.cke-nav__mobile-link:hover {
  color: var(--cke-text-dark-primary);
}

.cke-nav__mobile-actions {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  padding-top: 1rem;
}

.cke-nav__mobile-actions .cke-nav__sign-in,
.cke-nav__mobile-actions .cke-nav__cta {
  text-align: center;
  display: block;
  padding: 0.75rem;
}

/* ============================================================
   HERO — INDEX (DARK, TWO-COLUMN)
   ============================================================ */
.cke-hero {
  padding-top: var(--cke-nav-h);
  background: var(--cke-dark-bg);
  padding-bottom: 0;
  overflow: hidden;
}

.cke-hero__inner {
  max-width: var(--cke-max-w);
  margin-inline: auto;
  padding-inline: 1.5rem;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--cke-col-gap);
  align-items: center;
  min-height: calc(100vh - var(--cke-nav-h));
  padding-top: 4rem;
  padding-bottom: 4rem;
}

.cke-hero__text {
  min-width: 0;
}

.cke-hero__eyebrow {
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--cke-amber);
  margin-bottom: 1.25rem;
}

.cke-hero__h1 {
  font-family: 'Outfit', system-ui, sans-serif;
  font-weight: 800;
  font-size: clamp(2rem, 5vw, 3.75rem);
  line-height: 1.1;
  letter-spacing: -0.02em;
  color: var(--cke-text-dark-primary);
  margin-bottom: 1.5rem;
}

.cke-hero__sub {
  font-size: 1.125rem;
  line-height: 1.7;
  color: var(--cke-text-dark-muted);
  margin-bottom: 2.25rem;
  max-width: 480px;
}

.cke-hero__actions {
  display: flex;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
}

.cke-hero__visual {
  min-width: 0;
  position: relative;
}

.cke-hero__img-wrap {
  border-radius: var(--cke-radius-lg);
  overflow: hidden;
  aspect-ratio: 4 / 3;
  background: var(--cke-dark-bg-alt);
}

.cke-hero__img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

/* ============================================================
   CONCEPT STRIP (DARK, CENTERED-STATEMENT)
   ============================================================ */
.cke-concept-strip {
  background: var(--cke-dark-bg-alt);
  padding-block: 4rem;
  text-align: center;
}

.cke-concept-strip__inner {
  max-width: 780px;
  margin-inline: auto;
  padding-inline: 1.5rem;
}

.cke-concept-strip__headline {
  font-family: 'Outfit', system-ui, sans-serif;
  font-weight: 800;
  font-size: clamp(1.75rem, 4vw, 3rem);
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: var(--cke-text-dark-primary);
}

.cke-concept-strip__headline em {
  font-style: normal;
  color: var(--cke-amber);
}

.cke-concept-strip__sub {
  margin-top: 1.25rem;
  font-size: 1.0625rem;
  line-height: 1.7;
  color: var(--cke-text-dark-muted);
}

/* ============================================================
   HOW IT WORKS PREVIEW (DARK, THREE-STEP-HORIZONTAL)
   ============================================================ */
.cke-hiw-preview {
  background: var(--cke-dark-bg);
  padding-block: var(--cke-section-py);
}

.cke-hiw-preview__inner {
  max-width: var(--cke-max-w);
  margin-inline: auto;
  padding-inline: 1.5rem;
}

.cke-hiw-preview__header {
  text-align: center;
  margin-bottom: 3.5rem;
}

.cke-hiw-preview__label {
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--cke-amber);
  margin-bottom: 0.875rem;
}

.cke-hiw-preview__title {
  font-family: 'Outfit', system-ui, sans-serif;
  font-weight: 700;
  font-size: clamp(1.625rem, 3.5vw, 2.5rem);
  line-height: 1.2;
  letter-spacing: -0.015em;
  color: var(--cke-text-dark-primary);
}

.cke-hiw-preview__steps {
  display: grid;
  grid-template-columns: 1fr auto 1fr auto 1fr;
  align-items: start;
  gap: 0;
  margin-bottom: 3rem;
}

.cke-hiw-preview__step {
  text-align: center;
  padding: 1.5rem 1rem;
  border-radius: var(--cke-radius);
  border: 1px solid var(--cke-border-dark);
  background: var(--cke-dark-bg-alt);
  transition: border-color 0.3s;
  min-width: 0;
}

.cke-hiw-preview__step--lit {
  border-color: var(--cke-amber);
  background: rgba(217, 119, 6, 0.06);
}

.cke-hiw-preview__arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 0.75rem;
  color: var(--cke-amber);
  font-size: 1.25rem;
  padding-top: 2.5rem;
}

.cke-hiw-preview__step-icon {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: rgba(217, 119, 6, 0.12);
  border: 1.5px solid var(--cke-amber);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 1rem;
  color: var(--cke-amber);
  font-size: 1.375rem;
  flex-shrink: 0;
}

.cke-hiw-preview__step-num {
  font-size: 0.7rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--cke-amber);
  margin-bottom: 0.5rem;
}

.cke-hiw-preview__step-title {
  font-family: 'Outfit', system-ui, sans-serif;
  font-weight: 700;
  font-size: 1.0625rem;
  line-height: 1.3;
  color: var(--cke-text-dark-primary);
  margin-bottom: 0.5rem;
}

.cke-hiw-preview__step-desc {
  font-size: 0.875rem;
  line-height: 1.6;
  color: var(--cke-text-dark-muted);
}

.cke-hiw-preview__svg-wrap {
  display: flex;
  justify-content: center;
  margin-bottom: 2.5rem;
}

.cke-hiw-preview__footer {
  text-align: center;
}

/* ============================================================
   USE CASES GRID (LIGHT, THREE-CARD)
   ============================================================ */
.cke-uc-grid {
  background: var(--cke-light-bg);
  padding-block: var(--cke-section-py);
}

.cke-uc-grid__inner {
  max-width: var(--cke-max-w);
  margin-inline: auto;
  padding-inline: 1.5rem;
}

.cke-uc-grid__header {
  text-align: center;
  margin-bottom: 3rem;
}

.cke-uc-grid__label {
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--cke-amber-on-light);
  margin-bottom: 0.75rem;
}

.cke-uc-grid__title {
  font-family: 'Outfit', system-ui, sans-serif;
  font-weight: 700;
  font-size: clamp(1.625rem, 3.5vw, 2.5rem);
  line-height: 1.2;
  letter-spacing: -0.015em;
  color: var(--cke-text-light-primary);
  margin-bottom: 0;
}

.cke-uc-grid__cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}

.cke-uc-card {
  background: var(--cke-white-bg);
  border-radius: var(--cke-radius-lg);
  overflow: hidden;
  border: 1px solid var(--cke-border-light);
  transition: box-shadow 0.2s, transform 0.2s;
  display: flex;
  flex-direction: column;
}

.cke-uc-card:hover {
  box-shadow: 0 8px 24px rgba(0,0,0,0.1);
  transform: translateY(-2px);
}

.cke-uc-card__img-wrap {
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: var(--cke-light-bg-alt);
  flex-shrink: 0;
}

.cke-uc-card__img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.cke-uc-card__body {
  padding: 1.5rem;
  flex: 1;
  display: flex;
  flex-direction: column;
}

.cke-uc-card__tag {
  font-size: 0.7rem;
  font-weight: 500;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: var(--cke-amber-on-light);
  margin-bottom: 0.625rem;
}

.cke-uc-card__title {
  font-family: 'Outfit', system-ui, sans-serif;
  font-weight: 700;
  font-size: 1.125rem;
  line-height: 1.3;
  color: var(--cke-text-light-primary);
  margin-bottom: 0.625rem;
}

.cke-uc-card__desc {
  font-size: 0.9rem;
  line-height: 1.65;
  color: var(--cke-text-light-muted);
  flex: 1;
  margin-bottom: 1.25rem;
}

.cke-uc-card__link {
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--cke-amber-on-light);
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  transition: gap 0.15s;
}

.cke-uc-card__link:hover {
  gap: 0.625rem;
}

/* ============================================================
   SPECS PROOF (LIGHT, METRIC-GRID)
   ============================================================ */
.cke-specs-proof {
  background: var(--cke-light-bg-alt);
  padding-block: var(--cke-section-py);
}

.cke-specs-proof__inner {
  max-width: var(--cke-max-w);
  margin-inline: auto;
  padding-inline: 1.5rem;
}

.cke-specs-proof__header {
  max-width: 600px;
  margin-bottom: 3rem;
}

.cke-specs-proof__label {
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--cke-amber-on-light);
  margin-bottom: 0.75rem;
}

.cke-specs-proof__title {
  font-family: 'Outfit', system-ui, sans-serif;
  font-weight: 700;
  font-size: clamp(1.625rem, 3.5vw, 2.5rem);
  line-height: 1.2;
  letter-spacing: -0.015em;
  color: var(--cke-text-light-primary);
  margin-bottom: 0.75rem;
}

.cke-specs-proof__sub {
  font-size: 1rem;
  line-height: 1.7;
  color: var(--cke-text-light-muted);
}

.cke-specs-proof__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.25rem;
}

.cke-metric-card {
  background: var(--cke-white-bg);
  border: 1px solid var(--cke-border-light);
  border-radius: var(--cke-radius);
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.cke-metric-card__icon {
  color: var(--cke-amber);
  font-size: 1.375rem;
  margin-bottom: 0.25rem;
}

.cke-metric-card__value {
  font-family: 'Outfit', system-ui, sans-serif;
  font-weight: 800;
  font-size: 2rem;
  line-height: 1;
  color: var(--cke-text-light-primary);
}

.cke-metric-card__unit {
  font-family: 'Outfit', system-ui, sans-serif;
  font-weight: 700;
  font-size: 1rem;
  color: var(--cke-text-light-muted);
  margin-left: 0.25rem;
}

.cke-metric-card__label {
  font-size: 0.8125rem;
  line-height: 1.5;
  color: var(--cke-text-light-muted);
  font-weight: 500;
}

/* ============================================================
   CTA STRIP (DARK, CENTERED)
   ============================================================ */
.cke-cta-strip {
  background: var(--cke-dark-bg-alt);
  padding-block: 5rem;
  text-align: center;
}

.cke-cta-strip__inner {
  max-width: 680px;
  margin-inline: auto;
  padding-inline: 1.5rem;
  text-align: center;
}

.cke-cta-strip__label {
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--cke-amber);
  margin-bottom: 1rem;
}

.cke-cta-strip__title {
  font-family: 'Outfit', system-ui, sans-serif;
  font-weight: 800;
  font-size: clamp(1.625rem, 3.5vw, 2.5rem);
  line-height: 1.2;
  letter-spacing: -0.015em;
  color: var(--cke-text-dark-primary);
  margin-bottom: 1rem;
}

.cke-cta-strip__sub {
  font-size: 1.0625rem;
  line-height: 1.7;
  color: var(--cke-text-dark-muted);
  margin-bottom: 2rem;
}

.cke-cta-strip__actions {
  display: flex;
  justify-content: center;
  gap: 1rem;
  flex-wrap: wrap;
}

.cke-cta-strip__form {
  display: flex;
  flex-direction: column;
  gap: 0.875rem;
  max-width: 480px;
  margin-inline: auto;
  text-align: left;
}

.cke-cta-strip__form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.875rem;
}

.cke-cta-strip__form .cke-btn--primary {
  width: 100%;
  justify-content: center;
}

/* ============================================================
   FORM INPUTS
   ============================================================ */
.cke-field {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
}

.cke-field__label {
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--cke-text-dark-muted);
}

.cke-field__label--light {
  color: var(--cke-text-light-muted);
}

.cke-input {
  padding: 0.625rem 0.875rem;
  border: 1.5px solid var(--cke-border-dark);
  border-radius: var(--cke-radius-sm);
  background: rgba(255,255,255,0.05);
  color: var(--cke-text-dark-primary);
  font-family: 'DM Sans', system-ui, sans-serif;
  font-size: 0.9375rem;
  transition: border-color 0.15s;
  width: 100%;
}

.cke-input:focus {
  outline: none;
  border-color: var(--cke-amber);
}

.cke-input--light {
  background: var(--cke-white-bg);
  border-color: var(--cke-border-light);
  color: var(--cke-text-light-primary);
}

.cke-input--light:focus {
  border-color: var(--cke-amber-on-light);
}

.cke-select {
  padding: 0.625rem 0.875rem;
  border: 1.5px solid var(--cke-border-dark);
  border-radius: var(--cke-radius-sm);
  background: rgba(255,255,255,0.05);
  color: var(--cke-text-dark-primary);
  font-family: 'DM Sans', system-ui, sans-serif;
  font-size: 0.9375rem;
  transition: border-color 0.15s;
  width: 100%;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23A09990' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  padding-right: 2.25rem;
}

.cke-select:focus {
  outline: none;
  border-color: var(--cke-amber);
}

.cke-textarea {
  padding: 0.625rem 0.875rem;
  border: 1.5px solid var(--cke-border-dark);
  border-radius: var(--cke-radius-sm);
  background: rgba(255,255,255,0.05);
  color: var(--cke-text-dark-primary);
  font-family: 'DM Sans', system-ui, sans-serif;
  font-size: 0.9375rem;
  resize: vertical;
  min-height: 120px;
  transition: border-color 0.15s;
  width: 100%;
}

.cke-textarea:focus {
  outline: none;
  border-color: var(--cke-amber);
}

.cke-textarea--light {
  background: var(--cke-white-bg);
  border-color: var(--cke-border-light);
  color: var(--cke-text-light-primary);
}

.cke-textarea--light:focus {
  border-color: var(--cke-amber-on-light);
}

/* ============================================================
   FOOTER
   ============================================================ */
.cke-footer {
  background: var(--cke-dark-bg);
  border-top: 1px solid var(--cke-border-dark);
  padding-top: 3.5rem;
  padding-bottom: 2rem;
}

.cke-footer__inner {
  max-width: var(--cke-max-w);
  margin-inline: auto;
  padding-inline: 1.5rem;
}

.cke-footer__top {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 2rem;
  margin-bottom: 3rem;
  padding-bottom: 2.5rem;
  border-bottom: 1px solid var(--cke-border-dark);
}

.cke-footer__brand {
  min-width: 0;
}

.cke-footer__logo {
  height: 30px;
  width: auto;
  margin-bottom: 1rem;
}

.cke-footer__tagline {
  font-size: 0.9rem;
  line-height: 1.65;
  color: var(--cke-text-dark-muted);
  max-width: 280px;
}

.cke-footer__col {
  min-width: 0;
}

.cke-footer__col-heading {
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: var(--cke-text-dark-primary);
  margin-bottom: 1rem;
}

.cke-footer__col-links {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
}

.cke-footer__col-link {
  font-size: 0.875rem;
  color: var(--cke-text-dark-muted);
  transition: color 0.15s;
}

.cke-footer__col-link:hover {
  color: var(--cke-text-dark-primary);
}

.cke-footer__col-links + p {
  margin-top: 1rem;
}

.cke-footer__bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1rem;
}

.cke-footer__brand-row {
  font-size: 0.8rem;
  color: var(--cke-text-dark-muted);
}

.cke-footer__legal-row {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  flex-wrap: wrap;
}

.cke-footer__legal-link {
  font-size: 0.8rem;
  color: var(--cke-text-dark-muted);
  transition: color 0.15s;
}

.cke-footer__legal-link:hover {
  color: var(--cke-text-dark-primary);
}

/* ============================================================
   SUB-PAGE HERO (LIGHT / DARK VARIANTS)
   ============================================================ */
.cke-subhero {
  padding-top: calc(var(--cke-nav-h) + 4rem);
  padding-bottom: 4rem;
}

.cke-subhero--dark {
  background: var(--cke-dark-bg);
}

.cke-subhero--light {
  background: var(--cke-light-bg);
}

.cke-subhero__inner {
  max-width: var(--cke-max-w);
  margin-inline: auto;
  padding-inline: 1.5rem;
}

.cke-subhero__inner--two-col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--cke-col-gap);
  align-items: center;
}

.cke-subhero__inner--centered {
  max-width: 760px;
  margin-inline: auto;
  text-align: center;
}

.cke-subhero__text {
  min-width: 0;
}

.cke-subhero__eyebrow {
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin-bottom: 1rem;
}

.cke-subhero__eyebrow--dark {
  color: var(--cke-amber);
}

.cke-subhero__eyebrow--light {
  color: var(--cke-amber-on-light);
}

.cke-subhero__h1 {
  font-family: 'Outfit', system-ui, sans-serif;
  font-weight: 800;
  font-size: clamp(2rem, 5vw, 3.5rem);
  line-height: 1.1;
  letter-spacing: -0.02em;
  margin-bottom: 1.25rem;
}

.cke-subhero__h1--dark {
  color: var(--cke-text-dark-primary);
}

.cke-subhero__h1--light {
  color: var(--cke-text-light-primary);
}

.cke-subhero__sub {
  font-size: 1.0625rem;
  line-height: 1.7;
  max-width: 540px;
  margin-bottom: 2rem;
}

.cke-subhero__sub--dark {
  color: var(--cke-text-dark-muted);
}

.cke-subhero__sub--light {
  color: var(--cke-text-light-muted);
}

.cke-subhero__actions {
  display: flex;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
}

.cke-subhero__visual {
  min-width: 0;
}

.cke-subhero__img-wrap {
  border-radius: var(--cke-radius-lg);
  overflow: hidden;
  aspect-ratio: 4 / 3;
  background: var(--cke-dark-bg-alt);
}

.cke-subhero__img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Sub-page data ornament (visual weight) */
.cke-subhero__ornament {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.cke-data-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  background: rgba(217,119,6,0.1);
  border: 1px solid rgba(217,119,6,0.3);
  border-radius: var(--cke-radius);
  padding: 0.875rem 1.25rem;
  color: var(--cke-text-dark-primary);
}

.cke-data-chip__icon {
  color: var(--cke-amber);
  font-size: 1.125rem;
  flex-shrink: 0;
}

.cke-data-chip__text {
  font-size: 0.9rem;
  font-weight: 500;
}

/* ============================================================
   TWO-COLUMN TEXT+IMAGE SECTIONS
   ============================================================ */
.cke-two-col {
  padding-block: var(--cke-section-py);
}

.cke-two-col__inner {
  max-width: var(--cke-max-w);
  margin-inline: auto;
  padding-inline: 1.5rem;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--cke-col-gap);
  align-items: center;
}

.cke-two-col__text {
  min-width: 0;
}

.cke-two-col__visual {
  min-width: 0;
}

.cke-two-col__label {
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin-bottom: 0.875rem;
}

.cke-two-col__label--dark {
  color: var(--cke-amber);
}

.cke-two-col__label--light {
  color: var(--cke-amber-on-light);
}

.cke-two-col__h2 {
  font-family: 'Outfit', system-ui, sans-serif;
  font-weight: 700;
  font-size: clamp(1.625rem, 3.5vw, 2.5rem);
  line-height: 1.2;
  letter-spacing: -0.015em;
  margin-bottom: 1rem;
}

.cke-two-col__h2--dark {
  color: var(--cke-text-dark-primary);
}

.cke-two-col__h2--light {
  color: var(--cke-text-light-primary);
}

.cke-two-col__body {
  font-size: 1rem;
  line-height: 1.75;
  margin-bottom: 1.5rem;
}

.cke-two-col__body--dark {
  color: var(--cke-text-dark-muted);
}

.cke-two-col__body--light {
  color: var(--cke-text-light-muted);
}

.cke-two-col__body--mb {
  margin-bottom: 2rem;
}

.cke-about-values {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.cke-about-value {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
}

.cke-about-value__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: var(--cke-radius-sm);
  background: var(--cke-amber);
  color: var(--cke-dark-bg);
  font-size: 1rem;
  flex-shrink: 0;
}

.cke-about-value__text {
  min-width: 0;
}

.cke-about-value__title {
  font-family: 'Outfit', system-ui, sans-serif;
  font-weight: 700;
  font-size: 0.9375rem;
  color: var(--cke-text-light-primary);
  margin-bottom: 0.25rem;
  margin-top: 0;
  line-height: 1.35;
}

.cke-about-value__desc {
  font-size: 0.875rem;
  line-height: 1.65;
  color: var(--cke-text-light-muted);
  margin-bottom: 0;
}

.cke-two-col__img-wrap {
  border-radius: var(--cke-radius-lg);
  overflow: hidden;
  aspect-ratio: 4 / 3;
  background: var(--cke-light-bg-alt);
}

.cke-two-col__img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.cke-two-col__img-wrap--dark {
  background: var(--cke-dark-bg-alt);
}

/* SVG visual wrap for two-col with inline SVG */
.cke-two-col__svg-wrap {
  display: flex;
  justify-content: center;
  align-items: center;
}

/* ============================================================
   FEATURE LIST SECTIONS
   ============================================================ */
.cke-feature-list {
  padding-block: var(--cke-section-py);
}

.cke-feature-list__inner {
  max-width: var(--cke-max-w);
  margin-inline: auto;
  padding-inline: 1.5rem;
}

.cke-feature-list__header {
  max-width: 620px;
  margin-bottom: 3rem;
}

.cke-feature-list__label {
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--cke-amber-on-light);
  margin-bottom: 0.75rem;
}

.cke-feature-list__title {
  font-family: 'Outfit', system-ui, sans-serif;
  font-weight: 700;
  font-size: clamp(1.625rem, 3.5vw, 2.25rem);
  line-height: 1.25;
  letter-spacing: -0.015em;
  color: var(--cke-text-light-primary);
  margin-bottom: 0.75rem;
}

.cke-feature-list__sub {
  font-size: 1rem;
  line-height: 1.7;
  color: var(--cke-text-light-muted);
}

.cke-feature-list__items {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.25rem;
}

.cke-feature-item {
  display: flex;
  gap: 1rem;
  padding: 1.25rem;
  background: var(--cke-white-bg);
  border-radius: var(--cke-radius);
  border: 1px solid var(--cke-border-light);
}

.cke-feature-item__icon {
  width: 40px;
  height: 40px;
  border-radius: 8px;
  background: rgba(146,86,10,0.08);
  border: 1px solid rgba(146,86,10,0.18);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--cke-amber-on-light);
  font-size: 1.0625rem;
  flex-shrink: 0;
}

.cke-feature-item__text {
  min-width: 0;
}

.cke-feature-item__title {
  font-family: 'Outfit', system-ui, sans-serif;
  font-weight: 700;
  font-size: 1rem;
  line-height: 1.35;
  color: var(--cke-text-light-primary);
  margin-bottom: 0.375rem;
}

.cke-feature-item__desc {
  font-size: 0.875rem;
  line-height: 1.65;
  color: var(--cke-text-light-muted);
}

/* ============================================================
   SPEC BLOCK (HARDWARE SPECS)
   ============================================================ */
.cke-spec-block {
  padding-block: var(--cke-section-py);
}

.cke-spec-block__inner {
  max-width: var(--cke-max-w);
  margin-inline: auto;
  padding-inline: 1.5rem;
}

.cke-spec-block__header {
  max-width: 600px;
  margin-bottom: 2.5rem;
}

.cke-spec-block__label {
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--cke-amber-on-light);
  margin-bottom: 0.75rem;
}

.cke-spec-block__title {
  font-family: 'Outfit', system-ui, sans-serif;
  font-weight: 700;
  font-size: clamp(1.625rem, 3.5vw, 2.25rem);
  line-height: 1.25;
  letter-spacing: -0.015em;
  color: var(--cke-text-light-primary);
}

.cke-spec-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9375rem;
}

.cke-spec-table tr {
  border-bottom: 1px solid var(--cke-border-light);
}

.cke-spec-table td {
  padding: 0.875rem 0;
  color: var(--cke-text-light-primary);
  vertical-align: top;
}

.cke-spec-table td:first-child {
  color: var(--cke-text-light-muted);
  font-weight: 500;
  width: 40%;
  padding-right: 1.5rem;
}

.cke-spec-cols {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5rem;
}

.cke-spec-col-group {
  min-width: 0;
}

.cke-spec-col-group__title {
  font-family: 'Outfit', system-ui, sans-serif;
  font-weight: 700;
  font-size: 1rem;
  color: var(--cke-text-light-primary);
  margin-bottom: 1rem;
  padding-bottom: 0.5rem;
  border-bottom: 2px solid var(--cke-amber);
  display: inline-block;
}

/* ============================================================
   PRICING TIERS
   ============================================================ */
.cke-pricing {
  padding-block: var(--cke-section-py);
}

.cke-pricing__inner {
  max-width: var(--cke-max-w);
  margin-inline: auto;
  padding-inline: 1.5rem;
}

.cke-pricing__header {
  text-align: center;
  margin-bottom: 3rem;
}

.cke-pricing__label {
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--cke-amber-on-light);
  margin-bottom: 0.75rem;
}

.cke-pricing__title {
  font-family: 'Outfit', system-ui, sans-serif;
  font-weight: 700;
  font-size: clamp(1.625rem, 3.5vw, 2.5rem);
  line-height: 1.2;
  letter-spacing: -0.015em;
  color: var(--cke-text-light-primary);
}

.cke-pricing__cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  align-items: start;
}

.cke-pricing-card {
  background: var(--cke-white-bg);
  border: 1.5px solid var(--cke-border-light);
  border-radius: var(--cke-radius-lg);
  padding: 2rem;
  display: flex;
  flex-direction: column;
  position: relative;
}

.cke-pricing-card--highlight {
  border-color: var(--cke-amber);
  box-shadow: 0 0 0 4px rgba(217,119,6,0.08);
}

.cke-pricing-card__badge {
  position: absolute;
  top: -1px;
  left: 50%;
  transform: translateX(-50%);
  background: var(--cke-amber);
  color: var(--cke-dark-bg);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  padding: 0.25rem 0.75rem;
  border-radius: 0 0 6px 6px;
}

.cke-pricing-card__tier {
  font-family: 'Outfit', system-ui, sans-serif;
  font-weight: 700;
  font-size: 1.125rem;
  color: var(--cke-text-light-primary);
  margin-bottom: 0.375rem;
}

.cke-pricing-card__header {
  margin-bottom: 1.25rem;
}

.cke-pricing-card__tagline {
  font-size: 0.875rem;
  color: var(--cke-text-light-muted);
  margin-bottom: 0.5rem;
}

.cke-pricing-card__cta {
  margin-top: auto;
  align-self: flex-start;
}

.cke-pricing-card__price-row {
  display: flex;
  align-items: baseline;
  gap: 0.2rem;
  flex-wrap: wrap;
  margin-bottom: 0.5rem;
}

.cke-pricing-card__currency {
  font-family: 'Outfit', system-ui, sans-serif;
  font-weight: 700;
  font-size: 1.25rem;
  color: var(--cke-text-light-primary);
}

.cke-pricing-card__amount {
  font-family: 'Outfit', system-ui, sans-serif;
  font-weight: 800;
  font-size: 2.25rem;
  line-height: 1;
  color: var(--cke-text-light-primary);
}

.cke-pricing-card__amount--custom {
  font-size: 1.75rem;
}

.cke-pricing-card__period {
  font-size: 0.875rem;
  color: var(--cke-text-light-muted);
  margin-left: 0.25rem;
}

.cke-pricing-card__hw-price {
  font-family: 'Outfit', system-ui, sans-serif;
  font-weight: 800;
  font-size: 2rem;
  line-height: 1;
  color: var(--cke-text-light-primary);
}

.cke-pricing-card__hw-note {
  font-size: 0.8125rem;
  color: var(--cke-text-light-muted);
  margin-top: 0.25rem;
}

.cke-pricing-card__sw-price {
  font-size: 0.9rem;
  color: var(--cke-text-light-muted);
  margin-bottom: 1.5rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid var(--cke-border-light);
}

.cke-pricing-card__capacity {
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--cke-amber-on-light);
  margin-bottom: 1.5rem;
}

.cke-pricing-card__features {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  margin-bottom: 2rem;
  flex: 1;
}

.cke-pricing-card__feature {
  display: flex;
  gap: 0.625rem;
  align-items: flex-start;
  font-size: 0.875rem;
  color: var(--cke-text-light-muted);
  min-width: 0;
}

.cke-pricing-card__feature i {
  color: var(--cke-amber-on-light);
  font-size: 0.8125rem;
  margin-top: 0.2rem;
  flex-shrink: 0;
}

/* ============================================================
   PROSE BLOCK (reading-column text section)
   ============================================================ */
.cke-prose-block {
  background: var(--cke-light-bg);
  padding-block: var(--cke-section-py);
}

.cke-prose-block__inner {
  max-width: 720px;
  margin-inline: auto;
  padding-inline: 1.5rem;
}

.cke-prose-block__title {
  font-family: 'Outfit', system-ui, sans-serif;
  font-weight: 700;
  font-size: clamp(1.375rem, 2.5vw, 1.75rem);
  line-height: 1.25;
  letter-spacing: -0.01em;
  color: var(--cke-text-light-primary);
  margin-bottom: 1.25rem;
  margin-top: 0;
}

.cke-prose-block__body {
  font-size: 1rem;
  line-height: 1.8;
  color: var(--cke-text-light-muted);
  margin-bottom: 1.25rem;
}

/* ============================================================
   FAQ ACCORDION
   ============================================================ */
.cke-faq {
  padding-block: var(--cke-section-py);
}

.cke-faq__inner {
  max-width: var(--cke-max-w);
  margin-inline: auto;
  padding-inline: 1.5rem;
}

.cke-faq__header {
  text-align: center;
  margin-bottom: 3rem;
}

.cke-faq__label {
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--cke-amber-on-light);
  margin-bottom: 0.75rem;
}

.cke-faq__title {
  font-family: 'Outfit', system-ui, sans-serif;
  font-weight: 700;
  font-size: clamp(1.625rem, 3.5vw, 2.25rem);
  line-height: 1.2;
  letter-spacing: -0.015em;
  color: var(--cke-text-light-primary);
}

.cke-faq__list {
  max-width: 760px;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  gap: 0;
}

.cke-faq__item {
  border-bottom: 1px solid var(--cke-border-light);
}

.cke-faq__question {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  width: 100%;
  padding: 1.25rem 0;
  font-family: 'Outfit', system-ui, sans-serif;
  font-weight: 700;
  font-size: 1rem;
  line-height: 1.4;
  color: var(--cke-text-light-primary);
  text-align: left;
  cursor: pointer;
  background: none;
  border: none;
}

.cke-faq__icon {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  border: 1.5px solid var(--cke-border-light);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--cke-text-light-muted);
  font-size: 0.75rem;
  flex-shrink: 0;
  transition: border-color 0.15s, color 0.15s, transform 0.2s;
}

.cke-faq__item--open .cke-faq__icon {
  border-color: var(--cke-amber-on-light);
  color: var(--cke-amber-on-light);
  transform: rotate(45deg);
}

.cke-faq__answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.28s ease;
}

.cke-faq__item--open .cke-faq__answer {
  max-height: 400px;
}

.cke-faq__answer-inner {
  padding-bottom: 1.25rem;
  font-size: 0.9375rem;
  line-height: 1.75;
  color: var(--cke-text-light-muted);
}

/* ============================================================
   ABOUT PAGE — TEAM GRID
   ============================================================ */
.cke-team-grid {
  padding-block: var(--cke-section-py);
  background: var(--cke-light-bg);
}

.cke-team-grid__inner {
  max-width: var(--cke-max-w);
  margin-inline: auto;
  padding-inline: 1.5rem;
}

.cke-team-grid__header {
  text-align: center;
  margin-bottom: 3rem;
}

.cke-team-grid__label {
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--cke-amber-on-light);
  margin-bottom: 0.75rem;
}

.cke-team-grid__title {
  font-family: 'Outfit', system-ui, sans-serif;
  font-weight: 700;
  font-size: clamp(1.625rem, 3.5vw, 2.25rem);
  line-height: 1.2;
  letter-spacing: -0.015em;
  color: var(--cke-text-light-primary);
}

.cke-team-grid__cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
}

.cke-team-card {
  text-align: center;
}

.cke-team-card__avatar-wrap {
  width: 120px;
  height: 120px;
  border-radius: 50%;
  overflow: hidden;
  margin: 0 auto 1.25rem;
  border: 3px solid var(--cke-border-light);
  background: var(--cke-light-bg-alt);
  position: relative;
}

.cke-team-card__avatar {
  display: none;
}

.cke-team-card__initials {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--cke-amber);
  color: var(--cke-dark-bg);
  font-family: 'Outfit', system-ui, sans-serif;
  font-weight: 800;
  font-size: 2rem;
}

.cke-team-card__name {
  font-family: 'Outfit', system-ui, sans-serif;
  font-weight: 700;
  font-size: 1.0625rem;
  color: var(--cke-text-light-primary);
  margin-bottom: 0.25rem;
}

.cke-team-card__role {
  font-size: 0.875rem;
  color: var(--cke-amber-on-light);
  font-weight: 500;
  margin-bottom: 0.75rem;
}

.cke-team-card__bio {
  font-size: 0.875rem;
  line-height: 1.65;
  color: var(--cke-text-light-muted);
}

/* ============================================================
   CONTACT FORM SECTION
   ============================================================ */
.cke-contact-form {
  padding-block: var(--cke-section-py);
}

.cke-contact-form__inner {
  max-width: var(--cke-max-w);
  margin-inline: auto;
  padding-inline: 1.5rem;
  display: grid;
  grid-template-columns: 2fr 3fr;
  gap: 4rem;
  align-items: start;
}

.cke-contact-form__info {
  min-width: 0;
}

.cke-contact-form__label {
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--cke-amber-on-light);
  margin-bottom: 0.75rem;
}

.cke-contact-form__title {
  font-family: 'Outfit', system-ui, sans-serif;
  font-weight: 700;
  font-size: clamp(1.5rem, 3vw, 2.25rem);
  line-height: 1.2;
  letter-spacing: -0.015em;
  color: var(--cke-text-light-primary);
  margin-bottom: 1.25rem;
}

.cke-contact-form__detail {
  display: flex;
  flex-direction: column;
  gap: 0.875rem;
  margin-top: 2rem;
}

.cke-contact-form__detail-row {
  display: flex;
  gap: 0.75rem;
  align-items: flex-start;
}

.cke-contact-form__detail-icon {
  color: var(--cke-amber-on-light);
  font-size: 1rem;
  flex-shrink: 0;
  margin-top: 0.2rem;
}

.cke-contact-form__detail-text {
  font-size: 0.9375rem;
  line-height: 1.6;
  color: var(--cke-text-light-muted);
}

.cke-contact-form__wrap {
  min-width: 0;
  background: var(--cke-white-bg);
  border: 1px solid var(--cke-border-light);
  border-radius: var(--cke-radius-lg);
  padding: 2rem;
}

.cke-contact-form__form {
  display: flex;
  flex-direction: column;
  gap: 1.125rem;
}

.cke-contact-form__row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}

.cke-contact-form__input {
  padding: 0.6875rem 0.875rem;
  border: 1.5px solid var(--cke-border-light);
  border-radius: var(--cke-radius-sm);
  background: var(--cke-white-bg);
  color: var(--cke-text-light-primary);
  font-family: 'DM Sans', system-ui, sans-serif;
  font-size: 0.9375rem;
  width: 100%;
  transition: border-color 0.15s;
}

.cke-contact-form__input:focus {
  outline: none;
  border-color: var(--cke-amber-on-light);
}

.cke-contact-form__textarea {
  min-height: 140px;
  resize: vertical;
}

.cke-contact-form__submit {
  width: 100%;
  margin-top: 0.5rem;
}

.cke-contact-details {
  padding-block: var(--cke-section-py);
}

.cke-contact-details__inner {
  max-width: var(--cke-max-w);
  margin-inline: auto;
  padding-inline: 1.5rem;
  display: flex;
  flex-wrap: wrap;
  gap: 2.5rem;
}

.cke-contact-details__block {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  flex: 1 1 220px;
}

.cke-contact-details__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  border-radius: var(--cke-radius-sm);
  background: var(--cke-amber);
  color: var(--cke-dark-bg);
  font-size: 0.875rem;
  flex-shrink: 0;
}

.cke-contact-details__text {
  min-width: 0;
}

.cke-contact-details__label {
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: var(--cke-text-light-muted);
  margin-bottom: 0.25rem;
}

.cke-contact-details__value {
  font-size: 0.9375rem;
  line-height: 1.5;
  color: var(--cke-text-light-primary);
  margin-bottom: 0;
}

/* ============================================================
   AUTH PAGES
   ============================================================ */
.cke-auth-page {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--cke-light-bg);
  padding: 2rem 1.5rem;
  padding-top: calc(var(--cke-nav-h) + 2rem);
}

.cke-auth-card {
  background: var(--cke-white-bg);
  border: 1px solid var(--cke-border-light);
  border-radius: var(--cke-radius-lg);
  padding: 2.5rem;
  width: 100%;
  max-width: 440px;
  box-shadow: 0 4px 24px rgba(0,0,0,0.06);
}

.cke-auth-card__logo {
  display: flex;
  justify-content: center;
  margin-bottom: 2rem;
}

.cke-auth-card__logo img {
  height: 34px;
  width: auto;
}

.cke-auth-card__title {
  font-family: 'Outfit', system-ui, sans-serif;
  font-weight: 800;
  font-size: 1.5rem;
  line-height: 1.2;
  letter-spacing: -0.015em;
  color: var(--cke-text-light-primary);
  text-align: center;
  margin-bottom: 0.5rem;
}

.cke-auth-card__sub {
  font-size: 0.9rem;
  line-height: 1.55;
  color: var(--cke-text-light-muted);
  text-align: center;
  margin-bottom: 2rem;
}

.cke-auth-card__form {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.cke-auth-card__field {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
}

.cke-auth-card__field-label {
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--cke-text-light-muted);
}

.cke-auth-card__input {
  padding: 0.6875rem 0.875rem;
  border: 1.5px solid var(--cke-border-light);
  border-radius: var(--cke-radius-sm);
  background: var(--cke-white-bg);
  color: var(--cke-text-light-primary);
  font-family: 'DM Sans', system-ui, sans-serif;
  font-size: 0.9375rem;
  transition: border-color 0.15s;
  width: 100%;
}

.cke-auth-card__input:focus {
  outline: none;
  border-color: var(--cke-amber-on-light);
}

.cke-auth-card__forgot {
  text-align: right;
  margin-top: -0.5rem;
  margin-bottom: 0.25rem;
}

.cke-auth-card__forgot a {
  font-size: 0.8125rem;
  color: var(--cke-text-light-muted);
  transition: color 0.15s;
}

.cke-auth-card__forgot a:hover {
  color: var(--cke-amber-on-light);
}

.cke-auth-card__submit {
  width: 100%;
  padding: 0.75rem;
  background: var(--cke-amber);
  color: var(--cke-dark-bg);
  border: none;
  border-radius: var(--cke-radius-sm);
  font-family: 'DM Sans', system-ui, sans-serif;
  font-size: 0.9375rem;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.15s;
  margin-top: 0.5rem;
}

.cke-auth-card__submit:hover {
  background: #B86006;
}

.cke-auth-card__divider {
  text-align: center;
  font-size: 0.8125rem;
  color: var(--cke-text-light-muted);
  margin-block: 1.25rem;
  position: relative;
}

.cke-auth-card__divider::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  height: 1px;
  background: var(--cke-border-light);
  z-index: 0;
}

.cke-auth-card__divider span {
  position: relative;
  z-index: 1;
  background: var(--cke-white-bg);
  padding-inline: 0.75rem;
}

.cke-auth-card__alt-link {
  text-align: center;
  font-size: 0.875rem;
  color: var(--cke-text-light-muted);
}

.cke-auth-card__alt-link a {
  color: var(--cke-amber-on-light);
  font-weight: 500;
  transition: color 0.15s;
}

.cke-auth-card__alt-link a:hover {
  color: var(--cke-dark-bg);
}

.cke-auth-card__terms {
  text-align: center;
  font-size: 0.8rem;
  color: var(--cke-text-light-muted);
  line-height: 1.55;
  margin-top: 1.25rem;
}

.cke-auth-card__terms a {
  color: var(--cke-text-light-muted);
  text-decoration: underline;
  transition: color 0.15s;
}

.cke-auth-card__terms a:hover {
  color: var(--cke-amber-on-light);
}

.cke-auth-card__header {
  display: flex;
  justify-content: center;
  margin-bottom: 1.75rem;
}

.cke-auth-card__logo-link {
  display: block;
}

.cke-auth-card__body {
  display: flex;
  flex-direction: column;
}

.cke-auth-card__links {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.625rem;
  margin-top: 1.25rem;
  text-align: center;
}

.cke-auth-card__link {
  font-size: 0.875rem;
  color: var(--cke-text-light-muted);
  display: block;
  text-align: center;
  transition: color 0.15s;
}

.cke-auth-card__link:hover {
  color: var(--cke-amber-on-light);
}

.cke-auth-card__link--muted {
  font-size: 0.8125rem;
  color: var(--cke-text-light-muted);
  opacity: 0.75;
}

.cke-auth-card__legal {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  margin-top: 1.5rem;
}

.cke-auth-card__legal-link {
  font-size: 0.8rem;
  color: var(--cke-text-light-muted);
  text-decoration: underline;
  transition: color 0.15s;
}

.cke-auth-card__legal-link:hover {
  color: var(--cke-amber-on-light);
}

.cke-auth-card__legal-sep {
  font-size: 0.8rem;
  color: var(--cke-text-light-muted);
}

.cke-auth-card__consent {
  font-size: 0.8375rem;
  text-align: center;
  color: var(--cke-text-light-muted);
  line-height: 1.55;
  margin-top: 1rem;
}

/* ============================================================
   BLOG INDEX PAGE
   ============================================================ */
.cke-blog-hero {
  padding-top: calc(var(--cke-nav-h) + 4rem);
  padding-bottom: 3.5rem;
  background: var(--cke-light-bg);
}

.cke-blog-hero__inner {
  max-width: var(--cke-max-w);
  margin-inline: auto;
  padding-inline: 1.5rem;
  text-align: center;
}

.cke-blog-hero__label {
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--cke-amber-on-light);
  margin-bottom: 0.875rem;
}

.cke-blog-hero__title {
  font-family: 'Outfit', system-ui, sans-serif;
  font-weight: 800;
  font-size: clamp(2rem, 5vw, 3.25rem);
  line-height: 1.1;
  letter-spacing: -0.02em;
  color: var(--cke-text-light-primary);
  margin-bottom: 1rem;
}

.cke-blog-hero__sub {
  font-size: 1.0625rem;
  line-height: 1.7;
  color: var(--cke-text-light-muted);
  max-width: 600px;
  margin-inline: auto;
}

/* Featured article (blog index) */
.cke-blog-featured {
  padding-bottom: 3rem;
  background: var(--cke-light-bg);
}

.cke-blog-featured__inner {
  max-width: var(--cke-max-w);
  margin-inline: auto;
  padding-inline: 1.5rem;
}

.cke-blog-featured__card {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
  align-items: center;
  background: var(--cke-white-bg);
  border: 1px solid var(--cke-border-light);
  border-radius: var(--cke-radius-lg);
  overflow: hidden;
}

.cke-blog-featured__img-wrap {
  aspect-ratio: 1200 / 630;
  overflow: hidden;
  background: var(--cke-light-bg-alt);
}

.cke-blog-featured__img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.cke-blog-featured__text {
  padding: 2rem 2rem 2rem 0;
  min-width: 0;
}

.cke-blog-featured__badge {
  display: inline-block;
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  background: rgba(146,86,10,0.1);
  color: var(--cke-amber-on-light);
  border-radius: 4px;
  padding: 0.25rem 0.6rem;
  margin-bottom: 0.875rem;
}

.cke-blog-featured__title {
  font-family: 'Outfit', system-ui, sans-serif;
  font-weight: 700;
  font-size: clamp(1.25rem, 2.5vw, 1.625rem);
  line-height: 1.3;
  letter-spacing: -0.01em;
  color: var(--cke-text-light-primary);
  margin-bottom: 0.875rem;
}

.cke-blog-featured__excerpt {
  font-size: 0.9375rem;
  line-height: 1.7;
  color: var(--cke-text-light-muted);
  margin-bottom: 1.25rem;
}

.cke-blog-featured__meta {
  font-size: 0.8125rem;
  color: var(--cke-text-light-muted);
}

/* Blog articles grid */
.cke-blog-grid {
  padding-block: var(--cke-section-py);
  background: var(--cke-white-bg);
}

.cke-blog-grid__inner {
  max-width: var(--cke-max-w);
  margin-inline: auto;
  padding-inline: 1.5rem;
}

.cke-blog-grid__cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}

.cke-blog-card {
  background: var(--cke-white-bg);
  border: 1px solid var(--cke-border-light);
  border-radius: var(--cke-radius-lg);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: box-shadow 0.2s, transform 0.2s;
}

.cke-blog-card:hover {
  box-shadow: 0 6px 20px rgba(0,0,0,0.08);
  transform: translateY(-2px);
}

.cke-blog-card__img-wrap {
  aspect-ratio: 1200 / 630;
  overflow: hidden;
  background: var(--cke-light-bg-alt);
  flex-shrink: 0;
}

.cke-blog-card__img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.cke-blog-card__body {
  padding: 1.25rem;
  flex: 1;
  display: flex;
  flex-direction: column;
}

.cke-blog-card__meta {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.625rem;
}

.cke-blog-card__date {
  font-size: 0.775rem;
  color: var(--cke-text-light-muted);
}

.cke-blog-card__readtime {
  font-size: 0.775rem;
  color: var(--cke-text-light-muted);
}

.cke-blog-card__sep {
  color: var(--cke-text-light-muted);
  font-size: 0.7rem;
}

.cke-blog-card__title {
  font-family: 'Outfit', system-ui, sans-serif;
  font-weight: 700;
  font-size: 1rem;
  line-height: 1.4;
  color: var(--cke-text-light-primary);
  margin-bottom: 0.5rem;
  flex: 1;
}

.cke-blog-card__excerpt {
  font-size: 0.8375rem;
  line-height: 1.6;
  color: var(--cke-text-light-muted);
}

/* ============================================================
   ARTICLE PAGE
   ============================================================ */
.cke-article-header {
  padding-top: calc(var(--cke-nav-h) + 3rem);
  padding-bottom: 2.5rem;
  background: var(--cke-light-bg);
}

.cke-article-header__inner {
  max-width: 760px;
  margin-inline: auto;
  padding-inline: 1.5rem;
}

.cke-article-header__back {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--cke-text-light-muted);
  margin-bottom: 1.5rem;
  transition: color 0.15s;
}

.cke-article-header__back:hover {
  color: var(--cke-amber-on-light);
}

.cke-article-header__title {
  font-family: 'Outfit', system-ui, sans-serif;
  font-weight: 800;
  font-size: clamp(1.75rem, 4vw, 2.75rem);
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: var(--cke-text-light-primary);
  margin-bottom: 1.25rem;
}

.cke-article-header__meta {
  display: flex;
  align-items: center;
  gap: 1rem;
  font-size: 0.875rem;
  color: var(--cke-text-light-muted);
  flex-wrap: wrap;
}

.cke-article-cover {
  background: var(--cke-light-bg);
  padding-bottom: 3rem;
}

.cke-article-cover__inner {
  max-width: 760px;
  margin-inline: auto;
  padding-inline: 1.5rem;
}

.cke-article-cover__img-wrap {
  aspect-ratio: 1200 / 630;
  overflow: hidden;
  border-radius: var(--cke-radius-lg);
  background: var(--cke-light-bg-alt);
  max-width: 100%;
}

.cke-article-cover__img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.cke-article-body {
  background: var(--cke-white-bg);
  padding-block: 3rem;
}

.cke-article-body__inner {
  max-width: 720px;
  margin-inline: auto;
  padding-inline: 1.5rem;
}

.cke-article-body__inner h2 {
  font-family: 'Outfit', system-ui, sans-serif;
  font-weight: 700;
  font-size: clamp(1.375rem, 2.5vw, 1.75rem);
  line-height: 1.25;
  letter-spacing: -0.01em;
  color: var(--cke-text-light-primary);
  margin-top: 2.5rem;
  margin-bottom: 0.875rem;
}

.cke-article-body__inner h3 {
  font-family: 'Outfit', system-ui, sans-serif;
  font-weight: 700;
  font-size: 1.125rem;
  line-height: 1.35;
  color: var(--cke-text-light-primary);
  margin-top: 2rem;
  margin-bottom: 0.75rem;
}

.cke-article-body__inner p {
  font-size: 1.0625rem;
  line-height: 1.8;
  color: var(--cke-text-light-primary);
  margin-bottom: 1.25rem;
}

.cke-article-body__inner ul,
.cke-article-body__inner ol {
  margin-bottom: 1.25rem;
  padding-left: 1.5rem;
}

.cke-article-body__inner li {
  font-size: 1.0625rem;
  line-height: 1.7;
  color: var(--cke-text-light-primary);
  margin-bottom: 0.5rem;
  list-style: disc;
}

.cke-article-body__inner blockquote {
  border-left: 3px solid var(--cke-amber);
  padding-left: 1.25rem;
  margin-block: 2rem;
  font-style: italic;
  color: var(--cke-text-light-muted);
  font-size: 1.0625rem;
  line-height: 1.7;
}

.cke-article-related {
  background: var(--cke-light-bg);
  padding-block: var(--cke-section-py);
}

.cke-article-related__inner {
  max-width: 760px;
  margin-inline: auto;
  padding-inline: 1.5rem;
}

.cke-article-related__title {
  font-family: 'Outfit', system-ui, sans-serif;
  font-weight: 700;
  font-size: 1.25rem;
  line-height: 1.3;
  color: var(--cke-text-light-primary);
  margin-bottom: 1.5rem;
}

.cke-article-related__cards {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.25rem;
}

/* ============================================================
   USE CASES DETAIL PAGES
   ============================================================ */
.cke-pain-point {
  padding-block: var(--cke-section-py);
}

.cke-pain-point__inner {
  max-width: var(--cke-max-w);
  margin-inline: auto;
  padding-inline: 1.5rem;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--cke-col-gap);
}

.cke-pain-point__text {
  min-width: 0;
}

.cke-pain-point__label {
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--cke-amber);
  margin-bottom: 0.875rem;
}

.cke-pain-point__title {
  font-family: 'Outfit', system-ui, sans-serif;
  font-weight: 700;
  font-size: clamp(1.5rem, 3vw, 2rem);
  line-height: 1.25;
  letter-spacing: -0.015em;
  color: var(--cke-text-dark-primary);
  margin-bottom: 1rem;
}

.cke-pain-point__body {
  font-size: 1rem;
  line-height: 1.75;
  color: var(--cke-text-dark-muted);
}

/* ============================================================
   ABOUT PAGE SECTIONS
   ============================================================ */
.cke-mission {
  padding-block: var(--cke-section-py);
  background: var(--cke-light-bg-alt);
}

.cke-mission__inner {
  max-width: var(--cke-max-w);
  margin-inline: auto;
  padding-inline: 1.5rem;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--cke-col-gap);
  align-items: center;
}

.cke-mission__text {
  min-width: 0;
}

.cke-mission__label {
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--cke-amber-on-light);
  margin-bottom: 0.75rem;
}

.cke-mission__title {
  font-family: 'Outfit', system-ui, sans-serif;
  font-weight: 700;
  font-size: clamp(1.625rem, 3.5vw, 2.25rem);
  line-height: 1.2;
  letter-spacing: -0.015em;
  color: var(--cke-text-light-primary);
  margin-bottom: 1rem;
}

.cke-mission__body {
  font-size: 1rem;
  line-height: 1.75;
  color: var(--cke-text-light-muted);
}

.cke-mission__facts {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.cke-mission__fact {
  padding: 1.25rem;
  background: var(--cke-white-bg);
  border-radius: var(--cke-radius);
  border: 1px solid var(--cke-border-light);
}

.cke-mission__fact-label {
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--cke-amber-on-light);
  margin-bottom: 0.3rem;
}

.cke-mission__fact-value {
  font-family: 'Outfit', system-ui, sans-serif;
  font-weight: 700;
  font-size: 1.125rem;
  color: var(--cke-text-light-primary);
}

/* ============================================================
   CONTACT ADDRESS BLOCK
   ============================================================ */
.cke-address-block {
  padding-block: 3rem;
}

.cke-address-block__inner {
  max-width: var(--cke-max-w);
  margin-inline: auto;
  padding-inline: 1.5rem;
  text-align: center;
}

.cke-address-block__text {
  font-size: 0.9375rem;
  line-height: 1.75;
  color: var(--cke-text-light-muted);
}

/* ============================================================
   INLINE SVG CONTAINERS (hiw-preview + timing-arc)
   ============================================================ */
.cke-svg-hiw {
  width: 100%;
  max-width: 600px;
  margin-inline: auto;
}

.cke-svg-timing {
  width: 280px;
  height: 280px;
  margin-inline: auto;
}

/* ============================================================
   ANIMATION HELPERS
   ============================================================ */
.cke-fade-in {
  opacity: 0;
  transform: translateY(16px);
  transition: opacity 0.5s ease, transform 0.5s ease;
}

.cke-fade-in--visible {
  opacity: 1;
  transform: none;
}

/* ============================================================
   COOKIE BANNER
   ============================================================ */
.cookie-banner {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 9999;
  background: var(--cke-dark-bg-alt);
  border-top: 1px solid var(--cke-border-dark);
  padding: 1.25rem 1.5rem;
}

.cookie-banner__inner {
  max-width: var(--cke-max-w);
  margin-inline: auto;
  display: flex;
  align-items: center;
  gap: 1.5rem;
  flex-wrap: wrap;
}

.cookie-banner__text {
  flex: 1;
  font-size: 0.875rem;
  line-height: 1.6;
  color: var(--cke-text-dark-muted);
}

.cookie-banner__text a {
  color: var(--cke-text-dark-primary);
  text-decoration: underline;
}

.cookie-banner__actions {
  display: flex;
  gap: 0.75rem;
  flex-wrap: wrap;
  flex-shrink: 0;
}

.cookie-banner__btn {
  padding: 0.5rem 1.125rem;
  border-radius: var(--cke-radius-sm);
  font-family: 'DM Sans', system-ui, sans-serif;
  font-size: 0.875rem;
  font-weight: 500;
  cursor: pointer;
  transition: background 0.15s, color 0.15s;
  border: 1.5px solid transparent;
}

.cookie-banner__btn--primary {
  background: var(--cke-amber);
  color: var(--cke-dark-bg);
  border-color: var(--cke-amber);
}

.cookie-banner__btn--primary:hover {
  background: #D47000;
  border-color: #D47000;
}

.cookie-banner__btn--secondary {
  background: transparent;
  color: var(--cke-text-dark-muted);
  border-color: var(--cke-border-dark);
}

.cookie-banner__btn--secondary:hover {
  color: var(--cke-text-dark-primary);
  border-color: var(--cke-text-dark-muted);
}

/* ============================================================
   LEGAL PAGES (prose container for abw-legal)
   ============================================================ */
.cke-legal-page {
  padding-top: calc(var(--cke-nav-h) + 3rem);
  padding-bottom: 4rem;
  background: var(--cke-white-bg);
  min-height: 100vh;
}

.cke-legal-page__inner {
  max-width: 720px;
  margin-inline: auto;
  padding-inline: 1.5rem;
}

.cke-legal-page__title {
  font-family: 'Outfit', system-ui, sans-serif;
  font-weight: 800;
  font-size: clamp(1.75rem, 4vw, 2.5rem);
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: var(--cke-text-light-primary);
  margin-bottom: 0.75rem;
}

.cke-legal-page__updated {
  font-size: 0.875rem;
  color: var(--cke-text-light-muted);
  margin-bottom: 2.5rem;
}

.cke-legal-page__body {
  font-size: 1rem;
  line-height: 1.8;
  color: var(--cke-text-light-primary);
}

.cke-legal-page__body h2 {
  font-family: 'Outfit', system-ui, sans-serif;
  font-weight: 700;
  font-size: 1.25rem;
  line-height: 1.3;
  color: var(--cke-text-light-primary);
  margin-top: 2.5rem;
  margin-bottom: 0.75rem;
  scroll-margin-top: var(--cke-nav-h);
}

.cke-legal-page__body p {
  margin-bottom: 1rem;
}

.cke-legal-page__body a {
  color: var(--cke-amber-on-light);
  text-decoration: underline;
}

/* ============================================================
   RESPONSIVE — MEDIA QUERIES
   ============================================================ */
@media (max-width: 1024px) {
  .cke-specs-proof__grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .cke-contact-form__inner {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }

  .cke-footer__top {
    grid-template-columns: 1fr 1fr 1fr;
  }

  .cke-footer__top .cke-footer__brand {
    grid-column: 1 / -1;
  }
}

@media (max-width: 768px) {
  :root {
    --cke-section-py: 3.5rem;
    --cke-nav-h: 60px;
  }

  .cke-nav__links,
  .cke-nav__actions {
    display: none;
  }

  .cke-nav__hamburger {
    display: flex;
    margin-left: auto;
  }

  .cke-hero__inner {
    grid-template-columns: 1fr;
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
    min-height: auto;
    gap: 2.5rem;
  }

  .cke-hero__visual {
    order: -1;
  }

  .cke-hero__h1 {
    font-size: clamp(1.875rem, 7vw, 2.5rem);
  }

  .cke-hero__sub {
    font-size: 1rem;
  }

  .cke-hiw-preview__steps {
    grid-template-columns: 1fr;
    gap: 0.75rem;
  }

  .cke-hiw-preview__arrow {
    padding-top: 0;
    transform: rotate(90deg);
    height: 2rem;
  }

  .cke-uc-grid__cards {
    grid-template-columns: 1fr;
  }

  .cke-specs-proof__grid {
    grid-template-columns: 1fr 1fr;
  }

  .cke-pricing__cards {
    grid-template-columns: 1fr;
    max-width: 420px;
    margin-inline: auto;
  }

  .cke-two-col__inner {
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  .cke-subhero__inner--two-col {
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  .cke-subhero__sub {
    max-width: 100%;
  }

  .cke-team-grid__cards {
    grid-template-columns: 1fr 1fr;
    gap: 1.5rem;
  }

  .cke-blog-featured__card {
    grid-template-columns: 1fr;
  }

  .cke-blog-featured__text {
    padding: 1.5rem;
  }

  .cke-blog-grid__cards {
    grid-template-columns: 1fr 1fr;
  }

  .cke-article-related__cards {
    grid-template-columns: 1fr;
  }

  .cke-mission__inner {
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  .cke-pain-point__inner {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }

  .cke-contact-form__row {
    grid-template-columns: 1fr;
  }

  .cke-footer__top {
    grid-template-columns: 1fr 1fr;
    gap: 1.5rem;
  }

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

  .cke-cta-strip__form-row {
    grid-template-columns: 1fr;
  }

  .cke-spec-cols {
    grid-template-columns: 1fr;
  }

  .cke-feature-list__items {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 480px) {
  .cke-specs-proof__grid {
    grid-template-columns: 1fr 1fr;
  }

  .cke-team-grid__cards {
    grid-template-columns: 1fr;
  }

  .cke-blog-grid__cards {
    grid-template-columns: 1fr;
  }

  .cke-footer__top {
    grid-template-columns: 1fr;
  }

  .cke-auth-card {
    padding: 1.75rem 1.25rem;
  }

  .cke-hero__actions {
    flex-direction: column;
    align-items: flex-start;
  }

  .cke-cta-strip__actions {
    flex-direction: column;
    align-items: center;
  }

  .cke-nav__mobile-actions {
    padding-top: 1rem;
  }

  .cke-cookie-banner__inner {
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cke-fade-in {
    opacity: 1;
    transform: none;
    transition: none;
  }

  .cke-hiw-preview__step,
  .cke-hiw-preview__step-icon {
    transition: none;
  }
}

/* ============================================================
   LEGAL PAGE — table, list, address supplements
   ============================================================ */
.cke-legal-page__body ul,
.cke-legal-page__body ol {
  margin-bottom: 1rem;
  padding-left: 1.5rem;
}

.cke-legal-page__body li {
  font-size: 1rem;
  line-height: 1.8;
  color: var(--cke-text-light-primary);
  margin-bottom: 0.375rem;
  list-style: disc;
}

.cke-legal-page__body address {
  font-style: normal;
  line-height: 1.9;
  color: var(--cke-text-light-primary);
}

.cke-legal-table-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin-bottom: 1.25rem;
}

.cke-legal-table {
  min-width: 560px;
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9375rem;
}

.cke-legal-table th,
.cke-legal-table td {
  padding: 0.625rem 0.75rem;
  text-align: left;
  vertical-align: top;
  border-bottom: 1px solid var(--cke-border-light);
  color: var(--cke-text-light-primary);
  line-height: 1.5;
}

.cke-legal-table th {
  font-weight: 600;
  font-size: 0.875rem;
  color: var(--cke-text-light-muted);
  white-space: nowrap;
}
