/* Généré depuis design/tokens.json par scripts/build_static.py. */

@font-face {
  font-family: "Poppins";
  src: url("/static/fonts/Poppins-Regular-latin-latin-ext.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: block;
}

@font-face {
  font-family: "Poppins";
  src: url("/static/fonts/Poppins-Medium-latin-latin-ext.woff2") format("woff2");
  font-style: normal;
  font-weight: 500;
  font-display: block;
}

@font-face {
  font-family: "Poppins";
  src: url("/static/fonts/Poppins-SemiBold-latin-latin-ext.woff2") format("woff2");
  font-style: normal;
  font-weight: 600;
  font-display: block;
}

@font-face {
  font-family: "Poppins";
  src: url("/static/fonts/Poppins-Bold-latin-latin-ext.woff2") format("woff2");
  font-style: normal;
  font-weight: 700;
  font-display: block;
}

@font-face {
  font-family: "Poppins";
  src: url("/static/fonts/Poppins-ExtraBold-latin-latin-ext.woff2") format("woff2");
  font-style: normal;
  font-weight: 800;
  font-display: block;
}

@font-face {
  font-family: "Poppins";
  src: url("/static/fonts/Poppins-Black-latin-latin-ext.woff2") format("woff2");
  font-style: normal;
  font-weight: 900;
  font-display: block;
}

:root {
  --figma-color-5: #f90000;
  --figma-color-1: var(--figma-color-2);
  --figma-color-2: #05254c;
  --figma-color-3: #f7bb34;
  --figma-color-4: var(--figma-color-5);
  --figma-color-white: #ffffff;
  --figma-color-muted: #1d3458;
  --figma-color-stroke: #dddddd;
  --font-poppins: "Poppins";
  --font-category: var(--font-poppins);
  --font-body: var(--font-poppins);
  --font-display: var(--font-poppins);
  --color-text: var(--figma-color-2);
  --color-muted: var(--figma-color-muted);
  --color-brand: var(--figma-color-1);
  --color-accent: var(--figma-color-3);
  --color-danger: var(--figma-color-4);
  --color-category: var(--figma-color-5);
  --color-white: var(--figma-color-white);
  --color-page-surface: #f6f5f3;
  --color-popular-card-surface: var(--color-page-surface);
  --color-border: var(--figma-color-stroke);
  --color-header-surface: var(--color-text);
  --color-header-divider: #1c3757;
  --color-footer-divider: #16313a;
  --color-divider-on-dark: #16313a;
  --color-utility: #d5d8dc;
  --color-popular-surface: #ffffff;
  --color-popular-action: #e5e7eb;
  --color-surface-subtle: #f5f6f8;
  --color-white-translucent: rgb(255 255 255 / 20%);
  --radius-badge: 3px;
  --radius-card: 5px;
  --radius-control: 3px;
  --border-thin: 1px;
  --border-width: 1px;
  --header-border-width: 4px;
  --footer-border-width: 5px;
  --header-divider-width: 2px;
  --footer-divider-width: 0.8px;
  --shadow-none: none;
  --type-action-size: 16px;
  --type-action-weight: 600;
  --type-action-line: 24px;
  --type-action-tracking: 0;
  --section-header-height: 48px;
  --footer-legal-border-width: 0.8px;
  --focus-ring-width: 2px;
  --opacity-secondary: 0.8;
  --card-compact-width: 298px;
  --card-compact-body-height: 126px;
  --card-excerpt-max-height: 110px;
  --card-long-text-max-height: 147px;
  --type-category-untracked-tracking: 0;
  --footer-legal-height: 61.48px;
  --footer-social-padding-bottom: 5.48px;
  --footer-legal-link-padding-bottom: 0.68px;
  --utility-radio-padding-bottom: 1.6px;
  --live-news-desktop-height: 983px;
  --layout-content-width: 1012px;
  --layout-top-stories-width: 620px;
  --layout-sidebar-width: 325px;
  --layout-desktop-sidebar-gap: 67px;
  --layout-featured-width: 520px;
  --layout-horizontal-stack-width: 460px;
  --header-masthead-height: 88px;
  --header-nav-height: 64px;
  --header-gutter: 40px;
  --header-logo-width: 127.976px;
  --header-logo-height: 48px;
  --footer-logo-width: 170.634px;
  --footer-logo-height: 64px;
  --indicator-size: 10px;
  --section-indicator-size: 16px;
  --icon-size: 24px;
  --action-icon-size: 16px;
  --space-0: 0px;
  --space-1: 1px;
  --space-2: 2px;
  --space-3: 3px;
  --space-4: 4px;
  --space-6: 6px;
  --space-8: 8px;
  --space-10: 10px;
  --space-12: 12px;
  --space-14: 14px;
  --space-16: 16px;
  --space-20: 20px;
  --space-24: 24px;
  --space-25: 25px;
  --space-26: 26px;
  --space-28: 28px;
  --space-32: 32px;
  --space-40: 40px;
  --space-52: 52px;
  --space-56: 56px;
  --space-60: 60px;
  --space-67: 67px;
  --space-80: 80px;
  --type-category-size: 13px;
  --type-category-weight: 600;
  --type-category-line: 1;
  --type-category-tracking: 1px;
  --type-card-title-size: 16px;
  --type-card-title-weight: 700;
  --type-home-article-title-weight: 600;
  --type-card-title-line: 21px;
  --type-card-title-tracking: 0;
  --type-card-title-large-size: 18px;
  --type-card-title-large-weight: 700;
  --type-card-title-large-line: 21px;
  --type-card-title-large-tracking: 0;
  --type-lead-title-size: 24px;
  --type-lead-title-weight: 700;
  --type-lead-title-line: 28px;
  --type-lead-title-tracking: 0;
  --type-body-size: 16px;
  --type-body-weight: 400;
  --type-body-line: 22px;
  --type-body-tracking: 0;
  --type-section-size: 20px;
  --type-section-weight: 900;
  --type-section-line: 26px;
  --type-section-tracking: 0;
  --type-live-title-size: 18px;
  --type-live-title-weight: 900;
  --type-live-title-line: 24px;
  --type-live-title-tracking: 0;
  --type-category-popular-size: 12px;
  --type-category-popular-weight: 600;
  --type-category-popular-line: 1;
  --type-category-popular-tracking: 1.3px;
  --type-read-count-size: 15px;
  --type-read-count-weight: 500;
  --type-read-count-line: 1;
  --type-read-count-tracking: 0;
  --figma-title-semibold-size: 16px;
  --figma-title-semibold-weight: 600;
  --figma-title-semibold-line: 1;
  --figma-title-semibold-tracking: 0;
  --figma-cta-bold-size: 16px;
  --figma-cta-bold-weight: 700;
  --figma-cta-bold-line: 1;
  --figma-cta-bold-tracking: 0;
  --type-nav-size: var(--figma-title-semibold-size);
  --type-nav-weight: var(--figma-title-semibold-weight);
  --type-nav-desktop-weight: 500;
  --type-section-action-weight: 600;
  --home-desktop-section-gap: var(--space-48);
  --type-nav-line: var(--figma-title-semibold-line);
  --type-nav-tracking: var(--figma-title-semibold-tracking);
  --type-cta-size: var(--figma-cta-bold-size);
  --type-cta-weight: var(--figma-cta-bold-weight);
  --type-cta-line: var(--figma-cta-bold-line);
  --type-cta-tracking: var(--figma-cta-bold-tracking);
  --type-utility-size: 14px;
  --type-utility-weight: 700;
  --type-utility-line: 1;
  --type-utility-tracking: 0;
  --type-footer-title-size: 20px;
  --type-footer-title-weight: 700;
  --type-footer-heading-weight: 500;
  --type-footer-title-line: 30px;
  --type-footer-title-tracking: 0;
  --type-footer-body-size: 16px;
  --type-footer-body-weight: 400;
  --type-footer-body-line: 24px;
  --type-footer-body-tracking: 0;
  --type-legal-size: 16px;
  --type-legal-weight: 500;
  --type-legal-line: 20px;
  --type-legal-tracking: 0;
  --type-social-size: 16px;
  --type-social-weight: 500;
  --type-social-line: 14px;
  --type-social-tracking: 0;
  --type-copyright-size: 12px;
  --type-copyright-weight: 500;
  --type-copyright-line: 20px;
  --type-copyright-tracking: 0;
  --type-timestamp-size: 12px;
  --type-timestamp-weight: 500;
  --type-timestamp-line: 1;
  --type-timestamp-tracking: 0;
  --type-summary-semibold-size: 16px;
  --type-summary-semibold-weight: 600;
  --type-summary-semibold-line: 22px;
  --type-summary-semibold-tracking: 0;
  --header-compact-padding-block: 16px;
  --header-compact-mobile-padding-block: 12px;
  --header-compact-height: calc(var(--space-40) + 2 * var(--header-compact-padding-block));
  --header-compact-logo-width: 95.982px;
  --header-compact-logo-height: 36px;
  --header-compact-z-index: 100;
  --header-compact-transition-duration: 320ms;
  --header-compact-transition-easing: cubic-bezier(0.4, 0, 0.2, 1);
  --motion-image-duration: 600ms;
  --motion-image-easing: cubic-bezier(0.4, 0, 0.2, 1);
  --motion-image-scale: 1.02;
  --motion-press-duration: 90ms;
  --motion-entry-duration: 200ms;
  --motion-editorial-duration: 450ms;
  --motion-editorial-easing: cubic-bezier(0.4, 0, 0.2, 1);
  --opacity-article-feedback: 0.85;
  --motion-color-duration: 180ms;
  --motion-mobile-menu-duration: 300ms;
  --motion-mobile-menu-easing: cubic-bezier(0.22, 1, 0.36, 1);
  --layout-desktop-gutter: 24px;
  --card-lead-overlay-image-height: 450px;
  --color-lead-overlay-gradient: linear-gradient(to bottom, rgb(20 25 36 / 0) 40%, #141924 100%);
  --color-lead-excerpt-border: #e5e5e5;
  --border-lead-excerpt-width: 0.8px;
  --type-hero-category-size: 14px;
  --type-hero-category-weight: 600;
  --type-hero-category-line: 14px;
  --layout-lower-sidebar-offset: 3.2px;
  --mobile-touch-size: 44px;
  --layout-mobile-gutter: 16px;
  --type-mobile-section-size: 20px;
  --type-mobile-section-line: 24px;
  --card-mobile-lead-image-height: 320px;
  --card-mobile-thumbnail-width: 128px;
  --mobile-thumbnail-width: 105px;
  --mobile-popular-thumbnail-width: 88px;
  --mobile-live-time-width: 44px;
  --mobile-promo-artwork-width: 104px;
  --type-mobile-category-size: 12px;
  --type-mobile-category-line: 16px;
  --type-mobile-compact-size: 18px;
  --type-mobile-compact-line: 22px;
  --type-mobile-priority-size: 20px;
  --type-mobile-priority-line: 24px;
  --type-mobile-story-size: 22px;
  --type-mobile-story-line: 26px;
  --type-mobile-meta-size: 14px;
  --type-mobile-meta-line: 20px;
  --space-48: 48px;
  --article-header-width: 1248px;
  --article-hero-width: 932px;
  --article-reading-width: 696px;
  --article-reading-inset: 118px;
  --article-title-size: 56px;
  --article-title-line: 56px;
  --article-title-weight: 700;
  --article-title-tracking: -1px;
  --article-category-size: 20px;
  --article-excerpt-size: 20px;
  --article-excerpt-line: 30px;
  --article-caption-size: 14px;
  --article-caption-line: 20px;
  --article-caption-gap: 9px;
  --article-body-size: 20px;
  --article-body-line: 30px;
  --article-subheading-size: 24px;
  --article-subheading-line: 30px;
  --article-related-size: 18px;
  --article-related-line: 26px;
  --article-control-radius: 18px;
  --article-comment-radius: 18px;
  --article-notice-radius: 8px;
  --article-comment-notice: rgb(245 87 47 / 8%);
  --article-avatar-awa: #fd4d40;
  --article-avatar-aminata: #642c91;
  --article-mobile-title-size: 32px;
  --article-mobile-top-gap: var(--space-40);
  --article-mobile-title-line: 36px;
  --article-mobile-excerpt-size: var(--article-excerpt-size);
  --article-mobile-excerpt-line: var(--article-excerpt-line);
  --article-mobile-body-size: 18px;
  --article-mobile-body-line: 28px;
  --article-mobile-comment-title-size: 20px;
  --article-mobile-comment-title-line: 26px;
  --article-mobile-comment-text-size: 16px;
  --article-mobile-comment-text-line: 24px;
  --contact-column-width: 764px;
  --contact-footer-gap: 128px;
  --contact-title-size: 48px;
  --contact-title-line: 48px;
  --contact-title-weight: 700;
  --contact-title-tracking: -1px;
  --contact-intro-size: 20px;
  --contact-intro-line: 20px;
  --contact-label-size: 20px;
  --contact-label-line: 24px;
  --contact-input-size: 18px;
  --contact-input-line: 18px;
  --contact-input-weight: 500;
  --contact-input-height: 74px;
  --contact-message-line: 26px;
  --contact-textarea-height: 148px;
  --contact-disabled-opacity: 0.55;
  --contact-mobile-title-size: 32px;
  --contact-mobile-title-line: 36px;
  --contact-mobile-title-tracking: 0px;
  --contact-mobile-intro-size: 18px;
  --contact-mobile-intro-line: 28px;
  --contact-mobile-label-size: 16px;
  --contact-mobile-label-line: 22px;
  --contact-mobile-input-size: 16px;
  --contact-mobile-input-height: 52px;
  --contact-mobile-input-line: 24px;
  --contact-mobile-textarea-height: 120px;
  --contact-bubble-button-size: 36px;
  --contact-bubble-radius: 30px;
  --contact-bubble-shadow: 0 2px 24px 1px rgb(0 0 0 / 16%);
  --motion-contact-bubble-duration: 350ms;
}


* { box-sizing: border-box; }
[hidden] { display: none !important; }

html { background: var(--color-page-surface); color: var(--color-text); scroll-padding-block-start: var(--sticky-header-offset, var(--header-compact-height)); }
body { margin: 0; font-family: var(--font-body); font-synthesis: none; }
button, input, textarea, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; }
a[href] { cursor: pointer; }
img { display: block; }
h1, h2, h3, h4, p { margin: 0; }
:where([id]) { scroll-margin-block-start: var(--space-8); }

.visually-hidden { position: absolute; inline-size: 1px; block-size: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); border: 0; white-space: nowrap; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}

:focus-visible {
  outline: var(--header-divider-width) solid var(--color-category);
  outline-offset: var(--space-4);
}


/* ArticleCard */
.r221-articlecard-card {
  cursor: pointer;
  inline-size: 100%;
  min-inline-size: 0;
  max-inline-size: 100%;
  color: var(--color-text);
  font-family: var(--font-body);
  box-sizing: border-box;
}

.r221-articlecard-link {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  min-inline-size: 0;
  color: inherit;
  text-decoration: none;
}

.r221-articlecard-link:focus-visible {
  outline: var(--focus-ring-width) solid var(--color-category);
  outline-offset: var(--space-4);
}

.r221-articlecard-header,
.r221-articlecard-content {
  display: flex;
  flex-direction: column;
  min-inline-size: 0;
  gap: var(--space-8);
}

.r221-articlecard-title {
  margin: 0;
  min-inline-size: 0;
  font-size: var(--type-card-title-large-size);
  font-weight: var(--type-home-article-title-weight);
  line-height: var(--type-card-title-large-line);
  letter-spacing: var(--type-card-title-large-tracking);
  overflow-wrap: anywhere;
  transition: color var(--motion-color-duration) ease;
}
.r221-articlecard-fluidText { display: none; }

.r221-articlecard-excerpt {
  margin: 0;
  color: var(--color-muted);
  font-size: var(--type-body-size);
  font-weight: var(--type-body-weight);
  line-height: var(--type-body-line);
  letter-spacing: var(--type-body-tracking);
  overflow-wrap: anywhere;
}

.r221-articlecard-category {
  font-family: var(--font-category);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-4);
  min-block-size: 16px;
  color: var(--color-category);
  font-size: var(--type-category-size);
  font-weight: var(--type-category-weight);
  line-height: var(--type-category-line);
  letter-spacing: var(--type-category-tracking);
  text-transform: uppercase;
  border-radius: var(--radius-badge);
}

.r221-articlecard-category > span:last-child {
  flex: 1 1 0;
  min-inline-size: 0;
  text-box-trim: trim-both;
  text-box-edge: cap alphabetic;
}

.r221-articlecard-indicator {
  flex: 0 0 auto;
  inline-size: 10px;
  block-size: 10px;
  background: var(--color-accent);
}

.r221-articlecard-media {
  position: relative;
  min-inline-size: 0;
  overflow: hidden;
  flex-shrink: 0;
}

.r221-articlecard-imagePlane {
  position: absolute;
  inset: 0;
  contain: paint;
  transition: transform var(--motion-image-duration) var(--motion-image-easing);
}

.r221-articlecard-imagePlane > img {
  position: absolute;
  inset-block-start: var(--article-image-top, 0%);
  inset-inline-start: var(--article-image-left, 0%);
  display: block;
  inline-size: 100%;
  block-size: 100%;
  object-fit: var(--article-image-fit, cover);
  object-position: var(--article-image-position, 50% 50%);
  transform: var(--article-image-transform, none);
  transform-origin: var(--article-image-transform-origin, 50% 50%);
}

@media (hover: hover) and (pointer: fine) {
  /* Keep the same composited picture plane before, during and after hover.
     Promoting it only when the transition starts stalls the first raster. */
  .r221-articlecard-imagePlane {
    transform: translate3d(0, 0, 0) scale(1);
    will-change: transform;
  }
  .r221-articlecard-card:hover .r221-articlecard-imagePlane {
    transform: translate3d(0, 0, 0) scale(var(--motion-image-scale));
  }
}

.r221-articlecard-lead,
.r221-articlecard-compact,
.r221-articlecard-horizontal-detailed,
.r221-articlecard-detailed-framed,
.r221-articlecard-image-excerpt {
  padding-block-end: var(--space-24);
  border-block-end: var(--border-thin) solid var(--color-border);
}

/* 282:3160: three Fill cards, Hug text and image ratio 320/164. */
.r221-articlecard-headline { display: flex; flex-direction: column; border: var(--border-thin) solid var(--color-border); border-start-start-radius: 12px; border-start-end-radius: 12px; }
.r221-articlecard-headline .r221-articlecard-link { flex: 1; gap: var(--space-24); padding-block-end: var(--space-24); }
.r221-articlecard-headline .r221-articlecard-readArticle { margin-block-start: auto; }
.r221-articlecard-headline .r221-articlecard-media { aspect-ratio: 320 / 164; border-radius: 12px; }
.r221-articlecard-headline .r221-articlecard-content { padding-inline: var(--space-12); }
.r221-articlecard-headline .r221-articlecard-title { font-size: var(--type-card-title-size); line-height: var(--type-card-title-line); }
.r221-articlecard-headline .r221-articlecard-overlayCategory { inset-block-start: auto; inset-block-end: 0; padding: 3px var(--space-6); background: var(--color-category); font-size: 12px; line-height: 12px; letter-spacing: 1.3px; }
.r221-articlecard-readArticle { display: flex; align-items: center; justify-content: flex-end; gap: var(--space-4); padding-inline: var(--space-12); font-size: var(--type-cta-size); font-weight: var(--type-cta-weight); line-height: var(--type-cta-line); }
.r221-articlecard-readArrow { display: inline-flex; flex: none; transform: rotate(90deg); }

/* 328:4089: photograph first, bottom category badge, then a Hug title panel. */
.r221-articlecard-grid { display: flex; flex-direction: column; }
.r221-articlecard-grid .r221-articlecard-link { flex: 1 1 auto; gap: 0; }
.r221-articlecard-grid .r221-articlecard-media { order: -1; inline-size: 100%; aspect-ratio: 298 / 164; }
.r221-articlecard-grid .r221-articlecard-content {
  flex: 1 1 auto;
  min-block-size: 103px;
  padding: var(--space-20) var(--space-12);
  border: var(--border-thin) solid var(--color-border);
  border-block-start: 0;
  box-sizing: border-box;
}
.r221-articlecard-grid .r221-articlecard-category { display: none; }
.r221-articlecard-grid .r221-articlecard-desktopText { display: none; }
.r221-articlecard-grid .r221-articlecard-fluidText { display: contents; }
.r221-articlecard-grid .r221-articlecard-title { font-size: var(--type-card-title-size); line-height: var(--type-card-title-line); }
.r221-articlecard-grid .r221-articlecard-overlayCategory,
.r221-articlecard-editorial .r221-articlecard-overlayCategory {
  inset-block-start: auto;
  inset-block-end: 0;
  padding-block: 3px;
  background: var(--color-category);
}

