/* Shared type roles. Approved font families, weights and text stay in their original stylesheets. */
:root {
  --quality-hero:clamp(36px, calc(17.5px + 6vw), 104px);
  --quality-section:clamp(34px, calc(26px + 2.65vw), 64px);
  --quality-secondary:clamp(32px, calc(27.5px + 1.2vw), 44px);
  --quality-card:clamp(34px, calc(34px + .55vw), 42px);
  --quality-dialog:clamp(28px, calc(25.2px + .75vw), 36px);
  --quality-optical:1;
}
/* Lora's Cyrillic has different proportions; use one small, consistent optical correction. */
html[lang="ru"] { --quality-optical:.93; }
.home-page .hero h1 {
  font-size:calc(var(--quality-hero) * var(--quality-optical)) !important;
  min-block-size:calc(var(--quality-hero) * 2.2) !important;
}
.home-page :is(.section-heading,.workshop-copy,.visit) h2 {
  font-size:calc(var(--quality-section) * var(--quality-optical)) !important;
}
.home-page :is(.request-band,.partner-row) h2 {
  font-size:calc(var(--quality-secondary) * var(--quality-optical)) !important;
}
.home-page .product h3 {
  font-size:calc(var(--quality-card) * var(--quality-optical)) !important;
}
#inquiry h2 {
  font-size:calc(var(--quality-dialog) * var(--quality-optical)) !important;
}
/* Keep small text readable using existing palette colours. Large decorative gold remains. */
.buyer-strip button:hover,
.buyer-strip button[aria-pressed="true"] { color:var(--ink); }
.hero-sign,.closing .eyebrow { color:var(--cream); }
.hero-sign em,.hero-sign svg { color:var(--gold); }
.process .underlink:hover { color:var(--cream); }
