/* Sistema tipografico da marca: Cinzel para expressao, sans-serif para leitura e interface. */
:root {
  --font-display: Cinzel, Georgia, serif;
  --font-body: "Helvetica Neue", "Segoe UI", Arial, sans-serif;
  --weight-regular: 400;
  --weight-medium: 500;
  --weight-semibold: 600;
  --serif: var(--font-display);
  --sans: var(--font-body);
}

body,
button,
input,
select,
textarea {
  font-family: var(--font-body);
  font-weight: var(--weight-regular);
}

h1,
h2,
h3,
.wordmark strong,
.monogram,
.manifesto h1,
.showcase-info h2,
.craft h2,
.collection h2,
.contact-band h2,
.catalog-title h1,
.product-info h2,
.service h2,
.product-panel h1,
.craft-note h2,
.section-heading h2,
.related-card h3 {
  font-family: var(--font-display);
  font-weight: var(--weight-medium);
}

strong,
b,
.product-price strong,
.price-row strong,
.related-card span,
.variation.active span {
  font-weight: var(--weight-semibold);
}

.nav-side a,
.store-header nav a,
.header-contact,
.outline-button,
.service-button,
.buy-button,
.dialog-copy,
.product-action,
.product-badge,
.tag,
.section-label,
.showcase-kicker,
.eyebrow,
.filter,
.footer-links a,
.site-footer .footer-links a,
.footer-origin > span,
.menu-toggle,
.home-header.menu-open::before {
  font-family: var(--font-body);
  font-weight: var(--weight-semibold);
}

.showcase-info p,
.summary,
.footer-origin p,
.manifesto-inner > p:last-child {
  font-weight: var(--weight-regular);
}

.footer-origin p {
  font-family: var(--font-body);
}

em {
  font-weight: var(--weight-regular);
}

/* Frases de efeito: menos caixa-alta e contraste mais editorial. */
.hero-tagline {
  font-family: var(--font-display);
  font-size: clamp(.82rem, 1.15vw, 1rem);
  font-weight: var(--weight-regular);
  letter-spacing: .18em;
  line-height: 1.5;
  text-transform: uppercase;
}

.section-label,
.showcase-kicker,
.eyebrow {
  font-weight: var(--weight-medium);
  letter-spacing: .16em;
  text-transform: uppercase;
}

.manifesto h1,
.showcase-info h2,
.collection-heading h2,
.craft-copy h2,
.contact-band h2 {
  font-weight: var(--weight-regular);
  letter-spacing: -.012em;
}

.manifesto h1 {
  font-size: clamp(2.3rem, 4.4vw, 4.6rem);
}

.showcase-info h2 {
  font-size: clamp(2.75rem, 4.4vw, 4.9rem);
}

.collection-heading h2,
.craft-copy h2 {
  font-size: clamp(2.45rem, 3.85vw, 4.15rem);
}

.manifesto h1 em,
.craft-copy h2 em,
.contact-band h2 em {
  display: inline-block;
  font-size: .82em;
  font-style: normal;
  font-weight: var(--weight-regular);
  letter-spacing: .005em;
}

.craft-copy h2 em {
  color: var(--tan);
}

@media (max-width: 620px) {
  .hero-tagline {
    font-size: .82rem;
    letter-spacing: .13em !important;
  }

  .showcase-info h2,
  .collection-heading h2,
  .craft-copy h2 {
    font-size: clamp(2.2rem, 9.8vw, 2.85rem);
  }
}

/* Bloco de atendimento: escala editorial mais contida. */
.contact-band {
  padding-block: clamp(5.5rem, 8vw, 8.5rem);
}

.contact-band h2 {
  width: min(100%, 1120px);
  margin: 0 auto 2rem;
  font-size: clamp(2.4rem, 3.65vw, 4rem);
  line-height: 1.17;
}

.contact-band h2 em {
  display: block;
  margin-top: .18em;
  font-size: .78em;
  line-height: 1.22;
}

@media (max-width: 620px) {
  .contact-band {
    padding: 4.75rem 1.35rem 5rem;
    background-position: 58% center;
  }

  .contact-band .section-label {
    margin-bottom: .85rem;
    font-size: .56rem;
    letter-spacing: .13em;
  }

  .contact-band h2 {
    width: min(100%, 21rem);
    margin-bottom: 1.75rem;
    font-size: clamp(1.75rem, 7.7vw, 2.05rem);
    line-height: 1.2;
    letter-spacing: -.006em;
  }

  .contact-band h2 em {
    margin-top: .3em;
    font-size: .76em;
    line-height: 1.32;
  }

  .contact-band .outline-button {
    min-height: 44px;
    padding-inline: 1.4rem;
    font-size: .56rem;
    letter-spacing: .18em;
  }
}
