/* Typography measured from https://gogo.mn/ on 2026-10-10.
   Google Sans is distributed under the SIL Open Font License in
   /fonts/google-sans/OFL.txt. Font files come from Google Fonts. */
@font-face {
  font-family: 'Google Sans';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/fonts/google-sans/cyrillic-ext.woff2') format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Google Sans';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/fonts/google-sans/cyrillic.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Google Sans';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/fonts/google-sans/latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
  --font-ui: 'Google Sans', Arial, sans-serif;
  --type-title: 1.3125rem;
  --type-subtitle: 1.2rem;
  --type-medium: 1rem;
  --type-label: .875rem;
  --type-caption: .75rem;
}
html { font-size: 16px; -webkit-text-size-adjust: 100%; }
body {
  font-family: var(--font-ui);
  font-size: var(--type-medium);
  font-weight: 400;
  line-height: 1.4;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
button, input, textarea, select { font-family: var(--font-ui); }
h1, h2, h3 { font-family: var(--font-ui); letter-spacing: normal; }

/* GoGo title, subtitle, medium and label scales. */
.section-heading h1, .section-heading h2, .section-title-group h2,
.category-block h2, .video-section .section-heading h2,
.reader-related h2, .comments-heading h2, .category-list-heading h2 {
  font-size: var(--type-subtitle);
  line-height: 1.3;
  font-weight: 600;
  letter-spacing: normal;
}
.feature-card h2, .lead-section .side-card h3,
.lead-section .side-card:hover h3, .news-card h3, .culture-grid h3,
.category-large h3, .category-highlight h2, .primary-highlight h2,
.has-three .category-highlight:not(.primary-highlight) h2,
.interview-copy h3, .video-section .video-card:first-child h3,
.editorial-banner h2 {
  font-size: var(--type-title);
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: normal;
}
.category-mini h3, .search-result h3, .reader-related-grid h3,
.playlist-item h3, .video-section .video-card h3 {
  font-size: var(--type-medium);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: normal;
}
.feed-story-copy h3, .reader-feed-item h3 {
  font-size: var(--type-label);
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: normal;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  max-height: 4.5em;
  overflow: hidden;
  text-overflow: ellipsis;
  overflow-wrap: anywhere;
  white-space: normal;
}
.latest-tabs button, .reader-feed-tabs button {
  font-size: var(--type-label);
  font-weight: 400;
  line-height: 1.3;
}
.meta, .feature-card .meta, .lead-section .side-card .meta,
.has-three .category-highlight:not(.primary-highlight) .meta,
.feed-story-meta, .category-label, .news-card .category-label,
.reader-byline strong, .reader-byline > div:nth-child(2) > span,
.article-breadcrumb, .reader-figure figcaption {
  font-size: var(--type-label);
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: normal;
}
.meta, .feed-story-meta { flex-wrap: wrap; row-gap: 4px; }
.meta svg, .feed-story-meta svg { width: 16px; height: 16px; }
.feed-story-meta { font-size: var(--type-caption); }
.feed-story-meta svg { width: 14px; height: 14px; }

.nav-links a, .nav-links button, .all-menu, .nav-video,
#news-section .section-filters button {
  font-size: var(--type-medium);
  font-weight: 500;
  line-height: 1.4;
}
#news-section .section-filters button {
  font-size: var(--type-label);
  font-weight: 400;
}
#news-section .news-card h3 {
  font-size: 18px;
  font-weight: 400;
  line-height: 1.5;
}
.search-trigger, .text-link, .outline-button, .cms-load-more,
.footer-links a, .footer-links button, .footer-top h3,
.menu-category-grid a, .menu-category-grid button, .category-browser a,
.category-sort-controls button {
  font-size: var(--type-label);
  line-height: 1.4;
}
.utility-bar, .utility-weather strong, .language-label select,
.currency-code, .cms-admin-link, .cms-signin-link, .section-kicker,
.section-description, .footer-bottom, .footer-note {
  font-size: var(--type-caption);
  line-height: 1.4;
}
.interview-copy p, .category-page-head p, .category-highlight p,
.editorial-banner p, .empty-state p, .info-dialog p {
  font-size: var(--type-medium);
  font-weight: 400;
  line-height: 1.6;
}

