:root {
      --turntable-height: 642px;
    }

    body {
      font-family: 'Outfit', sans-serif;
      background: radial-gradient(circle at center, #231917 0%, #0d0908 100%);
      color: #e5dada;
      min-height: 100vh;
      overflow-x: hidden;
    }

    .font-retro {
      font-family: 'Special Elite', cursive;
    }

    /* Wood Texture Effect */
    .wood-chassis {
      background: linear-gradient(135deg, #2c1b18 0%, #1a0f0d 50%, #2a1916 100%);
      box-shadow: 
        inset 0 0 20px rgba(0,0,0,0.8),
        0 20px 40px rgba(0,0,0,0.9),
        0 0 0 1px rgba(255,180,100,0.05);
      border: 8px solid #140a08;
    }

    /* Vinyl Grooves Pattern */
    .vinyl-grooves {
      background: radial-gradient(circle at center, 
        #111 0%, #111 8%, 
        #1c1c1c 9%, #111 10%, 
        #222 15%, #111 16%, 
        #1a1a1a 22%, #0d0d0d 23%,
        #252525 30%, #111 31%,
        #1d1d1d 38%, #0f0f0f 39%,
        #222 45%, #111 46%,
        #1a1a1a 52%, #0d0d0d 53%,
        #252525 60%, #111 61%,
        #1d1d1d 68%, #0f0f0f 69%,
        #222 75%, #111 76%,
        #111 100%);
      box-shadow: 0 10px 25px rgba(0,0,0,0.8), inset 0 0 15px rgba(255,255,255,0.1);
    }

    /* Miniature Navigation Vinyl Discs (in Record Crate) */
    .crate-vinyl {
      position: relative;
      background: radial-gradient(circle at center,
        #151312 0%, #151312 10%,
        #272320 12%, #12100f 14%,
        #2b2724 22%, #12100f 24%,
        #25211f 34%, #141211 36%,
        #2d2925 46%, #12100f 48%,
        #252220 58%, #141211 60%,
        #2d2925 70%, #12100f 72%,
        #292522 84%, #12100f 86%,
        #231f1d 94%, #110f0e 98%,
        #4a3f36 100%
      );
      /* Subtle rim outline + dark drop shadow to separate disc cleanly from dark card background */
      box-shadow:
        0 0 0 1px rgba(212, 175, 55, 0.28),
        0 0 0 1.5px rgba(26, 17, 14, 0.9),
        inset 0 0 0 1px rgba(255, 255, 255, 0.14),
        inset 0 0 4px rgba(0, 0, 0, 0.8),
        0 4px 10px rgba(0, 0, 0, 0.65);
      transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1),
                  box-shadow 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    }

    /* Subtle specular reflection gloss across crate vinyl records */
    .crate-vinyl::after {
      content: '';
      position: absolute;
      inset: 0;
      border-radius: 9999px;
      pointer-events: none;
      background: linear-gradient(
        135deg,
        rgba(255, 255, 255, 0.16) 0%,
        rgba(255, 255, 255, 0.04) 28%,
        rgba(0, 0, 0, 0) 50%,
        rgba(255, 255, 255, 0.08) 100%
      );
    }

    /* Spinning Animation */
    .spinning {
      animation: spin 2.17s linear infinite;
    }
    @keyframes spin {
      0% { transform: rotate(0deg); }
      100% { transform: rotate(360deg); }
    }

    /* Tonearm Transition */
    .tonearm {
      transform-origin: 30px 30px;
      transition: transform 1.2s cubic-bezier(0.4, 0, 0.2, 1);
    }
    .tonearm.playing {
      transform: rotate(26deg);
    }

    /* Brass / Metallic Gradients */
    .gold-accent {
      background: linear-gradient(135deg, #d4af37 0%, #aa820a 50%, #664d00 100%);
    }
    .gold-text {
      background: linear-gradient(135deg, #f3e5ab 0%, #d4af37 50%, #aa820a 100%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
    }

    /* Custom Scrollbar */
    ::-webkit-scrollbar {
      width: 6px;
    }
    ::-webkit-scrollbar-track {
      background: rgba(20, 10, 8, 0.6);
    }
    ::-webkit-scrollbar-thumb {
      background: #4a2e2b;
      border-radius: 3px;
    }
    ::-webkit-scrollbar-thumb:hover {
      background: #7a4843;
    }

    /* Record Dragging & Navigation Card Visuals */
    .record-item {
      transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1),
                  box-shadow 0.2s cubic-bezier(0.4, 0, 0.2, 1),
                  border-color 0.2s cubic-bezier(0.4, 0, 0.2, 1),
                  background-color 0.2s cubic-bezier(0.4, 0, 0.2, 1);
      cursor: grab;
      outline: none;
      user-select: none;
    }
    .record-item:active {
      cursor: grabbing;
      transform: translateY(-2px) scale(0.99);
    }
    .record-item:hover {
      transform: translateY(-5px);
      box-shadow: 0 10px 20px -5px rgba(0, 0, 0, 0.65), 0 0 0 1px rgba(245, 158, 11, 0.35);
    }
    .record-item:hover .crate-vinyl {
      transform: rotate(18deg) scale(1.05);
      box-shadow:
        0 0 0 1px rgba(245, 158, 11, 0.55),
        0 0 0 2px rgba(26, 17, 14, 0.9),
        inset 0 0 0 1px rgba(255, 255, 255, 0.22),
        inset 0 0 5px rgba(0, 0, 0, 0.85),
        0 6px 14px rgba(0, 0, 0, 0.75);
    }
    /* Keyboard Accessible Focus */
    .record-item:focus-visible {
      outline: 2px solid #d4af37;
      outline-offset: 2px;
      border-color: #d4af37;
      transform: translateY(-4px);
      box-shadow: 0 0 0 3px rgba(212, 175, 55, 0.25), 0 8px 16px rgba(0, 0, 0, 0.6);
    }
    .record-item:focus-visible .crate-vinyl {
      box-shadow:
        0 0 0 1.5px #d4af37,
        0 0 0 2.5px rgba(26, 17, 14, 0.9),
        inset 0 0 0 1px rgba(255, 255, 255, 0.25),
        inset 0 0 5px rgba(0, 0, 0, 0.85),
        0 6px 14px rgba(0, 0, 0, 0.75);
    }
    /* Active Selected Record State */
    .record-item.is-active-album {
      border-color: rgba(212, 175, 55, 0.7);
      background-color: rgba(39, 39, 42, 0.95);
      box-shadow: 0 0 0 1px rgba(212, 175, 55, 0.3), 0 8px 18px rgba(0, 0, 0, 0.6);
    }
    .record-item.is-active-album .crate-vinyl {
      box-shadow:
        0 0 0 1.5px rgba(245, 158, 11, 0.85),
        0 0 0 2.5px rgba(26, 17, 14, 0.9),
        inset 0 0 0 1px rgba(255, 255, 255, 0.25),
        inset 0 0 5px rgba(0, 0, 0, 0.85),
        0 6px 14px rgba(0, 0, 0, 0.75);
    }

    /* Subtle Record Sheen */
    .vinyl-sheen {
      background: linear-gradient(135deg, rgba(255,255,255,0.12) 0%, rgba(255,255,255,0) 40%, rgba(255,255,255,0.08) 100%);
    }

    /* Analog Mixer Fader (Tall Vertical Channel Strip) */
    .mixer-fader {
      -webkit-appearance: none;
      appearance: none;
      width: 170px;
      height: 4px;
      background: transparent;
      outline: none;
      cursor: pointer;
      transform: rotate(-90deg);
      transform-origin: center center;
      margin: 0;
      padding: 0;
    }

    .mixer-fader::-webkit-slider-runnable-track {
      width: 170px;
      height: 4px;
      background: #090605;
      border: 1px solid #3a221a;
      border-radius: 9999px;
      box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.9);
    }

    .mixer-fader::-webkit-slider-thumb {
      -webkit-appearance: none;
      appearance: none;
      width: 14px;
      height: 24px;
      background: linear-gradient(to right, #383431 0%, #383431 43%, #f59e0b 47%, #f59e0b 53%, #221f1d 57%, #141211 100%);
      border: 1px solid #d4af37;
      border-radius: 2px;
      box-shadow: 0 2px 5px rgba(0, 0, 0, 0.8), inset 0 1px 0 rgba(255, 255, 255, 0.25);
      cursor: grab;
      margin-top: -10px;
      transition: border-color 0.15s ease;
    }

    .mixer-fader::-webkit-slider-thumb:active {
      cursor: grabbing;
      border-color: #f59e0b;
    }

    .mixer-fader::-moz-range-track {
      width: 170px;
      height: 4px;
      background: #090605;
      border: 1px solid #3a221a;
      border-radius: 9999px;
      box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.9);
    }

    .mixer-fader::-moz-range-thumb {
      width: 14px;
      height: 24px;
      background: linear-gradient(to right, #383431 0%, #383431 43%, #f59e0b 47%, #f59e0b 53%, #221f1d 57%, #141211 100%);
      border: 1px solid #d4af37;
      border-radius: 2px;
      box-shadow: 0 2px 5px rgba(0, 0, 0, 0.8), inset 0 1px 0 rgba(255, 255, 255, 0.25);
      cursor: grab;
      transition: border-color 0.15s ease;
    }

    .mixer-fader::-moz-range-thumb:active {
      cursor: grabbing;
      border-color: #f59e0b;
    }

    .mixer-fader:focus-visible {
      outline: 2px solid #d4af37;
      outline-offset: 4px;
    }

    #mute-btn.is-muted {
      border-color: rgba(239, 68, 68, 0.7);
      background-color: rgba(69, 10, 10, 0.5);
      color: #f87171;
      box-shadow: 0 0 8px rgba(239, 68, 68, 0.25);
    }

    /* ==========================================================================
       Desktop-Only Interactive Panel Zoom, Background Blur & Directional Docking
       ========================================================================== */

    /* Hide all zoom and docking UI on mobile & narrow viewports (< 1024px) */
    @media (max-width: 1023.98px) {
      .panel-expand-btn,
      .panel-close-btn,
      .panel-dock-controls,
      .panel-zoom-backdrop {
        display: none !important;
      }
    }

    /* Desktop viewport rules (>= 1024px, matching Tailwind lg:) */
    @media (min-width: 1024px) {
      /* Directional Left / Right Grid Slot Ordering */
      .dashboard-slot[data-slot-side="left"] {
        order: 1;
      }
      .dashboard-slot[data-slot-side="right"] {
        order: 2;
      }

      /* Symmetrical Panel Heights: Right-side bubble matches left bubble's outer height */
      #panel-info:not(.is-panel-zoomed) {
        height: var(--turntable-height, 642px);
        min-height: var(--turntable-height, 642px);
        max-height: var(--turntable-height, 642px);
      }

      /* Allow scrollable content pages to take the remaining height cleanly */
      #panel-info:not(.is-panel-zoomed) #page-films:not(.hidden),
      #panel-info:not(.is-panel-zoomed) #page-projects:not(.hidden) {
        display: flex;
        flex-direction: column;
        flex: 1 1 0%;
        min-height: 0;
      }

      #panel-info:not(.is-panel-zoomed) #films-grid {
        flex: 1 1 0%;
        min-height: 0;
        max-height: none;
      }

      #panel-info:not(.is-panel-zoomed) #projects-grid {
        flex: 1 1 0%;
        min-height: 0;
        max-height: none;
      }

      /* Top-bar spacing so expand & close buttons never overlap panel labels/badges */
      .panel-top-bar {
        transition: padding 0.36s cubic-bezier(0.22, 1, 0.36, 1);
      }
      #panel-turntable:not(.is-panel-zoomed) .panel-top-bar {
        padding-left: 2.3rem;
      }
      #panel-info:not(.is-panel-zoomed) .panel-top-bar {
        padding-left: 2.4rem;
      }
      #panel-turntable.is-panel-zoomed .panel-top-bar {
        padding-right: 2.35rem;
      }
      #panel-info.is-panel-zoomed .panel-top-bar {
        padding-right: 2.5rem;
      }

      /* Upper-Left Expand Button */
      .panel-expand-btn {
        position: absolute;
        z-index: 25;
        width: 1.85rem;
        height: 1.85rem;
        border-radius: 0.6rem;
        background: rgba(15, 11, 9, 0.85);
        border: 1px solid rgba(245, 158, 11, 0.28);
        color: rgba(251, 191, 36, 0.72);
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06), 0 2px 6px rgba(0, 0, 0, 0.55);
        cursor: pointer;
        transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1),
                    border-color 0.2s ease,
                    color 0.2s ease,
                    background-color 0.2s ease,
                    box-shadow 0.2s ease;
      }
      #panel-turntable .panel-expand-btn {
        top: 1.15rem;
        left: 1.15rem;
      }
      #panel-info .panel-expand-btn {
        top: 1.65rem;
        left: 1.55rem;
      }
      .panel-expand-btn:hover,
      .panel-expand-btn:focus-visible {
        color: #fcd34d;
        border-color: rgba(245, 158, 11, 0.78);
        background: rgba(32, 22, 17, 0.96);
        transform: scale(1.08);
        box-shadow: 0 0 12px rgba(245, 158, 11, 0.32), inset 0 1px 0 rgba(255, 255, 255, 0.12);
        outline: none;
      }
      .panel-expand-btn:focus-visible {
        outline: 2px solid #d4af37;
        outline-offset: 2px;
      }

      /* Hide Expand Button when its panel is zoomed */
      .is-panel-zoomed .panel-expand-btn {
        display: none !important;
      }

      /* Upper-Right Close (X) Button on Zoomed Panel */
      .panel-close-btn {
        position: absolute;
        z-index: 25;
        width: 1.95rem;
        height: 1.95rem;
        border-radius: 0.6rem;
        background: rgba(15, 11, 9, 0.9);
        border: 1px solid rgba(245, 158, 11, 0.4);
        color: #fcd34d;
        box-shadow: 0 4px 10px rgba(0, 0, 0, 0.6), inset 0 1px 0 rgba(255, 255, 255, 0.08);
        cursor: pointer;
        transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1),
                    border-color 0.2s ease,
                    color 0.2s ease,
                    background-color 0.2s ease,
                    box-shadow 0.2s ease;
      }
      #panel-turntable .panel-close-btn {
        top: 1.1rem;
        right: 1.15rem;
      }
      #panel-info .panel-close-btn {
        top: 1.6rem;
        right: 1.55rem;
      }
      .is-panel-zoomed .panel-close-btn {
        display: inline-flex !important;
      }
      .panel-close-btn:hover,
      .panel-close-btn:focus-visible {
        color: #fef3c7;
        border-color: rgba(245, 158, 11, 0.85);
        background: rgba(42, 24, 18, 0.98);
        transform: scale(1.08);
        box-shadow: 0 0 14px rgba(245, 158, 11, 0.36);
        outline: none;
      }
      .panel-close-btn:focus-visible {
        outline: 2px solid #d4af37;
        outline-offset: 2px;
      }

      /* Full-Viewport Blurred & Dimmed Backdrop Behind Zoomed Panel */
      .panel-zoom-backdrop {
        position: fixed;
        inset: 0;
        z-index: 35;
        background: rgba(8, 5, 4, 0.64);
        -webkit-backdrop-filter: blur(10px);
        backdrop-filter: blur(10px);
        pointer-events: none;
        will-change: opacity, backdrop-filter;
      }

      .panel-zoom-backdrop.is-active {
        display: block;
        opacity: 1;
      }

      .panel-zoom-backdrop.is-closing {
        display: block;
        opacity: 0;
      }

      /* Zoomed Panel Frame (Centers Panel + Docking Controls in Viewport) */
      .panel-zoom-frame.is-zoomed {
        position: fixed;
        inset: 0;
        z-index: 40;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 0.9rem;
        padding: 1.5rem;
        pointer-events: none;
      }

      .zoomable-panel {
        transform-origin: center center;
        backface-visibility: hidden;
      }

      /* Zoomed Turntable Panel */
      #zoom-frame-turntable.is-zoomed #panel-turntable {
        pointer-events: auto;
        width: min(510px, calc(100vw - 4rem), calc(100vh - 15.5rem));
        min-width: 390px;
        max-width: 510px;
        max-height: calc(100vh - 6.25rem);
        overflow-y: auto;
        box-shadow:
          inset 0 0 22px rgba(0, 0, 0, 0.85),
          0 28px 65px rgba(0, 0, 0, 0.95),
          0 0 0 1px rgba(245, 158, 11, 0.25);
      }

      /* Zoomed Information Panel */
      #zoom-frame-info.is-zoomed #panel-info {
        pointer-events: auto;
        width: min(860px, calc(100vw - 4rem));
        max-width: 860px;
        min-height: min(580px, calc(100vh - 6.25rem));
        max-height: calc(100vh - 6.25rem);
        overflow-y: auto;
        background-color: rgba(24, 24, 27, 0.96);
        border-color: rgba(245, 158, 11, 0.38);
        box-shadow:
          0 28px 65px rgba(0, 0, 0, 0.92),
          0 0 0 1px rgba(245, 158, 11, 0.22);
      }

      #zoom-frame-info.is-zoomed #films-grid,
      #zoom-frame-info.is-zoomed #projects-grid {
        max-height: calc(100vh - 19.5rem);
      }

      /* Directional Docking Controls Beneath Zoomed Panel */
      .panel-zoom-frame.is-zoomed .panel-dock-controls {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        gap: 0.75rem;
        pointer-events: auto;
        flex-shrink: 0;
        padding: 0.4rem 0.55rem;
        background: rgba(15, 11, 9, 0.94);
        border: 1px solid rgba(245, 158, 11, 0.36);
        border-radius: 9999px;
        box-shadow: 0 14px 30px rgba(0, 0, 0, 0.82), inset 0 1px 0 rgba(255, 255, 255, 0.06);
      }

      .panel-dock-btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 0.45rem;
        padding: 0.42rem 0.95rem;
        border-radius: 9999px;
        background: rgba(28, 21, 18, 0.92);
        border: 1px solid rgba(245, 158, 11, 0.32);
        color: #fde68a;
        font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
        font-size: 0.75rem;
        font-weight: 600;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        cursor: pointer;
        user-select: none;
        transition: transform 0.18s cubic-bezier(0.4, 0, 0.2, 1),
                    border-color 0.18s ease,
                    background-color 0.18s ease,
                    color 0.18s ease,
                    box-shadow 0.18s ease;
      }

      .panel-dock-btn .panel-dock-arrow {
        font-size: 0.95rem;
        line-height: 1;
        color: #fbbf24;
      }

      .panel-dock-btn:hover,
      .panel-dock-btn:focus-visible {
        border-color: rgba(245, 158, 11, 0.85);
        background: rgba(45, 30, 21, 0.98);
        color: #fef3c7;
        transform: translateY(-1px) scale(1.03);
        box-shadow: 0 0 12px rgba(245, 158, 11, 0.32);
        outline: none;
      }

      .panel-dock-btn:focus-visible {
        outline: 2px solid #d4af37;
        outline-offset: 2px;
      }

      .panel-dock-btn.is-current-side {
        border-color: rgba(245, 158, 11, 0.6);
        background: rgba(39, 27, 20, 0.96);
      }
    }

    /* ==========================================================================
       Film & Project Modals — Desktop Two-Column & Mobile Responsive Layout
       ========================================================================== */

    #film-modal,
    #project-modal,
    #captcha-modal {
      will-change: opacity, backdrop-filter;
    }

    .film-modal-card,
    .project-modal-card,
    .captcha-modal-card {
      background: linear-gradient(145deg, rgba(24, 18, 15, 0.98) 0%, rgba(14, 10, 9, 0.98) 100%);
      transform-origin: center center;
      will-change: transform, opacity;
      box-shadow: 
        inset 0 0 24px rgba(0, 0, 0, 0.8),
        0 30px 70px -10px rgba(0, 0, 0, 0.95),
        0 0 0 1px rgba(245, 158, 11, 0.28);
    }

    /* Project Card Specific Styling */
    .project-card {
      transition: border-color 0.25s ease, background-color 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
    }
    .project-card:hover {
      box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.6), 0 0 18px rgba(245, 158, 11, 0.12);
    }
    .project-card-desc {
      line-height: 1.6;
    }

    /* Mobile Layout (< 768px): Top section with full metadata and review/desc below */
    @media (max-width: 767.98px) {
      .film-modal-card {
        display: grid;
        grid-template-columns: 100px minmax(0, 1fr);
        grid-template-areas:
          "poster header"
          "meta   meta"
          "review review";
        column-gap: 1rem;
        row-gap: 0.85rem;
        max-height: 90vh;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
      }

      .project-modal-card {
        display: grid;
        grid-template-columns: 110px minmax(0, 1fr);
        grid-template-areas:
          "image  header"
          "meta   meta"
          "desc   desc";
        column-gap: 1rem;
        row-gap: 0.85rem;
        max-height: 85vh;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
      }

      .film-modal-col-left,
      .film-modal-col-right,
      .project-modal-col-left,
      .project-modal-col-right {
        display: contents;
      }

      .film-modal-poster-col {
        grid-area: poster;
      }

      .project-modal-image-col {
        grid-area: image;
      }

      .film-modal-header-col,
      .project-modal-header-col {
        grid-area: header;
      }

      .film-modal-meta-col,
      .project-modal-meta-col {
        grid-area: meta;
        border-top: 1px solid rgba(120, 53, 15, 0.35);
        padding-top: 0.75rem;
      }

      .film-modal-review-col {
        grid-area: review;
        border-top: 1px solid rgba(120, 53, 15, 0.35);
        padding-top: 0.75rem;
      }

      .project-modal-desc-col {
        grid-area: desc;
        border-top: 1px solid rgba(120, 53, 15, 0.35);
        padding-top: 0.75rem;
      }

      .film-modal-review-scroll,
      .project-modal-desc-scroll {
        overflow-y: visible; /* on mobile, entire card scrolls naturally with finger momentum */
      }

      #modal-review,
      #project-modal-desc {
        font-size: 0.9375rem; /* ~15px */
        line-height: 1.7;
      }
    }

    /* Desktop Layout (>= 768px): Spacious Two-Column Experience */
    @media (min-width: 768px) {
      .film-modal-card {
        display: flex;
        flex-direction: row;
        gap: 2rem;
        height: 640px;
        max-height: 86vh;
        overflow: hidden;
      }

      @media (min-width: 1024px) {
        .film-modal-card {
          height: 680px;
          gap: 2.5rem;
        }
      }

      /* Project Modal Card: Slightly shorter than Film Modal */
      .project-modal-card {
        display: flex;
        flex-direction: row;
        gap: 2rem;
        height: 500px;
        max-height: 82vh;
        overflow: hidden;
      }

      @media (min-width: 1024px) {
        .project-modal-card {
          height: 540px;
          gap: 2.5rem;
        }
      }

      /* Left Column: Film Poster & Metadata */
      .film-modal-col-left {
        display: flex;
        flex-direction: column;
        width: 240px;
        min-width: 240px;
        max-width: 240px;
        height: 100%;
        overflow: hidden;
      }

      @media (min-width: 1024px) {
        .film-modal-col-left {
          width: 260px;
          min-width: 260px;
          max-width: 260px;
        }
      }

      .film-modal-poster-col {
        flex-shrink: 0;
      }

      .film-modal-meta-col {
        flex: 1;
        min-height: 0;
        overflow-y: auto;
        padding-right: 0.5rem;
        margin-top: 0.85rem;
      }

      /* Left Column: Project Image & Metadata */
      .project-modal-col-left {
        display: flex;
        flex-direction: column;
        width: 240px;
        min-width: 240px;
        max-width: 240px;
        height: 100%;
        overflow: hidden;
      }

      @media (min-width: 1024px) {
        .project-modal-col-left {
          width: 260px;
          min-width: 260px;
          max-width: 260px;
        }
      }

      .project-modal-image-col {
        flex-shrink: 0;
      }

      .project-modal-meta-col {
        flex: 1;
        min-height: 0;
        overflow-y: auto;
        padding-right: 0.5rem;
        margin-top: 0.85rem;
      }

      /* Right Column: Title & Hero Review */
      .film-modal-col-right {
        display: flex;
        flex-direction: column;
        flex: 1;
        min-width: 0;
        height: 100%;
        min-height: 0;
      }

      .film-modal-header-col {
        flex-shrink: 0;
        padding-bottom: 0.5rem;
        margin-bottom: 0.5rem;
        border-bottom: 1px solid rgba(120, 53, 15, 0.35);
      }

      .film-modal-review-col {
        display: flex;
        flex-direction: column;
        flex: 1;
        min-height: 0;
        height: 100%;
        overflow: hidden;
      }

      .film-modal-review-scroll {
        flex: 1;
        min-height: 0;
        height: 100%;
        overflow-y: auto;
        padding-right: 0.75rem;
      }

      #modal-review {
        font-size: 1rem; /* 16px */
        line-height: 1.75;
      }

      /* Right Column: Project Title & Full Description */
      .project-modal-col-right {
        display: flex;
        flex-direction: column;
        flex: 1;
        min-width: 0;
        height: 100%;
        min-height: 0;
      }

      .project-modal-header-col {
        flex-shrink: 0;
        padding-bottom: 0.5rem;
        margin-bottom: 0.5rem;
        border-bottom: 1px solid rgba(120, 53, 15, 0.35);
      }

      .project-modal-desc-col {
        display: flex;
        flex-direction: column;
        flex: 1;
        min-height: 0;
        height: 100%;
        overflow: hidden;
      }

      .project-modal-desc-scroll {
        flex: 1;
        min-height: 0;
        height: 100%;
        overflow-y: auto;
        padding-right: 0.75rem;
      }

      #project-modal-desc {
        font-size: 0.975rem;
        line-height: 1.7;
      }
    }

    /* Respect Reduced Motion Preferences */
    @media (prefers-reduced-motion: reduce) {
      .panel-top-bar,
      .panel-expand-btn,
      .panel-close-btn,
      .panel-dock-btn,
      .film-modal-card,
      #film-modal,
      .project-modal-card,
      #project-modal,
      .captcha-modal-card,
      #captcha-modal {
        transition: none !important;
        animation: none !important;
      }
    }