@media (max-width: 1060px) {
  :root { --container: min(100vw - 36px, 860px); }
  .section__grid { grid-template-columns: 1fr; gap: 32px; }
  .card-grid { grid-template-columns: repeat(2, 1fr); }
  .hero__inner { padding-right: 0; }
  .hero__title { max-width: 14ch; }
}
@media (max-width: 920px) {
  :root { --container: min(100vw - 28px, 760px); --header-height: 68px; }
  .theme-toggle__text { display: none; }
  .section { padding: 92px 0; min-height: auto; }
  .project-card, .projects .project-card:nth-child(2n) { grid-template-columns: 1fr; }
  .site-footer__inner { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 560px) {
  .card-grid { grid-template-columns: 1fr; }
  .hero__actions { flex-direction: column; align-items: stretch; }
  .button { width: 100%; }
  .brand__text { font-size: 18px; }
  .hero__visual { opacity: .42; }
}

/* v04 responsive additions */
@media (max-width: 1180px) {
  .side-indicator { right: 12px; }
}
@media (max-width: 1060px) {
  .about__layout { grid-template-columns: 1fr; }
  .about__heading { position: static; }
  .about__lead { max-width: 720px; }
  .about-visual { min-height: 420px; }
}
@media (max-width: 920px) {
  .side-indicator { display: none; }
}
@media (max-width: 560px) {
  .about__focus { grid-template-columns: 1fr; }
  .about-visual { min-height: 360px; padding: 12px; }
  .about-visual__grid { grid-template-columns: 1fr; }
}

/* v05 responsive additions */
@media (max-width: 1060px) {
  .skills__top { grid-template-columns: 1fr; align-items: start; }
  .skills-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
  .skills-panel__rail { display: none; }
  .skills-panel { padding-top: 0; }
  .skills-grid { grid-template-columns: 1fr; }
  .skills-grid .skill-card,
  .skill-card--control { min-height: 270px; }
  .skill-card__stack span { font-size: 9px; }
}

/* v06 responsive additions */
@media (max-width: 1060px) {
  .projects__top { grid-template-columns: 1fr; align-items: start; }
  .project-card,
  .projects .project-card:nth-child(2n),
  .project-card.is-open {
    grid-template-columns: 1fr;
  }
  .project-card--collapse { grid-template-columns: 1fr auto; }
  .project-card--collapse .project-card__index { display: none; }
}
@media (max-width: 700px) {
  .project-card__body { padding: 22px; }
  .project-card.is-open .project-card__body { padding-block: 26px; }
  .project-filter { flex: 1 1 auto; justify-content: center; }
  .project-card.is-open .project-gallery { display: flex; }
  .project-media__controls {
    opacity: 1;
    transform: none;
  }
  .project-media__control {
    width: 38px;
    height: 38px;
  }
}

/* v07 responsive additions */
@media (max-width: 1060px) {
  .tavrida__body,
  .contacts__layout {
    grid-template-columns: 1fr;
  }
  .tavrida__heading,
  .contacts__heading {
    position: static;
  }
  .tavrida__lead,
  .contacts__lead { max-width: 760px; }
  .tavrida__story,
  .tavrida-visual,
  .contact-cta,
  .contact-qr { min-height: 360px; }
  .site-footer__inner { grid-template-columns: 1fr; align-items: start; }
}
@media (max-width: 700px) {
  .tavrida__story,
  .contact-cta,
  .contact-qr { padding: 22px; }
  .contact-item { grid-template-columns: 1fr; gap: 8px; }
  .contact-item__arrow { display: none; }
  .contact-qr__code { width: 180px; }
  .site-footer__phrase { font-size: clamp(34px, 12vw, 58px); }
}

/* v09 release — final responsive polish */
@media (max-width: 920px) {
  .hero { min-height: 100svh; }
  .hero__inner { padding-top: 120px; padding-bottom: 96px; }
  .hero__title { font-size: clamp(42px, 11vw, 88px); max-width: 12ch; }
  .hero__lead { max-width: 620px; }
  .hero__scroll { display: none; }
  .section-headline-row { align-items: start; flex-direction: column; }
}

@media (max-width: 560px) {
  :root { --container: min(100vw - 22px, 440px); --header-height: 62px; }
  body { font-size: 15px; }
  .site-header { height: var(--header-height); }
  .site-header.is-scrolled { height: 58px; }
  .theme-toggle { width: 34px; padding: 0; justify-content: center; }
  .hero__title { font-size: clamp(38px, 12.5vw, 64px); }
  .hero__meta,
  .hero__status { font-size: 10px; }
  .section { padding: 72px 0; }
  .section__heading h2 { font-size: clamp(36px, 12vw, 58px); }
  .section-kicker { font-size: 10px; }
  .tag { font-size: 10px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.001ms !important;
  }
}
