/* Scoped service films shared by the homepage and service pages. */
.psf-service-films { width:100%; min-width:0; margin:2rem 0; padding:clamp(1rem,3vw,2.5rem); background:#101e2b; border:1px solid #344553; border-radius:20px; color:#f7f5ef; scroll-margin-top:6rem; }
.psf-service-films .psf-service-films__intro { margin-bottom:1.5rem; }
.psf-service-films .psf-service-films__eyebrow { margin:0 0 .5rem; font:700 .78rem/1.5 Arial,sans-serif; letter-spacing:.14em; text-transform:uppercase; color:#dcc18c; }
.psf-service-films h2 { margin:0; color:#fff; font-size:clamp(1.65rem,3vw,2.4rem); line-height:1.2; }
.psf-service-films__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.25rem; align-items:start; }
.psf-service-films .psf-film { min-width:0; overflow:hidden; border:1px solid #3a4955; border-radius:12px; background:#172936; }
.psf-service-films .psf-film__media { background:#07111b; }
.psf-service-films video { display:block; width:100%; max-width:100%; height:auto; aspect-ratio:16/9; object-fit:contain; }
.psf-service-films .psf-film__body { padding:1.25rem; }
.psf-service-films .psf-film__duration { color:#dcc18c; font:600 .78rem/1.5 Arial,sans-serif; margin:0 0 .6rem; }
.psf-service-films h3 { margin:0 0 .65rem; color:#fff; font-size:1.45rem; line-height:1.25; }
.psf-service-films .psf-film__description { color:#e0e6e9; font-size:1rem; line-height:1.55; margin:0 0 1rem; }
.psf-service-films a { color:#ecd09a; }
.psf-service-films .psf-film__link { display:inline-block; font-size:1rem; font-weight:700; text-underline-offset:4px; }
.psf-service-films a:hover { color:#fff; }
.psf-service-films :focus-visible { outline:3px solid #ecd09a; outline-offset:4px; }
.psf-service-films .psf-film__transcript { margin-top:1.25rem; padding-top:1rem; border-top:1px solid #3a4955; color:#e0e6e9; }
.psf-service-films summary { cursor:pointer; font-size:.9rem; }
.psf-service-films .psf-film__transcript p { font-size:.95rem; line-height:1.6; color:#e0e6e9; margin:1rem 0 0; }
.psf-service-films__grid--single { grid-template-columns:1fr; }
.psf-service-films .psf-film--featured { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(0,1fr); align-items:start; }
@media(max-width:991px) { .psf-service-films__grid { grid-template-columns:1fr; } .psf-service-films .psf-film--featured { grid-template-columns:1fr; } }

/* The site rebrand sets global text colors with !important. Keep film text legible. */
body.page-rebrand .psf-service-films h2,
body.page-rebrand .psf-service-films h3 { color:#fff !important; }
body.page-rebrand .psf-service-films .psf-service-films__eyebrow,
body.page-rebrand .psf-service-films .psf-film__duration { color:#dcc18c !important; }
body.page-rebrand .psf-service-films .psf-film__description,
body.page-rebrand .psf-service-films .psf-film__transcript,
body.page-rebrand .psf-service-films .psf-film__transcript p { color:#e0e6e9 !important; }

/* Homepage films replace the existing coverage-card illustrations. */
.coverage-grid#service-videos { scroll-margin-top:6rem; }
.coverage-card--film .coverage-card-media { aspect-ratio:16/9; padding:0; background:#07111b; }
.coverage-card--film .coverage-card-media::before,
.coverage-card--film .coverage-card-media::after { content:none; }
.coverage-card--film video { display:block; width:100%; height:auto; aspect-ratio:16/9; object-fit:contain; }
.coverage-card--film .coverage-card-body h3 a { color:inherit; text-decoration:none; }
.coverage-card--film .coverage-film-link { display:inline-block; margin-top:.8rem; color:#173655; font-weight:700; text-underline-offset:4px; }
.coverage-card--film a:focus-visible,
.coverage-card--film video:focus-visible { outline:3px solid #b78b2c; outline-offset:3px; }