/* GoGo's ArticleHeading is 28px/1.4; its story paragraphs are 15px/26px. */
.reader-article-head h1, .article-body h1, .category-page-head h1 {
  font-size: 28px;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: normal;
}
.magazine-hero h1, .interview-page .magazine-hero h1 {
  font-size: 30px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: normal;
}
body .reader-copy {
  font-family: var(--font-ui);
  font-size: var(--reader-size, 15px);
  font-weight: 400;
  line-height: calc(26 / 15);
  letter-spacing: normal;
}
.reader-copy p { margin-bottom: 16px; line-height: inherit; }
.reader-copy .reader-lead, .magazine-copy .reader-lead {
  font-size: 1em;
  font-weight: 400;
  line-height: inherit;
}
.reader-copy h2 { font-size: 1.3125em; font-weight: 700; line-height: 1.4; }
.magazine-columns, .interview-page .magazine-columns {
  font-family: var(--font-ui);
  font-size: 1em;
  line-height: inherit;
}
/* Text columns restart after each full-width interview photograph. */
.interview-page .reader-main, .interview-page .magazine-copy { min-width: 0; max-width: none; }
.interview-page .interview-text-segment { columns: 2; column-gap: 32px; column-fill: balance; }
.interview-page .interview-media-block { clear: both; width: 100%; margin: 28px 0; }
.interview-media-block > img, .interview-media-block > a > img,
.interview-media-block figure:not(.story-image), .interview-media-block figure img { display: block; width: 100% !important; max-width: 100%; height: auto !important; }
.interview-media-block figure { margin: 0; }
.interview-media-block table { width: 100%; }
.interview-page .reader-sidebar-sticky { padding: 20px; }
@media (min-width: 1101px) {
  .interview-page .article-page-layout { grid-template-columns: minmax(0, 1fr) minmax(330px, calc((100% - 46px) / 3.72)); gap: 32px; }
  .interview-page .reader-sidebar { margin-top: 0; }
  .interview-page #reader-feed-list { display: block; }
}
@media (max-width: 1100px) {
  .interview-page .article-page-layout { display: block; }
  .interview-page .reader-main { max-width: 920px; margin-inline: auto; }
}
@media (max-width: 740px) {
  .interview-page .interview-text-segment { columns: 1; }
  .interview-page .reader-sidebar-sticky { padding: 18px; }
}
.focus-reading.interview-page .interview-text-segment { columns: 1; }
#category-columns .category-large h3 { font-size: 18px; font-weight: 500; line-height: 1.5; }
#category-columns .category-mini h3 { font-size: 14px; font-weight: 400; line-height: 1.5; }
.reader-copy font[face], .reader-copy [style*="font-family"] {
  font-family: var(--font-ui) !important;
}
.article-text p { font-size: 15px; line-height: 26px; }
.magazine-deck { font-size: var(--type-title); line-height: 1.5; }
.comment-item p { font-size: var(--type-medium); line-height: 1.6; }
.comment-item strong, .comment-form h3, .comment-form input,
.comment-form textarea { font-size: var(--type-label); line-height: 1.4; }
.comment-item time { font-size: var(--type-caption); }

@media (max-width: 740px) {
  .nav-links a, .nav-links button, .all-menu, .nav-video,
  #news-section .section-filters button { font-size: var(--type-label); }
  #news-section .section-filters button { font-size: 13px; }
  #news-section .news-card h3 { font-size: 17px; }
  .section-description { font-size: var(--type-caption); }
  .comment-form input, .comment-form textarea { font-size: 16px; }
}
@media (max-width: 767px) {
  .magazine-hero h1, .interview-page .magazine-hero h1 {
    font-size: 16px;
    line-height: 1.25;
  }
}
