/* ═══════════════════════════════════════════════════════════════
   SOLVAGENCE AGENCY — TYPOGRAPHY v3
   ═══════════════════════════════════════════════════════════════ */

/* ── DISPLAY (Cormorant Garamond) ────────────────── */
.d-1  { font-family:var(--f-display); font-size:clamp(4rem,8.5vw,9.5rem);  font-weight:300; line-height:1.00; letter-spacing:-.03em; }
.d-2  { font-family:var(--f-display); font-size:clamp(3rem,6vw,6.8rem);   font-weight:300; line-height:1.04; letter-spacing:-.025em; }
.d-3  { font-family:var(--f-display); font-size:clamp(2.2rem,4vw,4.2rem); font-weight:300; line-height:1.08; letter-spacing:-.02em; }
.d-4  { font-family:var(--f-display); font-size:clamp(1.7rem,3vw,2.8rem); font-weight:300; line-height:1.12; letter-spacing:-.015em; }

/* ── HEADING (Syne) ──────────────────────────────── */
.h-1  { font-family:var(--f-heading); font-size:clamp(1.1rem,2vw,1.5rem); font-weight:700; line-height:1.25; letter-spacing:0; }
.h-2  { font-family:var(--f-heading); font-size:1rem;                     font-weight:600; line-height:1.3;  }
.h-3  { font-family:var(--f-heading); font-size:.85rem;                   font-weight:600; line-height:1.4;  letter-spacing:.04em; }
.h-4  { font-family:var(--f-heading); font-size:.72rem;                   font-weight:600; line-height:1.5;  letter-spacing:.16em; text-transform:uppercase; }
.h-5  { font-family:var(--f-heading); font-size:.65rem;                   font-weight:600; line-height:1.5;  letter-spacing:.22em; text-transform:uppercase; }

/* ── BODY (DM Sans) ──────────────────────────────── */
.b-1  { font-family:var(--f-body); font-size:1rem;    font-weight:300; line-height:1.85; }
.b-2  { font-family:var(--f-body); font-size:.92rem;  font-weight:300; line-height:1.8;  }
.b-3  { font-family:var(--f-body); font-size:.82rem;  font-weight:300; line-height:1.75; }
.b-mono { font-family:var(--f-mono); font-size:.75rem; line-height:1.6; }

/* ── COLOUR HELPERS ──────────────────────────────── */
.c-primary   { color: var(--tx-100); }
.c-secondary { color: var(--tx-300); }
.c-muted     { color: var(--tx-400); }
.c-blue      { color: var(--sv-blue-400); }
.c-teal      { color: var(--sv-teal-500); }

/* ── GRADIENT TEXT ───────────────────────────────── */
.g-text {
  background: var(--g-brand-text);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.g-text-shift {
  background: var(--g-brand-text);
  background-size: 200% auto;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  animation: textShift 4s ease infinite;
}
@keyframes textShift {
  0%,100% { background-position:0% center; }
  50%     { background-position:100% center; }
}

/* ── SECTION LABEL ───────────────────────────────── */
.section-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: var(--f-heading);
  font-size: .65rem;
  font-weight: 600;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--sv-teal-500);
  padding: 5px 14px 5px 10px;
  border: 1px solid var(--color-secondary-border);
  border-left: 2px solid var(--sv-teal-500);
  background: var(--color-secondary-ghost);
  margin-bottom: 24px;
}
.section-eyebrow-dot {
  width: 5px; height: 5px; border-radius: 50%;
  background: var(--sv-teal-500);
  animation: eyebrowPulse 2.5s ease-in-out infinite;
}
@keyframes eyebrowPulse {
  0%,100% { opacity:1; } 50% { opacity:.4; }
}

.section-title {
  font-family: var(--f-display);
  font-size: clamp(2.4rem, 4.5vw, 4rem);
  font-weight: 300;
  line-height: 1.10;
  letter-spacing: -.02em;
  color: var(--tx-200);
}
.section-title em       { font-style:italic; color:var(--sv-teal-500); }
.section-title .em-blue { font-style:italic; color:var(--sv-blue-400); }

.section-desc {
  margin-top: 20px;
  font-size: .95rem;
  color: var(--tx-400);
  line-height: 1.85;
  max-width: 540px;
}

.divider-line {
  display: block;
  width: 44px; height: 1px;
  background: var(--g-brand);
  margin: 22px 0;
}