/* 282:3423: 520px picture / Fill text column, both driven by content. */
.r221-articlecard-focus .r221-articlecard-link { display: grid; grid-template-columns: minmax(0, 520fr) minmax(0, 460fr); gap: var(--space-32); align-items: center; }
.r221-articlecard-focus .r221-articlecard-media { aspect-ratio: 520 / 306; }
.r221-articlecard-focus .r221-articlecard-content { align-self: stretch; gap: var(--space-16); padding-block: var(--space-32); }
.r221-articlecard-focus .r221-articlecard-category { padding-block-start: var(--space-8); }
.r221-articlecard-focus .r221-articlecard-title { font-size: var(--type-card-title-large-size); line-height: var(--type-card-title-large-line); }
.r221-articlecard-focus .r221-articlecard-readArticle { margin-block-start: auto; }
@media (max-width: 767px) {
  .r221-articlecard-focus .r221-articlecard-link { grid-template-columns: minmax(0, 1fr); gap: var(--space-16); }
  .r221-articlecard-focus .r221-articlecard-content { padding-block: 0; }
  .r221-articlecard-focus .r221-articlecard-header { gap: var(--space-8); }
  .r221-articlecard-focus .r221-articlecard-media { inline-size: 100%; }
  .r221-articlecard-focus .r221-articlecard-category { padding: 0; font-family: var(--font-category); font-size: var(--type-mobile-category-size); line-height: var(--type-mobile-category-line); letter-spacing: 0; }
  .r221-articlecard-focus .r221-articlecard-title { font-family: var(--font-body); font-size: var(--type-mobile-story-size); font-weight: var(--type-home-article-title-weight); line-height: var(--type-mobile-story-line); letter-spacing: 0; }
  .r221-articlecard-focus .r221-articlecard-excerpt { font-size: var(--type-body-size); line-height: var(--type-body-line); }
  .r221-articlecard-focus .r221-articlecard-readArticle { min-block-size: var(--mobile-touch-size); padding-inline: 0; }
  .r221-articlecard-headline .r221-articlecard-readArticle { min-block-size: var(--mobile-touch-size); }
}

/* 15:264: Fill parent (620 in source), Hug height; header right padding52. */
.r221-articlecard-lead { inline-size: 100%; }
.r221-articlecard-lead .r221-articlecard-link { gap: var(--space-16); }
.r221-articlecard-leadHeader { padding-inline-end: var(--space-52); padding-block-end: var(--space-8); }
.r221-articlecard-lead .r221-articlecard-header { gap: var(--space-16); }
.r221-articlecard-lead .r221-articlecard-category { align-self: flex-start; inline-size: fit-content; }
.r221-articlecard-lead .r221-articlecard-category > span:last-child { flex: none; }
.r221-articlecard-lead .r221-articlecard-title {
  font-size: var(--type-lead-title-size);
  font-weight: var(--type-lead-title-weight);
  line-height: var(--type-lead-title-line);
  letter-spacing: var(--type-lead-title-tracking);
}
.r221-articlecard-lead .r221-articlecard-indicator { inline-size: 12px; block-size: 12px; }
.r221-articlecard-leadBody {
  display: grid;
  grid-template-columns: minmax(0, 184fr) minmax(0, 410fr);
  align-items: start;
  gap: var(--space-26);
}
.r221-articlecard-leadExcerpt { min-inline-size: 0; align-self: stretch; padding-block-end: var(--space-16); }
.r221-articlecard-lead .r221-articlecard-media { aspect-ratio: var(--media-aspect-ratio, 410 / 270); }

/* 14:133: nominal298; Body Fixed126, title Fill, image111x74. */
.r221-articlecard-compact .r221-articlecard-link { gap: var(--space-8); }
.r221-articlecard-compactBody {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 111px;
  align-items: start;
  gap: var(--space-16);
  block-size: var(--card-compact-body-height);
}
.r221-articlecard-compact .r221-articlecard-title {
  flex: 1 1 0;
  font-size: var(--type-card-title-size);
  font-weight: var(--type-home-article-title-weight);
  line-height: var(--type-card-title-line);
  letter-spacing: var(--type-card-title-tracking);
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 6;
  overflow: hidden;
  max-block-size: var(--card-compact-body-height);
  white-space: pre-line;
}
.r221-articlecard-compact .r221-articlecard-media { block-size: 74px; }

/* 20:288: Fixed620 source, two Fill columns separated by24; image Fixed200 high. */
.r221-articlecard-horizontal-detailed .r221-articlecard-link,
.r221-articlecard-detailed-framed .r221-articlecard-link {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  gap: var(--space-24);
}
.r221-articlecard-horizontal-detailed .r221-articlecard-content,
.r221-articlecard-detailed-framed .r221-articlecard-content { gap: var(--space-16); }
.r221-articlecard-horizontal-detailed .r221-articlecard-media,
.r221-articlecard-detailed-framed .r221-articlecard-media { block-size: 200px; }
.r221-articlecard-horizontal-detailed .r221-articlecard-category,
.r221-articlecard-detailed-framed .r221-articlecard-category { letter-spacing: var(--type-category-untracked-tracking); }
.r221-articlecard-horizontal-detailed .r221-articlecard-excerpt,
.r221-articlecard-detailed-framed .r221-articlecard-excerpt {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 5;
  max-block-size: var(--card-excerpt-max-height);
  overflow: hidden;
}
.r221-articlecard-detailed-framed { padding-block: var(--space-24); border-block-start: var(--border-thin) solid var(--color-border); }

/* 20:395: nominal298x374; image168 high, visible excerpt maximum147 (seven lines). */
.r221-articlecard-image-excerpt { min-block-size: 374px; }
.r221-articlecard-image-excerpt .r221-articlecard-link { gap: var(--space-8); }
.r221-articlecard-image-excerpt .r221-articlecard-media { inline-size: 100%; block-size: 168px; }
.r221-articlecard-image-excerpt .r221-articlecard-category,
.r221-articlecard-featured .r221-articlecard-category { min-block-size: 0; padding-block-start: var(--space-8); }
.r221-articlecard-imageExcerptText {
  margin: 0;
  min-inline-size: 0;
  font-size: var(--type-card-title-size);
  font-weight: var(--type-card-title-weight);
  line-height: var(--type-card-title-line);
  letter-spacing: var(--type-card-title-tracking);
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 7;
  max-block-size: var(--card-long-text-max-height);
  overflow: hidden;
  overflow-wrap: anywhere;
}

.r221-articlecard-visuallyHidden {
  position: absolute;
  inline-size: 1px;
  block-size: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}

/* 24:569: image167; inset text plus a 14px left-aligned Read more CTA. */
.r221-articlecard-editorial {
  display: flex;
  flex-direction: column;
  border: var(--border-thin) solid var(--color-border);
}
.r221-articlecard-editorial .r221-articlecard-link { flex: 1 1 auto; }
.r221-articlecard-editorial .r221-articlecard-media { inline-size: 100%; block-size: 167px; }
.r221-articlecard-editorial .r221-articlecard-content { flex: 1 1 auto; gap: var(--space-20); padding: var(--space-20) var(--space-16); box-sizing: border-box; }
.r221-articlecard-editorialDetails { display: flex; flex-direction: column; gap: var(--space-8); min-inline-size: 0; }
.r221-articlecard-editorial .r221-articlecard-category { display: none; }
.r221-articlecard-editorial .r221-articlecard-readArticle { justify-content: flex-start; padding-inline: 0; margin-block-start: auto; font-size: 14px; }
/* One mobile-native content tree, with the original photograph-first desktop layout. */
.r221-articlecard-editorial .r221-articlecard-media,
.r221-articlecard-featured[data-mobile-presentation] .r221-articlecard-media { order: -1; }

/* 24:795: nominal520; real Hug height prevents overflow from the source max465. */
.r221-articlecard-featured .r221-articlecard-link { gap: var(--space-8); }
.r221-articlecard-featured { padding-block-end: var(--space-24); }
.r221-articlecard-featured .r221-articlecard-content { gap: var(--space-16); }
.r221-articlecard-featured .r221-articlecard-media { inline-size: 100%; block-size: 306px; }

/* 24:794: Fill width/Hug height; image Fixed180x120 followed by Fill content. */
.r221-articlecard-horizontal .r221-articlecard-link {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr);
  align-items: start;
  gap: var(--space-16);
}
.r221-articlecard-horizontal .r221-articlecard-media { block-size: 120px; }
.r221-articlecard-horizontal .r221-articlecard-excerpt {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
.r221-articlecard-horizontal[data-mobile-presentation] .r221-articlecard-media { grid-column: 1; grid-row: 1; }
.r221-articlecard-horizontal[data-mobile-presentation] .r221-articlecard-content { grid-column: 2; grid-row: 1; }

/* 30:4318: Fixed305/Hug;16 padding and gaps; only the category overlays an image. */
.r221-articlecard-popular { padding: var(--space-16); border-radius: var(--radius-card); background: var(--color-popular-card-surface); overflow: clip; }
.r221-articlecard-popular .r221-articlecard-link { gap: var(--space-16); }
.r221-articlecard-popular .r221-articlecard-media { inline-size: 100%; block-size: 143px; }
.r221-articlecard-popularContent { display: contents; }
.r221-articlecard-overlayCategory {
  font-family: var(--font-category);
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  block-size: 20px;
  padding-inline: var(--space-6);
  box-sizing: border-box;
  color: var(--color-white);
  background: var(--color-text);
  font-size: var(--type-category-popular-size);
  font-weight: var(--type-category-popular-weight);
  line-height: var(--type-category-popular-line);
  letter-spacing: var(--type-category-popular-tracking);
  text-transform: uppercase;
}
.r221-articlecard-readCount {
  display: flex;
  align-self: flex-start;
  align-items: center;
  gap: var(--space-6);
  color: var(--color-muted);
  font-size: var(--type-read-count-size);
  font-weight: var(--type-read-count-weight);
  line-height: var(--type-read-count-line);
  letter-spacing: var(--type-read-count-tracking);
  white-space: nowrap;
}
.r221-articlecard-readCountIcon { display: flex; flex: none; align-items: center; justify-content: center; inline-size: 15px; block-size: 15px; }
.r221-articlecard-readCountLabel {
  /* Center the visible glyphs with the icon rather than the font's extra leading. */
  text-box-trim: trim-both;
  text-box-edge: cap alphabetic;
}

/* 73:1397: image Fill width/Fixed450; overlay content hugs above its bottom24. */
.r221-articlecard-leadOverlay { border: 0; }
.r221-articlecard-leadOverlay .r221-articlecard-link { gap: var(--space-24); }
.r221-articlecard-heroMedia { position: relative; overflow: hidden; block-size: var(--card-lead-overlay-image-height); }
.r221-articlecard-leadOverlay .r221-articlecard-media { inline-size: 100%; block-size: 100%; aspect-ratio: auto; }
.r221-articlecard-heroGradient { position: absolute; inset: 0; background: var(--color-lead-overlay-gradient); pointer-events: none; }
.r221-articlecard-heroHeader { position: absolute; z-index: 1; inset-inline: var(--space-24); inset-block-end: var(--space-24); display: flex; flex-direction: column; gap: var(--space-8); }
.r221-articlecard-heroCategory { align-self: flex-start; margin-block-end: var(--space-8); padding: var(--space-4); font-family: var(--font-category); font-size: var(--type-hero-category-size); font-weight: var(--type-hero-category-weight); line-height: var(--type-hero-category-line); color: var(--color-white); background: var(--color-category); text-transform: uppercase; }
.r221-articlecard-heroCategory > .r221-articlecard-indicator { display: none; }
.r221-articlecard-leadOverlay .r221-articlecard-title { font-family: var(--font-body); color: var(--color-white); }
.r221-articlecard-heroExcerpt { padding-block-end: var(--space-25); border-block-end: var(--border-thin) solid var(--color-border); }

/* Attenuate text once; photographs and their frames keep their full opacity. */
.r221-articlecard-card :is(.r221-articlecard-title, .r221-articlecard-excerpt, .r221-articlecard-category, .r221-articlecard-imageExcerptText, .r221-articlecard-overlayCategory, .r221-articlecard-readCount, .r221-articlecard-heroCategory, .r221-articlecard-readArticle) {
  transition: color var(--motion-color-duration) ease, opacity var(--motion-press-duration) ease;
}
.r221-articlecard-card[data-pressed="true"] :is(.r221-articlecard-title, .r221-articlecard-excerpt, .r221-articlecard-category, .r221-articlecard-imageExcerptText, .r221-articlecard-overlayCategory, .r221-articlecard-readCount, .r221-articlecard-heroCategory, .r221-articlecard-readArticle) {
  opacity: var(--opacity-article-feedback);
}

@media (prefers-reduced-motion: reduce) {
  .r221-articlecard-imagePlane { transition: none; transform: none; will-change: auto; }
  .r221-articlecard-card:hover .r221-articlecard-imagePlane { transform: none; }
  .r221-articlecard-card :is(.r221-articlecard-title, .r221-articlecard-excerpt, .r221-articlecard-category, .r221-articlecard-imageExcerptText, .r221-articlecard-overlayCategory, .r221-articlecard-readCount, .r221-articlecard-heroCategory, .r221-articlecard-readArticle) { transition: none; }
}

@media (max-width: 1023px) {
  .r221-articlecard-desktopText { display: none; }
  .r221-articlecard-fluidText { display: contents; }
  .r221-articlecard-leadHeader { padding-inline-end: 0; }
  .r221-articlecard-leadBody { grid-template-columns: minmax(0, 1fr); gap: var(--space-16); }
  .r221-articlecard-heroMedia { block-size: var(--card-mobile-lead-image-height); }
  .r221-articlecard-heroHeader { inset-inline: var(--space-16); inset-block-end: var(--space-16); }
  .r221-articlecard-compactBody { block-size: auto; }
  .r221-articlecard-compact .r221-articlecard-title { display: block; max-block-size: none; -webkit-line-clamp: unset; white-space: normal; }

  /* The summary fills its own row; only its heading shares space with the thumbnail. */
  .r221-articlecard-horizontal-detailed .r221-articlecard-link,
  .r221-articlecard-detailed-framed .r221-articlecard-link { grid-template-columns: minmax(0, 1fr) var(--card-mobile-thumbnail-width); gap: var(--space-16); }
  .r221-articlecard-horizontal-detailed .r221-articlecard-content,
  .r221-articlecard-detailed-framed .r221-articlecard-content { display: contents; }
  .r221-articlecard-horizontal-detailed .r221-articlecard-header,
  .r221-articlecard-detailed-framed .r221-articlecard-header { grid-column: 1; grid-row: 1; }
  .r221-articlecard-horizontal-detailed .r221-articlecard-media,
  .r221-articlecard-detailed-framed .r221-articlecard-media { grid-column: 2; grid-row: 1; block-size: auto; aspect-ratio: 3 / 2; }
  .r221-articlecard-horizontal-detailed .r221-articlecard-excerpt,
  .r221-articlecard-detailed-framed .r221-articlecard-excerpt { grid-column: 1 / -1; grid-row: 2; }

  .r221-articlecard-image-excerpt { min-block-size: 0; }
  .r221-articlecard-image-excerpt .r221-articlecard-media { block-size: auto; aspect-ratio: 298 / 168; }
  .r221-articlecard-imageExcerptText { display: block; font-size: var(--type-body-size); line-height: var(--type-body-line); max-block-size: none; -webkit-line-clamp: unset; }

  .r221-articlecard-editorial { min-block-size: 0; }
  .r221-articlecard-editorial .r221-articlecard-media { block-size: auto; aspect-ratio: 318 / 167; }
  .r221-articlecard-editorial .r221-articlecard-content { min-block-size: 0; }
  .r221-articlecard-editorial .r221-articlecard-excerpt { min-block-size: 0; }
  .r221-articlecard-featured .r221-articlecard-media { block-size: auto; aspect-ratio: 520 / 306; }
  .r221-articlecard-horizontal .r221-articlecard-link { grid-template-columns: var(--card-mobile-thumbnail-width) minmax(0, 1fr); }
  .r221-articlecard-horizontal .r221-articlecard-media { block-size: auto; aspect-ratio: 3 / 2; }

  /* The content hugs independently of the image; Buzz has no empty counter slot. */
  .r221-articlecard-popular .r221-articlecard-link { flex-direction: row; align-items: flex-start; gap: var(--space-16); }
  .r221-articlecard-popular .r221-articlecard-media { inline-size: 110px; block-size: 74px; }
  .r221-articlecard-popularContent { display: flex; flex: 1 1 0; flex-direction: column; gap: var(--space-8); min-inline-size: 0; }
  .r221-articlecard-overlayCategory { display: block; block-size: auto; padding-block: 3px; text-align: center; text-box-trim: trim-both; text-box-edge: cap alphabetic; }
}

@media (max-width: 767px) {
  /* Each presentation is a Figma mobile variant, not a smaller desktop card. */
  .r221-articlecard-card[data-mobile-presentation] .r221-articlecard-imagePlane > img {
    inset-block-start: 0;
    inset-inline-start: 0;
    object-fit: cover;
    object-position: 50% 50%;
    transform: none;
  }
  .r221-articlecard-card[data-mobile-presentation] .r221-articlecard-category {
    padding: 0;
    min-block-size: var(--space-16);
    font-size: var(--type-mobile-category-size);
    line-height: var(--type-mobile-category-line);
    letter-spacing: 0;
  }
  /* All mobile article titles use the Poppins family defined by the body token. */
  .r221-articlecard-card[data-mobile-presentation] .r221-articlecard-title { font-family: var(--font-body); white-space: normal; font-optical-sizing: none; }
  .r221-articlecard-card:is(.r221-articlecard-grid, .r221-articlecard-editorial)[data-mobile-presentation] .r221-articlecard-category { display: flex; }
  .r221-articlecard-card:is(.r221-articlecard-grid, .r221-articlecard-editorial)[data-mobile-presentation] .r221-articlecard-overlayCategory { display: none; }
  .r221-articlecard-card[data-mobile-presentation] .r221-articlecard-editorialDetails { display: contents; }
  .r221-articlecard-editorial[data-mobile-presentation] .r221-articlecard-readArticle { display: none; }
  .r221-articlecard-detailed-framed { padding-block-start: 0; border-block-start: 0; }

  .r221-articlecard-card[data-mobile-presentation="lead"] {
    padding-block-end: var(--space-24);
    border-block-end: var(--border-thin) solid var(--color-border);
  }
  .r221-articlecard-card[data-mobile-presentation="lead"] .r221-articlecard-link { gap: var(--space-16); }
  .r221-articlecard-card[data-mobile-presentation="lead"] .r221-articlecard-heroMedia { display: contents; }
  .r221-articlecard-card[data-mobile-presentation="lead"] .r221-articlecard-heroHeader {
    position: static;
    gap: var(--space-16);
  }
  .r221-articlecard-card[data-mobile-presentation="lead"] .r221-articlecard-heroCategory {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin: 0;
    padding: 0;
    color: var(--color-category);
    background: transparent;
    font-family: var(--font-category);
    font-size: var(--type-mobile-category-size);
    line-height: var(--type-mobile-category-line);
    min-block-size: var(--space-16);
  }
  .r221-articlecard-card[data-mobile-presentation="lead"] .r221-articlecard-heroCategory > span:last-child {
    text-box-trim: trim-both;
    text-box-edge: cap alphabetic;
  }
  .r221-articlecard-card[data-mobile-presentation="lead"] .r221-articlecard-heroCategory > .r221-articlecard-indicator { display: block; inline-size: 10px; block-size: 10px; }
  .r221-articlecard-card[data-mobile-presentation="lead"] .r221-articlecard-title {
    color: var(--color-text);
    font-size: var(--type-lead-title-size);
    font-weight: var(--type-lead-title-weight);
    line-height: var(--type-lead-title-line);
    letter-spacing: 0;
  }
  .r221-articlecard-card[data-mobile-presentation="lead"] .r221-articlecard-media { inline-size: 100%; block-size: auto; aspect-ratio: 16 / 9; }
  .r221-articlecard-card[data-mobile-presentation="lead"] .r221-articlecard-heroGradient { display: none; }
  .r221-articlecard-card[data-mobile-presentation="lead"] .r221-articlecard-heroExcerpt { display: contents; }
  .r221-articlecard-card[data-mobile-presentation="lead"] .r221-articlecard-excerpt { color: var(--color-text); }

  .r221-articlecard-card:is([data-mobile-presentation="compact"], [data-mobile-presentation="priority"]) {
    min-block-size: 0;
    padding: 0 0 var(--space-24);
    border: 0;
    border-block-end: var(--border-thin) solid var(--color-border);
  }
  .r221-articlecard-card:is([data-mobile-presentation="compact"], [data-mobile-presentation="priority"]) .r221-articlecard-link {
    display: grid;
    grid-template-columns: minmax(0, 1fr) var(--mobile-thumbnail-width);
    align-items: start;
    gap: var(--space-8) var(--space-16);
  }
  .r221-articlecard-card:is([data-mobile-presentation="compact"], [data-mobile-presentation="priority"]) :is(.r221-articlecard-content, .r221-articlecard-header, .r221-articlecard-compactBody, .r221-articlecard-editorialDetails) { display: contents; }
  .r221-articlecard-card:is([data-mobile-presentation="compact"], [data-mobile-presentation="priority"]) .r221-articlecard-category { grid-column: 1 / -1; }
  .r221-articlecard-card:is([data-mobile-presentation="compact"], [data-mobile-presentation="priority"]) .r221-articlecard-title {
    grid-column: 1;
    grid-row: auto;
    display: block;
    max-block-size: none;
    overflow: visible;
    -webkit-line-clamp: unset;
    font-size: var(--type-mobile-compact-size);
    line-height: var(--type-mobile-compact-line);
    letter-spacing: 0;
  }
  .r221-articlecard-card[data-mobile-presentation="priority"] .r221-articlecard-title { font-size: var(--type-mobile-priority-size); line-height: var(--type-mobile-priority-line); }
  .r221-articlecard-card:is([data-mobile-presentation="compact"], [data-mobile-presentation="priority"]) .r221-articlecard-media {
    grid-column: 2;
    grid-row: auto;
    order: 0;
    inline-size: var(--mobile-thumbnail-width);
    block-size: auto;
    aspect-ratio: 3 / 2;
  }
  .r221-articlecard-card:is([data-mobile-presentation="compact"], [data-mobile-presentation="priority"]) .r221-articlecard-excerpt { display: none; }

  .r221-articlecard-card:is([data-mobile-presentation="story"], [data-mobile-presentation="editorial-lead"]) {
    min-block-size: 0;
    padding-block-end: 0;
  }
  .r221-articlecard-card:is([data-mobile-presentation="story"], [data-mobile-presentation="editorial-lead"]) .r221-articlecard-link { gap: var(--space-16); }
  .r221-articlecard-card:is([data-mobile-presentation="story"], [data-mobile-presentation="editorial-lead"]) .r221-articlecard-content { padding: 0; min-block-size: 0; }
  .r221-articlecard-card:is([data-mobile-presentation="story"], [data-mobile-presentation="editorial-lead"]) .r221-articlecard-header { gap: var(--space-16); }
  .r221-articlecard-card:is([data-mobile-presentation="story"], [data-mobile-presentation="editorial-lead"]) .r221-articlecard-title { font-size: var(--type-mobile-story-size); line-height: var(--type-mobile-story-line); letter-spacing: 0; }
  .r221-articlecard-card:is([data-mobile-presentation="story"], [data-mobile-presentation="editorial-lead"]) .r221-articlecard-media { order: 0; inline-size: 100%; block-size: auto; aspect-ratio: 16 / 9; }
  .r221-articlecard-card:is([data-mobile-presentation="story"], [data-mobile-presentation="editorial-lead"]) .r221-articlecard-excerpt { display: none; }
  .r221-articlecard-card[data-mobile-presentation="editorial-lead"] { padding: var(--space-16); border: var(--border-thin) solid var(--color-border); box-shadow: none; }
  .r221-articlecard-card[data-mobile-presentation="editorial-lead"] .r221-articlecard-title { font-size: var(--type-mobile-priority-size); line-height: var(--type-mobile-priority-line); }
  .r221-articlecard-card[data-mobile-presentation="editorial-lead"] .r221-articlecard-media { aspect-ratio: 318 / 167; }

  .r221-articlecard-card[data-mobile-presentation="tile"] { min-block-size: 0; padding: var(--space-12); border: var(--border-thin) solid var(--color-border); box-shadow: none; }
  .r221-articlecard-card[data-mobile-presentation="tile"] .r221-articlecard-link { gap: var(--space-16); }
  .r221-articlecard-card[data-mobile-presentation="tile"] .r221-articlecard-content { padding: 0; min-block-size: 0; }
  .r221-articlecard-card[data-mobile-presentation="tile"] .r221-articlecard-header { gap: var(--space-16); }
  .r221-articlecard-card[data-mobile-presentation="tile"] .r221-articlecard-title { font-size: var(--type-body-size); line-height: var(--type-body-line); letter-spacing: 0; }
  .r221-articlecard-card[data-mobile-presentation="tile"] .r221-articlecard-media { inline-size: 100%; block-size: auto; aspect-ratio: 20 / 10.5; }
  .r221-articlecard-card[data-mobile-presentation="tile"] .r221-articlecard-excerpt { display: none; }

  .r221-articlecard-card[data-mobile-presentation="image-excerpt"] .r221-articlecard-link { gap: var(--space-16); }
  .r221-articlecard-card[data-mobile-presentation="image-excerpt"] .r221-articlecard-content { gap: var(--space-16); }
  .r221-articlecard-card[data-mobile-presentation="image-excerpt"] .r221-articlecard-media { aspect-ratio: 16 / 9; }

  .r221-articlecard-card[data-mobile-presentation="popular"] .r221-articlecard-link { gap: var(--space-12); }
  .r221-articlecard-card[data-mobile-presentation="popular"] .r221-articlecard-media { inline-size: var(--mobile-popular-thumbnail-width); block-size: auto; aspect-ratio: 3 / 2; }
  .r221-articlecard-card[data-mobile-presentation="popular"] .r221-articlecard-title { font-size: var(--type-body-size); line-height: var(--type-body-line); letter-spacing: 0; }
  .r221-articlecard-card[data-mobile-presentation="popular"] .r221-articlecard-overlayCategory { padding: 2px var(--space-6); font-size: var(--type-mobile-category-size); line-height: var(--type-mobile-category-line); text-box-trim: none; }
  .r221-articlecard-card[data-hide-mobile-category="true"] .r221-articlecard-overlayCategory { display: none; }
  .r221-articlecard-card[data-mobile-presentation="popular"] .r221-articlecard-readCount { font-size: var(--type-mobile-meta-size); line-height: var(--type-mobile-meta-line); }
  .r221-articlecard-card[data-mobile-presentation="popular"] .r221-articlecard-readCountIcon { inline-size: 16px; block-size: 16px; }
  .r221-articlecard-card[data-mobile-presentation="popular"] .r221-articlecard-readCountLabel { text-box-trim: none; }
}


/* ArticleComments */
.r221-articlecomments-section {
  display: flex;
  flex-direction: column;
  gap: var(--space-24);
  inline-size: 100%;
  max-inline-size: var(--layout-content-width);
  min-inline-size: 0;
  margin-inline: auto;
  color: var(--color-text);
  font-family: var(--font-body);
  scroll-margin-block-start: calc(var(--sticky-header-offset, var(--header-compact-height)) + var(--space-16));
}

.r221-articlecomments-sectionHeading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-24);
  padding-block-end: var(--space-20);
  border-block-end: var(--border-thin) solid var(--color-border);
}

