/* Shared geometry for translated headings, navigation and controls. */
body { line-height: 1.6; }
html[lang="en"] h1 { line-height: 1.3; }
html[lang="en"] h2 { line-height: 1.4; }
.eyebrow { line-height: 1.5; }
.btn { line-height: 20px; min-height: 54px; }
.fine { min-height: 2lh; }
.text-link { line-height: 20px; }
.actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; width: 100%; max-width: 430px; align-items: center; }
.actions .btn { width: 100%; min-height: 64px; padding: 12px 18px; gap: 12px; }
.actions .text-link { display: flex; align-items: center; width: 100%; min-height: 48px; justify-self: start; }
.header { display: grid; grid-template-columns: 160px minmax(0, 1fr) 340px; gap: 20px; }
.header nav, html[lang="en"] .header nav { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 8px; margin: 0; width: 100%; text-align: center; align-items: center; font-size: 12px; line-height: 20px; }
.header nav a { white-space: nowrap; }
.header-tools { justify-content: flex-end; gap: 12px; margin: 0; }
.header-tools .language-switch { width: 88px; flex: none; }
.header-tools .switch { width: 137px; flex: none; display: flex; justify-content: space-between; align-items: center; line-height: 20px; }
.header-tools .switch span { margin: 0; }
.header-tools .theme-switch { width: 85px; flex: none; justify-content: flex-end; }

.personal-hero .hero-content { container-type: inline-size; display: grid; grid-template-columns: minmax(0, 1fr); justify-content: normal; align-content: center; gap: 0; }
.personal-hero .hero-content h1 { font-size: clamp(34px, min(12cqi, 5.5vw), 74px); line-height: 1.3; min-height: 2lh; }
.hero-content > p { max-width: none; min-height: 3lh; margin: 25px 0 30px; }
.personal-hero .hero-label { margin-top: 65px; line-height: 16px; min-height: 16px; }
.benefits { align-items: start; }
.benefits span { line-height: 20px; }
.section-heading { display: grid; grid-template-columns: minmax(0, 1fr) minmax(220px, .55fr); gap: 40px; align-items: end; }
.section-heading > :only-child { grid-column: 1 / -1; }
.section-heading > p { line-height: 26px; min-height: 3lh; margin-top: 0; }
.section-heading .text-link { justify-self: end; width: 210px; text-align: right; }
.section-heading h2 { min-height: 1lh; }
.section-heading h2:has(br) { min-height: 2lh; }
.scene-look-heading h3 { line-height: 32px; min-height: 32px; }
.scene-look-heading > div { flex: 1; }
.scene-look-grid article p { min-height: 2lh; }
.look-grid .scene-look-link { line-height: 20px; }
.gallery-heading h1 { line-height: 1.3; min-height: 1lh; }
.gallery-heading p { line-height: 26px; min-height: 2lh; }
.gallery-back, .tailoring-back, .inquiry-back { display: inline-block; line-height: 22px; min-height: 30px; }
.gallery-back, .tailoring-back, .inquiry-back { width: 200px; }
.gallery-toolbar { align-items: center; }
.gallery-tabs { display: grid; grid-template-columns: repeat(2, 200px); gap: 10px; }
.gallery-tabs button { min-height: 46px; line-height: 22px; }
.gallery-count { width: 110px; line-height: 22px; text-align: right; }
.gallery-more { width: 160px; justify-content: center; }
.fabric-category-options button { grid-template-rows: minmax(22px, auto) 20px; gap: 5px; min-height: 76px; }
.fabric-category-options strong { line-height: 22px; }
.fabric-category-options span { line-height: 20px; }
.fabric-weight-note { min-height: 2lh; }
.fabric-filter-toggle { min-width: 105px; line-height: 20px; }
.fabric-filters label { line-height: 22px; }
.case-scenes .case-scenes-heading h2 { width: 210px; line-height: 24px; }
.case-scenes-all { min-width: 130px; text-align: right; line-height: 24px; }
.case-scene-options button { grid-template-rows: 44px 16px; min-height: 88px; }
.case-scene-options strong { line-height: 24px; }
.case-scene-options span { line-height: 16px; }
.gallery-card-name { min-height: 90px; line-height: 22px; }
.gallery-contact { display: grid; grid-template-columns: minmax(0, 1fr) 190px; align-items: start; }
.gallery-contact p { flex: 1; line-height: 26px; min-height: 2lh; }
.gallery-contact a { min-width: 190px; text-align: right; }

