/* ============================================================
   HOMEPAGE: TWO DIVISIONS (Consulting & Solutions + Academy)
   Loaded on the front page only. Uses the theme tokens from main.css.
   Academy accent: gold (--cdv-gold). Everything else follows the Cendory brand.
   ============================================================ */

.cdv {
  --cdv-navy: var(--navy, #112639);
  --cdv-teal: var(--teal, #21A7A0);
  --cdv-teal-dark: var(--teal-dark, #178a84);
  --cdv-teal-ink: #0f6e64;
  --cdv-teal-tint: var(--teal-light, #e0f5f4);
  --cdv-gold: #C9A24B;
  --cdv-gold-light: #E6CB85;
  --cdv-paper: var(--paper, #f4f6f8);
  --cdv-pad: 6rem;        /* space above and below the section (matches the other homepage sections) */
  --cdv-bg: #ffffff;      /* white separates it from the grey Services section below */
  --cdv-muted: var(--muted, #4a6070);
  --cdv-border: rgba(17, 38, 57, 0.12);
  --cdv-serif: var(--serif, "DM Serif Display", Georgia, serif);
  --cdv-sans: var(--sans, "Outfit", system-ui, sans-serif);

  box-sizing: border-box;
  background: var(--cdv-bg);
  padding: var(--cdv-pad) 0;
  font-family: var(--cdv-sans);
  font-size: 16px;
  line-height: 1.8;
  color: var(--cdv-navy);
}
.cdv *, .cdv *::before, .cdv *::after { box-sizing: border-box; }

/* Stop browsers turning links blue or underlined */
.cdv a, .cdv a:link, .cdv a:visited, .cdv a:hover, .cdv a:active { text-decoration: none; }

/* ---------- Section heading ---------- */
.cdv-head { max-width: 620px; margin: 0 auto 4rem; text-align: center; }
.cdv-eyebrow {
  margin: 0 0 0.75rem;
  font-size: 0.72rem; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--cdv-teal);
}
.cdv-title {
  margin: 0 0 1rem;
  font-family: var(--cdv-serif); font-weight: 400;
  font-size: clamp(1.8rem, 3.5vw, 2.8rem); line-height: 1.15; letter-spacing: -0.02em;
  color: var(--cdv-navy);
}
.cdv-title em { font-style: italic; color: var(--cdv-teal); }
.cdv-lead { margin: 0 auto; max-width: 56ch; font-size: 1.15rem; color: var(--cdv-muted); }

/* ---------- Cards ---------- */
.cdv-grid--one { grid-template-columns: minmax(0, 640px); justify-content: center; }
.cdv-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; align-items: stretch; }

.cdv-card {
  position: relative; display: flex; flex-direction: column;
  padding: 2.75rem; border-radius: var(--radius-lg, 12px); overflow: hidden;
}
.cdv-card::before {
  content: ""; position: absolute; top: 0; left: 0; right: 0; height: 4px;
}

.cdv-tag {
  margin: 1.5rem 0 0.4rem;
  font-size: 0.72rem; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase;
}
.cdv-card-title {
  margin: 0 0 0.6rem;
  font-family: var(--cdv-serif); font-weight: 400;
  font-size: clamp(1.3rem, 2vw, 1.7rem); line-height: 1.25; letter-spacing: -0.01em;
}
.cdv-tagline { margin: 0 0 0.75rem; font-size: 1.15rem; font-weight: 500; line-height: 1.5; }
.cdv-text { margin: 0; font-size: 1rem; line-height: 1.75; }

.cdv-badge {
  display: flex; align-items: center; justify-content: center;
  width: 60px; height: 60px; border-radius: 14px;
}
.cdv-badge svg { width: 32px; height: 32px; }

.cdv-list { list-style: none; margin: 1.5rem 0 0; padding: 0; }
.cdv-list li { position: relative; padding: 0.6rem 0 0.6rem 1.7rem; font-size: 1rem; }
.cdv-list li::before {
  content: ""; position: absolute; left: 0; top: 1.15rem;
  width: 0.6rem; height: 0.6rem; border-radius: 50%;
}

.cdv-for { margin: 1.5rem 0 0; font-size: 1rem; }
.cdv-for strong {
  display: block; margin-bottom: 0.15rem;
  font-size: 0.72rem; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase;
}

.cdv-actions { margin-top: auto; padding-top: 2.25rem; display: flex; flex-direction: column; align-items: flex-start; gap: 1rem; }

.cdv-btn, .cdv-btn:link, .cdv-btn:visited {
  display: inline-flex; align-items: center; gap: 0.6rem;
  padding: 0.8rem 1.8rem; border-radius: var(--radius, 6px); border: 2px solid transparent;
  font-family: var(--cdv-sans); font-size: 0.85rem; font-weight: 600;
  letter-spacing: 0.06em; text-transform: uppercase; line-height: 1.2;
  transition: background 0.2s, border-color 0.2s, transform 0.15s, gap 0.2s;
}
.cdv-btn svg { width: 16px; height: 16px; flex-shrink: 0; stroke: currentColor; fill: none; stroke-width: 2.2; }
.cdv-btn:hover { transform: translateY(-1px); gap: 0.85rem; }

.cdv-textlink, .cdv-textlink:link, .cdv-textlink:visited {
  font-size: 1rem; font-weight: 600; border-bottom: 2px solid transparent; padding-bottom: 1px;
  transition: border-color 0.2s;
}

/* ---------- Consulting & Solutions (existing navy and teal brand) ---------- */
.cdv-card--consulting {
  background: #fff; border: 1px solid var(--cdv-border);
  box-shadow: var(--shadow, 0 4px 24px rgba(17, 38, 57, 0.08));
}
.cdv-card--consulting::before { background: var(--cdv-teal); }
.cdv-card--consulting .cdv-badge { background: var(--cdv-teal-tint); color: var(--cdv-teal-ink); }
.cdv-card--consulting .cdv-tag { color: var(--cdv-teal-ink); }
.cdv-card--consulting .cdv-tagline { color: var(--cdv-navy); }
.cdv-card--consulting .cdv-text,
.cdv-card--consulting .cdv-for { color: var(--cdv-muted); }
.cdv-card--consulting .cdv-for strong { color: var(--cdv-navy); }
.cdv-card--consulting .cdv-list li { border-bottom: 1px solid var(--cdv-border); color: var(--cdv-navy); }
.cdv-card--consulting .cdv-list li:last-child { border-bottom: none; }
.cdv-card--consulting .cdv-list li::before { background: var(--cdv-teal); }
.cdv-card--consulting .cdv-btn,
.cdv-card--consulting .cdv-btn:link,
.cdv-card--consulting .cdv-btn:visited { background: var(--cdv-navy); border-color: var(--cdv-navy); color: #fff !important; }
.cdv-card--consulting .cdv-btn:hover { background: var(--cdv-teal-dark); border-color: var(--cdv-teal-dark); }
.cdv-card--consulting a:focus-visible { outline: 3px solid var(--cdv-navy); outline-offset: 3px; }

/* ---------- Cendory Digital Academy (navy, gold, white, graduation cap) ---------- */
.cdv-card--academy {
  background: linear-gradient(160deg, #112639 0%, #0d1f2f 100%);
  border: 1px solid rgba(201, 162, 75, 0.4); color: #fff;
  box-shadow: var(--shadow-lg, 0 12px 48px rgba(17, 38, 57, 0.13));
}
.cdv-card--academy::before { background: var(--cdv-gold); }
.cdv-card--academy .cdv-badge {
  background: rgba(201, 162, 75, 0.12); border: 1px solid rgba(201, 162, 75, 0.5); color: var(--cdv-gold);
}
.cdv-card--academy .cdv-tag { color: var(--cdv-gold); }
.cdv-card--academy .cdv-card-title { color: #fff; }
.cdv-card--academy .cdv-tagline { color: #fff; }
.cdv-card--academy .cdv-text,
.cdv-card--academy .cdv-for { color: rgba(255, 255, 255, 0.78); }
.cdv-card--academy .cdv-for strong { color: var(--cdv-gold); }
.cdv-card--academy .cdv-list li { border-bottom: 1px solid rgba(255, 255, 255, 0.12); color: #fff; }
.cdv-card--academy .cdv-list li:last-child { border-bottom: none; }
.cdv-card--academy .cdv-list li::before { background: var(--cdv-gold); }
.cdv-card--academy a:focus-visible { outline: 3px solid var(--cdv-gold); outline-offset: 3px; }

/* Decorative cap watermark */
.cdv-watermark {
  position: absolute; right: -28px; bottom: -34px; width: 220px; height: 220px;
  color: var(--cdv-gold); opacity: 0.07; pointer-events: none;
}

/* Flagship bootcamp panel */
.cdv-flagship {
  position: relative; z-index: 1;
  margin-top: 1.5rem; padding: 1.15rem 1.35rem;
  border: 1px solid rgba(201, 162, 75, 0.45); border-radius: 12px;
  background: rgba(201, 162, 75, 0.08);
}
.cdv-flagship-label {
  margin: 0 0 0.25rem;
  font-size: 0.72rem; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--cdv-gold);
}
.cdv-flagship-title { margin: 0 0 0.25rem; font-family: var(--cdv-serif); font-size: 1.2rem; line-height: 1.3; color: #fff; }
.cdv-flagship-meta { margin: 0; font-size: 1rem; color: rgba(255, 255, 255, 0.78); }

.cdv-card--academy .cdv-actions { position: relative; z-index: 1; }
.cdv-card--academy .cdv-btn,
.cdv-card--academy .cdv-btn:link,
.cdv-card--academy .cdv-btn:visited { background: var(--cdv-gold); border-color: var(--cdv-gold); color: var(--cdv-navy) !important; }
.cdv-card--academy .cdv-btn:hover { background: var(--cdv-gold-light); border-color: var(--cdv-gold-light); }
.cdv-card--academy .cdv-textlink,
.cdv-card--academy .cdv-textlink:link,
.cdv-card--academy .cdv-textlink:visited { color: #fff !important; }
.cdv-card--academy .cdv-textlink:hover { border-bottom-color: var(--cdv-gold); }

/* Consulting "where most clients start" panel (mirrors the Academy flagship panel) */
.cdv-start {
  margin-top: 1.5rem; padding: 1.15rem 1.35rem;
  border: 1px solid rgba(33, 167, 160, 0.4); border-radius: 12px;
  background: var(--cdv-teal-tint);
}
.cdv-start-label {
  margin: 0 0 0.25rem;
  font-size: 0.72rem; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--cdv-teal-ink);
}
.cdv-start-title { margin: 0 0 0.25rem; font-family: var(--cdv-serif); font-size: 1.2rem; line-height: 1.3; color: var(--cdv-navy); }
.cdv-start-meta { margin: 0; font-size: 1rem; color: var(--cdv-muted); }

/* Shared standard strip */
.cdv-foot {
  max-width: 62ch; margin: 3rem auto 0; padding-top: 1.75rem;
  border-top: 1px solid var(--cdv-border);
  text-align: center; font-size: 1rem; color: var(--cdv-muted);
}
.cdv-foot strong { color: var(--cdv-navy); font-weight: 600; }

/* ---------- Responsive ---------- */
@media (max-width: 900px) {
  .cdv-grid { grid-template-columns: 1fr; }
  .cdv-head { margin-bottom: 2.5rem; }
}
@media (max-width: 520px) {
  .cdv-card { padding: 1.9rem 1.4rem; }
  .cdv-actions { align-items: stretch; }
  .cdv-btn { justify-content: center; width: 100%; text-align: center; }
  .cdv-textlink { align-self: flex-start; }
  .cdv-watermark { width: 160px; height: 160px; }
}
@media (prefers-reduced-motion: reduce) {
  .cdv-btn, .cdv-textlink { transition: none; }
  .cdv-btn:hover { transform: none; }
}