.r221-articlecomments-sectionHeading h2,
.r221-articlecomments-formHeading h2 {
  font-size: 24px;
  font-weight: 700;
  line-height: 28px;
}
.r221-articlecomments-headingTitle { display: flex; flex-direction: column; min-inline-size: 0; }

.r221-articlecomments-button {
  display: inline-flex;
  flex: none;
  align-items: center;
  justify-content: center;
  gap: var(--space-8);
  max-inline-size: 100%;
  border: 0;
  border-radius: var(--radius-control);
  padding: 0;
  color: inherit;
  background: transparent;
  font-family: inherit;
  font-size: 16px;
  font-weight: 600;
  line-height: 16px;
  cursor: pointer;
  text-decoration: none;
  transition: opacity var(--motion-color-duration) ease, background-color var(--motion-color-duration) ease;
  touch-action: manipulation;
}

.r221-articlecomments-button:active,
.r221-articlecomments-noticeAction:active { opacity: var(--opacity-article-feedback); }
.r221-articlecomments-button:disabled { cursor: not-allowed; opacity: .45; }

.r221-articlecomments-button:focus-visible,
.r221-articlecomments-noticeAction:focus-visible {
  outline: var(--focus-ring-width) solid var(--color-category);
  outline-offset: var(--space-4);
}

.r221-articlecomments-discussionButton,
.r221-articlecomments-postButton {
  background: var(--color-accent);
  font-weight: 700;
  white-space: nowrap;
}

.r221-articlecomments-discussionButton {
  min-block-size: 48px;
  inline-size: max-content;
  padding: var(--space-12) var(--space-16);
}

.r221-articlecomments-content {
  display: flex;
  flex-direction: column;
  gap: 48px;
  min-inline-size: 0;
}

.r221-articlecomments-empty {
  color: var(--color-muted);
  font-size: 16px;
  line-height: 22px;
}

.r221-articlecomments-commentList {
  display: flex;
  flex-direction: column;
  gap: var(--space-32);
}

.r221-articlecomments-thread,
.r221-articlecomments-threadItem { display: flex; flex-direction: column; gap: var(--space-16); min-inline-size: 0; }
.r221-articlecomments-threadItem { margin-inline-start: calc(var(--reply-depth, 0) * 24px); }
.r221-articlecomments-threadItem:not([data-reply-depth="0"]) { border-inline-start: var(--border-thin) solid var(--color-border); padding-inline-start: var(--space-12); }

.r221-articlecomments-commentCard {
  display: flex;
  flex-direction: column;
  gap: var(--space-24);
  min-inline-size: 0;
  padding-block-start: var(--space-20);
  overflow: hidden;
  border: var(--border-thin) solid var(--color-border);
  border-radius: var(--article-comment-radius, 18px);
}

.r221-articlecomments-commentHeader {
  display: flex;
  align-items: center;
  gap: var(--space-12);
  padding-inline: var(--space-24);
}

.r221-articlecomments-avatar {
  display: flex;
  flex: none;
  align-items: center;
  justify-content: center;
  inline-size: 48px;
  block-size: 48px;
  border-radius: 50%;
  background: var(--color-white);
}

.r221-articlecomments-avatar img { inline-size: 48px; block-size: 48px; object-fit: contain; }

.r221-articlecomments-identity { display: flex; flex-direction: column; gap: var(--space-8); min-inline-size: 0; }
.r221-articlecomments-identity h3 { font-size: 16px; font-weight: 600; line-height: 16px; overflow-wrap: anywhere; }
.r221-articlecomments-identity p { color: var(--color-muted); font-size: 16px; font-weight: 400; line-height: 16px; }

.r221-articlecomments-commentBody { padding-inline: var(--space-24); }
.r221-articlecomments-commentText { color: var(--color-muted); font-size: 18px; font-weight: 400; line-height: 26px; white-space: pre-line; overflow-wrap: anywhere; }
.r221-articlecomments-replyContext { margin-block-end: var(--space-8); color: var(--color-muted); font-size: 14px; line-height: 20px; }

.r221-articlecomments-commentActions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-16);
  padding: var(--space-10) var(--space-24);
  background: var(--color-white);
}

.r221-articlecomments-primaryActions { display: flex; align-items: center; gap: var(--space-16); min-inline-size: 0; }
.r221-articlecomments-reactions { display: flex; align-items: center; gap: var(--space-4); }
.r221-articlecomments-replyButton { min-block-size: 36px; min-inline-size: 123px; padding-inline: var(--space-12); gap: var(--space-4); border: var(--border-thin) solid var(--color-border); border-radius: 104px; font-weight: 700; }
.r221-articlecomments-replyButton img { inline-size: 20px; block-size: 20px; object-fit: contain; transform: rotate(180deg); }
.r221-articlecomments-reportButton { min-block-size: 36px; opacity: .6; font-weight: 400; }
.r221-articlecomments-reportButton img { inline-size: 16px; block-size: 16px; object-fit: contain; }

.r221-articlecomments-form { display: flex; flex-direction: column; gap: var(--space-24); min-inline-size: 0; scroll-margin-block-start: calc(var(--sticky-header-offset, var(--header-compact-height)) + var(--space-16)); }
.r221-articlecomments-formHeading { display: flex; align-items: flex-start; min-block-size: 48px; border-block-end: var(--border-thin) solid var(--color-border); }
.r221-articlecomments-noticeGroup { display: flex; flex-direction: column; gap: var(--space-4); min-inline-size: 0; }
.r221-articlecomments-formNotice { display: flex; align-items: center; gap: var(--space-6); inline-size: fit-content; max-inline-size: 100%; border-radius: var(--article-notice-radius, 8px); padding: var(--space-8); background: var(--article-comment-notice, rgb(245 87 47 / 8%)); color: var(--color-category); font-size: 18px; font-weight: 500; line-height: 26px; }
.r221-articlecomments-signinIcon { display: inline-flex; flex: none; align-items: center; justify-content: center; inline-size: 16px; block-size: 16px; }
.r221-articlecomments-signinIcon img { inline-size: 12.0026px; block-size: 10.2758px; object-fit: contain; }
.r221-articlecomments-noticeAction { border: 0; padding: 0; background: transparent; color: inherit; font: inherit; cursor: pointer; text-decoration: none; transition: opacity var(--motion-color-duration) ease; }
.r221-articlecomments-noticeDetail { color: var(--color-muted); font-size: 14px; font-weight: 400; line-height: 20px; }
.r221-articlecomments-replyTarget { display: flex; align-items: center; justify-content: space-between; gap: var(--space-16); flex-wrap: wrap; font-size: 16px; line-height: 22px; }
.r221-articlecomments-replyTarget h2 { font-size: 20px; line-height: 26px; font-weight: 700; overflow-wrap: anywhere; }
.r221-articlecomments-cancelReply { min-block-size: 44px; color: var(--color-category); }
.r221-articlecomments-cancelReplyFooter { display: none; }
.r221-articlecomments-inlineComposer { gap: var(--space-16); padding: var(--space-24); border: var(--border-thin) solid var(--color-border); border-radius: var(--space-8); }
.r221-articlecomments-inlineComposer .r221-articlecomments-field { gap: var(--space-8); }
.r221-articlecomments-inlineComposer .r221-articlecomments-field label { min-block-size: auto; font-size: 16px; line-height: 22px; }
.r221-articlecomments-inlineComposer .r221-articlecomments-nameField { padding: var(--space-16); }
.r221-articlecomments-inlineComposer textarea { min-block-size: 112px; }
.r221-articlecomments-field { display: flex; flex-direction: column; gap: var(--space-16); min-inline-size: 0; }
.r221-articlecomments-field label { min-block-size: 28px; font-size: 20px; font-weight: 700; line-height: 24px; }
.r221-articlecomments-nameField { display: flex; align-items: center; gap: var(--space-8); padding: var(--space-24); border: var(--border-thin) solid var(--color-border); border-radius: 0; }
.r221-articlecomments-nameField img { flex: none; inline-size: 24px; block-size: 24px; object-fit: contain; }
.r221-articlecomments-nameField input { inline-size: 100%; min-inline-size: 0; border: 0; padding: 0; outline: none; background: transparent; color: var(--color-text); font-size: 18px; font-weight: 500; line-height: 18px; }
.r221-articlecomments-nameField:focus-within { outline: var(--focus-ring-width) solid var(--color-category); outline-offset: var(--space-4); }
.r221-articlecomments-nameField input::placeholder { color: var(--color-muted); opacity: 1; }
.r221-articlecomments-postButton { min-block-size: 56px; inline-size: max-content; padding: var(--space-16) var(--space-24); font-size: 18px; line-height: 24px; }
.r221-articlecomments-feedback { color: var(--color-muted); font-size: 16px; line-height: 22px; }
.r221-articlecomments-feedback:empty { display: none; }

@media (hover: hover) and (pointer: fine) {
  .r221-articlecomments-button:hover:not(:disabled):not(:active) { opacity: var(--opacity-secondary); }
  .r221-articlecomments-reportButton:hover:not(:active) { opacity: 1; }
  .r221-articlecomments-noticeAction:hover:not(:active) { opacity: var(--opacity-secondary); }
}

@media (max-width: 767px) {
  /* The document already reserves the shared sticky header through scroll-padding. */
  .r221-articlecomments-section,
  .r221-articlecomments-form { scroll-margin-block-start: var(--space-16); }
  .r221-articlecomments-section { gap: var(--space-32); }
  .r221-articlecomments-sectionHeading { flex-direction: column; align-items: stretch; gap: var(--space-16); padding-block-end: 0; border-block-end: 0; }
  .r221-articlecomments-sectionHeading h2,
  .r221-articlecomments-formHeading h2,
  .r221-articlecomments-replyTarget h2 { font-size: var(--article-mobile-comment-title-size); line-height: var(--article-mobile-comment-title-line); }
  .r221-articlecomments-discussionButton { inline-size: 100%; }
  .r221-articlecomments-content { gap: var(--space-32); }
  .r221-articlecomments-commentList { gap: var(--space-32); }
  .r221-articlecomments-thread { gap: var(--space-12); }
  .r221-articlecomments-threadItem { margin-inline-start: calc(var(--reply-depth, 0) * 8px); }
  .r221-articlecomments-threadItem:not([data-reply-depth="0"]) { padding-inline-start: var(--space-8); }
  .r221-articlecomments-commentCard { gap: var(--space-20); padding-block-start: var(--space-16); }
  .r221-articlecomments-commentHeader,
  .r221-articlecomments-commentBody { padding-inline: var(--space-16); }
  .r221-articlecomments-identity { gap: var(--space-4); }
  .r221-articlecomments-identity h3 { font-size: 16px; line-height: 20px; }
  .r221-articlecomments-identity p { font-size: 14px; line-height: 20px; }
  .r221-articlecomments-commentText { font-size: var(--article-mobile-comment-text-size); line-height: var(--article-mobile-comment-text-line); }
  .r221-articlecomments-commentActions { display: grid; grid-template-columns: minmax(0, 1fr) auto; padding: var(--space-8) var(--space-16); gap: var(--space-8); }
  .r221-articlecomments-primaryActions { display: contents; }
  .r221-articlecomments-reactions { grid-column: 1 / -1; }
  .r221-articlecomments-replyButton { justify-self: start; }
  .r221-articlecomments-reportButton { justify-self: end; }
  .r221-articlecomments-replyButton,
  .r221-articlecomments-reportButton { min-block-size: 44px; }
  .r221-articlecomments-formHeading { min-block-size: 0; padding-block-end: var(--space-16); }
  .r221-articlecomments-formNotice { inline-size: 100%; font-size: 16px; line-height: 22px; }
  .r221-articlecomments-noticeAction { min-block-size: 0; }
  .r221-articlecomments-field,
  .r221-articlecomments-inlineComposer .r221-articlecomments-field { gap: var(--space-12); }
  .r221-articlecomments-field label,
  .r221-articlecomments-inlineComposer .r221-articlecomments-field label { min-block-size: 0; font-size: var(--article-mobile-comment-text-size); line-height: var(--type-body-line); }
  .r221-articlecomments-nameField,
  .r221-articlecomments-inlineComposer .r221-articlecomments-nameField { min-block-size: 52px; padding: var(--space-12); }
  .r221-articlecomments-nameField input { font-size: var(--article-mobile-comment-text-size); line-height: var(--article-mobile-comment-text-line); }
  .r221-articlecomments-nameField img { inline-size: 20px; block-size: 20px; }
  .r221-articlecomments-postButton { inline-size: 100%; }
  .r221-articlecomments-inlineComposer { gap: var(--space-24); padding: 0; border: 0; border-radius: 0; }
  .r221-articlecomments-inlineComposer textarea { min-block-size: 148px; }
  .r221-articlecomments-replyTarget { align-items: flex-start; border-block-end: var(--border-thin) solid var(--color-border); }
  .r221-articlecomments-cancelReplyHeading { display: none; }
  .r221-articlecomments-cancelReplyFooter { display: inline-flex; inline-size: 100%; padding: var(--space-8) var(--space-12); border: var(--border-thin) solid var(--color-border); border-radius: 104px; color: var(--color-text); font-weight: 700; }
}

@media (prefers-reduced-motion: reduce) {
  .r221-articlecomments-button,
  .r221-articlecomments-noticeAction { transition: none; }
}


