/* Prime Digital World — Updated typography */

:root {
  --heading-font: 'Recoleta', serif;
  --body-font: 'Sofia Pro', sans-serif;
}

body {
  font-family: var(--body-font);
  font-weight: 300; /* Light for paragraphs */
}

h1, h2, h3, h4, h5, h6,
.font-display {
  font-family: var(--heading-font);
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: -0.5px;
}

.fashion-italic {
  font-family: 'Playfair Display', serif;
  font-style: italic;
  text-transform: lowercase;
  font-weight: 400;
  letter-spacing: 0;
}

/* Navigation */
.navbar-genz .nav-link {
  font-family: var(--heading-font);
  font-size: 0.85rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 2px;
}

/* Hero & page titles */
.display-giant {
  font-family: 'Camon', var(--heading-font), serif;
  font-size: clamp(2rem, 5vw, 3.8rem);
  line-height: 0.9;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: -0.5px;
  margin-bottom: 1.5rem;
  overflow-wrap: normal;
  word-break: normal;
}

.hero-title-big {
  font-family: var(--heading-font);
  font-size: clamp(3rem, 6vw, 4.8rem);
  line-height: 0.9;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: -0.5px;
  overflow-wrap: normal;
  word-break: normal;
}

.display-giant.mb-0 {
  margin-bottom: 0;
}

/* Intro / lead text (Subtitle - Regular) */
.hero-fashion .fs-5,
.editorial-contact-section .fs-5,
.page-hero-subtitle {
  font-family: var(--body-font);
  font-size: 1rem;
  line-height: 1.6;
  font-weight: 400; /* Regular */
}

/* Product grid */
.product-title {
  font-family: var(--heading-font);
  font-size: 1rem;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: -0.3px;
  line-height: 1.2;
}

.product-desc {
  font-family: var(--body-font);
  font-size: 0.85rem;
  line-height: 1.4;
  font-weight: 300; /* Light */
}

.product-tag {
  font-family: var(--heading-font);
  font-size: 0.65rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.card-tag {
  font-family: var(--heading-font);
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.filter-btn {
  font-family: var(--body-font);
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-weight: 400; /* Regular */
}

/* Marquee */
.marquee-content {
  font-family: var(--heading-font);
  font-size: 1.4rem;
  text-transform: uppercase;
  font-weight: 400;
  letter-spacing: 1px;
}

/* About page */
.matrix-title {
  font-family: var(--heading-font);
  font-size: 0.85rem;
  letter-spacing: 2px;
  text-transform: uppercase;
  font-weight: 400;
}

.matrix-list {
  font-family: var(--body-font);
  font-size: 0.9rem;
  font-weight: 300; /* Light */
}

.metric-val {
  font-family: var(--heading-font);
  font-size: 3rem;
  font-weight: 400;
  line-height: 1;
}

.metric-label {
  font-family: var(--heading-font);
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 2px;
  font-weight: 400;
}

.manifesto-list li {
  font-family: var(--body-font);
  font-size: 0.95rem;
  font-weight: 300; /* Light */
}

/* Contact form */
.stark-intake-form label {
  font-family: 'Playfair Display', serif;
  font-style: italic;
  font-size: 1.05rem;
  font-weight: 400;
  text-transform: none;
  letter-spacing: 0.04em;
  color: var(--accent-ochre, #B8924E);
}

.stark-intake-form .form-group:focus-within label {
  color: var(--text-dark, #0A0A0A);
}

.stark-intake-form .form-control {
  font-family: var(--body-font);
  font-size: 1.1rem;
  font-weight: 400; /* Regular */
}

.stark-intake-form .form-control::placeholder {
  font-size: 0.95rem;
  font-weight: 300; /* Light */
}

/* Footer */
.footer-link {
  font-family: var(--body-font);
  font-size: 0.9rem;
  font-weight: 300; /* Light */
}

.footer-brutal h4 {
  font-family: var(--heading-font);
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 2px;
  font-weight: 400;
}

/* Action strip */
.action-strip h2 {
  font-family: var(--heading-font);
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: -0.5px;
}

.action-strip p {
  font-family: var(--body-font);
  font-size: 0.875rem;
  line-height: 1.6;
  font-weight: 300; /* Light */
}

/* Fashion cards */
.fashion-card h4,
.fashion-card .fs-5 {
  font-family: var(--heading-font);
  font-size: 1.1rem;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: -0.3px;
}

.fashion-card .text-muted {
  font-family: var(--body-font);
  font-size: 0.875rem;
  font-weight: 300; /* Light */
}

.cut-overlay h3 {
  font-family: var(--heading-font);
  font-weight: 400;
  text-transform: uppercase;
}

.cut-overlay .small {
  font-family: var(--heading-font);
  font-size: 0.75rem;
  letter-spacing: 2px;
  text-transform: uppercase;
  font-weight: 400;
}

@media (max-width: 767.98px) {
  .display-giant {
    font-size: clamp(2.2rem, 8vw, 3.2rem);
    line-height: 0.92;
  }

  .hero-title-big {
    font-size: clamp(2.2rem, 8vw, 3.2rem);
    line-height: 0.92;
  }
}
