:root { --afp-person-photo-radius: clamp(34px, 3.5vw, 52px); }
html { color-scheme: light; scroll-behavior: smooth; }
body { margin: 0; }
*, *::before, *::after { box-sizing: border-box; }
img, svg { max-width: 100%; }
safe-image { display: block; }
safe-image[radius] { overflow: hidden; }
.afp-person-photo-frame,
.afp-person-photo-frame > safe-image {
  border-radius: var(--afp-person-photo-radius) !important;
  overflow: hidden;
}
.afp-person-photo-frame { isolation: isolate; }
.afp-person-photo-frame > safe-image { display: block; }
.afp-person-photo-veil {
  border-radius: 0 0 var(--afp-person-photo-radius) var(--afp-person-photo-radius) !important;
}
html:not(.enhanced) .afp-reveal,
html:not(.enhanced) .afp-rise { opacity: 1 !important; transform: none !important; }
:focus-visible { outline: 3px solid var(--focus-ring, #cf6353); outline-offset: 3px; }

.afp-canonical-reader { min-height: 100vh; background: var(--surface-canvas); color: var(--text-body); font-family: var(--font-sans); overflow-x: hidden; }
.afp-editorial-page { min-height: 75vh; }
.afp-editorial-page #editorial-content[aria-busy="true"] { min-height: 1800px; visibility: hidden; }
.afp-featured-slot { min-height: 560px; }
.afp-article-grid-section { min-height: 780px; }
.afp-canonical-reader .afp-canonical-article { margin: 0 auto; max-width: 760px; padding: clamp(40px,6vw,64px) clamp(20px,5vw,32px) 0; }
.afp-canonical-reader .afp-canonical-breadcrumb { align-items: center; color: var(--text-subtle); display: flex; font-size: 13.5px; gap: 8px; margin-bottom: clamp(24px,3vw,32px); }
.afp-canonical-reader .afp-canonical-breadcrumb .afp-editorial-back { color: var(--text-subtle); margin: 0; text-decoration: none; }
.afp-canonical-reader .afp-canonical-breadcrumb i { font-size: 12px; }
.afp-canonical-reader #editorial-breadcrumb { color: var(--text-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.afp-canonical-reader .afp-canonical-meta-top { align-items: center; color: var(--text-subtle); display: flex; flex-wrap: wrap; font-size: 13.5px; gap: 12px; }
.afp-canonical-reader .afp-canonical-meta-top #editorial-kind { background: var(--afp-terracotta-50); border: 1px solid var(--afp-terracotta-200); border-radius: var(--radius-pill); color: var(--afp-terracotta-700); font-size: 12px; font-weight: 650; padding: 6px 12px; }
.afp-canonical-reader .afp-canonical-meta-top span + span::before { color: var(--text-subtle); content: "·"; margin-right: 12px; }
.afp-canonical-reader .afp-canonical-article > h1 { color: var(--text-strong); font-family: var(--font-sans); font-size: clamp(23px,2.6vw,52px); font-weight: 800; letter-spacing: -.026em; line-height: 1.08; margin: 20px 0 0; text-wrap: balance; }
.afp-canonical-reader .afp-editorial-subtitle { color: var(--afp-terracotta-600); font-family: var(--font-display); font-size: clamp(19px,2.2vw,24px); font-style: italic; font-weight: 500; line-height: 1.4; margin: 16px 0 0; text-wrap: balance; }
.afp-canonical-reader .afp-editorial-excerpt { color: var(--text-muted); font-size: 17px; line-height: 1.72; margin: 22px 0 0; }
.afp-canonical-reader .afp-editorial-meta { color: var(--text-subtle); display: flex; flex-wrap: wrap; font-size: 12.5px; gap: 8px 18px; margin-top: 18px; }
.afp-canonical-reader .afp-editorial-cover { border-radius: 22px; box-shadow: var(--shadow-lg); margin: clamp(32px,4vw,44px) 0 0; overflow: hidden; }
.afp-canonical-reader .afp-editorial-cover img { aspect-ratio: 4/3; border-radius: 22px; display: block; height: auto; max-height: none; object-fit: cover; width: 100%; }
.afp-canonical-reader .afp-editorial-notice { margin-top: 28px; }
.afp-canonical-reader .afp-editorial-body { color: var(--text-body); font-family: var(--font-sans); font-size: 18px; line-height: 1.78; margin-top: clamp(36px,4.5vw,48px); max-width: none; }
.afp-canonical-reader .afp-editorial-body h2,
.afp-canonical-reader .afp-editorial-body h3 { color: var(--text-strong); font-family: var(--font-sans); font-weight: 700; }
.afp-canonical-reader .afp-editorial-body h2 { font-size: clamp(24px,2.8vw,30px); letter-spacing: -.015em; line-height: 1.24; margin: 44px 0 18px; }
.afp-canonical-reader .afp-editorial-body h3 { font-size: clamp(20px,2.2vw,24px); letter-spacing: -.01em; line-height: 1.3; margin: 36px 0 16px; }
.afp-canonical-reader .afp-editorial-body blockquote { border-left: 3px solid var(--afp-terracotta-400); font-size: 22px; line-height: 1.5; margin: 32px 0; padding: 4px 0 4px 24px; }
.afp-canonical-reader .afp-editorial-aside { border: 0; border-top: 1px solid var(--border-subtle); display: flex; flex-wrap: wrap; gap: 12px 18px; margin-top: 34px; padding: 24px 0 0; position: static; }
.afp-canonical-reader .afp-editorial-aside p { align-self: center; margin: 0; }
.afp-canonical-reader .afp-editorial-aside .afp-button { margin: 0 0 0 auto; width: auto; }
.afp-canonical-reader .afp-editorial-tags { margin-top: 32px; }
.afp-canonical-reader .afp-editorial-related { border-top: 1px solid var(--border-subtle); margin: clamp(64px,8vw,100px) auto 0; max-width: var(--container-xl); padding: clamp(48px,6vw,72px) clamp(20px,5vw,56px); }
.afp-canonical-reader .afp-related-grid { gap: clamp(24px,3vw,32px); }
.afp-canonical-reader .afp-related-card img { aspect-ratio: 4/3; border-radius: 16px; }
.afp-canonical-reader .afp-related-card span { margin-top: 16px; }
.afp-canonical-reader .afp-related-card h3 { font-family: var(--font-sans); font-size: 18px; font-weight: 600; letter-spacing: -.012em; line-height: 1.28; margin-top: 10px; }
@media (max-width: 760px) {
  .afp-editorial-page #editorial-content[aria-busy="true"] { min-height: 3550px; }
  .afp-featured-slot { min-height: 780px; }
  .afp-article-grid-section { min-height: 1830px; }
  .afp-canonical-reader .afp-related-grid { grid-template-columns: 1fr; }
  .afp-canonical-reader .afp-editorial-aside { align-items: flex-start; flex-direction: column; }
  .afp-canonical-reader .afp-editorial-aside .afp-button { margin-left: 0; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
