/* Featured photographs: server-rendered header and shared Portal cards. */
body .e112x .e112x-article-hero.edu112-photo-hero {
  display: block;
  padding: 0;
  min-height: 480px;
  background: #142d43;
  border: 0;
  isolation: isolate;
  container-type: inline-size;
  container-name: edu112-photo;
}
body .edu112-photo-hero .edu112-hero-image {
  position: absolute;
  inset: 0;
  z-index: -2;
  margin: 0;
  pointer-events: none;
}
body .edu112-photo-hero .edu112-hero-image .edu112-hero-photo {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  object-fit: cover;
  object-position: var(--edu112-photo-position, 50% 50%);
}
body .edu112-photo-hero .edu112-hero-shade {
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(9,27,43,.97) 0%, rgba(9,27,43,.93) 40%, rgba(9,27,43,.76) 69%, rgba(9,27,43,.13) 100%);
}
body .edu112-photo-hero .edu112-hero-copy {
  position: relative;
  width: 72%;
  max-width: 820px;
  min-height: 480px;
  padding: 38px 38px 40px;
  box-sizing: border-box;
}
body .e112x .edu112-photo-hero .edu112-hero-copy .e112x-back {
  color: #e4edf6;
  margin-bottom: 29px;
}
body .e112x .edu112-photo-hero .edu112-hero-copy .e112x-kicker {
  color: #c0ddf6;
  font-size: 11px !important;
  line-height: 1.6 !important;
  letter-spacing: 1.8px;
}
body .e112x .edu112-photo-hero .edu112-hero-copy h1 {
  color: #fff !important;
  font-size: clamp(30px, 3.2vw, 44px) !important;
  line-height: 1.16 !important;
  letter-spacing: -1.3px !important;
  margin: 15px 0 22px !important;
  max-width: none;
  text-wrap: balance;
  overflow-wrap: anywhere;
}
body .e112x .edu112-photo-hero .edu112-hero-copy > p {
  color: #f0f4f8 !important;
  font-size: 16px !important;
  line-height: 1.75 !important;
  margin: 0 0 29px !important;
  max-width: 650px;
  overflow-wrap: anywhere;
}
body .e112x .edu112-photo-hero .edu112-hero-copy .e112x-reading-meta {
  color: #eef4fa !important;
  font-size: 12px;
  line-height: 1.7;
}
body .edu112-photo-hero .edu112-photo-logo {
  position: absolute;
  top: 27px;
  right: 27px;
  max-width: calc(100% - 40px);
  padding: 14px 17px;
  border: 1px solid #ffffff60;
  border-radius: 12px;
  background: #f3f5f7;
  box-shadow: 0 4px 20px #071a2c15;
}
body .edu112-photo-logo .brand {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: #202b25;
  white-space: nowrap;
}
body .edu112-photo-logo .brand-number {
  font-family: Manrope, Arial, sans-serif;
  font-weight: 800;
  font-size: 34px !important;
  line-height: 1 !important;
  letter-spacing: -2.4px;
  color: #202b25;
}
body .edu112-photo-logo .brand-dot { color: #c34422; }
body .edu112-photo-logo .brand-copy {
  display: block !important;
  font-family: 'DM Sans', Arial, sans-serif;
  color: #202b25;
  font-weight: 700;
  font-size: 11.2px !important;
  line-height: 1.4 !important;
  letter-spacing: 1.04px;
  border-left: 1px solid #c5c8be;
  padding-left: 9.6px;
}
body :is(.e112x-card-art,.p-art).edu112-photo-card {
  position: relative;
  overflow: hidden;
  padding: 0;
  background: #e6edf3;
}
body :is(.e112x-card-art,.p-art).edu112-photo-card::before,
body :is(.e112x-card-art,.p-art).edu112-photo-card::after { display: none; }
body :is(.e112x-card-art,.p-art).edu112-photo-card .edu112-card-image {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  border-radius: 0 !important;
  object-fit: cover;
  object-position: var(--edu112-photo-position, 50% 50%);
}
/* Container queries also cover the article's narrower column beside its TOC. */
@container edu112-photo (max-width: 900px) {
  body .edu112-photo-hero .edu112-hero-copy { width: 76%; padding-inline: 30px; }
  body .e112x .edu112-photo-hero .edu112-hero-copy h1 { font-size: 36px !important; }
  body .edu112-photo-hero .edu112-photo-logo { top: 24px; right: 24px; padding: 11px 13px; }
}
@container edu112-photo (max-width: 650px) {
  body .edu112-photo-hero .edu112-hero-image { bottom: auto; height: 370px; }
  body .edu112-photo-hero .edu112-hero-image .edu112-hero-photo { object-position: var(--edu112-photo-mobile-position, 80% 50%); }
  body .edu112-photo-hero .edu112-hero-shade { background: linear-gradient(180deg, #091b2b0d 0, #091b2b33 120px, #142d43f0 270px, #142d43 360px); }
  body .edu112-photo-hero .edu112-hero-copy { width: 100%; max-width: none; min-height: 0; padding: 213px 25px 29px; }
  body .e112x .edu112-photo-hero .edu112-hero-copy h1 { font-size: 33px !important; letter-spacing: -.9px !important; }
  body .e112x .edu112-photo-hero .edu112-hero-copy > p { font-size: 15px !important; }
  body .edu112-photo-hero .edu112-photo-logo { top: 20px; right: 20px; }
}
@media (max-width: 740px) {
  body .e112x .e112x-article-hero.edu112-photo-hero { min-height: 0; border-radius: 18px; }
}
@container edu112-photo (max-width: 380px) {
  body .edu112-photo-hero .edu112-hero-copy { padding-inline: 21px; }
  body .e112x .edu112-photo-hero .edu112-hero-copy h1 { font-size: 29px !important; }
  body .edu112-photo-hero .edu112-hero-copy .e112x-meta-dot { display: none; }
  body .edu112-photo-hero .edu112-hero-copy .e112x-reading-meta > span:last-child { flex-basis: 100%; padding-left: 25px; }
}
@media print {
  body .e112x .e112x-article-hero.edu112-photo-hero { background: #fff; min-height: 0; border: 1px solid #aaa; }
  body .edu112-photo-hero .edu112-hero-image, body .edu112-photo-hero .edu112-photo-logo, body .edu112-photo-hero .edu112-hero-shade { display: none !important; }
  body .edu112-photo-hero .edu112-hero-copy { width: 100%; max-width: none; min-height: 0; padding: 20px; }
  body .e112x .edu112-photo-hero .edu112-hero-copy :is(h1,p,.e112x-kicker,.e112x-reading-meta,.e112x-back) { color: #111 !important; }
}