/* ArticlePage */
.r221-articlepage-main { inline-size: calc(100% - 2 * var(--layout-desktop-gutter)); max-inline-size: var(--article-header-width); margin-inline: auto; padding-block: var(--space-80); }
.r221-articlepage-article { display: flex; flex-direction: column; gap: var(--space-32); min-inline-size: 0; }
.r221-articlepage-header { display: flex; flex-direction: column; gap: var(--space-20); inline-size: 100%; }
.r221-articlepage-heading { display: flex; flex-direction: column; gap: var(--space-20); }
.r221-articlepage-category { display: flex; align-items: center; gap: var(--space-4); block-size: var(--space-16); color: var(--color-category); font-family: var(--font-category); font-size: var(--article-category-size); font-weight: var(--type-category-weight); line-height: 1; letter-spacing: 1px; text-transform: uppercase; }
.r221-articlepage-category::before { content: ""; inline-size: var(--indicator-size); block-size: var(--indicator-size); background: var(--color-accent); flex: none; }
.r221-articlepage-category span { text-box-trim: trim-both; text-box-edge: cap alphabetic; }
.r221-articlepage-header h1 { font-family: var(--font-body); font-weight: var(--article-title-weight); font-size: var(--article-title-size); line-height: var(--article-title-line); letter-spacing: var(--article-title-tracking); overflow-wrap: break-word; }
.r221-articlepage-excerpt { font-size: var(--article-excerpt-size); line-height: var(--article-excerpt-line); font-weight: 400; color: var(--color-muted); }
.r221-articlepage-authorInfo { display: flex; flex-direction: column; gap: var(--space-4); }
.r221-articlepage-author { font-size: var(--type-footer-body-size); line-height: var(--type-footer-body-line); font-weight: 700; }
.r221-articlepage-authorLabel { display: none; }
.r221-articlepage-publication { font-size: var(--article-caption-size); line-height: var(--article-caption-line); color: var(--color-muted); }
.r221-articlepage-content { display: flex; flex-direction: column; gap: var(--space-32); inline-size: 100%; max-inline-size: var(--article-hero-width); min-inline-size: 0; }
.r221-articlepage-hero { display: flex; flex-direction: column; gap: var(--article-caption-gap); margin: 0; inline-size: 100%; }
.r221-articlepage-heroImage { inline-size: 100%; block-size: auto; aspect-ratio: 932 / 582; object-fit: cover; }
.r221-articlepage-caption { display: flex; align-items: baseline; gap: var(--space-6); color: var(--color-muted); font-size: var(--article-caption-size); line-height: var(--article-caption-line); overflow-wrap: anywhere; }
.r221-articlepage-caption img { flex: none; align-self: flex-start; margin-block-start: 7.5px; }
.r221-articlepage-body { display: flex; flex-direction: column; gap: var(--space-24); inline-size: calc(100% - 2 * var(--article-reading-inset)); max-inline-size: var(--article-reading-width); margin-inline: auto; min-inline-size: 0; }
.r221-articlepage-richText { display: flex; flex-direction: column; gap: var(--space-20); padding-block-start: var(--space-8); font-size: var(--article-body-size); line-height: var(--article-body-line); overflow-wrap: break-word; }
.r221-articlepage-richText h2 { padding-block-start: var(--space-20); font-size: var(--article-subheading-size); line-height: var(--article-subheading-line); font-weight: 700; }
.r221-articlepage-inlineFigure { display: flex; flex-direction: column; gap: var(--article-caption-gap); margin: 0; inline-size: 100%; }
.r221-articlepage-inlineFigure > img { inline-size: 100%; block-size: auto; object-fit: contain; }
.r221-articlepage-mediaLink { font-weight: 700; }
.r221-articlepage-mediaLink a { text-decoration: none; transition: color var(--motion-color-duration) ease; }
.r221-articlepage-related { display: flex; align-items: flex-start; gap: var(--space-16); margin-block-start: var(--space-12); padding-block: var(--space-16); border-block: var(--border-thin) solid var(--color-border); }
.r221-articlepage-related h2 { flex: none; margin: 0; padding: 0; font-family: var(--font-display); font-weight: 900; font-size: var(--article-related-size); line-height: var(--article-related-line); text-transform: uppercase; color: var(--color-category); }
.r221-articlepage-related ul { display: flex; flex-direction: column; gap: var(--space-12); list-style: none; margin: 0; padding: 0; min-inline-size: 0; }
.r221-articlepage-related a { display: block; font-size: var(--article-related-size); line-height: var(--article-related-line); font-weight: 700; text-decoration: none; transition: color var(--motion-color-duration) ease, opacity var(--motion-press-duration) ease; }
.r221-articlepage-related a:active { opacity: var(--opacity-article-feedback); }
.r221-articlepage-comments { inline-size: 100%; max-inline-size: var(--layout-content-width); margin-inline: auto; padding-block-start: var(--space-80); }
.r221-articlepage-skipLink { position: fixed; inset-block-start: var(--space-8); inset-inline-start: var(--space-8); z-index: 1000; padding: var(--space-12); border: 0; cursor: pointer; color: inherit; background: var(--color-accent); transform: translateY(-200%); }
.r221-articlepage-skipLink:focus { transform: translateY(0); }
@media (hover: hover) and (pointer: fine) { .r221-articlepage-related a:hover, .r221-articlepage-mediaLink a:hover { color: var(--color-category); } }
@media (max-width: 1099px) {
  .r221-articlepage-body { inline-size: calc(100% - 2 * var(--space-32)); }
  .r221-articlepage-header h1 { font-size: clamp(var(--article-mobile-title-size), calc(32px + (100vw - 767px) * 0.05), 48px); line-height: clamp(var(--article-mobile-title-line), calc(36px + (100vw - 767px) * 0.043), 50px); }
  .r221-articlepage-main { padding-block-start: clamp(var(--article-mobile-top-gap), calc(24px + (100vw - 767px) * 0.1), var(--space-56)); }
}
@media (max-width: 767px) {
  .r221-articlepage-main { inline-size: calc(100% - 2 * var(--layout-mobile-gutter)); padding-block: var(--article-mobile-top-gap) var(--space-48); }
  .r221-articlepage-article { gap: var(--space-32); }
  .r221-articlepage-header { gap: var(--space-24); }
  .r221-articlepage-authorLabel { display: inline; }
  .r221-articlepage-category { block-size: auto; gap: var(--space-6); font-size: var(--type-nav-size); line-height: var(--type-body-line); }
  .r221-articlepage-header h1 { font-size: var(--article-mobile-title-size); line-height: var(--article-mobile-title-line); letter-spacing: 0; }
  .r221-articlepage-excerpt { font-size: var(--article-mobile-excerpt-size); line-height: var(--article-mobile-excerpt-line); }
  .r221-articlepage-content { gap: var(--space-24); }
  .r221-articlepage-body { inline-size: 100%; }
  .r221-articlepage-richText { gap: var(--space-24); font-size: var(--article-mobile-body-size); line-height: var(--article-mobile-body-line); color: var(--color-muted); }
  .r221-articlepage-richText h2 { font-size: 22px; line-height: 28px; }
  .r221-articlepage-related { flex-direction: column; gap: var(--space-16); padding-block: var(--space-24); border-block-width: var(--space-2); }
  .r221-articlepage-related ul { gap: var(--space-20); }
  .r221-articlepage-related a { color: var(--color-text); }
  .r221-articlepage-comments { padding-block-start: var(--space-48); }
}
@media (prefers-reduced-motion: reduce) { .r221-articlepage-related a, .r221-articlepage-mediaLink a { transition: none; } }


/* ArticleToolbar */
.r221-articletoolbar-toolbar { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--space-24); inline-size: 100%; }
.r221-articletoolbar-actions { display: flex; gap: var(--space-12); flex: none; }
.r221-articletoolbar-action { display: flex; align-items: center; justify-content: center; inline-size: var(--space-40); block-size: var(--space-28); padding: 0 var(--space-12); border: var(--border-thin) solid var(--color-border); border-radius: var(--article-control-radius); background: transparent; color: var(--color-text); cursor: pointer; text-decoration: none; transition: background-color var(--motion-color-duration) ease, opacity var(--motion-press-duration) ease; }
.r221-articletoolbar-action img { flex: none; }
.r221-articletoolbar-action:active { opacity: var(--opacity-article-feedback); background: var(--color-accent); }
.r221-articletoolbar-feedback { max-inline-size: 292.9px; min-inline-size: 0; font-size: var(--article-caption-size); line-height: var(--article-caption-line); color: var(--color-muted); }
.r221-articletoolbar-feedback input { inline-size: 100%; max-inline-size: 100%; min-inline-size: 0; padding: var(--space-8); border: var(--border-thin) solid var(--color-border); border-radius: var(--radius-control); color: var(--color-text); background: var(--color-white); }
@media (hover: hover) and (pointer: fine) { .r221-articletoolbar-action:hover { background: var(--color-accent); } }
@media (max-width: 767px), (pointer: coarse) {
  .r221-articletoolbar-action { inline-size: var(--mobile-touch-size); block-size: var(--mobile-touch-size); }
  .r221-articletoolbar-toolbar { gap: var(--space-16); align-items: center; }
}
@media (prefers-reduced-motion: reduce) { .r221-articletoolbar-action { transition: none; } }


/* Button */
.r221-button-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-8);
  inline-size: fit-content;
  max-inline-size: 100%;
  border: 0;
  font-family: var(--font-body);
  font-size: var(--type-cta-size);
  font-weight: var(--type-cta-weight);
  line-height: var(--type-cta-line);
  letter-spacing: var(--type-cta-tracking);
  cursor: pointer;
  transition: color var(--motion-color-duration) ease, opacity var(--motion-color-duration) ease;
}

@media (hover: hover) and (pointer: fine) {
  .r221-button-button:not(:disabled):not([aria-disabled="true"]):hover { opacity: var(--opacity-secondary); }
  .r221-button-text:not(:disabled):not([aria-disabled="true"]):hover { color: var(--color-category); }
}
@media (prefers-reduced-motion: reduce) { .r221-button-button { transition: none; } }

.r221-button-accent {
  block-size: var(--space-32);
  padding: var(--space-8);
  border-radius: var(--radius-control);
  color: var(--color-text);
  background: var(--color-accent);
}

.r221-button-text {
  padding: 0;
  border-block-end: var(--border-width) solid currentColor;
  color: var(--color-text);
  background: transparent;
  font-size: var(--type-action-size);
  font-weight: var(--type-action-weight);
  line-height: var(--type-action-line);
  letter-spacing: var(--type-action-tracking);
}

.r221-button-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: none;
}

.r221-button-button.r221-button-icon {
  padding: var(--space-8);
  border-radius: var(--radius-control);
  color: inherit;
  background: transparent;
}

.r221-button-trailingIcon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: none;
  inline-size: var(--action-icon-size);
  block-size: var(--action-icon-size);
}

.r221-button-button:focus-visible {
  outline: var(--focus-ring-width) solid var(--color-accent);
  outline-offset: var(--space-4);
}

.r221-button-accent:focus-visible {
  outline-color: var(--color-text);
}

.r221-button-button:disabled, .r221-button-button[aria-disabled="true"] {
  cursor: pointer;
}


/* CommentEditor */
.r221-commenteditor-editor {
  display: flex;
  flex-direction: column;
  gap: var(--space-24);
  min-inline-size: 0;
}

.r221-commenteditor-textarea {
  display: block;
  inline-size: 100%;
  min-block-size: 148px;
  padding: var(--space-24);
  border: var(--border-thin) solid var(--color-border);
  border-radius: 0;
  background: transparent;
  color: var(--color-text);
  font-family: var(--font-body);
  font-size: 18px;
  font-weight: 500;
  line-height: 26px;
  resize: vertical;
}

.r221-commenteditor-textarea::placeholder { color: var(--color-muted); opacity: 1; }
.r221-commenteditor-textarea:focus-visible { outline: var(--focus-ring-width) solid var(--color-category); outline-offset: var(--space-4); }

.r221-commenteditor-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-16);
  min-inline-size: 0;
}

.r221-commenteditor-quickEmojis {
  display: flex;
  align-items: center;
  gap: var(--space-16);
  min-inline-size: 0;
  padding-block: var(--space-4);
  overflow-x: auto;
  overscroll-behavior-inline: contain;
}

.r221-commenteditor-emojiButton {
  display: inline-flex;
  flex: none;
  align-items: center;
  justify-content: center;
  min-inline-size: 24px;
  min-block-size: 24px;
  border: 0;
  padding: 0;
  border-radius: var(--radius-control);
  background: transparent;
  color: var(--color-text);
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
  touch-action: manipulation;
  transition: opacity var(--motion-color-duration) ease;
}

.r221-commenteditor-emojiButton img { inline-size: 24px; block-size: 24px; object-fit: contain; }
.r221-commenteditor-actions { display: flex; flex: none; align-items: center; gap: var(--space-12); max-inline-size: 100%; }

.r221-commenteditor-picker {
  position: fixed;
  z-index: 1000;
  display: flex;
  flex-direction: column;
  gap: var(--space-8);
  inline-size: min(320px, calc(100vw - 24px));
  max-block-size: 360px;
  padding: var(--space-12);
  border: var(--border-thin) solid var(--color-border);
  border-radius: var(--article-comment-radius, 18px);
  background: var(--color-white);
  color: var(--color-text);
  font-family: var(--font-body);
  box-shadow: 0 8px 24px rgb(16 33 59 / 12%);
  overflow: hidden;
}

.r221-commenteditor-pickerHeading { display: flex; flex: none; align-items: center; justify-content: space-between; min-block-size: 32px; padding-inline-start: var(--space-4); font-size: 16px; line-height: 22px; }
.r221-commenteditor-closePicker { display: inline-flex; flex: none; align-items: center; justify-content: center; min-inline-size: 44px; min-block-size: 44px; margin-block: -6px; border: 0; border-radius: var(--radius-control); background: transparent; color: inherit; font: inherit; font-size: 26px; cursor: pointer; }
.r221-commenteditor-search { flex: none; inline-size: 100%; min-block-size: 44px; min-inline-size: 0; padding: var(--space-8) var(--space-12); border: var(--border-thin) solid var(--color-border); border-radius: var(--radius-control); background: var(--color-page-surface); color: var(--color-text); font-size: 16px; line-height: 22px; }
.r221-commenteditor-search::placeholder { color: var(--color-muted); }
.r221-commenteditor-categories { display: flex; flex: none; gap: var(--space-4); }
.r221-commenteditor-category { display: inline-flex; flex: 1; flex-direction: column; align-items: center; justify-content: center; gap: 2px; min-block-size: 48px; min-inline-size: 0; padding: var(--space-4); border: 0; border-radius: var(--radius-control); background: transparent; color: inherit; font: inherit; font-size: 12px; line-height: 16px; cursor: pointer; }
.r221-commenteditor-category span { font-size: 20px; line-height: 24px; }
.r221-commenteditor-category[aria-pressed="true"] { background: var(--color-accent); }
.r221-commenteditor-emojiGrid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); align-content: start; gap: var(--space-4); min-block-size: 0; overflow-y: auto; overscroll-behavior: contain; }
.r221-commenteditor-pickerEmoji { display: inline-flex; align-items: center; justify-content: center; min-inline-size: 0; min-block-size: 44px; border: 0; border-radius: var(--radius-control); padding: 0; background: transparent; color: inherit; font-size: 24px; line-height: 1; cursor: pointer; touch-action: manipulation; }
.r221-commenteditor-noResults { grid-column: 1 / -1; padding: var(--space-8); font-size: 14px; line-height: 20px; color: var(--color-muted); }

.r221-commenteditor-emojiButton:active,
.r221-commenteditor-closePicker:active,
.r221-commenteditor-pickerEmoji:active { opacity: var(--opacity-article-feedback); }
.r221-commenteditor-category:active { background: var(--color-accent); }

@media (hover: hover) and (pointer: fine) {
  .r221-commenteditor-emojiButton:hover:not(:active) { opacity: var(--opacity-secondary); }
  .r221-commenteditor-closePicker:hover,
  .r221-commenteditor-pickerEmoji:hover { background: var(--color-page-surface); }
  .r221-commenteditor-category:hover { background: var(--color-accent); }
}

@media (max-width: 767px) {
  .r221-commenteditor-textarea { padding: var(--space-16); font-size: var(--article-mobile-comment-text-size); line-height: var(--article-mobile-comment-text-line); }
  .r221-commenteditor-toolbar { flex-direction: column; align-items: stretch; gap: var(--space-16); }
  .r221-commenteditor-quickEmojis { inline-size: 100%; gap: 0; padding-block: 0; scrollbar-width: none; }
  .r221-commenteditor-emojiButton { min-inline-size: 44px; min-block-size: 44px; }
  .r221-commenteditor-actions { inline-size: 100%; flex-direction: column; align-items: stretch; gap: var(--space-12); }
}

@media (pointer: coarse) {
  .r221-commenteditor-emojiButton { min-inline-size: 44px; min-block-size: 44px; }
}

@media (prefers-reduced-motion: reduce) {
  .r221-commenteditor-emojiButton { transition: none; }
}


/* CommentReactions */
.r221-commentreactions-reactions { display: flex; align-items: center; gap: var(--space-4); min-inline-size: 0; }
.r221-commentreactions-likeButton,
.r221-commentreactions-summary { display: inline-flex; flex: none; align-items: center; justify-content: center; gap: var(--space-8); min-block-size: 36px; border: 0; border-radius: 104px; color: var(--color-text); font-family: var(--font-body); font-size: 16px; font-weight: 700; line-height: 16px; cursor: pointer; text-decoration: none; touch-action: pan-y; transition: background-color var(--motion-color-duration) ease, color var(--motion-color-duration) ease; }
.r221-commentreactions-likeButton { min-inline-size: 105px; padding-inline: var(--space-16); background: transparent; }
.r221-commentreactions-likeButton[aria-pressed="true"] { background: var(--color-accent); }
.r221-commentreactions-buttonEmoji { font-size: 16px; line-height: 1; }
.r221-commentreactions-summary { min-inline-size: 104px; padding-inline: var(--space-12); gap: var(--space-4); background: var(--color-page-surface); }
.r221-commentreactions-summaryEmojis { display: inline-flex; align-items: center; gap: var(--space-4); white-space: nowrap; font-size: 16px; line-height: 1; }
.r221-commentreactions-summaryEmojis:empty { display: none; }
.r221-commentreactions-likeButton:disabled,
.r221-commentreactions-summary:disabled { cursor: not-allowed; opacity: .45; }
.r221-commentreactions-likeButton:active:not(:disabled),
.r221-commentreactions-summary:active:not(:disabled) { opacity: var(--opacity-article-feedback); }
.r221-commentreactions-likeButton:focus-visible,
.r221-commentreactions-summary:focus-visible,
.r221-commentreactions-reactionChoice:focus-visible { outline: var(--focus-ring-width) solid var(--color-category); outline-offset: var(--space-4); }

.r221-commentreactions-popup { position: fixed; z-index: 1100; box-sizing: border-box; color: var(--color-text); background: var(--color-white); border: var(--border-thin) solid var(--color-border); box-shadow: 0 10px 30px rgb(0 19 49 / 18%); font-family: var(--font-body); font-size: 16px; line-height: 22px; }
.r221-commentreactions-palette { display: flex; justify-content: space-between; align-items: center; min-block-size: 60px; padding: 8px 12px; border-radius: 104px; }
.r221-commentreactions-reactionChoice { display: inline-flex; align-items: center; justify-content: center; flex: 1 1 0; min-inline-size: 0; min-block-size: 44px; border: 0; border-radius: 50%; padding: 0; color: inherit; background: transparent; font: inherit; font-size: 30px; line-height: 1; cursor: pointer; touch-action: manipulation; }
.r221-commentreactions-reactionChoice span { display: block; transform-origin: center bottom; transition: transform 180ms cubic-bezier(.2,.8,.2,1); }
.r221-commentreactions-reactionChoice:focus-visible span { transform: translateY(-6px) scale(1.2); }
.r221-commentreactions-reactionChoice[aria-checked="true"] { background: rgb(255 212 53 / 18%); }
.r221-commentreactions-breakdown { display: flex; flex-direction: column; gap: var(--space-4); border-radius: 18px; padding: var(--space-12) var(--space-16); overflow: auto; }
.r221-commentreactions-breakdownRow { display: grid; grid-template-columns: 28px minmax(0, 1fr) auto; align-items: center; gap: var(--space-12); min-block-size: 44px; }
.r221-commentreactions-rowEmoji { font-size: 24px; line-height: 1; }
.r221-commentreactions-breakdownRow strong { font-weight: 700; }
.r221-commentreactions-empty { padding-block: var(--space-8); color: var(--color-muted); font-size: 14px; line-height: 20px; }

@media (hover: hover) and (pointer: fine) {
  .r221-commentreactions-likeButton:hover:not(:disabled):not([aria-pressed="true"]) { background: var(--color-page-surface); }
  .r221-commentreactions-reactionChoice:hover span { transform: translateY(-6px) scale(1.2); }
}
@media (max-width: 767px) {
  .r221-commentreactions-reactions { grid-column: 1 / -1; }
  .r221-commentreactions-likeButton,
  .r221-commentreactions-summary { min-block-size: 44px; }
  .r221-commentreactions-palette { padding-inline: var(--space-8); }
}
@media (prefers-reduced-motion: reduce) {
  .r221-commentreactions-likeButton,
  .r221-commentreactions-summary,
  .r221-commentreactions-reactionChoice span { transition: none; }
}


/* ContactBubble */
.r221-contactbubble-root {
  --bubble-button-size: var(--contact-bubble-button-size);
  position: fixed;
  z-index: calc(var(--header-compact-z-index) - 1);
  inset-inline-end: calc(var(--space-32) + env(safe-area-inset-right, 0px));
  inset-block-end: calc(var(--space-32) + env(safe-area-inset-bottom, 0px));
  display: flex;
  align-items: center;
  inline-size: calc(var(--bubble-button-size) * 2 + var(--space-24));
  block-size: calc(var(--bubble-button-size) + var(--space-24));
  padding: var(--space-8);
  border-radius: var(--contact-bubble-radius);
  background: var(--color-white);
  box-shadow: var(--contact-bubble-shadow);
  transition:
    inline-size var(--motion-contact-bubble-duration) var(--motion-mobile-menu-easing),
    block-size var(--motion-contact-bubble-duration) var(--motion-mobile-menu-easing),
    padding var(--motion-contact-bubble-duration) var(--motion-mobile-menu-easing),
    background-color var(--motion-contact-bubble-duration) var(--motion-mobile-menu-easing),
    box-shadow var(--motion-contact-bubble-duration) var(--motion-mobile-menu-easing);
}

