@media (max-width: 1260px) {
  :root { --container: min(1180px, calc(100vw - 48px)); }
  .main-nav { position: fixed; inset: var(--header-height) 0 0; margin: 0; padding: 45px 26px 60px; background: var(--bg); display: flex; flex-direction: column; align-items: flex-start; gap: 18px; transform: translateX(100%); transition: transform .35s cubic-bezier(.2,.8,.2,1); overflow-y: auto; }
  .main-nav.open { transform: none; }
  .main-nav a { font-family: var(--serif); font-size: clamp(40px, 7vw, 78px); text-transform: none; letter-spacing: -.04em; line-height: 1; color: var(--ink); }
  .main-nav a::after { bottom: -3px; }
  .menu-toggle { display: grid; }
  .hero-grid { grid-template-columns: .9fr 1.1fr; gap: 45px; }
  .hero-title { font-size: clamp(68px, 8.2vw, 118px); }
  .card-grid { grid-template-columns: repeat(2, 1fr); }
  .card-grid .premium-card:last-child:nth-child(odd) { grid-column: span 2; }
}

@media (max-width: 980px) {
  :root { --container: min(900px, calc(100vw - 38px)); --header-height: 72px; }
  .section { padding: 92px 0; }
  .page-hero { min-height: auto; padding-top: calc(var(--header-height) + 60px); }
  .hero-grid, .feature-split, .contact-grid, .cv-viewer { grid-template-columns: 1fr; }
  .hero-copy { max-width: 800px; }
  .hero-scene-wrap { min-height: 620px; }
  .section-heading { grid-template-columns: 1fr; align-items: start; }
  .section-heading p { max-width: 620px; }
  .stat-grid { grid-template-columns: repeat(2, 1fr); }
  .editorial-row { grid-template-columns: 60px 1fr 36px; }
  .editorial-row p { grid-column: 2; }
  .feature-split.reverse > :first-child { order: initial; }
  .project-grid, .publication-grid { grid-template-columns: 1fr; }
  .case-title { grid-template-columns: 1fr; }
  .case-facts { grid-template-columns: repeat(2, 1fr); }
  .case-section { grid-template-columns: 1fr; }
  .architecture { grid-template-columns: repeat(2, 1fr); }
  .cv-sidebar { position: static; }
  .contact-grid .hero-scene-wrap { min-height: 520px; }
  .footer-top, .footer-mid { grid-template-columns: 1fr; }
}

@media (max-width: 700px) {
  :root { --container: calc(100vw - 28px); }
  .section { padding: 74px 0; }
  .brand > span:last-child { display: none; }
  .hero-title, .hero-title.small { font-size: clamp(60px, 18vw, 88px); }
  .hero-copy > p:not(.kicker) { font-size: 17px; }
  .hero-scene-wrap { min-height: 500px; border-radius: 28px; }
  .portrait-orbit { width: 110px; height: 110px; }
  .floating-code.two { display: none; }
  .section-heading { margin-bottom: 48px; }
  .section-heading h2 { font-size: clamp(46px, 14vw, 70px); }
  .stat-grid, .card-grid, .project-grid, .publication-grid, .form-grid, .case-facts, .architecture { grid-template-columns: 1fr; }
  .card-grid .premium-card:last-child:nth-child(odd) { grid-column: auto; }
  .premium-card { min-height: 330px; }
  .editorial-row { grid-template-columns: 44px 1fr 26px; gap: 15px; }
  .editorial-row p { font-size: 14px; }
  .project-card { min-height: 560px; }
  .project-mock { width: 86%; left: 7%; height: 45%; }
  .case-title h1 { font-size: clamp(76px, 25vw, 120px); }
  .case-cover { min-height: 540px; }
  .cv-document { padding: 12px; border-radius: 22px; }
  .cv-paper { min-height: auto; padding: 30px 22px; }
  .cv-paper-header { display: block; }
  .cv-paper-header p { text-align: left; margin-top: 18px; }
  .cv-section { grid-template-columns: 1fr; gap: 14px; }
  .contact-form { padding: 25px 20px; border-radius: 24px; }
  .form-footer, .cta-panel { grid-template-columns: 1fr; align-items: start; }
  .form-footer { display: flex; flex-direction: column; }
  .cta-panel { display: grid; padding: 38px 25px; }
  .footer-nav { grid-template-columns: 1fr 1fr; }
  .footer-bottom { flex-direction: column; }
  .cursor-dot, .cursor-ring { display: none; }
}

@media print {
  .site-header, .site-footer, .preloader, .page-progress, .page-transition, .button-row, .cursor-dot, .cursor-ring { display: none !important; }
  body { background: #fff; color: #111; }
  .section { padding: 0; }
  .cv-viewer { display: block; }
  .cv-sidebar { display: none; }
  .cv-document { padding: 0; background: #fff; }
  .cv-paper { box-shadow: none; min-height: auto; }
}
