@font-face{
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url(assets/font-manrope-variable.woff2) format('woff2');
}
@font-face{
  font-family: 'Domine';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/font-domine-400.woff2) format('woff2');
}
@font-face{
  font-family: 'Domine';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(assets/font-domine-700.woff2) format('woff2');
}
@font-face{
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/font-montserrat-400.woff2) format('woff2');
}
@font-face{
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/font-montserrat-600.woff2) format('woff2');
}
@font-face{
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(assets/font-montserrat-700.woff2) format('woff2');
}

/* Domine for general reading; Montserrat for headings and controls.
   Muted text uses Manrope and a darker tone in the final rules below. */
body { font-family: 'Domine', Georgia, serif; font-size: 16px; line-height: 1.65; letter-spacing: 0; }
h1, h2, h3, h4, h5, h6,
button, input, select, textarea, nav, label, legend, summary,
.button, .text-link, .eyebrow, .announcement, .brand-filters,
.catalog-brand, .catalog-variant-label, .catalog-price-row, .catalog-availability,
.catalog-results-line, .sealed-badge, .variant-choice, .detail-direct-link,
.order-trigger, .order-count, .quantity-control, .order-item-info > strong,
.hero-bottom, .hero-caption, .visual-tag, .side-caption, .floating-label,
.life-word, .step-top, .social-links, .footer-top, .footer-bottom,
.email-link, .floating-contact, .search-result, .search-help,
#detail-price, #order-total { font-family: 'Montserrat', 'Helvetica Neue', Arial, sans-serif; }
h1, h2, h3, h4, h5, h6 { font-weight: 600; }
h1 { font-size: clamp(54px, 5.55vw, 76px); letter-spacing: -.035em; line-height: 1.06; }
h2, .section-heading h2, .lifestyle h2, .contact-inner h2 { letter-spacing: -.035em; }
h3, .catalog-card-body h3, .order-item h3 { letter-spacing: -.025em; }
button, input, select, textarea, nav, .button, .text-link { letter-spacing: 0; }
.eyebrow, .section-heading .eyebrow, .hero-copy .eyebrow { font-size: 11px; font-weight: 600; letter-spacing: .11em; }
.catalog-price-row strong, #detail-price, .order-footer > strong { font-weight: 700; }
.hero-description { font-size: 17px; line-height: 1.8; }
.hero-note { font-size: 12px; line-height: 1.7; }
.hero-caption { font-size: 10px; }
.desktop-nav { font-size: 13px; }
.catalog-description, .catalog-availability { line-height: 1.7; }
.faq-list details p, .step p { font-size: 14px; line-height: 1.85; }
.faq-list summary { font-size: 14px; line-height: 1.6; }
.footer-top > span, .footer-bottom { font-size: 11px; }
.search-box input { font-size: 16px; }

@media (max-width: 900px) {
  h1 { font-size: clamp(46px, 6.1vw, 62px); }
  .hero-copy .eyebrow { font-size: 10px; }
  .hero-note { max-width: 280px; font-size: 11px; }
}
@media (max-width: 600px) {
  body { font-size: 15px; }
  h1 { font-size: clamp(44px, 10.6vw, 59px); letter-spacing: -.04em; line-height: 1.06; }
  h2, .section-heading h2 { font-size: clamp(29px, 7.4vw, 36px); line-height: 1.2; }
  .hero-copy .eyebrow, .section-heading .eyebrow { font-size: 10px; letter-spacing: .09em; }
  .hero-description { font-size: 15px; line-height: 1.8; }
  .hero-note { max-width: none; font-size: 11px; }
  .hero-caption { font-size: 10px; }
  .hero-actions .button, .hero-actions .text-link { font-size: 12px; }
  .catalog-section .catalog-disclaimer { font-size: 12px; line-height: 1.8; }
  #product-dialog .detail-content > p, .order-content > p { font-size: 14px; line-height: 1.75; }
  .faq-list summary, .faq-list details p, .step p { font-size: 14px; }
  .lifestyle-copy > p:not(.eyebrow), .contact-inner > p:not(.eyebrow) { font-size: 14px; line-height: 1.85; }
  .contact-inner .button, .email-link, .social-links { font-size: 12px; }
  .footer-top > span, .footer-bottom, .back-top { font-size: 10px; }
  .search-box input { font-size: 16px; }
  .search-help { font-size: 12px; line-height: 1.6; }
}