.r221-contactbubble-message,
.r221-contactbubble-reduce {
  display: flex;
  flex: none;
  align-items: center;
  justify-content: center;
  inline-size: var(--bubble-button-size);
  block-size: var(--bubble-button-size);
  padding: 0;
  border: var(--border-thin) solid var(--color-border);
  border-radius: 50%;
  background: transparent;
  cursor: pointer;
  text-decoration: none;
  transition: opacity var(--motion-press-duration) ease, background-color var(--motion-color-duration) ease;
}

.r221-contactbubble-message { border-color: var(--color-category); background: var(--color-category); }
.r221-contactbubble-message > img,
.r221-contactbubble-reduce > img { flex: none; inline-size: 18px; block-size: 18px; }
.r221-contactbubble-message:active,
.r221-contactbubble-reduce:active { opacity: var(--opacity-article-feedback); }
.r221-contactbubble-message:focus-visible,
.r221-contactbubble-reduce:focus-visible { outline: 2px solid var(--color-text); outline-offset: 3px; }
.r221-contactbubble-reduce:focus-visible { outline-offset: -3px; }

.r221-contactbubble-panel {
  display: flex;
  flex: none;
  align-items: center;
  justify-content: center;
  inline-size: calc(var(--bubble-button-size) + var(--space-8));
  block-size: calc(var(--bubble-button-size) + var(--space-8));
  overflow: hidden;
  visibility: visible;
  opacity: 1;
  transform: translateX(0);
  transition:
    inline-size var(--motion-contact-bubble-duration) var(--motion-mobile-menu-easing),
    block-size var(--motion-contact-bubble-duration) var(--motion-mobile-menu-easing),
    transform var(--motion-contact-bubble-duration) var(--motion-mobile-menu-easing),
    opacity var(--motion-contact-bubble-duration) var(--motion-mobile-menu-easing),
    visibility 0s;
}

.r221-contactbubble-root[data-collapsed="true"],
html[data-contact-bubble-collapsed="true"] .r221-contactbubble-root {
  inline-size: var(--bubble-button-size);
  block-size: var(--bubble-button-size);
  padding: 0;
  background-color: transparent;
  box-shadow: 0 2px 24px 1px rgb(0 0 0 / 0%);
}
.r221-contactbubble-root[data-collapsed="true"] .r221-contactbubble-panel,
html[data-contact-bubble-collapsed="true"] .r221-contactbubble-root .r221-contactbubble-panel {
  inline-size: 0;
  block-size: var(--bubble-button-size);
  visibility: hidden;
  opacity: 0;
  transform: translateX(var(--space-8));
  pointer-events: none;
  transition-delay: 0s, 0s, 0s, 0s, var(--motion-contact-bubble-duration);
}

@media (hover: hover) and (pointer: fine) {
  .r221-contactbubble-message:hover:not(:active) { opacity: 0.9; }
  .r221-contactbubble-reduce:hover:not(:active) { background-color: var(--color-surface-subtle); }
}

@media (max-width: 767px) {
  .r221-contactbubble-root {
    --bubble-button-size: var(--mobile-touch-size);
    inset-inline-end: calc(var(--space-16) + env(safe-area-inset-right, 0px));
    inset-block-end: calc(var(--space-16) + env(safe-area-inset-bottom, 0px));
  }
  body:has([data-mobile-menu][open]) .r221-contactbubble-root { visibility: hidden; }
}

@media (prefers-reduced-motion: reduce) {
  .r221-contactbubble-root,
  .r221-contactbubble-panel,
  .r221-contactbubble-message,
  .r221-contactbubble-reduce { transition: none; }
}


/* ContactForm */
.r221-contactform-form {
  display: flex;
  flex-direction: column;
  gap: var(--space-24);
  inline-size: 100%;
}

.r221-contactform-field {
  display: flex;
  flex-direction: column;
  gap: var(--space-16);
  min-inline-size: 0;
}

.r221-contactform-label {
  display: flex;
  align-items: center;
  min-block-size: var(--space-28);
  color: var(--color-text);
  font-size: var(--contact-label-size);
  font-weight: var(--type-footer-title-weight);
  line-height: var(--contact-label-line);
}

.r221-contactform-required { color: var(--color-category); }

.r221-contactform-inputShell {
  display: flex;
  align-items: center;
  gap: var(--space-8);
  min-block-size: var(--contact-input-height);
  padding: var(--space-24);
  border: var(--border-width) solid var(--color-border);
  transition: border-color var(--motion-color-duration) ease;
}

.r221-contactform-icon {
  flex: none;
  inline-size: var(--space-24);
  block-size: var(--space-24);
}

.r221-contactform-control {
  flex: 1;
  inline-size: 100%;
  min-inline-size: 0;
  block-size: var(--space-24);
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  color: var(--color-muted);
  background: transparent;
  font-family: var(--font-body);
  font-size: var(--contact-input-size);
  font-weight: var(--contact-input-weight);
  line-height: var(--contact-input-line);
}

.r221-contactform-control::placeholder { color: var(--color-muted); opacity: 1; }
.r221-contactform-inputShell .r221-contactform-control:focus { outline: none; }
.r221-contactform-inputShell:focus-within { border-color: var(--color-muted); }
.r221-contactform-inputShell:has(.r221-contactform-control:focus-visible) {
  outline: var(--focus-ring-width) solid var(--color-category);
  outline-offset: var(--space-4);
}

.r221-contactform-message {
  flex: none;
  block-size: var(--contact-textarea-height);
  min-block-size: var(--contact-textarea-height);
  padding: var(--space-24);
  border: var(--border-width) solid var(--color-border);
  line-height: var(--contact-message-line);
  resize: vertical;
  transition: border-color var(--motion-color-duration) ease;
}

.r221-contactform-message:focus { border-color: var(--color-muted); }
.r221-contactform-message:focus-visible {
  outline: var(--focus-ring-width) solid var(--color-category);
  outline-offset: var(--space-4);
}
.r221-contactform-invalid,
.r221-contactform-invalid:focus-within { border-color: var(--color-danger); }
.r221-contactform-control:disabled { opacity: var(--contact-disabled-opacity); }

.r221-contactform-actions { display: flex; align-items: center; }
.r221-contactform-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-block-size: var(--space-56);
  padding: var(--space-8) var(--space-24);
  border: 0;
  border-radius: var(--radius-control);
  color: var(--color-text);
  background: var(--color-accent);
  font-family: var(--font-body);
  font-size: var(--contact-input-size);
  font-weight: var(--type-footer-title-weight);
  line-height: var(--contact-input-line);
  cursor: pointer;
  transition: opacity var(--motion-color-duration) ease;
}

.r221-contactform-submit:focus-visible {
  outline: var(--focus-ring-width) solid var(--color-text);
  outline-offset: var(--space-4);
}
.r221-contactform-submit:not(:disabled):active {
  opacity: var(--opacity-article-feedback);
  transition-duration: var(--motion-press-duration);
}
.r221-contactform-submit:disabled { opacity: var(--contact-disabled-opacity); cursor: wait; }

.r221-contactform-error,
.r221-contactform-notice {
  font-size: var(--type-body-size);
  line-height: var(--type-body-line);
  overflow-wrap: anywhere;
}
.r221-contactform-error { color: var(--color-danger); }
.r221-contactform-notice { color: var(--color-muted); }

@media (max-width: 767px) {
  .r221-contactform-form { gap: var(--space-32); }
  .r221-contactform-field { gap: var(--space-12); }
  .r221-contactform-label {
    gap: var(--space-4);
    min-block-size: var(--contact-mobile-label-line);
    font-size: var(--contact-mobile-label-size);
    line-height: var(--contact-mobile-label-line);
  }
  .r221-contactform-inputShell {
    min-block-size: var(--contact-mobile-input-height);
    padding: var(--space-12);
  }
  .r221-contactform-icon { inline-size: var(--space-20); block-size: var(--space-20); }
  .r221-contactform-control { font-size: var(--contact-mobile-input-size); line-height: var(--contact-mobile-input-line); }
  .r221-contactform-message {
    field-sizing: content;
    block-size: auto;
    min-block-size: var(--contact-mobile-textarea-height);
    padding: var(--space-12);
    line-height: var(--contact-mobile-input-line);
  }
  .r221-contactform-actions,
  .r221-contactform-submit { inline-size: 100%; }
  .r221-contactform-submit { font-size: var(--contact-mobile-input-size); line-height: var(--contact-mobile-input-line); }
}

@media (hover: hover) and (pointer: fine) {
  .r221-contactform-inputShell:not(:has(.r221-contactform-control:disabled)):hover,
  .r221-contactform-message:not(:disabled):hover { border-color: var(--color-muted); }
  .r221-contactform-inputShell.r221-contactform-invalid:hover,
  .r221-contactform-message.r221-contactform-invalid:hover { border-color: var(--color-danger); }
  .r221-contactform-submit:not(:disabled):hover { opacity: var(--opacity-secondary); }
}

@media (prefers-reduced-motion: reduce) {
  .r221-contactform-inputShell,
  .r221-contactform-message,
  .r221-contactform-submit { transition: none; }
}


/* ContactPage */
.r221-contactpage-main {
  inline-size: min(var(--layout-content-width), calc(100% - 2 * var(--layout-desktop-gutter)));
  margin-inline: auto;
  padding-block: var(--space-80) var(--contact-footer-gap);
}

.r221-contactpage-column {
  display: flex;
  flex-direction: column;
  gap: var(--space-56);
  inline-size: min(100%, var(--contact-column-width));
}

.r221-contactpage-heading {
  display: flex;
  flex-direction: column;
  gap: var(--space-20);
}

.r221-contactpage-heading h1 {
  color: var(--color-text);
  font-family: var(--font-display);
  font-size: var(--contact-title-size);
  font-weight: var(--contact-title-weight);
  line-height: var(--contact-title-line);
  letter-spacing: var(--contact-title-tracking);
}

.r221-contactpage-heading p {
  color: var(--color-muted);
  font-size: var(--contact-intro-size);
  font-weight: var(--type-body-weight);
  line-height: var(--contact-intro-line);
}

.r221-contactpage-skipLink {
  position: fixed;
  inset-block-start: var(--space-8);
  inset-inline-start: var(--space-8);
  z-index: calc(var(--header-compact-z-index) + 1);
  padding: var(--space-12) var(--space-16);
  border: 0;
  border-radius: var(--radius-control);
  color: var(--color-text);
  background: var(--color-accent);
  cursor: pointer;
  transform: translateY(calc(-100% - var(--space-16)));
}

.r221-contactpage-skipLink:focus-visible { transform: none; }

@media (min-width: 768px) and (max-width: 1023px) {
  .r221-contactpage-main { padding-block: var(--space-48); }
  .r221-contactpage-column { gap: var(--space-40); }
}

@media (max-width: 767px) {
  .r221-contactpage-main {
    inline-size: calc(100% - 2 * var(--layout-mobile-gutter));
    padding-block: var(--space-32) var(--space-48);
  }
  .r221-contactpage-column { inline-size: 100%; gap: var(--space-40); }
  .r221-contactpage-heading { gap: var(--space-24); }
  .r221-contactpage-heading h1 {
    font-size: var(--contact-mobile-title-size);
    line-height: var(--contact-mobile-title-line);
    letter-spacing: var(--contact-mobile-title-tracking);
  }
  .r221-contactpage-heading p {
    font-size: var(--contact-mobile-intro-size);
    line-height: var(--contact-mobile-intro-line);
  }
}


/* HomeEditorialSection */
.r221-homeeditorialsection-controls { display: flex; align-items: center; gap: var(--space-4); }
.r221-homeeditorialsection-headlinesGrid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-26); align-items: stretch; }
.r221-homeeditorialsection-headlinesGrid > * { display: flex; }
.r221-homeeditorialsection-viewport { min-inline-size: 0; overflow: clip; overflow-clip-margin: var(--space-6); transition: height var(--motion-editorial-duration) var(--motion-editorial-easing); }
.r221-homeeditorialsection-track { position: relative; inline-size: 100%; transform: translate3d(0, 0, 0); transition: transform var(--motion-editorial-duration) var(--motion-editorial-easing); }
.r221-homeeditorialsection-viewport[data-page="1"] .r221-homeeditorialsection-track { transform: translate3d(calc(-100% - var(--space-24)), 0, 0); }
.r221-homeeditorialsection-additionalPanel { position: absolute; inset-block-start: 0; inset-inline-start: calc(100% + var(--space-24)); inline-size: 100%; }
.r221-homeeditorialsection-arrow { display: inline-flex; align-items: center; justify-content: center; flex: none; inline-size: 32px; block-size: 32px; padding: 0; border: 0; border-radius: 50%; background: transparent; cursor: pointer; transition: opacity var(--motion-color-duration) ease; }
.r221-homeeditorialsection-nextIcon { display: inline-flex; transform: rotate(180deg); }
.r221-homeeditorialsection-disabledNext { opacity: 0.5; }
.r221-homeeditorialsection-arrow[aria-disabled="false"]:active { opacity: 0.7; }
@media (hover: hover) and (pointer: fine) { .r221-homeeditorialsection-arrow[aria-disabled="false"]:hover { opacity: 0.85; } }
@media (prefers-reduced-motion: reduce) { .r221-homeeditorialsection-arrow, .r221-homeeditorialsection-viewport, .r221-homeeditorialsection-track { transition: none; } }
@media (max-width: 1023px) {
  .r221-homeeditorialsection-arrow { inline-size: var(--mobile-touch-size); block-size: var(--mobile-touch-size); }
}

@media (max-width: 767px) {
  .r221-homeeditorialsection-controls, .r221-homeeditorialsection-paginationStatus { display: none; }
  .r221-homeeditorialsection-headlinesGrid { grid-template-columns: minmax(0, 1fr); gap: var(--space-24); }
  .r221-homeeditorialsection-track .r221-homeeditorialsection-featured-list { grid-template-columns: minmax(0, 1fr); align-items: start; gap: var(--space-24); }
  .r221-homeeditorialsection-track .r221-homeeditorialsection-featured-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: var(--space-24) var(--space-16); }
  .r221-homeeditorialsection-featured-tiles > :first-child { grid-column: 1 / -1; }
}


/* HomePage */
.r221-homepage-main { display: flex; flex-direction: column; gap: var(--space-32); inline-size: calc(100% - 2 * var(--layout-desktop-gutter)); max-inline-size: var(--layout-content-width); margin-inline: auto; padding-block: calc(var(--space-80) + var(--space-8)); }
.r221-homepage-storyBand { display: grid; grid-template-columns: minmax(0, 620fr) minmax(0, 325fr); gap: var(--space-32) var(--layout-desktop-sidebar-gap); align-items: start; min-inline-size: 0; }
.r221-homepage-storyBand > :not([data-story-sidebar]) { grid-column: 1; }
.r221-homepage-storyBand > [data-story-sidebar] { grid-column: 2; grid-row: 1; inline-size: 100%; }
.r221-homepage-storyStack, .r221-homepage-sidebar { display: flex; flex-direction: column; gap: var(--space-32); min-inline-size: 0; }
.r221-homepage-compactGrid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-24); min-inline-size: 0; }
.r221-homepage-compactGrid > .r221-homepage-cardSlot { display: flex; }
.r221-homepage-compactGrid > .r221-homepage-cardSlot > article { flex: 1 1 0; }
.r221-homepage-section { display: flex; flex-direction: column; gap: var(--space-24); min-inline-size: 0; }
.r221-homepage-sectionAction { display: block; margin: 0; padding: 0; border: 0; background: transparent; font-family: var(--font-body); font-size: var(--type-cta-size); font-weight: var(--type-section-action-weight); line-height: var(--type-cta-line); letter-spacing: var(--type-cta-tracking); color: var(--color-muted); opacity: 0.5; white-space: nowrap; cursor: pointer; text-decoration: none; transition: color var(--motion-color-duration) ease, opacity var(--motion-color-duration) ease; }
@media (hover: hover) and (pointer: fine) { .r221-homepage-sectionAction:hover { opacity: 1; } }
.r221-homepage-sectionAction:focus-visible { opacity: 1; }
@media (prefers-reduced-motion: reduce) { .r221-homepage-sectionAction { transition: none; } }
.r221-homepage-editorialGrid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch; gap: var(--space-26); }
.r221-homepage-featuredGrid { display: grid; grid-template-columns: minmax(0, 520fr) minmax(0, 460fr); align-items: start; gap: var(--space-32); min-inline-size: 0; }
.r221-homepage-horizontalStack { display: flex; flex-direction: column; gap: var(--space-24); min-inline-size: 0; }
.r221-homepage-cardSlot { min-inline-size: 0; }
.r221-homepage-editorialGrid .r221-homepage-cardSlot { display: flex; }
.r221-homepage-editorialGrid .r221-homepage-cardSlot > article { flex: 1 1 0; }
.r221-homepage-lowerSidebar { min-inline-size: 0; }
.r221-homepage-mobileGroupTitle { display: none; }
.r221-homepage-trending { display: flex; flex-direction: column; gap: var(--space-24); min-inline-size: 0; background: var(--color-popular-surface); }
.r221-homepage-trendingTitle { align-self: flex-start; padding: var(--space-4) var(--space-14); background: var(--color-category); color: var(--color-white); font-family: var(--font-display); font-size: var(--type-live-title-size); font-weight: var(--type-live-title-weight); line-height: var(--type-live-title-line); text-transform: uppercase; }
.r221-homepage-popularStack { display: flex; flex-direction: column; gap: var(--space-10); padding-inline: var(--space-10); min-inline-size: 0; }
.r221-homepage-trendingMore { display: flex; align-items: center; justify-content: center; min-block-size: 70px; border: 0; padding: 0; cursor: pointer; background: var(--color-popular-action); color: var(--color-text); font-size: var(--type-card-title-large-size); font-weight: var(--type-card-title-large-weight); line-height: var(--type-category-line); text-decoration: none; transition: color var(--motion-color-duration) ease; }
@media (hover: hover) and (pointer: fine) { .r221-homepage-trendingMore:hover { color: var(--color-text); text-decoration: none; } }
.r221-homepage-skipLink { position: fixed; z-index: 110; inset-block-start: var(--space-8); inset-inline-start: var(--space-8); transform: translateY(-160%); background: var(--color-white); color: var(--color-text); border: 0; cursor: pointer; padding: var(--space-12) var(--space-16); }
.r221-homepage-skipLink:focus { transform: none; }
@media (prefers-reduced-motion: reduce) { .r221-homepage-trendingMore { transition: none; } }

@media (min-width: 1024px) {
  .r221-homepage-main { gap: var(--home-desktop-section-gap); }
  /* Flatten the news stack into the grid so its following promo keeps row three. */
  .r221-homepage-middleStories { display: contents; }
  .r221-homepage-middleStories > .r221-homepage-cardSlot { grid-column: 1; }
  .r221-homepage-middleBand > [data-story-sidebar] { grid-row: 1 / span 3; }
  .r221-homepage-middleBand > aside:not([data-story-sidebar]) { grid-column: 1; grid-row: 3; }
}

@media (max-width: 1023px) {
  .r221-homepage-main { padding-block: var(--space-24) var(--space-32); }
  .r221-homepage-storyBand { display: flex; flex-direction: column; min-block-size: 0; }
  .r221-homepage-storyBand > [data-story-sidebar] { position: static; inline-size: 100%; }
  .r221-homepage-editorialGrid { grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; }
  .r221-homepage-sectionAction { min-block-size: var(--mobile-touch-size); white-space: normal; text-align: end; }
  .r221-homepage-trendingTitle { padding-block: var(--space-8); }
  .r221-homepage-popularStack { padding-inline: var(--space-16); gap: var(--space-16); }
  .r221-homepage-trendingMore { min-block-size: var(--mobile-touch-size); }
}

