/* Taste audit: shared text roles and alignment across both languages. */
:root{
 --text-page:clamp(32px,3.2vw,46px);
 --text-section:clamp(28px,2.5vw,36px);
 --text-product:clamp(28px,2.6vw,38px);
 --text-card:20px;
 --text-body:16px;
 --text-caption:14px;
 --text-label:14px;
 --text-code:12px;
}
h1,h2,h3{font-style:normal;font-weight:400;letter-spacing:.015em;text-wrap:pretty}
html[lang=en] :is(h1,h2,h3){font-style:normal;letter-spacing:-.02em}
p{letter-spacing:.015em;text-wrap:pretty}
html[lang=en] p{letter-spacing:0}
.page-hero h1,.story-hero h1{font-size:var(--text-page);line-height:1.35}
.brand-life h2,.home-selection h2,.home-story h2,.story-row h2,.contact-methods h2,.contact-band h2{font-size:var(--text-section);line-height:1.4}
.product-info h1,html[lang=en] .product-info h1{font-size:var(--text-product);line-height:1.35}
.brand-life-grid h3,.home-object h3,.catalog-item h2,html[lang=en] :is(.home-object h3,.catalog-item h2){font-size:var(--text-card);line-height:1.45;letter-spacing:.015em}
html[lang=en] :is(.brand-life-grid h3,.home-object h3,.catalog-item h2){letter-spacing:-.015em}
.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{font-size:var(--text-body);line-height:1.85}
.catalog-item p,.product-info dl div,.form-note,.form-status,.contact-form label>span,.contact-social figcaption,.site-footer p,.site-footer>a:last-child{font-size:var(--text-caption);line-height:1.75}
.site-header nav,body[data-page=kiln]>.site-header nav{font-size:var(--text-label);line-height:1.5;align-items:center;letter-spacing:.025em}
.primary-link,.text-link,.skip-kiln,.kiln-reveal .primary-link,.kiln-reveal>button,.contact-form button,.filter-bar button{font-size:var(--text-label);line-height:1.5}
.home-object>span,.catalog-item footer>span,.product-info .code,.breadcrumb,.kiln-reveal .reveal-title>span{font-family:var(--type-text);font-size:var(--text-code);line-height:1.5;letter-spacing:.04em;font-variant-numeric:tabular-nums}
/* Titles begin at the image edge; reference codes sit on the right baseline. */
.home-object{grid-template-columns:minmax(0,1fr) auto;column-gap:12px;row-gap:12px;align-items:baseline}
.home-object h3{grid-column:1;grid-row:2;min-width:0}
.home-object>span{grid-column:2;grid-row:2;align-self:baseline}
.catalog-item footer{grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;align-items:baseline}
.catalog-item footer>span{align-self:baseline;white-space:nowrap}
.catalog-item p{align-self:start}
.home-selection>header{align-items:center}
.story-row{align-items:baseline}
.contact-methods h2{font-family:var(--type-display);margin-top:12px;margin-bottom:20px}
.contact-form{min-width:0}
.contact-form label>span{font-style:normal}
.contact-form input,.contact-form textarea,.contact-form select{font-size:16px;line-height:1.7}
.product-info dl div{grid-template-columns:90px minmax(0,1fr);gap:16px;align-items:baseline}
.product-info{padding-top:0}
.site-footer .identity b{font-family:var(--type-display);font-style:normal}
@media(min-width:761px){
 body[data-page=kiln]>.site-header{padding-left:var(--gutter);padding-right:var(--gutter)}
 .kiln-copy,.firing-stages,.fuel-control{left:var(--gutter)}
 .site-header,body[data-page=kiln]>.site-header{padding-left:var(--gutter);padding-right:var(--gutter)}
}
@media(max-width:760px){
 :root{--text-page:30px;--text-section:26px;--text-product:28px;--text-card:20px;--text-body:16px;--text-caption:14px;--text-label:14px;--text-code:12px}
 .brand-life,.home-selection,.story-steps,.contact-methods,.contact-band,.site-footer{padding-left:20px;padding-right:20px}
 .story-hero>div,.home-story>div{padding-left:20px;padding-right:20px}
 .home-selection>header{gap:22px}
 .story-row{align-items:start}
 .home-object,.catalog-item footer{column-gap:8px}
 .home-object-grid,.catalog{align-items:start}
 .product-info{padding-top:25px}
 .kiln-reveal h2,html[lang=en] .kiln-reveal h2{font-size:18px;line-height:1.45}
}

