/* Same type families and scale as the CHAER Mobiliarios storefront. */
@font-face {
  font-family: 'Manrope';
  src: url('assets/fonts/Manrope-latin.woff2') format('woff2');
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
}
@font-face {
  font-family: 'DM Sans';
  src: url('assets/fonts/DM-Sans-latin.woff2') format('woff2');
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
}
:root {
  --heading: 'Manrope', Arial, sans-serif;
  --body: 'DM Sans', Arial, sans-serif;
  --ink: #191919;
}
body { font: 400 15px/1.6 var(--body); }
h1, h2, h3 { font-family: var(--heading); font-weight: 500; line-height: 1.08; letter-spacing: -.045em; }
h1 em, h2 em { font-family: Georgia, serif; font-weight: 400; letter-spacing: -.055em; }
h2, .intro h2, .section-heading h2, .faq h2 { font-size: clamp(33px, 3.5vw, 49px); line-height: 1.08; letter-spacing: -.045em; }
.hero h1 { font-size: clamp(46px, 4.9vw, 77px); font-weight: 500; line-height: 1.08; letter-spacing: -.045em; margin: 30px 0 26px; }
.hero-description { font-size: 15px; line-height: 1.6; max-width: 380px; }
.hero .eyebrow { font-size: 10px; font-weight: 700; letter-spacing: .15em; }
.hero-footnote { font-size: 9px; line-height: 1.7; }
.hero-second { font-size: 12px; }
.hero-topline { font-size: 9px; }
.hero-bottom { font-size: 9px; }
.hero-bottom > span:nth-child(2) { font-size: 12px; }
.hero-image strong { font-family: var(--heading); font-size: 27px; font-weight: 500; letter-spacing: -.035em; }
.hero-image figcaption > span:first-child, .image-side { font-size: 9px; }
.button, .offer .button { font-family: var(--body); font-size: 13px; font-weight: 600; padding: 16px 23px; min-height: 52px; }
.hero .button.dark { background: var(--brand-red); border-color: var(--brand-red); color: #fff; }
.hero .button.dark:hover { background: #b90717; border-color: #b90717; }
.text-link { font-size: 12px; }
.header nav, .library-link { font-size: 13px; }
.brand-network nav, .language-switch { font-size: 11px; }
.section-index { font-size: 10px; font-weight: 600; letter-spacing: .15em; }
.intro p { font-size: 14px; line-height: 1.8; }
.section-heading > p { font-size: 13px; line-height: 1.8; }
.filters button, .search input { font-size: 12px; }
.search input { width: 175px; }
.card-bottom h3 { font-family: var(--heading); font-size: 21px; font-weight: 500; line-height: 1.3; letter-spacing: -.025em; }
.card-materials { font-size: 11px; line-height: 1.7; }
.collection-note { font-size: 11px; }
.feature-copy h2 { font-size: clamp(38px, 4.1vw, 58px); line-height: 1.08; letter-spacing: -.045em; }
.feature-copy p { font-size: 14px; line-height: 1.8; }
.feature-image-label { font-size: 9px; }
.contents-list h3, .detail-columns h3, .detail-contents h3 { font-family: var(--heading); font-size: 24px; font-weight: 500; line-height: 1.2; letter-spacing: -.035em; }
.contents-list p { font-size: 13px; line-height: 1.8; }
.method-steps h3 { font-family: var(--heading); font-size: 25px; font-weight: 500; line-height: 1.2; letter-spacing: -.035em; }
.method-steps p { font-size: 13px; line-height: 1.8; }
.method-steps article > span { font-size: 10px; }
.method-note p { font-size: 12px; line-height: 1.8; }
.offer h3 { font-family: var(--heading); font-size: 28px; font-weight: 500; line-height: 1.2; letter-spacing: -.04em; }
.offer-label { font-size: 10px; }
.offer-desc { font-size: 13px; line-height: 1.7; }
.price { font-family: var(--heading); font-size: 49px; font-weight: 500; letter-spacing: -.045em; }
.price small { font-size: 11px; font-weight: 400; }
.offer ul { font-size: 12px; line-height: 2.2; }
.selection-pending, .editions-note, .offer .price-alternative { font-size: 11px; }
.faq summary { font-size: 15px; }
.faq details p { font-size: 13px; line-height: 1.8; }
.closing h2 { font-size: clamp(46px, 4.9vw, 77px); line-height: 1.08; letter-spacing: -.045em; }
.universe-card h3 { font-family: var(--heading); font-size: 31px; font-weight: 500; line-height: 1.2; letter-spacing: -.04em; }
.universe-card p { font-size: 14px; line-height: 1.8; }
.payment-heading h2 { font-size: clamp(33px, 3.5vw, 49px); line-height: 1.08; letter-spacing: -.045em; }
.payment-copy > p { font-size: 13px; line-height: 1.8; }
.payment-methods span, .payment-library { font-size: 12px; }
.footer-top > p, .footer-top > div, .footer-bottom button { font-size: 12px; }
.footer-bottom { font-size: 9px; }
.detail-hero-copy h2 { font-size: clamp(36px, 4vw, 52px); }
.detail-concept { font-family: var(--heading); font-size: 24px; line-height: 1.5; letter-spacing: -.025em; }
.detail-columns p, .detail-contents ul { font-size: 13px; line-height: 1.8; }
.palette a { font-size: 10px; }
.color-note, .detail-actions > p { font-size: 11px !important; }
.commerce-inner > h2 { font-size: 40px; line-height: 1.08; letter-spacing: -.045em; }
.commerce-inner > p { font-size: 14px; line-height: 1.8; }
.commerce-inner label { font-size: 13px; font-weight: 500; }
.commerce-inner input { font-size: 16px; }
.order-summary, .offer-selection { font-size: 13px; }
.order-summary strong { font-family: var(--heading); font-weight: 500; }
.commerce-inner form p, .small-print { font-size: 11px; line-height: 1.8; }
.content-language p, .content-currency p { font-size: 12px; }
.library-item h3 { font-family: var(--heading); font-size: 25px; font-weight: 500; letter-spacing: -.035em; }
.library-item p, .legal-copy p { font-size: 13px; line-height: 1.8; }
.library-status { font-size: 10px; }

@media (max-width: 1050px) {
  .header { gap: 20px; }
  .header nav { gap: 18px; }
  .library-link { padding-left: 20px; gap: 14px; }
  .filters { gap: 14px; }
  .filters button, .search input { font-size: 11px; }
  .search input { width: 140px; }
  .feature-copy h2 { font-size: 45px; }
  .offer { padding-inline: 22px; }
  .offer h3 { font-size: 25px; }
}
@media (max-width: 760px) {
  .hero h1 { font-size: 54px; margin: 23px 0; }
  .hero-description { font-size: 15px; max-width: 380px; }
  .hero-second { font-size: 12px; }
  .hero-footnote { font-size: 9px; }
  .hero-topline { font-size: 8px; }
  .hero-image strong { font-size: 27px; }
  .intro h2, .section-heading h2, .faq h2 { font-size: 34px; }
  .intro p { font-size: 13px; }
  .section-heading > p { font-size: 13px; }
  .button, .offer .button { font-size: 13px; }
  .header nav { font-size: 15px; }
  .library-link { font-size: 12px; padding-left: 0; }
  .brand-network nav, .language-switch { font-size: 10px; }
  .filters button, .search input { font-size: 12px; }
  .search input { width: 100%; }
  .card-bottom h3 { font-size: 18px; line-height: 1.3; }
  .card-materials { font-size: 10px; }
  .feature-copy h2 { font-size: 42px; }
  .feature-copy p { font-size: 14px; }
  .contents-list h3 { font-size: 23px; }
  .contents-list p { font-size: 13px; }
  .method-steps { grid-template-columns: 1fr; gap: 26px; }
  .method-steps h3 { font-size: 24px; margin: 14px 0 12px; }
  .method-steps h3 br { display: none; }
  .method-steps p { font-size: 13px; max-width: 100%; }
  .method-note p { font-size: 12px; }
  .offer h3 { font-size: 29px; }
  .offer-desc { font-size: 13px; }
  .offer ul { font-size: 13px; }
  .selection-pending, .editions-note { font-size: 11px; }
  .faq summary { font-size: 14px; }
  .faq details p { font-size: 13px; }
  .closing h2 { font-size: 48px; }
  .universe-card h3 { font-size: 29px; }
  .universe-card p { font-size: 13px; }
  .payment-heading h2 { font-size: 36px; }
  .payment-copy > p { font-size: 13px; }
  .commerce-inner > h2 { font-size: 35px; }
  .commerce-inner > p, .library-item p { font-size: 13px; }
  .library-item h3 { font-size: 24px; }
}
@media (max-width: 380px) {
  .hero h1 { font-size: 48px; }
  .brand-network nav { gap: 14px; }
  .language-switch { gap: 8px; }
  .commerce-inner > h2 { font-size: 32px; }
}