@media (max-width: 767px) {
  .r221-homepage-main { inline-size: calc(100% - 2 * var(--layout-mobile-gutter)); gap: var(--space-40); padding-block: var(--space-32) var(--space-48); }
  .r221-homepage-storyBand { row-gap: var(--space-40); }
  .r221-homepage-storyStack { gap: var(--space-24); }
  .r221-homepage-moreStories { gap: var(--space-24); }
  .r221-homepage-moreStories .r221-homepage-compactGrid { gap: var(--space-24); }
  .r221-homepage-compactGrid, .r221-homepage-featuredGrid { grid-template-columns: minmax(0, 1fr); gap: var(--space-24); }
  .r221-homepage-compactGrid > .r221-homepage-cardSlot { display: block; }
  .r221-homepage-editorialGrid { align-items: start; }
  .r221-homepage-editorialGrid .r221-homepage-cardSlot { display: block; }
  .r221-homepage-trending { padding: var(--space-16); gap: var(--space-24); }
  .r221-homepage-trendingTitle { align-self: stretch; margin: 0; padding-block: var(--space-8); }
  .r221-homepage-popularStack { padding: 0; gap: var(--space-24); }
  .r221-homepage-trendingDisclosure > button { padding: 11px var(--space-16); background: var(--color-popular-action); }
  .r221-homepage-trendingMore { min-block-size: var(--mobile-touch-size); }
  .r221-homepage-mobileGroupTitle { display: flex; align-items: center; gap: var(--space-8); margin: 0; font-family: var(--font-display); font-size: var(--type-mobile-section-size); font-weight: var(--type-live-title-weight); line-height: var(--type-mobile-section-line); }
  .r221-homepage-mobileGroupTitle { min-block-size: var(--type-mobile-section-line); }
  .r221-homepage-mobileGroupTitle > span[aria-hidden="true"] { flex: none; inline-size: var(--space-16); block-size: var(--space-16); background: var(--color-category); }
  .r221-homepage-mobileGroupLabel { text-box-trim: trim-both; text-box-edge: cap alphabetic; }
}


/* LiveNews */
.r221-livenews-root {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-24);
  min-inline-size: 0;
  inline-size: 100%;
  padding: var(--space-24);
  border: var(--border-width) solid var(--color-border);
  color: var(--color-text);
  font-family: var(--font-body);
}

.r221-livenews-root .r221-livenews-heading h2 {
  font-family: var(--font-body);
  font-weight: var(--type-live-title-weight);
}

/* The frame and its children follow their content height. */
.r221-livenews-root > *,
.r221-livenews-item > * {
  flex-shrink: 0;
}

.r221-livenews-list {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  margin: 0;
  padding: 0;
  list-style: none;
}

.r221-livenews-item {
  display: flex;
  flex-direction: column;
  gap: var(--space-16);
  flex-shrink: 0;
  min-inline-size: 0;
  padding-block: var(--space-24);
  /* strokesIncludedInLayout=false: paint the inside stroke without adding height. */
  box-shadow: inset 0 calc(-1 * var(--border-width)) 0 var(--color-border);
  transition: opacity var(--motion-entry-duration) ease;
}

.r221-livenews-item:first-child {
  padding-block-start: 0;
}

.r221-livenews-itemContent {
  display: flex;
  flex-direction: column;
  gap: var(--space-8);
  min-inline-size: 0;
}

.r221-livenews-timestamp {
  display: flex;
  align-items: center;
  min-block-size: var(--space-16);
  font-size: var(--type-timestamp-size);
  font-weight: var(--type-timestamp-weight);
  line-height: var(--type-timestamp-line);
  letter-spacing: var(--type-timestamp-tracking);
}

.r221-livenews-itemTitle {
  margin: 0;
  font-size: var(--type-card-title-size);
  font-weight: var(--type-home-article-title-weight);
  line-height: var(--type-card-title-line);
  letter-spacing: var(--type-card-title-tracking);
  overflow-wrap: anywhere;
}

.r221-livenews-itemTitle a {
  color: inherit;
  text-decoration: none;
}

.r221-livenews-category {
  font-family: var(--font-category);
  display: flex;
  align-items: center;
  gap: var(--space-4);
  min-block-size: var(--space-16);
  color: var(--color-category);
  font-size: var(--type-category-size);
  font-weight: var(--type-category-weight);
  line-height: var(--type-category-line);
  letter-spacing: var(--type-category-tracking);
  text-transform: uppercase;
  overflow-wrap: anywhere;
}

.r221-livenews-categoryIndicator {
  flex: none;
  inline-size: var(--indicator-size);
  block-size: var(--indicator-size);
  background: var(--color-accent);
}

.r221-livenews-category > span:last-child {
  text-box-trim: trim-both;
  text-box-edge: cap alphabetic;
}

.r221-livenews-actions {
  display: flex;
  justify-content: flex-end;
}
.r221-livenews-mobileCollapse { display: none; }

.r221-livenews-snapshot { color: var(--color-muted); font-size: var(--type-copyright-size); font-weight: var(--type-copyright-weight); line-height: var(--type-copyright-line); margin-block-start: calc(-1 * var(--space-16)); }
@media (hover: hover) and (pointer: fine) {
  .r221-livenews-item:hover { opacity: var(--opacity-article-feedback); }
}
.r221-livenews-item[data-pressed="true"] {
  opacity: var(--opacity-article-feedback);
  transition-duration: var(--motion-press-duration);
}
@media (prefers-reduced-motion: reduce) {
  .r221-livenews-item,
  .r221-livenews-item[data-pressed="true"] { transition: none; }
}

.r221-livenews-itemTitle a:focus-visible {
  outline: var(--focus-ring-width) solid var(--color-text);
  outline-offset: var(--space-4);
}

@media (max-width: 1023px) {
  .r221-livenews-root { padding: var(--space-16); }
  .r221-livenews-actions > button { min-block-size: var(--mobile-touch-size); }
}

@media (max-width: 767px) {
  .r221-livenews-root { border: 0; padding: 0; gap: var(--space-16); }
  .r221-livenews-root[data-mobile-condensed="true"] .r221-livenews-item[data-mobile-hidden="true"] { display: none; }
  .r221-livenews-list { gap: var(--space-16); }
  .r221-livenews-item {
    display: grid;
    grid-template-columns: var(--mobile-live-time-width) minmax(0, 1fr);
    column-gap: var(--space-12);
    row-gap: var(--space-8);
    padding-block: 0 var(--space-16);
  }
  .r221-livenews-itemContent { display: contents; }
  .r221-livenews-timestamp { grid-column: 1; grid-row: 1; align-self: start; font-size: var(--type-mobile-meta-size); line-height: var(--type-mobile-meta-line); }
  .r221-livenews-itemTitle { grid-column: 2; grid-row: 1; line-height: var(--type-body-line); }
  .r221-livenews-category { grid-column: 2; grid-row: 2; font-size: var(--type-mobile-category-size); line-height: var(--type-mobile-category-line); letter-spacing: 0; }
  .r221-livenews-categoryIndicator { display: none; }
  .r221-livenews-actions { justify-content: flex-start; gap: var(--space-16); }
  .r221-livenews-actions button { min-block-size: var(--mobile-touch-size); padding: 11px var(--space-16); border: 0; font-weight: 700; line-height: var(--type-body-line); }
  .r221-livenews-mobileCollapse { display: inline-flex; align-items: center; color: inherit; background: transparent; font-family: inherit; font-size: var(--type-body-size); cursor: pointer; }
  .r221-livenews-mobileCollapse:focus-visible { outline: var(--focus-ring-width) solid currentColor; outline-offset: var(--space-4); }
  .r221-livenews-actions button > [aria-hidden="true"] { display: none; }
}


/* MobileDisclosure */
.r221-mobiledisclosure-root, .r221-mobiledisclosure-content, .r221-mobiledisclosure-desktopAction { display: contents; }
.r221-mobiledisclosure-action { display: none; }

@media (max-width: 767px) {
  .r221-mobiledisclosure-root[data-condensed="true"] [data-mobile-remainder="true"],
  .r221-mobiledisclosure-desktopAction { display: none; }
  .r221-mobiledisclosure-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    align-self: flex-start;
    min-block-size: var(--mobile-touch-size);
    padding: 11px var(--space-16);
    border: 0;
    color: inherit;
    background: transparent;
    font: 700 var(--type-body-size)/var(--type-body-line) var(--font-body);
    cursor: pointer;
    transition: opacity var(--motion-color-duration) ease;
  }
  .r221-mobiledisclosure-action:active { opacity: var(--opacity-article-feedback); }
  .r221-mobiledisclosure-action:focus-visible { outline: var(--focus-ring-width) solid currentColor; outline-offset: var(--space-4); }
}

@media (prefers-reduced-motion: reduce) { .r221-mobiledisclosure-action { transition: none; } }


/* MobileMenuArtwork */
.r221-mobilemenuartwork-menuIcon,
.r221-mobilemenuartwork-logo { display: block; flex: none; }

.r221-mobilemenuartwork-menuIcon { inline-size: 24px; block-size: 24px; }
.r221-mobilemenuartwork-logo .r221-mobilemenuartwork-numberMark { fill: var(--color-white); }
.r221-mobilemenuartwork-logo .r221-mobilemenuartwork-numeral { fill: var(--color-text); }
.r221-mobilemenuartwork-logo[data-expanded="true"] .r221-mobilemenuartwork-numberMark { fill: var(--color-category); }
.r221-mobilemenuartwork-logo[data-expanded="true"] .r221-mobilemenuartwork-numeral { fill: var(--color-white); }
.r221-mobilemenuartwork-logo .r221-mobilemenuartwork-numberMark,
.r221-mobilemenuartwork-logo .r221-mobilemenuartwork-numeral {
  transition: fill var(--motion-mobile-menu-duration, 300ms) var(--motion-mobile-menu-easing, cubic-bezier(0.22, 1, 0.36, 1));
}
.r221-mobilemenuartwork-menuIcon path {
  stroke: currentColor;
  stroke-width: 1.75;
  stroke-linecap: round;
  transform-box: view-box;
  transition:
    transform var(--motion-mobile-menu-duration, 300ms) var(--motion-mobile-menu-easing, cubic-bezier(0.22, 1, 0.36, 1)),
    opacity var(--motion-mobile-menu-duration, 300ms) var(--motion-mobile-menu-easing, cubic-bezier(0.22, 1, 0.36, 1));
}
.r221-mobilemenuartwork-top { transform-origin: 12px 6px; }
.r221-mobilemenuartwork-middle { transform-origin: 12px 12px; }
.r221-mobilemenuartwork-bottom { transform-origin: 12px 18px; }
.r221-mobilemenuartwork-menuIcon[data-expanded="true"] .r221-mobilemenuartwork-top { transform: translateY(6px) rotate(45deg) scaleX(1.0606601718); }
.r221-mobilemenuartwork-menuIcon[data-expanded="true"] .r221-mobilemenuartwork-middle { transform: scaleX(0); opacity: 0; }
.r221-mobilemenuartwork-menuIcon[data-expanded="true"] .r221-mobilemenuartwork-bottom { transform: translateY(-6px) rotate(-45deg) scaleX(1.0606601718); }

@media (prefers-reduced-motion: reduce) {
  .r221-mobilemenuartwork-menuIcon path,
  .r221-mobilemenuartwork-logo .r221-mobilemenuartwork-numberMark,
  .r221-mobilemenuartwork-logo .r221-mobilemenuartwork-numeral { transition: none; }
}


/* MobileSiteHeader */
.r221-mobilesiteheader-bar,
.r221-mobilesiteheader-navigation,
.r221-mobilesiteheader-menuDialog { display: none; }

@media (max-width: 767px) {
  .r221-mobilesiteheader-bar {
    position: sticky;
    inset-block-start: 0;
    z-index: var(--header-compact-z-index);
    display: flex;
    align-items: center;
    justify-content: space-between;
    inline-size: 100%;
    block-size: 68px;
    padding: var(--space-12) var(--layout-mobile-gutter);
    color: var(--color-white);
    background: var(--color-header-surface);
    font-family: var(--font-body);
  }

  .r221-mobilesiteheader-leadingSlot {
    flex: none;
    inline-size: 147.14px;
    block-size: var(--mobile-touch-size);
  }

  .r221-mobilesiteheader-leading {
    display: flex;
    align-items: center;
    gap: var(--space-16);
    min-inline-size: 0;
    block-size: var(--mobile-touch-size);
    color: var(--color-white);
  }

  .r221-mobilesiteheader-iconAction {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: none;
    inline-size: var(--mobile-touch-size);
    block-size: var(--mobile-touch-size);
    padding: 0;
    border: 0;
    border-radius: 0;
    color: inherit;
    background: transparent;
    cursor: pointer;
    transition: color var(--motion-color-duration) ease, opacity var(--motion-press-duration) ease;
  }

  .r221-mobilesiteheader-menuTrigger { margin-inline: calc(-1 * var(--space-10)); }
  .r221-mobilesiteheader-bar button.r221-mobilesiteheader-searchAction { inline-size: var(--mobile-touch-size); block-size: var(--mobile-touch-size); padding: 0; }
  .r221-mobilesiteheader-icon { display: flex; align-items: center; justify-content: center; inline-size: var(--icon-size); block-size: var(--icon-size); }
  .r221-mobilesiteheader-icon > img { max-inline-size: 100%; max-block-size: 100%; object-fit: contain; }

  .r221-mobilesiteheader-logoSlot { flex: none; inline-size: 85.3173px; block-size: var(--space-32); }
  .r221-mobilesiteheader-logo { display: flex; align-items: center; justify-content: center; inline-size: 100%; block-size: 100%; opacity: 1; }
  /* Scale the vector wrapper uniformly; the exact SVG export keeps its native viewport. */
  .r221-mobilesiteheader-logoArtwork { display: block; flex: none; inline-size: var(--header-logo-width); block-size: var(--header-logo-height); transform: scale(0.6666666667); }
  .r221-mobilesiteheader-menuLogoArtwork { display: block; flex: none; }

  .r221-mobilesiteheader-navigation {
    display: block;
    inline-size: 100%;
    min-inline-size: 0;
    block-size: calc(var(--space-56) + var(--space-3));
    border-block-end: var(--space-3) solid var(--color-category);
    color: var(--color-white);
    background: var(--color-header-surface);
    font-family: var(--font-body);
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scrollbar-width: none;
  }
  .r221-mobilesiteheader-navigation::-webkit-scrollbar { display: none; }
  .r221-mobilesiteheader-groups {
    display: flex;
    align-items: center;
    gap: var(--space-16);
    inline-size: max-content;
    min-inline-size: 100%;
    block-size: 100%;
    padding-inline: var(--layout-mobile-gutter);
  }
  .r221-mobilesiteheader-group {
    display: flex;
    align-items: center;
    gap: var(--space-16);
    flex: none;
    margin: 0;
    padding: 0;
    list-style: none;
  }
  .r221-mobilesiteheader-group + .r221-mobilesiteheader-group::before {
    content: "";
    flex: none;
    inline-size: var(--border-width);
    block-size: var(--space-32);
    background: var(--color-white-translucent);
  }
  .r221-mobilesiteheader-navItem {
    display: inline-flex;
    align-items: center;
    min-block-size: var(--mobile-touch-size);
    padding: 0;
    border: 0;
    color: inherit;
    background: transparent;
    font-family: var(--font-body);
    font-size: var(--type-nav-size);
    font-weight: var(--type-nav-weight);
    line-height: var(--type-nav-line);
    letter-spacing: var(--type-nav-tracking);
    white-space: nowrap;
    text-decoration: none;
    cursor: pointer;
    transition: color var(--motion-color-duration) ease, opacity var(--motion-press-duration) ease;
  }
  .r221-mobilesiteheader-navItem[aria-current="page"] { color: var(--color-accent); }

  .r221-mobilesiteheader-menuDialog {
    position: fixed;
    inset: 0;
    margin: 0;
    padding: 0;
    inline-size: 100%;
    block-size: 100dvh;
    max-inline-size: none;
    max-block-size: none;
    border: 0;
    color: var(--color-text);
    background: transparent;
    font-family: var(--font-body);
    overflow: hidden;
  }
  .r221-mobilesiteheader-menuDialog[open] { display: block; }
  .r221-mobilesiteheader-menuDialog::backdrop { background: transparent; }
  .r221-mobilesiteheader-menuBackdrop {
    position: absolute;
    inset: 0;
    inline-size: 100%;
    block-size: 100%;
    padding: 0;
    border: 0;
    background: rgb(0 0 0 / 50%);
    opacity: 0;
    transition: opacity var(--motion-mobile-menu-duration) var(--motion-mobile-menu-easing);
  }
  .r221-mobilesiteheader-menuPanel {
    position: relative;
    display: flex;
    flex-direction: column;
    inline-size: min(382px, calc(100% - 48px));
    block-size: 100%;
    background: var(--color-page-surface);
    transform: translateX(-100%);
    transition: transform var(--motion-mobile-menu-duration) var(--motion-mobile-menu-easing);
    overflow: hidden;
  }
  .r221-mobilesiteheader-menuDialog[data-expanded="true"] .r221-mobilesiteheader-menuBackdrop { opacity: 1; }
  .r221-mobilesiteheader-menuDialog[data-expanded="true"] .r221-mobilesiteheader-menuPanel { transform: translateX(0); }
  .r221-mobilesiteheader-menuLeadingSlot {
    position: absolute;
    z-index: 1;
    inset-block-start: var(--space-12);
    inset-inline-start: var(--layout-mobile-gutter);
    inline-size: 147.14px;
    block-size: var(--mobile-touch-size);
  }
  .r221-mobilesiteheader-menuLeadingSlot .r221-mobilesiteheader-leading { color: var(--color-text); }
  .r221-mobilesiteheader-menuLeadingSlot .r221-mobilesiteheader-logoSlot { inline-size: 85.3173px; }
  .r221-mobilesiteheader-menuBar {
    position: relative;
    flex: none;
    block-size: 68px;
    border-block-end: var(--border-width) solid var(--color-border);
    background: var(--color-page-surface);
  }
  .r221-mobilesiteheader-menuBody {
    display: flex;
    flex-direction: column;
    flex: 1;
    gap: var(--space-24);
    inline-size: 100%;
    min-inline-size: 0;
    min-block-size: 0;
    padding: var(--space-24) var(--space-16) var(--space-16);
    overflow-y: auto;
    overscroll-behavior-y: contain;
    scrollbar-width: none;
  }
  .r221-mobilesiteheader-menuBody::-webkit-scrollbar { display: none; }
  .r221-mobilesiteheader-menuSection { display: flex; flex-direction: column; flex: none; gap: var(--space-16); }
  .r221-mobilesiteheader-menuSection h2 {
    margin: 0;
    font-family: var(--font-body);
    font-size: var(--type-mobile-section-size);
    font-weight: var(--type-nav-weight);
    line-height: var(--type-mobile-section-line);
  }
  .r221-mobilesiteheader-readingLinks,
  .r221-mobilesiteheader-categories { margin: 0; padding: 0; list-style: none; }
  .r221-mobilesiteheader-readingLinks { display: flex; flex-direction: column; flex: none; gap: var(--space-4); }
  .r221-mobilesiteheader-categories { display: flex; flex-direction: column; gap: 0; }
  .r221-mobilesiteheader-readingLinks button,
  .r221-mobilesiteheader-categories a,
  .r221-mobilesiteheader-categories button,
  .r221-mobilesiteheader-menuActions > a {
    display: flex;
    align-items: center;
    inline-size: 100%;
    min-block-size: var(--mobile-touch-size);
    padding: 11px var(--space-16) 11px 0;
    border: 0;
    color: var(--color-text);
    background: transparent;
    font-family: var(--font-body);
    font-size: var(--type-body-size);
    font-weight: var(--type-nav-weight);
    line-height: var(--type-body-line);
    text-align: start;
    text-decoration: none;
    overflow-wrap: anywhere;
    cursor: pointer;
    transition: opacity var(--motion-press-duration) ease, color var(--motion-color-duration) ease;
  }
  .r221-mobilesiteheader-readingLinks button { padding-inline-end: 0; }
  .r221-mobilesiteheader-categories a { inline-size: min(191px, 100%); color: var(--color-text); }
  .r221-mobilesiteheader-categories a[aria-current="page"] { color: var(--color-category); }
  .r221-mobilesiteheader-categories a[aria-current="page"] span { opacity: 1; }
  .r221-mobilesiteheader-categories button { inline-size: min(191px, 100%); color: var(--color-muted); }
  .r221-mobilesiteheader-categories button.r221-mobilesiteheader-secondaryCategory { color: var(--color-text); }
  .r221-mobilesiteheader-secondaryCategory span { opacity: var(--opacity-secondary); }
  .r221-mobilesiteheader-menuActions { display: flex; flex-direction: row; align-items: center; flex: none; gap: var(--space-8); }
  .r221-mobilesiteheader-menuActions .r221-mobilesiteheader-accountAction { flex: 1 1 0; min-inline-size: 0; }
  .r221-mobilesiteheader-menuActions .r221-mobilesiteheader-menuSearchAction { inline-size: var(--icon-size); color: var(--color-text); }
  .r221-mobilesiteheader-menuActions > a {
    justify-content: center;
    block-size: 46px;
    padding: 11px var(--space-16);
    border: var(--border-width) solid var(--color-border);
    font-weight: var(--type-nav-weight);
    text-align: center;
  }
  .r221-mobilesiteheader-menuActions .r221-mobilesiteheader-accountAction {
    inline-size: auto;
    block-size: 46px;
    min-block-size: 46px;
    padding: 11px var(--space-16);
    border: var(--border-width) solid var(--color-border);
    border-radius: 0;
    background: transparent;
    font-size: var(--type-body-size);
    font-weight: 700;
    line-height: var(--type-body-line);
  }

  .r221-mobilesiteheader-iconAction:active,
  .r221-mobilesiteheader-navItem:active,
  .r221-mobilesiteheader-categories a:active,
  .r221-mobilesiteheader-readingLinks button:active,
  .r221-mobilesiteheader-menuActions > a:active,
  .r221-mobilesiteheader-accountAction:active { opacity: var(--opacity-secondary); }
  .r221-mobilesiteheader-iconAction:focus-visible,
  .r221-mobilesiteheader-navItem:focus-visible,
  .r221-mobilesiteheader-categories a:focus-visible,
  .r221-mobilesiteheader-readingLinks button:focus-visible,
  .r221-mobilesiteheader-categories button:focus-visible,
  .r221-mobilesiteheader-menuActions > a:focus-visible {
    outline: var(--focus-ring-width) solid var(--color-accent);
    outline-offset: calc(-1 * var(--focus-ring-width));
  }
  .r221-mobilesiteheader-accountAction:focus-visible { outline-color: var(--color-text); }
  .r221-mobilesiteheader-menuTrigger[data-menu-close]:focus-visible { outline-color: var(--color-text); }
  .r221-mobilesiteheader-menuTrigger[data-menu-close][data-keyboard-focus="false"]:focus-visible { outline: none; }
}

