/* v26 local trial: one Mix face and explicit alternate preset for every heading. */
body[data-font^="transforma-"] {
  font-family: TransformaSans, Helvetica, Arial, sans-serif;
  font-weight: 400;
  font-synthesis: none;
}
body[data-font^="transforma-"] :is(h1, h2, h3, .door-name) {
  font-family: var(--display-font, 'Transforma Mix'), Georgia, serif;
  font-weight: var(--display-weight, 600) !important;
  font-feature-settings: 'calt' 1, 'ss01' 1;
  font-variant-alternates: normal;
  font-variant-ligatures: normal;
  font-kerning: normal;
  font-optical-sizing: none;
  font-variation-settings: normal;
  letter-spacing: 0;
  font-synthesis: none;
}
body[data-font^="transforma-"] #invitation-title {
  font-family: var(--display-font, 'Transforma Mix'), Georgia, serif;
  font-size: clamp(1.75rem, 2.7vw, 2.25rem);
  line-height: 1.15;
  max-width: 27ch;
  text-transform: none;
  letter-spacing: 0;
}
body[data-font^="transforma-"] .door-name {
  font-size: 1.75rem;
  line-height: 1.15;
}
body[data-font^="transforma-"] :is(.invitation-script, .door-description, .world-intro > p) {
  font-family: TransformaSans, Helvetica, Arial, sans-serif;
  font-weight: 300;
  letter-spacing: 0;
}
body[data-font^="transforma-"] .invitation-script {
  font-size: 1rem;
  line-height: 1.4;
  margin-top: 10px;
}
body[data-font^="transforma-"] .door-description {
  font-size: .875rem;
  line-height: 1.4;
  max-width: 38ch;
  margin-top: 8px;
}
body[data-font^="transforma-"] :is(.world-scene, #calendar-dialog, .booking-calendar, button, textarea, input, select, #result-preview, .calendar-selection, .selected-slot-summary, .calendar-month, .calendar-day-title, .calendar-day, .calendar-slot) {
  font-family: TransformaSans, Helvetica, Arial, sans-serif;
  font-weight: 400;
  font-synthesis: none;
}
body[data-font^="transforma-"] .door-caption { width: min(400px, 90vw); }
body[data-font^="transforma-"] :is(.forest-actions > button, .answer-option, .primary-button, .text-button, textarea, input:not([type=checkbox]), .calendar-day, .calendar-slot, .calendar-slot-time, .calendar-day-title, .form-error, #form-result p, #result-preview) { font-size: 1rem; line-height: 1.4; }
body[data-font^="transforma-"] :is(.calendar-timezone, .optional-hint, .consent, .calendar-weekdays, .calendar-slot-status, .calendar-status, .selected-slot-summary, .calendar-selection) { font-size: .875rem; line-height: 1.4; }
body[data-font^="transforma-"] #request-form label:not(.sr-only):not(.consent) { font-size: 1rem; line-height: 1.4; letter-spacing: 0; text-transform: none; }
body[data-font^="transforma-"] .forest-actions > #help-request { font-size: .875rem; }
body[data-font^="transforma-"] #application h2 { font-size: 1.75rem; line-height: 1.2; }
/* Keep all question headings in Mix after the general UI family rule above. */
body[data-font^="transforma-"] :is(#application h2, #calendar-dialog h2, #form-result h3) {
  font-family: var(--display-font, 'Transforma Mix'), Georgia, serif;
  font-weight: var(--display-weight, 600) !important;
}
@media (max-width: 650px) {
  body[data-font^="transforma-"] .forest { --caption-height: 116px; }
  body[data-font^="transforma-"] .doors { --door-height: 44dvh; }
  body[data-font^="transforma-"] #invitation-title { font-size: 1.625rem; max-width: 24ch; }
  body[data-font^="transforma-"] .door-name { font-size: 1.5rem; max-width: calc(100vw - 72px); }
  body[data-font^="transforma-"] .door-caption { width: calc(100vw - 48px); }
  body[data-font^="transforma-"] .carousel-controls { width: 94vw; }
  body[data-font^="transforma-"] .carousel-arrow { width: 36px; font-size: 26px; }
  body[data-font^="transforma-"] .invitation-script { font-size: 1rem; }
  body[data-font^="transforma-"] .door-description { font-size: .875rem; line-height: 1.4; max-width: 36ch; }
  body[data-font^="transforma-"] #application h2 { font-size: 1.5rem; }
}
@media (max-height: 700px) and (max-width: 650px) {
  body[data-font^="transforma-"] .forest { --caption-height: 120px; --caption-title-center: 14px; }
  body[data-font^="transforma-"] .doors { --door-height: 36dvh; }
  body[data-font^="transforma-"] #invitation-title { font-size: 1.375rem; }
  body[data-font^="transforma-"] .door-name { font-size: 1.375rem; }
  body[data-font^="transforma-"] .invitation-script { font-size: 1rem; margin-top: 8px; }
  body[data-font^="transforma-"] .door-description { font-size: .875rem; line-height: 1.4; margin-top: 8px; }
  body[data-font^="transforma-"] #application h2 { font-size: 1.375rem; }
}
/* The comparison page keeps the older specimens alongside both Transforma weights. */
.specimen-transforma {
  --font-display: TransformaMix, Helvetica, Arial, sans-serif;
  --display-weight: 600;
  --topic-weight: 600;
  --font-body: TransformaSans, Helvetica, Arial, sans-serif;
  font-family: var(--font-body);
  font-weight: 400;
}
.specimen-transforma-medium { --font-display: 'Transforma Mix', Georgia, serif; --display-weight: 500; --topic-weight: 500; }
.specimen-transforma .display-sample { font-size: clamp(1.7rem, 2.7vw, 2.5rem); line-height: 1.15; letter-spacing: 0; }
.specimen-transforma .closing-sample { display: flex; align-items: center; justify-content: center; gap: .45em; margin: 16px 0 28px; font: 300 1.1rem/1.4 var(--font-body); }
.specimen-transforma .closing-sample svg { width: 1.2em; height: 1.1em; flex: none; }
.specimen-transforma .description-sample { max-width: 34ch; margin-top: 15px; font: 300 1rem/1.45 var(--font-body); color: var(--muted); }
.specimen-transforma .interface-sample .option-sample { padding: 12px 16px; border: 1px solid #dac89770; border-radius: 14px; color: var(--ink); font: 400 1rem/1.5 var(--font-body); }
.specimen-transforma .topic-samples { letter-spacing: 0; }
.specimen-transforma :is(.display-sample, .topic-samples, .interface-sample h3) {
  font-feature-settings: 'calt' 1, 'ss01' 1;
  font-variant-alternates: normal;
  font-variant-ligatures: normal;
  font-kerning: normal;
  font-optical-sizing: none;
  font-variation-settings: normal;
  font-synthesis: none;
  letter-spacing: 0;
}
