/* Mobile refinements; desktop composition remains unchanged. */
@media (max-width: 700px) {
 :root { --gutter: clamp(16px, 4.5vw, 28px); }
 .site-header { display:grid; grid-template-columns:1fr auto; gap:2px 12px; padding: max(4px, env(safe-area-inset-top)) var(--gutter) 4px; align-items:center; font-size:11px; }
 .site-header__brand { grid-column:1; grid-row:1; padding:0; min-height:44px; display:flex; align-items:center; width:max-content; }
 .site-header__actions { display:contents; }
 .site-header__nav { grid-row:2; grid-column:1 / -1; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:4px; }
 .site-header__nav a { display:flex; align-items:center; justify-content:center; min-height:40px; padding:7px 6px; font-size:10px; }
 .language-picker { grid-row:1; grid-column:2; }
 .language-picker button { min-height:44px; font-size:11px; }
 .language-options { top:calc(100% + 60px); padding:4px 8px; gap:0; border-radius:28px; background:rgb(4 4 4 / .96); -webkit-backdrop-filter:blur(18px); backdrop-filter:blur(18px); }
 .language-options button { width:48px; min-height:44px; }
 .hero__content { padding-top:calc(var(--header-clearance,126px) + 40px); padding-bottom:120px; }
 .hero__title { width:100%; justify-content:center; gap:.3em; font-size:clamp(26px,9vw,50px); line-height:.96; white-space:nowrap; margin-top:-2vh; margin-bottom:32px; letter-spacing:-.045em; }
 .hero__title span { display:block; }
 .hero__manifesto { font-size:8px; line-height:1.5; letter-spacing:.1em; max-width:calc(100vw - 2 * var(--gutter)); }
 .hero__video { object-position:60% center; transform:none; }
 .hero__scroll { bottom:max(54px,calc(env(safe-area-inset-bottom) + 38px)); }
 .manifesto { padding-top:48px; }
 .manifesto__owner { width:105px; font-size:9px; bottom:calc(100% + 10px); }
 .manifesto__observation, .manifesto__reason { font-size:14px; line-height:1.7; }
 .manifesto__closing { width:84%; margin:32px 0 0 auto; }
 .manifesto__signature { font-size:15px; }
 .portfolio-heading h2 { font-size:clamp(30px,8vw,48px); }
 .portfolio-heading p { font-size:14px; line-height:1.8; }
 .artist-card { padding:40px 22px 28px; }
 .artist-card::before { top:14px; }
 .artist-card__portrait { width:min(42vw,136px); height:auto; aspect-ratio:1; margin:16px auto 22px; border-radius:50%; }
 .artist-card__portrait img { width:100%; height:100%; object-fit:cover; object-position:center 30%; }
 .artist-card[data-artist="joao"] .artist-card__portrait img { object-position:center 15%; transform:scale(1.28); transform-origin:76% 15%; }
 .artist-card__body p { font-size:14px; line-height:1.75; margin:22px auto; }
 .artist-card__tags li { font-size:11px; padding:8px 11px; }
 .selected-works { padding-top:80px; padding-bottom:48px; }
 .project-gallery { --card-width:min(78vw,340px); --step:min(84vw,370px); }
 .project-card h3 { font-size:clamp(19px,5vw,24px); }
 .project-card__caption p { font-size:11px; max-width:100%; }
 .contact { padding-top:64px; padding-bottom:64px; }
 .contact-description { width:100%; max-width:30em; font-size:15px; }
 .contact-channels a, .contact-unavailable { font-size:13px; }
 .contact-channels small { font-size:12px; }
 .footer li, .footer-about p { font-size:13px; }
 .footer-grid > * { min-width:0; }
 .footer-bottom { font-size:10px; }
}
@media (max-height: 500px) and (min-width: 701px) {
 .site-header { padding-top:8px; padding-bottom:8px; }
 .hero__content { padding-top:calc(var(--header-clearance,85px) + 25px); padding-bottom:110px; }
 .hero__title { margin-bottom:28px; }
 .hero { min-height:560px; }
}
@media (hover:none) {
 .artist-card:hover { transform:none; }
 .project-card.is-active:hover > img { transform:none; }
}