@media (max-width: 360px) {
  .r221-mobilesiteheader-menuActions > a,
  .r221-mobilesiteheader-menuActions .r221-mobilesiteheader-accountAction { padding-inline: var(--space-8); }
}

@media (max-width: 767px) and (hover: hover) and (pointer: fine) {
  .r221-mobilesiteheader-searchAction:hover,
  .r221-mobilesiteheader-navItem:hover,
  .r221-mobilesiteheader-categories a:hover,
  .r221-mobilesiteheader-readingLinks button:hover,
  .r221-mobilesiteheader-categories button:hover,
  .r221-mobilesiteheader-menuActions > a:hover { color: var(--color-accent); }
  .r221-mobilesiteheader-searchAction:hover { opacity: 1; }
  .r221-mobilesiteheader-accountAction:hover { opacity: var(--opacity-secondary); }
  .r221-mobilesiteheader-menuTrigger[data-menu-close]:hover { color: var(--color-text); }
}

@media (prefers-reduced-motion: reduce) {
  .r221-mobilesiteheader-leading,
  .r221-mobilesiteheader-menuPanel,
  .r221-mobilesiteheader-menuBackdrop,
  .r221-mobilesiteheader-iconAction,
  .r221-mobilesiteheader-navItem,
  .r221-mobilesiteheader-categories a,
  .r221-mobilesiteheader-readingLinks button,
  .r221-mobilesiteheader-categories button,
  .r221-mobilesiteheader-menuActions > a,
  .r221-mobilesiteheader-accountAction { transition: none; }
}


/* RubricPage */
.r221-rubricpage-main {
  display: flex;
  flex-direction: column;
  gap: var(--space-32);
  inline-size: min(var(--layout-content-width), calc(100% - var(--space-48)));
  margin-inline: auto;
  padding-block: 88px;
  font-family: var(--font-body);
  color: var(--color-text);
}
.r221-rubricpage-pageHeader { display: flex; flex-direction: column; gap: var(--space-16); min-inline-size: 0; }
.r221-rubricpage-pageTitle { margin: 0; font-size: 32px; font-weight: 700; line-height: 40px; overflow-wrap: anywhere; }
.r221-rubricpage-breadcrumb { font-size: 14px; font-weight: 600; line-height: 16.8px; }
.r221-rubricpage-breadcrumb ol { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-4); padding: 0; margin: 0; list-style: none; }
.r221-rubricpage-breadcrumb li { display: flex; align-items: center; gap: var(--space-4); }
.r221-rubricpage-breadcrumb a, .r221-rubricpage-breadcrumb li > span[aria-hidden] { color: #737373; text-decoration: none; }
.r221-rubricpage-topics { overflow-x: auto; overscroll-behavior-x: contain; min-inline-size: 0; scrollbar-width: thin; }
.r221-rubricpage-topics ul { display: flex; gap: var(--space-8); inline-size: max-content; margin: 0; padding: 0; list-style: none; }
.r221-rubricpage-topic, .r221-rubricpage-pageNumber {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-block-size: var(--mobile-touch-size);
  min-inline-size: var(--mobile-touch-size);
  padding: var(--space-12) var(--space-16);
  border: var(--border-width) solid var(--color-border);
  color: var(--color-text);
  background: transparent;
  font-size: 14px;
  font-weight: var(--type-category-weight);
  line-height: 20px;
  text-decoration: none;
  white-space: nowrap;
  transition: background-color var(--motion-color-duration) ease, opacity var(--motion-press-duration) ease;
}
.r221-rubricpage-topic[aria-current], .r221-rubricpage-pageNumber[aria-current] { border-color: var(--color-accent); background: var(--color-accent); }
.r221-rubricpage-layout { display: grid; grid-template-columns: minmax(0, 664fr) minmax(0, 324fr); grid-template-rows: auto auto 1fr; column-gap: var(--space-24); row-gap: var(--space-32); align-items: start; min-inline-size: 0; }
.r221-rubricpage-editorial { grid-column: 1; grid-row: 1 / 4; display: flex; flex-direction: column; min-inline-size: 0; }
.r221-rubricpage-featuredSection { display: flex; flex-direction: column; gap: var(--space-32); padding-block-end: var(--space-24); border-block-end: var(--border-width) solid var(--color-border); }
.r221-rubricpage-featuredGrid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-24); }
.r221-rubricpage-priorityGroup, .r221-rubricpage-compactGroup, .r221-rubricpage-archiveGroup { display: contents; }
.r221-rubricpage-card { min-inline-size: 0; }
.r221-rubricpage-cardLink { gap: var(--space-16); }
.r221-rubricpage-cardContent { display: flex; flex-direction: column; gap: var(--space-8); min-inline-size: 0; }
.r221-rubricpage-card .r221-rubricpage-category { justify-content: flex-start; min-block-size: 16px; font-size: 13px; font-weight: var(--type-category-weight); line-height: 16px; letter-spacing: 0; }
.r221-rubricpage-card .r221-rubricpage-title { font-size: 16px; font-weight: var(--type-home-article-title-weight); line-height: 21px; letter-spacing: 0; }
.r221-rubricpage-card .r221-rubricpage-excerpt { font-size: var(--type-body-size); font-weight: var(--type-body-weight); line-height: var(--type-body-line); }
.r221-rubricpage-date { display: block; color: var(--color-muted); font-size: 14px; font-weight: 400; line-height: 20px; transition: opacity var(--motion-press-duration) ease; }
.r221-rubricpage-card[data-pressed="true"] .r221-rubricpage-date { opacity: var(--opacity-article-feedback); }
.r221-rubricpage-featured .r221-rubricpage-date, .r221-rubricpage-compactFeatured .r221-rubricpage-date { padding-block-start: var(--space-8); }
.r221-rubricpage-media { inline-size: 100%; aspect-ratio: 16 / 9; }
.r221-rubricpage-featured .r221-rubricpage-media, .r221-rubricpage-compactFeatured .r221-rubricpage-media { order: -1; }
.r221-rubricpage-lead { padding-block-end: var(--space-24); border-block-end: var(--border-width) solid var(--color-border); }
.r221-rubricpage-leadMedia { position: relative; block-size: 450px; overflow: hidden; }
.r221-rubricpage-leadMedia .r221-rubricpage-media { block-size: 100%; aspect-ratio: auto; }
.r221-rubricpage-leadMedia::after { content: ''; position: absolute; inset: 0; background: var(--color-lead-overlay-gradient); pointer-events: none; }
.r221-rubricpage-leadHeading { position: absolute; z-index: 1; inset-inline: var(--space-24); inset-block-end: var(--space-24); display: flex; flex-direction: column; gap: var(--space-8); }
.r221-rubricpage-lead .r221-rubricpage-title { color: var(--color-white); font-size: var(--type-lead-title-size); font-weight: var(--type-lead-title-weight); line-height: var(--type-lead-title-line); }
.r221-rubricpage-leadBadge { align-self: flex-start; margin-block-end: var(--space-8); padding: var(--space-4); }
.r221-rubricpage-leadCategory { display: none; }
.r221-rubricpage-archive { display: flex; flex-direction: column; gap: var(--space-24); padding-block-start: 56px; }
.r221-rubricpage-archiveOnly { padding-block-start: 0; }
.r221-rubricpage-archiveCard { padding-block-end: var(--space-24); border-block-end: var(--border-width) solid var(--color-border); }
.r221-rubricpage-archiveCard .r221-rubricpage-cardLink { display: grid; grid-template-columns: minmax(0, 1fr) 180px; align-items: start; }
.r221-rubricpage-archiveCard .r221-rubricpage-media { inline-size: 180px; aspect-ratio: 3 / 2; }
.r221-rubricpage-archiveCard .r221-rubricpage-title { font-size: 18px; line-height: 21px; }
.r221-rubricpage-archiveCard .r221-rubricpage-excerpt { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
.r221-rubricpage-archiveCard .r221-rubricpage-date { padding-block-start: var(--space-24); }
.r221-rubricpage-pagination { padding-block-start: var(--space-32); }
.r221-rubricpage-pagination ul { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: var(--space-8); padding: 0; margin: 0; list-style: none; }
.r221-rubricpage-pageEllipsis { display: flex; align-items: center; justify-content: center; min-block-size: var(--mobile-touch-size); min-inline-size: 24px; font-size: 14px; }
.r221-rubricpage-empty { display: flex; flex-direction: column; gap: var(--space-16); padding-block: var(--space-32); }
.r221-rubricpage-empty h2 { font-size: 20px; font-weight: 600; line-height: 28px; }
.r221-rubricpage-empty p { font-size: var(--type-body-size); line-height: var(--type-body-line); }
.r221-rubricpage-empty a { align-self: flex-start; color: var(--color-text); font-weight: 600; text-decoration: none; }
.r221-rubricpage-live { grid-column: 2; grid-row: 1; min-inline-size: 0; }
.r221-rubricpage-live [class~="r221-livenews-root"] { padding: var(--space-24); }
.r221-rubricpage-live [class~="r221-livenews-timestamp"] { font-size: 12px; line-height: 16px; }
.r221-rubricpage-social { grid-column: 2; grid-row: 2; display: flex; flex-direction: column; gap: var(--space-12); min-inline-size: 0; padding: var(--space-16); border: var(--border-width) solid var(--color-border); }
.r221-rubricpage-socialHeading { display: flex; align-items: center; gap: var(--space-12); min-inline-size: 0; }
.r221-rubricpage-socialArtwork { flex: none; inline-size: 104px; block-size: 58.56px; overflow: hidden; }
.r221-rubricpage-socialArtwork > img { transform: scale(0.3466666667); transform-origin: 0 0; }
.r221-rubricpage-socialTitle { margin: 0; min-inline-size: 0; font-size: 18px; font-weight: 700; line-height: 22px; overflow-wrap: anywhere; }
.r221-rubricpage-social p { margin: 0; font-size: var(--type-body-size); font-weight: var(--type-body-weight); line-height: var(--type-body-line); }
.r221-rubricpage-socialLinks { display: flex; flex-wrap: wrap; gap: var(--space-12); padding: 0; margin: 0; list-style: none; }
.r221-rubricpage-socialLinks a { display: flex; align-items: center; justify-content: center; inline-size: var(--mobile-touch-size); block-size: var(--mobile-touch-size); transition: opacity var(--motion-press-duration) ease; }
.r221-rubricpage-socialLinks a:active, .r221-rubricpage-topic:active, .r221-rubricpage-pageNumber:active { opacity: var(--opacity-article-feedback); }
.r221-rubricpage-topic:focus-visible { outline: var(--focus-ring-width) solid var(--color-text); outline-offset: calc(-1 * var(--focus-ring-width)); }
.r221-rubricpage-pageNumber:focus-visible, .r221-rubricpage-breadcrumb a:focus-visible, .r221-rubricpage-empty a:focus-visible, .r221-rubricpage-socialLinks a:focus-visible { outline: var(--focus-ring-width) solid var(--color-category); outline-offset: var(--space-4); }
@media (hover: hover) and (pointer: fine) {
  .r221-rubricpage-topic:hover, .r221-rubricpage-pageNumber[href]:hover { background: var(--color-accent); }
  .r221-rubricpage-socialLinks a:hover { opacity: var(--opacity-article-feedback); }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .r221-rubricpage-main { padding-block: var(--space-56); }
  .r221-rubricpage-layout { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: auto auto; }
  .r221-rubricpage-editorial { grid-column: 1 / -1; grid-row: 1; }
  .r221-rubricpage-live { grid-column: 1; grid-row: 2; }
  .r221-rubricpage-social { grid-column: 2; grid-row: 2; }
}
@media (max-width: 767px) {
  .r221-rubricpage-main { inline-size: calc(100% - 2 * var(--layout-mobile-gutter)); padding-block: var(--space-32); }
  .r221-rubricpage-pageTitle { font-size: 24px; line-height: 28px; }
  .r221-rubricpage-layout { display: flex; flex-direction: column; gap: var(--space-32); }
  .r221-rubricpage-editorial { inline-size: 100%; }
  .r221-rubricpage-featuredSection { gap: var(--space-32); border: 0; padding: 0; }
  .r221-rubricpage-featuredGrid { display: flex; flex-direction: column; gap: var(--space-32); }
  .r221-rubricpage-priorityGroup, .r221-rubricpage-compactGroup, .r221-rubricpage-archiveGroup { display: flex; flex-direction: column; gap: var(--space-24); min-inline-size: 0; }
  .r221-rubricpage-priorityGroup { padding-block-end: var(--space-24); border-block-end: var(--border-width) solid var(--color-border); }
  .r221-rubricpage-card .r221-rubricpage-category { font-size: 12px; line-height: 16px; }
  .r221-rubricpage-card .r221-rubricpage-title { font-size: 18px; line-height: 22px; }
  .r221-rubricpage-date { font-size: 14px; font-weight: 500; line-height: 20px; }
  .r221-rubricpage-leadMedia { display: contents; }
  .r221-rubricpage-leadMedia::after { display: none; }
  .r221-rubricpage-leadMedia .r221-rubricpage-media { order: 1; block-size: auto; aspect-ratio: 16 / 9; }
  .r221-rubricpage-leadHeading { position: static; gap: var(--space-8); order: 0; }
  .r221-rubricpage-lead .r221-rubricpage-title { color: var(--color-text); font-size: 24px; font-weight: var(--type-home-article-title-weight); line-height: 28px; }
  .r221-rubricpage-leadBadge { display: none; }
  .r221-rubricpage-leadCategory { display: flex; }
  .r221-rubricpage-lead .r221-rubricpage-excerpt { order: 2; }
  .r221-rubricpage-lead .r221-rubricpage-date { order: 3; }
  .r221-rubricpage-compactFeatured, .r221-rubricpage-archiveCard { padding-block-end: var(--space-24); border-block-end: var(--border-width) solid var(--color-border); }
  .r221-rubricpage-compactFeatured .r221-rubricpage-cardLink, .r221-rubricpage-archiveCard .r221-rubricpage-cardLink { display: grid; grid-template-columns: minmax(0, 1fr) 112px; gap: var(--space-16); align-items: start; }
  .r221-rubricpage-compactFeatured .r221-rubricpage-cardContent, .r221-rubricpage-archiveCard .r221-rubricpage-cardContent { grid-column: 1; grid-row: 1; }
  .r221-rubricpage-compactFeatured .r221-rubricpage-media, .r221-rubricpage-archiveCard .r221-rubricpage-media { grid-column: 2; grid-row: 1; order: 0; inline-size: 112px; aspect-ratio: 3 / 2; }
  .r221-rubricpage-archive { gap: var(--space-32); padding-block-start: var(--space-32); }
  .r221-rubricpage-archiveOnly { padding-block-start: 0; }
  .r221-rubricpage-archiveCard .r221-rubricpage-title { line-height: 22px; }
  .r221-rubricpage-archiveCard .r221-rubricpage-excerpt { display: none; }
  .r221-rubricpage-archiveCard .r221-rubricpage-date { padding-block-start: var(--space-8); }
  .r221-rubricpage-live { display: none; }
  .r221-rubricpage-social { inline-size: 100%; }
}
@media (prefers-reduced-motion: reduce) { .r221-rubricpage-topic, .r221-rubricpage-pageNumber, .r221-rubricpage-socialLinks a, .r221-rubricpage-date { transition: none; } }


/* SectionHeader */
.r221-sectionheader-root {
  display: flex;
  align-items: flex-start;
  inline-size: 100%;
  min-inline-size: 0;
  gap: var(--space-8);
  color: var(--color-text);
}

.r221-sectionheader-title {
  flex: 1 1 0;
  min-inline-size: 0;
  margin: 0;
  overflow-wrap: anywhere;
}

.r221-sectionheader-editorial {
  block-size: var(--section-header-height);
  border-block-end: var(--border-width) solid var(--color-border);
}

.r221-sectionheader-row {
  display: flex;
  align-items: center;
  inline-size: 100%;
  min-inline-size: 0;
  gap: var(--space-12);
}

.r221-sectionheader-editorialIndicator {
  flex: none;
  inline-size: var(--space-32);
  block-size: var(--space-4);
  background: var(--color-category);
}

.r221-sectionheader-editorial .r221-sectionheader-title {
  font-family: var(--font-body);
  font-size: var(--type-lead-title-size);
  font-weight: var(--type-lead-title-weight);
  line-height: var(--type-lead-title-line);
  letter-spacing: var(--type-lead-title-tracking);
}

.r221-sectionheader-marked {
  align-items: center;
  gap: var(--space-12);
  padding-block: var(--border-width);
}

.r221-sectionheader-marked .r221-sectionheader-title {
  font-family: var(--font-display);
  font-size: var(--type-section-size);
  font-weight: var(--type-section-weight);
  line-height: var(--type-section-line);
  letter-spacing: var(--type-section-tracking);
  text-transform: uppercase;
}

.r221-sectionheader-action {
  flex: none;
}

@media (max-width: 1023px) {
  .r221-sectionheader-editorial { block-size: auto; padding-block: var(--space-8); }
  .r221-sectionheader-editorial .r221-sectionheader-title { font-size: var(--type-mobile-section-size); line-height: var(--type-mobile-section-line); }
  .r221-sectionheader-marked { padding-block: var(--space-8); }
  .r221-sectionheader-action { max-inline-size: 55%; }
}

@media (max-width: 767px) {
  .r221-sectionheader-marked .r221-sectionheader-title { display: flex; align-items: center; min-block-size: var(--type-section-line); }
  .r221-sectionheader-markedLabel { text-box-trim: trim-both; text-box-edge: cap alphabetic; }
}


/* SiteFooter */
.r221-sitefooter-root {
  inline-size: 100%;
  padding: var(--space-56) var(--space-24) var(--space-24);
  border-block-start: var(--footer-border-width) solid var(--color-category);
  color: var(--color-white);
  background: var(--color-text);
  font-family: var(--font-body);
}

.r221-sitefooter-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-40);
  max-inline-size: var(--layout-content-width);
  margin-inline: auto;
}

.r221-sitefooter-content > * {
  flex-shrink: 0;
}

.r221-sitefooter-columns {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: start;
  gap: var(--space-24);
  inline-size: 100%;
}

.r221-sitefooter-brand,
.r221-sitefooter-column {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-16);
  min-inline-size: 0;
}

/* 39:799 fills the row; the two link columns and their parent hug content. */
.r221-sitefooter-brand {
  align-self: stretch;
}

.r221-sitefooter-logo {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  inline-size: var(--footer-logo-width);
  block-size: var(--footer-logo-height);
}

.r221-sitefooter-contacts,
.r221-sitefooter-columnTitle,
.r221-sitefooter-copyright {
  margin: 0;
}

.r221-sitefooter-contacts,
.r221-sitefooter-links {
  opacity: var(--opacity-secondary);
  font-size: var(--type-footer-body-size);
  font-weight: var(--type-footer-body-weight);
  line-height: var(--type-footer-body-line);
  letter-spacing: var(--type-footer-body-tracking);
}

.r221-sitefooter-contacts {
  display: flex;
  flex-direction: column;
  gap: var(--space-16);
  inline-size: 100%;
  font-style: normal;
  opacity: 1;
}

