/* ============================================================
   GTI DESIGN THEMES — Structural CSS Overrides
   Each body.design-* class transforms layout, typography,
   border-radius, spacing, shadows, and visual patterns.
   Colors are handled by theme-switcher.js CSS variables.
   ============================================================ */

/* ============================================================
   DESIGN: SYNAPSE LIGHT
   Clean analytical clarity. Geometric precision.
   Larger type, airy spacing, sharp corners, thin borders.
   ============================================================ */

body.design-synapse {
  font-family: 'Inter', 'Helvetica Neue', Arial, sans-serif;
  letter-spacing: -0.01em;
}

body.design-synapse h1, body.design-synapse h2, body.design-synapse h3,
body.design-synapse h4, body.design-synapse h5, body.design-synapse h6 {
  font-family: 'Space Grotesk', 'Inter', sans-serif;
  font-weight: 700;
  letter-spacing: -0.03em;
}

body.design-synapse .nav { backdrop-filter: blur(24px) saturate(1.6); }
body.design-synapse .nav-links a { font-weight: 400; font-size: .9rem; }
body.design-synapse .btn { border-radius: 8px; font-weight: 600; letter-spacing: 0; }
body.design-synapse .btn-primary { box-shadow: 0 2px 8px rgba(0,0,0,0.08); }
body.design-synapse .btn-ghost { border-width: 1.5px; }

body.design-synapse .hero { min-height: 85vh; }
body.design-synapse .hero-title { font-size: clamp(2.8rem, 6vw, 4.5rem); line-height: 1.05; }
body.design-synapse .hero-badge { border-radius: 6px; font-weight: 500; }
body.design-synapse .hero-stat { border-left: 2px solid var(--border); padding-left: 20px; }

body.design-synapse .section { padding: 100px 0; }
body.design-synapse .section-label { letter-spacing: 0.15em; font-size: .7rem; }

body.design-synapse .pillar-card {
  border-radius: 6px;
  border: 1px solid var(--border);
  box-shadow: none;
  transition: border-color 0.3s, box-shadow 0.3s;
}
body.design-synapse .pillar-card:hover {
  border-color: var(--accent-primary);
  box-shadow: 0 0 0 1px var(--accent-primary);
  transform: none;
}

body.design-synapse .faq-item { border-radius: 4px; border: 1px solid var(--border); }
body.design-synapse .footer-grid { gap: 64px; }
body.design-synapse .footer-col h4 { font-size: .75rem; letter-spacing: 0.14em; }

/* Gradient text in light mode */
body.design-synapse .gradient-text {
  background: linear-gradient(135deg, var(--accent-primary), var(--accent-secondary));
  -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
}

/* ============================================================
   DESIGN: EXECUTIVE
   Boardroom authority. Conservative, dense, strong.
   Serif accents, heavier borders, contained cards, gold touches.
   ============================================================ */

body.design-executive {
  font-family: 'Inter', Georgia, 'Times New Roman', serif;
  letter-spacing: 0;
  line-height: 1.65;
}

body.design-executive h1, body.design-executive h2, body.design-executive h3 {
  font-family: 'Space Grotesk', Georgia, serif;
  font-weight: 700;
  letter-spacing: -0.02em;
}
body.design-executive h4, body.design-executive h5, body.design-executive h6 {
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 0.78rem;
}

body.design-executive .nav {
  border-bottom: 2px solid var(--border);
  backdrop-filter: blur(16px);
}
body.design-executive .nav-links a {
  font-weight: 500;
  text-transform: uppercase;
  font-size: .78rem;
  letter-spacing: 0.08em;
}
body.design-executive .logo-mark { border-radius: 4px; }

body.design-executive .btn {
  border-radius: 4px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-size: .8rem;
  font-weight: 700;
  padding: 12px 28px;
}
body.design-executive .btn-primary {
  box-shadow: none;
  border: 2px solid var(--accent-primary);
}
body.design-executive .btn-ghost {
  border: 2px solid var(--border);
}