#tailoring .tailoring-title, #project-inquiry .tailoring-title { line-height: 1.3; min-height: 2lh; }
#personal-builder > .section-heading { grid-template-columns: minmax(0, 1.6fr) minmax(220px, 1fr); }
.builder-paths button { display: grid; grid-template-rows: 16px minmax(66px, auto) minmax(44px, auto); align-content: start; padding: 28px 50px 28px 26px; }
.builder-paths button > span { line-height: 16px; }
.builder-paths strong { line-height: 30px; margin: 16px 0 6px; }
.builder-paths small { line-height: 22px; }
.basic-intro h3 { line-height: 32px; }
.basic-intro p { line-height: 26px; min-height: 2lh; }
.choice h3 { line-height: 24px; }
.choice [role="group"] { display: grid; grid-template-columns: repeat(auto-fill, minmax(128px, 1fr)); gap: 8px; padding-bottom: 8px; }
.choice button { margin: 0; min-height: 64px; padding: 10px; line-height: 20px; }
.choice-help { min-height: 2lh; }
.summary h3 { line-height: 36px; min-height: 2lh; }
.summary .btn { min-height: 84px; line-height: 22px; }
.summary #summary { min-height: 8lh; }
.scene-intro, .scene-description { line-height: 26px; min-height: 2lh; }
.scene-buttons button { display: grid; grid-template-rows: 44px 14px; align-content: center; gap: 6px; min-height: 92px; }
.scene-buttons strong { line-height: 22px; align-self: center; }
.scene-buttons small { line-height: 14px; margin: 0; }
.scene-step { line-height: 18px; }
.scene-details h3 { line-height: 36px; min-height: 2lh; }
.scene-preferences button { line-height: 22px; min-height: 84px; }
.scene-recommendation h4 { line-height: 40px; min-height: 2lh; }
.scene-recommendation dl > div { grid-template-columns: 145px 1fr; min-height: 76px; }
.scene-recommendation dt, .scene-recommendation dd { line-height: 24px; }
.scene-note { min-height: 3lh; }
.scene-recommendation .actions .btn { min-height: 88px; }
.contact-strip h2 { line-height: 1.4; min-height: 2lh; }
.contact-strip > p { line-height: 26px; min-height: 2lh; }
.personal-order label > span, .inquiry-section label { line-height: 22px; }
.personal-order .order-image-note { min-height: 3lh; }
.personal-order .order-summary { min-height: 3lh; }
.inquiry-section > div > p { line-height: 26px; min-height: 3lh; }

.business-content { container-type: inline-size; width: 100%; }
.business-content h1 { font-size: clamp(32px, min(8cqi, 4.7vw), 68px); line-height: 1.3; min-height: 2lh; }
.business-content > p { line-height: 28px; min-height: 3lh; }
.business-intro h2 { line-height: 1.4; min-height: 2lh; }
.business-intro .lead { min-height: 4lh; }
.business-intro .lead + p { min-height: 5lh; }
.business-intro .text-link, .company-hero .text-link { display: inline-block; width: 200px; }
.cap-grid h3 { line-height: 28px; min-height: 2lh; }
.cap-grid p { min-height: 4lh; }
.process h3 { line-height: 28px; min-height: 2lh; }
.process p { min-height: 3lh; }
.company-hero > div { container-type: inline-size; }
.company-hero h1 { font-size: clamp(32px, min(8cqi, 4vw), 58px); line-height: 1.3; min-height: 2lh; }
.company-hero p { line-height: 28px; min-height: 5lh; }
.organization h3 { line-height: 36px; min-height: 2lh; }
.organization .legal-name { line-height: 22px; min-height: 3lh; }
.organization p:not(.legal-name) { line-height: 26px; min-height: 5lh; }
.timeline h3 { line-height: 26px; min-height: 2lh; }
.timeline p { line-height: 26px; min-height: 3lh; }
.company-cta h2 { min-height: 2lh; }
.company-cta > div:first-child { flex: 1; min-width: 0; }
.company-cta .actions { flex: none; }
.company-cta .actions .btn { min-height: 64px; }
.site-footer .footer-description { width: 240px; min-height: 52px; display: flex; align-items: center; }
.site-footer .footer-social a { min-width: 64px; line-height: 22px; }
.site-footer .footer-back-to-top { min-width: 100px; line-height: 22px; }

@media (max-width: 1000px) {
  .company-hero, .organization, .history-layout, .business-intro { grid-template-columns: 1fr; gap: 35px; }
  .history-layout figure { position: static; }
  .section-heading, #personal-builder > .section-heading { grid-template-columns: 1fr; gap: 20px; }
  .builder-paths { grid-template-columns: 1fr; }
}
@media (max-width: 1100px) {
  .builder { grid-template-columns: 1fr; }
  .builder .summary { position: static; }
}