.r221-sitefooter-contactItem {
  inline-size: 100%;
  opacity: var(--opacity-secondary);
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

.r221-sitefooter-columnTitle {
  font-size: var(--type-footer-title-size);
  font-weight: var(--type-footer-heading-weight);
  line-height: var(--type-footer-title-line);
  letter-spacing: var(--type-footer-title-tracking);
}

.r221-sitefooter-links,
.r221-sitefooter-legal ul,
.r221-sitefooter-social {
  margin: 0;
  padding: 0;
  list-style: none;
}

.r221-sitefooter-links {
  display: flex;
  flex-direction: column;
  gap: var(--space-10);
  inline-size: 100%;
}

.r221-sitefooter-root a,
.r221-sitefooter-root button,
.r221-sitefooter-label {
  cursor: pointer;
  color: inherit;
  text-decoration: none;
  transition: color var(--motion-color-duration) ease;
}

.r221-sitefooter-label { display: inline-block; }
.r221-sitefooter-links a[aria-current="page"] { color: var(--color-accent); }
.r221-sitefooter-mobileGroups,
.r221-sitefooter-mobileContact { display: none; }

@media (hover: hover) and (pointer: fine) {
  .r221-sitefooter-root a:hover,
  .r221-sitefooter-root button:hover,
  .r221-sitefooter-label:hover { color: var(--color-accent); text-decoration: none; }
}

@media (prefers-reduced-motion: reduce) { .r221-sitefooter-root a, .r221-sitefooter-root button, .r221-sitefooter-label { transition: none; } }

.r221-sitefooter-root button {
  padding: 0;
  border: 0;
  background: transparent;
  font: inherit;
  text-align: inherit;
  cursor: pointer;
}

.r221-sitefooter-links li {
  overflow-wrap: anywhere;
}

.r221-sitefooter-legal {
  display: flex;
  align-items: center;
  justify-content: center;
  inline-size: 100%;
  block-size: var(--footer-legal-height);
  padding-block: var(--space-20);
  border-block: var(--footer-legal-border-width) solid var(--color-footer-divider);
  font-size: var(--type-legal-size);
  font-weight: var(--type-legal-weight);
  line-height: var(--type-legal-line);
  letter-spacing: var(--type-legal-tracking);
}

.r221-sitefooter-legal ul {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: var(--space-40);
  flex-wrap: wrap;
  max-inline-size: 100%;
}

.r221-sitefooter-legal li {
  padding-block-end: var(--footer-legal-link-padding-bottom);
  white-space: nowrap;
}

.r221-sitefooter-socialNavigation { max-inline-size: 100%; }

.r221-sitefooter-social {
  display: flex;
  align-items: center;
  gap: var(--space-24);
  flex-wrap: wrap;
  justify-content: center;
  max-inline-size: 100%;
}

.r221-sitefooter-social a {
  display: flex;
  align-items: center;
  gap: var(--space-4);
  font-size: var(--type-social-size);
  font-weight: var(--type-social-weight);
  line-height: var(--type-social-line);
  letter-spacing: var(--type-social-tracking);
}

.r221-sitefooter-social li {
  padding-block-end: var(--footer-social-padding-bottom);
}

.r221-sitefooter-socialIcon {
  display: inline-flex;
  flex: none;
  inline-size: var(--icon-size);
  block-size: var(--icon-size);
}

.r221-sitefooter-copyright {
  inline-size: 100%;
  text-align: center;
  font-size: var(--type-copyright-size);
  font-weight: var(--type-copyright-weight);
  line-height: var(--type-copyright-line);
  letter-spacing: var(--type-copyright-tracking);
}

.r221-sitefooter-root a:focus-visible,
.r221-sitefooter-root button:focus-visible {
  outline: var(--focus-ring-width) solid var(--color-accent);
  outline-offset: var(--space-4);
}

@media (max-width: 1023px) {
  .r221-sitefooter-columns { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: var(--space-32); }
  .r221-sitefooter-brand { grid-column: 1 / -1; }
  .r221-sitefooter-legal { block-size: auto; min-block-size: var(--footer-legal-height); }
}

@media (max-width: 767px) {
  .r221-sitefooter-root { padding: var(--space-40) var(--layout-mobile-gutter) var(--space-24); }
  .r221-sitefooter-content { gap: var(--space-32); }
  .r221-sitefooter-columns {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: var(--space-24);
  }
  .r221-sitefooter-column { display: none; }
  .r221-sitefooter-mobileGroups { display: flex; flex-direction: column; gap: var(--space-8); }
  .r221-sitefooter-mobileGroup { min-inline-size: 0; }
  .r221-sitefooter-mobileGroup summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-16);
    min-block-size: var(--mobile-touch-size);
    color: var(--color-white);
    font-size: var(--type-mobile-section-size);
    font-weight: var(--type-footer-heading-weight);
    line-height: var(--type-mobile-section-line);
    list-style: none;
    cursor: pointer;
    transition: color var(--motion-color-duration) ease;
  }
  .r221-sitefooter-mobileGroup summary::-webkit-details-marker { display: none; }
  .r221-sitefooter-mobileGroup summary:focus-visible {
    outline: var(--focus-ring-width) solid var(--color-accent);
    outline-offset: var(--space-4);
  }
  .r221-sitefooter-mobileGroup nav { margin-block-start: var(--space-8); }
  .r221-sitefooter-groupPlus,
  .r221-sitefooter-groupMinus { flex: none; }
  .r221-sitefooter-groupMinus { display: none; }
  .r221-sitefooter-mobileGroup[open] .r221-sitefooter-groupPlus { display: none; }
  .r221-sitefooter-mobileGroup[open] .r221-sitefooter-groupMinus { display: inline; }
  .r221-sitefooter-contacts { gap: 0; }
  .r221-sitefooter-contactItem {
    display: flex;
    align-items: center;
    min-block-size: var(--mobile-touch-size);
  }
  .r221-sitefooter-contactItem a { display: flex; align-items: center; min-block-size: var(--mobile-touch-size); }
  .r221-sitefooter-links { gap: var(--space-4); }
  .r221-sitefooter-links a,
  .r221-sitefooter-links button,
  .r221-sitefooter-links .r221-sitefooter-label {
    display: flex;
    align-items: center;
    min-block-size: var(--mobile-touch-size);
    inline-size: 100%;
  }
  .r221-sitefooter-mobileContact { display: flex; align-items: center; justify-content: center; }
  .r221-sitefooter-mobileContact a,
  .r221-sitefooter-mobileContact button,
  .r221-sitefooter-mobileContact .r221-sitefooter-label {
    display: flex;
    align-items: center;
    justify-content: center;
    min-block-size: var(--mobile-touch-size);
    padding: 11px var(--space-16);
    font-size: var(--type-body-size);
    font-weight: 700;
    line-height: var(--type-body-line);
  }
  .r221-sitefooter-legal { min-block-size: 0; padding-block: var(--space-16); }
  .r221-sitefooter-legal ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-8) var(--space-16);
    inline-size: 100%;
  }
  .r221-sitefooter-legal li,
  .r221-sitefooter-social li { padding-block-end: 0; }
  .r221-sitefooter-legal a,
  .r221-sitefooter-legal button,
  .r221-sitefooter-legal .r221-sitefooter-label { display: flex; align-items: center; min-block-size: var(--mobile-touch-size); }
  .r221-sitefooter-socialNavigation { inline-size: 100%; }
  .r221-sitefooter-social {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-8) var(--space-16);
    inline-size: 100%;
  }
  .r221-sitefooter-social a {
    min-block-size: var(--mobile-touch-size);
    padding-block-end: var(--footer-social-padding-bottom);
    gap: var(--space-4);
    line-height: var(--type-social-line);
  }
  .r221-sitefooter-copyright { font-size: var(--type-copyright-size); line-height: var(--type-copyright-line); }
}

@media (hover: hover) and (pointer: fine) {
  .r221-sitefooter-mobileGroup summary:hover { color: var(--color-accent); }
}

@media (prefers-reduced-motion: reduce) { .r221-sitefooter-mobileGroup summary { transition: none; } }


/* SiteHeader */
.r221-siteheader-shell {
  position: relative;
  inline-size: 100%;
}

.r221-siteheader-root {
  display: flex;
  flex-direction: column;
  inline-size: 100%;
  border-block-end: 0;
  color: var(--color-white);
  background: var(--color-header-surface);
  font-family: var(--font-body);
}

/* Reveal the incoming controls without changing the opaque shared logo. */
.r221-siteheader-root[data-motion="true"] { border-block-end-color: transparent; }
.r221-siteheader-root[data-motion="true"] .r221-siteheader-masthead {
  clip-path: inset(var(--header-join-mask) 0 0 0);
}
.r221-siteheader-root[data-motion="true"] .r221-siteheader-primary {
  clip-path: inset(max(0px, calc(var(--header-join-mask) - var(--header-masthead-height))) 0 0 0);
}

.r221-siteheader-masthead {
  display: grid;
  flex-shrink: 0;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  block-size: var(--header-masthead-height);
  padding-inline: var(--header-gutter);
  border-block-end: var(--header-divider-width) solid var(--color-header-divider);
}

.r221-siteheader-utilities {
  display: flex;
  align-items: center;
  gap: var(--space-24);
  margin-inline-start: 0;
  min-inline-size: 0;
  transform: translateY(0.8px);
}

.r221-siteheader-utility {
  border: 0;
  background: transparent;
  font-family: inherit;
  cursor: pointer;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  flex: none;
  gap: var(--space-4);
  padding: 0;
  border-radius: var(--radius-control);
  color: var(--color-white);
  font-size: var(--type-utility-size);
  font-weight: var(--type-nav-weight);
  line-height: var(--type-utility-line);
  letter-spacing: var(--type-utility-tracking);
  text-decoration: none;
  white-space: nowrap;
  transition: color var(--motion-color-duration) ease;
}

.r221-siteheader-utilityIcon,
.r221-siteheader-searchIcon {
  display: flex;
  align-items: center;
  justify-content: center;
  inline-size: var(--icon-size);
  block-size: var(--icon-size);
}

.r221-siteheader-utility[data-variant="top-stories"] .r221-siteheader-utilityIcon {
  block-size: var(--space-26);
}

.r221-siteheader-utility[data-variant="radio"] {
  padding-block-end: 0;
}
.r221-siteheader-utility > span:last-child { text-box-trim: trim-both; text-box-edge: cap alphabetic; }
.r221-siteheader-utility[data-variant="radio"] .r221-siteheader-utilityIcon { inline-size: 24px; block-size: 24px; }

.r221-siteheader-logo,
.r221-siteheader-compactLogo {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.r221-siteheader-logo {
  inline-size: var(--header-logo-width);
  block-size: var(--header-logo-height);
  transform: translate(-0.01px, 1px);
}

.r221-siteheader-sharedLogo {
  position: absolute;
  inset-inline-start: calc(50% - var(--header-logo-width) / 2 - 0.01px);
  inset-block-start: calc((var(--header-masthead-height) - var(--header-logo-height)) / 2 + 1px);
  inline-size: var(--header-logo-width);
  block-size: var(--header-logo-height);
  z-index: calc(var(--header-compact-z-index) + 1);
  display: block;
  background: transparent;
  opacity: 1;
  overflow: hidden;
}
.r221-siteheader-sharedLogo > img {
  inline-size: var(--header-logo-width);
  block-size: var(--header-logo-height);
  object-fit: contain;
  opacity: 1;
  transform: scale(var(--header-logo-scale, 1));
  transform-origin: 0 0;
}

.r221-siteheader-account {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: var(--space-16);
  min-inline-size: 0;
  transform: translateY(0.8px);
}
.r221-siteheader-account .r221-siteheader-searchAction,
.r221-siteheader-compactActions .r221-siteheader-searchAction {
  inline-size: var(--icon-size);
  block-size: var(--icon-size);
  padding: 0;
}

.r221-siteheader-account .r221-siteheader-accountAction,
.r221-siteheader-compactActions .r221-siteheader-accountAction {
  gap: var(--space-4);
  padding: 0;
  block-size: auto;
  color: var(--color-white);
  background: transparent;
  font-size: var(--type-utility-size);
  font-weight: var(--type-utility-weight);
  line-height: var(--type-utility-line);
}
.r221-siteheader-accountIcon { display: inline-flex; align-items: center; justify-content: center; inline-size: 20px; block-size: 20px; flex: none; }
.r221-siteheader-account .r221-siteheader-accountAction,
.r221-siteheader-compactActions .r221-siteheader-accountAction { text-box-trim: trim-both; text-box-edge: cap alphabetic; }

.r221-siteheader-primary {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  gap: var(--space-16);
  block-size: var(--header-nav-height);
  padding: var(--space-8) var(--space-32);
  min-inline-size: 0;
}

.r221-siteheader-leading {
  display: flex;
  align-items: center;
  gap: var(--space-16);
  flex: none;
}

.r221-siteheader-divider {
  inline-size: var(--border-width);
  block-size: var(--space-32);
  background: var(--color-white-translucent);
}

.r221-siteheader-groups {
  display: flex;
  align-items: center;
  gap: var(--space-16);
  min-inline-size: 0;
  overflow-x: auto;
}

.r221-siteheader-group {
  display: flex;
  align-items: center;
  gap: var(--space-16);
  flex: none;
  margin: 0;
  padding: 0;
  list-style: none;
}

.r221-siteheader-group + .r221-siteheader-group::before {
  content: "";
  flex: none;
  inline-size: var(--border-width);
  block-size: var(--space-32);
  background: var(--color-white-translucent);
}

.r221-siteheader-navLink {
  border: 0;
  background: transparent;
  font-family: inherit;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  min-block-size: var(--space-40);
  padding-block: var(--space-8);
  padding-inline: 0;
  color: var(--color-white);
  font-size: var(--type-nav-size);
  font-weight: var(--type-nav-desktop-weight);
  line-height: var(--type-nav-line);
  letter-spacing: var(--type-nav-tracking);
  text-decoration: none;
  white-space: nowrap;
  transition: color var(--motion-color-duration) ease;
}

.r221-siteheader-navLink[aria-current="page"] { color: var(--color-accent); }
.r221-siteheader-navLink:active { opacity: var(--opacity-article-feedback); }

@media (hover: hover) and (pointer: fine) {
  .r221-siteheader-navLink:hover { color: var(--color-accent); }
  .r221-siteheader-utility:hover { color: var(--color-accent); }
  .r221-siteheader-searchAction:hover { color: var(--color-accent); opacity: 1; }
  .r221-siteheader-accountAction:hover { opacity: var(--opacity-secondary); }
}

.r221-siteheader-utility:active { opacity: var(--opacity-article-feedback); }

.r221-siteheader-searchAction,
.r221-siteheader-searchAction[aria-disabled="true"] {
  color: var(--color-utility);
  cursor: pointer;
  transition: color var(--motion-color-duration) ease;
}
.r221-siteheader-root .r221-siteheader-searchAction,
.r221-siteheader-root .r221-siteheader-searchAction[aria-disabled="true"] { color: var(--color-white); }
@media (hover: hover) and (pointer: fine) {
  .r221-siteheader-root .r221-siteheader-searchAction:hover,
  .r221-siteheader-root .r221-siteheader-searchAction[aria-disabled="true"]:hover { color: var(--color-accent); }
}

.r221-siteheader-accountAction,
.r221-siteheader-accountAction[aria-disabled="true"] {
  cursor: pointer;
}

.r221-siteheader-accountAction:active {
  opacity: var(--opacity-secondary);
}
.r221-siteheader-account .r221-siteheader-accountAction:focus-visible,
.r221-siteheader-compactActions .r221-siteheader-accountAction:focus-visible {
  outline: var(--focus-ring-width) solid var(--color-white);
  outline-offset: var(--space-4);
}

/* One-pixel marker at the source header's bottom, outside the document flow. */
.r221-siteheader-sentinel {
  position: absolute;
  inset-inline-start: 0;
  inset-block-end: 0;
  inline-size: 1px;
  block-size: 1px;
  pointer-events: none;
}

.r221-siteheader-compact {
  position: fixed;
  inset-block-start: 0;
  inset-inline: 0;
  z-index: var(--header-compact-z-index);
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: var(--space-24);
  block-size: var(--header-compact-height);
  padding: var(--header-compact-padding-block) var(--header-gutter);
  color: var(--color-white);
  background: var(--color-header-surface);
  font-family: var(--font-body);
  visibility: hidden;
  opacity: 1;
  transform: translate3d(0, -100%, 0);
  will-change: transform;
  pointer-events: none;
}

.r221-siteheader-compact[data-visible="true"] {
  visibility: visible;
  opacity: 1;
  transform: translate3d(0, 0, 0);
  pointer-events: auto;
}

.r221-siteheader-compactLogo {
  inline-size: var(--header-compact-logo-width);
  block-size: var(--header-compact-logo-height);
}

.r221-siteheader-compactNavigation {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: var(--space-16);
  min-inline-size: 0;
}

.r221-siteheader-compactActions {
  display: flex;
  align-items: center;
  gap: var(--space-16);
}

.r221-siteheader-navLink:focus-visible,
.r221-siteheader-utility:focus-visible,
.r221-siteheader-logo:focus-visible,
.r221-siteheader-sharedLogo:focus-visible,
.r221-siteheader-compactLogo:focus-visible {
  outline: var(--focus-ring-width) solid var(--color-accent);
  outline-offset: var(--space-4);
}

/* Keep the whole focus ring inside the horizontally scrollable navigation. */
.r221-siteheader-navLink:focus-visible {
  outline-offset: calc(-1 * var(--focus-ring-width));
}

@media (prefers-reduced-motion: reduce) {
  .r221-siteheader-navLink, .r221-siteheader-utility, .r221-siteheader-searchAction, .r221-siteheader-searchAction[aria-disabled="true"], .r221-siteheader-accountAction { transition: none; }
  .r221-siteheader-compact {
    transition: none;
  }
}

@media (max-width: 767px) {
  /* The mobile sticky row is constrained by the page, not a 127px header box. */
  .r221-siteheader-shell { display: contents; }
  .r221-siteheader-root, .r221-siteheader-compact, .r221-siteheader-sharedLogo, .r221-siteheader-sentinel { display: none; }
}


/* SocialFollowPromo */
.r221-socialfollowpromo-root { display: grid; grid-template-columns: 300px minmax(0, 1fr); align-items: start; gap: var(--space-20); border: var(--border-width) solid var(--color-border); padding: var(--space-20); min-inline-size: 0; }
.r221-socialfollowpromo-artwork { block-size: 168px; inline-size: 300px; }
.r221-socialfollowpromo-content { display: flex; flex-direction: column; min-inline-size: 0; min-block-size: 168px; align-self: stretch; }
.r221-socialfollowpromo-title { padding-block-end: var(--space-8); font-size: var(--type-card-title-size); font-weight: var(--type-card-title-weight); line-height: var(--type-card-title-line); }
.r221-socialfollowpromo-description { padding-block-end: var(--space-16); color: var(--color-muted); font-size: var(--type-body-size); font-weight: var(--type-body-weight); line-height: var(--type-body-line); }
.r221-socialfollowpromo-actions { display: flex; gap: var(--space-12); justify-content: flex-end; align-items: flex-end; min-block-size: var(--space-60); margin-block-start: auto; padding-block: var(--space-28) var(--space-8); }
.r221-socialfollowpromo-actions a { display: inline-flex; flex: none; transition: opacity var(--motion-color-duration) ease; }
@media (hover: hover) and (pointer: fine) { .r221-socialfollowpromo-actions a:hover { opacity: var(--opacity-secondary); } }
.r221-socialfollowpromo-actions a:focus-visible { outline: var(--focus-ring-width) solid var(--color-brand); outline-offset: var(--space-4); }
@media (prefers-reduced-motion: reduce) { .r221-socialfollowpromo-actions a { transition: none; } }

@media (max-width: 1023px) {
  .r221-socialfollowpromo-root { grid-template-columns: 300px minmax(0, 1fr); border: 0; box-shadow: inset 0 0 0 var(--border-width) var(--color-border); }
  .r221-socialfollowpromo-artwork { inline-size: 100%; block-size: auto; aspect-ratio: 300 / 168; }
  .r221-socialfollowpromo-artwork img { inline-size: 100% !important; block-size: 100% !important; object-fit: contain; }
  .r221-socialfollowpromo-content { min-block-size: 0; }
  .r221-socialfollowpromo-description { padding-block-end: 0; }
  .r221-socialfollowpromo-actions { min-block-size: 0; margin-block-start: 0; padding-block: var(--space-16) 0; align-items: center; }
  .r221-socialfollowpromo-actions a { inline-size: var(--mobile-touch-size); block-size: var(--mobile-touch-size); align-items: center; justify-content: center; }
}

@media (max-width: 767px) {
  .r221-socialfollowpromo-root { grid-template-columns: var(--mobile-promo-artwork-width) minmax(0, 1fr); gap: var(--space-12); padding: var(--space-16); border: var(--border-width) solid var(--color-border); box-shadow: none; }
  .r221-socialfollowpromo-artwork { inline-size: var(--mobile-promo-artwork-width); aspect-ratio: 356 / 200.48; grid-column: 1; grid-row: 1; }
  .r221-socialfollowpromo-content { display: contents; }
  .r221-socialfollowpromo-title { grid-column: 2; grid-row: 1; align-self: center; padding: 0; font-size: var(--type-mobile-compact-size); line-height: var(--type-mobile-compact-line); }
  .r221-socialfollowpromo-description { grid-column: 1 / -1; grid-row: 2; color: var(--color-text); }
  .r221-socialfollowpromo-actions { grid-column: 1 / -1; grid-row: 3; justify-content: flex-start; padding: 0; }
}