/* The split English introduction needs a shorter measure than the full-width title. */
.story-hero h1,html[lang=en] .story-hero h1{font-size:clamp(30px,2.8vw,40px);line-height:1.3}
@media(max-width:760px){html[lang=en] .story-hero h1{font-size:30px}}

.kiln-copy p{font-size:var(--text-body);line-height:1.85}
.firing-stages li,.firing-stages li:first-child,.firing-stages li:last-child,html[lang=en] .firing-stages li{font-size:var(--text-label);line-height:1.4}
.fuel-control p{font-size:var(--text-caption);line-height:1.65}
.kiln-reveal>p{font-size:var(--text-label);line-height:1.5}
.kiln-reveal h2,html[lang=en] .kiln-reveal h2{font-size:var(--text-card);line-height:1.45}
@media(max-width:760px){:root{--text-section:26px}}

/* Result copy grows naturally; flex shrinking must never overlap its button. */
.kiln-reveal{height:auto;min-height:0;bottom:auto}
.kiln-reveal>*{flex-shrink:0}
.kiln-reveal .reveal-title{display:grid;grid-template-columns:minmax(0,1fr);gap:6px;width:100%;text-align:center}
.kiln-reveal .reveal-title>span{justify-self:center}
.kiln-reveal h2{width:100%;justify-self:center;margin-inline:auto}
.kiln-reveal .primary-link,html[lang=en] .kiln-reveal .primary-link{font-size:var(--text-label);gap:8px}
.kiln-reveal .primary-link svg{width:18px;height:18px;flex-shrink:0}
.kiln-experience[data-stage='4'] .skip-kiln{display:none}
@media(min-width:761px) and (max-width:1000px){
 .kiln-reveal{top:25%}
 .kiln-reveal .primary-link,html[lang=en] .kiln-reveal .primary-link{font-size:12px;padding:12px 5px;gap:6px}
 .kiln-reveal>button{font-size:12px}
}

@media(min-width:1001px){.kiln-reveal{top:27%}}
@media(min-width:761px) and (max-width:1000px){.kiln-reveal{top:22%}}

/* Shared type hierarchy: display titles, editorial labels, then reading text. */
h1,h2,h3,html[lang=en] :is(h1,h2,h3){font-family:var(--type-display);text-wrap:balance}
body{font-size:var(--text-body);line-height:1.75}
.kiln-copy h1,html[lang=en] .kiln-copy h1{font-size:clamp(32px,3.1vw,46px);line-height:1.28;letter-spacing:0}
.story-row h2{font-size:28px;line-height:1.4}
.contact-band h2,.contact-methods h2{font-size:clamp(28px,2.25vw,34px);line-height:1.35}
.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{line-height:1.8}
.contact-email-address{font-family:var(--type-text);font-size:18px;line-height:1.6;letter-spacing:0}
.site-header .identity b,body[data-page=kiln]>.site-header .identity b,.site-footer .identity b{font-family:var(--type-display)}
.site-header .identity small,body[data-page=kiln]>.site-header .identity small,.site-footer .identity small{font-family:var(--type-display)}
.contact-form :is(input,textarea,select,button){font-family:var(--type-text)}
@media(max-width:760px){
 .kiln-copy h1,html[lang=en] .kiln-copy h1{font-size:30px;line-height:1.3}
 .story-hero h1,html[lang=en] .story-hero h1{font-size:30px}
 .story-row h2{font-size:24px}
 .contact-band h2,.contact-methods h2{font-size:26px}
 .contact-email-address{font-size:16px}
}