/* Secondary text: Manrope with stronger contrast on light backgrounds. */
:root { --secondary-text: #48434f; --muted: var(--secondary-text); }
.catalog-section { --catalog-muted: var(--secondary-text); }
.hero-description,
.hero-note, .hero-note a,
.hero-bottom,
.desktop-nav a,
.section-heading > p, .catalog-section .section-heading > p,
.catalog-description, .catalog-variant-label, .catalog-availability,
.catalog-results-line, .catalog-price-row > span,
.catalog-disclaimer, .catalog-section .catalog-disclaimer,
.catalog-help > span, .series-heading p,
.catalog-sort, .filter-grid > label, .advanced-filters > summary,
.step p,
.faq-section > div > p:not(.eyebrow), .faq-list details p,
.contact-inner > p:not(.eyebrow), .email-link, .social-links,
.footer-top > span, .footer-bottom,
#product-dialog .detail-content > p,
#product-dialog .detail-content .detail-note,
#product-dialog .detail-content #detail-price-note,
#product-dialog .availability,
.variant-group > label, .variant-group > legend,
.variant-group > .variant-label, .variant-group fieldset > legend,
.order-content > p, #order-empty > p,
.order-item p, .order-footer > p,
.search-status, .search-result small,
#catalog-empty > p,
#clear-filters:disabled {
  font-family: 'Manrope', 'Helvetica Neue', Arial, sans-serif;
  color: var(--secondary-text);
}
.variant-choice { font-family: 'Manrope', 'Helvetica Neue', Arial, sans-serif; }
.variant-choice:not([aria-pressed="true"]):not(.selected) { color: var(--secondary-text); }
.catalog-search input::placeholder, .search-box input::placeholder {
  font-family: 'Manrope', 'Helvetica Neue', Arial, sans-serif;
  color: var(--secondary-text);
  opacity: 1;
}

/* Give secondary copy more room to read, especially on phone screens. */
.hero-description { font-size: 18px; }
.hero-note { font-size: 13px; }
.desktop-nav a { font-size: 14px; }
.hero-bottom { font-size: 12px; gap: 16px; flex-wrap: wrap; }
.hero-bottom > a, .hero-bottom .edition { font-size: 11px; }
.section-heading > p, .catalog-section .section-heading > p,
.catalog-description, .catalog-results-line,
.step p, .faq-section > div > p:not(.eyebrow), .faq-list details p,
.contact-inner > p:not(.eyebrow),
#product-dialog .detail-content > p,
.order-content > p { font-size: 15px; }
.catalog-variant-label, .catalog-availability, .catalog-price-row > span,
.catalog-help > span, .series-heading p,
.catalog-sort, .filter-grid > label,
.email-link, .social-links,
#product-dialog .availability,
.order-item p, .order-footer > p { font-size: 14px; }
.advanced-filters > summary,
.variant-group > label, .variant-group > legend,
.variant-group > .variant-label, .variant-group fieldset > legend,
.variant-choice { font-size: 15px; }
.variant-choice small { font-size: 13px; }
.series-card .catalog-variant-label { font-size: 13px; line-height: 1.65; }
.series-card .catalog-price-row > span { font-size: 12px; }
.catalog-disclaimer, .catalog-section .catalog-disclaimer,
#product-dialog .detail-content .detail-note,
#product-dialog .detail-content #detail-price-note,
.search-status, .search-result small { font-size: 13px; line-height: 1.7; }
.footer-top > span, .footer-bottom { font-size: 12px; line-height: 1.7; }
#catalog-empty > p, #order-empty > p { font-size: 17px; }

@media (max-width: 600px) {
  .hero-description { font-size: 17px; line-height: 1.75; }
  .hero-note { font-size: 14px; }
  .section-heading > p, .catalog-section .section-heading > p,
  .catalog-description,
  .step p, .faq-section > div > p:not(.eyebrow), .faq-list details p,
  .contact-inner > p:not(.eyebrow),
  #product-dialog .detail-content > p,
  .order-content > p { font-size: 16px; line-height: 1.75; }
  .catalog-variant-label, .catalog-availability,
  #product-dialog .availability, .order-item p, .order-footer > p { font-size: 15px; }
  .series-card .catalog-variant-label { font-size: 14px; }
  .series-card .catalog-price-row > span { font-size: 13px; }
  .catalog-results-line { font-size: 14px; }
  .catalog-disclaimer, .catalog-section .catalog-disclaimer,
  #product-dialog .detail-content .detail-note,
  #product-dialog .detail-content #detail-price-note,
  .search-status, .search-result small { font-size: 14px; }
  .footer-top > span, .footer-bottom { font-size: 13px; }
}
