/* ============================================================
   RESPONSIVE BREAKPOINTS
   ============================================================ */

/* ---------- Laptop / narrow desktop ---------- */
@media (max-width: 1080px) {
    .hero__grid { grid-template-columns: 1fr; }
    .hero__art { max-width: 420px; }
    .intro__grid { grid-template-columns: 1fr; }
    .about__grid { grid-template-columns: 1fr; }
    .project-body__grid { grid-template-columns: 1fr; }
    .project-sidebar { position: static; }
    .work-card--half { grid-column: span 12; }
    .work-card--third { grid-column: span 6; }
    .symbol-grid { grid-template-columns: repeat(2, 1fr); }
    .site-footer__grid { grid-template-columns: repeat(2, 1fr); }
    .contact__grid { grid-template-columns: 1fr; }
}

/* ---------- Tablet ---------- */
@media (max-width: 860px) {
    :root { --nav-h: 72px; }
    .site-nav__links { display: none; }
    .site-nav__burger { display: flex; }
    .grid-gallery { grid-template-columns: repeat(2, 1fr); }
    .gallery-grid { grid-template-columns: 1fr; }
    .usage-rules-row { grid-template-columns: 1fr; }
    .storyboard__scene, .storyboard__scene:nth-child(even) { grid-template-columns: 1fr; direction: ltr; }
    body.is-rtl .storyboard__scene { direction: rtl; }
    .project-nav { grid-template-columns: 1fr; }
    .form-row { grid-template-columns: 1fr; }
}

/* ---------- Mobile ---------- */
@media (max-width: 640px) {
    :root { --gutter: 1.25rem; }
    body { font-size: 15px; }
    .hero { padding-top: 2rem; }
    .hero__name { font-size: clamp(2.6rem, 15vw, 4rem); }
    .hero__badge { position: static; margin-top: 1rem; display: inline-flex; }
    .hero__year { display: none; }
    .hero__meta-strip { flex-direction: column; align-items: flex-start; gap: 1.25rem; }
    .selected__head { flex-direction: column; align-items: flex-start; }
    .work-card--third { grid-column: span 12; }
    .work-card__body { padding: 1rem 1.1rem 1.25rem; }
    .cta-band { margin-inline: 1rem; border-radius: var(--radius); }
    .site-footer__top { flex-direction: column; align-items: flex-start; }
    .site-footer__grid { grid-template-columns: 1fr 1fr; gap: 1.5rem 1rem; }
    .site-footer__bottom { flex-direction: column; align-items: flex-start; gap: .75rem; }
    .filter-bar { flex-direction: column; align-items: stretch; }
    .filter-bar__search input { width: 100%; }
    .grid-gallery { grid-template-columns: 1fr; }
    .symbol-grid { grid-template-columns: 1fr; }
    .project-nav__link--next { text-align: start; }
    .color-swatch { width: 104px; }
    .lightbox__prev, .lightbox__next { padding: .5rem; font-size: 1.3rem; }
    .quote__text { font-size: clamp(1.4rem, 7vw, 2rem); }
    .about__card { padding: 1.25rem; }
}

/* ---------- Small phones ---------- */
@media (max-width: 380px) {
    .hero__cta-row { flex-direction: column; align-items: flex-start; }
    .site-footer__grid { grid-template-columns: 1fr; }
}

/* ---------- RTL fine-tuning ---------- */
body.is-rtl .hero__name .is-outline { -webkit-text-stroke: 1.5px var(--ink); }
body.is-rtl .eyebrow::before { order: 2; }
body.is-rtl .rules-list li::before { order: 2; }

/* ---------- Print ---------- */
@media print {
    .site-nav, .mobile-menu, .loader, .cursor-label, .ticker, .cta-band, .site-footer__bottom button { display: none !important; }
    body { background: #fff; color: #000; }
}