body.design-executive .hero { min-height: 70vh; }
body.design-executive .hero-title {
  font-size: clamp(2.2rem, 5vw, 3.5rem);
  line-height: 1.15;
  letter-spacing: -0.02em;
}
body.design-executive .hero-description { font-size: 1.05rem; max-width: 560px; }
body.design-executive .hero-badge {
  border-radius: 2px;
  border: 1px solid var(--accent-gold);
  background: transparent;
  color: var(--accent-gold);
  text-transform: uppercase;
  font-size: .65rem;
  letter-spacing: 0.12em;
  font-weight: 700;
}
body.design-executive .hero-stats { gap: 40px; }
body.design-executive .hero-stat {
  border-left: 3px solid var(--accent-gold);
  padding-left: 16px;
}
body.design-executive .hero-stat-value { font-family: Georgia, serif; font-weight: 400; }

body.design-executive .section { padding: 80px 0; }
body.design-executive .section-label {
  font-size: .65rem;
  letter-spacing: 0.16em;
  font-weight: 700;
  border-bottom: 2px solid var(--accent-gold);
  display: inline-block;
  padding-bottom: 4px;
}

body.design-executive .pillar-card {
  border-radius: 2px;
  border: 1px solid var(--border);
  border-top: 3px solid var(--accent-primary);
  box-shadow: none;
}
body.design-executive .pillar-card:hover {
  border-top-color: var(--accent-gold);
  transform: none;
  box-shadow: 0 4px 16px rgba(0,0,0,0.15);
}

body.design-executive .faq-item {
  border-radius: 0;
  border: none;
  border-bottom: 1px solid var(--border);
}

body.design-executive .marquee-section { display: none; }

body.design-executive .footer {
  border-top: 3px solid var(--accent-gold);
}
body.design-executive .footer-col h4 {
  font-size: .68rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  border-bottom: 1px solid var(--border);
  padding-bottom: 10px;
}

/* ============================================================
   DESIGN: RESEARCH
   Academic rigor. Paper-like, dense content, serif headings.
   Generous line-height, footnote-style details, muted UI.
   ============================================================ */

body.design-research {
  font-family: 'Inter', 'Charter', 'Georgia', serif;
  font-size: 16px;
  line-height: 1.75;
  letter-spacing: 0;
}

body.design-research h1, body.design-research h2 {
  font-family: 'Space Grotesk', 'Georgia', serif;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.2;
}
body.design-research h3, body.design-research h4,
body.design-research h5, body.design-research h6 {
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  letter-spacing: 0;
}

body.design-research .nav { height: 56px; }
body.design-research .nav-links a { font-size: .82rem; }
body.design-research .logo-mark {
  width: 30px; height: 30px;
  font-size: .65rem;
  border-radius: 3px;
}
body.design-research .nav-logo { font-size: 1rem; }

body.design-research .btn {
  border-radius: 3px;
  font-size: .82rem;
  padding: 8px 20px;
  font-weight: 600;
}
body.design-research .btn-primary { text-decoration: none; }
body.design-research .btn-ghost { border-width: 1px; }

body.design-research .hero {
  min-height: 50vh;
  text-align: left;
}
body.design-research .hero-content { align-items: flex-start; }
body.design-research .hero-title {
  font-size: clamp(2rem, 4vw, 3rem);
  line-height: 1.2;
}
body.design-research .hero-description {
  font-size: 1.1rem;
  line-height: 1.7;
  max-width: 640px;
}
body.design-research .hero-badge {
  font-family: 'JetBrains Mono', monospace;
  border-radius: 2px;
  font-size: .65rem;
  padding: 4px 10px;
}
body.design-research .hero-stats {
  justify-content: flex-start;
  gap: 48px;
}

body.design-research .section { padding: 64px 0; }
body.design-research .section-label {
  font-family: 'JetBrains Mono', monospace;
  font-size: .65rem;
  letter-spacing: 0.08em;
  opacity: 0.7;
}

