/* Single final type scale, shared by all routes and languages. No font changes. */
:root{--text-page:40px;--text-product:40px;--text-section:32px;--text-card:20px;--text-body:16px;--text-caption:14px;--text-label:14px;--text-code:12px}
html[lang] body[data-page] main :is(.kiln-copy h1,.page-hero h1,.story-hero h1,.product-info h1){font-size:var(--text-page);line-height:1.35;letter-spacing:0;text-align:left}
html[lang] body[data-page] main :is(.brand-life h2,.home-selection>header h2,.home-story h2,.story-row h2,.contact-band h2,.contact-methods h2){font-size:var(--text-section);line-height:1.5;letter-spacing:0;text-align:left}
html[lang] body[data-page] main :is(.catalog-item h2,.home-product-caption h3,.brand-life-grid h3,.home-rail-toolbar>h3,.home-explore-card h3){font-size:var(--text-card);line-height:1.5;letter-spacing:0;text-align:left}
html[lang] body[data-page] main :is(.brand-intro,.brand-life-grid p,.home-selection>header p,.home-story p,.page-hero p,.story-hero p,.story-row p,.contact-methods-note,.product-info .description,.product-story,.kiln-copy p){font-size:var(--text-body);line-height:1.8;letter-spacing:0}
html[lang] body[data-page] main :is(.catalog-item p,.form-note,.form-status,.contact-form label>span,.product-info dl div){font-size:var(--text-caption);line-height:1.75;letter-spacing:0}
html[lang] body[data-page] :is(.site-header nav,.lang-switch,.filter-bar button,.text-link,.contact-form button){font-size:var(--text-label);line-height:1.5;letter-spacing:0}
html[lang] body[data-page] main :is(.catalog-item footer>span,.home-product-caption>span,.product-info .code,.breadcrumb){font-size:var(--text-code);line-height:1.5}
html[lang] body[data-page] .site-footer p,html[lang] body[data-page] .site-footer>a:last-child{font-size:var(--text-caption);line-height:1.75}
.catalog-item footer h2,.home-product-caption h3{margin:0;align-self:baseline}
.catalog-item footer>span,.home-product-caption>span{align-self:baseline}
@media(max-width:760px){
 :root{--text-page:32px;--text-product:32px;--text-section:28px}
 html[lang] body[data-page] main .kiln-copy h1{line-height:1.25}
 html[lang] body[data-page] main .kiln-copy{top:12px}
}

html[lang] body[data-page] main .kiln-reveal h2{font-size:var(--text-card);line-height:1.5;letter-spacing:0;text-align:center}

/* Fixed title line boxes: glyph metrics never determine the reference-code position. */
.catalog .catalog-item footer{align-items:start;row-gap:8px}
.catalog .catalog-item footer h2{min-height:30px;margin:0;padding:0;align-self:start}
.catalog .catalog-item footer>span{align-self:start;line-height:18px;padding-top:6px}

/* A quieter product-name scale only inside the English homepage shelves. */
html[lang="en"] body[data-page="kiln"] main .home-product-caption h3{font-size:18px;line-height:27px}
