/* ── Responsive ── */
@media (max-width: 900px) {
    .hero-title { font-size: 3.8rem; }
}
@media (max-width: 768px) {
    .navbar { padding: 0 16px; height: auto; justify-content: center; flex-direction: column; gap: 10px; padding: 10px 0; }
    .nav-center { gap: 20px; }
    .nav-center a { font-size: 0.8rem; }
    .nav-lang { left: 16px; }
    .lang-switch { font-size: 0.72rem; padding: 3px 8px; }
    .nav-icons { right: 16px; gap: 6px; position: relative; right: initial; }
    .nav-icons a, .nav-icons button { width: 32px; height: 32px; font-size: 0.9rem; }
    .title-image-en { width: min(84vw, 700px); }
    .title-image-zh { width: min(78vw, 520px); }
    .hero-subtitle { font-size: 0.95rem; letter-spacing: 0.2em; }
    .hero-content { padding-top: 18vh; }
    .hero-cta {
        width: 60%;
        padding: 22px 42px;
        font-size: 1.2rem;
        bottom: 21vh;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .section-trailer { padding: 60px 20px; }
    .trailer-inner h2 { font-size: 1.8rem; }
    .section-about { padding: 60px 20px; }
    .about-inner h2 { font-size: 1.8rem; }
    .about-content p { font-size: 1rem; }
    .section-contact { padding: 60px 20px 30px; }
    .contact-inner h2 { font-size: 1.8rem; }
    .section-recruitment { padding: 30px 20px 60px; }
    .recruitment-inner h2 { font-size: 1.8rem; }
    .job-separator{ display: none; }
    .email-link { font-size: 1.05rem; padding: 0.7rem 1.5rem; }
    .footer { flex-direction: column; gap: 12px; padding: 20px; text-align: center; }
}
@media (max-width: 480px) {
    .nav-center { gap: 12px; }
    .nav-center a { font-size: 0.7rem; letter-spacing: 0.08em; }
    .lang-switch { font-size: 0.66rem; padding: 2px 6px; }
    .nav-icons { gap: 4px;}
    .nav-icons a, .nav-icons button { width: 28px; height: 28px; font-size: 0.8rem; }
    .title-image-en { width: min(90vw, 500px); }
    .title-image-zh { width: min(84vw, 390px); }
    .hero-subtitle { font-size: 0.8rem; }
    .hero-cta {
        width: 70%;
        padding: 10px 5px;
        font-size: 0.98rem;
        letter-spacing: 0.06em;
        bottom: 19vh;
    }
}
