/* Shared public pages. Keep the existing portfolio's typography and geometry. */
[hidden] { display: none !important; }
html { scroll-padding-top: 6rem; }
.rtl { direction: rtl; }
.seo-skip-link { position: fixed; top: -8rem; left: 1rem; z-index: 10000; padding: .75rem 1rem; background: #fff; color: #111827; border-radius: .4rem; }
.seo-skip-link:focus { top: 1rem; }
.seo-page-content { width: 100%; max-width: 1280px; margin-inline: auto; padding: 7rem 1rem 3rem; }
.seo-page-intro { margin: 1rem 0 2rem; }
main header.seo-page-intro { background: transparent !important; backdrop-filter: none; border: 0; box-shadow: none; }
.seo-page-intro h1 { font-size: clamp(1.4rem, 3.2vw, 2.35rem); font-weight: 600; line-height: 1.3; overflow-wrap: anywhere; }
.seo-page-intro p, .seo-film-details p { color: #cbd5e1; line-height: 1.8; white-space: pre-line; }
.seo-breadcrumbs { display: flex; flex-wrap: wrap; gap: .5rem; color: #cbd5e1; font-size: .9rem; margin-bottom: 1rem; }
.seo-breadcrumbs a:hover, .seo-section-link:hover, .seo-footer a:hover { color: #60a5fa; }
.seo-section-link { color: inherit; }
.seo-film-link { display: block; color: inherit; text-decoration: none; }
.seo-film-link > .tile-preview { position: absolute; inset: 0; width: 100%; height: 100%; }
.seo-film-link:focus-visible { outline-offset: -4px; outline: 3px solid #60a5fa; }
.aspect-w-16 { position: relative; padding-bottom: 56.25%; }
.aspect-w-16 > *:not(.video-text-overlay) { position: absolute; height: 100%; width: 100%; inset: 0; }
.rtl .section-videos { direction: ltr; }
.rtl .video-title, .rtl .video-description { text-align: right; }
.video-grid-mobile-cols-1 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
.video-grid-mobile-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.video-grid-mobile-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.section-videos { display: grid; }
.hero-carousel[data-ssr] { width: var(--hero-size-desktop, 100%); margin: 0 auto 3rem; }
.hero-carousel[data-ssr] .carousel-slides { direction: ltr; }
.hero-carousel[data-ssr] .hero-title-container { text-align: var(--hero-align, center); bottom: var(--hero-bottom, 14%); }
.hero-carousel[data-ssr] .hero-title-container .video-title { text-align: inherit; }
.hero-carousel .hero-preview { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; object-position: center; background: #000; opacity: 0; z-index: 2; pointer-events: none; transform: none; transition: opacity 280ms cubic-bezier(.16,1,.3,1); }
.hero-carousel .carousel-slide.previewing .hero-preview { opacity: 1; }
.hero-carousel .hero-play-hint { z-index: 3; pointer-events: none; }
.hero-carousel .carousel-slide.previewing .hero-play-hint { opacity: 0; }
.carousel-pause { color: #fff; background: rgba(0,0,0,.55); border-radius: 999px; min-width: 1.5rem; height: 1.5rem; font-size: .8rem; line-height: 1; }
.carousel-controls { align-items: center; }
.seo-hero-controls[hidden] { display: none; }
.video-item[data-ssr], .video-item[data-ssr] img { opacity: 1; transform: none; }
.video-text-overlay { position: absolute; bottom: 0; left: 0; right: 0; top: auto; }
.seo-section-description { color: #cbd5e1; margin: -.25rem 0 1rem; white-space: pre-line; }
.seo-about-image { width: auto; height: auto; }
#about-text { white-space: pre-line; }
.contact-value { overflow-wrap: anywhere; }
.contact-social-label { font-size: .85rem; }
.seo-watch-player { position: relative; width: 100%; aspect-ratio: 16 / 9; background: #000; border-radius: 1rem; overflow: hidden; }
.seo-watch-player iframe { position: absolute; inset: 0; border: 0; width: 100%; height: 100%; }
.seo-film-details { margin: 1.5rem 0 3rem; }
.seo-film-details h2, .seo-related-heading { font-size: 1.5rem; font-weight: 600; margin: 1.5rem 0 1rem; }
.seo-related-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.25rem; }
.seo-work-card { display: block; min-width: 0; background: #1f2937; border: 1px solid #374151; border-radius: .75rem; overflow: hidden; color: inherit; }
.seo-work-card img { width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; }
.seo-work-title { font-size: 1.1rem; font-weight: 600; margin: 1rem; overflow-wrap: anywhere; }
.seo-work-description { color: #cbd5e1; margin: 0 1rem 1rem; overflow-wrap: anywhere; }
.seo-unavailable { padding: 2rem; border: 1px solid #374151; background: #1f2937; border-radius: .75rem; line-height: 1.8; }
.seo-footer { background: #000; padding: 2rem 1rem; color: #cbd5e1; }
.seo-footer > div { max-width: 1280px; margin-inline: auto; display: flex; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
@media (max-width: 1400px) {
  .hero-carousel[data-ssr] .carousel-prev { left: .5rem; right: auto; }
  .hero-carousel[data-ssr] .carousel-next { right: .5rem; left: auto; }
  html.rtl .hero-carousel[data-ssr] .carousel-prev { right: .5rem; left: auto; }
  html.rtl .hero-carousel[data-ssr] .carousel-next { left: .5rem; right: auto; }
}
@media (min-width: 768px) {
  .video-grid-desktop-cols-1 { grid-template-columns: repeat(1,minmax(0,1fr)); }
  .video-grid-desktop-cols-2 { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .video-grid-desktop-cols-3 { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .video-grid-desktop-cols-4 { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .video-grid-desktop-cols-5 { grid-template-columns: repeat(5,minmax(0,1fr)); }
  .video-grid-desktop-cols-6 { grid-template-columns: repeat(6,minmax(0,1fr)); }
}
@media (max-width: 767px) {
  .hero-carousel[data-ssr] { width: var(--hero-size-mobile, 100%); }
  .hero-carousel[data-ssr] .hero-title-container { bottom: var(--mobile-hero-bottom, 10%); text-align: var(--mobile-hero-text-align, center); }
  .hero-carousel[data-ssr] .carousel-controls { bottom: .25rem; gap: .35rem; }
  .hero-carousel[data-ssr] .carousel-dot { width: .5rem; height: .5rem; }
  .hero-carousel[data-ssr] .carousel-pause { min-width: 1rem; height: 1rem; font-size: .65rem; }
  .seo-related-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: .75rem; }
  .seo-watch-player { border-radius: .5rem; }
  .seo-page-intro { margin-top: .5rem; }
  .seo-work-title { margin: .75rem; font-size: 1rem; }
  .seo-work-description { margin: 0 .75rem .75rem; }
  header > div { min-width: 0; }
  header nav ul { flex-wrap: wrap; justify-content: flex-end; }
}
@media (max-width: 420px) { .seo-related-grid { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) {
  .hero-carousel .hero-preview { display: none; }
  *, *::before, *::after { scroll-behavior: auto !important; }
  .carousel-slides, .carousel-slide, .video-item, .video-item img, .carousel-slide img { transition: none !important; }
  .video-item:hover .aspect-w-16 img, .carousel-slide:hover img { transform: none; }
}
