@font-face {
  font-family: "Literata";
  src: url("/fonts/Literata-Variable-GreekLatin.woff2") format("woff2");
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
}

@font-face {
  font-family: "Literata";
  src: url("/fonts/Literata-Italic-Variable-GreekLatin.woff2") format("woff2");
  font-style: italic;
  font-weight: 400 600;
  font-display: swap;
}

@font-face {
  font-family: "Source Sans 3";
  src: url("/fonts/SourceSans3-Variable-GreekLatin.woff2") format("woff2");
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
}

:root {
  --font-display: "Literata", Georgia, serif;
  --font-sans: "Source Sans 3", "Segoe UI", Arial, sans-serif;

  --t-hero: clamp(3.5rem, 1.654rem + 3.85vw, 5.5rem);
  --t-room: clamp(2.125rem, 1.087rem + 2.163vw, 3.25rem);
  --t-section: clamp(1.5rem, 1.038rem + 0.962vw, 2rem);
  --t-lead: 1.25rem;
  --t-body: 1.125rem;
  --t-small: 1rem;
  --t-label: 0.875rem;
}

html.georisk-site-desktop-root {
  font-size: 16px;
}

body.georisk-site-desktop-root {
  font-family: var(--font-sans);
  font-size: var(--t-body);
  line-height: 1.6;
  font-weight: 400;
  font-synthesis: none;
}

body.georisk-site-desktop-root :where(*, *::before, *::after) {
  font-family: var(--font-sans);
  font-size: var(--t-body) !important;
  line-height: 1.6 !important;
  font-weight: 400 !important;
  font-synthesis: none;
}

body.georisk-site-desktop-root :is(
  label,
  label *,
  button,
  button *,
  nav,
  nav *,
  [role="button"],
  [role="button"] *,
  [class*="label"],
  [class*="kicker"],
  [class*="eyebrow"],
  [class*="marker"],
  [class*="badge"],
  [class*="tag"],
  [class*="counter"],
  [class*="progress"],
  [class*="hint"],
  [class*="rail"],
  [class*="toggle"],
  [class*="switcher"],
  [class*="control"],
  [class*="cta"],
  .tour-progress-count,
  .officium-risk-question-number
) {
  font-family: var(--font-sans) !important;
  font-size: var(--t-label) !important;
  line-height: 1.2 !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
}

body.georisk-site-desktop-root :is(
  small,
  small *,
  figcaption,
  figcaption *,
  footer,
  footer *,
  [class*="caption"],
  [class*="citation"],
  [class*="source"],
  [class*="footnote"],
  [class*="privacy"],
  [class*="legal"],
  [class*="disclaimer"],
  .departure-meta
) {
  font-family: var(--font-sans) !important;
  font-size: var(--t-small) !important;
  line-height: 1.5 !important;
  font-weight: 400 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
}

body.georisk-site-desktop-root :is(
  .departure-credentials,
  .departure-credentials *,
  .practice-step-line,
  .standard-rule,
  .deliverable-line,
  .vault-tx-list,
  .vault-tx-list *,
  .officium-risk-diagnostic p,
  .officium-readout p
) {
  font-family: var(--font-sans) !important;
  font-size: var(--t-body) !important;
  line-height: 1.6 !important;
  font-weight: 400 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
}

body.georisk-site-desktop-root :is(
  blockquote,
  blockquote *,
  [class*="pullquote"],
  [class*="pullquote"] *
) {
  font-family: var(--font-display) !important;
  font-size: var(--t-lead) !important;
  line-height: 1.5 !important;
  font-style: italic !important;
  font-variant-numeric: tabular-nums;
}

body.georisk-site-desktop-root :is(
  [class~="lead"],
  [class*="-lead"],
  [class*="subtitle"],
  [class*="-intro"],
  [class*="-lede"],
  [class*="opening"]
) {
  font-family: var(--font-sans) !important;
  font-size: var(--t-lead) !important;
  line-height: 1.5 !important;
}

body.georisk-site-desktop-root :is(
  h3,
  h4,
  h5,
  [class*="section-title"],
  [class$="-heading"],
  .principle-title,
  .vault-proof-title,
  .standard-triad-term strong
) {
  font-family: var(--font-sans) !important;
  font-size: var(--t-section) !important;
  line-height: 1.25 !important;
  font-weight: 600 !important;
}

body.georisk-site-desktop-root :is(
  h2,
  [class*="room-title"],
  .tour-title,
  .practice-header h2,
  .room-meeting h2,
  .standard-title,
  .memento-place,
  .vault-title,
  .principle-number
) {
  font-family: var(--font-display) !important;
  font-size: var(--t-room) !important;
  line-height: 1.15 !important;
  font-variant-numeric: tabular-nums;
}

body.georisk-site-desktop-root :is(
  h1,
  .entrance-line,
  [class*="hero-title"],
  .room-numeral
) {
  font-family: var(--font-display) !important;
  font-size: var(--t-hero) !important;
  line-height: 1.1 !important;
  font-variant-numeric: tabular-nums;
}

body.georisk-site-desktop-root :is(p, li) {
  max-width: 65ch;
}

body.georisk-site-desktop-root :is(p, li):not(
  [class*="label"],
  [class*="kicker"],
  [class*="eyebrow"],
  [class*="caption"],
  [class*="citation"],
  [class*="source"],
  [class*="footnote"],
  [class*="privacy"],
  [class*="legal"]
) {
  color: var(--white, #fff8e7);
}

.t-hero {
  font-family: var(--font-display) !important;
  font-size: var(--t-hero) !important;
  line-height: 1.1 !important;
}

.t-room {
  font-family: var(--font-display) !important;
  font-size: var(--t-room) !important;
  line-height: 1.15 !important;
}

.t-section {
  font-family: var(--font-sans) !important;
  font-size: var(--t-section) !important;
  line-height: 1.25 !important;
  font-weight: 600 !important;
}

.t-lead {
  font-size: var(--t-lead) !important;
  line-height: 1.5 !important;
}

.t-body {
  font-family: var(--font-sans) !important;
  font-size: var(--t-body) !important;
  line-height: 1.6 !important;
}

.t-small {
  font-family: var(--font-sans) !important;
  font-size: var(--t-small) !important;
  line-height: 1.5 !important;
}

.t-label {
  font-family: var(--font-sans) !important;
  font-size: var(--t-label) !important;
  line-height: 1.2 !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
}

body.georisk-site-desktop-root svg .t-lead {
  font-family: var(--font-display) !important;
  font-style: italic;
}

body.georisk-site-desktop-root svg .t-label,
body.georisk-site-desktop-root svg .t-label * {
  font-family: var(--font-sans) !important;
  font-size: var(--t-label) !important;
  line-height: 1.2 !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
}

body.georisk-site-desktop-root span.i18n.ai-guide-launch-label {
  font-family: var(--font-sans) !important;
  font-size: var(--t-label) !important;
  line-height: 1.2 !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
}

body.georisk-site-desktop-root :is(
  .ai-guide-v13-back-audio.ai-guide-v13-map-prepared-close,
  .ai-guide-v13-player-btn,
  .ai-guide-v13-language-flag,
  .ai-guide-v13-speak-write-button,
  .ai-guide-v13-speak-write-bridge,
  #ai-guide-prev,
  #ai-guide-play,
  #ai-guide-next,
  #ai-guide-question-clear
)::after {
  font-family: var(--font-sans) !important;
  font-size: var(--t-label) !important;
  line-height: 1.2 !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
}
