        /* ── SEASONS ── */
        #seasons { background: var(--cream); padding: 0; }
        #seasons-inner { max-width: 1400px; margin: 0 auto; padding: 24px 20px 40px; }
        @media (min-width: 640px) { #seasons-inner { padding: 32px 40px 56px; } }
        @media (min-width: 1024px) { #seasons-inner { padding: 48px 96px 80px; } }
        #seasons-header { margin-bottom: 40px; }
        @media (min-width: 768px) { #seasons-header { margin-bottom: 56px; } }
        #seasons-heading {
            font-family: 'Prompt', sans-serif;
            font-size: clamp(32px, 6.5vw, 76px);
            font-weight: 600; line-height: 1.15; color: var(--blue);
        }
        .sh-num {
            font-family: 'Prompt', sans-serif;
            font-size: 1.5em; font-weight: 700;
            color: var(--gold);
        }
        #seasons-heading-en {
            font-family: 'Cormorant Garamond', serif;
            font-style: italic; font-size: clamp(1rem, 2vw, 1.3rem);
            color: rgba(28,29,170,0.4);
            display: block; margin-top: 6px;
        }
        #seasons-subtitle {
            font-family: 'Prompt', sans-serif;
            font-size: clamp(13px, 1.6vw, 16px); font-weight: 300; line-height: 1.7;
            color: rgba(0,0,0,0.5);
            max-width: 520px; margin-top: 22px;
        }
        #seasons-grid {
            display: grid; grid-template-columns: repeat(2, 1fr); gap: 2px;
        }
        @media (min-width: 768px) { #seasons-grid { grid-template-columns: repeat(4, 1fr); } }
        .season-card {
            position: relative; overflow: hidden;
            aspect-ratio: 3/4; cursor: default;
            -webkit-tap-highlight-color: transparent;
        }
        .js .season-card { clip-path: inset(0 0 55% 0); }
        .season-card img {
            width: 100%; height: 100%; object-fit: cover;
            filter: grayscale(30%) contrast(1.1) brightness(0.88);
            transform: scale(1.05);
            transition: transform 1.1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
        }
        .season-card:hover img,
        .season-card.tapped img { transform: scale(1.0); }
        .season-card-overlay {
            position: absolute; inset: 0;
            background: linear-gradient(to top, rgba(8,9,64,0.96) 0%, rgba(8,9,64,0.72) 28%, rgba(8,9,64,0.15) 58%, transparent 82%);
            transition: background 0.5s ease;
        }
        @media (min-width: 640px) {
            .season-card-overlay { background: linear-gradient(to top, rgba(8,9,64,0.96) 0%, rgba(8,9,64,0.72) 42%, rgba(8,9,64,0.15) 75%, transparent 100%); }
        }
        .season-card-text { position: absolute; bottom: 0; left: 0; right: 0; padding: 20px 18px; }
        @media (min-width: 640px) { .season-card-text { padding: 28px 24px; } }
        @media (min-width: 1024px) { .season-card-text { padding: 32px 28px; } }
        .season-tag {
            font-family: 'Cormorant Garamond', serif;
            font-size: 9.5px; letter-spacing: 0.3em;
            color: var(--gold); text-transform: uppercase;
            display: block; margin-bottom: 8px;
        }
        @media (min-width: 640px) { .season-tag { font-size: 11px; } }
        .season-name {
            font-family: 'Cormorant Garamond', serif;
            font-size: clamp(21px, 4.6vw, 32px);
            font-weight: 500; color: white;
            display: block; margin-bottom: 10px;
        }
        .season-desc {
            font-size: 13px; color: rgba(255,255,255,0.7);
            font-weight: 300; line-height: 1.6;
            opacity: 1;
            display: -webkit-box; -webkit-box-orient: vertical;
            -webkit-line-clamp: 4; overflow: hidden;
        }
        @media (min-width: 640px) {
            .season-desc { font-size: 14px; -webkit-line-clamp: initial; overflow: visible; }
        }

