/* Shared by the React site and standalone RU/EN pages. */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600;700&family=Inter:wght@300;400;500;600&display=swap');

.site-type {
  --font-body: 'Inter', ui-sans-serif, system-ui, sans-serif;
  --font-heading: 'Cormorant Garamond', ui-serif, Georgia, serif;
  --font-headers: var(--font-heading);
  --type-title: 1.25rem;
  --type-section: 1.5rem;
  --type-card: 1.125rem;
  --type-body: .875rem;
  --type-button: .6875rem;
  --type-heading-family: var(--font-body);
  font-family: var(--font-body);
  -webkit-text-size-adjust: 100%;
}
.site-type :is(h1,h2,h3) {
  font-family: var(--type-heading-family) !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  letter-spacing: -.025em !important;
  text-wrap: balance;
  overflow-wrap: break-word;
}
.site-type h1 { font-size: var(--type-title) !important; }
.site-type h2 { font-size: var(--type-section) !important; }
.site-type h3 { font-size: var(--type-card) !important; }
.site-type :is(h1,h2,h3) span {
  font-family: inherit !important;
  font-size: inherit !important;
  line-height: inherit !important;
  letter-spacing: inherit !important;
}
.site-type :is(main,section,article) p,
.site-type :is(main,section,article) li {
  font-family: var(--font-body) !important;
  font-size: var(--type-body) !important;
  line-height: 1.65 !important;
  letter-spacing: normal !important;
  overflow-wrap: break-word;
}
.site-type :is(button,input,select,textarea) { font-family: var(--font-body); }
.site-type .site-cta,
.site-type .btn,
.site-type main a[class*="bg-[#d4af37]"] {
  font-family: var(--font-body) !important;
  font-size: var(--type-button) !important;
  font-weight: 600 !important;
  line-height: 1.5 !important;
  letter-spacing: .06em !important;
  text-align: center;
  white-space: normal;
  overflow-wrap: break-word;
  min-height: 3rem;
  max-width: 100%;
}
.site-type .site-display-title { font-size: clamp(1.75rem,5vw,2.5rem) !important; }
@media (min-width: 768px) {
  .site-type {
    --type-title: 2.7rem;
    --type-section: 2.7rem;
    --type-card: 1.5rem;
    --type-body: 1rem;
    --type-button: .875rem;
    --type-heading-family: var(--font-heading);
  }
  .site-type :is(h1,h2,h3) { line-height: 1.12 !important; letter-spacing: normal !important; }
  .site-type .site-display-title { font-size: clamp(3rem,6vw,5rem) !important; }
  /* Diagram headings fit their reserved scene area. */
  .site-type .inner-polish-map h2 { font-size: 1.75rem !important; }
  .site-type .site-cta,
  .site-type .btn,
  .site-type main a[class*="bg-[#d4af37]"] { letter-spacing: .15em !important; }
}
/* Preserve visual size when SEO corrects a heading's semantic level. */
.site-type [data-seo-heading-style="h1"] { font-size: var(--type-title) !important; }
.site-type [data-seo-heading-style="h2"] { font-size: var(--type-section) !important; }
.site-type [data-seo-heading-style="h3"] { font-size: var(--type-card) !important; }
.seo-page-title { margin: 1rem 0 1.5rem; }
/* Blog index: readable cards without a minimum column wider than a phone. */
.journal-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr)); gap:24px; }
.journal-card { min-width:0; padding:24px; display:flex; flex-direction:column; background:#141210; border:1px solid rgba(197,168,128,.18); border-radius:12px; }
.site-type .journal-card h2 { font-size:var(--type-card)!important; margin:0 0 16px; }
.journal-card h2 a { color:#f5f4f0; text-decoration:none; }
.journal-card p { color:#a39b90; margin:0 0 24px; }
.journal-read { margin-top:auto; color:#d4af37; text-decoration:none; font-size:.875rem; }
.journal-card a:hover, .journal-card a:focus-visible { text-decoration:underline; }
