.tafi-full-preview { max-width: 1280px; }
.tafi-full-preview-form { align-items: center; display: flex; gap: 12px; margin: 20px 0; }
.tafi-full-preview-summary { background: #fff; border: 1px solid #ccd0d4; margin: 24px 0; padding: 20px; }
.tafi-full-preview-counts { display: grid; gap: 10px; grid-template-columns: repeat(4, minmax(120px, 1fr)); }
.tafi-full-preview-counts div { background: #1a1a1a; color: #f5f0e8; padding: 14px; }
.tafi-full-preview-counts strong, .tafi-full-preview-counts span { display: block; }
.tafi-full-preview-counts strong { color: #e36a32; font: 700 1.5rem Lora, Georgia, serif; }
.tafi-import-article-preview { background: #f5f0e8; border: 1px solid #d8d0c4; color: #1a1a1a; }
.tafi-import-article-preview h2, .tafi-import-article-preview h3 { font-family: Lora, Georgia, serif; }
.tafi-import-hero { background-color: #333; background-position: center; background-size: cover; min-height: 420px; position: relative; }
.tafi-import-hero::before { background: linear-gradient(90deg, rgba(26,26,26,.94), rgba(26,26,26,.28)); content: ''; inset: 0; position: absolute; }
.tafi-import-hero-overlay { color: #f5f0e8; max-width: 650px; padding: 100px 48px 48px; position: relative; }
.tafi-import-hero-overlay > span { color: #e36a32; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.tafi-import-hero-overlay h2 { color: #f5f0e8; font-size: 2.5rem; line-height: 1.12; margin: 22px 0 12px; }
.tafi-import-stats { background: #1a1a1a; color: #f5f0e8; display: grid; grid-template-columns: repeat(4, 1fr); }
.tafi-import-stats div { border-right: 1px solid #3c3c3c; padding: 20px; text-align: center; }
.tafi-import-stats strong, .tafi-import-stats span { display: block; }
.tafi-import-stats strong { font: 700 1.7rem Lora, Georgia, serif; }
.tafi-import-stats span { font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; }
.tafi-import-section { padding: 40px 48px; }
.tafi-import-two-columns { display: grid; gap: 42px; grid-template-columns: minmax(0, 1fr) 260px; }
.tafi-import-two-columns aside { background: #fff; border-top: 3px solid #b5451b; padding: 20px; }
.tafi-import-dark { background: #1a1a1a; color: #f5f0e8; }
.tafi-import-dark h2 { color: #f5f0e8; }
.tafi-import-card-grid { display: grid; gap: 16px; grid-template-columns: repeat(3, 1fr); }
.tafi-import-media-card { background-color: #222; background-position: center; background-size: cover; min-height: 220px; position: relative; }
.tafi-import-media-card::before { background: linear-gradient(0deg, rgba(0,0,0,.9), rgba(0,0,0,.05)); content: ''; inset: 0; position: absolute; }
.tafi-import-media-card div { bottom: 0; left: 0; padding: 20px; position: absolute; right: 0; z-index: 1; }
.tafi-import-media-card small, .tafi-import-media-card em { color: #e36a32; display: block; }
.tafi-import-media-card h3, .tafi-import-media-card h3 a, .tafi-import-media-card p { color: #f5f0e8; }
.tafi-import-simple-card { background: #fff; border-left: 3px solid #b5451b; padding: 12px; }
.tafi-import-simple-card img { aspect-ratio: 16/9; object-fit: cover; width: 100%; }
.tafi-import-simple-card video, .tafi-import-work-video-card video { aspect-ratio: 16/9; background: #111; display: block; object-fit: contain; width: 100%; }
.tafi-import-work-video-card { background: #222; }
.tafi-import-work-video-card > div { padding: 16px; }
.tafi-import-work-video-card small, .tafi-import-work-video-card em { color: #e36a32; display: block; }
.tafi-import-gallery { display: grid; gap: 12px; grid-template-columns: repeat(3, 1fr); }
.tafi-import-gallery figure { margin: 0; }
.tafi-import-gallery img { aspect-ratio: 4/3; object-fit: cover; width: 100%; }
.tafi-import-connections { display: grid; gap: 16px; grid-template-columns: repeat(2, 1fr); }
.tafi-import-connections article { align-items: flex-start; background: #fff; border-left: 3px solid #b5451b; display: flex; gap: 18px; padding: 18px; }
.tafi-import-connections article { color: #1a1a1a; }
.tafi-import-connections article small { color: #b5451b; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.tafi-import-connections article h3 { color: #1a1a1a; }
.tafi-import-connections article p { color: #4a4641; }
.tafi-import-connections img, .tafi-import-image-placeholder { border-radius: 50%; height: 74px; object-fit: cover; width: 74px; }
.tafi-import-image-placeholder { align-items: center; background: #b5451b; color: white; display: flex; font-size: 11px; justify-content: center; }
.tafi-import-institution-films { display: grid; gap: 16px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.tafi-import-institution-films article { background: #1a1a1a; color: #f5f0e8; min-height: 210px; position: relative; }
.tafi-import-institution-films article img { aspect-ratio: 16/9; display: block; height: auto; object-fit: cover; width: 100%; }
.tafi-import-institution-films article video { aspect-ratio: 16/9; background: #111; display: block; object-fit: contain; width: 100%; }
.tafi-import-institution-films article > div { padding: 14px 16px 18px; }
.tafi-import-institution-films article small { color: #e36a32; display: block; font-weight: 700; }
.tafi-import-institution-films article h3 { color: #f5f0e8; margin: 6px 0 0; }
.tafi-import-theme-choreographies ul { columns: 2; column-gap: 48px; }
.tafi-import-theme-choreographies li { break-inside: avoid; margin-bottom: 7px; }
.tafi-import-institution-archive { align-items: center; display: grid; gap: 28px; grid-template-columns: minmax(0, 1fr) minmax(280px, 42%); }
.tafi-import-institution-archive > div { background: #fff; border-left: 3px solid #b5451b; padding: 22px; }
.tafi-import-institution-archive img { display: block; height: auto; width: 100%; }
.tafi-import-film-player { max-width: 900px; }
.tafi-import-film-player video { aspect-ratio: 16/9; background: #111; display: block; object-fit: contain; width: 100%; }
.tafi-import-film-chapters { display: grid; gap: 16px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.tafi-import-film-chapters article { background: #fff; border-left: 3px solid #b5451b; }
.tafi-import-film-chapters img { aspect-ratio: 16/9; object-fit: cover; width: 100%; }
.tafi-import-film-chapters article > div { padding: 16px; }
.tafi-import-film-people > h3 { color: #e36a32; margin-top: 28px; }
.tafi-import-original-text { white-space: normal; }
.tafi-import-timeline { display: flex; gap: 0; list-style: none; margin: 30px 0 0; overflow-x: auto; padding: 0 0 18px; scroll-snap-type: x proximity; }
.tafi-import-timeline li { border-top: 2px solid #b5451b; box-sizing: border-box; flex: 0 0 clamp(230px, 24%, 330px); margin: 0; padding: 0 28px 10px 0; scroll-snap-align: start; }
.tafi-import-timeline li:last-child { flex-basis: clamp(210px, 22%, 300px); padding-right: 0; }
.tafi-import-timeline li > strong { background: #1a1a1a; color: #f5f0e8; display: inline-block; margin-top: -16px; padding: 5px 9px; }
.tafi-import-timeline li h3 { margin: 18px 0 8px; }
.tafi-import-timeline li p { margin: 0; }
.tafi-import-sequence-group { padding: 24px 0; }
.tafi-import-sequence-group:nth-of-type(even) { background: #eee7dc; margin-left: -48px; margin-right: -48px; padding-left: 48px; padding-right: 48px; }
.tafi-import-sequence-grid { display: grid; gap: 12px; grid-template-columns: repeat(3, 1fr); }
.tafi-import-sequence-grid article { background: white; border: 1px solid #ddd; padding: 14px; }
.tafi-import-sequence-grid video { aspect-ratio: 16/9; background: #1a1a1a; display: block; margin-bottom: 10px; object-fit: contain; width: 100%; }
.tafi-import-sequence-grid strong, .tafi-import-sequence-grid small { display: block; }
.tafi-import-sequence-grid em { color: #b5451b; display: block; margin-top: 8px; }
.tafi-full-preview-selection { background: #fff; border: 1px solid #ccd0d4; margin-top: 30px; padding: 24px; }
.tafi-full-preview-selection fieldset { border: 1px solid #ccd0d4; margin: 18px 0; padding: 14px; }
.tafi-full-preview-selection legend { font-weight: 700; padding: 0 8px; }
.tafi-full-preview-selection label { align-items: center; border-bottom: 1px solid #eee; display: grid; gap: 10px; grid-template-columns: 22px 1fr auto; padding: 9px; }
.tafi-full-preview-selection label em { color: #b5451b; }
.tafi-full-preview-selection label.is-excluded { opacity: .45; text-decoration: line-through; }
.tafi-full-preview-disabled { margin: 20px 0 50px; }
.tafi-import-job { background: #fff; border: 1px solid #c3c4c7; border-left: 4px solid #2271b1; border-radius: 4px; margin: 20px 0; max-width: 920px; padding: 18px 20px; }
.tafi-import-job progress { height: 20px; width: 100%; }
.tafi-import-job-file { overflow-wrap: anywhere; }
.tafi-import-job-error { color: #b32d2e; font-weight: 600; }
.tafi-import-job [hidden] { display: none !important; }
@media (max-width: 800px) {
  .tafi-full-preview-counts, .tafi-import-card-grid, .tafi-import-gallery, .tafi-import-sequence-grid, .tafi-import-institution-films, .tafi-import-film-chapters { grid-template-columns: repeat(2, 1fr); }
  .tafi-import-two-columns, .tafi-import-connections, .tafi-import-institution-archive { grid-template-columns: 1fr; }
  .tafi-import-timeline { display: block; overflow-x: visible; padding: 0; scroll-snap-type: none; }
  .tafi-import-timeline li, .tafi-import-timeline li:last-child { border-left: 2px solid #b5451b; border-top: 0; flex: none; padding: 0 0 28px 34px; scroll-snap-align: none; }
  .tafi-import-timeline li:last-child { padding-bottom: 0; }
  .tafi-import-timeline li > strong { margin: 0 0 12px -34px; }
  .tafi-import-timeline li h3 { margin: 0 0 8px; }
}
@media (max-width: 500px) {
  .tafi-full-preview-counts, .tafi-import-card-grid, .tafi-import-gallery, .tafi-import-sequence-grid, .tafi-import-stats, .tafi-import-institution-films, .tafi-import-film-chapters { grid-template-columns: 1fr; }
  .tafi-import-theme-choreographies ul { columns: 1; }
  .tafi-import-section, .tafi-import-hero-overlay { padding-left: 22px; padding-right: 22px; }
}
