/* Touch layouts: preserve artwork and give text its own space. */
.menu-toggle{display:none}
@media(max-width:900px){
 html{scroll-padding-top:84px}
 .visual .v-header{height:auto;min-height:72px;padding:12px 5vw;gap:14px;flex-wrap:wrap}
 .visual .v-header .brand img{width:150px}
 .visual .v-header nav{font-size:15px;gap:8px 18px;flex-wrap:wrap;width:100%}
 .visual .v-header nav a{padding:10px 0;min-height:44px}
 .nav-ready .menu-toggle{display:flex;align-items:center;justify-content:center;gap:14px;min-height:44px;min-width:88px;border:1px solid #d2d2d7;border-radius:24px;background:transparent;color:#1d1d1f;font-size:14px;cursor:pointer}
 .nav-ready .v-header nav{display:none}
 .nav-ready .v-header nav.is-open{display:flex;position:absolute;top:100%;left:0;right:0;width:100%;padding:14px 6vw 22px;background:#f5f5f7;box-shadow:0 18px 24px #00000012;flex-direction:column;align-items:stretch;gap:0;max-height:calc(100svh - 72px);overflow-y:auto}
 .nav-ready .v-header nav a{font-size:20px;padding:12px 0}
 .visual .v-eco-grid{grid-template-columns:1fr;gap:36px}
 .visual .v-eco-grid article{min-width:0}
 .visual .v-contact{align-items:start;flex-direction:column;gap:30px}
 .visual .contact-main{font-size:clamp(48px,10.8vw,84px);white-space:nowrap;line-height:1.12}
 .visual .v-contact>div,.visual .v-contact-info{min-width:0;max-width:100%}
 .visual .v-contact-info a{overflow-wrap:anywhere;min-height:36px}
 .visual .v-services summary h3{font-size:clamp(24px,3.5vw,30px);overflow-wrap:break-word}
 .visual .v-services summary{grid-template-columns:20px minmax(0,1fr) 22px}
 .visual .v-services .servicebody{margin-left:0}
 .visual .v-services .servicebody .textlink{min-height:44px;display:inline-flex;align-items:center}
}
@media(max-width:600px){
 .visual .v-hero{padding:0}
 .visual .hero-work,.visual .hero-work.identity-slide{height:auto;min-height:0;max-height:none;display:flex;flex-direction:column}
 .visual .hero-work>img{width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;object-position:center;transform:none;background:#1d1d1f}
 .visual .hero-work.identity-slide>img.identity-hero{width:100%;height:auto;aspect-ratio:4/3;padding:10vw;object-fit:contain}
 .visual .hero-work:after{display:none}
 .visual .hero-work-label{position:relative;left:auto;right:auto;bottom:auto;width:100%;padding:24px 6vw 20px;gap:16px;align-items:center;min-height:176px;background:#1d1d1f}
 .visual .hero-work-label>div{min-width:0;flex:1}
 .visual .hero-work-label h1,.visual .hero-work-label h2{font-size:clamp(29px,8.3vw,36px);max-width:none;margin:10px 0;line-height:1.05}
 .visual .hero-work-label .mono{font-size:9px}
 .visual .hero-work-label p{font-size:14px;line-height:1.45}
 .visual .round-arrow{width:44px;height:44px;flex:0 0 44px}
 .visual .carouselbar{padding:12px 6vw 20px;flex-direction:column;align-items:stretch;gap:12px}
 .visual .carouselbar>.mono{font-size:10px}
 .visual .slide-controls{gap:8px;justify-content:flex-start}
 .visual .slide-controls button{min-width:44px;height:44px;font-size:12px}
 .visual .slide-controls #slide-pause{margin-left:auto;min-width:92px;font-size:11px}
 .visual .intro-copy{font-size:clamp(28px,8.6vw,37px)}
 .visual .brand-history>h2{font-size:clamp(32px,9.5vw,43px)}
 .visual .brand-grid{gap:20px 16px}
 .visual .brand-grid figure{min-width:0}
 .visual .brand-logo-stage{min-width:0}
 .visual .brand-grid .logo-silvestre .artist-name{font-size:clamp(8px,2.3vw,10px);letter-spacing:.06em}
 .visual .brand-grid .logo-ron img{width:170px;height:100px;max-width:100%}
 .visual .capabilities-heading h2{font-size:clamp(30px,8.3vw,38px)}
 .visual .v-services .service{padding:0 18px}
 .visual .v-services summary{gap:8px;min-height:100px;padding:22px 0}
 .visual .v-services summary h3{font-size:clamp(23px,6.4vw,28px);line-height:1.12}
 .visual .v-services .servicebody p{font-size:18px}
 .visual .v-services .servicebody ul{padding-left:20px}
 .visual .project-title h2{font-size:clamp(24px,7vw,30px)}
 .visual .v-projects{padding:0}
 .visual .v-label{flex-wrap:wrap;gap:8px}
 .visual .v-contact-info{font-size:16px;gap:8px}
 .visual footer{display:grid;grid-template-columns:1fr;gap:16px;align-items:start}
 .visual footer>a{min-height:44px;display:flex;align-items:center}
 .visual footer .mono{order:4}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media(max-width:900px){.visual .v-header{position:sticky;top:0;z-index:20}}