body.design-research .pillar-card {
  border-radius: 0;
  border: none;
  border-left: 3px solid var(--accent-primary);
  background: var(--bg-card);
  padding: 20px 24px;
}
body.design-research .pillar-card:hover {
  border-left-color: var(--accent-secondary);
  transform: none;
  background: var(--bg-card-hover);
}

body.design-research .faq-item {
  border-radius: 0;
  border: none;
  border-left: 2px solid var(--border);
  padding-left: 20px;
}

body.design-research .marquee-section { display: none; }

body.design-research .footer { padding: 32px 0 16px; }
body.design-research .footer-grid { gap: 32px; }
body.design-research .footer-col h4 {
  font-family: 'JetBrains Mono', monospace;
  font-size: .65rem;
  letter-spacing: 0.1em;
}
body.design-research .footer-bottom { font-size: .72rem; }

/* ============================================================
   DESIGN: CORTEX WARM
   Approachable warmth. Organic shapes, generous padding.
   Rounded everything, warm shadows, friendly typography.
   ============================================================ */

body.design-cortex {
  font-family: 'Inter', -apple-system, sans-serif;
  letter-spacing: 0;
  line-height: 1.7;
}

body.design-cortex h1, body.design-cortex h2, body.design-cortex h3,
body.design-cortex h4, body.design-cortex h5, body.design-cortex h6 {
  font-family: 'Space Grotesk', 'Inter', sans-serif;
  font-weight: 700;
  letter-spacing: -0.03em;
}

body.design-cortex .nav { backdrop-filter: blur(20px) saturate(1.8); }
body.design-cortex .logo-mark { border-radius: 12px; }
body.design-cortex .nav-links a { font-weight: 500; }

body.design-cortex .btn {
  border-radius: 100px;
  padding: 12px 32px;
  font-weight: 600;
}
body.design-cortex .btn-primary {
  box-shadow: 0 4px 16px rgba(0,0,0,0.2);
}
body.design-cortex .btn-ghost {
  border-radius: 100px;
  border: 1.5px solid var(--border);
}

body.design-cortex .hero { min-height: 90vh; }
body.design-cortex .hero-title {
  font-size: clamp(2.5rem, 5.5vw, 4rem);
  line-height: 1.1;
}
body.design-cortex .hero-badge {
  border-radius: 100px;
  padding: 6px 16px;
}
body.design-cortex .hero-stat {
  background: var(--bg-card);
  padding: 16px 20px;
  border-radius: 16px;
  border: 1px solid var(--border);
}

body.design-cortex .section { padding: 96px 0; }
body.design-cortex .section-label {
  letter-spacing: 0.1em;
  font-size: .72rem;
  background: var(--surface);
  padding: 4px 14px;
  border-radius: 100px;
  display: inline-flex;
}

body.design-cortex .pillar-card {
  border-radius: 20px;
  border: 1px solid var(--border);
  box-shadow: 0 4px 20px rgba(0,0,0,0.12);
  overflow: hidden;
}
body.design-cortex .pillar-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 40px rgba(0,0,0,0.2);
}

body.design-cortex .faq-item {
  border-radius: 16px;
  border: 1px solid var(--border);
  margin-bottom: 8px;
}

body.design-cortex .search-box { border-radius: 24px; }
body.design-cortex .search-result { border-radius: 12px; }

body.design-cortex .footer { border-radius: 32px 32px 0 0; padding-top: 48px; margin-top: 0; }
body.design-cortex .footer-col h4 { font-size: .8rem; letter-spacing: 0.06em; }

/* ============================================================
   RESPONSIVE OVERRIDES
   ============================================================ */

@media (max-width: 768px) {
  body.design-executive .hero-stats { gap: 20px; }
  body.design-research .hero-stats { gap: 24px; }
  body.design-executive .section-label { display: inline-block; }
}

/* ============================================================
   PRINT OVERRIDES
   ============================================================ */

@media print {
  body.design-synapse, body.design-executive,
  body.design-research, body.design-cortex {
    font-family: Georgia, 'Times New Roman', serif;
  }
}
