/* Mobile reading sizes and touch targets. Desktop styles stay in the existing sheets. */
@media (max-width:650px) {
  body { font-size:16px; }
  #menu { font-size:16px; letter-spacing:-.02em; min-height:44px; }

  .eyebrow,
  .clients-head .eyebrow,
  .frames-head .eyebrow,
  .process-intro>.eyebrow,
  .contact-heading .eyebrow {
    font-size:13px;
    line-height:1.5;
    letter-spacing:.045em;
    opacity:1;
  }
  #trabalhos>.eyebrow { letter-spacing:.02em; }
  .hero-meta { font-size:12px; line-height:1.5; letter-spacing:.025em; flex-wrap:wrap; gap:8px 20px; }
  .hero-meta>span { max-width:100%; }
  .hero-bottom { display:flex; justify-content:flex-end; padding:26px 0; }
  .hero-bottom a { font-size:16px; line-height:1.4; max-width:none; min-height:44px; padding-bottom:10px; }
  .reel-label { font-size:12px; line-height:1.35; letter-spacing:.045em; left:5%; bottom:20px; max-width:42%; }
  #reel-control { font-size:15px; line-height:1.2; letter-spacing:-.02em; min-height:44px; padding:12px 16px; }

  #trabalhos .filters { gap:4px 20px; margin:30px 0 32px; }
  #trabalhos .filters button { font-size:16px; line-height:1.25; letter-spacing:-.025em; min-height:48px; padding:14px 0; }
  #trabalhos .caption { gap:10px; padding-top:16px; }
  #trabalhos .caption h3 { font-size:23px; line-height:1.2; letter-spacing:-.035em; }
  #trabalhos .caption>span { font-size:14px; line-height:1.5; letter-spacing:-.01em; color:#e5e9ff; }
  #trabalhos .play { font-size:15px; line-height:1.25; letter-spacing:-.025em; bottom:14px; right:16px; gap:8px; }
  #trabalhos .play:after { font-size:19px; }
  #trabalhos .grid { gap:38px; }

  .clients-head>p,
  .frames-aside p,
  .process-intro>p,
  .process-steps p {
    font-size:17px;
    line-height:1.65;
    max-width:none;
    color:#c8cad2;
  }
  .frames-aside { display:block; margin-top:24px; }
  .process-steps { gap:34px; }
  .process-steps article { padding-top:22px; }
  .process-steps article>span { font-size:13px; line-height:1.5; letter-spacing:.04em; }
  .process-steps h3 { font-size:30px; line-height:1.15; margin:22px 0 16px; }
  .services { padding-block:64px; gap:32px; }
  .services h2 { line-height:1.1; }
  .services>div>p { font-size:17px; line-height:1.65; }
  .services .service { font-size:clamp(28px,7.8vw,34px); line-height:1.2; padding:24px 0; }

  .about { padding-block:64px; gap:30px; }
  .founder-photo>img { height:auto; aspect-ratio:16/10; object-fit:cover; }
  .founder-photo figcaption { font-size:12px; line-height:1.5; letter-spacing:.025em; margin-top:14px; }
  .about>div>span:last-child { display:block; font-size:15px; line-height:1.5; margin-top:22px; }
  .about>div:last-child p { font-size:19px; line-height:1.65; margin:0 0 24px; }
  .about>div:last-child p:last-child { margin-bottom:0; }

  .contact-heading>p { font-size:18px; line-height:1.65; max-width:none; }
  .contact-direct { max-width:none; gap:16px; }
  .contact-direct a { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:16px; font-size:15px; line-height:1.5; min-height:56px; padding:12px 0; }
  .contact-direct a span { font-size:17px; }
  .contact-signature { font-size:12px; line-height:1.5; letter-spacing:.035em; color:#e0e5ff; }
  .form-kicker { font-size:13px; line-height:1.5; letter-spacing:.04em; padding-bottom:22px; }
  .brief-form label { font-size:16px; line-height:1.5; margin-bottom:28px; }
  .brief-form input:not([type=checkbox]),
  .brief-form textarea { font-size:17px; line-height:1.5; padding:14px 0; min-height:56px; }
  .brief-form input::placeholder,
  .brief-form textarea::placeholder { font-size:16px; color:#d0d7f1; }
  .brief-form textarea { min-height:150px; }
  .brief-form .optional { font-size:13px; margin-left:8px; }
  .brief-form legend { font-size:16px; line-height:1.5; margin-bottom:12px; }
  .service-options { grid-template-columns:minmax(0,1fr); gap:4px; }
  .service-options label { font-size:16px; line-height:1.5; min-height:48px; align-items:center; gap:12px; padding:8px 0; margin:0; }
  .service-options input { width:22px; height:22px; flex:0 0 22px; margin:0; }
  .brief-submit { font-size:17px; line-height:1.4; min-height:58px; padding:18px 20px; }
  .brief-form .form-note { font-size:14px; line-height:1.6; color:#e0e5ff; }
  .brief-form .form-error { font-size:16px; line-height:1.5; }
  #form-status { font-size:15px; line-height:1.6; overflow-wrap:anywhere; }

  .player-toolbar>span { font-size:13px; line-height:1.4; letter-spacing:.025em; }
  #player #close { font-size:16px; min-height:44px; }
  .player-copy>.eyebrow { font-size:12px; line-height:1.5; letter-spacing:.035em; }
  #filmTitle { font-size:30px; }
  #film-description { font-size:17px; line-height:1.65; }
  #player #external { font-size:16px; line-height:1.4; min-height:44px; }
  .project-navigation { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:8px 16px; }
  .project-navigation button { font-size:15px; line-height:1.4; min-height:44px; grid-row:1; }
  #prev-project { text-align:left; }
  #next-project { text-align:right; }
  #project-counter { grid-column:1/-1; grid-row:2; text-align:center; font-size:14px; line-height:1.5; }
  .viewer-toolbar { font-size:14px; }
  #close-frame { font-size:16px; min-height:44px; }
  .viewer-stage { gap:4px; padding:0 4px; }
  .viewer-stage button { width:44px; height:48px; flex-basis:44px; }
  #frame-description { font-size:14px; line-height:1.5; }

  footer { font-size:14px; line-height:1.5; gap:12px; flex-direction:column; align-items:flex-start; padding:30px 5% calc(30px + env(safe-area-inset-bottom)); }
  footer a { font-size:16px; line-height:1.5; min-height:44px; display:inline-flex; align-items:center; }
}

@media (max-width:360px) {
  .hero-bottom a { width:fit-content; }
}
