/* Mobile-only refinements; desktop composition stays unchanged. */
@media (max-width: 760px) {
  html, body { overflow-x: clip; }

  .hero { min-height: 760px; }
  .hero-copy { top: 40%; left: 7vw; right: 7vw; max-width: none; }
  .hero .eyebrow { font-size: 9px; line-height: 1.6; letter-spacing: 1.5px; margin-bottom: 18px; }
  .hero h1 { font-size: clamp(34px, 9.3vw, 40px); line-height: 1.38; letter-spacing: .02em; }
  .hero-sub { max-width: 100%; font-size: 14px; line-height: 1.85; margin-top: 20px; }
  .hero .actions { flex-wrap: wrap; gap: 16px; margin-top: 26px; }
  .hero .button { min-height: 48px; padding: 0 22px; }
  .hero-art-ribbon:has(a:nth-child(3)) { bottom: 20px; }

  .intro h2 { font-size: clamp(24px, 6.6vw, 28px); line-height: 1.6; letter-spacing: .01em; }
  .display { font-size: clamp(27px, 7.6vw, 32px); line-height: 1.55; letter-spacing: .02em; }
  .section-head h2 { font-size: clamp(29px, 8vw, 36px); line-height: 1.45; }
  .page-hero h1 { font-size: clamp(42px, 11vw, 58px); line-height: 1.14; overflow-wrap: anywhere; }
  .story-quote p { font-size: clamp(26px, 7.3vw, 32px); line-height: 1.65; }
  .philosophy-grid h3 { font-size: 22px; line-height: 1.65; margin-bottom: 28px; }
  .artwork-detail h1 { font-size: clamp(30px, 8vw, 40px); line-height: 1.3; overflow-wrap: anywhere; }

  /* Keep each subject within the narrow portrait crop. */
  .featured .art-card:first-child .art-frame img { object-position: 75% center; }
  .featured .art-card:nth-child(3) .art-frame img { object-position: left center; }
  main:has(.editorial-row + .editorial-row) .editorial-row:first-child .editorial-image img { object-position: 38% center; }

  /* These workshop photographs contain editorial text: show the complete square. */
  .home-workshop .workshop-visual,
  .shop-stage .workshop-visual { height: auto; aspect-ratio: 1; background: #111; }
  .home-workshop .workshop-visual img,
  .shop-stage .workshop-visual img { display: block; width: 100%; height: 100%; object-fit: contain; filter: none; }
  .home-workshop .workshop-visual::after,
  .shop-stage .workshop-visual::after { content: none; }

  .member-actions, .member-home-actions { display: flex; flex-direction: column; align-items: stretch; gap: 16px; margin-top: 30px; }
  .member-actions .button, .member-home-actions .button { width: 100%; min-height: 54px; text-align: center; }
  .member-actions .text-link, .member-home-actions .text-link { align-self: flex-start; line-height: 1.7; }
  .member-hero { min-height: auto; padding: 105px 7vw 85px; gap: 65px; }
  .member-hero h1 { font-size: clamp(28px, 7.8vw, 34px); line-height: 1.55; }
  .member-hero p { font-size: 14px; line-height: 2; }
  .member-preserve-note { margin-top: 26px; }

  .course-intro h1, .entry-heading h2 { font-size: clamp(34px, 9vw, 42px); line-height: 1.5; overflow-wrap: anywhere; }
  .course-facts > div { grid-template-columns: 62px minmax(0, 1fr); gap: 12px; }
  .course-facts dd { line-height: 1.7; }
}

@media (max-width: 360px) {
  .hero h1 { font-size: 32px; }
  .hero-copy { top: 41%; }
  .hero-art-ribbon:has(a:nth-child(3)) a,
  .hero-art-ribbon:has(a:nth-child(3)) a:last-child { height: 100px; }
  .hero-art-ribbon:has(a:nth-child(3)) a:nth-child(2) { height: 88px; }
  .hero-art-ribbon:has(a:nth-child(3)) a:nth-child(3) { height: 115px; }
}
