/* PhysCanvas media/content adapters. Upstream index.css is unchanged. */
body * { letter-spacing: 0 !important; }
.publication-title { font-family: 'Google Sans', 'Noto Sans', Arial, sans-serif; }
#top { width: 100%; min-height: 100vh; min-height: 100svh; }
#top .hero-video { position: absolute; inset: 0; width: 100%; height: 100%; }
/* Fill the first screen without stretching; crop only the outer edges. */
#top .hero-video video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; border-radius: 0; transform: none; }
#top .hero-body { padding-top: 7rem; padding-bottom: 2rem; }
#top h1.publication-title { font-size: 8rem; }
#top h2.publication-title { font-size: 2.65rem; line-height: 1.17; margin: 0 auto 1rem; max-width: 1050px; }
#top .pc-tagline { font-size: 1.65rem; font-weight: 600; color: #fff; margin: 0 auto 1.5rem; }
#top .box { height: 100%; }
#top .pc-hero-resources .button { height: 3.25rem; }
#top .pc-resource-soon[disabled] {
  opacity: 1;
  cursor: default;
  background: #f5f5f5;
  transform: none;
}
#top .pc-resource-label {
  display: flex;
  flex-direction: column;
  align-items: center;
  line-height: 1.15;
}
#top .pc-resource-label small {
  margin-top: .15rem;
  font-size: .6875rem;
  font-weight: 400;
  line-height: 1.2;
}
.publication-video video { position: absolute; inset: 0; width: 100%; height: 100%; }
#summary-video .pc-video-container { width: 100%; max-width: 1200px; }
/* Match the 960x544 source without letterboxing or rounded-corner gaps. */
#summary-video .publication-video {
  height: auto;
  padding: 0;
  aspect-ratio: 960 / 544;
  background: #000;
  border-radius: 0 !important;
}
#summary-video .publication-video video {
  display: block;
  border: 0;
  border-radius: 0;
  object-fit: contain;
  background: #000;
}
#summary-video video::backdrop { background: #000; }
.pc-method { line-height: 1.8; margin: 2rem auto 0; text-align: left; max-width: 920px; }
.pc-playback { position: absolute; bottom: 4.2rem; right: 1rem; z-index: 3; }
.pc-playback button { width: 2.5rem; height: 2.5rem; padding: 0; }
.pc-gallery-note { color: rgba(255,255,255,.82) !important; font-size: .8rem; margin: .6rem auto 0; }
@media (max-width: 1200px) {
  #top h1.publication-title { font-size: 6.5rem; }
  #top h2.publication-title { font-size: 2.1rem; }
}
@media (max-width: 768px) {
  #top .hero-body { padding: 6.5rem 1.25rem 3rem; }
  #top h1.publication-title { font-size: 3.8rem !important; }
  #top h2.publication-title { font-size: 1.4rem !important; }
  #top .pc-tagline { font-size: 1.15rem; }
  #top .columns { display: none; }
  .pc-playback { bottom: 1rem; }
}
@media (max-width: 360px) {
  #top h1.publication-title { font-size: 3.1rem !important; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
.pc-policy-results { scroll-margin-top:75px; }
.pc-policy-results .container { max-width:1200px; }
.pc-policy-results figure { margin:32px 0 0; }
.pc-policy-results figure img { display:block; width:100%; height:auto; }
.pc-policy-results figcaption { max-width:960px; margin:24px auto 0; color:#59655f; line-height:1.7; font-size:16px; }
#policy-learning { background:#f8faf9; }

.pc-framework figure { margin: 2rem 0 0; }
.pc-framework figure a { display: block; }
.pc-framework figure a:focus-visible { outline: 2px solid #2f6fed; outline-offset: 6px; }
.pc-framework figure img { display: block; width: 100%; height: auto; border-radius: 0; }
.pc-framework figcaption { max-width: 960px; margin: 1.75rem auto 0; color: #59655f; font-size: 16px; line-height: 1.75; }
.pc-framework figcaption p + p { margin-top: .85rem; }
.pc-framework figcaption strong { color: #243b34; }
@media (min-width: 1408px) and (max-width: 1679px) {
  body .section.pc-framework > .container { max-width: calc(100vw - 600px); }
}
