/* Quiet interface typography around the established condensed hero. */
:root {
  --font-ui: 'Inter', Arial, sans-serif;
  --muted: #636c65;
  --line: #dcded7;
  --soft: #eeefe9;
}
body {
  font-family: var(--font-ui);
  font-size: 15px;
  line-height: 1.65;
  letter-spacing: -.012em;
  font-optical-sizing: auto;
  -webkit-font-smoothing: antialiased;
}
h1, h2 { font-weight: 650; letter-spacing: -.045em; line-height: 1.09; text-wrap: balance; }
h3 { font-weight: 600; letter-spacing: -.032em; line-height: 1.2; }
h4 { font-weight: 600; }
h2 { font-size: clamp(32px, 3.6vw, 50px); }
.hero h1 { font-family: 'Roboto Condensed', Impact, sans-serif; font-weight: 800; letter-spacing: -.04em; line-height: .94; text-wrap: initial; }
.logo-word { font-family: Manrope, Arial, sans-serif; }
.eyebrow { font-size: 11px; font-weight: 600; letter-spacing: .12em; margin-bottom: 20px; }
.hero .eyebrow { font-size: 11px; font-weight: 600; letter-spacing: .13em; }
.hero p { font-size: 16px; line-height: 1.65; color: #efefe8; }
.section-heading { margin-bottom: 36px; }
.section-heading p { font-size: 15px; line-height: 1.7; }
.text-link { font-size: 14px; font-weight: 500; gap: 16px; padding-bottom: 6px; border-color: #a9afa7; }
.btn { min-height: 50px; font-size: 14px; font-weight: 550; letter-spacing: -.015em; border-radius: 6px; padding: 13px 22px; }
.btn:hover { transform: none; }
.btn.small { font-size: 13px; min-height: 42px; }
.icon { stroke-width: 1.5; }
.badge-count { font-family: var(--font-ui); font-weight: 500; }
.site-header { border-bottom-color: #ffffff0d; }
.header-inner { gap: 28px; }
.header-links { font-size: 14px; font-weight: 450; gap: clamp(18px, 1.8vw, 28px); letter-spacing: -.015em; }
.header-links a { position: relative; padding: 12px 0; opacity: .82; transition: color .18s, opacity .18s; white-space: nowrap; }
.header-links a::after { content: ''; position: absolute; height: 1px; background: currentColor; left: 0; right: 0; bottom: 6px; transform: scaleX(0); transform-origin: left; transition: transform .2s; }
.header-links a:hover, .header-links a.active { color: #fff; opacity: 1; }
.header-links a:hover::after, .header-links a.active::after { transform: scaleX(1); }
.header-actions .btn { font-size: 13px; min-height: 44px; padding: 10px 16px; }
.hero-tag { border: 0; background: none; backdrop-filter: none; font-size: 12px; line-height: 1.65; padding: 0; max-width: 260px; text-shadow: 0 1px 12px #0008; }
.hero-tag img { width: 44px; height: 44px; border-radius: 3px; }
.hero-tag strong { font-weight: 550; }
.category-tile h3 { font-size: 23px; font-weight: 550; letter-spacing: -.035em; }
.category-tile small { font-size: 10px; letter-spacing: .08em; opacity: .6; }
.intro-line { padding: 28px 0; font-size: 12px; }
.intro-line strong { font-weight: 500; }
.catalog-tabs { gap: 8px; }
.chip { background: transparent; border-color: var(--line); border-radius: 5px; font-size: 13px; font-weight: 450; padding: 9px 17px; min-height: 40px; }
.chip.active { background: var(--ink); color: #fff; border-color: var(--ink); }
.product-meta { padding-top: 18px; }
.product-image, .gallery-item { border-radius: 5px; overflow: hidden; }
.product-title { align-items: baseline; gap: 12px; }
.product-title h3 { font-size: 23px; font-weight: 550; }
.price { font-size: 18px; font-weight: 600; letter-spacing: -.025em; font-variant-numeric: tabular-nums; }
.price small { font-size: 11px; font-weight: 400; }
.product-extra { font-size: 12px; margin-top: 8px; line-height: 1.6; }
.product-bottom { margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--line); }
.product-bottom .text-link { font-size: 13px; border: 0; padding: 0; gap: 14px; }
.compare-check { font-size: 12px; }
.data-note, .legal-text { font-size: 11px; line-height: 1.75; }
.story-copy p, .finder-section p, .palette-form p, .about-strip p { font-size: 15px; line-height: 1.75; }
.finder-choice { border-color: #ffffff24; }
.finder-choice strong { font-size: 18px; font-weight: 500; }
.finder-choice small { font-size: 12px; margin-top: 6px; }
.mini-number { font-size: 11px; letter-spacing: .08em; }
.field { font-size: 13px; font-weight: 500; gap: 9px; margin-bottom: 22px; }
.field input, .field select, .field textarea { font-size: 15px; font-weight: 400; border-radius: 5px; min-height: 50px; }
.field small { font-size: 11px; font-weight: 400; }
.palette-controls { font-size: 13px; gap: 16px; }
.palette-legend { font-size: 11px; border-radius: 3px; }
.swatch, .swatch.square { font-size: 11px; font-weight: 450; }
.gallery-item .gallery-caption { font-size: 13px; }
.about-point h4 { font-size: 15px; }
.about-point p, .delivery-row p, .process-step p { font-size: 13px; line-height: 1.75; }
.delivery-row strong { font-size: 16px; font-weight: 550; }
.accordion summary { font-size: 16px; font-weight: 500; padding: 23px 0; letter-spacing: -.02em; }
.accordion details p { font-size: 14px; line-height: 1.8; max-width: 760px; }
.closing p { font-size: 15px; line-height: 1.75; }
.footer-grid { font-size: 13px; padding-top: 60px; padding-bottom: 42px; }
.footer-grid h4 { font-size: 11px; font-weight: 500; letter-spacing: .09em; color: #b6c0b0; }
.footer-grid p { line-height: 1.8; }
.footer-grid a:not(.logo) { margin: 11px 0; }
.footer-phone { font-size: 19px; font-weight: 550; }
.footer-bottom { font-size: 11px; line-height: 1.75; gap: 40px; }
.breadcrumbs { font-size: 12px; }
.page-heading p { font-size: 15px; line-height: 1.75; }
.page-hero { padding-top: 46px; padding-bottom: 42px; }
.page-hero h1 { font-size: clamp(42px, 5vw, 68px); }
.filter-head { font-weight: 550; }
.filter-head button { font-size: 12px; }
.filter-group h4 { font-size: 13px; font-weight: 550; }
.check-row { font-size: 13px; margin: 12px 0; }
.sort-select, .catalog-results-info { font-size: 13px; }
.catalog-layout .product-title h3 { font-size: 22px; }
.catalog-layout .price { font-size: 18px; }
.catalog-layout .product-bottom { flex-wrap: wrap; gap: 10px; }
.product-subtitle { font-size: 14px; line-height: 1.7; }
.detail-price { font-size: 34px; font-weight: 600; letter-spacing: -.035em; font-variant-numeric: tabular-nums; }
.detail-section>label { font-size: 13px; font-weight: 550; }
.size-option { font-size: 13px; border-radius: 4px; min-height: 42px; padding: 9px 13px; }
.calculator, .quote-summary { background: #ecefe7; border-radius: 6px; }
.calculator h3 { font-weight: 550; }
.calculator-summary { font-size: 14px; }
.calculator-summary strong { font-size: 17px; font-weight: 600; }
.calculator .data-note { font-size: 11px; }
.specs-table, .compare-table { font-size: 14px; }
.detail-description p { font-size: 14px; line-height: 1.8; }
.inline-action { font-size: 13px; min-height: 40px; }
.quote-item h3 { font-size: 21px; }
.quote-item .muted { font-size: 12px; }
.summary-line { font-size: 14px; }
.summary-total { font-size: 15px; }
.summary-total strong { font-weight: 600; }
.quote-summary .check-row, .quantity-stepper small { font-size: 12px; }
.complement { font-size: 13px; border-radius: 4px; }
.contact-block p, .map-card p { font-size: 15px; }
.guide-card { border-width: 0 0 1px; padding: 28px 0; }
.guide-card p { font-size: 14px; line-height: 1.75; }
.prose { font-size: 16px; line-height: 1.85; max-width: 740px; }
.process-step h3 { font-size: 21px; font-weight: 550; }
.dialog-body p, .quiz-option { font-size: 15px; }
.dialog-body .field { font-size: 13px; }
.quiz-option { border-radius: 5px; font-weight: 450; }
.quiz-foot span, .lightbox-controls, .review-note { font-size: 12px; }
.search-result strong { font-size: 16px; font-weight: 550; }
.mobile-menu .small-links { display: grid; grid-template-columns: 1fr 1fr; gap: 4px 18px; padding-top: 18px; }
.mobile-menu .small-links a { display: block; font-size: 14px; font-weight: 450; line-height: 1.5; letter-spacing: -.015em; padding: 8px 0; border: 0; }
.compare-tray { border-radius: 7px; font-size: 12px; box-shadow: 0 6px 24px #0002; }
:focus-visible { outline: 2px solid var(--orange); outline-offset: 4px; }

@media (min-width: 781px) and (max-width: 1200px) {
  .header-inner { gap: 20px; }
  .header-links { gap: 18px; font-size: 13px; }
  .header-actions .btn { font-size: 0; padding: 10px; }
  .header-links a:nth-last-child(2) { display: none; }
}
@media (min-width: 781px) and (max-width: 1050px) {
  .header-links { display: none; }
  .header-actions { margin-left: auto; }
  .header-actions .btn { font-size: 13px; padding: 10px 15px; }
  .menu-button { display: inline-grid; }
}
@media (max-width: 780px) {
  body { font-size: 15px; }
  h2 { font-size: clamp(31px, 8.6vw, 42px); }
  .section { padding-top: 60px; padding-bottom: 60px; }
  .section.compact { padding-top: 38px; padding-bottom: 38px; }
  .section-heading { gap: 14px; margin-bottom: 28px; flex-wrap: wrap; }
  .section-heading .text-link { font-size: 13px; margin-top: 0; }
  .section-heading p { font-size: 14px; }
  .eyebrow { font-size: 10px; letter-spacing: .1em; margin-bottom: 17px; }
  .hero .eyebrow { font-size: 10px; letter-spacing: .1em; }
  .hero p { font-size: 15px; line-height: 1.65; max-width: 330px; }
  .hero-actions { gap: 18px; }
  .hero-actions>.btn { font-size: 13px; padding: 13px 17px; min-height: 48px; }
  .hero-actions>.text-link { font-size: 12px; gap: 8px; }
  .hero-tag { font-size: 11px; padding: 0; }
  .category-tile h3 { font-size: 18px; }
  .category-tile, .category-tile:first-child { min-height: 74px; }
  .intro-line { font-size: 11px; line-height: 1.5; gap: 18px; }
  .intro-line>span { flex-wrap: wrap; }
  .catalog-tabs { gap: 6px; }
  .chip { font-size: 12px; padding: 9px 12px; min-height: 40px; }
  .product-title h3, .catalog-layout .product-title h3 { font-size: 19px; letter-spacing: -.035em; }
  .price, .catalog-layout .price { font-size: 16px; }
  .price small { font-size: 10px; }
  .product-extra { font-size: 11px; line-height: 1.55; }
  .product-bottom { margin-top: 13px; padding-top: 12px; }
  .product-bottom .text-link { font-size: 12px; gap: 6px; }
  .data-note, .legal-text { font-size: 11px; }
  .story-copy { padding: 38px 22px; }
  .story-copy h2 { font-size: 34px; }
  .story-copy p, .finder-section p, .palette-form p, .about-strip p, .closing p { font-size: 14px; line-height: 1.75; }
  .finder-choice strong { font-size: 17px; }
  .finder-choice small { font-size: 12px; }
  .about-point h4 { font-size: 14px; }
  .about-point p, .process-step p { font-size: 12px; }
  .accordion summary { font-size: 15px; padding: 20px 0; }
  .accordion details p { font-size: 14px; }
  .gallery-item .gallery-caption { font-size: 12px; }
  .footer-grid { gap: 36px 20px; padding-top: 44px; }
  .footer-grid p { font-size: 13px; max-width: 330px; }
  .footer-grid h4 { font-size: 11px; }
  .footer-grid a:not(.logo) { font-size: 13px; margin: 12px 0; overflow-wrap: anywhere; }
  .footer-grid .footer-phone { font-size: 18px !important; }
  .footer-bottom { font-size: 10px; padding-bottom: 110px; }
  .mobile-nav { padding-top: 9px; padding-bottom: calc(9px + env(safe-area-inset-bottom)); }
  .mobile-nav a, .mobile-nav button { font-size: 11px; min-height: 44px; gap: 5px; }
  .mobile-nav .quote-link { font-size: 12px; font-weight: 550; border-radius: 5px; gap: 6px; }
  .breadcrumbs { font-size: 11px; }
  .page-hero { padding-top: 28px; padding-bottom: 24px; }
  .page-heading p { font-size: 14px; }
  .search-input, .field input, .field select, .field textarea { font-size: 16px; }
  .sort-select, .filter-mobile, .catalog-results-info { font-size: 12px; }
  .filter-mobile { min-height: 48px; }
  .mobile-product-heading { gap: 12px; }
  .mobile-product-heading h1 { font-size: 33px; font-weight: 600; }
  .mobile-detail-price { font-size: 21px; font-weight: 600; letter-spacing: -.03em; }
  .mobile-detail-price small { font-size: 10px; }
  .product-subtitle { font-size: 13px; }
  .size-option { font-size: 12px; padding: 9px 10px; }
  .palette-controls { gap: 12px; }
  .palette-controls input { min-width: 60px; width: 60px; }
  .swatch.square { font-size: 11px; }
  .calculator { padding: 22px 18px; }
  .calculator-summary { font-size: 13px; }
  .calculator-summary strong { font-size: 16px; }
  .specs-table { font-size: 13px; }
  .quote-item { grid-template-columns: 56px 1fr auto; gap: 10px; }
  .quote-item>img { width: 56px; height: 64px; }
  .quote-item h3 { font-size: 17px; }
  .quote-item .muted { font-size: 11px; }
  .quote-item-end .price { font-size: 15px; }
  .complement { font-size: 11px; }
  .quote-summary .check-row { font-size: 12px; }
  .process-step h3 { font-size: 19px; }
  .prose { font-size: 15px; line-height: 1.85; }
  .dialog-body p, .quiz-grid .quiz-option { font-size: 14px; }
  .quiz-foot .btn { font-size: 13px; }
  .compare-tray { font-size: 11px; }
  .compare-tray .btn { font-size: 12px; }
  .mobile-menu a { font-size: 24px; font-weight: 550; letter-spacing: -.035em; }
}