@media (max-width: 1450px) and (min-width: 761px) {
  .header, html[lang="en"] .header { grid-template-columns: 160px minmax(0, 1fr); height: auto; min-height: 88px; padding-top: 12px; padding-bottom: 12px; }
  .header .header-tools { justify-self: end; }
  .header nav, html[lang="en"] .header nav { grid-row: 2; grid-column: 1 / -1; order: initial; margin: 8px 0 0; }
  .header nav:empty, html[lang="en"] .header nav:empty { display: none; }
}
@media (max-width: 760px) {
  .header, html[lang="en"] .header { grid-template-columns: 1fr; height: auto; min-height: 80px; padding-top: 8px; padding-bottom: 8px; gap: 0; }
  .header .brand { grid-row: 1; }
  .header .header-tools { grid-row: 2; justify-self: end; margin: 0; }
  .header nav, html[lang="en"] .header nav { grid-row: 3; order: initial; display: flex; margin: 0; padding-top: 12px; gap: 12px; text-align: left; }
  .header nav a { flex: 0 0 115px; }
  .header nav:empty, html[lang="en"] .header nav:empty { display: none; }
  .header-tools .switch { width: 112px; }
  .header-tools { gap: 5px; }
  .header-tools .language-switch { width: 76px; }
  .header-tools .theme-switch { width: 70px; }
  .personal-hero .hero-content h1 { font-size: clamp(34px, 11cqi, 52px); }
  .hero-content > p { min-height: 4lh; }
  .benefits span { min-height: 40px; }
  .section-heading, #personal-builder > .section-heading { grid-template-columns: 1fr; gap: 20px; }
  .section-heading > p { min-height: 3lh; }
  .section-heading .text-link { justify-self: start; text-align: left; }
  .gallery-heading h1 { font-size: clamp(32px, 7vw, 48px); }
  .gallery-heading p { min-height: 4lh; }
  .gallery-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; }
  .gallery-toolbar { align-items: stretch; }
  .gallery-tabs button { min-height: 66px; padding: 10px; }
  .gallery-count { min-height: 22px; }
  .case-scene-options button { grid-template-rows: 44px 16px; min-height: 88px; }
  .fabric-category-options button { grid-template-rows: 44px 20px; }
  .fabric-category-options strong { align-self: center; }
  .fabric-weight-note { min-height: 4lh; }
  .fabric-filters label { min-height: 76px; }
  .gallery-card-name { min-height: 100px; line-height: 20px; }
  .gallery-contact { align-items: start; }
  .gallery-contact { grid-template-columns: 1fr; }
  .gallery-contact p { min-height: 3lh; }
  .gallery-contact a { text-align: left; }
  #tailoring .tailoring-title, #project-inquiry .tailoring-title { font-size: clamp(28px, 6.5vw, 38px); }
  .builder-paths button { grid-template-rows: 16px 82px 66px; }
  .builder-paths strong { line-height: 30px; }
  .choice [role="group"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .choice button { min-height: 62px; }
  .scene-intro, .scene-description { min-height: 4lh; }
  .scene-details h3 { min-height: 3lh; }
  .scene-recommendation dl > div { grid-template-columns: 1fr; gap: 4px; }
  .scene-recommendation dd { min-height: 3lh; }
  .scene-note { min-height: 5lh; }
  .scene-recommendation > .eyebrow { min-height: 2lh; }
  .scene-recommendation .actions { grid-template-columns: 1fr; }
  .contact-strip h2 { font-size: clamp(27px, 6vw, 36px); }
  .contact-strip > p { min-height: 3lh; }
  .business-content h1 { font-size: clamp(28px, 7cqi, 44px); }
  .business-content > p { min-height: 5lh; }
  .business-intro .lead { min-height: 5lh; }
  .business-intro .lead + p { min-height: 8lh; }
  .cap-grid p { min-height: 6lh; }
  .fine { min-height: 3lh; }
  .company-hero h1 { font-size: clamp(28px, 7.5cqi, 42px); }
  .company-hero p { min-height: 8lh; }
  .company-cta > div { width: 100%; }
  .timeline p { min-height: 5lh; }
}
@media (max-width: 380px) {
  .cap-grid h3 { min-height: 3lh; }
  .gallery-feature[data-context="business"][data-gallery-feature="cases"] h2 { min-height: 2lh; }
  .timeline p { min-height: 6lh; }
  .company-cta h2 { min-height: 3lh; }
  .company-cta .actions .btn { min-height: 84px; }
  .company-hero figcaption { min-height: 3lh; }
  .scene-recommendation dd { min-height: 4lh; }
  .business-intro .lead { min-height: 6lh; }
  #company-history .section-heading h2 { min-height: 2lh; }
}
