/* Compact storefront scale, revised against Optimus on 2026-10-18.
   The user approved lighter product titles and smaller text after variant A.
   Layout, colors and content remain in their existing components. */
:root {
  --font-display:"Manrope","Segoe UI",Arial,sans-serif;
  --font-body:"Onest","Segoe UI",Arial,sans-serif;
  --font-mono:"JetBrains Mono",ui-monospace,Consolas,monospace;
  --fs-display:clamp(2rem,1.472rem + 2.253vw,3.5rem);
  --fs-h1:clamp(1.625rem,1.23rem + 1.69vw,2.75rem);
  --fs-h2:clamp(1.5rem,1.21rem + 1.22vw,2.3125rem);
  --fs-h3:clamp(1.125rem,1.04rem + .38vw,1.375rem);
  --fs-h4:1.125rem;
  --fs-stat:clamp(1.5rem,1.324rem + .751vw,2rem);
  --fs-lead:1rem;
  --fs-body:.9375rem;
  --fs-button:.9375rem;
  --fs-nav:.9375rem;
  --fs-small:.8125rem;
  --fs-caption:.75rem;
  --fs-eyebrow:.75rem;
  --fs-code:.8125rem;
  --fw-regular:400;
  --fw-medium:500;
  --fw-semibold:600;
  --fw-bold:700;
  --fw-display:800;
}
html{-webkit-text-size-adjust:100%;text-rendering:optimizeLegibility}
body{font-family:var(--font-body);font-size:var(--fs-body);line-height:1.5;font-weight:var(--fw-regular);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
button,input,select,textarea{font-family:var(--font-body)}
strong,b{font-weight:var(--fw-medium)}
p,li{text-wrap:pretty}
.prose p,.prose li,main p{max-width:66ch}
h1,h2,h3,.display{font-family:var(--font-display);text-wrap:balance;text-transform:none}
h1{font-size:var(--fs-h1);line-height:1.2;font-weight:var(--fw-regular);letter-spacing:-.025em}
h2{font-size:var(--fs-h2);line-height:1.25;font-weight:var(--fw-regular);letter-spacing:-.02em}
h3{font-size:var(--fs-h3);line-height:1.25;font-weight:var(--fw-medium);letter-spacing:-.01em}
h4{font-family:var(--font-body);font-size:var(--fs-h4);line-height:1.3;font-weight:var(--fw-medium);letter-spacing:0;text-wrap:balance}
.lead{font-size:var(--fs-lead);line-height:1.55}
.small{font-size:var(--fs-small);line-height:1.5}
.caption{font-size:var(--fs-caption);line-height:1.4}
code,kbd,pre,.mono{font-family:var(--font-mono);font-size:var(--fs-code);line-height:1.5;font-weight:var(--fw-regular);letter-spacing:0}
.display,.hero h1{font-family:var(--font-display);font-size:var(--fs-display);line-height:1.05;font-weight:var(--fw-medium);letter-spacing:-.03em}

/* Page and section headings use fluid sizes at every breakpoint. */
.catalog-main .directory-heading h1,.catalog-main .catalog-page-heading h1,
.pdp-reference .pdp-heading h1,.information-main .information-heading h1,
.finfire-heading h1,.checkout-heading h1,.checkout-success h1{
  font-size:var(--fs-h1);line-height:1.2;font-weight:var(--fw-regular);letter-spacing:-.025em;
  overflow-wrap:break-word;word-break:normal;text-wrap:balance
}
.section-heading h2,.optimus-heading h2,.help-section h2,.partner-copy h2,
.information-content h2,.pdp-reference .pdp-tab-panel h2,
.finfire-main h2:not(.finfire-card h2){
  font-size:var(--fs-h2);line-height:1.25;font-weight:var(--fw-regular);letter-spacing:-.02em
}
.why-grid h3,.optimus-feature-grid h3,.information-content h3,.mobile-disclosure summary h3,
.finfire-steps h3,.finfire-card h2,.cart-empty h2{
  font-family:var(--font-display);font-size:var(--fs-h3);line-height:1.25;font-weight:var(--fw-medium);letter-spacing:-.01em
}
/* Compact panel headings are subordinate to the page/section, not new sections. */
.catalog-main .filter-title h2,.mobile-filter-dialog .filter-title h2,
.pdp-reference .pdp-summary h2,.pdp-reference .pdp-why h2,.pdp-reference .pdp-documents h2,
.pdp-kit-help h2,.information-content .support-channel-heading h2,
.information-content .support-messengers h2,.information-content .online-camera-heading h2,
.information-callout h2,.delivery-row h2,.contacts-address h2,
.finfire-main .finfire-materials h2,.checkout-section h2,.checkout-summary h2,.dialog-head h2{
  font-size:var(--fs-h4);line-height:1.3;font-weight:var(--fw-medium);letter-spacing:0
}
.buyer-faq summary{font-family:var(--font-body);font-size:var(--fs-h4);line-height:1.3;font-weight:var(--fw-medium);letter-spacing:0;text-wrap:balance}
.hero-copy p,.information-lead,.checkout-success-lead{font-size:var(--fs-lead);line-height:1.55;font-weight:var(--fw-regular);letter-spacing:0}
.information-text,.information-callout p,.about-principles p,.delivery-row p,
.why-grid p,.optimus-feature-grid p,.optimus-summary p,.help-section p,.mobile-disclosure p,
.buyer-faq details p,.pdp-reference .pdp-tab-panel,.finfire-description,.finfire-materials p,.finfire-steps p{
  font-size:var(--fs-body);line-height:1.5;letter-spacing:0
}
.information-text p+p,.tj-rich-description p+p{margin-top:16px}

/* Product names retain the catalogue's compact hierarchy; never truncate a model. */
.catalog-product-title,.product-title,.new-title,
.catalog-main .catalog-product-title,.catalog-main .is-list .catalog-product-title,
.catalog-main .directory-item h3,.cart-item-name,.finfire-main .finfire-card h2{
  font-family:var(--font-body);font-size:var(--fs-body);font-weight:var(--fw-regular);
  line-height:1.5;letter-spacing:0;text-wrap:pretty;overflow-wrap:break-word;
  white-space:normal;text-overflow:clip;-webkit-line-clamp:unset;max-height:none
}
.product-grid .catalog-product-title,.novelties-grid .catalog-product-title{
  font-size:var(--fs-body);line-height:1.5
}

/* Numeric emphasis: full price/stat scale, with compact prices in unchanged cards. */
.stat,.pdp-reference .pdp-price,.about-fact strong,.optimus-statbar strong{
  font-family:var(--font-display);font-size:var(--fs-stat);line-height:1;font-weight:var(--fw-medium);letter-spacing:-.02em;font-variant-numeric:tabular-nums
}
.price,.new-bottom .price,.catalog-card .price,.catalog-main .catalog-card .price,
.checkout-summary .checkout-total dd,.checkout-receipt-total strong{
  font-family:var(--font-display);font-size:var(--fs-h3);line-height:1.25;font-weight:var(--fw-medium);letter-spacing:-.02em;font-variant-numeric:tabular-nums
}
.cart-item-price strong,.finfire-key-specs strong{
  font-family:var(--font-display);font-size:var(--fs-h4);line-height:1.3;font-weight:var(--fw-medium);letter-spacing:-.02em;font-variant-numeric:tabular-nums
}
.price small,.catalog-main .catalog-card .price small,.pdp-reference .pdp-price small{font-family:inherit;font-size:var(--fs-body);font-weight:var(--fw-medium);letter-spacing:0}
.optimus-statbar strong small{font-size:var(--fs-lead)}
.pdp-reference .pdp-highlight strong{font-family:var(--font-display);font-size:var(--fs-code);font-weight:var(--fw-medium);line-height:1.5;letter-spacing:0;overflow-wrap:normal;word-break:normal}
.pdp-reference .pdp-highlight>span:last-child{font-size:var(--fs-caption);line-height:1.4;hyphens:auto;overflow-wrap:normal;word-break:normal}
table,.price,.tj-old-price,.checkout-summary dd,.checkout-receipt-items strong,.cart-quantity input,.pdp-quantity input{font-variant-numeric:tabular-nums}
.header-contact>a,.site-header .header-contact>a,.footer-contact>a:first-of-type,
.help-phone,.contacts-phone,.contacts-mobile,.support-primary:not(.support-primary--email){
  font-family:var(--font-display);font-size:var(--fs-h4);font-weight:var(--fw-medium);line-height:1.3;letter-spacing:-.01em;font-variant-numeric:tabular-nums
}

/* Controls: Onest 500, readable without changing their behavior or hit areas. */
button,.btn,.button,.catalog-button,.catalog-main .catalog-card-buy,.catalog-main .tj-filter-submit,
.information-actions .button,.pdp-reference .pdp-buy-row>.button,.pdp-reference .pdp-invoice,
.pdp-reference .pdp-heading-actions>button,.pdp-reference .pdp-all-specs,
.catalog-main .mobile-filter-button,.finfire-tabs button,.pdp-reference .pdp-tabs button,
.section-link,.why-link{
  font-family:var(--font-body);font-size:var(--fs-button);line-height:1;font-weight:var(--fw-medium);letter-spacing:0
}
.button,.btn{white-space:normal;text-wrap:balance}
.finfire-tabs button,.pdp-reference .pdp-tabs button{line-height:1.4}
.dialog-head button,.cart-quantity button,.pdp-reference .pdp-quantity button{font-size:var(--fs-h4);line-height:1}
.finfire-thumbnails button{font-size:var(--fs-small);line-height:1.4}
input,select,textarea,
.site-header .search input,.catalog-main .catalog-toolbar select,.catalog-main .catalog-bottom select,
.price-inputs input,.mobile-filter-dialog .price-inputs input,.checkout-field input,.checkout-field textarea,
.cart-quantity input,.pdp-reference .pdp-quantity input{
  font-family:var(--font-body);font-size:var(--fs-lead);line-height:1.5;font-weight:var(--fw-regular);letter-spacing:0
}
label,.checkout-field label{font-size:var(--fs-small);font-weight:var(--fw-medium);line-height:1.5}
.checkout-consent,.checkout-fineprint,.checkout-section-note,.checkout-choice small,
.checkout-field-error,.checkout-error,.catalog-main .catalog-card .product-type,
.catalog-main .catalog-stock,.pdp-reference .pdp-price-note,
.pdp-reference .pdp-key-specs dt,.pdp-reference .pdp-key-specs dd,
.finfire-type,.finfire-key-specs span{
  font-size:var(--fs-small);line-height:1.5
}

/* Menus remain a single shared system on desktop and in the mobile drawer. */
nav a,.site-navigation .nav-row nav>a,.site-navigation .nav-contact,
.information-nav a,.tj-category summary,.directory-menu-row>a,
.catalog-main .tj-category summary,.catalog-main .directory-menu-row>a{
  font-family:var(--font-body);font-size:var(--fs-nav);font-weight:var(--fw-regular);line-height:1.4;letter-spacing:0
}
.site-navigation .catalog-button{font-family:var(--font-body);font-size:var(--fs-button);font-weight:var(--fw-medium);line-height:1.2;letter-spacing:0;white-space:normal;text-wrap:balance}
.site-navigation .nav-row nav>a{white-space:normal;text-wrap:pretty;text-align:left}
.site-navigation .catalog-button,.site-navigation .nav-contact{text-align:left;justify-content:flex-start}
.site-header .header-contact-actions>a,.site-header .header-action{font-family:var(--font-body);font-size:var(--fs-caption);line-height:1.4;font-weight:var(--fw-medium);letter-spacing:0}
.header-official .official-copy strong{font-family:var(--font-body);font-size:var(--fs-small);font-weight:var(--fw-medium);line-height:1.3}

/* Labels, badges and technical metadata: the only uppercase role. */
.eyebrow,.eyebrow.light,.checkout-eyebrow,.visual-label,.product-label,.catalog-badge,
.catalog-main .catalog-badge,.pdp-reference .pdp-badge,.pdp-vendor,
.pdp-reference .pdp-vendor,.catalog-discount,.pdp-discount,
.header-official .official-copy>span,.pdp-reference .pdp-spec-group h2,
.information-sidebar>span,.contacts-label{
  font-family:var(--font-mono);font-size:var(--fs-eyebrow);line-height:1.3;
  font-weight:var(--fw-medium);letter-spacing:.08em;text-transform:uppercase
}
.pdp-reference .pdp-spec-group h2{text-transform:none}
.pdp-sku,.pdp-reference .pdp-sku,.cart-item-sku,.pdp-file-type,
.pdp-reference .pdp-doc-link .pdp-file-type,.finfire-photo-count,.pdp-photo-count{
  font-family:var(--font-mono);font-size:var(--fs-code);font-weight:var(--fw-regular);line-height:1.5;letter-spacing:0
}
.catalog-main .catalog-card .product-type,.catalog-main .catalog-stock,.pdp-reference .pdp-stock,.cart-item-stock{
  font-family:var(--font-mono);font-size:var(--fs-code);font-weight:var(--fw-regular);line-height:1.5;letter-spacing:0
}
.counter,.mobile-bottom-nav .counter,.filter-selected-count,.pdp-doc-count{
  font-family:var(--font-mono);font-size:var(--fs-eyebrow);font-weight:var(--fw-medium);line-height:1;letter-spacing:0
}
.catalog-main .tj-old-price,.catalog-saving,
.breadcrumbs,.catalog-main .breadcrumbs,.pdp-reference .breadcrumbs{
  font-size:var(--fs-small);line-height:1.5
}
.catalog-main .catalog-filters .facet>summary,.mobile-filter-dialog .catalog-filters .facet>summary,
.catalog-main .catalog-filters .facet-option>span,.mobile-filter-dialog .catalog-filters .facet-option>span{
  font-family:var(--font-body);font-size:var(--fs-small);line-height:1.5;font-weight:var(--fw-medium);letter-spacing:0
}

footer,.footer-brand p,.footer-pages>a,.footer-main h3,.footer-contact .mail,
.footer-contact>span:first-child,.footer-contact .messenger-link,.footer-bottom{
  font-family:var(--font-body);font-size:var(--fs-caption);line-height:1.4;letter-spacing:0
}
.footer-main h3{font-weight:var(--fw-medium);text-wrap:balance;text-transform:none}
.footer-pages>a{font-weight:var(--fw-regular)}

/* Supplier HTML cannot reintroduce an unrelated font or pixel-based scale. */
.tj-rich-description :where(div,p,span,font,li,td,th){font-family:inherit!important;font-size:inherit!important;line-height:inherit!important;letter-spacing:inherit!important}
.tj-rich-description :where(h1,h2){font-family:var(--font-display)!important;font-size:var(--fs-h2)!important;font-weight:var(--fw-regular)!important;line-height:1.25!important;letter-spacing:-.02em!important;text-transform:none!important}
.tj-rich-description :where(h3){font-family:var(--font-display)!important;font-size:var(--fs-h3)!important;font-weight:var(--fw-medium)!important;line-height:1.25!important;letter-spacing:-.01em!important;text-transform:none!important}
.tj-rich-description :where(h4,h5,h6){font-family:var(--font-body)!important;font-size:var(--fs-h4)!important;font-weight:var(--fw-medium)!important;line-height:1.3!important;letter-spacing:0!important;text-transform:none!important}

@media(max-width:1180px){
  .mobile-menu-nav a,.mobile-menu summary,.mobile-menu .tj-category summary{font-size:var(--fs-lead);line-height:1.4}
}
@media(max-width:767px){
  nav a,.information-nav a{font-size:var(--fs-lead)}
  .catalog-sort-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
  .mono,.pdp-sku,.pdp-reference .pdp-sku,.cart-item-sku{font-size:var(--fs-caption)}
}

/* Shared catalogue/home card hierarchy: title, quiet specs, then SKU. */
.catalog-card .product-card__body{display:flex;flex-direction:column;gap:8px}
.catalog-main .product-card__body{padding:14px 16px 0}
.catalog-card .product-card__title,.catalog-main .product-card__title,
.catalog-main .is-list .product-card__title{
  font-family:var(--font-body);font-size:var(--fs-body);line-height:1.35;
  font-weight:var(--fw-medium);color:#1c1d21;margin:0;min-height:0;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;
  overflow:hidden;max-height:2.7em;text-wrap:wrap;letter-spacing:0
}
.catalog-card .product-card__specs{
  display:flex;flex-wrap:wrap;gap:0;row-gap:2px;list-style:none;margin:0;padding:0;
  font-family:var(--font-body);font-size:var(--fs-small);line-height:1.4;
  font-weight:var(--fw-regular);color:#7a7f8a;letter-spacing:0
}
.catalog-card .product-card__specs li{white-space:nowrap;font:inherit;color:inherit;margin:0;padding:0;background:none;border:0;border-radius:0}
.catalog-card .product-card__specs li+li::before{content:"·";margin:0 6px;color:#c3c6ce}
.catalog-card .product-card__sku,.catalog-main .catalog-card .product-card__sku{
  font-family:var(--font-mono);font-size:var(--fs-caption);line-height:1.4;
  font-weight:var(--fw-regular);color:#7a7f8a;margin:0;letter-spacing:0
}
